feat(phase-29): T87/T88 — ordinal immediate resolution (§118): 158 banked

- The T86 asm-ambiguous refusal was CORRECT (a by-value swap would corrupt the non-differing
  occurrence); the safety TEST was too strict. It compared the C literal's occurrences against
  EVERY asm use of that value, but gcc synthesises uses no C token names — e.g.
  D_80187044[*(u16 *)((s32)a0 + 0x2)]() has one C literal 0x2 and TWO asm uses of 2 (the
  per-member offset + a fixed sll ..,2 for the 4-byte stride). Unsatisfiable by construction.
- FIX (_ordinal_edits, §118): pair C occurrences to asm positions IN ORDER, accepting either
  len(spans)==len(asm_pos) (every use named) or len(spans)==len(diff_pos) (extras are implicit).
  Rewrite only occurrences whose instruction is in diff_idx. Order is a heuristic, so the
  whole-binary byte-gate stays the sole arbiter — a wrong pairing is rejected, never banked.
- T87: func_801599A4 0 -> 137 drafts, 137 banked; +12 singletons = 149 (family 0x80131eec).
- T88 blast radius: only 9 of the other 144 immediate-refusals converted (refusals 67 -> 34).
  A TARGETED lever, not a second §117 — recorded so it is not over-projected.
