[game] pc port progress menu (#1281)

* fix typo

* more typo

* shorten discord rpc text

* allow expanding enums after the fact (untested)

* make `game_text` work similar to subtitles

* update progress decomp

* update some types + `do-not-decompile` in bitfield

* fixes and fall back to original progress code

* update `progress` decomp with new enums

* update config files

* fix enums and debug menu

* always allocate (but not use) a lot of particles

* small rework to display mode options

* revert resolution/aspect-ratio symbol mess

* begin the override stuff

* make `progress-draw` more readable

* more fixes

* codacy good boy points

* first step overriding code

* finish progress overrides, game options menu fully functional!

* minor fixes

* Update game.gp

* Update sparticle-launcher.gc

* clang

* change camera controls text

* oops

* some cleanup

* derp

* nice job

* implement menu scrolling lol

* make scrollable menus less cramped, fix arrows

* make some carousell things i guess

* add msaa carousell to test

* oops

* Update progress-pc.gc

* make `pc-get-screen-size` (untested)

* resolution menu

* input fixes

* return when selecting resolution

* scroll fixes

* Update progress-pc.gc

* add "fit to screen" button

* bug

* complete resolutions menu

* aspect ratio menu

* subtitles language

* subtitle speaker

* final adjustments

* ref test

* fix tests

* fix ref!

* reduce redundancy a bit

* fix mem leaks?

* save settings on progress exit

* fix init reorder

* remove unused code

* rename goal project-like files to the project extension

* sha display toggle

* aspect ratio settings fixes

* dont store text db's in compiler

* properly save+load native aspect stuff
This commit is contained in:
ManDude
2022-04-11 23:38:54 +01:00
committed by GitHub
parent b408c78698
commit a7eee4fdc9
185 changed files with 6172 additions and 11465 deletions
+12 -5
View File
@@ -66,10 +66,7 @@ Val* Compiler::compile_asm_data_file(const goos::Object& form, const goos::Objec
auto args = get_va(form, rest);
va_check(form, args, {goos::ObjectType::SYMBOL, goos::ObjectType::STRING}, {});
auto kind = symbol_string(args.unnamed.at(0));
if (kind == "game-text") {
// TODO version
compile_game_text(as_string(args.unnamed.at(1)));
} else if (kind == "game-count") {
if (kind == "game-count") {
compile_game_count(as_string(args.unnamed.at(1)));
} else if (kind == "dir-tpages") {
compile_dir_tpages(as_string(args.unnamed.at(1)));
@@ -97,7 +94,17 @@ Val* Compiler::compile_asm_text_file(const goos::Object& form, const goos::Objec
throw_compiler_error(form, "Invalid object {} in asm-text-file files list.", o.print());
}
});
compile_game_subtitle(files, (GameTextVersion)args.unnamed.at(1).as_int(), m_subtitle_db);
compile_game_subtitle(files, (GameTextVersion)args.unnamed.at(1).as_int());
} else if (kind == "text") {
std::vector<std::string> files;
for_each_in_list(args.named.at("files"), [this, &files, &form](const goos::Object& o) {
if (o.is_string()) {
files.push_back(o.as_string()->data);
} else {
throw_compiler_error(form, "Invalid object {} in asm-text-file files list.", o.print());
}
});
compile_game_text(files, (GameTextVersion)args.unnamed.at(1).as_int());
} else {
throw_compiler_error(form, "The option {} was not recognized for asm-text-file.", kind);
}