2022-07-06 21:18:08 -04:00
|
|
|
#include "versions.h"
|
|
|
|
|
|
|
|
#include "common/util/Assert.h"
|
2023-04-22 14:13:57 -04:00
|
|
|
#include "common/versions/revision.h"
|
2022-07-06 21:18:08 -04:00
|
|
|
|
2024-03-05 22:11:52 -05:00
|
|
|
#include "fmt/core.h"
|
|
|
|
#include "fmt/format.h"
|
2022-07-06 21:18:08 -04:00
|
|
|
|
|
|
|
GameVersion game_name_to_version(const std::string& name) {
|
|
|
|
if (name == "jak1") {
|
|
|
|
return GameVersion::Jak1;
|
|
|
|
} else if (name == "jak2") {
|
|
|
|
return GameVersion::Jak2;
|
2024-01-15 20:37:16 -05:00
|
|
|
} else if (name == "jak3") {
|
|
|
|
return GameVersion::Jak3;
|
2022-07-06 21:18:08 -04:00
|
|
|
} else {
|
|
|
|
ASSERT_MSG(false, fmt::format("invalid game name: {}", name));
|
|
|
|
}
|
2022-07-18 18:26:57 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
bool valid_game_version(const std::string& name) {
|
2024-01-15 20:37:16 -05:00
|
|
|
return name == "jak1" || name == "jak2" || name == "jak3";
|
2022-07-18 18:26:57 -04:00
|
|
|
}
|
2022-08-23 19:13:26 -04:00
|
|
|
|
|
|
|
std::string version_to_game_name(GameVersion v) {
|
|
|
|
switch (v) {
|
|
|
|
case GameVersion::Jak1:
|
|
|
|
return "jak1";
|
|
|
|
case GameVersion::Jak2:
|
|
|
|
return "jak2";
|
2024-01-15 20:37:16 -05:00
|
|
|
case GameVersion::Jak3:
|
|
|
|
return "jak3";
|
2022-08-23 19:13:26 -04:00
|
|
|
default:
|
2022-12-22 13:41:33 -05:00
|
|
|
ASSERT_MSG(false, fmt::format("no game_name for version: {} found", fmt::underlying(v)));
|
2022-08-23 19:13:26 -04:00
|
|
|
}
|
|
|
|
}
|
2023-01-07 11:24:02 -05:00
|
|
|
|
2023-04-22 14:13:57 -04:00
|
|
|
std::string version_to_game_name_external(GameVersion v) {
|
|
|
|
switch (v) {
|
|
|
|
case GameVersion::Jak1:
|
|
|
|
return "Jak 1";
|
|
|
|
case GameVersion::Jak2:
|
|
|
|
return "Jak 2";
|
2024-01-15 20:37:16 -05:00
|
|
|
case GameVersion::Jak3:
|
|
|
|
return "Jak 3";
|
2023-04-22 14:13:57 -04:00
|
|
|
default:
|
|
|
|
ASSERT_MSG(false, fmt::format("no game_name for version: {} found", fmt::underlying(v)));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2023-01-07 11:24:02 -05:00
|
|
|
std::vector<std::string> valid_game_version_names() {
|
2024-01-15 20:37:16 -05:00
|
|
|
return {game_version_names[GameVersion::Jak1], game_version_names[GameVersion::Jak2],
|
|
|
|
game_version_names[GameVersion::Jak3]};
|
2023-01-07 11:24:02 -05:00
|
|
|
}
|
2023-04-22 14:13:57 -04:00
|
|
|
|
|
|
|
std::string build_revision() {
|
2023-04-24 23:46:55 -04:00
|
|
|
if (std::string(BUILT_TAG) != "") {
|
|
|
|
return std::string(BUILT_TAG);
|
2023-04-22 14:13:57 -04:00
|
|
|
}
|
2023-04-24 23:46:55 -04:00
|
|
|
if (std::string(BUILT_SHA) != "") {
|
|
|
|
return std::string(BUILT_SHA);
|
2023-04-22 14:13:57 -04:00
|
|
|
}
|
|
|
|
return "Unknown Revision";
|
|
|
|
}
|