jak-project/decompiler/config/jak1_demo/jak1_demo_config.jsonc
Tyler Wilding 6d99f1bfc1
d/config: re-organize decompiler/config and eliminate most of the duplication (#2185)
Reasons for doing so include:
1. This should stop the confusion around editing the wrong config file's
flags -- when for example, extracting a level. Common settings can be in
one central place, with bespoke overrides being provided for each
version
2. Less verbose way of supporting multiple game versions. You don't have
to duplicate the entire `type_casts` file for example, just add or
override the json objects required.
3. Makes the folder structure consistent, Jak 1's `all-types` is now in
a `jak1` folder, etc.
2023-03-08 20:07:26 -05:00

86 lines
3 KiB
Plaintext

// TODO - this config file seems broken and doesn't match the others (missing many fields)
{
"game_version": 1,
// 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,
////////////////////////////
// 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": false,
// 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
// output a file type_defs.gc which is used for the types part of all-types.gc
"regenerate_all_types": false,
// generate the symbol_map.json file.
// this is a guess at where each symbol is first defined/used.
"generate_symbol_definition_map": 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": false,
// 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_sced/type_casts.jsonc",
"anonymous_function_types_file": "decompiler/config/jak1_sced/anonymous_function_types.jsonc",
"var_names_file": "decompiler/config/jak1_sced/var_names.jsonc",
"label_types_file": "decompiler/config/jak1_sced/label_types.jsonc",
"stack_structures_file": "decompiler/config/jak1_sced/stack_structures.jsonc",
"hacks_file": "decompiler/config/jak1_sced/hacks.jsonc",
"inputs_file": "decompiler/config/jak1_sced/inputs.jsonc",
"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": "decompiler/config/jak1_sced/all_objs.json"
}