mirror of
https://github.com/Druthulu/BFM-decomp
synced 2026-10-05 17:03:23 -04:00
feat(phase-30): wave-4 resumed 10/10 MATCH banked + h_exact leg (14 propagated); R22 140/140
The 12 agents killed by the usage-limit pause were resumed and ALL returned MATCH (2 had already banked from their partial drafts, so 10 ran). h_exact propagation leg completed over all 112 banked exemplars: 14 propagated, 42 benign skips (h_seq tier, correctly routed away per §123), 0 failures — the 0x801466F0 'halt' was a third benign-refusal phrase, not a partial write. fn-count 92.61 -> 92.67% | instr 88.2 -> 88.3% | distinct 70,581 -> 70,590 unique fns.
This commit is contained in:
@@ -1365,3 +1365,64 @@
|
||||
{"ts": "2026-07-30 23:08:10", "addr": "0x801846e4", "name": "func_801846E4", "reach": null, "klass": null, "nins": null, "status": "near", "closeness": 21, "where_stuck": "residual: 21 mismatch", "best_draft": ".run/backlog_drafts/func_801846E4.c", "binary": "ov_SC03_014", "source": "p30w4", "residual": [[0, "27bdffe0 addiu\tsp,sp,-32", "27bdffd8 addiu $sp, $sp, -0x28"], [1, "00002021 move\ta0,zero", "afbf0024 sw $ra, 0x24($sp)"], [2, "00002821 move\ta1,zero", "afbe0020 sw $fp, 0x20($sp)"], [3, "3c060000 lui\ta2,0x0", "03a0f021 addu $fp, $sp, $zero"], [4, "24c60000 addiu\ta2,a2,0", "afa00010 sw $zero, 0x10($sp)"], [5, "00003821 move\ta3,zero", "00002021 addu $a0, $zero, $zero"], [6, "afbf0018 sw\tra,24(sp)", "00002821 addu $a1, $zero, $zero"], [8, "afa00010 sw\tzero,16(sp)", "24c6ee50 addiu $a2, $a2, %lo(D_800AEE50)"], [9, "8fbf0018 lw\tra,24(sp)", "00003821 addu $a3, $zero, $zero"], [10, "27bd0020 addiu\tsp,sp,32", "0c006aef jal func_8001ABBC"], [11, "03e00008 jr\tra", "00000000 nop"], [12, "00000000 nop", "afc20018 sw $v0, 0x18($fp)"], [13, "--", "8fc20018 lw $v0, 0x18($fp)"], [14, "--", "080611c9 j .L80184724"], [15, "--", "00000000 nop"], [16, "--", "03c0e821 addu $sp, $fp, $zero"], [17, "--", "8fbf0024 lw $ra, 0x24($sp)"], [18, "--", "8fbe0020 lw $fp, 0x20($sp)"], [19, "--", "27bd0028 addiu $sp, $sp, 0x28"], [20, "--", "03e00008 jr $ra"], [21, "--", "00000000 nop"]], "passes_tried": null}
|
||||
{"ts": "2026-07-30 23:08:51", "addr": "0x80187940", "name": "func_80187940", "reach": null, "klass": null, "nins": null, "status": "near", "closeness": 26, "where_stuck": "residual: 26 mismatch", "best_draft": ".run/backlog_drafts/func_80187940.c", "binary": "ov_SC04_011", "source": "p30w4", "residual": [[19, "3c040000 lui\ta0,0x0", "02003821 addu $a3, $s0, $zero"], [20, "8c840000 lw\ta0,0(a0)", "3c048012 lui $a0, %hi(D_80126B78)"], [21, "3c050000 lui\ta1,0x0", "8c846b78 lw $a0, %lo(D_80126B78)($a0)"], [22, "8ca50000 lw\ta1,0(a1)", "3c058012 lui $a1, %hi(D_80126B90)"], [24, "02003821 move\ta3,s0", "0c04d622 jal func_80135888"], [25, "1040000e beqz\tv0,a0 <func_80187940+0xa0>", "02408821 addu $s1, $s2, $zero"], [26, "24040001 li\ta0,1", "14400003 bnez $v0, .L801879B8"], [27, "24054017 li\ta1,16407", "24040001 addiu $a0, $zero, 0x1"], [28, "00123400 sll\ta2,s2,0x10", "08061e7a j .L801879E8"], [29, "00063403 sra\ta2,a2,0x10", "00001021 addu $v0, $zero, $zero"], [30, "24070078 li\ta3,120", "24054017 addiu $a1, $zero, 0x4017"], [31, "3c020000 lui\tv0,0x0", "00123400 sll $a2, $s2, 16"], [32, "24420000 addiu\tv0,v0,0", "00063403 sra $a2, $a2, 16"], [33, "afb00010 sw\ts0,16(sp)", "24070078 addiu $a3, $zero, 0x78"], [35, "afa20014 sw\tv0,20(sp)", "244252a8 addiu $v0, $v0, %lo(D_801152A8)"], [36, "3c010000 lui\tat,0x0", "afb00010 sw $s0, 0x10($sp)"], [37, "a4320000 sh\ts2,0(at)", "0c04bd5a jal func_8012F568"], [40, "00001021 move\tv0,zero", "3c018012 lui $at, %hi(D_80126B9A)"], [41, "8fbf0034 lw\tra,52(sp)", "a4316b9a sh $s1, %lo(D_80126B9A)($at)"], [42, "8fb20030 lw\ts2,48(sp)", "8fbf0034 lw $ra, 0x34($sp)"], [43, "8fb1002c lw\ts1,44(sp)", "8fb20030 lw $s2, 0x30($sp)"], [44, "8fb00028 lw\ts0,40(sp)", "8fb1002c lw $s1, 0x2C($sp)"], [45, "27bd0038 addiu\tsp,sp,56", "8fb00028 lw $s0, 0x28($sp)"], [46, "03e00008 jr\tra", "27bd0038 addiu $sp, $sp, 0x38"]], "passes_tried": null}
|
||||
{"ts": "2026-07-30 23:08:51", "addr": "0x801885c0", "name": "func_801885C0", "reach": null, "klass": null, "nins": null, "status": "near", "closeness": 1, "where_stuck": "residual: 1 mismatch", "best_draft": ".run/backlog_drafts/func_801885C0.c", "binary": "ov_SC04_011", "source": "p30w4", "residual": [[8, "3402ffd8 li\tv0,0xffd8", "2402ffd8 addiu $v0, $zero, -0x28"]], "passes_tried": null}
|
||||
{"ts": "2026-07-31 01:11:14", "addr": "0x8017bf34", "name": "func_8017BF34", "reach": null, "klass": null, "nins": null, "status": "failed", "closeness": null, "where_stuck": "won't compile standalone (loose-typing / missing decl)", "best_draft": ".run/backlog_drafts/func_8017BF34.c", "binary": "ov_SC01_084", "source": "p30w4", "residual": null, "passes_tried": null}
|
||||
{"ts": "2026-07-31 01:11:14", "addr": "0x8017c1cc", "name": "func_8017C1CC", "reach": null, "klass": null, "nins": null, "status": "failed", "closeness": null, "where_stuck": "won't compile standalone (loose-typing / missing decl)", "best_draft": ".run/backlog_drafts/func_8017C1CC.c", "binary": "ov_SC01_084", "source": "p30w4", "residual": null, "passes_tried": null}
|
||||
{"ts": "2026-07-31 01:11:15", "addr": "0x8017c560", "name": "func_8017C560", "reach": null, "klass": null, "nins": null, "status": "failed", "closeness": null, "where_stuck": "won't compile standalone (loose-typing / missing decl)", "best_draft": ".run/backlog_drafts/func_8017C560.c", "binary": "ov_SC01_084", "source": "p30w4", "residual": null, "passes_tried": null}
|
||||
{"ts": "2026-07-31 01:11:15", "addr": "0x8017c770", "name": "func_8017C770", "reach": null, "klass": null, "nins": null, "status": "failed", "closeness": null, "where_stuck": "won't compile standalone (loose-typing / missing decl)", "best_draft": ".run/backlog_drafts/func_8017C770.c", "binary": "ov_SC01_084", "source": "p30w4", "residual": null, "passes_tried": null}
|
||||
{"ts": "2026-07-31 01:11:15", "addr": "0x8017c8b4", "name": "func_8017C8B4", "reach": null, "klass": null, "nins": null, "status": "failed", "closeness": null, "where_stuck": "won't compile standalone (loose-typing / missing decl)", "best_draft": ".run/backlog_drafts/func_8017C8B4.c", "binary": "ov_SC01_084", "source": "p30w4", "residual": null, "passes_tried": null}
|
||||
{"ts": "2026-07-31 01:12:02", "addr": "0x8018a47c", "name": "func_8018A47C", "reach": null, "klass": null, "nins": null, "status": "failed", "closeness": null, "where_stuck": "won't compile standalone (loose-typing / missing decl)", "best_draft": ".run/backlog_drafts/func_8018A47C.c", "binary": "ov_SC02_005", "source": "p30w4", "residual": null, "passes_tried": null}
|
||||
{"ts": "2026-07-31 01:12:02", "addr": "0x8018c2b0", "name": "func_8018C2B0", "reach": null, "klass": null, "nins": null, "status": "failed", "closeness": null, "where_stuck": "none \u2014 MATCH (42 ins), iteration 1, rtu_match clean.", "best_draft": ".run/backlog_drafts/func_8018C2B0.c", "binary": "ov_SC02_005", "source": "p30w4", "residual": null, "passes_tried": null}
|
||||
{"ts": "2026-07-31 01:12:02", "addr": "0x8018ecf4", "name": "func_8018ECF4", "reach": null, "klass": null, "nins": null, "status": "failed", "closeness": null, "where_stuck": "won't compile standalone (loose-typing / missing decl)", "best_draft": ".run/backlog_drafts/func_8018ECF4.c", "binary": "ov_SC02_005", "source": "p30w4", "residual": null, "passes_tried": null}
|
||||
{"ts": "2026-07-31 01:12:02", "addr": "0x80190384", "name": "func_80190384", "reach": null, "klass": null, "nins": null, "status": "failed", "closeness": null, "where_stuck": "won't compile standalone (loose-typing / missing decl)", "best_draft": ".run/backlog_drafts/func_80190384.c", "binary": "ov_SC02_005", "source": "p30w4", "residual": null, "passes_tried": null}
|
||||
{"ts": "2026-07-31 01:12:02", "addr": "0x80190408", "name": "func_80190408", "reach": null, "klass": null, "nins": null, "status": "failed", "closeness": null, "where_stuck": "won't compile standalone (loose-typing / missing decl)", "best_draft": ".run/backlog_drafts/func_80190408.c", "binary": "ov_SC02_005", "source": "p30w4", "residual": null, "passes_tried": null}
|
||||
{"ts": "2026-07-31 01:12:41", "addr": "0x80181fa0", "name": "func_80181FA0", "reach": null, "klass": null, "nins": null, "status": "failed", "closeness": null, "where_stuck": "won't compile standalone (loose-typing / missing decl)", "best_draft": ".run/backlog_drafts/func_80181FA0.c", "binary": "ov_SC02_011", "source": "p30w4", "residual": null, "passes_tried": null}
|
||||
{"ts": "2026-07-31 01:12:41", "addr": "0x8018bb44", "name": "func_8018BB44", "reach": null, "klass": null, "nins": null, "status": "failed", "closeness": null, "where_stuck": "won't compile standalone (loose-typing / missing decl)", "best_draft": ".run/backlog_drafts/func_8018BB44.c", "binary": "ov_SC02_011", "source": "p30w4", "residual": null, "passes_tried": null}
|
||||
{"ts": "2026-07-31 01:12:41", "addr": "0x80190b6c", "name": "func_80190B6C", "reach": null, "klass": null, "nins": null, "status": "failed", "closeness": null, "where_stuck": "won't compile standalone (loose-typing / missing decl)", "best_draft": ".run/backlog_drafts/func_80190B6C.c", "binary": "ov_SC02_011", "source": "p30w4", "residual": null, "passes_tried": null}
|
||||
{"ts": "2026-07-31 01:12:41", "addr": "0x80190c40", "name": "func_80190C40", "reach": null, "klass": null, "nins": null, "status": "failed", "closeness": null, "where_stuck": "won't compile standalone (loose-typing / missing decl)", "best_draft": ".run/backlog_drafts/func_80190C40.c", "binary": "ov_SC02_011", "source": "p30w4", "residual": null, "passes_tried": null}
|
||||
{"ts": "2026-07-31 01:12:41", "addr": "0x80190c84", "name": "func_80190C84", "reach": null, "klass": null, "nins": null, "status": "failed", "closeness": null, "where_stuck": "won't compile standalone (loose-typing / missing decl)", "best_draft": ".run/backlog_drafts/func_80190C84.c", "binary": "ov_SC02_011", "source": "p30w4", "residual": null, "passes_tried": null}
|
||||
{"ts": "2026-07-31 01:13:20", "addr": "0x8017fb00", "name": "func_8017FB00", "reach": null, "klass": null, "nins": null, "status": "failed", "closeness": null, "where_stuck": "won't compile standalone (loose-typing / missing decl)", "best_draft": ".run/backlog_drafts/func_8017FB00.c", "binary": "ov_SC02_017", "source": "p30w4", "residual": null, "passes_tried": null}
|
||||
{"ts": "2026-07-31 01:13:20", "addr": "0x80184c58", "name": "func_80184C58", "reach": null, "klass": "straight-derive", "nins": null, "status": "failed", "closeness": null, "where_stuck": "none \u2014 MATCH (52 ins) on iteration 1, confirmed by rtu_match.", "best_draft": ".run/backlog_drafts/func_80184C58.c", "binary": "ov_SC02_017", "source": "p30w4", "residual": null, "passes_tried": null}
|
||||
{"ts": "2026-07-31 01:13:20", "addr": "0x8018518c", "name": "func_8018518C", "reach": null, "klass": null, "nins": null, "status": "failed", "closeness": null, "where_stuck": "won't compile standalone (loose-typing / missing decl)", "best_draft": ".run/backlog_drafts/func_8018518C.c", "binary": "ov_SC02_017", "source": "p30w4", "residual": null, "passes_tried": null}
|
||||
{"ts": "2026-07-31 01:13:20", "addr": "0x8018583c", "name": "func_8018583C", "reach": null, "klass": "plumbing", "nins": null, "status": "failed", "closeness": null, "where_stuck": "none \u2014 MATCH (52 ins), iteration 1. Keys: (1) \u00a73-T4 \u2014 Ghidra inverted the arms; the", "best_draft": ".run/backlog_drafts/func_8018583C.c", "binary": "ov_SC02_017", "source": "p30w4", "residual": null, "passes_tried": null}
|
||||
{"ts": "2026-07-31 01:13:58", "addr": "0x8017cd9c", "name": "func_8017CD9C", "reach": null, "klass": null, "nins": null, "status": "failed", "closeness": null, "where_stuck": "won't compile standalone (loose-typing / missing decl)", "best_draft": ".run/backlog_drafts/func_8017CD9C.c", "binary": "ov_SC02_041", "source": "p30w4", "residual": null, "passes_tried": null}
|
||||
{"ts": "2026-07-31 01:13:58", "addr": "0x8017e7a4", "name": "func_8017E7A4", "reach": null, "klass": null, "nins": null, "status": "failed", "closeness": null, "where_stuck": "won't compile standalone (loose-typing / missing decl)", "best_draft": ".run/backlog_drafts/func_8017E7A4.c", "binary": "ov_SC02_041", "source": "p30w4", "residual": null, "passes_tried": null}
|
||||
{"ts": "2026-07-31 01:13:59", "addr": "0x8017e8cc", "name": "func_8017E8CC", "reach": null, "klass": null, "nins": null, "status": "failed", "closeness": null, "where_stuck": "won't compile standalone (loose-typing / missing decl)", "best_draft": ".run/backlog_drafts/func_8017E8CC.c", "binary": "ov_SC02_041", "source": "p30w4", "residual": null, "passes_tried": null}
|
||||
{"ts": "2026-07-31 01:13:59", "addr": "0x80182ccc", "name": "func_80182CCC", "reach": null, "klass": null, "nins": null, "status": "failed", "closeness": null, "where_stuck": "won't compile standalone (loose-typing / missing decl)", "best_draft": ".run/backlog_drafts/func_80182CCC.c", "binary": "ov_SC02_041", "source": "p30w4", "residual": null, "passes_tried": null}
|
||||
{"ts": "2026-07-31 01:14:38", "addr": "0x80182190", "name": "func_80182190", "reach": null, "klass": null, "nins": null, "status": "failed", "closeness": null, "where_stuck": "won't compile standalone (loose-typing / missing decl)", "best_draft": ".run/backlog_drafts/func_80182190.c", "binary": "ov_SC02_000", "source": "p30w4", "residual": null, "passes_tried": null}
|
||||
{"ts": "2026-07-31 01:14:38", "addr": "0x80183a80", "name": "func_80183A80", "reach": null, "klass": null, "nins": null, "status": "failed", "closeness": null, "where_stuck": "won't compile standalone (loose-typing / missing decl)", "best_draft": ".run/backlog_drafts/func_80183A80.c", "binary": "ov_SC02_000", "source": "p30w4", "residual": null, "passes_tried": null}
|
||||
{"ts": "2026-07-31 01:14:38", "addr": "0x80186fdc", "name": "func_80186FDC", "reach": null, "klass": null, "nins": null, "status": "failed", "closeness": null, "where_stuck": "won't compile standalone (loose-typing / missing decl)", "best_draft": ".run/backlog_drafts/func_80186FDC.c", "binary": "ov_SC02_000", "source": "p30w4", "residual": null, "passes_tried": null}
|
||||
{"ts": "2026-07-31 01:14:38", "addr": "0x80187060", "name": "func_80187060", "reach": null, "klass": null, "nins": null, "status": "failed", "closeness": null, "where_stuck": "won't compile standalone (loose-typing / missing decl)", "best_draft": ".run/backlog_drafts/func_80187060.c", "binary": "ov_SC02_000", "source": "p30w4", "residual": null, "passes_tried": null}
|
||||
{"ts": "2026-07-31 01:14:38", "addr": "0x8018a550", "name": "func_8018A550", "reach": null, "klass": null, "nins": null, "status": "failed", "closeness": null, "where_stuck": "won't compile standalone (loose-typing / missing decl)", "best_draft": ".run/backlog_drafts/func_8018A550.c", "binary": "ov_SC02_000", "source": "p30w4", "residual": null, "passes_tried": null}
|
||||
{"ts": "2026-07-31 01:15:17", "addr": "0x8017d130", "name": "func_8017D130", "reach": null, "klass": null, "nins": null, "status": "failed", "closeness": null, "where_stuck": "won't compile standalone (loose-typing / missing decl)", "best_draft": ".run/backlog_drafts/func_8017D130.c", "binary": "ov_SC02_035", "source": "p30w4", "residual": null, "passes_tried": null}
|
||||
{"ts": "2026-07-31 01:15:17", "addr": "0x80183258", "name": "func_80183258", "reach": null, "klass": null, "nins": null, "status": "failed", "closeness": null, "where_stuck": "won't compile standalone (loose-typing / missing decl)", "best_draft": ".run/backlog_drafts/func_80183258.c", "binary": "ov_SC02_035", "source": "p30w4", "residual": null, "passes_tried": null}
|
||||
{"ts": "2026-07-31 01:15:59", "addr": "0x8017e7b8", "name": "func_8017E7B8", "reach": null, "klass": null, "nins": null, "status": "failed", "closeness": null, "where_stuck": "won't compile standalone (loose-typing / missing decl)", "best_draft": ".run/backlog_drafts/func_8017E7B8.c", "binary": "ov_SC02_027", "source": "p30w4", "residual": null, "passes_tried": null}
|
||||
{"ts": "2026-07-31 01:15:59", "addr": "0x8018152c", "name": "func_8018152C", "reach": null, "klass": "branch-polarity", "nins": null, "status": "failed", "closeness": null, "where_stuck": "none \u2014 MATCH (32 ins), iteration 2. \u00a73-T4: gcc-2.7.2 lays this out as", "best_draft": ".run/backlog_drafts/func_8018152C.c", "binary": "ov_SC02_027", "source": "p30w4", "residual": null, "passes_tried": null}
|
||||
{"ts": "2026-07-31 01:15:59", "addr": "0x80189fd8", "name": "func_80189FD8", "reach": null, "klass": null, "nins": null, "status": "failed", "closeness": null, "where_stuck": "won't compile standalone (loose-typing / missing decl)", "best_draft": ".run/backlog_drafts/func_80189FD8.c", "binary": "ov_SC02_027", "source": "p30w4", "residual": null, "passes_tried": null}
|
||||
{"ts": "2026-07-31 01:15:59", "addr": "0x8018a090", "name": "func_8018A090", "reach": null, "klass": null, "nins": null, "status": "failed", "closeness": null, "where_stuck": "won't compile standalone (loose-typing / missing decl)", "best_draft": ".run/backlog_drafts/func_8018A090.c", "binary": "ov_SC02_027", "source": "p30w4", "residual": null, "passes_tried": null}
|
||||
{"ts": "2026-07-31 01:16:41", "addr": "0x801805f8", "name": "func_801805F8", "reach": null, "klass": null, "nins": null, "status": "failed", "closeness": null, "where_stuck": "won't compile standalone (loose-typing / missing decl)", "best_draft": ".run/backlog_drafts/func_801805F8.c", "binary": "ov_SC03_014", "source": "p30w4", "residual": null, "passes_tried": null}
|
||||
{"ts": "2026-07-31 01:16:41", "addr": "0x80180b84", "name": "func_80180B84", "reach": null, "klass": null, "nins": null, "status": "failed", "closeness": null, "where_stuck": "won't compile standalone (loose-typing / missing decl)", "best_draft": ".run/backlog_drafts/func_80180B84.c", "binary": "ov_SC03_014", "source": "p30w4", "residual": null, "passes_tried": null}
|
||||
{"ts": "2026-07-31 01:16:41", "addr": "0x801846e4", "name": "func_801846E4", "reach": null, "klass": null, "nins": null, "status": "near", "closeness": 21, "where_stuck": "residual: 21 mismatch", "best_draft": ".run/backlog_drafts/func_801846E4.c", "binary": "ov_SC03_014", "source": "p30w4", "residual": [[0, "27bdffe0 addiu\tsp,sp,-32", "27bdffd8 addiu $sp, $sp, -0x28"], [1, "00002021 move\ta0,zero", "afbf0024 sw $ra, 0x24($sp)"], [2, "00002821 move\ta1,zero", "afbe0020 sw $fp, 0x20($sp)"], [3, "3c060000 lui\ta2,0x0", "03a0f021 addu $fp, $sp, $zero"], [4, "24c60000 addiu\ta2,a2,0", "afa00010 sw $zero, 0x10($sp)"], [5, "00003821 move\ta3,zero", "00002021 addu $a0, $zero, $zero"], [6, "afbf0018 sw\tra,24(sp)", "00002821 addu $a1, $zero, $zero"], [8, "afa00010 sw\tzero,16(sp)", "24c6ee50 addiu $a2, $a2, %lo(D_800AEE50)"], [9, "8fbf0018 lw\tra,24(sp)", "00003821 addu $a3, $zero, $zero"], [10, "27bd0020 addiu\tsp,sp,32", "0c006aef jal func_8001ABBC"], [11, "03e00008 jr\tra", "00000000 nop"], [12, "00000000 nop", "afc20018 sw $v0, 0x18($fp)"], [13, "--", "8fc20018 lw $v0, 0x18($fp)"], [14, "--", "080611c9 j .L80184724"], [15, "--", "00000000 nop"], [16, "--", "03c0e821 addu $sp, $fp, $zero"], [17, "--", "8fbf0024 lw $ra, 0x24($sp)"], [18, "--", "8fbe0020 lw $fp, 0x20($sp)"], [19, "--", "27bd0028 addiu $sp, $sp, 0x28"], [20, "--", "03e00008 jr $ra"], [21, "--", "00000000 nop"]], "passes_tried": null}
|
||||
{"ts": "2026-07-31 01:16:41", "addr": "0x801898bc", "name": "func_801898BC", "reach": null, "klass": "plumbing", "nins": null, "status": "failed", "closeness": null, "where_stuck": "none \u2014 MATCH (45 ins), iteration 3; rtu_match MATCH too.", "best_draft": ".run/backlog_drafts/func_801898BC.c", "binary": "ov_SC03_014", "source": "p30w4", "residual": null, "passes_tried": null}
|
||||
{"ts": "2026-07-31 01:17:21", "addr": "0x80180c80", "name": "func_80180C80", "reach": null, "klass": null, "nins": null, "status": "failed", "closeness": null, "where_stuck": "won't compile standalone (loose-typing / missing decl)", "best_draft": ".run/backlog_drafts/func_80180C80.c", "binary": "ov_SC02_026", "source": "p30w4", "residual": null, "passes_tried": null}
|
||||
{"ts": "2026-07-31 01:17:21", "addr": "0x80180f78", "name": "func_80180F78", "reach": null, "klass": null, "nins": null, "status": "failed", "closeness": null, "where_stuck": "won't compile standalone (loose-typing / missing decl)", "best_draft": ".run/backlog_drafts/func_80180F78.c", "binary": "ov_SC02_026", "source": "p30w4", "residual": null, "passes_tried": null}
|
||||
{"ts": "2026-07-31 01:17:21", "addr": "0x80181030", "name": "func_80181030", "reach": null, "klass": null, "nins": null, "status": "failed", "closeness": null, "where_stuck": "won't compile standalone (loose-typing / missing decl)", "best_draft": ".run/backlog_drafts/func_80181030.c", "binary": "ov_SC02_026", "source": "p30w4", "residual": null, "passes_tried": null}
|
||||
{"ts": "2026-07-31 01:17:21", "addr": "0x801812a8", "name": "func_801812A8", "reach": null, "klass": null, "nins": null, "status": "failed", "closeness": null, "where_stuck": "won't compile standalone (loose-typing / missing decl)", "best_draft": ".run/backlog_drafts/func_801812A8.c", "binary": "ov_SC02_026", "source": "p30w4", "residual": null, "passes_tried": null}
|
||||
{"ts": "2026-07-31 01:17:21", "addr": "0x80185794", "name": "func_80185794", "reach": null, "klass": null, "nins": null, "status": "failed", "closeness": null, "where_stuck": "won't compile standalone (loose-typing / missing decl)", "best_draft": ".run/backlog_drafts/func_80185794.c", "binary": "ov_SC02_026", "source": "p30w4", "residual": null, "passes_tried": null}
|
||||
{"ts": "2026-07-31 01:18:02", "addr": "0x80128c98", "name": "func_80128C98", "reach": 1, "klass": "WAVE", "nins": 25, "status": "failed", "closeness": null, "where_stuck": "won't compile standalone (loose-typing / missing decl)", "best_draft": ".run/backlog_drafts/func_80128C98.c", "binary": "ov_SC01_077", "source": "p30w4", "residual": null, "passes_tried": null}
|
||||
{"ts": "2026-07-31 01:18:02", "addr": "0x80132018", "name": "func_80132018", "reach": 1, "klass": "WAVE", "nins": 46, "status": "failed", "closeness": null, "where_stuck": "won't compile standalone (loose-typing / missing decl)", "best_draft": ".run/backlog_drafts/func_80132018.c", "binary": "ov_SC01_077", "source": "p30w4", "residual": null, "passes_tried": null}
|
||||
{"ts": "2026-07-31 01:18:02", "addr": "0x801378f0", "name": "func_801378F0", "reach": 1, "klass": "WAVE", "nins": 58, "status": "failed", "closeness": null, "where_stuck": "won't compile standalone (loose-typing / missing decl)", "best_draft": ".run/backlog_drafts/func_801378F0.c", "binary": "ov_SC01_077", "source": "p30w4", "residual": null, "passes_tried": null}
|
||||
{"ts": "2026-07-31 01:18:02", "addr": "0x80157d20", "name": "func_80157D20", "reach": 1, "klass": "PINS", "nins": 21, "status": "failed", "closeness": null, "where_stuck": "won't compile standalone (loose-typing / missing decl)", "best_draft": ".run/backlog_drafts/func_80157D20.c", "binary": "ov_SC01_077", "source": "p30w4", "residual": null, "passes_tried": null}
|
||||
{"ts": "2026-07-31 01:18:02", "addr": "0x801718ac", "name": "func_801718AC", "reach": 138, "klass": "WAVE", "nins": 22, "status": "failed", "closeness": null, "where_stuck": "won't compile standalone (loose-typing / missing decl)", "best_draft": ".run/backlog_drafts/func_801718AC.c", "binary": "ov_SC01_077", "source": "p30w4", "residual": null, "passes_tried": null}
|
||||
{"ts": "2026-07-31 01:18:41", "addr": "0x80185b5c", "name": "func_80185B5C", "reach": null, "klass": null, "nins": null, "status": "failed", "closeness": null, "where_stuck": "won't compile standalone (loose-typing / missing decl)", "best_draft": ".run/backlog_drafts/func_80185B5C.c", "binary": "ov_SC04_011", "source": "p30w4", "residual": null, "passes_tried": null}
|
||||
{"ts": "2026-07-31 01:18:41", "addr": "0x80189eac", "name": "func_80189EAC", "reach": null, "klass": null, "nins": null, "status": "failed", "closeness": null, "where_stuck": "won't compile standalone (loose-typing / missing decl)", "best_draft": ".run/backlog_drafts/func_80189EAC.c", "binary": "ov_SC04_011", "source": "p30w4", "residual": null, "passes_tried": null}
|
||||
{"ts": "2026-07-31 01:18:41", "addr": "0x8018c07c", "name": "func_8018C07C", "reach": null, "klass": null, "nins": null, "status": "failed", "closeness": null, "where_stuck": "won't compile standalone (loose-typing / missing decl)", "best_draft": ".run/backlog_drafts/func_8018C07C.c", "binary": "ov_SC04_011", "source": "p30w4", "residual": null, "passes_tried": null}
|
||||
{"ts": "2026-07-31 01:19:20", "addr": "0x8018034c", "name": "func_8018034C", "reach": null, "klass": null, "nins": null, "status": "failed", "closeness": null, "where_stuck": "won't compile standalone (loose-typing / missing decl)", "best_draft": ".run/backlog_drafts/func_8018034C.c", "binary": "ov_SC04_018", "source": "p30w4", "residual": null, "passes_tried": null}
|
||||
{"ts": "2026-07-31 01:19:21", "addr": "0x80180580", "name": "func_80180580", "reach": null, "klass": null, "nins": null, "status": "failed", "closeness": null, "where_stuck": "won't compile standalone (loose-typing / missing decl)", "best_draft": ".run/backlog_drafts/func_80180580.c", "binary": "ov_SC04_018", "source": "p30w4", "residual": null, "passes_tried": null}
|
||||
{"ts": "2026-07-31 01:19:21", "addr": "0x80180ee8", "name": "func_80180EE8", "reach": null, "klass": null, "nins": null, "status": "failed", "closeness": null, "where_stuck": "won't compile standalone (loose-typing / missing decl)", "best_draft": ".run/backlog_drafts/func_80180EE8.c", "binary": "ov_SC04_018", "source": "p30w4", "residual": null, "passes_tried": null}
|
||||
{"ts": "2026-07-31 01:19:21", "addr": "0x80181bec", "name": "func_80181BEC", "reach": null, "klass": null, "nins": null, "status": "failed", "closeness": null, "where_stuck": "won't compile standalone (loose-typing / missing decl)", "best_draft": ".run/backlog_drafts/func_80181BEC.c", "binary": "ov_SC04_018", "source": "p30w4", "residual": null, "passes_tried": null}
|
||||
{"ts": "2026-07-31 01:19:21", "addr": "0x80185978", "name": "func_80185978", "reach": null, "klass": null, "nins": null, "status": "failed", "closeness": null, "where_stuck": "won't compile standalone (loose-typing / missing decl)", "best_draft": ".run/backlog_drafts/func_80185978.c", "binary": "ov_SC04_018", "source": "p30w4", "residual": null, "passes_tried": null}
|
||||
{"ts": "2026-07-31 01:19:59", "addr": "0x80185268", "name": "func_80185268", "reach": null, "klass": null, "nins": null, "status": "failed", "closeness": null, "where_stuck": "won't compile standalone (loose-typing / missing decl)", "best_draft": ".run/backlog_drafts/func_80185268.c", "binary": "ov_SC06_018", "source": "p30w4", "residual": null, "passes_tried": null}
|
||||
{"ts": "2026-07-31 01:19:59", "addr": "0x80188b00", "name": "func_80188B00", "reach": null, "klass": null, "nins": null, "status": "failed", "closeness": null, "where_stuck": "won't compile standalone (loose-typing / missing decl)", "best_draft": ".run/backlog_drafts/func_80188B00.c", "binary": "ov_SC06_018", "source": "p30w4", "residual": null, "passes_tried": null}
|
||||
{"ts": "2026-07-31 01:19:59", "addr": "0x80189954", "name": "func_80189954", "reach": null, "klass": null, "nins": null, "status": "failed", "closeness": null, "where_stuck": "won't compile standalone (loose-typing / missing decl)", "best_draft": ".run/backlog_drafts/func_80189954.c", "binary": "ov_SC06_018", "source": "p30w4", "residual": null, "passes_tried": null}
|
||||
{"ts": "2026-07-31 01:19:59", "addr": "0x8018a008", "name": "func_8018A008", "reach": null, "klass": null, "nins": null, "status": "failed", "closeness": null, "where_stuck": "won't compile standalone (loose-typing / missing decl)", "best_draft": ".run/backlog_drafts/func_8018A008.c", "binary": "ov_SC06_018", "source": "p30w4", "residual": null, "passes_tried": null}
|
||||
{"ts": "2026-07-31 01:19:59", "addr": "0x8018a0b8", "name": "func_8018A0B8", "reach": null, "klass": null, "nins": null, "status": "failed", "closeness": null, "where_stuck": "won't compile standalone (loose-typing / missing decl)", "best_draft": ".run/backlog_drafts/func_8018A0B8.c", "binary": "ov_SC06_018", "source": "p30w4", "residual": null, "passes_tried": null}
|
||||
|
||||
@@ -13354,3 +13354,101 @@ groups:
|
||||
func: DEFINE_func_80151B98
|
||||
vram: 0x80151B98
|
||||
binaries: [ov_SC01_077, ov_SC01_005, ov_SC01_006, ov_SC03_001, ov_SC01_000, ov_SC01_001, ov_SC02_000, ov_SC02_003, ov_SC03_002, ov_SC03_006, ov_SC04_000, ov_SC04_018, ov_SC04_019, ov_SC05_000, ov_SC06_000, ov_SC07_000, ov_SC01_004, ov_SC01_008, ov_SC01_009, ov_SC01_074, ov_SC01_080, ov_SC01_084, ov_SC02_004, ov_SC02_005, ov_SC02_011, ov_SC02_015, ov_SC02_016, ov_SC02_017, ov_SC02_021, ov_SC02_026, ov_SC02_027, ov_SC02_028, ov_SC02_031, ov_SC02_035, ov_SC02_039, ov_SC02_041, ov_SC03_003, ov_SC03_007, ov_SC03_010, ov_SC03_011, ov_SC03_012, ov_SC03_013, ov_SC03_014, ov_SC03_015, ov_SC03_023, ov_SC03_024, ov_SC03_028, ov_SC03_029, ov_SC03_030, ov_SC03_031, ov_SC03_089, ov_SC03_090, ov_SC03_091, ov_SC03_092, ov_SC03_093, ov_SC03_094, ov_SC03_095, ov_SC03_096, ov_SC03_097, ov_SC03_098, ov_SC03_099, ov_SC03_100, ov_SC03_101, ov_SC03_102, ov_SC03_103, ov_SC03_104, ov_SC03_105, ov_SC03_108, ov_SC03_109, ov_SC03_110, ov_SC03_111, ov_SC03_112, ov_SC03_113, ov_SC03_114, ov_SC03_115, ov_SC03_116, ov_SC03_117, ov_SC03_118, ov_SC03_119, ov_SC03_121, ov_SC03_124, ov_SC03_125, ov_SC03_126, ov_SC04_002, ov_SC04_003, ov_SC04_004, ov_SC04_005, ov_SC04_006, ov_SC04_007, ov_SC04_008, ov_SC04_009, ov_SC04_010, ov_SC04_011, ov_SC04_012, ov_SC04_015, ov_SC04_016, ov_SC04_020, ov_SC04_021, ov_SC05_001, ov_SC05_002, ov_SC05_003, ov_SC05_004, ov_SC05_005, ov_SC05_006, ov_SC05_007, ov_SC05_008, ov_SC05_009, ov_SC05_010, ov_SC05_011, ov_SC05_017, ov_SC05_018, ov_SC05_019, ov_SC06_006, ov_SC06_008, ov_SC06_010, ov_SC06_011, ov_SC06_013, ov_SC06_014, ov_SC06_015, ov_SC06_016, ov_SC06_018, ov_SC06_020, ov_SC06_022, ov_SC06_024, ov_SC06_025, ov_SC06_027, ov_SC06_029, ov_SC06_030, ov_SC06_032, ov_SC06_033, ov_SC07_001, ov_SC07_002, ov_SC07_008, ov_SC07_009, ov_SC07_006, ov_SC07_007, ov_SC07_010, ov_SC07_011]
|
||||
- id: E_func_8017BF34
|
||||
tier: h_exact
|
||||
hash: 952c5c0012f6262becea180927e6a8dcd0bc3319
|
||||
source: src/shared/engine_core.h
|
||||
func: DEFINE_func_8017BF34
|
||||
vram: 0x8017BF34
|
||||
binaries: [ov_SC02_000, ov_SC02_003, ov_SC01_084, ov_SC03_089, ov_SC03_090, ov_SC03_092, ov_SC03_101, ov_SC03_104, ov_SC04_011, ov_SC05_005]
|
||||
- id: E_func_8017C560
|
||||
tier: h_exact
|
||||
hash: f93a4aa391251e75e443d928afabfc540d3f80a2
|
||||
source: src/shared/engine_core.h
|
||||
func: DEFINE_func_8017C560
|
||||
vram: 0x8017C560
|
||||
binaries: [ov_SC02_000, ov_SC02_003, ov_SC01_084, ov_SC03_089, ov_SC03_090, ov_SC03_092, ov_SC03_101, ov_SC03_104, ov_SC04_011, ov_SC05_005]
|
||||
- id: E_func_8017C1CC
|
||||
tier: h_exact
|
||||
hash: 14ad452713e24fb23b3c866975a119e828f0d45c
|
||||
source: src/shared/engine_core.h
|
||||
func: DEFINE_func_8017C1CC
|
||||
vram: 0x8017C1CC
|
||||
binaries: [ov_SC02_000, ov_SC02_003, ov_SC01_084, ov_SC03_089, ov_SC03_090, ov_SC03_092, ov_SC03_101, ov_SC03_104, ov_SC04_011, ov_SC05_005]
|
||||
- id: E_func_8017C770
|
||||
tier: h_exact
|
||||
hash: daeb5195207ebc60473c0a610b3a9d442361449e
|
||||
source: src/shared/engine_core.h
|
||||
func: DEFINE_func_8017C770
|
||||
vram: 0x8017C770
|
||||
binaries: [ov_SC02_000, ov_SC02_003, ov_SC01_084, ov_SC03_089, ov_SC03_090, ov_SC03_092, ov_SC03_101, ov_SC03_104, ov_SC04_011, ov_SC05_005]
|
||||
- id: E_func_8017C8B4
|
||||
tier: h_exact
|
||||
hash: 3d8efbf9d677881069864cbebe3c6180df3c7017
|
||||
source: src/shared/engine_core.h
|
||||
func: DEFINE_func_8017C8B4
|
||||
vram: 0x8017C8B4
|
||||
binaries: [ov_SC02_000, ov_SC02_003, ov_SC01_084, ov_SC03_089, ov_SC03_090, ov_SC03_092, ov_SC03_101, ov_SC03_104, ov_SC04_011, ov_SC05_005]
|
||||
- id: E_func_80182190
|
||||
tier: h_exact
|
||||
hash: 07c10fc38720a77279b32bf247a692ab5450e139
|
||||
source: src/shared/engine_core.h
|
||||
func: DEFINE_func_80182190
|
||||
vram: 0x80182190
|
||||
binaries: [ov_SC02_000, ov_SC02_003]
|
||||
- id: E_func_80187060
|
||||
tier: h_exact
|
||||
hash: 71935dc160b58270a247824240877b600df55fe1
|
||||
source: src/shared/engine_core.h
|
||||
func: DEFINE_func_80187060
|
||||
vram: 0x80187060
|
||||
binaries: [ov_SC02_000, ov_SC02_003]
|
||||
- id: E_func_80186FDC
|
||||
tier: h_exact
|
||||
hash: edd8502ee448d2b83482b1dc0852f2b24190db65
|
||||
source: src/shared/engine_core.h
|
||||
func: DEFINE_func_80186FDC
|
||||
vram: 0x80186FDC
|
||||
binaries: [ov_SC02_000, ov_SC02_003]
|
||||
- id: E_func_80183A80
|
||||
tier: h_exact
|
||||
hash: ef4ae028783b75df796ae65f7ea19a46036da101
|
||||
source: src/shared/engine_core.h
|
||||
func: DEFINE_func_80183A80
|
||||
vram: 0x80183A80
|
||||
binaries: [ov_SC02_000, ov_SC02_003]
|
||||
- id: E_func_801805F8
|
||||
tier: h_exact
|
||||
hash: fe6ef275e4eb1194d126cbde5a643d1382c88f48
|
||||
source: src/shared/engine_core.h
|
||||
func: DEFINE_func_801805F8
|
||||
vram: 0x801805F8
|
||||
binaries: [ov_SC03_014, ov_SC03_015]
|
||||
- id: E_func_80180B84
|
||||
tier: h_exact
|
||||
hash: 5c8b46bfa61de07e616d6b85ac77dda3e648f0ae
|
||||
source: src/shared/engine_core.h
|
||||
func: DEFINE_func_80180B84
|
||||
vram: 0x80180B84
|
||||
binaries: [ov_SC03_014, ov_SC03_015]
|
||||
- id: E_func_801898BC
|
||||
tier: h_exact
|
||||
hash: 00c057a5ca1675db2f564b946c148634e0c0465d
|
||||
source: src/shared/engine_core.h
|
||||
func: DEFINE_func_801898BC
|
||||
vram: 0x801898BC
|
||||
binaries: [ov_SC03_014, ov_SC03_015]
|
||||
- id: E_func_801718AC
|
||||
tier: h_exact
|
||||
hash: 42c81ec59056b92b7b1163034aba10cc8f6cf9b8
|
||||
source: src/shared/engine_core.h
|
||||
func: DEFINE_func_801718AC
|
||||
vram: 0x801718AC
|
||||
binaries: [ov_SC01_077, ov_SC01_005, ov_SC01_006, ov_SC03_001, ov_SC01_000, ov_SC01_001, ov_SC02_000, ov_SC02_003, ov_SC03_002, ov_SC03_006, ov_SC04_000, ov_SC04_018, ov_SC04_019, ov_SC05_000, ov_SC06_000, ov_SC07_000, ov_SC01_004, ov_SC01_008, ov_SC01_009, ov_SC01_074, ov_SC01_080, ov_SC01_084, ov_SC02_004, ov_SC02_005, ov_SC02_011, ov_SC02_015, ov_SC02_016, ov_SC02_017, ov_SC02_021, ov_SC02_026, ov_SC02_027, ov_SC02_028, ov_SC02_031, ov_SC02_035, ov_SC02_039, ov_SC02_041, ov_SC03_003, ov_SC03_007, ov_SC03_010, ov_SC03_011, ov_SC03_012, ov_SC03_013, ov_SC03_014, ov_SC03_015, ov_SC03_023, ov_SC03_024, ov_SC03_028, ov_SC03_029, ov_SC03_030, ov_SC03_031, ov_SC03_089, ov_SC03_090, ov_SC03_091, ov_SC03_092, ov_SC03_093, ov_SC03_094, ov_SC03_095, ov_SC03_096, ov_SC03_097, ov_SC03_098, ov_SC03_099, ov_SC03_100, ov_SC03_101, ov_SC03_102, ov_SC03_103, ov_SC03_104, ov_SC03_105, ov_SC03_108, ov_SC03_109, ov_SC03_110, ov_SC03_111, ov_SC03_112, ov_SC03_113, ov_SC03_114, ov_SC03_115, ov_SC03_116, ov_SC03_117, ov_SC03_118, ov_SC03_119, ov_SC03_121, ov_SC03_124, ov_SC03_125, ov_SC03_126, ov_SC04_002, ov_SC04_003, ov_SC04_004, ov_SC04_005, ov_SC04_006, ov_SC04_007, ov_SC04_008, ov_SC04_009, ov_SC04_010, ov_SC04_011, ov_SC04_012, ov_SC04_015, ov_SC04_016, ov_SC04_020, ov_SC04_021, ov_SC05_001, ov_SC05_002, ov_SC05_003, ov_SC05_004, ov_SC05_005, ov_SC05_006, ov_SC05_007, ov_SC05_008, ov_SC05_009, ov_SC05_010, ov_SC05_011, ov_SC05_017, ov_SC05_018, ov_SC05_019, ov_SC06_006, ov_SC06_008, ov_SC06_010, ov_SC06_011, ov_SC06_013, ov_SC06_014, ov_SC06_015, ov_SC06_016, ov_SC06_018, ov_SC06_020, ov_SC06_022, ov_SC06_024, ov_SC06_025, ov_SC06_027, ov_SC06_029, ov_SC06_030, ov_SC06_032, ov_SC06_033, ov_SC07_001, ov_SC07_002, ov_SC07_008, ov_SC07_009, ov_SC07_006, ov_SC07_007, ov_SC07_010, ov_SC07_011]
|
||||
- id: E_func_80185978
|
||||
tier: h_exact
|
||||
hash: f66a4435ed8dd1f6e4c67f4321e9ac1bcaf5e170
|
||||
source: src/shared/engine_core.h
|
||||
func: DEFINE_func_80185978
|
||||
vram: 0x80185978
|
||||
binaries: [ov_SC04_018, ov_SC04_019]
|
||||
|
||||
+1100
-1106
File diff suppressed because it is too large
Load Diff
+4
-4
@@ -2,13 +2,13 @@
|
||||
|
||||
> Generated by `tools/family_hseq.py` from the 138 overlay sigs + per-overlay src stubs. Ranked by TEMPLATABLE byte-weight (PURE+IMM members × nins × 4). The byte-gate is the arbiter.
|
||||
>
|
||||
> **Scope: the 138 OVERLAYS only** (no main, no resident) · generated at HEAD `commit:1255` · stub set derived from `corpus.stubs` — the same oracle `progress.py` counts, so same-tree overlay totals agree by construction; compare digests only at the same HEAD.
|
||||
> **Scope: the 138 OVERLAYS only** (no main, no resident) · generated at HEAD `commit:1257` · stub set derived from `corpus.stubs` — the same oracle `progress.py` counts, so same-tree overlay totals agree by construction; compare digests only at the same HEAD.
|
||||
|
||||
**Fleet (overlays):** 92.9% fn / 88.6% instr / 79.6% distinct-code matched. Unmatched: 25,089 instances / 1,485,836 ins (16,864 distinct classes).
|
||||
**Fleet (overlays):** 92.9% fn / 88.7% instr / 79.6% distinct-code matched. Unmatched: 24,890 instances / 1,481,215 ins (16,855 distinct classes).
|
||||
|
||||
**Tail cross-check (Phase-25 close):** 14,935 tail fns / 649,147 ins → 512 h_seq families ≥2, **138 substantial (nins≥80) / 261,689 ins**.
|
||||
**Tail cross-check (Phase-25 close):** 14,919 tail fns / 648,952 ins → 510 h_seq families ≥2, **138 substantial (nins≥80) / 261,689 ins**.
|
||||
|
||||
**Full frontier (all unmatched by h_seq):** 2432 target families (≥2 members or a matched sibling) + 3768 singletons (Step-D residue). Substantial: **476 families / 675,867 templatable ins**, 28 with a matched sibling (zero-crack). Substantial member classes: 3,612 PURE · 40 IMM · 6 STRUCT-excluded.
|
||||
**Full frontier (all unmatched by h_seq):** 2431 target families (≥2 members or a matched sibling) + 3768 singletons (Step-D residue). Substantial: **476 families / 675,867 templatable ins**, 28 with a matched sibling (zero-crack). Substantial member classes: 3,612 PURE · 40 IMM · 6 STRUCT-excluded.
|
||||
|
||||
|
||||
## Top substantial families (by templatable byte-weight)
|
||||
|
||||
+144
-144
@@ -4,157 +4,157 @@
|
||||
# cross-binary collapsible-byte leverage: docs/duplicates.cross.md.
|
||||
|
||||
# THREE progress metrics (all matter — see the labels):
|
||||
FLEET fn-count byte-ident: 327576 / 353720 = 92.61% (REAL+LINKED+empties; FUNCTION-count, ×134-inflated — one crack counts per overlay)
|
||||
FLEET instr-weighted : 11594524 / 13141652 = 88.2% (shipped .text across main + resident + 138 overlays; the decomp.dev-DISPLAY number)
|
||||
FLEET distinct-code(uniq): 4435219 / 5634875 = 78.7% (70581/87459 unique fns; the DISTINCT-RE number)
|
||||
FLEET fn-count byte-ident: 327775 / 353720 = 92.67% (REAL+LINKED+empties; FUNCTION-count, ×134-inflated — one crack counts per overlay)
|
||||
FLEET instr-weighted : 11599145 / 13141652 = 88.3% (shipped .text across main + resident + 138 overlays; the decomp.dev-DISPLAY number)
|
||||
FLEET distinct-code(uniq): 4435663 / 5634875 = 78.7% (70590/87459 unique fns; the DISTINCT-RE number)
|
||||
MAIN game-code weighted : 436 / 60201 = 0.7% (INCLUDED in the fleet numbers above since 2026-07-22 — roadmap §1 metrics contract; LINKED-excluding Ghidra sig dated 2026-06-14; caveat is R34: no independent second oracle for a PS-X EXE, NOT drift)
|
||||
(fleet EXCLUDING main, for continuity with pre-2026-07-22 readings: 11594088 / 13081451 = 88.6%)
|
||||
(fleet EXCLUDING main, for continuity with pre-2026-07-22 readings: 11598709 / 13081451 = 88.7%)
|
||||
|
||||
FLEET REAL substantive : 325721 (of which dedup-shared 240081 via 1890 groups / 240155 instances)
|
||||
FLEET REAL substantive : 325920 (of which dedup-shared 240285 via 1904 groups / 240359 instances)
|
||||
FLEET LINKED PsyQ objs : 959
|
||||
FLEET NON_MATCHING : 7 (0 in any default build — G4)
|
||||
FLEET INCLUDE_ASM stubs : 26137
|
||||
FLEET INCLUDE_ASM stubs : 25938
|
||||
FLEET matchable : 353720
|
||||
|
||||
| binary | REAL | shared | LINKED | byte-ident | matchable | byte-ident % |
|
||||
|---|---:|---:|---:|---:|---:|---:|
|
||||
| main | 54 | 2 | 959 | 1055 | 2096 | 50.3% |
|
||||
| resident | 129 | 0 | 0 | 131 | 145 | 90.3% |
|
||||
| ov_SC01_000 | 2322 | 1746 | 0 | 2322 | 2403 | 96.6% |
|
||||
| ov_SC01_001 | 2329 | 1747 | 0 | 2331 | 2466 | 94.5% |
|
||||
| ov_SC01_004 | 2320 | 1738 | 0 | 2321 | 2414 | 96.1% |
|
||||
| ov_SC01_005 | 2351 | 1761 | 0 | 2351 | 2503 | 93.9% |
|
||||
| ov_SC01_006 | 2351 | 1761 | 0 | 2351 | 2503 | 93.9% |
|
||||
| ov_SC01_008 | 2320 | 1738 | 0 | 2322 | 2426 | 95.7% |
|
||||
| ov_SC01_009 | 2345 | 1739 | 0 | 2346 | 2507 | 93.6% |
|
||||
| ov_SC01_074 | 2326 | 1739 | 0 | 2328 | 2425 | 96.0% |
|
||||
| ov_SC01_077 | 2501 | 1706 | 0 | 2503 | 2585 | 96.8% |
|
||||
| ov_SC01_080 | 2360 | 1742 | 0 | 2360 | 2512 | 93.9% |
|
||||
| ov_SC01_084 | 2381 | 1742 | 0 | 2386 | 2579 | 92.5% |
|
||||
| ov_SC02_000 | 2432 | 1777 | 0 | 2432 | 2683 | 90.6% |
|
||||
| ov_SC02_003 | 2427 | 1777 | 0 | 2427 | 2683 | 90.5% |
|
||||
| ov_SC02_004 | 2325 | 1742 | 0 | 2325 | 2401 | 96.8% |
|
||||
| ov_SC02_005 | 2462 | 1738 | 0 | 2472 | 2927 | 84.5% |
|
||||
| ov_SC02_011 | 2473 | 1745 | 0 | 2484 | 2893 | 85.9% |
|
||||
| ov_SC02_015 | 2330 | 1744 | 0 | 2330 | 2414 | 96.5% |
|
||||
| ov_SC02_016 | 2374 | 1744 | 0 | 2377 | 2545 | 93.4% |
|
||||
| ov_SC02_017 | 2432 | 1744 | 0 | 2440 | 2732 | 89.3% |
|
||||
| ov_SC02_021 | 2335 | 1744 | 0 | 2335 | 2437 | 95.8% |
|
||||
| ov_SC02_026 | 2362 | 1742 | 0 | 2368 | 2572 | 92.1% |
|
||||
| ov_SC02_027 | 2388 | 1742 | 0 | 2397 | 2692 | 89.0% |
|
||||
| ov_SC02_028 | 2386 | 1742 | 0 | 2396 | 2701 | 88.7% |
|
||||
| ov_SC02_031 | 2373 | 1743 | 0 | 2378 | 2562 | 92.8% |
|
||||
| ov_SC02_035 | 2344 | 1742 | 0 | 2347 | 2520 | 93.1% |
|
||||
| ov_SC02_039 | 2324 | 1742 | 0 | 2324 | 2416 | 96.2% |
|
||||
| ov_SC02_041 | 2373 | 1742 | 0 | 2376 | 2561 | 92.8% |
|
||||
| ov_SC03_001 | 2475 | 1743 | 0 | 2492 | 2869 | 86.9% |
|
||||
| ov_SC03_002 | 2387 | 1747 | 0 | 2402 | 2631 | 91.3% |
|
||||
| ov_SC03_003 | 2331 | 1742 | 0 | 2332 | 2423 | 96.2% |
|
||||
| ov_SC03_006 | 2417 | 1748 | 0 | 2426 | 2767 | 87.7% |
|
||||
| ov_SC03_007 | 2385 | 1742 | 0 | 2389 | 2623 | 91.1% |
|
||||
| ov_SC03_010 | 2343 | 1742 | 0 | 2343 | 2471 | 94.8% |
|
||||
| ov_SC03_011 | 2347 | 1742 | 0 | 2353 | 2527 | 93.1% |
|
||||
| ov_SC03_012 | 2322 | 1742 | 0 | 2323 | 2406 | 96.6% |
|
||||
| ov_SC03_013 | 2349 | 1742 | 0 | 2349 | 2493 | 94.2% |
|
||||
| ov_SC03_014 | 2422 | 1767 | 0 | 2422 | 2685 | 90.2% |
|
||||
| ov_SC03_015 | 2419 | 1767 | 0 | 2419 | 2685 | 90.1% |
|
||||
| ov_SC03_023 | 2333 | 1742 | 0 | 2334 | 2435 | 95.9% |
|
||||
| ov_SC03_024 | 2399 | 1747 | 0 | 2406 | 2641 | 91.1% |
|
||||
| ov_SC03_028 | 2369 | 1742 | 0 | 2373 | 2664 | 89.1% |
|
||||
| ov_SC03_029 | 2386 | 1744 | 0 | 2396 | 2644 | 90.6% |
|
||||
| ov_SC03_030 | 2344 | 1747 | 0 | 2346 | 2495 | 94.0% |
|
||||
| ov_SC03_031 | 2345 | 1742 | 0 | 2348 | 2514 | 93.4% |
|
||||
| ov_SC03_089 | 2365 | 1742 | 0 | 2372 | 2581 | 91.9% |
|
||||
| ov_SC03_090 | 2368 | 1742 | 0 | 2376 | 2625 | 90.5% |
|
||||
| ov_SC03_091 | 2370 | 1742 | 0 | 2378 | 2640 | 90.1% |
|
||||
| ov_SC03_092 | 2388 | 1742 | 0 | 2400 | 2587 | 92.8% |
|
||||
| ov_SC03_093 | 2358 | 1742 | 0 | 2362 | 2563 | 92.2% |
|
||||
| ov_SC03_094 | 2349 | 1742 | 0 | 2355 | 2577 | 91.4% |
|
||||
| ov_SC03_095 | 2337 | 1742 | 0 | 2340 | 2474 | 94.6% |
|
||||
| ov_SC03_096 | 2338 | 1742 | 0 | 2341 | 2465 | 95.0% |
|
||||
| ov_SC03_097 | 2380 | 1742 | 0 | 2387 | 2603 | 91.7% |
|
||||
| ov_SC03_098 | 2349 | 1742 | 0 | 2352 | 2541 | 92.6% |
|
||||
| ov_SC03_099 | 2339 | 1742 | 0 | 2342 | 2504 | 93.5% |
|
||||
| ov_SC03_100 | 2353 | 1742 | 0 | 2357 | 2539 | 92.8% |
|
||||
| ov_SC03_101 | 2356 | 1742 | 0 | 2360 | 2528 | 93.4% |
|
||||
| ov_SC03_102 | 2339 | 1742 | 0 | 2342 | 2492 | 94.0% |
|
||||
| ov_SC03_103 | 2344 | 1744 | 0 | 2347 | 2510 | 93.5% |
|
||||
| ov_SC03_104 | 2374 | 1742 | 0 | 2381 | 2616 | 91.0% |
|
||||
| ov_SC03_105 | 2359 | 1742 | 0 | 2366 | 2597 | 91.1% |
|
||||
| ov_SC03_108 | 2327 | 1742 | 0 | 2327 | 2443 | 95.3% |
|
||||
| ov_SC03_109 | 2330 | 1742 | 0 | 2332 | 2424 | 96.2% |
|
||||
| ov_SC03_110 | 2335 | 1742 | 0 | 2335 | 2468 | 94.6% |
|
||||
| ov_SC03_111 | 2351 | 1742 | 0 | 2354 | 2510 | 93.8% |
|
||||
| ov_SC03_112 | 2345 | 1744 | 0 | 2347 | 2526 | 92.9% |
|
||||
| ov_SC03_113 | 2334 | 1744 | 0 | 2337 | 2468 | 94.7% |
|
||||
| ov_SC03_114 | 2320 | 1742 | 0 | 2322 | 2415 | 96.1% |
|
||||
| ov_SC03_115 | 2342 | 1742 | 0 | 2344 | 2472 | 94.8% |
|
||||
| ov_SC03_116 | 2328 | 1742 | 0 | 2331 | 2438 | 95.6% |
|
||||
| ov_SC03_117 | 2366 | 1742 | 0 | 2372 | 2557 | 92.8% |
|
||||
| ov_SC03_118 | 2416 | 1766 | 0 | 2417 | 2685 | 90.0% |
|
||||
| ov_SC03_119 | 2412 | 1766 | 0 | 2413 | 2685 | 89.9% |
|
||||
| ov_SC03_121 | 2336 | 1742 | 0 | 2339 | 2459 | 95.1% |
|
||||
| ov_SC03_124 | 2430 | 1738 | 0 | 2450 | 2741 | 89.4% |
|
||||
| ov_SC03_125 | 2374 | 1742 | 0 | 2386 | 2588 | 92.2% |
|
||||
| ov_SC03_126 | 2333 | 1744 | 0 | 2333 | 2423 | 96.3% |
|
||||
| ov_SC04_000 | 2360 | 1746 | 0 | 2369 | 2546 | 93.0% |
|
||||
| ov_SC04_002 | 2384 | 1742 | 0 | 2388 | 2636 | 90.6% |
|
||||
| ov_SC04_003 | 2348 | 1742 | 0 | 2352 | 2502 | 94.0% |
|
||||
| ov_SC04_004 | 2361 | 1742 | 0 | 2363 | 2558 | 92.4% |
|
||||
| ov_SC04_005 | 2373 | 1742 | 0 | 2379 | 2612 | 91.1% |
|
||||
| ov_SC04_006 | 2337 | 1742 | 0 | 2339 | 2454 | 95.3% |
|
||||
| ov_SC04_007 | 2367 | 1742 | 0 | 2371 | 2569 | 92.3% |
|
||||
| ov_SC04_008 | 2325 | 1742 | 0 | 2325 | 2415 | 96.3% |
|
||||
| ov_SC04_009 | 2341 | 1742 | 0 | 2344 | 2441 | 96.0% |
|
||||
| ov_SC04_010 | 2329 | 1742 | 0 | 2330 | 2419 | 96.3% |
|
||||
| ov_SC04_011 | 2397 | 1742 | 0 | 2403 | 2803 | 85.7% |
|
||||
| ov_SC04_012 | 2327 | 1742 | 0 | 2328 | 2420 | 96.2% |
|
||||
| ov_SC04_015 | 2399 | 1743 | 0 | 2410 | 2611 | 92.3% |
|
||||
| ov_SC04_016 | 2329 | 1742 | 0 | 2331 | 2440 | 95.5% |
|
||||
| ov_SC04_018 | 2481 | 1777 | 0 | 2481 | 2857 | 86.8% |
|
||||
| ov_SC04_019 | 2476 | 1777 | 0 | 2476 | 2857 | 86.7% |
|
||||
| ov_SC04_020 | 2362 | 1742 | 0 | 2374 | 2567 | 92.5% |
|
||||
| ov_SC04_021 | 2333 | 1744 | 0 | 2333 | 2423 | 96.3% |
|
||||
| ov_SC05_000 | 2331 | 1746 | 0 | 2334 | 2422 | 96.4% |
|
||||
| ov_SC05_001 | 2363 | 1742 | 0 | 2368 | 2574 | 92.0% |
|
||||
| ov_SC05_002 | 2339 | 1742 | 0 | 2342 | 2442 | 95.9% |
|
||||
| ov_SC05_003 | 2335 | 1742 | 0 | 2336 | 2481 | 94.2% |
|
||||
| ov_SC05_004 | 2330 | 1742 | 0 | 2332 | 2464 | 94.6% |
|
||||
| ov_SC05_005 | 2341 | 1742 | 0 | 2342 | 2491 | 94.0% |
|
||||
| ov_SC05_006 | 2331 | 1742 | 0 | 2331 | 2430 | 95.9% |
|
||||
| ov_SC05_007 | 2340 | 1742 | 0 | 2345 | 2482 | 94.5% |
|
||||
| ov_SC05_008 | 2358 | 1742 | 0 | 2360 | 2543 | 92.8% |
|
||||
| ov_SC05_009 | 2333 | 1742 | 0 | 2337 | 2438 | 95.9% |
|
||||
| ov_SC05_010 | 2364 | 1742 | 0 | 2368 | 2588 | 91.5% |
|
||||
| ov_SC05_011 | 2328 | 1742 | 0 | 2329 | 2409 | 96.7% |
|
||||
| ov_SC05_017 | 2459 | 1739 | 0 | 2470 | 2842 | 86.9% |
|
||||
| ov_SC05_018 | 2393 | 1742 | 0 | 2406 | 2673 | 90.0% |
|
||||
| ov_SC05_019 | 2333 | 1744 | 0 | 2333 | 2423 | 96.3% |
|
||||
| ov_SC06_000 | 2418 | 1751 | 0 | 2421 | 2691 | 90.0% |
|
||||
| ov_SC06_006 | 2352 | 1742 | 0 | 2353 | 2511 | 93.7% |
|
||||
| ov_SC06_008 | 2377 | 1744 | 0 | 2383 | 2542 | 93.7% |
|
||||
| ov_SC06_010 | 2356 | 1742 | 0 | 2361 | 2517 | 93.8% |
|
||||
| ov_SC06_011 | 2337 | 1742 | 0 | 2341 | 2468 | 94.9% |
|
||||
| ov_SC06_013 | 2331 | 1742 | 0 | 2332 | 2425 | 96.2% |
|
||||
| ov_SC06_014 | 2338 | 1742 | 0 | 2340 | 2453 | 95.4% |
|
||||
| ov_SC06_015 | 2336 | 1742 | 0 | 2336 | 2421 | 96.5% |
|
||||
| ov_SC06_016 | 2353 | 1742 | 0 | 2355 | 2549 | 92.4% |
|
||||
| ov_SC06_018 | 2380 | 1744 | 0 | 2387 | 2665 | 89.6% |
|
||||
| ov_SC06_020 | 2348 | 1744 | 0 | 2349 | 2518 | 93.3% |
|
||||
| ov_SC06_022 | 2373 | 1742 | 0 | 2381 | 2642 | 90.1% |
|
||||
| ov_SC06_024 | 2384 | 1742 | 0 | 2390 | 2667 | 89.6% |
|
||||
| ov_SC06_025 | 2363 | 1742 | 0 | 2368 | 2572 | 92.1% |
|
||||
| ov_SC06_027 | 2323 | 1742 | 0 | 2324 | 2408 | 96.5% |
|
||||
| ov_SC06_029 | 2388 | 1742 | 0 | 2400 | 2662 | 90.2% |
|
||||
| ov_SC06_030 | 2336 | 1742 | 0 | 2336 | 2456 | 95.1% |
|
||||
| ov_SC06_032 | 2370 | 1743 | 0 | 2377 | 2658 | 89.4% |
|
||||
| ov_SC06_033 | 2370 | 1743 | 0 | 2377 | 2631 | 90.3% |
|
||||
| ov_SC07_000 | 2349 | 1746 | 0 | 2351 | 2521 | 93.3% |
|
||||
| ov_SC07_001 | 2335 | 1742 | 0 | 2337 | 2454 | 95.2% |
|
||||
| ov_SC07_002 | 2363 | 1742 | 0 | 2367 | 2579 | 91.8% |
|
||||
| ov_SC07_006 | 2220 | 1558 | 0 | 2300 | 2456 | 93.6% |
|
||||
| ov_SC07_007 | 2240 | 1590 | 0 | 2324 | 2613 | 88.9% |
|
||||
| ov_SC07_008 | 2317 | 1742 | 0 | 2317 | 2386 | 97.1% |
|
||||
| ov_SC07_009 | 2327 | 1742 | 0 | 2329 | 2430 | 95.8% |
|
||||
| ov_SC07_010 | 2243 | 1612 | 0 | 2326 | 2524 | 92.2% |
|
||||
| ov_SC07_011 | 2240 | 1589 | 0 | 2320 | 2449 | 94.7% |
|
||||
| ov_SC01_000 | 2323 | 1747 | 0 | 2323 | 2403 | 96.7% |
|
||||
| ov_SC01_001 | 2330 | 1748 | 0 | 2332 | 2466 | 94.6% |
|
||||
| ov_SC01_004 | 2321 | 1739 | 0 | 2322 | 2414 | 96.2% |
|
||||
| ov_SC01_005 | 2352 | 1762 | 0 | 2352 | 2503 | 94.0% |
|
||||
| ov_SC01_006 | 2352 | 1762 | 0 | 2352 | 2503 | 94.0% |
|
||||
| ov_SC01_008 | 2321 | 1739 | 0 | 2323 | 2426 | 95.8% |
|
||||
| ov_SC01_009 | 2346 | 1740 | 0 | 2347 | 2507 | 93.6% |
|
||||
| ov_SC01_074 | 2327 | 1740 | 0 | 2329 | 2425 | 96.0% |
|
||||
| ov_SC01_077 | 2501 | 1707 | 0 | 2503 | 2585 | 96.8% |
|
||||
| ov_SC01_080 | 2361 | 1743 | 0 | 2361 | 2512 | 94.0% |
|
||||
| ov_SC01_084 | 2382 | 1748 | 0 | 2387 | 2579 | 92.6% |
|
||||
| ov_SC02_000 | 2438 | 1787 | 0 | 2438 | 2683 | 90.9% |
|
||||
| ov_SC02_003 | 2437 | 1787 | 0 | 2437 | 2683 | 90.8% |
|
||||
| ov_SC02_004 | 2326 | 1743 | 0 | 2326 | 2401 | 96.9% |
|
||||
| ov_SC02_005 | 2463 | 1739 | 0 | 2473 | 2927 | 84.5% |
|
||||
| ov_SC02_011 | 2474 | 1746 | 0 | 2485 | 2893 | 85.9% |
|
||||
| ov_SC02_015 | 2331 | 1745 | 0 | 2331 | 2414 | 96.6% |
|
||||
| ov_SC02_016 | 2375 | 1745 | 0 | 2378 | 2545 | 93.4% |
|
||||
| ov_SC02_017 | 2434 | 1745 | 0 | 2442 | 2732 | 89.4% |
|
||||
| ov_SC02_021 | 2336 | 1745 | 0 | 2336 | 2437 | 95.9% |
|
||||
| ov_SC02_026 | 2363 | 1743 | 0 | 2369 | 2572 | 92.1% |
|
||||
| ov_SC02_027 | 2390 | 1743 | 0 | 2399 | 2692 | 89.1% |
|
||||
| ov_SC02_028 | 2387 | 1743 | 0 | 2397 | 2701 | 88.7% |
|
||||
| ov_SC02_031 | 2374 | 1744 | 0 | 2379 | 2562 | 92.9% |
|
||||
| ov_SC02_035 | 2348 | 1743 | 0 | 2351 | 2520 | 93.3% |
|
||||
| ov_SC02_039 | 2325 | 1743 | 0 | 2325 | 2416 | 96.2% |
|
||||
| ov_SC02_041 | 2375 | 1743 | 0 | 2378 | 2561 | 92.9% |
|
||||
| ov_SC03_001 | 2476 | 1744 | 0 | 2493 | 2869 | 86.9% |
|
||||
| ov_SC03_002 | 2388 | 1748 | 0 | 2403 | 2631 | 91.3% |
|
||||
| ov_SC03_003 | 2332 | 1743 | 0 | 2333 | 2423 | 96.3% |
|
||||
| ov_SC03_006 | 2418 | 1749 | 0 | 2427 | 2767 | 87.7% |
|
||||
| ov_SC03_007 | 2386 | 1743 | 0 | 2390 | 2623 | 91.1% |
|
||||
| ov_SC03_010 | 2344 | 1743 | 0 | 2344 | 2471 | 94.9% |
|
||||
| ov_SC03_011 | 2348 | 1743 | 0 | 2354 | 2527 | 93.2% |
|
||||
| ov_SC03_012 | 2323 | 1743 | 0 | 2324 | 2406 | 96.6% |
|
||||
| ov_SC03_013 | 2350 | 1743 | 0 | 2350 | 2493 | 94.3% |
|
||||
| ov_SC03_014 | 2424 | 1771 | 0 | 2424 | 2685 | 90.3% |
|
||||
| ov_SC03_015 | 2423 | 1771 | 0 | 2423 | 2685 | 90.2% |
|
||||
| ov_SC03_023 | 2334 | 1743 | 0 | 2335 | 2435 | 95.9% |
|
||||
| ov_SC03_024 | 2400 | 1748 | 0 | 2407 | 2641 | 91.1% |
|
||||
| ov_SC03_028 | 2370 | 1743 | 0 | 2374 | 2664 | 89.1% |
|
||||
| ov_SC03_029 | 2387 | 1745 | 0 | 2397 | 2644 | 90.7% |
|
||||
| ov_SC03_030 | 2345 | 1748 | 0 | 2347 | 2495 | 94.1% |
|
||||
| ov_SC03_031 | 2346 | 1743 | 0 | 2349 | 2514 | 93.4% |
|
||||
| ov_SC03_089 | 2371 | 1748 | 0 | 2378 | 2581 | 92.1% |
|
||||
| ov_SC03_090 | 2374 | 1748 | 0 | 2382 | 2625 | 90.7% |
|
||||
| ov_SC03_091 | 2371 | 1743 | 0 | 2379 | 2640 | 90.1% |
|
||||
| ov_SC03_092 | 2394 | 1748 | 0 | 2406 | 2587 | 93.0% |
|
||||
| ov_SC03_093 | 2359 | 1743 | 0 | 2363 | 2563 | 92.2% |
|
||||
| ov_SC03_094 | 2350 | 1743 | 0 | 2356 | 2577 | 91.4% |
|
||||
| ov_SC03_095 | 2338 | 1743 | 0 | 2341 | 2474 | 94.6% |
|
||||
| ov_SC03_096 | 2339 | 1743 | 0 | 2342 | 2465 | 95.0% |
|
||||
| ov_SC03_097 | 2381 | 1743 | 0 | 2388 | 2603 | 91.7% |
|
||||
| ov_SC03_098 | 2350 | 1743 | 0 | 2353 | 2541 | 92.6% |
|
||||
| ov_SC03_099 | 2340 | 1743 | 0 | 2343 | 2504 | 93.6% |
|
||||
| ov_SC03_100 | 2354 | 1743 | 0 | 2358 | 2539 | 92.9% |
|
||||
| ov_SC03_101 | 2362 | 1748 | 0 | 2366 | 2528 | 93.6% |
|
||||
| ov_SC03_102 | 2340 | 1743 | 0 | 2343 | 2492 | 94.0% |
|
||||
| ov_SC03_103 | 2345 | 1745 | 0 | 2348 | 2510 | 93.5% |
|
||||
| ov_SC03_104 | 2380 | 1748 | 0 | 2387 | 2616 | 91.2% |
|
||||
| ov_SC03_105 | 2360 | 1743 | 0 | 2367 | 2597 | 91.1% |
|
||||
| ov_SC03_108 | 2328 | 1743 | 0 | 2328 | 2443 | 95.3% |
|
||||
| ov_SC03_109 | 2331 | 1743 | 0 | 2333 | 2424 | 96.2% |
|
||||
| ov_SC03_110 | 2336 | 1743 | 0 | 2336 | 2468 | 94.7% |
|
||||
| ov_SC03_111 | 2352 | 1743 | 0 | 2355 | 2510 | 93.8% |
|
||||
| ov_SC03_112 | 2346 | 1745 | 0 | 2348 | 2526 | 93.0% |
|
||||
| ov_SC03_113 | 2335 | 1745 | 0 | 2338 | 2468 | 94.7% |
|
||||
| ov_SC03_114 | 2321 | 1743 | 0 | 2323 | 2415 | 96.2% |
|
||||
| ov_SC03_115 | 2343 | 1743 | 0 | 2345 | 2472 | 94.9% |
|
||||
| ov_SC03_116 | 2329 | 1743 | 0 | 2332 | 2438 | 95.7% |
|
||||
| ov_SC03_117 | 2367 | 1743 | 0 | 2373 | 2557 | 92.8% |
|
||||
| ov_SC03_118 | 2417 | 1767 | 0 | 2418 | 2685 | 90.1% |
|
||||
| ov_SC03_119 | 2413 | 1767 | 0 | 2414 | 2685 | 89.9% |
|
||||
| ov_SC03_121 | 2337 | 1743 | 0 | 2340 | 2459 | 95.2% |
|
||||
| ov_SC03_124 | 2431 | 1739 | 0 | 2451 | 2741 | 89.4% |
|
||||
| ov_SC03_125 | 2375 | 1743 | 0 | 2387 | 2588 | 92.2% |
|
||||
| ov_SC03_126 | 2334 | 1745 | 0 | 2334 | 2423 | 96.3% |
|
||||
| ov_SC04_000 | 2361 | 1747 | 0 | 2370 | 2546 | 93.1% |
|
||||
| ov_SC04_002 | 2385 | 1743 | 0 | 2389 | 2636 | 90.6% |
|
||||
| ov_SC04_003 | 2349 | 1743 | 0 | 2353 | 2502 | 94.0% |
|
||||
| ov_SC04_004 | 2362 | 1743 | 0 | 2364 | 2558 | 92.4% |
|
||||
| ov_SC04_005 | 2374 | 1743 | 0 | 2380 | 2612 | 91.1% |
|
||||
| ov_SC04_006 | 2338 | 1743 | 0 | 2340 | 2454 | 95.4% |
|
||||
| ov_SC04_007 | 2368 | 1743 | 0 | 2372 | 2569 | 92.3% |
|
||||
| ov_SC04_008 | 2326 | 1743 | 0 | 2326 | 2415 | 96.3% |
|
||||
| ov_SC04_009 | 2342 | 1743 | 0 | 2345 | 2441 | 96.1% |
|
||||
| ov_SC04_010 | 2330 | 1743 | 0 | 2331 | 2419 | 96.4% |
|
||||
| ov_SC04_011 | 2405 | 1748 | 0 | 2411 | 2803 | 86.0% |
|
||||
| ov_SC04_012 | 2328 | 1743 | 0 | 2329 | 2420 | 96.2% |
|
||||
| ov_SC04_015 | 2400 | 1744 | 0 | 2411 | 2611 | 92.3% |
|
||||
| ov_SC04_016 | 2330 | 1743 | 0 | 2332 | 2440 | 95.6% |
|
||||
| ov_SC04_018 | 2482 | 1779 | 0 | 2482 | 2857 | 86.9% |
|
||||
| ov_SC04_019 | 2478 | 1779 | 0 | 2478 | 2857 | 86.7% |
|
||||
| ov_SC04_020 | 2363 | 1743 | 0 | 2375 | 2567 | 92.5% |
|
||||
| ov_SC04_021 | 2334 | 1745 | 0 | 2334 | 2423 | 96.3% |
|
||||
| ov_SC05_000 | 2332 | 1747 | 0 | 2335 | 2422 | 96.4% |
|
||||
| ov_SC05_001 | 2364 | 1743 | 0 | 2369 | 2574 | 92.0% |
|
||||
| ov_SC05_002 | 2340 | 1743 | 0 | 2343 | 2442 | 95.9% |
|
||||
| ov_SC05_003 | 2336 | 1743 | 0 | 2337 | 2481 | 94.2% |
|
||||
| ov_SC05_004 | 2331 | 1743 | 0 | 2333 | 2464 | 94.7% |
|
||||
| ov_SC05_005 | 2347 | 1748 | 0 | 2348 | 2491 | 94.3% |
|
||||
| ov_SC05_006 | 2332 | 1743 | 0 | 2332 | 2430 | 96.0% |
|
||||
| ov_SC05_007 | 2341 | 1743 | 0 | 2346 | 2482 | 94.5% |
|
||||
| ov_SC05_008 | 2359 | 1743 | 0 | 2361 | 2543 | 92.8% |
|
||||
| ov_SC05_009 | 2334 | 1743 | 0 | 2338 | 2438 | 95.9% |
|
||||
| ov_SC05_010 | 2365 | 1743 | 0 | 2369 | 2588 | 91.5% |
|
||||
| ov_SC05_011 | 2329 | 1743 | 0 | 2330 | 2409 | 96.7% |
|
||||
| ov_SC05_017 | 2460 | 1740 | 0 | 2471 | 2842 | 86.9% |
|
||||
| ov_SC05_018 | 2394 | 1743 | 0 | 2407 | 2673 | 90.0% |
|
||||
| ov_SC05_019 | 2334 | 1745 | 0 | 2334 | 2423 | 96.3% |
|
||||
| ov_SC06_000 | 2419 | 1752 | 0 | 2422 | 2691 | 90.0% |
|
||||
| ov_SC06_006 | 2353 | 1743 | 0 | 2354 | 2511 | 93.7% |
|
||||
| ov_SC06_008 | 2378 | 1745 | 0 | 2384 | 2542 | 93.8% |
|
||||
| ov_SC06_010 | 2357 | 1743 | 0 | 2362 | 2517 | 93.8% |
|
||||
| ov_SC06_011 | 2338 | 1743 | 0 | 2342 | 2468 | 94.9% |
|
||||
| ov_SC06_013 | 2332 | 1743 | 0 | 2333 | 2425 | 96.2% |
|
||||
| ov_SC06_014 | 2339 | 1743 | 0 | 2341 | 2453 | 95.4% |
|
||||
| ov_SC06_015 | 2337 | 1743 | 0 | 2337 | 2421 | 96.5% |
|
||||
| ov_SC06_016 | 2354 | 1743 | 0 | 2356 | 2549 | 92.4% |
|
||||
| ov_SC06_018 | 2381 | 1745 | 0 | 2388 | 2665 | 89.6% |
|
||||
| ov_SC06_020 | 2349 | 1745 | 0 | 2350 | 2518 | 93.3% |
|
||||
| ov_SC06_022 | 2374 | 1743 | 0 | 2382 | 2642 | 90.2% |
|
||||
| ov_SC06_024 | 2385 | 1743 | 0 | 2391 | 2667 | 89.7% |
|
||||
| ov_SC06_025 | 2364 | 1743 | 0 | 2369 | 2572 | 92.1% |
|
||||
| ov_SC06_027 | 2324 | 1743 | 0 | 2325 | 2408 | 96.6% |
|
||||
| ov_SC06_029 | 2389 | 1743 | 0 | 2401 | 2662 | 90.2% |
|
||||
| ov_SC06_030 | 2337 | 1743 | 0 | 2337 | 2456 | 95.2% |
|
||||
| ov_SC06_032 | 2371 | 1744 | 0 | 2378 | 2658 | 89.5% |
|
||||
| ov_SC06_033 | 2371 | 1744 | 0 | 2378 | 2631 | 90.4% |
|
||||
| ov_SC07_000 | 2350 | 1747 | 0 | 2352 | 2521 | 93.3% |
|
||||
| ov_SC07_001 | 2336 | 1743 | 0 | 2338 | 2454 | 95.3% |
|
||||
| ov_SC07_002 | 2364 | 1743 | 0 | 2368 | 2579 | 91.8% |
|
||||
| ov_SC07_006 | 2221 | 1559 | 0 | 2301 | 2456 | 93.7% |
|
||||
| ov_SC07_007 | 2241 | 1591 | 0 | 2325 | 2613 | 89.0% |
|
||||
| ov_SC07_008 | 2318 | 1743 | 0 | 2318 | 2386 | 97.2% |
|
||||
| ov_SC07_009 | 2328 | 1743 | 0 | 2330 | 2430 | 95.9% |
|
||||
| ov_SC07_010 | 2244 | 1613 | 0 | 2327 | 2524 | 92.2% |
|
||||
| ov_SC07_011 | 2241 | 1590 | 0 | 2321 | 2449 | 94.8% |
|
||||
|
||||
@@ -4350,7 +4350,7 @@ DEFINE_func_80171854() /* dedup: shared engine-core @0x80171854 (src/shared) */
|
||||
|
||||
DEFINE_func_80171884() /* dedup: shared engine-core @0x80171884 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC01_000/nonmatchings/ov_SC01_000_jr_8016AB6C", func_801718AC);
|
||||
DEFINE_func_801718AC() /* dedup: shared engine-core @0x801718AC (src/shared) */
|
||||
|
||||
DEFINE_func_80171904() /* dedup: shared engine-core @0x80171904 (src/shared) */
|
||||
|
||||
|
||||
@@ -4348,7 +4348,7 @@ DEFINE_func_80171854() /* dedup: shared engine-core @0x80171854 (src/shared) */
|
||||
|
||||
DEFINE_func_80171884() /* dedup: shared engine-core @0x80171884 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC01_001/nonmatchings/ov_SC01_001_jr_8016AB6C", func_801718AC);
|
||||
DEFINE_func_801718AC() /* dedup: shared engine-core @0x801718AC (src/shared) */
|
||||
|
||||
DEFINE_func_80171904() /* dedup: shared engine-core @0x80171904 (src/shared) */
|
||||
|
||||
|
||||
@@ -4348,7 +4348,7 @@ DEFINE_func_80171854() /* dedup: shared engine-core @0x80171854 (src/shared) */
|
||||
|
||||
DEFINE_func_80171884() /* dedup: shared engine-core @0x80171884 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC01_004/nonmatchings/ov_SC01_004_jr_8016AB6C", func_801718AC);
|
||||
DEFINE_func_801718AC() /* dedup: shared engine-core @0x801718AC (src/shared) */
|
||||
|
||||
DEFINE_func_80171904() /* dedup: shared engine-core @0x80171904 (src/shared) */
|
||||
|
||||
|
||||
@@ -4348,7 +4348,7 @@ DEFINE_func_80171854() /* dedup: shared engine-core @0x80171854 (src/shared) */
|
||||
|
||||
DEFINE_func_80171884() /* dedup: shared engine-core @0x80171884 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC01_005/nonmatchings/ov_SC01_005_jr_8016AB6C", func_801718AC);
|
||||
DEFINE_func_801718AC() /* dedup: shared engine-core @0x801718AC (src/shared) */
|
||||
|
||||
DEFINE_func_80171904() /* dedup: shared engine-core @0x80171904 (src/shared) */
|
||||
|
||||
|
||||
@@ -4348,7 +4348,7 @@ DEFINE_func_80171854() /* dedup: shared engine-core @0x80171854 (src/shared) */
|
||||
|
||||
DEFINE_func_80171884() /* dedup: shared engine-core @0x80171884 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC01_006/nonmatchings/ov_SC01_006_jr_8016AB6C", func_801718AC);
|
||||
DEFINE_func_801718AC() /* dedup: shared engine-core @0x801718AC (src/shared) */
|
||||
|
||||
DEFINE_func_80171904() /* dedup: shared engine-core @0x80171904 (src/shared) */
|
||||
|
||||
|
||||
@@ -4347,7 +4347,7 @@ DEFINE_func_80171854() /* dedup: shared engine-core @0x80171854 (src/shared) */
|
||||
|
||||
DEFINE_func_80171884() /* dedup: shared engine-core @0x80171884 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC01_008/nonmatchings/ov_SC01_008_jr_8016AB6C", func_801718AC);
|
||||
DEFINE_func_801718AC() /* dedup: shared engine-core @0x801718AC (src/shared) */
|
||||
|
||||
DEFINE_func_80171904() /* dedup: shared engine-core @0x80171904 (src/shared) */
|
||||
|
||||
|
||||
@@ -4347,7 +4347,7 @@ DEFINE_func_80171854() /* dedup: shared engine-core @0x80171854 (src/shared) */
|
||||
|
||||
DEFINE_func_80171884() /* dedup: shared engine-core @0x80171884 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC01_009/nonmatchings/ov_SC01_009_jr_8016AB6C", func_801718AC);
|
||||
DEFINE_func_801718AC() /* dedup: shared engine-core @0x801718AC (src/shared) */
|
||||
|
||||
DEFINE_func_80171904() /* dedup: shared engine-core @0x80171904 (src/shared) */
|
||||
|
||||
|
||||
@@ -4347,7 +4347,7 @@ DEFINE_func_80171854() /* dedup: shared engine-core @0x80171854 (src/shared) */
|
||||
|
||||
DEFINE_func_80171884() /* dedup: shared engine-core @0x80171884 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC01_074/nonmatchings/ov_SC01_074_jr_8016AB6C", func_801718AC);
|
||||
DEFINE_func_801718AC() /* dedup: shared engine-core @0x801718AC (src/shared) */
|
||||
|
||||
DEFINE_func_80171904() /* dedup: shared engine-core @0x80171904 (src/shared) */
|
||||
|
||||
|
||||
@@ -4524,19 +4524,7 @@ DEFINE_func_80171884() /* dedup: shared engine-core @0x80171884 (src/shared) */
|
||||
|
||||
#include "common.h"
|
||||
|
||||
extern s32 D_80126B58;
|
||||
extern s32 D_80126D50;
|
||||
extern s32 D_80126D54;
|
||||
extern u8 D_80126D6C;
|
||||
|
||||
extern void func_80171A1C(u8 *a0);
|
||||
|
||||
void func_801718AC(void *arg0) {
|
||||
D_80126D54 = (s32)arg0;
|
||||
D_80126D6C = 0;
|
||||
D_80126D50 = *(s32 *)arg0 | (D_80126D50 & 0x7F000000);
|
||||
func_80171A1C((u8 *)&D_80126B58);
|
||||
}
|
||||
DEFINE_func_801718AC() /* dedup: shared engine-core @0x801718AC (src/shared) */
|
||||
|
||||
|
||||
DEFINE_func_80171904() /* dedup: shared engine-core @0x80171904 (src/shared) */
|
||||
|
||||
@@ -4347,7 +4347,7 @@ DEFINE_func_80171854() /* dedup: shared engine-core @0x80171854 (src/shared) */
|
||||
|
||||
DEFINE_func_80171884() /* dedup: shared engine-core @0x80171884 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC01_080/nonmatchings/ov_SC01_080_jr_8016AB6C", func_801718AC);
|
||||
DEFINE_func_801718AC() /* dedup: shared engine-core @0x801718AC (src/shared) */
|
||||
|
||||
DEFINE_func_80171904() /* dedup: shared engine-core @0x80171904 (src/shared) */
|
||||
|
||||
|
||||
@@ -4348,7 +4348,7 @@ DEFINE_func_80171854() /* dedup: shared engine-core @0x80171854 (src/shared) */
|
||||
|
||||
DEFINE_func_80171884() /* dedup: shared engine-core @0x80171884 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC01_084/nonmatchings/ov_SC01_084_jr_8016AB6C", func_801718AC);
|
||||
DEFINE_func_801718AC() /* dedup: shared engine-core @0x801718AC (src/shared) */
|
||||
|
||||
DEFINE_func_80171904() /* dedup: shared engine-core @0x80171904 (src/shared) */
|
||||
|
||||
|
||||
@@ -3352,15 +3352,7 @@ void func_8017BEF8(void *a0) {
|
||||
* §3-T4: target is `bnez $v0, .L` => source condition is `== 0`.
|
||||
*/
|
||||
|
||||
extern void func_80147324(s32 arg0);
|
||||
|
||||
void func_8017BF34(void *a0)
|
||||
{
|
||||
if (*(s32 *)((s32)a0 + 0x30) == 0) {
|
||||
func_80147324(*(u16 *)((s32)a0 + 0x2E));
|
||||
}
|
||||
*(u16 *)((s32)a0 + 0x2) = *(u16 *)((s32)a0 + 0x2) + 1;
|
||||
}
|
||||
DEFINE_func_8017BF34() /* dedup: shared engine-core @0x8017BF34 (src/shared) */
|
||||
|
||||
|
||||
// @class: plumbing
|
||||
@@ -3439,21 +3431,7 @@ INCLUDE_ASM("asm/ov_SC01_084/nonmatchings/ov_SC01_084_jr_8017AE2C", func_8017C06
|
||||
* 0x12 u16 countdown / angle-ish field (lhu / sh), tested SIGNED as s16
|
||||
*/
|
||||
|
||||
extern void func_8017C218(int);
|
||||
extern void func_80146C3C(void);
|
||||
|
||||
void func_8017C1CC(int param_1)
|
||||
{
|
||||
unsigned short uVar1;
|
||||
|
||||
uVar1 = *(unsigned short *)(param_1 + 0x12) - 0x100;
|
||||
*(unsigned short *)(param_1 + 0x12) = uVar1;
|
||||
if ((short)uVar1 > 0) {
|
||||
func_8017C218(param_1);
|
||||
} else {
|
||||
((void (*)(int))func_80146C3C)(param_1);
|
||||
}
|
||||
}
|
||||
DEFINE_func_8017C1CC() /* dedup: shared engine-core @0x8017C1CC (src/shared) */
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC01_084/nonmatchings/ov_SC01_084_jr_8017AE2C", func_8017C218);
|
||||
@@ -3477,13 +3455,7 @@ void func_8017C524(void *a0) {
|
||||
* pointer survives the jal in $s0, which is just the natural allocation for a
|
||||
* parameter live across a call. */
|
||||
|
||||
extern void func_80147324(s32 arg0);
|
||||
|
||||
void func_8017C560(void *a0)
|
||||
{
|
||||
func_80147324(*(u16 *)((s32)a0 + 0x2E));
|
||||
*(u16 *)((s32)a0 + 0x2) = *(u16 *)((s32)a0 + 0x2) + 1;
|
||||
}
|
||||
DEFINE_func_8017C560() /* dedup: shared engine-core @0x8017C560 (src/shared) */
|
||||
|
||||
|
||||
#include "common.h"
|
||||
@@ -3604,26 +3576,7 @@ void func_8017C69C(void *a0)
|
||||
* §71 sibling-first: same shape as func_8017C610 / func_8017C69C in this TU.
|
||||
* §3-T4: target is `sll $v0,16 ; blez -> else` => `if (v > 0) { advance }`. */
|
||||
|
||||
extern void func_8017C218(int);
|
||||
extern void func_80146C3C(void);
|
||||
|
||||
void func_8017C770(void *a0)
|
||||
{
|
||||
void *obj;
|
||||
s16 v;
|
||||
|
||||
v = *(u16 *)((s32)a0 + 0x12) - 0x100;
|
||||
obj = *(void **)((s32)a0 + 0x34);
|
||||
*(s16 *)((s32)a0 + 0x12) = v;
|
||||
if (v > 0) {
|
||||
((void (*)(void *))func_8017C218)(a0);
|
||||
} else {
|
||||
*(s16 *)((s32)obj + 0x64) = 0x1000;
|
||||
*(s16 *)((s32)obj + 0x62) = 0x1000;
|
||||
*(s16 *)((s32)obj + 0x60) = 0x1000;
|
||||
func_80146C3C();
|
||||
}
|
||||
}
|
||||
DEFINE_func_8017C770() /* dedup: shared engine-core @0x8017C770 (src/shared) */
|
||||
|
||||
|
||||
|
||||
@@ -3720,23 +3673,7 @@ void func_8017C800(void *a0)
|
||||
* carried decl layer in this TU prototypes them as `(s32 a0)` / `(void)`.
|
||||
*/
|
||||
|
||||
extern void func_800D22E4(s32 a0);
|
||||
extern void func_80146C3C(void);
|
||||
extern void func_8017C910(void *a0);
|
||||
|
||||
void func_8017C8B4(void *a0)
|
||||
{
|
||||
s32 t;
|
||||
|
||||
t = *(s32 *)((s32)a0 + 0x1C);
|
||||
*(s32 *)((s32)a0 + 0x1C) = t + 1;
|
||||
if (t < 0xA) {
|
||||
((void (*)(void))func_800D22E4)();
|
||||
func_8017C910(a0);
|
||||
} else {
|
||||
((void (*)(void *))func_80146C3C)(a0);
|
||||
}
|
||||
}
|
||||
DEFINE_func_8017C8B4() /* dedup: shared engine-core @0x8017C8B4 (src/shared) */
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC01_084/nonmatchings/ov_SC01_084_jr_8017AE2C", func_8017C910);
|
||||
|
||||
@@ -4345,7 +4345,7 @@ DEFINE_func_80171854() /* dedup: shared engine-core @0x80171854 (src/shared) */
|
||||
|
||||
DEFINE_func_80171884() /* dedup: shared engine-core @0x80171884 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_000/nonmatchings/ov_SC02_000_jr_8016AB6C", func_801718AC);
|
||||
DEFINE_func_801718AC() /* dedup: shared engine-core @0x801718AC (src/shared) */
|
||||
|
||||
DEFINE_func_80171904() /* dedup: shared engine-core @0x80171904 (src/shared) */
|
||||
|
||||
|
||||
@@ -3330,7 +3330,7 @@ void func_8017BEF8(void *a0) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_000/nonmatchings/ov_SC02_000_jr_8017AE2C", func_8017BF34);
|
||||
DEFINE_func_8017BF34() /* dedup: shared engine-core @0x8017BF34 (src/shared) */
|
||||
|
||||
|
||||
// @class: plumbing
|
||||
@@ -3359,7 +3359,7 @@ INCLUDE_ASM("asm/ov_SC02_000/nonmatchings/ov_SC02_000_jr_8017AE2C", func_8017BFE
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_000/nonmatchings/ov_SC02_000_jr_8017AE2C", func_8017C064);
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_000/nonmatchings/ov_SC02_000_jr_8017AE2C", func_8017C1CC);
|
||||
DEFINE_func_8017C1CC() /* dedup: shared engine-core @0x8017C1CC (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_000/nonmatchings/ov_SC02_000_jr_8017AE2C", func_8017C218);
|
||||
|
||||
@@ -3371,7 +3371,7 @@ void func_8017C524(void *a0) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_000/nonmatchings/ov_SC02_000_jr_8017AE2C", func_8017C560);
|
||||
DEFINE_func_8017C560() /* dedup: shared engine-core @0x8017C560 (src/shared) */
|
||||
|
||||
|
||||
/* func_8017C5A0 — a state-tick: bump the frame counter at 0x1C; while it is
|
||||
@@ -3473,7 +3473,7 @@ void func_8017C69C(void *a0)
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_000/nonmatchings/ov_SC02_000_jr_8017AE2C", func_8017C770);
|
||||
DEFINE_func_8017C770() /* dedup: shared engine-core @0x8017C770 (src/shared) */
|
||||
|
||||
|
||||
extern void (*D_8018E63C[])(void);
|
||||
@@ -3485,7 +3485,7 @@ void func_8017C7C4(void *a0) {
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_000/nonmatchings/ov_SC02_000_jr_8017AE2C", func_8017C800);
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_000/nonmatchings/ov_SC02_000_jr_8017AE2C", func_8017C8B4);
|
||||
DEFINE_func_8017C8B4() /* dedup: shared engine-core @0x8017C8B4 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_000/nonmatchings/ov_SC02_000_jr_8017AE2C", func_8017C910);
|
||||
|
||||
|
||||
@@ -3153,18 +3153,7 @@ void func_80182154(void *a0) {
|
||||
|
||||
#include "common.h"
|
||||
|
||||
extern void func_8016EDEC(s32 a0, s32 a1, s32 a2);
|
||||
extern void func_800167B8(s32 a0);
|
||||
extern void func_801824E0(void *a0);
|
||||
extern s32 D_801E8770;
|
||||
|
||||
s32 func_80182190(s32 param_1) {
|
||||
D_801E8770 = 0;
|
||||
((void (*)(void *, s32))func_8016EDEC)((void *)func_801824E0, 0x1000000);
|
||||
func_800167B8(0);
|
||||
*(u8 *)(param_1 + 0x15) = *(u8 *)(param_1 + 0x15) + 1;
|
||||
return 0;
|
||||
}
|
||||
DEFINE_func_80182190() /* dedup: shared engine-core @0x80182190 (src/shared) */
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_000/nonmatchings/ov_SC02_000_jr_8017FCB0", func_801821E8);
|
||||
@@ -3383,39 +3372,7 @@ DEFINE_func_80183A78() /* dedup: shared engine-core @0x80183A78 (src/shared) */
|
||||
|
||||
#include "common.h"
|
||||
|
||||
extern s16 D_8018EDD0[];
|
||||
extern u8 D_801A7CB0;
|
||||
extern s32 func_8013767C(s32 a0);
|
||||
extern void func_80147324(s32 a0);
|
||||
|
||||
void func_80183A80(s32 a0) {
|
||||
s16 v;
|
||||
s16 d;
|
||||
|
||||
v = D_8018EDD0[*(u8 *)(a0 + 0x20C)];
|
||||
if (v != 0) {
|
||||
d = v - *(u16 *)(a0 + 0xE);
|
||||
v = d;
|
||||
if (d < 0) {
|
||||
v = -d;
|
||||
}
|
||||
if (v < 0x180) {
|
||||
*(s32 *)(a0 + 0x198) = func_8013767C((s32)&D_801A7CB0);
|
||||
switch (*(u8 *)(a0 + 0x20C)) {
|
||||
case 0:
|
||||
func_80147324(0x5A1);
|
||||
break;
|
||||
case 1:
|
||||
func_80147324(0x5F1);
|
||||
break;
|
||||
case 2:
|
||||
func_80147324(0x5F2);
|
||||
break;
|
||||
}
|
||||
*(u8 *)(a0 + 0x20C) += 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
DEFINE_func_80183A80() /* dedup: shared engine-core @0x80183A80 (src/shared) */
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_000/nonmatchings/ov_SC02_000_jr_8017FCB0", func_80183B64);
|
||||
@@ -3613,47 +3570,12 @@ INCLUDE_ASM("asm/ov_SC02_000/nonmatchings/ov_SC02_000_jr_8017FCB0", func_80186F4
|
||||
|
||||
#include "common.h"
|
||||
|
||||
extern void func_8012CBCC(s32 a0);
|
||||
extern s32 func_80143B6C(s32 a0, s32 a1);
|
||||
|
||||
s32 func_80186FDC(s32 param_1) {
|
||||
s32 p;
|
||||
|
||||
p = *(s32 *)(param_1 + 0x20);
|
||||
*(s16 *)(p + 0x12) = *(u16 *)(p + 0x12) + 0x100;
|
||||
if (((s32 (*)(void))func_8012CBCC)() != 0) {
|
||||
*(s32 *)(param_1 + 0x18) = 0xFFE80000;
|
||||
*(s32 *)(param_1 + 0x14) = 0xFFC80000;
|
||||
*(s32 *)(param_1 + 0x44) = 0;
|
||||
*(s32 *)(param_1 + 0x48) = 0x80000;
|
||||
*(s32 *)(param_1 + 0x4C) = 0;
|
||||
func_80143B6C(param_1, 0);
|
||||
*(s16 *)(param_1 + 0xFC) = 0x40;
|
||||
*(s16 *)(param_1 + 0x2) = *(u16 *)(param_1 + 0x2) + 1;
|
||||
}
|
||||
}
|
||||
DEFINE_func_80186FDC() /* dedup: shared engine-core @0x80186FDC (src/shared) */
|
||||
|
||||
|
||||
#include "common.h"
|
||||
|
||||
extern void func_8012AD80(s32 a0);
|
||||
extern void func_8012C218(void *a0);
|
||||
|
||||
void func_80187060(int param_1) {
|
||||
short v;
|
||||
|
||||
*(short *)(*(int *)(param_1 + 0x20) + 0x12) =
|
||||
*(short *)(*(int *)(param_1 + 0x20) + 0x12) + 0x100;
|
||||
*(short *)(*(int *)(param_1 + 0x20) + 0x14) =
|
||||
*(short *)(*(int *)(param_1 + 0x20) + 0x14) + 0x20;
|
||||
v = *(unsigned short *)(param_1 + 0xFC) - 1;
|
||||
*(short *)(param_1 + 0xFC) = v;
|
||||
if (v == 0) {
|
||||
((void (*)(void))func_8012C218)();
|
||||
} else {
|
||||
((void (*)(void))func_8012AD80)();
|
||||
}
|
||||
}
|
||||
DEFINE_func_80187060() /* dedup: shared engine-core @0x80187060 (src/shared) */
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -4345,7 +4345,7 @@ DEFINE_func_80171854() /* dedup: shared engine-core @0x80171854 (src/shared) */
|
||||
|
||||
DEFINE_func_80171884() /* dedup: shared engine-core @0x80171884 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_003/nonmatchings/ov_SC02_003_jr_8016AB6C", func_801718AC);
|
||||
DEFINE_func_801718AC() /* dedup: shared engine-core @0x801718AC (src/shared) */
|
||||
|
||||
DEFINE_func_80171904() /* dedup: shared engine-core @0x80171904 (src/shared) */
|
||||
|
||||
|
||||
@@ -3330,7 +3330,7 @@ void func_8017BEF8(void *a0) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_003/nonmatchings/ov_SC02_003_jr_8017AE2C", func_8017BF34);
|
||||
DEFINE_func_8017BF34() /* dedup: shared engine-core @0x8017BF34 (src/shared) */
|
||||
|
||||
|
||||
// @class: plumbing
|
||||
@@ -3359,7 +3359,7 @@ INCLUDE_ASM("asm/ov_SC02_003/nonmatchings/ov_SC02_003_jr_8017AE2C", func_8017BFE
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_003/nonmatchings/ov_SC02_003_jr_8017AE2C", func_8017C064);
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_003/nonmatchings/ov_SC02_003_jr_8017AE2C", func_8017C1CC);
|
||||
DEFINE_func_8017C1CC() /* dedup: shared engine-core @0x8017C1CC (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_003/nonmatchings/ov_SC02_003_jr_8017AE2C", func_8017C218);
|
||||
|
||||
@@ -3371,7 +3371,7 @@ void func_8017C524(void *a0) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_003/nonmatchings/ov_SC02_003_jr_8017AE2C", func_8017C560);
|
||||
DEFINE_func_8017C560() /* dedup: shared engine-core @0x8017C560 (src/shared) */
|
||||
|
||||
|
||||
/* func_8017C5A0 — a state-tick: bump the frame counter at 0x1C; while it is
|
||||
@@ -3473,7 +3473,7 @@ void func_8017C69C(void *a0)
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_003/nonmatchings/ov_SC02_003_jr_8017AE2C", func_8017C770);
|
||||
DEFINE_func_8017C770() /* dedup: shared engine-core @0x8017C770 (src/shared) */
|
||||
|
||||
|
||||
extern void (*D_8018E63C[])(void);
|
||||
@@ -3485,7 +3485,7 @@ void func_8017C7C4(void *a0) {
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_003/nonmatchings/ov_SC02_003_jr_8017AE2C", func_8017C800);
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_003/nonmatchings/ov_SC02_003_jr_8017AE2C", func_8017C8B4);
|
||||
DEFINE_func_8017C8B4() /* dedup: shared engine-core @0x8017C8B4 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_003/nonmatchings/ov_SC02_003_jr_8017AE2C", func_8017C910);
|
||||
|
||||
|
||||
@@ -3146,7 +3146,7 @@ void func_80182154(void *a0) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_003/nonmatchings/ov_SC02_003_jr_8017FCB0", func_80182190);
|
||||
DEFINE_func_80182190() /* dedup: shared engine-core @0x80182190 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_003/nonmatchings/ov_SC02_003_jr_8017FCB0", func_801821E8);
|
||||
|
||||
@@ -3358,7 +3358,7 @@ INCLUDE_ASM("asm/ov_SC02_003/nonmatchings/ov_SC02_003_jr_8017FCB0", func_801839C
|
||||
|
||||
DEFINE_func_80183A78() /* dedup: shared engine-core @0x80183A78 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_003/nonmatchings/ov_SC02_003_jr_8017FCB0", func_80183A80);
|
||||
DEFINE_func_80183A80() /* dedup: shared engine-core @0x80183A80 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_003/nonmatchings/ov_SC02_003_jr_8017FCB0", func_80183B64);
|
||||
|
||||
@@ -3549,9 +3549,9 @@ INCLUDE_ASM("asm/ov_SC02_003/nonmatchings/ov_SC02_003_jr_8017FCB0", func_80186E6
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_003/nonmatchings/ov_SC02_003_jr_8017FCB0", func_80186F44);
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_003/nonmatchings/ov_SC02_003_jr_8017FCB0", func_80186FDC);
|
||||
DEFINE_func_80186FDC() /* dedup: shared engine-core @0x80186FDC (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_003/nonmatchings/ov_SC02_003_jr_8017FCB0", func_80187060);
|
||||
DEFINE_func_80187060() /* dedup: shared engine-core @0x80187060 (src/shared) */
|
||||
|
||||
|
||||
extern void (*D_8018F3D4[])(void);
|
||||
|
||||
@@ -4347,7 +4347,7 @@ DEFINE_func_80171854() /* dedup: shared engine-core @0x80171854 (src/shared) */
|
||||
|
||||
DEFINE_func_80171884() /* dedup: shared engine-core @0x80171884 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_004/nonmatchings/ov_SC02_004_jr_8016AB6C", func_801718AC);
|
||||
DEFINE_func_801718AC() /* dedup: shared engine-core @0x801718AC (src/shared) */
|
||||
|
||||
DEFINE_func_80171904() /* dedup: shared engine-core @0x80171904 (src/shared) */
|
||||
|
||||
|
||||
@@ -4349,7 +4349,7 @@ DEFINE_func_80171854() /* dedup: shared engine-core @0x80171854 (src/shared) */
|
||||
|
||||
DEFINE_func_80171884() /* dedup: shared engine-core @0x80171884 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_005/nonmatchings/ov_SC02_005_jr_8016AB6C", func_801718AC);
|
||||
DEFINE_func_801718AC() /* dedup: shared engine-core @0x801718AC (src/shared) */
|
||||
|
||||
DEFINE_func_80171904() /* dedup: shared engine-core @0x80171904 (src/shared) */
|
||||
|
||||
|
||||
@@ -4347,7 +4347,7 @@ DEFINE_func_80171854() /* dedup: shared engine-core @0x80171854 (src/shared) */
|
||||
|
||||
DEFINE_func_80171884() /* dedup: shared engine-core @0x80171884 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_011/nonmatchings/ov_SC02_011_jr_8016AB6C", func_801718AC);
|
||||
DEFINE_func_801718AC() /* dedup: shared engine-core @0x801718AC (src/shared) */
|
||||
|
||||
DEFINE_func_80171904() /* dedup: shared engine-core @0x80171904 (src/shared) */
|
||||
|
||||
|
||||
@@ -4345,7 +4345,7 @@ DEFINE_func_80171854() /* dedup: shared engine-core @0x80171854 (src/shared) */
|
||||
|
||||
DEFINE_func_80171884() /* dedup: shared engine-core @0x80171884 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_015/nonmatchings/ov_SC02_015_jr_8016AB6C", func_801718AC);
|
||||
DEFINE_func_801718AC() /* dedup: shared engine-core @0x801718AC (src/shared) */
|
||||
|
||||
DEFINE_func_80171904() /* dedup: shared engine-core @0x80171904 (src/shared) */
|
||||
|
||||
|
||||
@@ -4347,7 +4347,7 @@ DEFINE_func_80171854() /* dedup: shared engine-core @0x80171854 (src/shared) */
|
||||
|
||||
DEFINE_func_80171884() /* dedup: shared engine-core @0x80171884 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_016/nonmatchings/ov_SC02_016_jr_8016AB6C", func_801718AC);
|
||||
DEFINE_func_801718AC() /* dedup: shared engine-core @0x801718AC (src/shared) */
|
||||
|
||||
DEFINE_func_80171904() /* dedup: shared engine-core @0x80171904 (src/shared) */
|
||||
|
||||
|
||||
@@ -4347,7 +4347,7 @@ DEFINE_func_80171854() /* dedup: shared engine-core @0x80171854 (src/shared) */
|
||||
|
||||
DEFINE_func_80171884() /* dedup: shared engine-core @0x80171884 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_017/nonmatchings/ov_SC02_017_jr_8016AB6C", func_801718AC);
|
||||
DEFINE_func_801718AC() /* dedup: shared engine-core @0x801718AC (src/shared) */
|
||||
|
||||
DEFINE_func_80171904() /* dedup: shared engine-core @0x80171904 (src/shared) */
|
||||
|
||||
|
||||
@@ -4155,7 +4155,84 @@ void func_80185670(s32 *a0) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_017/nonmatchings/ov_SC02_017_jr_8017DF34", func_80185680);
|
||||
#include "common.h"
|
||||
|
||||
// @class: regalloc (WIDTH/li!=addu -> MATCH)
|
||||
// @stuck: none — MATCH (58 ins), match_one + rtu_match. PIN-FREE (no register __asm__).
|
||||
// Three levers, in the order they mattered:
|
||||
//
|
||||
// 1) The join block indexes every field off $a0, not $s0: the target COPIES the entity into $a0
|
||||
// at the TOP of the join block (`addu $a0,$s0,$zero`) and reads 0x5C/0x5E/0x60/0x62/0x20 off
|
||||
// that copy. A naive `e = param_1;` at the join is deleted — cse.c's make_regs_eqv keeps the
|
||||
// PARAMETER as qty_first_reg, so canon_reg rewrites every use of `e` back to param_1 and the
|
||||
// copy dies. Writing the copy at the end of the ARMS instead is worse (2 mismatches worse):
|
||||
// gcc hoists it above the inner `if` into the beqz delay slot and the arms then read off $a0.
|
||||
//
|
||||
// 2) THE LEVER: make the copy's variable ALSO the 0x20 pointer of the /4 arm. make_regs_eqv only
|
||||
// lets the new pseudo take over the quantity when its live range escapes the cse basic block
|
||||
// AND outlives the param's last use. Reusing `a` in the /4 arm (which sits *after* the join in
|
||||
// the insn stream, and whose last mention `sh $v0,0x18($a0)` comes after param_1's last mention
|
||||
// `lh $v0,0x100($s0)`) satisfies both clauses at once, so `a` becomes canonical, the copy
|
||||
// survives, and the block addresses off it. The same reuse is what puts `lw $a0,0x20($s0)` /
|
||||
// `lh $v1,0x18($a0)` in the /4 arm in the target's register order — two separate locals there
|
||||
// give the mirrored $v1/$a0 pair (6 extra mismatches; verified). The reuse must be paired with
|
||||
// the join-top copy: `a` shared but copied in the arm instead makes it a plain global allocno,
|
||||
// global.c hands it a callee-saved reg and the function grows an $s1 save/restore (60 ins).
|
||||
// A `register s32 a __asm__("$4")` pin also reaches 0 here (canon_reg bails on hard regs), but
|
||||
// the pin is unnecessary and would trip the §42e/§86 pin guard on the ×6 family remap.
|
||||
//
|
||||
// 3) Tail statement order is 0x5C, 0x60, 0x62, 0x5E — the 0x5E store must be LAST. sched2 works
|
||||
// the ready list LIFO, so a 0x5E written third floats to the front of the block as
|
||||
// `li $v0,1 / sh $v0,0x5E` and steals $v0 from the 0x5C load-modify-store (9 mismatches).
|
||||
// Written last it sinks past `lhu $v0,0x12($v1)`, reuses the now-dead $v1 for its constant and
|
||||
// lands where the target has it. (All 24 orderings byte-swept: only 5C-60-62-5E and
|
||||
// 60-5C-62-5E reach 0.)
|
||||
//
|
||||
// Widths: 0x100 is read at TWO widths on purpose — `u16` in the flag arm (target `lhu`) and `s16`
|
||||
// in the /4 arm (target `lh`); combine folds the extend into the load, so the cast at the use site
|
||||
// picks the opcode. Ditto `|= 1` on the s16 0x5C field giving `lhu`. §3-T4: both `beqz`es mean
|
||||
// the NON-zero arm falls through, i.e. `func_8012BEE8(..) != 0` and `flags & 0x80` are the
|
||||
// fall-through arms (Ghidra's seed for this address was a different function entirely).
|
||||
|
||||
extern s32 func_8012BEE8(s32 a0);
|
||||
extern void func_80131E00();
|
||||
|
||||
void func_80185680(s32 param_1) {
|
||||
s32 a;
|
||||
s32 p;
|
||||
s32 q;
|
||||
s32 x;
|
||||
s32 t;
|
||||
u16 h;
|
||||
|
||||
if (func_8012BEE8(param_1) != 0) {
|
||||
if (*(s32 *)(param_1 + 0xDC) & 0x80) {
|
||||
p = *(s32 *)(param_1 + 0x20);
|
||||
*(s16 *)(p + 0x1C) = 0x1000;
|
||||
*(s16 *)(p + 0x18) = 0x1000;
|
||||
*(s32 *)(param_1 + 0xDC) &= ~0x80;
|
||||
} else {
|
||||
p = *(s32 *)(param_1 + 0x20);
|
||||
h = *(u16 *)(param_1 + 0x100);
|
||||
*(s16 *)(p + 0x1C) = h;
|
||||
*(s16 *)(p + 0x18) = h;
|
||||
}
|
||||
a = param_1;
|
||||
*(s16 *)(a + 0x5C) |= 1;
|
||||
*(s16 *)(a + 0x60) = 0;
|
||||
q = *(s32 *)(a + 0x20);
|
||||
*(s16 *)(a + 0x62) = *(u16 *)(q + 0x12) + 0x800;
|
||||
*(s16 *)(a + 0x5E) = 1;
|
||||
((void (*)(s32, s32))func_80131E00)(a, 1);
|
||||
} else {
|
||||
a = *(s32 *)(param_1 + 0x20);
|
||||
x = *(s16 *)(a + 0x18);
|
||||
t = x + (*(s16 *)(param_1 + 0x100) - x) / 4;
|
||||
*(s16 *)(a + 0x1C) = t;
|
||||
*(s16 *)(a + 0x18) = t;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_017/nonmatchings/ov_SC02_017_jr_8017DF34", func_80185768);
|
||||
|
||||
|
||||
@@ -4347,7 +4347,7 @@ DEFINE_func_80171854() /* dedup: shared engine-core @0x80171854 (src/shared) */
|
||||
|
||||
DEFINE_func_80171884() /* dedup: shared engine-core @0x80171884 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_021/nonmatchings/ov_SC02_021_jr_8016AB6C", func_801718AC);
|
||||
DEFINE_func_801718AC() /* dedup: shared engine-core @0x801718AC (src/shared) */
|
||||
|
||||
DEFINE_func_80171904() /* dedup: shared engine-core @0x80171904 (src/shared) */
|
||||
|
||||
|
||||
@@ -4347,7 +4347,7 @@ DEFINE_func_80171854() /* dedup: shared engine-core @0x80171854 (src/shared) */
|
||||
|
||||
DEFINE_func_80171884() /* dedup: shared engine-core @0x80171884 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_026/nonmatchings/ov_SC02_026_jr_8016AB6C", func_801718AC);
|
||||
DEFINE_func_801718AC() /* dedup: shared engine-core @0x801718AC (src/shared) */
|
||||
|
||||
DEFINE_func_80171904() /* dedup: shared engine-core @0x80171904 (src/shared) */
|
||||
|
||||
|
||||
@@ -4347,7 +4347,7 @@ DEFINE_func_80171854() /* dedup: shared engine-core @0x80171854 (src/shared) */
|
||||
|
||||
DEFINE_func_80171884() /* dedup: shared engine-core @0x80171884 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_027/nonmatchings/ov_SC02_027_jr_8016AB6C", func_801718AC);
|
||||
DEFINE_func_801718AC() /* dedup: shared engine-core @0x801718AC (src/shared) */
|
||||
|
||||
DEFINE_func_80171904() /* dedup: shared engine-core @0x80171904 (src/shared) */
|
||||
|
||||
|
||||
@@ -4333,7 +4333,90 @@ void func_8018A090(void *a0)
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_027/nonmatchings/ov_SC02_027_jr_8017D898", func_8018A150);
|
||||
#include "common.h"
|
||||
|
||||
/* func_8018A150 — per-frame entity tick: decay the sound-handle envelope at
|
||||
* +0x20, ramp the s16 pair at +0xFE/+0x106 up to a 0x6000 ceiling, then ramp
|
||||
* the pair at +0xFC/+0x104 down; when the +0xFC accumulator goes negative the
|
||||
* entity releases its D_801DA8C8 slot and hands off to func_8012C218,
|
||||
* otherwise it continues in func_8018A21C.
|
||||
*
|
||||
* §71 sibling-first: func_8018A090 (same TU, 0xC0 bytes earlier) is the
|
||||
* initialiser for exactly these fields (+0xFC/+0xFE/+0x100/+0x104/+0x106, the
|
||||
* +0x20 handle and the +0xDC slot index) and pins the widths/casts used here.
|
||||
* D_801DA8C8[] is the 5-entry slot table func_80189FD8 (same TU) claims from.
|
||||
*
|
||||
* Levers (all three were needed; each is byte-verified by removal):
|
||||
* 1. §3-T4 branch polarity — the 0x6000 guard is written `>= 0x6000` with the
|
||||
* CLAMP as the then-arm, which is what puts `slti/bnez` + the `j` over the
|
||||
* ramp arm in the target order. Writing it `< 0x6000` gives `beqz` and the
|
||||
* arms swapped.
|
||||
* 2. Zero-byte `__asm__ __volatile__("" : : : "memory")` at the head of the
|
||||
* ramp arm (§34 toolkit). Without it cse.c relates the guard's
|
||||
* `lh 0xFE` to the ramp's `lhu 0xFE` — same MEM, sign- vs zero-extend —
|
||||
* and rewrites the second as `move`+`andi 0xffff`. That also lands both
|
||||
* arms' final store in $v0, which lets the post-reload jump pass CROSS-JUMP
|
||||
* the two `sh 0xFE` tails (§5a) and eats the `j .L8018A1C4`. The clobber
|
||||
* invalidates the MEM in the hash table so the real second load survives,
|
||||
* the arms end in different registers, and the cross-jump cannot fire.
|
||||
* 3. The +0x104 store is SUNK to immediately after the subtract, before the
|
||||
* +0xFC accumulate. Both tail quantities are otherwise born in the same
|
||||
* block, and local-alloc's QTY_CMP_PRI (n_refs*log2(n_refs)/live_length)
|
||||
* then ranks the accumulator ABOVE the delta, handing it $v0 and swapping
|
||||
* the whole block's register pair. Storing the delta early kills its live
|
||||
* range at insn 3, which flips the priority back so the delta takes $v0.
|
||||
* Purely a scheduling/priority dial — the emitted order is unchanged
|
||||
* because reorg pulls `sh 0x104` back into the `bgez` delay slot.
|
||||
* Also note the two tail blocks are BLOCK-SCOPED: sharing one function-scope
|
||||
* pair across the 0xFE and 0xFC ramps makes them global allocnos (§76), which
|
||||
* costs $a1 for the deltas and an extra 8 bytes of frame (0x20 vs 0x18).
|
||||
*/
|
||||
|
||||
extern u8 D_801DA8C8[];
|
||||
extern void func_8012C218(void *a0);
|
||||
extern void func_8018A21C(void *a0);
|
||||
|
||||
void func_8018A150(void *a0)
|
||||
{
|
||||
s32 p;
|
||||
s32 v;
|
||||
|
||||
p = *(s32 *)((s32)a0 + 0x20);
|
||||
if (p != 0) {
|
||||
v = *(u16 *)(p + 0x1A) - 0x100;
|
||||
*(s16 *)(p + 0x1A) = v;
|
||||
*(s16 *)(p + 0x18) = v;
|
||||
if (*(s16 *)(p + 0x1A) < 0) {
|
||||
*(s16 *)(p + 0x1A) = 0;
|
||||
*(s16 *)(p + 0x18) = 0;
|
||||
}
|
||||
}
|
||||
if (*(s16 *)((s32)a0 + 0xFE) >= 0x6000) {
|
||||
*(s16 *)((s32)a0 + 0xFE) = 0x6000;
|
||||
} else {
|
||||
s32 dv, sv;
|
||||
__asm__ __volatile__("" : : : "memory");
|
||||
dv = *(u16 *)((s32)a0 + 0x106) + 0x400;
|
||||
sv = *(u16 *)((s32)a0 + 0xFE) + dv;
|
||||
*(s16 *)((s32)a0 + 0x106) = dv;
|
||||
*(s16 *)((s32)a0 + 0xFE) = sv;
|
||||
}
|
||||
{
|
||||
s32 d = *(u16 *)((s32)a0 + 0x104) - 0x80;
|
||||
s16 s;
|
||||
|
||||
*(s16 *)((s32)a0 + 0x104) = d;
|
||||
s = *(u16 *)((s32)a0 + 0xFC) + d;
|
||||
*(s16 *)((s32)a0 + 0xFC) = s;
|
||||
if (s < 0) {
|
||||
D_801DA8C8[*(s16 *)((s32)a0 + 0xDC)] = 0;
|
||||
func_8012C218(a0);
|
||||
} else {
|
||||
func_8018A21C(a0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_027/nonmatchings/ov_SC02_027_jr_8017D898", func_8018A21C);
|
||||
|
||||
|
||||
@@ -4347,7 +4347,7 @@ DEFINE_func_80171854() /* dedup: shared engine-core @0x80171854 (src/shared) */
|
||||
|
||||
DEFINE_func_80171884() /* dedup: shared engine-core @0x80171884 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_028/nonmatchings/ov_SC02_028_jr_8016AB6C", func_801718AC);
|
||||
DEFINE_func_801718AC() /* dedup: shared engine-core @0x801718AC (src/shared) */
|
||||
|
||||
DEFINE_func_80171904() /* dedup: shared engine-core @0x80171904 (src/shared) */
|
||||
|
||||
|
||||
@@ -4347,7 +4347,7 @@ DEFINE_func_80171854() /* dedup: shared engine-core @0x80171854 (src/shared) */
|
||||
|
||||
DEFINE_func_80171884() /* dedup: shared engine-core @0x80171884 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_031/nonmatchings/ov_SC02_031_jr_8016AB6C", func_801718AC);
|
||||
DEFINE_func_801718AC() /* dedup: shared engine-core @0x801718AC (src/shared) */
|
||||
|
||||
DEFINE_func_80171904() /* dedup: shared engine-core @0x80171904 (src/shared) */
|
||||
|
||||
|
||||
@@ -4347,7 +4347,7 @@ DEFINE_func_80171854() /* dedup: shared engine-core @0x80171854 (src/shared) */
|
||||
|
||||
DEFINE_func_80171884() /* dedup: shared engine-core @0x80171884 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_035/nonmatchings/ov_SC02_035_jr_8016AB6C", func_801718AC);
|
||||
DEFINE_func_801718AC() /* dedup: shared engine-core @0x801718AC (src/shared) */
|
||||
|
||||
DEFINE_func_80171904() /* dedup: shared engine-core @0x80171904 (src/shared) */
|
||||
|
||||
|
||||
@@ -3376,7 +3376,44 @@ INCLUDE_ASM("asm/ov_SC02_035/nonmatchings/ov_SC02_035_jr_8017BEBC", func_8017D61
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_035/nonmatchings/ov_SC02_035_jr_8017BEBC", func_8017D710);
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_035/nonmatchings/ov_SC02_035_jr_8017BEBC", func_8017D7A4);
|
||||
#include "common.h"
|
||||
|
||||
extern s32 func_8004787C(s32 a0);
|
||||
extern s32 func_80047948(s32 a0);
|
||||
|
||||
// @class: none — MATCH (46 ins), iteration 1. rtu_match MATCH too.
|
||||
// @stuck: none.
|
||||
// Derivation was pure OPCODE-WIDTH reading (no cookbook section needed beyond
|
||||
// §3-T4 for the two branch senses):
|
||||
// * 0x108 `lh`/`sh` -> s16 counter.
|
||||
// * 0x106,0xFE `lhu`+`addu`+`sh` -> u16 += u16 (a signed s16 pair would have
|
||||
// loaded `lh`). The `sll 16/sra 16` immediately after is NOT part of the
|
||||
// add — it is the `(s16)` cast of the just-stored u16 being handed to
|
||||
// func_8004787C, which CSE serves out of the store's register instead of
|
||||
// re-loading. Writing the arg as `*(s16 *)(a0 + 0x106)` after the store
|
||||
// reproduces it exactly; the SECOND call re-loads with `lh` on its own
|
||||
// because $v0/$a0 died across the first jal.
|
||||
// * 0x104 `lh` -> s16 multiplicand; mult/mflo/`sra 12` == plain int `>> 12`.
|
||||
// * 0x8C,0x8A `lhu` -> u16 bases; 0xE,0xA `sh`.
|
||||
// * §3-T4 both branches: `beqz` at the top => source condition is `!= 0` with
|
||||
// an early return; `bnez` at the bottom => source condition is `== 0`.
|
||||
// The shared `sh $v0,0x108($s0)` tail is gcc's own cross-jump merge of the
|
||||
// `- 1` arm and the `= 0xF` arm — do NOT hand-write it as a merged tail.
|
||||
void func_8017D7A4(s32 a0) {
|
||||
if (*(s16 *)(a0 + 0x108) != 0) {
|
||||
*(s16 *)(a0 + 0x108) = *(s16 *)(a0 + 0x108) - 1;
|
||||
return;
|
||||
}
|
||||
*(u16 *)(a0 + 0x106) = *(u16 *)(a0 + 0x106) + *(u16 *)(a0 + 0xFE);
|
||||
*(s16 *)(a0 + 0xE) = *(u16 *)(a0 + 0x8C) +
|
||||
((func_8004787C(*(s16 *)(a0 + 0x106)) * *(s16 *)(a0 + 0x104)) >> 12);
|
||||
*(s16 *)(a0 + 0xA) = *(u16 *)(a0 + 0x8A) +
|
||||
((func_80047948(*(s16 *)(a0 + 0x106)) * *(s16 *)(a0 + 0x104)) >> 12);
|
||||
if ((*(u16 *)(a0 + 0x106) & 0x7FF) == 0) {
|
||||
*(s16 *)(a0 + 0x108) = 0xF;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_035/nonmatchings/ov_SC02_035_jr_8017BEBC", func_8017D85C);
|
||||
|
||||
@@ -3841,7 +3878,38 @@ void func_80183258(void *a0) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_035/nonmatchings/ov_SC02_035_jr_8017BEBC", func_801832D4);
|
||||
#include "common.h"
|
||||
|
||||
extern s32 rand(void);
|
||||
extern s32 func_8012C354(s32 *a0, s32 a1);
|
||||
extern void func_8012A828(s32 *a0, s32 a1);
|
||||
extern void func_80143994(s32 *a0, s32 a1);
|
||||
extern s32 D_801B9710;
|
||||
extern s32 D_801B9754;
|
||||
extern s32 D_801BBC6C;
|
||||
|
||||
|
||||
void func_801832D4(void *arg0) {
|
||||
s32 t;
|
||||
|
||||
if (func_8012C354(arg0, &D_801B9710)) {
|
||||
*(u8 *)((char *)arg0 + 0xC0) = 1;
|
||||
*(s32 *)((char *)arg0 + 0xB4) = -1;
|
||||
*(s32 **)((char *)arg0 + 0xBC) = &D_801B9754;
|
||||
*(u32 *)((char *)arg0 + 0xC4) |= 1;
|
||||
*(s32 *)((char *)arg0 + 0xE4) = -((rand() % 8 + 0xC) << 16);
|
||||
func_8012A828(arg0, &D_801BBC6C);
|
||||
func_80143994(arg0, 0x1000);
|
||||
t = *(u16 *)((char *)arg0 + 0x70) & 0x10;
|
||||
if (t != 0) {
|
||||
t = 3;
|
||||
} else {
|
||||
t = 1;
|
||||
}
|
||||
*(s16 *)((char *)arg0 + 0x2) = t;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_035/nonmatchings/ov_SC02_035_jr_8017BEBC", func_80183394);
|
||||
|
||||
@@ -3855,7 +3923,36 @@ INCLUDE_ASM("asm/ov_SC02_035/nonmatchings/ov_SC02_035_jr_8017BEBC", func_80183A1
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_035/nonmatchings/ov_SC02_035_jr_8017BEBC", func_80183B20);
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_035/nonmatchings/ov_SC02_035_jr_8017BEBC", func_80183CBC);
|
||||
#include "common.h"
|
||||
|
||||
extern s32 func_8012BEE8(s32 a0);
|
||||
extern s32 func_8012E778(s32 a0, s32 a1);
|
||||
extern void func_8012E88C(s32 a0);
|
||||
extern void func_8012A828(s32 *a0, s32 a1);
|
||||
extern s32 D_801BBC6C;
|
||||
|
||||
void func_80183CBC(void *arg0) {
|
||||
if (func_8012BEE8((s32)arg0)) {
|
||||
if (!func_8012E778((s32)arg0, 0xA000C8)) {
|
||||
{
|
||||
s32 t;
|
||||
t = *(u16 *)((char *)arg0 + 0x70) & 0x10;
|
||||
*(s16 *)((char *)arg0 + 0x2) = (t == 0) ? 1 : 3;
|
||||
}
|
||||
*(s16 *)((char *)arg0 + 0x5C) =
|
||||
*(u16 *)(*(s32 *)((char *)arg0 + 0x78) + 0x2);
|
||||
*(s16 *)((char *)arg0 + 0x76) =
|
||||
*(u16 *)(*(s32 *)((char *)arg0 + 0x78));
|
||||
*(s16 *)(*(s32 *)((char *)arg0 + 0x20) + 0x18) =
|
||||
*(s16 *)(*(s32 *)((char *)arg0 + 0x20) + 0x1A) =
|
||||
*(s16 *)(*(s32 *)((char *)arg0 + 0x20) + 0x1C) = 0x1000;
|
||||
*(u16 *)(*(s32 *)((char *)arg0 + 0x20) + 0x2C) &= 0x10;
|
||||
func_8012E88C((s32)arg0);
|
||||
func_8012A828(arg0, &D_801BBC6C);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_035/nonmatchings/ov_SC02_035_jr_8017BEBC", func_80183D78);
|
||||
|
||||
|
||||
@@ -4347,7 +4347,7 @@ DEFINE_func_80171854() /* dedup: shared engine-core @0x80171854 (src/shared) */
|
||||
|
||||
DEFINE_func_80171884() /* dedup: shared engine-core @0x80171884 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_039/nonmatchings/ov_SC02_039_jr_8016AB6C", func_801718AC);
|
||||
DEFINE_func_801718AC() /* dedup: shared engine-core @0x801718AC (src/shared) */
|
||||
|
||||
DEFINE_func_80171904() /* dedup: shared engine-core @0x80171904 (src/shared) */
|
||||
|
||||
|
||||
@@ -4347,7 +4347,7 @@ DEFINE_func_80171854() /* dedup: shared engine-core @0x80171854 (src/shared) */
|
||||
|
||||
DEFINE_func_80171884() /* dedup: shared engine-core @0x80171884 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_041/nonmatchings/ov_SC02_041_jr_8016AB6C", func_801718AC);
|
||||
DEFINE_func_801718AC() /* dedup: shared engine-core @0x801718AC (src/shared) */
|
||||
|
||||
DEFINE_func_80171904() /* dedup: shared engine-core @0x80171904 (src/shared) */
|
||||
|
||||
|
||||
@@ -3549,7 +3549,73 @@ void func_8017E8CC(int param_1)
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_041/nonmatchings/ov_SC02_041_jr_8017BEBC", func_8017E9B0);
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_041/nonmatchings/ov_SC02_041_jr_8017BEBC", func_8017EA1C);
|
||||
#include "common.h"
|
||||
|
||||
/* func_8017EA1C — per-frame update for the effect entity that func_8017E8CC
|
||||
* initialises (its GPU primitive lives at +0x20). Advance the spin angle at
|
||||
* +0x2C by 0x40, take rsin(angle)/256 as the Z component of a stack vector,
|
||||
* rotate that vector by the primitive's own angle at p+0x12, then re-derive
|
||||
* the draw position words at +6/+0xA/+0xE, grow the size counter at +0x2E
|
||||
* (mirrored into the primitive's w/h at p+0x18/p+0x1A), fade the RGB triple
|
||||
* at p+0x24..0x26 by 4 per frame, and retire the entity via func_801292C8
|
||||
* once the shared lifetime check func_80146E98 reports done.
|
||||
*
|
||||
* Matching notes (cookbook §S1/§S4 in gcc-2.7.2-map/sched.md): the three
|
||||
* position statements and the +0x2E statement all tie at sched priority 1,
|
||||
* so their SOURCE ORDER is the schedule. The target's order is
|
||||
* 0x6, 0xE, 0xA, 0x2E — writing them in field order (0x6, 0xA, 0xE, 0x2E)
|
||||
* costs 12 mismatches because the 0x30 load, not the 0x2E load, wins the
|
||||
* load-delay filler slot after the first group. `siz` must be an explicit
|
||||
* temporary (a re-read of +0x2E in the p+0x1A statement re-groups the whole
|
||||
* block, 26+ mismatches).
|
||||
*/
|
||||
|
||||
typedef struct {
|
||||
unsigned short vx, vy, vz, pad;
|
||||
} UVec_8017EA1C;
|
||||
|
||||
extern s32 func_8004787C(s32 a0);
|
||||
extern void func_800139C8(s32 a0, void *a1, void *a2);
|
||||
extern s32 func_80146E98(s32 a0);
|
||||
extern void func_801292C8(void);
|
||||
|
||||
void func_8017EA1C(int param_1)
|
||||
{
|
||||
UVec_8017EA1C v;
|
||||
int p;
|
||||
short ang;
|
||||
int siz;
|
||||
int wid;
|
||||
int col;
|
||||
|
||||
p = *(int *)(param_1 + 0x20);
|
||||
ang = *(unsigned short *)(param_1 + 0x2c) + 0x40;
|
||||
*(unsigned short *)(param_1 + 0x2c) = ang;
|
||||
v.vz = func_8004787C(ang) / 256;
|
||||
v.vy = 0;
|
||||
v.vx = 0;
|
||||
func_800139C8(*(short *)(p + 0x12), &v, &v);
|
||||
|
||||
*(unsigned short *)(param_1 + 6) = *(unsigned short *)(param_1 + 0x12) + v.vx;
|
||||
*(unsigned short *)(param_1 + 0xe) = *(unsigned short *)(param_1 + 0x1a) + v.vz;
|
||||
*(unsigned short *)(param_1 + 0xa) = *(unsigned short *)(param_1 + 0xa) - *(unsigned short *)(param_1 + 0x30);
|
||||
siz = *(unsigned short *)(param_1 + 0x2e) + 0x10;
|
||||
*(unsigned short *)(param_1 + 0x2e) = siz;
|
||||
|
||||
wid = *(unsigned short *)(p + 0x1a) + siz;
|
||||
*(unsigned short *)(p + 0x1a) = wid;
|
||||
*(unsigned short *)(p + 0x18) = wid;
|
||||
|
||||
col = *(unsigned char *)(p + 0x26) - 4;
|
||||
*(unsigned char *)(p + 0x26) = col;
|
||||
*(unsigned char *)(p + 0x25) = col;
|
||||
*(unsigned char *)(p + 0x24) = col;
|
||||
|
||||
if (func_80146E98(param_1) != 0) {
|
||||
((void (*)(int))func_801292C8)(param_1);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_041/nonmatchings/ov_SC02_041_jr_8017BEBC", func_8017EB08);
|
||||
|
||||
|
||||
@@ -4347,7 +4347,7 @@ DEFINE_func_80171854() /* dedup: shared engine-core @0x80171854 (src/shared) */
|
||||
|
||||
DEFINE_func_80171884() /* dedup: shared engine-core @0x80171884 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001_jr_8016AB6C", func_801718AC);
|
||||
DEFINE_func_801718AC() /* dedup: shared engine-core @0x801718AC (src/shared) */
|
||||
|
||||
DEFINE_func_80171904() /* dedup: shared engine-core @0x80171904 (src/shared) */
|
||||
|
||||
|
||||
@@ -4347,7 +4347,7 @@ DEFINE_func_80171854() /* dedup: shared engine-core @0x80171854 (src/shared) */
|
||||
|
||||
DEFINE_func_80171884() /* dedup: shared engine-core @0x80171884 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_002/nonmatchings/ov_SC03_002_jr_8016AB6C", func_801718AC);
|
||||
DEFINE_func_801718AC() /* dedup: shared engine-core @0x801718AC (src/shared) */
|
||||
|
||||
DEFINE_func_80171904() /* dedup: shared engine-core @0x80171904 (src/shared) */
|
||||
|
||||
|
||||
@@ -4347,7 +4347,7 @@ DEFINE_func_80171854() /* dedup: shared engine-core @0x80171854 (src/shared) */
|
||||
|
||||
DEFINE_func_80171884() /* dedup: shared engine-core @0x80171884 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_003/nonmatchings/ov_SC03_003_jr_8016AB6C", func_801718AC);
|
||||
DEFINE_func_801718AC() /* dedup: shared engine-core @0x801718AC (src/shared) */
|
||||
|
||||
DEFINE_func_80171904() /* dedup: shared engine-core @0x80171904 (src/shared) */
|
||||
|
||||
|
||||
@@ -4347,7 +4347,7 @@ DEFINE_func_80171854() /* dedup: shared engine-core @0x80171854 (src/shared) */
|
||||
|
||||
DEFINE_func_80171884() /* dedup: shared engine-core @0x80171884 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_006/nonmatchings/ov_SC03_006_jr_8016AB6C", func_801718AC);
|
||||
DEFINE_func_801718AC() /* dedup: shared engine-core @0x801718AC (src/shared) */
|
||||
|
||||
DEFINE_func_80171904() /* dedup: shared engine-core @0x80171904 (src/shared) */
|
||||
|
||||
|
||||
@@ -4347,7 +4347,7 @@ DEFINE_func_80171854() /* dedup: shared engine-core @0x80171854 (src/shared) */
|
||||
|
||||
DEFINE_func_80171884() /* dedup: shared engine-core @0x80171884 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_007/nonmatchings/ov_SC03_007_jr_8016AB6C", func_801718AC);
|
||||
DEFINE_func_801718AC() /* dedup: shared engine-core @0x801718AC (src/shared) */
|
||||
|
||||
DEFINE_func_80171904() /* dedup: shared engine-core @0x80171904 (src/shared) */
|
||||
|
||||
|
||||
@@ -4347,7 +4347,7 @@ DEFINE_func_80171854() /* dedup: shared engine-core @0x80171854 (src/shared) */
|
||||
|
||||
DEFINE_func_80171884() /* dedup: shared engine-core @0x80171884 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_010/nonmatchings/ov_SC03_010_jr_8016AB6C", func_801718AC);
|
||||
DEFINE_func_801718AC() /* dedup: shared engine-core @0x801718AC (src/shared) */
|
||||
|
||||
DEFINE_func_80171904() /* dedup: shared engine-core @0x80171904 (src/shared) */
|
||||
|
||||
|
||||
@@ -4347,7 +4347,7 @@ DEFINE_func_80171854() /* dedup: shared engine-core @0x80171854 (src/shared) */
|
||||
|
||||
DEFINE_func_80171884() /* dedup: shared engine-core @0x80171884 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_011/nonmatchings/ov_SC03_011_jr_8016AB6C", func_801718AC);
|
||||
DEFINE_func_801718AC() /* dedup: shared engine-core @0x801718AC (src/shared) */
|
||||
|
||||
DEFINE_func_80171904() /* dedup: shared engine-core @0x80171904 (src/shared) */
|
||||
|
||||
|
||||
@@ -4347,7 +4347,7 @@ DEFINE_func_80171854() /* dedup: shared engine-core @0x80171854 (src/shared) */
|
||||
|
||||
DEFINE_func_80171884() /* dedup: shared engine-core @0x80171884 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_012/nonmatchings/ov_SC03_012_jr_8016AB6C", func_801718AC);
|
||||
DEFINE_func_801718AC() /* dedup: shared engine-core @0x801718AC (src/shared) */
|
||||
|
||||
DEFINE_func_80171904() /* dedup: shared engine-core @0x80171904 (src/shared) */
|
||||
|
||||
|
||||
@@ -4347,7 +4347,7 @@ DEFINE_func_80171854() /* dedup: shared engine-core @0x80171854 (src/shared) */
|
||||
|
||||
DEFINE_func_80171884() /* dedup: shared engine-core @0x80171884 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_013/nonmatchings/ov_SC03_013_jr_8016AB6C", func_801718AC);
|
||||
DEFINE_func_801718AC() /* dedup: shared engine-core @0x801718AC (src/shared) */
|
||||
|
||||
DEFINE_func_80171904() /* dedup: shared engine-core @0x80171904 (src/shared) */
|
||||
|
||||
|
||||
@@ -4347,7 +4347,7 @@ DEFINE_func_80171854() /* dedup: shared engine-core @0x80171854 (src/shared) */
|
||||
|
||||
DEFINE_func_80171884() /* dedup: shared engine-core @0x80171884 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_014/nonmatchings/ov_SC03_014_jr_8016AB6C", func_801718AC);
|
||||
DEFINE_func_801718AC() /* dedup: shared engine-core @0x801718AC (src/shared) */
|
||||
|
||||
DEFINE_func_80171904() /* dedup: shared engine-core @0x80171904 (src/shared) */
|
||||
|
||||
|
||||
@@ -3462,7 +3462,67 @@ INCLUDE_ASM("asm/ov_SC03_014/nonmatchings/ov_SC03_014_jr_8017AE2C", func_8017D80
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_014/nonmatchings/ov_SC03_014_jr_8017AE2C", func_8017D890);
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_014/nonmatchings/ov_SC03_014_jr_8017AE2C", func_8017D900);
|
||||
#include "common.h"
|
||||
|
||||
/* func_8017D900 — fade the 4-byte colour quad at D_801EA880 one step toward 0
|
||||
* (func_80012F74 = "step a value toward a target"), splat the byte over the
|
||||
* three sibling bytes, mirror the whole quad into the three following quads,
|
||||
* then tear the entity down once the byte reaches 0.
|
||||
*
|
||||
* §71 sibling-first: DEFINE_func_801685EC() (engine_core.h L8520) is the same
|
||||
* `if (<call result> == 0) ((void (*)(s32))func_80146C3C)(arg0);` teardown tail.
|
||||
* In-TU sibling func_8017D678 shows D_801EA881/D_801EA882 are SEPARATE u8
|
||||
* globals (each gets its own lui/%lo sb) while D_801EA880's address lives in a
|
||||
* callee-saved register.
|
||||
*
|
||||
* @class: schedule (LENGTH-DRIFT/-1)
|
||||
* @stuck: none — MATCH 50/50 (match_one AND rtu_match), iteration 2.
|
||||
* THE CRACK (one edit): the TRAILING reload `if (*p == 0)` was being hoisted by
|
||||
* sched2 up past the third block move, where the swl/swr pair covered its load
|
||||
* delay — costing exactly the one `nop` the target keeps (49 vs 50 ins,
|
||||
* LENGTH-DRIFT/-1). A second zero-byte `__asm__("")` fence between the last
|
||||
* struct assignment and the `if` pins the lbu after the copies and the load-delay
|
||||
* nop reappears. Lesson: an inline block move (swl/swr) is a fat delay-slot
|
||||
* SPONGE — any following narrow load will be sucked up into it unless fenced.
|
||||
* The first fence (after the chained byte stores) is what keeps the block moves
|
||||
* from being interleaved with them.
|
||||
* Other levers already in this draft, all load-bearing:
|
||||
* - `u8 *p = &D_801EA880;` (§20) — one address register ($s0, callee-saved
|
||||
* across the jal) serves the lbu, the sb and all three block-move sources.
|
||||
* - chained assignment `D_801EA881 = D_801EA882 = *p = f(...)` gives the
|
||||
* target's store order 880, 882, 881 (right-to-left after the *p store).
|
||||
* - the 4×u8 struct (align 1) is what makes the assignment expand to inline
|
||||
* lwl/lwr + swl/swr instead of a `jal memcpy` (cf. §38).
|
||||
*/
|
||||
|
||||
typedef struct {
|
||||
u8 b0, b1, b2, b3;
|
||||
} Quad_801EA880; /* align 1 => movstrsi expands to lwl/lwr + swl/swr */
|
||||
|
||||
extern u8 D_801EA880;
|
||||
extern u8 D_801EA881;
|
||||
extern u8 D_801EA882;
|
||||
extern u8 D_801EA884;
|
||||
extern u8 D_801EA888;
|
||||
extern u8 D_801EA88C;
|
||||
|
||||
extern s32 func_80012F74(s32 a0, s32 a1, s32 a2, s32 a3);
|
||||
extern void func_80146C3C(void);
|
||||
|
||||
void func_8017D900(s32 arg0) {
|
||||
u8 *p = &D_801EA880;
|
||||
|
||||
D_801EA881 = D_801EA882 = *p = func_80012F74(*p, 0, 10, 1);
|
||||
__asm__("");
|
||||
*(Quad_801EA880 *)&D_801EA884 = *(Quad_801EA880 *)p;
|
||||
*(Quad_801EA880 *)&D_801EA888 = *(Quad_801EA880 *)p;
|
||||
*(Quad_801EA880 *)&D_801EA88C = *(Quad_801EA880 *)p;
|
||||
__asm__("");
|
||||
if (*p == 0) {
|
||||
((void (*)(s32))func_80146C3C)(arg0);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_014/nonmatchings/ov_SC03_014_jr_8017AE2C", func_8017D9C8);
|
||||
|
||||
|
||||
@@ -3706,17 +3706,7 @@ void func_801805BC(void *a0) {
|
||||
|
||||
#include "common.h"
|
||||
|
||||
extern u8 D_8018F450;
|
||||
|
||||
extern void func_8014706C(void *a0);
|
||||
extern void func_80154274(s32 *a0, s32 a1);
|
||||
extern s32 func_80171990(u8 *a0);
|
||||
|
||||
void func_801805F8(s32 a0) {
|
||||
func_8014706C((void *)a0);
|
||||
func_80154274((s32 *)a0, (s32)&D_8018F450);
|
||||
func_80171990((u8 *)a0);
|
||||
}
|
||||
DEFINE_func_801805F8() /* dedup: shared engine-core @0x801805F8 (src/shared) */
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_014/nonmatchings/ov_SC03_014_jr_8017EB7C", func_80180638);
|
||||
@@ -3778,34 +3768,7 @@ INCLUDE_ASM("asm/ov_SC03_014/nonmatchings/ov_SC03_014_jr_8017EB7C", func_80180AC
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_014/nonmatchings/ov_SC03_014_jr_8017EB7C", func_80180B20);
|
||||
|
||||
extern void func_8014659C(void);
|
||||
extern void func_8001C810(s32 a0, s32 a1);
|
||||
extern void func_80146CA0(void *a0);
|
||||
extern void func_80162CCC(void);
|
||||
|
||||
extern u16 D_800DF2E0;
|
||||
extern s32 D_8018F510;
|
||||
extern s32 D_8018F56C[];
|
||||
|
||||
void func_80180B84(int param_1) {
|
||||
s32 iVar1;
|
||||
|
||||
iVar1 = ((s32 (*)(void))func_8014659C)();
|
||||
*(s32 *)(param_1 + 0x20) = iVar1;
|
||||
if (iVar1 != 0) {
|
||||
((void (*)(s32, void *))func_8001C810)(iVar1, &D_800DF2E0);
|
||||
*(s32 **)(iVar1 + 0x80) = &D_8018F510;
|
||||
*(u32 *)(iVar1 + 4) = *(u32 *)(iVar1 + 4) | 0x50000000;
|
||||
*(u16 *)(iVar1 + 0x2c) = *(u16 *)(iVar1 + 0x2c) | 0xb0;
|
||||
*(s32 *)(param_1 + 0x58) = (s32)&D_8018F56C[*(s32 *)(param_1 + 0x50) * 2];
|
||||
*(u16 *)(iVar1 + 0x1c) = 0;
|
||||
*(u16 *)(iVar1 + 0x1a) = 0;
|
||||
*(u16 *)(iVar1 + 0x18) = 0;
|
||||
((void (*)(s32))func_80146CA0)(param_1);
|
||||
} else {
|
||||
((void (*)(s32))func_80162CCC)(param_1);
|
||||
}
|
||||
}
|
||||
DEFINE_func_80180B84() /* dedup: shared engine-core @0x80180B84 (src/shared) */
|
||||
|
||||
|
||||
#include "common.h"
|
||||
@@ -4811,48 +4774,7 @@ INCLUDE_ASM("asm/ov_SC03_014/nonmatchings/ov_SC03_014_jr_8017EB7C", func_8018982
|
||||
|
||||
#include "common.h"
|
||||
|
||||
extern u8 D_801EAC94;
|
||||
extern u8 D_801EAC95;
|
||||
extern u8 D_801EAC96;
|
||||
|
||||
// @class: plumbing
|
||||
// @stuck: none — MATCH (45 ins), iteration 3; rtu_match MATCH too.
|
||||
// Notes for the family (this shape repeats across 6 overlays):
|
||||
// * The target's 0x10 frame with NO saves/spills is NOT a phantom frame that
|
||||
// needs inducing: at this toolchain a `void f(void*)` leaf already emits
|
||||
// `addiu $sp,-0x10` / `+0x10` as the BASE frame. Adding the cookbook-§5
|
||||
// `s32 frame_pad[N]` INDUCE local OVERSHOOTS (N=2 -> 0x18, N=4 -> 0x20);
|
||||
// write no local at all. gcc schedules that stack-adjust down into the
|
||||
// first `bnez`'s delay slot on its own — no fence needed.
|
||||
// * `slti $v0,$v0,0x801` + `bnez`-skip is `if (x > 0x800)` (§3-T4: read the
|
||||
// sense off the opcode; Ghidra's `0x800 < x` happens to agree here).
|
||||
// * The `andi $v1,$v0,0xFF` after the if/else join is the u8 local `v`: the
|
||||
// QI pseudo is zero-extended once at its first int use and CSE shares that
|
||||
// masked copy with the second (`v*12` then `v*4`, `v*4` re-used for 0x96).
|
||||
// An `s32 v` would drop the andi (sb truncates anyway).
|
||||
void func_801898BC(void *a0) {
|
||||
s16 *p;
|
||||
s32 t;
|
||||
u8 v;
|
||||
|
||||
p = *(s16 **)((s32)a0 + 0x20);
|
||||
if (*(s16 *)((s32)p + 0x18) > 0x800) {
|
||||
*(s16 *)((s32)p + 0x18) = *(s16 *)((s32)p + 0x18) - 0x200;
|
||||
}
|
||||
if (*(s16 *)((s32)p + 0x1A) > 0x800) {
|
||||
*(s16 *)((s32)p + 0x1A) = *(s16 *)((s32)p + 0x1A) - 0x200;
|
||||
}
|
||||
t = *(s32 *)((s32)a0 + 0x1C) + 1;
|
||||
*(s32 *)((s32)a0 + 0x1C) = t;
|
||||
if (t & 0x10) {
|
||||
v = ((t & 0xF) >> 1) + 9;
|
||||
} else {
|
||||
v = 0x10 - ((t & 0xF) >> 1);
|
||||
}
|
||||
D_801EAC94 = v * 12;
|
||||
D_801EAC95 = v * 4;
|
||||
D_801EAC96 = v * 4;
|
||||
}
|
||||
DEFINE_func_801898BC() /* dedup: shared engine-core @0x801898BC (src/shared) */
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -4347,7 +4347,7 @@ DEFINE_func_80171854() /* dedup: shared engine-core @0x80171854 (src/shared) */
|
||||
|
||||
DEFINE_func_80171884() /* dedup: shared engine-core @0x80171884 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_015/nonmatchings/ov_SC03_015_jr_8016AB6C", func_801718AC);
|
||||
DEFINE_func_801718AC() /* dedup: shared engine-core @0x801718AC (src/shared) */
|
||||
|
||||
DEFINE_func_80171904() /* dedup: shared engine-core @0x80171904 (src/shared) */
|
||||
|
||||
|
||||
@@ -3628,7 +3628,7 @@ void func_801805BC(void *a0) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_015/nonmatchings/ov_SC03_015_jr_8017EB7C", func_801805F8);
|
||||
DEFINE_func_801805F8() /* dedup: shared engine-core @0x801805F8 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_015/nonmatchings/ov_SC03_015_jr_8017EB7C", func_80180638);
|
||||
|
||||
@@ -3691,7 +3691,7 @@ INCLUDE_ASM("asm/ov_SC03_015/nonmatchings/ov_SC03_015_jr_8017EB7C", func_80180AC
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_015/nonmatchings/ov_SC03_015_jr_8017EB7C", func_80180B20);
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_015/nonmatchings/ov_SC03_015_jr_8017EB7C", func_80180B84);
|
||||
DEFINE_func_80180B84() /* dedup: shared engine-core @0x80180B84 (src/shared) */
|
||||
|
||||
|
||||
/* func_80180C34 — per-frame spin + clamp handler (ov_SC03_014, reach x8).
|
||||
@@ -4682,7 +4682,7 @@ INCLUDE_ASM("asm/ov_SC03_015/nonmatchings/ov_SC03_015_jr_8017EB7C", func_801897C
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_015/nonmatchings/ov_SC03_015_jr_8017EB7C", func_80189824);
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_015/nonmatchings/ov_SC03_015_jr_8017EB7C", func_801898BC);
|
||||
DEFINE_func_801898BC() /* dedup: shared engine-core @0x801898BC (src/shared) */
|
||||
|
||||
|
||||
extern void (*D_80191C0C[])(void);
|
||||
|
||||
@@ -4347,7 +4347,7 @@ DEFINE_func_80171854() /* dedup: shared engine-core @0x80171854 (src/shared) */
|
||||
|
||||
DEFINE_func_80171884() /* dedup: shared engine-core @0x80171884 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_023/nonmatchings/ov_SC03_023_jr_8016AB6C", func_801718AC);
|
||||
DEFINE_func_801718AC() /* dedup: shared engine-core @0x801718AC (src/shared) */
|
||||
|
||||
DEFINE_func_80171904() /* dedup: shared engine-core @0x80171904 (src/shared) */
|
||||
|
||||
|
||||
@@ -4347,7 +4347,7 @@ DEFINE_func_80171854() /* dedup: shared engine-core @0x80171854 (src/shared) */
|
||||
|
||||
DEFINE_func_80171884() /* dedup: shared engine-core @0x80171884 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_024/nonmatchings/ov_SC03_024_jr_8016AB6C", func_801718AC);
|
||||
DEFINE_func_801718AC() /* dedup: shared engine-core @0x801718AC (src/shared) */
|
||||
|
||||
DEFINE_func_80171904() /* dedup: shared engine-core @0x80171904 (src/shared) */
|
||||
|
||||
|
||||
@@ -4347,7 +4347,7 @@ DEFINE_func_80171854() /* dedup: shared engine-core @0x80171854 (src/shared) */
|
||||
|
||||
DEFINE_func_80171884() /* dedup: shared engine-core @0x80171884 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_028/nonmatchings/ov_SC03_028_jr_8016AB6C", func_801718AC);
|
||||
DEFINE_func_801718AC() /* dedup: shared engine-core @0x801718AC (src/shared) */
|
||||
|
||||
DEFINE_func_80171904() /* dedup: shared engine-core @0x80171904 (src/shared) */
|
||||
|
||||
|
||||
@@ -4347,7 +4347,7 @@ DEFINE_func_80171854() /* dedup: shared engine-core @0x80171854 (src/shared) */
|
||||
|
||||
DEFINE_func_80171884() /* dedup: shared engine-core @0x80171884 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_029/nonmatchings/ov_SC03_029_jr_8016AB6C", func_801718AC);
|
||||
DEFINE_func_801718AC() /* dedup: shared engine-core @0x801718AC (src/shared) */
|
||||
|
||||
DEFINE_func_80171904() /* dedup: shared engine-core @0x80171904 (src/shared) */
|
||||
|
||||
|
||||
@@ -4347,7 +4347,7 @@ DEFINE_func_80171854() /* dedup: shared engine-core @0x80171854 (src/shared) */
|
||||
|
||||
DEFINE_func_80171884() /* dedup: shared engine-core @0x80171884 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_030/nonmatchings/ov_SC03_030_jr_8016AB6C", func_801718AC);
|
||||
DEFINE_func_801718AC() /* dedup: shared engine-core @0x801718AC (src/shared) */
|
||||
|
||||
DEFINE_func_80171904() /* dedup: shared engine-core @0x80171904 (src/shared) */
|
||||
|
||||
|
||||
@@ -4347,7 +4347,7 @@ DEFINE_func_80171854() /* dedup: shared engine-core @0x80171854 (src/shared) */
|
||||
|
||||
DEFINE_func_80171884() /* dedup: shared engine-core @0x80171884 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_031/nonmatchings/ov_SC03_031_jr_8016AB6C", func_801718AC);
|
||||
DEFINE_func_801718AC() /* dedup: shared engine-core @0x801718AC (src/shared) */
|
||||
|
||||
DEFINE_func_80171904() /* dedup: shared engine-core @0x80171904 (src/shared) */
|
||||
|
||||
|
||||
@@ -4347,7 +4347,7 @@ DEFINE_func_80171854() /* dedup: shared engine-core @0x80171854 (src/shared) */
|
||||
|
||||
DEFINE_func_80171884() /* dedup: shared engine-core @0x80171884 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_089/nonmatchings/ov_SC03_089_jr_8016AB6C", func_801718AC);
|
||||
DEFINE_func_801718AC() /* dedup: shared engine-core @0x801718AC (src/shared) */
|
||||
|
||||
DEFINE_func_80171904() /* dedup: shared engine-core @0x80171904 (src/shared) */
|
||||
|
||||
|
||||
@@ -3332,7 +3332,7 @@ void func_8017BEF8(void *a0) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_089/nonmatchings/ov_SC03_089_jr_8017AE2C", func_8017BF34);
|
||||
DEFINE_func_8017BF34() /* dedup: shared engine-core @0x8017BF34 (src/shared) */
|
||||
|
||||
|
||||
// @class: plumbing
|
||||
@@ -3361,7 +3361,7 @@ INCLUDE_ASM("asm/ov_SC03_089/nonmatchings/ov_SC03_089_jr_8017AE2C", func_8017BFE
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_089/nonmatchings/ov_SC03_089_jr_8017AE2C", func_8017C064);
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_089/nonmatchings/ov_SC03_089_jr_8017AE2C", func_8017C1CC);
|
||||
DEFINE_func_8017C1CC() /* dedup: shared engine-core @0x8017C1CC (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_089/nonmatchings/ov_SC03_089_jr_8017AE2C", func_8017C218);
|
||||
|
||||
@@ -3373,7 +3373,7 @@ void func_8017C524(void *a0) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_089/nonmatchings/ov_SC03_089_jr_8017AE2C", func_8017C560);
|
||||
DEFINE_func_8017C560() /* dedup: shared engine-core @0x8017C560 (src/shared) */
|
||||
|
||||
|
||||
/* func_8017C5A0 — a state-tick: bump the frame counter at 0x1C; while it is
|
||||
@@ -3475,7 +3475,7 @@ void func_8017C69C(void *a0)
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_089/nonmatchings/ov_SC03_089_jr_8017AE2C", func_8017C770);
|
||||
DEFINE_func_8017C770() /* dedup: shared engine-core @0x8017C770 (src/shared) */
|
||||
|
||||
|
||||
extern void (*D_8018D0A4[])(void);
|
||||
@@ -3487,7 +3487,7 @@ void func_8017C7C4(void *a0) {
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_089/nonmatchings/ov_SC03_089_jr_8017AE2C", func_8017C800);
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_089/nonmatchings/ov_SC03_089_jr_8017AE2C", func_8017C8B4);
|
||||
DEFINE_func_8017C8B4() /* dedup: shared engine-core @0x8017C8B4 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_089/nonmatchings/ov_SC03_089_jr_8017AE2C", func_8017C910);
|
||||
|
||||
|
||||
@@ -4347,7 +4347,7 @@ DEFINE_func_80171854() /* dedup: shared engine-core @0x80171854 (src/shared) */
|
||||
|
||||
DEFINE_func_80171884() /* dedup: shared engine-core @0x80171884 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_090/nonmatchings/ov_SC03_090_jr_8016AB6C", func_801718AC);
|
||||
DEFINE_func_801718AC() /* dedup: shared engine-core @0x801718AC (src/shared) */
|
||||
|
||||
DEFINE_func_80171904() /* dedup: shared engine-core @0x80171904 (src/shared) */
|
||||
|
||||
|
||||
@@ -3332,7 +3332,7 @@ void func_8017BEF8(void *a0) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_090/nonmatchings/ov_SC03_090_jr_8017AE2C", func_8017BF34);
|
||||
DEFINE_func_8017BF34() /* dedup: shared engine-core @0x8017BF34 (src/shared) */
|
||||
|
||||
|
||||
// @class: plumbing
|
||||
@@ -3361,7 +3361,7 @@ INCLUDE_ASM("asm/ov_SC03_090/nonmatchings/ov_SC03_090_jr_8017AE2C", func_8017BFE
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_090/nonmatchings/ov_SC03_090_jr_8017AE2C", func_8017C064);
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_090/nonmatchings/ov_SC03_090_jr_8017AE2C", func_8017C1CC);
|
||||
DEFINE_func_8017C1CC() /* dedup: shared engine-core @0x8017C1CC (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_090/nonmatchings/ov_SC03_090_jr_8017AE2C", func_8017C218);
|
||||
|
||||
@@ -3373,7 +3373,7 @@ void func_8017C524(void *a0) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_090/nonmatchings/ov_SC03_090_jr_8017AE2C", func_8017C560);
|
||||
DEFINE_func_8017C560() /* dedup: shared engine-core @0x8017C560 (src/shared) */
|
||||
|
||||
|
||||
/* func_8017C5A0 — a state-tick: bump the frame counter at 0x1C; while it is
|
||||
@@ -3475,7 +3475,7 @@ void func_8017C69C(void *a0)
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_090/nonmatchings/ov_SC03_090_jr_8017AE2C", func_8017C770);
|
||||
DEFINE_func_8017C770() /* dedup: shared engine-core @0x8017C770 (src/shared) */
|
||||
|
||||
|
||||
extern void (*D_8018F4C8[])(void);
|
||||
@@ -3487,7 +3487,7 @@ void func_8017C7C4(void *a0) {
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_090/nonmatchings/ov_SC03_090_jr_8017AE2C", func_8017C800);
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_090/nonmatchings/ov_SC03_090_jr_8017AE2C", func_8017C8B4);
|
||||
DEFINE_func_8017C8B4() /* dedup: shared engine-core @0x8017C8B4 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_090/nonmatchings/ov_SC03_090_jr_8017AE2C", func_8017C910);
|
||||
|
||||
|
||||
@@ -4347,7 +4347,7 @@ DEFINE_func_80171854() /* dedup: shared engine-core @0x80171854 (src/shared) */
|
||||
|
||||
DEFINE_func_80171884() /* dedup: shared engine-core @0x80171884 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_091/nonmatchings/ov_SC03_091_jr_8016AB6C", func_801718AC);
|
||||
DEFINE_func_801718AC() /* dedup: shared engine-core @0x801718AC (src/shared) */
|
||||
|
||||
DEFINE_func_80171904() /* dedup: shared engine-core @0x80171904 (src/shared) */
|
||||
|
||||
|
||||
@@ -4347,7 +4347,7 @@ DEFINE_func_80171854() /* dedup: shared engine-core @0x80171854 (src/shared) */
|
||||
|
||||
DEFINE_func_80171884() /* dedup: shared engine-core @0x80171884 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_092/nonmatchings/ov_SC03_092_jr_8016AB6C", func_801718AC);
|
||||
DEFINE_func_801718AC() /* dedup: shared engine-core @0x801718AC (src/shared) */
|
||||
|
||||
DEFINE_func_80171904() /* dedup: shared engine-core @0x80171904 (src/shared) */
|
||||
|
||||
|
||||
@@ -3332,7 +3332,7 @@ void func_8017BEF8(void *a0) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_092/nonmatchings/ov_SC03_092_jr_8017AE2C", func_8017BF34);
|
||||
DEFINE_func_8017BF34() /* dedup: shared engine-core @0x8017BF34 (src/shared) */
|
||||
|
||||
|
||||
// @class: plumbing
|
||||
@@ -3361,7 +3361,7 @@ INCLUDE_ASM("asm/ov_SC03_092/nonmatchings/ov_SC03_092_jr_8017AE2C", func_8017BFE
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_092/nonmatchings/ov_SC03_092_jr_8017AE2C", func_8017C064);
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_092/nonmatchings/ov_SC03_092_jr_8017AE2C", func_8017C1CC);
|
||||
DEFINE_func_8017C1CC() /* dedup: shared engine-core @0x8017C1CC (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_092/nonmatchings/ov_SC03_092_jr_8017AE2C", func_8017C218);
|
||||
|
||||
@@ -3373,7 +3373,7 @@ void func_8017C524(void *a0) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_092/nonmatchings/ov_SC03_092_jr_8017AE2C", func_8017C560);
|
||||
DEFINE_func_8017C560() /* dedup: shared engine-core @0x8017C560 (src/shared) */
|
||||
|
||||
|
||||
/* func_8017C5A0 — a state-tick: bump the frame counter at 0x1C; while it is
|
||||
@@ -3475,7 +3475,7 @@ void func_8017C69C(void *a0)
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_092/nonmatchings/ov_SC03_092_jr_8017AE2C", func_8017C770);
|
||||
DEFINE_func_8017C770() /* dedup: shared engine-core @0x8017C770 (src/shared) */
|
||||
|
||||
|
||||
extern void (*D_80188740[])(void);
|
||||
@@ -3487,7 +3487,7 @@ void func_8017C7C4(void *a0) {
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_092/nonmatchings/ov_SC03_092_jr_8017AE2C", func_8017C800);
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_092/nonmatchings/ov_SC03_092_jr_8017AE2C", func_8017C8B4);
|
||||
DEFINE_func_8017C8B4() /* dedup: shared engine-core @0x8017C8B4 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_092/nonmatchings/ov_SC03_092_jr_8017AE2C", func_8017C910);
|
||||
|
||||
|
||||
@@ -4347,7 +4347,7 @@ DEFINE_func_80171854() /* dedup: shared engine-core @0x80171854 (src/shared) */
|
||||
|
||||
DEFINE_func_80171884() /* dedup: shared engine-core @0x80171884 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_093/nonmatchings/ov_SC03_093_jr_8016AB6C", func_801718AC);
|
||||
DEFINE_func_801718AC() /* dedup: shared engine-core @0x801718AC (src/shared) */
|
||||
|
||||
DEFINE_func_80171904() /* dedup: shared engine-core @0x80171904 (src/shared) */
|
||||
|
||||
|
||||
@@ -4347,7 +4347,7 @@ DEFINE_func_80171854() /* dedup: shared engine-core @0x80171854 (src/shared) */
|
||||
|
||||
DEFINE_func_80171884() /* dedup: shared engine-core @0x80171884 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_094/nonmatchings/ov_SC03_094_jr_8016AB6C", func_801718AC);
|
||||
DEFINE_func_801718AC() /* dedup: shared engine-core @0x801718AC (src/shared) */
|
||||
|
||||
DEFINE_func_80171904() /* dedup: shared engine-core @0x80171904 (src/shared) */
|
||||
|
||||
|
||||
@@ -4347,7 +4347,7 @@ DEFINE_func_80171854() /* dedup: shared engine-core @0x80171854 (src/shared) */
|
||||
|
||||
DEFINE_func_80171884() /* dedup: shared engine-core @0x80171884 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_095/nonmatchings/ov_SC03_095_jr_8016AB6C", func_801718AC);
|
||||
DEFINE_func_801718AC() /* dedup: shared engine-core @0x801718AC (src/shared) */
|
||||
|
||||
DEFINE_func_80171904() /* dedup: shared engine-core @0x80171904 (src/shared) */
|
||||
|
||||
|
||||
@@ -4347,7 +4347,7 @@ DEFINE_func_80171854() /* dedup: shared engine-core @0x80171854 (src/shared) */
|
||||
|
||||
DEFINE_func_80171884() /* dedup: shared engine-core @0x80171884 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_096/nonmatchings/ov_SC03_096_jr_8016AB6C", func_801718AC);
|
||||
DEFINE_func_801718AC() /* dedup: shared engine-core @0x801718AC (src/shared) */
|
||||
|
||||
DEFINE_func_80171904() /* dedup: shared engine-core @0x80171904 (src/shared) */
|
||||
|
||||
|
||||
@@ -4347,7 +4347,7 @@ DEFINE_func_80171854() /* dedup: shared engine-core @0x80171854 (src/shared) */
|
||||
|
||||
DEFINE_func_80171884() /* dedup: shared engine-core @0x80171884 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_097/nonmatchings/ov_SC03_097_jr_8016AB6C", func_801718AC);
|
||||
DEFINE_func_801718AC() /* dedup: shared engine-core @0x801718AC (src/shared) */
|
||||
|
||||
DEFINE_func_80171904() /* dedup: shared engine-core @0x80171904 (src/shared) */
|
||||
|
||||
|
||||
@@ -4347,7 +4347,7 @@ DEFINE_func_80171854() /* dedup: shared engine-core @0x80171854 (src/shared) */
|
||||
|
||||
DEFINE_func_80171884() /* dedup: shared engine-core @0x80171884 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_098/nonmatchings/ov_SC03_098_jr_8016AB6C", func_801718AC);
|
||||
DEFINE_func_801718AC() /* dedup: shared engine-core @0x801718AC (src/shared) */
|
||||
|
||||
DEFINE_func_80171904() /* dedup: shared engine-core @0x80171904 (src/shared) */
|
||||
|
||||
|
||||
@@ -4347,7 +4347,7 @@ DEFINE_func_80171854() /* dedup: shared engine-core @0x80171854 (src/shared) */
|
||||
|
||||
DEFINE_func_80171884() /* dedup: shared engine-core @0x80171884 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_099/nonmatchings/ov_SC03_099_jr_8016AB6C", func_801718AC);
|
||||
DEFINE_func_801718AC() /* dedup: shared engine-core @0x801718AC (src/shared) */
|
||||
|
||||
DEFINE_func_80171904() /* dedup: shared engine-core @0x80171904 (src/shared) */
|
||||
|
||||
|
||||
@@ -4347,7 +4347,7 @@ DEFINE_func_80171854() /* dedup: shared engine-core @0x80171854 (src/shared) */
|
||||
|
||||
DEFINE_func_80171884() /* dedup: shared engine-core @0x80171884 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_100/nonmatchings/ov_SC03_100_jr_8016AB6C", func_801718AC);
|
||||
DEFINE_func_801718AC() /* dedup: shared engine-core @0x801718AC (src/shared) */
|
||||
|
||||
DEFINE_func_80171904() /* dedup: shared engine-core @0x80171904 (src/shared) */
|
||||
|
||||
|
||||
@@ -4347,7 +4347,7 @@ DEFINE_func_80171854() /* dedup: shared engine-core @0x80171854 (src/shared) */
|
||||
|
||||
DEFINE_func_80171884() /* dedup: shared engine-core @0x80171884 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_101/nonmatchings/ov_SC03_101_jr_8016AB6C", func_801718AC);
|
||||
DEFINE_func_801718AC() /* dedup: shared engine-core @0x801718AC (src/shared) */
|
||||
|
||||
DEFINE_func_80171904() /* dedup: shared engine-core @0x80171904 (src/shared) */
|
||||
|
||||
|
||||
@@ -3332,7 +3332,7 @@ void func_8017BEF8(void *a0) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_101/nonmatchings/ov_SC03_101_jr_8017AE2C", func_8017BF34);
|
||||
DEFINE_func_8017BF34() /* dedup: shared engine-core @0x8017BF34 (src/shared) */
|
||||
|
||||
|
||||
// @class: plumbing
|
||||
@@ -3361,7 +3361,7 @@ INCLUDE_ASM("asm/ov_SC03_101/nonmatchings/ov_SC03_101_jr_8017AE2C", func_8017BFE
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_101/nonmatchings/ov_SC03_101_jr_8017AE2C", func_8017C064);
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_101/nonmatchings/ov_SC03_101_jr_8017AE2C", func_8017C1CC);
|
||||
DEFINE_func_8017C1CC() /* dedup: shared engine-core @0x8017C1CC (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_101/nonmatchings/ov_SC03_101_jr_8017AE2C", func_8017C218);
|
||||
|
||||
@@ -3373,7 +3373,7 @@ void func_8017C524(void *a0) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_101/nonmatchings/ov_SC03_101_jr_8017AE2C", func_8017C560);
|
||||
DEFINE_func_8017C560() /* dedup: shared engine-core @0x8017C560 (src/shared) */
|
||||
|
||||
|
||||
/* func_8017C5A0 — a state-tick: bump the frame counter at 0x1C; while it is
|
||||
@@ -3475,7 +3475,7 @@ void func_8017C69C(void *a0)
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_101/nonmatchings/ov_SC03_101_jr_8017AE2C", func_8017C770);
|
||||
DEFINE_func_8017C770() /* dedup: shared engine-core @0x8017C770 (src/shared) */
|
||||
|
||||
|
||||
extern void (*D_80187308[])(void);
|
||||
@@ -3487,7 +3487,7 @@ void func_8017C7C4(void *a0) {
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_101/nonmatchings/ov_SC03_101_jr_8017AE2C", func_8017C800);
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_101/nonmatchings/ov_SC03_101_jr_8017AE2C", func_8017C8B4);
|
||||
DEFINE_func_8017C8B4() /* dedup: shared engine-core @0x8017C8B4 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_101/nonmatchings/ov_SC03_101_jr_8017AE2C", func_8017C910);
|
||||
|
||||
|
||||
@@ -4347,7 +4347,7 @@ DEFINE_func_80171854() /* dedup: shared engine-core @0x80171854 (src/shared) */
|
||||
|
||||
DEFINE_func_80171884() /* dedup: shared engine-core @0x80171884 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_102/nonmatchings/ov_SC03_102_jr_8016AB6C", func_801718AC);
|
||||
DEFINE_func_801718AC() /* dedup: shared engine-core @0x801718AC (src/shared) */
|
||||
|
||||
DEFINE_func_80171904() /* dedup: shared engine-core @0x80171904 (src/shared) */
|
||||
|
||||
|
||||
@@ -4347,7 +4347,7 @@ DEFINE_func_80171854() /* dedup: shared engine-core @0x80171854 (src/shared) */
|
||||
|
||||
DEFINE_func_80171884() /* dedup: shared engine-core @0x80171884 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_103/nonmatchings/ov_SC03_103_jr_8016AB6C", func_801718AC);
|
||||
DEFINE_func_801718AC() /* dedup: shared engine-core @0x801718AC (src/shared) */
|
||||
|
||||
DEFINE_func_80171904() /* dedup: shared engine-core @0x80171904 (src/shared) */
|
||||
|
||||
|
||||
@@ -4347,7 +4347,7 @@ DEFINE_func_80171854() /* dedup: shared engine-core @0x80171854 (src/shared) */
|
||||
|
||||
DEFINE_func_80171884() /* dedup: shared engine-core @0x80171884 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_104/nonmatchings/ov_SC03_104_jr_8016AB6C", func_801718AC);
|
||||
DEFINE_func_801718AC() /* dedup: shared engine-core @0x801718AC (src/shared) */
|
||||
|
||||
DEFINE_func_80171904() /* dedup: shared engine-core @0x80171904 (src/shared) */
|
||||
|
||||
|
||||
@@ -3332,7 +3332,7 @@ void func_8017BEF8(void *a0) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_104/nonmatchings/ov_SC03_104_jr_8017AE2C", func_8017BF34);
|
||||
DEFINE_func_8017BF34() /* dedup: shared engine-core @0x8017BF34 (src/shared) */
|
||||
|
||||
|
||||
// @class: plumbing
|
||||
@@ -3361,7 +3361,7 @@ INCLUDE_ASM("asm/ov_SC03_104/nonmatchings/ov_SC03_104_jr_8017AE2C", func_8017BFE
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_104/nonmatchings/ov_SC03_104_jr_8017AE2C", func_8017C064);
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_104/nonmatchings/ov_SC03_104_jr_8017AE2C", func_8017C1CC);
|
||||
DEFINE_func_8017C1CC() /* dedup: shared engine-core @0x8017C1CC (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_104/nonmatchings/ov_SC03_104_jr_8017AE2C", func_8017C218);
|
||||
|
||||
@@ -3373,7 +3373,7 @@ void func_8017C524(void *a0) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_104/nonmatchings/ov_SC03_104_jr_8017AE2C", func_8017C560);
|
||||
DEFINE_func_8017C560() /* dedup: shared engine-core @0x8017C560 (src/shared) */
|
||||
|
||||
|
||||
/* func_8017C5A0 — a state-tick: bump the frame counter at 0x1C; while it is
|
||||
@@ -3475,7 +3475,7 @@ void func_8017C69C(void *a0)
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_104/nonmatchings/ov_SC03_104_jr_8017AE2C", func_8017C770);
|
||||
DEFINE_func_8017C770() /* dedup: shared engine-core @0x8017C770 (src/shared) */
|
||||
|
||||
|
||||
extern void (*D_8018E700[])(void);
|
||||
@@ -3487,7 +3487,7 @@ void func_8017C7C4(void *a0) {
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_104/nonmatchings/ov_SC03_104_jr_8017AE2C", func_8017C800);
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_104/nonmatchings/ov_SC03_104_jr_8017AE2C", func_8017C8B4);
|
||||
DEFINE_func_8017C8B4() /* dedup: shared engine-core @0x8017C8B4 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_104/nonmatchings/ov_SC03_104_jr_8017AE2C", func_8017C910);
|
||||
|
||||
|
||||
@@ -4347,7 +4347,7 @@ DEFINE_func_80171854() /* dedup: shared engine-core @0x80171854 (src/shared) */
|
||||
|
||||
DEFINE_func_80171884() /* dedup: shared engine-core @0x80171884 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_105/nonmatchings/ov_SC03_105_jr_8016AB6C", func_801718AC);
|
||||
DEFINE_func_801718AC() /* dedup: shared engine-core @0x801718AC (src/shared) */
|
||||
|
||||
DEFINE_func_80171904() /* dedup: shared engine-core @0x80171904 (src/shared) */
|
||||
|
||||
|
||||
@@ -4297,7 +4297,7 @@ DEFINE_func_80171854() /* dedup: shared engine-core @0x80171854 (src/shared) */
|
||||
|
||||
DEFINE_func_80171884() /* dedup: shared engine-core @0x80171884 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_108/nonmatchings/ov_SC03_108_jr_8016AB6C", func_801718AC);
|
||||
DEFINE_func_801718AC() /* dedup: shared engine-core @0x801718AC (src/shared) */
|
||||
|
||||
DEFINE_func_80171904() /* dedup: shared engine-core @0x80171904 (src/shared) */
|
||||
|
||||
|
||||
@@ -4347,7 +4347,7 @@ DEFINE_func_80171854() /* dedup: shared engine-core @0x80171854 (src/shared) */
|
||||
|
||||
DEFINE_func_80171884() /* dedup: shared engine-core @0x80171884 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_109/nonmatchings/ov_SC03_109_jr_8016AB6C", func_801718AC);
|
||||
DEFINE_func_801718AC() /* dedup: shared engine-core @0x801718AC (src/shared) */
|
||||
|
||||
DEFINE_func_80171904() /* dedup: shared engine-core @0x80171904 (src/shared) */
|
||||
|
||||
|
||||
@@ -4347,7 +4347,7 @@ DEFINE_func_80171854() /* dedup: shared engine-core @0x80171854 (src/shared) */
|
||||
|
||||
DEFINE_func_80171884() /* dedup: shared engine-core @0x80171884 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_110/nonmatchings/ov_SC03_110_jr_8016AB6C", func_801718AC);
|
||||
DEFINE_func_801718AC() /* dedup: shared engine-core @0x801718AC (src/shared) */
|
||||
|
||||
DEFINE_func_80171904() /* dedup: shared engine-core @0x80171904 (src/shared) */
|
||||
|
||||
|
||||
@@ -4347,7 +4347,7 @@ DEFINE_func_80171854() /* dedup: shared engine-core @0x80171854 (src/shared) */
|
||||
|
||||
DEFINE_func_80171884() /* dedup: shared engine-core @0x80171884 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_111/nonmatchings/ov_SC03_111_jr_8016AB6C", func_801718AC);
|
||||
DEFINE_func_801718AC() /* dedup: shared engine-core @0x801718AC (src/shared) */
|
||||
|
||||
DEFINE_func_80171904() /* dedup: shared engine-core @0x80171904 (src/shared) */
|
||||
|
||||
|
||||
@@ -4346,7 +4346,7 @@ DEFINE_func_80171854() /* dedup: shared engine-core @0x80171854 (src/shared) */
|
||||
|
||||
DEFINE_func_80171884() /* dedup: shared engine-core @0x80171884 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_112/nonmatchings/ov_SC03_112_jr_8016AB6C", func_801718AC);
|
||||
DEFINE_func_801718AC() /* dedup: shared engine-core @0x801718AC (src/shared) */
|
||||
|
||||
DEFINE_func_80171904() /* dedup: shared engine-core @0x80171904 (src/shared) */
|
||||
|
||||
|
||||
@@ -4346,7 +4346,7 @@ DEFINE_func_80171854() /* dedup: shared engine-core @0x80171854 (src/shared) */
|
||||
|
||||
DEFINE_func_80171884() /* dedup: shared engine-core @0x80171884 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_113/nonmatchings/ov_SC03_113_jr_8016AB6C", func_801718AC);
|
||||
DEFINE_func_801718AC() /* dedup: shared engine-core @0x801718AC (src/shared) */
|
||||
|
||||
DEFINE_func_80171904() /* dedup: shared engine-core @0x80171904 (src/shared) */
|
||||
|
||||
|
||||
@@ -4346,7 +4346,7 @@ DEFINE_func_80171854() /* dedup: shared engine-core @0x80171854 (src/shared) */
|
||||
|
||||
DEFINE_func_80171884() /* dedup: shared engine-core @0x80171884 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_114/nonmatchings/ov_SC03_114_jr_8016AB6C", func_801718AC);
|
||||
DEFINE_func_801718AC() /* dedup: shared engine-core @0x801718AC (src/shared) */
|
||||
|
||||
DEFINE_func_80171904() /* dedup: shared engine-core @0x80171904 (src/shared) */
|
||||
|
||||
|
||||
@@ -4346,7 +4346,7 @@ DEFINE_func_80171854() /* dedup: shared engine-core @0x80171854 (src/shared) */
|
||||
|
||||
DEFINE_func_80171884() /* dedup: shared engine-core @0x80171884 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_115/nonmatchings/ov_SC03_115_jr_8016AB6C", func_801718AC);
|
||||
DEFINE_func_801718AC() /* dedup: shared engine-core @0x801718AC (src/shared) */
|
||||
|
||||
DEFINE_func_80171904() /* dedup: shared engine-core @0x80171904 (src/shared) */
|
||||
|
||||
|
||||
@@ -4346,7 +4346,7 @@ DEFINE_func_80171854() /* dedup: shared engine-core @0x80171854 (src/shared) */
|
||||
|
||||
DEFINE_func_80171884() /* dedup: shared engine-core @0x80171884 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_116/nonmatchings/ov_SC03_116_jr_8016AB6C", func_801718AC);
|
||||
DEFINE_func_801718AC() /* dedup: shared engine-core @0x801718AC (src/shared) */
|
||||
|
||||
DEFINE_func_80171904() /* dedup: shared engine-core @0x80171904 (src/shared) */
|
||||
|
||||
|
||||
@@ -4346,7 +4346,7 @@ DEFINE_func_80171854() /* dedup: shared engine-core @0x80171854 (src/shared) */
|
||||
|
||||
DEFINE_func_80171884() /* dedup: shared engine-core @0x80171884 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_117/nonmatchings/ov_SC03_117_jr_8016AB6C", func_801718AC);
|
||||
DEFINE_func_801718AC() /* dedup: shared engine-core @0x801718AC (src/shared) */
|
||||
|
||||
DEFINE_func_80171904() /* dedup: shared engine-core @0x80171904 (src/shared) */
|
||||
|
||||
|
||||
@@ -4346,7 +4346,7 @@ DEFINE_func_80171854() /* dedup: shared engine-core @0x80171854 (src/shared) */
|
||||
|
||||
DEFINE_func_80171884() /* dedup: shared engine-core @0x80171884 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_118/nonmatchings/ov_SC03_118_jr_8016AB6C", func_801718AC);
|
||||
DEFINE_func_801718AC() /* dedup: shared engine-core @0x801718AC (src/shared) */
|
||||
|
||||
DEFINE_func_80171904() /* dedup: shared engine-core @0x80171904 (src/shared) */
|
||||
|
||||
|
||||
@@ -4346,7 +4346,7 @@ DEFINE_func_80171854() /* dedup: shared engine-core @0x80171854 (src/shared) */
|
||||
|
||||
DEFINE_func_80171884() /* dedup: shared engine-core @0x80171884 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_119/nonmatchings/ov_SC03_119_jr_8016AB6C", func_801718AC);
|
||||
DEFINE_func_801718AC() /* dedup: shared engine-core @0x801718AC (src/shared) */
|
||||
|
||||
DEFINE_func_80171904() /* dedup: shared engine-core @0x80171904 (src/shared) */
|
||||
|
||||
|
||||
@@ -4346,7 +4346,7 @@ DEFINE_func_80171854() /* dedup: shared engine-core @0x80171854 (src/shared) */
|
||||
|
||||
DEFINE_func_80171884() /* dedup: shared engine-core @0x80171884 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_121/nonmatchings/ov_SC03_121_jr_8016AB6C", func_801718AC);
|
||||
DEFINE_func_801718AC() /* dedup: shared engine-core @0x801718AC (src/shared) */
|
||||
|
||||
DEFINE_func_80171904() /* dedup: shared engine-core @0x80171904 (src/shared) */
|
||||
|
||||
|
||||
@@ -4346,7 +4346,7 @@ DEFINE_func_80171854() /* dedup: shared engine-core @0x80171854 (src/shared) */
|
||||
|
||||
DEFINE_func_80171884() /* dedup: shared engine-core @0x80171884 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_124/nonmatchings/ov_SC03_124_jr_8016AB6C", func_801718AC);
|
||||
DEFINE_func_801718AC() /* dedup: shared engine-core @0x801718AC (src/shared) */
|
||||
|
||||
DEFINE_func_80171904() /* dedup: shared engine-core @0x80171904 (src/shared) */
|
||||
|
||||
|
||||
@@ -4346,7 +4346,7 @@ DEFINE_func_80171854() /* dedup: shared engine-core @0x80171854 (src/shared) */
|
||||
|
||||
DEFINE_func_80171884() /* dedup: shared engine-core @0x80171884 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_125/nonmatchings/ov_SC03_125_jr_8016AB6C", func_801718AC);
|
||||
DEFINE_func_801718AC() /* dedup: shared engine-core @0x801718AC (src/shared) */
|
||||
|
||||
DEFINE_func_80171904() /* dedup: shared engine-core @0x80171904 (src/shared) */
|
||||
|
||||
|
||||
@@ -4346,7 +4346,7 @@ DEFINE_func_80171854() /* dedup: shared engine-core @0x80171854 (src/shared) */
|
||||
|
||||
DEFINE_func_80171884() /* dedup: shared engine-core @0x80171884 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_126/nonmatchings/ov_SC03_126_jr_8016AB6C", func_801718AC);
|
||||
DEFINE_func_801718AC() /* dedup: shared engine-core @0x801718AC (src/shared) */
|
||||
|
||||
DEFINE_func_80171904() /* dedup: shared engine-core @0x80171904 (src/shared) */
|
||||
|
||||
|
||||
@@ -4346,7 +4346,7 @@ DEFINE_func_80171854() /* dedup: shared engine-core @0x80171854 (src/shared) */
|
||||
|
||||
DEFINE_func_80171884() /* dedup: shared engine-core @0x80171884 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC04_000/nonmatchings/ov_SC04_000_jr_8016AB6C", func_801718AC);
|
||||
DEFINE_func_801718AC() /* dedup: shared engine-core @0x801718AC (src/shared) */
|
||||
|
||||
DEFINE_func_80171904() /* dedup: shared engine-core @0x80171904 (src/shared) */
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user