{ "game_version": 1, "text_version": 11, // patched to 11 "game_name": "jak1", "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_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", // 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.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 what the patch file is "object_patches": { "0COMMON": { "crc32": "DD2CD7E2", "in": "decompiler_out/jak1_pal/raw_obj/0COMMON.go", "out": "game/assets/jak1/patches/0common.xd3" }, "1COMMON": { "crc32": "2B9C79F9", "in": "decompiler_out/jak1_pal/raw_obj/1COMMON.go", "out": "game/assets/jak1/patches/1common.xd3" }, "2COMMON": { "crc32": "DA35C5F3", "in": "decompiler_out/jak1_pal/raw_obj/2COMMON.go", "out": "game/assets/jak1/patches/2common.xd3" }, "3COMMON": { "crc32": "50C4A6A0", "in": "decompiler_out/jak1_pal/raw_obj/3COMMON.go", "out": "game/assets/jak1/patches/3common.xd3" }, "4COMMON": { "crc32": "C475F525", "in": "decompiler_out/jak1_pal/raw_obj/4COMMON.go", "out": "game/assets/jak1/patches/4common.xd3" }, "5COMMON": { "crc32": "92D44110", "in": "decompiler_out/jak1_pal/raw_obj/5COMMON.go", "out": "game/assets/jak1/patches/5common.xd3" }, "6COMMON": { "crc32": "85B23FEE", "in": "decompiler_out/jak1_pal/raw_obj/6COMMON.go", "out": "game/assets/jak1/patches/6common.xd3" } } }