mirror of
https://github.com/open-goal/jak-project
synced 2026-05-25 15:25:31 -04:00
9c631e11fe
This solves two main problems: - the looming threat of running out of memory since every thread would consume duplicate (and probably not needed) resources - though I will point out, jak 2's offline tests seem to hardly use any memory even with 400+ files, duplicated across many threads. Where as jak 1 does indeed use tons more memory. So I think there is something going on besides just the source files - condense the output so it's much easier to see what is happening / how close the test is to completing. - one annoying thing about the multiple thread change was errors were typically buried far in the middle of the output, this fixes that - refactors the offline test code in general to be a lot more modular The pretty printing is not enabled by default, run with `-p` or `--pretty-print` if you want to use it https://user-images.githubusercontent.com/13153231/205513212-a65c20d4-ce36-44f6-826a-cd475505dbf9.mp4
32 lines
762 B
C++
32 lines
762 B
C++
#include "versions.h"
|
|
|
|
#include "common/util/Assert.h"
|
|
|
|
#include "third-party/fmt/core.h"
|
|
#include "third-party/fmt/format.h"
|
|
|
|
GameVersion game_name_to_version(const std::string& name) {
|
|
if (name == "jak1") {
|
|
return GameVersion::Jak1;
|
|
} else if (name == "jak2") {
|
|
return GameVersion::Jak2;
|
|
} else {
|
|
ASSERT_MSG(false, fmt::format("invalid game name: {}", name));
|
|
}
|
|
}
|
|
|
|
bool valid_game_version(const std::string& name) {
|
|
return name == "jak1" || name == "jak2";
|
|
}
|
|
|
|
std::string version_to_game_name(GameVersion v) {
|
|
switch (v) {
|
|
case GameVersion::Jak1:
|
|
return "jak1";
|
|
case GameVersion::Jak2:
|
|
return "jak2";
|
|
default:
|
|
ASSERT_MSG(false, fmt::format("no game_name for version: {} found", fmt::underlying(v)));
|
|
}
|
|
}
|