From 6d99f1bfc1aa4f3ab5a5f3dfca7d4688434f2984 Mon Sep 17 00:00:00 2001 From: Tyler Wilding Date: Wed, 8 Mar 2023 20:07:26 -0500 Subject: [PATCH] d/config: re-organize `decompiler/config` and eliminate most of the duplication (#2185) Reasons for doing so include: 1. This should stop the confusion around editing the wrong config file's flags -- when for example, extracting a level. Common settings can be in one central place, with bespoke overrides being provided for each version 2. Less verbose way of supporting multiple game versions. You don't have to duplicate the entire `type_casts` file for example, just add or override the json objects required. 3. Makes the folder structure consistent, Jak 1's `all-types` is now in a `jak1` folder, etc. --- .vs/launch.vs.json | 22 +- Taskfile.yml | 16 +- decompiler/config.cpp | 170 +- decompiler/config.h | 1 + decompiler/config/{ => jak1}/all-types.gc | 0 .../jak1_config.jsonc} | 53 +- decompiler/config/jak1/jp/label_types.jsonc | 803 ++ .../ntsc_v1}/anonymous_function_types.jsonc | 0 .../ntsc_v1}/art-group-info.min.json | 0 .../ntsc_v1}/art_info.jsonc | 0 .../ntsc_v1}/hacks.jsonc | 2 - .../ntsc_v1}/import_deps.jsonc | 0 .../ntsc_v1}/inputs.jsonc | 0 .../ntsc_v1}/label_types.jsonc | 20 +- .../ntsc_v1}/stack_structures.jsonc | 0 .../ntsc_v1}/type_casts.jsonc | 3 +- .../ntsc_v1}/var_names.jsonc | 0 decompiler/config/jak1/pal/hacks.jsonc | 12 + decompiler/config/jak1/pal/label_types.jsonc | 800 ++ decompiler/config/jak1/pal/type_casts.jsonc | 28 + .../all-types.gc} | 0 .../default}/all_objs.json | 0 .../default}/anonymous_function_types.jsonc | 0 .../default}/hacks.jsonc | 0 .../default}/inputs.jsonc | 0 .../default}/label_types.jsonc | 0 .../default}/stack_structures.jsonc | 0 .../default}/type_casts.jsonc | 0 .../default}/var_names.jsonc | 0 .../jak1_demo_config.jsonc} | 2 +- decompiler/config/jak1_jp.jsonc | 122 - decompiler/config/jak1_jp/label_types.jsonc | 2152 ----- decompiler/config/jak1_pal.jsonc | 122 - decompiler/config/jak1_pal/hacks.jsonc | 676 -- decompiler/config/jak1_pal/label_types.jsonc | 2152 ----- decompiler/config/jak1_pal/type_casts.jsonc | 7711 ----------------- decompiler/config/jak1_us2.jsonc | 122 - .../jak2_config.jsonc} | 28 +- .../anonymous_function_types.jsonc | 0 .../{ => ntsc_v1}/art-group-info.min.json | 0 .../config/jak2/{ => ntsc_v1}/art_info.jsonc | 0 .../config/jak2/{ => ntsc_v1}/hacks.jsonc | 0 .../jak2/{ => ntsc_v1}/import_deps.jsonc | 0 .../config/jak2/{ => ntsc_v1}/inputs.jsonc | 0 .../jak2/{ => ntsc_v1}/label_types.jsonc | 0 .../jak2/{ => ntsc_v1}/stack_structures.jsonc | 0 .../jak2/{ => ntsc_v1}/type_casts.jsonc | 0 .../config/jak2/{ => ntsc_v1}/var_names.jsonc | 0 .../jak3_config.jsonc} | 0 .../anonymous_function_types.jsonc | 0 .../config/jak3/{ => ntsc_v1}/art_info.jsonc | 0 .../config/jak3/{ => ntsc_v1}/hacks.jsonc | 0 .../jak3/{ => ntsc_v1}/import_deps.jsonc | 0 .../config/jak3/{ => ntsc_v1}/inputs.jsonc | 0 .../jak3/{ => ntsc_v1}/label_types.jsonc | 0 .../jak3/{ => ntsc_v1}/stack_structures.jsonc | 0 .../jak3/{ => ntsc_v1}/type_casts.jsonc | 0 .../config/jak3/{ => ntsc_v1}/var_names.jsonc | 0 decompiler/extractor/extractor_util.hpp | 12 +- decompiler/extractor/main.cpp | 9 +- decompiler/main.cpp | 9 +- goal_src/goal-lib.gc | 2 +- scripts/batch/decomp-jak1.bat | 2 +- scripts/batch/decomp-jak1_jp.bat | 2 +- scripts/batch/decomp-jak1_pal.bat | 2 +- scripts/batch/decomp-jak1_us2.bat | 2 +- scripts/batch/decomp-jak2.bat | 2 +- scripts/batch/repo-settings-mark.bat | 2 +- scripts/batch/repo-settings-unmark.bat | 2 +- scripts/batch/update-gsrc-via-refs-jak2.bat | 4 +- scripts/gsrc/update-gsrc-via-refs.py | 3 + scripts/gsrc/utils.py | 5 +- scripts/shell/decomp.sh | 2 +- scripts/shell/decomp2.sh | 2 +- scripts/tasks/.env.default | 3 +- scripts/tasks/Taskfile_darwin.yml | 2 +- scripts/tasks/Taskfile_linux.yml | 2 +- scripts/tasks/Taskfile_windows.yml | 2 +- scripts/tasks/update-env.py | 34 +- test/decompiler/FormRegressionTest.cpp | 2 +- test/decompiler/test_DataParser.cpp | 2 +- test/goalc/test_type_consistency.cpp | 4 +- test/offline/framework/execution.cpp | 2 +- test/offline/framework/orchestration.cpp | 14 +- 84 files changed, 1905 insertions(+), 13241 deletions(-) rename decompiler/config/{ => jak1}/all-types.gc (100%) rename decompiler/config/{jak1_ntsc_black_label.jsonc => jak1/jak1_config.jsonc} (68%) create mode 100644 decompiler/config/jak1/jp/label_types.jsonc rename decompiler/config/{jak1_ntsc_black_label => jak1/ntsc_v1}/anonymous_function_types.jsonc (100%) rename decompiler/config/{jak1_ntsc_black_label => jak1/ntsc_v1}/art-group-info.min.json (100%) rename decompiler/config/{jak1_ntsc_black_label => jak1/ntsc_v1}/art_info.jsonc (100%) rename decompiler/config/{jak1_ntsc_black_label => jak1/ntsc_v1}/hacks.jsonc (99%) rename decompiler/config/{jak1_ntsc_black_label => jak1/ntsc_v1}/import_deps.jsonc (100%) rename decompiler/config/{jak1_ntsc_black_label => jak1/ntsc_v1}/inputs.jsonc (100%) rename decompiler/config/{jak1_ntsc_black_label => jak1/ntsc_v1}/label_types.jsonc (98%) rename decompiler/config/{jak1_ntsc_black_label => jak1/ntsc_v1}/stack_structures.jsonc (100%) rename decompiler/config/{jak1_ntsc_black_label => jak1/ntsc_v1}/type_casts.jsonc (99%) rename decompiler/config/{jak1_ntsc_black_label => jak1/ntsc_v1}/var_names.jsonc (100%) create mode 100644 decompiler/config/jak1/pal/hacks.jsonc create mode 100644 decompiler/config/jak1/pal/label_types.jsonc create mode 100644 decompiler/config/jak1/pal/type_casts.jsonc rename decompiler/config/{all-types-demo.gc => jak1_demo/all-types.gc} (100%) rename decompiler/config/{jak1_sced => jak1_demo/default}/all_objs.json (100%) rename decompiler/config/{jak1_sced => jak1_demo/default}/anonymous_function_types.jsonc (100%) rename decompiler/config/{jak1_sced => jak1_demo/default}/hacks.jsonc (100%) rename decompiler/config/{jak1_sced => jak1_demo/default}/inputs.jsonc (100%) rename decompiler/config/{jak1_sced => jak1_demo/default}/label_types.jsonc (100%) rename decompiler/config/{jak1_sced => jak1_demo/default}/stack_structures.jsonc (100%) rename decompiler/config/{jak1_sced => jak1_demo/default}/type_casts.jsonc (100%) rename decompiler/config/{jak1_sced => jak1_demo/default}/var_names.jsonc (100%) rename decompiler/config/{jak1_sced.jsonc => jak1_demo/jak1_demo_config.jsonc} (97%) delete mode 100644 decompiler/config/jak1_jp.jsonc delete mode 100644 decompiler/config/jak1_jp/label_types.jsonc delete mode 100644 decompiler/config/jak1_pal.jsonc delete mode 100644 decompiler/config/jak1_pal/hacks.jsonc delete mode 100644 decompiler/config/jak1_pal/label_types.jsonc delete mode 100644 decompiler/config/jak1_pal/type_casts.jsonc delete mode 100644 decompiler/config/jak1_us2.jsonc rename decompiler/config/{jak2_ntsc_v1.jsonc => jak2/jak2_config.jsonc} (79%) rename decompiler/config/jak2/{ => ntsc_v1}/anonymous_function_types.jsonc (100%) rename decompiler/config/jak2/{ => ntsc_v1}/art-group-info.min.json (100%) rename decompiler/config/jak2/{ => ntsc_v1}/art_info.jsonc (100%) rename decompiler/config/jak2/{ => ntsc_v1}/hacks.jsonc (100%) rename decompiler/config/jak2/{ => ntsc_v1}/import_deps.jsonc (100%) rename decompiler/config/jak2/{ => ntsc_v1}/inputs.jsonc (100%) rename decompiler/config/jak2/{ => ntsc_v1}/label_types.jsonc (100%) rename decompiler/config/jak2/{ => ntsc_v1}/stack_structures.jsonc (100%) rename decompiler/config/jak2/{ => ntsc_v1}/type_casts.jsonc (100%) rename decompiler/config/jak2/{ => ntsc_v1}/var_names.jsonc (100%) rename decompiler/config/{jak3_ntsc.jsonc => jak3/jak3_config.jsonc} (100%) rename decompiler/config/jak3/{ => ntsc_v1}/anonymous_function_types.jsonc (100%) rename decompiler/config/jak3/{ => ntsc_v1}/art_info.jsonc (100%) rename decompiler/config/jak3/{ => ntsc_v1}/hacks.jsonc (100%) rename decompiler/config/jak3/{ => ntsc_v1}/import_deps.jsonc (100%) rename decompiler/config/jak3/{ => ntsc_v1}/inputs.jsonc (100%) rename decompiler/config/jak3/{ => ntsc_v1}/label_types.jsonc (100%) rename decompiler/config/jak3/{ => ntsc_v1}/stack_structures.jsonc (100%) rename decompiler/config/jak3/{ => ntsc_v1}/type_casts.jsonc (100%) rename decompiler/config/jak3/{ => ntsc_v1}/var_names.jsonc (100%) diff --git a/.vs/launch.vs.json b/.vs/launch.vs.json index 9a677fe356..414a9c69bd 100644 --- a/.vs/launch.vs.json +++ b/.vs/launch.vs.json @@ -158,9 +158,11 @@ "projectTarget": "decompiler.exe (bin\\decompiler.exe)", "name": "Decompiler - Jak 1", "args": [ - "${workspaceRoot}/decompiler/config/jak1_ntsc_black_label.jsonc", + "${workspaceRoot}/decompiler/config/jak1/jak1_config.jsonc", "${workspaceRoot}/iso_data", - "${workspaceRoot}/decompiler_out" + "${workspaceRoot}/decompiler_out", + "--version", + "ntsc_v1" ] }, { @@ -169,9 +171,11 @@ "projectTarget": "decompiler.exe (bin\\decompiler.exe)", "name": "Decompiler - Jak 1 PAL", "args": [ - "${workspaceRoot}/decompiler/config/jak1_pal.jsonc", + "${workspaceRoot}/decompiler/config/jak1/jak1_config.jsonc", "${workspaceRoot}/iso_data", - "${workspaceRoot}/decompiler_out" + "${workspaceRoot}/decompiler_out", + "--version", + "pal" ] }, { @@ -180,9 +184,11 @@ "projectTarget": "decompiler.exe (bin\\decompiler.exe)", "name": "Decompiler - Jak 2", "args": [ - "${workspaceRoot}/decompiler/config/jak2_ntsc_v1.jsonc", + "${workspaceRoot}/decompiler/config/jak2/jak2_config.jsonc", "${workspaceRoot}/iso_data", - "${workspaceRoot}/decompiler_out" + "${workspaceRoot}/decompiler_out", + "--version", + "ntsc_v1" ] }, { @@ -191,9 +197,11 @@ "projectTarget": "decompiler.exe (bin\\decompiler.exe)", "name": "Decompiler - Jak 2 - Extract", "args": [ - "${workspaceRoot}/decompiler/config/jak2_ntsc_v1.jsonc", + "${workspaceRoot}/decompiler/config/jak2/jak2_config.jsonc", "${workspaceRoot}/iso_data", "${workspaceRoot}/decompiler_out", + "--version", + "ntsc_v1", "--config-override \"{\\\"decompile_code\\\": false}\"" ] }, diff --git a/Taskfile.yml b/Taskfile.yml index d6f33d051e..dfbfe9d145 100644 --- a/Taskfile.yml +++ b/Taskfile.yml @@ -1,4 +1,4 @@ -version: "3.13" +version: 3 includes: build: ./scripts/tasks/Taskfile_{{OS}}.yml @@ -38,7 +38,7 @@ tasks: - sh: test -f {{.DECOMP_BIN_RELEASE_DIR}}/decompiler{{.EXE_FILE_EXTENSION}} msg: "Couldn't locate decompiler executable in '{{.DECOMP_BIN_RELEASE_DIR}}/decompiler'" cmds: - - "{{.DECOMP_BIN_RELEASE_DIR}}/decompiler \"./decompiler/config/{{.DECOMP_CONFIG}}\" \"./iso_data\" \"./decompiler_out\" --config-override '{\"decompile_code\": false, \"levels_extract\": true, \"allowed_objects\": []}'" + - "{{.DECOMP_BIN_RELEASE_DIR}}/decompiler \"./decompiler/config/{{.DECOMP_CONFIG}}\" \"./iso_data\" \"./decompiler_out\" --version \"{{.DECOMP_CONFIG_VERSION}}\" --config-override '{\"decompile_code\": false, \"levels_extract\": true, \"allowed_objects\": []}'" boot-game: desc: "Boots the game, it will fail if it's not already compiled!" preconditions: @@ -73,9 +73,9 @@ tasks: cmds: - cmd: python ./third-party/run-clang-format/run-clang-format.py -r common decompiler game goalc test tools lsp -i # npm install -g prettier - - cmd: npx prettier --write ./decompiler/config/jak1_ntsc_black_label/*.jsonc + - cmd: npx prettier --write ./decompiler/config/jak1/**/*.jsonc ignore_error: true - - cmd: npx prettier --write ./decompiler/config/jak2/*.jsonc + - cmd: npx prettier --write ./decompiler/config/jak2/**/*.jsonc ignore_error: true run-game-headless: cmds: @@ -83,10 +83,10 @@ tasks: # DECOMPILING decomp: cmds: - - "{{.DECOMP_BIN_RELEASE_DIR}}/decompiler \"./decompiler/config/{{.DECOMP_CONFIG}}\" \"./iso_data\" \"./decompiler_out\" --config-override '{\"levels_extract\": false}'" + - "{{.DECOMP_BIN_RELEASE_DIR}}/decompiler \"./decompiler/config/{{.DECOMP_CONFIG}}\" \"./iso_data\" \"./decompiler_out\" --version \"{{.DECOMP_CONFIG_VERSION}}\" --config-override '{\"decompile_code\": true, \"levels_extract\": false}'" decomp-file: cmds: - - "{{.DECOMP_BIN_RELEASE_DIR}}/decompiler \"./decompiler/config/{{.DECOMP_CONFIG}}\" \"./iso_data\" \"./decompiler_out\" --config-override '{\"levels_extract\": false, \"allowed_objects\": [\"{{.FILE}}\"]}'" + - "{{.DECOMP_BIN_RELEASE_DIR}}/decompiler \"./decompiler/config/{{.DECOMP_CONFIG}}\" \"./iso_data\" \"./decompiler_out\" --version \"{{.DECOMP_CONFIG_VERSION}}\" --config-override '{\"decompile_code\": true, \"levels_extract\": false, \"allowed_objects\": [\"{{.FILE}}\"]}'" decomp-clean: cmds: - python ./scripts/tasks/clean-decomp.py --game "{{.GAME}}" @@ -95,10 +95,10 @@ tasks: - python ./scripts/gsrc/lint-gsrc-file.py --game {{.GAME}} --file {{.FILE}} update-gsrc: cmds: - - python ./scripts/gsrc/update-gsrc-via-refs.py --game "{{.GAME}}" --decompiler "{{.DECOMP_BIN_RELEASE_DIR}}/decompiler" --decompiler_config {{.DECOMP_CONFIG}} + - python ./scripts/gsrc/update-gsrc-via-refs.py --game "{{.GAME}}" --decompiler "{{.DECOMP_BIN_RELEASE_DIR}}/decompiler" --decompiler_config {{.DECOMP_CONFIG}} --version {{.DECOMP_CONFIG_VERSION}} update-gsrc-glob: cmds: - - python ./scripts/gsrc/update-gsrc-via-refs.py --game "{{.GAME}}" --file_pattern "{{.GLOB}}" --decompiler "{{.DECOMP_BIN_RELEASE_DIR}}/decompiler" --decompiler_config {{.DECOMP_CONFIG}} + - python ./scripts/gsrc/update-gsrc-via-refs.py --game "{{.GAME}}" --file_pattern "{{.GLOB}}" --decompiler "{{.DECOMP_BIN_RELEASE_DIR}}/decompiler" --decompiler_config {{.DECOMP_CONFIG}} --version {{.DECOMP_CONFIG_VERSION}} update-gsrc-file: cmds: - task: decomp-file diff --git a/decompiler/config.cpp b/decompiler/config.cpp index 4ff18b454f..90f308f6bd 100644 --- a/decompiler/config.cpp +++ b/decompiler/config.cpp @@ -16,35 +16,25 @@ namespace { * Read an entry from cfg containing the name of a json file, and parse that file. * Relative to jak-project directory. */ -nlohmann::json read_json_file_from_config(const nlohmann::json& cfg, const std::string& file_key) { - auto file_name = cfg.at(file_key).get(); +nlohmann::json read_json_file_from_config(const nlohmann::json& json, const std::string& file_key) { + auto file_name = json.at(file_key).get(); auto file_txt = file_util::read_text_file(file_util::get_file_path({file_name})); return parse_commented_json(file_txt, file_name); } -} // namespace -/*! - * Parse the main config file and return decompiler config. - */ -Config read_config_file(const fs::path& path_to_config_file, const std::string& override_json) { +Config make_config_via_json(nlohmann::json& json) { Config config; - auto config_str = file_util::read_text_file(path_to_config_file); - auto cfg = parse_commented_json(config_str, path_to_config_file.string()); - lg::info("Config Overide: '{}'\n", override_json); - auto cfg_override = parse_commented_json(override_json, ""); - cfg.update(cfg_override); - - int version_int = cfg.at("game_version").get(); + int version_int = json.at("game_version").get(); ASSERT(version_int == 1 || version_int == 2); config.game_version = (GameVersion)version_int; - config.text_version = cfg.at("text_version").get(); - config.game_name = cfg.at("game_name").get(); - if (cfg.contains("expected_elf_name")) { - config.expected_elf_name = cfg.at("expected_elf_name").get(); + config.text_version = json.at("text_version").get(); + config.game_name = json.at("game_name").get(); + if (json.contains("expected_elf_name")) { + config.expected_elf_name = json.at("expected_elf_name").get(); } - config.all_types_file = cfg.at("all_types_file").get(); + config.all_types_file = json.at("all_types_file").get(); - auto inputs_json = read_json_file_from_config(cfg, "inputs_file"); + auto inputs_json = read_json_file_from_config(json, "inputs_file"); config.dgo_names = inputs_json.at("dgo_names").get>(); config.object_file_names = inputs_json.at("object_file_names").get>(); config.str_file_names = inputs_json.at("str_file_names").get>(); @@ -52,50 +42,53 @@ Config read_config_file(const fs::path& path_to_config_file, const std::string& config.streamed_audio_file_names = inputs_json.at("streamed_audio_file_names").get>(); - if (cfg.contains("art_group_dump_file")) { + if (json.contains("art_group_dump_file")) { auto json_data = file_util::read_text_file( - file_util::get_file_path({cfg.at("art_group_dump_file").get()})); + file_util::get_file_path({json.at("art_group_dump_file").get()})); std::unordered_map> serialized = parse_commented_json(json_data, "art_group_dump_file"); config.art_group_info_dump = serialized; } - if (cfg.contains("obj_file_name_map_file")) { - config.obj_file_name_map_file = cfg.at("obj_file_name_map_file").get(); + if (json.contains("obj_file_name_map_file")) { + config.obj_file_name_map_file = json.at("obj_file_name_map_file").get(); } - config.disassemble_code = cfg.at("disassemble_code").get(); - config.decompile_code = cfg.at("decompile_code").get(); - config.write_hex_near_instructions = cfg.at("write_hex_near_instructions").get(); - config.write_scripts = cfg.at("write_scripts").get(); - config.disassemble_data = cfg.at("disassemble_data").get(); - config.process_tpages = cfg.at("process_tpages").get(); - config.process_game_text = cfg.at("process_game_text").get(); - config.process_game_count = cfg.at("process_game_count").get(); - config.process_art_groups = cfg.at("process_art_groups").get(); - config.dump_art_group_info = cfg.at("dump_art_group_info").get(); - config.hexdump_code = cfg.at("hexdump_code").get(); - config.hexdump_data = cfg.at("hexdump_data").get(); - config.find_functions = cfg.at("find_functions").get(); - config.dump_objs = cfg.at("dump_objs").get(); - config.print_cfgs = cfg.at("print_cfgs").get(); - config.generate_symbol_definition_map = cfg.at("generate_symbol_definition_map").get(); - config.is_pal = cfg.at("is_pal").get(); - config.rip_levels = cfg.at("rip_levels").get(); - config.extract_collision = cfg.at("extract_collision").get(); - config.generate_all_types = cfg.at("generate_all_types").get(); - if (cfg.contains("old_all_types_file")) { - config.old_all_types_file = cfg.at("old_all_types_file").get(); + config.disassemble_code = json.at("disassemble_code").get(); + config.decompile_code = json.at("decompile_code").get(); + config.write_hex_near_instructions = json.at("write_hex_near_instructions").get(); + config.write_scripts = json.at("write_scripts").get(); + config.disassemble_data = json.at("disassemble_data").get(); + config.process_tpages = json.at("process_tpages").get(); + config.process_game_text = json.at("process_game_text").get(); + config.process_game_count = json.at("process_game_count").get(); + config.process_art_groups = json.at("process_art_groups").get(); + config.dump_art_group_info = json.at("dump_art_group_info").get(); + config.hexdump_code = json.at("hexdump_code").get(); + config.hexdump_data = json.at("hexdump_data").get(); + config.find_functions = json.at("find_functions").get(); + config.dump_objs = json.at("dump_objs").get(); + config.print_cfgs = json.at("print_cfgs").get(); + config.generate_symbol_definition_map = json.at("generate_symbol_definition_map").get(); + config.is_pal = json.at("is_pal").get(); + config.rip_levels = json.at("rip_levels").get(); + config.extract_collision = json.at("extract_collision").get(); + config.generate_all_types = json.at("generate_all_types").get(); + if (json.contains("old_all_types_file")) { + config.old_all_types_file = json.at("old_all_types_file").get(); } - auto allowed = cfg.at("allowed_objects").get>(); + auto allowed = json.at("allowed_objects").get>(); for (const auto& x : allowed) { config.allowed_objects.insert(x); } - auto banned = cfg.at("banned_objects").get>(); + auto banned = json.at("banned_objects").get>(); for (const auto& x : banned) { config.banned_objects.insert(x); } - auto type_casts_json = read_json_file_from_config(cfg, "type_casts_file"); + auto type_casts_json = read_json_file_from_config(json, "type_casts_file"); + if (json.contains("type_casts_merge_file")) { + type_casts_json.update(read_json_file_from_config(json, "type_casts_merge_file")); + } for (auto& kv : type_casts_json.items()) { auto& function_name = kv.key(); auto& casts = kv.value(); @@ -126,7 +119,10 @@ Config read_config_file(const fs::path& path_to_config_file, const std::string& } } - auto anon_func_json = read_json_file_from_config(cfg, "anonymous_function_types_file"); + auto anon_func_json = read_json_file_from_config(json, "anonymous_function_types_file"); + if (json.contains("anonymous_function_types_merge_file")) { + anon_func_json.update(read_json_file_from_config(json, "anonymous_function_types_merge_file")); + } for (auto& kv : anon_func_json.items()) { auto& obj_file_name = kv.key(); auto& anon_types = kv.value(); @@ -136,7 +132,7 @@ Config read_config_file(const fs::path& path_to_config_file, const std::string& config.anon_function_types_by_obj_by_id[obj_file_name][id] = type_name; } } - auto var_names_json = read_json_file_from_config(cfg, "var_names_file"); + auto var_names_json = read_json_file_from_config(json, "var_names_file"); for (auto& kv : var_names_json.items()) { auto& function_name = kv.key(); auto arg = kv.value().find("args"); @@ -163,7 +159,10 @@ Config read_config_file(const fs::path& path_to_config_file, const std::string& } } - auto label_types_json = read_json_file_from_config(cfg, "label_types_file"); + auto label_types_json = read_json_file_from_config(json, "label_types_file"); + if (json.contains("label_types_merge_file")) { + label_types_json.update(read_json_file_from_config(json, "label_types_merge_file")); + } for (auto& kv : label_types_json.items()) { auto& obj_name = kv.key(); auto& types = kv.value(); @@ -184,7 +183,10 @@ Config read_config_file(const fs::path& path_to_config_file, const std::string& } } - auto stack_structures_json = read_json_file_from_config(cfg, "stack_structures_file"); + auto stack_structures_json = read_json_file_from_config(json, "stack_structures_file"); + if (json.contains("stack_structures_merge_file")) { + stack_structures_json.update(read_json_file_from_config(json, "stack_structures_merge_file")); + } for (auto& kv : stack_structures_json.items()) { auto& func_name = kv.key(); auto& stack_structures = kv.value(); @@ -192,7 +194,21 @@ Config read_config_file(const fs::path& path_to_config_file, const std::string& parse_stack_structure_hints(stack_structures); } - auto hacks_json = read_json_file_from_config(cfg, "hacks_file"); + auto hacks_json = read_json_file_from_config(json, "hacks_file"); + if (json.contains("hacks_merge_file")) { + // NOTE - here we merge one level deeper because it's worth doing here + // - chances are you just need to override a few individual hacks + const auto hack_overrides = read_json_file_from_config(json, "hacks_merge_file"); + for (const auto& entry : hack_overrides.items()) { + if (hacks_json.contains(entry.key())) { + // If the parent json file has this, update it + hacks_json.at(entry.key()).update(entry.value()); + } else { + // Otherwise, we append it + hacks_json[entry.key()] = entry.value(); + } + } + } config.hacks.hint_inline_assembly_functions = hacks_json.at("hint_inline_assembly_functions").get>(); config.hacks.asm_functions_by_name = @@ -240,21 +256,21 @@ Config read_config_file(const fs::path& path_to_config_file, const std::string& } config.levels_to_extract = inputs_json.at("levels_to_extract").get>(); - config.levels_extract = cfg.at("levels_extract").get(); + config.levels_extract = json.at("levels_extract").get(); - auto art_info_json = read_json_file_from_config(cfg, "art_info_file"); + auto art_info_json = read_json_file_from_config(json, "art_info_file"); config.art_groups_by_file = art_info_json.at("files").get>(); config.art_groups_by_function = art_info_json.at("functions").get>(); - auto import_deps = read_json_file_from_config(cfg, "import_deps_file"); + auto import_deps = read_json_file_from_config(json, "import_deps_file"); config.import_deps_by_file = import_deps.get>>(); - config.write_patches = cfg.at("write_patches").get(); - config.apply_patches = cfg.at("apply_patches").get(); - const auto& object_patches = cfg.at("object_patches"); + config.write_patches = json.at("write_patches").get(); + config.apply_patches = json.at("apply_patches").get(); + const auto& object_patches = json.at("object_patches"); for (auto& [obj, pch] : object_patches.items()) { ObjectPatchInfo new_pch; new_pch.crc = (u32)std::stoull(pch.at("crc32").get(), nullptr, 16); @@ -265,5 +281,39 @@ Config read_config_file(const fs::path& path_to_config_file, const std::string& return config; } +} // namespace + +/*! + * Parse the main config file and return decompiler config. + */ +Config read_config_file(const fs::path& path_to_config_file, + const std::string& config_game_version, + const std::string& override_json) { + Config config; + auto config_str = file_util::read_text_file(path_to_config_file); + auto json = parse_commented_json(config_str, path_to_config_file.string()); + + // First, check if we need to update the JSON from the game versions overrides + if (json.contains("version_overrides")) { + if (!json.at("version_overrides").contains(config_game_version)) { + throw std::runtime_error(fmt::format( + "'{}' provided which doesn't correspond with a 'version_overrides", config_game_version)); + } + lg::info("Game Config Overide: '{}'", config_game_version); + json.update(json.at("version_overrides").at(config_game_version)); + } + + // Then, update any config overrides + lg::info("Config Overide: '{}'", override_json); + auto cfg_override = parse_commented_json(override_json, ""); + json.update(cfg_override); + + // debugging, dump the JSON config to a file + // fs::path debug_path = path_to_config_file.parent_path() / "config-debug.jsonc"; + // file_util::write_text_file(debug_path, json.dump(2)); + + // Lastly, update the struct via the JSON + return make_config_via_json(json); +} } // namespace decompiler diff --git a/decompiler/config.h b/decompiler/config.h index 497bdf33ec..3f4406b735 100644 --- a/decompiler/config.h +++ b/decompiler/config.h @@ -169,6 +169,7 @@ struct Config { }; Config read_config_file(const fs::path& path_to_config_file, + const std::string& config_game_version, const std::string& override_json = "{}"); } // namespace decompiler diff --git a/decompiler/config/all-types.gc b/decompiler/config/jak1/all-types.gc similarity index 100% rename from decompiler/config/all-types.gc rename to decompiler/config/jak1/all-types.gc diff --git a/decompiler/config/jak1_ntsc_black_label.jsonc b/decompiler/config/jak1/jak1_config.jsonc similarity index 68% rename from decompiler/config/jak1_ntsc_black_label.jsonc rename to decompiler/config/jak1/jak1_config.jsonc index 3e56574135..cf6750aace 100644 --- a/decompiler/config/jak1_ntsc_black_label.jsonc +++ b/decompiler/config/jak1/jak1_config.jsonc @@ -77,17 +77,17 @@ // CONFIG FILES //////////////////////////// - "type_casts_file": "decompiler/config/jak1_ntsc_black_label/type_casts.jsonc", - "anonymous_function_types_file": "decompiler/config/jak1_ntsc_black_label/anonymous_function_types.jsonc", - "var_names_file": "decompiler/config/jak1_ntsc_black_label/var_names.jsonc", - "label_types_file": "decompiler/config/jak1_ntsc_black_label/label_types.jsonc", - "stack_structures_file": "decompiler/config/jak1_ntsc_black_label/stack_structures.jsonc", - "hacks_file": "decompiler/config/jak1_ntsc_black_label/hacks.jsonc", - "inputs_file": "decompiler/config/jak1_ntsc_black_label/inputs.jsonc", - "art_info_file": "decompiler/config/jak1_ntsc_black_label/art_info.jsonc", - "import_deps_file": "decompiler/config/jak1_ntsc_black_label/import_deps.jsonc", - "all_types_file": "decompiler/config/all-types.gc", - "art_group_dump_file": "decompiler/config/jak1_ntsc_black_label/art-group-info.min.json", + "type_casts_file": "decompiler/config/jak1/ntsc_v1/type_casts.jsonc", + "anonymous_function_types_file": "decompiler/config/jak1/ntsc_v1/anonymous_function_types.jsonc", + "var_names_file": "decompiler/config/jak1/ntsc_v1/var_names.jsonc", + "label_types_file": "decompiler/config/jak1/ntsc_v1/label_types.jsonc", + "stack_structures_file": "decompiler/config/jak1/ntsc_v1/stack_structures.jsonc", + "hacks_file": "decompiler/config/jak1/ntsc_v1/hacks.jsonc", + "inputs_file": "decompiler/config/jak1/ntsc_v1/inputs.jsonc", + "art_info_file": "decompiler/config/jak1/ntsc_v1/art_info.jsonc", + "import_deps_file": "decompiler/config/jak1/ntsc_v1/import_deps.jsonc", + "all_types_file": "decompiler/config/jak1/all-types.gc", + "art_group_dump_file": "decompiler/config/jak1/ntsc_v1/art-group-info.min.json", // optional: a predetermined object file name map from a file. // this will make decompilation naming consistent even if you only run on some objects. @@ -153,6 +153,35 @@ "in": "decompiler_out/jak1_pal/raw_obj/6COMMON.go", "out": "game/assets/jak1/patches/6common.xd3" } + }, + "version_overrides": { + "ntsc_v1": {}, + "ntsc_v2": { + "game_name": "jak1_us2", + "type_casts_merge_file": "decompiler/config/jak1/pal/type_casts.jsonc", + "label_types_merge_file": "decompiler/config/jak1/jp/label_types.jsonc", + "hacks_merge_file": "decompiler/config/jak1/pal/hacks.jsonc", + "obj_file_name_map_file": "goal_src/jak1/build/all_objs_jak1_jp.json", + "object_patches": {} + }, + "jp": { + "game_name": "jak1_jp", + "expected_elf_name": "SCPS_150.21", + "type_casts_merge_file": "decompiler/config/jak1/pal/type_casts.jsonc", + "label_types_merge_file": "decompiler/config/jak1/jp/label_types.jsonc", + "hacks_merge_file": "decompiler/config/jak1/pal/hacks.jsonc", + "obj_file_name_map_file": "goal_src/jak1/build/all_objs_jak1_jp.json", + "object_patches": {} + }, + "pal": { + "game_name": "jak1_pal", + "expected_elf_name": "SCES_503.61", + "is_pal": true, + "type_casts_merge_file": "decompiler/config/jak1/pal/type_casts.jsonc", + "label_types_merge_file": "decompiler/config/jak1/pal/label_types.jsonc", + "hacks_merge_file": "decompiler/config/jak1/pal/hacks.jsonc", + "obj_file_name_map_file": "goal_src/jak1/build/all_objs_jak1_pal.json", + "object_patches": {} + } } - } diff --git a/decompiler/config/jak1/jp/label_types.jsonc b/decompiler/config/jak1/jp/label_types.jsonc new file mode 100644 index 0000000000..805dcc2441 --- /dev/null +++ b/decompiler/config/jak1/jp/label_types.jsonc @@ -0,0 +1,803 @@ +{ + "target-handler": [ + ["L195", "attack-info"], + ["L197", "float", true], + ["L198", "float", true], + ["L199", "float", true], + ["L200", "float", true], + ["L201", "float", true], + ["L202", "float", true], + ["L203", "float", true], + ["L204", "float", true], + ["L205", "uint64", true], + ["L206", "uint64", true], + ["L207", "uint64", true], + ["L208", "uint64", true], + ["L209", "uint64", true] + ], + + "water": [ + ["L148", "attack-info"], + ["L149", "attack-info"], + ["L150", "attack-info"] + ], + + "racer": [["L106", "vector"]], + + "target-racer": [ + ["L237", "attack-info"], + ["L238", "attack-info"], + ["L240", "vector"] + ], + + "rolling-lightning-mole": [ + ["L181", "vector"], + ["L185", "vector4w"], + ["L186", "vector4w"], + ["L187", "vector4w"], + ["L189", "vector4w"], + ["L195", "vector"], + ["L201", "vector4w"], + ["L202", "vector4w"], + ["L203", "vector4w"], + ["L204", "vector4w"], + ["L205", "vector4w"], + ["L206", "vector4w"] + ], + + "rolling-robber": [ + ["L127", "vector"], + ["L139", "vector"], + ["L140", "vector"], + ["L145", "vector"] + ], + + "target-flut": [ + ["L399", "attack-info"], + ["L406", "float", true], + ["L407", "float", true], + ["L408", "float", true], + ["L409", "float", true], + ["L410", "float", true], + ["L411", "float", true], + ["L412", "float", true], + ["L413", "float", true], + ["L414", "float", true], + ["L415", "float", true], + ["L416", "float", true], + ["L417", "float", true], + ["L418", "float", true], + ["L419", "float", true], + ["L420", "float", true], + ["L421", "float", true], + ["L422", "float", true], + ["L423", "float", true], + ["L424", "float", true], + ["L425", "float", true], + ["L426", "float", true], + ["L427", "float", true], + ["L428", "float", true], + ["L429", "float", true], + ["L430", "float", true], + ["L431", "float", true], + ["L432", "float", true], + ["L433", "float", true], + ["L434", "float", true], + ["L435", "float", true], + ["L436", "float", true], + ["L437", "float", true], + ["L438", "float", true], + ["L439", "float", true], + ["L440", "float", true], + ["L441", "float", true], + ["L442", "float", true], + ["L443", "float", true], + ["L444", "float", true], + ["L445", "float", true], + ["L446", "float", true], + ["L447", "float", true], + ["L448", "float", true], + ["L449", "float", true], + ["L450", "float", true], + ["L451", "float", true], + ["L452", "float", true], + ["L453", "float", true], + ["L454", "float", true], + ["L455", "float", true], + ["L456", "float", true], + ["L457", "float", true], + ["L458", "uint64", true], + ["L459", "uint64", true], + ["L460", "uint64", true], + ["L461", "uint64", true], + ["L462", "uint64", true], + ["L463", "uint64", true], + ["L464", "uint64", true], + ["L465", "uint64", true], + ["L483", "uint64", true], + ["L484", "uint64", true] + ], + + "collide-shape": [ + ["L399", "attack-info"], + ["L408", "vector"], + ["L410", "vector"], + ["L411", "vector"], + ["L413", "attack-info"], + ["L414", "attack-info"], + ["L415", "attack-info"], + ["L416", "attack-info"], + ["L417", "vector"], + ["L418", "attack-info"], + ["L419", "attack-info"], + ["L420", "vector"], + ["L421", "vector"] + ], + + "collide-planes": [ + ["L53", "vector4w"], + ["L54", "vector4w"], + ["L55", "vector4w"], + ["L56", "vector4w"], + ["L57", "vector4w"], + ["L58", "vector4w"], + ["L59", "vector4w"], + ["L60", "vector4w"], + ["L63", "vector4w"], + ["L64", "vector4w"], + ["L65", "vector4w"], + ["L66", "vector4w"] + ], + + "collide-probe": [ + ["L100", "vector"], + ["L102", "vector"] + ], + + "collide-cache": [ + ["L304", "vector"], + ["L303", "vector4w"] + ], + + "load-boundary-data": [["L2", "(array array)"]], + + "tfrag-near": [["L1", "vu-function"]], + + "snow-ram-boss": [ + ["L220", "attack-info"], + ["L221", "attack-info"], + ["L222", "attack-info"], + ["L223", "attack-info"], + ["L225", "attack-info"] + ], + + "snow-ram": [["L73", "attack-info"]], + + "snow-bumper": [["L54", "attack-info"]], + + "snow-ball": [ + ["L86", "(pointer float)", 8], + ["L87", "(pointer float)", 8], + ["L89", "attack-info"] + ], + + "puffer": [["L170", "attack-info"]], + + "driller-lurker": [ + ["L174", "attack-info"], + ["L175", "attack-info"] + ], + + "dark-crystal": [["L36", "attack-info"]], + + "kermit": [["L164", "attack-info"]], + + "swamp-blimp": [ + ["L177", "vector"], + ["L182", "vector"], + ["L187", "vector"], + ["L198", "tetherrock-info"], + ["L200", "tetherrock-info"], + ["L203", "tetherrock-info"], + ["L206", "tetherrock-info"], + ["L209", "tetherrock-info"] + ], + + "mistycannon": [["L199", "attack-info"]], + + "darkvine": [["L41", "attack-info"]], + + "jungle-mirrors": [ + ["L325", "vector"], + ["L326", "vector4w-4"] + ], + + "quicksandlurker": [["L111", "attack-info"]], + + "voicebox": [ + ["L47", "vector"], + ["L48", "vector"], + ["L49", "vector"], + ["L50", "vector"], + ["L51", "vector"] + ], + + "mother-spider": [ + ["L278", "vector"], + ["L279", "vector"], + ["L288", "attack-info"], + ["L301", "(inline-array mother-spider-leg-info)", 8], + ["L302", "(inline-array mother-spider-thread)", 9] + ], + + "bully": [ + ["L90", "attack-info"], + ["L91", "attack-info"], + ["L93", "attack-info"] + ], + + "bones": [ + ["L159", "shadow-settings"], + ["L161", "vector"], + ["L162", "vu-function"] + ], + + "tie": [["L43", "vu-function"]], + + "tie-near": [["L91", "vu-function"]], + + "depth-cue": [["L17", "depth-cue-work"]], + + "navigate": [ + ["L402", "vector"], + ["L403", "vector"], + ["L404", "vector"], + ["L405", "vector"], + ["L406", "vector"], + ["L422", "vector"], + ["L419", "(pointer uint8)", 4], + ["L425", "float", true], + ["L426", "float", true], + ["L429", "float", true], + ["L430", "float", true], + ["L436", "float", true], + ["L438", "float", true], + ["L444", "float", true], + ["L442", "float", true], + ["L520", "vector"], + ["L522", "float", true], // TODO - meters + ["L523", "float", true] // TODO - meters + ], + + "eye": [ + ["L36", "eye-work"], + ["L38", "float", true], + ["L40", "float", true], + ["L44", "uint64", true] + ], + + "snow-bunny": [["L190", "attack-info"]], + + "ocean-vu0": [ + ["L8", "vu-function"], + ["L9", "ocean-vu0-work"] + ], + + "ocean-near": [ + ["L35", "vu-function"], + ["L37", "float", true], + ["L44", "float", true] + ], + + "ocean-mid": [["L150", "vu-function"]], + + "generic-merc": [ + ["L161", "(inline-array invinitdata)", 8], + ["L162", "vu-function"] + ], + + "generic-vu0": [["L1", "vu-function"]], + + "generic-vu1": [ + ["L8", "vector4w"], + ["L9", "vector4w"], + ["L10", "vu-function"] + ], + + "generic-effect": [["L95", "generic-consts"]], + + "shadow-vu1": [ + ["L5", "vu-function"], + ["L6", "shadow-vu1-gifbuf-template"] + ], + + "shrubbery": [["L133", "vu-function"]], + + "credits": [ + ["L32", "(array int32)"], + ["L33", "(array float)"] + ], + + "ambient": [ + ["L334", "vector2h"], + ["L332", "vector2h"], + ["L331", "vector2h"], + ["L330", "vector2h"], + ["L329", "vector2h"], + ["L328", "vector2h"] + ], + + "sparticle-launcher": [["L193", "adgif-shader"]], + + "load-boundary": [ + ["L328", "(inline-array lbvtx)", 12], + ["L325", "vector"] + ], + + "cam-debug": [ + ["L172", "vector4w"], + ["L173", "vector4w"], + ["L174", "vector4w"], + ["L175", "vector4w"], + ["L176", "vector4w"], + ["L207", "vector4w"], + ["L208", "vector4w"], + ["L209", "vector4w"], + ["L210", "vector4w"], + ["L211", "vector4w"], + ["L212", "vector4w"], + ["L213", "vector4w"], + ["L214", "vector4w"], + ["L215", "vector4w"], + ["L216", "vector4w"], + ["L217", "vector4w"], + ["L218", "vector4w"], + ["L219", "vector4w"], + ["L220", "vector4w"], + ["L221", "vector4w"], + ["L222", "vector4w"], + ["L223", "vector4w"], + ["L224", "vector4w"], + ["L225", "vector4w"], + ["L226", "vector4w"], + ["L227", "vector4w"], + ["L228", "vector4w"], + ["L229", "vector4w"], + ["L230", "vector4w"], + ["L231", "vector4w"], + ["L232", "vector4w"], + ["L237", "vector4w"], + ["L238", "vector4w"], + ["L239", "vector4w"], + ["L240", "vector4w"], + ["L241", "vector"], + ["L242", "vector"], + ["L243", "vector4w"], + ["L244", "vector"], + ["L245", "vector"], + ["L252", "vector"], + ["L253", "vector"], + ["L254", "vector"], + ["L255", "vector"], + ["L261", "vector4w"] + ], + + "sequence-a-village1": [["L40", "vector"]], + + "ogreboss": [ + ["L360", "attack-info"], + ["L368", "attack-info"], + ["L371", "attack-info"], + ["L372", "attack-info"], + ["L385", "float", true], + ["L386", "float", true], + ["L387", "float", true], + ["L388", "float", true], + ["L389", "float", true], + ["L390", "float", true], + ["L391", "float", true], + ["L392", "float", true], + ["L393", "float", true], + ["L394", "float", true], + ["L395", "float", true], + ["L396", "float", true], + ["L397", "float", true], + ["L398", "float", true], + ["L399", "float", true], + ["L400", "float", true], + ["L401", "float", true], + ["L402", "float", true], + ["L403", "float", true], + ["L404", "float", true], + ["L405", "float", true], + ["L406", "float", true], + ["L407", "float", true], + ["L408", "float", true], + ["L409", "float", true], + ["L410", "float", true], + ["L411", "float", true], + ["L412", "float", true], + ["L413", "float", true], + ["L414", "float", true], + ["L415", "float", true], + ["L416", "float", true], + ["L417", "float", true], + ["L418", "float", true], + ["L419", "float", true], + ["L420", "float", true], + ["L421", "float", true], + ["L422", "float", true], + ["L423", "float", true], + ["L424", "float", true], + ["L425", "float", true], + ["L426", "float", true], + ["L427", "float", true], + ["L428", "float", true], + ["L429", "float", true], + ["L430", "float", true], + ["L431", "float", true], + ["L432", "float", true], + ["L433", "float", true], + ["L434", "float", true], + ["L435", "float", true], + ["L436", "float", true], + ["L437", "float", true], + ["L438", "float", true], + ["L439", "float", true], + ["L440", "float", true], + ["L441", "float", true], + ["L442", "float", true], + ["L443", "float", true], + ["L444", "float", true], + ["L445", "float", true], + ["L446", "float", true], + ["L447", "float", true], + ["L448", "float", true], + ["L449", "float", true], + ["L450", "float", true], + ["L451", "float", true], + ["L452", "float", true], + ["L453", "float", true], + ["L454", "float", true], + ["L455", "float", true], + ["L456", "float", true], + ["L457", "float", true], + ["L458", "float", true], + ["L459", "float", true], + ["L460", "float", true], + ["L461", "float", true], + ["L462", "rgba", true], + ["L463", "uint64", true], + ["L464", "uint64", true], + ["L465", "uint64", true], + ["L466", "uint64", true], + ["L467", "uint64", true], + ["L526", "float", true], + ["L527", "uint64", true], + ["L528", "uint64", true], + ["L529", "uint64", true], + ["L530", "uint64", true], + ["L531", "uint64", true] + ], + + "flying-lurker": [ + ["L200", "attack-info"], + ["L190", "vector"] + ], + + "target": [ + ["L728", "float", true], + ["L729", "float", true], + ["L730", "float", true], + ["L731", "float", true], + ["L732", "float", true], + ["L733", "float", true], + ["L734", "float", true], + ["L735", "float", true], + ["L736", "float", true], + ["L737", "float", true], + ["L738", "float", true], + ["L739", "float", true], + ["L740", "float", true], + ["L741", "float", true], + ["L742", "float", true], + ["L743", "float", true], + ["L744", "float", true], + ["L745", "float", true], + ["L746", "float", true], + ["L747", "float", true], + ["L748", "float", true], + ["L749", "float", true], + ["L750", "float", true], + ["L751", "float", true], + ["L752", "float", true], + ["L753", "float", true], + ["L754", "float", true], + ["L755", "float", true], + ["L756", "float", true], + ["L757", "float", true], + ["L758", "float", true], + ["L759", "float", true], + ["L760", "float", true], + ["L761", "float", true], + ["L762", "float", true], + ["L763", "float", true], + ["L764", "float", true], + ["L765", "float", true], + ["L766", "float", true], + ["L767", "float", true], + ["L768", "float", true], + ["L769", "float", true], + ["L770", "float", true], + ["L771", "float", true], + ["L772", "float", true], + ["L773", "float", true], + ["L774", "float", true], + ["L775", "float", true], + ["L776", "float", true], + ["L777", "float", true], + ["L778", "float", true], + ["L779", "float", true], + ["L780", "float", true], + ["L781", "float", true], + ["L782", "float", true], + ["L783", "float", true], + ["L784", "float", true], + ["L785", "float", true], + ["L786", "float", true], + ["L787", "float", true], + ["L788", "float", true], + ["L789", "float", true], + ["L790", "float", true], + ["L791", "float", true], + ["L792", "float", true], + ["L793", "float", true], + ["L794", "float", true], + ["L795", "float", true], + ["L796", "float", true], + ["L797", "float", true], + ["L798", "float", true], + ["L799", "float", true], + ["L800", "float", true], + ["L801", "float", true], + ["L802", "float", true], + ["L803", "float", true], + ["L804", "float", true], + ["L805", "float", true], + ["L806", "float", true], + ["L807", "float", true], + ["L808", "float", true], + ["L809", "float", true], + ["L810", "float", true], + ["L811", "float", true], + ["L812", "float", true], + ["L813", "float", true], + ["L814", "float", true], + ["L815", "float", true], + ["L816", "float", true], + ["L817", "float", true], + ["L818", "float", true], + ["L819", "float", true], + ["L820", "float", true], + ["L821", "float", true], + ["L822", "float", true], + ["L823", "uint64", true], + ["L824", "uint64", true] + ], + + "target2": [ + ["L615", "attack-info"], + ["L656", "float", true], + ["L657", "float", true], + ["L658", "float", true], + ["L659", "float", true], + ["L660", "float", true], + ["L661", "float", true], + ["L662", "float", true], + ["L663", "float", true], + ["L664", "float", true], + ["L665", "float", true], + ["L666", "float", true], + ["L667", "float", true], + ["L668", "float", true], + ["L669", "float", true], + ["L670", "float", true], + ["L671", "float", true], + ["L672", "float", true], + ["L673", "float", true], + ["L674", "float", true], + ["L675", "float", true], + ["L676", "float", true], + ["L677", "float", true], + ["L678", "float", true], + ["L679", "float", true], + ["L680", "float", true], + ["L681", "float", true], + ["L682", "float", true], + ["L683", "float", true], + ["L684", "float", true], + ["L685", "float", true], + ["L686", "float", true], + ["L687", "float", true], + ["L688", "float", true], + ["L689", "float", true], + ["L690", "float", true], + ["L691", "float", true], + ["L692", "float", true], + ["L693", "float", true], + ["L694", "float", true], + ["L695", "float", true], + ["L696", "float", true], + ["L697", "float", true], + ["L698", "float", true], + ["L699", "float", true], + ["L700", "float", true], + ["L701", "float", true], + ["L702", "float", true], + ["L703", "float", true], + ["L704", "float", true], + ["L705", "float", true], + ["L706", "float", true], + ["L707", "float", true], + ["L708", "float", true], + ["L709", "float", true], + ["L710", "float", true], + ["L711", "float", true], + ["L712", "float", true], + ["L713", "float", true], + ["L714", "float", true], + ["L715", "float", true], + ["L716", "float", true], + ["L717", "float", true], + ["L718", "float", true], + ["L719", "float", true], + ["L720", "float", true], + ["L721", "float", true], + ["L722", "float", true], + ["L723", "float", true], + ["L724", "float", true], + ["L725", "float", true], + ["L726", "float", true], + ["L727", "float", true], + ["L728", "float", true], + ["L729", "float", true], + ["L730", "float", true], + ["L731", "float", true], + ["L732", "float", true], + ["L733", "float", true], + ["L734", "float", true], + ["L735", "float", true], + ["L736", "float", true], + ["L737", "float", true], + ["L738", "float", true], + ["L739", "float", true], + ["L740", "float", true], + ["L741", "float", true], + ["L742", "float", true], + ["L743", "float", true], + ["L744", "float", true], + ["L745", "float", true], + ["L746", "float", true], + ["L747", "float", true], + ["L748", "uint64", true], + ["L759", "uint64", true] + ], + + "target-death": [ + ["L314", "vector"], + ["L322", "float", true], + ["L323", "float", true], + ["L324", "float", true], + ["L325", "float", true], + ["L326", "float", true], + ["L327", "float", true], + ["L328", "float", true], + ["L329", "float", true], + ["L330", "float", true], + ["L331", "float", true], + ["L332", "float", true], + ["L333", "float", true], + ["L334", "float", true], + ["L335", "float", true], + ["L336", "float", true], + ["L337", "float", true], + ["L338", "float", true], + ["L339", "float", true], + ["L340", "float", true], + ["L341", "float", true], + ["L342", "float", true], + ["L343", "float", true], + ["L344", "float", true], + ["L345", "float", true], + ["L346", "float", true], + ["L347", "float", true], + ["L348", "float", true], + ["L349", "float", true], + ["L350", "uint64", true], + ["L351", "uint64", true], + ["L352", "uint64", true], + ["L353", "uint64", true], + ["L354", "uint64", true], + ["L355", "uint64", true], + ["L356", "uint64", true], + ["L357", "uint64", true], + ["L358", "uint64", true], + ["L361", "float", true] + ], + + "progress": [ + ["L574", "vector"], + ["L576", "vector"], + ["L578", "vector"], + ["L580", "vector"], + ["L582", "vector"], + ["L584", "vector"], + ["L587", "float", true], + ["L588", "float", true], + ["L589", "float", true], + ["L590", "float", true], + ["L591", "float", true], + ["L592", "float", true], + ["L593", "float", true], + ["L594", "float", true], + ["L595", "float", true], + ["L596", "float", true], + ["L597", "float", true], + ["L598", "float", true], + ["L599", "float", true], + ["L600", "float", true], + ["L601", "float", true], + ["L602", "float", true], + ["L603", "float", true], + ["L604", "float", true], + ["L605", "float", true], + ["L606", "float", true], + ["L607", "float", true], + ["L608", "float", true], + ["L609", "float", true], + ["L610", "float", true], + ["L611", "float", true], + ["L612", "float", true], + ["L613", "float", true], + ["L614", "float", true], + ["L615", "float", true], + ["L617", "float", true], + ["L616", "float", true], + ["L618", "float", true], + ["L619", "float", true], + ["L620", "float", true], + ["L621", "float", true], + ["L622", "float", true], + ["L623", "float", true], + ["L624", "float", true], + ["L625", "float", true], + ["L626", "float", true], + ["L627", "float", true], + ["L628", "float", true], + ["L629", "float", true], + ["L630", "float", true], + ["L631", "float", true], + ["L632", "float", true], + ["L633", "float", true], + ["L634", "float", true], + ["L635", "float", true], + ["L636", "float", true], + ["L637", "uint64", true], + ["L638", "uint64", true], + ["L639", "uint64", true], + ["L640", "uint64", true], + ["L641", "uint64", true], + ["L642", "uint64", true], + ["L643", "uint64", true], + ["L644", "uint64", true], + ["L645", "uint64", true], + ["L646", "uint64", true], + ["L647", "uint64", true], + ["L648", "uint64", true], + ["L649", "uint64", true], + ["L650", "uint64", true], + ["L668", "uint64", true] + ], + + "citadel-obs": [["L267", "attack-info"]] +} diff --git a/decompiler/config/jak1_ntsc_black_label/anonymous_function_types.jsonc b/decompiler/config/jak1/ntsc_v1/anonymous_function_types.jsonc similarity index 100% rename from decompiler/config/jak1_ntsc_black_label/anonymous_function_types.jsonc rename to decompiler/config/jak1/ntsc_v1/anonymous_function_types.jsonc diff --git a/decompiler/config/jak1_ntsc_black_label/art-group-info.min.json b/decompiler/config/jak1/ntsc_v1/art-group-info.min.json similarity index 100% rename from decompiler/config/jak1_ntsc_black_label/art-group-info.min.json rename to decompiler/config/jak1/ntsc_v1/art-group-info.min.json diff --git a/decompiler/config/jak1_ntsc_black_label/art_info.jsonc b/decompiler/config/jak1/ntsc_v1/art_info.jsonc similarity index 100% rename from decompiler/config/jak1_ntsc_black_label/art_info.jsonc rename to decompiler/config/jak1/ntsc_v1/art_info.jsonc diff --git a/decompiler/config/jak1_ntsc_black_label/hacks.jsonc b/decompiler/config/jak1/ntsc_v1/hacks.jsonc similarity index 99% rename from decompiler/config/jak1_ntsc_black_label/hacks.jsonc rename to decompiler/config/jak1/ntsc_v1/hacks.jsonc index df452c7c5b..c2b0efa882 100644 --- a/decompiler/config/jak1_ntsc_black_label/hacks.jsonc +++ b/decompiler/config/jak1/ntsc_v1/hacks.jsonc @@ -400,7 +400,6 @@ ], "(method 11 fact-info-target)": [42], "(anon-function 9 game-save)": [3, 4, 5, 6, 7, 8, 10], - //"(anon-function 9 game-save)":[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14], "particle-adgif": [0, 1, 2, 3, 4, 5, 7], "sp-launch-particles-var": [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, @@ -464,7 +463,6 @@ "(method 13 collide-edge-work)": [0, 2], "(method 17 collide-edge-work)": [0, 1, 2, 3, 4], "(method 9 edge-grab-info)": [15, 16, 18, 19, 21, 22, 24], - // "(method 18 collide-edge-work)" : [1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 16, 17, 18, 19, 20, 21, 22, 23, 24], "target-falling-anim-trans": [5, 6], "(method 27 nav-mesh)": [8], "(method 32 nav-control)": [12, 21, 32], diff --git a/decompiler/config/jak1_ntsc_black_label/import_deps.jsonc b/decompiler/config/jak1/ntsc_v1/import_deps.jsonc similarity index 100% rename from decompiler/config/jak1_ntsc_black_label/import_deps.jsonc rename to decompiler/config/jak1/ntsc_v1/import_deps.jsonc diff --git a/decompiler/config/jak1_ntsc_black_label/inputs.jsonc b/decompiler/config/jak1/ntsc_v1/inputs.jsonc similarity index 100% rename from decompiler/config/jak1_ntsc_black_label/inputs.jsonc rename to decompiler/config/jak1/ntsc_v1/inputs.jsonc diff --git a/decompiler/config/jak1_ntsc_black_label/label_types.jsonc b/decompiler/config/jak1/ntsc_v1/label_types.jsonc similarity index 98% rename from decompiler/config/jak1_ntsc_black_label/label_types.jsonc rename to decompiler/config/jak1/ntsc_v1/label_types.jsonc index c2fab39ce2..1681714b51 100644 --- a/decompiler/config/jak1_ntsc_black_label/label_types.jsonc +++ b/decompiler/config/jak1/ntsc_v1/label_types.jsonc @@ -394,21 +394,8 @@ ["L6270", "uint64", true], ["L6269", "uint64", true], ["L6271", "uint64", true] - // ["L6268", "(array int)", true, 1] // printed as a float ], - // "default-menu": [ - // ["L519", "pair", true], - // ["L1550", "pair", true], - // ["L1552", "pair", true] - // ], - - // "generic-vu1": [ - // ["L12", "gif-tag64", true], - // ["L15", "gif-tag64", true], - // ["L14", "gif-tag-regs", true] - // ], - "merc-blend-shape": [["L62", "(pointer int16)", 32]], "miners": [ @@ -2119,8 +2106,6 @@ ["L162", "vu-function"] ], - "generic-vu0": [["L1", "vu-function"]], - "generic-vu1": [ ["L8", "vector4w"], ["L9", "vector4w"], @@ -2140,8 +2125,5 @@ "credits": [ ["L32", "(array int32)"], ["L33", "(array float)"] - ], - - // please do not add things after this entry! git is dumb. - "object-file-that-doesnt-actually-exist-and-i-just-put-this-here-to-prevent-merge-conflicts-with-this-file": [] + ] } diff --git a/decompiler/config/jak1_ntsc_black_label/stack_structures.jsonc b/decompiler/config/jak1/ntsc_v1/stack_structures.jsonc similarity index 100% rename from decompiler/config/jak1_ntsc_black_label/stack_structures.jsonc rename to decompiler/config/jak1/ntsc_v1/stack_structures.jsonc diff --git a/decompiler/config/jak1_ntsc_black_label/type_casts.jsonc b/decompiler/config/jak1/ntsc_v1/type_casts.jsonc similarity index 99% rename from decompiler/config/jak1_ntsc_black_label/type_casts.jsonc rename to decompiler/config/jak1/ntsc_v1/type_casts.jsonc index 5472740130..80347cbd1b 100644 --- a/decompiler/config/jak1_ntsc_black_label/type_casts.jsonc +++ b/decompiler/config/jak1/ntsc_v1/type_casts.jsonc @@ -7714,6 +7714,5 @@ "generic-tie-execute": [ [118, "v1", "terrain-context"], [124, "v1", "terrain-context"] - ], - "placeholder-do-not-add-below": [] + ] } diff --git a/decompiler/config/jak1_ntsc_black_label/var_names.jsonc b/decompiler/config/jak1/ntsc_v1/var_names.jsonc similarity index 100% rename from decompiler/config/jak1_ntsc_black_label/var_names.jsonc rename to decompiler/config/jak1/ntsc_v1/var_names.jsonc diff --git a/decompiler/config/jak1/pal/hacks.jsonc b/decompiler/config/jak1/pal/hacks.jsonc new file mode 100644 index 0000000000..3d7ee5ec5e --- /dev/null +++ b/decompiler/config/jak1/pal/hacks.jsonc @@ -0,0 +1,12 @@ +{ + "blocks_ending_in_asm_branch": { + "display-loop": [44, 49, 66, 99], + "(method 11 sparticle-launch-control)": [27, 28, 38, 49, 51, 52, 80] + }, + "dynamic_format_arg_counts": { + "(method 39 progress)": [ + [56, 1], + [83, 1] + ] + } +} diff --git a/decompiler/config/jak1/pal/label_types.jsonc b/decompiler/config/jak1/pal/label_types.jsonc new file mode 100644 index 0000000000..fe2ed8a007 --- /dev/null +++ b/decompiler/config/jak1/pal/label_types.jsonc @@ -0,0 +1,800 @@ +{ + "target-handler": [ + ["L195", "attack-info"], + ["L197", "float", true], + ["L198", "float", true], + ["L199", "float", true], + ["L200", "float", true], + ["L201", "float", true], + ["L202", "float", true], + ["L203", "float", true], + ["L204", "float", true], + ["L205", "uint64", true], + ["L206", "uint64", true], + ["L207", "uint64", true], + ["L208", "uint64", true], + ["L209", "uint64", true] + ], + + "water": [ + ["L148", "attack-info"], + ["L149", "attack-info"], + ["L150", "attack-info"] + ], + + "racer": [["L106", "vector"]], + + "target-racer": [ + ["L237", "attack-info"], + ["L238", "attack-info"], + ["L240", "vector"] + ], + + "rolling-lightning-mole": [ + ["L181", "vector"], + ["L185", "vector4w"], + ["L186", "vector4w"], + ["L187", "vector4w"], + ["L189", "vector4w"], + ["L195", "vector"], + ["L201", "vector4w"], + ["L202", "vector4w"], + ["L203", "vector4w"], + ["L204", "vector4w"], + ["L205", "vector4w"], + ["L206", "vector4w"] + ], + + "rolling-robber": [ + ["L127", "vector"], + ["L139", "vector"], + ["L140", "vector"], + ["L145", "vector"] + ], + + "target-flut": [ + ["L399", "attack-info"], + ["L406", "float", true], + ["L407", "float", true], + ["L408", "float", true], + ["L409", "float", true], + ["L410", "float", true], + ["L411", "float", true], + ["L412", "float", true], + ["L413", "float", true], + ["L414", "float", true], + ["L415", "float", true], + ["L416", "float", true], + ["L417", "float", true], + ["L418", "float", true], + ["L419", "float", true], + ["L420", "float", true], + ["L421", "float", true], + ["L422", "float", true], + ["L423", "float", true], + ["L424", "float", true], + ["L425", "float", true], + ["L426", "float", true], + ["L427", "float", true], + ["L428", "float", true], + ["L429", "float", true], + ["L430", "float", true], + ["L431", "float", true], + ["L432", "float", true], + ["L433", "float", true], + ["L434", "float", true], + ["L435", "float", true], + ["L436", "float", true], + ["L437", "float", true], + ["L438", "float", true], + ["L439", "float", true], + ["L440", "float", true], + ["L441", "float", true], + ["L442", "float", true], + ["L443", "float", true], + ["L444", "float", true], + ["L445", "float", true], + ["L446", "float", true], + ["L447", "float", true], + ["L448", "float", true], + ["L449", "float", true], + ["L450", "float", true], + ["L451", "float", true], + ["L452", "float", true], + ["L453", "float", true], + ["L454", "float", true], + ["L455", "float", true], + ["L456", "float", true], + ["L457", "float", true], + ["L458", "uint64", true], + ["L459", "uint64", true], + ["L460", "uint64", true], + ["L461", "uint64", true], + ["L462", "uint64", true], + ["L463", "uint64", true], + ["L464", "uint64", true], + ["L465", "uint64", true], + ["L483", "uint64", true], + ["L484", "uint64", true] + ], + + "collide-shape": [ + ["L399", "attack-info"], + ["L408", "vector"], + ["L410", "vector"], + ["L411", "vector"], + ["L413", "attack-info"], + ["L414", "attack-info"], + ["L415", "attack-info"], + ["L416", "attack-info"], + ["L417", "vector"], + ["L418", "attack-info"], + ["L419", "attack-info"], + ["L420", "vector"], + ["L421", "vector"] + ], + + "collide-planes": [ + ["L53", "vector4w"], + ["L54", "vector4w"], + ["L55", "vector4w"], + ["L56", "vector4w"], + ["L57", "vector4w"], + ["L58", "vector4w"], + ["L59", "vector4w"], + ["L60", "vector4w"], + ["L63", "vector4w"], + ["L64", "vector4w"], + ["L65", "vector4w"], + ["L66", "vector4w"] + ], + + "collide-probe": [ + ["L100", "vector"], + ["L102", "vector"] + ], + + "collide-cache": [ + ["L304", "vector"], + ["L303", "vector4w"] + ], + + "load-boundary-data": [["L2", "(array array)"]], + + "tfrag-near": [["L1", "vu-function"]], + + "snow-ram-boss": [ + ["L220", "attack-info"], + ["L221", "attack-info"], + ["L222", "attack-info"], + ["L223", "attack-info"], + ["L225", "attack-info"] + ], + + "snow-ram": [["L73", "attack-info"]], + + "snow-bumper": [["L54", "attack-info"]], + + "snow-ball": [ + ["L86", "(pointer float)", 8], + ["L87", "(pointer float)", 8], + ["L89", "attack-info"] + ], + + "puffer": [["L170", "attack-info"]], + + "driller-lurker": [ + ["L174", "attack-info"], + ["L175", "attack-info"] + ], + + "dark-crystal": [["L36", "attack-info"]], + + "kermit": [["L164", "attack-info"]], + + "swamp-blimp": [ + ["L177", "vector"], + ["L182", "vector"], + ["L187", "vector"], + ["L198", "tetherrock-info"], + ["L200", "tetherrock-info"], + ["L203", "tetherrock-info"], + ["L206", "tetherrock-info"], + ["L209", "tetherrock-info"] + ], + + "mistycannon": [["L199", "attack-info"]], + + "darkvine": [["L41", "attack-info"]], + + "jungle-mirrors": [ + ["L325", "vector"], + ["L326", "vector4w-4"] + ], + + "quicksandlurker": [["L111", "attack-info"]], + + "voicebox": [ + ["L47", "vector"], + ["L48", "vector"], + ["L49", "vector"], + ["L50", "vector"], + ["L51", "vector"] + ], + + "mother-spider": [ + ["L278", "vector"], + ["L279", "vector"], + ["L288", "attack-info"], + ["L301", "(inline-array mother-spider-leg-info)", 8], + ["L302", "(inline-array mother-spider-thread)", 9] + ], + + "bully": [ + ["L90", "attack-info"], + ["L91", "attack-info"], + ["L93", "attack-info"] + ], + + "bones": [ + ["L159", "shadow-settings"], + ["L161", "vector"], + ["L162", "vu-function"] + ], + + "tie": [["L43", "vu-function"]], + + "tie-near": [["L91", "vu-function"]], + + "depth-cue": [["L17", "depth-cue-work"]], + + "navigate": [ + ["L402", "vector"], + ["L403", "vector"], + ["L404", "vector"], + ["L405", "vector"], + ["L406", "vector"], + ["L422", "vector"], + ["L419", "(pointer uint8)", 4], + ["L425", "float", true], + ["L426", "float", true], + ["L429", "float", true], + ["L430", "float", true], + ["L436", "float", true], + ["L438", "float", true], + ["L444", "float", true], + ["L442", "float", true], + ["L520", "vector"], + ["L522", "float", true], // TODO - meters + ["L523", "float", true] // TODO - meters + ], + + "eye": [ + ["L36", "eye-work"], + ["L38", "float", true], + ["L40", "float", true], + ["L44", "uint64", true] + ], + + "snow-bunny": [["L190", "attack-info"]], + + "ocean-vu0": [ + ["L8", "vu-function"], + ["L9", "ocean-vu0-work"] + ], + + "ocean-near": [ + ["L35", "vu-function"], + ["L37", "float", true], + ["L44", "float", true] + ], + + "ocean-mid": [["L150", "vu-function"]], + + "generic-merc": [ + ["L161", "(inline-array invinitdata)", 8], + ["L162", "vu-function"] + ], + + "generic-vu0": [["L1", "vu-function"]], + + "generic-vu1": [ + ["L8", "vector4w"], + ["L9", "vector4w"], + ["L10", "vu-function"] + ], + + "generic-effect": [["L95", "generic-consts"]], + + "shadow-vu1": [ + ["L5", "vu-function"], + ["L6", "shadow-vu1-gifbuf-template"] + ], + + "shrubbery": [["L133", "vu-function"]], + + "credits": [ + ["L32", "(array int32)"], + ["L33", "(array float)"] + ], + "ambient": [ + ["L334", "vector2h"], + ["L332", "vector2h"], + ["L331", "vector2h"], + ["L330", "vector2h"], + ["L329", "vector2h"], + ["L328", "vector2h"] + ], + + "sparticle-launcher": [["L193", "adgif-shader"]], + + "load-boundary": [ + ["L328", "(inline-array lbvtx)", 12], + ["L325", "vector"] + ], + + "cam-debug": [ + ["L172", "vector4w"], + ["L173", "vector4w"], + ["L174", "vector4w"], + ["L175", "vector4w"], + ["L176", "vector4w"], + ["L207", "vector4w"], + ["L208", "vector4w"], + ["L209", "vector4w"], + ["L210", "vector4w"], + ["L211", "vector4w"], + ["L212", "vector4w"], + ["L213", "vector4w"], + ["L214", "vector4w"], + ["L215", "vector4w"], + ["L216", "vector4w"], + ["L217", "vector4w"], + ["L218", "vector4w"], + ["L219", "vector4w"], + ["L220", "vector4w"], + ["L221", "vector4w"], + ["L222", "vector4w"], + ["L223", "vector4w"], + ["L224", "vector4w"], + ["L225", "vector4w"], + ["L226", "vector4w"], + ["L227", "vector4w"], + ["L228", "vector4w"], + ["L229", "vector4w"], + ["L230", "vector4w"], + ["L231", "vector4w"], + ["L232", "vector4w"], + ["L237", "vector4w"], + ["L238", "vector4w"], + ["L239", "vector4w"], + ["L240", "vector4w"], + ["L241", "vector"], + ["L242", "vector"], + ["L243", "vector4w"], + ["L244", "vector"], + ["L245", "vector"], + ["L252", "vector"], + ["L253", "vector"], + ["L254", "vector"], + ["L255", "vector"], + ["L261", "vector4w"] + ], + + "sequence-a-village1": [["L40", "vector"]], + + "ogreboss": [ + ["L360", "attack-info"], + ["L368", "attack-info"], + ["L371", "attack-info"], + ["L372", "attack-info"], + ["L385", "float", true], + ["L386", "float", true], + ["L387", "float", true], + ["L388", "float", true], + ["L389", "float", true], + ["L390", "float", true], + ["L391", "float", true], + ["L392", "float", true], + ["L393", "float", true], + ["L394", "float", true], + ["L395", "float", true], + ["L396", "float", true], + ["L397", "float", true], + ["L398", "float", true], + ["L399", "float", true], + ["L400", "float", true], + ["L401", "float", true], + ["L402", "float", true], + ["L403", "float", true], + ["L404", "float", true], + ["L405", "float", true], + ["L406", "float", true], + ["L407", "float", true], + ["L408", "float", true], + ["L409", "float", true], + ["L410", "float", true], + ["L411", "float", true], + ["L412", "float", true], + ["L413", "float", true], + ["L414", "float", true], + ["L415", "float", true], + ["L416", "float", true], + ["L417", "float", true], + ["L418", "float", true], + ["L419", "float", true], + ["L420", "float", true], + ["L421", "float", true], + ["L422", "float", true], + ["L423", "float", true], + ["L424", "float", true], + ["L425", "float", true], + ["L426", "float", true], + ["L427", "float", true], + ["L428", "float", true], + ["L429", "float", true], + ["L430", "float", true], + ["L431", "float", true], + ["L432", "float", true], + ["L433", "float", true], + ["L434", "float", true], + ["L435", "float", true], + ["L436", "float", true], + ["L437", "float", true], + ["L438", "float", true], + ["L439", "float", true], + ["L440", "float", true], + ["L441", "float", true], + ["L442", "float", true], + ["L443", "float", true], + ["L444", "float", true], + ["L445", "float", true], + ["L446", "float", true], + ["L447", "float", true], + ["L448", "float", true], + ["L449", "float", true], + ["L450", "float", true], + ["L451", "float", true], + ["L452", "float", true], + ["L453", "float", true], + ["L454", "float", true], + ["L455", "float", true], + ["L456", "float", true], + ["L457", "float", true], + ["L458", "float", true], + ["L459", "float", true], + ["L460", "float", true], + ["L461", "float", true], + ["L462", "rgba", true], + ["L463", "uint64", true], + ["L464", "uint64", true], + ["L465", "uint64", true], + ["L466", "uint64", true], + ["L467", "uint64", true], + ["L526", "float", true], + ["L527", "uint64", true], + ["L528", "uint64", true], + ["L529", "uint64", true], + ["L530", "uint64", true], + ["L531", "uint64", true] + ], + + "flying-lurker": [ + ["L200", "attack-info"], + ["L190", "vector"] + ], + + "target": [ + ["L728", "float", true], + ["L729", "float", true], + ["L730", "float", true], + ["L731", "float", true], + ["L732", "float", true], + ["L733", "float", true], + ["L734", "float", true], + ["L735", "float", true], + ["L736", "float", true], + ["L737", "float", true], + ["L738", "float", true], + ["L739", "float", true], + ["L740", "float", true], + ["L741", "float", true], + ["L742", "float", true], + ["L743", "float", true], + ["L744", "float", true], + ["L745", "float", true], + ["L746", "float", true], + ["L747", "float", true], + ["L748", "float", true], + ["L749", "float", true], + ["L750", "float", true], + ["L751", "float", true], + ["L752", "float", true], + ["L753", "float", true], + ["L754", "float", true], + ["L755", "float", true], + ["L756", "float", true], + ["L757", "float", true], + ["L758", "float", true], + ["L759", "float", true], + ["L760", "float", true], + ["L761", "float", true], + ["L762", "float", true], + ["L763", "float", true], + ["L764", "float", true], + ["L765", "float", true], + ["L766", "float", true], + ["L767", "float", true], + ["L768", "float", true], + ["L769", "float", true], + ["L770", "float", true], + ["L771", "float", true], + ["L772", "float", true], + ["L773", "float", true], + ["L774", "float", true], + ["L775", "float", true], + ["L776", "float", true], + ["L777", "float", true], + ["L778", "float", true], + ["L779", "float", true], + ["L780", "float", true], + ["L781", "float", true], + ["L782", "float", true], + ["L783", "float", true], + ["L784", "float", true], + ["L785", "float", true], + ["L786", "float", true], + ["L787", "float", true], + ["L788", "float", true], + ["L789", "float", true], + ["L790", "float", true], + ["L791", "float", true], + ["L792", "float", true], + ["L793", "float", true], + ["L794", "float", true], + ["L795", "float", true], + ["L796", "float", true], + ["L797", "float", true], + ["L798", "float", true], + ["L799", "float", true], + ["L800", "float", true], + ["L801", "float", true], + ["L802", "float", true], + ["L803", "float", true], + ["L804", "float", true], + ["L805", "float", true], + ["L806", "float", true], + ["L807", "float", true], + ["L808", "float", true], + ["L809", "float", true], + ["L810", "float", true], + ["L811", "float", true], + ["L812", "float", true], + ["L813", "float", true], + ["L814", "float", true], + ["L815", "float", true], + ["L816", "float", true], + ["L817", "float", true], + ["L818", "float", true], + ["L819", "float", true], + ["L820", "float", true], + ["L821", "float", true], + ["L822", "float", true], + ["L823", "uint64", true], + ["L824", "uint64", true] + ], + + "target2": [ + ["L615", "attack-info"], + ["L656", "float", true], + ["L657", "float", true], + ["L658", "float", true], + ["L659", "float", true], + ["L660", "float", true], + ["L661", "float", true], + ["L662", "float", true], + ["L663", "float", true], + ["L664", "float", true], + ["L665", "float", true], + ["L666", "float", true], + ["L667", "float", true], + ["L668", "float", true], + ["L669", "float", true], + ["L670", "float", true], + ["L671", "float", true], + ["L672", "float", true], + ["L673", "float", true], + ["L674", "float", true], + ["L675", "float", true], + ["L676", "float", true], + ["L677", "float", true], + ["L678", "float", true], + ["L679", "float", true], + ["L680", "float", true], + ["L681", "float", true], + ["L682", "float", true], + ["L683", "float", true], + ["L684", "float", true], + ["L685", "float", true], + ["L686", "float", true], + ["L687", "float", true], + ["L688", "float", true], + ["L689", "float", true], + ["L690", "float", true], + ["L691", "float", true], + ["L692", "float", true], + ["L693", "float", true], + ["L694", "float", true], + ["L695", "float", true], + ["L696", "float", true], + ["L697", "float", true], + ["L698", "float", true], + ["L699", "float", true], + ["L700", "float", true], + ["L701", "float", true], + ["L702", "float", true], + ["L703", "float", true], + ["L704", "float", true], + ["L705", "float", true], + ["L706", "float", true], + ["L707", "float", true], + ["L708", "float", true], + ["L709", "float", true], + ["L710", "float", true], + ["L711", "float", true], + ["L712", "float", true], + ["L713", "float", true], + ["L714", "float", true], + ["L715", "float", true], + ["L716", "float", true], + ["L717", "float", true], + ["L718", "float", true], + ["L719", "float", true], + ["L720", "float", true], + ["L721", "float", true], + ["L722", "float", true], + ["L723", "float", true], + ["L724", "float", true], + ["L725", "float", true], + ["L726", "float", true], + ["L727", "float", true], + ["L728", "float", true], + ["L729", "float", true], + ["L730", "float", true], + ["L731", "float", true], + ["L732", "float", true], + ["L733", "float", true], + ["L734", "float", true], + ["L735", "float", true], + ["L736", "float", true], + ["L737", "float", true], + ["L738", "float", true], + ["L739", "float", true], + ["L740", "float", true], + ["L741", "float", true], + ["L742", "float", true], + ["L743", "float", true], + ["L744", "float", true], + ["L745", "float", true], + ["L746", "float", true], + ["L747", "float", true], + ["L748", "uint64", true], + ["L759", "uint64", true] + ], + + "target-death": [ + ["L314", "vector"], + ["L322", "float", true], + ["L323", "float", true], + ["L324", "float", true], + ["L325", "float", true], + ["L326", "float", true], + ["L327", "float", true], + ["L328", "float", true], + ["L329", "float", true], + ["L330", "float", true], + ["L331", "float", true], + ["L332", "float", true], + ["L333", "float", true], + ["L334", "float", true], + ["L335", "float", true], + ["L336", "float", true], + ["L337", "float", true], + ["L338", "float", true], + ["L339", "float", true], + ["L340", "float", true], + ["L341", "float", true], + ["L342", "float", true], + ["L343", "float", true], + ["L344", "float", true], + ["L345", "float", true], + ["L346", "float", true], + ["L347", "float", true], + ["L348", "float", true], + ["L349", "float", true], + ["L350", "uint64", true], + ["L351", "uint64", true], + ["L352", "uint64", true], + ["L353", "uint64", true], + ["L354", "uint64", true], + ["L355", "uint64", true], + ["L356", "uint64", true], + ["L357", "uint64", true], + ["L358", "uint64", true], + ["L361", "float", true] + ], + + "progress": [ + ["L576", "vector"], + ["L578", "vector"], + ["L580", "vector"], + ["L582", "vector"], + ["L584", "vector"], + ["L586", "vector"], + ["L589", "float", true], + ["L590", "float", true], + ["L591", "float", true], + ["L592", "float", true], + ["L593", "float", true], + ["L594", "float", true], + ["L595", "float", true], + ["L596", "float", true], + ["L597", "float", true], + ["L598", "float", true], + ["L599", "float", true], + ["L600", "float", true], + ["L601", "float", true], + ["L602", "float", true], + ["L603", "float", true], + ["L604", "float", true], + ["L605", "float", true], + ["L606", "float", true], + ["L607", "float", true], + ["L608", "float", true], + ["L609", "float", true], + ["L610", "float", true], + ["L611", "float", true], + ["L612", "float", true], + ["L613", "float", true], + ["L614", "float", true], + ["L615", "float", true], + ["L617", "float", true], + ["L616", "float", true], + ["L618", "float", true], + ["L619", "float", true], + ["L620", "float", true], + ["L621", "float", true], + ["L622", "float", true], + ["L623", "float", true], + ["L624", "float", true], + ["L625", "float", true], + ["L626", "float", true], + ["L627", "float", true], + ["L628", "float", true], + ["L629", "float", true], + ["L630", "float", true], + ["L631", "float", true], + ["L632", "float", true], + ["L633", "float", true], + ["L634", "float", true], + ["L635", "float", true], + ["L636", "float", true], + ["L637", "float", true], + ["L638", "float", true], + ["L639", "uint64", true], + ["L640", "uint64", true], + ["L641", "uint64", true], + ["L642", "uint64", true], + ["L643", "uint64", true], + ["L644", "uint64", true], + ["L645", "uint64", true], + ["L646", "uint64", true], + ["L647", "uint64", true], + ["L648", "uint64", true], + ["L649", "uint64", true], + ["L650", "uint64", true], + ["L651", "uint64", true], + ["L652", "uint64", true], + ["L670", "uint64", true] + ] +} diff --git a/decompiler/config/jak1/pal/type_casts.jsonc b/decompiler/config/jak1/pal/type_casts.jsonc new file mode 100644 index 0000000000..564b9159c9 --- /dev/null +++ b/decompiler/config/jak1/pal/type_casts.jsonc @@ -0,0 +1,28 @@ +{ + "(code target-title)": [ + // [[23, 26], "v1", "handle"], + [[61, 69], "v1", "handle"], + [[73, 81], "v1", "handle"], + [218, "s5", "handle"] + ], + + "(method 10 gui-query)": [], + + "(trans fisher-done)": [], + + "(code target-duck-high-jump)": [[77, "v0", "sound-rpc-set-param"]], + "(trans target-duck-high-jump-jump)": [[9, "v0", "sound-rpc-set-param"]], + + "(anon-function 11 target2)": [ + [[15, 135], "s4", "target"] // confusing -- the parent of a target is a target? + ], + + "(code target-death)": [ + [561, "v1", "art-joint-anim"], + [683, "v0", "int"], + [719, "v1", "process-drawable"], + [[985, 1063], "s5", "handle"] + ], + + "sound-set-fps": [[[3, 7], "v1", "sound-rpc-set-fps"]] +} diff --git a/decompiler/config/all-types-demo.gc b/decompiler/config/jak1_demo/all-types.gc similarity index 100% rename from decompiler/config/all-types-demo.gc rename to decompiler/config/jak1_demo/all-types.gc diff --git a/decompiler/config/jak1_sced/all_objs.json b/decompiler/config/jak1_demo/default/all_objs.json similarity index 100% rename from decompiler/config/jak1_sced/all_objs.json rename to decompiler/config/jak1_demo/default/all_objs.json diff --git a/decompiler/config/jak1_sced/anonymous_function_types.jsonc b/decompiler/config/jak1_demo/default/anonymous_function_types.jsonc similarity index 100% rename from decompiler/config/jak1_sced/anonymous_function_types.jsonc rename to decompiler/config/jak1_demo/default/anonymous_function_types.jsonc diff --git a/decompiler/config/jak1_sced/hacks.jsonc b/decompiler/config/jak1_demo/default/hacks.jsonc similarity index 100% rename from decompiler/config/jak1_sced/hacks.jsonc rename to decompiler/config/jak1_demo/default/hacks.jsonc diff --git a/decompiler/config/jak1_sced/inputs.jsonc b/decompiler/config/jak1_demo/default/inputs.jsonc similarity index 100% rename from decompiler/config/jak1_sced/inputs.jsonc rename to decompiler/config/jak1_demo/default/inputs.jsonc diff --git a/decompiler/config/jak1_sced/label_types.jsonc b/decompiler/config/jak1_demo/default/label_types.jsonc similarity index 100% rename from decompiler/config/jak1_sced/label_types.jsonc rename to decompiler/config/jak1_demo/default/label_types.jsonc diff --git a/decompiler/config/jak1_sced/stack_structures.jsonc b/decompiler/config/jak1_demo/default/stack_structures.jsonc similarity index 100% rename from decompiler/config/jak1_sced/stack_structures.jsonc rename to decompiler/config/jak1_demo/default/stack_structures.jsonc diff --git a/decompiler/config/jak1_sced/type_casts.jsonc b/decompiler/config/jak1_demo/default/type_casts.jsonc similarity index 100% rename from decompiler/config/jak1_sced/type_casts.jsonc rename to decompiler/config/jak1_demo/default/type_casts.jsonc diff --git a/decompiler/config/jak1_sced/var_names.jsonc b/decompiler/config/jak1_demo/default/var_names.jsonc similarity index 100% rename from decompiler/config/jak1_sced/var_names.jsonc rename to decompiler/config/jak1_demo/default/var_names.jsonc diff --git a/decompiler/config/jak1_sced.jsonc b/decompiler/config/jak1_demo/jak1_demo_config.jsonc similarity index 97% rename from decompiler/config/jak1_sced.jsonc rename to decompiler/config/jak1_demo/jak1_demo_config.jsonc index 749a322378..91a4cf9d27 100644 --- a/decompiler/config/jak1_sced.jsonc +++ b/decompiler/config/jak1_demo/jak1_demo_config.jsonc @@ -1,4 +1,4 @@ -// TODO - this config file doesn't seem to match the others (missing many fields) +// TODO - this config file seems broken and doesn't match the others (missing many fields) { "game_version": 1, diff --git a/decompiler/config/jak1_jp.jsonc b/decompiler/config/jak1_jp.jsonc deleted file mode 100644 index c7611faa01..0000000000 --- a/decompiler/config/jak1_jp.jsonc +++ /dev/null @@ -1,122 +0,0 @@ -{ - "game_version": 1, - "text_version": 11, - "game_name": "jak1_jp", - "expected_elf_name": "SCPS_150.21", - - // if you want to filter to only some object names. - // it will make the decompiler much faster. - "allowed_objects": [], - "banned_objects": [], - - //////////////////////////// - // CODE ANALYSIS OPTIONS - //////////////////////////// - - // set to true to generate plain .asm files with MIPS disassembly, with no fancy decompilation. - // this is fast and should succeed 100% of the time. - "disassemble_code": false, - - // Run the decompiler - "decompile_code": false, - - // run the first pass of the decompiler - "find_functions": true, - - //////////////////////////// - // DATA ANALYSIS OPTIONS - //////////////////////////// - - // set to true to generate plain .asm files for data files. - // this will display most data as hex, but will add labels/references/type pointers/strings - // this generates a huge amount of output if you run it on the entire game. - "disassemble_data": false, - - // unpack textures to assets folder - "process_tpages": true, - // unpack game text to assets folder - "process_game_text": true, - // unpack game count to assets folder - "process_game_count": true, - // write goal imports for art groups - "process_art_groups": true, - // write out a json file containing the art info mapping, run this with all objects allowed - "dump_art_group_info": false, - - /////////////////////////// - // WEIRD OPTIONS - /////////////////////////// - - // these options are used rarely and should usually be left at false - - // generate the symbol_map.json file. - // this is a guess at where each symbol is first defined/used. - "generate_symbol_definition_map": false, - - // genreate the all-types file - "generate_all_types" : false, - - // debug option for instruction decoder - "write_hex_near_instructions": false, - - // experimental tool to extract linked lists used for region scripting in Jak 2 and Jak 3. - "write_scripts": false, - - // hex dump of code/data files. - "hexdump_code": false, - "hexdump_data": false, - // dump raw obj files - "dump_objs": true, - // print control flow graph - "print_cfgs": false, - - // set to true for PAL versions. this will forcefully skip files that have some data missing at the end. - "is_pal": false, - - //////////////////////////// - // CONFIG FILES - //////////////////////////// - - "type_casts_file": "decompiler/config/jak1_pal/type_casts.jsonc", - "anonymous_function_types_file": "decompiler/config/jak1_ntsc_black_label/anonymous_function_types.jsonc", - "var_names_file": "decompiler/config/jak1_ntsc_black_label/var_names.jsonc", - "label_types_file": "decompiler/config/jak1_jp/label_types.jsonc", - "stack_structures_file": "decompiler/config/jak1_ntsc_black_label/stack_structures.jsonc", - "hacks_file": "decompiler/config/jak1_pal/hacks.jsonc", - "inputs_file": "decompiler/config/jak1_ntsc_black_label/inputs.jsonc", - "art_info_file": "decompiler/config/jak1_ntsc_black_label/art_info.jsonc", - "import_deps_file": "decompiler/config/jak1_ntsc_black_label/import_deps.jsonc", - "all_types_file": "decompiler/config/all-types.gc", - "art_group_dump_file": "decompiler/config/jak1_ntsc_black_label/art-group-info.min.json", - - // optional: a predetermined object file name map from a file. - // this will make decompilation naming consistent even if you only run on some objects. - "obj_file_name_map_file": "goal_src/jak1/build/all_objs_jak1_jp.json", - - //////////////////////////// - // LEVEL EXTRACTION - //////////////////////////// - - // turn this on to extract level background graphics data - "levels_extract": true, - // turn this on if you want extracted levels to be saved out as .glb files - "rip_levels": false, - // should we extract collision meshes? - // these can be displayed in game, but makes the .fr3 files slightly larger - "extract_collision": true, - - //////////////////////////// - // PATCHING OPTIONS - //////////////////////////// - - // these are options related to xdelta3 patches on specific objects - // this allows us to get a more consistent input - - // set to true to write new patch files - "write_patches": false, - // set to true to apply patch files - "apply_patches": true, - // what to patch an object to and the patch file is - "object_patches": { - } -} diff --git a/decompiler/config/jak1_jp/label_types.jsonc b/decompiler/config/jak1_jp/label_types.jsonc deleted file mode 100644 index ef7e508fa6..0000000000 --- a/decompiler/config/jak1_jp/label_types.jsonc +++ /dev/null @@ -1,2152 +0,0 @@ -// the format is [label_name, type, special] - -// if the type is pointer or inline array, special should be an integer size. -// if the type is a value type (like rgba), special should be true. - -{ - "vector-h": [ - ["L32", "vector"], - ["L31", "vector"], - ["L30", "vector"], - ["L29", "vector"], - ["L28", "vector"], - ["L27", "vector"], - ["L26", "vector"] - ], - - "quaternion-h": [["L1", "quaternion"]], - - "quaternion": [ - ["L67", "vector"], - ["L68", "vector"], - ["L69", "vector"], - ["L70", "vector"], - ["L71", "vector"], - ["L72", "vector"] - ], - - "geometry": [["L112", "vector"]], - - "trigonometry": [ - ["L98", "(pointer float)", 32], - ["L99", "(pointer float)", 32], - ["L102", "vector"], - ["L101", "vector"], - ["L100", "vector"] - ], - - "video-h": [["L1", "video-parms"]], - - "font-h": [ - ["L18", "matrix"], - ["L17", "font-work"] - ], - - "display": [["L76", "(pointer uint32)", 2]], - - "capture": [["L12", "gs-store-image-packet"]], - - "main-h": [["L1", "frame-stats"]], - - "ocean-trans-tables": [ - ["L1", "(inline-array vector)", 4], - ["L2", "(pointer float)", 160], - ["L3", "(pointer float)", 100], - ["L4", "(pointer float)", 72], - ["L5", "(pointer float)", 72], - ["L6", "(pointer float)", 72], - ["L7", "(pointer float)", 72], - ["L8", "(pointer float)", 44], - ["L9", "(pointer float)", 44], - ["L10", "(pointer float)", 44], - ["L11", "(pointer float)", 44], - ["L12", "(pointer float)", 40], - ["L13", "(pointer float)", 40], - ["L14", "(pointer float)", 40], - ["L15", "(pointer float)", 40], - ["L16", "(pointer float)", 28], - ["L17", "(pointer float)", 28], - ["L18", "(pointer float)", 28], - ["L19", "(pointer float)", 28] - ], - - "pat-h": [["L1", "(inline-array pat-mode-info)", 4]], - - "joint-mod-h": [ - ["L89", "(inline-array vector)", 6], - ["L90", "(inline-array vector)", 3] - ], - - "collide-edge-grab-h": [["L1", "collide-edge-work"]], - - "assert-h": [["L4", "__assert-info-private-struct"]], - - "hud-h": [["L1", "hud-parts"]], - - "transformq": [ - ["L39", "vector"], - ["L40", "vector"] - ], - - "cylinder": [ - ["L54", "vector"], - ["L57", "vector"], - ["L56", "vector"], - ["L53", "vector"] - ], - - "sprite": [["L58", "vu-function"]], - - "sprite-distort": [["L27", "vu-function"]], - - "merc-vu1": [["L1", "vu-function"]], - - "background": [["L51", "vu-function"]], - - "debug": [ - ["L179", "vector2h"], - ["L176", "(inline-array vector)", 8], - ["L180", "vector"], - ["L181", "vector"], - ["L182", "vector"], - ["L183", "vector"], - ["L223", "rgba", true], - ["L225", "rgba", true], - ["L224", "rgba", true], - ["L222", "rgba", true], - ["L226", "rgba", true] - ], - - "shrub-work": [["L3", "instance-shrub-work"]], - - "game-info": [ - ["L468", "rgba", true], - ["L470", "rgba", true], - ["L464", "vector2h"], - ["L469", "rgba", true] - ], - - "tfrag-work": [["L1", "tfrag-work"]], - - "tie-work": [ - ["L1", "prototype-tie-work"], - ["L2", "instance-tie-work"] - ], - - "mood": [ - ["L256", "vector"], - ["L257", "vector"], - ["L258", "vector"], - ["L259", "vector"], - ["L260", "vector"], - ["L261", "vector"], - ["L262", "(inline-array vector)", 2], - ["L263", "light-ellipse"], - ["L264", "(inline-array vector)", 4], - ["L265", "vector"], - ["L266", "(inline-array vector)", 11], - ["L267", "vector"], - ["L268", "vector"], - ["L269", "vector"], - ["L270", "vector"], - ["L271", "vector"], - ["L272", "vector"], - ["L273", "vector"], - ["L274", "vector"], - ["L275", "vector"], - ["L276", "vector"], - ["L277", "vector"], - ["L278", "vector"], - ["L279", "vector"], - ["L280", "(array float)"], - ["L281", "(array float)"], - ["L282", "(array float)"], - ["L283", "(array float)"], - ["L284", "(array float)"], - ["L285", "(array float)"], - ["L286", "(array float)"], - ["L287", "(array float)"] - ], - - "mood-tables": [ - ["L12", "mood-sun-table"], - ["L13", "mood-lights-table"], - ["L14", "mood-fog-table"], - ["L15", "mood-fog-table"], - ["L16", "mood-sun-table"], - ["L17", "mood-sun-table"], - ["L18", "mood-lights-table"], - ["L19", "mood-fog-table"], - ["L20", "mood-lights-table"], - ["L21", "mood-fog-table"], - ["L22", "mood-lights-table"], - ["L23", "mood-fog-table"], - ["L24", "mood-lights-table"], - ["L25", "mood-lights-table"], - ["L26", "mood-fog-table"], - ["L27", "mood-sun-table"], - ["L28", "mood-lights-table"], - ["L29", "mood-fog-table"], - ["L30", "mood-sun-table"], - ["L31", "mood-lights-table"], - ["L32", "mood-fog-table"], - ["L33", "mood-sun-table"], - ["L34", "mood-lights-table"], - ["L35", "mood-fog-table"], - ["L36", "mood-sun-table"], - ["L37", "mood-lights-table"], - ["L38", "mood-fog-table"], - ["L39", "mood-sun-table"], - ["L40", "mood-lights-table"], - ["L41", "mood-fog-table"], - ["L42", "mood-sun-table"], - ["L43", "mood-lights-table"], - ["L44", "mood-fog-table"], - ["L45", "mood-sun-table"], - ["L46", "mood-lights-table"], - ["L47", "mood-fog-table"], - ["L48", "mood-fog-table"], - ["L49", "mood-sun-table"], - ["L50", "mood-lights-table"], - ["L51", "mood-fog-table"], - ["L52", "mood-sun-table"], - ["L53", "mood-lights-table"], - ["L54", "mood-fog-table"], - ["L55", "mood-sun-table"], - ["L56", "mood-lights-table"], - ["L57", "mood-fog-table"], - ["L58", "mood-fog-table"], - ["L59", "mood-sun-table"], - ["L60", "mood-lights-table"], - ["L61", "mood-fog-table"], - ["L62", "sky-color-day"], - ["L63", "sky-color-day"], - ["L64", "sky-color-day"], - ["L65", "sky-color-day"], - ["L66", "sky-color-day"], - ["L67", "sky-color-day"], - ["L68", "sky-color-day"] - ], - - "camera": [ - ["L257", "(inline-array qword)", 1], - ["L258", "(inline-array qword)", 1] - ], - - "target-util": [ - ["L180", "vector"], - ["L181", "vector"], - ["L182", "vector"], - ["L183", "vector"], - ["L184", "vector"], - ["L186", "vector"], - ["L187", "vector"], - ["L188", "vector"], - ["L189", "vector"], - ["L190", "vector"], - ["L225", "rgba", true] - ], - - "logic-target": [ - ["L227", "attack-info"], - ["L231", "(pointer uint64)", 1] - ], - - "progress-static": [ - ["L121", "(array game-text-id)"], - ["L195", "(array game-option)"], - ["L190", "(array game-option)"], - ["L185", "(array game-option)"], - ["L180", "(array game-option)"], - ["L174", "(array game-option)"], - ["L169", "(array game-option)"], - ["L165", "(array game-option)"], - ["L161", "(array game-option)"], - ["L157", "(array game-option)"], - ["L152", "(array game-option)"], - ["L147", "(array game-option)"], - ["L145", "(array game-option)"], - ["L143", "(array game-option)"], - ["L137", "(array game-option)"], - ["L131", "(array game-option)"], - ["L124", "(array game-option)"], - ["L123", "(array (array game-option))"], - ["L122", "(array int32)"], - ["L3", "(array level-tasks-info)"], - ["L2", "(array int32)"] - ], - - "rigid-body": [["L89", "rigid-body-platform-constants"]], - - "nav-enemy": [["L349", "attack-info"]], - - "basebutton": [ - ["L97", "vector"], - ["L102", "vector"] - ], - - "bird-lady": [["L29", "vector"]], - - "bird-lady-beach": [["L26", "vector"]], - - "mayor": [["L57", "vector"]], - - "sculptor": [["L89", "vector"]], - - "oracle": [ - ["L55", "vector"], - ["L56", "vector"], - ["L58", "vector"] - ], - - "evilbro": [ - ["L25", "vector"], - ["L30", "vector"] - ], - - "explorer": [["L77", "vector"]], - - "sage": [["L91", "vector"]], - - "misty-teetertotter": [ - ["L26", "attack-info"], - ["L27", "attack-info"] - ], - - "farmer": [["L28", "vector"]], - - "gambler": [["L52", "vector"]], - - "warrior": [["L30", "vector"]], - - "geologist": [["L38", "vector"]], - - "font": [ - ["L95", "(inline-array vector)", 250], - ["L94", "(inline-array vector)", 289] - ], - - "text": [ - ["L66", "vector"], - ["L67", "matrix"], - ["L68", "vector4w"] - ], - - "ocean-tables": [ - // see comment in ocean-tables.gc - ["L26", "ocean-spheres"], - ["L25", "ocean-colors"], - ["L23", "ocean-near-indices"], // ok - ["L22", "ocean-trans-indices"], - ["L21", "ocean-mid-indices"], - ["L19", "ocean-mid-masks"], - ["L18", "ocean-spheres"], - ["L17", "ocean-colors"], - ["L15", "ocean-near-indices"], - ["L9", "ocean-near-indices"], - - ["L14", "ocean-trans-indices"], - ["L8", "ocean-trans-indices"], - - ["L13", "ocean-mid-indices"], - ["L7", "ocean-mid-indices"], - - ["L11", "ocean-mid-masks"], - ["L5", "ocean-mid-masks"], - ["L4", "ocean-map"], - ["L3", "ocean-map"], - ["L2", "ocean-map"] - ], - - "ocean-frames": [["L1", "(pointer uint32)", 16384]], - - "shadow-cpu": [ - ["L122", "shadow-data"], - ["L121", "vu-function"] - ], - - "default-menu": [ - ["L6251", "float", true], - ["L6252", "float", true], - ["L6253", "float", true], - ["L6254", "float", true], - ["L6256", "float", true], - ["L6257", "float", true], - ["L6264", "float", true], - ["L6267", "float", true], - ["L6265", "float", true], - ["L6266", "float", true], - ["L6259", "float", true], - ["L6268", "float", true], - ["L6263", "float", true], - ["L6262", "float", true], - ["L6261", "float", true], - ["L6255", "float", true], - ["L6260", "float", true], - ["L6258", "float", true], - ["L6272", "uint64", true], - ["L6273", "uint64", true], - ["L6270", "uint64", true], - ["L6269", "uint64", true], - ["L6271", "uint64", true] - // ["L6268", "(array int)", true, 1] // printed as a float - ], - - // "default-menu": [ - // ["L519", "pair", true], - // ["L1550", "pair", true], - // ["L1552", "pair", true] - // ], - - // "generic-vu1": [ - // ["L12", "gif-tag64", true], - // ["L15", "gif-tag64", true], - // ["L14", "gif-tag-regs", true] - // ], - - "merc-blend-shape": [["L62", "(pointer int16)", 32]], - - "miners": [ - ["L111", "vector"], - ["L281", "vector"] - ], - - "entity": [ - ["L483", "vector2h"], - ["L482", "vector2h"], - ["L480", "vector2h"], - ["L479", "vector2h"], - ["L478", "vector2h"], - ["L477", "vector2h"], - ["L476", "vector2h"], - ["L475", "vector4w"], - ["L474", "vector4w"], - ["L473", "vector4w"], - ["L472", "vector4w"], - ["L471", "vector4w"] - ], - - "assistant": [["L71", "vector"]], - - "target-part": [ - ["L336", "float", true], - ["L337", "float", true], - ["L338", "float", true], - ["L339", "float", true], - ["L340", "float", true], - ["L341", "uint64", true] - ], - - "projectiles": [["L150", "attack-info"]], - "blocking-plane": [ - ["L18", "vector"], - ["L19", "vector"], - ["L20", "vector"] - ], - - "sidekick-human": [ - ["L131", "vector"], - ["L350", "vector"], - ["L940", "float", true], - ["L941", "float", true], - ["L942", "float", true], - ["L943", "float", true], - ["L944", "float", true], - ["L945", "float", true], - ["L946", "float", true], - ["L990", "float", true], - ["L991", "uint64", true], - ["L992", "uint64", true], - ["L993", "uint64", true], - ["L994", "uint64", true] - ], - - "assistant-firecanyon": [["L71", "vector"]], - - "sage-bluehut": [["L82", "vector"]], - - "flutflut-bluehut": [["L34", "vector"]], - - "sharkey": [["L101", "attack-info"]], - - "assistant-citadel": [["L28", "vector"]], - - "robotboss-h": [ - ["L67", "float", true], - ["L68", "uint64", true], - ["L69", "uint64", true] - ], - - "final-door": [ - ["L59", "vector"], - ["L60", "vector"] - ], - - "crates": [ - ["L171", "attack-info"], - ["L175", "attack-info"], - ["L181", "attack-info"], - ["L242", "float", true], - ["L243", "float", true], - ["L245", "float", true], - ["L263", "float", true] - ], - - "hint-control": [ - ["L45", "(array task-hint-control-group)"], - ["L100", "(array level-hint-control)"] - ], - - "cam-master": [ - ["L356", "vector"], - ["L357", "vector"] - ], - - "cam-states": [ - ["L630", "vector"], - ["L631", "vector"], - ["L632", "vector"], - ["L633", "vector"], - ["L672", "float", true], - ["L673", "float", true], - ["L674", "float", true], - ["L675", "float", true], - ["L676", "float", true], - ["L677", "float", true], - ["L678", "float", true], - ["L679", "float", true], - ["L680", "float", true], - ["L681", "float", true], - ["L682", "float", true], - ["L683", "float", true], - ["L684", "float", true], - ["L685", "float", true], - ["L686", "float", true], - ["L687", "float", true], - ["L688", "float", true], - ["L689", "float", true], - ["L690", "float", true], - ["L691", "float", true], - ["L692", "float", true], - ["L693", "float", true], - ["L694", "float", true], - ["L695", "float", true], - ["L696", "float", true], - ["L697", "float", true], - ["L698", "float", true], - ["L699", "float", true], - ["L700", "float", true], - ["L701", "float", true], - ["L702", "float", true], - ["L703", "float", true], - ["L704", "float", true], - ["L705", "float", true], - ["L706", "float", true], - ["L707", "float", true], - ["L708", "float", true], - ["L709", "float", true], - ["L710", "float", true], - ["L711", "float", true], - ["L712", "float", true], - ["L713", "float", true], - ["L714", "float", true], - ["L715", "float", true], - ["L716", "float", true], - ["L717", "float", true], - ["L718", "float", true], - ["L719", "float", true], - ["L720", "float", true], - ["L721", "float", true], - ["L722", "float", true], - ["L723", "float", true], - ["L724", "float", true], - ["L725", "float", true], - ["L726", "float", true], - ["L727", "float", true], - ["L728", "float", true], - ["L729", "float", true], - ["L730", "float", true], - ["L731", "float", true], - ["L732", "float", true], - ["L733", "float", true], - ["L734", "float", true], - ["L735", "float", true], - ["L736", "float", true], - ["L737", "float", true], - ["L738", "float", true], - ["L739", "float", true], - ["L740", "float", true], - ["L741", "float", true], - ["L742", "float", true], - ["L743", "float", true], - ["L744", "float", true], - ["L745", "float", true], - ["L790", "uint64", true], - ["L791", "uint64", true], - ["L792", "uint64", true], - ["L793", "uint64", true] - ], - - "cam-states-dbg": [["L78", "camera-orbit-info"]], - - "cam-layout": [ - ["L766", "quaternion"], - ["L768", "vector"], - ["L775", "vector4w"], - ["L777", "vector4w"], - ["L779", "vector4w"], - ["L781", "vector4w"], - ["L783", "vector4w"], - ["L785", "vector4w"], - ["L787", "vector4w"], - ["L788", "vector4w"], - ["L789", "vector4w"], - ["L790", "vector4w"], - ["L791", "vector"], - ["L792", "vector"], - ["L793", "vector4w"], - ["L794", "vector"], - ["L795", "vector4w"], - ["L796", "vector"], - ["L797", "vector"], - ["L798", "vector4w"], - ["L799", "vector"], - ["L800", "vector4w"], - ["L801", "vector"], - ["L802", "vector"], - ["L803", "vector4w"], - ["L804", "vector"], - ["L805", "vector"], - ["L806", "vector4w"], - ["L807", "vector4w"], - ["L808", "vector"], - ["L809", "vector"], - ["L810", "vector4w"], - ["L811", "vector4w"], - ["L812", "vector"], - ["L813", "vector"], - ["L814", "vector4w"], - ["L815", "vector"], - ["L816", "vector"], - ["L817", "vector4w"], - ["L818", "vector"], - ["L819", "vector"], - ["L820", "vector4w"], - ["L821", "vector"], - ["L822", "vector"], - ["L823", "vector"], - ["L824", "vector"], - ["L832", "vector4w"], - ["L872", "float", true], - ["L873", "float", true], - ["L874", "float", true], - ["L875", "float", true], - ["L876", "float", true], - ["L877", "float", true], - ["L878", "float", true], - ["L879", "float", true], - ["L880", "float", true], - ["L881", "float", true], - ["L882", "float", true], - ["L883", "float", true], - ["L884", "float", true], - ["L885", "float", true], - ["L886", "float", true], - ["L887", "float", true], - ["L888", "float", true], - ["L889", "float", true], - ["L890", "float", true], - ["L891", "float", true], - ["L892", "float", true], - ["L893", "float", true], - ["L894", "float", true], - ["L895", "float", true], - ["L896", "float", true], - ["L897", "float", true], - ["L898", "float", true], - ["L899", "float", true], - ["L900", "float", true], - ["L901", "uint64", true], - ["L904", "uint64", true], - ["L905", "uint64", true], - ["L906", "uint64", true], - ["L907", "uint64", true], - ["L908", "uint64", true], - ["L909", "uint64", true], - ["L910", "uint64", true] - ], - - "process-taskable": [["L251", "attack-info"]], - - "babak-with-cannon": [["L92", "vector"]], - - "flutflut": [["L94", "vector"]], - - "fishermans-boat": [ - ["L210", "vector"], - ["L410", "attack-info"], - ["L411", "vector"], - ["L412", "vector"], - ["L413", "vector"], - ["L431", "(pointer float)", 32], - ["L432", "(pointer float)", 32], - ["L434", "rigid-body-platform-constants"] - ], - - "training-obs": [["L175", "rigid-body-platform-constants"]], - - "bonelurker": [ - ["L72", "attack-info"], - ["L73", "attack-info"] - ], - - "balloonlurker": [ - ["L99", "vector"], - ["L105", "vector"], - ["L107", "attack-info"], - ["L108", "attack-info"], - ["L113", "rigid-body-platform-constants"] - ], - - "assistant-village2": [ - ["L177", "vector"], - ["L219", "attack-info"], - ["L268", "vector"] - ], - - "citb-plat": [ - ["L136", "attack-info"], - ["L155", "rigid-body-platform-constants"] - ], - - "qbert-plat": [["L99", "rigid-body-platform-constants"]], - - "misty-conveyor": [ - ["L60", "vector"], - ["L65", "vector"], - ["L66", "vector"], - ["L71", "vector"], - ["L73", "attack-info"] - ], - - "swamp-bat": [ - ["L88", "matrix"], - ["L99", "vector"], - ["L102", "vector"], - ["L103", "attack-info"] - ], - - "cavecrystal-light": [ - ["L45", "vector"], - ["L46", "vector"] - ], - - "gnawer": [ - ["L195", "attack-info"], - ["L196", "attack-info"], - ["L200", "attack-info"], - ["L216", "(inline-array gnawer-segment-info)", 10] - ], - - "target-tube": [["L142", "vector"]], - - "assistant-village3": [["L43", "vector"]], - - "sage-village3": [["L74", "vector"]], - - "target-snowball": [["L23", "vector"]], - - "ice-cube": [ - ["L210", "vector"], - ["L212", "attack-info"], - ["L213", "attack-info"], - ["L215", "attack-info"] - ], - - "assistant-lavatube": [["L30", "vector"]], - - "citadel-part": [ - ["L235", "float", true], - ["L236", "float", true], - ["L237", "float", true], - ["L238", "float", true], - ["L242", "uint64", true] - ], - - "village1-part": [ - ["L238", "float", true], - ["L239", "float", true], - ["L240", "float", true], - ["L241", "float", true], - ["L245", "uint64", true] - ], - - "sunken-part": [["L220", "uint64", true]], - - "ogre-part": [["L93", "uint64", true]], - - "collectables-part": [ - ["L309", "float", true], - ["L310", "float", true] - ], - - "village1-part2": [ - ["L122", "float", true], - ["L123", "float", true], - ["L124", "float", true], - ["L125", "uint64", true] - ], - - "village2-part": [ - ["L226", "float", true], - ["L227", "float", true], - ["L228", "float", true], - ["L229", "uint64", true], - ["L233", "uint64", true] - ], - - "village3-part": [["L244", "uint64", true]], - - "lavatube-part": [["L110", "uint64", true]], - - "hud-classes": [ - ["L279", "vector"], - ["L310", "vector"], - ["L318", "vector"] - ], - - "sky": [["L13", "vu-function"]], - - "sky-tng": [ - ["L82", "sky-work"], - // 576 bytes, 32 bytes each - ["L81", "(inline-array sky-vertex)", 12], - ["L80", "(inline-array sky-vertex)", 12], - ["L79", "(inline-array sky-vertex)", 72], - ["L78", "(pointer uint8)", 48], - ["L77", "vector"], - ["L76", "vector"] - ], - - "effect-control": [ - ["L300", "float", true], - ["L301", "float", true], - ["L302", "float", true], - ["L306", "float", true], - ["L307", "float", true], - ["L309", "float", true], - ["L310", "float", true], - ["L312", "float", true], - ["L314", "float", true] - ], - - "seagull": [["L226", "(inline-array air-box)", 10]], - - "rolling-race-ring": [ - ["L94", "vector"], - ["L95", "vector"], - ["L96", "vector"], - ["L97", "vector"], - ["L98", "vector"], - ["L99", "vector"], - ["L100", "vector"] - ], - - "anim-tester": [ - ["L509", "(inline-array list-field)", 12], - ["L523", "vector"], - ["L524", "vector"], - ["L649", "float", true], - ["L650", "float", true], - ["L651", "float", true], - ["L652", "float", true], - ["L653", "float", true], - ["L654", "float", true], - ["L655", "float", true], - ["L656", "float", true], - ["L657", "uint64", true], - ["L658", "uint64", true], - ["L663", "uint64", true], - ["L664", "uint64", true], - ["L665", "uint64", true], - ["L666", "uint64", true], - ["L667", "uint64", true], - ["L668", "uint64", true], - ["L669", "uint64", true], - ["L670", "uint64", true] - ], - - "fisher": [ - ["L262", "vector"], - ["L463", "(array (inline-array fisher-params))"] - ], - "fisher-OLD": [ - ["L262", "vector"], - ["L463", "(array (inline-array fisher-params))"] - ], - - "robotboss-weapon": [ - ["L122", "attack-info"], - ["L127", "attack-info"], - ["L138", "attack-info"], - ["L144", "vector4w"], - ["L145", "vector"] - ], - - "robotboss-misc": [["L99", "vector"]], - - "robotboss": [ - ["L646", "attack-info"], - ["L647", "attack-info"], - ["L651", "vector"], - ["L654", "vector"], - ["L655", "vector"], - ["L656", "vector"], - ["L657", "vector"], - ["L658", "vector"], - ["L659", "vector"], - ["L660", "vector"], - ["L661", "vector"], - ["L662", "vector"], - ["L678", "vector"], - ["L669", "vector"], - ["L701", "vector"], - ["L702", "vector"], - ["L703", "vector"], - ["L705", "vector"], - ["L642", "robotboss-dda"], - ["L643", "robotboss-dda"], - ["L644", "robotboss-dda"], - ["L645", "robotboss-dda"], - ["L632", "robotboss-dda"], - ["L713", "float", true], - ["L714", "float", true], - ["L715", "float", true], - ["L716", "float", true], - ["L717", "float", true], - ["L718", "float", true], - ["L719", "float", true], - ["L720", "float", true], - ["L721", "float", true], - ["L722", "float", true], - ["L723", "float", true], - ["L724", "float", true], - ["L725", "float", true], - ["L726", "float", true], - ["L727", "float", true], - ["L728", "float", true], - ["L729", "float", true], - ["L730", "float", true], - ["L731", "float", true], - ["L732", "float", true], - ["L733", "float", true], - ["L734", "float", true], - ["L735", "float", true], - ["L736", "float", true], - ["L737", "float", true], - ["L738", "float", true], - ["L739", "float", true], - ["L740", "float", true], - ["L741", "float", true], - ["L742", "float", true], - ["L743", "float", true], - ["L744", "float", true], - ["L745", "float", true], - ["L746", "float", true], - ["L747", "float", true], - ["L748", "float", true], - ["L749", "float", true], - ["L750", "float", true], - ["L751", "float", true], - ["L752", "float", true], - ["L753", "float", true], - ["L754", "float", true], - ["L755", "float", true], - ["L756", "float", true], - ["L757", "float", true], - ["L758", "float", true], - ["L759", "float", true], - ["L760", "float", true], - ["L761", "float", true], - ["L762", "float", true], - ["L763", "float", true], - ["L764", "float", true], - ["L765", "float", true], - ["L766", "float", true], - ["L767", "float", true], - ["L768", "float", true], - ["L769", "float", true], - ["L770", "float", true], - ["L771", "float", true], - ["L772", "float", true], - ["L773", "float", true], - ["L774", "float", true], - ["L775", "float", true], - ["L776", "float", true], - ["L777", "float", true], - ["L778", "float", true], - ["L779", "float", true], - ["L780", "float", true], - ["L781", "float", true], - ["L782", "float", true], - ["L783", "float", true], - ["L784", "float", true], - ["L785", "float", true], - ["L786", "float", true], - ["L787", "float", true], - ["L788", "float", true], - ["L789", "float", true], - ["L790", "float", true], - ["L791", "float", true], - ["L792", "float", true], - ["L793", "float", true], - ["L794", "float", true], - ["L795", "float", true], - ["L796", "float", true], - ["L797", "float", true], - ["L798", "float", true], - ["L799", "float", true], - ["L800", "float", true], - ["L801", "uint64", true], - ["L802", "uint64", true], - ["L803", "uint64", true], - ["L804", "uint64", true], - ["L814", "float", true], - ["L815", "uint64", true], - ["L816", "uint64", true] - ], - - "sage-finalboss": [ - ["L528", "vector"], - ["L272", "vector"], - ["L527", "quaternion"] - ], - - "sage-finalboss-OLD": [ - ["L528", "vector"], - ["L272", "vector"], - ["L527", "quaternion"] - ], - - "part-tester": [ - ["L27", "rgba", true], - ["L32", "uint64", true] - ], - - "process-drawable": [ - ["L242", "vector"], - ["L241", "vector"] - ], - - "ocean-texture": [ - ["L14", "vu-function"], - ["L15", "ocean-texture-work"] - ], - - "cavegeyserrock": [ - ["L56", "attack-info"], - ["L54", "vector"], - ["L53", "vector"], - ["L52", "vector"] - ], - - "junglesnake": [ - ["L93", "(pointer float)", 28], - ["L100", "attack-info"], - ["L101", "attack-info"] - ], - - "jungleb-obs": [["L34", "vector"]], - - "jungle-obs": [["L164", "attack-info"]], - - "misty-obs": [["L135", "rigid-body-platform-constants"]], - - "village2-obs": [ - ["L274", "rigid-body-platform-constants"], - ["L275", "rigid-body-platform-constants"], - ["L288", "vector"] - ], - - "swamp-obs": [ - ["L85", "rigid-body-platform-constants"], - ["L109", "attack-info"] - ], - - "maincave-obs": [ - ["L159", "vector"], - ["L160", "vector"], - ["L175", "attack-info"], - ["L176", "attack-info"] - ], - - "sunken-obs": [ - ["L43", "vector"], - ["L45", "vector"], - ["L47", "vector"], - ["L49", "vector"], - ["L51", "vector"] - ], - - "rolling-obs": [ - ["L234", "vector"], - ["L238", "vector"], - ["L239", "vector"], - ["L240", "vector"], - ["L241", "vector"], - ["L242", "vector"], - ["L243", "vector"], - ["L244", "vector"], - ["L245", "vector"], - ["L246", "vector"], - ["L247", "vector"], - ["L248", "vector"], - ["L257", "vector"] - ], - - "firecanyon-obs": [["L57", "attack-info"]], - - "ogre-obs": [ - ["L141", "rigid-body-platform-constants"], - ["L142", "rigid-body-platform-constants"], - ["L156", "attack-info"] - ], - - "snow-obs": [["L201", "vector"]], - - "lavatube-obs": [ - ["L162", "attack-info"], - ["L194", "attack-info"] - ], - - "tfrag": [ - ["L107", "vu-function"], - ["L106", "vector"], - ["L105", "vector"] - ], - - "generic-obs": [ - ["L455", "quaternion"], - ["L457", "attack-info"] - ], - - "collectables": [ - ["L533", "vector"], - ["L606", "float", true], - ["L607", "float", true], - ["L608", "float", true], - ["L609", "float", true], - ["L610", "float", true], - ["L611", "float", true], - ["L612", "float", true], - ["L613", "float", true], - ["L614", "float", true], - ["L615", "float", true], - ["L616", "float", true], - ["L617", "float", true], - ["L618", "float", true], - ["L619", "float", true], - ["L620", "float", true], - ["L621", "float", true], - ["L622", "float", true], - ["L623", "float", true], - ["L624", "float", true], - ["L625", "float", true], - ["L626", "float", true], - ["L627", "float", true], - ["L628", "float", true], - ["L629", "float", true], - ["L630", "float", true], - ["L631", "float", true], - ["L632", "float", true], - ["L633", "float", true], - ["L634", "float", true], - ["L635", "float", true], - ["L636", "float", true], - ["L637", "float", true], - ["L638", "float", true], - ["L639", "float", true], - ["L640", "float", true], - ["L641", "float", true], - ["L642", "float", true], - ["L643", "float", true], - ["L644", "float", true], - ["L645", "float", true], - ["L646", "float", true], - ["L647", "float", true], - ["L648", "float", true], - ["L649", "float", true], - ["L650", "float", true], - ["L651", "float", true], - ["L652", "float", true], - ["L653", "float", true], - ["L654", "float", true], - ["L655", "float", true], - ["L656", "float", true], - ["L657", "float", true], - ["L658", "float", true], - ["L659", "float", true], - ["L660", "float", true], - ["L661", "float", true], - ["L662", "float", true], - ["L663", "float", true], - ["L664", "uint64", true], - ["L666", "uint64", true], - ["L665", "uint64", true], - ["L667", "uint64", true], - ["L668", "uint64", true], - ["L669", "uint64", true], - ["L670", "uint64", true], - ["L671", "uint64", true], - ["L672", "uint64", true], - ["L585", "vector"], - ["L725", "float", true], - ["L726", "float", true], - ["L727", "float", true], - ["L728", "uint64", true], - ["L729", "uint64", true], - ["L730", "uint64", true], - ["L731", "uint64", true], - ["L732", "uint64", true], - ["L733", "uint64", true] - ], - - "plant-boss": [ - ["L343", "vector"], - ["L344", "vector"], - ["L345", "vector"], - ["L346", "vector"], - ["L347", "vector"], - ["L348", "vector"], - ["L349", "vector"], - ["L350", "vector"], - ["L351", "vector"], - ["L352", "vector"], - ["L353", "vector"], - ["L354", "vector"], - ["L355", "vector"], - ["L356", "vector"], - ["L357", "vector"], - ["L358", "vector"], - ["L359", "vector"], - ["L360", "vector"], - ["L361", "vector"], - ["L362", "vector"], - ["L363", "vector"], - ["L364", "vector"], - ["L375", "attack-info"], - ["L377", "attack-info"], - ["L399", "attack-info"], - ["L403", "attack-info"], - ["L412", "float", true], - ["L413", "float", true], - ["L414", "float", true], - ["L415", "float", true], - ["L416", "float", true], - ["L417", "float", true], - ["L418", "float", true], - ["L419", "float", true], - ["L420", "float", true], - ["L421", "float", true], - ["L422", "float", true], - ["L423", "float", true], - ["L424", "float", true], - ["L425", "float", true], - ["L426", "float", true], - ["L427", "float", true], - ["L428", "float", true], - ["L429", "float", true], - ["L430", "float", true], - ["L431", "float", true], - ["L432", "float", true], - ["L433", "float", true], - ["L434", "float", true], - ["L435", "float", true], - ["L436", "float", true], - ["L437", "float", true], - ["L438", "float", true], - ["L439", "float", true], - ["L440", "float", true], - ["L441", "float", true], - ["L442", "float", true], - ["L443", "float", true], - ["L444", "float", true], - ["L445", "float", true], - ["L446", "float", true], - ["L447", "float", true], - ["L448", "float", true], - ["L449", "float", true], - ["L450", "float", true], - ["L451", "float", true], - ["L452", "float", true], - ["L453", "float", true], - ["L454", "float", true], - ["L455", "float", true], - ["L456", "float", true], - ["L457", "float", true], - ["L458", "float", true], - ["L459", "float", true], - ["L460", "float", true], - ["L461", "float", true], - ["L462", "float", true], - ["L463", "float", true], - ["L464", "float", true], - ["L465", "float", true], - ["L466", "float", true], - ["L467", "float", true], - ["L468", "float", true], - ["L469", "float", true], - ["L470", "uint64", true], - ["L498", "float", true], - ["L499", "uint64", true], - ["L500", "uint64", true], - ["L501", "uint64", true] - ], - - "ropebridge": [ - ["L97", "(inline-array ropebridge-tuning)", 6], - ["L104", "(inline-array vector)", 18], // 70/72 words - ["L105", "(inline-array vector)", 16], // 62/64 words - ["L106", "(inline-array vector)", 26], // 102/104 words - ["L107", "(inline-array vector)", 35] // 138/140 words - ], - - "double-lurker": [ - ["L109", "vector"], - ["L122", "attack-info"], - ["L123", "attack-info"], - ["L128", "attack-info"] - ], - - "billy": [["L234", "vector"]], - - "lurkerworm": [["L56", "attack-info"]], - - "pelican": [ - ["L199", "vector"], - ["L225", "vector"] - ], - - "citadel-sages": [ - ["L179", "vector"], - ["L623", "vector"], - ["L651", "vector"], - ["L701", "vector"] - ], - - "shover": [ - ["L13", "attack-info"], - ["L14", "attack-info"] - ], - - "steam-cap": [["L51", "attack-info"]], - - "sidekick": [["L29", "vector"]], - - "target-handler": [ - ["L195", "attack-info"], - ["L197", "float", true], - ["L198", "float", true], - ["L199", "float", true], - ["L200", "float", true], - ["L201", "float", true], - ["L202", "float", true], - ["L203", "float", true], - ["L204", "float", true], - ["L205", "uint64", true], - ["L206", "uint64", true], - ["L207", "uint64", true], - ["L208", "uint64", true], - ["L209", "uint64", true] - ], - - "water": [ - ["L148", "attack-info"], - ["L149", "attack-info"], - ["L150", "attack-info"] - ], - - "racer": [["L106", "vector"]], - - "target-racer": [ - ["L237", "attack-info"], - ["L238", "attack-info"], - ["L240", "vector"] - ], - - "rolling-lightning-mole": [ - ["L181", "vector"], - ["L185", "vector4w"], - ["L186", "vector4w"], - ["L187", "vector4w"], - ["L189", "vector4w"], - ["L195", "vector"], - ["L201", "vector4w"], - ["L202", "vector4w"], - ["L203", "vector4w"], - ["L204", "vector4w"], - ["L205", "vector4w"], - ["L206", "vector4w"] - ], - - "rolling-robber": [ - ["L127", "vector"], - ["L139", "vector"], - ["L140", "vector"], - ["L145", "vector"] - ], - - "target-flut": [ - ["L399", "attack-info"], - ["L406", "float", true], - ["L407", "float", true], - ["L408", "float", true], - ["L409", "float", true], - ["L410", "float", true], - ["L411", "float", true], - ["L412", "float", true], - ["L413", "float", true], - ["L414", "float", true], - ["L415", "float", true], - ["L416", "float", true], - ["L417", "float", true], - ["L418", "float", true], - ["L419", "float", true], - ["L420", "float", true], - ["L421", "float", true], - ["L422", "float", true], - ["L423", "float", true], - ["L424", "float", true], - ["L425", "float", true], - ["L426", "float", true], - ["L427", "float", true], - ["L428", "float", true], - ["L429", "float", true], - ["L430", "float", true], - ["L431", "float", true], - ["L432", "float", true], - ["L433", "float", true], - ["L434", "float", true], - ["L435", "float", true], - ["L436", "float", true], - ["L437", "float", true], - ["L438", "float", true], - ["L439", "float", true], - ["L440", "float", true], - ["L441", "float", true], - ["L442", "float", true], - ["L443", "float", true], - ["L444", "float", true], - ["L445", "float", true], - ["L446", "float", true], - ["L447", "float", true], - ["L448", "float", true], - ["L449", "float", true], - ["L450", "float", true], - ["L451", "float", true], - ["L452", "float", true], - ["L453", "float", true], - ["L454", "float", true], - ["L455", "float", true], - ["L456", "float", true], - ["L457", "float", true], - ["L458", "uint64", true], - ["L459", "uint64", true], - ["L460", "uint64", true], - ["L461", "uint64", true], - ["L462", "uint64", true], - ["L463", "uint64", true], - ["L464", "uint64", true], - ["L465", "uint64", true], - ["L483", "uint64", true], - ["L484", "uint64", true] - ], - - "collide-shape": [ - ["L399", "attack-info"], - ["L408", "vector"], - ["L410", "vector"], - ["L411", "vector"], - ["L413", "attack-info"], - ["L414", "attack-info"], - ["L415", "attack-info"], - ["L416", "attack-info"], - ["L417", "vector"], - ["L418", "attack-info"], - ["L419", "attack-info"], - ["L420", "vector"], - ["L421", "vector"] - ], - - "collide-planes": [ - ["L53", "vector4w"], - ["L54", "vector4w"], - ["L55", "vector4w"], - ["L56", "vector4w"], - ["L57", "vector4w"], - ["L58", "vector4w"], - ["L59", "vector4w"], - ["L60", "vector4w"], - ["L63", "vector4w"], - ["L64", "vector4w"], - ["L65", "vector4w"], - ["L66", "vector4w"] - ], - - "collide-probe": [ - ["L100", "vector"], - ["L102", "vector"] - ], - - "collide-cache": [ - ["L304", "vector"], - ["L303", "vector4w"] - ], - - "load-boundary-data": [["L2", "(array array)"]], - - "tfrag-near": [["L1", "vu-function"]], - - "snow-ram-boss": [ - ["L220", "attack-info"], - ["L221", "attack-info"], - ["L222", "attack-info"], - ["L223", "attack-info"], - ["L225", "attack-info"] - ], - - "snow-ram": [["L73", "attack-info"]], - - "snow-bumper": [["L54", "attack-info"]], - - "snow-ball": [ - ["L86", "(pointer float)", 8], - ["L87", "(pointer float)", 8], - ["L89", "attack-info"] - ], - - "puffer": [["L170", "attack-info"]], - - "driller-lurker": [ - ["L174", "attack-info"], - ["L175", "attack-info"] - ], - - "dark-crystal": [["L36", "attack-info"]], - - "kermit": [["L164", "attack-info"]], - - "swamp-blimp": [ - ["L177", "vector"], - ["L182", "vector"], - ["L187", "vector"], - ["L198", "tetherrock-info"], - ["L200", "tetherrock-info"], - ["L203", "tetherrock-info"], - ["L206", "tetherrock-info"], - ["L209", "tetherrock-info"] - ], - - "mistycannon": [["L199", "attack-info"]], - - "darkvine": [["L41", "attack-info"]], - - "jungle-mirrors": [ - ["L325", "vector"], - ["L326", "vector4w-4"] - ], - - "quicksandlurker": [["L111", "attack-info"]], - - "voicebox": [ - ["L47", "vector"], - ["L48", "vector"], - ["L49", "vector"], - ["L50", "vector"], - ["L51", "vector"] - ], - - "mother-spider": [ - ["L278", "vector"], - ["L279", "vector"], - ["L288", "attack-info"], - ["L301", "(inline-array mother-spider-leg-info)", 8], - ["L302", "(inline-array mother-spider-thread)", 9] - ], - - "bully": [ - ["L90", "attack-info"], - ["L91", "attack-info"], - ["L93", "attack-info"] - ], - - "bones": [ - ["L159", "shadow-settings"], - ["L161", "vector"], - ["L162", "vu-function"] - ], - - "tie": [["L43", "vu-function"]], - - "tie-near": [["L91", "vu-function"]], - - "depth-cue": [["L17", "depth-cue-work"]], - - "navigate": [ - ["L402", "vector"], - ["L403", "vector"], - ["L404", "vector"], - ["L405", "vector"], - ["L406", "vector"], - ["L422", "vector"], - ["L419", "(pointer uint8)", 4], - ["L425", "float", true], - ["L426", "float", true], - ["L429", "float", true], - ["L430", "float", true], - ["L436", "float", true], - ["L438", "float", true], - ["L444", "float", true], - ["L442", "float", true], - ["L520", "vector"], - ["L522", "float", true], // TODO - meters - ["L523", "float", true] // TODO - meters - ], - - "eye": [ - ["L36", "eye-work"], - ["L38", "float", true], - ["L40", "float", true], - ["L44", "uint64", true] - ], - - "snow-bunny": [["L190", "attack-info"]], - - "ocean-vu0": [ - ["L8", "vu-function"], - ["L9", "ocean-vu0-work"] - ], - - "ocean-near": [ - ["L35", "vu-function"], - ["L37", "float", true], - ["L44", "float", true] - ], - - "ocean-mid": [["L150", "vu-function"]], - - "generic-merc": [ - ["L161", "(inline-array invinitdata)", 8], - ["L162", "vu-function"] - ], - - "generic-vu0": [["L1", "vu-function"]], - - "generic-vu1": [ - ["L8", "vector4w"], - ["L9", "vector4w"], - ["L10", "vu-function"] - ], - - "generic-effect": [["L95", "generic-consts"]], - - "shadow-vu1": [ - ["L5", "vu-function"], - ["L6", "shadow-vu1-gifbuf-template"] - ], - - "generic-vu0": [["L1", "vu-function"]], - "shrubbery": [["L133", "vu-function"]], - - "credits": [ - ["L32", "(array int32)"], - ["L33", "(array float)"] - ], - -// BEGIN - "ambient": [ - ["L334", "vector2h"], - ["L332", "vector2h"], - ["L331", "vector2h"], - ["L330", "vector2h"], - ["L329", "vector2h"], - ["L328", "vector2h"] - ], - - "sparticle-launcher": [["L193", "adgif-shader"]], - - "load-boundary": [ - ["L328", "(inline-array lbvtx)", 12], - ["L325", "vector"] - ], - - "cam-debug": [ - ["L172", "vector4w"], - ["L173", "vector4w"], - ["L174", "vector4w"], - ["L175", "vector4w"], - ["L176", "vector4w"], - ["L207", "vector4w"], - ["L208", "vector4w"], - ["L209", "vector4w"], - ["L210", "vector4w"], - ["L211", "vector4w"], - ["L212", "vector4w"], - ["L213", "vector4w"], - ["L214", "vector4w"], - ["L215", "vector4w"], - ["L216", "vector4w"], - ["L217", "vector4w"], - ["L218", "vector4w"], - ["L219", "vector4w"], - ["L220", "vector4w"], - ["L221", "vector4w"], - ["L222", "vector4w"], - ["L223", "vector4w"], - ["L224", "vector4w"], - ["L225", "vector4w"], - ["L226", "vector4w"], - ["L227", "vector4w"], - ["L228", "vector4w"], - ["L229", "vector4w"], - ["L230", "vector4w"], - ["L231", "vector4w"], - ["L232", "vector4w"], - ["L237", "vector4w"], - ["L238", "vector4w"], - ["L239", "vector4w"], - ["L240", "vector4w"], - ["L241", "vector"], - ["L242", "vector"], - ["L243", "vector4w"], - ["L244", "vector"], - ["L245", "vector"], - ["L252", "vector"], - ["L253", "vector"], - ["L254", "vector"], - ["L255", "vector"], - ["L261", "vector4w"] - ], - - "sequence-a-village1": [["L40", "vector"]], - - "ogreboss": [ - ["L360", "attack-info"], - ["L368", "attack-info"], - ["L371", "attack-info"], - ["L372", "attack-info"], - ["L385", "float", true], - ["L386", "float", true], - ["L387", "float", true], - ["L388", "float", true], - ["L389", "float", true], - ["L390", "float", true], - ["L391", "float", true], - ["L392", "float", true], - ["L393", "float", true], - ["L394", "float", true], - ["L395", "float", true], - ["L396", "float", true], - ["L397", "float", true], - ["L398", "float", true], - ["L399", "float", true], - ["L400", "float", true], - ["L401", "float", true], - ["L402", "float", true], - ["L403", "float", true], - ["L404", "float", true], - ["L405", "float", true], - ["L406", "float", true], - ["L407", "float", true], - ["L408", "float", true], - ["L409", "float", true], - ["L410", "float", true], - ["L411", "float", true], - ["L412", "float", true], - ["L413", "float", true], - ["L414", "float", true], - ["L415", "float", true], - ["L416", "float", true], - ["L417", "float", true], - ["L418", "float", true], - ["L419", "float", true], - ["L420", "float", true], - ["L421", "float", true], - ["L422", "float", true], - ["L423", "float", true], - ["L424", "float", true], - ["L425", "float", true], - ["L426", "float", true], - ["L427", "float", true], - ["L428", "float", true], - ["L429", "float", true], - ["L430", "float", true], - ["L431", "float", true], - ["L432", "float", true], - ["L433", "float", true], - ["L434", "float", true], - ["L435", "float", true], - ["L436", "float", true], - ["L437", "float", true], - ["L438", "float", true], - ["L439", "float", true], - ["L440", "float", true], - ["L441", "float", true], - ["L442", "float", true], - ["L443", "float", true], - ["L444", "float", true], - ["L445", "float", true], - ["L446", "float", true], - ["L447", "float", true], - ["L448", "float", true], - ["L449", "float", true], - ["L450", "float", true], - ["L451", "float", true], - ["L452", "float", true], - ["L453", "float", true], - ["L454", "float", true], - ["L455", "float", true], - ["L456", "float", true], - ["L457", "float", true], - ["L458", "float", true], - ["L459", "float", true], - ["L460", "float", true], - ["L461", "float", true], - ["L462", "rgba", true], - ["L463", "uint64", true], - ["L464", "uint64", true], - ["L465", "uint64", true], - ["L466", "uint64", true], - ["L467", "uint64", true], - ["L526", "float", true], - ["L527", "uint64", true], - ["L528", "uint64", true], - ["L529", "uint64", true], - ["L530", "uint64", true], - ["L531", "uint64", true] - ], - - "flying-lurker": [ - ["L200", "attack-info"], - ["L190", "vector"] - ], - - "target": [ - ["L728", "float", true], - ["L729", "float", true], - ["L730", "float", true], - ["L731", "float", true], - ["L732", "float", true], - ["L733", "float", true], - ["L734", "float", true], - ["L735", "float", true], - ["L736", "float", true], - ["L737", "float", true], - ["L738", "float", true], - ["L739", "float", true], - ["L740", "float", true], - ["L741", "float", true], - ["L742", "float", true], - ["L743", "float", true], - ["L744", "float", true], - ["L745", "float", true], - ["L746", "float", true], - ["L747", "float", true], - ["L748", "float", true], - ["L749", "float", true], - ["L750", "float", true], - ["L751", "float", true], - ["L752", "float", true], - ["L753", "float", true], - ["L754", "float", true], - ["L755", "float", true], - ["L756", "float", true], - ["L757", "float", true], - ["L758", "float", true], - ["L759", "float", true], - ["L760", "float", true], - ["L761", "float", true], - ["L762", "float", true], - ["L763", "float", true], - ["L764", "float", true], - ["L765", "float", true], - ["L766", "float", true], - ["L767", "float", true], - ["L768", "float", true], - ["L769", "float", true], - ["L770", "float", true], - ["L771", "float", true], - ["L772", "float", true], - ["L773", "float", true], - ["L774", "float", true], - ["L775", "float", true], - ["L776", "float", true], - ["L777", "float", true], - ["L778", "float", true], - ["L779", "float", true], - ["L780", "float", true], - ["L781", "float", true], - ["L782", "float", true], - ["L783", "float", true], - ["L784", "float", true], - ["L785", "float", true], - ["L786", "float", true], - ["L787", "float", true], - ["L788", "float", true], - ["L789", "float", true], - ["L790", "float", true], - ["L791", "float", true], - ["L792", "float", true], - ["L793", "float", true], - ["L794", "float", true], - ["L795", "float", true], - ["L796", "float", true], - ["L797", "float", true], - ["L798", "float", true], - ["L799", "float", true], - ["L800", "float", true], - ["L801", "float", true], - ["L802", "float", true], - ["L803", "float", true], - ["L804", "float", true], - ["L805", "float", true], - ["L806", "float", true], - ["L807", "float", true], - ["L808", "float", true], - ["L809", "float", true], - ["L810", "float", true], - ["L811", "float", true], - ["L812", "float", true], - ["L813", "float", true], - ["L814", "float", true], - ["L815", "float", true], - ["L816", "float", true], - ["L817", "float", true], - ["L818", "float", true], - ["L819", "float", true], - ["L820", "float", true], - ["L821", "float", true], - ["L822", "float", true], - ["L823", "uint64", true], - ["L824", "uint64", true] - ], - - "target2": [ - ["L615", "attack-info"], - ["L656", "float", true], - ["L657", "float", true], - ["L658", "float", true], - ["L659", "float", true], - ["L660", "float", true], - ["L661", "float", true], - ["L662", "float", true], - ["L663", "float", true], - ["L664", "float", true], - ["L665", "float", true], - ["L666", "float", true], - ["L667", "float", true], - ["L668", "float", true], - ["L669", "float", true], - ["L670", "float", true], - ["L671", "float", true], - ["L672", "float", true], - ["L673", "float", true], - ["L674", "float", true], - ["L675", "float", true], - ["L676", "float", true], - ["L677", "float", true], - ["L678", "float", true], - ["L679", "float", true], - ["L680", "float", true], - ["L681", "float", true], - ["L682", "float", true], - ["L683", "float", true], - ["L684", "float", true], - ["L685", "float", true], - ["L686", "float", true], - ["L687", "float", true], - ["L688", "float", true], - ["L689", "float", true], - ["L690", "float", true], - ["L691", "float", true], - ["L692", "float", true], - ["L693", "float", true], - ["L694", "float", true], - ["L695", "float", true], - ["L696", "float", true], - ["L697", "float", true], - ["L698", "float", true], - ["L699", "float", true], - ["L700", "float", true], - ["L701", "float", true], - ["L702", "float", true], - ["L703", "float", true], - ["L704", "float", true], - ["L705", "float", true], - ["L706", "float", true], - ["L707", "float", true], - ["L708", "float", true], - ["L709", "float", true], - ["L710", "float", true], - ["L711", "float", true], - ["L712", "float", true], - ["L713", "float", true], - ["L714", "float", true], - ["L715", "float", true], - ["L716", "float", true], - ["L717", "float", true], - ["L718", "float", true], - ["L719", "float", true], - ["L720", "float", true], - ["L721", "float", true], - ["L722", "float", true], - ["L723", "float", true], - ["L724", "float", true], - ["L725", "float", true], - ["L726", "float", true], - ["L727", "float", true], - ["L728", "float", true], - ["L729", "float", true], - ["L730", "float", true], - ["L731", "float", true], - ["L732", "float", true], - ["L733", "float", true], - ["L734", "float", true], - ["L735", "float", true], - ["L736", "float", true], - ["L737", "float", true], - ["L738", "float", true], - ["L739", "float", true], - ["L740", "float", true], - ["L741", "float", true], - ["L742", "float", true], - ["L743", "float", true], - ["L744", "float", true], - ["L745", "float", true], - ["L746", "float", true], - ["L747", "float", true], - ["L748", "uint64", true], - ["L759", "uint64", true] - ], - - "target-death": [ - ["L314", "vector"], - ["L322", "float", true], - ["L323", "float", true], - ["L324", "float", true], - ["L325", "float", true], - ["L326", "float", true], - ["L327", "float", true], - ["L328", "float", true], - ["L329", "float", true], - ["L330", "float", true], - ["L331", "float", true], - ["L332", "float", true], - ["L333", "float", true], - ["L334", "float", true], - ["L335", "float", true], - ["L336", "float", true], - ["L337", "float", true], - ["L338", "float", true], - ["L339", "float", true], - ["L340", "float", true], - ["L341", "float", true], - ["L342", "float", true], - ["L343", "float", true], - ["L344", "float", true], - ["L345", "float", true], - ["L346", "float", true], - ["L347", "float", true], - ["L348", "float", true], - ["L349", "float", true], - ["L350", "uint64", true], - ["L351", "uint64", true], - ["L352", "uint64", true], - ["L353", "uint64", true], - ["L354", "uint64", true], - ["L355", "uint64", true], - ["L356", "uint64", true], - ["L357", "uint64", true], - ["L358", "uint64", true], - ["L361", "float", true] - ], - - "progress": [ - ["L574", "vector"], - ["L576", "vector"], - ["L578", "vector"], - ["L580", "vector"], - ["L582", "vector"], - ["L584", "vector"], - ["L587", "float", true], - ["L588", "float", true], - ["L589", "float", true], - ["L590", "float", true], - ["L591", "float", true], - ["L592", "float", true], - ["L593", "float", true], - ["L594", "float", true], - ["L595", "float", true], - ["L596", "float", true], - ["L597", "float", true], - ["L598", "float", true], - ["L599", "float", true], - ["L600", "float", true], - ["L601", "float", true], - ["L602", "float", true], - ["L603", "float", true], - ["L604", "float", true], - ["L605", "float", true], - ["L606", "float", true], - ["L607", "float", true], - ["L608", "float", true], - ["L609", "float", true], - ["L610", "float", true], - ["L611", "float", true], - ["L612", "float", true], - ["L613", "float", true], - ["L614", "float", true], - ["L615", "float", true], - ["L617", "float", true], - ["L616", "float", true], - ["L618", "float", true], - ["L619", "float", true], - ["L620", "float", true], - ["L621", "float", true], - ["L622", "float", true], - ["L623", "float", true], - ["L624", "float", true], - ["L625", "float", true], - ["L626", "float", true], - ["L627", "float", true], - ["L628", "float", true], - ["L629", "float", true], - ["L630", "float", true], - ["L631", "float", true], - ["L632", "float", true], - ["L633", "float", true], - ["L634", "float", true], - ["L635", "float", true], - ["L636", "float", true], - ["L637", "uint64", true], - ["L638", "uint64", true], - ["L639", "uint64", true], - ["L640", "uint64", true], - ["L641", "uint64", true], - ["L642", "uint64", true], - ["L643", "uint64", true], - ["L644", "uint64", true], - ["L645", "uint64", true], - ["L646", "uint64", true], - ["L647", "uint64", true], - ["L648", "uint64", true], - ["L649", "uint64", true], - ["L650", "uint64", true], - ["L668", "uint64", true] - ], - - "citadel-obs": [["L267", "attack-info"]], - - // please do not add things after this entry! git is dumb. - "object-file-that-doesnt-actually-exist-and-i-just-put-this-here-to-prevent-merge-conflicts-with-this-file": [] -} diff --git a/decompiler/config/jak1_pal.jsonc b/decompiler/config/jak1_pal.jsonc deleted file mode 100644 index 44756c3a85..0000000000 --- a/decompiler/config/jak1_pal.jsonc +++ /dev/null @@ -1,122 +0,0 @@ -{ - "game_version": 1, - "text_version": 11, - "game_name": "jak1_pal", - "expected_elf_name": "SCES_503.61", - - // if you want to filter to only some object names. - // it will make the decompiler much faster. - "allowed_objects": [], - "banned_objects": [], - - //////////////////////////// - // CODE ANALYSIS OPTIONS - //////////////////////////// - - // set to true to generate plain .asm files with MIPS disassembly, with no fancy decompilation. - // this is fast and should succeed 100% of the time. - "disassemble_code": false, - - // Run the decompiler - "decompile_code": false, - - // run the first pass of the decompiler - "find_functions": true, - - //////////////////////////// - // DATA ANALYSIS OPTIONS - //////////////////////////// - - // set to true to generate plain .asm files for data files. - // this will display most data as hex, but will add labels/references/type pointers/strings - // this generates a huge amount of output if you run it on the entire game. - "disassemble_data": false, - - // unpack textures to assets folder - "process_tpages": true, - // unpack game text to assets folder - "process_game_text": true, - // unpack game count to assets folder - "process_game_count": true, - // write goal imports for art groups - "process_art_groups": true, - // write out a json file containing the art info mapping, run this with all objects allowed - "dump_art_group_info": false, - - /////////////////////////// - // WEIRD OPTIONS - /////////////////////////// - - // these options are used rarely and should usually be left at false - - // generate the symbol_map.json file. - // this is a guess at where each symbol is first defined/used. - "generate_symbol_definition_map": false, - - // genreate the all-types file - "generate_all_types" : false, - - // debug option for instruction decoder - "write_hex_near_instructions": false, - - // experimental tool to extract linked lists used for region scripting in Jak 2 and Jak 3. - "write_scripts": false, - - // hex dump of code/data files. - "hexdump_code": false, - "hexdump_data": false, - // dump raw obj files - "dump_objs": true, - // print control flow graph - "print_cfgs": false, - - // set to true for PAL versions. this will forcefully skip files that have some data missing at the end. - "is_pal": true, - - //////////////////////////// - // CONFIG FILES - //////////////////////////// - - "type_casts_file": "decompiler/config/jak1_pal/type_casts.jsonc", - "anonymous_function_types_file": "decompiler/config/jak1_ntsc_black_label/anonymous_function_types.jsonc", - "var_names_file": "decompiler/config/jak1_ntsc_black_label/var_names.jsonc", - "label_types_file": "decompiler/config/jak1_pal/label_types.jsonc", - "stack_structures_file": "decompiler/config/jak1_ntsc_black_label/stack_structures.jsonc", - "hacks_file": "decompiler/config/jak1_pal/hacks.jsonc", - "inputs_file": "decompiler/config/jak1_ntsc_black_label/inputs.jsonc", - "art_info_file": "decompiler/config/jak1_ntsc_black_label/art_info.jsonc", - "import_deps_file": "decompiler/config/jak1_ntsc_black_label/import_deps.jsonc", - "all_types_file": "decompiler/config/all-types.gc", - "art_group_dump_file": "decompiler/config/jak1_ntsc_black_label/art-group-info.min.json", - - // optional: a predetermined object file name map from a file. - // this will make decompilation naming consistent even if you only run on some objects. - "obj_file_name_map_file": "goal_src/jak1/build/all_objs_jak1_pal.json", - - //////////////////////////// - // LEVEL EXTRACTION - //////////////////////////// - - // turn this on to extract level background graphics data - "levels_extract": true, - // turn this on if you want extracted levels to be saved out as .obj files - "rip_levels": false, - // should we extract collision meshes? - // these can be displayed in game, but makes the .fr3 files slightly larger - "extract_collision": true, - - //////////////////////////// - // PATCHING OPTIONS - //////////////////////////// - - // these are options related to xdelta3 patches on specific objects - // this allows us to get a more consistent input - - // set to true to write new patch files - "write_patches": false, - // set to true to apply patch files - "apply_patches": true, - // what to patch an object to and the patch file is - "object_patches": { - } -} diff --git a/decompiler/config/jak1_pal/hacks.jsonc b/decompiler/config/jak1_pal/hacks.jsonc deleted file mode 100644 index 4c8465a0ac..0000000000 --- a/decompiler/config/jak1_pal/hacks.jsonc +++ /dev/null @@ -1,676 +0,0 @@ -{ - //////////////////////////// - // HACKS and ASM FUNCTIONS - //////////////////////////// - - "types_with_bad_inspect_methods": [ - "engine", - "bsp-header", - "joint-anim-matrix", - "part-tracker" - ], - - "no_type_analysis_functions_by_name": [], - - // this limits the number of cases in a cond. The first argument is the name of the function. - // the second argument is the name of the first condition in the cond. Use print_cfg to find it out. - // The third argument is the number of cases. If you set it too small it may fail to build the CFG. - "cond_with_else_max_lengths": [ - ["(method 20 res-lump)", "b0", 2], - ["(method 11 res-lump)", "b0", 1], - ["(method 12 res-lump)", "b0", 1], - ["(method 31 progress)", "b35", 1] - ], - - // if a cond with an else case is being used a value in a place where it looks wrong - // you can add the function name to this list and it will more aggressively reject this rewrite. - "aggressively_reject_cond_to_value_rewrite": [ - "(method 10 res-lump)", - "(method 11 res-lump)", - "(method 12 res-lump)", - "(method 7 texture-page)" - ], - - // this provides a hint to the decompiler that these functions will have a lot of inline assembly. - // currently it just leaves pcpyld as an asm op. - "hint_inline_assembly_functions": ["matrix-transpose!"], - - "asm_functions_by_name": [ - // gcommon - "quad-copy!", - - // gkernel - "(method 11 cpu-thread)", - "throw", - "return-from-thread", - "return-from-thread-dead", - "reset-and-call", - "(method 10 cpu-thread)", - "(method 0 catch-frame)", - "throw-dispatch", - "set-to-run-bootstrap", - "run-function-in-process", // not asm, but it uses the stack. - - // pskernel - "return-from-exception", // F: eret - "kernel-read-function", // F: delay slot tricks - "kernel-write-function", // F: delay slot tricks - "kernel-copy-function", - "kernel-check-hardwired-addresses", - - // math - "rand-uint31-gen", - - // bounding box - "(method 9 bounding-box)", // F: asm branching - "(method 14 bounding-box)", - - // matrix - "(method 9 matrix)", // F: asm branching - "matrix-axis-sin-cos!", // F: asm branching - "matrix-axis-sin-cos-vu!", - - // geometry - "circle-circle-xz-intersect", // F: asm branching - - // trigonometry - "exp", // BUG: cfg is wrong. - "atan0", // P: manual use of stack - "sincos!", // P: manual use of stack - "sincos-rad!", - - // dma-h - "dma-count-until-done", // F: asm branching - "dma-sync-with-count", // F: asm branching - "dma-send-no-scratch", // F: asm branching - "dma-sync-fast", - - // dma - "symlink3", // F: asm branching - "symlink2", // F: asm branching - "dma-sync-hang", - - // display - "vblank-handler", // F: weird asm for interrupt handler - "vif1-handler", // F: weird asm for interrupt handler - "vif1-handler-debug", - - // texture - "adgif-shader<-texture!", - - // vector - "vector=", // asm branching - - // collide-mesh-h - "(method 11 collide-mesh-cache)", - - // collide-func - "moving-sphere-triangle-intersect", // P: weird branching - "collide-do-primitives", // P: asm branching - - // joint - "calc-animation-from-spr", // F: asm branching - "decompress-frame-data-pair-to-accumulator", // P: asm calling - "decompress-frame-data-to-accumulator", // P: asm calling - "decompress-fixed-data-to-accumulator", // P: asm calling - "normalize-frame-quaternions", // F: asm branching, return - "clear-frame-accumulator", // F: asm branching - "cspace<-parented-transformq-joint!", - - // sprite - - // merc-blend-shape - "setup-blerc-chains-for-one-fragment", // F: asm branching - "merc-dma-chain-to-spr", // F: asm branching - "blerc-a-fragment", - - // ripple - "ripple-matrix-scale", - "ripple-apply-wave-table", - "ripple-create-wave-table", - "ripple-execute-init", - - // bones - "bones-mtx-calc", - - // generic-effect - "generic-debug-light-proc", - "generic-none-dma-wait", - "generic-copy-vtx-dclr-dtex", - "generic-light", - "generic-envmap-only-proc", - "generic-no-light", - "generic-no-light+envmap", - "generic-no-light-dproc-only", - "generic-no-light-proc", - "generic-prepare-dma-single", - "generic-prepare-dma-double", - "generic-envmap-proc", - "generic-light-proc", - "generic-dma-from-spr", - "upload-vu0-program", - - // generic-merc - "generic-merc-execute-asm", // CFG - "high-speed-reject", - "mercneric-convert", - "mercneric-bittable-asm", - "mercneric-shader-asm", - "mercneric-matrix-asm", - "generic-merc-init-asm", - - // generic-tie - "generic-tie-convert-proc", - "generic-tie-upload-next", - "generic-tie-decompress", - - // shadow-cpu - "shadow-add-double-edges", - "shadow-add-double-tris", - "shadow-add-single-edges", - "shadow-add-facing-single-tris", - "shadow-add-verts", - "shadow-find-double-edges", - "shadow-find-facing-double-tris", - "shadow-find-single-edges", - "shadow-find-facing-single-tris", - "shadow-scissor-top", - "shadow-scissor-edges", - "shadow-calc-dual-verts", - - // background - "background-upload-vu0", - - // draw-node - "draw-node-cull", - - // shrubbery - "draw-inline-array-instance-shrub", // CFG - - // tfrag - "stats-tfrag-asm", - "draw-inline-array-tfrag-near", - "draw-inline-array-tfrag", - - // tie-methods - "draw-inline-array-prototype-tie-near-asm", - "draw-inline-array-prototype-tie-asm", - - // sparticle-launcher - "sp-init-fields!", - - // sparticle - "memcpy", - "sp-process-block-3d", - "sp-process-block-2d", - "sp-launch-particles-var", - "particle-adgif", - "sp-init-fields!", - - // time-of-day - "time-of-day-interp-colors-scratch", - "time-of-day-interp-colors", - - // sky-tng - "clip-polygon-against-negative-hyperplane", - "clip-polygon-against-positive-hyperplane", - "draw-large-polygon", - - // load-boundary - "render-boundary-tri", - "render-boundary-quad", - "draw-boundary-polygon", - - // collide-probe - "collide-probe-instance-tie", // CFG - "collide-probe-node", // CFG - - // collide-edge-grab - "(method 15 collide-edge-work)", // CFG - - "(method 12 collide-mesh)", - - // process-drawable BUG - "cspace-inspect-tree", - //"(method 19 process-drawable)", - - // ambient - "ambient-inspect", - - // target2 BUG - "look-for-points-of-interest", // Failed to split nested sc - looks like dead code to me - - // collide-cache - "(method 10 collide-puss-work)", // CFG - "(method 9 collide-puss-work)", // decompiler crash - "(method 32 collide-cache)", // CFG - - // ocean - "draw-large-polygon-ocean", // CFG - - // ocean-vu0 - "ocean-generate-verts", // crash - "ocean-interp-wave" - ], - - // these functions use pairs and the decompiler - // will be less picky about types related to pairs. - "pair_functions_by_name": [ - "ref", - "last", - "member", - "nmember", - "assoc", - "assoce", - "append!", - "delete!", - "delete-car!", - "insert-cons!", - "sort", - "unload-package", - "(method 4 pair)", - "nassoc", - "nassoce", - "lookup-level-info", - "(method 21 level-group)", - "(method 12 level)", - "update-sound-banks", - "(method 16 level-group)", - "bg", - "(method 18 game-info)", - "debug-menu-context-default-selection", - "debug-menu-rebuild", - "debug-menu-func-decode", - "debug-menu-make-from-template", - "debug-menu-render", - "debug-menu-context-select-next-or-prev-item", - "debug-menu-context-select-new-item", - "debug-menu-send-msg", - "debug-menu-find-from-template", - "build-continue-menu", - "(method 8 process-tree)", - "(method 16 load-state)", - "(method 15 load-state)", - "build-continue-menu", - "entity-remap-names", - "(method 21 swamp-rat-nest-dummy-a)", - "(method 21 swamp-rat-nest-dummy-b)", - "(method 21 swamp-rat-nest-dummy-c)", - "(method 27 battlecontroller)", - "load-boundary-from-template", - "command-get-time", - "command-get-param", - "command-get-quoted-param", - "command-get-trans", - "command-get-camera", - "(method 14 camera-tracker)", - "(enter billy-playing)", - "(code target-continue)", - "next-level" - ], - - // If format is used with the wrong number of arguments, - // it will often mess up the decompilation, as the decompiler assumes - // that they used the correct number. This will override the decompiler's - // automatic detection. - "bad_format_strings": { - "ERROR: dma tag has data in reserved bits ~X~%": 0, - "#: value of symbol ~A in task-controls is not a task-control~%": 0, - "~0K~10,'-S--~5,'-DK-of-~5,'-DK--~5,'-DK-of-~5,'-DK--": 5, - " bsp ~192H~5DK ~280Hdebug~456H~5DK~%": 2, - " bsp-leaf-vis-iop ~192H~5DK~%": 1, - " bsp-leaf-vis-adj ~192H~5DK~%": 1, - " level-code ~192H~5DK~%": 1, - " tfrag ~192H~5DK ~280Htfragment~456H~5DK~%": 2, - " tie-proto ~192H~5DK ~280Hsky~456H~5DK~%": 2, - " tie-instance ~192H~5DK ~280Htie-fragment~456H~5DK~%": 2, - " shrub-proto ~192H~5DK ~280Htie-near~456H~5DK~%": 2, - " shrub-instance ~192H~5DK ~280Hshrubbery~456H~5DK~%": 2, - " collision ~192H~5DK ~280Htie-generic~456H~5DK~%": 2, - " pris-geo ~192H~5DK ~280Hpris-fragment~456H~5DK~%": 2, - " pris-anim ~192H~5DK ~280Hpris-generic~456H~5DK~%": 2, - " textures ~192H~5DK ~280Htextures~456H~5DK~%": 2, - " entity ~192H~5DK~%": 1, - " misc ~192H~5DK ~280Hsprite~456H~5DK~%": 2, - "ERROR: ~A in spool anim loop for ~A ~D, but not loaded.~": 3, - "~0k~5d/~d ~6d/~d ~6d/~d ": 6, - "~0k~s~%": 1, - "money ~A was killed in pickup~%": 0, - " id address name aid tsk lev status x y z address name state heap flags~%": 3 - }, - - "blocks_ending_in_asm_branch": { - "closest-pt-in-triangle": [17], - - // this one is all asm branches - "circle-circle-xz-intersect": [ - 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 - ], - - "find-knot-span": [0, 1, 2, 3, 5, 6, 7, 8, 9], - - "curve-evaluate!": [0, 2, 5, 6, 7, 8, 9], - - "(method 9 texture-page-dir)": [4, 5], - - "adgif-shader<-texture-with-update!": [0, 1], - - "display-loop": [44, 49, 66, 99], - - "load-game-text-info": [12, 13, 14, 16, 17, 18], - - "real-main-draw-hook": [75, 77], - - "(method 12 perf-stat)": [0], - "(method 11 perf-stat)": [0], - "raw-ray-sphere-intersect": [0, 1, 2, 3, 4, 5], - "ray-cylinder-intersect": [0, 1, 2, 3, 4, 5], - "ray-triangle-intersect": [0, 1, 2, 3, 4], - "bsp-camera-asm": [1, 2, 3], - "level-remap-texture": [2, 3, 4, 5, 6], - "start-perf-stat-collection": [26], - "end-perf-stat-collection": [0], - "sprite-draw-distorters": [4, 5], - "draw-string": [ - 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, - 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, - 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, - 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, - 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, - 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, - 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, - 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, - 185, 186, 187, 188, 189 - ], - "get-string-length": [ - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, - 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50 - ], - "unpack-comp-rle": [1, 3, 5, 6], - "(method 16 level)": [1, 5, 13, 14, 15, 19, 26, 53], - "unpack-comp-huf": [2, 4, 5, 6, 7, 8, 9], - "blerc-execute": [ - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33 - ], - "(method 11 fact-info-target)": [42], - "(anon-function 9 game-save)": [3, 4, 5, 6, 7, 8, 10], - //"(anon-function 9 game-save)":[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14], - "particle-adgif": [0, 1, 2, 3, 4, 5, 7], - "sp-launch-particles-var": [ - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, - 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, - 57, 58, 59, 60, 61, 62, 63, 64, 65, 66 - ], - "(method 11 sparticle-launch-control)": [27, 28, 38, 49, 51, 52, 80], - "upload-vis-bits": [0, 1, 2, 3, 4, 5, 6], - - "draw-drawable-tree-tfrag": [6, 8, 13, 15], - "draw-drawable-tree-trans-tfrag": [6, 8, 13, 15], - "draw-drawable-tree-dirt-tfrag": [6, 8, 13, 15], - "draw-drawable-tree-ice-tfrag": [6, 8, 13, 15], - "draw-drawable-tree-instance-tie": [10, 12, 18, 20, 26, 28, 37, 39], - "draw-drawable-tree-instance-shrub": [5, 7, 9, 11], - - "birth-pickup-at-point": [0], - "draw-bones": [0, 1, 2, 8, 81], - "draw-bones-hud": [7, 8], - "(method 16 drawable-tree)": [7, 9, 10], - "(method 21 collide-cache)": [3, 5, 19, 20, 24, 25, 28, 29], - "(method 14 collide-cache)": [0, 1, 2, 3, 4, 5], - "(method 9 collide-mesh-cache)": [0, 1, 2, 5], - "(method 42 collide-shape)": [0, 1, 2, 3, 4, 7], - "(method 23 collide-shape-prim-group)": [1, 2, 3, 4, 5], - "(method 23 collide-shape-prim-mesh)": [ - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 - ], - "(method 23 collide-shape-prim-sphere)": [ - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 - ], - "(method 18 collide-shape-prim-sphere)": [1, 3, 4, 5, 7], - "(method 45 collide-shape)": [0, 16, 42, 67, 92], - "(method 24 collide-shape-prim)": [2, 3, 4, 5, 1], - "(method 20 collide-shape-prim-group)": [11], - "(method 28 collide-shape-prim-mesh)": [10], - "(method 40 collide-shape)": [0, 2, 5, 6, 7, 11, 12, 28, 43, 58, 63], - "(method 15 collide-shape-prim-group)": [1, 2, 3, 4, 5, 6], - "(method 16 collide-shape-prim)": [1, 2, 3, 4, 5, 6], - "(method 15 collide-shape-prim-sphere)": [ - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19 - ], - "(method 15 collide-shape-prim-mesh)": [ - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 29 - ], - "(method 35 collide-shape)": [1], - "(method 22 collide-cache)": [2, 3, 4, 13, 14, 15, 23, 24, 25, 33, 34, 35], - "(method 12 collide-shape-prim-sphere)": [0, 1], - "(method 12 collide-shape-prim-group)": [1, 2, 3, 4], - "(method 24 collide-cache)": [2, 3, 4, 13, 14, 15, 23, 24, 25, 33, 34, 35], - "(method 14 collide-shape-prim-sphere)": [0, 1, 2, 3], - "(method 14 collide-shape-prim-group)": [0, 1, 2, 3, 4], - "(method 23 collide-cache)": [2, 3, 4, 13, 14, 15, 23, 24, 25, 33, 34, 35], - "(method 13 collide-shape-prim-sphere)": [0, 1, 2], - "(method 13 collide-shape-prim-group)": [0, 1, 2, 3, 4], - "(method 19 collide-cache)": [0, 1, 3, 4, 5, 18, 19], - "(method 10 collide-mesh)": [1, 2, 4, 5], - "(method 19 process-drawable)": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], - "(anon-function 9 racer)": [75], - "(method 13 collide-edge-work)": [0, 2], - "(method 17 collide-edge-work)": [0, 1, 2, 3, 4], - "(method 9 edge-grab-info)": [15, 16, 18, 19, 21, 22, 24], - // "(method 18 collide-edge-work)" : [1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 16, 17, 18, 19, 20, 21, 22, 23, 24], - "target-falling-anim-trans": [5, 6], - "(method 27 nav-mesh)": [8], - "(method 32 nav-control)": [12, 21, 32], - "start-collect-nav": [0], - "end-collect-nav": [0], - "robotboss-always-trans": [9, 10, 11, 12, 13, 14, 15, 18, 29, 36, 45, 48], - "target-flut-falling-anim-trans": [5, 6], - "(method 27 ropebridge)": [5, 7], - "(anon-function 5 orbit-plat)": [4, 5, 11], - "(anon-function 21 plant-boss)": [0, 1, 3, 4], - "(method 55 ram-boss)": [5], - "(method 60 ice-cube)": [8], - "(anon-function 2 snow-ball)": [22], - "draw-bones-merc": [1, 3, 5, 7, 8, 10, 11, 12, 13], - "(anon-function 48 lavatube-energy)": [13], - "generic-tie-execute": [4, 9], - "generic-merc-execute-all": [3, 7, 12] - }, - - // Sometimes the game might use format strings that are fetched dynamically, - // for example using the game text lookup method - // Add information about those format instructions here. - // e.g. "function-name":[[op, argc], [op, argc], ...] - // where "op" is the op number for the call to format. - "dynamic_format_arg_counts": { - "(method 35 progress)": [ - [44, 1], - [92, 1] - ], - "(method 49 progress)": [[35, 1]], - "(method 37 progress)": [[41, 1]], - "(method 38 progress)": [[106, 1]], - "(method 39 progress)": [ - [56, 1], - [83, 1] - ], - "(method 41 progress)": [[73, 1]], - "(method 42 progress)": [[41, 1]], - "(method 43 progress)": [ - [51, 1], - [94, 1] - ] - }, - - "mips2c_functions_by_name": [ - "sp-init-fields!", - "particle-adgif", - "sp-launch-particles-var", - "sp-process-block-2d", - "sp-process-block-3d", - "draw-large-polygon", - "clip-polygon-against-positive-hyperplane", - "clip-polygon-against-negative-hyperplane", - "render-sky-quad", - "render-sky-tri", - "init-sky-regs", - "set-tex-offset", - "adgif-shader<-texture-with-update!", - "init-boundary-regs", - "draw-boundary-polygon", - "render-boundary-quad", - "render-boundary-tri", - "draw-inline-array-tfrag", - "stats-tfrag-asm", - "time-of-day-interp-colors-scratch", - "normalize-frame-quaternions", - "collide-do-primitives", - "moving-sphere-triangle-intersect", - "(method 12 collide-mesh)", - "(method 11 collide-mesh)", - "collide-probe-node", - "collide-probe-instance-tie", - "(method 32 collide-cache)", - "(method 28 collide-cache)", - "(method 26 collide-cache)", - "(method 27 collide-cache)", - "(method 29 collide-cache)", - "(method 12 collide-shape-prim-mesh)", - "(method 14 collide-shape-prim-mesh)", - "(method 13 collide-shape-prim-mesh)", - "(method 30 collide-cache)", - "(method 9 collide-cache-prim)", - "(method 10 collide-cache-prim)", - "(method 9 collide-puss-work)", - "(method 10 collide-puss-work)", - - // these could easily be goal, but probably faster/easier this way. - "(method 14 collide-mesh)", - "(method 15 collide-mesh)", - - "(method 16 collide-edge-work)", - "(method 10 collide-edge-hold-list)", - "(method 15 collide-edge-work)", - "(method 18 collide-edge-work)", - "normalize-frame-quaternions", - "calc-animation-from-spr", - "clear-frame-accumulator", - "bones-mtx-calc", - "cspace<-parented-transformq-joint!", - "draw-bones-merc", - "draw-bones-check-longest-edge-asm", - "setup-blerc-chains-for-one-fragment", - "blerc-execute", - - "generic-merc-execute-asm", - "high-speed-reject", - "mercneric-convert", - "mercneric-bittable-asm", - "mercneric-shader-asm", - "mercneric-matrix-asm", - "generic-merc-init-asm", - "generic-prepare-dma-double", - "generic-light-proc", - "generic-envmap-proc", - "draw-bones-generic-merc", - "generic-prepare-dma-single", - - "ripple-matrix-scale", - "ripple-apply-wave-table", - "ripple-create-wave-table", - "ripple-execute-init", - - // ocean - "init-ocean-far-regs", - "draw-large-polygon-ocean", - "render-ocean-quad", - "ocean-generate-verts", - "ocean-interp-wave", - - // shadow - "shadow-execute", - "shadow-add-double-edges", - "shadow-add-double-tris", - "shadow-add-single-edges", - "shadow-add-facing-single-tris", - "shadow-add-verts", - "shadow-find-double-edges", - "shadow-find-facing-double-tris", - "shadow-find-single-edges", - "shadow-find-facing-single-tris", - "shadow-init-vars", - "shadow-scissor-top", - "shadow-scissor-edges", - "shadow-calc-dual-verts", - "shadow-xform-verts", - - // generic tie - "draw-inline-array-instance-tie", - "generic-tie-dma-to-spad-sync", - "draw-inline-array-prototype-tie-generic-asm", - "generic-interp-dproc", - "generic-no-light-dproc", - "generic-envmap-dproc", - "generic-tie-convert" - ], - - "mips2c_jump_table_functions": { - "decompress-fixed-data-to-accumulator": [ - 108, 199, 233, 286, 301, 366, 387, 100, 155, 199, 261, 286, 335, 366, 402, - 100 - ], - "decompress-frame-data-to-accumulator": [ - 84, 92, 119, 140, 205, 220, 273, 307, 84, 107, 119, 174, 205, 248, 273, - 354 - ], - "decompress-frame-data-pair-to-accumulator": [ - 117, 125, 169, 197, 293, 318, 408, 459, 117, 150, 169, 248, 293, 366, 408, - 533 - ] - }, - - // there are some missing textures. I don't know what the game actually does here. - // the format for entries is [level, tpage, index] - "missing_textures": [["finalboss", 1419, 3]], - - // some object files have garbage pad data at the end which makes the decompiler - // assume they must be different files, such as the art group for orb-cache-top. - // this just suppresses a message. - "expected_merged_objs": [ - "orb-cache-top-ag", - "ecovalve-ag", - "barrel-ag", - "sack-ag", - "sharkey-ag", - "warp-gate-switch-ag", - "baby-spider-ag", - "cavetrapdoor-ag", - "spider-egg-ag", - "darkvine-ag", - "jng-iris-door-ag", - "eichar-fish+0-ag", - "launcherdoor-ag", - "plat-eco-ag", - "eichar-tube+0-ag", - "eichar-pole+0-ag", - "crate-darkeco-cluster-ag", - "ef-plane-ag", - "racer-ag", - "flut-saddle-ag", - "shover-ag", - "steam-cap-ag", - "sunkencam-ag", - "swampcam-ag", - "pontoonfive-ag", - "oracle-ag", - "village-cam-ag", - "plat-ag" - ] -} diff --git a/decompiler/config/jak1_pal/label_types.jsonc b/decompiler/config/jak1_pal/label_types.jsonc deleted file mode 100644 index bf5b071280..0000000000 --- a/decompiler/config/jak1_pal/label_types.jsonc +++ /dev/null @@ -1,2152 +0,0 @@ -// the format is [label_name, type, special] - -// if the type is pointer or inline array, special should be an integer size. -// if the type is a value type (like rgba), special should be true. - -{ - "vector-h": [ - ["L32", "vector"], - ["L31", "vector"], - ["L30", "vector"], - ["L29", "vector"], - ["L28", "vector"], - ["L27", "vector"], - ["L26", "vector"] - ], - - "quaternion-h": [["L1", "quaternion"]], - - "quaternion": [ - ["L67", "vector"], - ["L68", "vector"], - ["L69", "vector"], - ["L70", "vector"], - ["L71", "vector"], - ["L72", "vector"] - ], - - "geometry": [["L112", "vector"]], - - "trigonometry": [ - ["L98", "(pointer float)", 32], - ["L99", "(pointer float)", 32], - ["L102", "vector"], - ["L101", "vector"], - ["L100", "vector"] - ], - - "video-h": [["L1", "video-parms"]], - - "font-h": [ - ["L18", "matrix"], - ["L17", "font-work"] - ], - - "display": [["L76", "(pointer uint32)", 2]], - - "capture": [["L12", "gs-store-image-packet"]], - - "main-h": [["L1", "frame-stats"]], - - "ocean-trans-tables": [ - ["L1", "(inline-array vector)", 4], - ["L2", "(pointer float)", 160], - ["L3", "(pointer float)", 100], - ["L4", "(pointer float)", 72], - ["L5", "(pointer float)", 72], - ["L6", "(pointer float)", 72], - ["L7", "(pointer float)", 72], - ["L8", "(pointer float)", 44], - ["L9", "(pointer float)", 44], - ["L10", "(pointer float)", 44], - ["L11", "(pointer float)", 44], - ["L12", "(pointer float)", 40], - ["L13", "(pointer float)", 40], - ["L14", "(pointer float)", 40], - ["L15", "(pointer float)", 40], - ["L16", "(pointer float)", 28], - ["L17", "(pointer float)", 28], - ["L18", "(pointer float)", 28], - ["L19", "(pointer float)", 28] - ], - - "pat-h": [["L1", "(inline-array pat-mode-info)", 4]], - - "joint-mod-h": [ - ["L89", "(inline-array vector)", 6], - ["L90", "(inline-array vector)", 3] - ], - - "collide-edge-grab-h": [["L1", "collide-edge-work"]], - - "assert-h": [["L4", "__assert-info-private-struct"]], - - "hud-h": [["L1", "hud-parts"]], - - "transformq": [ - ["L39", "vector"], - ["L40", "vector"] - ], - - "cylinder": [ - ["L54", "vector"], - ["L57", "vector"], - ["L56", "vector"], - ["L53", "vector"] - ], - - "sprite": [["L58", "vu-function"]], - - "sprite-distort": [["L27", "vu-function"]], - - "merc-vu1": [["L1", "vu-function"]], - - "background": [["L51", "vu-function"]], - - "debug": [ - ["L179", "vector2h"], - ["L176", "(inline-array vector)", 8], - ["L180", "vector"], - ["L181", "vector"], - ["L182", "vector"], - ["L183", "vector"], - ["L223", "rgba", true], - ["L225", "rgba", true], - ["L224", "rgba", true], - ["L222", "rgba", true], - ["L226", "rgba", true] - ], - - "shrub-work": [["L3", "instance-shrub-work"]], - - "game-info": [ - ["L468", "rgba", true], - ["L470", "rgba", true], - ["L464", "vector2h"], - ["L469", "rgba", true] - ], - - "tfrag-work": [["L1", "tfrag-work"]], - - "tie-work": [ - ["L1", "prototype-tie-work"], - ["L2", "instance-tie-work"] - ], - - "mood": [ - ["L256", "vector"], - ["L257", "vector"], - ["L258", "vector"], - ["L259", "vector"], - ["L260", "vector"], - ["L261", "vector"], - ["L262", "(inline-array vector)", 2], - ["L263", "light-ellipse"], - ["L264", "(inline-array vector)", 4], - ["L265", "vector"], - ["L266", "(inline-array vector)", 11], - ["L267", "vector"], - ["L268", "vector"], - ["L269", "vector"], - ["L270", "vector"], - ["L271", "vector"], - ["L272", "vector"], - ["L273", "vector"], - ["L274", "vector"], - ["L275", "vector"], - ["L276", "vector"], - ["L277", "vector"], - ["L278", "vector"], - ["L279", "vector"], - ["L280", "(array float)"], - ["L281", "(array float)"], - ["L282", "(array float)"], - ["L283", "(array float)"], - ["L284", "(array float)"], - ["L285", "(array float)"], - ["L286", "(array float)"], - ["L287", "(array float)"] - ], - - "mood-tables": [ - ["L12", "mood-sun-table"], - ["L13", "mood-lights-table"], - ["L14", "mood-fog-table"], - ["L15", "mood-fog-table"], - ["L16", "mood-sun-table"], - ["L17", "mood-sun-table"], - ["L18", "mood-lights-table"], - ["L19", "mood-fog-table"], - ["L20", "mood-lights-table"], - ["L21", "mood-fog-table"], - ["L22", "mood-lights-table"], - ["L23", "mood-fog-table"], - ["L24", "mood-lights-table"], - ["L25", "mood-lights-table"], - ["L26", "mood-fog-table"], - ["L27", "mood-sun-table"], - ["L28", "mood-lights-table"], - ["L29", "mood-fog-table"], - ["L30", "mood-sun-table"], - ["L31", "mood-lights-table"], - ["L32", "mood-fog-table"], - ["L33", "mood-sun-table"], - ["L34", "mood-lights-table"], - ["L35", "mood-fog-table"], - ["L36", "mood-sun-table"], - ["L37", "mood-lights-table"], - ["L38", "mood-fog-table"], - ["L39", "mood-sun-table"], - ["L40", "mood-lights-table"], - ["L41", "mood-fog-table"], - ["L42", "mood-sun-table"], - ["L43", "mood-lights-table"], - ["L44", "mood-fog-table"], - ["L45", "mood-sun-table"], - ["L46", "mood-lights-table"], - ["L47", "mood-fog-table"], - ["L48", "mood-fog-table"], - ["L49", "mood-sun-table"], - ["L50", "mood-lights-table"], - ["L51", "mood-fog-table"], - ["L52", "mood-sun-table"], - ["L53", "mood-lights-table"], - ["L54", "mood-fog-table"], - ["L55", "mood-sun-table"], - ["L56", "mood-lights-table"], - ["L57", "mood-fog-table"], - ["L58", "mood-fog-table"], - ["L59", "mood-sun-table"], - ["L60", "mood-lights-table"], - ["L61", "mood-fog-table"], - ["L62", "sky-color-day"], - ["L63", "sky-color-day"], - ["L64", "sky-color-day"], - ["L65", "sky-color-day"], - ["L66", "sky-color-day"], - ["L67", "sky-color-day"], - ["L68", "sky-color-day"] - ], - - "camera": [ - ["L257", "(inline-array qword)", 1], - ["L258", "(inline-array qword)", 1] - ], - - "target-util": [ - ["L180", "vector"], - ["L181", "vector"], - ["L182", "vector"], - ["L183", "vector"], - ["L184", "vector"], - ["L186", "vector"], - ["L187", "vector"], - ["L188", "vector"], - ["L189", "vector"], - ["L190", "vector"], - ["L225", "rgba", true] - ], - - "logic-target": [ - ["L227", "attack-info"], - ["L231", "(pointer uint64)", 1] - ], - - "progress-static": [ - ["L121", "(array game-text-id)"], - ["L195", "(array game-option)"], - ["L190", "(array game-option)"], - ["L185", "(array game-option)"], - ["L180", "(array game-option)"], - ["L174", "(array game-option)"], - ["L169", "(array game-option)"], - ["L165", "(array game-option)"], - ["L161", "(array game-option)"], - ["L157", "(array game-option)"], - ["L152", "(array game-option)"], - ["L147", "(array game-option)"], - ["L145", "(array game-option)"], - ["L143", "(array game-option)"], - ["L137", "(array game-option)"], - ["L131", "(array game-option)"], - ["L124", "(array game-option)"], - ["L123", "(array (array game-option))"], - ["L122", "(array int32)"], - ["L3", "(array level-tasks-info)"], - ["L2", "(array int32)"] - ], - - "rigid-body": [["L89", "rigid-body-platform-constants"]], - - "nav-enemy": [["L349", "attack-info"]], - - "basebutton": [ - ["L97", "vector"], - ["L102", "vector"] - ], - - "bird-lady": [["L29", "vector"]], - - "bird-lady-beach": [["L26", "vector"]], - - "mayor": [["L57", "vector"]], - - "sculptor": [["L89", "vector"]], - - "oracle": [ - ["L55", "vector"], - ["L56", "vector"], - ["L58", "vector"] - ], - - "evilbro": [ - ["L25", "vector"], - ["L30", "vector"] - ], - - "explorer": [["L77", "vector"]], - - "sage": [["L91", "vector"]], - - "misty-teetertotter": [ - ["L26", "attack-info"], - ["L27", "attack-info"] - ], - - "farmer": [["L28", "vector"]], - - "gambler": [["L52", "vector"]], - - "warrior": [["L30", "vector"]], - - "geologist": [["L38", "vector"]], - - "font": [ - ["L95", "(inline-array vector)", 250], - ["L94", "(inline-array vector)", 289] - ], - - "text": [ - ["L66", "vector"], - ["L67", "matrix"], - ["L68", "vector4w"] - ], - - "ocean-tables": [ - // see comment in ocean-tables.gc - ["L26", "ocean-spheres"], - ["L25", "ocean-colors"], - ["L23", "ocean-near-indices"], // ok - ["L22", "ocean-trans-indices"], - ["L21", "ocean-mid-indices"], - ["L19", "ocean-mid-masks"], - ["L18", "ocean-spheres"], - ["L17", "ocean-colors"], - ["L15", "ocean-near-indices"], - ["L9", "ocean-near-indices"], - - ["L14", "ocean-trans-indices"], - ["L8", "ocean-trans-indices"], - - ["L13", "ocean-mid-indices"], - ["L7", "ocean-mid-indices"], - - ["L11", "ocean-mid-masks"], - ["L5", "ocean-mid-masks"], - ["L4", "ocean-map"], - ["L3", "ocean-map"], - ["L2", "ocean-map"] - ], - - "ocean-frames": [["L1", "(pointer uint32)", 16384]], - - "shadow-cpu": [ - ["L122", "shadow-data"], - ["L121", "vu-function"] - ], - - "default-menu": [ - ["L6251", "float", true], - ["L6252", "float", true], - ["L6253", "float", true], - ["L6254", "float", true], - ["L6256", "float", true], - ["L6257", "float", true], - ["L6264", "float", true], - ["L6267", "float", true], - ["L6265", "float", true], - ["L6266", "float", true], - ["L6259", "float", true], - ["L6268", "float", true], - ["L6263", "float", true], - ["L6262", "float", true], - ["L6261", "float", true], - ["L6255", "float", true], - ["L6260", "float", true], - ["L6258", "float", true], - ["L6272", "uint64", true], - ["L6273", "uint64", true], - ["L6270", "uint64", true], - ["L6269", "uint64", true], - ["L6271", "uint64", true] - // ["L6268", "(array int)", true, 1] // printed as a float - ], - - // "default-menu": [ - // ["L519", "pair", true], - // ["L1550", "pair", true], - // ["L1552", "pair", true] - // ], - - // "generic-vu1": [ - // ["L12", "gif-tag64", true], - // ["L15", "gif-tag64", true], - // ["L14", "gif-tag-regs", true] - // ], - - "merc-blend-shape": [["L62", "(pointer int16)", 32]], - - "miners": [ - ["L111", "vector"], - ["L281", "vector"] - ], - - "entity": [ - ["L483", "vector2h"], - ["L482", "vector2h"], - ["L480", "vector2h"], - ["L479", "vector2h"], - ["L478", "vector2h"], - ["L477", "vector2h"], - ["L476", "vector2h"], - ["L475", "vector4w"], - ["L474", "vector4w"], - ["L473", "vector4w"], - ["L472", "vector4w"], - ["L471", "vector4w"] - ], - - "assistant": [["L71", "vector"]], - - "target-part": [ - ["L336", "float", true], - ["L337", "float", true], - ["L338", "float", true], - ["L339", "float", true], - ["L340", "float", true], - ["L341", "uint64", true] - ], - - "projectiles": [["L150", "attack-info"]], - "blocking-plane": [ - ["L18", "vector"], - ["L19", "vector"], - ["L20", "vector"] - ], - - "sidekick-human": [ - ["L131", "vector"], - ["L350", "vector"], - ["L940", "float", true], - ["L941", "float", true], - ["L942", "float", true], - ["L943", "float", true], - ["L944", "float", true], - ["L945", "float", true], - ["L946", "float", true], - ["L990", "float", true], - ["L991", "uint64", true], - ["L992", "uint64", true], - ["L993", "uint64", true], - ["L994", "uint64", true] - ], - - "assistant-firecanyon": [["L71", "vector"]], - - "sage-bluehut": [["L82", "vector"]], - - "flutflut-bluehut": [["L34", "vector"]], - - "sharkey": [["L101", "attack-info"]], - - "assistant-citadel": [["L28", "vector"]], - - "robotboss-h": [ - ["L67", "float", true], - ["L68", "uint64", true], - ["L69", "uint64", true] - ], - - "final-door": [ - ["L59", "vector"], - ["L60", "vector"] - ], - - "crates": [ - ["L171", "attack-info"], - ["L175", "attack-info"], - ["L181", "attack-info"], - ["L242", "float", true], - ["L243", "float", true], - ["L245", "float", true], - ["L263", "float", true] - ], - - "hint-control": [ - ["L45", "(array task-hint-control-group)"], - ["L100", "(array level-hint-control)"] - ], - - "cam-master": [ - ["L356", "vector"], - ["L357", "vector"] - ], - - "cam-states": [ - ["L630", "vector"], - ["L631", "vector"], - ["L632", "vector"], - ["L633", "vector"], - ["L672", "float", true], - ["L673", "float", true], - ["L674", "float", true], - ["L675", "float", true], - ["L676", "float", true], - ["L677", "float", true], - ["L678", "float", true], - ["L679", "float", true], - ["L680", "float", true], - ["L681", "float", true], - ["L682", "float", true], - ["L683", "float", true], - ["L684", "float", true], - ["L685", "float", true], - ["L686", "float", true], - ["L687", "float", true], - ["L688", "float", true], - ["L689", "float", true], - ["L690", "float", true], - ["L691", "float", true], - ["L692", "float", true], - ["L693", "float", true], - ["L694", "float", true], - ["L695", "float", true], - ["L696", "float", true], - ["L697", "float", true], - ["L698", "float", true], - ["L699", "float", true], - ["L700", "float", true], - ["L701", "float", true], - ["L702", "float", true], - ["L703", "float", true], - ["L704", "float", true], - ["L705", "float", true], - ["L706", "float", true], - ["L707", "float", true], - ["L708", "float", true], - ["L709", "float", true], - ["L710", "float", true], - ["L711", "float", true], - ["L712", "float", true], - ["L713", "float", true], - ["L714", "float", true], - ["L715", "float", true], - ["L716", "float", true], - ["L717", "float", true], - ["L718", "float", true], - ["L719", "float", true], - ["L720", "float", true], - ["L721", "float", true], - ["L722", "float", true], - ["L723", "float", true], - ["L724", "float", true], - ["L725", "float", true], - ["L726", "float", true], - ["L727", "float", true], - ["L728", "float", true], - ["L729", "float", true], - ["L730", "float", true], - ["L731", "float", true], - ["L732", "float", true], - ["L733", "float", true], - ["L734", "float", true], - ["L735", "float", true], - ["L736", "float", true], - ["L737", "float", true], - ["L738", "float", true], - ["L739", "float", true], - ["L740", "float", true], - ["L741", "float", true], - ["L742", "float", true], - ["L743", "float", true], - ["L744", "float", true], - ["L745", "float", true], - ["L790", "uint64", true], - ["L791", "uint64", true], - ["L792", "uint64", true], - ["L793", "uint64", true] - ], - - "cam-states-dbg": [["L78", "camera-orbit-info"]], - - "cam-layout": [ - ["L766", "quaternion"], - ["L768", "vector"], - ["L775", "vector4w"], - ["L777", "vector4w"], - ["L779", "vector4w"], - ["L781", "vector4w"], - ["L783", "vector4w"], - ["L785", "vector4w"], - ["L787", "vector4w"], - ["L788", "vector4w"], - ["L789", "vector4w"], - ["L790", "vector4w"], - ["L791", "vector"], - ["L792", "vector"], - ["L793", "vector4w"], - ["L794", "vector"], - ["L795", "vector4w"], - ["L796", "vector"], - ["L797", "vector"], - ["L798", "vector4w"], - ["L799", "vector"], - ["L800", "vector4w"], - ["L801", "vector"], - ["L802", "vector"], - ["L803", "vector4w"], - ["L804", "vector"], - ["L805", "vector"], - ["L806", "vector4w"], - ["L807", "vector4w"], - ["L808", "vector"], - ["L809", "vector"], - ["L810", "vector4w"], - ["L811", "vector4w"], - ["L812", "vector"], - ["L813", "vector"], - ["L814", "vector4w"], - ["L815", "vector"], - ["L816", "vector"], - ["L817", "vector4w"], - ["L818", "vector"], - ["L819", "vector"], - ["L820", "vector4w"], - ["L821", "vector"], - ["L822", "vector"], - ["L823", "vector"], - ["L824", "vector"], - ["L832", "vector4w"], - ["L872", "float", true], - ["L873", "float", true], - ["L874", "float", true], - ["L875", "float", true], - ["L876", "float", true], - ["L877", "float", true], - ["L878", "float", true], - ["L879", "float", true], - ["L880", "float", true], - ["L881", "float", true], - ["L882", "float", true], - ["L883", "float", true], - ["L884", "float", true], - ["L885", "float", true], - ["L886", "float", true], - ["L887", "float", true], - ["L888", "float", true], - ["L889", "float", true], - ["L890", "float", true], - ["L891", "float", true], - ["L892", "float", true], - ["L893", "float", true], - ["L894", "float", true], - ["L895", "float", true], - ["L896", "float", true], - ["L897", "float", true], - ["L898", "float", true], - ["L899", "float", true], - ["L900", "float", true], - ["L901", "uint64", true], - ["L904", "uint64", true], - ["L905", "uint64", true], - ["L906", "uint64", true], - ["L907", "uint64", true], - ["L908", "uint64", true], - ["L909", "uint64", true], - ["L910", "uint64", true] - ], - - "process-taskable": [["L251", "attack-info"]], - - "babak-with-cannon": [["L92", "vector"]], - - "flutflut": [["L94", "vector"]], - - "fishermans-boat": [ - ["L210", "vector"], - ["L410", "attack-info"], - ["L411", "vector"], - ["L412", "vector"], - ["L413", "vector"], - ["L431", "(pointer float)", 32], - ["L432", "(pointer float)", 32], - ["L434", "rigid-body-platform-constants"] - ], - - "training-obs": [["L175", "rigid-body-platform-constants"]], - - "bonelurker": [ - ["L72", "attack-info"], - ["L73", "attack-info"] - ], - - "balloonlurker": [ - ["L99", "vector"], - ["L105", "vector"], - ["L107", "attack-info"], - ["L108", "attack-info"], - ["L113", "rigid-body-platform-constants"] - ], - - "assistant-village2": [ - ["L177", "vector"], - ["L219", "attack-info"], - ["L268", "vector"] - ], - - "citb-plat": [ - ["L136", "attack-info"], - ["L155", "rigid-body-platform-constants"] - ], - - "qbert-plat": [["L99", "rigid-body-platform-constants"]], - - "misty-conveyor": [ - ["L60", "vector"], - ["L65", "vector"], - ["L66", "vector"], - ["L71", "vector"], - ["L73", "attack-info"] - ], - - "swamp-bat": [ - ["L88", "matrix"], - ["L99", "vector"], - ["L102", "vector"], - ["L103", "attack-info"] - ], - - "cavecrystal-light": [ - ["L45", "vector"], - ["L46", "vector"] - ], - - "gnawer": [ - ["L195", "attack-info"], - ["L196", "attack-info"], - ["L200", "attack-info"], - ["L216", "(inline-array gnawer-segment-info)", 10] - ], - - "target-tube": [["L142", "vector"]], - - "assistant-village3": [["L43", "vector"]], - - "sage-village3": [["L74", "vector"]], - - "target-snowball": [["L23", "vector"]], - - "ice-cube": [ - ["L210", "vector"], - ["L212", "attack-info"], - ["L213", "attack-info"], - ["L215", "attack-info"] - ], - - "assistant-lavatube": [["L30", "vector"]], - - "citadel-part": [ - ["L235", "float", true], - ["L236", "float", true], - ["L237", "float", true], - ["L238", "float", true], - ["L242", "uint64", true] - ], - - "village1-part": [ - ["L238", "float", true], - ["L239", "float", true], - ["L240", "float", true], - ["L241", "float", true], - ["L245", "uint64", true] - ], - - "sunken-part": [["L220", "uint64", true]], - - "ogre-part": [["L93", "uint64", true]], - - "collectables-part": [ - ["L309", "float", true], - ["L310", "float", true] - ], - - "village1-part2": [ - ["L122", "float", true], - ["L123", "float", true], - ["L124", "float", true], - ["L125", "uint64", true] - ], - - "village2-part": [ - ["L226", "float", true], - ["L227", "float", true], - ["L228", "float", true], - ["L229", "uint64", true], - ["L233", "uint64", true] - ], - - "village3-part": [["L244", "uint64", true]], - - "lavatube-part": [["L110", "uint64", true]], - - "hud-classes": [ - ["L279", "vector"], - ["L310", "vector"], - ["L318", "vector"] - ], - - "sky": [["L13", "vu-function"]], - - "sky-tng": [ - ["L82", "sky-work"], - // 576 bytes, 32 bytes each - ["L81", "(inline-array sky-vertex)", 12], - ["L80", "(inline-array sky-vertex)", 12], - ["L79", "(inline-array sky-vertex)", 72], - ["L78", "(pointer uint8)", 48], - ["L77", "vector"], - ["L76", "vector"] - ], - - "effect-control": [ - ["L300", "float", true], - ["L301", "float", true], - ["L302", "float", true], - ["L306", "float", true], - ["L307", "float", true], - ["L309", "float", true], - ["L310", "float", true], - ["L312", "float", true], - ["L314", "float", true] - ], - - "seagull": [["L226", "(inline-array air-box)", 10]], - - "rolling-race-ring": [ - ["L94", "vector"], - ["L95", "vector"], - ["L96", "vector"], - ["L97", "vector"], - ["L98", "vector"], - ["L99", "vector"], - ["L100", "vector"] - ], - - "anim-tester": [ - ["L509", "(inline-array list-field)", 12], - ["L523", "vector"], - ["L524", "vector"], - ["L649", "float", true], - ["L650", "float", true], - ["L651", "float", true], - ["L652", "float", true], - ["L653", "float", true], - ["L654", "float", true], - ["L655", "float", true], - ["L656", "float", true], - ["L657", "uint64", true], - ["L658", "uint64", true], - ["L663", "uint64", true], - ["L664", "uint64", true], - ["L665", "uint64", true], - ["L666", "uint64", true], - ["L667", "uint64", true], - ["L668", "uint64", true], - ["L669", "uint64", true], - ["L670", "uint64", true] - ], - - "fisher": [ - ["L262", "vector"], - ["L463", "(array (inline-array fisher-params))"] - ], - "fisher-OLD": [ - ["L262", "vector"], - ["L463", "(array (inline-array fisher-params))"] - ], - - "robotboss-weapon": [ - ["L122", "attack-info"], - ["L127", "attack-info"], - ["L138", "attack-info"], - ["L144", "vector4w"], - ["L145", "vector"] - ], - - "robotboss-misc": [["L99", "vector"]], - - "robotboss": [ - ["L646", "attack-info"], - ["L647", "attack-info"], - ["L651", "vector"], - ["L654", "vector"], - ["L655", "vector"], - ["L656", "vector"], - ["L657", "vector"], - ["L658", "vector"], - ["L659", "vector"], - ["L660", "vector"], - ["L661", "vector"], - ["L662", "vector"], - ["L678", "vector"], - ["L669", "vector"], - ["L701", "vector"], - ["L702", "vector"], - ["L703", "vector"], - ["L705", "vector"], - ["L642", "robotboss-dda"], - ["L643", "robotboss-dda"], - ["L644", "robotboss-dda"], - ["L645", "robotboss-dda"], - ["L632", "robotboss-dda"], - ["L713", "float", true], - ["L714", "float", true], - ["L715", "float", true], - ["L716", "float", true], - ["L717", "float", true], - ["L718", "float", true], - ["L719", "float", true], - ["L720", "float", true], - ["L721", "float", true], - ["L722", "float", true], - ["L723", "float", true], - ["L724", "float", true], - ["L725", "float", true], - ["L726", "float", true], - ["L727", "float", true], - ["L728", "float", true], - ["L729", "float", true], - ["L730", "float", true], - ["L731", "float", true], - ["L732", "float", true], - ["L733", "float", true], - ["L734", "float", true], - ["L735", "float", true], - ["L736", "float", true], - ["L737", "float", true], - ["L738", "float", true], - ["L739", "float", true], - ["L740", "float", true], - ["L741", "float", true], - ["L742", "float", true], - ["L743", "float", true], - ["L744", "float", true], - ["L745", "float", true], - ["L746", "float", true], - ["L747", "float", true], - ["L748", "float", true], - ["L749", "float", true], - ["L750", "float", true], - ["L751", "float", true], - ["L752", "float", true], - ["L753", "float", true], - ["L754", "float", true], - ["L755", "float", true], - ["L756", "float", true], - ["L757", "float", true], - ["L758", "float", true], - ["L759", "float", true], - ["L760", "float", true], - ["L761", "float", true], - ["L762", "float", true], - ["L763", "float", true], - ["L764", "float", true], - ["L765", "float", true], - ["L766", "float", true], - ["L767", "float", true], - ["L768", "float", true], - ["L769", "float", true], - ["L770", "float", true], - ["L771", "float", true], - ["L772", "float", true], - ["L773", "float", true], - ["L774", "float", true], - ["L775", "float", true], - ["L776", "float", true], - ["L777", "float", true], - ["L778", "float", true], - ["L779", "float", true], - ["L780", "float", true], - ["L781", "float", true], - ["L782", "float", true], - ["L783", "float", true], - ["L784", "float", true], - ["L785", "float", true], - ["L786", "float", true], - ["L787", "float", true], - ["L788", "float", true], - ["L789", "float", true], - ["L790", "float", true], - ["L791", "float", true], - ["L792", "float", true], - ["L793", "float", true], - ["L794", "float", true], - ["L795", "float", true], - ["L796", "float", true], - ["L797", "float", true], - ["L798", "float", true], - ["L799", "float", true], - ["L800", "float", true], - ["L801", "uint64", true], - ["L802", "uint64", true], - ["L803", "uint64", true], - ["L804", "uint64", true], - ["L814", "float", true], - ["L815", "uint64", true], - ["L816", "uint64", true] - ], - - "sage-finalboss": [ - ["L528", "vector"], - ["L272", "vector"], - ["L527", "quaternion"] - ], - - "sage-finalboss-OLD": [ - ["L528", "vector"], - ["L272", "vector"], - ["L527", "quaternion"] - ], - - "part-tester": [ - ["L27", "rgba", true], - ["L32", "uint64", true] - ], - - "process-drawable": [ - ["L242", "vector"], - ["L241", "vector"] - ], - - "ocean-texture": [ - ["L14", "vu-function"], - ["L15", "ocean-texture-work"] - ], - - "cavegeyserrock": [ - ["L56", "attack-info"], - ["L54", "vector"], - ["L53", "vector"], - ["L52", "vector"] - ], - - "junglesnake": [ - ["L93", "(pointer float)", 28], - ["L100", "attack-info"], - ["L101", "attack-info"] - ], - - "citadel-obs": [["L265", "attack-info"]], - - "jungleb-obs": [["L34", "vector"]], - - "jungle-obs": [["L164", "attack-info"]], - - "misty-obs": [["L135", "rigid-body-platform-constants"]], - - "village2-obs": [ - ["L274", "rigid-body-platform-constants"], - ["L275", "rigid-body-platform-constants"], - ["L288", "vector"] - ], - - "swamp-obs": [ - ["L85", "rigid-body-platform-constants"], - ["L109", "attack-info"] - ], - - "maincave-obs": [ - ["L159", "vector"], - ["L160", "vector"], - ["L175", "attack-info"], - ["L176", "attack-info"] - ], - - "sunken-obs": [ - ["L43", "vector"], - ["L45", "vector"], - ["L47", "vector"], - ["L49", "vector"], - ["L51", "vector"] - ], - - "rolling-obs": [ - ["L234", "vector"], - ["L238", "vector"], - ["L239", "vector"], - ["L240", "vector"], - ["L241", "vector"], - ["L242", "vector"], - ["L243", "vector"], - ["L244", "vector"], - ["L245", "vector"], - ["L246", "vector"], - ["L247", "vector"], - ["L248", "vector"], - ["L257", "vector"] - ], - - "firecanyon-obs": [["L57", "attack-info"]], - - "ogre-obs": [ - ["L141", "rigid-body-platform-constants"], - ["L142", "rigid-body-platform-constants"], - ["L156", "attack-info"] - ], - - "snow-obs": [["L201", "vector"]], - - "lavatube-obs": [ - ["L162", "attack-info"], - ["L194", "attack-info"] - ], - - "tfrag": [ - ["L107", "vu-function"], - ["L106", "vector"], - ["L105", "vector"] - ], - - "generic-obs": [ - ["L455", "quaternion"], - ["L457", "attack-info"] - ], - - "collectables": [ - ["L533", "vector"], - ["L606", "float", true], - ["L607", "float", true], - ["L608", "float", true], - ["L609", "float", true], - ["L610", "float", true], - ["L611", "float", true], - ["L612", "float", true], - ["L613", "float", true], - ["L614", "float", true], - ["L615", "float", true], - ["L616", "float", true], - ["L617", "float", true], - ["L618", "float", true], - ["L619", "float", true], - ["L620", "float", true], - ["L621", "float", true], - ["L622", "float", true], - ["L623", "float", true], - ["L624", "float", true], - ["L625", "float", true], - ["L626", "float", true], - ["L627", "float", true], - ["L628", "float", true], - ["L629", "float", true], - ["L630", "float", true], - ["L631", "float", true], - ["L632", "float", true], - ["L633", "float", true], - ["L634", "float", true], - ["L635", "float", true], - ["L636", "float", true], - ["L637", "float", true], - ["L638", "float", true], - ["L639", "float", true], - ["L640", "float", true], - ["L641", "float", true], - ["L642", "float", true], - ["L643", "float", true], - ["L644", "float", true], - ["L645", "float", true], - ["L646", "float", true], - ["L647", "float", true], - ["L648", "float", true], - ["L649", "float", true], - ["L650", "float", true], - ["L651", "float", true], - ["L652", "float", true], - ["L653", "float", true], - ["L654", "float", true], - ["L655", "float", true], - ["L656", "float", true], - ["L657", "float", true], - ["L658", "float", true], - ["L659", "float", true], - ["L660", "float", true], - ["L661", "float", true], - ["L662", "float", true], - ["L663", "float", true], - ["L664", "uint64", true], - ["L666", "uint64", true], - ["L665", "uint64", true], - ["L667", "uint64", true], - ["L668", "uint64", true], - ["L669", "uint64", true], - ["L670", "uint64", true], - ["L671", "uint64", true], - ["L672", "uint64", true], - ["L585", "vector"], - ["L725", "float", true], - ["L726", "float", true], - ["L727", "float", true], - ["L728", "uint64", true], - ["L729", "uint64", true], - ["L730", "uint64", true], - ["L731", "uint64", true], - ["L732", "uint64", true], - ["L733", "uint64", true] - ], - - "plant-boss": [ - ["L343", "vector"], - ["L344", "vector"], - ["L345", "vector"], - ["L346", "vector"], - ["L347", "vector"], - ["L348", "vector"], - ["L349", "vector"], - ["L350", "vector"], - ["L351", "vector"], - ["L352", "vector"], - ["L353", "vector"], - ["L354", "vector"], - ["L355", "vector"], - ["L356", "vector"], - ["L357", "vector"], - ["L358", "vector"], - ["L359", "vector"], - ["L360", "vector"], - ["L361", "vector"], - ["L362", "vector"], - ["L363", "vector"], - ["L364", "vector"], - ["L375", "attack-info"], - ["L377", "attack-info"], - ["L399", "attack-info"], - ["L403", "attack-info"], - ["L412", "float", true], - ["L413", "float", true], - ["L414", "float", true], - ["L415", "float", true], - ["L416", "float", true], - ["L417", "float", true], - ["L418", "float", true], - ["L419", "float", true], - ["L420", "float", true], - ["L421", "float", true], - ["L422", "float", true], - ["L423", "float", true], - ["L424", "float", true], - ["L425", "float", true], - ["L426", "float", true], - ["L427", "float", true], - ["L428", "float", true], - ["L429", "float", true], - ["L430", "float", true], - ["L431", "float", true], - ["L432", "float", true], - ["L433", "float", true], - ["L434", "float", true], - ["L435", "float", true], - ["L436", "float", true], - ["L437", "float", true], - ["L438", "float", true], - ["L439", "float", true], - ["L440", "float", true], - ["L441", "float", true], - ["L442", "float", true], - ["L443", "float", true], - ["L444", "float", true], - ["L445", "float", true], - ["L446", "float", true], - ["L447", "float", true], - ["L448", "float", true], - ["L449", "float", true], - ["L450", "float", true], - ["L451", "float", true], - ["L452", "float", true], - ["L453", "float", true], - ["L454", "float", true], - ["L455", "float", true], - ["L456", "float", true], - ["L457", "float", true], - ["L458", "float", true], - ["L459", "float", true], - ["L460", "float", true], - ["L461", "float", true], - ["L462", "float", true], - ["L463", "float", true], - ["L464", "float", true], - ["L465", "float", true], - ["L466", "float", true], - ["L467", "float", true], - ["L468", "float", true], - ["L469", "float", true], - ["L470", "uint64", true], - ["L498", "float", true], - ["L499", "uint64", true], - ["L500", "uint64", true], - ["L501", "uint64", true] - ], - - "ropebridge": [ - ["L97", "(inline-array ropebridge-tuning)", 6], - ["L104", "(inline-array vector)", 18], // 70/72 words - ["L105", "(inline-array vector)", 16], // 62/64 words - ["L106", "(inline-array vector)", 26], // 102/104 words - ["L107", "(inline-array vector)", 35] // 138/140 words - ], - - "double-lurker": [ - ["L109", "vector"], - ["L122", "attack-info"], - ["L123", "attack-info"], - ["L128", "attack-info"] - ], - - "billy": [["L234", "vector"]], - - "lurkerworm": [["L56", "attack-info"]], - - "pelican": [ - ["L199", "vector"], - ["L225", "vector"] - ], - - "citadel-sages": [ - ["L179", "vector"], - ["L623", "vector"], - ["L651", "vector"], - ["L701", "vector"] - ], - - "shover": [ - ["L13", "attack-info"], - ["L14", "attack-info"] - ], - - "steam-cap": [["L51", "attack-info"]], - - "sidekick": [["L29", "vector"]], - - "target-handler": [ - ["L195", "attack-info"], - ["L197", "float", true], - ["L198", "float", true], - ["L199", "float", true], - ["L200", "float", true], - ["L201", "float", true], - ["L202", "float", true], - ["L203", "float", true], - ["L204", "float", true], - ["L205", "uint64", true], - ["L206", "uint64", true], - ["L207", "uint64", true], - ["L208", "uint64", true], - ["L209", "uint64", true] - ], - - "water": [ - ["L148", "attack-info"], - ["L149", "attack-info"], - ["L150", "attack-info"] - ], - - "racer": [["L106", "vector"]], - - "target-racer": [ - ["L237", "attack-info"], - ["L238", "attack-info"], - ["L240", "vector"] - ], - - "rolling-lightning-mole": [ - ["L181", "vector"], - ["L185", "vector4w"], - ["L186", "vector4w"], - ["L187", "vector4w"], - ["L189", "vector4w"], - ["L195", "vector"], - ["L201", "vector4w"], - ["L202", "vector4w"], - ["L203", "vector4w"], - ["L204", "vector4w"], - ["L205", "vector4w"], - ["L206", "vector4w"] - ], - - "rolling-robber": [ - ["L127", "vector"], - ["L139", "vector"], - ["L140", "vector"], - ["L145", "vector"] - ], - - "target-flut": [ - ["L399", "attack-info"], - ["L406", "float", true], - ["L407", "float", true], - ["L408", "float", true], - ["L409", "float", true], - ["L410", "float", true], - ["L411", "float", true], - ["L412", "float", true], - ["L413", "float", true], - ["L414", "float", true], - ["L415", "float", true], - ["L416", "float", true], - ["L417", "float", true], - ["L418", "float", true], - ["L419", "float", true], - ["L420", "float", true], - ["L421", "float", true], - ["L422", "float", true], - ["L423", "float", true], - ["L424", "float", true], - ["L425", "float", true], - ["L426", "float", true], - ["L427", "float", true], - ["L428", "float", true], - ["L429", "float", true], - ["L430", "float", true], - ["L431", "float", true], - ["L432", "float", true], - ["L433", "float", true], - ["L434", "float", true], - ["L435", "float", true], - ["L436", "float", true], - ["L437", "float", true], - ["L438", "float", true], - ["L439", "float", true], - ["L440", "float", true], - ["L441", "float", true], - ["L442", "float", true], - ["L443", "float", true], - ["L444", "float", true], - ["L445", "float", true], - ["L446", "float", true], - ["L447", "float", true], - ["L448", "float", true], - ["L449", "float", true], - ["L450", "float", true], - ["L451", "float", true], - ["L452", "float", true], - ["L453", "float", true], - ["L454", "float", true], - ["L455", "float", true], - ["L456", "float", true], - ["L457", "float", true], - ["L458", "uint64", true], - ["L459", "uint64", true], - ["L460", "uint64", true], - ["L461", "uint64", true], - ["L462", "uint64", true], - ["L463", "uint64", true], - ["L464", "uint64", true], - ["L465", "uint64", true], - ["L483", "uint64", true], - ["L484", "uint64", true] - ], - - "collide-shape": [ - ["L399", "attack-info"], - ["L408", "vector"], - ["L410", "vector"], - ["L411", "vector"], - ["L413", "attack-info"], - ["L414", "attack-info"], - ["L415", "attack-info"], - ["L416", "attack-info"], - ["L417", "vector"], - ["L418", "attack-info"], - ["L419", "attack-info"], - ["L420", "vector"], - ["L421", "vector"] - ], - - "collide-planes": [ - ["L53", "vector4w"], - ["L54", "vector4w"], - ["L55", "vector4w"], - ["L56", "vector4w"], - ["L57", "vector4w"], - ["L58", "vector4w"], - ["L59", "vector4w"], - ["L60", "vector4w"], - ["L63", "vector4w"], - ["L64", "vector4w"], - ["L65", "vector4w"], - ["L66", "vector4w"] - ], - - "collide-probe": [ - ["L100", "vector"], - ["L102", "vector"] - ], - - "collide-cache": [ - ["L304", "vector"], - ["L303", "vector4w"] - ], - - "load-boundary-data": [["L2", "(array array)"]], - - "tfrag-near": [["L1", "vu-function"]], - - "snow-ram-boss": [ - ["L220", "attack-info"], - ["L221", "attack-info"], - ["L222", "attack-info"], - ["L223", "attack-info"], - ["L225", "attack-info"] - ], - - "snow-ram": [["L73", "attack-info"]], - - "snow-bumper": [["L54", "attack-info"]], - - "snow-ball": [ - ["L86", "(pointer float)", 8], - ["L87", "(pointer float)", 8], - ["L89", "attack-info"] - ], - - "puffer": [["L170", "attack-info"]], - - "driller-lurker": [ - ["L174", "attack-info"], - ["L175", "attack-info"] - ], - - "dark-crystal": [["L36", "attack-info"]], - - "kermit": [["L164", "attack-info"]], - - "swamp-blimp": [ - ["L177", "vector"], - ["L182", "vector"], - ["L187", "vector"], - ["L198", "tetherrock-info"], - ["L200", "tetherrock-info"], - ["L203", "tetherrock-info"], - ["L206", "tetherrock-info"], - ["L209", "tetherrock-info"] - ], - - "mistycannon": [["L199", "attack-info"]], - - "darkvine": [["L41", "attack-info"]], - - "jungle-mirrors": [ - ["L325", "vector"], - ["L326", "vector4w-4"] - ], - - "quicksandlurker": [["L111", "attack-info"]], - - "voicebox": [ - ["L47", "vector"], - ["L48", "vector"], - ["L49", "vector"], - ["L50", "vector"], - ["L51", "vector"] - ], - - "mother-spider": [ - ["L278", "vector"], - ["L279", "vector"], - ["L288", "attack-info"], - ["L301", "(inline-array mother-spider-leg-info)", 8], - ["L302", "(inline-array mother-spider-thread)", 9] - ], - - "bully": [ - ["L90", "attack-info"], - ["L91", "attack-info"], - ["L93", "attack-info"] - ], - - "bones": [ - ["L159", "shadow-settings"], - ["L161", "vector"], - ["L162", "vu-function"] - ], - - "tie": [["L43", "vu-function"]], - - "tie-near": [["L91", "vu-function"]], - - "depth-cue": [["L17", "depth-cue-work"]], - - "navigate": [ - ["L402", "vector"], - ["L403", "vector"], - ["L404", "vector"], - ["L405", "vector"], - ["L406", "vector"], - ["L422", "vector"], - ["L419", "(pointer uint8)", 4], - ["L425", "float", true], - ["L426", "float", true], - ["L429", "float", true], - ["L430", "float", true], - ["L436", "float", true], - ["L438", "float", true], - ["L444", "float", true], - ["L442", "float", true], - ["L520", "vector"], - ["L522", "float", true], // TODO - meters - ["L523", "float", true] // TODO - meters - ], - - "eye": [ - ["L36", "eye-work"], - ["L38", "float", true], - ["L40", "float", true], - ["L44", "uint64", true] - ], - - "snow-bunny": [["L190", "attack-info"]], - - "ocean-vu0": [ - ["L8", "vu-function"], - ["L9", "ocean-vu0-work"] - ], - - "ocean-near": [ - ["L35", "vu-function"], - ["L37", "float", true], - ["L44", "float", true] - ], - - "ocean-mid": [["L150", "vu-function"]], - - "generic-merc": [ - ["L161", "(inline-array invinitdata)", 8], - ["L162", "vu-function"] - ], - - "generic-vu0": [["L1", "vu-function"]], - - "generic-vu1": [ - ["L8", "vector4w"], - ["L9", "vector4w"], - ["L10", "vu-function"] - ], - - "generic-effect": [["L95", "generic-consts"]], - - "shadow-vu1": [ - ["L5", "vu-function"], - ["L6", "shadow-vu1-gifbuf-template"] - ], - - "generic-vu0": [["L1", "vu-function"]], - "shrubbery": [["L133", "vu-function"]], - - "credits": [ - ["L32", "(array int32)"], - ["L33", "(array float)"] - ], - -// BEGIN - "ambient": [ - ["L334", "vector2h"], - ["L332", "vector2h"], - ["L331", "vector2h"], - ["L330", "vector2h"], - ["L329", "vector2h"], - ["L328", "vector2h"] - ], - - "sparticle-launcher": [["L193", "adgif-shader"]], - - "load-boundary": [ - ["L328", "(inline-array lbvtx)", 12], - ["L325", "vector"] - ], - - "cam-debug": [ - ["L172", "vector4w"], - ["L173", "vector4w"], - ["L174", "vector4w"], - ["L175", "vector4w"], - ["L176", "vector4w"], - ["L207", "vector4w"], - ["L208", "vector4w"], - ["L209", "vector4w"], - ["L210", "vector4w"], - ["L211", "vector4w"], - ["L212", "vector4w"], - ["L213", "vector4w"], - ["L214", "vector4w"], - ["L215", "vector4w"], - ["L216", "vector4w"], - ["L217", "vector4w"], - ["L218", "vector4w"], - ["L219", "vector4w"], - ["L220", "vector4w"], - ["L221", "vector4w"], - ["L222", "vector4w"], - ["L223", "vector4w"], - ["L224", "vector4w"], - ["L225", "vector4w"], - ["L226", "vector4w"], - ["L227", "vector4w"], - ["L228", "vector4w"], - ["L229", "vector4w"], - ["L230", "vector4w"], - ["L231", "vector4w"], - ["L232", "vector4w"], - ["L237", "vector4w"], - ["L238", "vector4w"], - ["L239", "vector4w"], - ["L240", "vector4w"], - ["L241", "vector"], - ["L242", "vector"], - ["L243", "vector4w"], - ["L244", "vector"], - ["L245", "vector"], - ["L252", "vector"], - ["L253", "vector"], - ["L254", "vector"], - ["L255", "vector"], - ["L261", "vector4w"] - ], - - "sequence-a-village1": [["L40", "vector"]], - - "ogreboss": [ - ["L360", "attack-info"], - ["L368", "attack-info"], - ["L371", "attack-info"], - ["L372", "attack-info"], - ["L385", "float", true], - ["L386", "float", true], - ["L387", "float", true], - ["L388", "float", true], - ["L389", "float", true], - ["L390", "float", true], - ["L391", "float", true], - ["L392", "float", true], - ["L393", "float", true], - ["L394", "float", true], - ["L395", "float", true], - ["L396", "float", true], - ["L397", "float", true], - ["L398", "float", true], - ["L399", "float", true], - ["L400", "float", true], - ["L401", "float", true], - ["L402", "float", true], - ["L403", "float", true], - ["L404", "float", true], - ["L405", "float", true], - ["L406", "float", true], - ["L407", "float", true], - ["L408", "float", true], - ["L409", "float", true], - ["L410", "float", true], - ["L411", "float", true], - ["L412", "float", true], - ["L413", "float", true], - ["L414", "float", true], - ["L415", "float", true], - ["L416", "float", true], - ["L417", "float", true], - ["L418", "float", true], - ["L419", "float", true], - ["L420", "float", true], - ["L421", "float", true], - ["L422", "float", true], - ["L423", "float", true], - ["L424", "float", true], - ["L425", "float", true], - ["L426", "float", true], - ["L427", "float", true], - ["L428", "float", true], - ["L429", "float", true], - ["L430", "float", true], - ["L431", "float", true], - ["L432", "float", true], - ["L433", "float", true], - ["L434", "float", true], - ["L435", "float", true], - ["L436", "float", true], - ["L437", "float", true], - ["L438", "float", true], - ["L439", "float", true], - ["L440", "float", true], - ["L441", "float", true], - ["L442", "float", true], - ["L443", "float", true], - ["L444", "float", true], - ["L445", "float", true], - ["L446", "float", true], - ["L447", "float", true], - ["L448", "float", true], - ["L449", "float", true], - ["L450", "float", true], - ["L451", "float", true], - ["L452", "float", true], - ["L453", "float", true], - ["L454", "float", true], - ["L455", "float", true], - ["L456", "float", true], - ["L457", "float", true], - ["L458", "float", true], - ["L459", "float", true], - ["L460", "float", true], - ["L461", "float", true], - ["L462", "rgba", true], - ["L463", "uint64", true], - ["L464", "uint64", true], - ["L465", "uint64", true], - ["L466", "uint64", true], - ["L467", "uint64", true], - ["L526", "float", true], - ["L527", "uint64", true], - ["L528", "uint64", true], - ["L529", "uint64", true], - ["L530", "uint64", true], - ["L531", "uint64", true] - ], - - "flying-lurker": [ - ["L200", "attack-info"], - ["L190", "vector"] - ], - - "target": [ - ["L728", "float", true], - ["L729", "float", true], - ["L730", "float", true], - ["L731", "float", true], - ["L732", "float", true], - ["L733", "float", true], - ["L734", "float", true], - ["L735", "float", true], - ["L736", "float", true], - ["L737", "float", true], - ["L738", "float", true], - ["L739", "float", true], - ["L740", "float", true], - ["L741", "float", true], - ["L742", "float", true], - ["L743", "float", true], - ["L744", "float", true], - ["L745", "float", true], - ["L746", "float", true], - ["L747", "float", true], - ["L748", "float", true], - ["L749", "float", true], - ["L750", "float", true], - ["L751", "float", true], - ["L752", "float", true], - ["L753", "float", true], - ["L754", "float", true], - ["L755", "float", true], - ["L756", "float", true], - ["L757", "float", true], - ["L758", "float", true], - ["L759", "float", true], - ["L760", "float", true], - ["L761", "float", true], - ["L762", "float", true], - ["L763", "float", true], - ["L764", "float", true], - ["L765", "float", true], - ["L766", "float", true], - ["L767", "float", true], - ["L768", "float", true], - ["L769", "float", true], - ["L770", "float", true], - ["L771", "float", true], - ["L772", "float", true], - ["L773", "float", true], - ["L774", "float", true], - ["L775", "float", true], - ["L776", "float", true], - ["L777", "float", true], - ["L778", "float", true], - ["L779", "float", true], - ["L780", "float", true], - ["L781", "float", true], - ["L782", "float", true], - ["L783", "float", true], - ["L784", "float", true], - ["L785", "float", true], - ["L786", "float", true], - ["L787", "float", true], - ["L788", "float", true], - ["L789", "float", true], - ["L790", "float", true], - ["L791", "float", true], - ["L792", "float", true], - ["L793", "float", true], - ["L794", "float", true], - ["L795", "float", true], - ["L796", "float", true], - ["L797", "float", true], - ["L798", "float", true], - ["L799", "float", true], - ["L800", "float", true], - ["L801", "float", true], - ["L802", "float", true], - ["L803", "float", true], - ["L804", "float", true], - ["L805", "float", true], - ["L806", "float", true], - ["L807", "float", true], - ["L808", "float", true], - ["L809", "float", true], - ["L810", "float", true], - ["L811", "float", true], - ["L812", "float", true], - ["L813", "float", true], - ["L814", "float", true], - ["L815", "float", true], - ["L816", "float", true], - ["L817", "float", true], - ["L818", "float", true], - ["L819", "float", true], - ["L820", "float", true], - ["L821", "float", true], - ["L822", "float", true], - ["L823", "uint64", true], - ["L824", "uint64", true] - ], - - "target2": [ - ["L615", "attack-info"], - ["L656", "float", true], - ["L657", "float", true], - ["L658", "float", true], - ["L659", "float", true], - ["L660", "float", true], - ["L661", "float", true], - ["L662", "float", true], - ["L663", "float", true], - ["L664", "float", true], - ["L665", "float", true], - ["L666", "float", true], - ["L667", "float", true], - ["L668", "float", true], - ["L669", "float", true], - ["L670", "float", true], - ["L671", "float", true], - ["L672", "float", true], - ["L673", "float", true], - ["L674", "float", true], - ["L675", "float", true], - ["L676", "float", true], - ["L677", "float", true], - ["L678", "float", true], - ["L679", "float", true], - ["L680", "float", true], - ["L681", "float", true], - ["L682", "float", true], - ["L683", "float", true], - ["L684", "float", true], - ["L685", "float", true], - ["L686", "float", true], - ["L687", "float", true], - ["L688", "float", true], - ["L689", "float", true], - ["L690", "float", true], - ["L691", "float", true], - ["L692", "float", true], - ["L693", "float", true], - ["L694", "float", true], - ["L695", "float", true], - ["L696", "float", true], - ["L697", "float", true], - ["L698", "float", true], - ["L699", "float", true], - ["L700", "float", true], - ["L701", "float", true], - ["L702", "float", true], - ["L703", "float", true], - ["L704", "float", true], - ["L705", "float", true], - ["L706", "float", true], - ["L707", "float", true], - ["L708", "float", true], - ["L709", "float", true], - ["L710", "float", true], - ["L711", "float", true], - ["L712", "float", true], - ["L713", "float", true], - ["L714", "float", true], - ["L715", "float", true], - ["L716", "float", true], - ["L717", "float", true], - ["L718", "float", true], - ["L719", "float", true], - ["L720", "float", true], - ["L721", "float", true], - ["L722", "float", true], - ["L723", "float", true], - ["L724", "float", true], - ["L725", "float", true], - ["L726", "float", true], - ["L727", "float", true], - ["L728", "float", true], - ["L729", "float", true], - ["L730", "float", true], - ["L731", "float", true], - ["L732", "float", true], - ["L733", "float", true], - ["L734", "float", true], - ["L735", "float", true], - ["L736", "float", true], - ["L737", "float", true], - ["L738", "float", true], - ["L739", "float", true], - ["L740", "float", true], - ["L741", "float", true], - ["L742", "float", true], - ["L743", "float", true], - ["L744", "float", true], - ["L745", "float", true], - ["L746", "float", true], - ["L747", "float", true], - ["L748", "uint64", true], - ["L759", "uint64", true] - ], - - "target-death": [ - ["L314", "vector"], - ["L322", "float", true], - ["L323", "float", true], - ["L324", "float", true], - ["L325", "float", true], - ["L326", "float", true], - ["L327", "float", true], - ["L328", "float", true], - ["L329", "float", true], - ["L330", "float", true], - ["L331", "float", true], - ["L332", "float", true], - ["L333", "float", true], - ["L334", "float", true], - ["L335", "float", true], - ["L336", "float", true], - ["L337", "float", true], - ["L338", "float", true], - ["L339", "float", true], - ["L340", "float", true], - ["L341", "float", true], - ["L342", "float", true], - ["L343", "float", true], - ["L344", "float", true], - ["L345", "float", true], - ["L346", "float", true], - ["L347", "float", true], - ["L348", "float", true], - ["L349", "float", true], - ["L350", "uint64", true], - ["L351", "uint64", true], - ["L352", "uint64", true], - ["L353", "uint64", true], - ["L354", "uint64", true], - ["L355", "uint64", true], - ["L356", "uint64", true], - ["L357", "uint64", true], - ["L358", "uint64", true], - ["L361", "float", true] - ], - - "progress": [ - ["L576", "vector"], - ["L578", "vector"], - ["L580", "vector"], - ["L582", "vector"], - ["L584", "vector"], - ["L586", "vector"], - ["L589", "float", true], - ["L590", "float", true], - ["L591", "float", true], - ["L592", "float", true], - ["L593", "float", true], - ["L594", "float", true], - ["L595", "float", true], - ["L596", "float", true], - ["L597", "float", true], - ["L598", "float", true], - ["L599", "float", true], - ["L600", "float", true], - ["L601", "float", true], - ["L602", "float", true], - ["L603", "float", true], - ["L604", "float", true], - ["L605", "float", true], - ["L606", "float", true], - ["L607", "float", true], - ["L608", "float", true], - ["L609", "float", true], - ["L610", "float", true], - ["L611", "float", true], - ["L612", "float", true], - ["L613", "float", true], - ["L614", "float", true], - ["L615", "float", true], - ["L617", "float", true], - ["L616", "float", true], - ["L618", "float", true], - ["L619", "float", true], - ["L620", "float", true], - ["L621", "float", true], - ["L622", "float", true], - ["L623", "float", true], - ["L624", "float", true], - ["L625", "float", true], - ["L626", "float", true], - ["L627", "float", true], - ["L628", "float", true], - ["L629", "float", true], - ["L630", "float", true], - ["L631", "float", true], - ["L632", "float", true], - ["L633", "float", true], - ["L634", "float", true], - ["L635", "float", true], - ["L636", "float", true], - ["L637", "float", true], - ["L638", "float", true], - ["L639", "uint64", true], - ["L640", "uint64", true], - ["L641", "uint64", true], - ["L642", "uint64", true], - ["L643", "uint64", true], - ["L644", "uint64", true], - ["L645", "uint64", true], - ["L646", "uint64", true], - ["L647", "uint64", true], - ["L648", "uint64", true], - ["L649", "uint64", true], - ["L650", "uint64", true], - ["L651", "uint64", true], - ["L652", "uint64", true], - ["L670", "uint64", true] - ], - - // please do not add things after this entry! git is dumb. - "object-file-that-doesnt-actually-exist-and-i-just-put-this-here-to-prevent-merge-conflicts-with-this-file": [] -} diff --git a/decompiler/config/jak1_pal/type_casts.jsonc b/decompiler/config/jak1_pal/type_casts.jsonc deleted file mode 100644 index 20fc75e2c3..0000000000 --- a/decompiler/config/jak1_pal/type_casts.jsonc +++ /dev/null @@ -1,7711 +0,0 @@ -{ - "(method 2 array)": [ - [23, "gp", "(array int32)"], - [43, "gp", "(array uint32)"], - [63, "gp", "(array int64)"], - [83, "gp", "(array uint64)"], - [102, "gp", "(array int8)"], - [121, "gp", "(array uint8)"], - [141, "gp", "(array int16)"], - [161, "gp", "(array uint16)"], - [186, "gp", "(array uint128)"], - [204, "gp", "(array int32)"], - [223, "gp", "(array float)"], - [232, "gp", "(array float)"], - [249, "gp", "(array basic)"], - [258, "gp", "(array basic)"] - ], - "(method 3 array)": [ - [44, "gp", "(array int32)"], - [62, "gp", "(array uint32)"], - [80, "gp", "(array int64)"], - [98, "gp", "(array uint64)"], - [115, "gp", "(array int8)"], - [132, "gp", "(array int8)"], - [150, "gp", "(array int16)"], - [168, "gp", "(array uint16)"], - [191, "gp", "(array uint128)"], - [207, "gp", "(array int32)"], - [226, "gp", "(array float)"], - [243, "gp", "(array basic)"] - ], - "(method 0 cpu-thread)": [[[13, 28], "v0", "cpu-thread"]], - "(method 0 process)": [ - [12, "a0", "int"], - [[13, 43], "v0", "process"] - ], - "(method 0 dead-pool-heap)": [ - [60, "v0", "int"], - [[61, 73], "v0", "dead-pool-heap"] - ], - "(method 21 dead-pool-heap)": [ - [5, "v1", "pointer"], - [13, "a0", "pointer"], - [25, "v1", "pointer"] - ], - "(method 5 dead-pool-heap)": [ - [3, "v1", "int"], - [3, "a0", "int"] - ], - "(method 0 protect-frame)": [ - [0, "a0", "int"], - [[1, 8], "v0", "protect-frame"] - ], - "(method 10 process)": [[[24, 30], "s4", "protect-frame"]], - "(method 9 process)": [[43, "s5", "process"]], - "(method 14 dead-pool)": [ - [[24, 25], "v1", "(pointer process)"], - [[30, 39], "s4", "(pointer process)"] - ], - "inspect-process-heap": [ - [[4, 11], "s5", "basic"], - [17, "s5", "pointer"] - ], - - "run-function-in-process": [[40, "a0", "dead-pool-heap"]], - - // GSTRING - "name=": [ - [26, "a1", "symbol"], - [42, "a0", "symbol"] - ], - "string-cat-to-last-char": [ - [3, "s5", "(pointer uint8)"], - [4, "s5", "string"] - ], - - // GSTATE - "enter-state": [ - [68, "s0", "protect-frame"], - [101, "t9", "(function object object object object object object none)"] - ], - - "send-event-function": [[[7, 12], "a0", "process"]], - - // MATH - "log2": [[3, "v1", "int"]], - - // QUATERNION - "vector-x-quaternion!": [[10, "v1", "(pointer uint128)"]], - "vector-y-quaternion!": [[10, "v1", "(pointer uint128)"]], - "vector-z-quaternion!": [[10, "v1", "(pointer uint128)"]], - - // Matrix - //"eul->matrix": [[[110, 228], "gp", "(pointer float)"]], - - // DMA - "dma-send-to-spr": [[[0, 32], "s5", "dma-bank-spr"]], - "dma-send-to-spr-no-flush": [[[0, 32], "s5", "dma-bank-spr"]], - "dma-send-from-spr": [[[0, 32], "s5", "dma-bank-spr"]], - "dma-send-from-spr-no-flush": [[[0, 32], "s5", "dma-bank-spr"]], - "dma-initialize": [ - [1, "v1", "vif-bank"], - [8, "v1", "vif-bank"], - [6, "a0", "vif-bank"], - [13, "a0", "vif-bank"] - ], - "clear-vu1-mem": [[[0, 11], "v1", "(pointer uint32)"]], - "clear-vu0-mem": [[[0, 11], "v1", "(pointer uint32)"]], - "dump-vu1-mem": [[[0, 49], "gp", "(pointer uint32)"]], - "dump-vu1-range": [[[0, 54], "s4", "(pointer uint32)"]], - "ultimate-memcpy": [ - [[0, 54], "s4", "dma-bank-spr"], - [[0, 54], "s3", "dma-bank-spr"] - ], - "dma-buffer-add-vu-function": [[[9, 33], "t2", "dma-packet"]], - "dma-buffer-add-buckets": [ - [[1, 4], "v1", "dma-bucket"], - [5, "v1", "pointer"], - [[9, 11], "v1", "dma-bucket"], - [11, "v1", "pointer"] - ], - "dma-buffer-patch-buckets": [ - [7, "a0", "(inline-array dma-bucket)"], - [8, "a3", "pointer"], - [14, "a0", "(inline-array dma-bucket)"], - [3, "a0", "(inline-array dma-bucket)"], - [11, "a0", "(inline-array dma-bucket)"], - [13, "a0", "(inline-array dma-bucket)"], - [19, "a0", "(inline-array dma-bucket)"] - ], - "dma-bucket-insert-tag": [ - [[2, 6], "v1", "dma-bucket"], - [3, "a0", "dma-bucket"] - ], - "disasm-vif-details": [ - [[62, 94], "s3", "(pointer uint32)"], - [[98, 130], "s3", "(pointer uint16)"], - [[134, 164], "s3", "(pointer uint32)"], - [[168, 198], "s3", "(pointer uint16)"], - [[202, 225], "s3", "(pointer uint16)"] - ], - "disasm-vif-tag": [ - [[81, 85], "t1", "vif-stcycl-imm"], - [242, "a0", "vif-unpack-imm"] - ], - "disasm-dma-list": [ - [25, "v1", "dma-tag"], - [153, "v1", "dma-packet"], - [189, "v1", "dma-packet"], - [229, "v1", "dma-packet"], - [258, "v1", "dma-packet"], - [302, "v1", "dma-packet"], - [308, "v1", "dma-packet"], - [152, "v1", "(pointer uint64)"], - [167, "v1", "(pointer uint64)"], - [176, "v1", "(pointer uint64)"], - [198, "v1", "(pointer uint64)"], - [207, "v1", "(pointer uint64)"], - [238, "v1", "(pointer uint64)"], - [247, "v1", "(pointer uint64)"], - [282, "v1", "(pointer uint64)"], - [291, "v1", "(pointer uint64)"], - [324, "v1", "(pointer uint64)"], - [334, "v1", "(pointer uint64)"] - ], - "default-buffer-init": [ - [[8, 15], "a1", "dma-gif-packet"], - [[18, 24], "a1", "gs-gif-tag"], - [29, "a1", "(pointer gs-alpha)"], - [31, "a1", "(pointer gs-reg64)"], - [33, "a1", "(pointer gs-zbuf)"], - [35, "a1", "(pointer gs-reg64)"], - [37, "a1", "(pointer gs-test)"], - [39, "a1", "(pointer gs-reg64)"], - [40, "a1", "(pointer uint64)"], - [42, "a1", "(pointer gs-reg64)"], - [44, "a1", "(pointer gs-clamp)"], - [46, "a1", "(pointer gs-reg64)"], - [48, "a1", "(pointer gs-tex1)"], - [50, "a1", "(pointer gs-reg64)"], - [53, "a1", "(pointer gs-texa)"], - [55, "a1", "(pointer gs-reg64)"], - [57, "a1", "(pointer gs-texclut)"], - [59, "a1", "(pointer gs-reg64)"], - [61, "a1", "(pointer gs-fogcol)"], - [63, "a1", "(pointer gs-reg64)"], - [[69, 72], "a0", "dma-packet"] - ], - "lookup-level-info": [ - [3, "a1", "symbol"], - [[4, 16], "a1", "level-load-info"] - ], - "put-display-alpha-env": [[[0, 5], "v1", "gs-bank"]], - "(method 13 profile-bar)": [ - [[27, 43], "t2", "dma-packet"], - [[46, 56], "t2", "gs-gif-tag"], - [[65, 67], "t3", "(pointer gs-prim)"], - [67, "t3", "(pointer uint64)"], - [79, "t3", "(pointer gs-xyzf)"], - [110, "t2", "(pointer gs-xyzf)"] - ], - "draw-sprite2d-xy": [ - [[41, 45], "a3", "dma-packet"], - [[51, 54], "a3", "gs-gif-tag"], - [59, "a3", "(pointer gs-prim)"], - [61, "a3", "(pointer gs-rgbaq)"], - [72, "a3", "(pointer gs-xyzf)"], - [97, "a3", "(pointer gs-xyzf)"], - [[106, 117], "v1", "(pointer dma-tag)"], - [109, "a2", "dma-tag"] - ], - "draw-quad2d": [ - [[22, 28], "t1", "dma-packet"], - [[31, 37], "t1", "gs-gif-tag"], - [42, "t1", "(pointer gs-prim)"], - [44, "t1", "(pointer gs-rgbaq)"], - [52, "t1", "(pointer gs-xyzf)"], - [54, "t1", "(pointer gs-rgbaq)"], - [67, "t1", "(pointer gs-xyzf)"], - [69, "t1", "(pointer gs-rgbaq)"], - [86, "t1", "(pointer gs-xyzf)"], - [88, "t1", "(pointer gs-rgbaq)"], - [110, "t1", "(pointer gs-xyzf)"], - [111, "t1", "(pointer uint64)"], - [[120, 131], "v1", "(pointer dma-tag)"], - [123, "a2", "dma-tag"] - ], - "set-display-gs-state": [ - [[3, 10], "t3", "dma-packet"], - [[13, 19], "t3", "gs-gif-tag"], - [30, "t3", "(pointer gs-scissor)"], - [32, "t3", "(pointer gs-reg64)"], - [33, "t3", "(pointer gs-xy-offset)"], - [35, "t3", "(pointer gs-reg64)"], - [46, "t3", "(pointer gs-frame)"], - [48, "t3", "(pointer gs-reg64)"], - [50, "t3", "(pointer gs-test)"], - [52, "t3", "(pointer gs-reg64)"], - [54, "t3", "(pointer gs-texa)"], - [56, "t3", "(pointer gs-reg64)"], - [58, "t3", "(pointer gs-zbuf)"], - [60, "t3", "(pointer gs-reg64)"], - [61, "t3", "(pointer uint64)"], - [63, "t3", "(pointer gs-reg64)"] - ], - "set-display-gs-state-offset": [ - [[3, 10], "t5", "dma-packet"], - [[13, 19], "t5", "gs-gif-tag"], - [30, "t5", "(pointer gs-scissor)"], - [32, "t5", "(pointer gs-reg64)"], - [40, "t5", "(pointer gs-xy-offset)"], - [42, "t5", "(pointer gs-reg64)"], - [53, "t5", "(pointer gs-frame)"], - [55, "t5", "(pointer gs-reg64)"], - [57, "t5", "(pointer gs-test)"], - [59, "t5", "(pointer gs-reg64)"], - [61, "t5", "(pointer gs-texa)"], - [63, "t5", "(pointer gs-reg64)"], - [65, "t5", "(pointer gs-zbuf)"], - [67, "t5", "(pointer gs-reg64)"], - [68, "t5", "(pointer uint64)"], - [70, "t5", "(pointer gs-reg64)"] - ], - "reset-display-gs-state": [ - [[9, 16], "t0", "dma-packet"], - [[19, 25], "t0", "gs-gif-tag"], - [34, "a3", "(pointer gs-scissor)"], - [36, "a3", "(pointer gs-reg64)"], - [44, "a3", "(pointer gs-xy-offset)"], - [46, "a3", "(pointer gs-reg64)"], - [51, "a3", "(pointer gs-frame)"], - [53, "a3", "(pointer gs-reg64)"], - [55, "a3", "(pointer gs-test)"], - [57, "a3", "(pointer gs-reg64)"], - [60, "a3", "(pointer gs-texa)"], - [62, "a3", "(pointer gs-reg64)"], - [64, "a3", "(pointer gs-zbuf)"], - [66, "a3", "(pointer gs-reg64)"], - [67, "a3", "(pointer uint64)"], - [69, "a3", "(pointer gs-reg64)"] - ], - "(method 9 connection)": [[8, "a0", "pointer"]], - "(method 10 connection)": [[8, "a0", "pointer"]], - "(method 0 engine)": [[39, "v0", "pointer"]], - - "(method 12 engine)": [ - [[5, 16], "s4", "connection"], - [12, "t9", "(function basic basic basic object object)"] - ], - - "(method 13 engine)": [ - [[5, 24], "s4", "connection"], - [12, "t9", "(function basic basic basic object object)"] - ], - - "(method 15 engine)": [[[0, 36], "v1", "connection"]], - "(method 19 engine)": [[8, "a0", "connection"]], - "(method 20 engine)": [[8, "a0", "connection"]], - "gs-set-default-store-image": [ - [9, "t4", "gif-tag64"], - [9, "v1", "gif-tag-regs"] - ], - "dma-buffer-add-ref-texture": [ - [[25, 29], "a3", "dma-packet"], - [[32, 44], "a3", "gs-gif-tag"], - [[47, 62], "a2", "dma-packet"] - ], - "(method 11 level)": [ - [[13, 18], "a1", "dma-packet"], - [[20, 26], "a0", "dma-packet"], - [[50, 55], "a1", "dma-packet"], - [[60, 63], "a0", "dma-packet"], - [[87, 92], "a1", "dma-packet"], - [[97, 100], "a0", "dma-packet"], - [[124, 129], "a1", "dma-packet"], - [[134, 137], "a0", "dma-packet"], - [[162, 167], "a1", "dma-packet"], - [[172, 175], "a0", "dma-packet"], - [[199, 204], "a1", "dma-packet"], - [[209, 212], "a0", "dma-packet"], - [[236, 241], "a1", "dma-packet"], - [[246, 249], "a0", "dma-packet"], - [[273, 278], "a1", "dma-packet"], - [[283, 286], "a0", "dma-packet"] - ], - "(method 14 texture-page)": [ - [[18, 22], "a0", "dma-packet"], - [[28, 31], "a0", "gs-gif-tag"], - [36, "a0", "(pointer uint64)"], - [38, "a0", "(pointer gs-reg64)"], - [[44, 45], "a0", "dma-packet"], - [45, "a0", "(pointer uint64)"] - ], - "(method 13 texture-page)": [ - [[45, 49], "a0", "dma-packet"], - [[55, 58], "a0", "gs-gif-tag"], - [67, "a0", "(pointer gs-bitbltbuf)"], - [69, "a0", "(pointer gs-reg64)"], - [70, "a0", "(pointer gs-trxpos)"], - [72, "a0", "(pointer gs-reg64)"], - [76, "a0", "(pointer gs-trxreg)"], - [78, "a0", "(pointer gs-reg64)"], - [79, "a0", "(pointer gs-trxdir)"], - [81, "a0", "(pointer gs-reg64)"] - ], - - "link-texture-by-id": [[51, "s5", "uint"]], - - "adgif-shader-login-fast": [[57, "gp", "uint"]], - - "adgif-shader-login-no-remap-fast": [[52, "a0", "uint"]], - - "(method 9 texture-page-dir)": [[[27, 31], "t3", "adgif-shader"]], - - "adgif-shader<-texture-simple!": [[5, "v1", "uint"]], - - "display-frame-start": [ - [4, "v1", "vif-bank"], - [9, "a0", "vif-bank"], - [[158, 161], "a0", "dma-packet"] - ], - - "display-loop": [ - [152, "v1", "(pointer int32)"], - [157, "a0", "(pointer process-drawable)"], - [[477, 481], "a0", "dma-packet"], - [[487, 490], "a0", "gs-gif-tag"], - - [497, "a0", "(pointer gs-reg64)"], - [495, "a0", "(pointer gs-alpha)"], - - [501, "a0", "(pointer gs-reg64)"], - [499, "a0", "(pointer gs-zbuf)"], - - [505, "a0", "(pointer gs-reg64)"], - [503, "a0", "(pointer gs-test)"], - - [508, "a0", "(pointer gs-reg64)"], - [506, "a0", "(pointer uint64)"], // pabe - - [512, "a0", "(pointer gs-reg64)"], - [510, "a0", "(pointer gs-clamp)"], - - [516, "a0", "(pointer gs-reg64)"], - [514, "a0", "(pointer gs-tex1)"], - - [521, "a0", "(pointer gs-reg64)"], - [519, "a0", "(pointer gs-texa)"], - - [525, "a0", "(pointer gs-reg64)"], - [523, "a0", "(pointer gs-texclut)"], - - [529, "a0", "(pointer gs-reg64)"], - [527, "a0", "(pointer gs-fogcol)"], - - [[588, 591], "v1", "dma-packet"], - [[672, 675], "v1", "dma-packet"] - ], - "load-game-text-info": [[4, "v1", "game-text-info"]], - "texture-relocate": [ - [[17, 21], "t4", "dma-packet"], - [[27, 30], "t4", "gs-gif-tag"], - [60, "t4", "(pointer gs-bitbltbuf)"], - [62, "t4", "(pointer gs-reg64)"], - [63, "t4", "(pointer gs-trxpos)"], - [65, "t4", "(pointer gs-reg64)"], - [71, "t4", "(pointer gs-trxreg)"], - [73, "t4", "(pointer gs-reg64)"], - [75, "t4", "(pointer gs-trxdir)"], - [77, "t4", "(pointer gs-reg64)"], - [[98, 102], "a2", "dma-packet"], - [[108, 111], "a2", "gs-gif-tag"], - [132, "a2", "(pointer gs-bitbltbuf)"], - [134, "a2", "(pointer gs-reg64)"], - [135, "a2", "(pointer gs-trxpos)"], - [137, "a2", "(pointer gs-reg64)"], - [139, "a2", "(pointer gs-trxreg)"], - [141, "a2", "(pointer gs-reg64)"], - [143, "a2", "(pointer gs-trxdir)"], - [145, "a2", "(pointer gs-reg64)"], - [[157, 161], "a2", "dma-packet"], - [[167, 170], "a2", "gs-gif-tag"], - [191, "a2", "(pointer gs-bitbltbuf)"], - [193, "a2", "(pointer gs-reg64)"], - [194, "a2", "(pointer gs-trxpos)"], - [196, "a2", "(pointer gs-reg64)"], - [198, "a2", "(pointer gs-trxreg)"], - [200, "a2", "(pointer gs-reg64)"], - [202, "a2", "(pointer gs-trxdir)"], - [204, "a2", "(pointer gs-reg64)"] - ], - "(method 11 texture-pool)": [ - [[119, 123], "a0", "dma-packet"], - [[129, 132], "a0", "gs-gif-tag"], - [137, "a0", "(pointer uint64)"], - [139, "a0", "(pointer gs-reg64)"], - [145, "a0", "dma-packet"], - [146, "a0", "(pointer uint64)"] - ], - "texture-page-login": [[[34, 45], "s2", "texture-page"]], - "upload-vram-data": [ - [[9, 15], "a0", "dma-packet"], - [[18, 24], "a0", "gs-gif-tag"], - [33, "a0", "(pointer gs-bitbltbuf)"], - [35, "a0", "(pointer gs-reg64)"], - [36, "a0", "(pointer gs-trxpos)"], - [38, "a0", "(pointer gs-reg64)"], - [42, "a0", "(pointer gs-trxreg)"], - [44, "a0", "(pointer gs-reg64)"], - [45, "a0", "(pointer gs-trxdir)"], - [47, "a0", "(pointer gs-reg64)"] - ], - "texture-page-dir-inspect": [[[133, 136], "v1", "adgif-shader"]], - "upload-vram-pages": [ - [[135, 140], "a0", "dma-packet"], - [[144, 149], "a0", "gs-gif-tag"], - [[155, 157], "a0", "(pointer gs-reg64)"], - [154, "a0", "(pointer uint64)"], - [[162, 165], "v1", "dma-packet"] - ], - "upload-vram-pages-pris": [ - [[128, 134], "a0", "dma-packet"], - [[137, 143], "a0", "gs-gif-tag"], - [148, "a0", "(pointer uint64)"], - [150, "a0", "(pointer gs-reg64)"], - [[154, 159], "v1", "dma-packet"] - ], - "(method 19 res-lump)": [ - [46, "t2", "(pointer uint64)"], - [100, "t3", "(pointer uint64)"], - [184, "t5", "(pointer uint64)"], - [64, "t6", "(pointer uint64)"] - ], - "(method 16 res-lump)": [ - [22, "t1", "(pointer uint64)"], - [29, "t2", "(pointer uint64)"] - ], - "(method 18 res-lump)": [["_stack_", 16, "object"]], - "(method 21 res-lump)": [ - ["_stack_", 16, "res-tag"], - ["_stack_", 32, "res-tag"] - ], - - "(method 15 sync-info)": [ - ["_stack_", 16, "res-tag"], - [[19, 24], "v1", "(pointer float)"] - ], - - "(method 15 sync-info-eased)": [ - ["_stack_", 16, "res-tag"], - [[44, 49], "v1", "(pointer float)"], - [[26, 35], "v1", "(pointer float)"] - ], - - "(method 15 sync-info-paused)": [ - ["_stack_", 16, "res-tag"], - [[44, 49], "v1", "(pointer float)"], - [[26, 35], "v1", "(pointer float)"] - ], - - "(method 15 res-lump)": [[132, "s5", "res-tag-pair"]], - - "(method 17 res-lump)": [[22, "s4", "(pointer pointer)"]], - - "(method 20 res-lump)": [[331, "a3", "(inline-array vector)"]], - - "(method 8 res-lump)": [ - [215, "s0", "array"], - [[0, 100], "s0", "basic"], - [[102, 120], "s0", "basic"], - [[147, 150], "s0", "collide-mesh"], - [[157, 200], "s0", "(array object)"], - [235, "s0", "basic"] - ], - "(method 10 shadow-control)": [[1, "v1", "int"]], - "(method 0 fact-info-enemy)": [[[3, 92], "gp", "fact-info-enemy"]], - "(method 0 fact-info)": [ - //[16, "t9", "(function string none)"], - ["_stack_", 16, "res-tag"], - [[32, 43], "v1", "(pointer int32)"], - [86, "gp", "fact-info"] - ], - "(method 0 fact-info-target)": [[[3, 20], "gp", "fact-info-target"]], - "(method 0 align-control)": [[[14, 18], "v0", "align-control"]], - "str-load": [[[20, 36], "s2", "load-chunk-msg"]], - "str-load-status": [ - [[18, 22], "v1", "load-chunk-msg"], - [26, "v1", "load-chunk-msg"] - ], - "str-play-async": [[[8, 16], "s4", "load-chunk-msg"]], - "str-play-stop": [[[7, 14], "s5", "load-chunk-msg"]], - "str-play-queue": [[[19, 27], "s5", "load-chunk-msg"]], - "str-ambient-play": [[[7, 15], "s5", "load-chunk-msg"]], - "str-ambient-stop": [[[7, 16], "s5", "load-chunk-msg"]], - "dgo-load-begin": [[[21, 40], "s2", "load-dgo-msg"]], - "dgo-load-get-next": [[[14, 31], "v1", "load-dgo-msg"]], - "dgo-load-continue": [[[5, 21], "gp", "load-dgo-msg"]], - "string->sound-name": [[[2, 18], "a1", "(pointer uint8)"]], - "ramdisk-load": [[[8, 12], "v1", "ramdisk-rpc-load"]], - "(method 3 generic-tie-interp-point)": [[15, "gp", "(pointer uint128)"]], - "ripple-find-height": [[[22, 72], "s4", "mei-ripple"]], - "(method 0 collide-shape-prim-sphere)": [ - [[4, 8], "v0", "collide-shape-prim-sphere"] - ], - "(method 0 collide-shape-prim-mesh)": [ - [[6, 11], "v0", "collide-shape-prim-mesh"] - ], - "(method 0 collide-shape-prim-group)": [ - [[11, 18], "v0", "collide-shape-prim-group"] - ], - "entity-actor-count": [["_stack_", 16, "res-tag"]], - "entity-actor-lookup": [ - ["_stack_", 16, "res-tag"], - [[10, 33], "v1", "(pointer uint32)"] - ], - "(method 11 joint-mod)": [ - [15, "s3", "process-drawable"], - [[26, 66], "s3", "fact-info-enemy"] - ], - "joint-mod-look-at-handler": [[[2, 254], "gp", "joint-mod"]], - "joint-mod-world-look-at-handler": [[[0, 254], "gp", "joint-mod"]], - "joint-mod-rotate-handler": [[[2, 77], "s4", "joint-mod"]], - "joint-mod-joint-set-handler": [[[2, 13], "s4", "joint-mod"]], - "joint-mod-joint-set*-handler": [[[2, 31], "s5", "joint-mod"]], - "joint-mod-wheel-callback": [[[2, 63], "s4", "joint-mod-wheel"]], - "joint-mod-set-local-callback": [[[0, 23], "v1", "joint-mod-set-local"]], - "joint-mod-set-world-callback": [[[0, 23], "v1", "joint-mod-set-world"]], - "joint-mod-blend-local-callback": [[[2, 63], "gp", "joint-mod-blend-local"]], - "joint-mod-spinner-callback": [[[2, 63], "gp", "joint-mod-spinner"]], - "(method 11 touching-prims-entry-pool)": [ - [[0, 8], "v1", "touching-prims-entry"], - [8, "v1", "pointer"], - [[9, 11], "v1", "touching-prims-entry"], - [[1, 20], "a1", "touching-prims-entry"] - ], - "(method 0 touching-list)": [[[6, 9], "v0", "touching-list"]], - "num-func-chan": [[8, "v1", "joint-control-channel"]], - "shrubbery-login-post-texture": [ - [[13, 15], "a3", "qword"], - [16, "a3", "pointer"], - [24, "a3", "pointer"], - [[17, 23], "a3", "qword"], - [[13, 23], "a1", "qword"], - [14, "a2", "qword"], - [[27, 29], "a3", "qword"], - [[27, 29], "a1", "qword"], - [[35, 37], "a3", "qword"], - [[35, 37], "a2", "qword"] - ], - "(method 3 sparticle-cpuinfo)": [[106, "f0", "float"]], - "camera-teleport-to-entity": [[9, "a0", "transform"]], - "add-debug-sphere-from-table": [[[9, 18], "s1", "(inline-array vector)"]], - "(method 14 actor-link-info)": [[5, "v1", "entity-links"]], - "(method 15 actor-link-info)": [[5, "v1", "entity-links"]], - "(method 23 actor-link-info)": [[4, "v1", "entity-links"]], - "(method 24 actor-link-info)": [[4, "v1", "entity-links"]], - "(method 9 actor-link-info)": [[[0, 36], "s3", "entity-actor"]], - "alt-actor-list-subtask-incomplete-count": [[19, "a0", "entity-links"]], - "actor-link-dead-hook": [[1, "v1", "entity-links"]], - "check-irx-version": [[[6, 37], "gp", "sound-rpc-get-irx-version"]], - "sound-bank-load": [[[9, 11], "v1", "sound-rpc-load-bank"]], - "sound-bank-unload": [[[7, 9], "v1", "sound-rpc-unload-bank"]], - "sound-music-load": [[[7, 9], "v1", "sound-rpc-load-music"]], - "sound-music-unload": [[6, "v1", "sound-rpc-unload-music"]], - "sound-reload-info": [[6, "v1", "sound-rpc-reload-info"]], - "set-language": [[[10, 12], "v1", "sound-rpc-set-language"]], - "list-sounds": [[6, "v1", "sound-rpc-list-sounds"]], - "sound-set-volume": [[[6, 13], "v1", "sound-rpc-set-master-volume"]], - "sound-set-reverb": [[[8, 21], "v1", "sound-rpc-set-reverb"]], - "sound-set-ear-trans": [[[7, 20], "gp", "sound-rpc-set-ear-trans"]], - "sound-play-by-name": [ - [[13, 45], "s5", "sound-rpc-play"], - [[22, 39], "s3", "process-drawable"] - ], - "sound-play-by-spec": [ - [[9, 54], "s5", "sound-rpc-play"], - [[31, 47], "s3", "process-drawable"] - ], - "sound-pause": [[[5, 7], "v1", "sound-rpc-pause-sound"]], - "sound-stop": [[[5, 7], "v1", "sound-rpc-stop-sound"]], - "sound-continue": [[[5, 7], "v1", "sound-rpc-continue-sound"]], - "sound-group-pause": [[[5, 7], "v1", "sound-rpc-pause-group"]], - "sound-group-stop": [[[5, 7], "v1", "sound-rpc-stop-group"]], - "sound-group-continue": [[[5, 7], "v1", "sound-rpc-continue-group"]], - "sound-set-falloff-curve": [[[7, 19], "v1", "sound-rpc-set-falloff-curve"]], - "sound-set-sound-falloff": [[[8, 13], "v1", "sound-rpc-set-sound-falloff"]], - "sound-set-flava": [[[5, 7], "v1", "sound-rpc-set-flava"]], - "(method 0 ambient-sound)": [ - [136, "v1", "sound-spec"], - [143, "v1", "sound-spec"], - [140, "v1", "sound-spec"], - [147, "v1", "sound-spec"], - ["_stack_", 16, "sound-spec"], - ["_stack_", 32, "sound-name"], - ["_stack_", 48, "(pointer float)"], - ["_stack_", 52, "sound-play-parms"], - ["_stack_", 64, "res-tag"] - ], - "(method 11 ambient-sound)": [ - [[18, 31], "s4", "process-drawable"], - [[12, 44], "gp", "sound-rpc-set-param"] - ], - "(method 12 ambient-sound)": [[[8, 20], "v1", "sound-rpc-set-param"]], - "sound-buffer-dump": [[[14, 25], "s3", "sound-rpc-play"]], - "actor-link-subtask-complete-hook": [[1, "v1", "entity-links"]], - "(method 0 vol-control)": [ - [30, "s5", "res-lump"], - [36, "s5", "res-lump"], - [58, "s5", "res-lump"], - [62, "s5", "res-lump"], - [85, "s5", "res-lump"], - [91, "s5", "res-lump"], - [113, "s5", "res-lump"], - [117, "s5", "res-lump"] - ], - "point-in-air-box?": [[5, "f1", "float"]], - "(method 3 air-box)": [ - [16, "f0", "float"], - [22, "f0", "float"], - [28, "f0", "float"] - ], - "joint-anim-inspect-elt": [ - [9, "gp", "joint-anim-matrix"], - [26, "gp", "joint-anim-transformq"] - ], - "(method 12 art-group)": [[13, "a0", "art-joint-anim"]], - "(method 0 path-control)": [["_stack_", 16, "res-tag"]], - "add-debug-point": [ - [125, "a3", "pointer"], - [[27, 144], "a0", "(pointer uint64)"], - [[147, 150], "a0", "dma-packet"], - [[31, 35], "a3", "dma-packet"], - [[41, 44], "a3", "gs-gif-tag"], - [[61, 65], "a3", "vector4w-2"], - [[81, 85], "a3", "vector4w-2"], - [[98, 102], "a3", "vector4w-2"], - [[118, 122], "a1", "vector4w-2"] - ], - "internal-draw-debug-line": [ - [[95, 101], "a3", "dma-packet"], - [[104, 110], "a3", "gs-gif-tag"], - [[212, 225], "a1", "(inline-array vector4w-2)"], - [228, "a3", "pointer"], - [[93, 246], "a0", "(pointer uint64)"], - [[250, 253], "a0", "dma-packet"], - [[3, 158], "s2", "rgba"], - [[5, 204], "s5", "rgba"] - ], - "add-debug-flat-triangle": [ - [[55, 61], "a3", "dma-packet"], - [[64, 70], "a3", "gs-gif-tag"], - [[93, 112], "a3", "(inline-array vector4w-3)"], - [[53, 133], "a0", "(pointer uint64)"], - [115, "a1", "pointer"], - [[135, 140], "a0", "dma-packet"] - ], - "add-debug-line2d": [ - [[58, 64], "a2", "dma-packet"], - [[67, 73], "a2", "gs-gif-tag"], - [[76, 81], "a2", "(inline-array vector4w)"], - [[84, 89], "a2", "(inline-array vector4w)"], - [[56, 110], "a0", "(pointer uint64)"], - [92, "a1", "pointer"], - [[112, 117], "v1", "dma-packet"] - ], - "debug-percent-bar": [[[32, 43], "v1", "dma-packet"]], - "debug-pad-display": [[[70, 75], "v1", "dma-packet"]], - "internal-draw-debug-text-3d": [[[54, 59], "v1", "dma-packet"]], - "drawable-frag-count": [[[14, 20], "s5", "drawable-group"]], - - "generic-init-buffers": [ - [[39, 44], "v1", "dma-packet"], - [25, "s5", "gs-zbuf"], - [32, "gp", "gs-zbuf"] - ], - - "(method 13 drawable-inline-array-collide-fragment)": [ - [[1, 5], "v1", "collide-fragment"] - ], - "(method 12 drawable-inline-array-collide-fragment)": [ - [[1, 5], "v1", "collide-fragment"] - ], - "(method 11 drawable-inline-array-collide-fragment)": [ - [[1, 5], "v1", "collide-fragment"] - ], - "main-cheats": [[[1123, 1126], "v1", "dma-packet"]], - "on": [[33, "t9", "(function cpu-thread function none)"]], - - "bg": [[37, "a0", "symbol"]], - - "level-update-after-load": [ - [[29, 55], "s2", "drawable-tree"], - [[121, 146], "s1", "drawable-inline-array-tfrag"], - [[150, 151], "s1", "drawable-tree-instance-tie"] - ], - "(method 11 setting-control)": [[[3, 25], "s4", "connection"]], - "(method 9 setting-data)": [ - [[4, 345], "s3", "connection"], - [[9, 12], "v1", "symbol"], - [[14, 17], "v1", "symbol"], - [[19, 22], "v1", "symbol"], - [[24, 27], "v1", "symbol"], - [[29, 32], "v1", "symbol"], - [[33, 35], "a0", "int"], - [[40, 45], "a0", "uint"], - [[47, 49], "v1", "int"], - [[68, 71], "v1", "symbol"], - [[72, 78], "v1", "float"], - [[80, 83], "v1", "float"], - [[87, 90], "v1", "symbol"], - [[91, 97], "v1", "float"], - [[99, 102], "v1", "float"], - [[106, 109], "v1", "symbol"], - [[110, 116], "v1", "float"], - [[118, 121], "v1", "float"], - [[125, 128], "v1", "symbol"], - [[129, 135], "v1", "float"], - [[137, 140], "v1", "float"], - [[144, 147], "v1", "symbol"], - [[148, 154], "v1", "float"], - [[156, 159], "v1", "float"], - [[163, 166], "v1", "symbol"], - [[167, 173], "v1", "float"], - [[175, 178], "v1", "float"], - [[182, 185], "v1", "symbol"], - [[186, 192], "v1", "float"], - [[194, 197], "v1", "float"], - [[201, 204], "v1", "symbol"], - [[205, 211], "v1", "float"], - [[213, 216], "v1", "float"], - [[220, 223], "v1", "float"], - [[224, 226], "v1", "int"], - [[226, 229], "v1", "float"], - [[233, 236], "v1", "float"], - [[240, 243], "v1", "float"], - [[247, 250], "v1", "float"], - [[254, 257], "v1", "float"], - [[261, 264], "v1", "float"], - [[268, 271], "v1", "float"], - [[275, 277], "v1", "int"], - [[280, 282], "v1", "symbol"], - [[285, 287], "v1", "symbol"], - [[290, 293], "v1", "symbol"], - [[295, 298], "v1", "symbol"], - [[300, 303], "v1", "symbol"], - [[305, 308], "v1", "(pointer progress)"], - [[310, 313], "v1", "(pointer progress)"], - [[315, 318], "v1", "(pointer progress)"], - [[325, 328], "v1", "(pointer progress)"], - [[330, 333], "v1", "symbol"], - [[334, 337], "a0", "int"], - [[341, 344], "a0", "uint"] - ], - "(method 12 level)": [[151, "a0", "symbol"]], - "(method 26 level-group)": [[[65, 96], "v0", "level"]], - "update-sound-banks": [[[21, 52], "t0", "symbol"]], - "(method 16 level-group)": [ - [[122, 146], "s1", "continue-point"], - [[115, 154], "s3", "continue-point"], - [444, "v1", "symbol"] - ], - "(method 20 level)": [[[43, 45], "s3", "ramdisk-rpc-fill"]], - - "ja-post": [[54, "a1", "process"]], - - "upload-generic-shrub": [ - [[3, 13], "t0", "dma-packet"], - [[15, 26], "v1", "matrix"], - [[31, 44], "t0", "vector4w-2"], - [[47, 71], "t0", "dma-packet"], - [[74, 98], "a2", "dma-packet"], - [[101, 125], "a2", "dma-packet"], - [[128, 152], "a2", "dma-packet"], - [[157, 162], "a1", "dma-packet"] - ], - "(top-level-login task-control)": [[165, "v1", "symbol"]], - "(anon-function 227 task-control)": [[17, "v1", "float"]], - "(anon-function 286 task-control)": [[17, "v1", "float"]], - "(anon-function 366 task-control)": [[17, "v1", "float"]], - "(anon-function 367 task-control)": [[17, "v1", "float"]], - "(anon-function 368 task-control)": [[17, "v1", "float"]], - "(anon-function 369 task-control)": [[17, "v1", "float"]], - "(anon-function 380 task-control)": [[17, "v1", "float"]], - "(anon-function 383 task-control)": [[17, "v1", "float"]], - "(anon-function 390 task-control)": [[17, "v1", "float"]], - "(anon-function 393 task-control)": [[17, "v1", "float"]], - "(anon-function 400 task-control)": [[17, "v1", "float"]], - "(anon-function 403 task-control)": [[17, "v1", "float"]], - "(anon-function 435 task-control)": [[17, "v1", "float"]], - "(anon-function 445 task-control)": [[17, "v1", "float"]], - "(anon-function 455 task-control)": [[17, "v1", "float"]], - "(method 18 game-info)": [ - [4, "v1", "symbol"], - [5, "v1", "level-load-info"], - [10, "s3", "continue-point"] - ], - "(method 9 game-info)": [ - [ - [270, 286], - "s2", - "(function cpu-thread function object object object object pointer)" - ] - ], - "(method 25 game-info)": [ - [4, "v1", "game-save-tag"], - [53, "v1", "pointer"], - [[7, 53], "v1", "game-save-tag"], - [[72, 138], "s4", "game-save-tag"], - [154, "s4", "pointer"], - [[166, 205], "s4", "game-save-tag"], - [206, "s4", "pointer"], - [498, "s4", "pointer"], - [207, "a1", "(pointer uint8)"], - [[219, 220], "s4", "game-save-tag"], - [223, "s4", "pointer"], - [224, "a1", "(pointer uint8)"], - [[235, 236], "s4", "game-save-tag"], - [249, "s4", "pointer"], - [[261, 262], "s4", "game-save-tag"], - [275, "s4", "pointer"], - [293, "s4", "game-save-tag"], - [302, "s4", "pointer"], - [303, "a2", "(pointer uint8)"], - [315, "s4", "game-save-tag"], - [319, "s4", "pointer"], - [343, "v1", "(pointer uint8)"], - [352, "v1", "(pointer uint8)"], - [[360, 420], "s4", "game-save-tag"], - [423, "s4", "pointer"], - [424, "a1", "(pointer uint8)"], - [436, "s4", "game-save-tag"], - [440, "s4", "pointer"], - [456, "s4", "game-save-tag"], - [460, "s4", "pointer"], - [476, "s4", "game-save-tag"], - [480, "s4", "pointer"], - [[493, 495], "s4", "game-save-tag"] - ], - "(method 11 game-save)": [ - [126, "v1", "pointer"], - [213, "s4", "pointer"], - [[74, 88], "s4", "game-save-tag"], - [98, "s4", "pointer"], - [107, "s4", "game-save-tag"], - [125, "s4", "(pointer uint8)"], - [131, "s4", "game-save-tag"], - [155, "s4", "game-save-tag"], - [148, "s4", "pointer"], - [172, "s4", "pointer"], - [179, "s4", "game-save-tag"], - [196, "s4", "pointer"], - [[203, 210], "s4", "game-save-tag"] - ], - "drawable-load": [ - [17, "s5", "drawable"], - [18, "s5", "drawable"], - [20, "s5", "drawable"], - [25, "s5", "drawable"], - [27, "s5", "drawable"] - ], - "art-load": [ - [9, "s5", "art"], - [13, "s5", "art"], - [15, "s5", "art"] - ], - "art-group-load-check": [ - [22, "s3", "art-group"], - [31, "s3", "art-group"], - [43, "s3", "art-group"], - [50, "s3", "art-group"], - [52, "s3", "art-group"] - ], - "(method 13 art-group)": [[16, "s3", "art-joint-anim"]], - "(method 14 art-group)": [[16, "s3", "art-joint-anim"]], - "(method 9 external-art-control)": [ - [171, "s4", "external-art-buffer"], - [172, "s4", "external-art-buffer"], - [173, "s4", "external-art-buffer"], - [177, "s4", "external-art-buffer"], - [183, "s4", "external-art-buffer"], - [190, "s4", "external-art-buffer"], - [233, "s4", "spool-anim"], - [240, "s4", "spool-anim"], - [243, "s4", "spool-anim"], - [248, "s4", "spool-anim"], - [249, "s4", "spool-anim"], - [253, "s4", "spool-anim"], - [257, "s4", "spool-anim"] - ], - "(method 10 external-art-control)": [[18, "v1", "pointer"]], - "(method 16 external-art-control)": [ - [37, "a0", "process"], - [17, "s5", "process-drawable"] - ], - "ja-play-spooled-anim": [ - [154, "a0", "process"], - [286, "s2", "art-joint-anim"], - [294, "s2", "art-joint-anim"], - [295, "s2", "art-joint-anim"], - [306, "s2", "art-joint-anim"], - [320, "s2", "art-joint-anim"], - [324, "s2", "art-joint-anim"] - ], - "(method 11 external-art-control)": [ - [127, "a0", "process"], - [151, "a0", "process"], - [168, "a0", "process"], - [18, "s5", "process-drawable"] - ], - "debug-menu-item-var-update-display-str": [ - [[44, 49], "v1", "int"], - [[61, 69], "v1", "int"] - ], - "debug-menu-item-get-max-width": [[[18, 27], "a0", "debug-menu-item-var"]], - "debug-menu-send-msg": [ - [[3, 14], "s2", "debug-menu-item"], - [[14, 21], "s2", "debug-menu-item-submenu"] - ], - "debug-menu-item-var-joypad-handler": [ - [[39, 42], "a2", "int"], - [[40, 42], "a3", "int"], - [41, "t9", "(function int int int int int)"], - [200, "t9", "(function int int int int int)"], - [138, "v1", "int"], - [143, "v1", "int"], - [[182, 187], "v1", "int"], - [[182, 187], "a1", "int"], - [[190, 194], "a0", "int"], - [[193, 195], "v1", "int"] - ], - "debug-menu-find-from-template": [ - [3, "s4", "debug-menu"], - [[4, 8], "s4", "debug-menu-item"], - [[41, 44], "s4", "debug-menu-node"], - [[7, 12], "s5", "debug-menu-item"], - [23, "s5", "debug-menu-item-submenu"] - ], - - "debug-menu-func-decode": [[[12, 14], "a0", "symbol"]], - - "dm-cam-render-float": [[72, "v1", "float"]], - - "can-hint-be-played?": [[[25, 28], "a0", "level-hint"]], - "debug-menu-rebuild": [[[4, 13], "a0", "debug-menu-item"]], - "debug-menu-item-submenu-render": [[[39, 44], "v1", "dma-packet"]], - "debug-menu-item-function-render": [[[46, 51], "v1", "dma-packet"]], - "debug-menu-item-flag-render": [[[44, 49], "v1", "dma-packet"]], - "debug-menu-render": [ - [[45, 48], "v1", "dma-packet"], - [[106, 110], "v1", "dma-packet"] - ], - - "debug-menu-item-var-msg": [[64, "t9", "(function int int int int int)"]], - - "calculate-basis-functions-vector!": [ - [[8, 20], "v1", "(pointer float)"], - [[0, 60], "f1", "float"] - ], - "(anon-function 2 memory-usage)": [ - [[171, 415], "s5", "process-drawable"], - [[212, 213], "v1", "collide-shape"] - ], - "(method 8 process-tree)": [ - [31, "v1", "symbol"], - [6, "a3", "symbol"] - ], - "(method 9 align-control)": [ - [[27, 31], "t9", "(function object object object object)"] - ], - "(method 8 tie-fragment)": [ - [150, "a0", "(pointer int32)"], - [[157, 160], "a0", "basic"] - ], - "letterbox": [[[29, 33], "v1", "dma-packet"]], - "blackout": [[[20, 24], "v1", "dma-packet"]], - "(method 15 load-state)": [ - [31, "t9", "(function int)"], - [[291, 303], "s5", "entity-actor"], - [370, "s3", "process-drawable"], - [343, "s5", "symbol"], - [21, "s5", "symbol"] - ], - "yakow-default-event-handler": [ - [27, "a0", "collide-shape"], - [32, "a0", "collide-shape"] - ], - "(method 11 yakow)": [ - [184, "v1", "vector"], - [186, "v1", "vector"], - [189, "v1", "vector"] - ], - "yakow-post": [ - [114, "a0", "collide-shape-moving"], - [130, "a0", "collide-shape-moving"] - ], - "raw-ray-sphere-intersect": [ - [23, "v1", "float"], - [36, "v1", "uint"] - ], - "(method 0 anim-test-obj)": [ - [9, "s4", "anim-test-obj"], - [10, "s4", "anim-test-obj"], - [13, "s4", "anim-test-obj"], - [15, "s4", "anim-test-obj"] - ], - "(method 0 anim-test-sequence)": [ - [8, "s5", "anim-test-sequence"], - [11, "s5", "anim-test-sequence"], - [13, "s5", "anim-test-sequence"] - ], - "(method 0 anim-test-seq-item)": [ - [7, "v0", "anim-test-seq-item"], - [8, "v1", "anim-test-seq-item"], - [10, "v0", "anim-test-seq-item"], - [11, "v0", "anim-test-seq-item"], - [14, "v0", "anim-test-seq-item"], - [17, "v0", "anim-test-seq-item"] - ], - "(method 3 anim-tester)": [ - [12, "s5", "anim-test-obj"], - [15, "s5", "anim-test-obj"], - [148, "s5", "anim-test-obj"], - [150, "s5", "anim-test-obj"], - [22, "s4", "anim-test-sequence"], - [28, "s4", "anim-test-sequence"], - [38, "s4", "anim-test-sequence"], - [48, "s4", "anim-test-sequence"], - [59, "s4", "anim-test-sequence"], - [137, "s4", "anim-test-sequence"], - [139, "s4", "anim-test-sequence"], - [66, "s3", "anim-test-seq-item"], - [70, "s3", "anim-test-seq-item"], - [75, "s3", "anim-test-seq-item"], - [79, "s3", "anim-test-seq-item"], - [88, "s3", "anim-test-seq-item"], - [94, "s3", "anim-test-seq-item"], - [104, "s3", "anim-test-seq-item"], - [114, "s3", "anim-test-seq-item"], - [126, "s3", "anim-test-seq-item"], - [128, "s3", "anim-test-seq-item"] - ], - "anim-test-obj-item-valid?": [ - [5, "s5", "anim-test-sequence"], - [12, "s5", "anim-test-sequence"], - [17, "s5", "anim-test-sequence"], - [36, "s5", "anim-test-sequence"], - [38, "s5", "anim-test-sequence"], - [20, "v1", "anim-test-seq-item"], - [26, "v1", "anim-test-seq-item"], - [28, "v1", "anim-test-seq-item"] - ], - "anim-test-obj-remove-invalid": [ - [84, "v1", "anim-test-sequence"], - [88, "v1", "anim-test-sequence"], - [90, "v1", "anim-test-sequence"], - [92, "v1", "anim-test-sequence"], - [93, "v1", "anim-test-sequence"], - [91, "a0", "anim-test-sequence"], - [5, "s5", "anim-test-sequence"], - [8, "s5", "anim-test-sequence"], - [11, "s5", "anim-test-sequence"], - [30, "s5", "anim-test-sequence"], - [44, "s5", "anim-test-sequence"], - [51, "s5", "anim-test-sequence"], - [58, "s5", "anim-test-sequence"], - [67, "s5", "anim-test-sequence"], - [70, "s4", "anim-test-sequence"], - [71, "s5", "anim-test-sequence"], - [72, "s5", "anim-test-sequence"], - [15, "s3", "anim-test-seq-item"], - [18, "s3", "anim-test-seq-item"], - [24, "s3", "anim-test-seq-item"], - [31, "s3", "anim-test-seq-item"], - [34, "s2", "anim-test-seq-item"], - [35, "s3", "anim-test-seq-item"], - [36, "s3", "anim-test-seq-item"], - [61, "a0", "anim-test-seq-item"] - ], - "anim-tester-reset": [ - [14, "v1", "anim-test-obj"], - [30, "v1", "anim-test-obj"], - [33, "v1", "anim-test-obj"], - [36, "v1", "anim-test-obj"], - [43, "v1", "anim-test-obj"], - [[50, 53], "v1", "anim-test-obj"] - ], - "anim-tester-save-all-objects": [ - [[4, 19], "gp", "anim-test-obj"], - [17, "v1", "anim-test-obj"] - ], - "anim-tester-save-object-seqs": [ - [63, "s5", "anim-test-sequence"], - [69, "s5", "anim-test-sequence"], - [65, "s5", "anim-test-sequence"], - [75, "s5", "anim-test-sequence"], - [79, "s5", "anim-test-sequence"], - [133, "s5", "anim-test-sequence"], - [141, "s5", "anim-test-sequence"], - [142, "v1", "anim-test-sequence"], - [143, "s5", "anim-test-sequence"], - [83, "s4", "anim-test-seq-item"], - [89, "s4", "anim-test-seq-item"], - [91, "s4", "anim-test-seq-item"], - [92, "s4", "anim-test-seq-item"], - [96, "s4", "anim-test-seq-item"], - [105, "s4", "anim-test-seq-item"], - [111, "s4", "anim-test-seq-item"], - [120, "s4", "anim-test-seq-item"], - [121, "v1", "anim-test-seq-item"], - [122, "s4", "anim-test-seq-item"] - ], - "anim-test-obj-list-handler": [ - [25, "s5", "anim-test-obj"], - [31, "s5", "anim-test-obj"], - [[50, 53], "v1", "dma-packet"], - [110, "s5", "anim-test-obj"], - [166, "s5", "anim-test-obj"], - [112, "v1", "anim-tester"], - [[202, 205], "v1", "dma-packet"] - ], - "anim-test-anim-list-handler": [ - [2, "s5", "anim-test-obj"], - [25, "s5", "anim-test-obj"], - [[44, 47], "v1", "dma-packet"], - [65, "s5", "anim-test-obj"], - [227, "s5", "anim-test-obj"], - [90, "v1", "anim-test-obj"], - [91, "v1", "anim-test-obj"], - [100, "v1", "anim-test-obj"], - [105, "v1", "anim-test-obj"], - [130, "v1", "anim-test-obj"], - [131, "v1", "anim-test-obj"], - [140, "v1", "anim-test-obj"], - [145, "v1", "anim-test-obj"], - [167, "v1", "anim-test-obj"], - [169, "v1", "anim-test-obj"], - [171, "v1", "anim-test-obj"], - [173, "v1", "anim-test-obj"], - [[263, 266], "v1", "dma-packet"] - ], - "anim-test-sequence-list-handler": [ - [2, "s5", "anim-test-sequence"], - [25, "s5", "anim-test-sequence"], - [31, "s5", "anim-test-sequence"], - [[50, 53], "v1", "dma-packet"], - [71, "s5", "anim-test-sequence"], - [231, "s5", "anim-test-sequence"], - [96, "v1", "anim-test-sequence"], - [97, "v1", "anim-test-sequence"], - [106, "v1", "anim-test-sequence"], - [111, "v1", "anim-test-sequence"], - [136, "v1", "anim-test-sequence"], - [137, "v1", "anim-test-sequence"], - [146, "v1", "anim-test-sequence"], - [151, "v1", "anim-test-sequence"], - [[267, 270], "v1", "dma-packet"] - ], - "anim-test-edit-sequence-list-handler": [ - [[82, 85], "v1", "dma-packet"], - [[148, 151], "v1", "dma-packet"], - [[323, 326], "v1", "dma-packet"], - [[979, 982], "v1", "dma-packet"], - [[1028, 1031], "v1", "dma-packet"], - [[122, 965], "s4", "anim-test-sequence"], - [129, "v1", "glst-named-node"], - [[128, 909], "gp", "anim-test-seq-item"], - [380, "v0", "anim-test-obj"], - [381, "v0", "anim-test-obj"], - [382, "v0", "anim-test-obj"], - [389, "v0", "anim-test-obj"], - [483, "s3", "anim-test-seq-item"], - [491, "s3", "anim-test-seq-item"], - [502, "s3", "anim-test-seq-item"] - ], - "anim-tester-interface": [ - [[34, 48], "gp", "anim-test-obj"], - [[70, 73], "v1", "dma-packet"], - [[131, 134], "v1", "dma-packet"], - [[189, 192], "v1", "dma-packet"], - [[228, 231], "v1", "dma-packet"], - [[95, 109], "gp", "anim-test-obj"], - [[156, 160], "v1", "anim-test-obj"], - [[162, 165], "v1", "anim-test-sequence"] - ], - "anim-tester-get-playing-item": [ - [4, "t9", "(function glst-list int anim-test-seq-item)"], - [20, "t9", "(function glst-list int anim-test-seq-item)"], - [[5, 22], "s5", "anim-test-seq-item"], - [21, "v0", "anim-test-seq-item"], - [25, "v0", "anim-test-seq-item"], - [5, "v0", "anim-test-seq-item"] - ], - "anim-tester-add-newobj": [ - ["_stack_", 128, "anim-test-obj"], - [[2, 185], "s2", "anim-test-obj"], - [[70, 193], "s5", "anim-test-obj"], - [149, "v1", "anim-test-sequence"], - [154, "v1", "anim-test-sequence"], - [160, "v1", "anim-test-sequence"], - [164, "a0", "art-joint-anim"], - [168, "v1", "anim-test-seq-item"], - [168, "v1", "anim-test-seq-item"], - [170, "a0", "art-joint-anim"], - [171, "v1", "anim-test-seq-item"], - [173, "v1", "anim-test-seq-item"] - ], - "anim-tester-set-name": [ - [[34, 51], "s3", "anim-test-obj"], - [[40, 63], "s5", "anim-test-sequence"] - ], - "anim-tester-add-sequence": [[[33, 102], "s5", "anim-test-obj"]], - "(anon-function 11 anim-tester)": [ - [[23, 113], "s4", "anim-test-obj"], - [[83, 338], "gp", "anim-test-sequence"], - [[123, 187], "s4", "art-joint-anim"] - ], - "(method 10 bsp-header)": [ - [[51, 61], "a0", "(pointer uint128)"], - [[51, 61], "a1", "(pointer uint128)"], - [133, "v1", "terrain-bsp"], - [141, "v1", "terrain-bsp"], - [148, "v1", "terrain-bsp"], - [5, "a0", "terrain-bsp"], - [8, "a0", "terrain-bsp"] - ], - "(method 15 bsp-header)": [ - [5, "a0", "terrain-bsp"], - [8, "a0", "terrain-bsp"] - ], - - "upload-vis-bits": [ - [[4, 16], "a1", "(pointer uint128)"], - [[12, 14], "a0", "(pointer uint128)"], - [[20, 22], "a2", "(pointer uint128)"], - [[28, 30], "a0", "(pointer uint128)"], - [[32, 34], "a2", "(pointer uint128)"] - ], - - "bsp-camera-asm": [ - [[4, 14], "a1", "bsp-node"], - [[0, 9], "v1", "bsp-node"], - [[12, 16], "v1", "bsp-node"] - ], - "level-remap-texture": [ - [15, "t0", "(pointer int32)"], - [21, "t0", "(pointer int32)"], - [19, "t0", "(pointer uint64)"], - [12, "v1", "int"] - ], - "sprite-add-matrix-data": [ - [[5, 15], "a2", "dma-packet"], - [[24, 29], "a1", "matrix"], - [[47, 57], "a2", "dma-packet"], - [[60, 97], "a1", "matrix"], - [[116, 129], "a1", "vector"] - ], - "sprite-add-frame-data": [[[8, 16], "a0", "dma-packet"]], - "sprite-add-2d-chunk": [ - [[12, 20], "a0", "dma-packet"], - [[45, 52], "a0", "dma-packet"], - [[69, 76], "a0", "dma-packet"], - [[80, 87], "v1", "dma-packet"], - [65, "a3", "int"] - ], - "sprite-add-3d-chunk": [ - [[11, 19], "a0", "dma-packet"], - [[44, 51], "a0", "dma-packet"], - [[68, 75], "a0", "dma-packet"], - [[79, 87], "v1", "dma-packet"], - [65, "a3", "int"] - ], - "sprite-add-shadow-chunk": [ - [[11, 19], "a0", "dma-packet"], - [[37, 44], "a0", "dma-packet"], - [[49, 77], "a0", "(inline-array vector)"], - [[93, 100], "a0", "dma-packet"], - [[105, 121], "s1", "adgif-shader"], - [[130, 138], "v1", "dma-packet"] - ], - "sprite-draw": [ - [[33, 37], "a0", "dma-packet"], - [[43, 46], "a0", "gs-gif-tag"], - [51, "a0", "(pointer gs-test)"], - [53, "a0", "(pointer gs-reg64)"], - [55, "a0", "(pointer gs-clamp)"], - [57, "a0", "(pointer gs-reg64)"], - [[78, 87], "a0", "dma-packet"], - [[92, 97], "a0", "dma-packet"], - [[125, 129], "a0", "dma-packet"], - [[143, 146], "v1", "dma-packet"] - ], - "sprite-init-distorter": [ - [59, "a3", "uint"], - [[3, 7], "a2", "dma-packet"], - [[13, 16], "a2", "gs-gif-tag"], - [21, "a2", "(pointer gs-zbuf)"], - [23, "a2", "(pointer gs-reg64)"], - [29, "a2", "(pointer gs-tex0)"], - [31, "a2", "(pointer gs-reg64)"], - [33, "a2", "(pointer gs-tex1)"], - [35, "a2", "(pointer gs-reg64)"], - [36, "a2", "(pointer gs-miptbp)"], - [38, "a2", "(pointer gs-reg64)"], - [45, "a2", "(pointer gs-clamp)"], - [47, "a2", "(pointer gs-reg64)"], - [49, "a2", "(pointer gs-alpha)"], - [51, "a2", "(pointer gs-reg64)"], - [[62, 67], "a1", "dma-packet"] - ], - "sprite-draw-distorters": [ - [[70, 90], "a0", "vector"], - [72, "v1", "vector"], - [93, "v1", "vector"], - [96, "v1", "vector"], - [115, "v1", "(pointer int32)"], - [119, "a0", "(pointer int32)"], - [124, "v1", "vector"], - [154, "v1", "vector"], - [[172, 189], "a1", "dma-packet"], - [[199, 203], "a0", "dma-packet"], - [[207, 211], "a0", "vector4w"], - [[216, 221], "a0", "dma-packet"], - [[248, 265], "a1", "dma-packet"], - [[273, 277], "a1", "dma-packet"], - [[281, 285], "a1", "vector4w"], - [[289, 294], "v1", "dma-packet"] - ], - - "debug-menu-make-from-template": [ - [[20, 30], "s5", "string"], - [[31, 60], "s5", "string"], - [[61, 71], "s5", "string"], - [[72, 81], "s5", "string"], - [[82, 107], "s5", "string"], - [[108, 135], "s5", "string"], - [[136, 152], "s5", "string"], - [[153, 183], "s5", "string"], - [[186, 224], "s5", "string"], - [[225, 246], "s5", "string"], - [[249, 321], "s5", "string"] - ], - - "debug-menu-item-var-render": [[[94, 98], "v1", "dma-packet"]], - - "generic-add-constants": [[[8, 17], "a0", "dma-packet"]], - - "generic-init-buf": [ - [[14, 19], "a0", "dma-packet"], - [[24, 28], "a0", "gs-gif-tag"], - [32, "a0", "(pointer gs-test)"], - [34, "a0", "(pointer uint64)"], - [34, "a1", "gs-reg"], - [35, "a0", "(pointer gs-zbuf)"], - [37, "a0", "(pointer uint64)"], - [37, "a1", "gs-reg"], - [[47, 53], "a0", "dma-packet"], - [[56, 62], "v1", "(pointer vif-tag)"], - [[62, 66], "v1", "(pointer int32)"] - ], - - "cam-standard-event-handler": [ - [[16, 30], "s5", "state"], - [41, "a0", "vector"], - [[5, 8], "t9", "(function object)"], - [[19, 22], "t9", "(function object)"], - [[30, 32], "t9", "(function object)"] - ], - - "(event cam-combiner-active)": [ - [10, "a0", "vector"], - [[99, 127], "gp", "camera-slave"], - [[187, 231], "gp", "camera-slave"] - ], - - "(method 15 tracking-spline)": [ - [[57, 59], "a2", "vector"], - [[57, 59], "a3", "vector"] - ], - - "(method 16 tracking-spline)": [ - [[40, 42], "a0", "vector"], - [[40, 42], "a1", "vector"] - ], - - "cam-slave-get-vector-with-offset": [[[52, 65], "s3", "vector"]], - - "cam-slave-go": [[[3, 6], "t9", "(function object)"]], - - "cam-slave-init": [ - [[47, 50], "t9", "(function object object)"], - [[54, 58], "t9", "(function object object)"] - ], - - "update-mood-village3": [[[245, 311], "s0", "village3-states"]], - - "update-mood-citadel": [ - [291, "s5", "(pointer float)"], - [298, "s5", "(pointer float)"], - [300, "s5", "(pointer float)"], - [304, "s5", "(pointer float)"], - [307, "s5", "(pointer float)"], - [318, "s5", "(pointer float)"] - ], - - "update-mood-finalboss": [ - [40, "s4", "(pointer int64)"], - [44, "s4", "(pointer int64)"], - [174, "s4", "(pointer int64)"], - [251, "s4", "(pointer int64)"], - [255, "s4", "(pointer int64)"], - [347, "s4", "(pointer int64)"] - ], - - "update-mood-ogre": [ - [57, "s4", "(pointer float)"], - [64, "s4", "(pointer float)"], - [90, "s4", "(pointer float)"], - [92, "s4", "(pointer float)"], - [95, "s4", "(pointer float)"], - [98, "s4", "(pointer float)"], - [100, "s4", "(pointer float)"], - [105, "s4", "(pointer float)"], - [144, "s4", "(pointer float)"] - ], - - "update-mood-snow": [[[30, 111], "s5", "snow-states"]], - - "update-mood-ogre": [[[53, 145], "s4", "ogre-states"]], - - "update-mood-finalboss": [[[40, 348], "s4", "finalboss-states"]], - - "ocean-trans-add-upload-table": [ - [44, "a0", "dma-packet"], - [46, "a0", "dma-packet"], - [51, "a0", "dma-packet"], - [[55, 59], "v1", "vector4w"], // TODO - very likely wrong, but it's something that has 4 int32's, - [[87, 228], "v1", "(inline-array vector)"], - [241, "a0", "dma-packet"], - [243, "a0", "dma-packet"], - [248, "a0", "dma-packet"] - ], - - "ocean-trans-add-upload-strip": [ - [39, "a0", "dma-packet"], - [41, "a0", "dma-packet"], - [46, "a0", "dma-packet"], - [[57, 61], "v1", "vector4w"], // TODO - very likely wrong, but it's something that has 4 int32's, - [[64, 147], "v1", "(inline-array vector)"], // TODO - very likely wrong, but it's something that has 4 int32's, - [166, "a0", "dma-packet"], - [168, "a0", "dma-packet"], - [173, "a0", "dma-packet"] - ], - - "ocean-trans-add-constants": [ - [7, "a1", "dma-packet"], - [9, "a1", "dma-packet"], - [14, "a1", "dma-packet"], - [[17, 46], "v1", "matrix"] - ], - - "draw-ocean-transition": [[255, "v1", "ocean-mid-mask"]], - - "do-target-shadow": [ - [46, "v1", "collide-shape-prim"] // `event-other` from collide-shape - ], - - "draw-string": [ - [[93, 96], "a0", "(pointer uint8)"], - [[206, 209], "t3", "font-work"], - [[210, 214], "t3", "font-work"], - [[217, 221], "t3", "font-work"], - [356, "t2", "(pointer uint64)"], - [726, "t2", "(pointer uint64)"], - [[68, 76], "t4", "(pointer uint32)"], - [[239, 247], "t3", "font-work"], - [[424, 878], "a1", "(pointer uint128)"], - [[616, 634], "t4", "font-work"] - ], - - "get-string-length": [[[29, 31], "a0", "(pointer uint8)"]], - - "print-game-text-scaled": [[[31, 32], "f3", "float"]], - - "print-game-text": [[[369, 372], "v1", "dma-packet"]], - - "debug-init-buffer": [ - [[11, 15], "t1", "dma-packet"], - [[21, 24], "t1", "gs-gif-tag"], - [28, "t1", "(pointer gs-zbuf)"], - [30, "t1", "(pointer gs-reg64)"], - [31, "t1", "(pointer gs-test)"], - [33, "t1", "(pointer gs-reg64)"], - [[39, 42], "a1", "dma-packet"] - ], - - "display-frame-finish": [ - [[30, 35], "a1", "dma-packet"], - [[40, 43], "a0", "dma-packet"], - [[63, 69], "a0", "dma-packet"], - [[78, 79], "a0", "dma-packet"], - [79, "a0", "(pointer uint64)"] - ], - "(event water-vol-idle water-anim)": [[6, "a0", "vector"]], - - "(method 22 water-anim)": [[25, "s3", "basic"]], - - "(method 25 water-anim)": [ - [25, "v0", "(pointer float)"], - ["_stack_", 16, "res-tag"] - ], - - "(method 22 rigid-body-platform)": [[26, "f0", "float"]], - - "rigid-body-platform-event-handler": [ - [28, "v1", "process-drawable"], - [34, "v1", "float"], - [83, "v1", "process-drawable"], - [119, "v1", "process-drawable"], - [125, "v1", "process-drawable"], - [158, "v1", "vector"], - [170, "v1", "vector"], - [184, "v1", "(pointer handle)"], - [213, "v1", "process-drawable"] - ], - - "(anon-function 9 plat-eco)": [ - [23, "v1", "(state symbol none)"], - [58, "v1", "(state symbol none)"] - ], - - "(method 7 rigid-body-platform)": [ - [5, "v1", "int"], - [14, "t9", "(function process-drawable int process-drawable)"] - ], - - "(method 10 rigid-body)": [[50, "v1", "vector"]], - - "(method 22 mud)": [[35, "v0", "(pointer float)"]], - - "(method 11 twister)": [ - [7, "s4", "twist-joint"], - [13, "s4", "twist-joint"], - [26, "s4", "twist-joint"], - [28, "s4", "twist-joint"], - [36, "s4", "twist-joint"], - [40, "s4", "twist-joint"], - [47, "s4", "twist-joint"], - [55, "s4", "twist-joint"], - [70, "s4", "twist-joint"], - [82, "s4", "twist-joint"] - ], - - "(code teetertotter-launch)": [[11, "v1", "art-joint-anim"]], - - "(code teetertotter-bend)": [[10, "v1", "art-joint-anim"]], - - "(method 11 silostep)": [[100, "v1", "art-joint-anim"]], - - "(enter plat-button-pressed sunken-elevator)": [ - [40, "v1", "village2cam"], - [73, "v1", "village2cam"] - ], - - "(trans plat-button-move-upward sunken-elevator)": [ - [49, "v1", "village2cam"] - ], - - "(trans plat-button-move-downward sunken-elevator)": [ - [13, "v0", "(state sunken-elevator)"] - ], - - "(method 27 sunken-elevator)": [[37, "v1", "art-joint-anim"]], - - "nav-enemy-set-base-collide-sphere-collide-with": [ - [19, "v1", "collide-shape-prim-group"], - [23, "s2", "collide-shape-prim"], - [32, "v1", "collide-shape-prim-sphere"], - [33, "s5", "collide-shape-prim-group"], - [37, "v1", "collide-shape-prim-sphere"], - [38, "s5", "collide-shape-prim-group"], - [42, "v1", "collide-shape-prim-sphere"], - [43, "s5", "collide-shape-prim-group"], - [50, "s4", "collide-shape-prim-group"], - [54, "s5", "collide-shape-prim"], - [55, "s5", "collide-shape-prim"] - ], - - "nav-enemy-jump-land-anim": [[39, "v1", "art-joint-anim"]], - - "(code nav-enemy-victory nav-enemy)": [[27, "v1", "art-joint-anim"]], - "(code nav-enemy-notice nav-enemy)": [[27, "v1", "art-joint-anim"]], - "(code nav-enemy-patrol nav-enemy)": [ - [23, "v1", "art-joint-anim"], - [105, "v1", "art-joint-anim"], - [167, "v1", "art-joint-anim"], - [249, "v1", "art-joint-anim"] - ], - - "(code nav-enemy-flee nav-enemy)": [ - [27, "v1", "art-joint-anim"], - [91, "v1", "art-joint-anim"] - ], - - "nav-enemy-set-hit-from-direction": [[19, "v1", "process-drawable"]], - "(method 45 nav-enemy)": [[14, "v1", "process-mask"]], - - "nav-enemy-default-event-handler": [ - [62, "a0", "vector"], - [82, "a0", "vector"] - ], - - "(method 7 nav-enemy)": [ - [5, "v1", "int"], - [10, "v1", "int"], - [19, "t9", "(function process-drawable int none)"] - ], - - "(enter nav-enemy-patrol nav-enemy)": [[8, "v1", "int"]], - - "(code nav-enemy-fuel-cell nav-enemy)": [[31, "v1", "int"]], - - "(method 16 level)": [ - [252, "v1", "(pointer uint128)"], - [253, "a1", "(pointer uint128)"], - [255, "a0", "(pointer uint128)"], - [208, "s2", "(pointer uint8)"], - [209, "s2", "(pointer uint8)"], - [210, "s1", "(pointer uint8)"], - [217, "s2", "(pointer uint8)"], - [218, "s1", "(pointer uint8)"], - [79, "a0", "(pointer uint128)"], - [80, "v1", "(pointer uint128)"], - [257, "v1", "(pointer uint16)"], - [222, "s2", "(pointer uint8)"], - [161, "s1", "(pointer uint128)"], - [140, "s1", "(pointer uint128)"] - ], - - "(method 15 level)": [[[21, 60], "v1", "(inline-array box8s)"]], - - "(method 27 level)": [[[23, 68], "s2", "(inline-array box8s)"]], - - "unpack-comp-huf": [[[21, 23], "t3", "(pointer uint16)"]], - - "(method 9 merc-fragment)": [[[13, 161], "s3", "adgif-shader"]], - - "(method 9 merc-effect)": [ - [49, "s4", "pointer"], - [50, "s5", "pointer"], - [[0, 49], "s4", "merc-fragment"], - [[0, 50], "s5", "merc-fragment-control"] - ], - - "merc-vu1-initialize-chain": [ - [[19, 47], "s5", "merc-vu1-low-mem"], - [58, "gp", "(inline-array dma-packet)"], - [[12, 18], "gp", "(pointer vif-tag)"] - ], - - "merc-vu1-init-buffer": [ - [[27, 31], "a0", "dma-packet"], - [[37, 40], "a0", "gs-gif-tag"], - [44, "a0", "(pointer gs-test)"], - [46, "a0", "(pointer gs-reg64)"], - [[55, 58], "v1", "dma-packet"] - ], - - "(method 8 merc-ctrl)": [ - [46, "s2", "pointer"], // was merc-fragment-control - [[22, 45], "s2", "merc-fragment-control"], - [[89, 93], "a1", "merc-blend-ctrl"], - [103, "a1", "pointer"] - ], - - "merc-edge-stats": [[[33, 35], "v1", "merc-ctrl"]], - - "(method 9 screen-filter)": [[[23, 26], "v1", "dma-packet"]], - - "(method 48 mayor)": [[32, "a0", "int"]], - - "(method 43 mayor)": [[19, "v1", "float"]], - - "(post idle mayor)": [[4, "t9", "(function none)"]], - - "(method 43 bird-lady)": [[19, "v1", "float"]], - - "muse-to-idle": [[57, "v1", "muse"]], - - "(method 32 sculptor)": [[87, "v1", "muse"]], - - "(method 43 sculptor)": [[19, "v1", "float"]], - - "(code idle sculptor)": [ - [71, "v1", "art-joint-anim"], - [135, "v1", "art-joint-anim"], - [184, "v1", "float"], - [204, "v1", "art-joint-anim"], - [255, "v1", "float"], - [269, "v1", "art-joint-anim"], - [319, "v1", "art-joint-anim"], - [369, "v1", "art-joint-anim"], - [421, "v1", "art-joint-anim"], - [470, "v1", "float"], - [490, "v1", "art-joint-anim"], - [543, "v1", "art-joint-anim"], - [593, "v1", "art-joint-anim"], - [643, "v1", "art-joint-anim"], - [698, "v1", "float"], - [718, "v1", "art-joint-anim"], - [769, "v1", "float"], - [785, "v1", "art-joint-anim"], - [836, "v1", "art-joint-anim"], - [886, "v1", "art-joint-anim"], - [936, "v1", "art-joint-anim"] - ], - - "(method 43 geologist)": [[19, "v1", "float"]], - - "(anon-function 3 oracle)": [[11, "v1", "collide-shape"]], - - "(method 43 farmer)": [[19, "v1", "float"]], - - "(method 43 explorer)": [[19, "v1", "float"]], - - "(code idle explorer)": [ - [36, "v1", "float"], - [56, "v1", "art-joint-anim"], - [107, "v1", "float"], - [123, "v1", "art-joint-anim"], - [180, "v1", "float"], - [200, "v1", "float"], - [216, "v1", "art-joint-anim"], - [273, "v1", "float"], - [347, "v1", "float"], - [363, "v1", "art-joint-anim"], - [420, "v1", "float"], - [500, "v1", "art-joint-anim"], - [542, "v1", "art-joint-anim"], - [599, "v1", "float"], - [621, "v1", "art-joint-anim"], - [678, "v1", "float"], - [761, "v1", "float"], - [783, "v1", "art-joint-anim"] - ], - - "(method 32 assistant)": [[39, "v1", "float"]], - - "(method 43 assistant)": [[19, "v1", "float"]], - - "(code idle assistant)": [ - [35, "v1", "float"], - [114, "v1", "float"], - [130, "v1", "art-joint-anim"], - [207, "v1", "float"], - [376, "v1", "art-joint-anim"], - [415, "v1", "float"], - [431, "v1", "art-joint-anim"], - [482, "v1", "art-joint-anim"], - [530, "v1", "float"], - [549, "v1", "art-joint-anim"], - [602, "v1", "art-joint-anim"] - ], - - "check-drop-level-assistant": [[17, "v1", "float"]], - - "(method 32 sage)": [ - [76, "v1", "float"], - [262, "v1", "assistant"] - ], - - "(method 43 sage)": [[19, "v1", "float"]], - - "(code idle sage)": [ - [35, "v1", "float"], - [155, "v1", "art-joint-anim"] - ], - - "(method 43 gambler)": [[19, "v1", "float"]], - - "(code idle gambler)": [[93, "v1", "float"]], - - "(method 32 warrior)": [[76, "v1", "handle"]], - - "(method 43 warrior)": [[19, "v1", "float"]], - - "(method 32 minershort)": [ - [44, "v1", "float"], - [112, "v1", "float"] - ], - - "(method 43 minershort)": [[19, "v1", "float"]], - - "(method 33 progress)": [ - [ - 30, - "t9", - "(function process function object object object object object)" - ], - [ - 159, - "t9", - "(function process function object object object object object)" - ], - [ - 288, - "t9", - "(function process function object object object object object)" - ], - [ - 417, - "t9", - "(function process function object object object object object)" - ], - [ - 546, - "t9", - "(function process function object object object object object)" - ], - [ - 675, - "t9", - "(function process function object object object object object)" - ], - [35, "a0", "manipy"], - [38, "v1", "manipy"], - [50, "v1", "manipy"], - [98, "v1", "manipy"], - [164, "a0", "manipy"], - [167, "v1", "manipy"], - [179, "v1", "manipy"], - [227, "v1", "manipy"], - [293, "a0", "manipy"], - [296, "v1", "manipy"], - [308, "v1", "manipy"], - [356, "v1", "manipy"], - [422, "a0", "manipy"], - [425, "v1", "manipy"], - [437, "v1", "manipy"], - [485, "v1", "manipy"], - [551, "a0", "manipy"], - [554, "v1", "manipy"], - [566, "v1", "manipy"], - [614, "v1", "manipy"], - [680, "a0", "manipy"], - [683, "v1", "manipy"], - [695, "v1", "manipy"], - [743, "v1", "manipy"] - ], - - "fuel-cell-progress-hud-orbit-callback": [ - [[0, 199], "s5", "progress"], - [4, "f0", "float"] - ], - - "(method 7 progress)": [[16, "a2", "pointer"]], - - "(method 17 progress)": [ - [[466, 471], "v1", "dma-packet"], - [[154, 159], "v1", "dma-packet"] - ], - - "(post progress-debug)": [ - [[61, 66], "v1", "dma-packet"], - [[108, 113], "v1", "dma-packet"], - [[153, 158], "v1", "dma-packet"], - [[198, 203], "v1", "dma-packet"] - ], - - "(method 23 progress)": [[103, "v1", "float"]], - - "(post progress-normal)": [[416, "a0", "float"]], - - "(method 53 progress)": [[[0, 999], "gp", "progress-screen"]], - "(method 35 progress)": [[38, "s4", "game-text-id"]], - "(method 43 progress)": [[45, "s4", "game-text-id"]], - "(method 38 progress)": [[58, "a1", "game-text-id"]], - - "draw-percent-bar": [[[33, 38], "v1", "dma-packet"]], - - "(method 11 fact-info-target)": [ - [135, "v1", "target"], - [148, "v1", "collide-shape"], - [258, "v1", "target"], - [272, "v1", "target"], - [287, "v1", "target"], - [298, "v1", "target"] - ], - - "(method 7 process)": [ - [[120, 124], "a0", "basic"], - [[127, 130], "a0", "basic"], - [47, "v1", "connection"], - [57, "v1", "connection"], - [[47, 88], "v1", "connection"] - ], - - "(anon-function 7 game-info)": [[2, "v1", "collide-shape"]], - - "(method 24 game-info)": [ - [112, "s3", "pointer"], - [[113, 165], "a0", "game-save-tag"], - [[148, 166], "s2", "game-save-tag"], - [[148, 168], "s4", "game-save-tag"], - [[171, 221], "a0", "game-save-tag"], - [[234, 240], "a0", "game-save-tag"], - [[253, 276], "a0", "game-save-tag"], - [[283, 302], "a0", "game-save-tag"], - [[319, 324], "a1", "game-save-tag"], - [[342, 348], "a1", "game-save-tag"], - [[395, 468], "a0", "game-save-tag"], - [[480, 488], "a0", "game-save-tag"], - [[500, 506], "a0", "game-save-tag"], - [[521, 528], "a0", "game-save-tag"], - [[543, 650], "a0", "game-save-tag"], - // [329, "a0", "pointer"], - // [338, "a0", "pointer"], - // [[173, 230], "a0", "game-save-tag"], - [252, "a0", "(pointer int32)"], - [654, "a0", "pointer"] - ], - - "auto-save-post": [[138, "t9", "(function object string object none)"]], - - "target-compute-pole": [ - [12, "s4", "swingpole"], - [21, "s4", "swingpole"], - [24, "s4", "swingpole"], - [30, "s4", "swingpole"], - [33, "s4", "swingpole"], - [76, "s4", "swingpole"], - [85, "s4", "swingpole"], - [87, "s4", "swingpole"] - ], - - "(method 10 target)": [[[10, 13], "t9", "(function process-drawable none)"]], - - "draw-history": [[[99, 101], "v1", "int"]], - - "(method 9 attack-info)": [ - [82, "v1", "process-drawable"], - [87, "s3", "process-drawable"], - [89, "v1", "process-drawable"], - [118, "a0", "process-drawable"] - ], - - "dm-task-get-money": [[32, "v1", "float"]], - - "ground-tween-update": [ - [16, "f1", "float"], - [20, "f2", "float"], - [34, "f0", "float"], - [38, "f1", "float"] - ], - - "(method 32 evilbro)": [[20, "v1", "handle"]], - - "(code idle evilbro)": [ - [27, "v1", "art-joint-anim"], - [84, "v1", "float"], - [171, "v1", "float"] - ], - - "all-texture-tweak-adjust": [ - [38, "s0", "adgif-shader"], - [42, "s0", "adgif-shader"] - ], - - "build-instance-list": [ - [30, "v1", "drawable-tree-instance-shrub"], - [61, "v1", "drawable-tree-instance-tie"] - ], - - "(anon-function 82 default-menu)": [ - [[12, 25], "s4", "texture-id"], - [36, "s5", "adgif-shader"] - ], - - "(anon-function 79 default-menu)": [ - [[3, 13], "v1", "texture-id"], - [[20, 28], "a1", "adgif-shader"], - [33, "v1", "texture-id"], - [41, "v1", "adgif-shader"] - ], - - "(anon-function 78 default-menu)": [ - [[2, 13], "v1", "texture-id"], - [[20, 29], "a1", "adgif-shader"], - [34, "v1", "texture-id"], - [42, "v1", "adgif-shader"] - ], - - "(anon-function 77 default-menu)": [ - [[3, 13], "v1", "texture-id"], - [[20, 28], "a1", "adgif-shader"], - [33, "v1", "texture-id"], - [41, "v1", "adgif-shader"] - ], - - "(anon-function 76 default-menu)": [ - [[3, 13], "v1", "texture-id"], - [[20, 28], "a1", "adgif-shader"], - [33, "v1", "texture-id"], - [41, "v1", "adgif-shader"] - ], - - "(anon-function 75 default-menu)": [ - [[3, 13], "v1", "texture-id"], - [[20, 28], "a1", "adgif-shader"], - [33, "v1", "texture-id"], - [41, "v1", "adgif-shader"] - ], - - "(anon-function 74 default-menu)": [ - [[2, 13], "v1", "texture-id"], - [[20, 29], "a1", "adgif-shader"], - [34, "v1", "texture-id"], - [42, "v1", "adgif-shader"] - ], - - "(anon-function 73 default-menu)": [ - [[3, 13], "v1", "texture-id"], - [[20, 28], "a1", "adgif-shader"], - [33, "v1", "texture-id"], - [41, "v1", "adgif-shader"] - ], - - "(anon-function 72 default-menu)": [ - [[3, 13], "v1", "texture-id"], - [[20, 28], "a1", "adgif-shader"], - [33, "v1", "texture-id"], - [41, "v1", "adgif-shader"] - ], - - "(anon-function 71 default-menu)": [ - [[3, 13], "v1", "texture-id"], - [[20, 28], "a1", "adgif-shader"], - [33, "v1", "texture-id"], - [41, "v1", "adgif-shader"] - ], - - "(anon-function 70 default-menu)": [ - [[2, 13], "v1", "texture-id"], - [[20, 29], "a1", "adgif-shader"], - [34, "v1", "texture-id"], - [42, "v1", "adgif-shader"] - ], - - "(anon-function 69 default-menu)": [ - [[3, 13], "v1", "texture-id"], - [[20, 28], "a1", "adgif-shader"], - [33, "v1", "texture-id"], - [41, "v1", "adgif-shader"] - ], - - "(anon-function 68 default-menu)": [ - [[3, 13], "v1", "texture-id"], - [[20, 28], "a1", "adgif-shader"], - [33, "v1", "texture-id"], - [41, "v1", "adgif-shader"] - ], - - "(anon-function 67 default-menu)": [ - [[3, 13], "v1", "texture-id"], - [[20, 28], "a1", "adgif-shader"], - [33, "v1", "texture-id"], - [41, "v1", "adgif-shader"] - ], - - "(anon-function 66 default-menu)": [ - [[3, 13], "v1", "texture-id"], - [[20, 28], "a1", "adgif-shader"], - [33, "v1", "texture-id"], - [41, "v1", "adgif-shader"] - ], - - "(anon-function 65 default-menu)": [ - [[3, 13], "v1", "texture-id"], - [[20, 28], "a1", "adgif-shader"], - [33, "v1", "texture-id"], - [41, "v1", "adgif-shader"] - ], - - "(anon-function 64 default-menu)": [ - [[2, 13], "v1", "texture-id"], - [[20, 29], "a1", "adgif-shader"], - [34, "v1", "texture-id"], - [42, "v1", "adgif-shader"] - ], - - "(anon-function 63 default-menu)": [ - [[2, 13], "v1", "texture-id"], - [[20, 29], "a1", "adgif-shader"], - [34, "v1", "texture-id"], - [42, "v1", "adgif-shader"] - ], - - "build-continue-menu": [ - [4, "v1", "symbol"], - [[5, 15], "v1", "level-load-info"] - ], - - "(method 26 basebutton)": [[31, "v1", "art-joint-anim"]], - - "debug-menu-item-var-make-float": [ - [30, "t9", "(function int debug-menu-msg float float int)"] - ], - - "entity-remap-names": [ - [33, "a1", "int"], - [39, "a2", "int"] - ], - - "process-status-bits": [[[15, 59], "s3", "process-drawable"]], - - "(method 13 level-group)": [[[56, 61], "a0", "entity-actor"]], - - "(method 24 entity)": [[[39, 45], "a0", "entity-actor"]], - - "(method 23 level-group)": [ - [53, "a0", "entity-actor"], - [57, "v1", "entity-actor"], - [[29, 31], "v0", "(inline-array vector)"] - ], - - "(method 24 level-group)": [ - [51, "v1", "entity-actor"], - [[55, 57], "s1", "(inline-array vector)"] - ], - - "init-entity": [ - [31, "t9", "(function process function process entity none)"] - ], - - "(method 19 bsp-header)": [ - [[53, 63], "s2", "process"], - [74, "s2", "part-tracker"], - [[104, 122], "v1", "process-drawable"], - [[129, 148], "v1", "process-drawable"], - [[123, 127], "a0", "process-drawable"] - ], - - "(method 3 entity)": [[7, "t9", "(function entity entity)"]], - - "(method 3 entity-actor)": [ - [7, "t9", "(function entity-actor entity-actor)"] - ], - - "(method 10 drawable-group)": [[19, "s5", "drawable-group"]], - - "(method 15 drawable-group)": [[19, "s5", "drawable-group"]], - - "(method 14 level-group)": [ - [[54, 164], "s1", "process-drawable"], - [[107, 127], "s0", "(pointer int32)"], - [[153, 162], "v0", "symbol"], - [[319, 342], "s0", "process-drawable"], - [368, "v1", "(pointer process-drawable)"], - [[384, 494], "s5", "process-drawable"] - ], - - "(method 22 level-group)": [[[28, 30], "v0", "(inline-array vector)"]], - - "expand-vis-box-with-point": [[10, "v0", "(inline-array vector)"]], - - "(method 28 entity-ambient)": [[79, "v1", "int"]], - - "(method 27 entity-ambient)": [ - [[15, 250], "s5", "symbol"], - [32, "v0", "symbol"] - ], - - "birth-func-vector-orient": [[[7, 24], "s3", "sprite-vec-data-2d"]], - - "process-drawable-burn-effect": [ - [28, "a0", "process-drawable"], - [105, "v1", "process-drawable"], - [49, "a0", "process-drawable"], - [64, "a0", "process-drawable"] - ], - - "(anon-function 0 dark-eco-pool)": [[2, "v1", "state"]], - - "(method 25 dark-eco-pool)": [ - [ - 22, - "t9", - "(function res-lump symbol symbol float structure (pointer res-tag) pointer object)" - ] - ], - - "(top-level-login beach-rocks)": [[78, "v1", "state"]], - - "(method 7 beach-rock)": [ - [5, "v1", "int"], - [10, "v1", "int"], - [19, "t9", "(function process-drawable int none)"] - ], - - "(method 10 beach-rock)": [[21, "t9", "(function process-drawable none)"]], - - "(code falling beach-rock)": [ - [138, "gp", "handle"], - [150, "gp", "handle"], - [[158, 165], "s5", "handle"] - ], - - "(method 11 beach-rock)": [[77, "v1", "int"]], - - "(anon-function 27 projectiles)": [ - [27, "s4", "collide-shape"], - [36, "s4", "collide-shape"] - ], - - "projectile-update-velocity-space-wars": [[60, "a0", "target"]], - - "projectile-init-by-other": [ - [70, "v1", "process-drawable"], - [77, "v1", "process-drawable"] - ], - - "(method 24 projectile-yellow)": [ - [[81, 999], "s5", "sound-rpc-set-param"], - [99, "gp", "process-drawable"], - [102, "gp", "process-drawable"] - ], - - "(method 28 projectile-yellow)": [ - [26, "a0", "target"], - [118, "a1", "target"] - ], - - "(method 27 projectile-blue)": [ - [51, "v1", "process-mask"], - [87, "v1", "process-drawable"] - ], - - "spawn-projectile-blue": [ - [ - 69, - "s2", - "(function process function object object object object object object)" - ] - ], - - "(method 28 projectile-blue)": [[27, "v1", "process-drawable"]], - - "(method 27 projectile-yellow)": [[70, "v1", "process-mask"]], - - "manipy-init": [ - [143, "a0", "collide-shape"], - [145, "a0", "collide-shape"] - ], - - "forall-particles-with-key-runner": [ - [32, "s3", "(inline-array sparticle-cpuinfo)"], - [42, "s3", "(inline-array sparticle-cpuinfo)"] - ], - - "(trans plat-button-move-downward jungle-elevator)": [ - [11, "v0", "(state plat-button)"] - ], - - "(code plat-button-at-end jungle-elevator)": [ - [43, "t9", "(function none :behavior plat-button)"] - ], - - "(code bouncer-fire)": [[17, "v1", "art-joint-anim"]], - - "(method 39 hopper)": [[16, "t9", "(function nav-enemy none)"]], - - "(code nav-enemy-idle hopper)": [ - [16, "v1", "art-joint-anim"], - [70, "v1", "art-joint-anim"] - ], - - "(code nav-enemy-patrol hopper)": [ - [34, "v1", "art-joint-anim"], - [105, "v1", "art-joint-anim"] - ], - - "(code nav-enemy-chase hopper)": [ - [34, "v1", "art-joint-anim"], - [105, "v1", "art-joint-anim"] - ], - - "(method 39 junglefish)": [[12, "t9", "(function nav-enemy none)"]], - - "(code nav-enemy-patrol junglefish)": [ - [27, "v1", "art-joint-anim"], - [107, "v1", "art-joint-anim"], - [169, "v1", "art-joint-anim"], - [251, "v1", "art-joint-anim"] - ], - - "(code nav-enemy-attack junglefish)": [[14, "v1", "art-joint-anim"]], - - "(code nav-enemy-victory junglefish)": [ - [14, "v1", "art-joint-anim"], - [64, "v1", "art-joint-anim"] - ], - - "(method 32 sequenceB)": [ - [177, "s3", "babak"], - [186, "s3", "babak"], - [236, "s3", "babak"], - [245, "s3", "babak"] - ], - - "(event play-anim sequenceB)": [ - [98, "gp", "evilbro"], - [107, "gp", "evilbro"], - [289, "gp", "evilsis"], - [298, "gp", "evilsis"] - ], - - "sequenceC-can-trans-hook": [[12, "v1", "process-taskable"]], - - "(anon-function 7 sidekick-human)": [ - [2, "v1", "process-taskable"], - [10, "v1", "process-taskable"] - ], - - "(code idle assistant-firecanyon)": [ - [33, "v1", "float"], - [55, "v1", "float"], - [139, "v1", "float"], - [157, "v1", "art-joint-anim"], - [213, "v1", "float"], - [295, "v1", "art-joint-anim"], - [343, "v1", "float"], - [424, "v1", "float"], - [446, "v1", "float"], - [530, "v1", "float"], - [548, "v1", "art-joint-anim"], - [604, "v1", "float"], - [686, "v1", "art-joint-anim"], - [734, "v1", "float"], - [756, "v1", "float"] - ], - - "(method 32 sage-bluehut)": [ - [44, "v1", "float"], - [63, "s5", "assistant-bluehut"] - ], - - "(method 47 sage-bluehut)": [ - [18, "gp", "assistant-bluehut"], - [23, "gp", "assistant-bluehut"] - ], - - "(method 43 sage-bluehut)": [[19, "v1", "float"]], - - "(code idle sage-bluehut)": [ - [34, "v1", "float"], - [137, "v1", "art-joint-anim"] - ], - - "(code idle flutflut-bluehut)": [ - [33, "v1", "float"], - [187, "v1", "art-joint-anim"], - [243, "v1", "float"], - [329, "v1", "art-joint-anim"] - ], - - "(method 39 sharkey)": [[71, "t9", "(function nav-enemy none)"]], - - "(code nav-enemy-patrol sharkey)": [[27, "v1", "art-joint-anim"]], - - "(code nav-enemy-attack sharkey)": [[144, "v1", "art-joint-anim"]], - - "(code nav-enemy-chase sharkey)": [[40, "v1", "art-joint-anim"]], - - "(code nav-enemy-stop-chase sharkey)": [[22, "v1", "art-joint-anim"]], - - "(code nav-enemy-victory sharkey)": [[24, "v1", "art-joint-anim"]], - - "(code nav-enemy-chase lurkercrab)": [ - [17, "v1", "art-joint-anim"], - [338, "v1", "art-joint-anim"], - [388, "v1", "art-joint-anim"] - ], - - "(code nav-enemy-patrol lurkercrab)": [ - [21, "v1", "art-joint-anim"], - [77, "v1", "art-joint-anim"], - [191, "v1", "art-joint-anim"] - ], - - "(code nav-enemy-notice lurkerpuppy)": [[24, "v1", "art-joint-anim"]], - - "(code nav-enemy-victory lurkerpuppy)": [[20, "v1", "art-joint-anim"]], - - "(code nav-enemy-give-up lurkerpuppy)": [ - [18, "v1", "art-joint-anim"], - [76, "v1", "art-joint-anim"] - ], - - "(code nav-enemy-chase lurkerpuppy)": [ - [25, "v1", "art-joint-anim"], - [111, "v1", "art-joint-anim"] - ], - - "static-screen-init-by-other": [ - [32, "s3", "sparticle-launch-group"], - [35, "s3", "sparticle-launch-group"] - ], - - "(code target-demo)": [ - [[65, 73], "v1", "handle"], - [[95, 103], "v1", "handle"], - [[125, 133], "v1", "handle"], - [[162, 170], "v1", "handle"], - [[195, 203], "v1", "handle"], - [[228, 236], "v1", "handle"], - [[261, 269], "v1", "handle"], - [[292, 300], "v1", "handle"], - [[322, 330], "v1", "handle"], - [[356, 364], "v1", "handle"], - [[389, 397], "v1", "handle"], - [[422, 430], "v1", "handle"], - [[455, 463], "v1", "handle"], - [[486, 494], "v1", "handle"], - [[517, 525], "v1", "handle"], - [[548, 555], "v1", "handle"], - [[577, 585], "v1", "handle"] - ], - - "target-has-all-the-cells?": [[17, "v1", "float"]], - - "(code open final-door)": [ - [13, "v1", "art-joint-anim"], - [66, "v1", "art-joint-anim"] - ], - - "(code idle powercellalt)": [[8, "a1", "process-drawable"]], - - "(code target-final-door)": [ - [85, "gp", "handle"], - [105, "gp", "handle"], - [117, "gp", "handle"], - [133, "s1", "process-drawable"], - [200, "s1", "process-drawable"] - ], - - "(event open final-door)": [ - [4, "v1", "float"], - [6, "v1", "float"] - ], - - "(code nav-enemy-chase aphid)": [ - [42, "v1", "art-joint-anim"], - [168, "v1", "art-joint-anim"] - ], - - "(code nav-enemy-stare aphid)": [ - [34, "v1", "art-joint-anim"], - [160, "v1", "art-joint-anim"] - ], - - "(code nav-enemy-give-up aphid)": [ - [43, "v1", "art-joint-anim"], - [101, "v1", "art-joint-anim"] - ], - - "(method 27 plat-button)": [[37, "v1", "art-joint-anim"]], - - "(method 11 plat-button)": [[17, "v1", "vector"]], - - "(trans plat-button-move-downward plat-button)": [ - [[92, 999], "gp", "sound-rpc-set-param"] - ], - - "(trans plat-button-move-upward plat-button)": [ - [[92, 999], "gp", "sound-rpc-set-param"] - ], - - "(anon-function 7 plat-eco)": [[22, "v1", "target"]], - - "drop-plat-set-fade": [[7, "v1", "process-drawable"]], - - "(code drop-plat-spawn)": [[3, "v1", "process-drawable"]], - - "(code drop-plat-rise)": [ - [10, "v1", "process-drawable"], - [24, "v1", "process-drawable"], - [45, "v1", "process-drawable"], - [85, "v1", "process-drawable"] - ], - - "(post drop-plat-rise)": [[12, "v1", "process-drawable"]], - - "(code drop-plat-drop)": [ - [2, "v1", "process-drawable"], - [85, "v1", "process-drawable"] - ], - - "(post drop-plat-drop)": [[12, "v1", "process-drawable"]], - - "drop-plat-init-by-other": [[22, "v1", "process-drawable"]], - - "citb-drop-plat-drop-children": [[[23, 29], "a0", "drop-plat"]], - - "citb-drop-plat-spawn-children": [ - [98, "t9", "(function process function vector int int int none)"] - ], - - "(method 11 citb-drop-plat)": [ - [24, "v1", "(pointer int32)"], - [26, "v1", "(pointer int32)"] - ], - - "(code plat-flip-idle)": [ - [62, "v1", "art-joint-anim"], - [91, "v1", "art-joint-anim"], - [132, "v1", "art-joint-anim"] - ], - - "(method 11 plat-flip)": [ - ["_stack_", 16, "res-tag"], - ["_stack_", 32, "res-tag"], - ["_stack_", 48, "res-tag"], - [147, "v1", "(pointer float)"], - [192, "v1", "(pointer float)"] - ], - - "(method 27 square-platform)": [[[26, 33], "a0", "water-vol"]], - - "(method 27 wedge-plat)": [ - [4, "v1", "process-drawable"], - [10, "f0", "float"], - [40, "f26", "float"], - [50, "f26", "float"] - ], - - "(method 27 wedge-plat-outer)": [ - [4, "v1", "process-drawable"], - [10, "f0", "float"], - [40, "f26", "float"], - [50, "f26", "float"] - ], - - "(code plunger-lurker-plunge)": [ - [[76, 299], "s5", "othercam"], - [80, "gp", "handle"], - [88, "gp", "handle"], - [109, "gp", "handle"], - [176, "gp", "handle"], - [151, "gp", "handle"], - [164, "gp", "handle"], - [188, "gp", "handle"] - ], - - "(code plunger-lurker-flee)": [ - [10, "v1", "art-joint-anim"], - [60, "v1", "art-joint-anim"] - ], - - "(code plunger-lurker-idle)": [[10, "v1", "art-joint-anim"]], - - "(code flying-lurker-idle)": [[92, "v1", "art-joint-anim"]], - - "(code flying-lurker-fly)": [ - [56, "v1", "art-joint-anim"], - [110, "v1", "float"] - ], - - "(code flying-lurker-start)": [[36, "v1", "float"]], - - "(method 18 collide-cache)": [ - [44, "v1", "collide-shape-prim-sphere"], - [16, "s3", "collide-cache-prim"], - [21, "s3", "collide-cache-prim"], - [25, "s3", "collide-cache-prim"], - [43, "s3", "collide-cache-prim"], - [62, "s3", "(inline-array collide-cache-prim)"] - ], - - "flying-lurker-play-intro": [ - [[106, 299], "s5", "othercam"], - [110, "gp", "handle"], - [118, "gp", "handle"], - [139, "gp", "handle"], - [160, "gp", "handle"], - [173, "gp", "handle"], - [207, "gp", "handle"], - [219, "gp", "handle"] - ], - - "clone-anim-once": [ - [[19, 73], "s5", "process-drawable"], - [50, "s4", "collide-shape"], - [109, "v1", "manipy"] - ], - - "level-hint-task-process": [["_stack_", 16, "res-tag"]], - - "kill-current-level-hint": [[[13, 33], "s4", "level-hint"]], - - "level-hint-init-by-other": [ - [[54, 75], "a0", "string"], - [93, "a0", "string"] - ], - - "(method 17 drawable-inline-array-ambient)": [ - [1, "v1", "drawable-ambient"], - [4, "v1", "drawable-ambient"] - ], - - "ambient-type-sound-loop": [ - [5, "a0", "symbol"], - [[24, 35], "s3", "(pointer res-tag)"] - ], - - "ambient-type-light": [ - [38, "v1", "(inline-array vector)"], - [43, "v1", "(inline-array vector)"] - ], - "ambient-type-dark": [ - [38, "v1", "(inline-array vector)"], - [43, "v1", "(inline-array vector)"] - ], - "ambient-type-weather-off": [ - [38, "v1", "(inline-array vector)"], - [43, "v1", "(inline-array vector)"] - ], - - "level-hint-displayed?": [ - [[4, 7], "a0", "level-hint"], - [12, "a0", "level-hint"], - [14, "a0", "level-hint"] - ], - - "ambient-type-sound": [ - [21, "v1", "(pointer float)"], - [28, "v1", "(pointer float)"], - ["_stack_", 112, "res-tag"], - [57, "v0", "symbol"] - ], - "forall-particles-runner": [ - [[19, 28], "s4", "sparticle-cpuinfo"], - [34, "s4", "pointer"], - [35, "s3", "pointer"] - ], - - "(method 2 sparticle-cpuinfo)": [[14, "f0", "float"]], - - "sp-kill-particle": [ - [7, "a1", "uint"], - [7, "v1", "uint"] - ], - - "sparticle-track-root": [[2, "v1", "process-drawable"]], - - "sparticle-track-root-prim": [ - [2, "v1", "process-drawable"], - [3, "v1", "collide-shape"] - ], - - "sp-orbiter": [[[73, 82], "v1", "sprite-vec-data-2d"]], - - "finish-background": [ - [249, "a0", "terrain-context"], - [297, "a0", "terrain-context"], - [307, "a0", "terrain-context"], - [355, "a0", "terrain-context"], - [365, "a0", "terrain-context"], - [451, "a0", "terrain-context"], - [461, "a0", "terrain-context"], - [32, "a0", "terrain-context"], - [180, "a0", "terrain-context"], - [188, "a0", "terrain-context"], - [199, "a0", "terrain-context"], - [238, "a0", "terrain-context"], - [288, "a0", "terrain-context"], - [346, "a0", "terrain-context"], - [404, "a0", "terrain-context"], - [442, "a0", "terrain-context"], - [531, "a0", "terrain-context"], - [534, "a0", "terrain-context"], - [[598, 603], "v1", "dma-packet"] - ], - - "(method 11 drawable-inline-array-node)": [[[1, 6], "v1", "drawable"]], - - "(method 12 drawable-inline-array-node)": [[[1, 6], "v1", "drawable"]], - - "(method 13 drawable-inline-array-node)": [[[1, 6], "v1", "drawable"]], - - "(method 17 drawable-inline-array-node)": [[[1, 6], "v1", "drawable"]], - - "(code nav-enemy-patrol babak)": [ - [25, "v1", "art-joint-anim"], - [79, "t9", "(function none)"] - ], - - "(code nav-enemy-chase babak)": [[55, "v1", "art-joint-anim"]], - - "(code nav-enemy-stare babak)": [[154, "v1", "art-joint-anim"]], - - "(code nav-enemy-give-up babak)": [ - [43, "v1", "art-joint-anim"], - [101, "v1", "art-joint-anim"] - ], - - "(method 33 process-taskable)": [[15, "s5", "spool-anim"]], - - "(method 51 process-taskable)": [[18, "v1", "spool-anim"]], - - "(method 35 process-taskable)": [[15, "s5", "spool-anim"]], - "(method 37 process-taskable)": [[15, "s5", "spool-anim"]], - - "process-taskable-play-anim-code": [ - [68, "gp", "spool-anim"], - [255, "gp", "art-joint-anim"] - ], - - "(event play-anim process-taskable)": [ - [19, "a1", "float"], - [24, "a0", "float"] - ], - - "(event be-clone process-taskable)": [ - [19, "a1", "float"], - [24, "a0", "float"] - ], - - "(event othercam-running)": [[23, "v1", "process-taskable"]], - - "(code nav-enemy-idle babak-with-cannon)": [[22, "v1", "art-joint-anim"]], - - "(code babak-run-to-cannon)": [[14, "v1", "art-joint-anim"]], - - "(code babak-with-cannon-jump-onto-cannon)": [[118, "v1", "art-joint-anim"]], - - "(code babak-with-cannon-jump-off-cannon)": [[28, "v1", "art-joint-anim"]], - - "(trans nav-enemy-die babak-with-cannon)": [[40, "v0", "(state nav-enemy)"]], - - "(enter othercam-running)": [ - [50, "gp", "process-taskable"], - [53, "gp", "process-taskable"] - ], - - "(code othercam-running)": [ - [14, "s2", "process-taskable"], - [18, "s2", "process-taskable"], - [24, "s2", "process-taskable"], - [38, "s2", "process-taskable"], - [47, "s2", "process-taskable"] - ], - - "(code yakow-idle)": [ - [46, "v1", "art-joint-anim"], - [102, "v1", "art-joint-anim"] - ], - - "(code yakow-graze)": [ - [73, "v1", "art-joint-anim"], - [131, "v1", "art-joint-anim"] - ], - - "(code yakow-graze-kicked)": [[10, "v1", "art-joint-anim"]], - - "(code yakow-kicked)": [[81, "v1", "art-joint-anim"]], - - "(method 7 fishermans-boat)": [ - [20, "t9", "(function rigid-body-platform int rigid-body-platform)"] - ], - - "(code muse-idle)": [ - [35, "v1", "art-joint-anim"], - [87, "v1", "art-joint-anim"] - ], - - "(code nav-enemy-chase muse)": [[35, "v1", "art-joint-anim"]], - - "(code nav-enemy-jump-land muse)": [[31, "v1", "art-joint-anim"]], - - "(code muse-caught)": [ - [50, "v0", "vector"], - [306, "gp", "handle"], - [321, "gp", "handle"] - ], - - "(code nav-enemy-idle bonelurker)": [ - [5, "t9", "(function none :behavior bonelurker)"] - ], - - "(code nav-enemy-patrol bonelurker)": [ - [7, "t9", "(function none :behavior bonelurker)"] - ], - - "(code nav-enemy-chase bonelurker)": [ - [60, "v1", "art-joint-anim"], - [108, "v1", "art-joint-anim"], - [171, "v1", "art-joint-anim"], - [220, "v1", "art-joint-anim"], - [277, "v1", "art-joint-anim"], - [334, "v1", "art-joint-anim"] - ], - - "(code nav-enemy-stare bonelurker)": [[130, "v1", "art-joint-anim"]], - - "(code bonelurker-stun)": [[29, "v1", "art-joint-anim"]], - - "(code nav-enemy-give-up bonelurker)": [ - [43, "v1", "art-joint-anim"], - [93, "v1", "art-joint-anim"], - [143, "v1", "art-joint-anim"], - [201, "v1", "art-joint-anim"] - ], - - "(method 32 assistant-bluehut)": [ - [104, "v1", "float"], - [162, "v1", "manipy"], - [255, "v1", "float"] - ], - - "(method 47 assistant-bluehut)": [ - [21, "s5", "sage-bluehut"], - [28, "s5", "sage-bluehut"], - [50, "s5", "sage-bluehut"], - [53, "s5", "sage-bluehut"] - ], - - "(method 43 assistant-bluehut)": [[19, "v1", "float"]], - - "check-drop-level-assistant-bluehut": [[17, "v1", "float"]], - - "(code idle assistant-bluehut)": [ - [31, "v1", "art-joint-anim"], - [83, "v1", "float"], - [104, "v1", "art-joint-anim"], - [161, "v1", "float"], - [261, "v1", "art-joint-anim"], - [317, "v1", "float"], - [554, "v1", "art-joint-anim"] - ], - - "assistant-levitator-blue-beam": [[15, "v1", "fireboulder"]], - - "(code idle assistant-levitator)": [ - [32, "v1", "art-joint-anim"], - [91, "v1", "float"], - [173, "v1", "art-joint-anim"], - [229, "v1", "float"], - [311, "v1", "art-joint-anim"] - ], - - "(event square-platform-lowered)": [[8, "a0", "square-platform-master"]], - - "(event square-platform-master-idle)": [[6, "a0", "square-platform-button"]], - - "(method 7 square-platform)": [ - [24, "t9", "(function baseplat int baseplat)"] - ], - - "(method 11 square-platform)": [ - ["_stack_", 16, "res-tag"], - ["_stack_", 32, "res-tag"], - [165, "v1", "(pointer float)"] - ], - - "(enter square-platform-master-activate)": [ - [51, "a0", "sunkencam"], - [84, "v1", "sunkencam"], - [119, "a0", "sunkencam"], - [152, "v1", "sunkencam"] - ], - - "(code qbert-plat-on-mimic)": [ - [13, "gp", "(pointer rigid-body-platform)"], - [21, "gp", "(pointer rigid-body-platform)"], - [27, "gp", "(pointer rigid-body-platform)"] - ], - - "(method 32 qbert-plat)": [[[4, 10], "a0", "qbert-plat-master"]], - - "(post rigid-body-platform-float qbert-plat)": [ - [3, "t9", "(function none :behavior qbert-plat)"] - ], - - "(method 23 qbert-plat)": [ - [9, "t9", "(function rigid-body-platform float none)"] - ], - - "(code keg-on-paddle)": [ - [5, "a0", "keg"], // i have learned that parent does not always equal the parent type! - [16, "v1", "process-drawable"] - ], - - "(code keg-paddle-to-path)": [ - [8, "v1", "process-drawable"], - [28, "v1", "process-drawable"] - ], - - "(code keg-on-path)": [ - [13, "v1", "keg-conveyor-paddle"], - [24, "v1", "keg-conveyor-paddle"], - [45, "v1", "keg-conveyor-paddle"], - [72, "v1", "keg-conveyor-paddle"], - [81, "v1", "keg-conveyor-paddle"] - ], - - "(code keg-in-chute)": [ - [2, "v1", "process-drawable"], - [9, "v1", "process-drawable"] - ], - - "keg-init-by-other": [[142, "v1", "process-drawable"]], - - "(method 7 keg-conveyor)": [ - [14, "t9", "(function process-drawable int process-drawable)"] - ], - - "(method 7 swamp-bat)": [ - [26, "t9", "(function process-drawable int process-drawable)"] - ], - - "(code swamp-bat-slave-die)": [[21, "v1", "swamp-bat"]], - - // these casts should not be required - "swamp-bat-check-slave-paths-match?": [ - [3, "a1", "swamp-bat-slave"], - [7, "a1", "swamp-bat-slave"] - ], - - "(method 39 swamp-rat)": [[37, "t9", "(function nav-enemy none)"]], - - "(code nav-enemy-patrol swamp-rat)": [[23, "v1", "art-joint-anim"]], - - "(code nav-enemy-stare swamp-rat)": [[26, "v1", "art-joint-anim"]], - - "(code nav-enemy-give-up swamp-rat)": [ - [14, "v1", "art-joint-anim"], - [72, "v1", "art-joint-anim"] - ], - - "(code nav-enemy-attack swamp-rat)": [[14, "v1", "art-joint-anim"]], - - "(code swamp-rat-spawn)": [[119, "v1", "art-joint-anim"]], - - "(code spiderwebs-bounce)": [[80, "v1", "art-joint-anim"]], - - "(method 39 baby-spider)": [[37, "t9", "(function nav-enemy none)"]], - - "(code baby-spider-hatching)": [[14, "v1", "art-joint-anim"]], - - "(code nav-enemy-attack baby-spider)": [[14, "v1", "art-joint-anim"]], - - "(code nav-enemy-give-up baby-spider)": [ - [14, "v1", "art-joint-anim"], - [72, "v1", "art-joint-anim"] - ], - - "(code nav-enemy-patrol baby-spider)": [[23, "v1", "art-joint-anim"]], - - "(code nav-enemy-notice baby-spider)": [[24, "v1", "art-joint-anim"]], - - "(code nav-enemy-stare baby-spider)": [[26, "v1", "art-joint-anim"]], - - "(method 24 mother-spider-proj)": [ - [[11, 46], "s5", "sound-rpc-set-param"], - [30, "s4", "process-drawable"], - [33, "s4", "process-drawable"] - ], - - "(method 23 exit-chamber)": [[113, "a0", "fuel-cell"]], - - "(code exit-chamber-rise)": [ - [15, "v1", "fuel-cell"], - [64, "v1", "sunkencam"], - [81, "v1", "art-joint-anim"], - [157, "v1", "art-joint-anim"], - [211, "v1", "art-joint-anim"], - [292, "v1", "art-joint-anim"], - [424, "v1", "fuel-cell"] - ], - - "(method 25 sunken-water)": [ - [121, "v1", "uint"], - [126, "v1", "uint"] - ], - - "(code sunkenfisha-idle)": [[10, "v1", "art-joint-anim"]], - - "(method 27 sunkenfisha)": [ - ["_stack_", 16, "res-tag"], - ["_stack_", 32, "res-tag"], - ["_stack_", 48, "res-tag"], - [40, "v0", "(pointer float)"], - [137, "v0", "(pointer float)"], - [174, "v0", "(pointer float)"] - ], - - "(method 43 assistant-villagec)": [[19, "v1", "float"]], - - "(code idle assistant-villagec)": [ - [32, "v1", "art-joint-anim"], - [89, "v1", "float"], - [176, "v1", "float"] - ], - - "(method 32 sage-villagec)": [[278, "v1", "float"]], - - "(method 43 sage-villagec)": [[19, "v1", "float"]], - - "(method 20 cave-trap)": [ - [77, "s2", "process-drawable"], - [95, "s2", "process-drawable"], - [181, "s3", "process-drawable"], - [221, "s3", "process-drawable"], - [230, "v1", "baby-spider"] - ], - - "(method 7 cave-trap)": [ - [14, "t9", "(function process-drawable int process-drawable)"] - ], - - "(method 57 ice-cube)": [ - [16, "v1", "collide-shape-prim-group"], - [26, "v1", "collide-shape-prim-group"] - ], - - "(method 58 ice-cube)": [ - [16, "v1", "collide-shape-prim-group"], - [26, "v1", "collide-shape-prim-group"] - ], - - "(code yeti-slave-appear-jump-up)": [[14, "v1", "art-joint-anim"]], - - "(code yeti-slave-appear-land)": [[14, "v1", "art-joint-anim"]], - - "(code nav-enemy-chase yeti-slave)": [[55, "v1", "art-joint-anim"]], - - "(code nav-enemy-stare yeti-slave)": [[154, "v1", "art-joint-anim"]], - - "(code nav-enemy-give-up yeti-slave)": [ - [43, "v1", "art-joint-anim"], - [101, "v1", "art-joint-anim"] - ], - - "(code nav-enemy-patrol yeti-slave)": [ - [25, "v1", "art-joint-anim"], - [86, "v1", "art-joint-anim"], - [165, "v1", "art-joint-anim"], - [238, "v1", "art-joint-anim"] - ], - - "(method 7 yeti-slave)": [[14, "t9", "(function nav-enemy int nav-enemy)"]], - - "(method 21 yeti)": [[5, "s5", "(pointer yeti-slave)"]], - - "(code idle assistant-lavatube-start)": [ - [32, "v1", "float"], - [118, "v1", "art-joint-anim"] - ], - - "check-drop-level-maincave-drip": [[17, "v1", "float"]], - - "snow-bird-bob-func": [[3, "v1", "process-drawable"]], - - "bird-bob-func": [[3, "v1", "process-drawable"]], - - "part-tracker-track-root": [[2, "v1", "process-drawable"]], - - "sparticle-track-root-money": [[5, "v1", "process-drawable"]], - - "eco-fadeout": [[2, "v1", "process-drawable"]], - - "eco-track-root-prim-fadeout": [ - [2, "v1", "process-drawable"], - [3, "a0", "collide-shape-moving"], - [11, "v1", "process-drawable"] - ], - - "check-drop-level-sagehut": [[18, "v1", "float"]], - - "check-drop-level-training-spout-rain": [[17, "v1", "float"]], - - "check-drop-level-sagehut2": [[18, "v1", "float"]], - - "tra-bird-bob-func": [[3, "v1", "process-drawable"]], - - "(anon-function 6 relocate)": [ - [3, "a0", "int"], - [8, "a0", "int"] - ], - - "(method 7 joint-control)": [ - [7, "v1", "(inline-array joint-control-channel)"] - ], - - "(method 20 hud-money-all)": [ - [36, "a0", "process-drawable"], - [39, "v1", "process-drawable"], - [50, "v1", "process-drawable"], - [93, "v1", "process-drawable"] - ], - - "(code part-tester-idle)": [[[16, 22], "s5", "process-drawable"]], - - "(method 20 hud-money)": [ - [35, "a0", "process-drawable"], - [38, "v1", "process-drawable"], - [49, "v1", "process-drawable"], - [92, "v1", "process-drawable"] - ], - - "(method 20 hud-fuel-cell)": [ - [100, "a0", "process-drawable"], - [103, "v1", "process-drawable"], - [114, "v1", "process-drawable"], - [157, "v1", "process-drawable"] - ], - - "part-hud-eco-timer-01-func": [ - [11, "v1", "uint"], - [15, "v1", "uint"] - ], - - "part-hud-eco-timer-02-func": [ - [11, "v1", "uint"], - [15, "v1", "uint"] - ], - - "part-hud-eco-timer-03-func": [ - [11, "v1", "uint"], - [15, "v1", "uint"] - ], - - "hide-bottom-hud": [[22, "v1", "(pointer hud)"]], - - "disable-hud": [ - [22, "a0", "(pointer hud)"], - [37, "v1", "(pointer hud)"], - [57, "v1", "(pointer hud)"] - ], - - "enable-hud": [[20, "v1", "(pointer hud)"]], - - "hide-hud-quick": [[20, "v1", "(pointer hud)"]], - - "set-hud-aspect-ratio": [[17, "v1", "(pointer hud)"]], - - "hud-hidden?": [[14, "v1", "(pointer hud)"]], - - "bottom-hud-hidden?": [[16, "v1", "(pointer hud)"]], - - "show-hud": [[31, "v1", "(pointer hud)"]], - - "fuel-cell-hud-orbit-callback": [ - [12, "s3", "hud-fuel-cell"], - [20, "s3", "hud-fuel-cell"] - ], - - "(method 15 hud-pickups)": [ - [51, "v1", "dma-packet"], - [52, "v1", "dma-packet"] - ], - - "(method 15 hud-fuel-cell)": [ - [51, "v1", "dma-packet"], - [52, "v1", "dma-packet"] - ], - - "(method 15 hud-money)": [[[50, 53], "v1", "dma-packet"]], - - "(method 15 hud-money-all)": [[[125, 128], "v1", "dma-packet"]], - - "(method 15 hud-buzzers)": [ - [58, "v1", "dma-packet"], - [59, "v1", "dma-packet"] - ], - - "update-mood-lightning": [ - [[255, 259], "s5", "process-drawable"], - [[293, 297], "s5", "process-drawable"], - [[331, 336], "s5", "process-drawable"], - [235, "v0", "sound-rpc-set-param"], - [273, "v0", "sound-rpc-set-param"], - [311, "v0", "sound-rpc-set-param"] - ], - - "battlecontroller-default-event-handler": [[9, "a0", "process-drawable"]], - - "battlecontroller-update-spawners": [ - [19, "s4", "nav-enemy"], - [57, "s4", "nav-enemy"] - ], - - "battlecontroller-spawn-creature": [ - [33, "v0", "nav-enemy"], - [[53, 136], "gp", "(pointer nav-enemy)"] - ], - - "(method 7 battlecontroller)": [ - [29, "t9", "(function process-drawable int process-drawable)"] - ], - - "(method 10 battlecontroller)": [ - [13, "t9", "(function process-drawable none)"] - ], - - "(method 27 battlecontroller)": [ - ["_stack_", 16, "res-tag"], - [182, "v0", "(pointer int32)"] - ], - - "keg-bounce-set-particle-rotation-callback": [ - [2, "v1", "(pointer process-drawable)"] - ], - - "update-time-of-day": [[46, "v0", "(array float)"]], - - "sky-make-light": [[[10, 23], "a0", "sky-sun-data"]], - - "make-sky-textures": [ - [[90, 94], "a0", "dma-packet"], - [[100, 103], "a0", "gs-gif-tag"], - [108, "a0", "(pointer gs-alpha)"], - [110, "a0", "(pointer gs-reg64)"], - [[121, 124], "v1", "dma-packet"] - ], - - "copy-cloud-texture": [ - [[2, 48], "s5", "(pointer uint128)"], - [[28, 32], "s4", "adgif-shader"] - ], - - "copy-sky-texture": [ - [[2, 48], "s5", "(pointer uint128)"], - [[28, 32], "s4", "adgif-shader"] - ], - - "render-sky-tng": [ - [[244, 262], "s2", "(inline-array sky-vertex)"], - [[34, 38], "a0", "dma-packet"], - [[44, 47], "a0", "gs-gif-tag"], - [52, "a0", "(pointer gs-zbuf)"], - [54, "a0", "(pointer gs-reg64)"], - [56, "a0", "(pointer gs-test)"], - [58, "a0", "(pointer gs-reg64)"], - [60, "a0", "(pointer gs-alpha)"], - [62, "a0", "(pointer gs-reg64)"], - [[74, 78], "a0", "dma-packet"], - [[84, 87], "a0", "gs-gif-tag"], - - [107, "s2", "(pointer gs-tex0)"], - [109, "s2", "(pointer gs-reg64)"], - [111, "s2", "(pointer gs-tex1)"], - [113, "s2", "(pointer gs-reg64)"], - [115, "s2", "(pointer gs-clamp)"], - [117, "s2", "(pointer gs-reg64)"], - [118, "s2", "(pointer uint64)"], - [120, "s2", "(pointer gs-reg64)"], - [[159, 166], "s3", "dma-packet"], - [[171, 175], "a0", "dma-packet"], - [[181, 184], "a0", "gs-gif-tag"], - - [189, "s2", "(pointer gs-alpha)"], - [191, "s2", "(pointer gs-reg64)"], - [209, "s2", "(pointer gs-tex0)"], - [211, "s2", "(pointer gs-reg64)"], - [213, "s2", "(pointer gs-tex1)"], - [215, "s2", "(pointer gs-reg64)"], - [216, "s2", "(pointer gs-clamp)"], - [218, "s2", "(pointer gs-reg64)"], - [219, "s2", "(pointer int64)"], - [221, "s2", "(pointer gs-reg64)"], - [[303, 310], "s3", "dma-packet"], - [[312, 316], "v1", "dma-packet"] - ], - - "render-sky-tri": [ - [5, "a0", "int"], - [[6, 50], "a0", "(inline-array sky-vertex)"], - [[25, 48], "a3", "(inline-array sky-vertex)"] - ], - - "render-sky-quad": [ - [[9, 32], "a0", "(inline-array sky-vertex)"], - [[33, 62], "a3", "(inline-array sky-vertex)"] - ], - - "(method 10 effect-control)": [ - [88, "v1", "collide-shape-moving"], - [143, "s3", "(pointer sparticle-launch-group)"], - [147, "s3", "sparticle-launch-group"], - [199, "s3", "sparticle-launch-group"], - [240, "s3", "basic"], - [286, "s3", "basic"], - [346, "s3", "basic"], - [367, "s3", "basic"], - [367, "s3", "basic"], - [[371, 451], "s3", "death-info"] - ], - - "(post water-vol-idle helix-dark-eco)": [ - [4, "t9", "(function none :behavior helix-dark-eco)"] - ], - - "(code helix-slide-door-close)": [[10, "v1", "art-joint-anim"]], - - "(code helix-button-startup)": [[39, "v1", "collectable"]], - - "(method 73 green-eco-lurker)": [[6, "a1", "touching-shapes-entry"]], - - "citb-sagecage-update-collision": [ - [2, "a0", "collide-shape-prim-mesh"], - [9, "a0", "collide-shape-prim-mesh"] - ], - - "race-ring-set-particle-rotation-callback": [ - [1, "v1", "(pointer race-ring)"] - ], - - "race-ring-blue-set-particle-rotation-callback": [ - [1, "v1", "(pointer race-ring)"] - ], - - "(code race-ring-active)": [ - [[241, 249], "v1", "handle"], - [253, "gp", "handle"], - [[269, 276], "s5", "handle"] - ], - - "(trans race-ring-active)": [[26, "a0", "part-tracker"]], - - "(code anim-tester-process)": [ - [41, "v1", "anim-test-obj"], - [45, "v1", "anim-test-obj"], - [[40, 114], "s4", "anim-test-obj"], - [82, "v0", "anim-test-sequence"], - [119, "v0", "art-joint-anim"] - ], - - "display-list-control": [ - [[194, 197], "v1", "dma-packet"], - [[423, 426], "v1", "dma-packet"] - ], - - "anim-tester-disp-frame-num": [[[75, 78], "v1", "dma-packet"]], - - "reset-drawable-tracking": [ - [3, "gp", "target"], - [10, "gp", "target"], - [14, "gp", "target"], - [42, "gp", "target"], - [48, "gp", "target"] - ], - "reset-drawable-follow": [ - [3, "v1", "target"], - [10, "v1", "target"], - [16, "v1", "target"] - ], - "master-track-target": [ - [62, "gp", "target"], - [65, "gp", "target"], - [96, "gp", "target"], - [103, "gp", "target"], - [423, "f0", "float"] - ], - - "master-switch-to-entity": [ - ["_stack_", 16, "res-tag"], - [88, "v0", "(pointer string)"], - [233, "v1", "camera-slave"] - ], - - "master-check-regions": [[119, "v1", "connection"]], - "(anon-function 71 cam-states)": [ - [13, "a1", "pov-camera"], - [20, "v1", "pov-camera"], - [41, "v1", "pov-camera"], - [52, "v1", "pov-camera"], - [71, "a1", "pov-camera"] - ], - "(anon-function 68 cam-states)": [[13, "a1", "pov-camera"]], - "(anon-function 75 cam-states)": [ - [13, "a1", "pov-camera"], - [21, "a0", "pov-camera"] - ], - - "(event cam-master-active)": [ - [95, "gp", "matrix"], - [184, "v1", "vector"], - [235, "v1", "process"], - [239, "v1", "process"], - [240, "v1", "process"], - [262, "v1", "process"], - [270, "v1", "process"], - [279, "v1", "process"], - [280, "v1", "process"], - [329, "v1", "float"], - [335, "a0", "float"], - [457, "v1", "camera-slave"], - [511, "v1", "camera-slave"], - [524, "v0", "camera-slave"], - [560, "a0", "camera-slave"], - [570, "v1", "camera-slave"], - [629, "v1", "camera-slave"], - [679, "a0", "camera-slave"], - [690, "v1", "camera-slave"], - [771, "v1", "camera-slave"], - [875, "v1", "camera-slave"], - [928, "v1", "camera-slave"], - [947, "v1", "camera-slave"], - [966, "v1", "camera-slave"], - [994, "v1", "camera-slave"], - [999, "a0", "camera-slave"], - [1011, "a0", "camera-slave"], - [1023, "v1", "projectile"], - [1033, "a0", "camera-slave"], - [1035, "a0", "camera-slave"], - [1049, "v1", "float"], - [1053, "v1", "float"], - [1062, "v1", "float"], - [1066, "v1", "float"], - [1071, "a0", "vector"], - [1368, "v1", "float"], - [1371, "v1", "float"] - ], - - "(code cam-pov)": [ - [13, "a1", "pov-camera"], - [21, "a0", "pov-camera"] - ], - - "(code cam-pov-track)": [[13, "a1", "pov-camera"]], - - "(code cam-pov180)": [ - [13, "a1", "pov-camera"], - [20, "v1", "pov-camera"], - [41, "v1", "pov-camera"], - [52, "v1", "pov-camera"], - [71, "a1", "pov-camera"] - ], - - "cam-los-spline-collide": [ - [[52, 83], "s3", "(inline-array collide-cache-tri)"] - ], - - "(event cam-string)": [ - [15, "v1", "float"], - [18, "v1", "float"], - [31, "a0", "vector"], - [35, "a0", "vector"] - ], - - "cam-draw-collide-cache": [ - [[2, 13], "gp", "(inline-array collide-cache-tri)"] - ], - - "cam-los-collide": [[[50, 197], "s1", "(inline-array collide-cache-tri)"]], - - "(anon-function 1 pov-camera)": [ - [9, "v1", "float"], - [16, "v1", "float"] - ], - - "camera-fov-frame": [ - [87, "a0", "vector"], - [128, "a0", "vector"], - [169, "a0", "vector"] - ], - - "camera-sphere": [[[39, 46], "v1", "cam-dbg-scratch"]], - - "camera-line-draw": [ - [34, "a0", "cam-dbg-scratch"], - [42, "a0", "cam-dbg-scratch"] - ], - - "camera-plot-float-func": [ - [54, "v1", "cam-dbg-scratch"], - [62, "a0", "cam-dbg-scratch"], - [66, "a0", "cam-dbg-scratch"], - [103, "v1", "cam-dbg-scratch"], - [240, "v1", "cam-dbg-scratch"] - ], - - "cam-line-dma": [ - [32, "t0", "vector"], - [36, "t0", "vector"], - [45, "t0", "vector"], - [50, "t0", "vector"], - [[12, 16], "a3", "dma-packet"], - [[22, 25], "a3", "gs-gif-tag"], - [[33, 38], "a3", "(pointer uint128)"], - [[46, 52], "a1", "(pointer uint128)"], - [[60, 65], "a0", "dma-packet"], - [[65, 74], "a0", "(pointer uint64)"], - [[77, 80], "a0", "dma-packet"] - ], - - "v-slrp!": [ - [54, "s3", "float"], - [65, "s3", "float"] - ], - - "clmf-pos-rot": [ - [60, "a1", "int"], - [70, "a2", "symbol"], - [71, "a1", "res-tag"], - [132, "a0", "int"], - [141, "s0", "res-tag"] - ], - - "clmf-next-entity": [[38, "a0", "connection"]], - - "cam-layout-init": [[10, "v1", "connection"]], - - "clmf-save-all": [[18, "v1", "connection"]], - - "cam-layout-save-cam-rot": [[14, "v0", "vector"]], - - "cam-layout-save-campointsoffset": [[13, "v0", "vector"]], - - "cam-layout-entity-info": [ - [205, "v1", "vector"], - [495, "v1", "vector"] - ], - - "cam-layout-save-pivot": [ - [14, "v0", "vector"], - [40, "v0", "vector"] - ], - - "cam-layout-save-interesting": [ - [14, "v0", "vector"], - [40, "v0", "vector"] - ], - - "cam-layout-save-align": [ - [14, "v0", "vector"], - [40, "v0", "vector"] - ], - - "cam-layout-save-splineoffset": [[40, "v0", "vector"]], - - "cam-layout-save-cam-trans": [ - [65, "s5", "vector"], - [67, "s5", "vector"], - [69, "s5", "vector"], - [75, "s5", "vector"], - [77, "s2", "vector"], - [82, "s2", "vector"], - [84, "s2", "vector"], - [86, "s2", "vector"], - [92, "s2", "vector"], - [94, "s5", "vector"], - [95, "s5", "symbol"], - [96, "s2", "symbol"], - [97, "s2", "symbol"], - [110, "s5", "vector"], - [113, "s5", "vector"], - [115, "s5", "vector"], - [117, "s5", "vector"] - ], - - "clmf-cam-flag-toggle": [ - [119, "a0", "int"], - [124, "v1", "int"], - [138, "v0", "int"], - [153, "a0", "int"], - [158, "v1", "int"], - [172, "v0", "int"], - [195, "a0", "int"], - [200, "v1", "int"], - [214, "v0", "int"], - [233, "a0", "int"], - [238, "v1", "int"], - [252, "v0", "int"] - ], - - "clmf-cam-float-adjust": [[49, "a1", "int"]], - - "cam-layout-do-action": [ - [66, "s5", "basic"], - [74, "s5", "basic"], - [80, "s5", "(function object symbol symbol)"] - ], - - "cam-layout-function-call": [ - [11, "gp", "basic"], - [15, "gp", "(function string int basic none)"] - ], - - "cam-layout-do-menu": [ - [[130, 176], "s3", "clm-list"], - [203, "a0", "clm-item"], - [213, "v1", "clm-item"], - [228, "s3", "clm-item"], - [233, "v1", "clm-item"], - [238, "s3", "clm-item"], - [275, "s4", "clm-list"], - [277, "s4", "clm-list"], - [279, "s4", "clm-list"], - [283, "s4", "clm-list"], - [289, "s4", "clm-list"], - [291, "s4", "clm-list"], - [303, "s4", "clm-list"], - [305, "s4", "clm-list"], - [345, "s4", "clm-list"], - [347, "s4", "clm-list"], - [350, "s4", "clm-list"], - [352, "s4", "clm-list"], - [353, "s4", "clm-list"], - [356, "s4", "clm-list"], - [357, "s4", "clm-list"], - [369, "v1", "clm-item"] - ], - - "cam-layout-print": [[[21, 24], "v1", "dma-packet"]], - - "cam-layout-entity-volume-info": [ - [58, "s4", "vector"], - [59, "s4", "vector"], - [61, "s4", "(inline-array plane-volume)"] - ], - - "cam-layout-entity-volume-info-create": [ - ["_stack_", 16, "res-tag"], - [16, "v0", "(inline-array vector)"] - ], - - "clmf-cam-string": [["_stack_", 16, "res-tag"]], - - "in-cam-entity-volume?": [ - ["_stack_", 16, "res-tag"], - [22, "v1", "(inline-array vector)"], - [29, "v1", "(inline-array vector)"], - [34, "v1", "(inline-array vector)"] - ], - - "fisher-fish-move": [ - [9, "v1", "fisher"], - [21, "v1", "fisher"] - ], - - "(code fisher-fish-fall)": [ - [5, "v1", "fisher"], - [60, "v1", "fisher"], - [79, "v1", "fisher"] - ], - - "(code fisher-fish-caught)": [[169, "v1", "fisher"]], - - "(code fisher-fish-die)": [ - [35, "v1", "fisher"], - [47, "v1", "fisher"], - [90, "v1", "fisher"], - [98, "v1", "fisher"], - [112, "v1", "fisher"], - [129, "v1", "fisher"], - [137, "v1", "fisher"], - [151, "v1", "fisher"], - [165, "v1", "fisher"], - [179, "v1", "fisher"], - [193, "v1", "fisher"], - [205, "v1", "fisher"], - [209, "v1", "fisher"], - [27, "v1", "float"], - [79, "v1", "float"] - ], - - "(method 38 fisher)": [[33, "t9", "(function fisher none)"]], - - "(enter fisher-done)": [ - [137, "f0", "float"], - [148, "f0", "float"], - [213, "f0", "float"] - ], - - "fisher-spawn-ambient": [[8, "v1", "float"]], - - "(method 43 fisher)": [ - [27, "v1", "float"], - [69, "v1", "float"] - ], - - "(trans play-accept fisher)": [[101, "v0", "state"]], - - "(trans idle fisher)": [[4, "v0", "state"]], - - "(code idle fisher)": [ - [132, "v1", "art-joint-anim"], - [35, "v1", "float"] - ], - - "(code target-fishing)": [ - [163, "v1", "fisher"], - [290, "v1", "art-joint-anim"] - ], - - "(method 11 torus)": [[[5, 22], "s4", "collide-shape-prim-group"]], - - "(method 12 torus)": [ - [11, "v1", "float"], - [51, "v1", "float"] - ], - - "(code darkecobomb-countdown)": [ - [25, "v1", "art-joint-anim"], - [75, "v1", "art-joint-anim"] - ], - - "(code darkecobomb-land)": [[36, "v1", "art-joint-anim"]], - - "(code darkecobomb-idle)": [ - [10, "v1", "art-joint-anim"], - [60, "v1", "art-joint-anim"] - ], - - "redshot-particle-callback": [[2, "v1", "(pointer redshot)"]], - - "(event cam-robotboss)": [[5, "v1", "vector"]], - - "ecoclaw-handler": [[73, "v1", "vector"]], - - "(event idle silodoor)": [[4, "v1", "float"]], - - "ecoclaw-beam-particle-callback": [ - [1, "a0", "(pointer projectile)"], - [3, "a0", "(pointer projectile)"] - ], - - "(method 32 finalbosscam)": [[156, "v1", "robotboss"]], - - "(trans ecoclaw-activate)": [[30, "a0", "part-tracker"]], - - "robotboss-position": [[109, "a0", "process-drawable"]], - - "robotboss-bomb-handler": [[6, "v1", "float"]], - - "robotboss-handler": [[6, "v1", "float"]], - - "(event robotboss-red-wait)": [ - [12, "v1", "float"], - [68, "v1", "float"] - ], - - "(event robotboss-yellow-wait)": [ - [12, "v1", "float"], - [68, "v1", "float"] - ], - - "(code robotboss-white-eco-movie)": [[[188, 215], "gp", "handle"]], - - "(code robotboss-yellow-wait)": [ - [336, "v1", "float"], - [365, "v1", "float"], - [530, "v1", "art-joint-anim"] - ], - - "(code robotboss-red-wait)": [ - [153, "v1", "float"], - [287, "v1", "float"], - [339, "v1", "float"], - [500, "v1", "art-joint-anim"] - ], - - "robotboss-redshot": [ - [45, "v1", "float"], - [70, "v1", "float"] - ], - - "(event robotboss-green-wait)": [ - [39, "v1", "float"], - [95, "v1", "float"] - ], - - "(exit robotboss-yellow-wait)": [ - [50, "v1", "collide-shape-prim-group"], - [54, "v1", "collide-shape-prim-group"] - ], - - "(exit robotboss-green-wait)": [ - [50, "v1", "collide-shape-prim-group"], - [54, "v1", "collide-shape-prim-group"] - ], - - "(exit robotboss-red-wait)": [ - [50, "v1", "collide-shape-prim-group"], - [54, "v1", "collide-shape-prim-group"] - ], - - "(exit robotboss-blue-wait)": [ - [50, "v1", "collide-shape-prim-group"], - [54, "v1", "collide-shape-prim-group"] - ], - - "robotboss-redshot-fill-array": [ - [24, "v1", "float"], - [46, "v1", "float"], - [109, "v1", "float"], - [137, "v1", "float"], - [137, "v1", "float"] - ], - - "(trans robotboss-blue-wait)": [[254, "v1", "float"]], - - "(code robotboss-blue-wait)": [[14, "v1", "art-joint-anim"]], - - "(enter green-eco-lurker-appear)": [ - [12, "v1", "green-eco-lurker-gen"], - [17, "v1", "green-eco-lurker-gen"] - ], - - "(code green-eco-lurker-appear)": [ - [42, "v1", "art-joint-anim"], - [93, "v1", "art-joint-anim"] - ], - - "(code green-eco-lurker-appear-land)": [[74, "v1", "art-joint-anim"]], - - "(code nav-enemy-chase green-eco-lurker)": [[55, "v1", "art-joint-anim"]], - - "(code nav-enemy-patrol green-eco-lurker)": [[8, "t9", "(function none)"]], - - "(trans light-eco-child-hit-ground)": [ - [63, "v1", "light-eco-mother"], - [75, "a1", "light-eco-mother"], - [88, "a1", "light-eco-mother"] - ], - - "(event plat-path-active plat-eco-finalboss)": [[10, "v1", "float"]], - - "(method 45 sage-finalboss)": [[[40, 57], "s5", "manipy"]], - - "(method 32 sage-finalboss)": [ - [[241, 245], "v1", "manipy"], - [[309, 313], "v1", "manipy"], - [313, "v1", "silodoor"] - ], - - "(trans play-anim sage-finalboss)": [ - [186, "v1", "process-drawable"], - [223, "v1", "process-drawable"], - [300, "v1", "process-drawable"], - [339, "v1", "process-drawable"], - [376, "v1", "process-drawable"], - [399, "gp", "final-door"], - [401, "a0", "final-door"] - // [[179, 183], "a0", "manipy"], - // [[182, 187], "v1", "manipy"], - // [[216, 220], "a0", "manipy"], - // [[295, 299], "a1", "manipy"], - // [[334, 338], "a1", "manipy"], - // [[371, 375], "a1", "manipy"], - // [391, "v0", "final-door"], - // [396, "v0", "final-door"] - ], - - "load-boundary-from-template": [ - [[2, 60], "s5", "(array float)"], - [42, "a0", "pair"], - [54, "a0", "pair"] - ], - - "command-get-int": [[27, "gp", "bfloat"]], - - "command-get-float": [[30, "gp", "bfloat"]], - - "command-get-time": [[46, "gp", "bfloat"]], - - "command-get-param": [[125, "gp", "bfloat"]], - - "command-list-get-process": [[[78, 88], "s4", "process-drawable"]], - - "add-boundary-shader": [ - [[5, 8], "a1", "gs-gif-tag"], - [[11, 35], "s5", "adgif-shader"] - ], - - "render-boundary": [ - [[22, 26], "a0", "dma-packet"], - [[32, 35], "a0", "gs-gif-tag"], - - [40, "a0", "(pointer gs-zbuf)"], - [42, "a0", "(pointer gs-reg64)"], - [44, "a0", "(pointer gs-test)"], - [46, "a0", "(pointer gs-reg64)"], - [48, "a0", "(pointer gs-alpha)"], - [50, "a0", "(pointer gs-reg64)"], - [[110, 117], "s2", "dma-packet"], - [[120, 123], "v1", "dma-packet"] - ], - - "real-main-draw-hook": [ - [[225, 229], "a0", "dma-packet"], - [[235, 238], "a0", "gs-gif-tag"], - [243, "a0", "(pointer gs-zbuf)"], - [245, "a0", "(pointer gs-reg64)"], - [247, "a0", "(pointer gs-test)"], - [249, "a0", "(pointer gs-reg64)"], - [251, "a0", "(pointer gs-alpha)"], - [253, "a0", "(pointer gs-reg64)"], - [[270, 273], "v1", "dma-packet"], - [[312, 316], "a0", "dma-packet"], - [[322, 325], "a0", "gs-gif-tag"], - [330, "a0", "(pointer gs-zbuf)"], - [332, "a0", "(pointer gs-reg)"], - [334, "a0", "(pointer gs-test)"], - [336, "a0", "(pointer gs-reg64)"], - [338, "a0", "(pointer gs-alpha)"], - [340, "a0", "(pointer gs-reg64)"], - [[357, 360], "v1", "dma-packet"] - ], - - "(event target-racing-start)": [ - [35, "v1", "float"], - [121, "v1", "attack-info"], - [125, "v1", "attack-info"], - [130, "v1", "attack-info"], - [148, "v1", "float"], - [206, "v1", "float"], - [251, "a0", "process-drawable"] - ], - - "(anon-function 46 racer-states)": [[[4, 32], "v1", "target"]], - - "(anon-function 45 racer-states)": [ - [19, "a0", "target"], - [31, "a0", "target"], - [42, "v1", "target"] - ], - - "(code target-racing-smack)": [[30, "v1", "art-joint-anim"]], - - "(code target-racing-hit)": [[186, "v1", "art-joint-anim"]], - - "(code target-racing-death)": [[242, "v1", "art-joint-anim"]], - - "(code target-racing-get-on)": [[59, "s3", "racer"]], - - "(code target-racing-get-off-jump)": [ - [67, "s2", "racer"], - [145, "v1", "art-joint-anim"] - ], - - "(code target-racing-get-off-hit-ground)": [[13, "v1", "art-joint-anim"]], - - "(event target-racing-grab)": [[24, "a0", "process-drawable"]], - - "cam-collision-record-draw": [[[44, 275], "s5", "cam-collision-record"]], - "cam-collision-record-save": [[[8, 56], "v1", "cam-collision-record"]], - - "(method 9 lod-set)": [["_stack_", 16, "res-tag"]], - - "execute-math-engine": [ - [12, "a1", "process"], - [15, "a1", "process"], - [[18, 21], "a0", "process-drawable"] - ], - - "(method 18 process-drawable)": [[[8, 11], "a0", "collide-shape"]], - - "ja-post": [[[42, 45], "a0", "collide-shape"]], - "transform-post": [[[3, 6], "a0", "collide-shape"]], - "rider-trans": [[[1, 4], "a0", "collide-shape"]], - "rider-post": [ - [[4, 7], "a0", "collide-shape"], - [[9, 12], "a0", "collide-shape"], - [[13, 16], "gp", "collide-shape"], - [8, "gp", "collide-shape"], - [3, "gp", "collide-shape"] - ], - "pusher-post": [ - [4, "a0", "collide-shape"], - [3, "gp", "collide-shape"], - [[8, 11], "gp", "collide-shape"] - ], - - "(method 14 process-drawable)": [ - [[322, 336], "gp", "collide-shape"], - [320, "v1", "vector"] - ], - - "(method 9 joint-control)": [ - [[14, 61], "gp", "(pointer float)"], - [[13, 59], "s4", "joint-control-channel"] - ], - - "ja-blend-eval": [[[3, 31], "s5", "joint-control-channel"]], - - "joint-control-reset!": [ - [4, "a1", "pointer"], - [6, "a0", "pointer"], - [9, "a1", "pointer"], - [[14, 37], "v1", "joint-control-channel"] - ], - - "ja-channel-push!": [ - [38, "v1", "pointer"], - [38, "a0", "pointer"] - ], - - "fill-skeleton-cache": [[[11, 33], "a2", "bone-cache"]], - - "dma-add-process-drawable-hud": [[[12, 27], "v1", "vu-lights"]], - - "dma-add-process-drawable": [ - [12, "a0", "terrain-context"], - [15, "a0", "terrain-context"], - [276, "a0", "terrain-context"], - [[15, 251], "s2", "vu-lights"], - [21, "s4", "vector"], - [277, "s4", "vector"], - [290, "v1", "vector"], - [292, "v1", "vector"], - [297, "v1", "vector"] - ], - - "(code notice-blue crate)": [ - [22, "v1", "process-drawable"], - [36, "v1", "collide-shape"] - ], - - "(method 17 process-drawable)": [ - [36, "a0", "terrain-context"], - [82, "t9", "(function cspace pointer none)"], - [104, "t9", "(function cspace matrix none)"], - [63, "t9", "(function cspace basic basic int)"] - ], - - "joint-control-copy!": [ - [8, "a0", "pointer"], - [8, "a2", "pointer"] - ], - - "matrix-from-control!": [ - [23, "v1", "pointer"], - [36, "v1", "pointer"], - [39, "v1", "pointer"], - [69, "v1", "pointer"], - [78, "v1", "pointer"], - [81, "v1", "pointer"], - [58, "v1", "matrix"], - [[45, 49], "v1", "matrix"] - ], - - "cloud-track": [ - [26, "s1", "handle"], - [39, "s2", "handle"], - [74, "s1", "handle"], - [76, "s2", "handle"], - [101, "s2", "handle"] - ], - - "(method 7 cavegeyserrock)": [ - [14, "t9", "(function process-drawable int process-drawable)"] - ], - - "(trans junglesnake-wake)": [[15, "v1", "collide-shape-prim-group"]], - - "(trans junglesnake-attack)": [[15, "v1", "collide-shape-prim-group"]], - - "(method 23 junglesnake)": [[6, "v1", "collide-shape-prim-group"]], - - "(method 24 junglesnake)": [[5, "v1", "collide-shape-prim-group"]], - - "(trans junglesnake-tracking)": [[79, "v1", "collide-shape-prim-group"]], - - "(code junglesnake-wake)": [[10, "v1", "art-joint-anim"]], - - "(code junglesnake-tracking)": [[51, "v1", "art-joint-anim"]], - - "(code junglesnake-die)": [[23, "v1", "art-joint-anim"]], - - "(code junglesnake-give-up)": [[29, "v1", "art-joint-anim"]], - - "(code junglesnake-attack)": [[43, "v1", "art-joint-anim"]], - - "(method 21 junglesnake)": [ - [15, "v1", "junglesnake-tilt-joint"], - [18, "v1", "junglesnake-twist-joint"] - ], - - "(method 11 viewer)": [[1, "a1", "entity-actor"]], - - "(code windmill-one-idle)": [[10, "v1", "art-joint-anim"]], - - "(code harvester-inflate)": [ - [11, "v1", "art-joint-anim"], - [61, "v1", "art-joint-anim"] - ], - - "(code flutflutegg-break)": [ - [38, "v1", "art-joint-anim"], - [91, "v1", "art-joint-anim"], - [191, "v1", "art-joint-anim"] - ], - - "(method 7 flutflutegg)": [ - [14, "t9", "(function process-drawable int process-drawable)"] - ], - - "(event flutflutegg-idle)": [[30, "gp", "process-drawable"]], - - "(event flutflutegg-physics)": [[37, "gp", "process-drawable"]], - - "(trans flutflutegg-idle)": [[17, "v1", "float"]], - - "beachcam-spawn": [ - [[57, 85], "gp", "handle"], - [[68, 76], "v1", "handle"], - [80, "v1", "pov-camera"], - [[84, 92], "v1", "handle"], - [[103, 110], "s5", "handle"] - ], - - "(code ecoventrock-break)": [[338, "gp", "handle"]], - - "(code target-warp-in)": [[192, "v1", "art-joint-anim"]], - - "(method 26 warp-gate-switch)": [[60, "v1", "art-joint-anim"]], - - "(method 31 warp-gate-switch)": [ - [61, "t9", "(function basebutton symbol none)"] - ], - - "(code basebutton-going-down warp-gate-switch)": [ - [79, "v0", "(state basebutton)"], - [81, "t9", "(function none :behavior basebutton)"] - ], - - "(method 11 village-cam)": [[21, "s5", "entity-actor"]], - - "(code idle warp-gate)": [[35, "a0", "symbol"]], - - "(method 21 citb-arm)": [[7, "t9", "(function citb-arm-section none)"]], - - "(method 21 citb-arm-shoulder)": [ - [7, "t9", "(function citb-arm-section none)"] - ], - - "(method 21 citb-arm-a)": [[14, "t9", "(function citb-arm none)"]], - - "(method 21 citb-arm-b)": [[14, "t9", "(function citb-arm none)"]], - - "(method 21 citb-arm-c)": [[14, "t9", "(function citb-arm none)"]], - - "(method 21 citb-arm-d)": [[14, "t9", "(function citb-arm none)"]], - - "(method 21 citb-arm-shoulder-a)": [[14, "t9", "(function citb-arm none)"]], - - "(method 21 citb-arm-shoulder-b)": [[14, "t9", "(function citb-arm none)"]], - - "(method 26 citb-button)": [[31, "v1", "art-joint-anim"]], - - "(code citb-coil-break)": [[19, "v1", "art-joint-anim"]], - - "(code citb-coil-broken)": [[10, "v1", "art-joint-anim"]], - - "(code citb-hose-idle)": [[10, "v1", "art-joint-anim"]], - - "(code citb-hose-spawn)": [[14, "v1", "art-joint-anim"]], - - "(code citb-hose-die)": [[19, "v1", "art-joint-anim"]], - - "(code citadelcam-stair-plats)": [[79, "gp", "handle"]], - - "(code battlecontroller-play-intro-camera citb-battlecontroller)": [ - [55, "gp", "handle"], - [76, "gp", "handle"] - ], - - "(post plat-path-active citb-launcher)": [ - [4, "t9", "(function none :behavior citb-launcher)"] - ], - - "(code battlecontroller-die citb-battlecontroller)": [ - [9, "v0", "(state battlecontroller)"], - [11, "t9", "(function none :behavior battlecontroller)"] - ], - - "(method 27 citb-battlecontroller)": [ - [7, "t9", "(function battlecontroller none)"] - ], - - "(code eggtop-close)": [ - [108, "v1", "art-joint-anim"], - [176, "v1", "art-joint-anim"] - ], - - "(code idle logtrap)": [[12, "v1", "art-joint-anim"]], - - "(code towertop-idle)": [[10, "v1", "art-joint-anim"]], - - "(code lurkerm-tall-sail-idle)": [[10, "v1", "art-joint-anim"]], - - "(code lurkerm-short-sail-idle)": [[10, "v1", "art-joint-anim"]], - - "(code lurkerm-piston-idle)": [[10, "v1", "art-joint-anim"]], - - "(code precurbridge-activate)": [[31, "v1", "art-joint-anim"]], - - "(event precurbridge-active)": [[4, "gp", "touching-shapes-entry"]], - - "(method 7 jngpusher)": [ - [14, "t9", "(function process-drawable int process-drawable)"] - ], - - "(method 11 lurkerm-piston)": [ - ["_stack_", 16, "res-tag"], - ["_stack_", 32, "res-tag"], - [148, "v0", "(pointer float)"] - ], - - "(code starfish-patrol)": [[16, "v1", "art-joint-anim"]], - - "(method 7 hutlamp)": [ - [14, "t9", "(function process-drawable int process-drawable)"] - ], - - "(code mis-bone-bridge-bump)": [[10, "v1", "art-joint-anim"]], - - "(code mis-bone-bridge-hit)": [[21, "v1", "art-joint-anim"]], - - "(code mis-bone-bridge-fall)": [[50, "v1", "art-joint-anim"]], - - "(method 23 bone-platform)": [ - [9, "t9", "(function rigid-body-platform basic none)"] - ], - - "mistycam-spawn": [ - [[68, 76], "v1", "handle"], - [80, "v1", "pov-camera"], - [[84, 92], "v1", "handle"], - [[102, 110], "s5", "handle"] - ], - - "(code battlecontroller-play-intro-camera misty-battlecontroller)": [ - [34, "gp", "handle"] - ], - - "(method 27 misty-battlecontroller)": [ - [7, "t9", "(function battlecontroller none)"] - ], - - "(code boat-fuelcell-spawn)": [[50, "gp", "handle"]], - - "(code pov-camera-playing village2cam)": [ - [12, "v1", "art-joint-anim"], - [65, "v1", "art-joint-anim"] - ], - - "(method 23 pontoon)": [ - [9, "t9", "(function rigid-body-platform basic none)"] - ], - - "fireboulder-disable-blocking-collision": [ - [5, "v1", "collide-shape-prim-group"], - [14, "v1", "collide-shape-prim-group"] - ], - - "fireboulder-hover-stuff": [[20, "v1", "(pointer part-tracker)"]], - - "(code ogreboss-village2-throw)": [ - [179, "v1", "art-joint-anim"], - [227, "v1", "float"], - [434, "v1", "art-joint-anim"] - ], - - "(code ogreboss-village2-idle)": [ - [136, "v1", "art-joint-anim"], - [194, "v1", "art-joint-anim"], - [247, "v1", "art-joint-anim"], - [299, "v1", "float"], - [319, "v1", "art-joint-anim"] - ], - - "(code fireboulder-idle)": [[58, "a0", "(pointer part-tracker)"]], - - "(code swamp-spike-idle)": [ - [119, "v1", "art-joint-anim"], - [203, "v1", "art-joint-anim"], - [312, "v1", "art-joint-anim"] - ], - - "(code swamp-spike-gate-up)": [[60, "v1", "art-joint-anim"]], - - "(method 23 tar-plat)": [ - [9, "t9", "(function rigid-body-platform basic none)"] - ], - - "(code battlecontroller-play-intro-camera swamp-battlecontroller)": [ - [38, "gp", "handle"] - ], - - "(code battlecontroller-die swamp-battlecontroller)": [ - [8, "t9", "(function none :behavior battlecontroller)"] - ], - - "swamp-spike-set-particle-rotation-callback": [ - [3, "v1", "(pointer swamp-spike)"] - ], - - "(code pov-camera-playing maincavecam)": [[[40, 54], "gp", "handle"]], - - "(code cavecrusher-idle)": [[10, "v1", "art-joint-anim"]], - - "(code idle cavetrapdoor)": [[10, "v1", "art-joint-anim"]], - - "(code caveelevator-one-way-idle-end)": [[19, "v1", "art-joint-anim"]], - - "(code trigger cavetrapdoor)": [ - [23, "v1", "art-joint-anim"], - [157, "v1", "art-joint-anim"], - [247, "v1", "art-joint-anim"] - ], - - "(method 11 caveflamepots)": [ - ["_stack_", 16, "res-tag"], - ["_stack_", 32, "res-tag"], - ["_stack_", 48, "res-tag"], - [258, "s4", "vector"], - [281, "s4", "collide-shape-prim-group"], - [290, "s4", "collide-shape-prim-group"], - [311, "v0", "(pointer float)"], - [342, "v0", "(pointer float)"], - [372, "v0", "(pointer float)"] - ], - - "(code pov-camera-playing sunkencam)": [ - [12, "v1", "art-joint-anim"], - [62, "v1", "art-joint-anim"], - [120, "v1", "art-joint-anim"], - [174, "v1", "art-joint-anim"], - [236, "v1", "art-joint-anim"], - [294, "v1", "art-joint-anim"], - [348, "v1", "art-joint-anim"], - [452, "v1", "art-joint-anim"], - [502, "v1", "art-joint-anim"] - ], - - "(code seaweed-idle)": [[36, "v1", "art-joint-anim"]], - - "(code dark-plant-death)": [[36, "v1", "art-joint-anim"]], - - "(code dark-plant-sprout)": [[34, "v1", "art-joint-anim"]], - - "(code happy-plant-opened)": [[10, "v1", "art-joint-anim"]], - - "(code rolling-start-whole)": [[16, "v1", "art-joint-anim"]], - - "(code rolling-start-break)": [ - [11, "v1", "art-joint-anim"], - [67, "v1", "art-joint-anim"], - [117, "v1", "art-joint-anim"] - ], - - "(code dark-plant-startup)": [ - [10, "v1", "art-joint-anim"], - [26, "v1", "float"] - ], - - "(code dark-plant-idle)": [ - [85, "v1", "art-joint-anim"], - [101, "v1", "float"], - [139, "v1", "float"] - ], - - "(code dark-plant-gone)": [[14, "v1", "float"]], - - "dark-plants-all-done": [[25, "v1", "dark-plant"]], - - "(code happy-plant-opening)": [ - [76, "gp", "handle"], - [84, "gp", "handle"], - [145, "gp", "handle"], - [[167, 175], "v1", "handle"], - [179, "gp", "handle"], - [[185, 192], "s5", "handle"] - ], - - "(trans spike-idle)": [[70, "v1", "float"]], - - "(method 23 ogre-plat)": [ - [9, "t9", "(function rigid-body-platform basic none)"] - ], - - "(method 31 ogre-step)": [[23, "t9", "(function ogre-plat none)"]], - - "(method 31 ogre-step-a)": [[25, "t9", "(function ogre-step none)"]], - - "(method 31 ogre-step-b)": [[25, "t9", "(function ogre-step none)"]], - - "(method 31 ogre-step-c)": [[25, "t9", "(function ogre-step none)"]], - - "(method 31 ogre-step-d)": [[25, "t9", "(function ogre-step none)"]], - - "(method 31 ogre-isle)": [[17, "t9", "(function ogre-plat none)"]], - - "(method 31 ogre-isle-b)": [[31, "t9", "(function ogre-isle none)"]], - - "(method 31 ogre-isle-c)": [[31, "t9", "(function ogre-isle none)"]], - - "(method 31 ogre-isle-d)": [[37, "t9", "(function ogre-isle none)"]], - - "(method 7 ogre-bridge)": [ - [26, "t9", "(function process-drawable int process-drawable)"] - ], - - "(code ogre-bridge-activate)": [[33, "v1", "art-joint-anim"]], - - "(code water-vol-idle ogre-lava)": [[36, "v1", "art-joint-anim"]], - - "(code ogre-bridge-break)": [[10, "v1", "art-joint-anim"]], - - "(code ogre-bridge-activated)": [[13, "v1", "art-joint-anim"]], - - "(code snow-eggtop-activate)": [ - [56, "v1", "snowcam"], - [87, "v1", "art-joint-anim"] - ], - - "(code snow-eggtop-idle-down)": [[32, "v1", "art-joint-anim"]], - - "(code snow-log-active)": [[30, "v1", "art-joint-anim"]], - - "(code snow-log-activate)": [[25, "v1", "art-joint-anim"]], - - "(code snow-gears-activate)": [ - [25, "v1", "art-joint-anim"], - [75, "v1", "art-joint-anim"] - ], - - "(code snow-gears-halt)": [ - [10, "v1", "art-joint-anim"], - [85, "v1", "art-joint-anim"] - ], - - "(code pov-camera-playing snowcam)": [ - [12, "v1", "art-joint-anim"], - [62, "v1", "art-joint-anim"], - [112, "v1", "art-joint-anim"], - [[242, 249], "gp", "handle"], - [274, "v1", "art-joint-anim"], - [346, "v1", "art-joint-anim"] - ], - - "(method 7 snow-fort-gate)": [ - [19, "t9", "(function process-drawable int process-drawable)"] - ], - - "(code snow-button-activate)": [[25, "v1", "art-joint-anim"]], - - "(code snow-button-deactivate)": [[26, "v1", "art-joint-anim"]], - - "(code plat-startup flutflut-plat)": [ - [62, "t9", "(function none :behavior plat)"] - ], - - "(method 7 darkecobarrel)": [ - [14, "t9", "(function darkecobarrel-base int darkecobarrel-base)"] - ], - - "(event darkecobarrel-mover-move)": [[76, "v1", "process-drawable"]], - - "(code darkecobarrel-mover-move)": [ - [10, "v1", "float"], - [29, "v1", "float"] - ], - - "(post water-vol-idle lavatube-lava)": [ - [4, "t9", "(function none :behavior lavatube-lava)"] - ], - - "darkecobarrel-mover-pos": [[135, "v1", "uint"]], - - "(code startup logo)": [[352, "v1", "art-joint-anim"]], - - "(code idle logo)": [[78, "v1", "art-joint-anim"]], - - "(method 11 training-cam)": [[21, "s5", "entity-actor"]], - - "(method 23 tra-pontoon)": [ - [9, "t9", "(function rigid-body-platform float none)"] - ], - - "(event idle scarecrow-a)": [ - [75, "v1", "process-drawable"], - [135, "gp", "target"], - [142, "gp", "target"] - ], - - "(code idle scarecrow-a)": [[14, "v1", "art-joint-anim"]], - - "(code idle scarecrow-b)": [[14, "v1", "art-joint-anim"]], - - "(code hit scarecrow-a)": [ - [30, "v1", "art-joint-anim"], - [92, "v1", "art-joint-anim"], - [143, "v1", "art-joint-anim"] - ], - - "(code hit scarecrow-b)": [ - [30, "v1", "art-joint-anim"], - [92, "v1", "art-joint-anim"], - [143, "v1", "art-joint-anim"] - ], - - "(method 27 orb-cache-top)": [[155, "a0", "process-drawable"]], - - "(method 9 art)": [[9, "v1", "(pointer res-tag)"]], - - "(method 9 art-joint-anim)": [[9, "v1", "(pointer res-tag)"]], - - "draw-drawable-tree-tfrag": [ - [[16, 32], "v1", "drawable-inline-array-node"], - [18, "a0", "drawable-inline-array-node"], - [142, "v1", "terrain-context"], - [238, "v1", "terrain-context"], - [[38, 40], "v1", "drawable-inline-array-tfrag"], - [22, "a2", "terrain-context"], - [25, "a2", "terrain-context"], - [44, "a0", "terrain-context"], - [[128, 131], "v1", "dma-packet"], - [[224, 227], "v1", "dma-packet"] - ], - - "draw-drawable-tree-trans-tfrag": [ - [[16, 32], "v1", "drawable-inline-array-node"], - [22, "a2", "terrain-context"], - [25, "a2", "terrain-context"], - [44, "a0", "terrain-context"], - [18, "a0", "drawable-inline-array-node"], - [134, "v1", "terrain-context"], - [230, "v1", "terrain-context"], - [[120, 123], "v1", "dma-packet"], - [[216, 219], "v1", "dma-packet"] - ], - - "draw-drawable-tree-dirt-tfrag": [ - [[16, 32], "v1", "drawable-inline-array-node"], - [22, "a2", "terrain-context"], - [25, "a2", "terrain-context"], - [44, "a0", "terrain-context"], - [18, "a0", "drawable-inline-array-node"], - [134, "v1", "terrain-context"], - [230, "v1", "terrain-context"], - [[120, 123], "v1", "dma-packet"], - [[216, 219], "v1", "dma-packet"] - ], - - "draw-drawable-tree-ice-tfrag": [ - [[16, 32], "v1", "drawable-inline-array-node"], - [22, "a2", "terrain-context"], - [25, "a2", "terrain-context"], - [44, "a0", "terrain-context"], - [18, "a0", "drawable-inline-array-node"], - [134, "v1", "terrain-context"], - [230, "v1", "terrain-context"], - [[120, 123], "v1", "dma-packet"], - [[216, 219], "v1", "dma-packet"] - ], - - "(method 10 drawable-tree-tfrag)": [[3, "a1", "terrain-context"]], - - "(method 10 drawable-tree-trans-tfrag)": [[3, "a1", "terrain-context"]], - - "(method 10 drawable-tree-dirt-tfrag)": [[3, "a1", "terrain-context"]], - - "(method 10 drawable-tree-ice-tfrag)": [[3, "a1", "terrain-context"]], - - "(method 10 drawable-tree-lowres-tfrag)": [[3, "a1", "terrain-context"]], - - "(method 10 drawable-tree-lowres-trans-tfrag)": [ - [3, "a1", "terrain-context"] - ], - - "(method 15 drawable-tree-array)": [[11, "s5", "drawable-tree-array"]], - - "tfrag-near-end-buffer": [ - [[3, 7], "a1", "dma-packet"], - [[15, 20], "a0", "(pointer vif-tag)"], - [[20, 24], "a0", "(pointer uint32)"], - [[25, 31], "a0", "(pointer vif-tag)"] - ], - - "tfrag-near-init-buffer": [ - [[11, 15], "a0", "dma-packet"], - [[21, 24], "a0", "gs-gif-tag"], - [28, "a0", "(pointer gs-test)"], - [30, "a0", "(pointer gs-reg64)"], - [[45, 50], "v1", "dma-packet"] - ], - - "tfrag-end-buffer": [ - [[3, 7], "a1", "dma-packet"], - [[13, 20], "a0", "(pointer vif-tag)"], - [[20, 24], "a0", "(pointer uint32)"], - [[25, 31], "a0", "(pointer vif-tag)"] - ], - - "tfrag-init-buffer": [ - [[11, 15], "a0", "dma-packet"], - [[21, 24], "a0", "gs-gif-tag"], - [28, "a0", "(pointer gs-test)"], - [30, "a0", "(pointer gs-reg64)"], - [[45, 50], "v1", "dma-packet"] - ], - - "add-tfrag-data": [ - [[8, 16], "a0", "dma-packet"], - [[26, 30], "v1", "dma-packet"] - ], - - "add-tfrag-mtx-1": [[[8, 16], "a0", "dma-packet"]], - "add-tfrag-mtx-0": [[[8, 16], "a0", "dma-packet"]], - - "(method 11 swingpole)": [[27, "s5", "entity-actor"]], - - "(anon-function 54 generic-obs)": [ - [57, "v1", "process-drawable"], - [66, "a0", "collide-shape"] - ], - - "(code manipy-idle)": [ - [58, "a1", "process-drawable"], - [73, "gp", "process-drawable"], - [79, "gp", "process-drawable"], - [109, "v1", "(pointer process)"] - ], - - "(anon-function 49 generic-obs)": [ - [25, "gp", "process-drawable"], - [30, "gp", "process-drawable"] - ], - - "ja-anim-done?": [[27, "gp", "process-drawable"]], - - "camera-pov-from": [ - [23, "gp", "process-drawable"], - [26, "gp", "process-drawable"] - ], - - "process-drawable-random-point!": [ - [29, "s4", "collide-shape"], - [33, "s4", "collide-shape"] - ], - - "launcher-init-by-other": [[134, "v0", "vector"]], - - "(method 11 launcher)": [[130, "v0", "vector"]], - - "(method 11 part-spawner)": [ - ["_stack_", 16, "res-tag"], - [62, "v0", "(pointer (pointer sparticle-launch-group))"] - ], - - "(method 11 med-res-level)": [ - ["_stack_", 16, "res-tag"], - [21, "v0", "(pointer symbol)"], - [57, "s4", "(pointer sparticle-launch-group)"] - ], - - "(anon-function 28 generic-obs)": [ - [25, "v1", "quaternion"] // code - ], - - "camera-tracker-init": [[69, "v1", "process"]], - - "camera-anim": [ - [26, "t9", "(function process function object object object object object)"] - ], - - "(event manipy-idle)": [ - [59, "t9", "(function manipy none)"], - [118, "v1", "float"], - [131, "a0", "process"], - [151, "v1", "process-drawable"], - [160, "a0", "process"], - [177, "a0", "collide-shape"], - [180, "a0", "collide-shape"], - [185, "v1", "vector"], - [313, "a0", "float"] - ], - - "command-get-trans": [[29, "s4", "target"]], - - "(trans manipy-idle)": [ - [57, "v1", "process-drawable"], - [[66, 73], "a0", "collide-shape"] - ], - - "(method 14 camera-tracker)": [ - [196, "s4", "basic"], - [202, "s4", "(function camera-tracker symbol)"], - [270, "v0", "target"] - ], - - "(event touch-tracker-idle)": [ - [105, "a0", "process"], - [129, "t9", "(function touch-tracker none)"] - ], - - "(code touch-tracker-idle)": [ - [25, "a0", "process-drawable"], - [38, "a0", "collide-shape"] - ], - - "(code part-tracker-process)": [ - [25, "gp", "process-drawable"], - [30, "gp", "process-drawable"] - ], - - "(event part-spawner-active)": [[25, "v1", "vector"]], - - "(exit launcher-active)": [[2, "v0", "sound-rpc-set-param"]], - - "command-get-camera": [[27, "gp", "symbol"]], - - "(method 7 plant-boss)": [ - [47, "t9", "(function process-drawable int process-drawable)"] - ], - - "(code plant-boss-arm-hit)": [[88, "v1", "art-joint-anim"]], - - "(code plant-boss-arm-die)": [ - [3, "v1", "collide-shape-prim-group"], - [[11, 26], "a0", "collide-shape-prim-mesh"], - [58, "v1", "art-joint-anim"], - [109, "v1", "art-joint-anim"], - [165, "v1", "art-joint-anim"], - [186, "v1", "art-joint-anim"] - ], - - "(code plant-boss-back-arms-idle)": [[10, "v1", "art-joint-anim"]], - - "(code plant-boss-vine-hit)": [[88, "v1", "art-joint-anim"]], - - "(code plant-boss-dead-bounce)": [[79, "v1", "art-joint-anim"]], - - "(code plant-boss-vine-die)": [[46, "v1", "art-joint-anim"]], - - "(code plant-boss-dead-idle)": [[16, "v1", "art-joint-anim"]], - - "(code plant-boss-dead)": [ - [45, "v1", "art-joint-anim"], - [113, "v1", "art-joint-anim"] - ], - - "(code plant-boss-root-idle)": [[17, "v1", "art-joint-anim"]], - - "(code plant-boss-eat)": [ - [22, "v1", "float"], - [274, "v1", "art-joint-anim"] - ], - - "(code plant-boss-vulnerable)": [ - [149, "v1", "art-joint-anim"], - [221, "v1", "art-joint-anim"] - ], - - "(code plant-boss-far-idle)": [[62, "v1", "art-joint-anim"]], - - "(code plant-boss-idle)": [ - [25, "v1", "art-joint-anim"], - [177, "v1", "art-joint-anim"], - [271, "v1", "art-joint-anim"], - [304, "v1", "art-joint-anim"], - [366, "v1", "art-joint-anim"], - [404, "v1", "art-joint-anim"] - ], - - "(code plant-boss-leaf-close)": [ - [34, "v1", "art-joint-anim"], - [98, "v1", "art-joint-anim"] - ], - - "(code plant-boss-leaf-bounce)": [ - [17, "v1", "art-joint-anim"], - [72, "v1", "art-joint-anim"] - ], - - "(code plant-boss-leaf-open)": [ - [98, "v1", "art-joint-anim"], - [227, "v1", "art-joint-anim"] - ], - - "(code plant-boss-leaf-idle)": [ - [15, "v1", "art-joint-anim"], - [74, "v1", "art-joint-anim"] - ], - - "(code plant-boss-vine-idle)": [[17, "v1", "art-joint-anim"]], - - "(code plant-boss-back-arms-die)": [ - [20, "v1", "art-joint-anim"], - [82, "v1", "art-joint-anim"] - ], - - "(code plant-boss-back-arms-hit)": [[149, "v1", "art-joint-anim"]], - - "(method 7 ice-cube)": [[24, "t9", "(function nav-enemy int nav-enemy)"]], - - "(code ice-cube-appear)": [[14, "v1", "art-joint-anim"]], - - "(code ice-cube-tired)": [ - [14, "v1", "art-joint-anim"], - [68, "v1", "art-joint-anim"] - ], - - "(code ice-cube-become-mean)": [[15, "v1", "art-joint-anim"]], - - "(code ice-cube-retract-spikes)": [[22, "v1", "art-joint-anim"]], - - "(code ice-cube-mean-turn-to-charge)": [ - [15, "v1", "art-joint-anim"], - [187, "v1", "art-joint-anim"] - ], - - "(code ice-cube-face-player)": [ - [15, "v1", "art-joint-anim"], - [187, "v1", "art-joint-anim"] - ], - - "(code ice-cube-appear-land)": [[37, "v1", "art-joint-anim"]], - - "(code nav-enemy-patrol ice-cube)": [[8, "t9", "(function none)"]], - - "(event double-lurker-top-on-shoulders)": [ - [5, "a0", "vector"], - [22, "v1", "vector"], - [24, "v1", "vector"] - ], - - "(code double-lurker-top-on-shoulders-die)": [[18, "v1", "art-joint-anim"]], - - "(code double-lurker-top-knocked-down)": [[51, "v1", "art-joint-anim"]], - - "(code double-lurker-both-knocked-back)": [[14, "v1", "art-joint-anim"]], - - "(code double-lurker-knocked-back)": [[14, "v1", "art-joint-anim"]], - - "(code double-lurker-break-apart)": [[10, "v1", "art-joint-anim"]], - - "(code nav-enemy-patrol double-lurker-top)": [[27, "t9", "(function none)"]], - - "(code nav-enemy-patrol double-lurker)": [[27, "t9", "(function none)"]], - - "double-lurker-default-event-handler": [[95, "gp", "target"]], - - "(method 51 double-lurker)": [ - [6, "v1", "collide-shape-prim-group"], - [18, "v1", "collide-shape-prim-group"], - [22, "v1", "collide-shape-prim-group"] - ], - - "(method 7 billy)": [ - [26, "t9", "(function process-drawable int process-drawable)"] - ], - - "(method 38 billy)": [[33, "t9", "(function nav-enemy none)"]], - - "(enter nav-enemy-victory billy-rat)": [[4, "v0", "(state nav-enemy)"]], - - "(code billy-rat-salivate)": [[43, "v1", "art-joint-anim"]], - - "(code idle billy)": [ - [35, "v1", "float"], - [132, "v1", "art-joint-anim"] - ], - - "(enter billy-done)": [[191, "v1", "float"]], - - "(method 43 billy)": [[19, "v1", "float"]], - - "(event billy-done)": [ - [15, "v1", "billy-rat"], - [19, "v1", "billy-rat"] - ], - - "(event billy-playing)": [ - [14, "v1", "float"], - [93, "s5", "billy-rat"], - [103, "v1", "float"], - [169, "v1", "billy-snack"], - [216, "v1", "billy-snack"], - [219, "v1", "billy-snack"], - [223, "v1", "billy-snack"], - [240, "s5", "billy-snack"], - [248, "v1", "handle"], - [249, "s5", "billy-snack"], - [251, "s5", "billy-snack"], - [255, "s5", "billy-snack"] - ], - - "(code lurkerworm-rise)": [[13, "v1", "art-joint-anim"]], - - "(code lurkerworm-sink)": [[10, "v1", "art-joint-anim"]], - - "(code lurkerworm-die)": [[19, "v1", "art-joint-anim"]], - - "(code lurkerworm-rest)": [ - [10, "v1", "float"], - [35, "v1", "art-joint-anim"], - [89, "v1", "float"] - ], - - "(method 7 pelican)": [ - [36, "t9", "(function process-drawable int process-drawable)"] - ], - - "pelican-fly": [ - [61, "v1", "art-joint-anim"], - [186, "v1", "art-joint-anim"] - ], - - "(code pelican-dive)": [[161, "v1", "art-joint-anim"]], - - "(code pelican-wait-at-nest)": [ - [30, "v1", "art-joint-anim"], - [118, "v1", "art-joint-anim"], - [197, "v1", "art-joint-anim"] - ], - - "(event pelican-wait-at-nest)": [[49, "v1", "process-drawable"]], - - "(code pelican-explode)": [[71, "a0", "process-drawable"]], - - "(event pelican-circle)": [[23, "v1", "float"]], - - "(code pelican-spit)": [ - [42, "gp", "handle"], - [50, "gp", "handle"], - [121, "gp", "handle"], - [143, "gp", "handle"], - [155, "gp", "handle"], - [161, "s4", "handle"], - [173, "s4", "handle"] - ], - - "(trans energyarm-no-ball)": [ - [27, "v1", "float"], - [57, "v1", "float"] - ], - - "(trans energyarm-idle)": [[21, "v1", "float"]], - - "(code energyhub-stopped)": [[11, "v1", "float"]], - - "(code energyhub-stop)": [[11, "v1", "float"]], - - "(code energyhub-idle)": [[11, "v1", "float"]], - - "(code energyarm-idle)": [ - [13, "v1", "float"], - [36, "v1", "float"] - ], - - "energyhub-set-lava-height": [ - [25, "v1", "process-drawable"], - [28, "v1", "process-drawable"] - ], - - "(post idle citb-sage)": [[3, "t9", "(function none :behavior citb-sage)"]], - - "(method 44 red-sagecage)": [[35, "t9", "(function citb-sage none)"]], - - "(method 44 blue-sagecage)": [[35, "t9", "(function citb-sage none)"]], - - "(method 44 yellow-sagecage)": [[35, "t9", "(function citb-sage none)"]], - - "(method 44 green-sagecage)": [[35, "t9", "(function citb-sage none)"]], - - "(method 43 red-sagecage)": [[24, "v1", "float"]], - - "(method 43 blue-sagecage)": [[24, "v1", "float"]], - - "(method 43 yellow-sagecage)": [[24, "v1", "float"]], - - "(event play-anim green-sagecage)": [[128, "s5", "process-drawable"]], - - "(method 21 citb-sagecage)": [[[27, 97], "v1", "vector"]], - - "(code citb-sagecage-idle)": [ - [9, "gp", "citb-sage"], - [15, "gp", "citb-sage"] - ], - - "add-blue-motion": [ - [25, "v1", "process-drawable"], - [34, "gp", "collide-shape"] - ], - - "(event wait eco-collectable)": [ - [118, "a0", "vector"], - [136, "a0", "vector"] - ], - - "(event pickup eco-collectable)": [ - [18, "a0", "vector"], - [[15, 21], "v1", "vector"] - ], - - "(event fuel-cell-clone-anim)": [[35, "a0", "vector"]], - - "fuel-cell-animate": [[9, "gp", "fuel-cell"]], - - "(event wait fuel-cell)": [[95, "a0", "vector"]], - - "(enter pickup fuel-cell)": [[9, "v0", "(state eco-collectable)"]], - - "(code ecovalve-idle)": [[41, "v1", "process-drawable"]], - - "(code vent-pickup)": [ - [25, "gp", "process-drawable"], - [59, "s5", "collide-shape"] - ], - - "(anon-function 69 collectables)": [ - [2, "v1", "handle"], - [5, "v1", "handle"], - [8, "v1", "handle"], - [13, "s5", "eco-collectable"], - [33, "v1", "target"], - [38, "v1", "target"], - [50, "s5", "eco-collectable"] - ], - - "fuel-cell-init-by-other": [ - [108, "v0", "fact-options"], - [118, "gp", "vector"] - ], - - "ecovalve-init-by-other": [ - [95, "a0", "process-drawable"], - [144, "v1", "process-drawable"] - ], - - "(method 11 shover)": [ - ["_stack_", 16, "res-tag"], - [120, "v0", "(pointer float)"] - ], - - "(method 11 sun-iris-door)": [ - ["_stack_", 16, "res-tag"], - [153, "v0", "(pointer float)"] - ], - - "(event sun-iris-door-closed)": [[14, "a0", "vector"]], - - "(event sun-iris-door-opening)": [[14, "a0", "vector"]], - - "(event sun-iris-door-closing)": [[14, "a0", "vector"]], - - "(event sun-iris-door-open)": [[20, "a0", "vector"]], - - "sun-iris-door-init-by-other": [[97, "v1", "art-joint-anim"]], - - "(method 7 steam-cap)": [ - [19, "t9", "(function process-drawable int process-drawable)"] - ], - - "(method 11 steam-cap)": [ - ["_stack_", 16, "res-tag"], - [139, "v0", "(pointer float)"] - ], - - "(method 11 whirlpool)": [ - ["_stack_", 16, "res-tag"], - [92, "v0", "(pointer float)"] - ], - - "(method 21 collectable)": [ - [20, "v1", "int"], - [20, "a0", "int"], - [24, "a0", "int"] - ], - - "check-blue-suck": [[25, "v1", "collide-shape"]], - - "(code die eco)": [[53, "v1", "float"]], - - "(trans pickup fuel-cell)": [ - [92, "v1", "float"], - [130, "v0", "fact-options"] - ], - - "(enter notice-blue eco-collectable)": [[13, "v1", "float"]], - - "(code pickup fuel-cell)": [ - ["_stack_", 96, "res-tag"], - [[131, 143], "v1", "(inline-array vector)"], - [438, "a0", "game-task"], - [456, "a0", "game-task"], - [474, "a0", "game-task"], - [492, "a0", "game-task"], - [509, "v1", "game-task"], - [513, "v1", "game-task"], - [517, "v1", "game-task"], - [521, "v1", "game-task"] - ], - - "(method 11 eco)": [[13, "v0", "pickup-type"]], - - "target-powerup-process": [[[200, 215], "v1", "sound-rpc-set-param"]], - - "(method 14 touching-list)": [[[0, 11], "s5", "touching-shapes-entry"]], - - "(method 13 touching-list)": [ - [[0, 51], "v0", "touching-shapes-entry"] - // [5, "v0", "touching-shapes-entry"], - // [10, "v0", "touching-shapes-entry"], - // [17, "v0", "touching-shapes-entry"], - // [26, "v0", "touching-shapes-entry"], - // [46, "v0", "touching-shapes-entry"], - // [47, "v0", "touching-shapes-entry"], - // [48, "v0", "touching-shapes-entry"], - // [50, "v0", "touching-shapes-entry"] - ], - - "(method 11 touching-list)": [ - [8, "s5", "touching-shapes-entry"], - [10, "s5", "touching-shapes-entry"], - [11, "s5", "touching-shapes-entry"], - [13, "s5", "touching-shapes-entry"], - [32, "s5", "touching-shapes-entry"], - [47, "s5", "touching-shapes-entry"], - [49, "s5", "touching-shapes-entry"], - [51, "s5", "touching-shapes-entry"] - ], - - "(method 12 touching-list)": [ - [[4, 67], "gp", "touching-shapes-entry"], - [67, "gp", "(inline-array touching-shapes-entry)"] - ], - - "(method 35 collide-shape)": [ - [23, "v1", "connection"], - [24, "s2", "collide-shape"], - [33, "s2", "collide-shape"], - [48, "s2", "collide-shape"], - [62, "v1", "process-drawable"], - [80, "s2", "collide-shape"], - [117, "v1", "connection"], - [118, "s2", "collide-shape"], - [127, "s2", "collide-shape"], - [142, "s2", "collide-shape"], - [174, "s2", "collide-shape"], - [209, "v1", "connection"], - [210, "s2", "collide-shape"], - [219, "s2", "collide-shape"], - [234, "s2", "collide-shape"], - [266, "s2", "collide-shape"], - [301, "v1", "connection"], - [302, "s2", "collide-shape"], - [311, "s2", "collide-shape"], - [326, "s2", "collide-shape"], - [358, "s2", "collide-shape"] - ], - - "(method 56 collide-shape-moving)": [[89, "v1", "target"]], - - "(method 20 collide-shape-prim-group)": [ - [40, "a0", "collide-shape-prim-group"] - ], - - "(method 25 collide-shape-prim)": [ - [43, "gp", "collide-shape-prim-group"], - [47, "gp", "collide-shape-prim-group"] - ], - - "(method 29 collide-shape-prim-group)": [ - [13, "a0", "collide-shape-prim-group"] - ], - - "(method 28 collide-shape-prim-mesh)": [ - [[22, 45], "s4", "(array collide-mesh)"] - ], - - "(method 53 collide-shape)": [[[24, 40], "v1", "collide-shape-prim-group"]], - - "(method 54 collide-shape)": [[[18, 33], "v1", "collide-shape-prim-group"]], - - "(method 45 collide-shape)": [ - [18, "v1", "connection"], - [[19, 146], "s3", "collide-shape-moving"], - [146, "v1", "connection"], - [[147, 272], "s3", "collide-shape-moving"], - [272, "v1", "connection"], - [[273, 398], "s3", "collide-shape-moving"], - [398, "v1", "connection"], - [[399, 497], "s3", "collide-shape-moving"] - ], - - "(method 55 collide-shape)": [ - [33, "s5", "process-drawable"], - [54, "s5", "process-drawable"], - [59, "s5", "process-drawable"], - [68, "s5", "process-drawable"] - ], - - "collide-shape-draw-debug-marks": [ - [24, "v1", "connection"], - [[33, 55], "s5", "collide-shape"], - [72, "v1", "connection"], - [[81, 103], "s5", "collide-shape"], - [120, "v1", "connection"], - [[129, 151], "s5", "collide-shape"], - [168, "v1", "connection"], - [[177, 199], "s5", "collide-shape"] - ], - - "(method 9 collide-edge-work)": [ - [[5, 52], "s3", "collide-edge-edge"], - [[5, 52], "s4", "collide-edge-hold-item"] - ], - - "(method 19 collide-edge-work)": [ - [150, "a1", "int"], - [150, "v1", "int"] - //[[149, 162], "a0", "collide-shape-prim-group"] - ], - - "collide-probe-make-list": [ - [18, "v1", "drawable-group"], - [29, "v1", "drawable-group"], - [45, "v1", "drawable-group"] - ], - - "(method 11 instance-tie)": [ - [28, "s1", "collide-fragment"], - [38, "s1", "collide-fragment"], - [45, "s1", "(inline-array collide-fragment)"] - ], - - "(method 12 instance-tie)": [ - [21, "s1", "collide-fragment"], - [31, "s1", "collide-fragment"], - [38, "s1", "(inline-array collide-fragment)"] - ], - - "(method 13 instance-tie)": [ - [21, "s1", "collide-fragment"], - [29, "s1", "collide-fragment"], - [36, "s1", "(inline-array collide-fragment)"] - ], - - "(method 20 collide-cache)": [ - [18, "s2", "collide-cache-prim"], - [23, "s2", "collide-cache-prim"], - [27, "s2", "collide-cache-prim"], - [33, "s2", "collide-cache-prim"], - [37, "s2", "collide-cache-prim"], - [38, "v1", "collide-shape-prim-sphere"], // could be sphere or mesh...? - [45, "s2", "collide-cache-prim"], - [48, "s2", "(inline-array collide-cache-prim)"] - ], - - "test-closest-pt-in-triangle": [ - [19, "s5", "collide-cache-tri"], - [20, "s5", "collide-cache-tri"], - [21, "s5", "collide-cache-tri"], - [26, "s5", "collide-cache-tri"], - [47, "s5", "collide-cache-tri"], - [48, "s5", "(inline-array collide-cache-tri)"] - ], - - "(method 9 collide-cache)": [ - [[1, 29], "gp", "collide-cache-tri"], - [[29, 56], "gp", "collide-cache-prim"], - [35, "gp", "collide-cache-prim"], - [50, "gp", "collide-cache-prim"], - [51, "gp", "collide-cache-prim"], - [55, "gp", "collide-cache-prim"], - [36, "v1", "collide-shape-prim-sphere"] - ], - - "(method 9 collide-mesh)": [ - [[17, 62], "s5", "collide-mesh-tri"], - [62, "s5", "(inline-array collide-mesh-tri)"] - ], - - "(method 22 collide-shape-prim-mesh)": [ - [10, "s4", "collide-shape-prim-group"], - [41, "s4", "collide-shape-prim-group"] - ], - - "(method 44 collide-shape)": [[26, "a0", "process-drawable"]], - - "(method 43 collide-shape)": [ - [58, "gp", "collide-shape-moving"], - [88, "gp", "collide-shape-moving"] - ], - - "find-instance-by-name": [ - [21, "v1", "drawable-tree-instance-shrub"], - [48, "v1", "drawable-tree-instance-tie"] - ], - - "(method 63 collide-shape-moving)": [ - [[33, 53], "s0", "collide-cache-prim"], - [53, "s0", "(inline-array collide-cache-prim)"] - ], - - "target-falling-anim": [ - [51, "v1", "art-joint-anim"], - [160, "v1", "art-joint-anim"] - ], - - "target-hit-ground-anim": [ - [55, "v1", "float"], - [79, "v1", "art-joint-anim"], - [312, "v1", "art-joint-anim"], - [389, "v1", "art-joint-anim"], - [441, "v1", "art-joint-anim"], - [520, "v1", "art-joint-anim"], - [578, "v1", "art-joint-anim"], - [660, "v1", "float"], - [675, "v1", "art-joint-anim"], - [736, "v1", "art-joint-anim"], - [846, "v1", "art-joint-anim"] - ], - - "(code target-stance)": [ - [48, "v1", "art-joint-anim"], - [117, "v1", "art-joint-anim"], - [170, "v1", "art-joint-anim"], - [234, "v1", "art-joint-anim"], - [298, "v1", "art-joint-anim"], - [389, "v1", "art-joint-anim"], - [503, "v1", "art-joint-anim"], - [626, "v1", "float"] - ], - - "(code target-walk)": [ - [146, "v1", "art-joint-anim"], - [243, "v1", "art-joint-anim"], - [527, "v1", "float"], - [591, "v1", "float"] - ], - - "(code target-slide-down)": [[26, "v1", "art-joint-anim"]], - - "(code target-jump-forward)": [[13, "v1", "art-joint-anim"]], - "(code target-jump)": [[127, "v1", "float"]], - - "(code target-double-jump)": [[24, "v1", "art-joint-anim"]], - - "(code target-attack-air)": [ - [14, "v1", "art-joint-anim"], - [167, "v1", "art-joint-anim"] - ], - - "(code target-attack)": [[14, "v1", "art-joint-anim"]], - - "(code target-flop)": [[13, "v1", "art-joint-anim"]], - - "(code target-duck-stance)": [ - [21, "v1", "art-joint-anim"], - [116, "v1", "art-joint-anim"], - [168, "v1", "art-joint-anim"] - ], - - "(code target-attack-uppercut)": [[39, "v1", "float"]], - - "mod-var-jump": [ - [77, "f0", "float"], - [80, "f0", "float"], - [159, "v0", "vector"] - ], - - "(code target-duck-high-jump-jump)": [[8, "v1", "float"]], - - "(event target-running-attack)": [ - [41, "v1", "process-drawable"], - [50, "s5", "collide-shape"] - ], - - "(enter target-jump)": [[53, "v1", "vector"]], - - "(enter target-high-jump)": [[21, "v1", "vector"]], - - "(enter target-double-jump)": [[15, "v1", "vector"]], - - // TODO - these shouldnt be required, but are here because `go/enter-state` returns none - "(event target-flop)": [ - [34, "t9", "(function object :behavior target)"], - [40, "t9", "(function symbol object :behavior target)"] - ], - - "target-powerup-effect": [ - [267, "a0", "symbol"], - [307, "a0", "vector"] - ], - - "(method 10 water-control)": [ - [71, "a0", "collide-shape-moving"], - [147, "v1", "collide-shape-moving"], - [179, "v1", "collide-shape-moving"], - [461, "v1", "control-info"], - [473, "a0", "collide-shape-moving"], - [488, "v1", "collide-shape-moving"], - [502, "v1", "collide-shape-moving"], - [508, "v1", "collide-shape-moving"], - [580, "v1", "collide-shape-moving"], - [600, "s4", "collide-shape-moving"], - [609, "s4", "collide-shape-moving"], - [622, "s4", "collide-shape-moving"], - [627, "s4", "collide-shape-moving"], - [629, "s4", "collide-shape-moving"], - [716, "s5", "collide-shape-moving"], - [720, "s5", "collide-shape-moving"], - [721, "s5", "collide-shape-moving"], - [728, "s5", "collide-shape-moving"], - [730, "s5", "collide-shape-moving"], - [731, "s5", "collide-shape-moving"], - [744, "v1", "collide-shape-moving"], - [751, "a0", "collide-shape-moving"], - [775, "v1", "collide-shape-moving"], - [824, "a1", "collide-shape-moving"], - [826, "a0", "collide-shape-moving"], - [831, "v1", "collide-shape-moving"] - ], - - "part-water-splash-callback": [[3, "v1", "float"]], - - "(method 15 water-control)": [[42, "v1", "float"]], - - "(method 27 water-vol)": [[16, "v1", "target"]], - - "(method 26 water-vol)": [ - [19, "v1", "target"], - [33, "v1", "target"] - ], - - "(method 29 water-vol)": [ - ["_stack_", 16, "res-tag"], - [46, "v0", "(pointer float)"] - ], - - "(enter pickup racer)": [[1, "t9", "(function none :behavior racer)"]], - - "target-racing-jump-anim": [[36, "v1", "art-joint-anim"]], - - "target-racing-land-anim": [ - [23, "v1", "art-joint-anim"], - [82, "v1", "art-joint-anim"], - [144, "v1", "art-joint-anim"] - ], - - "(post target-racing-get-off-jump)": [[191, "f0", "float"]], - - "check-drop-level-rolling-dirt-finish": [[17, "v1", "float"]], - - "(code peeper-down)": [[24, "v1", "float"]], - - "(code nav-enemy-notice fleeing-nav-enemy)": [[27, "v1", "art-joint-anim"]], - - "(code lightning-mole-dive)": [[39, "v1", "art-joint-anim"]], - - "(code lightning-mole-yelp)": [[19, "v1", "art-joint-anim"]], - - "(code peeper-up)": [[10, "v1", "art-joint-anim"]], - - "(code robber-idle)": [[14, "v1", "art-joint-anim"]], - - "(code robber-initial)": [[14, "v1", "art-joint-anim"]], - - "(code robber-initial-notice)": [[43, "v1", "art-joint-anim"]], - - "(code robber-tired)": [ - [69, "v1", "art-joint-anim"], - [136, "v1", "float"] - ], - - "(code robber-flee)": [ - [69, "v1", "art-joint-anim"], - [136, "v1", "float"] - ], - - "(code robber-die)": [ - [71, "f0", "float"], - [104, "v1", "art-joint-anim"] - ], - - "target-flut-hit-ground-anim": [ - [131, "v1", "art-joint-anim"], - [204, "v1", "art-joint-anim"] - ], - - "target-flut-standard-event-handler": [[164, "a0", "process-drawable"]], - - "(code target-flut-stance)": [ - [81, "v1", "art-joint-anim"], - [145, "v1", "art-joint-anim"] - ], - - "(code target-flut-walk)": [[60, "v1", "art-joint-anim"]], - - "(code target-flut-air-attack)": [[98, "v1", "art-joint-anim"]], - - "(code target-flut-air-attack-hit-ground)": [[86, "v1", "art-joint-anim"]], - - "(code target-flut-death)": [[224, "v1", "art-joint-anim"]], - - "(code target-flut-get-off-hit-ground)": [[13, "v1", "art-joint-anim"]], - - "(code target-flut-running-attack)": [ - [53, "v1", "float"], - [181, "f30", "float"], - [246, "f1", "float"], - [247, "f0", "float"], - [247, "f30", "float"], - [350, "v1", "art-joint-anim"], - [381, "f30", "float"] - ], - - "(code target-flut-double-jump)": [ - [14, "v1", "art-joint-anim"], - [78, "v1", "art-joint-anim"] - ], - - "(trans target-flut-walk)": [ - [147, "f0", "float"], - [152, "f1", "float"], - [203, "f0", "float"] - ], - - "(event target-flut-running-attack)": [ - [41, "v1", "process-drawable"], - [53, "v1", "collide-shape"], - [59, "v1", "collide-shape"] - ], - - "(code target-flut-get-on)": [ - [62, "s4", "process-drawable"], - [69, "s4", "process-drawable"], - [88, "s4", "process-drawable"], - [93, "s4", "process-drawable"] - ], - - "(code target-flut-get-off-jump)": [ - [55, "s3", "process-drawable"], - [59, "s3", "process-drawable"], - [74, "s3", "process-drawable"], - [93, "s3", "process-drawable"], - [98, "s3", "process-drawable"], - [145, "v1", "art-joint-anim"] - ], - - "(event target-flut-grab)": [[24, "a0", "process-drawable"]], - - "(post target-racing-get-on)": [ - [76, "f0", "float"], - [88, "f0", "float"], - [92, "f1", "float"] - ], - - "target-death-anim": [[18, "v1", "art-joint-anim"]], - - "target-hit-setup-anim": [ - [90, "v1", "art-joint-anim"], - [164, "v1", "art-joint-anim"] - ], - - "(anon-function 1 target-death)": [ - [12, "gp", "process-drawable"], - [16, "gp", "process-drawable"] - ], - - "next-level": [ - [7, "a1", "level-load-info"], - [10, "a1", "level-load-info"] - ], - - "target-generic-event-handler": [ - [10, "v1", "float"], - [297, "v1", "float"], - [308, "a0", "vector"], - [562, "v1", "(state object object object object target)"] - ], - - "target-standard-event-handler": [ - [167, "a0", "process"], - [182, "a0", "process"], - [197, "a0", "process"], - [223, "a0", "process"], - [242, "a0", "process"], - [257, "a0", "process"], - [272, "a0", "process"], - [280, "a1", "process"], - [303, "a0", "process"], - [330, "a0", "process"] - ], - - "(code target-load-wait)": [ - [21, "v1", "art-joint-anim"], - [138, "v1", "art-joint-anim"], - [196, "v1", "art-joint-anim"] - ], - - "(code target-grab)": [ - [133, "v1", "art-joint-anim"], - [185, "v1", "art-joint-anim"], - [322, "v1", "art-joint-anim"], - [475, "v1", "art-joint-anim"] - ], - - "(code target-pole-cycle)": [ - [87, "v1", "art-joint-anim"], - [148, "v1", "art-joint-anim"] - ], - - "(code target-pole-flip-up)": [[13, "v1", "art-joint-anim"]], - - "(code target-edge-grab-jump)": [[34, "v1", "art-joint-anim"]], - - "(code target-eco-powerup)": [ - [32, "v1", "art-joint-anim"], - [47, "v1", "float"], - [215, "v1", "float"] - ], - - "(code target-swim-stance)": [ - [31, "v1", "art-joint-anim"], - [52, "v1", "float"], - [89, "v1", "float"] - ], - - "(event target-swim-down)": [ - [9, "v1", "attack-info"], - [13, "v1", "attack-info"], - [18, "v1", "attack-info"], - [23, "v1", "attack-info"], - [38, "v1", "attack-info"], - [39, "v1", "attack-info"], - [41, "v1", "attack-info"] - ], - - "(code target-swim-walk)": [ - [54, "v1", "art-joint-anim"], - [140, "v1", "art-joint-anim"] - ], - - "(code target-yellow-jump-blast)": [[184, "v1", "art-joint-anim"]], - - "(code target-swim-down)": [[52, "v1", "art-joint-anim"]], - - "(code target-play-anim)": [[8, "v0", "art-joint-anim"]], - - "(code target-look-around)": [[20, "v0", "float"]], - - "(code target-stance-look-around)": [ - [10, "v0", "float"], - [36, "t9", "(function none :behavior target)"] - ], - - "part-first-person-hud-selector-func": [[16, "v1", "first-person-hud"]], - - "part-first-person-hud-right-func": [ - [16, "s5", "first-person-hud"], - [42, "s5", "first-person-hud"], - [46, "s5", "first-person-hud"], - [50, "s5", "first-person-hud"], - [59, "s5", "first-person-hud"] - ], - - "part-first-person-hud-left-func": [ - [16, "s5", "first-person-hud"], - [43, "s5", "first-person-hud"], - [47, "s5", "first-person-hud"], - [51, "s5", "first-person-hud"], - [60, "s5", "first-person-hud"] - ], - - "(event target-grab)": [ - [30, "a0", "process"], - [48, "a0", "process"], - [56, "a1", "process"] - ], - - "(code target-periscope)": [ - [25, "v1", "process-drawable"], - [49, "v1", "art-joint-anim"], - [130, "v1", "art-joint-anim"] - ], - - "(code target-swim-up)": [[17, "v1", "art-joint-anim"]], - - "(code target-yellow-blast)": [ - [161, "gp", "handle"], - [176, "v1", "art-joint-anim"], - [219, "gp", "handle"] - ], - - "(code target-edge-grab)": [ - [143, "v1", "art-joint-anim"], - [198, "v1", "art-joint-anim"] - ], - - "(method 10 first-person-hud)": [[32, "t9", "(function process none)"]], - - "(code target-pole-flip-forward-jump)": [ - [40, "t9", "(function none :behavior target)"] - ], - - "tfrag-details": [[49, "gp", "(pointer uint32)"]], - - "flatten-joint-control-to-spr": [ - [14, "a1", "pointer"], - [[66, 108], "a1", "(inline-array vector)"], - [[36, 38], "a1", "(inline-array vector)"], - [[39, 60], "a1", "(inline-array vector)"], - [38, "a1", "pointer"], - [[15, 37], "a1", "(inline-array vector)"], - [56, "a2", "(pointer float)"], - [120, "a0", "terrain-context"], - [154, "a0", "terrain-context"], - [189, "a1", "terrain-context"], - [184, "v1", "terrain-context"], - [172, "a1", "terrain-context"] - ], - - "matrix-from-control-pair!": [[18, "a0", "terrain-context"]], - - "cspace<-matrix-no-push-joint!": [[4, "a0", "terrain-context"]], - - "make-joint-jump-tables": [ - [5, "a0", "terrain-context"], - [11, "a0", "terrain-context"], - [17, "a0", "terrain-context"], - [23, "a0", "terrain-context"], - [29, "a0", "terrain-context"], - [35, "a0", "terrain-context"], - [41, "a0", "terrain-context"], - [47, "a0", "terrain-context"], - [53, "a0", "terrain-context"], - [59, "a0", "terrain-context"], - [65, "a0", "terrain-context"], - [71, "a0", "terrain-context"], - [77, "a0", "terrain-context"], - [83, "a0", "terrain-context"], - [89, "a0", "terrain-context"], - [95, "a0", "terrain-context"], - [101, "a0", "terrain-context"], - [107, "a0", "terrain-context"], - [113, "a0", "terrain-context"], - [119, "a0", "terrain-context"], - [125, "a0", "terrain-context"], - [131, "a0", "terrain-context"], - [137, "a0", "terrain-context"], - [143, "a0", "terrain-context"], - [149, "a0", "terrain-context"], - [155, "a0", "terrain-context"], - [161, "a0", "terrain-context"], - [167, "a0", "terrain-context"], - [173, "a0", "terrain-context"], - [179, "a0", "terrain-context"], - [185, "a0", "terrain-context"], - [191, "a0", "terrain-context"], - [197, "a0", "terrain-context"], - [203, "a0", "terrain-context"], - [209, "a0", "terrain-context"], - [215, "a0", "terrain-context"], - [221, "a0", "terrain-context"], - [227, "a0", "terrain-context"], - [233, "a0", "terrain-context"], - [239, "a0", "terrain-context"], - [245, "a0", "terrain-context"], - [251, "a0", "terrain-context"], - [257, "a0", "terrain-context"], - [263, "a0", "terrain-context"], - [269, "a0", "terrain-context"], - [275, "a0", "terrain-context"], - [281, "a0", "terrain-context"], - [287, "a0", "terrain-context"] - ], - - "find-instance-by-index": [ - [26, "t1", "drawable-tree-instance-shrub"], - [40, "t1", "drawable-tree-instance-tie"] - ], - - "draw-instance-info": [ - [224, "s1", "drawable-group"], - [143, "v1", "prototype-shrubbery"], - [148, "v1", "prototype-shrubbery"], - [299, "v1", "prototype-tie"], - [318, "v1", "prototype-tie"] - ], - - "(method 24 ram-boss-proj)": [ - [64, "v0", "sound-rpc-set-param"], - [83, "gp", "process-drawable"], - [86, "gp", "process-drawable"] - ], - - "ram-boss-on-ground-event-handler": [[260, "v1", "ram-boss-proj"]], - - "(method 52 ram-boss)": [ - [11, "v1", "(array collide-shape-prim)"], - [21, "v1", "(array collide-shape-prim)"], - [31, "v1", "(array collide-shape-prim)"], - [41, "v1", "(array collide-shape-prim)"] - ], - - "(method 53 ram-boss)": [ - [2, "v1", "(array collide-shape-prim)"], - [5, "v1", "(array collide-shape-prim)"], - [8, "v1", "(array collide-shape-prim)"], - [11, "v1", "(array collide-shape-prim)"] - ], - - "(code ram-boss-idle)": [[38, "v1", "collide-shape-prim-group"]], - - "(code ram-boss-jump-down)": [[14, "v1", "art-joint-anim"]], - - "(code ram-boss-jump-down-hit-ground)": [[23, "v1", "art-joint-anim"]], - - "(code ram-boss-forward-defend-block)": [[14, "v1", "art-joint-anim"]], - - "(code ram-boss-up-defend-block)": [[14, "v1", "art-joint-anim"]], - - "(code nav-enemy-victory ram-boss)": [[28, "v1", "art-joint-anim"]], - - "(code ram-boss-lose-shield)": [[29, "v1", "art-joint-anim"]], - - "(code ram-boss-throw)": [ - [16, "v1", "art-joint-anim"], - [67, "v1", "art-joint-anim"] - ], - - "(method 56 ram-boss)": [[58, "v1", "(pointer ram-boss-proj)"]], - - "(code ram-idle)": [ - [28, "v1", "art-joint-anim"], - [98, "v1", "art-joint-anim"] - ], - - "(code ram-give-fuel-cell)": [[69, "v1", "(pointer snowcam)"]], - - "(code snow-bumper-deactivate)": [ - [29, "v1", "art-joint-anim"], - [106, "v1", "art-joint-anim"] - ], - - "(code snow-bumper-spawn-fuel-cell)": [[16, "v1", "art-joint-anim"]], - - "(code snow-bumper-inactive-idle)": [[19, "v1", "art-joint-anim"]], - - "(method 7 snow-bumper)": [ - [14, "t9", "(function process-drawable int process-drawable)"] - ], - - "(method 11 snow-bumper)": [ - ["_stack_", 16, "res-tag"], - [216, "v0", "(pointer float)"] - ], - - "(code spider-egg-idle)": [ - [20, "v1", "art-joint-anim"], - [97, "v1", "art-joint-anim"], - [153, "v1", "art-joint-anim"] - ], - - "(code spider-egg-hatch)": [[62, "v1", "art-joint-anim"]], - - "(code spider-egg-die)": [[79, "v1", "art-joint-anim"]], - - "(code puffer-die)": [[33, "v1", "art-joint-anim"]], - - "puffer-default-event-handler": [ - [28, "v1", "process-drawable"], - [34, "v1", "process-drawable"] - ], - - "(method 22 puffer)": [[10, "v1", "process-drawable"]], - - "(method 25 puffer)": [ - [49, "v1", "puffer"], - [56, "v1", "puffer"] - ], - - "(method 23 puffer)": [[18, "v1", "process-drawable"]], - - "(trans puffer-attack)": [[23, "v1", "collide-shape-prim-group"]], - - "(method 30 puffer)": [[16, "v1", "(array collide-shape-prim)"]], - - "(method 31 puffer)": [[16, "v1", "(array collide-shape-prim)"]], - - "(method 7 puffer)": [ - [14, "t9", "(function process-drawable int process-drawable)"] - ], - - "(method 11 puffer)": [ - ["_stack_", 16, "res-tag"], - [213, "v0", "(pointer float)"] - ], - - "driller-lurker-default-event-handler": [ - [[51, 87], "s1", "touching-shapes-entry"] - ], - - "(code driller-lurker-idle-drilling)": [[33, "v1", "art-joint-anim"]], - - "(code driller-lurker-jammed-standing)": [[14, "v1", "art-joint-anim"]], - - "(code driller-lurker-die)": [[28, "v1", "art-joint-anim"]], - - "(method 7 driller-lurker)": [ - [24, "t9", "(function process-drawable int process-drawable)"] - ], - - "(method 11 driller-lurker)": [ - ["_stack_", 16, "res-tag"], - [373, "v0", "(pointer float)"] - ], - - "kermit-short-hop": [[10, "v1", "art-joint-anim"]], - - "kermit-long-hop": [[10, "v1", "art-joint-anim"]], - - "(code kermit-patrol)": [[10, "v1", "art-joint-anim"]], - - "(code kermit-chase-new-position)": [[16, "v1", "art-joint-anim"]], - - "(code kermit-chase)": [[14, "v1", "art-joint-anim"]], - - "(code kermit-attack)": [[22, "v1", "art-joint-anim"]], - - "(code kermit-tongue-stuck)": [[14, "v1", "art-joint-anim"]], - - "(code kermit-retract-tongue)": [ - [14, "v1", "art-joint-anim"], - [90, "v1", "art-joint-anim"] - ], - - "(method 39 kermit)": [[7, "t9", "(function nav-enemy none)"]], - - "(code falling gnawer-falling-segment)": [ - [16, "v1", "art-joint-anim"], - [70, "v1", "art-joint-anim"] - ], - - "(method 22 gnawer)": [[18, "f0", "float"]], - - "(code gnawer-chewing-on-post)": [ - [139, "v1", "art-joint-anim"], - [210, "v1", "art-joint-anim"], - [272, "v1", "art-joint-anim"], - [363, "v1", "art-joint-anim"], - [451, "v1", "art-joint-anim"] - ], - - "(code gnawer-retreat-into-post)": [[18, "v1", "art-joint-anim"]], - - "(code gnawer-die)": [[28, "v1", "art-joint-anim"]], - - "(event gnawer-run)": [[54, "a2", "touching-shapes-entry"]], - - "(method 7 gnawer)": [[19, "t9", "(function nav-enemy int nav-enemy)"]], - - "(code gnawer-give-fuel-cell)": [ - [43, "v0", "maincavecam"], - [64, "v1", "maincavecam"] - ], - - "(method 11 gnawer)": [ - ["_stack_", 16, "res-tag"], - ["_stack_", 32, "res-tag"], - ["_stack_", 48, "res-tag"], - [361, "v0", "(pointer float)"], - [426, "v0", "(pointer int32)"], - [446, "v0", "(pointer int32)"] - ], - - "(code mother-spider-egg-falling)": [[14, "v1", "art-joint-anim"]], - - "(code mother-spider-egg-hatch)": [[65, "v1", "art-joint-anim"]], - - "(code mother-spider-egg-die)": [[63, "v1", "art-joint-anim"]], - - "(code mother-spider-egg-die-while-falling)": [[63, "v1", "art-joint-anim"]], - - "(code mother-spider-egg-on-ground)": [ - [50, "v1", "art-joint-anim"], - [124, "v1", "art-joint-anim"] - ], - - "(method 7 swamp-blimp)": [ - [19, "t9", "(function process-drawable int process-drawable)"] - ], - - "(code swamp-tetherrock-break)": [ - [238, "s4", "handle"], - [261, "s4", "handle"], - [283, "s4", "handle"], - [300, "s4", "handle"], - [373, "a0", "swamp-blimp"] - ], - - "(event swamp-tetherrock-idle)": [[55, "gp", "process-drawable"]], - - "(code swamp-rope-break)": [ - [10, "v1", "float"], - [26, "v1", "float"], - [48, "v1", "float"], - [64, "v1", "art-joint-anim"] - ], - - "swamp-rope-trans": [ - [40, "v1", "swamp-rope"], - [48, "v1", "swamp-rope"] - ], - - "(code swamp-rope-idle-arm)": [[13, "v1", "swamp-rope"]], - - "swamp-blimp-setup": [[[26, 117], "s4", "swamp-rope"]], - - "(code swamp-rope-idle-rock)": [ - [32, "a0", "swamp-rope"], - [33, "a0", "swamp-rope"] - ], - - "(code mistycannon-missile-idle)": [ - [110, "v0", "sound-rpc-set-param"], - [207, "v1", "art-joint-anim"], - [257, "v1", "art-joint-anim"] - ], - - "(event mistycannon-missile-explode)": [[16, "v1", "mistycannon-missile"]], - - "(code cam-mistycannon)": [ - [3, "a1", "mistycannon"], - [9, "v1", "mistycannon"] - ], - - "(method 26 citb-plat)": [ - [18, "v1", "vector"], - [47, "v1", "vector"] - ], - - "(method 23 citb-chain-plat)": [ - [9, "t9", "(function rigid-body-platform float none)"] - ], - - "(code citb-firehose-blast)": [ - [10, "v1", "art-joint-anim"], - [86, "v1", "art-joint-anim"], - [157, "v1", "art-joint-anim"] - ], - - "(trans plat-button-move-downward citb-exit-plat)": [ - [10, "v0", "(state plat-button)"] - ], - - "(trans plat-button-move-upward citb-exit-plat)": [ - [10, "v0", "(state plat-button)"] - ], - - "(code darkvine-idle)": [[32, "v1", "art-joint-anim"]], - - "(code darkvine-retreat)": [ - [23, "v1", "art-joint-anim"], - [138, "v1", "art-joint-anim"] - ], - - "(enter cam-periscope)": [ - [7, "a1", "periscope"], - [13, "a1", "periscope"], - [16, "v1", "periscope"] - ], - - "(code cam-periscope)": [ - [2, "v1", "periscope"], - [4, "v1", "periscope"], - [12, "v1", "periscope"], - [71, "v1", "periscope"], - [79, "v1", "periscope"] - ], - - "periscope-crosshair": [[50, "v1", "periscope"]], - - "periscope-find-next": [[58, "v1", "vector"]], - - "(code reflector-origin-idle)": [[60, "v1", "periscope"]], - - "(code periscope-player-control)": [ - [41, "v0", "(pointer float)"], - [508, "gp", "handle"] - ], - - "quicksandlurker-post": [ - [50, "a0", "water-anim"], - [54, "a0", "water-anim"] - ], - - "(code quicksandlurker-wait)": [ - [33, "v1", "art-joint-anim"], - [89, "v1", "art-joint-anim"] - ], - - "(code quicksandlurker-yawn)": [[10, "v1", "art-joint-anim"]], - - "(code quicksandlurker-track)": [[29, "v1", "art-joint-anim"]], - - "(code quicksandlurker-attack)": [[12, "v1", "art-joint-anim"]], - - "(code quicksandlurker-hide)": [[14, "v1", "art-joint-anim"]], - - "(code quicksandlurker-popup)": [[38, "v1", "art-joint-anim"]], - - "(code quicksandlurker-die)": [[18, "v1", "art-joint-anim"]], - - "(code quicksandlurker-victory)": [ - [18, "v1", "art-joint-anim"], - [69, "v1", "art-joint-anim"] - ], - - "(method 7 balloonlurker)": [ - [29, "t9", "(function process-drawable int process-drawable)"] - ], - - "(code balloonlurker-pilot-die)": [[58, "v1", "art-joint-anim"]], - - "(code orbit-plat-bottom-idle)": [ - [29, "v1", "orbit-plat"], - [35, "v1", "orbit-plat"], - [109, "v1", "orbit-plat"], - [126, "v1", "orbit-plat"] - ], - - "(method 27 orbit-plat)": [ - [20, "s5", "orbit-plat"], - [29, "s5", "orbit-plat"], - [33, "s5", "orbit-plat"], - [40, "s5", "orbit-plat"], - [44, "s5", "orbit-plat"], - [72, "a2", "orbit-plat"], - [153, "a1", "orbit-plat"] - ], - - "(code mother-spider-leg-flying)": [ - [21, "v1", "art-joint-anim"], - [80, "v1", "art-joint-anim"] - ], - - "(code mother-spider-stop-traveling)": [[14, "v1", "art-joint-anim"]], - - "(code mother-spider-hit-while-birthing)": [ - [14, "v1", "art-joint-anim"], - [68, "v1", "art-joint-anim"] - ], - - "(code mother-spider-birthing)": [[53, "v1", "art-joint-anim"]], - - "(code mother-spider-die)": [[36, "v1", "art-joint-anim"]], - - "(code mother-spider-die-from-uppercut)": [[31, "v1", "art-joint-anim"]], - - "(code mother-spider-spit)": [[15, "v1", "art-joint-anim"]], - - "(code mother-spider-birth-baby)": [[15, "v1", "art-joint-anim"]], - - "(code mother-spider-hit-while-tracking)": [ - [14, "v1", "art-joint-anim"], - [68, "v1", "art-joint-anim"] - ], - - "(code mother-spider-tracking)": [[53, "v1", "art-joint-anim"]], - - "mother-spider-default-event-handler": [ - [52, "a0", "process-drawable"], - [138, "a0", "process-drawable"] - ], - - "mother-spider-death-event-handler": [[7, "a0", "process-drawable"]], - - "(code bully-broken-cage-explode)": [[14, "v1", "art-joint-anim"]], - - "(code bully-notice)": [[148, "v1", "art-joint-anim"]], - - "(code bully-start-spinning)": [[14, "v1", "art-joint-anim"]], - - "(code bully-die)": [[70, "v1", "art-joint-anim"]], - - "bully-default-event-handler": [[21, "gp", "process-drawable"]], - - "(trans bully-notice)": [[10, "v1", "collide-shape-prim-group"]], - - "(trans bully-start-spinning)": [[10, "v1", "collide-shape-prim-group"]], - - "(trans bully-stop-spinning)": [[10, "v1", "collide-shape-prim-group"]], - - "(method 7 bully)": [ - [14, "t9", "(function process-drawable int process-drawable)"] - ], - - "(enter seagull-idle)": [[20, "v1", "float"]], - - "seagull-init-by-other": [[96, "v1", "float"]], - - "seagull-reaction": [ - [36, "s4", "seagull"], - [38, "s4", "seagull"] - ], - - "beach-rock-trigger": [[5, "v0", "seagullflock"]], - - "(method 11 seagullflock)": [ - [80, "v1", "float"], - [99, "v1", "float"] - ], - - "(code seagull-flying)": [ - [13, "v1", "art-joint-anim"], - [373, "v1", "float"] - ], - - "(code seagull-soaring)": [ - [15, "v1", "art-joint-anim"], - [296, "v1", "float"] - ], - - "(method 26 seagull)": [ - [12, "v1", "float"], - [33, "v1", "float"], - [54, "v1", "float"] - ], - - "(code seagull-idle)": [ - [51, "v1", "float"], - [67, "v1", "float"], - [143, "v1", "float"], - [218, "v1", "float"] - ], - - "(code target-ice-stance)": [ - [42, "v1", "art-joint-anim"], - [108, "v1", "art-joint-anim"], - [159, "v1", "art-joint-anim"], - [221, "v1", "art-joint-anim"], - [283, "v1", "art-joint-anim"], - [370, "v1", "art-joint-anim"], - [479, "v1", "art-joint-anim"] - ], - - "bones-set-sqwc": [[2, "v1", "dma-bank-control"]], - "bones-reset-sqwc": [[2, "v1", "dma-bank-control"]], - - "bones-init": [ - [2, "a2", "terrain-context"], - [59, "a0", "(pointer int64)"], - [9, "a2", "bone-memory"], - [13, "a2", "bone-memory"], - [17, "a2", "bone-memory"], - [21, "a2", "bone-memory"], - [25, "a2", "bone-memory"], - [29, "a2", "bone-memory"], - [[31, 39], "v1", "bone-memory"] - ], - - "draw-bones-mtx-calc": [[[5, 8], "t2", "bone-memory"]], - - "bones-mtx-calc-execute": [ - [[18, 45], "v1", "bone-memory"], - [[90, 108], "v1", "(inline-array matrix)"], - [47, "a0", "dma-bank-control"], - [118, "a0", "dma-bank-control"], - [[89, 112], "a1", "(inline-array vector)"] - ], - - "bones-wrapup": [ - [[3, 26], "v1", "bone-memory"], - [[9, 12], "a1", "dma-packet"] - ], - - "texscroll-make-request": [[[9, 39], "a1", "mei-texture-scroll"]], - - "texscroll-execute": [ - [[25, 31], "a1", "mei-texture-scroll"], - [[15, 52], "a2", "merc-fragment-control"], - [[20, 24], "t1", "merc-fragment"], - [[26, 40], "t1", "(pointer int8)"], - [19, "t1", "pointer"] - ], - - "draw-bones": [ - [[50, 53], "t4", "bone-memory"], - [[110, 123], "v1", "vu-lights"], - [199, "v1", "mei-texture-scroll"], - [334, "v1", "merc-extra-info"], - [357, "a0", "(pointer int8)"], - [[38, 43], "a2", "bone-regs"], - [545, "s2", "int"], - [49, "a1", "bone-calculation"], - [262, "s2", "(pointer uint32)"], - [89, "at", "terrain-context"], - [[312, 334], "v1", "mei-envmap-tint"], - [363, "a0", "(pointer uint8)"] - ], - - "draw-bones-hud": [ - [[14, 19], "t0", "bone-regs"], - [25, "a2", "bone-calculation"], - [[26, 29], "t6", "bone-memory"], - [[73, 89], "t2", "vu-lights"], - [89, "t1", "vu-lights"], - [78, "t1", "pointer"], - [49, "at", "terrain-context"] - ], - - "joint-mod-tracker-callback": [[[3, 99], "s4", "joint-mod-tracker"]], - - "(method 7 snow-ball)": [ - [26, "t9", "(function process-drawable int process-drawable)"] - ], - - "(method 11 mistycannon)": [ - ["_stack_", 16, "res-tag"], - ["_stack_", 32, "res-tag"], - ["_stack_", 48, "res-tag"], - [337, "v0", "(pointer float)"], - [367, "v0", "(pointer float)"] - ], - - "quicksandlurker-missile-init-by-other": [[76, "a0", "process-drawable"]], - - "mother-spider-full-joint-callback": [ - [[10, 48], "v1", "mother-spider-thread"] - ], - - "(method 11 mother-spider)": [ - ["_stack_", 16, "res-tag"], - [[500, 525], "v0", "(pointer float)"] - ], - - "(method 21 mother-spider)": [[179, "s3", "collide-shape-prim-group"]], - - "(method 11 plane-volume)": [[14, "f2", "float"]], - - "(method 9 plane-volume)": [[245, "f2", "float"]], - - "(method 21 helix-water)": [[27, "a0", "process-drawable"]], - - "(method 7 helix-water)": [ - [14, "t9", "(function process-drawable int process-drawable)"] - ], - - "(code helix-button-activate)": [[58, "v1", "(pointer sunkencam)"]], - - "(code target-flut-jump)": [[137, "v1", "float"]], - - "tie-init-engine": [ - [[14, 18], "a0", "dma-packet"], - [[24, 28], "a0", "gs-gif-tag"], - [31, "a0", "(pointer gs-test)"], - [33, "a0", "(pointer gs-reg64)"], - [[43, 51], "a0", "dma-packet"], - [[64, 69], "a0", "dma-packet"], - [[74, 78], "a0", "dma-packet"], - [[82, 89], "v1", "(inline-array vector4w)"], - [[89, 97], "v1", "(pointer vif-tag)"] - ], - - "tie-end-buffer": [ - [[6, 10], "a1", "dma-packet"], - [[16, 19], "a1", "gs-gif-tag"], - [24, "a1", "(pointer gs-test)"], - [26, "a1", "(pointer gs-reg64)"], - [[32, 36], "a1", "dma-packet"], - [[41, 52], "a0", "(pointer vif-tag)"] - ], - - "tie-ints": [[[3, 30], "gp", "(pointer uint32)"]], - - "tie-floats": [[[3, 73], "gp", "(pointer uint32)"]], - - "tie-init-buffers": [ - [[29, 32], "v1", "dma-packet"], - [[59, 62], "a0", "dma-packet"], - [65, "a0", "(pointer uint32)"], - [[96, 99], "v1", "dma-packet"], - [[126, 129], "a0", "dma-packet"], - [132, "a0", "(pointer uint32)"], - [[163, 166], "v1", "dma-packet"], - [[193, 196], "a0", "dma-packet"], - [199, "a0", "(pointer uint32)"], - [[230, 233], "v1", "dma-packet"], - [[260, 263], "a0", "dma-packet"], - [266, "a0", "(pointer uint32)"] - ], - - "draw-drawable-tree-instance-tie": [ - [[23, 36], "v1", "drawable-inline-array-node"], - [25, "a0", "drawable-inline-array-node"], - [61, "v1", "drawable-inline-array-instance-tie"], - [74, "v1", "drawable-inline-array-node"], - [84, "v1", "int"], - [86, "a0", "int"], - [66, "a1", "terrain-context"], - [[363, 366], "v1", "dma-packet"], - [[484, 487], "v1", "dma-packet"] - ], - - "(method 10 drawable-tree-instance-tie)": [[3, "a1", "terrain-context"]], - - "(method 14 drawable-tree-instance-tie)": [ - [[47, 62], "t1", "tie-fragment"], - [[102, 117], "t1", "tie-fragment"], - [[150, 165], "a1", "tie-fragment"] - ], - - "(method 11 drawable-inline-array-instance-tie)": [ - [[1, 6], "v1", "instance-tie"] - ], - - "(method 12 drawable-inline-array-instance-tie)": [ - [[1, 6], "v1", "instance-tie"] - ], - - "(method 13 drawable-inline-array-instance-tie)": [ - [[1, 6], "v1", "instance-tie"] - ], - - "(method 10 drawable-tree-array)": [[4, "v1", "terrain-context"]], - - "(method 16 drawable-tree)": [ - [[1, 4], "v1", "drawable-inline-array-node"], - //[4, "a1", "int"], - [11, "v1", "(pointer int8)"], - [[29, 34], "t0", "drawable-inline-array-node"], - [31, "t2", "drawable-inline-array-node"], - //[[34,36], "a1", "int"], - [36, "t1", "(pointer int8)"], - [[9, 42], "a2", "(pointer int8)"] - ], - - "(event sunken-pipegame-idle)": [[6, "a0", "sunken-pipegame-button"]], - - "(method 11 sunken-pipegame)": [ - [189, "a1", "collectable"], - [280, "s0", "collectable"], - [371, "s0", "collectable"], - [[407, 409], "v1", "(pointer sunken-pipegame-button)"] - ], - - "(method 7 sunken-pipegame)": [ - [33, "t9", "(function process-drawable int process-drawable)"] - ], - - "(code sunken-pipegame-begin-play)": [ - [179, "v1", "float"], - [260, "v1", "float"], - [519, "v1", "float"], - [596, "v1", "float"] - ], - - "(method 22 sunken-pipegame)": [ - [20, "v1", "collectable"], - [25, "v1", "collectable"], - [54, "v1", "collectable"], - [59, "v1", "collectable"] - ], - - "(enter exit-chamber-lower)": [[14, "v1", "fuel-cell"]], - - "(code exit-chamber-lower)": [ - [29, "v1", "sunkencam"], - [50, "v1", "art-joint-anim"], - [162, "v1", "art-joint-anim"], - [241, "v1", "art-joint-anim"], - [308, "v1", "fuel-cell"] - ], - - "(method 11 exit-chamber)": [[190, "v1", "art-joint-anim"]], - - "ray-cylinder-intersect": [ - [20, "v1", "uint"], - [20, "a0", "uint"] - ], - - "(anon-function 15 pelican)": [[24, "v1", "collectable"]], - - "(method 11 darkecobarrel)": [["_stack_", 16, "res-tag"]], - - "(method 11 snowpusher)": [ - ["_stack_", 16, "res-tag"], - [19, "v0", "(pointer int32)"] - ], - - "(code snow-switch-activate)": [[53, "v1", "snowcam"]], - - "(method 32 sequenceA-village1)": [ - [[103, 111], "v1", "handle"], - [[125, 133], "v1", "handle"] - ], - - "(exit play-anim sequenceA-village1)": [ - [[12, 20], "v1", "handle"], - [[28, 36], "v1", "handle"] - ], - - "(event play-anim sequenceA-village1)": [ - [[64, 72], "v1", "handle"], - [[86, 94], "v1", "handle"], - [[108, 116], "v1", "handle"] - ], - - "(code hud-collecting)": [ - [[2, 10], "v1", "handle"], - [13, "s4", "hud"], - [25, "s4", "hud"], - [27, "s4", "hud"] - ], - - "(code caveelevator-one-way-idle-start)": [[10, "v1", "art-joint-anim"]], - - "(method 11 caveelevator)": [ - ["_stack_", 16, "res-tag"], - [109, "v0", "(pointer float)"] - ], - - "(trans energyhub-idle)": [[31, "s4", "energyarm"]], - - "(method 0 joint-exploder-tuning)": [ - [[6, 50], "v0", "joint-exploder-tuning"] - ], - - "(method 23 joint-exploder)": [ - [[12, 102], "s3", "joint-exploder-joint"], - [[144, 146], "v1", "joint-exploder-list"], - [148, "v1", "matrix"], - [152, "v1", "matrix"] - ], - - "(method 20 joint-exploder)": [ - [[8, 10], "a3", "joint-exploder-joint"], - [15, "v1", "joint-exploder-joint"] - ], - - "(method 27 joint-exploder)": [ - [41, "s0", "joint-exploder-joint"], - [90, "s0", "joint-exploder-joint"], - [139, "s0", "joint-exploder-joint"] - ], - - "(method 25 joint-exploder)": [[[16, 54], "s2", "joint-exploder-joint"]], - - "(method 22 joint-exploder)": [[[18, 78], "s5", "joint-exploder-joint"]], - - "joint-exploder-joint-callback": [[[10, 18], "v1", "joint-exploder-joint"]], - - "(method 24 joint-exploder)": [[[12, 19], "v1", "joint-exploder-joint"]], - - "(method 26 joint-exploder)": [ - [[5, 8], "a2", "joint-exploder-joint"], - [18, "v1", "joint-exploder-joint"], - [28, "v1", "joint-exploder-joint"] - ], - - "racer-effects": [[739, "v0", "sound-rpc-set-param"]], - - "(code target-tube)": [[31, "v1", "art-joint-anim"]], - - "(event slide-control-ride slide-control)": [ - [24, "gp", "process-drawable"], - [31, "v1", "vector"], - [35, "v1", "vector"], - [39, "v1", "vector"] - ], - - "(code target-tube-start)": [[110, "v1", "float"]], - - "depth-cue-set-stencil": [ - [[1, 7], "t1", "dma-packet"], - [[10, 16], "t1", "gs-gif-tag"], - [27, "t1", "(pointer gs-xy-offset)"], - [29, "t1", "(pointer gs-reg64)"], - [34, "t1", "(pointer gs-frame)"], - [36, "t1", "(pointer gs-reg64)"], - [38, "t1", "(pointer gs-test)"], - [40, "t1", "(pointer gs-reg64)"], - [[43, 53], "a3", "(inline-array vector4w)"], - [[52, 80], "v0", "(inline-array vector4w)"] - ], - - "depth-cue-draw-front": [ - [[26, 32], "t6", "dma-packet"], - [[33, 41], "t6", "gs-gif-tag"], - [49, "t6", "(pointer gs-xy-offset)"], - [51, "t6", "(pointer gs-reg64)"], - [56, "t6", "(pointer gs-frame)"], - [58, "t6", "(pointer gs-reg64)"], - [64, "t6", "(pointer gs-tex0)"], - [66, "t6", "(pointer gs-reg64)"], - [68, "t6", "(pointer gs-test)"], - [70, "t6", "(pointer gs-reg64)"], - [71, "t6", "(pointer gs-alpha)"], - [73, "t6", "(pointer gs-reg64)"], - [[76, 109], "t5", "(inline-array vector4w)"], - [112, "t5", "depth-cue-work"], - [[115, 121], "t6", "dma-packet"], - [[122, 130], "t6", "gs-gif-tag"], - [137, "t6", "(pointer gs-xy-offset)"], - [139, "t6", "(pointer gs-reg64)"], - [144, "t6", "(pointer gs-frame)"], - [146, "t6", "(pointer gs-reg64)"], - [148, "t6", "(pointer gs-texa)"], - [150, "t6", "(pointer gs-reg64)"], - [156, "t6", "(pointer gs-tex0)"], - [158, "t6", "(pointer gs-reg64)"], - [160, "t6", "(pointer gs-alpha)"], - [162, "t6", "(pointer gs-reg64)"], - [[165, 190], "t5", "(inline-array vector4w)"], - [[191, 201], "t5", "vector4w"], - [201, "t5", "depth-cue-work"] - ], - - "depth-cue-draw-depth": [ - [[26, 32], "t6", "dma-packet"], - [[33, 41], "t6", "gs-gif-tag"], - [49, "t6", "(pointer gs-xy-offset)"], - [51, "t6", "(pointer gs-reg64)"], - [56, "t6", "(pointer gs-frame)"], - [58, "t6", "(pointer gs-reg64)"], - [64, "t6", "(pointer gs-tex0)"], - [66, "t6", "(pointer gs-reg64)"], - [68, "t6", "(pointer gs-test)"], - [70, "t6", "(pointer gs-reg64)"], - [[73, 106], "t5", "(inline-array vector4w)"], - [109, "t5", "depth-cue-work"], - [[112, 118], "t6", "dma-packet"], - [[121, 127], "t6", "gs-gif-tag"], - [134, "t6", "(pointer gs-xy-offset)"], - [136, "t6", "(pointer gs-reg64)"], - [141, "t6", "(pointer gs-frame)"], - [143, "t6", "(pointer gs-reg64)"], - [149, "t6", "(pointer gs-tex0)"], - [151, "t6", "(pointer gs-reg64)"], - [153, "t6", "(pointer gs-test)"], - [155, "t6", "(pointer gs-reg64)"], - [[158, 183], "t5", "(inline-array vector4w)"], - [[184, 193], "t5", "vector4w"], - [194, "t5", "depth-cue-work"] - ], - - "depth-cue": [ - [[22, 28], "a2", "dma-packet"], - [[31, 37], "a2", "gs-gif-tag"], - [42, "a2", "(pointer gs-test)"], - [44, "a2", "(pointer gs-reg64)"], - [46, "a2", "(pointer gs-zbuf)"], - [48, "a2", "(pointer gs-reg64)"], - [50, "a2", "(pointer gs-reg64)"], - [52, "a2", "(pointer gs-reg64)"], - [53, "a2", "(pointer gs-tex1)"], - [55, "a2", "(pointer gs-reg64)"], - [62, "a2", "(pointer gs-clamp)"], - [64, "a2", "(pointer gs-reg64)"], - [66, "a2", "(pointer gs-reg64)"], - [68, "a2", "(pointer gs-reg64)"], - [[94, 100], "a0", "dma-packet"], - [[103, 109], "a0", "gs-gif-tag"], - [120, "a0", "(pointer gs-xy-offset)"], - [122, "a0", "(pointer gs-reg64)"], - [127, "a0", "(pointer gs-frame)"], - [129, "a0", "(pointer gs-reg64)"], - [[133, 138], "v1", "dma-packet"] - ], - - "collide-probe-collide-fragment-tree-make-list": [ - [5, "v1", "drawable-inline-array-node"] - ], - - "collide-probe-instance-tie-tree-make-list": [ - [[5, 7], "v1", "drawable-inline-array-node"], - [[18, 20], "v1", "drawable-inline-array-instance-tie"] - ], - - "collide-upload-vu0": [ - [16, "a0", "dma-packet"], - [17, "a0", "(pointer uint64)"] - ], - - "collide-probe-make-list": [ - [[20, 22], "v1", "drawable-inline-array-node"], - [[31, 33], "v1", "drawable-inline-array-instance-tie"], - [[47, 49], "v1", "drawable-inline-array-node"] - ], - - "(method 21 collide-cache)": [ - [114, "a0", "(pointer int32)"], - [156, "t0", "(pointer int32)"], - [190, "v1", "(pointer int32)"], - [147, "v1", "collide-list-item"], - [148, "v1", "collide-list-item"], - [[91, 95], "v1", "dma-packet"], - [[112, 141], "v1", "dma-bank-spr"], - [[154, 188], "a2", "dma-bank-spr"], - [[217, 227], "s3", "collide-list-item"] - ], - - "(method 23 collide-shape-prim-sphere)": [ - [[74, 114], "s4", "collide-shape-prim-mesh"] - ], - - "(method 13 collide-mesh)": [ - [[0, 60], "a3", "(inline-array vector)"], - [[61, 123], "v1", "collide-mesh-tri"] - ], - - "(method 20 collide-shape-prim-group)": [ - [5, "gp", "pointer"], - [6, "v1", "(pointer collide-shape-prim)"], - [[7, 14], "a0", "collide-shape-prim"], - [32, "gp", "pointer"], - [33, "v1", "(pointer collide-shape-prim)"], - [[34, 40], "a0", "collide-shape-prim"], - [[40, 46], "a0", "collide-shape-prim-group"] - ], - - "(method 29 collide-shape-prim-group)": [ - [5, "gp", "pointer"], - [6, "v1", "(pointer collide-shape-prim)"], - [[13, 19], "a0", "collide-shape-prim-group"] - ], - - "(method 40 collide-shape)": [ - [21, "a0", "connection"], - [[22, 40], "a0", "collide-shape-moving"], - [85, "a0", "connection"], - [[86, 104], "a0", "collide-shape-moving"], - [147, "a0", "connection"], - [[148, 166], "a0", "collide-shape-moving"], - [209, "a0", "connection"], - [[210, 228], "a0", "collide-shape-moving"] - ], - - "(method 15 collide-shape-prim-sphere)": [ - [[16, 55], "gp", "collide-shape-prim-mesh"] - ], - - "(method 25 collide-cache)": [ - [[83, 104], "a2", "(inline-array collide-cache-tri)"] - ], - - "(method 22 collide-cache)": [ - [14, "v1", "connection"], - [[15, 31], "v1", "collide-shape"], - [74, "v1", "connection"], - [[75, 91], "v1", "collide-shape"], - [130, "v1", "connection"], - [[131, 148], "v1", "collide-shape"], - [187, "v1", "connection"], - [[188, 205], "v1", "collide-shape"] - ], - - "(method 12 collide-shape-prim-sphere)": [ - [[13, 23], "t0", "collide-cache-prim"] - ], - - "(method 24 collide-cache)": [ - [14, "v1", "connection"], - [[15, 31], "v1", "collide-shape"], - [74, "v1", "connection"], - [[75, 91], "v1", "collide-shape"], - [130, "v1", "connection"], - [[131, 148], "v1", "collide-shape"], - [187, "v1", "connection"], - [[188, 205], "v1", "collide-shape"] - ], - - "(method 14 collide-shape-prim-sphere)": [ - [[11, 23], "t0", "collide-cache-prim"] - ], - - "(method 23 collide-cache)": [ - [20, "v1", "connection"], - [[21, 43], "v1", "collide-shape"], - [86, "v1", "connection"], - [[87, 109], "v1", "collide-shape"], - [148, "v1", "connection"], - [[149, 174], "v1", "collide-shape"], - [211, "v1", "connection"], - [[212, 235], "v1", "collide-shape"] - ], - - "(method 13 collide-shape-prim-sphere)": [ - [[11, 23], "t0", "collide-cache-prim"] - ], - - "(method 31 collide-cache)": [[22, "v1", "collide-shape-prim-sphere"]], - - "(method 19 collide-cache)": [ - [[52, 94], "s4", "collide-cache-prim"], - [[1, 100], "s5", "collide-puss-work"] - ], - - "ogreboss-rock-explosion-effect": [[83, "v1", "manipy"]], - - "ogreboss-missile-scale-explosion": [ - [11, "gp", "process-drawable"], - [22, "gp", "process-drawable"] - ], - - "(event ogreboss-missile-impact)": [[76, "t1", "target"]], - - "(code ogreboss-super-boulder-throw)": [[16, "v1", "art-joint-anim"]], - - "ogreboss-emerge": [[47, "v1", "art-joint-anim"]], - - "(code ogreboss-die)": [[35, "v1", "art-joint-anim"]], - - "ogreboss-super-boulder-play-hit-anim": [[15, "v1", "art-joint-anim"]], - - "(code ogreboss-stage3-hit)": [[47, "v1", "art-joint-anim"]], - - "(code ogreboss-stage3-throw)": [ - [33, "v1", "art-joint-anim"], - [89, "v1", "art-joint-anim"] - ], - - "ogreboss-shoot-boulder": [[41, "a1", "process-drawable"]], - - "(method 7 ogreboss-super-boulder)": [ - [14, "t9", "(function process-drawable int process-drawable)"] - ], - - "ogreboss-bounce-boulder-init-by-other": [[112, "v1", "float"]], - - "(code ogreboss-stage3-shuffle)": [ - [33, "v1", "art-joint-anim"], - [121, "v1", "art-joint-anim"], - [177, "v1", "art-joint-anim"], - [247, "v1", "art-joint-anim"], - [299, "v1", "art-joint-anim"], - [355, "v1", "art-joint-anim"], - [425, "v1", "art-joint-anim"] - ], - - "(code ogreboss-stage2)": [ - [26, "v1", "art-joint-anim"], - [104, "v1", "art-joint-anim"], - [158, "v1", "art-joint-anim"] - ], - - "ogreboss-update-super-boulder": [[12, "a1", "ogreboss-super-boulder"]], - - "(trans ogreboss-stage3-shuffle)": [[13, "v1", "ogreboss-super-boulder"]], - - "(code ogreboss-stage1)": [ - [36, "v1", "art-joint-anim"], - [93, "v1", "art-joint-anim"], - [172, "v1", "art-joint-anim"], - [273, "v1", "art-joint-anim"], - [329, "v1", "art-joint-anim"], - [386, "v1", "art-joint-anim"] - ], - - "(code ogreboss-bounce-boulder-idle)": [[81, "v1", "art-joint-anim"]], - - "ogreboss-idle-loop": [ - [145, "v1", "art-joint-anim"], - [206, "v1", "art-joint-anim"], - [261, "v1", "art-joint-anim"] - ], - - "(code ogreboss-super-boulder-roll)": [[123, "v1", "art-joint-anim"]], - - "(code ogreboss-intro)": [[92, "v1", "art-joint-anim"]], - - "ogreboss-submerge": [[130, "v1", "art-joint-anim"]], - - "(code nav-enemy-notice snow-bunny)": [[145, "v1", "art-joint-anim"]], - - "(code snow-bunny-lunge snow-bunny)": [[22, "v1", "art-joint-anim"]], - - "(code snow-bunny-attack snow-bunny)": [[20, "v1", "art-joint-anim"]], - - "ogreboss-pick-target": [[31, "s3", "process-drawable"]], - - "(method 29 progress)": [ - [290, "a0", "(pointer symbol)"], - [299, "v1", "(pointer symbol)"], - [308, "a0", "(pointer symbol)"], - [317, "v1", "(pointer symbol)"], - [326, "a0", "(pointer symbol)"], - [589, "a0", "(pointer symbol)"], - [599, "v1", "(pointer symbol)"], - [608, "a1", "(pointer symbol)"], - [617, "v1", "(pointer symbol)"], - [626, "a1", "(pointer symbol)"], - [883, "a0", "(pointer language-enum)"], - [894, "a0", "(pointer symbol)"], - [921, "a0", "(pointer symbol)"] - ], - - "(method 9 edge-grab-info)": [ - [23, "a0", "int"], - [[24, 31], "s5", "collide-shape-prim"], - [29, "a0", "process-drawable"], - [156, "s5", "collide-shape-prim"] - ], - "circle-triangle-intersection-proc?": [[[113, 134], "v1", "vector"]], - - "(method 28 nav-control)": [ - [170, "v1", "connection"], - [[170, 245], "s0", "collide-shape"] - ], - - "(method 29 nav-mesh)": [ - [38, "v1", "int"], - [40, "v1", "int"], - [41, "v1", "int"], - [64, "f1", "float"], - [63, "v1", "float"] - ], - - "nav-mesh-update-route-table": [ - [19, "a3", "(pointer uint8)"], - [24, "a0", "(pointer uint8)"] - ], - - "nav-mesh-lookup-route": [[6, "a0", "(pointer uint8)"]], - - "(method 11 nav-mesh)": [[12, "a2", "(pointer uint8)"]], - - "(method 12 nav-mesh)": [[13, "a2", "(pointer uint8)"]], - - "recursive-inside-poly": [ - [16, "a0", "(pointer nav-node)"], - [29, "v1", "(pointer nav-node)"] - ], - - "entity-nav-login": [["_stack_", 16, "res-tag"]], - - "(method 18 nav-mesh)": [[34, "v1", "nav-poly"]], - - "foreground-engine-execute": [[114, "v1", "(pointer uint32)"]], - - "(event ropebridge-idle)": [ - [64, "gp", "touching-shapes-entry"], - [65, "v1", "touching-shapes-entry"], - [12, "v1", "float"] - ], - - "(method 23 ropebridge)": [[[1, 9], "v1", "ropebridge-spring-point"]], - - "(method 21 ropebridge)": [ - [20, "v1", "process-drawable"], - [[4, 50], "s5", "collide-sticky-rider"] - ], - - "(method 24 ropebridge)": [[[3, 22], "s5", "ropebridge-spring-point"]], - - "(method 25 ropebridge)": [ - [[4, 24], "a1", "vector"], - [[3, 24], "v1", "ropebridge-spring-point"], - [[30, 42], "v1", "ropebridge-spring-point"] - ], - - "(method 11 ropebridge)": [[[17, 21], "s4", "symbol"]], - - "ropebridge-joint-callback": [ - [[27, 70], "s5", "(inline-array ropebridge-spring-point)"], - [[23, 24], "s3", "ropebridge-spring-point"] - ], - - "(code orbit-plat-rotating)": [[12, "a2", "orbit-plat"]], - - "(code notice-blue plat-eco)": [ - [22, "v1", "process-drawable"], - [36, "v1", "collide-shape"] - ], - - "snow-bunny-default-event-handler": [[52, "v1", "vector"]], - - "(method 15 snow-ball)": [ - [3, "v1", "(pointer snow-ball-roller)"], - [25, "v1", "(pointer snow-ball-roller)"], - [34, "v1", "(pointer snow-ball-roller)"], - [36, "v1", "(pointer snow-ball-roller)"], - [28, "a3", "(inline-array snow-ball-junction)"], - [7, "a3", "(inline-array snow-ball-junction)"], - [13, "a3", "(inline-array snow-ball-junction)"], - [20, "a3", "(inline-array snow-ball-junction)"] - ], - - "(trans snow-ball-shadow-idle)": [[4, "a0", "process-drawable"]], - - "snow-ball-shadow-init-by-other": [[20, "a0", "process-drawable"]], - - "curve-evaluate!": [[62, "s5", "pointer"]], - - "setup-blerc-chains": [ - [43, "v1", "int"], - [80, "s0", "int"], - [83, "a0", "int"], - [[30, 40], "s1", "merc-fragment-control"], - [41, "v1", "merc-fragment"], - [46, "v1", "(pointer uint8)"], - [59, "a0", "merc-blend-ctrl"], - [[64, 76], "s1", "merc-fragment-control"], - [77, "a1", "merc-blend-ctrl"] - ], - - "blerc-execute": [ - [20, "a0", "(pointer int32)"], - [26, "v1", "(pointer int32)"], - [59, "a2", "(pointer int32)"], - [65, "a1", "(pointer int32)"] - ], - - "update-mood-flames": [[[6, 88], "s5", "flames-state"]], - - "update-mood-lava": [[[4, 81], "s4", "lava-state"]], - - "(method 27 ropebridge)": [ - [101, "a0", "(inline-array vector)"], - [102, "a0", "(inline-array vector)"], - [105, "a0", "(inline-array vector)"], - [106, "a0", "(inline-array vector)"] - ], - - "update-eyes": [ - [[19, 25], "a0", "dma-packet"], - [[28, 34], "a0", "gs-gif-tag"], - [39, "a0", "(pointer gs-test)"], - [41, "a0", "(pointer gs-reg64)"], - [[45, 50], "v1", "dma-packet"], - [[83, 89], "a0", "dma-packet"], - [[92, 98], "a0", "gs-gif-tag"], - [103, "a0", "(pointer gs-test)"], - [105, "a0", "(pointer gs-reg64)"], - [[109, 114], "v1", "dma-packet"], - [[147, 153], "a0", "dma-packet"], - [[156, 162], "a0", "gs-gif-tag"], - [167, "a0", "(pointer gs-test)"], - [169, "a0", "(pointer gs-reg64)"], - [[173, 178], "v1", "dma-packet"], - [212, "v1", "process-drawable"], - [218, "v1", "process-drawable"], - [[281, 286], "v1", "dma-packet"], - [[319, 324], "v1", "dma-packet"], - [[356, 362], "a0", "dma-packet"], - [[365, 371], "a0", "gs-gif-tag"], - [376, "a0", "(pointer gs-reg64)"], - [378, "a0", "(pointer gs-reg64)"], - [[382, 387], "v1", "dma-packet"], - [[415, 421], "a0", "dma-packet"], - [[424, 430], "a0", "gs-gif-tag"], - [435, "a0", "(pointer gs-reg64)"], - [437, "a0", "(pointer gs-reg64)"], - [[441, 446], "v1", "dma-packet"], - [[474, 480], "a0", "dma-packet"], - [[483, 489], "a0", "gs-gif-tag"], - [494, "a0", "(pointer gs-reg64)"], - [496, "a0", "(pointer gs-reg64)"], - [[500, 505], "v1", "dma-packet"] - ], - - "render-eyes": [ - [[45, 52], "v1", "dma-gif-packet"], - [[52, 64], "s0", "adgif-shader"], - [[68, 74], "a0", "dma-packet"], - [[77, 83], "a0", "gs-gif-tag"], - [95, "a0", "(pointer gs-scissor)"], - [97, "a0", "(pointer gs-reg64)"], - [[100, 135], "v1", "(inline-array vector4w)"], - [145, "v1", "(inline-array vector4w)"], - [[164, 170], "a2", "dma-packet"], - [[173, 179], "a2", "gs-gif-tag"], - [191, "a2", "(pointer gs-scissor)"], - [193, "a2", "(pointer gs-reg64)"], - [[199, 244], "a1", "(inline-array vector4w)"], - [250, "a1", "(inline-array vector4w)"], - [[253, 259], "a2", "dma-packet"], - [[262, 268], "a2", "gs-gif-tag"], - [280, "a2", "(pointer gs-scissor)"], - [282, "a2", "(pointer gs-reg64)"], - [[288, 337], "a1", "(inline-array vector4w)"], - [343, "v1", "(inline-array vector4w)"], - [[346, 352], "a0", "dma-packet"], - [[355, 361], "a0", "gs-gif-tag"], - [366, "a0", "(pointer gs-test)"], - [368, "a0", "(pointer gs-reg64)"], - [[373, 380], "v1", "(inline-array vector4w)"], - [[380, 392], "s0", "adgif-shader"], - [[412, 418], "a2", "dma-packet"], - [[421, 427], "a2", "gs-gif-tag"], - [439, "a2", "(pointer gs-scissor)"], - [441, "a2", "(pointer gs-reg64)"], - [[447, 497], "a1", "(inline-array vector4w)"], - [498, "a1", "(inline-array vector4w)"], - [[501, 507], "a2", "dma-packet"], - [[510, 516], "a2", "gs-gif-tag"], - [528, "a2", "(pointer gs-scissor)"], - [530, "a2", "(pointer gs-reg64)"], - [[536, 585], "a1", "(inline-array vector4w)"], - [591, "v1", "(inline-array vector4w)"], - [[594, 600], "a0", "dma-packet"], - [[603, 609], "a0", "gs-gif-tag"], - [614, "a0", "(pointer gs-test)"], - [616, "a0", "(pointer gs-reg64)"], - [[621, 628], "v1", "dma-gif-packet"], - [[628, 640], "s0", "adgif-shader"], - [641, "v1", "(inline-array dma-gif-packet)"], - [[673, 679], "a2", "dma-packet"], - [[682, 688], "a2", "gs-gif-tag"], - [700, "a2", "(pointer gs-scissor)"], - [702, "a2", "(pointer gs-reg64)"], - [[712, 759], "a1", "(inline-array vector4w)"], - [765, "a1", "(inline-array vector4w)"], - [[781, 787], "a2", "dma-packet"], - [[790, 796], "a2", "gs-gif-tag"], - [808, "a2", "(pointer gs-scissor)"], - [810, "a2", "(pointer gs-reg64)"], - [[820, 868], "a1", "(inline-array vector4w)"], - [874, "v1", "(inline-array vector4w)"] - ], - - "merc-eye-anim": [ - // [[81, 86], "v1", "(pointer int64)"], - // [[89, 94], "v1", "(pointer int64)"], - // [[119, 125], "v1", "(pointer int64)"], - // [[128, 134], "v1", "(pointer int64)"] - ], - - "ocean-near-add-call": [ - [3, "a0", "dma-packet"], - [8, "a0", "dma-packet"], - [10, "a0", "dma-packet"] - ], - - "ocean-near-add-call-flush": [ - [3, "a0", "dma-packet"], - [8, "a0", "dma-packet"], - [10, "a0", "dma-packet"] - ], - - "ocean-near-add-matrices": [ - [7, "a0", "dma-packet"], - [12, "a0", "dma-packet"], - [14, "a0", "dma-packet"], - [19, "a0", "dma-packet"], - [20, "a0", "vector"], - [22, "s4", "matrix"], - [23, "s4", "matrix"], - [47, "v1", "matrix"], - [[40, 46], "s3", "vector"] - ], - - "ocean-near-add-constants": [[[8, 16], "a0", "dma-packet"]], - - "draw-ocean-near": [ - [2, "a0", "dma-packet"], - [4, "a0", "dma-packet"], - [5, "a0", "dma-packet"], - [7, "a0", "dma-packet"], - [8, "a0", "dma-packet"], - [11, "a0", "dma-packet"], - [[14, 17], "a0", "gs-gif-tag"], - // [14, "a0", "dma-packet"], - // [16, "a0", "dma-packet"], - // [17, "a0", "dma-packet"], - [18, "a0", "dma-packet"], - [20, "a0", "dma-packet"], - [22, "a0", "(pointer gs-test)"], - [24, "a0", "(pointer gs-reg64)"], - [25, "a0", "dma-packet"], - [26, "a0", "dma-packet"], - [35, "a0", "dma-packet"], - [37, "a0", "dma-packet"], - [39, "a0", "dma-packet"], - [40, "a0", "dma-packet"], - [41, "a0", "dma-packet"], - [89, "a1", "(pointer int16)"] - ], - - "generic-reset-buffers": [ - [6, "t1", "dma-packet"], - [8, "t1", "dma-packet"], - [10, "t1", "dma-packet"], - [12, "t1", "dma-packet"], - [14, "t1", "dma-packet"], - [15, "t0", "dma-packet"] - ], - - "shadow-vu1-add-constants": [ - [2, "a1", "dma-packet"], - [7, "a1", "dma-packet"], - [9, "a1", "dma-packet"], - [14, "a1", "dma-packet"], - [[21, 58], "v1", "shadow-vu1-constants"], - [61, "a1", "dma-packet"], - [63, "a1", "dma-packet"], - [65, "a1", "dma-packet"], - [67, "a1", "dma-packet"], - [71, "a1", "dma-packet"], - [[73, 85], "a1", "shadow-vu1-gifbuf-template"] - ], - - "shadow-vu1-add-matrix": [ - [6, "a3", "dma-packet"], - [11, "a3", "dma-packet"], - [13, "a3", "dma-packet"], - [18, "a3", "dma-packet"], - [19, "a3", "dma-packet"], - [21, "v1", "dma-packet"], - [[26, 31], "v1", "matrix"] - ], - - "shadow-vu1-init-buffer": [ - [14, "a0", "dma-packet"], - [16, "a0", "dma-packet"], - [22, "a0", "dma-packet"], - [24, "a0", "dma-packet"] - ], - - "draw-bones-generic-merc": [ - [11, "v1", "generic-merc-ctrl"], - [198, "v1", "generic-merc-ctrl"], - [274, "a0", "generic-merc-ctrl"], - [277, "a0", "pointer"], - [278, "a0", "merc-fragment-control"], - [[270, 274], "a0", "dma-packet"], - [[258, 262], "a0", "dma-packet"], - [280, "a0", "pointer"], - [[303, 306], "gp", "dma-packet"], - [281, "v1", "merc-fragment"] - ], - - "generic-merc-execute-all": [ - [[165, 170], "v1", "terrain-context"], - [92, "a0", "terrain-context"], - [96, "v1", "terrain-context"], - [100, "v1", "terrain-context"], - [103, "a0", "generic-envmap-saves"], - [105, "v1", "(pointer int32)"], - [47, "v1", "terrain-context"], - [49, "v1", "terrain-context"], - [51, "v1", "terrain-context"], - [66, "a0", "terrain-context"], - [[114, 117], "v1", "dma-packet"] - ], - - "generic-initialize-without-sink": [ - [8, "a0", "terrain-context"], - [32, "a0", "terrain-context"] - ], - - "generic-work-init": [ - [10, "a0", "terrain-context"], - [13, "a0", "terrain-context"], - [16, "a0", "terrain-context"], - [18, "a0", "terrain-context"], - [[21, 42], "gp", "adgif-shader"] - ], - - "render-ocean-far": [[[23, 588], "s5", "(inline-array ocean-vertex)"]], - - "draw-ocean-far": [[[65, 72], "gp", "dma-packet"]], - - "ocean-init-buffer": [ - [[9, 14], "a2", "dma-packet"], - [[19, 22], "a2", "gs-gif-tag"], - [27, "s4", "(pointer gs-test)"], - [29, "s4", "(pointer gs-reg64)"], - [31, "s4", "(pointer gs-alpha)"], - [33, "s4", "(pointer gs-reg64)"], - [49, "s4", "(pointer gs-tex0)"], - [51, "s4", "(pointer gs-reg64)"], - [53, "s4", "(pointer gs-tex1)"], - [55, "s4", "(pointer gs-reg64)"], - [57, "s4", "(pointer gs-texa)"], - [59, "s4", "(pointer gs-reg64)"], - [71, "s4", "(pointer gs-miptbp)"], - [73, "s4", "(pointer gs-reg64)"], - [87, "s4", "(pointer gs-miptbp)"], - [89, "s4", "(pointer gs-reg64)"], - [90, "s4", "(pointer gs-clamp)"], - [92, "s4", "(pointer gs-reg64)"], - [94, "s4", "(pointer gs-fogcol)"], - [96, "s4", "(pointer gs-reg64)"] - ], - - "ocean-end-buffer": [ - [[3, 7], "a1", "dma-packet"], - [[13, 16], "a1", "gs-gif-tag"], - [22, "a0", "(pointer gs-texa)"], - [24, "a0", "(pointer gs-reg64)"] - ], - - "draw-ocean": [ - [[166, 169], "v1", "dma-packet"], - [[114, 117], "v1", "dma-packet"] - ], - - "ocean-texture-add-constants": [[[8, 16], "a0", "dma-packet"]], - - "ocean-texture-add-envmap": [[[1, 8], "v1", "(pointer uint128)"]], - - "ocean-texture-add-verts": [[[6, 11], "a0", "dma-packet"]], - - "ocean-texture-add-verts-last": [ - [[6, 11], "a3", "dma-packet"], - [[19, 24], "a0", "dma-packet"] - ], - - "ocean-texture-add-call-start": [[[3, 8], "a0", "dma-packet"]], - - "ocean-texture-add-call-rest": [[[3, 8], "a0", "dma-packet"]], - - "ocean-texture-add-call-done": [[[3, 8], "a0", "dma-packet"]], - - "draw-ocean-texture": [ - [[24, 29], "a0", "dma-packet"], - [[92, 96], "a0", "dma-packet"], - [[102, 105], "a0", "gs-gif-tag"], - [110, "s0", "(pointer gs-test)"], - [112, "s0", "(pointer gs-reg64)"], - [114, "s0", "(pointer gs-alpha)"], - [116, "s0", "(pointer gs-reg64)"], - [133, "s0", "(pointer gs-tex0)"], - [135, "s0", "(pointer gs-reg64)"], - [137, "s0", "(pointer gs-tex1)"], - [139, "s0", "(pointer gs-reg64)"], - [140, "s0", "(pointer gs-clamp)"], - [142, "s0", "(pointer gs-reg64)"], - [143, "s0", "(pointer uint64)"], - [145, "s0", "(pointer gs-reg64)"], - [[151, 155], "v1", "(pointer uint128)"], - [[156, 164], "a0", "vector4w"], - [[165, 169], "a0", "vector4w"], - [[170, 175], "a0", "vector4w"], - [[176, 182], "a0", "vector4w"], - [[183, 191], "v1", "vector4w"], - [[204, 208], "a0", "dma-packet"], - [[214, 217], "a0", "gs-gif-tag"], - [237, "s2", "(pointer gs-tex0)"], - [239, "s2", "(pointer gs-reg64)"], - [240, "s2", "(pointer uint64)"], - [242, "s2", "(pointer gs-reg64)"], - [251, "v1", "(pointer uint128)"], - [[253, 260], "a0", "vector4w"], - [[261, 265], "a0", "vector4w"], - [[266, 271], "a0", "vector4w"], - [[272, 278], "a0", "vector4w"], - [[279, 286], "v1", "vector4w"], - [[292, 296], "a0", "dma-packet"], - [[302, 305], "a0", "gs-gif-tag"], - [325, "s3", "(pointer gs-tex0)"], - [327, "s3", "(pointer gs-reg64)"], - [328, "s3", "(pointer uint64)"], - [330, "s3", "(pointer gs-reg64)"], - [339, "v1", "(pointer uint128)"], - [[341, 348], "a0", "vector4w"], - [[349, 367], "a0", "vector4w"], - [[368, 375], "v1", "vector4w"], - [[381, 385], "a0", "dma-packet"], - [[391, 394], "a0", "gs-gif-tag"], - [415, "s3", "(pointer gs-tex0)"], - [417, "s3", "(pointer gs-reg64)"], - [418, "s3", "(pointer uint64)"], - [420, "s3", "(pointer gs-reg64)"], - [429, "v1", "(pointer uint128)"], - [[431, 457], "a0", "vector4w"], - [[458, 466], "v1", "vector4w"], - [[471, 475], "a0", "dma-packet"], - [[481, 484], "a0", "gs-gif-tag"], - [505, "s3", "(pointer gs-tex0)"], - [507, "s3", "(pointer gs-reg64)"], - [508, "s3", "(pointer uint64)"], - [510, "s3", "(pointer gs-reg64)"], - [519, "v1", "(pointer uint128)"], - [[521, 547], "a0", "vector4w"], - [[548, 555], "v1", "vector4w"], - [[561, 565], "a0", "dma-packet"], - [[571, 574], "a0", "gs-gif-tag"], - [595, "s3", "(pointer gs-tex0)"], - [597, "s3", "(pointer gs-reg64)"], - [598, "s3", "(pointer uint64)"], - [600, "s3", "(pointer gs-reg64)"], - [609, "v1", "(pointer uint128)"], - [[611, 638], "a0", "vector4w"], - [[639, 646], "v1", "vector4w"], - [[652, 656], "a0", "dma-packet"], - [57, "v1", "(inline-array vector)"] - ], - - "ocean-near-add-upload": [ - [[40, 48], "a0", "dma-packet"], - [64, "a2", "(pointer int16)"], - [[81, 89], "a1", "vector4w"], - [[90, 98], "v1", "vector4w"], - [[111, 127], "t0", "vector4w"], - [[132, 146], "a1", "vector"], - [[250, 272], "a1", "(inline-array vector)"] - ], - - "draw-ocean-mid": [ - [169, "t3", "(pointer uint8)"], - [[23, 28], "a0", "dma-packet"] - ], - - "ocean-seams-add-constants": [ - [[7, 15], "a1", "dma-packet"], - [[19, 27], "a1", "vector"], - [[28, 36], "a1", "vector"], - [[37, 45], "a1", "vector"], - [[46, 55], "v1", "vector"] - ], - - "ocean-mid-add-upload-table": [ - [[44, 52], "a0", "dma-packet"], - [[54, 59], "v1", "vector4w"], - [[62, 75], "v1", "(pointer uint128)"], - [[158, 166], "a0", "dma-packet"], - [[138, 145], "v1", "(pointer uint128)"] - ], - - "ocean-mid-camera-masks-set!": [ - [30, "a2", "(pointer uint8)"], - [41, "a2", "(pointer uint8)"], - [49, "v1", "(pointer uint8)"] - ], - - "ocean-mid-mask-ptrs-bit?": [[31, "a0", "(pointer uint8)"]], - - "ocean-mid-camera-masks-bit?": [[25, "a0", "(pointer uint8)"]], - - "ocean-mid-add-upload": [ - [[48, 62], "a2", "dma-packet"], - [[76, 81], "a0", "dma-packet"], - [95, "v1", "(pointer uint64)"] - ], - - "ocean-mid-add-call-flush": [[[3, 11], "a0", "dma-packet"]], - - "ocean-mid-add-call": [[[3, 11], "a0", "dma-packet"]], - - "ocean-mid-add-matrices": [ - [[12, 20], "a0", "dma-packet"], - [[30, 34], "v1", "matrix"], - [[41, 46], "s3", "vector"] - ], - - "ocean-mid-add-constants": [[[8, 16], "a0", "dma-packet"]], - - "ocean-near-add-heights": [ - [26, "a1", "int"], - [[11, 19], "a3", "dma-packet"], - [[30, 38], "a2", "dma-packet"] - ], - - "draw-bones-shadow": [ - [10, "t0", "terrain-context"], - [[36, 100], "t0", "shadow-dma-packet"], - [[53, 58], "t6", "(inline-array vector)"], - [[64, 71], "a0", "vector"], - [[103, 106], "v1", "dma-packet"] - ], - - "shadow-execute-all": [ - [108, "gp", "shadow-dcache"], - [113, "gp", "shadow-dcache"], - [118, "gp", "shadow-dcache"], - [123, "gp", "shadow-dcache"], - [[54, 58], "v1", "shadow-dcache"], - [[86, 89], "v1", "dma-packet"] - ], - - "shadow-dma-init": [ - [[25, 29], "t6", "dma-packet"], - [[34, 37], "t6", "gs-gif-tag"], - [41, "t4", "(pointer gs-reg)"], - [43, "t4", "(pointer gs-reg)"], - [45, "t4", "(pointer gs-test)"], - [47, "t4", "(pointer gs-reg)"], - [49, "t4", "(pointer gs-alpha)"], - [51, "t4", "(pointer gs-reg)"], - [56, "t4", "(pointer gs-frame)"], - [58, "t4", "(pointer gs-reg)"], - [60, "t4", "(pointer gs-zbuf)"], - [62, "t4", "(pointer gs-reg)"], - [69, "t4", "(pointer gs-xy-offset)"], - [71, "t4", "(pointer gs-reg)"], - [77, "t4", "(pointer gs-tex0)"], - [79, "t4", "(pointer gs-reg)"], - [80, "t4", "(pointer gs-tex1)"], - [82, "t4", "(pointer gs-reg)"], - [83, "t4", "(pointer gs-miptbp)"], - [85, "t4", "(pointer gs-reg)"], - [94, "t4", "(pointer gs-clamp)"], - [101, "t3", "gs-gif-tag"], - [103, "t3", "gs-gif-tag"], - [109, "t3", "(pointer gs-prim)"], - [111, "t3", "(pointer gs-rgbaq)"], - [[120, 123], "t3", "gs-gif-tag"], - [141, "t5", "(pointer gs-xyzf)"], - [154, "t5", "(pointer gs-xyzf)"], - [[165, 168], "a3", "gs-gif-tag"], - [175, "a3", "(pointer gs-test)"], - [177, "a3", "(pointer gs-reg64)"], - [179, "a3", "(pointer gs-zbuf)"], - [181, "a3", "(pointer gs-reg64)"], - [186, "a3", "(pointer gs-frame)"], - [188, "a3", "(pointer gs-reg64)"], - [189, "a3", "(pointer uint64)"], - [191, "a3", "(pointer gs-reg64)"], - [198, "a3", "(pointer gs-test)"], - [200, "a3", "(pointer gs-reg64)"], - [202, "a3", "(pointer gs-zbuf)"], - [204, "a3", "(pointer gs-reg64)"], - [209, "a3", "(pointer gs-frame)"], - [211, "a3", "(pointer gs-reg64)"], - [212, "a3", "(pointer uint64)"], - [214, "a3", "(pointer gs-reg64)"], - [[223, 234], "v1", "(pointer uint64)"] - ], - - "shadow-dma-end": [ - [137, "f2", "int"], - [[27, 32], "t3", "dma-packet"], - [[38, 41], "t3", "gs-gif-tag"], - [45, "t3", "(pointer uint64)"], - [47, "t3", "(pointer gs-reg64)"], - [49, "t3", "(pointer gs-test)"], - [51, "t3", "(pointer gs-reg64)"], - [56, "t3", "(pointer gs-frame)"], - [58, "t3", "(pointer gs-reg64)"], - [59, "t3", "(pointer uint64)"], - [61, "t3", "(pointer gs-reg64)"], - [[68, 73], "t4", "dma-packet"], - [[111, 114], "t4", "gs-gif-tag"], - [115, "t4", "(pointer gs-prim)"], - [[107, 117], "t5", "gs-rgbaq"], - // [[75, 106], "t4", "gs-rgbaq"] - [116, "t4", "(pointer gs-rgbaq)"], - [[121, 124], "t4", "(inline-array gs-gif-tag)"], - [165, "t7", "(pointer gs-xyzf)"], - [184, "t7", "(pointer gs-st)"], - [197, "t7", "(pointer gs-xyzf)"], - [[216, 222], "t2", "(pointer uint64)"], - [[228, 232], "t0", "dma-packet"], - [[238, 241], "t0", "gs-gif-tag"], - [246, "t0", "(pointer gs-test)"], - [248, "t0", "(pointer gs-reg64)"], - [255, "t0", "(pointer gs-xy-offset)"], - [257, "t0", "(pointer gs-reg64)"], - [259, "t0", "(pointer gs-alpha)"], - [261, "t0", "(pointer gs-reg64)"], - [266, "t0", "(pointer gs-frame)"], - [268, "t0", "(pointer gs-reg64)"], - [270, "t0", "(pointer gs-zbuf)"], - [272, "t0", "(pointer gs-reg64)"], - [273, "t0", "(pointer uint64)"], - [275, "t0", "(pointer gs-reg64)"] - ], - "test-func": [[7, "f1", "float"]], - - "(method 14 drawable-tree-instance-shrub)": [ - [[12, 151], "gp", "prototype-bucket-shrub"], - [15, "a1", "drawable-group"], - [39, "v1", "drawable-group"], - [61, "s3", "shrubbery"], - [85, "v1", "drawable-group"], - [107, "s3", "shrubbery"], - [151, "gp", "(inline-array prototype-bucket-shrub)"] - ], - - "(method 10 drawable-tree-instance-shrub)": [[3, "a1", "terrain-context"]], - - "draw-prototype-inline-array-shrub": [ - [[13, 55], "v1", "prototype-bucket-shrub"], - [[15, 30], "a2", "vector4w"], - [[42, 51], "a2", "vector4w"], - [[87, 93], "a0", "dma-packet"], - [[96, 102], "a0", "gs-gif-tag"], - [107, "a1", "gs-test"], - [107, "a0", "(pointer gs-test)"], - [109, "a0", "(pointer gs-reg64)"], - [[117, 136], "v1", "matrix3"], - [[140, 145], "v1", "dma-packet"], - [[238, 247], "a0", "dma-packet"], - [[261, 266], "v1", "dma-packet"], - [[359, 368], "a0", "dma-packet"], - [[382, 387], "v1", "dma-packet"], - [[451, 457], "a1", "dma-packet"], - [[460, 466], "a1", "dma-packet"], - [[524, 530], "a0", "dma-packet"], - [55, "v1", "(inline-array prototype-bucket-shrub)"], - [156, "v1", "terrain-context"], - [212, "gp", "prototype-bucket-shrub"], - [333, "gp", "prototype-bucket-shrub"], - [[479, 518], "gp", "prototype-bucket-shrub"], - [518, "gp", "(inline-array prototype-bucket-shrub)"], - [223, "v1", "drawable-group"], - [277, "v1", "terrain-context"], - [344, "v1", "drawable-group"], - [398, "v1", "terrain-context"], - [[498, 507], "a1", "prototype-bucket-shrub"], - [540, "v1", "terrain-context"] - ], - - "(method 8 drawable-tree-instance-shrub)": [[54, "v1", "drawable-group"]], - - "draw-drawable-tree-instance-shrub": [[85, "a0", "drawable-group"]], - - "shrub-init-frame": [ - [[6, 12], "a0", "dma-packet"], - [[13, 21], "a0", "gs-gif-tag"], - [24, "v1", "(pointer gs-test)"], - [26, "v1", "(pointer gs-reg64)"] - ], - - "shrub-do-init-frame": [ - [[10, 21], "a0", "dma-packet"], - [[24, 29], "a0", "dma-packet"], - [33, "v1", "(pointer vif-tag)"], - [[35, 41], "v1", "(pointer uint32)"], - [42, "v1", "(pointer vif-tag)"], - [[43, 51], "v1", "(pointer uint32)"], - [52, "v1", "(pointer vif-tag)"], - [54, "v1", "(pointer uint32)"] - ], - - "shrub-upload-view-data": [[[3, 16], "a0", "dma-packet"]], - - "shrub-upload-model": [ - [[17, 26], "a3", "dma-packet"], - [[33, 41], "a0", "dma-packet"], - [[47, 55], "a0", "dma-packet"] - ], - - "(method 12 effect-control)": [["_stack_", 112, "res-tag"]], - - "generic-tie-execute": [ - [118, "v1", "terrain-context"], - [124, "v1", "terrain-context"] - ], - -// BEGIN - "(code target-title)": [ - // [[23, 26], "v1", "handle"], - [[61, 69], "v1", "handle"], - [[73, 81], "v1", "handle"], - [218, "s5", "handle"] - ], - - "(method 10 gui-query)": [], - - "(trans fisher-done)": [], - - "(code target-duck-high-jump)": [[77, "v0", "sound-rpc-set-param"]], - "(trans target-duck-high-jump-jump)": [[9, "v0", "sound-rpc-set-param"]], - - "(anon-function 11 target2)": [ - [[15, 135], "s4", "target"] // confusing -- the parent of a target is a target? - ], - - "(code target-death)": [ - [561, "v1", "art-joint-anim"], - [683, "v0", "int"], - [719, "v1", "process-drawable"], - [[985, 1063], "s5", "handle"] - ], - - "sound-set-fps": [[[3, 7], "v1", "sound-rpc-set-fps"]], - - "placeholder-do-not-add-below": [] -} diff --git a/decompiler/config/jak1_us2.jsonc b/decompiler/config/jak1_us2.jsonc deleted file mode 100644 index 7c4f80fccc..0000000000 --- a/decompiler/config/jak1_us2.jsonc +++ /dev/null @@ -1,122 +0,0 @@ -{ - "game_version": 1, - "text_version": 11, - "game_name": "jak1_us2", - "expected_elf_name": "SCUS_971.24", - - // if you want to filter to only some object names. - // it will make the decompiler much faster. - "allowed_objects": [], - "banned_objects": [], - - //////////////////////////// - // CODE ANALYSIS OPTIONS - //////////////////////////// - - // set to true to generate plain .asm files with MIPS disassembly, with no fancy decompilation. - // this is fast and should succeed 100% of the time. - "disassemble_code": false, - - // Run the decompiler - "decompile_code": false, - - // run the first pass of the decompiler - "find_functions": true, - - //////////////////////////// - // DATA ANALYSIS OPTIONS - //////////////////////////// - - // set to true to generate plain .asm files for data files. - // this will display most data as hex, but will add labels/references/type pointers/strings - // this generates a huge amount of output if you run it on the entire game. - "disassemble_data": false, - - // unpack textures to assets folder - "process_tpages": true, - // unpack game text to assets folder - "process_game_text": true, - // unpack game count to assets folder - "process_game_count": true, - // write goal imports for art groups - "process_art_groups": true, - // write out a json file containing the art info mapping, run this with all objects allowed - "dump_art_group_info": false, - - /////////////////////////// - // WEIRD OPTIONS - /////////////////////////// - - // these options are used rarely and should usually be left at false - - // generate the symbol_map.json file. - // this is a guess at where each symbol is first defined/used. - "generate_symbol_definition_map": false, - - // genreate the all-types file - "generate_all_types" : false, - - // debug option for instruction decoder - "write_hex_near_instructions": false, - - // experimental tool to extract linked lists used for region scripting in Jak 2 and Jak 3. - "write_scripts": false, - - // hex dump of code/data files. - "hexdump_code": false, - "hexdump_data": false, - // dump raw obj files - "dump_objs": true, - // print control flow graph - "print_cfgs": false, - - // set to true for PAL versions. this will forcefully skip files that have some data missing at the end. - "is_pal": false, - - //////////////////////////// - // CONFIG FILES - //////////////////////////// - - "type_casts_file": "decompiler/config/jak1_pal/type_casts.jsonc", - "anonymous_function_types_file": "decompiler/config/jak1_ntsc_black_label/anonymous_function_types.jsonc", - "var_names_file": "decompiler/config/jak1_ntsc_black_label/var_names.jsonc", - "label_types_file": "decompiler/config/jak1_jp/label_types.jsonc", - "stack_structures_file": "decompiler/config/jak1_ntsc_black_label/stack_structures.jsonc", - "hacks_file": "decompiler/config/jak1_pal/hacks.jsonc", - "inputs_file": "decompiler/config/jak1_ntsc_black_label/inputs.jsonc", - "art_info_file": "decompiler/config/jak1_ntsc_black_label/art_info.jsonc", - "import_deps_file": "decompiler/config/jak1_ntsc_black_label/import_deps.jsonc", - "all_types_file": "decompiler/config/all-types.gc", - "art_group_dump_file": "decompiler/config/jak1_ntsc_black_label/art-group-info.min.json", - - // optional: a predetermined object file name map from a file. - // this will make decompilation naming consistent even if you only run on some objects. - "obj_file_name_map_file": "goal_src/jak1/build/all_objs_jak1_jp.json", - - //////////////////////////// - // LEVEL EXTRACTION - //////////////////////////// - - // turn this on to extract level background graphics data - "levels_extract": true, - // turn this on if you want extracted levels to be saved out as .obj files - "rip_levels": false, - // should we extract collision meshes? - // these can be displayed in game, but makes the .fr3 files slightly larger - "extract_collision": true, - - //////////////////////////// - // PATCHING OPTIONS - //////////////////////////// - - // these are options related to xdelta3 patches on specific objects - // this allows us to get a more consistent input - - // set to true to write new patch files - "write_patches": false, - // set to true to apply patch files - "apply_patches": true, - // what to patch an object to and the patch file is - "object_patches": { - } -} diff --git a/decompiler/config/jak2_ntsc_v1.jsonc b/decompiler/config/jak2/jak2_config.jsonc similarity index 79% rename from decompiler/config/jak2_ntsc_v1.jsonc rename to decompiler/config/jak2/jak2_config.jsonc index 27f7d35a68..fce60192f1 100644 --- a/decompiler/config/jak2_ntsc_v1.jsonc +++ b/decompiler/config/jak2/jak2_config.jsonc @@ -54,7 +54,7 @@ "generate_symbol_definition_map": false, // genreate the all-types file - "generate_all_types" : false, + "generate_all_types": false, // debug option for instruction decoder "write_hex_near_instructions": false, @@ -74,24 +74,23 @@ "is_pal": false, // jak 1's all-types, used to generate "hints" - "old_all_types_file": "decompiler/config/all-types.gc", + "old_all_types_file": "decompiler/config/jak1/all-types.gc", //////////////////////////// // CONFIG FILES //////////////////////////// - "type_casts_file": "decompiler/config/jak2/type_casts.jsonc", - "anonymous_function_types_file": "decompiler/config/jak2/anonymous_function_types.jsonc", - "var_names_file": "decompiler/config/jak2/var_names.jsonc", - "label_types_file": "decompiler/config/jak2/label_types.jsonc", - "stack_structures_file": "decompiler/config/jak2/stack_structures.jsonc", - "hacks_file": "decompiler/config/jak2/hacks.jsonc", - "inputs_file": "decompiler/config/jak2/inputs.jsonc", - "art_info_file": "decompiler/config/jak2/art_info.jsonc", - "import_deps_file": "decompiler/config/jak2/import_deps.jsonc", + "type_casts_file": "decompiler/config/jak2/ntsc_v1/type_casts.jsonc", + "anonymous_function_types_file": "decompiler/config/jak2/ntsc_v1/anonymous_function_types.jsonc", + "var_names_file": "decompiler/config/jak2/ntsc_v1/var_names.jsonc", + "label_types_file": "decompiler/config/jak2/ntsc_v1/label_types.jsonc", + "stack_structures_file": "decompiler/config/jak2/ntsc_v1/stack_structures.jsonc", + "hacks_file": "decompiler/config/jak2/ntsc_v1/hacks.jsonc", + "inputs_file": "decompiler/config/jak2/ntsc_v1/inputs.jsonc", + "art_info_file": "decompiler/config/jak2/ntsc_v1/art_info.jsonc", + "import_deps_file": "decompiler/config/jak2/ntsc_v1/import_deps.jsonc", "all_types_file": "decompiler/config/jak2/all-types.gc", - "art_group_dump_file": "decompiler/config/jak2/art-group-info.min.json", - + "art_group_dump_file": "decompiler/config/jak2/ntsc_v1/art-group-info.min.json", // optional: a predetermined object file name map from a file. // this will make decompilation naming consistent even if you only run on some objects. @@ -121,6 +120,5 @@ // set to true to apply patch files "apply_patches": true, // what to patch an object to and what the patch file is - "object_patches": { - } + "object_patches": {} } diff --git a/decompiler/config/jak2/anonymous_function_types.jsonc b/decompiler/config/jak2/ntsc_v1/anonymous_function_types.jsonc similarity index 100% rename from decompiler/config/jak2/anonymous_function_types.jsonc rename to decompiler/config/jak2/ntsc_v1/anonymous_function_types.jsonc diff --git a/decompiler/config/jak2/art-group-info.min.json b/decompiler/config/jak2/ntsc_v1/art-group-info.min.json similarity index 100% rename from decompiler/config/jak2/art-group-info.min.json rename to decompiler/config/jak2/ntsc_v1/art-group-info.min.json diff --git a/decompiler/config/jak2/art_info.jsonc b/decompiler/config/jak2/ntsc_v1/art_info.jsonc similarity index 100% rename from decompiler/config/jak2/art_info.jsonc rename to decompiler/config/jak2/ntsc_v1/art_info.jsonc diff --git a/decompiler/config/jak2/hacks.jsonc b/decompiler/config/jak2/ntsc_v1/hacks.jsonc similarity index 100% rename from decompiler/config/jak2/hacks.jsonc rename to decompiler/config/jak2/ntsc_v1/hacks.jsonc diff --git a/decompiler/config/jak2/import_deps.jsonc b/decompiler/config/jak2/ntsc_v1/import_deps.jsonc similarity index 100% rename from decompiler/config/jak2/import_deps.jsonc rename to decompiler/config/jak2/ntsc_v1/import_deps.jsonc diff --git a/decompiler/config/jak2/inputs.jsonc b/decompiler/config/jak2/ntsc_v1/inputs.jsonc similarity index 100% rename from decompiler/config/jak2/inputs.jsonc rename to decompiler/config/jak2/ntsc_v1/inputs.jsonc diff --git a/decompiler/config/jak2/label_types.jsonc b/decompiler/config/jak2/ntsc_v1/label_types.jsonc similarity index 100% rename from decompiler/config/jak2/label_types.jsonc rename to decompiler/config/jak2/ntsc_v1/label_types.jsonc diff --git a/decompiler/config/jak2/stack_structures.jsonc b/decompiler/config/jak2/ntsc_v1/stack_structures.jsonc similarity index 100% rename from decompiler/config/jak2/stack_structures.jsonc rename to decompiler/config/jak2/ntsc_v1/stack_structures.jsonc diff --git a/decompiler/config/jak2/type_casts.jsonc b/decompiler/config/jak2/ntsc_v1/type_casts.jsonc similarity index 100% rename from decompiler/config/jak2/type_casts.jsonc rename to decompiler/config/jak2/ntsc_v1/type_casts.jsonc diff --git a/decompiler/config/jak2/var_names.jsonc b/decompiler/config/jak2/ntsc_v1/var_names.jsonc similarity index 100% rename from decompiler/config/jak2/var_names.jsonc rename to decompiler/config/jak2/ntsc_v1/var_names.jsonc diff --git a/decompiler/config/jak3_ntsc.jsonc b/decompiler/config/jak3/jak3_config.jsonc similarity index 100% rename from decompiler/config/jak3_ntsc.jsonc rename to decompiler/config/jak3/jak3_config.jsonc diff --git a/decompiler/config/jak3/anonymous_function_types.jsonc b/decompiler/config/jak3/ntsc_v1/anonymous_function_types.jsonc similarity index 100% rename from decompiler/config/jak3/anonymous_function_types.jsonc rename to decompiler/config/jak3/ntsc_v1/anonymous_function_types.jsonc diff --git a/decompiler/config/jak3/art_info.jsonc b/decompiler/config/jak3/ntsc_v1/art_info.jsonc similarity index 100% rename from decompiler/config/jak3/art_info.jsonc rename to decompiler/config/jak3/ntsc_v1/art_info.jsonc diff --git a/decompiler/config/jak3/hacks.jsonc b/decompiler/config/jak3/ntsc_v1/hacks.jsonc similarity index 100% rename from decompiler/config/jak3/hacks.jsonc rename to decompiler/config/jak3/ntsc_v1/hacks.jsonc diff --git a/decompiler/config/jak3/import_deps.jsonc b/decompiler/config/jak3/ntsc_v1/import_deps.jsonc similarity index 100% rename from decompiler/config/jak3/import_deps.jsonc rename to decompiler/config/jak3/ntsc_v1/import_deps.jsonc diff --git a/decompiler/config/jak3/inputs.jsonc b/decompiler/config/jak3/ntsc_v1/inputs.jsonc similarity index 100% rename from decompiler/config/jak3/inputs.jsonc rename to decompiler/config/jak3/ntsc_v1/inputs.jsonc diff --git a/decompiler/config/jak3/label_types.jsonc b/decompiler/config/jak3/ntsc_v1/label_types.jsonc similarity index 100% rename from decompiler/config/jak3/label_types.jsonc rename to decompiler/config/jak3/ntsc_v1/label_types.jsonc diff --git a/decompiler/config/jak3/stack_structures.jsonc b/decompiler/config/jak3/ntsc_v1/stack_structures.jsonc similarity index 100% rename from decompiler/config/jak3/stack_structures.jsonc rename to decompiler/config/jak3/ntsc_v1/stack_structures.jsonc diff --git a/decompiler/config/jak3/type_casts.jsonc b/decompiler/config/jak3/ntsc_v1/type_casts.jsonc similarity index 100% rename from decompiler/config/jak3/type_casts.jsonc rename to decompiler/config/jak3/ntsc_v1/type_casts.jsonc diff --git a/decompiler/config/jak3/var_names.jsonc b/decompiler/config/jak3/ntsc_v1/var_names.jsonc similarity index 100% rename from decompiler/config/jak3/var_names.jsonc rename to decompiler/config/jak3/ntsc_v1/var_names.jsonc diff --git a/decompiler/extractor/extractor_util.hpp b/decompiler/extractor/extractor_util.hpp index bebf60f5b6..7f15d0430d 100644 --- a/decompiler/extractor/extractor_util.hpp +++ b/decompiler/extractor/extractor_util.hpp @@ -55,7 +55,7 @@ struct ISOMetadata { int region; // territory code int num_files; uint64_t contents_hash; - std::string decomp_config; + std::string decomp_config_version; std::string game_name; std::vector flags; }; @@ -96,10 +96,12 @@ static const ISOMetadata jak1_ntsc_black_label_info = { GAME_TERRITORY_SCEA, 337, 11363853835861842434U, - "jak1_ntsc_black_label", + "ntsc_v1", "jak1", {"jak1-black-label"}}; +// TODO - we don't detect or handle ntsc_v2? + // { SERIAL : { ELF_HASH : ISOMetadataDatabase } } static const std::unordered_map> isoDatabase{ {"SCUS-97124", @@ -109,7 +111,7 @@ static const std::unordered_map, ExtractorErrorCode> validate( lg::info("\tDetected - {}", version_info.canonical_name); lg::info("\tRegion - {}", get_territory_name(version_info.region)); lg::info("\tSerial - {}", dbEntry->first); - lg::info("\tUses Decompiler Config - {}", version_info.decomp_config); + lg::info("\tUses Decompiler Config Version - {}", version_info.decomp_config_version); // - Number of Files if (version_info.num_files != expected_num_files) { @@ -104,9 +104,10 @@ void decompile(const fs::path& iso_data_path, const std::string& data_subfolder) // Determine which config to use from the database const auto version_info = get_version_info_or_default(iso_data_path); - Config config = read_config_file((file_util::get_jak_project_dir() / "decompiler" / "config" / - fmt::format("{}.jsonc", version_info.decomp_config)) - .string()); + Config config = read_config_file(file_util::get_jak_project_dir() / "decompiler" / "config" / + version_info.game_name / + fmt::format("{}_config.jsonc", version_info.game_name), + version_info.decomp_config_version); std::vector dgos, objs; diff --git a/decompiler/main.cpp b/decompiler/main.cpp index f44768f614..b5e76fdb95 100644 --- a/decompiler/main.cpp +++ b/decompiler/main.cpp @@ -44,12 +44,13 @@ int main(int argc, char** argv) { fs::path in_folder; fs::path out_folder; + std::string config_game_version = ""; std::string config_override = "{}"; CLI::App app{"OpenGOAL Decompiler"}; app.add_option("config-path", config_path, "Path to the decompiler config .jsonc file. ie. " - "./decompiler/config/jak1_ntsc_black_label.jsonc") + "./decompiler/config/jak1/jak1_config.jsonc") ->required(); app.add_option("in-folder", in_folder, "The path containing the iso_data folders. ie. ./iso_data/. Assumes the " @@ -59,6 +60,10 @@ int main(int argc, char** argv) { "The path for where the decompiler should place it's outputs. Assumes the " "'gameName' from the config as a sub-directory") ->required(); + + app.add_option("--version", config_game_version, + "The name of the game version to update the config with, ie. ntsc_v2") + ->required(); app.add_option("--config-override", config_override, "JSON provided will be merged with the specified config, use to override options"); app.validate_positionals(); @@ -69,7 +74,7 @@ int main(int argc, char** argv) { Config config; try { - config = read_config_file(config_path, config_override); + config = read_config_file(config_path, config_game_version, config_override); } catch (const std::exception& e) { lg::error("Failed to parse config: {}", e.what()); return 1; diff --git a/goal_src/goal-lib.gc b/goal_src/goal-lib.gc index 0bfa910635..9eea0d404c 100644 --- a/goal_src/goal-lib.gc +++ b/goal_src/goal-lib.gc @@ -63,7 +63,7 @@ (defmacro tc () "Typecheck against the all-types file" - `(m "decompiler/config/all-types.gc") + `(m "decompiler/config/jak1/all-types.gc") ) (defmacro e () diff --git a/scripts/batch/decomp-jak1.bat b/scripts/batch/decomp-jak1.bat index 9a4828663b..d3435af3a1 100644 --- a/scripts/batch/decomp-jak1.bat +++ b/scripts/batch/decomp-jak1.bat @@ -1,4 +1,4 @@ @echo off cd ..\.. -out\build\Release\bin\decompiler decompiler\config\jak1_ntsc_black_label.jsonc iso_data decompiler_out\ +out\build\Release\bin\decompiler decompiler\config\jak1\jak1_config.jsonc iso_data decompiler_out\ --version ntsc_v1 pause diff --git a/scripts/batch/decomp-jak1_jp.bat b/scripts/batch/decomp-jak1_jp.bat index c817d73ace..f0d33ef0a8 100644 --- a/scripts/batch/decomp-jak1_jp.bat +++ b/scripts/batch/decomp-jak1_jp.bat @@ -1,4 +1,4 @@ @echo off cd ..\.. -out\build\Release\bin\decompiler decompiler\config\jak1_jp.jsonc iso_data decompiler_out\ +out\build\Release\bin\decompiler decompiler\config\jak1\jak1_config.jsonc iso_data decompiler_out\ --version jp pause diff --git a/scripts/batch/decomp-jak1_pal.bat b/scripts/batch/decomp-jak1_pal.bat index d8584f8305..ac4f2692a9 100644 --- a/scripts/batch/decomp-jak1_pal.bat +++ b/scripts/batch/decomp-jak1_pal.bat @@ -1,4 +1,4 @@ @echo off cd ..\.. -out\build\Release\bin\decompiler decompiler\config\jak1_pal.jsonc iso_data decompiler_out\ +out\build\Release\bin\decompiler decompiler\config\jak1\jak1_config.jsonc iso_data decompiler_out\ --version pal pause diff --git a/scripts/batch/decomp-jak1_us2.bat b/scripts/batch/decomp-jak1_us2.bat index a2a0e3163c..8789ba4eb5 100644 --- a/scripts/batch/decomp-jak1_us2.bat +++ b/scripts/batch/decomp-jak1_us2.bat @@ -1,4 +1,4 @@ @echo off cd ..\.. -out\build\Release\bin\decompiler decompiler\config\jak1_us2.jsonc iso_data decompiler_out\ +out\build\Release\bin\decompiler decompiler\config\jak1\jak1_config.jsonc iso_data decompiler_out\ --version ntsc_v2 pause diff --git a/scripts/batch/decomp-jak2.bat b/scripts/batch/decomp-jak2.bat index 2958d5e07b..d5ba0e539c 100644 --- a/scripts/batch/decomp-jak2.bat +++ b/scripts/batch/decomp-jak2.bat @@ -1,4 +1,4 @@ @echo off cd ..\.. -out\build\Release\bin\decompiler decompiler\config\jak2_ntsc_v1.jsonc iso_data\ decompiler_out\ +out\build\Release\bin\decompiler decompiler\config\jak2\jak2_config.jsonc iso_data\ decompiler_out\ --version ntsc_v1 pause diff --git a/scripts/batch/repo-settings-mark.bat b/scripts/batch/repo-settings-mark.bat index 2fb91f95b6..0c0783e6fc 100644 --- a/scripts/batch/repo-settings-mark.bat +++ b/scripts/batch/repo-settings-mark.bat @@ -1,2 +1,2 @@ cd ..\.. -git update-index --assume-unchanged decompiler\config\jak1_ntsc_black_label.jsonc decompiler\config\jak2_ntsc_v1.jsonc +git update-index --assume-unchanged decompiler\config\jak1\jak1_config.jsonc decompiler\config\jak2\jak2_config.jsonc diff --git a/scripts/batch/repo-settings-unmark.bat b/scripts/batch/repo-settings-unmark.bat index 80100575ee..0c546efd50 100644 --- a/scripts/batch/repo-settings-unmark.bat +++ b/scripts/batch/repo-settings-unmark.bat @@ -1,2 +1,2 @@ cd ..\.. -git update-index --no-assume-unchanged decompiler\config\jak1_ntsc_black_label.jsonc decompiler\config\jak2_ntsc_v1.jsonc +git update-index --no-assume-unchanged decompiler\config\jak1\jak1_config.jsonc decompiler\config\jak2\jak2_config.jsonc diff --git a/scripts/batch/update-gsrc-via-refs-jak2.bat b/scripts/batch/update-gsrc-via-refs-jak2.bat index c44cc3fc1a..942179ecb9 100644 --- a/scripts/batch/update-gsrc-via-refs-jak2.bat +++ b/scripts/batch/update-gsrc-via-refs-jak2.bat @@ -1,4 +1,4 @@ @echo off cd ..\.. -python3 scripts\gsrc\update-gsrc-via-refs.py --game jak2 --decompiler out\build\Release\bin\decompiler.exe --decompiler_config .\decompiler\config\jak2_ntsc_v1.jsonc -pause \ No newline at end of file +python3 scripts\gsrc\update-gsrc-via-refs.py --game jak2 --decompiler out\build\Release\bin\decompiler.exe --decompiler_config .\decompiler\config\jak2\jak2_config.jsonc --version ntsc_v1 +pause diff --git a/scripts/gsrc/update-gsrc-via-refs.py b/scripts/gsrc/update-gsrc-via-refs.py index 88f10c8ade..dbd4bc7721 100644 --- a/scripts/gsrc/update-gsrc-via-refs.py +++ b/scripts/gsrc/update-gsrc-via-refs.py @@ -13,6 +13,7 @@ parser = argparse.ArgumentParser("update-gsrc-via-refs") parser.add_argument("--game", help="The name of the game", type=str) parser.add_argument("--decompiler", help="The path to the decompiler", type=str) parser.add_argument("--decompiler_config", help="The decomp config", type=str) +parser.add_argument("--version", help="The decomp config version", type=str) parser.add_argument("--file_pattern", help="Provide a glob pattern to find files, instead of using git status. Relative to the reference test folder", type=str) args = parser.parse_args() @@ -51,6 +52,8 @@ for file_name in file_names: "./decompiler/config/{}".format(args.decompiler_config), "./iso_data", "./decompiler_out", + "--version", + args.version, "--config-override", '{{"allowed_objects": ["{}"]}}'.format(file_name), ] diff --git a/scripts/gsrc/utils.py b/scripts/gsrc/utils.py index b7f6c58644..c14b95e373 100644 --- a/scripts/gsrc/utils.py +++ b/scripts/gsrc/utils.py @@ -31,10 +31,7 @@ def get_gsrc_path_from_filename(game_name, file_name): return path def get_alltypes_path_from_game(game_name): - if game_name == "jak1": - return "./decompiler/config/all-types.gc" - else: - return "./decompiler/config/jak2/all-types.gc" + return "./decompiler/config/{}/all-types.gc".format(game_name) def get_ref_path_from_filename(game_name, file_name, ref_folder): file_list = get_file_list(game_name) diff --git a/scripts/shell/decomp.sh b/scripts/shell/decomp.sh index 70456cbf09..10917385c1 100755 --- a/scripts/shell/decomp.sh +++ b/scripts/shell/decomp.sh @@ -3,4 +3,4 @@ # Directory of this script DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" - "${DIR}"/../../build/decompiler/decompiler "${DIR}"/../../decompiler/config/jak1_ntsc_black_label.jsonc "${DIR}"/../../iso_data "${DIR}"/../../decompiler_out + "${DIR}"/../../build/decompiler/decompiler "${DIR}"/../../decompiler/config/jak1/jak1_config.jsonc "${DIR}"/../../iso_data "${DIR}"/../../decompiler_out --version ntsc_v1 diff --git a/scripts/shell/decomp2.sh b/scripts/shell/decomp2.sh index 4761152dd3..debe3bbb82 100755 --- a/scripts/shell/decomp2.sh +++ b/scripts/shell/decomp2.sh @@ -3,4 +3,4 @@ # Directory of this script DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" -"${DIR}"/../../build/decompiler/decompiler "${DIR}"/../../decompiler/config/jak2_ntsc_v1.jsonc "${DIR}"/../../iso_data/ "${DIR}"/../../decompiler_out +"${DIR}"/../../build/decompiler/decompiler "${DIR}"/../../decompiler/config/jak2/jak2_config.jsonc "${DIR}"/../../iso_data/ "${DIR}"/../../decompiler_out --version ntsc_v1 diff --git a/scripts/tasks/.env.default b/scripts/tasks/.env.default index f2865201d2..0cd0388abd 100644 --- a/scripts/tasks/.env.default +++ b/scripts/tasks/.env.default @@ -1,2 +1,3 @@ GAME=jak1 -DECOMP_CONFIG=jak1_ntsc_black_label.jsonc +DECOMP_CONFIG=jak1/jak1_config.jsonc +DECOMP_CONFIG_VERSION=ntsc_v1 diff --git a/scripts/tasks/Taskfile_darwin.yml b/scripts/tasks/Taskfile_darwin.yml index 41e66c06e7..def3dba28e 100644 --- a/scripts/tasks/Taskfile_darwin.yml +++ b/scripts/tasks/Taskfile_darwin.yml @@ -1,4 +1,4 @@ -version: "3.13" +version: 3 vars: GOALC_BIN_RELEASE_DIR: './build/goalc' diff --git a/scripts/tasks/Taskfile_linux.yml b/scripts/tasks/Taskfile_linux.yml index 41e66c06e7..def3dba28e 100644 --- a/scripts/tasks/Taskfile_linux.yml +++ b/scripts/tasks/Taskfile_linux.yml @@ -1,4 +1,4 @@ -version: "3.13" +version: 3 vars: GOALC_BIN_RELEASE_DIR: './build/goalc' diff --git a/scripts/tasks/Taskfile_windows.yml b/scripts/tasks/Taskfile_windows.yml index a0a989f651..597e5f175c 100644 --- a/scripts/tasks/Taskfile_windows.yml +++ b/scripts/tasks/Taskfile_windows.yml @@ -1,4 +1,4 @@ -version: "3.13" +version: 3 vars: GOALC_BIN_RELEASE_DIR: './out/build/Release/bin' diff --git a/scripts/tasks/update-env.py b/scripts/tasks/update-env.py index dff3a1e539..071d927ec9 100644 --- a/scripts/tasks/update-env.py +++ b/scripts/tasks/update-env.py @@ -12,7 +12,8 @@ args = parser.parse_args() # TODO - read from defaults file = { "GAME": "jak1", - "DECOMP_CONFIG": "jak1_ntsc_black_label.jsonc" + "DECOMP_CONFIG": "jak1/jak1_config.jsonc", + "DECOMP_CONFIG_VERSION": "ntsc_v1" } env_path = os.path.join(os.path.dirname(os.path.realpath(__file__)), ".env") @@ -36,20 +37,25 @@ if args.info: valid_games = ["jak1", "jak2"] decomp_config_map = { + "jak1": "jak1/jak1_config.jsonc", + "jak2": "jak2/jak2_config.jsonc", +} + +decomp_config_version_map = { "jak1": { - "ntscv1": "jak1_ntsc_black_label.jsonc", - "ntscv2": "jak1_us2.jsonc", - "pal": "jak1_pal.jsonc", - "ntscjp": "jak1_jp.jsonc" + "ntscv1": "ntsc_v1", + "ntscv2": "ntsc_v2", + "pal": "pal", + "ntscjp": "jp" }, "jak2": { - "ntscv1": "jak2_ntsc_v1.jsonc" + "ntscv1": "ntsc_v1" } } -default_config_map = { - "jak1": "jak1_ntsc_black_label.jsonc", - "jak2": "jak2_ntsc_v1.jsonc" +default_config_version_map = { + "jak1": "ntsc_v1", + "jak2": "ntsc_v1" } if args.game: @@ -58,13 +64,15 @@ if args.game: sys.exit(1) curr = file["GAME"] file["GAME"] = args.game - if (curr != file["GAME"]) or file["DECOMP_CONFIG"] not in decomp_config_map[file["GAME"]]: - file["DECOMP_CONFIG"] = default_config_map[file["GAME"]] + if (curr != file["GAME"]) or file["DECOMP_CONFIG_VERSION"] not in decomp_config_version_map[file["GAME"]]: + file["DECOMP_CONFIG"] = decomp_config_map[file["GAME"]] + file["DECOMP_CONFIG_VERSION"] = default_config_version_map[file["GAME"]] if args.decomp_config: - if args.decomp_config not in decomp_config_map[file["GAME"]]: + if args.decomp_config not in decomp_config_version_map[file["GAME"]]: print("Unsupported decomp config '{}' for game '{}'".format(args.decomp_config, file["GAME"])) sys.exit(1) - file["DECOMP_CONFIG"] = decomp_config_map[file["GAME"]][args.decomp_config] + file["DECOMP_CONFIG"] = decomp_config_map[file["GAME"]] + file["DECOMP_CONFIG_VERSION"] = decomp_config_version_map[file["GAME"]][args.decomp_config] with open(env_path, 'w') as env_file: for item in file.items(): diff --git a/test/decompiler/FormRegressionTest.cpp b/test/decompiler/FormRegressionTest.cpp index 447154adfd..a77781da00 100644 --- a/test/decompiler/FormRegressionTest.cpp +++ b/test/decompiler/FormRegressionTest.cpp @@ -22,7 +22,7 @@ using namespace decompiler; void FormRegressionTestJak1::SetUpTestCase() { parser = std::make_unique(); dts = std::make_unique(GameVersion::Jak1); - dts->parse_type_defs({"decompiler", "config", "all-types.gc"}); + dts->parse_type_defs({"decompiler", "config", "jak1", "all-types.gc"}); } void FormRegressionTestJak2::SetUpTestCase() { diff --git a/test/decompiler/test_DataParser.cpp b/test/decompiler/test_DataParser.cpp index ca41304ba9..44834bb077 100644 --- a/test/decompiler/test_DataParser.cpp +++ b/test/decompiler/test_DataParser.cpp @@ -17,7 +17,7 @@ class DataDecompTest : public ::testing::Test { static void SetUpTestCase() { dts = std::make_unique(GameVersion::Jak1); - dts->parse_type_defs({"decompiler", "config", "all-types.gc"}); + dts->parse_type_defs({"decompiler", "config", "jak1", "all-types.gc"}); } static void TearDownTestCase() { dts.reset(); } diff --git a/test/goalc/test_type_consistency.cpp b/test/goalc/test_type_consistency.cpp index 3d4a17ff31..2d468d649d 100644 --- a/test/goalc/test_type_consistency.cpp +++ b/test/goalc/test_type_consistency.cpp @@ -20,7 +20,7 @@ TEST(Jak1TypeConsistency, MANUAL_TEST_TypeConsistencyWithBuildFirst) { add_common_expected_type_mismatches(compiler); add_jak1_expected_type_mismatches(compiler); compiler.run_test_no_load("test/goalc/source_templates/with_game/test-build-all-code.gc"); - compiler.run_test_no_load("decompiler/config/all-types.gc"); + compiler.run_test_no_load("decompiler/config/jak1/all-types.gc"); } // TODO - debatably delete these now that jak 1 is complete @@ -29,7 +29,7 @@ TEST(Jak1TypeConsistency, TypeConsistency) { compiler.enable_throw_on_redefines(); add_common_expected_type_mismatches(compiler); add_jak1_expected_type_mismatches(compiler); - compiler.run_test_no_load("decompiler/config/all-types.gc"); + compiler.run_test_no_load("decompiler/config/jak1/all-types.gc"); compiler.run_test_no_load("test/goalc/source_templates/with_game/test-build-all-code.gc"); } diff --git a/test/offline/framework/execution.cpp b/test/offline/framework/execution.cpp index 65cfda2aba..48ac323bc8 100644 --- a/test/offline/framework/execution.cpp +++ b/test/offline/framework/execution.cpp @@ -10,7 +10,7 @@ // TODO - i think these should be partitioned by game name instead of it being in the filename // (and the names not being consistent) std::unordered_map game_name_to_all_types1 = { - {"jak1", "all-types.gc"}, + {"jak1", "jak1/all-types.gc"}, {"jak2", "jak2/all-types.gc"}}; void disassemble(OfflineTestDecompiler& dc) { diff --git a/test/offline/framework/orchestration.cpp b/test/offline/framework/orchestration.cpp index bb506240da..e615269a6e 100644 --- a/test/offline/framework/orchestration.cpp +++ b/test/offline/framework/orchestration.cpp @@ -16,11 +16,6 @@ #include "third-party/fmt/core.h" #include "third-party/fmt/ranges.h" -// TODO - this should probably go somewhere common when it's needed eventually -std::unordered_map game_name_to_config = { - {"jak1", "jak1_ntsc_black_label.jsonc"}, - {"jak2", "jak2_ntsc_v1.jsonc"}}; - OfflineTestThreadManager g_offline_test_thread_manager; OfflineTestDecompiler setup_decompiler(const OfflineTestWorkGroup& work, @@ -28,10 +23,11 @@ OfflineTestDecompiler setup_decompiler(const OfflineTestWorkGroup& work, const OfflineTestConfig& offline_config) { // TODO - pull out extractor logic to determine release into common and use here OfflineTestDecompiler dc; - dc.config = std::make_unique( - decompiler::read_config_file((file_util::get_jak_project_dir() / "decompiler" / "config" / - game_name_to_config[offline_config.game_name]) - .string())); + // TODO - this should probably go somewhere common when it's needed eventually + dc.config = std::make_unique(decompiler::read_config_file( + file_util::get_jak_project_dir() / "decompiler" / "config" / offline_config.game_name / + fmt::format("{}_config.jsonc", offline_config.game_name), + "ntsc_v1")); // TODO - do I need to limit the `inputs.jsonc` as well, or is the decompiler smart enough // to lazily load the DGOs as needed based on the allowed objects?