jak-project/decompiler/config/jak1_ntsc_black_label.jsonc
Tyler Wilding dd0a8a17b2
docs - first chunk of work documenting the files I glossed over (#2130)
- started documenting the files I glossed over, some are totally done,
others are just partially done
- I changed the decompiler to automatically initialize the
art-group-info from the json file. This makes updating gsrc, even a
single file at a time, have consistent naming
- Though I disabled this functionality for jak 1, as I have no idea if
using the ntsc art groups will cause a regression for different versions
- fix indentation for docstrings -- it still doesn't look great, but
this is now a formatting concern, rather than the docstring having a
bunch of happen-stance leading whitespace.
2023-01-15 11:33:39 -05:00

159 lines
5.3 KiB
Plaintext

{
"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"
}
}
}