- GATES: R22 clean-fleet 140/140; dedup 1886/0; 0 NON_MATCHING (G4).
- METRICS: fn-count 91.79 -> 91.84% (+158, exact) · distinct-code 69,450 -> 69,593 (+143).
This commit is contained in:
Drew T
2026-07-30 10:26:26 -06:00
parent 48a5bc358e
commit bf71232d0b
152 changed files with 2858 additions and 1605 deletions
+1296 -1299
View File
File diff suppressed because it is too large Load Diff
+34
View File
@@ -7952,3 +7952,37 @@ compiler wall, which is how this was booked for so long.
> **The law:** when a masked oracle says MATCH and the whole-binary gate says DIFF, suspect a
> **symbol** before suspecting codegen — masking is precisely what hides a wrong relocation target.
> And any positional exemplar→sibling map must derive each side's *kind* from its own side.
## §118 — Ordinal (positional) immediate resolution: compare C tokens to the DIFFERING asm uses (Phase 29 T87)
`family_remap.imm_map_tier1` substitutes a member's immediates **by value** over the whole body, so it
refuses (`asm-ambiguous`) when the exemplar uses the same literal at a position that differs AND at one
that does not — a by-value swap would corrupt the fixed one. **The refusal is correct; the safety test
was too strict.**
It compared the C literal's occurrences against **every** asm use of that value. But gcc synthesises
uses that **no C token names**, so that comparison can never balance. The canonical case is an array
index:
```c
D_80187044[*(u16 *)((s32)a0 + 0x2)](); /* one C literal `0x2` */
```
emits **two** uses of the value 2 — the `0x2` member offset (per-member) **and** a fixed `sll ..,2`
for the 4-byte stride. One C token, two asm uses => permanently unresolvable.
**The fix** pairs C occurrences with asm positions in order, accepting either balance:
- `len(spans) == len(asm_pos)` — every asm use has a C token; pair 1:1, rewrite only those in `diff_idx`.
- `len(spans) == len(diff_pos)` — the extras are **implicit** (compiler-synthesised); pair the C tokens
against the *differing* uses only. A swap cannot corrupt what no token names.
Anything else still refuses. The order assumption (C literal order ~ emitted immediate order) is a
heuristic, so the whole-binary byte-gate stays the sole arbiter (G3/P9) — a wrong pairing is rejected,
never banked.
**Measured:** `func_801599A4` 0 -> **137 drafts, 137 banked** (family `0x80131eec`, +12 singletons =
149). **Blast radius is small:** only **9** of the other 144 immediate-refusals converted, so this is a
targeted lever, not a second §117 — the remaining still-zero families are blocked by something else.
> **The law:** when a safety check counts *asm* occurrences against *source* occurrences, it must
> exclude the ones the compiler synthesises — otherwise the check is unsatisfiable by construction and
> reads as an unresolvable member forever.
+143 -143
View File
@@ -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: 324687 / 353720 = 91.79% (REAL+LINKED+empties; FUNCTION-count, ×134-inflated — one crack counts per overlay)
FLEET instr-weighted : 11473808 / 13141652 = 87.3% (shipped .text across main + resident + 138 overlays; the decomp.dev-DISPLAY number)
FLEET distinct-code(uniq): 4391262 / 5634875 = 77.9% (69450/87459 unique fns; the DISTINCT-RE number)
FLEET fn-count byte-ident: 324845 / 353720 = 91.84% (REAL+LINKED+empties; FUNCTION-count, ×134-inflated — one crack counts per overlay)
FLEET instr-weighted : 11476144 / 13141652 = 87.3% (shipped .text across main + resident + 138 overlays; the decomp.dev-DISPLAY number)
FLEET distinct-code(uniq): 4393423 / 5634875 = 78.0% (69593/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: 11473372 / 13081451 = 87.7%)
(fleet EXCLUDING main, for continuity with pre-2026-07-22 readings: 11475708 / 13081451 = 87.7%)
FLEET REAL substantive : 322832 (of which dedup-shared 239530 via 1886 groups / 239604 instances)
FLEET REAL substantive : 322990 (of which dedup-shared 239530 via 1886 groups / 239604 instances)
FLEET LINKED PsyQ objs : 959
FLEET NON_MATCHING : 7 (0 in any default build — G4)
FLEET INCLUDE_ASM stubs : 29026
FLEET INCLUDE_ASM stubs : 28868
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 | 2307 | 1742 | 0 | 2307 | 2403 | 96.0% |
| ov_SC01_001 | 2313 | 1743 | 0 | 2315 | 2466 | 93.9% |
| ov_SC01_004 | 2304 | 1734 | 0 | 2305 | 2414 | 95.5% |
| ov_SC01_005 | 2333 | 1757 | 0 | 2333 | 2503 | 93.2% |
| ov_SC01_006 | 2333 | 1757 | 0 | 2333 | 2503 | 93.2% |
| ov_SC01_008 | 2304 | 1734 | 0 | 2306 | 2426 | 95.1% |
| ov_SC01_009 | 2329 | 1735 | 0 | 2330 | 2507 | 92.9% |
| ov_SC01_074 | 2310 | 1735 | 0 | 2312 | 2425 | 95.3% |
| ov_SC01_000 | 2308 | 1742 | 0 | 2308 | 2403 | 96.0% |
| ov_SC01_001 | 2314 | 1743 | 0 | 2316 | 2466 | 93.9% |
| ov_SC01_004 | 2305 | 1734 | 0 | 2306 | 2414 | 95.5% |
| ov_SC01_005 | 2334 | 1757 | 0 | 2334 | 2503 | 93.2% |
| ov_SC01_006 | 2334 | 1757 | 0 | 2334 | 2503 | 93.2% |
| ov_SC01_008 | 2305 | 1734 | 0 | 2307 | 2426 | 95.1% |
| ov_SC01_009 | 2330 | 1735 | 0 | 2331 | 2507 | 93.0% |
| ov_SC01_074 | 2311 | 1735 | 0 | 2313 | 2425 | 95.4% |
| ov_SC01_077 | 2479 | 1702 | 0 | 2481 | 2585 | 96.0% |
| ov_SC01_080 | 2344 | 1738 | 0 | 2344 | 2512 | 93.3% |
| ov_SC01_084 | 2352 | 1738 | 0 | 2357 | 2579 | 91.4% |
| ov_SC02_000 | 2407 | 1773 | 0 | 2407 | 2683 | 89.7% |
| ov_SC02_003 | 2407 | 1773 | 0 | 2407 | 2683 | 89.7% |
| ov_SC02_004 | 2309 | 1738 | 0 | 2309 | 2401 | 96.2% |
| ov_SC02_005 | 2427 | 1734 | 0 | 2437 | 2927 | 83.3% |
| ov_SC02_011 | 2440 | 1741 | 0 | 2451 | 2893 | 84.7% |
| ov_SC02_015 | 2314 | 1740 | 0 | 2314 | 2414 | 95.9% |
| ov_SC02_016 | 2351 | 1740 | 0 | 2354 | 2545 | 92.5% |
| ov_SC02_017 | 2401 | 1740 | 0 | 2409 | 2732 | 88.2% |
| ov_SC02_021 | 2319 | 1740 | 0 | 2319 | 2437 | 95.2% |
| ov_SC02_026 | 2334 | 1738 | 0 | 2340 | 2572 | 91.0% |
| ov_SC02_027 | 2358 | 1738 | 0 | 2367 | 2692 | 87.9% |
| ov_SC02_028 | 2359 | 1738 | 0 | 2369 | 2701 | 87.7% |
| ov_SC02_031 | 2347 | 1739 | 0 | 2352 | 2562 | 91.8% |
| ov_SC02_035 | 2320 | 1738 | 0 | 2323 | 2520 | 92.2% |
| ov_SC02_039 | 2305 | 1738 | 0 | 2305 | 2416 | 95.4% |
| ov_SC02_041 | 2348 | 1738 | 0 | 2351 | 2561 | 91.8% |
| ov_SC03_001 | 2449 | 1739 | 0 | 2466 | 2869 | 86.0% |
| ov_SC03_002 | 2367 | 1743 | 0 | 2382 | 2631 | 90.5% |
| ov_SC03_003 | 2315 | 1738 | 0 | 2316 | 2423 | 95.6% |
| ov_SC03_006 | 2387 | 1744 | 0 | 2396 | 2767 | 86.6% |
| ov_SC03_007 | 2365 | 1738 | 0 | 2369 | 2623 | 90.3% |
| ov_SC03_010 | 2324 | 1738 | 0 | 2324 | 2471 | 94.1% |
| ov_SC03_011 | 2331 | 1738 | 0 | 2337 | 2527 | 92.5% |
| ov_SC03_012 | 2306 | 1738 | 0 | 2307 | 2406 | 95.9% |
| ov_SC03_013 | 2330 | 1738 | 0 | 2330 | 2493 | 93.5% |
| ov_SC03_014 | 2391 | 1763 | 0 | 2391 | 2685 | 89.1% |
| ov_SC03_015 | 2393 | 1763 | 0 | 2393 | 2685 | 89.1% |
| ov_SC03_023 | 2317 | 1738 | 0 | 2318 | 2435 | 95.2% |
| ov_SC03_024 | 2381 | 1743 | 0 | 2388 | 2641 | 90.4% |
| ov_SC03_028 | 2351 | 1738 | 0 | 2355 | 2664 | 88.4% |
| ov_SC03_029 | 2362 | 1740 | 0 | 2372 | 2644 | 89.7% |
| ov_SC03_030 | 2328 | 1743 | 0 | 2330 | 2495 | 93.4% |
| ov_SC03_031 | 2324 | 1738 | 0 | 2327 | 2514 | 92.6% |
| ov_SC03_089 | 2340 | 1738 | 0 | 2347 | 2581 | 90.9% |
| ov_SC03_090 | 2343 | 1738 | 0 | 2351 | 2625 | 89.6% |
| ov_SC03_091 | 2345 | 1738 | 0 | 2353 | 2640 | 89.1% |
| ov_SC03_092 | 2360 | 1738 | 0 | 2372 | 2587 | 91.7% |
| ov_SC03_093 | 2332 | 1738 | 0 | 2336 | 2563 | 91.1% |
| ov_SC03_094 | 2327 | 1738 | 0 | 2333 | 2577 | 90.5% |
| ov_SC03_095 | 2316 | 1738 | 0 | 2319 | 2474 | 93.7% |
| ov_SC03_096 | 2317 | 1738 | 0 | 2320 | 2465 | 94.1% |
| ov_SC03_097 | 2352 | 1738 | 0 | 2359 | 2603 | 90.6% |
| ov_SC03_098 | 2324 | 1738 | 0 | 2327 | 2541 | 91.6% |
| ov_SC03_099 | 2317 | 1738 | 0 | 2320 | 2504 | 92.7% |
| ov_SC03_100 | 2327 | 1738 | 0 | 2331 | 2539 | 91.8% |
| ov_SC03_101 | 2330 | 1738 | 0 | 2334 | 2528 | 92.3% |
| ov_SC03_102 | 2318 | 1738 | 0 | 2321 | 2492 | 93.1% |
| ov_SC03_103 | 2323 | 1740 | 0 | 2326 | 2510 | 92.7% |
| ov_SC03_104 | 2347 | 1738 | 0 | 2354 | 2616 | 90.0% |
| ov_SC03_105 | 2342 | 1738 | 0 | 2349 | 2597 | 90.5% |
| ov_SC03_108 | 2308 | 1738 | 0 | 2308 | 2443 | 94.5% |
| ov_SC03_109 | 2311 | 1738 | 0 | 2313 | 2424 | 95.4% |
| ov_SC03_110 | 2315 | 1738 | 0 | 2315 | 2468 | 93.8% |
| ov_SC03_111 | 2326 | 1738 | 0 | 2329 | 2510 | 92.8% |
| ov_SC03_112 | 2323 | 1740 | 0 | 2325 | 2526 | 92.0% |
| ov_SC03_113 | 2316 | 1740 | 0 | 2319 | 2468 | 94.0% |
| ov_SC03_114 | 2304 | 1738 | 0 | 2306 | 2415 | 95.5% |
| ov_SC03_115 | 2322 | 1738 | 0 | 2324 | 2472 | 94.0% |
| ov_SC03_116 | 2312 | 1738 | 0 | 2315 | 2438 | 95.0% |
| ov_SC03_117 | 2346 | 1738 | 0 | 2352 | 2557 | 92.0% |
| ov_SC03_118 | 2394 | 1762 | 0 | 2395 | 2685 | 89.2% |
| ov_SC03_119 | 2390 | 1762 | 0 | 2391 | 2685 | 89.1% |
| ov_SC03_121 | 2320 | 1738 | 0 | 2323 | 2459 | 94.5% |
| ov_SC03_124 | 2411 | 1734 | 0 | 2431 | 2741 | 88.7% |
| ov_SC03_125 | 2354 | 1738 | 0 | 2366 | 2588 | 91.4% |
| ov_SC03_126 | 2317 | 1740 | 0 | 2317 | 2423 | 95.6% |
| ov_SC04_000 | 2337 | 1742 | 0 | 2346 | 2546 | 92.1% |
| ov_SC04_002 | 2359 | 1738 | 0 | 2363 | 2636 | 89.6% |
| ov_SC04_003 | 2330 | 1738 | 0 | 2334 | 2502 | 93.3% |
| ov_SC04_004 | 2339 | 1738 | 0 | 2341 | 2558 | 91.5% |
| ov_SC04_005 | 2349 | 1738 | 0 | 2355 | 2612 | 90.2% |
| ov_SC04_006 | 2316 | 1738 | 0 | 2318 | 2454 | 94.5% |
| ov_SC04_007 | 2343 | 1738 | 0 | 2347 | 2569 | 91.4% |
| ov_SC04_008 | 2309 | 1738 | 0 | 2309 | 2415 | 95.6% |
| ov_SC04_009 | 2323 | 1738 | 0 | 2326 | 2441 | 95.3% |
| ov_SC04_010 | 2313 | 1738 | 0 | 2314 | 2419 | 95.7% |
| ov_SC04_011 | 2372 | 1738 | 0 | 2378 | 2803 | 84.8% |
| ov_SC04_012 | 2311 | 1738 | 0 | 2312 | 2420 | 95.5% |
| ov_SC04_015 | 2379 | 1739 | 0 | 2390 | 2611 | 91.5% |
| ov_SC04_016 | 2313 | 1738 | 0 | 2315 | 2440 | 94.9% |
| ov_SC04_018 | 2447 | 1773 | 0 | 2447 | 2857 | 85.6% |
| ov_SC04_019 | 2447 | 1773 | 0 | 2447 | 2857 | 85.6% |
| ov_SC04_020 | 2341 | 1738 | 0 | 2353 | 2567 | 91.7% |
| ov_SC04_021 | 2317 | 1740 | 0 | 2317 | 2423 | 95.6% |
| ov_SC05_000 | 2315 | 1742 | 0 | 2318 | 2422 | 95.7% |
| ov_SC05_001 | 2337 | 1738 | 0 | 2342 | 2574 | 91.0% |
| ov_SC05_002 | 2321 | 1738 | 0 | 2324 | 2442 | 95.2% |
| ov_SC05_003 | 2317 | 1738 | 0 | 2318 | 2481 | 93.4% |
| ov_SC05_004 | 2313 | 1738 | 0 | 2315 | 2464 | 94.0% |
| ov_SC05_005 | 2317 | 1738 | 0 | 2318 | 2491 | 93.1% |
| ov_SC05_006 | 2311 | 1738 | 0 | 2311 | 2430 | 95.1% |
| ov_SC05_007 | 2321 | 1738 | 0 | 2326 | 2482 | 93.7% |
| ov_SC05_008 | 2342 | 1738 | 0 | 2344 | 2543 | 92.2% |
| ov_SC05_009 | 2316 | 1738 | 0 | 2320 | 2438 | 95.2% |
| ov_SC05_010 | 2344 | 1738 | 0 | 2348 | 2588 | 90.7% |
| ov_SC05_011 | 2312 | 1738 | 0 | 2313 | 2409 | 96.0% |
| ov_SC05_017 | 2434 | 1735 | 0 | 2445 | 2842 | 86.0% |
| ov_SC05_018 | 2372 | 1738 | 0 | 2385 | 2673 | 89.2% |
| ov_SC05_019 | 2317 | 1740 | 0 | 2317 | 2423 | 95.6% |
| ov_SC06_000 | 2393 | 1747 | 0 | 2396 | 2691 | 89.0% |
| ov_SC06_006 | 2336 | 1738 | 0 | 2337 | 2511 | 93.1% |
| ov_SC06_008 | 2357 | 1740 | 0 | 2363 | 2542 | 93.0% |
| ov_SC06_010 | 2336 | 1738 | 0 | 2341 | 2517 | 93.0% |
| ov_SC06_011 | 2321 | 1738 | 0 | 2325 | 2468 | 94.2% |
| ov_SC06_013 | 2315 | 1738 | 0 | 2316 | 2425 | 95.5% |
| ov_SC06_014 | 2322 | 1738 | 0 | 2324 | 2453 | 94.7% |
| ov_SC06_015 | 2320 | 1738 | 0 | 2320 | 2421 | 95.8% |
| ov_SC06_016 | 2336 | 1738 | 0 | 2338 | 2549 | 91.7% |
| ov_SC06_018 | 2350 | 1740 | 0 | 2357 | 2665 | 88.4% |
| ov_SC06_020 | 2325 | 1740 | 0 | 2326 | 2518 | 92.4% |
| ov_SC06_022 | 2350 | 1738 | 0 | 2358 | 2642 | 89.3% |
| ov_SC06_024 | 2358 | 1738 | 0 | 2364 | 2667 | 88.6% |
| ov_SC06_025 | 2344 | 1738 | 0 | 2349 | 2572 | 91.3% |
| ov_SC06_027 | 2304 | 1738 | 0 | 2305 | 2408 | 95.7% |
| ov_SC06_029 | 2365 | 1738 | 0 | 2377 | 2662 | 89.3% |
| ov_SC06_030 | 2319 | 1738 | 0 | 2319 | 2456 | 94.4% |
| ov_SC06_032 | 2345 | 1739 | 0 | 2352 | 2658 | 88.5% |
| ov_SC06_033 | 2346 | 1739 | 0 | 2353 | 2631 | 89.4% |
| ov_SC07_000 | 2332 | 1742 | 0 | 2334 | 2521 | 92.6% |
| ov_SC07_001 | 2316 | 1738 | 0 | 2318 | 2454 | 94.5% |
| ov_SC07_002 | 2343 | 1738 | 0 | 2347 | 2579 | 91.0% |
| ov_SC07_006 | 2205 | 1555 | 0 | 2285 | 2456 | 93.0% |
| ov_SC07_007 | 2214 | 1586 | 0 | 2298 | 2613 | 87.9% |
| ov_SC07_008 | 2301 | 1738 | 0 | 2301 | 2386 | 96.4% |
| ov_SC07_009 | 2311 | 1738 | 0 | 2313 | 2430 | 95.2% |
| ov_SC07_010 | 2225 | 1608 | 0 | 2308 | 2524 | 91.4% |
| ov_SC07_011 | 2222 | 1585 | 0 | 2302 | 2449 | 94.0% |
| ov_SC01_080 | 2345 | 1738 | 0 | 2345 | 2512 | 93.4% |
| ov_SC01_084 | 2353 | 1738 | 0 | 2358 | 2579 | 91.4% |
| ov_SC02_000 | 2408 | 1773 | 0 | 2408 | 2683 | 89.8% |
| ov_SC02_003 | 2408 | 1773 | 0 | 2408 | 2683 | 89.8% |
| ov_SC02_004 | 2310 | 1738 | 0 | 2310 | 2401 | 96.2% |
| ov_SC02_005 | 2431 | 1734 | 0 | 2441 | 2927 | 83.4% |
| ov_SC02_011 | 2441 | 1741 | 0 | 2452 | 2893 | 84.8% |
| ov_SC02_015 | 2315 | 1740 | 0 | 2315 | 2414 | 95.9% |
| ov_SC02_016 | 2353 | 1740 | 0 | 2356 | 2545 | 92.6% |
| ov_SC02_017 | 2402 | 1740 | 0 | 2410 | 2732 | 88.2% |
| ov_SC02_021 | 2320 | 1740 | 0 | 2320 | 2437 | 95.2% |
| ov_SC02_026 | 2335 | 1738 | 0 | 2341 | 2572 | 91.0% |
| ov_SC02_027 | 2359 | 1738 | 0 | 2368 | 2692 | 88.0% |
| ov_SC02_028 | 2361 | 1738 | 0 | 2371 | 2701 | 87.8% |
| ov_SC02_031 | 2348 | 1739 | 0 | 2353 | 2562 | 91.8% |
| ov_SC02_035 | 2321 | 1738 | 0 | 2324 | 2520 | 92.2% |
| ov_SC02_039 | 2306 | 1738 | 0 | 2306 | 2416 | 95.4% |
| ov_SC02_041 | 2349 | 1738 | 0 | 2352 | 2561 | 91.8% |
| ov_SC03_001 | 2450 | 1739 | 0 | 2467 | 2869 | 86.0% |
| ov_SC03_002 | 2368 | 1743 | 0 | 2383 | 2631 | 90.6% |
| ov_SC03_003 | 2316 | 1738 | 0 | 2317 | 2423 | 95.6% |
| ov_SC03_006 | 2388 | 1744 | 0 | 2397 | 2767 | 86.6% |
| ov_SC03_007 | 2367 | 1738 | 0 | 2371 | 2623 | 90.4% |
| ov_SC03_010 | 2325 | 1738 | 0 | 2325 | 2471 | 94.1% |
| ov_SC03_011 | 2332 | 1738 | 0 | 2338 | 2527 | 92.5% |
| ov_SC03_012 | 2307 | 1738 | 0 | 2308 | 2406 | 95.9% |
| ov_SC03_013 | 2331 | 1738 | 0 | 2331 | 2493 | 93.5% |
| ov_SC03_014 | 2392 | 1763 | 0 | 2392 | 2685 | 89.1% |
| ov_SC03_015 | 2394 | 1763 | 0 | 2394 | 2685 | 89.2% |
| ov_SC03_023 | 2318 | 1738 | 0 | 2319 | 2435 | 95.2% |
| ov_SC03_024 | 2382 | 1743 | 0 | 2389 | 2641 | 90.5% |
| ov_SC03_028 | 2352 | 1738 | 0 | 2356 | 2664 | 88.4% |
| ov_SC03_029 | 2363 | 1740 | 0 | 2373 | 2644 | 89.8% |
| ov_SC03_030 | 2329 | 1743 | 0 | 2331 | 2495 | 93.4% |
| ov_SC03_031 | 2325 | 1738 | 0 | 2328 | 2514 | 92.6% |
| ov_SC03_089 | 2341 | 1738 | 0 | 2348 | 2581 | 91.0% |
| ov_SC03_090 | 2344 | 1738 | 0 | 2352 | 2625 | 89.6% |
| ov_SC03_091 | 2346 | 1738 | 0 | 2354 | 2640 | 89.2% |
| ov_SC03_092 | 2361 | 1738 | 0 | 2373 | 2587 | 91.7% |
| ov_SC03_093 | 2333 | 1738 | 0 | 2337 | 2563 | 91.2% |
| ov_SC03_094 | 2328 | 1738 | 0 | 2334 | 2577 | 90.6% |
| ov_SC03_095 | 2317 | 1738 | 0 | 2320 | 2474 | 93.8% |
| ov_SC03_096 | 2318 | 1738 | 0 | 2321 | 2465 | 94.2% |
| ov_SC03_097 | 2354 | 1738 | 0 | 2361 | 2603 | 90.7% |
| ov_SC03_098 | 2325 | 1738 | 0 | 2328 | 2541 | 91.6% |
| ov_SC03_099 | 2318 | 1738 | 0 | 2321 | 2504 | 92.7% |
| ov_SC03_100 | 2328 | 1738 | 0 | 2332 | 2539 | 91.8% |
| ov_SC03_101 | 2331 | 1738 | 0 | 2335 | 2528 | 92.4% |
| ov_SC03_102 | 2319 | 1738 | 0 | 2322 | 2492 | 93.2% |
| ov_SC03_103 | 2324 | 1740 | 0 | 2327 | 2510 | 92.7% |
| ov_SC03_104 | 2348 | 1738 | 0 | 2355 | 2616 | 90.0% |
| ov_SC03_105 | 2343 | 1738 | 0 | 2350 | 2597 | 90.5% |
| ov_SC03_108 | 2309 | 1738 | 0 | 2309 | 2443 | 94.5% |
| ov_SC03_109 | 2314 | 1738 | 0 | 2316 | 2424 | 95.5% |
| ov_SC03_110 | 2316 | 1738 | 0 | 2316 | 2468 | 93.8% |
| ov_SC03_111 | 2327 | 1738 | 0 | 2330 | 2510 | 92.8% |
| ov_SC03_112 | 2324 | 1740 | 0 | 2326 | 2526 | 92.1% |
| ov_SC03_113 | 2317 | 1740 | 0 | 2320 | 2468 | 94.0% |
| ov_SC03_114 | 2305 | 1738 | 0 | 2307 | 2415 | 95.5% |
| ov_SC03_115 | 2323 | 1738 | 0 | 2325 | 2472 | 94.1% |
| ov_SC03_116 | 2313 | 1738 | 0 | 2316 | 2438 | 95.0% |
| ov_SC03_117 | 2347 | 1738 | 0 | 2353 | 2557 | 92.0% |
| ov_SC03_118 | 2395 | 1762 | 0 | 2396 | 2685 | 89.2% |
| ov_SC03_119 | 2391 | 1762 | 0 | 2392 | 2685 | 89.1% |
| ov_SC03_121 | 2321 | 1738 | 0 | 2324 | 2459 | 94.5% |
| ov_SC03_124 | 2412 | 1734 | 0 | 2432 | 2741 | 88.7% |
| ov_SC03_125 | 2355 | 1738 | 0 | 2367 | 2588 | 91.5% |
| ov_SC03_126 | 2318 | 1740 | 0 | 2318 | 2423 | 95.7% |
| ov_SC04_000 | 2338 | 1742 | 0 | 2347 | 2546 | 92.2% |
| ov_SC04_002 | 2360 | 1738 | 0 | 2364 | 2636 | 89.7% |
| ov_SC04_003 | 2331 | 1738 | 0 | 2335 | 2502 | 93.3% |
| ov_SC04_004 | 2340 | 1738 | 0 | 2342 | 2558 | 91.6% |
| ov_SC04_005 | 2350 | 1738 | 0 | 2356 | 2612 | 90.2% |
| ov_SC04_006 | 2317 | 1738 | 0 | 2319 | 2454 | 94.5% |
| ov_SC04_007 | 2344 | 1738 | 0 | 2348 | 2569 | 91.4% |
| ov_SC04_008 | 2310 | 1738 | 0 | 2310 | 2415 | 95.7% |
| ov_SC04_009 | 2324 | 1738 | 0 | 2327 | 2441 | 95.3% |
| ov_SC04_010 | 2314 | 1738 | 0 | 2315 | 2419 | 95.7% |
| ov_SC04_011 | 2373 | 1738 | 0 | 2379 | 2803 | 84.9% |
| ov_SC04_012 | 2312 | 1738 | 0 | 2313 | 2420 | 95.6% |
| ov_SC04_015 | 2381 | 1739 | 0 | 2392 | 2611 | 91.6% |
| ov_SC04_016 | 2314 | 1738 | 0 | 2316 | 2440 | 94.9% |
| ov_SC04_018 | 2448 | 1773 | 0 | 2448 | 2857 | 85.7% |
| ov_SC04_019 | 2448 | 1773 | 0 | 2448 | 2857 | 85.7% |
| ov_SC04_020 | 2343 | 1738 | 0 | 2355 | 2567 | 91.7% |
| ov_SC04_021 | 2318 | 1740 | 0 | 2318 | 2423 | 95.7% |
| ov_SC05_000 | 2316 | 1742 | 0 | 2319 | 2422 | 95.7% |
| ov_SC05_001 | 2338 | 1738 | 0 | 2343 | 2574 | 91.0% |
| ov_SC05_002 | 2322 | 1738 | 0 | 2325 | 2442 | 95.2% |
| ov_SC05_003 | 2318 | 1738 | 0 | 2319 | 2481 | 93.5% |
| ov_SC05_004 | 2314 | 1738 | 0 | 2316 | 2464 | 94.0% |
| ov_SC05_005 | 2318 | 1738 | 0 | 2319 | 2491 | 93.1% |
| ov_SC05_006 | 2312 | 1738 | 0 | 2312 | 2430 | 95.1% |
| ov_SC05_007 | 2322 | 1738 | 0 | 2327 | 2482 | 93.8% |
| ov_SC05_008 | 2343 | 1738 | 0 | 2345 | 2543 | 92.2% |
| ov_SC05_009 | 2317 | 1738 | 0 | 2321 | 2438 | 95.2% |
| ov_SC05_010 | 2345 | 1738 | 0 | 2349 | 2588 | 90.8% |
| ov_SC05_011 | 2313 | 1738 | 0 | 2314 | 2409 | 96.1% |
| ov_SC05_017 | 2435 | 1735 | 0 | 2446 | 2842 | 86.1% |
| ov_SC05_018 | 2374 | 1738 | 0 | 2387 | 2673 | 89.3% |
| ov_SC05_019 | 2318 | 1740 | 0 | 2318 | 2423 | 95.7% |
| ov_SC06_000 | 2394 | 1747 | 0 | 2397 | 2691 | 89.1% |
| ov_SC06_006 | 2337 | 1738 | 0 | 2338 | 2511 | 93.1% |
| ov_SC06_008 | 2358 | 1740 | 0 | 2364 | 2542 | 93.0% |
| ov_SC06_010 | 2337 | 1738 | 0 | 2342 | 2517 | 93.0% |
| ov_SC06_011 | 2322 | 1738 | 0 | 2326 | 2468 | 94.2% |
| ov_SC06_013 | 2316 | 1738 | 0 | 2317 | 2425 | 95.5% |
| ov_SC06_014 | 2323 | 1738 | 0 | 2325 | 2453 | 94.8% |
| ov_SC06_015 | 2321 | 1738 | 0 | 2321 | 2421 | 95.9% |
| ov_SC06_016 | 2337 | 1738 | 0 | 2339 | 2549 | 91.8% |
| ov_SC06_018 | 2351 | 1740 | 0 | 2358 | 2665 | 88.5% |
| ov_SC06_020 | 2326 | 1740 | 0 | 2327 | 2518 | 92.4% |
| ov_SC06_022 | 2351 | 1738 | 0 | 2359 | 2642 | 89.3% |
| ov_SC06_024 | 2359 | 1738 | 0 | 2365 | 2667 | 88.7% |
| ov_SC06_025 | 2345 | 1738 | 0 | 2350 | 2572 | 91.4% |
| ov_SC06_027 | 2305 | 1738 | 0 | 2306 | 2408 | 95.8% |
| ov_SC06_029 | 2366 | 1738 | 0 | 2378 | 2662 | 89.3% |
| ov_SC06_030 | 2320 | 1738 | 0 | 2320 | 2456 | 94.5% |
| ov_SC06_032 | 2346 | 1739 | 0 | 2353 | 2658 | 88.5% |
| ov_SC06_033 | 2347 | 1739 | 0 | 2354 | 2631 | 89.5% |
| ov_SC07_000 | 2333 | 1742 | 0 | 2335 | 2521 | 92.6% |
| ov_SC07_001 | 2317 | 1738 | 0 | 2319 | 2454 | 94.5% |
| ov_SC07_002 | 2344 | 1738 | 0 | 2348 | 2579 | 91.0% |
| ov_SC07_006 | 2206 | 1555 | 0 | 2286 | 2456 | 93.1% |
| ov_SC07_007 | 2224 | 1586 | 0 | 2308 | 2613 | 88.3% |
| ov_SC07_008 | 2302 | 1738 | 0 | 2302 | 2386 | 96.5% |
| ov_SC07_009 | 2312 | 1738 | 0 | 2314 | 2430 | 95.2% |
| ov_SC07_010 | 2226 | 1608 | 0 | 2309 | 2524 | 91.5% |
| ov_SC07_011 | 2223 | 1585 | 0 | 2303 | 2449 | 94.0% |
+29
View File
@@ -9458,3 +9458,32 @@ masked-MATCH backlog (**8 eligible after the still-a-stub filter, 0 banked — s
**§116** (optimization level is a property of the FILE; `asm/` follows the *segment* while object
membership follows the *`.c`*, so a stub-line move is unbuildable) · **§117** (spell the sibling's
symbol from the sibling's address; a masked oracle will MATCH a wrong symbol).
## ✅ T87/T88 — the ordinal immediate engine: **158 banked** (§118)
**T87 — `0x80131eec` 149 banked.** The T86 diagnosis (`asm-ambiguous` = the differing immediate's value
also occurs at a non-differing position) was right, and the refusal itself was **correct** — a by-value
swap would corrupt the fixed occurrence. What was wrong was the safety test's *denominator*: it
compared the C literal's occurrences against **every** asm use of the value, and gcc synthesises uses
no C token names. The exemplar `D_80187044[*(u16 *)((s32)a0 + 0x2)]()` has **one** C literal `0x2` but
**two** asm uses of the value 2 — the member offset (per-member) and a fixed `sll ..,2` for the 4-byte
stride — so the check was unsatisfiable by construction.
Added `_ordinal_edits` (§118): pair C occurrences to asm positions in order, accepting either
`len(spans)==len(asm_pos)` (every use named) or `len(spans)==len(diff_pos)` (the extras are implicit).
`func_801599A4` **0 -> 137 drafts, 137 banked**, +12 scattered singletons = **149**. The remaining 138
failures are the `func_80151944` decl-conflict half — unchanged and still costed.
**T88 — blast radius: 9.** Re-swept the 91 still-zero families; immediate-refusals fell 67 -> 34, but
only **9** more banked. **This is a targeted lever, not a second §117** — recorded that way so the next
session does not over-project it. The still-zero families are blocked by something else, unnamed.
### GATES
R22 clean-fleet **140 passed, 0 failed of 140** · dedup **1886/0** · **0 NON_MATCHING** (G4).
### METRICS
| | before | after | delta |
|---|---|---|---|
| fn-count | 91.79% | **91.84%** | 324,687 -> 324,845 = **+158** (exact) |
| distinct-code | 77.9% | **78.0%** | 69,450 -> 69,593 = **+143 unique fns** |
| instr-weighted | 87.3% | **87.3%** | +2,336 ins |
+8 -1
View File
@@ -1511,7 +1511,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC01_000/nonmatchings/ov_SC01_000_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_801812A4[])(void);
D_801812A4[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+8 -1
View File
@@ -1511,7 +1511,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC01_001/nonmatchings/ov_SC01_001_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_80185EF4[])(void);
D_80185EF4[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+8 -1
View File
@@ -1511,7 +1511,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC01_004/nonmatchings/ov_SC01_004_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_801818B8[])(void);
D_801818B8[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+8 -1
View File
@@ -1512,7 +1512,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC01_005/nonmatchings/ov_SC01_005_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_80184A4C[])(void);
D_80184A4C[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+8 -1
View File
@@ -1512,7 +1512,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC01_006/nonmatchings/ov_SC01_006_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_80184A4C[])(void);
D_80184A4C[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+8 -1
View File
@@ -1511,7 +1511,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC01_008/nonmatchings/ov_SC01_008_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_80181E2C[])(void);
D_80181E2C[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+8 -1
View File
@@ -1511,7 +1511,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC01_009/nonmatchings/ov_SC01_009_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_80185014[])(void);
D_80185014[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+8 -1
View File
@@ -1511,7 +1511,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC01_074/nonmatchings/ov_SC01_074_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_80180C94[])(void);
D_80180C94[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+8 -1
View File
@@ -1511,7 +1511,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC01_080/nonmatchings/ov_SC01_080_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_80185BF4[])(void);
D_80185BF4[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+8 -1
View File
@@ -1511,7 +1511,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC01_084/nonmatchings/ov_SC01_084_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_80188EE8[])(void);
D_80188EE8[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+8 -1
View File
@@ -1511,7 +1511,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC02_000/nonmatchings/ov_SC02_000_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_8018D298[])(void);
D_8018D298[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+8 -1
View File
@@ -1511,7 +1511,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC02_003/nonmatchings/ov_SC02_003_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_8018D298[])(void);
D_8018D298[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+8 -1
View File
@@ -1511,7 +1511,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC02_004/nonmatchings/ov_SC02_004_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_80180378[])(void);
D_80180378[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+8 -1
View File
@@ -1511,7 +1511,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC02_005/nonmatchings/ov_SC02_005_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_80192F7C[])(void);
D_80192F7C[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+24 -3
View File
@@ -4340,7 +4340,14 @@ INCLUDE_ASM("asm/ov_SC02_005/nonmatchings/ov_SC02_005_jr_8017AE2C", func_80187D0
INCLUDE_ASM("asm/ov_SC02_005/nonmatchings/ov_SC02_005_jr_8017AE2C", func_80187D4C);
INCLUDE_ASM("asm/ov_SC02_005/nonmatchings/ov_SC02_005_jr_8017AE2C", func_80187D90);
void func_80187D90(void *a0) {
extern void (*D_80196250[])(void);
D_80196250[*(u16 *)((s32)a0 + 0x34)]();
}
INCLUDE_ASM("asm/ov_SC02_005/nonmatchings/ov_SC02_005_jr_8017AE2C", func_80187DCC);
@@ -4383,7 +4390,14 @@ extern void func_8012CBF4(s32 a0);
INCLUDE_ASM("asm/ov_SC02_005/nonmatchings/ov_SC02_005_jr_8017AE2C", func_80187FCC);
INCLUDE_ASM("asm/ov_SC02_005/nonmatchings/ov_SC02_005_jr_8017AE2C", func_8018802C);
void func_8018802C(void *a0) {
extern void (*D_80196274[])(void);
D_80196274[*(u16 *)((s32)a0 + 0x34)]();
}
INCLUDE_ASM("asm/ov_SC02_005/nonmatchings/ov_SC02_005_jr_8017AE2C", func_80188068);
@@ -4410,7 +4424,14 @@ void func_801882A8(int param_1)
void func_801882E0(void) {
}
INCLUDE_ASM("asm/ov_SC02_005/nonmatchings/ov_SC02_005_jr_8017AE2C", func_801882E8);
void func_801882E8(void *a0) {
extern void (*D_801962A0[])(void);
D_801962A0[*(u16 *)((s32)a0 + 0x34)]();
}
INCLUDE_ASM("asm/ov_SC02_005/nonmatchings/ov_SC02_005_jr_8017AE2C", func_80188324);
+8 -1
View File
@@ -1511,7 +1511,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC02_011/nonmatchings/ov_SC02_011_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_801933CC[])(void);
D_801933CC[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+8 -1
View File
@@ -1509,7 +1509,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC02_015/nonmatchings/ov_SC02_015_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_801808E0[])(void);
D_801808E0[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+8 -1
View File
@@ -1511,7 +1511,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC02_016/nonmatchings/ov_SC02_016_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_80186B18[])(void);
D_80186B18[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+32 -1
View File
@@ -3356,7 +3356,38 @@ void func_8017FB2C(void) {
}
INCLUDE_ASM("asm/ov_SC02_016/nonmatchings/ov_SC02_016_jr_8017DC70", func_8017FB54);
// @class: regalloc-order
// @stuck: none — MATCH
extern void func_800183E0(s32 a0);
void func_8017FB54(void)
{
extern u32 D_801B4288;
extern u16 D_80188144[];
extern u16 D_801B428C[];
extern s32 D_80188184;
u32 i;
u16 *p;
u32 base;
u16 *tbl;
i = 0;
tbl = D_80188144;
base = D_801B4288 >> 8;
p = D_801B428C;
do {
*p = tbl[(base + i) & 0xF] | 0x8000;
i = i + 1;
p = p + 1;
} while (i < 0x20);
func_800183E0((s32)&D_80188184);
D_801B4288 = D_801B4288 + 0x100;
}
extern void (*D_801884B0[])(void);
+8 -1
View File
@@ -1511,7 +1511,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC02_017/nonmatchings/ov_SC02_017_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_8018CB70[])(void);
D_8018CB70[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+8 -1
View File
@@ -1511,7 +1511,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC02_021/nonmatchings/ov_SC02_021_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_80182164[])(void);
D_80182164[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+8 -1
View File
@@ -1511,7 +1511,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC02_026/nonmatchings/ov_SC02_026_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_801887B8[])(void);
D_801887B8[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+8 -1
View File
@@ -1511,7 +1511,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC02_027/nonmatchings/ov_SC02_027_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_8018D8DC[])(void);
D_8018D8DC[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+8 -1
View File
@@ -1511,7 +1511,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC02_028/nonmatchings/ov_SC02_028_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_8018DAE0[])(void);
D_8018DAE0[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+8 -1
View File
@@ -3545,7 +3545,14 @@ void func_801805AC(void) {
INCLUDE_ASM("asm/ov_SC02_028/nonmatchings/ov_SC02_028_jr_8017D898", func_801805B4);
INCLUDE_ASM("asm/ov_SC02_028/nonmatchings/ov_SC02_028_jr_8017D898", func_801806B8);
extern void func_8012AD44(s32 *a0, s16 a1);
void func_801806B8(s32 *a0) {
a0[7] = 0x20;
func_8012AD44(a0, 1);
}
INCLUDE_ASM("asm/ov_SC02_028/nonmatchings/ov_SC02_028_jr_8017D898", func_801806E0);
+8 -1
View File
@@ -1511,7 +1511,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC02_031/nonmatchings/ov_SC02_031_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_8018730C[])(void);
D_8018730C[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+8 -1
View File
@@ -1511,7 +1511,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC02_035/nonmatchings/ov_SC02_035_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_80186B6C[])(void);
D_80186B6C[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+8 -1
View File
@@ -1511,7 +1511,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC02_039/nonmatchings/ov_SC02_039_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_80181798[])(void);
D_80181798[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+8 -1
View File
@@ -1511,7 +1511,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC02_041/nonmatchings/ov_SC02_041_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_80187468[])(void);
D_80187468[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+8 -1
View File
@@ -1511,7 +1511,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_8018FBA8[])(void);
D_8018FBA8[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+8 -1
View File
@@ -1511,7 +1511,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC03_002/nonmatchings/ov_SC03_002_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_80187B98[])(void);
D_80187B98[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+8 -1
View File
@@ -1511,7 +1511,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC03_003/nonmatchings/ov_SC03_003_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_80181960[])(void);
D_80181960[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+8 -1
View File
@@ -1511,7 +1511,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC03_006/nonmatchings/ov_SC03_006_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_8018EC7C[])(void);
D_8018EC7C[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+8 -1
View File
@@ -1511,7 +1511,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC03_007/nonmatchings/ov_SC03_007_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_80189A74[])(void);
D_80189A74[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+10 -1
View File
@@ -3946,7 +3946,16 @@ INCLUDE_ASM("asm/ov_SC03_007/nonmatchings/ov_SC03_007_jr_8017AE2C", func_80180B2
INCLUDE_ASM("asm/ov_SC03_007/nonmatchings/ov_SC03_007_jr_8017AE2C", func_80180BF8);
INCLUDE_ASM("asm/ov_SC03_007/nonmatchings/ov_SC03_007_jr_8017AE2C", func_80180C48);
void func_80180C48(s32 a0) {
extern s16 D_80126CB4;
extern s16 D_80126CB6;
extern s16 D_80126CB8;
D_80126CB4 = *(u16 *)(a0 + 0x6);
D_80126CB6 = *(u16 *)(a0 + 0xa);
D_80126CB8 = *(u16 *)(a0 + 0xe);
}
INCLUDE_ASM("asm/ov_SC03_007/nonmatchings/ov_SC03_007_jr_8017AE2C", func_80180C74);
+8 -1
View File
@@ -1511,7 +1511,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC03_010/nonmatchings/ov_SC03_010_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_80182594[])(void);
D_80182594[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+8 -1
View File
@@ -1511,7 +1511,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC03_011/nonmatchings/ov_SC03_011_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_80183904[])(void);
D_80183904[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+8 -1
View File
@@ -1511,7 +1511,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC03_012/nonmatchings/ov_SC03_012_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_801807E4[])(void);
D_801807E4[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+8 -1
View File
@@ -1511,7 +1511,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC03_013/nonmatchings/ov_SC03_013_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_801835CC[])(void);
D_801835CC[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+8 -1
View File
@@ -1511,7 +1511,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC03_014/nonmatchings/ov_SC03_014_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_8018DC08[])(void);
D_8018DC08[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+8 -1
View File
@@ -1511,7 +1511,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC03_015/nonmatchings/ov_SC03_015_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_8018DC08[])(void);
D_8018DC08[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+8 -1
View File
@@ -1511,7 +1511,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC03_023/nonmatchings/ov_SC03_023_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_80181584[])(void);
D_80181584[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+8 -1
View File
@@ -1511,7 +1511,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC03_024/nonmatchings/ov_SC03_024_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_801895A8[])(void);
D_801895A8[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+8 -1
View File
@@ -1511,7 +1511,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC03_028/nonmatchings/ov_SC03_028_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_8018E074[])(void);
D_8018E074[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+8 -1
View File
@@ -1511,7 +1511,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC03_029/nonmatchings/ov_SC03_029_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_80189EAC[])(void);
D_80189EAC[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+8 -1
View File
@@ -1511,7 +1511,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC03_030/nonmatchings/ov_SC03_030_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_801844E8[])(void);
D_801844E8[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+8 -1
View File
@@ -1511,7 +1511,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC03_031/nonmatchings/ov_SC03_031_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_80184A04[])(void);
D_80184A04[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+8 -1
View File
@@ -1511,7 +1511,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC03_089/nonmatchings/ov_SC03_089_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_8018BD00[])(void);
D_8018BD00[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+8 -1
View File
@@ -1511,7 +1511,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC03_090/nonmatchings/ov_SC03_090_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_8018E124[])(void);
D_8018E124[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+8 -1
View File
@@ -1511,7 +1511,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC03_091/nonmatchings/ov_SC03_091_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_8018EFCC[])(void);
D_8018EFCC[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+8 -1
View File
@@ -1511,7 +1511,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC03_092/nonmatchings/ov_SC03_092_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_8018739C[])(void);
D_8018739C[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+8 -1
View File
@@ -1511,7 +1511,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC03_093/nonmatchings/ov_SC03_093_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_80188574[])(void);
D_80188574[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+8 -1
View File
@@ -1511,7 +1511,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC03_094/nonmatchings/ov_SC03_094_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_80189F70[])(void);
D_80189F70[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+8 -1
View File
@@ -1511,7 +1511,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC03_095/nonmatchings/ov_SC03_095_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_801835D0[])(void);
D_801835D0[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+8 -1
View File
@@ -1511,7 +1511,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC03_096/nonmatchings/ov_SC03_096_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_80183150[])(void);
D_80183150[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+8 -1
View File
@@ -1511,7 +1511,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC03_097/nonmatchings/ov_SC03_097_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_80188530[])(void);
D_80188530[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+8 -1
View File
@@ -3604,7 +3604,14 @@ INCLUDE_ASM("asm/ov_SC03_097/nonmatchings/ov_SC03_097_jr_8017D898", func_8018015
INCLUDE_ASM("asm/ov_SC03_097/nonmatchings/ov_SC03_097_jr_8017D898", func_801801F4);
INCLUDE_ASM("asm/ov_SC03_097/nonmatchings/ov_SC03_097_jr_8017D898", func_80180230);
extern void func_8012AD44(s32 *a0, s16 a1);
void func_80180230(s32 *a0) {
a0[7] = 0x20;
func_8012AD44(a0, 4);
}
extern void func_80178B18(s32 a0, s32 a1);
extern void func_8012AD44(s32 *a0, s16 a1);
+8 -1
View File
@@ -1511,7 +1511,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC03_098/nonmatchings/ov_SC03_098_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_801879BC[])(void);
D_801879BC[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+8 -1
View File
@@ -1511,7 +1511,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC03_099/nonmatchings/ov_SC03_099_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_80185ABC[])(void);
D_80185ABC[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+8 -1
View File
@@ -1511,7 +1511,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC03_100/nonmatchings/ov_SC03_100_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_80186F88[])(void);
D_80186F88[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+8 -1
View File
@@ -1511,7 +1511,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC03_101/nonmatchings/ov_SC03_101_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_80185F64[])(void);
D_80185F64[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+8 -1
View File
@@ -1511,7 +1511,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC03_102/nonmatchings/ov_SC03_102_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_8018881C[])(void);
D_8018881C[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+8 -1
View File
@@ -1511,7 +1511,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC03_103/nonmatchings/ov_SC03_103_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_801867CC[])(void);
D_801867CC[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+8 -1
View File
@@ -1511,7 +1511,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC03_104/nonmatchings/ov_SC03_104_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_8018D35C[])(void);
D_8018D35C[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+8 -1
View File
@@ -1511,7 +1511,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC03_105/nonmatchings/ov_SC03_105_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_8018C9E4[])(void);
D_8018C9E4[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+8 -1
View File
@@ -1511,7 +1511,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC03_108/nonmatchings/ov_SC03_108_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_8018333C[])(void);
D_8018333C[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+8 -1
View File
@@ -1511,7 +1511,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC03_109/nonmatchings/ov_SC03_109_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_801809E8[])(void);
D_801809E8[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+16 -2
View File
@@ -3328,9 +3328,23 @@ void func_8017D624(void)
new_var = 0x100000;
}
INCLUDE_ASM("asm/ov_SC03_109/nonmatchings/ov_SC03_109_jr_8017C180", func_8017D644);
INCLUDE_ASM("asm/ov_SC03_109/nonmatchings/ov_SC03_109_jr_8017C180", func_8017D66C);
extern void func_8012AD44(s32 *a0, s16 a1);
void func_8017D644(s32 *a0) {
a0[7] = 0x40;
func_8012AD44(a0, 2);
}
extern void func_8012AD44(s32 *a0, s16 a1);
void func_8017D66C(s32 *a0) {
a0[7] = 0xc0;
func_8012AD44(a0, 3);
}
INCLUDE_ASM("asm/ov_SC03_109/nonmatchings/ov_SC03_109_jr_8017C180", func_8017D694);
+8 -1
View File
@@ -1511,7 +1511,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC03_110/nonmatchings/ov_SC03_110_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_80184408[])(void);
D_80184408[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+8 -1
View File
@@ -1511,7 +1511,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC03_111/nonmatchings/ov_SC03_111_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_80186FBC[])(void);
D_80186FBC[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+8 -1
View File
@@ -1510,7 +1510,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC03_112/nonmatchings/ov_SC03_112_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_80187DC4[])(void);
D_80187DC4[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+8 -1
View File
@@ -1510,7 +1510,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC03_113/nonmatchings/ov_SC03_113_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_80185474[])(void);
D_80185474[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+8 -1
View File
@@ -1510,7 +1510,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC03_114/nonmatchings/ov_SC03_114_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_801810DC[])(void);
D_801810DC[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+8 -1
View File
@@ -1510,7 +1510,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC03_115/nonmatchings/ov_SC03_115_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_80182B48[])(void);
D_80182B48[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+8 -1
View File
@@ -1510,7 +1510,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC03_116/nonmatchings/ov_SC03_116_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_80184F4C[])(void);
D_80184F4C[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+8 -1
View File
@@ -1510,7 +1510,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC03_117/nonmatchings/ov_SC03_117_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_80186F58[])(void);
D_80186F58[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+8 -1
View File
@@ -1510,7 +1510,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC03_118/nonmatchings/ov_SC03_118_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_8018C004[])(void);
D_8018C004[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+8 -1
View File
@@ -1510,7 +1510,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC03_119/nonmatchings/ov_SC03_119_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_8018C004[])(void);
D_8018C004[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+8 -1
View File
@@ -1510,7 +1510,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC03_121/nonmatchings/ov_SC03_121_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_80184820[])(void);
D_80184820[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+8 -1
View File
@@ -1510,7 +1510,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC03_124/nonmatchings/ov_SC03_124_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_8018D24C[])(void);
D_8018D24C[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+8 -1
View File
@@ -1510,7 +1510,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC03_125/nonmatchings/ov_SC03_125_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_8018641C[])(void);
D_8018641C[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+8 -1
View File
@@ -1510,7 +1510,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC03_126/nonmatchings/ov_SC03_126_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_80181914[])(void);
D_80181914[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+8 -1
View File
@@ -1510,7 +1510,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC04_000/nonmatchings/ov_SC04_000_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_80185920[])(void);
D_80185920[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+8 -1
View File
@@ -1510,7 +1510,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC04_002/nonmatchings/ov_SC04_002_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_8018AA8C[])(void);
D_8018AA8C[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+8 -1
View File
@@ -1510,7 +1510,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC04_003/nonmatchings/ov_SC04_003_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_80184828[])(void);
D_80184828[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+8 -1
View File
@@ -1510,7 +1510,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC04_004/nonmatchings/ov_SC04_004_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_80186D5C[])(void);
D_80186D5C[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+8 -1
View File
@@ -1510,7 +1510,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC04_005/nonmatchings/ov_SC04_005_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_8018A190[])(void);
D_8018A190[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+8 -1
View File
@@ -1510,7 +1510,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC04_006/nonmatchings/ov_SC04_006_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_80182270[])(void);
D_80182270[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+8 -1
View File
@@ -1510,7 +1510,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC04_007/nonmatchings/ov_SC04_007_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_80188228[])(void);
D_80188228[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+8 -1
View File
@@ -1532,7 +1532,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC04_008/nonmatchings/ov_SC04_008_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_80181160[])(void);
D_80181160[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+8 -1
View File
@@ -1510,7 +1510,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC04_009/nonmatchings/ov_SC04_009_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_8018118C[])(void);
D_8018118C[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+8 -1
View File
@@ -1510,7 +1510,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC04_010/nonmatchings/ov_SC04_010_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_80180838[])(void);
D_80180838[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+8 -1
View File
@@ -1510,7 +1510,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC04_011/nonmatchings/ov_SC04_011_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_80192AC8[])(void);
D_80192AC8[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+8 -1
View File
@@ -1510,7 +1510,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC04_012/nonmatchings/ov_SC04_012_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_80180C9C[])(void);
D_80180C9C[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+8 -1
View File
@@ -1510,7 +1510,14 @@ void func_80159968(void *a0) {
}
INCLUDE_ASM("asm/ov_SC04_015/nonmatchings/ov_SC04_015_jr_801588CC", func_801599A4);
void func_801599A4(void *a0) {
extern void (*D_80186BD4[])(void);
D_80186BD4[*(u16 *)((s32)a0 + 0x0)]();
}
DEFINE_func_801599E0() /* dedup: shared engine-core @0x801599E0 (src/shared) */
+7 -1
View File
@@ -3602,7 +3602,13 @@ void func_8017D97C(void *a0) {
}
INCLUDE_ASM("asm/ov_SC04_015/nonmatchings/ov_SC04_015_jr_8017AE2C", func_8017D9B8);
s32 func_8017D9B8(u8 *a0)
{
s32 v = a0[532] + 1;
a0[532] = v;
return v;
}
extern void func_8016F0E4(void);
extern void func_80165770(void);

Some files were not shown because too many files have changed in this diff Show More