Add PC Port settings to legit start menu (#1217)

* decompiler: support adding new strings to the game_text.txt file

* gsrc: expand the pckernel type and functions to work better with the menu

* gsrc: add new text-ids

* gsrc: add new macros to help with menu code

* gsrc: make a new type to generalize their list menu options

* gsrc: add new menu options and enums

* gsrc: cleanup and refactor the list menu option drawing code

this allows us to easily add a new list menu option...well as easy as the rest is atleast (setting up static lists properly, etc)

* gsrc: add and cleanup handling of new menu options

* scripts: add checks with nice error messages for user facing taskfile recipes

* lint: formatting

* address simple feedback

* gsrc: move modified files to `pc/` folder

* gsrc: revert changes to originally decompiled files

* gsrc: move modified and new files to `goal_src/pc` folder

* gsrc: update paths in `all_files.gc`
This commit is contained in:
Tyler Wilding
2022-03-10 19:25:01 -05:00
committed by GitHub
parent 2a78d0a190
commit b21f0d3397
38 changed files with 7547 additions and 88 deletions
+3 -3
View File
@@ -615,7 +615,7 @@ std::string ObjectFileDB::process_tpages(TextureDB& tex_db) {
return result;
}
std::string ObjectFileDB::process_game_text_files(GameTextVersion version) {
std::string ObjectFileDB::process_game_text_files(const Config& cfg) {
lg::info("- Finding game text...");
std::string text_string = "COMMON";
Timer timer;
@@ -627,7 +627,7 @@ std::string ObjectFileDB::process_game_text_files(GameTextVersion version) {
for_each_obj([&](ObjectFileData& data) {
if (data.name_in_dgo.substr(1) == text_string) {
file_count++;
auto statistics = process_game_text(data, version);
auto statistics = process_game_text(data, cfg.text_version);
string_count += statistics.total_text;
char_count += statistics.total_chars;
if (text_by_language_by_id.find(statistics.language) != text_by_language_by_id.end()) {
@@ -643,7 +643,7 @@ std::string ObjectFileDB::process_game_text_files(GameTextVersion version) {
if (text_by_language_by_id.empty()) {
return {};
}
return write_game_text(text_by_language_by_id);
return write_game_text(cfg, text_by_language_by_id);
}
std::string ObjectFileDB::process_game_count_file() {