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?