{ "game_version": 2, "text_version": 20, "game_name": "jak2", "expected_elf_name": "SCUS_972.65", // if you want to filter to only some object names. // it will make the decompiler much faster. "allowed_objects": [], "banned_objects": ["effect-control", "time-of-day"], //////////////////////////// // 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": true, "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": false, // unpack game text to assets folder "process_game_text": false, // unpack game count to assets folder "process_game_count": true, // write goal imports for art groups "process_art_groups": 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, // jak 1's all-types, used to generate "hints" "old_all_types_file": "decompiler/config/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", "all_types_file": "decompiler/config/jak2/all-types.gc", // 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/jak2/build/all_objs.json", //////////////////////////// // LEVEL EXTRACTION //////////////////////////// // turn this on to extract level background graphics data "levels_extract": false, // 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": { } }