mirror of
https://github.com/open-goal/jak-project.git
synced 2024-10-20 21:27:52 -04:00
da5aef8d60
Almost done: - `target-handler` (`(none)` event handler casts and CFG error) - `target2` (`(none)` event handler casts) - `powerups` (`cloud-track` does some weird stuff with `handle`s) - `gun-states` (CFG error) Some progress in: - `water-flow` Additionally: - Clean up the two year old Jak 3 config file and add a config skeleton (disassembling seems to not have worked, but I was able to dump obj files and the `all_scripts` file) - Fix automatic skelgroup detection and `defskelgroup` macro for Jak 2 (closes #1950) - When a function decompiles without any major errors, a warning is generated with the op id for each unresolved load and store that will likely fail to compile (closes #1933)
57 lines
2.2 KiB
Plaintext
57 lines
2.2 KiB
Plaintext
{
|
|
////////////////////////////
|
|
// HACKS and ASM FUNCTIONS
|
|
////////////////////////////
|
|
|
|
"types_with_bad_inspect_methods": [],
|
|
|
|
"no_type_analysis_functions_by_name": [],
|
|
|
|
// this limits the number of cases in a cond. The first argument is the name of the function.
|
|
// the second argument is the name of the first condition in the cond. Use print_cfg to find it out.
|
|
// The third argument is the number of cases. If you set it too small it may fail to build the CFG.
|
|
"cond_with_else_max_lengths": [],
|
|
|
|
// if a cond with an else case is being used a value in a place where it looks wrong
|
|
// you can add the function name to this list and it will more aggressively reject this rewrite.
|
|
"aggressively_reject_cond_to_value_rewrite": [],
|
|
|
|
// this provides a hint to the decompiler that these functions will have a lot of inline assembly.
|
|
// currently it just leaves pcpyld as an asm op.
|
|
"hint_inline_assembly_functions": [],
|
|
|
|
"asm_functions_by_name": [],
|
|
|
|
// these functions use pairs and the decompiler
|
|
// will be less picky about types related to pairs.
|
|
"pair_functions_by_name": [],
|
|
|
|
// If format is used with the wrong number of arguments,
|
|
// it will often mess up the decompilation, as the decompiler assumes
|
|
// that they used the correct number. This will override the decompiler's
|
|
// automatic detection.
|
|
"bad_format_strings": {},
|
|
|
|
"blocks_ending_in_asm_branch": {},
|
|
|
|
// Sometimes the game might use format strings that are fetched dynamically,
|
|
// for example using the game text lookup method
|
|
// Add information about those format instructions here.
|
|
// e.g. "function-name":[[op, argc], [op, argc], ...]
|
|
// where "op" is the op number for the call to format.
|
|
"dynamic_format_arg_counts": {},
|
|
|
|
"mips2c_functions_by_name": [],
|
|
|
|
"mips2c_jump_table_functions": {},
|
|
|
|
// there are some missing textures. I don't know what the game actually does here.
|
|
// the format for entries is [level, tpage, index]
|
|
"missing_textures": [],
|
|
|
|
// some object files have garbage pad data at the end which makes the decompiler
|
|
// assume they must be different files, such as the art group for orb-cache-top.
|
|
// this just suppresses a message.
|
|
"expected_merged_objs": []
|
|
}
|