jak-project/decompiler/config/jak3/jak3_config.jsonc
Hat Kid 93afb02cf4
decomp3: spawn target, add merc and particle buckets and some temporary hacks (#3445)
This includes all the collision stuff needed to spawn `target`,
decompiles the sparticle code and adds some of the PC hacks needed for
merc to run (it doesn't work quite right and looks bad, likely due to a
combination of code copied from Jak 2 and the time of day hacks).

There are a bunch of temporary hacks (see commits) in place to prevent
the game from crashing quite as much, but it is still extremely prone to
doing so due to lots of missing functions/potentially bad decomp.

---------

Co-authored-by: water <awaterford111445@gmail.com>
2024-04-05 00:07:39 -04:00

154 lines
5.5 KiB
Plaintext

{
"game_version": 3,
"text_version": 30,
"game_name": "jak3",
"expected_elf_name": "SCUS_973.30",
// 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": 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": true,
// write goal imports for tpages and textures
"write_tpage_imports": false,
// unpack game text to assets folder
"process_game_text": true,
// unpack game count to assets folder
"process_game_count": false,
// write goal imports for art groups
"process_art_groups": false,
// write out a json file containing the art info mapping, run this with all objects allowed
"dump_art_group_info": false,
// write out a json file containing the joint node mapping, run this with all objects allowed
"dump_joint_geo_info": false,
// write out a json file containing tpage and texture mappings, run with all objects allowed
"dump_tex_info": false,
// set to false to skip adding .STR files to the decompiler database
"read_spools": true,
// write out spool subtitle text, implies read_spools
"process_subtitle_text": false,
// write out spool subtitle images, implies read_spools
"process_subtitle_images": 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,
// generate the all-types file
"generate_all_types": false,
// debug option for instruction decoder
"write_hex_near_instructions": false,
// to write out "scripts", which are currently just all the linked lists found. mostly a jak 2/3 thing
"write_scripts": true,
// 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,
"old_all_types_file": "decompiler/config/jak2/all-types.gc",
////////////////////////////
// CONFIG FILES
////////////////////////////
"type_casts_file": "decompiler/config/jak3/ntsc_v1/type_casts.jsonc",
"anonymous_function_types_file": "decompiler/config/jak3/ntsc_v1/anonymous_function_types.jsonc",
"var_names_file": "decompiler/config/jak3/ntsc_v1/var_names.jsonc",
"label_types_file": "decompiler/config/jak3/ntsc_v1/label_types.jsonc",
"stack_structures_file": "decompiler/config/jak3/ntsc_v1/stack_structures.jsonc",
"hacks_file": "decompiler/config/jak3/ntsc_v1/hacks.jsonc",
"inputs_file": "decompiler/config/jak3/ntsc_v1/inputs.jsonc",
"art_info_file": "decompiler/config/jak3/ntsc_v1/art_info.jsonc",
"import_deps_file": "decompiler/config/jak3/ntsc_v1/import_deps.jsonc",
"all_types_file": "decompiler/config/jak3/all-types.gc",
"art_group_dump_file": "decompiler/config/jak3/ntsc_v1/art-group-info.min.json",
"joint_node_dump_file": "decompiler/config/jak3/ntsc_v1/joint-node-info.min.json",
"tex_dump_file": "decompiler/config/jak3/ntsc_v1/tex-info.min.json",
"process_stack_size_file": "decompiler/config/jak3/ntsc_v1/process_stack_size_overrides.jsonc",
// 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/jak3/build/all_objs.json",
////////////////////////////
// LEVEL EXTRACTION
////////////////////////////
// turn this on to extract level background graphics data as .fr3 files in out/<game>/fr3
"levels_extract": false,
// turn this on if you want extracted levels to be saved out as .glb files in glb_out/<game>
"rip_levels": false,
// should we also extract collision meshes to the .fr3 files?
// these can be displayed in-game with the OpenGOAL collision renderer
"extract_collision": false,
// turn this on if you want extracted level collision to be saved as .obj files in debug_out/<game>
"rip_collision": false,
// save game textures as .png files to decompiler_out/<game>/textures
"save_texture_pngs": false,
////////////////////////////
// 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": {
},
"version_overrides": {
"ntsc_v1": {},
"pal": {
"game_name": "jak3_pal",
"expected_elf_name": "SCES_524.60",
"is_pal": true,
"object_patches": {}
}
}
}