jak-project/decompiler/config/jak1_ntsc_black_label.jsonc
doctashay 9410e01aaf
Implement logging features for decompiler (#78)
* Begin spdlog integration for decompiler

* Replace old prints with spdlog equivalents

* clang-format

* Fixes

* Log output to /logs/decompiler.log.

The console now prints that the disassembly has begun and it may take a few minutes to complete. This will reduce the amount of verbose logging output directly to a console stream.

* Update .gitignore

Ignore decompiler output for now

* Resolve more issues

Fixed percentage printing and various other issues

* Fixed stuff I broke (sorry)

* Fix more broke stuff
2020-10-15 20:59:30 -04:00

232 lines
9.5 KiB
Plaintext

{
"game_version":1,
// the order here matters. KERNEL and GAME should go first
"dgo_names":["CGO/KERNEL.CGO", "CGO/GAME.CGO"],
/*, "CGO/ENGINE.CGO"
, "CGO/ART.CGO", "DGO/BEA.DGO", "DGO/CIT.DGO", "CGO/COMMON.CGO", "DGO/DAR.DGO", "DGO/DEM.DGO",
"DGO/FIN.DGO", "DGO/INT.DGO", "DGO/JUB.DGO", "DGO/JUN.DGO", "CGO/JUNGLE.CGO", "CGO/L1.CGO", "DGO/FIC.DGO",
"DGO/LAV.DGO", "DGO/MAI.DGO", "CGO/MAINCAVE.CGO", "DGO/MIS.DGO", "DGO/OGR.DGO", "CGO/RACERP.CGO", "DGO/ROB.DGO", "DGO/ROL.DGO",
"DGO/SNO.DGO", "DGO/SUB.DGO", "DGO/SUN.DGO", "CGO/SUNKEN.CGO", "DGO/SWA.DGO", "DGO/TIT.DGO", "DGO/TRA.DGO", "DGO/VI1.DGO",
"DGO/VI2.DGO", "DGO/VI3.DGO", "CGO/VILLAGEP.CGO", "CGO/WATER-AN.CGO"
],*/
"write_disassembly":true,
"write_hex_near_instructions":false,
// if false, skips disassembling object files without functions, as these are usually large and not interesting yet.
"disassemble_objects_without_functions":false,
// to write out data of each object file
"write_hexdump":false,
// to write out hexdump on the v3 only, to avoid the huge level data files
"write_hexdump_on_v3_only":true,
// to write out "scripts", which are currently just all the linked lists found
"write_scripts":true,
// Experimental Stuff
"find_basic_blocks":true,
"asm_functions_by_name":[
// functions which have inline assembly
"unpack-comp-huf", "(method 29 collide-shape-prim-group)","find-knot-span","dma-send-no-scratch",
"raw-ray-sphere-intersect","(method 9 bounding-box)","(method 9 matrix)","shadow-find-single-edges",
"generic-tie-dma-to-spad-sync","ray-cylinder-intersect","shadow-scissor-edges","(method 42 collide-shape)",
"(method 9 texture-page-dir)",
"(method 24 collide-shape-prim)",
"(method 23 collide-shape-prim-group)",
"shadow-find-double-edges",
"(method 16 collide-shape-prim)",
"(method 15 collide-shape-prim-group)",
"generic-tie-upload-next",
"(method 17 collide-edge-work)",
"(method 16 drawable-tree)",
"(method 10 collide-mesh)",
"particle-adgif",
"(method 14 collide-shape-prim-group)",
"(method 12 collide-shape-prim-group)",
"(method 14 bounding-box)",
"process-drawable-birth-fuel-cell",
"(method 13 collide-shape-prim-group)",
"ray-triangle-intersect",
"(method 20 collide-shape-prim-group)",
"(method 10 collide-puss-work)",
"setup-blerc-chains-for-one-fragment",
"curve-evaluate!",
"(method 16 collide-edge-work)",
"(method 9 collide-cache-prim)",
"(method 11 collide-mesh)",
"stats-tfrag-asm",
"(method 10 collide-cache-prim)",
"high-speed-reject",
"(method 12 collide-mesh)",
"(method 19 collide-cache)",
"(method 9 collide-puss-work)",
"(method 29 collide-cache)",
"time-of-day-interp-colors-scratch",
"(method 30 collide-cache)",
"calc-animation-from-spr",
"(method 14 collide-shape-prim-mesh)",
"(method 12 collide-shape-prim-mesh)",
"(method 19 process-drawable)",
"(method 13 collide-shape-prim-mesh)",
"moving-sphere-triangle-intersect",
"(method 14 collide-mesh)",
"circle-circle-xz-intersect",
"get-string-length",
"draw-node-cull",
"collide-probe-node",
"(method 28 collide-cache)",
"(method 26 collide-cache)",
"load-game-text-info",
"(method 27 collide-cache)",
"clip-polygon-against-positive-hyperplane",
"sp-process-block-2d",
"sp-init-fields!",
"clip-polygon-against-negative-hyperplane",
"(method 9 edge-grab-info)",
"(method 18 collide-edge-work)",
"sp-process-block-3d",
"time-of-day-interp-colors",
"(method 23 collide-shape-prim-sphere)",
"(method 15 collide-edge-work)",
"(method 15 collide-mesh)",
"(method 21 collide-cache)",
"mercneric-shader-asm",
"shadow-execute",
"(method 16 level)",
"(method 40 collide-shape)",
"(method 32 collide-cache)",
"bones-mtx-calc",
"draw-inline-array-prototype-tie-near-asm",
"decompress-fixed-data-to-accumulator",
"draw-inline-array-prototype-tie-asm",
"(method 10 external-art-buffer)",
"level-update-after-load",
"draw-inline-array-prototype-tie-generic-asm",
"draw-inline-array-tfrag-near",
"collide-probe-instance-tie",
"draw-inline-array-tfrag",
"mercneric-matrix-asm",
"(method 32 nav-control)",
"(method 11 fact-info-target)",
"mercneric-convert",
"generic-envmap-only-proc",
"draw-inline-array-instance-tie",
"generic-tie-convert-proc",
"draw-string",
"draw-inline-array-instance-shrub",
"generic-tie-convert",
"(anon-function 2503)",
"(anon-function 5635)",
"(anon-function 2504)",
"(anon-function 2502)",
"(anon-function 2501)",
"(anon-function 2505)",
"(anon-function 2500)",
"(anon-function 3717)",
"rand-uint31-gen",
"dma-sync-with-count",
"ripple-create-wave-table",
"generic-debug-light-proc",
"draw-bones-hud",
"(method 27 ropebridge)",
"ocean-interp-wave",
"ocean-generate-verts",
"draw-large-polygon-ocean",
"(method 23 collide-shape-prim-mesh)",
"(method 13 collide-mesh)",
"draw-boundary-polygon",
"draw-large-polygon",
"update-mood-lava",
"update-mood-lightning",
"memcpy",
"background-upload-vu0",
"upload-vis-bits",
"generic-envmap-dproc",
"generic-prepare-dma-double",
"generic-envmap-proc",
"generic-light-proc",
"generic-merc-execute-asm",
"generic-merc-init-asm",
"shadow-calc-dual-verts",
"shadow-scissor-top",
"shadow-find-facing-single-tris",
"shadow-find-facing-double-tris",
"shadow-add-verts",
"shadow-add-facing-single-tris",
"shadow-add-single-edges",
"shadow-add-double-tris",
"shadow-add-double-edges",
"test-func",
"(method 14 collide-cache)",
"symlink2",
"draw-bones-merc",
"dma-count-until-done",
"symlink3",
"blerc-execute",
"merc-dma-chain-to-spr",
"ripple-matrix-scale",
"ripple-apply-wave-table",
"ripple-execute-init",
"bones-mtx-calc-execute",
"texscroll-execute",
"generic-light",
"generic-no-light",
"generic-no-light+envmap",
"generic-dma-from-spr",
"upload-vu0-program",
"generic-merc-execute-all",
"closest-pt-in-triangle",
"(method 11 sparticle-launch-control)",
"(anon-function 3751)",
"look-for-points-of-interest",
// gcommon
"(method 2 vec4s)", "quad-copy!", "(method 3 vec4s)", "breakpoint-range-set!",
// pskernel
"resend-exception", "kernel-set-interrupt-vector", "kernel-set-exception-vector", "return-from-exception",
"kernel-read", "kernel-read-function", "kernel-write", "kernel-write-function", "kernel-copy-to-kernel-ram",
// this one needs more investigation. nothing looks weird about it but it fails...
"camera-change-to",
// two back to back arithmetic shifts...
"texture-relocate",
// this one fails due to false compaction where an else case has only a not expression in it.
"master-is-hopeful-better?",
// fails for unknown reason
"target-falling-anim-trans", "change-brother",
// merged right typecase... can probably handle this
"cspace-inspect-tree",
// these are all valid, but use short circuiting branches in strange ways. There's probably a few compiler uses that we're not
"(method 21 actor-link-info)","(method 20 actor-link-info)","(method 28 collide-shape-prim-mesh)", "(method 35 collide-shape)",
"debug-menu-item-var-render", "(method 14 level)","add-blue-motion","anim-tester-add-newobj","(method 27 orb-cache-top)",
// real asm
"cspace<-parented-transformq-joint!", "blerc-a-fragment", "render-boundary-tri", "render-boundary-quad",
"(method 19 collide-shape-prim-sphere)","vector-segment-distance-point!", "exp", "(method 11 collide-mesh-cache)",
"(method 13 collide-edge-work)", "ambient-inspect",
"(method 11 cpu-thread)", "atan0", "sincos!", "sincos-rad!", "disasm-dma-list", "vblank-handler", "vif1-handler",
"vif1-handler-debug", "entity-actor-count", "decompress-frame-data-pair-to-accumulator",
"decompress-frame-data-to-accumulator", "normalize-frame-quaternions", "clear-frame-accumulator",
"generic-copy-vtx-dclr-dtex", "generic-no-light-dproc-only", "generic-no-light-proc", "mercneric-bittable-asm",
"generic-tie-decompress", "matrix-axis-sin-cos!", "matrix-axis-sin-cos-vu!", "generic-prepare-dma-single",
"(method 13 collide-shape-prim-sphere)", "(method 14 collide-shape-prim-sphere)", "(method 12 collide-shape-prim-sphere)",
"adgif-shader<-texture-with-update!", "generic-interp-dproc", "sprite-draw-distorters", "draw-bones", "(method 9 collide-mesh-cache)",
"(method 18 collide-shape-prim-sphere)","birth-pickup-at-point",
"collide-do-primitives", "draw-bones-check-longest-edge-asm",
"sp-launch-particles-var", "(method 15 collide-shape-prim-mesh)", "(method 15 collide-shape-prim-sphere)",
"(method 45 collide-shape)", "cam-layout-save-cam-trans", "kernel-copy-function", "dma-sync-hang", "generic-no-light-dproc",
"dma-sync-fast", "bsp-camera-asm",
"generic-none-dma-wait", "unpack-comp-rle", "level-remap-texture", "(method 10 collide-edge-hold-list)"
]
}