feat(phase-29): T84/T85 — 0x80161c98 137/138 + func_801457A4 133/133 (+270 members)

- T84 (item 1): the top still-zero family's whole diff was ONE instruction — slti (signed) vs the
  target's sltiu. --fix-def-sig was conforming a byte-correct draft to engine_core.h's
  signedness-wrong decl (extern void func_80161D20(s32,s32)) while the exemplar's own def is
  (int, u32). Re-swept the 92 still-zero families WITHOUT the flag: 137 banked (all of
  0x80161c98), other 91 unmoved => family-specific, NOT a second §117. Recorded as such.
- T85 (item 2): rewrote tools/rollout_801457a4_o0.py as the two-file ATOMIC driver §116 called for
  (remapped body -> <ov>_o0b.c AND drop the INCLUDE_ASM from <ov>_after.c in one edit; build vs
  config/check.<ov>.sha; restore BOTH files on mismatch, §61). Validated on 3, then 130/130.
  No splat change — the Arm-A re-carve wall never touched.
- Item 4 PRICED AND DROPPED: STRUCT residue = 34 families / 166 members / 0.02pp.
- R14: my new_distinct estimator over-projects ~2x (priced 259, measured 125) — it counts classes
  unmatched at run time, so concurrent sweeps double-count. Ranks correctly, overstates absolutely.
- GATES: R22 clean-fleet 140/140; dedup 1886/0; 0 NON_MATCHING (G4).
- METRICS: fn-count 91.72 -> 91.79% (+270, exact) · instr 87.2 -> 87.3% (+16,946) ·
  distinct-code 69,325 -> 69,450 (+125).
This commit is contained in:
Drew T
2026-07-30 09:51:02 -06:00
parent 3cb0e68fe4
commit dcbeebaf49
274 changed files with 11871 additions and 2181 deletions
+1322 -1323
View File
File diff suppressed because it is too large Load Diff
+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: 324417 / 353720 = 91.72% (REAL+LINKED+empties; FUNCTION-count, ×134-inflated — one crack counts per overlay)
FLEET instr-weighted : 11456862 / 13141652 = 87.2% (shipped .text across main + resident + 138 overlays; the decomp.dev-DISPLAY number)
FLEET distinct-code(uniq): 4381387 / 5634875 = 77.8% (69325/87459 unique fns; the DISTINCT-RE number)
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)
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: 11456426 / 13081451 = 87.6%)
(fleet EXCLUDING main, for continuity with pre-2026-07-22 readings: 11473372 / 13081451 = 87.7%)
FLEET REAL substantive : 322562 (of which dedup-shared 239530 via 1886 groups / 239604 instances)
FLEET REAL substantive : 322832 (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 : 29296
FLEET INCLUDE_ASM stubs : 29026
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 | 2305 | 1742 | 0 | 2305 | 2403 | 95.9% |
| ov_SC01_001 | 2311 | 1743 | 0 | 2313 | 2466 | 93.8% |
| ov_SC01_004 | 2302 | 1734 | 0 | 2303 | 2414 | 95.4% |
| ov_SC01_005 | 2331 | 1757 | 0 | 2331 | 2503 | 93.1% |
| ov_SC01_006 | 2331 | 1757 | 0 | 2331 | 2503 | 93.1% |
| ov_SC01_008 | 2302 | 1734 | 0 | 2304 | 2426 | 95.0% |
| ov_SC01_009 | 2327 | 1735 | 0 | 2328 | 2507 | 92.9% |
| ov_SC01_074 | 2308 | 1735 | 0 | 2310 | 2425 | 95.3% |
| ov_SC01_077 | 2478 | 1702 | 0 | 2480 | 2585 | 95.9% |
| ov_SC01_080 | 2342 | 1738 | 0 | 2342 | 2512 | 93.2% |
| ov_SC01_084 | 2350 | 1738 | 0 | 2355 | 2579 | 91.3% |
| ov_SC02_000 | 2405 | 1773 | 0 | 2405 | 2683 | 89.6% |
| ov_SC02_003 | 2405 | 1773 | 0 | 2405 | 2683 | 89.6% |
| ov_SC02_004 | 2307 | 1738 | 0 | 2307 | 2401 | 96.1% |
| ov_SC02_005 | 2425 | 1734 | 0 | 2435 | 2927 | 83.2% |
| ov_SC02_011 | 2438 | 1741 | 0 | 2449 | 2893 | 84.7% |
| ov_SC02_015 | 2312 | 1740 | 0 | 2312 | 2414 | 95.8% |
| ov_SC02_016 | 2349 | 1740 | 0 | 2352 | 2545 | 92.4% |
| ov_SC02_017 | 2399 | 1740 | 0 | 2407 | 2732 | 88.1% |
| ov_SC02_021 | 2317 | 1740 | 0 | 2317 | 2437 | 95.1% |
| ov_SC02_026 | 2332 | 1738 | 0 | 2338 | 2572 | 90.9% |
| ov_SC02_027 | 2356 | 1738 | 0 | 2365 | 2692 | 87.9% |
| ov_SC02_028 | 2357 | 1738 | 0 | 2367 | 2701 | 87.6% |
| ov_SC02_031 | 2345 | 1739 | 0 | 2350 | 2562 | 91.7% |
| ov_SC02_035 | 2318 | 1738 | 0 | 2321 | 2520 | 92.1% |
| ov_SC02_039 | 2303 | 1738 | 0 | 2303 | 2416 | 95.3% |
| ov_SC02_041 | 2346 | 1738 | 0 | 2349 | 2561 | 91.7% |
| ov_SC03_001 | 2447 | 1739 | 0 | 2464 | 2869 | 85.9% |
| ov_SC03_002 | 2365 | 1743 | 0 | 2380 | 2631 | 90.5% |
| ov_SC03_003 | 2313 | 1738 | 0 | 2314 | 2423 | 95.5% |
| ov_SC03_006 | 2385 | 1744 | 0 | 2394 | 2767 | 86.5% |
| ov_SC03_007 | 2363 | 1738 | 0 | 2367 | 2623 | 90.2% |
| ov_SC03_010 | 2322 | 1738 | 0 | 2322 | 2471 | 94.0% |
| ov_SC03_011 | 2329 | 1738 | 0 | 2335 | 2527 | 92.4% |
| ov_SC03_012 | 2304 | 1738 | 0 | 2305 | 2406 | 95.8% |
| ov_SC03_013 | 2328 | 1738 | 0 | 2328 | 2493 | 93.4% |
| ov_SC03_014 | 2389 | 1763 | 0 | 2389 | 2685 | 89.0% |
| ov_SC03_015 | 2391 | 1763 | 0 | 2391 | 2685 | 89.1% |
| ov_SC03_023 | 2315 | 1738 | 0 | 2316 | 2435 | 95.1% |
| ov_SC03_024 | 2379 | 1743 | 0 | 2386 | 2641 | 90.3% |
| ov_SC03_028 | 2349 | 1738 | 0 | 2353 | 2664 | 88.3% |
| ov_SC03_029 | 2360 | 1740 | 0 | 2370 | 2644 | 89.6% |
| ov_SC03_030 | 2326 | 1743 | 0 | 2328 | 2495 | 93.3% |
| ov_SC03_031 | 2322 | 1738 | 0 | 2325 | 2514 | 92.5% |
| ov_SC03_089 | 2338 | 1738 | 0 | 2345 | 2581 | 90.9% |
| ov_SC03_090 | 2341 | 1738 | 0 | 2349 | 2625 | 89.5% |
| ov_SC03_091 | 2343 | 1738 | 0 | 2351 | 2640 | 89.1% |
| ov_SC03_092 | 2358 | 1738 | 0 | 2370 | 2587 | 91.6% |
| ov_SC03_093 | 2330 | 1738 | 0 | 2334 | 2563 | 91.1% |
| ov_SC03_094 | 2325 | 1738 | 0 | 2331 | 2577 | 90.5% |
| ov_SC03_095 | 2314 | 1738 | 0 | 2317 | 2474 | 93.7% |
| ov_SC03_096 | 2315 | 1738 | 0 | 2318 | 2465 | 94.0% |
| ov_SC03_097 | 2350 | 1738 | 0 | 2357 | 2603 | 90.5% |
| ov_SC03_098 | 2322 | 1738 | 0 | 2325 | 2541 | 91.5% |
| ov_SC03_099 | 2315 | 1738 | 0 | 2318 | 2504 | 92.6% |
| ov_SC03_100 | 2325 | 1738 | 0 | 2329 | 2539 | 91.7% |
| ov_SC03_101 | 2328 | 1738 | 0 | 2332 | 2528 | 92.2% |
| ov_SC03_102 | 2316 | 1738 | 0 | 2319 | 2492 | 93.1% |
| ov_SC03_103 | 2321 | 1740 | 0 | 2324 | 2510 | 92.6% |
| ov_SC03_104 | 2345 | 1738 | 0 | 2352 | 2616 | 89.9% |
| ov_SC03_105 | 2340 | 1738 | 0 | 2347 | 2597 | 90.4% |
| ov_SC03_108 | 2306 | 1738 | 0 | 2306 | 2443 | 94.4% |
| ov_SC03_109 | 2309 | 1738 | 0 | 2311 | 2424 | 95.3% |
| ov_SC03_110 | 2313 | 1738 | 0 | 2313 | 2468 | 93.7% |
| ov_SC03_111 | 2324 | 1738 | 0 | 2327 | 2510 | 92.7% |
| ov_SC03_112 | 2321 | 1740 | 0 | 2323 | 2526 | 92.0% |
| ov_SC03_113 | 2314 | 1740 | 0 | 2317 | 2468 | 93.9% |
| ov_SC03_114 | 2302 | 1738 | 0 | 2304 | 2415 | 95.4% |
| ov_SC03_115 | 2320 | 1738 | 0 | 2322 | 2472 | 93.9% |
| ov_SC03_116 | 2310 | 1738 | 0 | 2313 | 2438 | 94.9% |
| ov_SC03_117 | 2344 | 1738 | 0 | 2350 | 2557 | 91.9% |
| ov_SC03_118 | 2392 | 1762 | 0 | 2393 | 2685 | 89.1% |
| ov_SC03_119 | 2388 | 1762 | 0 | 2389 | 2685 | 89.0% |
| ov_SC03_121 | 2318 | 1738 | 0 | 2321 | 2459 | 94.4% |
| ov_SC03_124 | 2409 | 1734 | 0 | 2429 | 2741 | 88.6% |
| ov_SC03_125 | 2352 | 1738 | 0 | 2364 | 2588 | 91.3% |
| ov_SC03_126 | 2315 | 1740 | 0 | 2315 | 2423 | 95.5% |
| ov_SC04_000 | 2335 | 1742 | 0 | 2344 | 2546 | 92.1% |
| ov_SC04_002 | 2357 | 1738 | 0 | 2361 | 2636 | 89.6% |
| ov_SC04_003 | 2328 | 1738 | 0 | 2332 | 2502 | 93.2% |
| ov_SC04_004 | 2337 | 1738 | 0 | 2339 | 2558 | 91.4% |
| ov_SC04_005 | 2347 | 1738 | 0 | 2353 | 2612 | 90.1% |
| ov_SC04_006 | 2314 | 1738 | 0 | 2316 | 2454 | 94.4% |
| ov_SC04_007 | 2341 | 1738 | 0 | 2345 | 2569 | 91.3% |
| ov_SC04_008 | 2307 | 1738 | 0 | 2307 | 2415 | 95.5% |
| ov_SC04_009 | 2321 | 1738 | 0 | 2324 | 2441 | 95.2% |
| ov_SC04_010 | 2311 | 1738 | 0 | 2312 | 2419 | 95.6% |
| ov_SC04_011 | 2370 | 1738 | 0 | 2376 | 2803 | 84.8% |
| ov_SC04_012 | 2309 | 1738 | 0 | 2310 | 2420 | 95.5% |
| ov_SC04_015 | 2377 | 1739 | 0 | 2388 | 2611 | 91.5% |
| ov_SC04_016 | 2311 | 1738 | 0 | 2313 | 2440 | 94.8% |
| ov_SC04_018 | 2445 | 1773 | 0 | 2445 | 2857 | 85.6% |
| ov_SC04_019 | 2445 | 1773 | 0 | 2445 | 2857 | 85.6% |
| ov_SC04_020 | 2339 | 1738 | 0 | 2351 | 2567 | 91.6% |
| ov_SC04_021 | 2315 | 1740 | 0 | 2315 | 2423 | 95.5% |
| ov_SC05_000 | 2313 | 1742 | 0 | 2316 | 2422 | 95.6% |
| ov_SC05_001 | 2335 | 1738 | 0 | 2340 | 2574 | 90.9% |
| ov_SC05_002 | 2319 | 1738 | 0 | 2322 | 2442 | 95.1% |
| ov_SC05_003 | 2315 | 1738 | 0 | 2316 | 2481 | 93.3% |
| ov_SC05_004 | 2311 | 1738 | 0 | 2313 | 2464 | 93.9% |
| ov_SC05_005 | 2315 | 1738 | 0 | 2316 | 2491 | 93.0% |
| ov_SC05_006 | 2309 | 1738 | 0 | 2309 | 2430 | 95.0% |
| ov_SC05_007 | 2319 | 1738 | 0 | 2324 | 2482 | 93.6% |
| ov_SC05_008 | 2340 | 1738 | 0 | 2342 | 2543 | 92.1% |
| ov_SC05_009 | 2314 | 1738 | 0 | 2318 | 2438 | 95.1% |
| ov_SC05_010 | 2342 | 1738 | 0 | 2346 | 2588 | 90.6% |
| ov_SC05_011 | 2310 | 1738 | 0 | 2311 | 2409 | 95.9% |
| ov_SC05_017 | 2432 | 1735 | 0 | 2443 | 2842 | 86.0% |
| ov_SC05_018 | 2370 | 1738 | 0 | 2383 | 2673 | 89.2% |
| ov_SC05_019 | 2315 | 1740 | 0 | 2315 | 2423 | 95.5% |
| ov_SC06_000 | 2391 | 1747 | 0 | 2394 | 2691 | 89.0% |
| ov_SC06_006 | 2334 | 1738 | 0 | 2335 | 2511 | 93.0% |
| ov_SC06_008 | 2355 | 1740 | 0 | 2361 | 2542 | 92.9% |
| ov_SC06_010 | 2334 | 1738 | 0 | 2339 | 2517 | 92.9% |
| ov_SC06_011 | 2319 | 1738 | 0 | 2323 | 2468 | 94.1% |
| ov_SC06_013 | 2313 | 1738 | 0 | 2314 | 2425 | 95.4% |
| ov_SC06_014 | 2320 | 1738 | 0 | 2322 | 2453 | 94.7% |
| ov_SC06_015 | 2318 | 1738 | 0 | 2318 | 2421 | 95.7% |
| ov_SC06_016 | 2334 | 1738 | 0 | 2336 | 2549 | 91.6% |
| ov_SC06_018 | 2348 | 1740 | 0 | 2355 | 2665 | 88.4% |
| ov_SC06_020 | 2323 | 1740 | 0 | 2324 | 2518 | 92.3% |
| ov_SC06_022 | 2348 | 1738 | 0 | 2356 | 2642 | 89.2% |
| ov_SC06_024 | 2356 | 1738 | 0 | 2362 | 2667 | 88.6% |
| ov_SC06_025 | 2342 | 1738 | 0 | 2347 | 2572 | 91.3% |
| ov_SC06_027 | 2302 | 1738 | 0 | 2303 | 2408 | 95.6% |
| ov_SC06_029 | 2363 | 1738 | 0 | 2375 | 2662 | 89.2% |
| ov_SC06_030 | 2317 | 1738 | 0 | 2317 | 2456 | 94.3% |
| ov_SC06_032 | 2343 | 1739 | 0 | 2350 | 2658 | 88.4% |
| ov_SC06_033 | 2344 | 1739 | 0 | 2351 | 2631 | 89.4% |
| ov_SC07_000 | 2330 | 1742 | 0 | 2332 | 2521 | 92.5% |
| ov_SC07_001 | 2314 | 1738 | 0 | 2316 | 2454 | 94.4% |
| ov_SC07_002 | 2341 | 1738 | 0 | 2345 | 2579 | 90.9% |
| 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_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 | 2213 | 1586 | 0 | 2297 | 2613 | 87.9% |
| ov_SC07_008 | 2299 | 1738 | 0 | 2299 | 2386 | 96.4% |
| ov_SC07_009 | 2309 | 1738 | 0 | 2311 | 2430 | 95.1% |
| ov_SC07_010 | 2224 | 1608 | 0 | 2307 | 2524 | 91.4% |
| ov_SC07_011 | 2221 | 1585 | 0 | 2301 | 2449 | 94.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% |
+37
View File
@@ -9315,3 +9315,40 @@ Payout: `0x80174784` **2/255 → 251/251**, then **138 further families zero →
*segment* while object membership follows the *`.c` file*, so a stub-line move is unbuildable, not
neutral. **§117** — spell the sibling's symbol from the sibling's address, not the exemplar's kind;
and a masked oracle will MATCH a wrong symbol.
## ✅ T84/T85 — items 1+2 of the ranked list: **270 more members**
**T84 — `0x80161c98` 137/138 (item 1).** Probed the top still-zero family: it compiles clean, and the
whole diff is ONE instruction — produced `slti` (signed) vs target `sltiu` (unsigned). The exemplar's
own def is `void func_80161C98(int, u32 param_2)`; **`--fix-def-sig` was rewriting the member draft's
def to `engine_core.h`'s `extern void func_80161D20(s32 a0, s32 a1)`** — a signedness-wrong header
decl — and turning a byte-correct draft into a DIFF. Re-swept the 92 still-zero families **without
the flag**: **137 banked** (all of `0x80161c98`), the other 91 unmoved. So this defect is
**family-specific, not a second §117** — recorded that way rather than as a general lever.
> The standing recipe says to always pass `--fix-def-sig`. It is a *repair* for drafts whose def
> contradicts the header, and a *breaker* for drafts whose def is right and the header is wrong.
**T85 — `func_801457A4` 133/133 (item 2).** Built the two-file atomic driver §116 called for
(`tools/rollout_801457a4_o0.py`, rewritten from the refuted stub-mover): per overlay, remap the body,
append it to `<ov>_o0b.c` **and** drop the `INCLUDE_ASM` from `<ov>_after.c` in one edit, then build
and compare against `config/check.<ov>.sha`, restoring **both** files on any mismatch (§61).
Validated on 3, then 130/130. No splat change, so the Arm-A wall was never touched.
**Item 4 priced and DROPPED:** STRUCT-bearing eligible families with live stubs = 34 families / 166
members / 2,191 ins = **0.02pp**. Not worth working; removed from the queue rather than left ranked.
### GATES
R22 clean-fleet **140 passed, 0 failed of 140** · dedup **1886/0** · **0 NON_MATCHING** (G4).
### METRICS
| | before | after | delta |
|---|---|---|---|
| fn-count | 91.72% | **91.79%** | 324,417 → 324,687 = **+270** (= 137 + 133, exact) |
| instr-weighted | 87.2% | **87.3%** | +16,946 ins |
| distinct-code | 77.8% | **77.9%** | 69,325 → 69,450 = **+125 unique fns** |
### ⚠️ MY `new_distinct` ESTIMATOR OVER-PROJECTS ~2× (R14)
I priced these two families at 130 + 129 = **259** new distinct; the measured gain is **125**. The
estimator counts a family's h_exact classes that have no matched instance *at the time it runs*, so
classes another sweep claims in between are double-counted. **Do not plan off those projections at
face value** — they rank families correctly (relative order held) but overstate absolute yield.
+48 -5
View File
@@ -2,8 +2,8 @@
#include "../shared/engine_core.h"
INCLUDE_ASM("asm/ov_SC01_000/nonmatchings/ov_SC01_000_after", func_801457A4);
/* func_801457A4 (@0x801457A4) is an -O0 function; its definition lives in ov_SC01_000_o0b.c (the -O0
* whale object, whose .text ends exactly at this address). Mirrors ov_SC01_077. §116 */
DEFINE_func_801458E0() /* dedup: shared engine-core @0x801458E0 (src/shared) */
DEFINE_func_801458E8() /* dedup: shared engine-core @0x801458E8 (src/shared) */
@@ -326,10 +326,13 @@ DEFINE_func_80146128() /* dedup: shared engine-core @0x80146128 (src/shared) */
// @stuck: none — MATCH (fnptr-table idiom: D_801806F8[u8 idx](&arg))
extern void (*D_801806F8[])(void *);
extern u8 D_80126BA4;
extern s32 D_80126B58;
void func_80146360(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
D_801806F8[D_80126BA4](&D_80126B58);
}
@@ -347,10 +350,13 @@ extern short func_801508F8(s32 a0);
extern void func_8014B5B0(s32 *a0);
extern void func_80161D88(s32 a0);
extern s32 D_80126B58;
void func_801463A0(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
extern s32 *D_80126B78;
extern u16 D_80126B5E;
@@ -420,7 +426,44 @@ DEFINE_func_801466B4() /* dedup: shared engine-core @0x801466B4 (src/shared) */
INCLUDE_ASM("asm/ov_SC01_000/nonmatchings/ov_SC01_000_after", func_801466F0);
INCLUDE_ASM("asm/ov_SC01_000/nonmatchings/ov_SC01_000_after", func_80146750);
u16 *func_80146750(u16 *param_1) {
extern u16 D_8011FD10;
extern int D_8011FA1C;
extern u16 D_8011F9D6;
extern u16 D_8011F9DA;
extern u16 D_8011F9DE;
extern int D_8011FA20;
extern int D_8011FA24;
s32 iVar1;
s32 iVar2;
u16 *psVar3;
register u16 *psVar4 __asm__("$7"); /* $a3: pin so &sym loads here, copy -> psVar3($v1) */
iVar2 = 8;
psVar4 = &D_8011FD10;
psVar3 = psVar4;
iVar1 = 0x340;
for (; iVar2 < 0x14; iVar2++) {
if (*psVar3 == 0) {
*(u32 *)((char *)&(*(u32 *)&D_8011FA1C) + iVar1) = *(u32 *)((char *)param_1 + 8);
*psVar3 = *param_1;
*(u16 *)((char *)&D_8011F9D6 + iVar1) = param_1[1];
*(u16 *)((char *)&D_8011F9DA + iVar1) = param_1[2];
*(u16 *)((char *)&D_8011F9DE + iVar1) = param_1[3];
*(u32 *)((char *)&(*(u32 *)&D_8011FA20) + iVar1) = *(u32 *)((char *)param_1 + 0xC);
*(u32 *)((char *)&(*(u32 *)&D_8011FA24) + iVar1) = *(u32 *)((char *)param_1 + 0x10);
return psVar4;
}
psVar4 = psVar4 + 0x34;
psVar3 = psVar3 + 0x34;
iVar1 = iVar1 + 0x68;
}
return (u16 *)0x0;
}
DEFINE_func_8014680C() /* dedup: shared engine-core @0x8014680C (src/shared) */
+28
View File
@@ -1,2 +1,30 @@
#include "common.h"
#include "../shared/func_80144B9C.h"
/* func_801457A4 @ 0x801457A4 — an -O0 function stranded at the whale's end boundary (it is the
* FIRST fn of the -O2 "after" segment, but its target is -O0: frame-pointer + per-case stack
* reloads). It can only bank in an -O0 object, so it lives here: _o0b is already -O0-compiled and
* its .text ends exactly at 0x801457A4 (right after func_80144B9C), placing this fn at its true
* address with no linker/Makefile change. Its stub was removed from ov_SC01_077_after.c. Def sig
* conformed byte-neutrally to func_80144B9C.h's decl `void *func_801457A4(s32)` (the whale calls it
* that way); byte-proven at -O0 (match_one --o0 79/79) and by the whole-binary gate. Phase-29 bank. */
extern int D_8017EBBC;
void *func_801457A4(s32 param_1) {
switch (param_1) {
case 0x1010:
case 0x1052:
case 0x1077:
case 0x1094:
case 0x2013:
case 0x2015 ... 0x201a:
case 0x2055 ... 0x205b:
case 0x207a ... 0x2080:
case 0x2097 ... 0x209d:
return (void *)(&D_8017EBBC)[param_1 & 0xffff0fff];
default:
return (void *)D_8017EBBC;
break;
}
}
+48 -5
View File
@@ -2,8 +2,8 @@
#include "../shared/engine_core.h"
INCLUDE_ASM("asm/ov_SC01_001/nonmatchings/ov_SC01_001_after", func_801457A4);
/* func_801457A4 (@0x801457A4) is an -O0 function; its definition lives in ov_SC01_001_o0b.c (the -O0
* whale object, whose .text ends exactly at this address). Mirrors ov_SC01_077. §116 */
DEFINE_func_801458E0() /* dedup: shared engine-core @0x801458E0 (src/shared) */
DEFINE_func_801458E8() /* dedup: shared engine-core @0x801458E8 (src/shared) */
@@ -326,10 +326,13 @@ DEFINE_func_80146128() /* dedup: shared engine-core @0x80146128 (src/shared) */
// @stuck: none — MATCH (fnptr-table idiom: D_80185348[u8 idx](&arg))
extern void (*D_80185348[])(void *);
extern u8 D_80126BA4;
extern s32 D_80126B58;
void func_80146360(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
D_80185348[D_80126BA4](&D_80126B58);
}
@@ -347,10 +350,13 @@ extern short func_801508F8(s32 a0);
extern void func_8014B5B0(s32 *a0);
extern void func_80161D88(s32 a0);
extern s32 D_80126B58;
void func_801463A0(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
extern s32 *D_80126B78;
extern u16 D_80126B5E;
@@ -420,7 +426,44 @@ DEFINE_func_801466B4() /* dedup: shared engine-core @0x801466B4 (src/shared) */
INCLUDE_ASM("asm/ov_SC01_001/nonmatchings/ov_SC01_001_after", func_801466F0);
INCLUDE_ASM("asm/ov_SC01_001/nonmatchings/ov_SC01_001_after", func_80146750);
u16 *func_80146750(u16 *param_1) {
extern u16 D_8011FD10;
extern int D_8011FA1C;
extern u16 D_8011F9D6;
extern u16 D_8011F9DA;
extern u16 D_8011F9DE;
extern int D_8011FA20;
extern int D_8011FA24;
s32 iVar1;
s32 iVar2;
u16 *psVar3;
register u16 *psVar4 __asm__("$7"); /* $a3: pin so &sym loads here, copy -> psVar3($v1) */
iVar2 = 8;
psVar4 = &D_8011FD10;
psVar3 = psVar4;
iVar1 = 0x340;
for (; iVar2 < 0x14; iVar2++) {
if (*psVar3 == 0) {
*(u32 *)((char *)&(*(u32 *)&D_8011FA1C) + iVar1) = *(u32 *)((char *)param_1 + 8);
*psVar3 = *param_1;
*(u16 *)((char *)&D_8011F9D6 + iVar1) = param_1[1];
*(u16 *)((char *)&D_8011F9DA + iVar1) = param_1[2];
*(u16 *)((char *)&D_8011F9DE + iVar1) = param_1[3];
*(u32 *)((char *)&(*(u32 *)&D_8011FA20) + iVar1) = *(u32 *)((char *)param_1 + 0xC);
*(u32 *)((char *)&(*(u32 *)&D_8011FA24) + iVar1) = *(u32 *)((char *)param_1 + 0x10);
return psVar4;
}
psVar4 = psVar4 + 0x34;
psVar3 = psVar3 + 0x34;
iVar1 = iVar1 + 0x68;
}
return (u16 *)0x0;
}
DEFINE_func_8014680C() /* dedup: shared engine-core @0x8014680C (src/shared) */
+28
View File
@@ -1,2 +1,30 @@
#include "common.h"
#include "../shared/func_80144B9C.h"
/* func_801457A4 @ 0x801457A4 — an -O0 function stranded at the whale's end boundary (it is the
* FIRST fn of the -O2 "after" segment, but its target is -O0: frame-pointer + per-case stack
* reloads). It can only bank in an -O0 object, so it lives here: _o0b is already -O0-compiled and
* its .text ends exactly at 0x801457A4 (right after func_80144B9C), placing this fn at its true
* address with no linker/Makefile change. Its stub was removed from ov_SC01_077_after.c. Def sig
* conformed byte-neutrally to func_80144B9C.h's decl `void *func_801457A4(s32)` (the whale calls it
* that way); byte-proven at -O0 (match_one --o0 79/79) and by the whole-binary gate. Phase-29 bank. */
extern int D_8018380C;
void *func_801457A4(s32 param_1) {
switch (param_1) {
case 0x1010:
case 0x1052:
case 0x1077:
case 0x1094:
case 0x2013:
case 0x2015 ... 0x201a:
case 0x2055 ... 0x205b:
case 0x207a ... 0x2080:
case 0x2097 ... 0x209d:
return (void *)(&D_8018380C)[param_1 & 0xffff0fff];
default:
return (void *)D_8018380C;
break;
}
}
+48 -5
View File
@@ -2,8 +2,8 @@
#include "../shared/engine_core.h"
INCLUDE_ASM("asm/ov_SC01_004/nonmatchings/ov_SC01_004_after", func_801457A4);
/* func_801457A4 (@0x801457A4) is an -O0 function; its definition lives in ov_SC01_004_o0b.c (the -O0
* whale object, whose .text ends exactly at this address). Mirrors ov_SC01_077. §116 */
DEFINE_func_801458E0() /* dedup: shared engine-core @0x801458E0 (src/shared) */
DEFINE_func_801458E8() /* dedup: shared engine-core @0x801458E8 (src/shared) */
@@ -326,10 +326,13 @@ DEFINE_func_80146128() /* dedup: shared engine-core @0x80146128 (src/shared) */
// @stuck: none — MATCH (fnptr-table idiom: D_80180D0C[u8 idx](&arg))
extern void (*D_80180D0C[])(void *);
extern u8 D_80126BA4;
extern s32 D_80126B58;
void func_80146360(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
D_80180D0C[D_80126BA4](&D_80126B58);
}
@@ -349,10 +352,13 @@ extern short func_801508F8(s32 a0);
extern void func_8014B5B0(s32 *a0);
extern void func_80161D88(s32 a0);
extern s32 D_80126B58;
void func_801463A0(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
extern s32 *D_80126B78;
extern u16 D_80126B5E;
@@ -422,7 +428,44 @@ DEFINE_func_801466B4() /* dedup: shared engine-core @0x801466B4 (src/shared) */
INCLUDE_ASM("asm/ov_SC01_004/nonmatchings/ov_SC01_004_after", func_801466F0);
INCLUDE_ASM("asm/ov_SC01_004/nonmatchings/ov_SC01_004_after", func_80146750);
u16 *func_80146750(u16 *param_1) {
extern u16 D_8011FD10;
extern int D_8011FA1C;
extern u16 D_8011F9D6;
extern u16 D_8011F9DA;
extern u16 D_8011F9DE;
extern int D_8011FA20;
extern int D_8011FA24;
s32 iVar1;
s32 iVar2;
u16 *psVar3;
register u16 *psVar4 __asm__("$7"); /* $a3: pin so &sym loads here, copy -> psVar3($v1) */
iVar2 = 8;
psVar4 = &D_8011FD10;
psVar3 = psVar4;
iVar1 = 0x340;
for (; iVar2 < 0x14; iVar2++) {
if (*psVar3 == 0) {
*(u32 *)((char *)&(*(u32 *)&D_8011FA1C) + iVar1) = *(u32 *)((char *)param_1 + 8);
*psVar3 = *param_1;
*(u16 *)((char *)&D_8011F9D6 + iVar1) = param_1[1];
*(u16 *)((char *)&D_8011F9DA + iVar1) = param_1[2];
*(u16 *)((char *)&D_8011F9DE + iVar1) = param_1[3];
*(u32 *)((char *)&(*(u32 *)&D_8011FA20) + iVar1) = *(u32 *)((char *)param_1 + 0xC);
*(u32 *)((char *)&(*(u32 *)&D_8011FA24) + iVar1) = *(u32 *)((char *)param_1 + 0x10);
return psVar4;
}
psVar4 = psVar4 + 0x34;
psVar3 = psVar3 + 0x34;
iVar1 = iVar1 + 0x68;
}
return (u16 *)0x0;
}
DEFINE_func_8014680C() /* dedup: shared engine-core @0x8014680C (src/shared) */
+28
View File
@@ -1,2 +1,30 @@
#include "common.h"
#include "../shared/func_80144B9C.h"
/* func_801457A4 @ 0x801457A4 — an -O0 function stranded at the whale's end boundary (it is the
* FIRST fn of the -O2 "after" segment, but its target is -O0: frame-pointer + per-case stack
* reloads). It can only bank in an -O0 object, so it lives here: _o0b is already -O0-compiled and
* its .text ends exactly at 0x801457A4 (right after func_80144B9C), placing this fn at its true
* address with no linker/Makefile change. Its stub was removed from ov_SC01_077_after.c. Def sig
* conformed byte-neutrally to func_80144B9C.h's decl `void *func_801457A4(s32)` (the whale calls it
* that way); byte-proven at -O0 (match_one --o0 79/79) and by the whole-binary gate. Phase-29 bank. */
extern int D_8017F1D0;
void *func_801457A4(s32 param_1) {
switch (param_1) {
case 0x1010:
case 0x1052:
case 0x1077:
case 0x1094:
case 0x2013:
case 0x2015 ... 0x201a:
case 0x2055 ... 0x205b:
case 0x207a ... 0x2080:
case 0x2097 ... 0x209d:
return (void *)(&D_8017F1D0)[param_1 & 0xffff0fff];
default:
return (void *)D_8017F1D0;
break;
}
}
+48 -5
View File
@@ -3,8 +3,8 @@
#include "../shared/ov_setters.h" /* dedup share across the SC01/005 ≡ 006 pair (cookbook §11) */
INCLUDE_ASM("asm/ov_SC01_005/nonmatchings/ov_SC01_005_after", func_801457A4);
/* func_801457A4 (@0x801457A4) is an -O0 function; its definition lives in ov_SC01_005_o0b.c (the -O0
* whale object, whose .text ends exactly at this address). Mirrors ov_SC01_077. §116 */
DEFINE_func_801458E0() /* dedup: shared engine-core @0x801458E0 (src/shared) */
DEFINE_func_801458E8() /* dedup: shared engine-core @0x801458E8 (src/shared) */
@@ -327,10 +327,13 @@ DEFINE_func_80146128() /* dedup: shared engine-core @0x80146128 (src/shared) */
// @stuck: none — MATCH (fnptr-table idiom: D_80183EA0[u8 idx](&arg))
extern void (*D_80183EA0[])(void *);
extern u8 D_80126BA4;
extern s32 D_80126B58;
void func_80146360(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
D_80183EA0[D_80126BA4](&D_80126B58);
}
@@ -350,10 +353,13 @@ extern short func_801508F8(s32 a0);
extern void func_8014B5B0(s32 *a0);
extern void func_80161D88(s32 a0);
extern s32 D_80126B58;
void func_801463A0(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
extern s32 *D_80126B78;
extern u16 D_80126B5E;
@@ -423,7 +429,44 @@ DEFINE_func_801466B4() /* dedup: shared engine-core @0x801466B4 (src/shared) */
INCLUDE_ASM("asm/ov_SC01_005/nonmatchings/ov_SC01_005_after", func_801466F0);
INCLUDE_ASM("asm/ov_SC01_005/nonmatchings/ov_SC01_005_after", func_80146750);
u16 *func_80146750(u16 *param_1) {
extern u16 D_8011FD10;
extern int D_8011FA1C;
extern u16 D_8011F9D6;
extern u16 D_8011F9DA;
extern u16 D_8011F9DE;
extern int D_8011FA20;
extern int D_8011FA24;
s32 iVar1;
s32 iVar2;
u16 *psVar3;
register u16 *psVar4 __asm__("$7"); /* $a3: pin so &sym loads here, copy -> psVar3($v1) */
iVar2 = 8;
psVar4 = &D_8011FD10;
psVar3 = psVar4;
iVar1 = 0x340;
for (; iVar2 < 0x14; iVar2++) {
if (*psVar3 == 0) {
*(u32 *)((char *)&(*(u32 *)&D_8011FA1C) + iVar1) = *(u32 *)((char *)param_1 + 8);
*psVar3 = *param_1;
*(u16 *)((char *)&D_8011F9D6 + iVar1) = param_1[1];
*(u16 *)((char *)&D_8011F9DA + iVar1) = param_1[2];
*(u16 *)((char *)&D_8011F9DE + iVar1) = param_1[3];
*(u32 *)((char *)&(*(u32 *)&D_8011FA20) + iVar1) = *(u32 *)((char *)param_1 + 0xC);
*(u32 *)((char *)&(*(u32 *)&D_8011FA24) + iVar1) = *(u32 *)((char *)param_1 + 0x10);
return psVar4;
}
psVar4 = psVar4 + 0x34;
psVar3 = psVar3 + 0x34;
iVar1 = iVar1 + 0x68;
}
return (u16 *)0x0;
}
DEFINE_func_8014680C() /* dedup: shared engine-core @0x8014680C (src/shared) */
+28
View File
@@ -1,2 +1,30 @@
#include "common.h"
#include "../shared/func_80144B9C.h"
/* func_801457A4 @ 0x801457A4 — an -O0 function stranded at the whale's end boundary (it is the
* FIRST fn of the -O2 "after" segment, but its target is -O0: frame-pointer + per-case stack
* reloads). It can only bank in an -O0 object, so it lives here: _o0b is already -O0-compiled and
* its .text ends exactly at 0x801457A4 (right after func_80144B9C), placing this fn at its true
* address with no linker/Makefile change. Its stub was removed from ov_SC01_077_after.c. Def sig
* conformed byte-neutrally to func_80144B9C.h's decl `void *func_801457A4(s32)` (the whale calls it
* that way); byte-proven at -O0 (match_one --o0 79/79) and by the whole-binary gate. Phase-29 bank. */
extern int D_80182364;
void *func_801457A4(s32 param_1) {
switch (param_1) {
case 0x1010:
case 0x1052:
case 0x1077:
case 0x1094:
case 0x2013:
case 0x2015 ... 0x201a:
case 0x2055 ... 0x205b:
case 0x207a ... 0x2080:
case 0x2097 ... 0x209d:
return (void *)(&D_80182364)[param_1 & 0xffff0fff];
default:
return (void *)D_80182364;
break;
}
}
+48 -5
View File
@@ -3,8 +3,8 @@
#include "../shared/ov_setters.h" /* dedup share across the SC01/005 ≡ 006 pair (cookbook §11) */
INCLUDE_ASM("asm/ov_SC01_006/nonmatchings/ov_SC01_006_after", func_801457A4);
/* func_801457A4 (@0x801457A4) is an -O0 function; its definition lives in ov_SC01_006_o0b.c (the -O0
* whale object, whose .text ends exactly at this address). Mirrors ov_SC01_077. §116 */
DEFINE_func_801458E0() /* dedup: shared engine-core @0x801458E0 (src/shared) */
DEFINE_func_801458E8() /* dedup: shared engine-core @0x801458E8 (src/shared) */
@@ -327,10 +327,13 @@ DEFINE_func_80146128() /* dedup: shared engine-core @0x80146128 (src/shared) */
// @stuck: none — MATCH (fnptr-table idiom: D_80183EA0[u8 idx](&arg))
extern void (*D_80183EA0[])(void *);
extern u8 D_80126BA4;
extern s32 D_80126B58;
void func_80146360(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
D_80183EA0[D_80126BA4](&D_80126B58);
}
@@ -350,10 +353,13 @@ extern short func_801508F8(s32 a0);
extern void func_8014B5B0(s32 *a0);
extern void func_80161D88(s32 a0);
extern s32 D_80126B58;
void func_801463A0(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
extern s32 *D_80126B78;
extern u16 D_80126B5E;
@@ -423,7 +429,44 @@ DEFINE_func_801466B4() /* dedup: shared engine-core @0x801466B4 (src/shared) */
INCLUDE_ASM("asm/ov_SC01_006/nonmatchings/ov_SC01_006_after", func_801466F0);
INCLUDE_ASM("asm/ov_SC01_006/nonmatchings/ov_SC01_006_after", func_80146750);
u16 *func_80146750(u16 *param_1) {
extern u16 D_8011FD10;
extern int D_8011FA1C;
extern u16 D_8011F9D6;
extern u16 D_8011F9DA;
extern u16 D_8011F9DE;
extern int D_8011FA20;
extern int D_8011FA24;
s32 iVar1;
s32 iVar2;
u16 *psVar3;
register u16 *psVar4 __asm__("$7"); /* $a3: pin so &sym loads here, copy -> psVar3($v1) */
iVar2 = 8;
psVar4 = &D_8011FD10;
psVar3 = psVar4;
iVar1 = 0x340;
for (; iVar2 < 0x14; iVar2++) {
if (*psVar3 == 0) {
*(u32 *)((char *)&(*(u32 *)&D_8011FA1C) + iVar1) = *(u32 *)((char *)param_1 + 8);
*psVar3 = *param_1;
*(u16 *)((char *)&D_8011F9D6 + iVar1) = param_1[1];
*(u16 *)((char *)&D_8011F9DA + iVar1) = param_1[2];
*(u16 *)((char *)&D_8011F9DE + iVar1) = param_1[3];
*(u32 *)((char *)&(*(u32 *)&D_8011FA20) + iVar1) = *(u32 *)((char *)param_1 + 0xC);
*(u32 *)((char *)&(*(u32 *)&D_8011FA24) + iVar1) = *(u32 *)((char *)param_1 + 0x10);
return psVar4;
}
psVar4 = psVar4 + 0x34;
psVar3 = psVar3 + 0x34;
iVar1 = iVar1 + 0x68;
}
return (u16 *)0x0;
}
DEFINE_func_8014680C() /* dedup: shared engine-core @0x8014680C (src/shared) */
+28
View File
@@ -1,2 +1,30 @@
#include "common.h"
#include "../shared/func_80144B9C.h"
/* func_801457A4 @ 0x801457A4 — an -O0 function stranded at the whale's end boundary (it is the
* FIRST fn of the -O2 "after" segment, but its target is -O0: frame-pointer + per-case stack
* reloads). It can only bank in an -O0 object, so it lives here: _o0b is already -O0-compiled and
* its .text ends exactly at 0x801457A4 (right after func_80144B9C), placing this fn at its true
* address with no linker/Makefile change. Its stub was removed from ov_SC01_077_after.c. Def sig
* conformed byte-neutrally to func_80144B9C.h's decl `void *func_801457A4(s32)` (the whale calls it
* that way); byte-proven at -O0 (match_one --o0 79/79) and by the whole-binary gate. Phase-29 bank. */
extern int D_80182364;
void *func_801457A4(s32 param_1) {
switch (param_1) {
case 0x1010:
case 0x1052:
case 0x1077:
case 0x1094:
case 0x2013:
case 0x2015 ... 0x201a:
case 0x2055 ... 0x205b:
case 0x207a ... 0x2080:
case 0x2097 ... 0x209d:
return (void *)(&D_80182364)[param_1 & 0xffff0fff];
default:
return (void *)D_80182364;
break;
}
}
+48 -5
View File
@@ -2,8 +2,8 @@
#include "../shared/engine_core.h"
INCLUDE_ASM("asm/ov_SC01_008/nonmatchings/ov_SC01_008_after", func_801457A4);
/* func_801457A4 (@0x801457A4) is an -O0 function; its definition lives in ov_SC01_008_o0b.c (the -O0
* whale object, whose .text ends exactly at this address). Mirrors ov_SC01_077. §116 */
DEFINE_func_801458E0() /* dedup: shared engine-core @0x801458E0 (src/shared) */
DEFINE_func_801458E8() /* dedup: shared engine-core @0x801458E8 (src/shared) */
@@ -326,10 +326,13 @@ DEFINE_func_80146128() /* dedup: shared engine-core @0x80146128 (src/shared) */
// @stuck: none — MATCH (fnptr-table idiom: D_80181280[u8 idx](&arg))
extern void (*D_80181280[])(void *);
extern u8 D_80126BA4;
extern s32 D_80126B58;
void func_80146360(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
D_80181280[D_80126BA4](&D_80126B58);
}
@@ -349,10 +352,13 @@ extern short func_801508F8(s32 a0);
extern void func_8014B5B0(s32 *a0);
extern void func_80161D88(s32 a0);
extern s32 D_80126B58;
void func_801463A0(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
extern s32 *D_80126B78;
extern u16 D_80126B5E;
@@ -422,7 +428,44 @@ DEFINE_func_801466B4() /* dedup: shared engine-core @0x801466B4 (src/shared) */
INCLUDE_ASM("asm/ov_SC01_008/nonmatchings/ov_SC01_008_after", func_801466F0);
INCLUDE_ASM("asm/ov_SC01_008/nonmatchings/ov_SC01_008_after", func_80146750);
u16 *func_80146750(u16 *param_1) {
extern u16 D_8011FD10;
extern int D_8011FA1C;
extern u16 D_8011F9D6;
extern u16 D_8011F9DA;
extern u16 D_8011F9DE;
extern int D_8011FA20;
extern int D_8011FA24;
s32 iVar1;
s32 iVar2;
u16 *psVar3;
register u16 *psVar4 __asm__("$7"); /* $a3: pin so &sym loads here, copy -> psVar3($v1) */
iVar2 = 8;
psVar4 = &D_8011FD10;
psVar3 = psVar4;
iVar1 = 0x340;
for (; iVar2 < 0x14; iVar2++) {
if (*psVar3 == 0) {
*(u32 *)((char *)&(*(u32 *)&D_8011FA1C) + iVar1) = *(u32 *)((char *)param_1 + 8);
*psVar3 = *param_1;
*(u16 *)((char *)&D_8011F9D6 + iVar1) = param_1[1];
*(u16 *)((char *)&D_8011F9DA + iVar1) = param_1[2];
*(u16 *)((char *)&D_8011F9DE + iVar1) = param_1[3];
*(u32 *)((char *)&(*(u32 *)&D_8011FA20) + iVar1) = *(u32 *)((char *)param_1 + 0xC);
*(u32 *)((char *)&(*(u32 *)&D_8011FA24) + iVar1) = *(u32 *)((char *)param_1 + 0x10);
return psVar4;
}
psVar4 = psVar4 + 0x34;
psVar3 = psVar3 + 0x34;
iVar1 = iVar1 + 0x68;
}
return (u16 *)0x0;
}
DEFINE_func_8014680C() /* dedup: shared engine-core @0x8014680C (src/shared) */
+28
View File
@@ -1,2 +1,30 @@
#include "common.h"
#include "../shared/func_80144B9C.h"
/* func_801457A4 @ 0x801457A4 — an -O0 function stranded at the whale's end boundary (it is the
* FIRST fn of the -O2 "after" segment, but its target is -O0: frame-pointer + per-case stack
* reloads). It can only bank in an -O0 object, so it lives here: _o0b is already -O0-compiled and
* its .text ends exactly at 0x801457A4 (right after func_80144B9C), placing this fn at its true
* address with no linker/Makefile change. Its stub was removed from ov_SC01_077_after.c. Def sig
* conformed byte-neutrally to func_80144B9C.h's decl `void *func_801457A4(s32)` (the whale calls it
* that way); byte-proven at -O0 (match_one --o0 79/79) and by the whole-binary gate. Phase-29 bank. */
extern int D_8017F744;
void *func_801457A4(s32 param_1) {
switch (param_1) {
case 0x1010:
case 0x1052:
case 0x1077:
case 0x1094:
case 0x2013:
case 0x2015 ... 0x201a:
case 0x2055 ... 0x205b:
case 0x207a ... 0x2080:
case 0x2097 ... 0x209d:
return (void *)(&D_8017F744)[param_1 & 0xffff0fff];
default:
return (void *)D_8017F744;
break;
}
}
+48 -5
View File
@@ -2,8 +2,8 @@
#include "../shared/engine_core.h"
INCLUDE_ASM("asm/ov_SC01_009/nonmatchings/ov_SC01_009_after", func_801457A4);
/* func_801457A4 (@0x801457A4) is an -O0 function; its definition lives in ov_SC01_009_o0b.c (the -O0
* whale object, whose .text ends exactly at this address). Mirrors ov_SC01_077. §116 */
DEFINE_func_801458E0() /* dedup: shared engine-core @0x801458E0 (src/shared) */
DEFINE_func_801458E8() /* dedup: shared engine-core @0x801458E8 (src/shared) */
@@ -326,10 +326,13 @@ DEFINE_func_80146128() /* dedup: shared engine-core @0x80146128 (src/shared) */
// @stuck: none — MATCH (fnptr-table idiom: D_80184468[u8 idx](&arg))
extern void (*D_80184468[])(void *);
extern u8 D_80126BA4;
extern s32 D_80126B58;
void func_80146360(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
D_80184468[D_80126BA4](&D_80126B58);
}
@@ -349,10 +352,13 @@ extern short func_801508F8(s32 a0);
extern void func_8014B5B0(s32 *a0);
extern void func_80161D88(s32 a0);
extern s32 D_80126B58;
void func_801463A0(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
extern s32 *D_80126B78;
extern u16 D_80126B5E;
@@ -422,7 +428,44 @@ DEFINE_func_801466B4() /* dedup: shared engine-core @0x801466B4 (src/shared) */
INCLUDE_ASM("asm/ov_SC01_009/nonmatchings/ov_SC01_009_after", func_801466F0);
INCLUDE_ASM("asm/ov_SC01_009/nonmatchings/ov_SC01_009_after", func_80146750);
u16 *func_80146750(u16 *param_1) {
extern u16 D_8011FD10;
extern int D_8011FA1C;
extern u16 D_8011F9D6;
extern u16 D_8011F9DA;
extern u16 D_8011F9DE;
extern int D_8011FA20;
extern int D_8011FA24;
s32 iVar1;
s32 iVar2;
u16 *psVar3;
register u16 *psVar4 __asm__("$7"); /* $a3: pin so &sym loads here, copy -> psVar3($v1) */
iVar2 = 8;
psVar4 = &D_8011FD10;
psVar3 = psVar4;
iVar1 = 0x340;
for (; iVar2 < 0x14; iVar2++) {
if (*psVar3 == 0) {
*(u32 *)((char *)&(*(u32 *)&D_8011FA1C) + iVar1) = *(u32 *)((char *)param_1 + 8);
*psVar3 = *param_1;
*(u16 *)((char *)&D_8011F9D6 + iVar1) = param_1[1];
*(u16 *)((char *)&D_8011F9DA + iVar1) = param_1[2];
*(u16 *)((char *)&D_8011F9DE + iVar1) = param_1[3];
*(u32 *)((char *)&(*(u32 *)&D_8011FA20) + iVar1) = *(u32 *)((char *)param_1 + 0xC);
*(u32 *)((char *)&(*(u32 *)&D_8011FA24) + iVar1) = *(u32 *)((char *)param_1 + 0x10);
return psVar4;
}
psVar4 = psVar4 + 0x34;
psVar3 = psVar3 + 0x34;
iVar1 = iVar1 + 0x68;
}
return (u16 *)0x0;
}
DEFINE_func_8014680C() /* dedup: shared engine-core @0x8014680C (src/shared) */
+28
View File
@@ -1,2 +1,30 @@
#include "common.h"
#include "../shared/func_80144B9C.h"
/* func_801457A4 @ 0x801457A4 — an -O0 function stranded at the whale's end boundary (it is the
* FIRST fn of the -O2 "after" segment, but its target is -O0: frame-pointer + per-case stack
* reloads). It can only bank in an -O0 object, so it lives here: _o0b is already -O0-compiled and
* its .text ends exactly at 0x801457A4 (right after func_80144B9C), placing this fn at its true
* address with no linker/Makefile change. Its stub was removed from ov_SC01_077_after.c. Def sig
* conformed byte-neutrally to func_80144B9C.h's decl `void *func_801457A4(s32)` (the whale calls it
* that way); byte-proven at -O0 (match_one --o0 79/79) and by the whole-binary gate. Phase-29 bank. */
extern int D_8018292C;
void *func_801457A4(s32 param_1) {
switch (param_1) {
case 0x1010:
case 0x1052:
case 0x1077:
case 0x1094:
case 0x2013:
case 0x2015 ... 0x201a:
case 0x2055 ... 0x205b:
case 0x207a ... 0x2080:
case 0x2097 ... 0x209d:
return (void *)(&D_8018292C)[param_1 & 0xffff0fff];
default:
return (void *)D_8018292C;
break;
}
}
+48 -5
View File
@@ -2,8 +2,8 @@
#include "../shared/engine_core.h"
INCLUDE_ASM("asm/ov_SC01_074/nonmatchings/ov_SC01_074_after", func_801457A4);
/* func_801457A4 (@0x801457A4) is an -O0 function; its definition lives in ov_SC01_074_o0b.c (the -O0
* whale object, whose .text ends exactly at this address). Mirrors ov_SC01_077. §116 */
DEFINE_func_801458E0() /* dedup: shared engine-core @0x801458E0 (src/shared) */
DEFINE_func_801458E8() /* dedup: shared engine-core @0x801458E8 (src/shared) */
@@ -326,10 +326,13 @@ DEFINE_func_80146128() /* dedup: shared engine-core @0x80146128 (src/shared) */
// @stuck: none — MATCH (fnptr-table idiom: D_801800E8[u8 idx](&arg))
extern void (*D_801800E8[])(void *);
extern u8 D_80126BA4;
extern s32 D_80126B58;
void func_80146360(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
D_801800E8[D_80126BA4](&D_80126B58);
}
@@ -349,10 +352,13 @@ extern short func_801508F8(s32 a0);
extern void func_8014B5B0(s32 *a0);
extern void func_80161D88(s32 a0);
extern s32 D_80126B58;
void func_801463A0(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
extern s32 *D_80126B78;
extern u16 D_80126B5E;
@@ -422,7 +428,44 @@ DEFINE_func_801466B4() /* dedup: shared engine-core @0x801466B4 (src/shared) */
INCLUDE_ASM("asm/ov_SC01_074/nonmatchings/ov_SC01_074_after", func_801466F0);
INCLUDE_ASM("asm/ov_SC01_074/nonmatchings/ov_SC01_074_after", func_80146750);
u16 *func_80146750(u16 *param_1) {
extern u16 D_8011FD10;
extern int D_8011FA1C;
extern u16 D_8011F9D6;
extern u16 D_8011F9DA;
extern u16 D_8011F9DE;
extern int D_8011FA20;
extern int D_8011FA24;
s32 iVar1;
s32 iVar2;
u16 *psVar3;
register u16 *psVar4 __asm__("$7"); /* $a3: pin so &sym loads here, copy -> psVar3($v1) */
iVar2 = 8;
psVar4 = &D_8011FD10;
psVar3 = psVar4;
iVar1 = 0x340;
for (; iVar2 < 0x14; iVar2++) {
if (*psVar3 == 0) {
*(u32 *)((char *)&(*(u32 *)&D_8011FA1C) + iVar1) = *(u32 *)((char *)param_1 + 8);
*psVar3 = *param_1;
*(u16 *)((char *)&D_8011F9D6 + iVar1) = param_1[1];
*(u16 *)((char *)&D_8011F9DA + iVar1) = param_1[2];
*(u16 *)((char *)&D_8011F9DE + iVar1) = param_1[3];
*(u32 *)((char *)&(*(u32 *)&D_8011FA20) + iVar1) = *(u32 *)((char *)param_1 + 0xC);
*(u32 *)((char *)&(*(u32 *)&D_8011FA24) + iVar1) = *(u32 *)((char *)param_1 + 0x10);
return psVar4;
}
psVar4 = psVar4 + 0x34;
psVar3 = psVar3 + 0x34;
iVar1 = iVar1 + 0x68;
}
return (u16 *)0x0;
}
DEFINE_func_8014680C() /* dedup: shared engine-core @0x8014680C (src/shared) */
+28
View File
@@ -1,2 +1,30 @@
#include "common.h"
#include "../shared/func_80144B9C.h"
/* func_801457A4 @ 0x801457A4 — an -O0 function stranded at the whale's end boundary (it is the
* FIRST fn of the -O2 "after" segment, but its target is -O0: frame-pointer + per-case stack
* reloads). It can only bank in an -O0 object, so it lives here: _o0b is already -O0-compiled and
* its .text ends exactly at 0x801457A4 (right after func_80144B9C), placing this fn at its true
* address with no linker/Makefile change. Its stub was removed from ov_SC01_077_after.c. Def sig
* conformed byte-neutrally to func_80144B9C.h's decl `void *func_801457A4(s32)` (the whale calls it
* that way); byte-proven at -O0 (match_one --o0 79/79) and by the whole-binary gate. Phase-29 bank. */
extern int D_8017E5AC;
void *func_801457A4(s32 param_1) {
switch (param_1) {
case 0x1010:
case 0x1052:
case 0x1077:
case 0x1094:
case 0x2013:
case 0x2015 ... 0x201a:
case 0x2055 ... 0x205b:
case 0x207a ... 0x2080:
case 0x2097 ... 0x209d:
return (void *)(&D_8017E5AC)[param_1 & 0xffff0fff];
default:
return (void *)D_8017E5AC;
break;
}
}
+46 -3
View File
@@ -357,10 +357,13 @@ DEFINE_func_80146128() /* dedup: shared engine-core @0x80146128 (src/shared) */
// @stuck: none — MATCH (fnptr-table idiom: D_8018860C[u8 idx](&arg))
extern void (*D_8018860C[])(void *);
extern u8 D_80126BA4;
extern s32 D_80126B58;
void func_80146360(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
D_8018860C[D_80126BA4](&D_80126B58);
}
@@ -379,10 +382,13 @@ extern short func_801508F8(s32 a0);
extern void func_8014B5B0(s32 *a0);
extern void func_80161D88(s32 a0);
extern s32 D_80126B58;
void func_801463A0(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
extern s32 *D_80126B78;
extern u16 D_80126B5E;
@@ -455,7 +461,44 @@ DEFINE_func_801466B4() /* dedup: shared engine-core @0x801466B4 (src/shared) */
INCLUDE_ASM("asm/ov_SC01_077/nonmatchings/ov_SC01_077_after", func_801466F0);
INCLUDE_ASM("asm/ov_SC01_077/nonmatchings/ov_SC01_077_after", func_80146750);
u16 *func_80146750(u16 *param_1) {
extern u16 D_8011FD10;
extern int D_8011FA1C;
extern u16 D_8011F9D6;
extern u16 D_8011F9DA;
extern u16 D_8011F9DE;
extern int D_8011FA20;
extern int D_8011FA24;
s32 iVar1;
s32 iVar2;
u16 *psVar3;
register u16 *psVar4 __asm__("$7"); /* $a3: pin so &sym loads here, copy -> psVar3($v1) */
iVar2 = 8;
psVar4 = &D_8011FD10;
psVar3 = psVar4;
iVar1 = 0x340;
for (; iVar2 < 0x14; iVar2++) {
if (*psVar3 == 0) {
*(u32 *)((char *)&(*(u32 *)&D_8011FA1C) + iVar1) = *(u32 *)((char *)param_1 + 8);
*psVar3 = *param_1;
*(u16 *)((char *)&D_8011F9D6 + iVar1) = param_1[1];
*(u16 *)((char *)&D_8011F9DA + iVar1) = param_1[2];
*(u16 *)((char *)&D_8011F9DE + iVar1) = param_1[3];
*(u32 *)((char *)&(*(u32 *)&D_8011FA20) + iVar1) = *(u32 *)((char *)param_1 + 0xC);
*(u32 *)((char *)&(*(u32 *)&D_8011FA24) + iVar1) = *(u32 *)((char *)param_1 + 0x10);
return psVar4;
}
psVar4 = psVar4 + 0x34;
psVar3 = psVar3 + 0x34;
iVar1 = iVar1 + 0x68;
}
return (u16 *)0x0;
}
DEFINE_func_8014680C() /* dedup: shared engine-core @0x8014680C (src/shared) */
+48 -5
View File
@@ -2,8 +2,8 @@
#include "../shared/engine_core.h"
INCLUDE_ASM("asm/ov_SC01_080/nonmatchings/ov_SC01_080_after", func_801457A4);
/* func_801457A4 (@0x801457A4) is an -O0 function; its definition lives in ov_SC01_080_o0b.c (the -O0
* whale object, whose .text ends exactly at this address). Mirrors ov_SC01_077. §116 */
DEFINE_func_801458E0() /* dedup: shared engine-core @0x801458E0 (src/shared) */
DEFINE_func_801458E8() /* dedup: shared engine-core @0x801458E8 (src/shared) */
@@ -326,10 +326,13 @@ DEFINE_func_80146128() /* dedup: shared engine-core @0x80146128 (src/shared) */
// @stuck: none — MATCH (fnptr-table idiom: D_80185048[u8 idx](&arg))
extern void (*D_80185048[])(void *);
extern u8 D_80126BA4;
extern s32 D_80126B58;
void func_80146360(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
D_80185048[D_80126BA4](&D_80126B58);
}
@@ -349,10 +352,13 @@ extern short func_801508F8(s32 a0);
extern void func_8014B5B0(s32 *a0);
extern void func_80161D88(s32 a0);
extern s32 D_80126B58;
void func_801463A0(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
extern s32 *D_80126B78;
extern u16 D_80126B5E;
@@ -422,7 +428,44 @@ DEFINE_func_801466B4() /* dedup: shared engine-core @0x801466B4 (src/shared) */
INCLUDE_ASM("asm/ov_SC01_080/nonmatchings/ov_SC01_080_after", func_801466F0);
INCLUDE_ASM("asm/ov_SC01_080/nonmatchings/ov_SC01_080_after", func_80146750);
u16 *func_80146750(u16 *param_1) {
extern u16 D_8011FD10;
extern int D_8011FA1C;
extern u16 D_8011F9D6;
extern u16 D_8011F9DA;
extern u16 D_8011F9DE;
extern int D_8011FA20;
extern int D_8011FA24;
s32 iVar1;
s32 iVar2;
u16 *psVar3;
register u16 *psVar4 __asm__("$7"); /* $a3: pin so &sym loads here, copy -> psVar3($v1) */
iVar2 = 8;
psVar4 = &D_8011FD10;
psVar3 = psVar4;
iVar1 = 0x340;
for (; iVar2 < 0x14; iVar2++) {
if (*psVar3 == 0) {
*(u32 *)((char *)&(*(u32 *)&D_8011FA1C) + iVar1) = *(u32 *)((char *)param_1 + 8);
*psVar3 = *param_1;
*(u16 *)((char *)&D_8011F9D6 + iVar1) = param_1[1];
*(u16 *)((char *)&D_8011F9DA + iVar1) = param_1[2];
*(u16 *)((char *)&D_8011F9DE + iVar1) = param_1[3];
*(u32 *)((char *)&(*(u32 *)&D_8011FA20) + iVar1) = *(u32 *)((char *)param_1 + 0xC);
*(u32 *)((char *)&(*(u32 *)&D_8011FA24) + iVar1) = *(u32 *)((char *)param_1 + 0x10);
return psVar4;
}
psVar4 = psVar4 + 0x34;
psVar3 = psVar3 + 0x34;
iVar1 = iVar1 + 0x68;
}
return (u16 *)0x0;
}
DEFINE_func_8014680C() /* dedup: shared engine-core @0x8014680C (src/shared) */
+28
View File
@@ -1,2 +1,30 @@
#include "common.h"
#include "../shared/func_80144B9C.h"
/* func_801457A4 @ 0x801457A4 — an -O0 function stranded at the whale's end boundary (it is the
* FIRST fn of the -O2 "after" segment, but its target is -O0: frame-pointer + per-case stack
* reloads). It can only bank in an -O0 object, so it lives here: _o0b is already -O0-compiled and
* its .text ends exactly at 0x801457A4 (right after func_80144B9C), placing this fn at its true
* address with no linker/Makefile change. Its stub was removed from ov_SC01_077_after.c. Def sig
* conformed byte-neutrally to func_80144B9C.h's decl `void *func_801457A4(s32)` (the whale calls it
* that way); byte-proven at -O0 (match_one --o0 79/79) and by the whole-binary gate. Phase-29 bank. */
extern int D_8018350C;
void *func_801457A4(s32 param_1) {
switch (param_1) {
case 0x1010:
case 0x1052:
case 0x1077:
case 0x1094:
case 0x2013:
case 0x2015 ... 0x201a:
case 0x2055 ... 0x205b:
case 0x207a ... 0x2080:
case 0x2097 ... 0x209d:
return (void *)(&D_8018350C)[param_1 & 0xffff0fff];
default:
return (void *)D_8018350C;
break;
}
}
+48 -5
View File
@@ -2,8 +2,8 @@
#include "../shared/engine_core.h"
INCLUDE_ASM("asm/ov_SC01_084/nonmatchings/ov_SC01_084_after", func_801457A4);
/* func_801457A4 (@0x801457A4) is an -O0 function; its definition lives in ov_SC01_084_o0b.c (the -O0
* whale object, whose .text ends exactly at this address). Mirrors ov_SC01_077. §116 */
DEFINE_func_801458E0() /* dedup: shared engine-core @0x801458E0 (src/shared) */
DEFINE_func_801458E8() /* dedup: shared engine-core @0x801458E8 (src/shared) */
@@ -326,10 +326,13 @@ DEFINE_func_80146128() /* dedup: shared engine-core @0x80146128 (src/shared) */
// @stuck: none — MATCH (fnptr-table idiom: D_8018833C[u8 idx](&arg))
extern void (*D_8018833C[])(void *);
extern u8 D_80126BA4;
extern s32 D_80126B58;
void func_80146360(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
D_8018833C[D_80126BA4](&D_80126B58);
}
@@ -349,10 +352,13 @@ extern short func_801508F8(s32 a0);
extern void func_8014B5B0(s32 *a0);
extern void func_80161D88(s32 a0);
extern s32 D_80126B58;
void func_801463A0(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
extern s32 *D_80126B78;
extern u16 D_80126B5E;
@@ -422,7 +428,44 @@ DEFINE_func_801466B4() /* dedup: shared engine-core @0x801466B4 (src/shared) */
INCLUDE_ASM("asm/ov_SC01_084/nonmatchings/ov_SC01_084_after", func_801466F0);
INCLUDE_ASM("asm/ov_SC01_084/nonmatchings/ov_SC01_084_after", func_80146750);
u16 *func_80146750(u16 *param_1) {
extern u16 D_8011FD10;
extern int D_8011FA1C;
extern u16 D_8011F9D6;
extern u16 D_8011F9DA;
extern u16 D_8011F9DE;
extern int D_8011FA20;
extern int D_8011FA24;
s32 iVar1;
s32 iVar2;
u16 *psVar3;
register u16 *psVar4 __asm__("$7"); /* $a3: pin so &sym loads here, copy -> psVar3($v1) */
iVar2 = 8;
psVar4 = &D_8011FD10;
psVar3 = psVar4;
iVar1 = 0x340;
for (; iVar2 < 0x14; iVar2++) {
if (*psVar3 == 0) {
*(u32 *)((char *)&(*(u32 *)&D_8011FA1C) + iVar1) = *(u32 *)((char *)param_1 + 8);
*psVar3 = *param_1;
*(u16 *)((char *)&D_8011F9D6 + iVar1) = param_1[1];
*(u16 *)((char *)&D_8011F9DA + iVar1) = param_1[2];
*(u16 *)((char *)&D_8011F9DE + iVar1) = param_1[3];
*(u32 *)((char *)&(*(u32 *)&D_8011FA20) + iVar1) = *(u32 *)((char *)param_1 + 0xC);
*(u32 *)((char *)&(*(u32 *)&D_8011FA24) + iVar1) = *(u32 *)((char *)param_1 + 0x10);
return psVar4;
}
psVar4 = psVar4 + 0x34;
psVar3 = psVar3 + 0x34;
iVar1 = iVar1 + 0x68;
}
return (u16 *)0x0;
}
DEFINE_func_8014680C() /* dedup: shared engine-core @0x8014680C (src/shared) */
+28
View File
@@ -1,2 +1,30 @@
#include "common.h"
#include "../shared/func_80144B9C.h"
/* func_801457A4 @ 0x801457A4 — an -O0 function stranded at the whale's end boundary (it is the
* FIRST fn of the -O2 "after" segment, but its target is -O0: frame-pointer + per-case stack
* reloads). It can only bank in an -O0 object, so it lives here: _o0b is already -O0-compiled and
* its .text ends exactly at 0x801457A4 (right after func_80144B9C), placing this fn at its true
* address with no linker/Makefile change. Its stub was removed from ov_SC01_077_after.c. Def sig
* conformed byte-neutrally to func_80144B9C.h's decl `void *func_801457A4(s32)` (the whale calls it
* that way); byte-proven at -O0 (match_one --o0 79/79) and by the whole-binary gate. Phase-29 bank. */
extern int D_80186800;
void *func_801457A4(s32 param_1) {
switch (param_1) {
case 0x1010:
case 0x1052:
case 0x1077:
case 0x1094:
case 0x2013:
case 0x2015 ... 0x201a:
case 0x2055 ... 0x205b:
case 0x207a ... 0x2080:
case 0x2097 ... 0x209d:
return (void *)(&D_80186800)[param_1 & 0xffff0fff];
default:
return (void *)D_80186800;
break;
}
}
+48 -5
View File
@@ -2,8 +2,8 @@
#include "../shared/engine_core.h"
INCLUDE_ASM("asm/ov_SC02_000/nonmatchings/ov_SC02_000_after", func_801457A4);
/* func_801457A4 (@0x801457A4) is an -O0 function; its definition lives in ov_SC02_000_o0b.c (the -O0
* whale object, whose .text ends exactly at this address). Mirrors ov_SC01_077. §116 */
DEFINE_func_801458E0() /* dedup: shared engine-core @0x801458E0 (src/shared) */
DEFINE_func_801458E8() /* dedup: shared engine-core @0x801458E8 (src/shared) */
@@ -326,10 +326,13 @@ DEFINE_func_80146128() /* dedup: shared engine-core @0x80146128 (src/shared) */
// @stuck: none — MATCH (fnptr-table idiom: D_8018C6EC[u8 idx](&arg))
extern void (*D_8018C6EC[])(void *);
extern u8 D_80126BA4;
extern s32 D_80126B58;
void func_80146360(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
D_8018C6EC[D_80126BA4](&D_80126B58);
}
@@ -349,10 +352,13 @@ extern short func_801508F8(s32 a0);
extern void func_8014B5B0(s32 *a0);
extern void func_80161D88(s32 a0);
extern s32 D_80126B58;
void func_801463A0(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
extern s32 *D_80126B78;
extern u16 D_80126B5E;
@@ -422,7 +428,44 @@ DEFINE_func_801466B4() /* dedup: shared engine-core @0x801466B4 (src/shared) */
INCLUDE_ASM("asm/ov_SC02_000/nonmatchings/ov_SC02_000_after", func_801466F0);
INCLUDE_ASM("asm/ov_SC02_000/nonmatchings/ov_SC02_000_after", func_80146750);
u16 *func_80146750(u16 *param_1) {
extern u16 D_8011FD10;
extern int D_8011FA1C;
extern u16 D_8011F9D6;
extern u16 D_8011F9DA;
extern u16 D_8011F9DE;
extern int D_8011FA20;
extern int D_8011FA24;
s32 iVar1;
s32 iVar2;
u16 *psVar3;
register u16 *psVar4 __asm__("$7"); /* $a3: pin so &sym loads here, copy -> psVar3($v1) */
iVar2 = 8;
psVar4 = &D_8011FD10;
psVar3 = psVar4;
iVar1 = 0x340;
for (; iVar2 < 0x14; iVar2++) {
if (*psVar3 == 0) {
*(u32 *)((char *)&(*(u32 *)&D_8011FA1C) + iVar1) = *(u32 *)((char *)param_1 + 8);
*psVar3 = *param_1;
*(u16 *)((char *)&D_8011F9D6 + iVar1) = param_1[1];
*(u16 *)((char *)&D_8011F9DA + iVar1) = param_1[2];
*(u16 *)((char *)&D_8011F9DE + iVar1) = param_1[3];
*(u32 *)((char *)&(*(u32 *)&D_8011FA20) + iVar1) = *(u32 *)((char *)param_1 + 0xC);
*(u32 *)((char *)&(*(u32 *)&D_8011FA24) + iVar1) = *(u32 *)((char *)param_1 + 0x10);
return psVar4;
}
psVar4 = psVar4 + 0x34;
psVar3 = psVar3 + 0x34;
iVar1 = iVar1 + 0x68;
}
return (u16 *)0x0;
}
DEFINE_func_8014680C() /* dedup: shared engine-core @0x8014680C (src/shared) */
+28
View File
@@ -1,2 +1,30 @@
#include "common.h"
#include "../shared/func_80144B9C.h"
/* func_801457A4 @ 0x801457A4 — an -O0 function stranded at the whale's end boundary (it is the
* FIRST fn of the -O2 "after" segment, but its target is -O0: frame-pointer + per-case stack
* reloads). It can only bank in an -O0 object, so it lives here: _o0b is already -O0-compiled and
* its .text ends exactly at 0x801457A4 (right after func_80144B9C), placing this fn at its true
* address with no linker/Makefile change. Its stub was removed from ov_SC01_077_after.c. Def sig
* conformed byte-neutrally to func_80144B9C.h's decl `void *func_801457A4(s32)` (the whale calls it
* that way); byte-proven at -O0 (match_one --o0 79/79) and by the whole-binary gate. Phase-29 bank. */
extern int D_8018ABB0;
void *func_801457A4(s32 param_1) {
switch (param_1) {
case 0x1010:
case 0x1052:
case 0x1077:
case 0x1094:
case 0x2013:
case 0x2015 ... 0x201a:
case 0x2055 ... 0x205b:
case 0x207a ... 0x2080:
case 0x2097 ... 0x209d:
return (void *)(&D_8018ABB0)[param_1 & 0xffff0fff];
default:
return (void *)D_8018ABB0;
break;
}
}
+48 -5
View File
@@ -2,8 +2,8 @@
#include "../shared/engine_core.h"
INCLUDE_ASM("asm/ov_SC02_003/nonmatchings/ov_SC02_003_after", func_801457A4);
/* func_801457A4 (@0x801457A4) is an -O0 function; its definition lives in ov_SC02_003_o0b.c (the -O0
* whale object, whose .text ends exactly at this address). Mirrors ov_SC01_077. §116 */
DEFINE_func_801458E0() /* dedup: shared engine-core @0x801458E0 (src/shared) */
DEFINE_func_801458E8() /* dedup: shared engine-core @0x801458E8 (src/shared) */
@@ -326,10 +326,13 @@ DEFINE_func_80146128() /* dedup: shared engine-core @0x80146128 (src/shared) */
// @stuck: none — MATCH (fnptr-table idiom: D_8018C6EC[u8 idx](&arg))
extern void (*D_8018C6EC[])(void *);
extern u8 D_80126BA4;
extern s32 D_80126B58;
void func_80146360(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
D_8018C6EC[D_80126BA4](&D_80126B58);
}
@@ -349,10 +352,13 @@ extern short func_801508F8(s32 a0);
extern void func_8014B5B0(s32 *a0);
extern void func_80161D88(s32 a0);
extern s32 D_80126B58;
void func_801463A0(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
extern s32 *D_80126B78;
extern u16 D_80126B5E;
@@ -422,7 +428,44 @@ DEFINE_func_801466B4() /* dedup: shared engine-core @0x801466B4 (src/shared) */
INCLUDE_ASM("asm/ov_SC02_003/nonmatchings/ov_SC02_003_after", func_801466F0);
INCLUDE_ASM("asm/ov_SC02_003/nonmatchings/ov_SC02_003_after", func_80146750);
u16 *func_80146750(u16 *param_1) {
extern u16 D_8011FD10;
extern int D_8011FA1C;
extern u16 D_8011F9D6;
extern u16 D_8011F9DA;
extern u16 D_8011F9DE;
extern int D_8011FA20;
extern int D_8011FA24;
s32 iVar1;
s32 iVar2;
u16 *psVar3;
register u16 *psVar4 __asm__("$7"); /* $a3: pin so &sym loads here, copy -> psVar3($v1) */
iVar2 = 8;
psVar4 = &D_8011FD10;
psVar3 = psVar4;
iVar1 = 0x340;
for (; iVar2 < 0x14; iVar2++) {
if (*psVar3 == 0) {
*(u32 *)((char *)&(*(u32 *)&D_8011FA1C) + iVar1) = *(u32 *)((char *)param_1 + 8);
*psVar3 = *param_1;
*(u16 *)((char *)&D_8011F9D6 + iVar1) = param_1[1];
*(u16 *)((char *)&D_8011F9DA + iVar1) = param_1[2];
*(u16 *)((char *)&D_8011F9DE + iVar1) = param_1[3];
*(u32 *)((char *)&(*(u32 *)&D_8011FA20) + iVar1) = *(u32 *)((char *)param_1 + 0xC);
*(u32 *)((char *)&(*(u32 *)&D_8011FA24) + iVar1) = *(u32 *)((char *)param_1 + 0x10);
return psVar4;
}
psVar4 = psVar4 + 0x34;
psVar3 = psVar3 + 0x34;
iVar1 = iVar1 + 0x68;
}
return (u16 *)0x0;
}
DEFINE_func_8014680C() /* dedup: shared engine-core @0x8014680C (src/shared) */
+28
View File
@@ -1,2 +1,30 @@
#include "common.h"
#include "../shared/func_80144B9C.h"
/* func_801457A4 @ 0x801457A4 — an -O0 function stranded at the whale's end boundary (it is the
* FIRST fn of the -O2 "after" segment, but its target is -O0: frame-pointer + per-case stack
* reloads). It can only bank in an -O0 object, so it lives here: _o0b is already -O0-compiled and
* its .text ends exactly at 0x801457A4 (right after func_80144B9C), placing this fn at its true
* address with no linker/Makefile change. Its stub was removed from ov_SC01_077_after.c. Def sig
* conformed byte-neutrally to func_80144B9C.h's decl `void *func_801457A4(s32)` (the whale calls it
* that way); byte-proven at -O0 (match_one --o0 79/79) and by the whole-binary gate. Phase-29 bank. */
extern int D_8018ABB0;
void *func_801457A4(s32 param_1) {
switch (param_1) {
case 0x1010:
case 0x1052:
case 0x1077:
case 0x1094:
case 0x2013:
case 0x2015 ... 0x201a:
case 0x2055 ... 0x205b:
case 0x207a ... 0x2080:
case 0x2097 ... 0x209d:
return (void *)(&D_8018ABB0)[param_1 & 0xffff0fff];
default:
return (void *)D_8018ABB0;
break;
}
}
+48 -5
View File
@@ -2,8 +2,8 @@
#include "../shared/engine_core.h"
INCLUDE_ASM("asm/ov_SC02_004/nonmatchings/ov_SC02_004_after", func_801457A4);
/* func_801457A4 (@0x801457A4) is an -O0 function; its definition lives in ov_SC02_004_o0b.c (the -O0
* whale object, whose .text ends exactly at this address). Mirrors ov_SC01_077. §116 */
DEFINE_func_801458E0() /* dedup: shared engine-core @0x801458E0 (src/shared) */
DEFINE_func_801458E8() /* dedup: shared engine-core @0x801458E8 (src/shared) */
@@ -326,10 +326,13 @@ DEFINE_func_80146128() /* dedup: shared engine-core @0x80146128 (src/shared) */
// @stuck: none — MATCH (fnptr-table idiom: D_8017F7CC[u8 idx](&arg))
extern void (*D_8017F7CC[])(void *);
extern u8 D_80126BA4;
extern s32 D_80126B58;
void func_80146360(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
D_8017F7CC[D_80126BA4](&D_80126B58);
}
@@ -349,10 +352,13 @@ extern short func_801508F8(s32 a0);
extern void func_8014B5B0(s32 *a0);
extern void func_80161D88(s32 a0);
extern s32 D_80126B58;
void func_801463A0(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
extern s32 *D_80126B78;
extern u16 D_80126B5E;
@@ -422,7 +428,44 @@ DEFINE_func_801466B4() /* dedup: shared engine-core @0x801466B4 (src/shared) */
INCLUDE_ASM("asm/ov_SC02_004/nonmatchings/ov_SC02_004_after", func_801466F0);
INCLUDE_ASM("asm/ov_SC02_004/nonmatchings/ov_SC02_004_after", func_80146750);
u16 *func_80146750(u16 *param_1) {
extern u16 D_8011FD10;
extern int D_8011FA1C;
extern u16 D_8011F9D6;
extern u16 D_8011F9DA;
extern u16 D_8011F9DE;
extern int D_8011FA20;
extern int D_8011FA24;
s32 iVar1;
s32 iVar2;
u16 *psVar3;
register u16 *psVar4 __asm__("$7"); /* $a3: pin so &sym loads here, copy -> psVar3($v1) */
iVar2 = 8;
psVar4 = &D_8011FD10;
psVar3 = psVar4;
iVar1 = 0x340;
for (; iVar2 < 0x14; iVar2++) {
if (*psVar3 == 0) {
*(u32 *)((char *)&(*(u32 *)&D_8011FA1C) + iVar1) = *(u32 *)((char *)param_1 + 8);
*psVar3 = *param_1;
*(u16 *)((char *)&D_8011F9D6 + iVar1) = param_1[1];
*(u16 *)((char *)&D_8011F9DA + iVar1) = param_1[2];
*(u16 *)((char *)&D_8011F9DE + iVar1) = param_1[3];
*(u32 *)((char *)&(*(u32 *)&D_8011FA20) + iVar1) = *(u32 *)((char *)param_1 + 0xC);
*(u32 *)((char *)&(*(u32 *)&D_8011FA24) + iVar1) = *(u32 *)((char *)param_1 + 0x10);
return psVar4;
}
psVar4 = psVar4 + 0x34;
psVar3 = psVar3 + 0x34;
iVar1 = iVar1 + 0x68;
}
return (u16 *)0x0;
}
DEFINE_func_8014680C() /* dedup: shared engine-core @0x8014680C (src/shared) */
+28
View File
@@ -1,2 +1,30 @@
#include "common.h"
#include "../shared/func_80144B9C.h"
/* func_801457A4 @ 0x801457A4 — an -O0 function stranded at the whale's end boundary (it is the
* FIRST fn of the -O2 "after" segment, but its target is -O0: frame-pointer + per-case stack
* reloads). It can only bank in an -O0 object, so it lives here: _o0b is already -O0-compiled and
* its .text ends exactly at 0x801457A4 (right after func_80144B9C), placing this fn at its true
* address with no linker/Makefile change. Its stub was removed from ov_SC01_077_after.c. Def sig
* conformed byte-neutrally to func_80144B9C.h's decl `void *func_801457A4(s32)` (the whale calls it
* that way); byte-proven at -O0 (match_one --o0 79/79) and by the whole-binary gate. Phase-29 bank. */
extern int D_8017DC90;
void *func_801457A4(s32 param_1) {
switch (param_1) {
case 0x1010:
case 0x1052:
case 0x1077:
case 0x1094:
case 0x2013:
case 0x2015 ... 0x201a:
case 0x2055 ... 0x205b:
case 0x207a ... 0x2080:
case 0x2097 ... 0x209d:
return (void *)(&D_8017DC90)[param_1 & 0xffff0fff];
default:
return (void *)D_8017DC90;
break;
}
}
+48 -5
View File
@@ -2,8 +2,8 @@
#include "../shared/engine_core.h"
INCLUDE_ASM("asm/ov_SC02_005/nonmatchings/ov_SC02_005_after", func_801457A4);
/* func_801457A4 (@0x801457A4) is an -O0 function; its definition lives in ov_SC02_005_o0b.c (the -O0
* whale object, whose .text ends exactly at this address). Mirrors ov_SC01_077. §116 */
DEFINE_func_801458E0() /* dedup: shared engine-core @0x801458E0 (src/shared) */
DEFINE_func_801458E8() /* dedup: shared engine-core @0x801458E8 (src/shared) */
@@ -326,10 +326,13 @@ DEFINE_func_80146128() /* dedup: shared engine-core @0x80146128 (src/shared) */
// @stuck: none — MATCH (fnptr-table idiom: D_801923D0[u8 idx](&arg))
extern void (*D_801923D0[])(void *);
extern u8 D_80126BA4;
extern s32 D_80126B58;
void func_80146360(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
D_801923D0[D_80126BA4](&D_80126B58);
}
@@ -349,10 +352,13 @@ extern short func_801508F8(s32 a0);
extern void func_8014B5B0(s32 *a0);
extern void func_80161D88(s32 a0);
extern s32 D_80126B58;
void func_801463A0(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
extern s32 *D_80126B78;
extern u16 D_80126B5E;
@@ -422,7 +428,44 @@ DEFINE_func_801466B4() /* dedup: shared engine-core @0x801466B4 (src/shared) */
INCLUDE_ASM("asm/ov_SC02_005/nonmatchings/ov_SC02_005_after", func_801466F0);
INCLUDE_ASM("asm/ov_SC02_005/nonmatchings/ov_SC02_005_after", func_80146750);
u16 *func_80146750(u16 *param_1) {
extern u16 D_8011FD10;
extern int D_8011FA1C;
extern u16 D_8011F9D6;
extern u16 D_8011F9DA;
extern u16 D_8011F9DE;
extern int D_8011FA20;
extern int D_8011FA24;
s32 iVar1;
s32 iVar2;
u16 *psVar3;
register u16 *psVar4 __asm__("$7"); /* $a3: pin so &sym loads here, copy -> psVar3($v1) */
iVar2 = 8;
psVar4 = &D_8011FD10;
psVar3 = psVar4;
iVar1 = 0x340;
for (; iVar2 < 0x14; iVar2++) {
if (*psVar3 == 0) {
*(u32 *)((char *)&(*(u32 *)&D_8011FA1C) + iVar1) = *(u32 *)((char *)param_1 + 8);
*psVar3 = *param_1;
*(u16 *)((char *)&D_8011F9D6 + iVar1) = param_1[1];
*(u16 *)((char *)&D_8011F9DA + iVar1) = param_1[2];
*(u16 *)((char *)&D_8011F9DE + iVar1) = param_1[3];
*(u32 *)((char *)&(*(u32 *)&D_8011FA20) + iVar1) = *(u32 *)((char *)param_1 + 0xC);
*(u32 *)((char *)&(*(u32 *)&D_8011FA24) + iVar1) = *(u32 *)((char *)param_1 + 0x10);
return psVar4;
}
psVar4 = psVar4 + 0x34;
psVar3 = psVar3 + 0x34;
iVar1 = iVar1 + 0x68;
}
return (u16 *)0x0;
}
DEFINE_func_8014680C() /* dedup: shared engine-core @0x8014680C (src/shared) */
+28
View File
@@ -1,2 +1,30 @@
#include "common.h"
#include "../shared/func_80144B9C.h"
/* func_801457A4 @ 0x801457A4 — an -O0 function stranded at the whale's end boundary (it is the
* FIRST fn of the -O2 "after" segment, but its target is -O0: frame-pointer + per-case stack
* reloads). It can only bank in an -O0 object, so it lives here: _o0b is already -O0-compiled and
* its .text ends exactly at 0x801457A4 (right after func_80144B9C), placing this fn at its true
* address with no linker/Makefile change. Its stub was removed from ov_SC01_077_after.c. Def sig
* conformed byte-neutrally to func_80144B9C.h's decl `void *func_801457A4(s32)` (the whale calls it
* that way); byte-proven at -O0 (match_one --o0 79/79) and by the whole-binary gate. Phase-29 bank. */
extern int D_80190894;
void *func_801457A4(s32 param_1) {
switch (param_1) {
case 0x1010:
case 0x1052:
case 0x1077:
case 0x1094:
case 0x2013:
case 0x2015 ... 0x201a:
case 0x2055 ... 0x205b:
case 0x207a ... 0x2080:
case 0x2097 ... 0x209d:
return (void *)(&D_80190894)[param_1 & 0xffff0fff];
default:
return (void *)D_80190894;
break;
}
}
+48 -5
View File
@@ -2,8 +2,8 @@
#include "../shared/engine_core.h"
INCLUDE_ASM("asm/ov_SC02_011/nonmatchings/ov_SC02_011_after", func_801457A4);
/* func_801457A4 (@0x801457A4) is an -O0 function; its definition lives in ov_SC02_011_o0b.c (the -O0
* whale object, whose .text ends exactly at this address). Mirrors ov_SC01_077. §116 */
DEFINE_func_801458E0() /* dedup: shared engine-core @0x801458E0 (src/shared) */
DEFINE_func_801458E8() /* dedup: shared engine-core @0x801458E8 (src/shared) */
@@ -326,10 +326,13 @@ DEFINE_func_80146128() /* dedup: shared engine-core @0x80146128 (src/shared) */
// @stuck: none — MATCH (fnptr-table idiom: D_80192820[u8 idx](&arg))
extern void (*D_80192820[])(void *);
extern u8 D_80126BA4;
extern s32 D_80126B58;
void func_80146360(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
D_80192820[D_80126BA4](&D_80126B58);
}
@@ -349,10 +352,13 @@ extern short func_801508F8(s32 a0);
extern void func_8014B5B0(s32 *a0);
extern void func_80161D88(s32 a0);
extern s32 D_80126B58;
void func_801463A0(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
extern s32 *D_80126B78;
extern u16 D_80126B5E;
@@ -422,7 +428,44 @@ DEFINE_func_801466B4() /* dedup: shared engine-core @0x801466B4 (src/shared) */
INCLUDE_ASM("asm/ov_SC02_011/nonmatchings/ov_SC02_011_after", func_801466F0);
INCLUDE_ASM("asm/ov_SC02_011/nonmatchings/ov_SC02_011_after", func_80146750);
u16 *func_80146750(u16 *param_1) {
extern u16 D_8011FD10;
extern int D_8011FA1C;
extern u16 D_8011F9D6;
extern u16 D_8011F9DA;
extern u16 D_8011F9DE;
extern int D_8011FA20;
extern int D_8011FA24;
s32 iVar1;
s32 iVar2;
u16 *psVar3;
register u16 *psVar4 __asm__("$7"); /* $a3: pin so &sym loads here, copy -> psVar3($v1) */
iVar2 = 8;
psVar4 = &D_8011FD10;
psVar3 = psVar4;
iVar1 = 0x340;
for (; iVar2 < 0x14; iVar2++) {
if (*psVar3 == 0) {
*(u32 *)((char *)&(*(u32 *)&D_8011FA1C) + iVar1) = *(u32 *)((char *)param_1 + 8);
*psVar3 = *param_1;
*(u16 *)((char *)&D_8011F9D6 + iVar1) = param_1[1];
*(u16 *)((char *)&D_8011F9DA + iVar1) = param_1[2];
*(u16 *)((char *)&D_8011F9DE + iVar1) = param_1[3];
*(u32 *)((char *)&(*(u32 *)&D_8011FA20) + iVar1) = *(u32 *)((char *)param_1 + 0xC);
*(u32 *)((char *)&(*(u32 *)&D_8011FA24) + iVar1) = *(u32 *)((char *)param_1 + 0x10);
return psVar4;
}
psVar4 = psVar4 + 0x34;
psVar3 = psVar3 + 0x34;
iVar1 = iVar1 + 0x68;
}
return (u16 *)0x0;
}
DEFINE_func_8014680C() /* dedup: shared engine-core @0x8014680C (src/shared) */
+28
View File
@@ -1,2 +1,30 @@
#include "common.h"
#include "../shared/func_80144B9C.h"
/* func_801457A4 @ 0x801457A4 — an -O0 function stranded at the whale's end boundary (it is the
* FIRST fn of the -O2 "after" segment, but its target is -O0: frame-pointer + per-case stack
* reloads). It can only bank in an -O0 object, so it lives here: _o0b is already -O0-compiled and
* its .text ends exactly at 0x801457A4 (right after func_80144B9C), placing this fn at its true
* address with no linker/Makefile change. Its stub was removed from ov_SC01_077_after.c. Def sig
* conformed byte-neutrally to func_80144B9C.h's decl `void *func_801457A4(s32)` (the whale calls it
* that way); byte-proven at -O0 (match_one --o0 79/79) and by the whole-binary gate. Phase-29 bank. */
extern int D_80190CE4;
void *func_801457A4(s32 param_1) {
switch (param_1) {
case 0x1010:
case 0x1052:
case 0x1077:
case 0x1094:
case 0x2013:
case 0x2015 ... 0x201a:
case 0x2055 ... 0x205b:
case 0x207a ... 0x2080:
case 0x2097 ... 0x209d:
return (void *)(&D_80190CE4)[param_1 & 0xffff0fff];
default:
return (void *)D_80190CE4;
break;
}
}
+48 -5
View File
@@ -2,8 +2,8 @@
#include "../shared/engine_core.h"
INCLUDE_ASM("asm/ov_SC02_015/nonmatchings/ov_SC02_015_after", func_801457A4);
/* func_801457A4 (@0x801457A4) is an -O0 function; its definition lives in ov_SC02_015_o0b.c (the -O0
* whale object, whose .text ends exactly at this address). Mirrors ov_SC01_077. §116 */
DEFINE_func_801458E0() /* dedup: shared engine-core @0x801458E0 (src/shared) */
DEFINE_func_801458E8() /* dedup: shared engine-core @0x801458E8 (src/shared) */
@@ -326,10 +326,13 @@ DEFINE_func_80146128() /* dedup: shared engine-core @0x80146128 (src/shared) */
// @stuck: none — MATCH (fnptr-table idiom: D_8017FD34[u8 idx](&arg))
extern void (*D_8017FD34[])(void *);
extern u8 D_80126BA4;
extern s32 D_80126B58;
void func_80146360(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
D_8017FD34[D_80126BA4](&D_80126B58);
}
@@ -349,10 +352,13 @@ extern short func_801508F8(s32 a0);
extern void func_8014B5B0(s32 *a0);
extern void func_80161D88(s32 a0);
extern s32 D_80126B58;
void func_801463A0(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
extern s32 *D_80126B78;
extern u16 D_80126B5E;
@@ -422,7 +428,44 @@ DEFINE_func_801466B4() /* dedup: shared engine-core @0x801466B4 (src/shared) */
INCLUDE_ASM("asm/ov_SC02_015/nonmatchings/ov_SC02_015_after", func_801466F0);
INCLUDE_ASM("asm/ov_SC02_015/nonmatchings/ov_SC02_015_after", func_80146750);
u16 *func_80146750(u16 *param_1) {
extern u16 D_8011FD10;
extern int D_8011FA1C;
extern u16 D_8011F9D6;
extern u16 D_8011F9DA;
extern u16 D_8011F9DE;
extern int D_8011FA20;
extern int D_8011FA24;
s32 iVar1;
s32 iVar2;
u16 *psVar3;
register u16 *psVar4 __asm__("$7"); /* $a3: pin so &sym loads here, copy -> psVar3($v1) */
iVar2 = 8;
psVar4 = &D_8011FD10;
psVar3 = psVar4;
iVar1 = 0x340;
for (; iVar2 < 0x14; iVar2++) {
if (*psVar3 == 0) {
*(u32 *)((char *)&(*(u32 *)&D_8011FA1C) + iVar1) = *(u32 *)((char *)param_1 + 8);
*psVar3 = *param_1;
*(u16 *)((char *)&D_8011F9D6 + iVar1) = param_1[1];
*(u16 *)((char *)&D_8011F9DA + iVar1) = param_1[2];
*(u16 *)((char *)&D_8011F9DE + iVar1) = param_1[3];
*(u32 *)((char *)&(*(u32 *)&D_8011FA20) + iVar1) = *(u32 *)((char *)param_1 + 0xC);
*(u32 *)((char *)&(*(u32 *)&D_8011FA24) + iVar1) = *(u32 *)((char *)param_1 + 0x10);
return psVar4;
}
psVar4 = psVar4 + 0x34;
psVar3 = psVar3 + 0x34;
iVar1 = iVar1 + 0x68;
}
return (u16 *)0x0;
}
DEFINE_func_8014680C() /* dedup: shared engine-core @0x8014680C (src/shared) */
+28
View File
@@ -1,2 +1,30 @@
#include "common.h"
#include "../shared/func_80144B9C.h"
/* func_801457A4 @ 0x801457A4 — an -O0 function stranded at the whale's end boundary (it is the
* FIRST fn of the -O2 "after" segment, but its target is -O0: frame-pointer + per-case stack
* reloads). It can only bank in an -O0 object, so it lives here: _o0b is already -O0-compiled and
* its .text ends exactly at 0x801457A4 (right after func_80144B9C), placing this fn at its true
* address with no linker/Makefile change. Its stub was removed from ov_SC01_077_after.c. Def sig
* conformed byte-neutrally to func_80144B9C.h's decl `void *func_801457A4(s32)` (the whale calls it
* that way); byte-proven at -O0 (match_one --o0 79/79) and by the whole-binary gate. Phase-29 bank. */
extern int D_8017E1F8;
void *func_801457A4(s32 param_1) {
switch (param_1) {
case 0x1010:
case 0x1052:
case 0x1077:
case 0x1094:
case 0x2013:
case 0x2015 ... 0x201a:
case 0x2055 ... 0x205b:
case 0x207a ... 0x2080:
case 0x2097 ... 0x209d:
return (void *)(&D_8017E1F8)[param_1 & 0xffff0fff];
default:
return (void *)D_8017E1F8;
break;
}
}
+48 -5
View File
@@ -2,8 +2,8 @@
#include "../shared/engine_core.h"
INCLUDE_ASM("asm/ov_SC02_016/nonmatchings/ov_SC02_016_after", func_801457A4);
/* func_801457A4 (@0x801457A4) is an -O0 function; its definition lives in ov_SC02_016_o0b.c (the -O0
* whale object, whose .text ends exactly at this address). Mirrors ov_SC01_077. §116 */
DEFINE_func_801458E0() /* dedup: shared engine-core @0x801458E0 (src/shared) */
DEFINE_func_801458E8() /* dedup: shared engine-core @0x801458E8 (src/shared) */
@@ -326,10 +326,13 @@ DEFINE_func_80146128() /* dedup: shared engine-core @0x80146128 (src/shared) */
// @stuck: none — MATCH (fnptr-table idiom: D_80185F6C[u8 idx](&arg))
extern void (*D_80185F6C[])(void *);
extern u8 D_80126BA4;
extern s32 D_80126B58;
void func_80146360(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
D_80185F6C[D_80126BA4](&D_80126B58);
}
@@ -349,10 +352,13 @@ extern short func_801508F8(s32 a0);
extern void func_8014B5B0(s32 *a0);
extern void func_80161D88(s32 a0);
extern s32 D_80126B58;
void func_801463A0(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
extern s32 *D_80126B78;
extern u16 D_80126B5E;
@@ -422,7 +428,44 @@ DEFINE_func_801466B4() /* dedup: shared engine-core @0x801466B4 (src/shared) */
INCLUDE_ASM("asm/ov_SC02_016/nonmatchings/ov_SC02_016_after", func_801466F0);
INCLUDE_ASM("asm/ov_SC02_016/nonmatchings/ov_SC02_016_after", func_80146750);
u16 *func_80146750(u16 *param_1) {
extern u16 D_8011FD10;
extern int D_8011FA1C;
extern u16 D_8011F9D6;
extern u16 D_8011F9DA;
extern u16 D_8011F9DE;
extern int D_8011FA20;
extern int D_8011FA24;
s32 iVar1;
s32 iVar2;
u16 *psVar3;
register u16 *psVar4 __asm__("$7"); /* $a3: pin so &sym loads here, copy -> psVar3($v1) */
iVar2 = 8;
psVar4 = &D_8011FD10;
psVar3 = psVar4;
iVar1 = 0x340;
for (; iVar2 < 0x14; iVar2++) {
if (*psVar3 == 0) {
*(u32 *)((char *)&(*(u32 *)&D_8011FA1C) + iVar1) = *(u32 *)((char *)param_1 + 8);
*psVar3 = *param_1;
*(u16 *)((char *)&D_8011F9D6 + iVar1) = param_1[1];
*(u16 *)((char *)&D_8011F9DA + iVar1) = param_1[2];
*(u16 *)((char *)&D_8011F9DE + iVar1) = param_1[3];
*(u32 *)((char *)&(*(u32 *)&D_8011FA20) + iVar1) = *(u32 *)((char *)param_1 + 0xC);
*(u32 *)((char *)&(*(u32 *)&D_8011FA24) + iVar1) = *(u32 *)((char *)param_1 + 0x10);
return psVar4;
}
psVar4 = psVar4 + 0x34;
psVar3 = psVar3 + 0x34;
iVar1 = iVar1 + 0x68;
}
return (u16 *)0x0;
}
DEFINE_func_8014680C() /* dedup: shared engine-core @0x8014680C (src/shared) */
+28
View File
@@ -1,2 +1,30 @@
#include "common.h"
#include "../shared/func_80144B9C.h"
/* func_801457A4 @ 0x801457A4 — an -O0 function stranded at the whale's end boundary (it is the
* FIRST fn of the -O2 "after" segment, but its target is -O0: frame-pointer + per-case stack
* reloads). It can only bank in an -O0 object, so it lives here: _o0b is already -O0-compiled and
* its .text ends exactly at 0x801457A4 (right after func_80144B9C), placing this fn at its true
* address with no linker/Makefile change. Its stub was removed from ov_SC01_077_after.c. Def sig
* conformed byte-neutrally to func_80144B9C.h's decl `void *func_801457A4(s32)` (the whale calls it
* that way); byte-proven at -O0 (match_one --o0 79/79) and by the whole-binary gate. Phase-29 bank. */
extern int D_80184430;
void *func_801457A4(s32 param_1) {
switch (param_1) {
case 0x1010:
case 0x1052:
case 0x1077:
case 0x1094:
case 0x2013:
case 0x2015 ... 0x201a:
case 0x2055 ... 0x205b:
case 0x207a ... 0x2080:
case 0x2097 ... 0x209d:
return (void *)(&D_80184430)[param_1 & 0xffff0fff];
default:
return (void *)D_80184430;
break;
}
}
+48 -5
View File
@@ -2,8 +2,8 @@
#include "../shared/engine_core.h"
INCLUDE_ASM("asm/ov_SC02_017/nonmatchings/ov_SC02_017_after", func_801457A4);
/* func_801457A4 (@0x801457A4) is an -O0 function; its definition lives in ov_SC02_017_o0b.c (the -O0
* whale object, whose .text ends exactly at this address). Mirrors ov_SC01_077. §116 */
DEFINE_func_801458E0() /* dedup: shared engine-core @0x801458E0 (src/shared) */
DEFINE_func_801458E8() /* dedup: shared engine-core @0x801458E8 (src/shared) */
@@ -326,10 +326,13 @@ DEFINE_func_80146128() /* dedup: shared engine-core @0x80146128 (src/shared) */
// @stuck: none — MATCH (fnptr-table idiom: D_8018BFC4[u8 idx](&arg))
extern void (*D_8018BFC4[])(void *);
extern u8 D_80126BA4;
extern s32 D_80126B58;
void func_80146360(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
D_8018BFC4[D_80126BA4](&D_80126B58);
}
@@ -349,10 +352,13 @@ extern short func_801508F8(s32 a0);
extern void func_8014B5B0(s32 *a0);
extern void func_80161D88(s32 a0);
extern s32 D_80126B58;
void func_801463A0(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
extern s32 *D_80126B78;
extern u16 D_80126B5E;
@@ -422,7 +428,44 @@ DEFINE_func_801466B4() /* dedup: shared engine-core @0x801466B4 (src/shared) */
INCLUDE_ASM("asm/ov_SC02_017/nonmatchings/ov_SC02_017_after", func_801466F0);
INCLUDE_ASM("asm/ov_SC02_017/nonmatchings/ov_SC02_017_after", func_80146750);
u16 *func_80146750(u16 *param_1) {
extern u16 D_8011FD10;
extern int D_8011FA1C;
extern u16 D_8011F9D6;
extern u16 D_8011F9DA;
extern u16 D_8011F9DE;
extern int D_8011FA20;
extern int D_8011FA24;
s32 iVar1;
s32 iVar2;
u16 *psVar3;
register u16 *psVar4 __asm__("$7"); /* $a3: pin so &sym loads here, copy -> psVar3($v1) */
iVar2 = 8;
psVar4 = &D_8011FD10;
psVar3 = psVar4;
iVar1 = 0x340;
for (; iVar2 < 0x14; iVar2++) {
if (*psVar3 == 0) {
*(u32 *)((char *)&(*(u32 *)&D_8011FA1C) + iVar1) = *(u32 *)((char *)param_1 + 8);
*psVar3 = *param_1;
*(u16 *)((char *)&D_8011F9D6 + iVar1) = param_1[1];
*(u16 *)((char *)&D_8011F9DA + iVar1) = param_1[2];
*(u16 *)((char *)&D_8011F9DE + iVar1) = param_1[3];
*(u32 *)((char *)&(*(u32 *)&D_8011FA20) + iVar1) = *(u32 *)((char *)param_1 + 0xC);
*(u32 *)((char *)&(*(u32 *)&D_8011FA24) + iVar1) = *(u32 *)((char *)param_1 + 0x10);
return psVar4;
}
psVar4 = psVar4 + 0x34;
psVar3 = psVar3 + 0x34;
iVar1 = iVar1 + 0x68;
}
return (u16 *)0x0;
}
DEFINE_func_8014680C() /* dedup: shared engine-core @0x8014680C (src/shared) */
+28
View File
@@ -1,2 +1,30 @@
#include "common.h"
#include "../shared/func_80144B9C.h"
/* func_801457A4 @ 0x801457A4 — an -O0 function stranded at the whale's end boundary (it is the
* FIRST fn of the -O2 "after" segment, but its target is -O0: frame-pointer + per-case stack
* reloads). It can only bank in an -O0 object, so it lives here: _o0b is already -O0-compiled and
* its .text ends exactly at 0x801457A4 (right after func_80144B9C), placing this fn at its true
* address with no linker/Makefile change. Its stub was removed from ov_SC01_077_after.c. Def sig
* conformed byte-neutrally to func_80144B9C.h's decl `void *func_801457A4(s32)` (the whale calls it
* that way); byte-proven at -O0 (match_one --o0 79/79) and by the whole-binary gate. Phase-29 bank. */
extern int D_8018A488;
void *func_801457A4(s32 param_1) {
switch (param_1) {
case 0x1010:
case 0x1052:
case 0x1077:
case 0x1094:
case 0x2013:
case 0x2015 ... 0x201a:
case 0x2055 ... 0x205b:
case 0x207a ... 0x2080:
case 0x2097 ... 0x209d:
return (void *)(&D_8018A488)[param_1 & 0xffff0fff];
default:
return (void *)D_8018A488;
break;
}
}
+48 -5
View File
@@ -2,8 +2,8 @@
#include "../shared/engine_core.h"
INCLUDE_ASM("asm/ov_SC02_021/nonmatchings/ov_SC02_021_after", func_801457A4);
/* func_801457A4 (@0x801457A4) is an -O0 function; its definition lives in ov_SC02_021_o0b.c (the -O0
* whale object, whose .text ends exactly at this address). Mirrors ov_SC01_077. §116 */
DEFINE_func_801458E0() /* dedup: shared engine-core @0x801458E0 (src/shared) */
DEFINE_func_801458E8() /* dedup: shared engine-core @0x801458E8 (src/shared) */
@@ -326,10 +326,13 @@ DEFINE_func_80146128() /* dedup: shared engine-core @0x80146128 (src/shared) */
// @stuck: none — MATCH (fnptr-table idiom: D_801815B8[u8 idx](&arg))
extern void (*D_801815B8[])(void *);
extern u8 D_80126BA4;
extern s32 D_80126B58;
void func_80146360(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
D_801815B8[D_80126BA4](&D_80126B58);
}
@@ -349,10 +352,13 @@ extern short func_801508F8(s32 a0);
extern void func_8014B5B0(s32 *a0);
extern void func_80161D88(s32 a0);
extern s32 D_80126B58;
void func_801463A0(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
extern s32 *D_80126B78;
extern u16 D_80126B5E;
@@ -422,7 +428,44 @@ DEFINE_func_801466B4() /* dedup: shared engine-core @0x801466B4 (src/shared) */
INCLUDE_ASM("asm/ov_SC02_021/nonmatchings/ov_SC02_021_after", func_801466F0);
INCLUDE_ASM("asm/ov_SC02_021/nonmatchings/ov_SC02_021_after", func_80146750);
u16 *func_80146750(u16 *param_1) {
extern u16 D_8011FD10;
extern int D_8011FA1C;
extern u16 D_8011F9D6;
extern u16 D_8011F9DA;
extern u16 D_8011F9DE;
extern int D_8011FA20;
extern int D_8011FA24;
s32 iVar1;
s32 iVar2;
u16 *psVar3;
register u16 *psVar4 __asm__("$7"); /* $a3: pin so &sym loads here, copy -> psVar3($v1) */
iVar2 = 8;
psVar4 = &D_8011FD10;
psVar3 = psVar4;
iVar1 = 0x340;
for (; iVar2 < 0x14; iVar2++) {
if (*psVar3 == 0) {
*(u32 *)((char *)&(*(u32 *)&D_8011FA1C) + iVar1) = *(u32 *)((char *)param_1 + 8);
*psVar3 = *param_1;
*(u16 *)((char *)&D_8011F9D6 + iVar1) = param_1[1];
*(u16 *)((char *)&D_8011F9DA + iVar1) = param_1[2];
*(u16 *)((char *)&D_8011F9DE + iVar1) = param_1[3];
*(u32 *)((char *)&(*(u32 *)&D_8011FA20) + iVar1) = *(u32 *)((char *)param_1 + 0xC);
*(u32 *)((char *)&(*(u32 *)&D_8011FA24) + iVar1) = *(u32 *)((char *)param_1 + 0x10);
return psVar4;
}
psVar4 = psVar4 + 0x34;
psVar3 = psVar3 + 0x34;
iVar1 = iVar1 + 0x68;
}
return (u16 *)0x0;
}
DEFINE_func_8014680C() /* dedup: shared engine-core @0x8014680C (src/shared) */
+28
View File
@@ -1,2 +1,30 @@
#include "common.h"
#include "../shared/func_80144B9C.h"
/* func_801457A4 @ 0x801457A4 — an -O0 function stranded at the whale's end boundary (it is the
* FIRST fn of the -O2 "after" segment, but its target is -O0: frame-pointer + per-case stack
* reloads). It can only bank in an -O0 object, so it lives here: _o0b is already -O0-compiled and
* its .text ends exactly at 0x801457A4 (right after func_80144B9C), placing this fn at its true
* address with no linker/Makefile change. Its stub was removed from ov_SC01_077_after.c. Def sig
* conformed byte-neutrally to func_80144B9C.h's decl `void *func_801457A4(s32)` (the whale calls it
* that way); byte-proven at -O0 (match_one --o0 79/79) and by the whole-binary gate. Phase-29 bank. */
extern int D_8017FA7C;
void *func_801457A4(s32 param_1) {
switch (param_1) {
case 0x1010:
case 0x1052:
case 0x1077:
case 0x1094:
case 0x2013:
case 0x2015 ... 0x201a:
case 0x2055 ... 0x205b:
case 0x207a ... 0x2080:
case 0x2097 ... 0x209d:
return (void *)(&D_8017FA7C)[param_1 & 0xffff0fff];
default:
return (void *)D_8017FA7C;
break;
}
}
+48 -5
View File
@@ -2,8 +2,8 @@
#include "../shared/engine_core.h"
INCLUDE_ASM("asm/ov_SC02_026/nonmatchings/ov_SC02_026_after", func_801457A4);
/* func_801457A4 (@0x801457A4) is an -O0 function; its definition lives in ov_SC02_026_o0b.c (the -O0
* whale object, whose .text ends exactly at this address). Mirrors ov_SC01_077. §116 */
DEFINE_func_801458E0() /* dedup: shared engine-core @0x801458E0 (src/shared) */
DEFINE_func_801458E8() /* dedup: shared engine-core @0x801458E8 (src/shared) */
@@ -326,10 +326,13 @@ DEFINE_func_80146128() /* dedup: shared engine-core @0x80146128 (src/shared) */
// @stuck: none — MATCH (fnptr-table idiom: D_80187C0C[u8 idx](&arg))
extern void (*D_80187C0C[])(void *);
extern u8 D_80126BA4;
extern s32 D_80126B58;
void func_80146360(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
D_80187C0C[D_80126BA4](&D_80126B58);
}
@@ -349,10 +352,13 @@ extern short func_801508F8(s32 a0);
extern void func_8014B5B0(s32 *a0);
extern void func_80161D88(s32 a0);
extern s32 D_80126B58;
void func_801463A0(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
extern s32 *D_80126B78;
extern u16 D_80126B5E;
@@ -422,7 +428,44 @@ DEFINE_func_801466B4() /* dedup: shared engine-core @0x801466B4 (src/shared) */
INCLUDE_ASM("asm/ov_SC02_026/nonmatchings/ov_SC02_026_after", func_801466F0);
INCLUDE_ASM("asm/ov_SC02_026/nonmatchings/ov_SC02_026_after", func_80146750);
u16 *func_80146750(u16 *param_1) {
extern u16 D_8011FD10;
extern int D_8011FA1C;
extern u16 D_8011F9D6;
extern u16 D_8011F9DA;
extern u16 D_8011F9DE;
extern int D_8011FA20;
extern int D_8011FA24;
s32 iVar1;
s32 iVar2;
u16 *psVar3;
register u16 *psVar4 __asm__("$7"); /* $a3: pin so &sym loads here, copy -> psVar3($v1) */
iVar2 = 8;
psVar4 = &D_8011FD10;
psVar3 = psVar4;
iVar1 = 0x340;
for (; iVar2 < 0x14; iVar2++) {
if (*psVar3 == 0) {
*(u32 *)((char *)&(*(u32 *)&D_8011FA1C) + iVar1) = *(u32 *)((char *)param_1 + 8);
*psVar3 = *param_1;
*(u16 *)((char *)&D_8011F9D6 + iVar1) = param_1[1];
*(u16 *)((char *)&D_8011F9DA + iVar1) = param_1[2];
*(u16 *)((char *)&D_8011F9DE + iVar1) = param_1[3];
*(u32 *)((char *)&(*(u32 *)&D_8011FA20) + iVar1) = *(u32 *)((char *)param_1 + 0xC);
*(u32 *)((char *)&(*(u32 *)&D_8011FA24) + iVar1) = *(u32 *)((char *)param_1 + 0x10);
return psVar4;
}
psVar4 = psVar4 + 0x34;
psVar3 = psVar3 + 0x34;
iVar1 = iVar1 + 0x68;
}
return (u16 *)0x0;
}
DEFINE_func_8014680C() /* dedup: shared engine-core @0x8014680C (src/shared) */
+28
View File
@@ -1,2 +1,30 @@
#include "common.h"
#include "../shared/func_80144B9C.h"
/* func_801457A4 @ 0x801457A4 — an -O0 function stranded at the whale's end boundary (it is the
* FIRST fn of the -O2 "after" segment, but its target is -O0: frame-pointer + per-case stack
* reloads). It can only bank in an -O0 object, so it lives here: _o0b is already -O0-compiled and
* its .text ends exactly at 0x801457A4 (right after func_80144B9C), placing this fn at its true
* address with no linker/Makefile change. Its stub was removed from ov_SC01_077_after.c. Def sig
* conformed byte-neutrally to func_80144B9C.h's decl `void *func_801457A4(s32)` (the whale calls it
* that way); byte-proven at -O0 (match_one --o0 79/79) and by the whole-binary gate. Phase-29 bank. */
extern int D_801860D0;
void *func_801457A4(s32 param_1) {
switch (param_1) {
case 0x1010:
case 0x1052:
case 0x1077:
case 0x1094:
case 0x2013:
case 0x2015 ... 0x201a:
case 0x2055 ... 0x205b:
case 0x207a ... 0x2080:
case 0x2097 ... 0x209d:
return (void *)(&D_801860D0)[param_1 & 0xffff0fff];
default:
return (void *)D_801860D0;
break;
}
}
+48 -5
View File
@@ -2,8 +2,8 @@
#include "../shared/engine_core.h"
INCLUDE_ASM("asm/ov_SC02_027/nonmatchings/ov_SC02_027_after", func_801457A4);
/* func_801457A4 (@0x801457A4) is an -O0 function; its definition lives in ov_SC02_027_o0b.c (the -O0
* whale object, whose .text ends exactly at this address). Mirrors ov_SC01_077. §116 */
DEFINE_func_801458E0() /* dedup: shared engine-core @0x801458E0 (src/shared) */
DEFINE_func_801458E8() /* dedup: shared engine-core @0x801458E8 (src/shared) */
@@ -326,10 +326,13 @@ DEFINE_func_80146128() /* dedup: shared engine-core @0x80146128 (src/shared) */
// @stuck: none — MATCH (fnptr-table idiom: D_8018CD30[u8 idx](&arg))
extern void (*D_8018CD30[])(void *);
extern u8 D_80126BA4;
extern s32 D_80126B58;
void func_80146360(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
D_8018CD30[D_80126BA4](&D_80126B58);
}
@@ -349,10 +352,13 @@ extern short func_801508F8(s32 a0);
extern void func_8014B5B0(s32 *a0);
extern void func_80161D88(s32 a0);
extern s32 D_80126B58;
void func_801463A0(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
extern s32 *D_80126B78;
extern u16 D_80126B5E;
@@ -422,7 +428,44 @@ DEFINE_func_801466B4() /* dedup: shared engine-core @0x801466B4 (src/shared) */
INCLUDE_ASM("asm/ov_SC02_027/nonmatchings/ov_SC02_027_after", func_801466F0);
INCLUDE_ASM("asm/ov_SC02_027/nonmatchings/ov_SC02_027_after", func_80146750);
u16 *func_80146750(u16 *param_1) {
extern u16 D_8011FD10;
extern int D_8011FA1C;
extern u16 D_8011F9D6;
extern u16 D_8011F9DA;
extern u16 D_8011F9DE;
extern int D_8011FA20;
extern int D_8011FA24;
s32 iVar1;
s32 iVar2;
u16 *psVar3;
register u16 *psVar4 __asm__("$7"); /* $a3: pin so &sym loads here, copy -> psVar3($v1) */
iVar2 = 8;
psVar4 = &D_8011FD10;
psVar3 = psVar4;
iVar1 = 0x340;
for (; iVar2 < 0x14; iVar2++) {
if (*psVar3 == 0) {
*(u32 *)((char *)&(*(u32 *)&D_8011FA1C) + iVar1) = *(u32 *)((char *)param_1 + 8);
*psVar3 = *param_1;
*(u16 *)((char *)&D_8011F9D6 + iVar1) = param_1[1];
*(u16 *)((char *)&D_8011F9DA + iVar1) = param_1[2];
*(u16 *)((char *)&D_8011F9DE + iVar1) = param_1[3];
*(u32 *)((char *)&(*(u32 *)&D_8011FA20) + iVar1) = *(u32 *)((char *)param_1 + 0xC);
*(u32 *)((char *)&(*(u32 *)&D_8011FA24) + iVar1) = *(u32 *)((char *)param_1 + 0x10);
return psVar4;
}
psVar4 = psVar4 + 0x34;
psVar3 = psVar3 + 0x34;
iVar1 = iVar1 + 0x68;
}
return (u16 *)0x0;
}
DEFINE_func_8014680C() /* dedup: shared engine-core @0x8014680C (src/shared) */
+28
View File
@@ -1,2 +1,30 @@
#include "common.h"
#include "../shared/func_80144B9C.h"
/* func_801457A4 @ 0x801457A4 — an -O0 function stranded at the whale's end boundary (it is the
* FIRST fn of the -O2 "after" segment, but its target is -O0: frame-pointer + per-case stack
* reloads). It can only bank in an -O0 object, so it lives here: _o0b is already -O0-compiled and
* its .text ends exactly at 0x801457A4 (right after func_80144B9C), placing this fn at its true
* address with no linker/Makefile change. Its stub was removed from ov_SC01_077_after.c. Def sig
* conformed byte-neutrally to func_80144B9C.h's decl `void *func_801457A4(s32)` (the whale calls it
* that way); byte-proven at -O0 (match_one --o0 79/79) and by the whole-binary gate. Phase-29 bank. */
extern int D_8018B1F4;
void *func_801457A4(s32 param_1) {
switch (param_1) {
case 0x1010:
case 0x1052:
case 0x1077:
case 0x1094:
case 0x2013:
case 0x2015 ... 0x201a:
case 0x2055 ... 0x205b:
case 0x207a ... 0x2080:
case 0x2097 ... 0x209d:
return (void *)(&D_8018B1F4)[param_1 & 0xffff0fff];
default:
return (void *)D_8018B1F4;
break;
}
}
+48 -5
View File
@@ -2,8 +2,8 @@
#include "../shared/engine_core.h"
INCLUDE_ASM("asm/ov_SC02_028/nonmatchings/ov_SC02_028_after", func_801457A4);
/* func_801457A4 (@0x801457A4) is an -O0 function; its definition lives in ov_SC02_028_o0b.c (the -O0
* whale object, whose .text ends exactly at this address). Mirrors ov_SC01_077. §116 */
DEFINE_func_801458E0() /* dedup: shared engine-core @0x801458E0 (src/shared) */
DEFINE_func_801458E8() /* dedup: shared engine-core @0x801458E8 (src/shared) */
@@ -326,10 +326,13 @@ DEFINE_func_80146128() /* dedup: shared engine-core @0x80146128 (src/shared) */
// @stuck: none — MATCH (fnptr-table idiom: D_8018CF34[u8 idx](&arg))
extern void (*D_8018CF34[])(void *);
extern u8 D_80126BA4;
extern s32 D_80126B58;
void func_80146360(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
D_8018CF34[D_80126BA4](&D_80126B58);
}
@@ -349,10 +352,13 @@ extern short func_801508F8(s32 a0);
extern void func_8014B5B0(s32 *a0);
extern void func_80161D88(s32 a0);
extern s32 D_80126B58;
void func_801463A0(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
extern s32 *D_80126B78;
extern u16 D_80126B5E;
@@ -422,7 +428,44 @@ DEFINE_func_801466B4() /* dedup: shared engine-core @0x801466B4 (src/shared) */
INCLUDE_ASM("asm/ov_SC02_028/nonmatchings/ov_SC02_028_after", func_801466F0);
INCLUDE_ASM("asm/ov_SC02_028/nonmatchings/ov_SC02_028_after", func_80146750);
u16 *func_80146750(u16 *param_1) {
extern u16 D_8011FD10;
extern int D_8011FA1C;
extern u16 D_8011F9D6;
extern u16 D_8011F9DA;
extern u16 D_8011F9DE;
extern int D_8011FA20;
extern int D_8011FA24;
s32 iVar1;
s32 iVar2;
u16 *psVar3;
register u16 *psVar4 __asm__("$7"); /* $a3: pin so &sym loads here, copy -> psVar3($v1) */
iVar2 = 8;
psVar4 = &D_8011FD10;
psVar3 = psVar4;
iVar1 = 0x340;
for (; iVar2 < 0x14; iVar2++) {
if (*psVar3 == 0) {
*(u32 *)((char *)&(*(u32 *)&D_8011FA1C) + iVar1) = *(u32 *)((char *)param_1 + 8);
*psVar3 = *param_1;
*(u16 *)((char *)&D_8011F9D6 + iVar1) = param_1[1];
*(u16 *)((char *)&D_8011F9DA + iVar1) = param_1[2];
*(u16 *)((char *)&D_8011F9DE + iVar1) = param_1[3];
*(u32 *)((char *)&(*(u32 *)&D_8011FA20) + iVar1) = *(u32 *)((char *)param_1 + 0xC);
*(u32 *)((char *)&(*(u32 *)&D_8011FA24) + iVar1) = *(u32 *)((char *)param_1 + 0x10);
return psVar4;
}
psVar4 = psVar4 + 0x34;
psVar3 = psVar3 + 0x34;
iVar1 = iVar1 + 0x68;
}
return (u16 *)0x0;
}
DEFINE_func_8014680C() /* dedup: shared engine-core @0x8014680C (src/shared) */
+28
View File
@@ -1,2 +1,30 @@
#include "common.h"
#include "../shared/func_80144B9C.h"
/* func_801457A4 @ 0x801457A4 — an -O0 function stranded at the whale's end boundary (it is the
* FIRST fn of the -O2 "after" segment, but its target is -O0: frame-pointer + per-case stack
* reloads). It can only bank in an -O0 object, so it lives here: _o0b is already -O0-compiled and
* its .text ends exactly at 0x801457A4 (right after func_80144B9C), placing this fn at its true
* address with no linker/Makefile change. Its stub was removed from ov_SC01_077_after.c. Def sig
* conformed byte-neutrally to func_80144B9C.h's decl `void *func_801457A4(s32)` (the whale calls it
* that way); byte-proven at -O0 (match_one --o0 79/79) and by the whole-binary gate. Phase-29 bank. */
extern int D_8018B3F8;
void *func_801457A4(s32 param_1) {
switch (param_1) {
case 0x1010:
case 0x1052:
case 0x1077:
case 0x1094:
case 0x2013:
case 0x2015 ... 0x201a:
case 0x2055 ... 0x205b:
case 0x207a ... 0x2080:
case 0x2097 ... 0x209d:
return (void *)(&D_8018B3F8)[param_1 & 0xffff0fff];
default:
return (void *)D_8018B3F8;
break;
}
}
+48 -5
View File
@@ -2,8 +2,8 @@
#include "../shared/engine_core.h"
INCLUDE_ASM("asm/ov_SC02_031/nonmatchings/ov_SC02_031_after", func_801457A4);
/* func_801457A4 (@0x801457A4) is an -O0 function; its definition lives in ov_SC02_031_o0b.c (the -O0
* whale object, whose .text ends exactly at this address). Mirrors ov_SC01_077. §116 */
DEFINE_func_801458E0() /* dedup: shared engine-core @0x801458E0 (src/shared) */
DEFINE_func_801458E8() /* dedup: shared engine-core @0x801458E8 (src/shared) */
@@ -326,10 +326,13 @@ DEFINE_func_80146128() /* dedup: shared engine-core @0x80146128 (src/shared) */
// @stuck: none — MATCH (fnptr-table idiom: D_80186760[u8 idx](&arg))
extern void (*D_80186760[])(void *);
extern u8 D_80126BA4;
extern s32 D_80126B58;
void func_80146360(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
D_80186760[D_80126BA4](&D_80126B58);
}
@@ -349,10 +352,13 @@ extern short func_801508F8(s32 a0);
extern void func_8014B5B0(s32 *a0);
extern void func_80161D88(s32 a0);
extern s32 D_80126B58;
void func_801463A0(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
extern s32 *D_80126B78;
extern u16 D_80126B5E;
@@ -422,7 +428,44 @@ DEFINE_func_801466B4() /* dedup: shared engine-core @0x801466B4 (src/shared) */
INCLUDE_ASM("asm/ov_SC02_031/nonmatchings/ov_SC02_031_after", func_801466F0);
INCLUDE_ASM("asm/ov_SC02_031/nonmatchings/ov_SC02_031_after", func_80146750);
u16 *func_80146750(u16 *param_1) {
extern u16 D_8011FD10;
extern int D_8011FA1C;
extern u16 D_8011F9D6;
extern u16 D_8011F9DA;
extern u16 D_8011F9DE;
extern int D_8011FA20;
extern int D_8011FA24;
s32 iVar1;
s32 iVar2;
u16 *psVar3;
register u16 *psVar4 __asm__("$7"); /* $a3: pin so &sym loads here, copy -> psVar3($v1) */
iVar2 = 8;
psVar4 = &D_8011FD10;
psVar3 = psVar4;
iVar1 = 0x340;
for (; iVar2 < 0x14; iVar2++) {
if (*psVar3 == 0) {
*(u32 *)((char *)&(*(u32 *)&D_8011FA1C) + iVar1) = *(u32 *)((char *)param_1 + 8);
*psVar3 = *param_1;
*(u16 *)((char *)&D_8011F9D6 + iVar1) = param_1[1];
*(u16 *)((char *)&D_8011F9DA + iVar1) = param_1[2];
*(u16 *)((char *)&D_8011F9DE + iVar1) = param_1[3];
*(u32 *)((char *)&(*(u32 *)&D_8011FA20) + iVar1) = *(u32 *)((char *)param_1 + 0xC);
*(u32 *)((char *)&(*(u32 *)&D_8011FA24) + iVar1) = *(u32 *)((char *)param_1 + 0x10);
return psVar4;
}
psVar4 = psVar4 + 0x34;
psVar3 = psVar3 + 0x34;
iVar1 = iVar1 + 0x68;
}
return (u16 *)0x0;
}
DEFINE_func_8014680C() /* dedup: shared engine-core @0x8014680C (src/shared) */
+28
View File
@@ -1,2 +1,30 @@
#include "common.h"
#include "../shared/func_80144B9C.h"
/* func_801457A4 @ 0x801457A4 — an -O0 function stranded at the whale's end boundary (it is the
* FIRST fn of the -O2 "after" segment, but its target is -O0: frame-pointer + per-case stack
* reloads). It can only bank in an -O0 object, so it lives here: _o0b is already -O0-compiled and
* its .text ends exactly at 0x801457A4 (right after func_80144B9C), placing this fn at its true
* address with no linker/Makefile change. Its stub was removed from ov_SC01_077_after.c. Def sig
* conformed byte-neutrally to func_80144B9C.h's decl `void *func_801457A4(s32)` (the whale calls it
* that way); byte-proven at -O0 (match_one --o0 79/79) and by the whole-binary gate. Phase-29 bank. */
extern int D_80184C24;
void *func_801457A4(s32 param_1) {
switch (param_1) {
case 0x1010:
case 0x1052:
case 0x1077:
case 0x1094:
case 0x2013:
case 0x2015 ... 0x201a:
case 0x2055 ... 0x205b:
case 0x207a ... 0x2080:
case 0x2097 ... 0x209d:
return (void *)(&D_80184C24)[param_1 & 0xffff0fff];
default:
return (void *)D_80184C24;
break;
}
}
+48 -5
View File
@@ -2,8 +2,8 @@
#include "../shared/engine_core.h"
INCLUDE_ASM("asm/ov_SC02_035/nonmatchings/ov_SC02_035_after", func_801457A4);
/* func_801457A4 (@0x801457A4) is an -O0 function; its definition lives in ov_SC02_035_o0b.c (the -O0
* whale object, whose .text ends exactly at this address). Mirrors ov_SC01_077. §116 */
DEFINE_func_801458E0() /* dedup: shared engine-core @0x801458E0 (src/shared) */
DEFINE_func_801458E8() /* dedup: shared engine-core @0x801458E8 (src/shared) */
@@ -326,10 +326,13 @@ DEFINE_func_80146128() /* dedup: shared engine-core @0x80146128 (src/shared) */
// @stuck: none — MATCH (fnptr-table idiom: D_80185FC0[u8 idx](&arg))
extern void (*D_80185FC0[])(void *);
extern u8 D_80126BA4;
extern s32 D_80126B58;
void func_80146360(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
D_80185FC0[D_80126BA4](&D_80126B58);
}
@@ -349,10 +352,13 @@ extern short func_801508F8(s32 a0);
extern void func_8014B5B0(s32 *a0);
extern void func_80161D88(s32 a0);
extern s32 D_80126B58;
void func_801463A0(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
extern s32 *D_80126B78;
extern u16 D_80126B5E;
@@ -422,7 +428,44 @@ DEFINE_func_801466B4() /* dedup: shared engine-core @0x801466B4 (src/shared) */
INCLUDE_ASM("asm/ov_SC02_035/nonmatchings/ov_SC02_035_after", func_801466F0);
INCLUDE_ASM("asm/ov_SC02_035/nonmatchings/ov_SC02_035_after", func_80146750);
u16 *func_80146750(u16 *param_1) {
extern u16 D_8011FD10;
extern int D_8011FA1C;
extern u16 D_8011F9D6;
extern u16 D_8011F9DA;
extern u16 D_8011F9DE;
extern int D_8011FA20;
extern int D_8011FA24;
s32 iVar1;
s32 iVar2;
u16 *psVar3;
register u16 *psVar4 __asm__("$7"); /* $a3: pin so &sym loads here, copy -> psVar3($v1) */
iVar2 = 8;
psVar4 = &D_8011FD10;
psVar3 = psVar4;
iVar1 = 0x340;
for (; iVar2 < 0x14; iVar2++) {
if (*psVar3 == 0) {
*(u32 *)((char *)&(*(u32 *)&D_8011FA1C) + iVar1) = *(u32 *)((char *)param_1 + 8);
*psVar3 = *param_1;
*(u16 *)((char *)&D_8011F9D6 + iVar1) = param_1[1];
*(u16 *)((char *)&D_8011F9DA + iVar1) = param_1[2];
*(u16 *)((char *)&D_8011F9DE + iVar1) = param_1[3];
*(u32 *)((char *)&(*(u32 *)&D_8011FA20) + iVar1) = *(u32 *)((char *)param_1 + 0xC);
*(u32 *)((char *)&(*(u32 *)&D_8011FA24) + iVar1) = *(u32 *)((char *)param_1 + 0x10);
return psVar4;
}
psVar4 = psVar4 + 0x34;
psVar3 = psVar3 + 0x34;
iVar1 = iVar1 + 0x68;
}
return (u16 *)0x0;
}
DEFINE_func_8014680C() /* dedup: shared engine-core @0x8014680C (src/shared) */
+28
View File
@@ -1,2 +1,30 @@
#include "common.h"
#include "../shared/func_80144B9C.h"
/* func_801457A4 @ 0x801457A4 — an -O0 function stranded at the whale's end boundary (it is the
* FIRST fn of the -O2 "after" segment, but its target is -O0: frame-pointer + per-case stack
* reloads). It can only bank in an -O0 object, so it lives here: _o0b is already -O0-compiled and
* its .text ends exactly at 0x801457A4 (right after func_80144B9C), placing this fn at its true
* address with no linker/Makefile change. Its stub was removed from ov_SC01_077_after.c. Def sig
* conformed byte-neutrally to func_80144B9C.h's decl `void *func_801457A4(s32)` (the whale calls it
* that way); byte-proven at -O0 (match_one --o0 79/79) and by the whole-binary gate. Phase-29 bank. */
extern int D_80184484;
void *func_801457A4(s32 param_1) {
switch (param_1) {
case 0x1010:
case 0x1052:
case 0x1077:
case 0x1094:
case 0x2013:
case 0x2015 ... 0x201a:
case 0x2055 ... 0x205b:
case 0x207a ... 0x2080:
case 0x2097 ... 0x209d:
return (void *)(&D_80184484)[param_1 & 0xffff0fff];
default:
return (void *)D_80184484;
break;
}
}
+48 -5
View File
@@ -2,8 +2,8 @@
#include "../shared/engine_core.h"
INCLUDE_ASM("asm/ov_SC02_039/nonmatchings/ov_SC02_039_after", func_801457A4);
/* func_801457A4 (@0x801457A4) is an -O0 function; its definition lives in ov_SC02_039_o0b.c (the -O0
* whale object, whose .text ends exactly at this address). Mirrors ov_SC01_077. §116 */
DEFINE_func_801458E0() /* dedup: shared engine-core @0x801458E0 (src/shared) */
DEFINE_func_801458E8() /* dedup: shared engine-core @0x801458E8 (src/shared) */
@@ -326,10 +326,13 @@ DEFINE_func_80146128() /* dedup: shared engine-core @0x80146128 (src/shared) */
// @stuck: none — MATCH (fnptr-table idiom: D_80180BEC[u8 idx](&arg))
extern void (*D_80180BEC[])(void *);
extern u8 D_80126BA4;
extern s32 D_80126B58;
void func_80146360(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
D_80180BEC[D_80126BA4](&D_80126B58);
}
@@ -349,10 +352,13 @@ extern short func_801508F8(s32 a0);
extern void func_8014B5B0(s32 *a0);
extern void func_80161D88(s32 a0);
extern s32 D_80126B58;
void func_801463A0(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
extern s32 *D_80126B78;
extern u16 D_80126B5E;
@@ -422,7 +428,44 @@ DEFINE_func_801466B4() /* dedup: shared engine-core @0x801466B4 (src/shared) */
INCLUDE_ASM("asm/ov_SC02_039/nonmatchings/ov_SC02_039_after", func_801466F0);
INCLUDE_ASM("asm/ov_SC02_039/nonmatchings/ov_SC02_039_after", func_80146750);
u16 *func_80146750(u16 *param_1) {
extern u16 D_8011FD10;
extern int D_8011FA1C;
extern u16 D_8011F9D6;
extern u16 D_8011F9DA;
extern u16 D_8011F9DE;
extern int D_8011FA20;
extern int D_8011FA24;
s32 iVar1;
s32 iVar2;
u16 *psVar3;
register u16 *psVar4 __asm__("$7"); /* $a3: pin so &sym loads here, copy -> psVar3($v1) */
iVar2 = 8;
psVar4 = &D_8011FD10;
psVar3 = psVar4;
iVar1 = 0x340;
for (; iVar2 < 0x14; iVar2++) {
if (*psVar3 == 0) {
*(u32 *)((char *)&(*(u32 *)&D_8011FA1C) + iVar1) = *(u32 *)((char *)param_1 + 8);
*psVar3 = *param_1;
*(u16 *)((char *)&D_8011F9D6 + iVar1) = param_1[1];
*(u16 *)((char *)&D_8011F9DA + iVar1) = param_1[2];
*(u16 *)((char *)&D_8011F9DE + iVar1) = param_1[3];
*(u32 *)((char *)&(*(u32 *)&D_8011FA20) + iVar1) = *(u32 *)((char *)param_1 + 0xC);
*(u32 *)((char *)&(*(u32 *)&D_8011FA24) + iVar1) = *(u32 *)((char *)param_1 + 0x10);
return psVar4;
}
psVar4 = psVar4 + 0x34;
psVar3 = psVar3 + 0x34;
iVar1 = iVar1 + 0x68;
}
return (u16 *)0x0;
}
DEFINE_func_8014680C() /* dedup: shared engine-core @0x8014680C (src/shared) */
+28
View File
@@ -1,2 +1,30 @@
#include "common.h"
#include "../shared/func_80144B9C.h"
/* func_801457A4 @ 0x801457A4 — an -O0 function stranded at the whale's end boundary (it is the
* FIRST fn of the -O2 "after" segment, but its target is -O0: frame-pointer + per-case stack
* reloads). It can only bank in an -O0 object, so it lives here: _o0b is already -O0-compiled and
* its .text ends exactly at 0x801457A4 (right after func_80144B9C), placing this fn at its true
* address with no linker/Makefile change. Its stub was removed from ov_SC01_077_after.c. Def sig
* conformed byte-neutrally to func_80144B9C.h's decl `void *func_801457A4(s32)` (the whale calls it
* that way); byte-proven at -O0 (match_one --o0 79/79) and by the whole-binary gate. Phase-29 bank. */
extern int D_8017F0B0;
void *func_801457A4(s32 param_1) {
switch (param_1) {
case 0x1010:
case 0x1052:
case 0x1077:
case 0x1094:
case 0x2013:
case 0x2015 ... 0x201a:
case 0x2055 ... 0x205b:
case 0x207a ... 0x2080:
case 0x2097 ... 0x209d:
return (void *)(&D_8017F0B0)[param_1 & 0xffff0fff];
default:
return (void *)D_8017F0B0;
break;
}
}
+48 -5
View File
@@ -2,8 +2,8 @@
#include "../shared/engine_core.h"
INCLUDE_ASM("asm/ov_SC02_041/nonmatchings/ov_SC02_041_after", func_801457A4);
/* func_801457A4 (@0x801457A4) is an -O0 function; its definition lives in ov_SC02_041_o0b.c (the -O0
* whale object, whose .text ends exactly at this address). Mirrors ov_SC01_077. §116 */
DEFINE_func_801458E0() /* dedup: shared engine-core @0x801458E0 (src/shared) */
DEFINE_func_801458E8() /* dedup: shared engine-core @0x801458E8 (src/shared) */
@@ -326,10 +326,13 @@ DEFINE_func_80146128() /* dedup: shared engine-core @0x80146128 (src/shared) */
// @stuck: none — MATCH (fnptr-table idiom: D_801868BC[u8 idx](&arg))
extern void (*D_801868BC[])(void *);
extern u8 D_80126BA4;
extern s32 D_80126B58;
void func_80146360(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
D_801868BC[D_80126BA4](&D_80126B58);
}
@@ -349,10 +352,13 @@ extern short func_801508F8(s32 a0);
extern void func_8014B5B0(s32 *a0);
extern void func_80161D88(s32 a0);
extern s32 D_80126B58;
void func_801463A0(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
extern s32 *D_80126B78;
extern u16 D_80126B5E;
@@ -422,7 +428,44 @@ DEFINE_func_801466B4() /* dedup: shared engine-core @0x801466B4 (src/shared) */
INCLUDE_ASM("asm/ov_SC02_041/nonmatchings/ov_SC02_041_after", func_801466F0);
INCLUDE_ASM("asm/ov_SC02_041/nonmatchings/ov_SC02_041_after", func_80146750);
u16 *func_80146750(u16 *param_1) {
extern u16 D_8011FD10;
extern int D_8011FA1C;
extern u16 D_8011F9D6;
extern u16 D_8011F9DA;
extern u16 D_8011F9DE;
extern int D_8011FA20;
extern int D_8011FA24;
s32 iVar1;
s32 iVar2;
u16 *psVar3;
register u16 *psVar4 __asm__("$7"); /* $a3: pin so &sym loads here, copy -> psVar3($v1) */
iVar2 = 8;
psVar4 = &D_8011FD10;
psVar3 = psVar4;
iVar1 = 0x340;
for (; iVar2 < 0x14; iVar2++) {
if (*psVar3 == 0) {
*(u32 *)((char *)&(*(u32 *)&D_8011FA1C) + iVar1) = *(u32 *)((char *)param_1 + 8);
*psVar3 = *param_1;
*(u16 *)((char *)&D_8011F9D6 + iVar1) = param_1[1];
*(u16 *)((char *)&D_8011F9DA + iVar1) = param_1[2];
*(u16 *)((char *)&D_8011F9DE + iVar1) = param_1[3];
*(u32 *)((char *)&(*(u32 *)&D_8011FA20) + iVar1) = *(u32 *)((char *)param_1 + 0xC);
*(u32 *)((char *)&(*(u32 *)&D_8011FA24) + iVar1) = *(u32 *)((char *)param_1 + 0x10);
return psVar4;
}
psVar4 = psVar4 + 0x34;
psVar3 = psVar3 + 0x34;
iVar1 = iVar1 + 0x68;
}
return (u16 *)0x0;
}
DEFINE_func_8014680C() /* dedup: shared engine-core @0x8014680C (src/shared) */
+28
View File
@@ -1,2 +1,30 @@
#include "common.h"
#include "../shared/func_80144B9C.h"
/* func_801457A4 @ 0x801457A4 — an -O0 function stranded at the whale's end boundary (it is the
* FIRST fn of the -O2 "after" segment, but its target is -O0: frame-pointer + per-case stack
* reloads). It can only bank in an -O0 object, so it lives here: _o0b is already -O0-compiled and
* its .text ends exactly at 0x801457A4 (right after func_80144B9C), placing this fn at its true
* address with no linker/Makefile change. Its stub was removed from ov_SC01_077_after.c. Def sig
* conformed byte-neutrally to func_80144B9C.h's decl `void *func_801457A4(s32)` (the whale calls it
* that way); byte-proven at -O0 (match_one --o0 79/79) and by the whole-binary gate. Phase-29 bank. */
extern int D_80184D80;
void *func_801457A4(s32 param_1) {
switch (param_1) {
case 0x1010:
case 0x1052:
case 0x1077:
case 0x1094:
case 0x2013:
case 0x2015 ... 0x201a:
case 0x2055 ... 0x205b:
case 0x207a ... 0x2080:
case 0x2097 ... 0x209d:
return (void *)(&D_80184D80)[param_1 & 0xffff0fff];
default:
return (void *)D_80184D80;
break;
}
}
+48 -5
View File
@@ -2,8 +2,8 @@
#include "../shared/engine_core.h"
INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001_after", func_801457A4);
/* func_801457A4 (@0x801457A4) is an -O0 function; its definition lives in ov_SC03_001_o0b.c (the -O0
* whale object, whose .text ends exactly at this address). Mirrors ov_SC01_077. §116 */
DEFINE_func_801458E0() /* dedup: shared engine-core @0x801458E0 (src/shared) */
DEFINE_func_801458E8() /* dedup: shared engine-core @0x801458E8 (src/shared) */
@@ -326,10 +326,13 @@ DEFINE_func_80146128() /* dedup: shared engine-core @0x80146128 (src/shared) */
// @stuck: none — MATCH (fnptr-table idiom: D_8018EFFC[u8 idx](&arg))
extern void (*D_8018EFFC[])(void *);
extern u8 D_80126BA4;
extern s32 D_80126B58;
void func_80146360(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
D_8018EFFC[D_80126BA4](&D_80126B58);
}
@@ -349,10 +352,13 @@ extern short func_801508F8(s32 a0);
extern void func_8014B5B0(s32 *a0);
extern void func_80161D88(s32 a0);
extern s32 D_80126B58;
void func_801463A0(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
extern s32 *D_80126B78;
extern u16 D_80126B5E;
@@ -422,7 +428,44 @@ DEFINE_func_801466B4() /* dedup: shared engine-core @0x801466B4 (src/shared) */
INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001_after", func_801466F0);
INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001_after", func_80146750);
u16 *func_80146750(u16 *param_1) {
extern u16 D_8011FD10;
extern int D_8011FA1C;
extern u16 D_8011F9D6;
extern u16 D_8011F9DA;
extern u16 D_8011F9DE;
extern int D_8011FA20;
extern int D_8011FA24;
s32 iVar1;
s32 iVar2;
u16 *psVar3;
register u16 *psVar4 __asm__("$7"); /* $a3: pin so &sym loads here, copy -> psVar3($v1) */
iVar2 = 8;
psVar4 = &D_8011FD10;
psVar3 = psVar4;
iVar1 = 0x340;
for (; iVar2 < 0x14; iVar2++) {
if (*psVar3 == 0) {
*(u32 *)((char *)&(*(u32 *)&D_8011FA1C) + iVar1) = *(u32 *)((char *)param_1 + 8);
*psVar3 = *param_1;
*(u16 *)((char *)&D_8011F9D6 + iVar1) = param_1[1];
*(u16 *)((char *)&D_8011F9DA + iVar1) = param_1[2];
*(u16 *)((char *)&D_8011F9DE + iVar1) = param_1[3];
*(u32 *)((char *)&(*(u32 *)&D_8011FA20) + iVar1) = *(u32 *)((char *)param_1 + 0xC);
*(u32 *)((char *)&(*(u32 *)&D_8011FA24) + iVar1) = *(u32 *)((char *)param_1 + 0x10);
return psVar4;
}
psVar4 = psVar4 + 0x34;
psVar3 = psVar3 + 0x34;
iVar1 = iVar1 + 0x68;
}
return (u16 *)0x0;
}
DEFINE_func_8014680C() /* dedup: shared engine-core @0x8014680C (src/shared) */
+28
View File
@@ -1,2 +1,30 @@
#include "common.h"
#include "../shared/func_80144B9C.h"
/* func_801457A4 @ 0x801457A4 — an -O0 function stranded at the whale's end boundary (it is the
* FIRST fn of the -O2 "after" segment, but its target is -O0: frame-pointer + per-case stack
* reloads). It can only bank in an -O0 object, so it lives here: _o0b is already -O0-compiled and
* its .text ends exactly at 0x801457A4 (right after func_80144B9C), placing this fn at its true
* address with no linker/Makefile change. Its stub was removed from ov_SC01_077_after.c. Def sig
* conformed byte-neutrally to func_80144B9C.h's decl `void *func_801457A4(s32)` (the whale calls it
* that way); byte-proven at -O0 (match_one --o0 79/79) and by the whole-binary gate. Phase-29 bank. */
extern int D_8018D220;
void *func_801457A4(s32 param_1) {
switch (param_1) {
case 0x1010:
case 0x1052:
case 0x1077:
case 0x1094:
case 0x2013:
case 0x2015 ... 0x201a:
case 0x2055 ... 0x205b:
case 0x207a ... 0x2080:
case 0x2097 ... 0x209d:
return (void *)(&D_8018D220)[param_1 & 0xffff0fff];
default:
return (void *)D_8018D220;
break;
}
}
+48 -5
View File
@@ -2,8 +2,8 @@
#include "../shared/engine_core.h"
INCLUDE_ASM("asm/ov_SC03_002/nonmatchings/ov_SC03_002_after", func_801457A4);
/* func_801457A4 (@0x801457A4) is an -O0 function; its definition lives in ov_SC03_002_o0b.c (the -O0
* whale object, whose .text ends exactly at this address). Mirrors ov_SC01_077. §116 */
DEFINE_func_801458E0() /* dedup: shared engine-core @0x801458E0 (src/shared) */
DEFINE_func_801458E8() /* dedup: shared engine-core @0x801458E8 (src/shared) */
@@ -326,10 +326,13 @@ DEFINE_func_80146128() /* dedup: shared engine-core @0x80146128 (src/shared) */
// @stuck: none — MATCH (fnptr-table idiom: D_80186FEC[u8 idx](&arg))
extern void (*D_80186FEC[])(void *);
extern u8 D_80126BA4;
extern s32 D_80126B58;
void func_80146360(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
D_80186FEC[D_80126BA4](&D_80126B58);
}
@@ -349,10 +352,13 @@ extern short func_801508F8(s32 a0);
extern void func_8014B5B0(s32 *a0);
extern void func_80161D88(s32 a0);
extern s32 D_80126B58;
void func_801463A0(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
extern s32 *D_80126B78;
extern u16 D_80126B5E;
@@ -422,7 +428,44 @@ DEFINE_func_801466B4() /* dedup: shared engine-core @0x801466B4 (src/shared) */
INCLUDE_ASM("asm/ov_SC03_002/nonmatchings/ov_SC03_002_after", func_801466F0);
INCLUDE_ASM("asm/ov_SC03_002/nonmatchings/ov_SC03_002_after", func_80146750);
u16 *func_80146750(u16 *param_1) {
extern u16 D_8011FD10;
extern int D_8011FA1C;
extern u16 D_8011F9D6;
extern u16 D_8011F9DA;
extern u16 D_8011F9DE;
extern int D_8011FA20;
extern int D_8011FA24;
s32 iVar1;
s32 iVar2;
u16 *psVar3;
register u16 *psVar4 __asm__("$7"); /* $a3: pin so &sym loads here, copy -> psVar3($v1) */
iVar2 = 8;
psVar4 = &D_8011FD10;
psVar3 = psVar4;
iVar1 = 0x340;
for (; iVar2 < 0x14; iVar2++) {
if (*psVar3 == 0) {
*(u32 *)((char *)&(*(u32 *)&D_8011FA1C) + iVar1) = *(u32 *)((char *)param_1 + 8);
*psVar3 = *param_1;
*(u16 *)((char *)&D_8011F9D6 + iVar1) = param_1[1];
*(u16 *)((char *)&D_8011F9DA + iVar1) = param_1[2];
*(u16 *)((char *)&D_8011F9DE + iVar1) = param_1[3];
*(u32 *)((char *)&(*(u32 *)&D_8011FA20) + iVar1) = *(u32 *)((char *)param_1 + 0xC);
*(u32 *)((char *)&(*(u32 *)&D_8011FA24) + iVar1) = *(u32 *)((char *)param_1 + 0x10);
return psVar4;
}
psVar4 = psVar4 + 0x34;
psVar3 = psVar3 + 0x34;
iVar1 = iVar1 + 0x68;
}
return (u16 *)0x0;
}
DEFINE_func_8014680C() /* dedup: shared engine-core @0x8014680C (src/shared) */
+28
View File
@@ -1,2 +1,30 @@
#include "common.h"
#include "../shared/func_80144B9C.h"
/* func_801457A4 @ 0x801457A4 — an -O0 function stranded at the whale's end boundary (it is the
* FIRST fn of the -O2 "after" segment, but its target is -O0: frame-pointer + per-case stack
* reloads). It can only bank in an -O0 object, so it lives here: _o0b is already -O0-compiled and
* its .text ends exactly at 0x801457A4 (right after func_80144B9C), placing this fn at its true
* address with no linker/Makefile change. Its stub was removed from ov_SC01_077_after.c. Def sig
* conformed byte-neutrally to func_80144B9C.h's decl `void *func_801457A4(s32)` (the whale calls it
* that way); byte-proven at -O0 (match_one --o0 79/79) and by the whole-binary gate. Phase-29 bank. */
extern int D_801854B0;
void *func_801457A4(s32 param_1) {
switch (param_1) {
case 0x1010:
case 0x1052:
case 0x1077:
case 0x1094:
case 0x2013:
case 0x2015 ... 0x201a:
case 0x2055 ... 0x205b:
case 0x207a ... 0x2080:
case 0x2097 ... 0x209d:
return (void *)(&D_801854B0)[param_1 & 0xffff0fff];
default:
return (void *)D_801854B0;
break;
}
}
+48 -5
View File
@@ -2,8 +2,8 @@
#include "../shared/engine_core.h"
INCLUDE_ASM("asm/ov_SC03_003/nonmatchings/ov_SC03_003_after", func_801457A4);
/* func_801457A4 (@0x801457A4) is an -O0 function; its definition lives in ov_SC03_003_o0b.c (the -O0
* whale object, whose .text ends exactly at this address). Mirrors ov_SC01_077. §116 */
DEFINE_func_801458E0() /* dedup: shared engine-core @0x801458E0 (src/shared) */
DEFINE_func_801458E8() /* dedup: shared engine-core @0x801458E8 (src/shared) */
@@ -326,10 +326,13 @@ DEFINE_func_80146128() /* dedup: shared engine-core @0x80146128 (src/shared) */
// @stuck: none — MATCH (fnptr-table idiom: D_80180DB4[u8 idx](&arg))
extern void (*D_80180DB4[])(void *);
extern u8 D_80126BA4;
extern s32 D_80126B58;
void func_80146360(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
D_80180DB4[D_80126BA4](&D_80126B58);
}
@@ -349,10 +352,13 @@ extern short func_801508F8(s32 a0);
extern void func_8014B5B0(s32 *a0);
extern void func_80161D88(s32 a0);
extern s32 D_80126B58;
void func_801463A0(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
extern s32 *D_80126B78;
extern u16 D_80126B5E;
@@ -422,7 +428,44 @@ DEFINE_func_801466B4() /* dedup: shared engine-core @0x801466B4 (src/shared) */
INCLUDE_ASM("asm/ov_SC03_003/nonmatchings/ov_SC03_003_after", func_801466F0);
INCLUDE_ASM("asm/ov_SC03_003/nonmatchings/ov_SC03_003_after", func_80146750);
u16 *func_80146750(u16 *param_1) {
extern u16 D_8011FD10;
extern int D_8011FA1C;
extern u16 D_8011F9D6;
extern u16 D_8011F9DA;
extern u16 D_8011F9DE;
extern int D_8011FA20;
extern int D_8011FA24;
s32 iVar1;
s32 iVar2;
u16 *psVar3;
register u16 *psVar4 __asm__("$7"); /* $a3: pin so &sym loads here, copy -> psVar3($v1) */
iVar2 = 8;
psVar4 = &D_8011FD10;
psVar3 = psVar4;
iVar1 = 0x340;
for (; iVar2 < 0x14; iVar2++) {
if (*psVar3 == 0) {
*(u32 *)((char *)&(*(u32 *)&D_8011FA1C) + iVar1) = *(u32 *)((char *)param_1 + 8);
*psVar3 = *param_1;
*(u16 *)((char *)&D_8011F9D6 + iVar1) = param_1[1];
*(u16 *)((char *)&D_8011F9DA + iVar1) = param_1[2];
*(u16 *)((char *)&D_8011F9DE + iVar1) = param_1[3];
*(u32 *)((char *)&(*(u32 *)&D_8011FA20) + iVar1) = *(u32 *)((char *)param_1 + 0xC);
*(u32 *)((char *)&(*(u32 *)&D_8011FA24) + iVar1) = *(u32 *)((char *)param_1 + 0x10);
return psVar4;
}
psVar4 = psVar4 + 0x34;
psVar3 = psVar3 + 0x34;
iVar1 = iVar1 + 0x68;
}
return (u16 *)0x0;
}
DEFINE_func_8014680C() /* dedup: shared engine-core @0x8014680C (src/shared) */
+28
View File
@@ -1,2 +1,30 @@
#include "common.h"
#include "../shared/func_80144B9C.h"
/* func_801457A4 @ 0x801457A4 — an -O0 function stranded at the whale's end boundary (it is the
* FIRST fn of the -O2 "after" segment, but its target is -O0: frame-pointer + per-case stack
* reloads). It can only bank in an -O0 object, so it lives here: _o0b is already -O0-compiled and
* its .text ends exactly at 0x801457A4 (right after func_80144B9C), placing this fn at its true
* address with no linker/Makefile change. Its stub was removed from ov_SC01_077_after.c. Def sig
* conformed byte-neutrally to func_80144B9C.h's decl `void *func_801457A4(s32)` (the whale calls it
* that way); byte-proven at -O0 (match_one --o0 79/79) and by the whole-binary gate. Phase-29 bank. */
extern int D_8017F278;
void *func_801457A4(s32 param_1) {
switch (param_1) {
case 0x1010:
case 0x1052:
case 0x1077:
case 0x1094:
case 0x2013:
case 0x2015 ... 0x201a:
case 0x2055 ... 0x205b:
case 0x207a ... 0x2080:
case 0x2097 ... 0x209d:
return (void *)(&D_8017F278)[param_1 & 0xffff0fff];
default:
return (void *)D_8017F278;
break;
}
}
+48 -5
View File
@@ -2,8 +2,8 @@
#include "../shared/engine_core.h"
INCLUDE_ASM("asm/ov_SC03_006/nonmatchings/ov_SC03_006_after", func_801457A4);
/* func_801457A4 (@0x801457A4) is an -O0 function; its definition lives in ov_SC03_006_o0b.c (the -O0
* whale object, whose .text ends exactly at this address). Mirrors ov_SC01_077. §116 */
DEFINE_func_801458E0() /* dedup: shared engine-core @0x801458E0 (src/shared) */
DEFINE_func_801458E8() /* dedup: shared engine-core @0x801458E8 (src/shared) */
@@ -326,10 +326,13 @@ DEFINE_func_80146128() /* dedup: shared engine-core @0x80146128 (src/shared) */
// @stuck: none — MATCH (fnptr-table idiom: D_8018E0D0[u8 idx](&arg))
extern void (*D_8018E0D0[])(void *);
extern u8 D_80126BA4;
extern s32 D_80126B58;
void func_80146360(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
D_8018E0D0[D_80126BA4](&D_80126B58);
}
@@ -349,10 +352,13 @@ extern short func_801508F8(s32 a0);
extern void func_8014B5B0(s32 *a0);
extern void func_80161D88(s32 a0);
extern s32 D_80126B58;
void func_801463A0(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
extern s32 *D_80126B78;
extern u16 D_80126B5E;
@@ -422,7 +428,44 @@ DEFINE_func_801466B4() /* dedup: shared engine-core @0x801466B4 (src/shared) */
INCLUDE_ASM("asm/ov_SC03_006/nonmatchings/ov_SC03_006_after", func_801466F0);
INCLUDE_ASM("asm/ov_SC03_006/nonmatchings/ov_SC03_006_after", func_80146750);
u16 *func_80146750(u16 *param_1) {
extern u16 D_8011FD10;
extern int D_8011FA1C;
extern u16 D_8011F9D6;
extern u16 D_8011F9DA;
extern u16 D_8011F9DE;
extern int D_8011FA20;
extern int D_8011FA24;
s32 iVar1;
s32 iVar2;
u16 *psVar3;
register u16 *psVar4 __asm__("$7"); /* $a3: pin so &sym loads here, copy -> psVar3($v1) */
iVar2 = 8;
psVar4 = &D_8011FD10;
psVar3 = psVar4;
iVar1 = 0x340;
for (; iVar2 < 0x14; iVar2++) {
if (*psVar3 == 0) {
*(u32 *)((char *)&(*(u32 *)&D_8011FA1C) + iVar1) = *(u32 *)((char *)param_1 + 8);
*psVar3 = *param_1;
*(u16 *)((char *)&D_8011F9D6 + iVar1) = param_1[1];
*(u16 *)((char *)&D_8011F9DA + iVar1) = param_1[2];
*(u16 *)((char *)&D_8011F9DE + iVar1) = param_1[3];
*(u32 *)((char *)&(*(u32 *)&D_8011FA20) + iVar1) = *(u32 *)((char *)param_1 + 0xC);
*(u32 *)((char *)&(*(u32 *)&D_8011FA24) + iVar1) = *(u32 *)((char *)param_1 + 0x10);
return psVar4;
}
psVar4 = psVar4 + 0x34;
psVar3 = psVar3 + 0x34;
iVar1 = iVar1 + 0x68;
}
return (u16 *)0x0;
}
DEFINE_func_8014680C() /* dedup: shared engine-core @0x8014680C (src/shared) */
+28
View File
@@ -1,2 +1,30 @@
#include "common.h"
#include "../shared/func_80144B9C.h"
/* func_801457A4 @ 0x801457A4 — an -O0 function stranded at the whale's end boundary (it is the
* FIRST fn of the -O2 "after" segment, but its target is -O0: frame-pointer + per-case stack
* reloads). It can only bank in an -O0 object, so it lives here: _o0b is already -O0-compiled and
* its .text ends exactly at 0x801457A4 (right after func_80144B9C), placing this fn at its true
* address with no linker/Makefile change. Its stub was removed from ov_SC01_077_after.c. Def sig
* conformed byte-neutrally to func_80144B9C.h's decl `void *func_801457A4(s32)` (the whale calls it
* that way); byte-proven at -O0 (match_one --o0 79/79) and by the whole-binary gate. Phase-29 bank. */
extern int D_8018C594;
void *func_801457A4(s32 param_1) {
switch (param_1) {
case 0x1010:
case 0x1052:
case 0x1077:
case 0x1094:
case 0x2013:
case 0x2015 ... 0x201a:
case 0x2055 ... 0x205b:
case 0x207a ... 0x2080:
case 0x2097 ... 0x209d:
return (void *)(&D_8018C594)[param_1 & 0xffff0fff];
default:
return (void *)D_8018C594;
break;
}
}
+48 -5
View File
@@ -2,8 +2,8 @@
#include "../shared/engine_core.h"
INCLUDE_ASM("asm/ov_SC03_007/nonmatchings/ov_SC03_007_after", func_801457A4);
/* func_801457A4 (@0x801457A4) is an -O0 function; its definition lives in ov_SC03_007_o0b.c (the -O0
* whale object, whose .text ends exactly at this address). Mirrors ov_SC01_077. §116 */
DEFINE_func_801458E0() /* dedup: shared engine-core @0x801458E0 (src/shared) */
DEFINE_func_801458E8() /* dedup: shared engine-core @0x801458E8 (src/shared) */
@@ -326,10 +326,13 @@ DEFINE_func_80146128() /* dedup: shared engine-core @0x80146128 (src/shared) */
// @stuck: none — MATCH (fnptr-table idiom: D_80188EC8[u8 idx](&arg))
extern void (*D_80188EC8[])(void *);
extern u8 D_80126BA4;
extern s32 D_80126B58;
void func_80146360(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
D_80188EC8[D_80126BA4](&D_80126B58);
}
@@ -349,10 +352,13 @@ extern short func_801508F8(s32 a0);
extern void func_8014B5B0(s32 *a0);
extern void func_80161D88(s32 a0);
extern s32 D_80126B58;
void func_801463A0(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
extern s32 *D_80126B78;
extern u16 D_80126B5E;
@@ -422,7 +428,44 @@ DEFINE_func_801466B4() /* dedup: shared engine-core @0x801466B4 (src/shared) */
INCLUDE_ASM("asm/ov_SC03_007/nonmatchings/ov_SC03_007_after", func_801466F0);
INCLUDE_ASM("asm/ov_SC03_007/nonmatchings/ov_SC03_007_after", func_80146750);
u16 *func_80146750(u16 *param_1) {
extern u16 D_8011FD10;
extern int D_8011FA1C;
extern u16 D_8011F9D6;
extern u16 D_8011F9DA;
extern u16 D_8011F9DE;
extern int D_8011FA20;
extern int D_8011FA24;
s32 iVar1;
s32 iVar2;
u16 *psVar3;
register u16 *psVar4 __asm__("$7"); /* $a3: pin so &sym loads here, copy -> psVar3($v1) */
iVar2 = 8;
psVar4 = &D_8011FD10;
psVar3 = psVar4;
iVar1 = 0x340;
for (; iVar2 < 0x14; iVar2++) {
if (*psVar3 == 0) {
*(u32 *)((char *)&(*(u32 *)&D_8011FA1C) + iVar1) = *(u32 *)((char *)param_1 + 8);
*psVar3 = *param_1;
*(u16 *)((char *)&D_8011F9D6 + iVar1) = param_1[1];
*(u16 *)((char *)&D_8011F9DA + iVar1) = param_1[2];
*(u16 *)((char *)&D_8011F9DE + iVar1) = param_1[3];
*(u32 *)((char *)&(*(u32 *)&D_8011FA20) + iVar1) = *(u32 *)((char *)param_1 + 0xC);
*(u32 *)((char *)&(*(u32 *)&D_8011FA24) + iVar1) = *(u32 *)((char *)param_1 + 0x10);
return psVar4;
}
psVar4 = psVar4 + 0x34;
psVar3 = psVar3 + 0x34;
iVar1 = iVar1 + 0x68;
}
return (u16 *)0x0;
}
DEFINE_func_8014680C() /* dedup: shared engine-core @0x8014680C (src/shared) */
+28
View File
@@ -1,2 +1,30 @@
#include "common.h"
#include "../shared/func_80144B9C.h"
/* func_801457A4 @ 0x801457A4 — an -O0 function stranded at the whale's end boundary (it is the
* FIRST fn of the -O2 "after" segment, but its target is -O0: frame-pointer + per-case stack
* reloads). It can only bank in an -O0 object, so it lives here: _o0b is already -O0-compiled and
* its .text ends exactly at 0x801457A4 (right after func_80144B9C), placing this fn at its true
* address with no linker/Makefile change. Its stub was removed from ov_SC01_077_after.c. Def sig
* conformed byte-neutrally to func_80144B9C.h's decl `void *func_801457A4(s32)` (the whale calls it
* that way); byte-proven at -O0 (match_one --o0 79/79) and by the whole-binary gate. Phase-29 bank. */
extern int D_8018738C;
void *func_801457A4(s32 param_1) {
switch (param_1) {
case 0x1010:
case 0x1052:
case 0x1077:
case 0x1094:
case 0x2013:
case 0x2015 ... 0x201a:
case 0x2055 ... 0x205b:
case 0x207a ... 0x2080:
case 0x2097 ... 0x209d:
return (void *)(&D_8018738C)[param_1 & 0xffff0fff];
default:
return (void *)D_8018738C;
break;
}
}
+48 -5
View File
@@ -2,8 +2,8 @@
#include "../shared/engine_core.h"
INCLUDE_ASM("asm/ov_SC03_010/nonmatchings/ov_SC03_010_after", func_801457A4);
/* func_801457A4 (@0x801457A4) is an -O0 function; its definition lives in ov_SC03_010_o0b.c (the -O0
* whale object, whose .text ends exactly at this address). Mirrors ov_SC01_077. §116 */
DEFINE_func_801458E0() /* dedup: shared engine-core @0x801458E0 (src/shared) */
DEFINE_func_801458E8() /* dedup: shared engine-core @0x801458E8 (src/shared) */
@@ -326,10 +326,13 @@ DEFINE_func_80146128() /* dedup: shared engine-core @0x80146128 (src/shared) */
// @stuck: none — MATCH (fnptr-table idiom: D_801819E8[u8 idx](&arg))
extern void (*D_801819E8[])(void *);
extern u8 D_80126BA4;
extern s32 D_80126B58;
void func_80146360(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
D_801819E8[D_80126BA4](&D_80126B58);
}
@@ -349,10 +352,13 @@ extern short func_801508F8(s32 a0);
extern void func_8014B5B0(s32 *a0);
extern void func_80161D88(s32 a0);
extern s32 D_80126B58;
void func_801463A0(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
extern s32 *D_80126B78;
extern u16 D_80126B5E;
@@ -422,7 +428,44 @@ DEFINE_func_801466B4() /* dedup: shared engine-core @0x801466B4 (src/shared) */
INCLUDE_ASM("asm/ov_SC03_010/nonmatchings/ov_SC03_010_after", func_801466F0);
INCLUDE_ASM("asm/ov_SC03_010/nonmatchings/ov_SC03_010_after", func_80146750);
u16 *func_80146750(u16 *param_1) {
extern u16 D_8011FD10;
extern int D_8011FA1C;
extern u16 D_8011F9D6;
extern u16 D_8011F9DA;
extern u16 D_8011F9DE;
extern int D_8011FA20;
extern int D_8011FA24;
s32 iVar1;
s32 iVar2;
u16 *psVar3;
register u16 *psVar4 __asm__("$7"); /* $a3: pin so &sym loads here, copy -> psVar3($v1) */
iVar2 = 8;
psVar4 = &D_8011FD10;
psVar3 = psVar4;
iVar1 = 0x340;
for (; iVar2 < 0x14; iVar2++) {
if (*psVar3 == 0) {
*(u32 *)((char *)&(*(u32 *)&D_8011FA1C) + iVar1) = *(u32 *)((char *)param_1 + 8);
*psVar3 = *param_1;
*(u16 *)((char *)&D_8011F9D6 + iVar1) = param_1[1];
*(u16 *)((char *)&D_8011F9DA + iVar1) = param_1[2];
*(u16 *)((char *)&D_8011F9DE + iVar1) = param_1[3];
*(u32 *)((char *)&(*(u32 *)&D_8011FA20) + iVar1) = *(u32 *)((char *)param_1 + 0xC);
*(u32 *)((char *)&(*(u32 *)&D_8011FA24) + iVar1) = *(u32 *)((char *)param_1 + 0x10);
return psVar4;
}
psVar4 = psVar4 + 0x34;
psVar3 = psVar3 + 0x34;
iVar1 = iVar1 + 0x68;
}
return (u16 *)0x0;
}
DEFINE_func_8014680C() /* dedup: shared engine-core @0x8014680C (src/shared) */
+28
View File
@@ -1,2 +1,30 @@
#include "common.h"
#include "../shared/func_80144B9C.h"
/* func_801457A4 @ 0x801457A4 — an -O0 function stranded at the whale's end boundary (it is the
* FIRST fn of the -O2 "after" segment, but its target is -O0: frame-pointer + per-case stack
* reloads). It can only bank in an -O0 object, so it lives here: _o0b is already -O0-compiled and
* its .text ends exactly at 0x801457A4 (right after func_80144B9C), placing this fn at its true
* address with no linker/Makefile change. Its stub was removed from ov_SC01_077_after.c. Def sig
* conformed byte-neutrally to func_80144B9C.h's decl `void *func_801457A4(s32)` (the whale calls it
* that way); byte-proven at -O0 (match_one --o0 79/79) and by the whole-binary gate. Phase-29 bank. */
extern int D_8017FEAC;
void *func_801457A4(s32 param_1) {
switch (param_1) {
case 0x1010:
case 0x1052:
case 0x1077:
case 0x1094:
case 0x2013:
case 0x2015 ... 0x201a:
case 0x2055 ... 0x205b:
case 0x207a ... 0x2080:
case 0x2097 ... 0x209d:
return (void *)(&D_8017FEAC)[param_1 & 0xffff0fff];
default:
return (void *)D_8017FEAC;
break;
}
}
+48 -5
View File
@@ -2,8 +2,8 @@
#include "../shared/engine_core.h"
INCLUDE_ASM("asm/ov_SC03_011/nonmatchings/ov_SC03_011_after", func_801457A4);
/* func_801457A4 (@0x801457A4) is an -O0 function; its definition lives in ov_SC03_011_o0b.c (the -O0
* whale object, whose .text ends exactly at this address). Mirrors ov_SC01_077. §116 */
DEFINE_func_801458E0() /* dedup: shared engine-core @0x801458E0 (src/shared) */
DEFINE_func_801458E8() /* dedup: shared engine-core @0x801458E8 (src/shared) */
@@ -326,10 +326,13 @@ DEFINE_func_80146128() /* dedup: shared engine-core @0x80146128 (src/shared) */
// @stuck: none — MATCH (fnptr-table idiom: D_80182D58[u8 idx](&arg))
extern void (*D_80182D58[])(void *);
extern u8 D_80126BA4;
extern s32 D_80126B58;
void func_80146360(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
D_80182D58[D_80126BA4](&D_80126B58);
}
@@ -349,10 +352,13 @@ extern short func_801508F8(s32 a0);
extern void func_8014B5B0(s32 *a0);
extern void func_80161D88(s32 a0);
extern s32 D_80126B58;
void func_801463A0(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
extern s32 *D_80126B78;
extern u16 D_80126B5E;
@@ -422,7 +428,44 @@ DEFINE_func_801466B4() /* dedup: shared engine-core @0x801466B4 (src/shared) */
INCLUDE_ASM("asm/ov_SC03_011/nonmatchings/ov_SC03_011_after", func_801466F0);
INCLUDE_ASM("asm/ov_SC03_011/nonmatchings/ov_SC03_011_after", func_80146750);
u16 *func_80146750(u16 *param_1) {
extern u16 D_8011FD10;
extern int D_8011FA1C;
extern u16 D_8011F9D6;
extern u16 D_8011F9DA;
extern u16 D_8011F9DE;
extern int D_8011FA20;
extern int D_8011FA24;
s32 iVar1;
s32 iVar2;
u16 *psVar3;
register u16 *psVar4 __asm__("$7"); /* $a3: pin so &sym loads here, copy -> psVar3($v1) */
iVar2 = 8;
psVar4 = &D_8011FD10;
psVar3 = psVar4;
iVar1 = 0x340;
for (; iVar2 < 0x14; iVar2++) {
if (*psVar3 == 0) {
*(u32 *)((char *)&(*(u32 *)&D_8011FA1C) + iVar1) = *(u32 *)((char *)param_1 + 8);
*psVar3 = *param_1;
*(u16 *)((char *)&D_8011F9D6 + iVar1) = param_1[1];
*(u16 *)((char *)&D_8011F9DA + iVar1) = param_1[2];
*(u16 *)((char *)&D_8011F9DE + iVar1) = param_1[3];
*(u32 *)((char *)&(*(u32 *)&D_8011FA20) + iVar1) = *(u32 *)((char *)param_1 + 0xC);
*(u32 *)((char *)&(*(u32 *)&D_8011FA24) + iVar1) = *(u32 *)((char *)param_1 + 0x10);
return psVar4;
}
psVar4 = psVar4 + 0x34;
psVar3 = psVar3 + 0x34;
iVar1 = iVar1 + 0x68;
}
return (u16 *)0x0;
}
DEFINE_func_8014680C() /* dedup: shared engine-core @0x8014680C (src/shared) */
+28
View File
@@ -1,2 +1,30 @@
#include "common.h"
#include "../shared/func_80144B9C.h"
/* func_801457A4 @ 0x801457A4 — an -O0 function stranded at the whale's end boundary (it is the
* FIRST fn of the -O2 "after" segment, but its target is -O0: frame-pointer + per-case stack
* reloads). It can only bank in an -O0 object, so it lives here: _o0b is already -O0-compiled and
* its .text ends exactly at 0x801457A4 (right after func_80144B9C), placing this fn at its true
* address with no linker/Makefile change. Its stub was removed from ov_SC01_077_after.c. Def sig
* conformed byte-neutrally to func_80144B9C.h's decl `void *func_801457A4(s32)` (the whale calls it
* that way); byte-proven at -O0 (match_one --o0 79/79) and by the whole-binary gate. Phase-29 bank. */
extern int D_8018121C;
void *func_801457A4(s32 param_1) {
switch (param_1) {
case 0x1010:
case 0x1052:
case 0x1077:
case 0x1094:
case 0x2013:
case 0x2015 ... 0x201a:
case 0x2055 ... 0x205b:
case 0x207a ... 0x2080:
case 0x2097 ... 0x209d:
return (void *)(&D_8018121C)[param_1 & 0xffff0fff];
default:
return (void *)D_8018121C;
break;
}
}
+48 -5
View File
@@ -2,8 +2,8 @@
#include "../shared/engine_core.h"
INCLUDE_ASM("asm/ov_SC03_012/nonmatchings/ov_SC03_012_after", func_801457A4);
/* func_801457A4 (@0x801457A4) is an -O0 function; its definition lives in ov_SC03_012_o0b.c (the -O0
* whale object, whose .text ends exactly at this address). Mirrors ov_SC01_077. §116 */
DEFINE_func_801458E0() /* dedup: shared engine-core @0x801458E0 (src/shared) */
DEFINE_func_801458E8() /* dedup: shared engine-core @0x801458E8 (src/shared) */
@@ -326,10 +326,13 @@ DEFINE_func_80146128() /* dedup: shared engine-core @0x80146128 (src/shared) */
// @stuck: none — MATCH (fnptr-table idiom: D_8017FC38[u8 idx](&arg))
extern void (*D_8017FC38[])(void *);
extern u8 D_80126BA4;
extern s32 D_80126B58;
void func_80146360(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
D_8017FC38[D_80126BA4](&D_80126B58);
}
@@ -349,10 +352,13 @@ extern short func_801508F8(s32 a0);
extern void func_8014B5B0(s32 *a0);
extern void func_80161D88(s32 a0);
extern s32 D_80126B58;
void func_801463A0(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
extern s32 *D_80126B78;
extern u16 D_80126B5E;
@@ -422,7 +428,44 @@ DEFINE_func_801466B4() /* dedup: shared engine-core @0x801466B4 (src/shared) */
INCLUDE_ASM("asm/ov_SC03_012/nonmatchings/ov_SC03_012_after", func_801466F0);
INCLUDE_ASM("asm/ov_SC03_012/nonmatchings/ov_SC03_012_after", func_80146750);
u16 *func_80146750(u16 *param_1) {
extern u16 D_8011FD10;
extern int D_8011FA1C;
extern u16 D_8011F9D6;
extern u16 D_8011F9DA;
extern u16 D_8011F9DE;
extern int D_8011FA20;
extern int D_8011FA24;
s32 iVar1;
s32 iVar2;
u16 *psVar3;
register u16 *psVar4 __asm__("$7"); /* $a3: pin so &sym loads here, copy -> psVar3($v1) */
iVar2 = 8;
psVar4 = &D_8011FD10;
psVar3 = psVar4;
iVar1 = 0x340;
for (; iVar2 < 0x14; iVar2++) {
if (*psVar3 == 0) {
*(u32 *)((char *)&(*(u32 *)&D_8011FA1C) + iVar1) = *(u32 *)((char *)param_1 + 8);
*psVar3 = *param_1;
*(u16 *)((char *)&D_8011F9D6 + iVar1) = param_1[1];
*(u16 *)((char *)&D_8011F9DA + iVar1) = param_1[2];
*(u16 *)((char *)&D_8011F9DE + iVar1) = param_1[3];
*(u32 *)((char *)&(*(u32 *)&D_8011FA20) + iVar1) = *(u32 *)((char *)param_1 + 0xC);
*(u32 *)((char *)&(*(u32 *)&D_8011FA24) + iVar1) = *(u32 *)((char *)param_1 + 0x10);
return psVar4;
}
psVar4 = psVar4 + 0x34;
psVar3 = psVar3 + 0x34;
iVar1 = iVar1 + 0x68;
}
return (u16 *)0x0;
}
DEFINE_func_8014680C() /* dedup: shared engine-core @0x8014680C (src/shared) */
+28
View File
@@ -1,2 +1,30 @@
#include "common.h"
#include "../shared/func_80144B9C.h"
/* func_801457A4 @ 0x801457A4 — an -O0 function stranded at the whale's end boundary (it is the
* FIRST fn of the -O2 "after" segment, but its target is -O0: frame-pointer + per-case stack
* reloads). It can only bank in an -O0 object, so it lives here: _o0b is already -O0-compiled and
* its .text ends exactly at 0x801457A4 (right after func_80144B9C), placing this fn at its true
* address with no linker/Makefile change. Its stub was removed from ov_SC01_077_after.c. Def sig
* conformed byte-neutrally to func_80144B9C.h's decl `void *func_801457A4(s32)` (the whale calls it
* that way); byte-proven at -O0 (match_one --o0 79/79) and by the whole-binary gate. Phase-29 bank. */
extern int D_8017E0FC;
void *func_801457A4(s32 param_1) {
switch (param_1) {
case 0x1010:
case 0x1052:
case 0x1077:
case 0x1094:
case 0x2013:
case 0x2015 ... 0x201a:
case 0x2055 ... 0x205b:
case 0x207a ... 0x2080:
case 0x2097 ... 0x209d:
return (void *)(&D_8017E0FC)[param_1 & 0xffff0fff];
default:
return (void *)D_8017E0FC;
break;
}
}
+48 -5
View File
@@ -2,8 +2,8 @@
#include "../shared/engine_core.h"
INCLUDE_ASM("asm/ov_SC03_013/nonmatchings/ov_SC03_013_after", func_801457A4);
/* func_801457A4 (@0x801457A4) is an -O0 function; its definition lives in ov_SC03_013_o0b.c (the -O0
* whale object, whose .text ends exactly at this address). Mirrors ov_SC01_077. §116 */
DEFINE_func_801458E0() /* dedup: shared engine-core @0x801458E0 (src/shared) */
DEFINE_func_801458E8() /* dedup: shared engine-core @0x801458E8 (src/shared) */
@@ -326,10 +326,13 @@ DEFINE_func_80146128() /* dedup: shared engine-core @0x80146128 (src/shared) */
// @stuck: none — MATCH (fnptr-table idiom: D_80182A20[u8 idx](&arg))
extern void (*D_80182A20[])(void *);
extern u8 D_80126BA4;
extern s32 D_80126B58;
void func_80146360(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
D_80182A20[D_80126BA4](&D_80126B58);
}
@@ -349,10 +352,13 @@ extern short func_801508F8(s32 a0);
extern void func_8014B5B0(s32 *a0);
extern void func_80161D88(s32 a0);
extern s32 D_80126B58;
void func_801463A0(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
extern s32 *D_80126B78;
extern u16 D_80126B5E;
@@ -422,7 +428,44 @@ DEFINE_func_801466B4() /* dedup: shared engine-core @0x801466B4 (src/shared) */
INCLUDE_ASM("asm/ov_SC03_013/nonmatchings/ov_SC03_013_after", func_801466F0);
INCLUDE_ASM("asm/ov_SC03_013/nonmatchings/ov_SC03_013_after", func_80146750);
u16 *func_80146750(u16 *param_1) {
extern u16 D_8011FD10;
extern int D_8011FA1C;
extern u16 D_8011F9D6;
extern u16 D_8011F9DA;
extern u16 D_8011F9DE;
extern int D_8011FA20;
extern int D_8011FA24;
s32 iVar1;
s32 iVar2;
u16 *psVar3;
register u16 *psVar4 __asm__("$7"); /* $a3: pin so &sym loads here, copy -> psVar3($v1) */
iVar2 = 8;
psVar4 = &D_8011FD10;
psVar3 = psVar4;
iVar1 = 0x340;
for (; iVar2 < 0x14; iVar2++) {
if (*psVar3 == 0) {
*(u32 *)((char *)&(*(u32 *)&D_8011FA1C) + iVar1) = *(u32 *)((char *)param_1 + 8);
*psVar3 = *param_1;
*(u16 *)((char *)&D_8011F9D6 + iVar1) = param_1[1];
*(u16 *)((char *)&D_8011F9DA + iVar1) = param_1[2];
*(u16 *)((char *)&D_8011F9DE + iVar1) = param_1[3];
*(u32 *)((char *)&(*(u32 *)&D_8011FA20) + iVar1) = *(u32 *)((char *)param_1 + 0xC);
*(u32 *)((char *)&(*(u32 *)&D_8011FA24) + iVar1) = *(u32 *)((char *)param_1 + 0x10);
return psVar4;
}
psVar4 = psVar4 + 0x34;
psVar3 = psVar3 + 0x34;
iVar1 = iVar1 + 0x68;
}
return (u16 *)0x0;
}
DEFINE_func_8014680C() /* dedup: shared engine-core @0x8014680C (src/shared) */
+28
View File
@@ -1,2 +1,30 @@
#include "common.h"
#include "../shared/func_80144B9C.h"
/* func_801457A4 @ 0x801457A4 — an -O0 function stranded at the whale's end boundary (it is the
* FIRST fn of the -O2 "after" segment, but its target is -O0: frame-pointer + per-case stack
* reloads). It can only bank in an -O0 object, so it lives here: _o0b is already -O0-compiled and
* its .text ends exactly at 0x801457A4 (right after func_80144B9C), placing this fn at its true
* address with no linker/Makefile change. Its stub was removed from ov_SC01_077_after.c. Def sig
* conformed byte-neutrally to func_80144B9C.h's decl `void *func_801457A4(s32)` (the whale calls it
* that way); byte-proven at -O0 (match_one --o0 79/79) and by the whole-binary gate. Phase-29 bank. */
extern int D_80180EE4;
void *func_801457A4(s32 param_1) {
switch (param_1) {
case 0x1010:
case 0x1052:
case 0x1077:
case 0x1094:
case 0x2013:
case 0x2015 ... 0x201a:
case 0x2055 ... 0x205b:
case 0x207a ... 0x2080:
case 0x2097 ... 0x209d:
return (void *)(&D_80180EE4)[param_1 & 0xffff0fff];
default:
return (void *)D_80180EE4;
break;
}
}
+48 -5
View File
@@ -2,8 +2,8 @@
#include "../shared/engine_core.h"
INCLUDE_ASM("asm/ov_SC03_014/nonmatchings/ov_SC03_014_after", func_801457A4);
/* func_801457A4 (@0x801457A4) is an -O0 function; its definition lives in ov_SC03_014_o0b.c (the -O0
* whale object, whose .text ends exactly at this address). Mirrors ov_SC01_077. §116 */
DEFINE_func_801458E0() /* dedup: shared engine-core @0x801458E0 (src/shared) */
DEFINE_func_801458E8() /* dedup: shared engine-core @0x801458E8 (src/shared) */
@@ -326,10 +326,13 @@ DEFINE_func_80146128() /* dedup: shared engine-core @0x80146128 (src/shared) */
// @stuck: none — MATCH (fnptr-table idiom: D_8018D05C[u8 idx](&arg))
extern void (*D_8018D05C[])(void *);
extern u8 D_80126BA4;
extern s32 D_80126B58;
void func_80146360(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
D_8018D05C[D_80126BA4](&D_80126B58);
}
@@ -349,10 +352,13 @@ extern short func_801508F8(s32 a0);
extern void func_8014B5B0(s32 *a0);
extern void func_80161D88(s32 a0);
extern s32 D_80126B58;
void func_801463A0(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
extern s32 *D_80126B78;
extern u16 D_80126B5E;
@@ -422,7 +428,44 @@ DEFINE_func_801466B4() /* dedup: shared engine-core @0x801466B4 (src/shared) */
INCLUDE_ASM("asm/ov_SC03_014/nonmatchings/ov_SC03_014_after", func_801466F0);
INCLUDE_ASM("asm/ov_SC03_014/nonmatchings/ov_SC03_014_after", func_80146750);
u16 *func_80146750(u16 *param_1) {
extern u16 D_8011FD10;
extern int D_8011FA1C;
extern u16 D_8011F9D6;
extern u16 D_8011F9DA;
extern u16 D_8011F9DE;
extern int D_8011FA20;
extern int D_8011FA24;
s32 iVar1;
s32 iVar2;
u16 *psVar3;
register u16 *psVar4 __asm__("$7"); /* $a3: pin so &sym loads here, copy -> psVar3($v1) */
iVar2 = 8;
psVar4 = &D_8011FD10;
psVar3 = psVar4;
iVar1 = 0x340;
for (; iVar2 < 0x14; iVar2++) {
if (*psVar3 == 0) {
*(u32 *)((char *)&(*(u32 *)&D_8011FA1C) + iVar1) = *(u32 *)((char *)param_1 + 8);
*psVar3 = *param_1;
*(u16 *)((char *)&D_8011F9D6 + iVar1) = param_1[1];
*(u16 *)((char *)&D_8011F9DA + iVar1) = param_1[2];
*(u16 *)((char *)&D_8011F9DE + iVar1) = param_1[3];
*(u32 *)((char *)&(*(u32 *)&D_8011FA20) + iVar1) = *(u32 *)((char *)param_1 + 0xC);
*(u32 *)((char *)&(*(u32 *)&D_8011FA24) + iVar1) = *(u32 *)((char *)param_1 + 0x10);
return psVar4;
}
psVar4 = psVar4 + 0x34;
psVar3 = psVar3 + 0x34;
iVar1 = iVar1 + 0x68;
}
return (u16 *)0x0;
}
DEFINE_func_8014680C() /* dedup: shared engine-core @0x8014680C (src/shared) */
+28
View File
@@ -1,2 +1,30 @@
#include "common.h"
#include "../shared/func_80144B9C.h"
/* func_801457A4 @ 0x801457A4 — an -O0 function stranded at the whale's end boundary (it is the
* FIRST fn of the -O2 "after" segment, but its target is -O0: frame-pointer + per-case stack
* reloads). It can only bank in an -O0 object, so it lives here: _o0b is already -O0-compiled and
* its .text ends exactly at 0x801457A4 (right after func_80144B9C), placing this fn at its true
* address with no linker/Makefile change. Its stub was removed from ov_SC01_077_after.c. Def sig
* conformed byte-neutrally to func_80144B9C.h's decl `void *func_801457A4(s32)` (the whale calls it
* that way); byte-proven at -O0 (match_one --o0 79/79) and by the whole-binary gate. Phase-29 bank. */
extern int D_8018B520;
void *func_801457A4(s32 param_1) {
switch (param_1) {
case 0x1010:
case 0x1052:
case 0x1077:
case 0x1094:
case 0x2013:
case 0x2015 ... 0x201a:
case 0x2055 ... 0x205b:
case 0x207a ... 0x2080:
case 0x2097 ... 0x209d:
return (void *)(&D_8018B520)[param_1 & 0xffff0fff];
default:
return (void *)D_8018B520;
break;
}
}
+48 -5
View File
@@ -2,8 +2,8 @@
#include "../shared/engine_core.h"
INCLUDE_ASM("asm/ov_SC03_015/nonmatchings/ov_SC03_015_after", func_801457A4);
/* func_801457A4 (@0x801457A4) is an -O0 function; its definition lives in ov_SC03_015_o0b.c (the -O0
* whale object, whose .text ends exactly at this address). Mirrors ov_SC01_077. §116 */
DEFINE_func_801458E0() /* dedup: shared engine-core @0x801458E0 (src/shared) */
DEFINE_func_801458E8() /* dedup: shared engine-core @0x801458E8 (src/shared) */
@@ -326,10 +326,13 @@ DEFINE_func_80146128() /* dedup: shared engine-core @0x80146128 (src/shared) */
// @stuck: none — MATCH (fnptr-table idiom: D_8018D05C[u8 idx](&arg))
extern void (*D_8018D05C[])(void *);
extern u8 D_80126BA4;
extern s32 D_80126B58;
void func_80146360(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
D_8018D05C[D_80126BA4](&D_80126B58);
}
@@ -349,10 +352,13 @@ extern short func_801508F8(s32 a0);
extern void func_8014B5B0(s32 *a0);
extern void func_80161D88(s32 a0);
extern s32 D_80126B58;
void func_801463A0(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
extern s32 *D_80126B78;
extern u16 D_80126B5E;
@@ -422,7 +428,44 @@ DEFINE_func_801466B4() /* dedup: shared engine-core @0x801466B4 (src/shared) */
INCLUDE_ASM("asm/ov_SC03_015/nonmatchings/ov_SC03_015_after", func_801466F0);
INCLUDE_ASM("asm/ov_SC03_015/nonmatchings/ov_SC03_015_after", func_80146750);
u16 *func_80146750(u16 *param_1) {
extern u16 D_8011FD10;
extern int D_8011FA1C;
extern u16 D_8011F9D6;
extern u16 D_8011F9DA;
extern u16 D_8011F9DE;
extern int D_8011FA20;
extern int D_8011FA24;
s32 iVar1;
s32 iVar2;
u16 *psVar3;
register u16 *psVar4 __asm__("$7"); /* $a3: pin so &sym loads here, copy -> psVar3($v1) */
iVar2 = 8;
psVar4 = &D_8011FD10;
psVar3 = psVar4;
iVar1 = 0x340;
for (; iVar2 < 0x14; iVar2++) {
if (*psVar3 == 0) {
*(u32 *)((char *)&(*(u32 *)&D_8011FA1C) + iVar1) = *(u32 *)((char *)param_1 + 8);
*psVar3 = *param_1;
*(u16 *)((char *)&D_8011F9D6 + iVar1) = param_1[1];
*(u16 *)((char *)&D_8011F9DA + iVar1) = param_1[2];
*(u16 *)((char *)&D_8011F9DE + iVar1) = param_1[3];
*(u32 *)((char *)&(*(u32 *)&D_8011FA20) + iVar1) = *(u32 *)((char *)param_1 + 0xC);
*(u32 *)((char *)&(*(u32 *)&D_8011FA24) + iVar1) = *(u32 *)((char *)param_1 + 0x10);
return psVar4;
}
psVar4 = psVar4 + 0x34;
psVar3 = psVar3 + 0x34;
iVar1 = iVar1 + 0x68;
}
return (u16 *)0x0;
}
DEFINE_func_8014680C() /* dedup: shared engine-core @0x8014680C (src/shared) */
+28
View File
@@ -1,2 +1,30 @@
#include "common.h"
#include "../shared/func_80144B9C.h"
/* func_801457A4 @ 0x801457A4 — an -O0 function stranded at the whale's end boundary (it is the
* FIRST fn of the -O2 "after" segment, but its target is -O0: frame-pointer + per-case stack
* reloads). It can only bank in an -O0 object, so it lives here: _o0b is already -O0-compiled and
* its .text ends exactly at 0x801457A4 (right after func_80144B9C), placing this fn at its true
* address with no linker/Makefile change. Its stub was removed from ov_SC01_077_after.c. Def sig
* conformed byte-neutrally to func_80144B9C.h's decl `void *func_801457A4(s32)` (the whale calls it
* that way); byte-proven at -O0 (match_one --o0 79/79) and by the whole-binary gate. Phase-29 bank. */
extern int D_8018B520;
void *func_801457A4(s32 param_1) {
switch (param_1) {
case 0x1010:
case 0x1052:
case 0x1077:
case 0x1094:
case 0x2013:
case 0x2015 ... 0x201a:
case 0x2055 ... 0x205b:
case 0x207a ... 0x2080:
case 0x2097 ... 0x209d:
return (void *)(&D_8018B520)[param_1 & 0xffff0fff];
default:
return (void *)D_8018B520;
break;
}
}
+48 -5
View File
@@ -2,8 +2,8 @@
#include "../shared/engine_core.h"
INCLUDE_ASM("asm/ov_SC03_023/nonmatchings/ov_SC03_023_after", func_801457A4);
/* func_801457A4 (@0x801457A4) is an -O0 function; its definition lives in ov_SC03_023_o0b.c (the -O0
* whale object, whose .text ends exactly at this address). Mirrors ov_SC01_077. §116 */
DEFINE_func_801458E0() /* dedup: shared engine-core @0x801458E0 (src/shared) */
DEFINE_func_801458E8() /* dedup: shared engine-core @0x801458E8 (src/shared) */
@@ -326,10 +326,13 @@ DEFINE_func_80146128() /* dedup: shared engine-core @0x80146128 (src/shared) */
// @stuck: none — MATCH (fnptr-table idiom: D_801809D8[u8 idx](&arg))
extern void (*D_801809D8[])(void *);
extern u8 D_80126BA4;
extern s32 D_80126B58;
void func_80146360(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
D_801809D8[D_80126BA4](&D_80126B58);
}
@@ -349,10 +352,13 @@ extern short func_801508F8(s32 a0);
extern void func_8014B5B0(s32 *a0);
extern void func_80161D88(s32 a0);
extern s32 D_80126B58;
void func_801463A0(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
extern s32 *D_80126B78;
extern u16 D_80126B5E;
@@ -422,7 +428,44 @@ DEFINE_func_801466B4() /* dedup: shared engine-core @0x801466B4 (src/shared) */
INCLUDE_ASM("asm/ov_SC03_023/nonmatchings/ov_SC03_023_after", func_801466F0);
INCLUDE_ASM("asm/ov_SC03_023/nonmatchings/ov_SC03_023_after", func_80146750);
u16 *func_80146750(u16 *param_1) {
extern u16 D_8011FD10;
extern int D_8011FA1C;
extern u16 D_8011F9D6;
extern u16 D_8011F9DA;
extern u16 D_8011F9DE;
extern int D_8011FA20;
extern int D_8011FA24;
s32 iVar1;
s32 iVar2;
u16 *psVar3;
register u16 *psVar4 __asm__("$7"); /* $a3: pin so &sym loads here, copy -> psVar3($v1) */
iVar2 = 8;
psVar4 = &D_8011FD10;
psVar3 = psVar4;
iVar1 = 0x340;
for (; iVar2 < 0x14; iVar2++) {
if (*psVar3 == 0) {
*(u32 *)((char *)&(*(u32 *)&D_8011FA1C) + iVar1) = *(u32 *)((char *)param_1 + 8);
*psVar3 = *param_1;
*(u16 *)((char *)&D_8011F9D6 + iVar1) = param_1[1];
*(u16 *)((char *)&D_8011F9DA + iVar1) = param_1[2];
*(u16 *)((char *)&D_8011F9DE + iVar1) = param_1[3];
*(u32 *)((char *)&(*(u32 *)&D_8011FA20) + iVar1) = *(u32 *)((char *)param_1 + 0xC);
*(u32 *)((char *)&(*(u32 *)&D_8011FA24) + iVar1) = *(u32 *)((char *)param_1 + 0x10);
return psVar4;
}
psVar4 = psVar4 + 0x34;
psVar3 = psVar3 + 0x34;
iVar1 = iVar1 + 0x68;
}
return (u16 *)0x0;
}
DEFINE_func_8014680C() /* dedup: shared engine-core @0x8014680C (src/shared) */
+28
View File
@@ -1,2 +1,30 @@
#include "common.h"
#include "../shared/func_80144B9C.h"
/* func_801457A4 @ 0x801457A4 — an -O0 function stranded at the whale's end boundary (it is the
* FIRST fn of the -O2 "after" segment, but its target is -O0: frame-pointer + per-case stack
* reloads). It can only bank in an -O0 object, so it lives here: _o0b is already -O0-compiled and
* its .text ends exactly at 0x801457A4 (right after func_80144B9C), placing this fn at its true
* address with no linker/Makefile change. Its stub was removed from ov_SC01_077_after.c. Def sig
* conformed byte-neutrally to func_80144B9C.h's decl `void *func_801457A4(s32)` (the whale calls it
* that way); byte-proven at -O0 (match_one --o0 79/79) and by the whole-binary gate. Phase-29 bank. */
extern int D_8017EE9C;
void *func_801457A4(s32 param_1) {
switch (param_1) {
case 0x1010:
case 0x1052:
case 0x1077:
case 0x1094:
case 0x2013:
case 0x2015 ... 0x201a:
case 0x2055 ... 0x205b:
case 0x207a ... 0x2080:
case 0x2097 ... 0x209d:
return (void *)(&D_8017EE9C)[param_1 & 0xffff0fff];
default:
return (void *)D_8017EE9C;
break;
}
}
+48 -5
View File
@@ -2,8 +2,8 @@
#include "../shared/engine_core.h"
INCLUDE_ASM("asm/ov_SC03_024/nonmatchings/ov_SC03_024_after", func_801457A4);
/* func_801457A4 (@0x801457A4) is an -O0 function; its definition lives in ov_SC03_024_o0b.c (the -O0
* whale object, whose .text ends exactly at this address). Mirrors ov_SC01_077. §116 */
DEFINE_func_801458E0() /* dedup: shared engine-core @0x801458E0 (src/shared) */
DEFINE_func_801458E8() /* dedup: shared engine-core @0x801458E8 (src/shared) */
@@ -326,10 +326,13 @@ DEFINE_func_80146128() /* dedup: shared engine-core @0x80146128 (src/shared) */
// @stuck: none — MATCH (fnptr-table idiom: D_801889FC[u8 idx](&arg))
extern void (*D_801889FC[])(void *);
extern u8 D_80126BA4;
extern s32 D_80126B58;
void func_80146360(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
D_801889FC[D_80126BA4](&D_80126B58);
}
@@ -349,10 +352,13 @@ extern short func_801508F8(s32 a0);
extern void func_8014B5B0(s32 *a0);
extern void func_80161D88(s32 a0);
extern s32 D_80126B58;
void func_801463A0(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
extern s32 *D_80126B78;
extern u16 D_80126B5E;
@@ -422,7 +428,44 @@ DEFINE_func_801466B4() /* dedup: shared engine-core @0x801466B4 (src/shared) */
INCLUDE_ASM("asm/ov_SC03_024/nonmatchings/ov_SC03_024_after", func_801466F0);
INCLUDE_ASM("asm/ov_SC03_024/nonmatchings/ov_SC03_024_after", func_80146750);
u16 *func_80146750(u16 *param_1) {
extern u16 D_8011FD10;
extern int D_8011FA1C;
extern u16 D_8011F9D6;
extern u16 D_8011F9DA;
extern u16 D_8011F9DE;
extern int D_8011FA20;
extern int D_8011FA24;
s32 iVar1;
s32 iVar2;
u16 *psVar3;
register u16 *psVar4 __asm__("$7"); /* $a3: pin so &sym loads here, copy -> psVar3($v1) */
iVar2 = 8;
psVar4 = &D_8011FD10;
psVar3 = psVar4;
iVar1 = 0x340;
for (; iVar2 < 0x14; iVar2++) {
if (*psVar3 == 0) {
*(u32 *)((char *)&(*(u32 *)&D_8011FA1C) + iVar1) = *(u32 *)((char *)param_1 + 8);
*psVar3 = *param_1;
*(u16 *)((char *)&D_8011F9D6 + iVar1) = param_1[1];
*(u16 *)((char *)&D_8011F9DA + iVar1) = param_1[2];
*(u16 *)((char *)&D_8011F9DE + iVar1) = param_1[3];
*(u32 *)((char *)&(*(u32 *)&D_8011FA20) + iVar1) = *(u32 *)((char *)param_1 + 0xC);
*(u32 *)((char *)&(*(u32 *)&D_8011FA24) + iVar1) = *(u32 *)((char *)param_1 + 0x10);
return psVar4;
}
psVar4 = psVar4 + 0x34;
psVar3 = psVar3 + 0x34;
iVar1 = iVar1 + 0x68;
}
return (u16 *)0x0;
}
DEFINE_func_8014680C() /* dedup: shared engine-core @0x8014680C (src/shared) */
+28
View File
@@ -1,2 +1,30 @@
#include "common.h"
#include "../shared/func_80144B9C.h"
/* func_801457A4 @ 0x801457A4 — an -O0 function stranded at the whale's end boundary (it is the
* FIRST fn of the -O2 "after" segment, but its target is -O0: frame-pointer + per-case stack
* reloads). It can only bank in an -O0 object, so it lives here: _o0b is already -O0-compiled and
* its .text ends exactly at 0x801457A4 (right after func_80144B9C), placing this fn at its true
* address with no linker/Makefile change. Its stub was removed from ov_SC01_077_after.c. Def sig
* conformed byte-neutrally to func_80144B9C.h's decl `void *func_801457A4(s32)` (the whale calls it
* that way); byte-proven at -O0 (match_one --o0 79/79) and by the whole-binary gate. Phase-29 bank. */
extern int D_80186EC0;
void *func_801457A4(s32 param_1) {
switch (param_1) {
case 0x1010:
case 0x1052:
case 0x1077:
case 0x1094:
case 0x2013:
case 0x2015 ... 0x201a:
case 0x2055 ... 0x205b:
case 0x207a ... 0x2080:
case 0x2097 ... 0x209d:
return (void *)(&D_80186EC0)[param_1 & 0xffff0fff];
default:
return (void *)D_80186EC0;
break;
}
}
+48 -5
View File
@@ -2,8 +2,8 @@
#include "../shared/engine_core.h"
INCLUDE_ASM("asm/ov_SC03_028/nonmatchings/ov_SC03_028_after", func_801457A4);
/* func_801457A4 (@0x801457A4) is an -O0 function; its definition lives in ov_SC03_028_o0b.c (the -O0
* whale object, whose .text ends exactly at this address). Mirrors ov_SC01_077. §116 */
DEFINE_func_801458E0() /* dedup: shared engine-core @0x801458E0 (src/shared) */
DEFINE_func_801458E8() /* dedup: shared engine-core @0x801458E8 (src/shared) */
@@ -326,10 +326,13 @@ DEFINE_func_80146128() /* dedup: shared engine-core @0x80146128 (src/shared) */
// @stuck: none — MATCH (fnptr-table idiom: D_8018D4C8[u8 idx](&arg))
extern void (*D_8018D4C8[])(void *);
extern u8 D_80126BA4;
extern s32 D_80126B58;
void func_80146360(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
D_8018D4C8[D_80126BA4](&D_80126B58);
}
@@ -349,10 +352,13 @@ extern short func_801508F8(s32 a0);
extern void func_8014B5B0(s32 *a0);
extern void func_80161D88(s32 a0);
extern s32 D_80126B58;
void func_801463A0(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
extern s32 *D_80126B78;
extern u16 D_80126B5E;
@@ -422,7 +428,44 @@ DEFINE_func_801466B4() /* dedup: shared engine-core @0x801466B4 (src/shared) */
INCLUDE_ASM("asm/ov_SC03_028/nonmatchings/ov_SC03_028_after", func_801466F0);
INCLUDE_ASM("asm/ov_SC03_028/nonmatchings/ov_SC03_028_after", func_80146750);
u16 *func_80146750(u16 *param_1) {
extern u16 D_8011FD10;
extern int D_8011FA1C;
extern u16 D_8011F9D6;
extern u16 D_8011F9DA;
extern u16 D_8011F9DE;
extern int D_8011FA20;
extern int D_8011FA24;
s32 iVar1;
s32 iVar2;
u16 *psVar3;
register u16 *psVar4 __asm__("$7"); /* $a3: pin so &sym loads here, copy -> psVar3($v1) */
iVar2 = 8;
psVar4 = &D_8011FD10;
psVar3 = psVar4;
iVar1 = 0x340;
for (; iVar2 < 0x14; iVar2++) {
if (*psVar3 == 0) {
*(u32 *)((char *)&(*(u32 *)&D_8011FA1C) + iVar1) = *(u32 *)((char *)param_1 + 8);
*psVar3 = *param_1;
*(u16 *)((char *)&D_8011F9D6 + iVar1) = param_1[1];
*(u16 *)((char *)&D_8011F9DA + iVar1) = param_1[2];
*(u16 *)((char *)&D_8011F9DE + iVar1) = param_1[3];
*(u32 *)((char *)&(*(u32 *)&D_8011FA20) + iVar1) = *(u32 *)((char *)param_1 + 0xC);
*(u32 *)((char *)&(*(u32 *)&D_8011FA24) + iVar1) = *(u32 *)((char *)param_1 + 0x10);
return psVar4;
}
psVar4 = psVar4 + 0x34;
psVar3 = psVar3 + 0x34;
iVar1 = iVar1 + 0x68;
}
return (u16 *)0x0;
}
DEFINE_func_8014680C() /* dedup: shared engine-core @0x8014680C (src/shared) */
+28
View File
@@ -1,2 +1,30 @@
#include "common.h"
#include "../shared/func_80144B9C.h"
/* func_801457A4 @ 0x801457A4 — an -O0 function stranded at the whale's end boundary (it is the
* FIRST fn of the -O2 "after" segment, but its target is -O0: frame-pointer + per-case stack
* reloads). It can only bank in an -O0 object, so it lives here: _o0b is already -O0-compiled and
* its .text ends exactly at 0x801457A4 (right after func_80144B9C), placing this fn at its true
* address with no linker/Makefile change. Its stub was removed from ov_SC01_077_after.c. Def sig
* conformed byte-neutrally to func_80144B9C.h's decl `void *func_801457A4(s32)` (the whale calls it
* that way); byte-proven at -O0 (match_one --o0 79/79) and by the whole-binary gate. Phase-29 bank. */
extern int D_8018B98C;
void *func_801457A4(s32 param_1) {
switch (param_1) {
case 0x1010:
case 0x1052:
case 0x1077:
case 0x1094:
case 0x2013:
case 0x2015 ... 0x201a:
case 0x2055 ... 0x205b:
case 0x207a ... 0x2080:
case 0x2097 ... 0x209d:
return (void *)(&D_8018B98C)[param_1 & 0xffff0fff];
default:
return (void *)D_8018B98C;
break;
}
}
+48 -5
View File
@@ -2,8 +2,8 @@
#include "../shared/engine_core.h"
INCLUDE_ASM("asm/ov_SC03_029/nonmatchings/ov_SC03_029_after", func_801457A4);
/* func_801457A4 (@0x801457A4) is an -O0 function; its definition lives in ov_SC03_029_o0b.c (the -O0
* whale object, whose .text ends exactly at this address). Mirrors ov_SC01_077. §116 */
DEFINE_func_801458E0() /* dedup: shared engine-core @0x801458E0 (src/shared) */
DEFINE_func_801458E8() /* dedup: shared engine-core @0x801458E8 (src/shared) */
@@ -326,10 +326,13 @@ DEFINE_func_80146128() /* dedup: shared engine-core @0x80146128 (src/shared) */
// @stuck: none — MATCH (fnptr-table idiom: D_80189300[u8 idx](&arg))
extern void (*D_80189300[])(void *);
extern u8 D_80126BA4;
extern s32 D_80126B58;
void func_80146360(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
D_80189300[D_80126BA4](&D_80126B58);
}
@@ -349,10 +352,13 @@ extern short func_801508F8(s32 a0);
extern void func_8014B5B0(s32 *a0);
extern void func_80161D88(s32 a0);
extern s32 D_80126B58;
void func_801463A0(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
extern s32 *D_80126B78;
extern u16 D_80126B5E;
@@ -422,7 +428,44 @@ DEFINE_func_801466B4() /* dedup: shared engine-core @0x801466B4 (src/shared) */
INCLUDE_ASM("asm/ov_SC03_029/nonmatchings/ov_SC03_029_after", func_801466F0);
INCLUDE_ASM("asm/ov_SC03_029/nonmatchings/ov_SC03_029_after", func_80146750);
u16 *func_80146750(u16 *param_1) {
extern u16 D_8011FD10;
extern int D_8011FA1C;
extern u16 D_8011F9D6;
extern u16 D_8011F9DA;
extern u16 D_8011F9DE;
extern int D_8011FA20;
extern int D_8011FA24;
s32 iVar1;
s32 iVar2;
u16 *psVar3;
register u16 *psVar4 __asm__("$7"); /* $a3: pin so &sym loads here, copy -> psVar3($v1) */
iVar2 = 8;
psVar4 = &D_8011FD10;
psVar3 = psVar4;
iVar1 = 0x340;
for (; iVar2 < 0x14; iVar2++) {
if (*psVar3 == 0) {
*(u32 *)((char *)&(*(u32 *)&D_8011FA1C) + iVar1) = *(u32 *)((char *)param_1 + 8);
*psVar3 = *param_1;
*(u16 *)((char *)&D_8011F9D6 + iVar1) = param_1[1];
*(u16 *)((char *)&D_8011F9DA + iVar1) = param_1[2];
*(u16 *)((char *)&D_8011F9DE + iVar1) = param_1[3];
*(u32 *)((char *)&(*(u32 *)&D_8011FA20) + iVar1) = *(u32 *)((char *)param_1 + 0xC);
*(u32 *)((char *)&(*(u32 *)&D_8011FA24) + iVar1) = *(u32 *)((char *)param_1 + 0x10);
return psVar4;
}
psVar4 = psVar4 + 0x34;
psVar3 = psVar3 + 0x34;
iVar1 = iVar1 + 0x68;
}
return (u16 *)0x0;
}
DEFINE_func_8014680C() /* dedup: shared engine-core @0x8014680C (src/shared) */
+28
View File
@@ -1,2 +1,30 @@
#include "common.h"
#include "../shared/func_80144B9C.h"
/* func_801457A4 @ 0x801457A4 — an -O0 function stranded at the whale's end boundary (it is the
* FIRST fn of the -O2 "after" segment, but its target is -O0: frame-pointer + per-case stack
* reloads). It can only bank in an -O0 object, so it lives here: _o0b is already -O0-compiled and
* its .text ends exactly at 0x801457A4 (right after func_80144B9C), placing this fn at its true
* address with no linker/Makefile change. Its stub was removed from ov_SC01_077_after.c. Def sig
* conformed byte-neutrally to func_80144B9C.h's decl `void *func_801457A4(s32)` (the whale calls it
* that way); byte-proven at -O0 (match_one --o0 79/79) and by the whole-binary gate. Phase-29 bank. */
extern int D_801877C4;
void *func_801457A4(s32 param_1) {
switch (param_1) {
case 0x1010:
case 0x1052:
case 0x1077:
case 0x1094:
case 0x2013:
case 0x2015 ... 0x201a:
case 0x2055 ... 0x205b:
case 0x207a ... 0x2080:
case 0x2097 ... 0x209d:
return (void *)(&D_801877C4)[param_1 & 0xffff0fff];
default:
return (void *)D_801877C4;
break;
}
}
+48 -5
View File
@@ -2,8 +2,8 @@
#include "../shared/engine_core.h"
INCLUDE_ASM("asm/ov_SC03_030/nonmatchings/ov_SC03_030_after", func_801457A4);
/* func_801457A4 (@0x801457A4) is an -O0 function; its definition lives in ov_SC03_030_o0b.c (the -O0
* whale object, whose .text ends exactly at this address). Mirrors ov_SC01_077. §116 */
DEFINE_func_801458E0() /* dedup: shared engine-core @0x801458E0 (src/shared) */
DEFINE_func_801458E8() /* dedup: shared engine-core @0x801458E8 (src/shared) */
@@ -326,10 +326,13 @@ DEFINE_func_80146128() /* dedup: shared engine-core @0x80146128 (src/shared) */
// @stuck: none — MATCH (fnptr-table idiom: D_8018393C[u8 idx](&arg))
extern void (*D_8018393C[])(void *);
extern u8 D_80126BA4;
extern s32 D_80126B58;
void func_80146360(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
D_8018393C[D_80126BA4](&D_80126B58);
}
@@ -349,10 +352,13 @@ extern short func_801508F8(s32 a0);
extern void func_8014B5B0(s32 *a0);
extern void func_80161D88(s32 a0);
extern s32 D_80126B58;
void func_801463A0(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
extern s32 *D_80126B78;
extern u16 D_80126B5E;
@@ -422,7 +428,44 @@ DEFINE_func_801466B4() /* dedup: shared engine-core @0x801466B4 (src/shared) */
INCLUDE_ASM("asm/ov_SC03_030/nonmatchings/ov_SC03_030_after", func_801466F0);
INCLUDE_ASM("asm/ov_SC03_030/nonmatchings/ov_SC03_030_after", func_80146750);
u16 *func_80146750(u16 *param_1) {
extern u16 D_8011FD10;
extern int D_8011FA1C;
extern u16 D_8011F9D6;
extern u16 D_8011F9DA;
extern u16 D_8011F9DE;
extern int D_8011FA20;
extern int D_8011FA24;
s32 iVar1;
s32 iVar2;
u16 *psVar3;
register u16 *psVar4 __asm__("$7"); /* $a3: pin so &sym loads here, copy -> psVar3($v1) */
iVar2 = 8;
psVar4 = &D_8011FD10;
psVar3 = psVar4;
iVar1 = 0x340;
for (; iVar2 < 0x14; iVar2++) {
if (*psVar3 == 0) {
*(u32 *)((char *)&(*(u32 *)&D_8011FA1C) + iVar1) = *(u32 *)((char *)param_1 + 8);
*psVar3 = *param_1;
*(u16 *)((char *)&D_8011F9D6 + iVar1) = param_1[1];
*(u16 *)((char *)&D_8011F9DA + iVar1) = param_1[2];
*(u16 *)((char *)&D_8011F9DE + iVar1) = param_1[3];
*(u32 *)((char *)&(*(u32 *)&D_8011FA20) + iVar1) = *(u32 *)((char *)param_1 + 0xC);
*(u32 *)((char *)&(*(u32 *)&D_8011FA24) + iVar1) = *(u32 *)((char *)param_1 + 0x10);
return psVar4;
}
psVar4 = psVar4 + 0x34;
psVar3 = psVar3 + 0x34;
iVar1 = iVar1 + 0x68;
}
return (u16 *)0x0;
}
DEFINE_func_8014680C() /* dedup: shared engine-core @0x8014680C (src/shared) */
+28
View File
@@ -1,2 +1,30 @@
#include "common.h"
#include "../shared/func_80144B9C.h"
/* func_801457A4 @ 0x801457A4 — an -O0 function stranded at the whale's end boundary (it is the
* FIRST fn of the -O2 "after" segment, but its target is -O0: frame-pointer + per-case stack
* reloads). It can only bank in an -O0 object, so it lives here: _o0b is already -O0-compiled and
* its .text ends exactly at 0x801457A4 (right after func_80144B9C), placing this fn at its true
* address with no linker/Makefile change. Its stub was removed from ov_SC01_077_after.c. Def sig
* conformed byte-neutrally to func_80144B9C.h's decl `void *func_801457A4(s32)` (the whale calls it
* that way); byte-proven at -O0 (match_one --o0 79/79) and by the whole-binary gate. Phase-29 bank. */
extern int D_80181E00;
void *func_801457A4(s32 param_1) {
switch (param_1) {
case 0x1010:
case 0x1052:
case 0x1077:
case 0x1094:
case 0x2013:
case 0x2015 ... 0x201a:
case 0x2055 ... 0x205b:
case 0x207a ... 0x2080:
case 0x2097 ... 0x209d:
return (void *)(&D_80181E00)[param_1 & 0xffff0fff];
default:
return (void *)D_80181E00;
break;
}
}
+48 -5
View File
@@ -2,8 +2,8 @@
#include "../shared/engine_core.h"
INCLUDE_ASM("asm/ov_SC03_031/nonmatchings/ov_SC03_031_after", func_801457A4);
/* func_801457A4 (@0x801457A4) is an -O0 function; its definition lives in ov_SC03_031_o0b.c (the -O0
* whale object, whose .text ends exactly at this address). Mirrors ov_SC01_077. §116 */
DEFINE_func_801458E0() /* dedup: shared engine-core @0x801458E0 (src/shared) */
DEFINE_func_801458E8() /* dedup: shared engine-core @0x801458E8 (src/shared) */
@@ -326,10 +326,13 @@ DEFINE_func_80146128() /* dedup: shared engine-core @0x80146128 (src/shared) */
// @stuck: none — MATCH (fnptr-table idiom: D_80183E58[u8 idx](&arg))
extern void (*D_80183E58[])(void *);
extern u8 D_80126BA4;
extern s32 D_80126B58;
void func_80146360(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
D_80183E58[D_80126BA4](&D_80126B58);
}
@@ -349,10 +352,13 @@ extern short func_801508F8(s32 a0);
extern void func_8014B5B0(s32 *a0);
extern void func_80161D88(s32 a0);
extern s32 D_80126B58;
void func_801463A0(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
extern s32 *D_80126B78;
extern u16 D_80126B5E;
@@ -422,7 +428,44 @@ DEFINE_func_801466B4() /* dedup: shared engine-core @0x801466B4 (src/shared) */
INCLUDE_ASM("asm/ov_SC03_031/nonmatchings/ov_SC03_031_after", func_801466F0);
INCLUDE_ASM("asm/ov_SC03_031/nonmatchings/ov_SC03_031_after", func_80146750);
u16 *func_80146750(u16 *param_1) {
extern u16 D_8011FD10;
extern int D_8011FA1C;
extern u16 D_8011F9D6;
extern u16 D_8011F9DA;
extern u16 D_8011F9DE;
extern int D_8011FA20;
extern int D_8011FA24;
s32 iVar1;
s32 iVar2;
u16 *psVar3;
register u16 *psVar4 __asm__("$7"); /* $a3: pin so &sym loads here, copy -> psVar3($v1) */
iVar2 = 8;
psVar4 = &D_8011FD10;
psVar3 = psVar4;
iVar1 = 0x340;
for (; iVar2 < 0x14; iVar2++) {
if (*psVar3 == 0) {
*(u32 *)((char *)&(*(u32 *)&D_8011FA1C) + iVar1) = *(u32 *)((char *)param_1 + 8);
*psVar3 = *param_1;
*(u16 *)((char *)&D_8011F9D6 + iVar1) = param_1[1];
*(u16 *)((char *)&D_8011F9DA + iVar1) = param_1[2];
*(u16 *)((char *)&D_8011F9DE + iVar1) = param_1[3];
*(u32 *)((char *)&(*(u32 *)&D_8011FA20) + iVar1) = *(u32 *)((char *)param_1 + 0xC);
*(u32 *)((char *)&(*(u32 *)&D_8011FA24) + iVar1) = *(u32 *)((char *)param_1 + 0x10);
return psVar4;
}
psVar4 = psVar4 + 0x34;
psVar3 = psVar3 + 0x34;
iVar1 = iVar1 + 0x68;
}
return (u16 *)0x0;
}
DEFINE_func_8014680C() /* dedup: shared engine-core @0x8014680C (src/shared) */
+28
View File
@@ -1,2 +1,30 @@
#include "common.h"
#include "../shared/func_80144B9C.h"
/* func_801457A4 @ 0x801457A4 — an -O0 function stranded at the whale's end boundary (it is the
* FIRST fn of the -O2 "after" segment, but its target is -O0: frame-pointer + per-case stack
* reloads). It can only bank in an -O0 object, so it lives here: _o0b is already -O0-compiled and
* its .text ends exactly at 0x801457A4 (right after func_80144B9C), placing this fn at its true
* address with no linker/Makefile change. Its stub was removed from ov_SC01_077_after.c. Def sig
* conformed byte-neutrally to func_80144B9C.h's decl `void *func_801457A4(s32)` (the whale calls it
* that way); byte-proven at -O0 (match_one --o0 79/79) and by the whole-binary gate. Phase-29 bank. */
extern int D_8018231C;
void *func_801457A4(s32 param_1) {
switch (param_1) {
case 0x1010:
case 0x1052:
case 0x1077:
case 0x1094:
case 0x2013:
case 0x2015 ... 0x201a:
case 0x2055 ... 0x205b:
case 0x207a ... 0x2080:
case 0x2097 ... 0x209d:
return (void *)(&D_8018231C)[param_1 & 0xffff0fff];
default:
return (void *)D_8018231C;
break;
}
}
+48 -5
View File
@@ -2,8 +2,8 @@
#include "../shared/engine_core.h"
INCLUDE_ASM("asm/ov_SC03_089/nonmatchings/ov_SC03_089_after", func_801457A4);
/* func_801457A4 (@0x801457A4) is an -O0 function; its definition lives in ov_SC03_089_o0b.c (the -O0
* whale object, whose .text ends exactly at this address). Mirrors ov_SC01_077. §116 */
DEFINE_func_801458E0() /* dedup: shared engine-core @0x801458E0 (src/shared) */
DEFINE_func_801458E8() /* dedup: shared engine-core @0x801458E8 (src/shared) */
@@ -326,10 +326,13 @@ DEFINE_func_80146128() /* dedup: shared engine-core @0x80146128 (src/shared) */
// @stuck: none — MATCH (fnptr-table idiom: D_8018B154[u8 idx](&arg))
extern void (*D_8018B154[])(void *);
extern u8 D_80126BA4;
extern s32 D_80126B58;
void func_80146360(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
D_8018B154[D_80126BA4](&D_80126B58);
}
@@ -349,10 +352,13 @@ extern short func_801508F8(s32 a0);
extern void func_8014B5B0(s32 *a0);
extern void func_80161D88(s32 a0);
extern s32 D_80126B58;
void func_801463A0(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
extern s32 *D_80126B78;
extern u16 D_80126B5E;
@@ -422,7 +428,44 @@ DEFINE_func_801466B4() /* dedup: shared engine-core @0x801466B4 (src/shared) */
INCLUDE_ASM("asm/ov_SC03_089/nonmatchings/ov_SC03_089_after", func_801466F0);
INCLUDE_ASM("asm/ov_SC03_089/nonmatchings/ov_SC03_089_after", func_80146750);
u16 *func_80146750(u16 *param_1) {
extern u16 D_8011FD10;
extern int D_8011FA1C;
extern u16 D_8011F9D6;
extern u16 D_8011F9DA;
extern u16 D_8011F9DE;
extern int D_8011FA20;
extern int D_8011FA24;
s32 iVar1;
s32 iVar2;
u16 *psVar3;
register u16 *psVar4 __asm__("$7"); /* $a3: pin so &sym loads here, copy -> psVar3($v1) */
iVar2 = 8;
psVar4 = &D_8011FD10;
psVar3 = psVar4;
iVar1 = 0x340;
for (; iVar2 < 0x14; iVar2++) {
if (*psVar3 == 0) {
*(u32 *)((char *)&(*(u32 *)&D_8011FA1C) + iVar1) = *(u32 *)((char *)param_1 + 8);
*psVar3 = *param_1;
*(u16 *)((char *)&D_8011F9D6 + iVar1) = param_1[1];
*(u16 *)((char *)&D_8011F9DA + iVar1) = param_1[2];
*(u16 *)((char *)&D_8011F9DE + iVar1) = param_1[3];
*(u32 *)((char *)&(*(u32 *)&D_8011FA20) + iVar1) = *(u32 *)((char *)param_1 + 0xC);
*(u32 *)((char *)&(*(u32 *)&D_8011FA24) + iVar1) = *(u32 *)((char *)param_1 + 0x10);
return psVar4;
}
psVar4 = psVar4 + 0x34;
psVar3 = psVar3 + 0x34;
iVar1 = iVar1 + 0x68;
}
return (u16 *)0x0;
}
DEFINE_func_8014680C() /* dedup: shared engine-core @0x8014680C (src/shared) */
+28
View File
@@ -1,2 +1,30 @@
#include "common.h"
#include "../shared/func_80144B9C.h"
/* func_801457A4 @ 0x801457A4 — an -O0 function stranded at the whale's end boundary (it is the
* FIRST fn of the -O2 "after" segment, but its target is -O0: frame-pointer + per-case stack
* reloads). It can only bank in an -O0 object, so it lives here: _o0b is already -O0-compiled and
* its .text ends exactly at 0x801457A4 (right after func_80144B9C), placing this fn at its true
* address with no linker/Makefile change. Its stub was removed from ov_SC01_077_after.c. Def sig
* conformed byte-neutrally to func_80144B9C.h's decl `void *func_801457A4(s32)` (the whale calls it
* that way); byte-proven at -O0 (match_one --o0 79/79) and by the whole-binary gate. Phase-29 bank. */
extern int D_80189618;
void *func_801457A4(s32 param_1) {
switch (param_1) {
case 0x1010:
case 0x1052:
case 0x1077:
case 0x1094:
case 0x2013:
case 0x2015 ... 0x201a:
case 0x2055 ... 0x205b:
case 0x207a ... 0x2080:
case 0x2097 ... 0x209d:
return (void *)(&D_80189618)[param_1 & 0xffff0fff];
default:
return (void *)D_80189618;
break;
}
}
+48 -5
View File
@@ -2,8 +2,8 @@
#include "../shared/engine_core.h"
INCLUDE_ASM("asm/ov_SC03_090/nonmatchings/ov_SC03_090_after", func_801457A4);
/* func_801457A4 (@0x801457A4) is an -O0 function; its definition lives in ov_SC03_090_o0b.c (the -O0
* whale object, whose .text ends exactly at this address). Mirrors ov_SC01_077. §116 */
DEFINE_func_801458E0() /* dedup: shared engine-core @0x801458E0 (src/shared) */
DEFINE_func_801458E8() /* dedup: shared engine-core @0x801458E8 (src/shared) */
@@ -326,10 +326,13 @@ DEFINE_func_80146128() /* dedup: shared engine-core @0x80146128 (src/shared) */
// @stuck: none — MATCH (fnptr-table idiom: D_8018D578[u8 idx](&arg))
extern void (*D_8018D578[])(void *);
extern u8 D_80126BA4;
extern s32 D_80126B58;
void func_80146360(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
D_8018D578[D_80126BA4](&D_80126B58);
}
@@ -349,10 +352,13 @@ extern short func_801508F8(s32 a0);
extern void func_8014B5B0(s32 *a0);
extern void func_80161D88(s32 a0);
extern s32 D_80126B58;
void func_801463A0(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
extern s32 *D_80126B78;
extern u16 D_80126B5E;
@@ -422,7 +428,44 @@ DEFINE_func_801466B4() /* dedup: shared engine-core @0x801466B4 (src/shared) */
INCLUDE_ASM("asm/ov_SC03_090/nonmatchings/ov_SC03_090_after", func_801466F0);
INCLUDE_ASM("asm/ov_SC03_090/nonmatchings/ov_SC03_090_after", func_80146750);
u16 *func_80146750(u16 *param_1) {
extern u16 D_8011FD10;
extern int D_8011FA1C;
extern u16 D_8011F9D6;
extern u16 D_8011F9DA;
extern u16 D_8011F9DE;
extern int D_8011FA20;
extern int D_8011FA24;
s32 iVar1;
s32 iVar2;
u16 *psVar3;
register u16 *psVar4 __asm__("$7"); /* $a3: pin so &sym loads here, copy -> psVar3($v1) */
iVar2 = 8;
psVar4 = &D_8011FD10;
psVar3 = psVar4;
iVar1 = 0x340;
for (; iVar2 < 0x14; iVar2++) {
if (*psVar3 == 0) {
*(u32 *)((char *)&(*(u32 *)&D_8011FA1C) + iVar1) = *(u32 *)((char *)param_1 + 8);
*psVar3 = *param_1;
*(u16 *)((char *)&D_8011F9D6 + iVar1) = param_1[1];
*(u16 *)((char *)&D_8011F9DA + iVar1) = param_1[2];
*(u16 *)((char *)&D_8011F9DE + iVar1) = param_1[3];
*(u32 *)((char *)&(*(u32 *)&D_8011FA20) + iVar1) = *(u32 *)((char *)param_1 + 0xC);
*(u32 *)((char *)&(*(u32 *)&D_8011FA24) + iVar1) = *(u32 *)((char *)param_1 + 0x10);
return psVar4;
}
psVar4 = psVar4 + 0x34;
psVar3 = psVar3 + 0x34;
iVar1 = iVar1 + 0x68;
}
return (u16 *)0x0;
}
DEFINE_func_8014680C() /* dedup: shared engine-core @0x8014680C (src/shared) */
+28
View File
@@ -1,2 +1,30 @@
#include "common.h"
#include "../shared/func_80144B9C.h"
/* func_801457A4 @ 0x801457A4 — an -O0 function stranded at the whale's end boundary (it is the
* FIRST fn of the -O2 "after" segment, but its target is -O0: frame-pointer + per-case stack
* reloads). It can only bank in an -O0 object, so it lives here: _o0b is already -O0-compiled and
* its .text ends exactly at 0x801457A4 (right after func_80144B9C), placing this fn at its true
* address with no linker/Makefile change. Its stub was removed from ov_SC01_077_after.c. Def sig
* conformed byte-neutrally to func_80144B9C.h's decl `void *func_801457A4(s32)` (the whale calls it
* that way); byte-proven at -O0 (match_one --o0 79/79) and by the whole-binary gate. Phase-29 bank. */
extern int D_8018BA3C;
void *func_801457A4(s32 param_1) {
switch (param_1) {
case 0x1010:
case 0x1052:
case 0x1077:
case 0x1094:
case 0x2013:
case 0x2015 ... 0x201a:
case 0x2055 ... 0x205b:
case 0x207a ... 0x2080:
case 0x2097 ... 0x209d:
return (void *)(&D_8018BA3C)[param_1 & 0xffff0fff];
default:
return (void *)D_8018BA3C;
break;
}
}
+48 -5
View File
@@ -2,8 +2,8 @@
#include "../shared/engine_core.h"
INCLUDE_ASM("asm/ov_SC03_091/nonmatchings/ov_SC03_091_after", func_801457A4);
/* func_801457A4 (@0x801457A4) is an -O0 function; its definition lives in ov_SC03_091_o0b.c (the -O0
* whale object, whose .text ends exactly at this address). Mirrors ov_SC01_077. §116 */
DEFINE_func_801458E0() /* dedup: shared engine-core @0x801458E0 (src/shared) */
DEFINE_func_801458E8() /* dedup: shared engine-core @0x801458E8 (src/shared) */
@@ -326,10 +326,13 @@ DEFINE_func_80146128() /* dedup: shared engine-core @0x80146128 (src/shared) */
// @stuck: none — MATCH (fnptr-table idiom: D_8018E420[u8 idx](&arg))
extern void (*D_8018E420[])(void *);
extern u8 D_80126BA4;
extern s32 D_80126B58;
void func_80146360(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
D_8018E420[D_80126BA4](&D_80126B58);
}
@@ -349,10 +352,13 @@ extern short func_801508F8(s32 a0);
extern void func_8014B5B0(s32 *a0);
extern void func_80161D88(s32 a0);
extern s32 D_80126B58;
void func_801463A0(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
extern s32 *D_80126B78;
extern u16 D_80126B5E;
@@ -422,7 +428,44 @@ DEFINE_func_801466B4() /* dedup: shared engine-core @0x801466B4 (src/shared) */
INCLUDE_ASM("asm/ov_SC03_091/nonmatchings/ov_SC03_091_after", func_801466F0);
INCLUDE_ASM("asm/ov_SC03_091/nonmatchings/ov_SC03_091_after", func_80146750);
u16 *func_80146750(u16 *param_1) {
extern u16 D_8011FD10;
extern int D_8011FA1C;
extern u16 D_8011F9D6;
extern u16 D_8011F9DA;
extern u16 D_8011F9DE;
extern int D_8011FA20;
extern int D_8011FA24;
s32 iVar1;
s32 iVar2;
u16 *psVar3;
register u16 *psVar4 __asm__("$7"); /* $a3: pin so &sym loads here, copy -> psVar3($v1) */
iVar2 = 8;
psVar4 = &D_8011FD10;
psVar3 = psVar4;
iVar1 = 0x340;
for (; iVar2 < 0x14; iVar2++) {
if (*psVar3 == 0) {
*(u32 *)((char *)&(*(u32 *)&D_8011FA1C) + iVar1) = *(u32 *)((char *)param_1 + 8);
*psVar3 = *param_1;
*(u16 *)((char *)&D_8011F9D6 + iVar1) = param_1[1];
*(u16 *)((char *)&D_8011F9DA + iVar1) = param_1[2];
*(u16 *)((char *)&D_8011F9DE + iVar1) = param_1[3];
*(u32 *)((char *)&(*(u32 *)&D_8011FA20) + iVar1) = *(u32 *)((char *)param_1 + 0xC);
*(u32 *)((char *)&(*(u32 *)&D_8011FA24) + iVar1) = *(u32 *)((char *)param_1 + 0x10);
return psVar4;
}
psVar4 = psVar4 + 0x34;
psVar3 = psVar3 + 0x34;
iVar1 = iVar1 + 0x68;
}
return (u16 *)0x0;
}
DEFINE_func_8014680C() /* dedup: shared engine-core @0x8014680C (src/shared) */
+28
View File
@@ -1,2 +1,30 @@
#include "common.h"
#include "../shared/func_80144B9C.h"
/* func_801457A4 @ 0x801457A4 — an -O0 function stranded at the whale's end boundary (it is the
* FIRST fn of the -O2 "after" segment, but its target is -O0: frame-pointer + per-case stack
* reloads). It can only bank in an -O0 object, so it lives here: _o0b is already -O0-compiled and
* its .text ends exactly at 0x801457A4 (right after func_80144B9C), placing this fn at its true
* address with no linker/Makefile change. Its stub was removed from ov_SC01_077_after.c. Def sig
* conformed byte-neutrally to func_80144B9C.h's decl `void *func_801457A4(s32)` (the whale calls it
* that way); byte-proven at -O0 (match_one --o0 79/79) and by the whole-binary gate. Phase-29 bank. */
extern int D_8018C8E4;
void *func_801457A4(s32 param_1) {
switch (param_1) {
case 0x1010:
case 0x1052:
case 0x1077:
case 0x1094:
case 0x2013:
case 0x2015 ... 0x201a:
case 0x2055 ... 0x205b:
case 0x207a ... 0x2080:
case 0x2097 ... 0x209d:
return (void *)(&D_8018C8E4)[param_1 & 0xffff0fff];
default:
return (void *)D_8018C8E4;
break;
}
}
+48 -5
View File
@@ -2,8 +2,8 @@
#include "../shared/engine_core.h"
INCLUDE_ASM("asm/ov_SC03_092/nonmatchings/ov_SC03_092_after", func_801457A4);
/* func_801457A4 (@0x801457A4) is an -O0 function; its definition lives in ov_SC03_092_o0b.c (the -O0
* whale object, whose .text ends exactly at this address). Mirrors ov_SC01_077. §116 */
DEFINE_func_801458E0() /* dedup: shared engine-core @0x801458E0 (src/shared) */
DEFINE_func_801458E8() /* dedup: shared engine-core @0x801458E8 (src/shared) */
@@ -326,10 +326,13 @@ DEFINE_func_80146128() /* dedup: shared engine-core @0x80146128 (src/shared) */
// @stuck: none — MATCH (fnptr-table idiom: D_801867F0[u8 idx](&arg))
extern void (*D_801867F0[])(void *);
extern u8 D_80126BA4;
extern s32 D_80126B58;
void func_80146360(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
D_801867F0[D_80126BA4](&D_80126B58);
}
@@ -349,10 +352,13 @@ extern short func_801508F8(s32 a0);
extern void func_8014B5B0(s32 *a0);
extern void func_80161D88(s32 a0);
extern s32 D_80126B58;
void func_801463A0(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
extern s32 *D_80126B78;
extern u16 D_80126B5E;
@@ -422,7 +428,44 @@ DEFINE_func_801466B4() /* dedup: shared engine-core @0x801466B4 (src/shared) */
INCLUDE_ASM("asm/ov_SC03_092/nonmatchings/ov_SC03_092_after", func_801466F0);
INCLUDE_ASM("asm/ov_SC03_092/nonmatchings/ov_SC03_092_after", func_80146750);
u16 *func_80146750(u16 *param_1) {
extern u16 D_8011FD10;
extern int D_8011FA1C;
extern u16 D_8011F9D6;
extern u16 D_8011F9DA;
extern u16 D_8011F9DE;
extern int D_8011FA20;
extern int D_8011FA24;
s32 iVar1;
s32 iVar2;
u16 *psVar3;
register u16 *psVar4 __asm__("$7"); /* $a3: pin so &sym loads here, copy -> psVar3($v1) */
iVar2 = 8;
psVar4 = &D_8011FD10;
psVar3 = psVar4;
iVar1 = 0x340;
for (; iVar2 < 0x14; iVar2++) {
if (*psVar3 == 0) {
*(u32 *)((char *)&(*(u32 *)&D_8011FA1C) + iVar1) = *(u32 *)((char *)param_1 + 8);
*psVar3 = *param_1;
*(u16 *)((char *)&D_8011F9D6 + iVar1) = param_1[1];
*(u16 *)((char *)&D_8011F9DA + iVar1) = param_1[2];
*(u16 *)((char *)&D_8011F9DE + iVar1) = param_1[3];
*(u32 *)((char *)&(*(u32 *)&D_8011FA20) + iVar1) = *(u32 *)((char *)param_1 + 0xC);
*(u32 *)((char *)&(*(u32 *)&D_8011FA24) + iVar1) = *(u32 *)((char *)param_1 + 0x10);
return psVar4;
}
psVar4 = psVar4 + 0x34;
psVar3 = psVar3 + 0x34;
iVar1 = iVar1 + 0x68;
}
return (u16 *)0x0;
}
DEFINE_func_8014680C() /* dedup: shared engine-core @0x8014680C (src/shared) */
+28
View File
@@ -1,2 +1,30 @@
#include "common.h"
#include "../shared/func_80144B9C.h"
/* func_801457A4 @ 0x801457A4 — an -O0 function stranded at the whale's end boundary (it is the
* FIRST fn of the -O2 "after" segment, but its target is -O0: frame-pointer + per-case stack
* reloads). It can only bank in an -O0 object, so it lives here: _o0b is already -O0-compiled and
* its .text ends exactly at 0x801457A4 (right after func_80144B9C), placing this fn at its true
* address with no linker/Makefile change. Its stub was removed from ov_SC01_077_after.c. Def sig
* conformed byte-neutrally to func_80144B9C.h's decl `void *func_801457A4(s32)` (the whale calls it
* that way); byte-proven at -O0 (match_one --o0 79/79) and by the whole-binary gate. Phase-29 bank. */
extern int D_80184CB4;
void *func_801457A4(s32 param_1) {
switch (param_1) {
case 0x1010:
case 0x1052:
case 0x1077:
case 0x1094:
case 0x2013:
case 0x2015 ... 0x201a:
case 0x2055 ... 0x205b:
case 0x207a ... 0x2080:
case 0x2097 ... 0x209d:
return (void *)(&D_80184CB4)[param_1 & 0xffff0fff];
default:
return (void *)D_80184CB4;
break;
}
}
+48 -5
View File
@@ -2,8 +2,8 @@
#include "../shared/engine_core.h"
INCLUDE_ASM("asm/ov_SC03_093/nonmatchings/ov_SC03_093_after", func_801457A4);
/* func_801457A4 (@0x801457A4) is an -O0 function; its definition lives in ov_SC03_093_o0b.c (the -O0
* whale object, whose .text ends exactly at this address). Mirrors ov_SC01_077. §116 */
DEFINE_func_801458E0() /* dedup: shared engine-core @0x801458E0 (src/shared) */
DEFINE_func_801458E8() /* dedup: shared engine-core @0x801458E8 (src/shared) */
@@ -326,10 +326,13 @@ DEFINE_func_80146128() /* dedup: shared engine-core @0x80146128 (src/shared) */
// @stuck: none — MATCH (fnptr-table idiom: D_801879C8[u8 idx](&arg))
extern void (*D_801879C8[])(void *);
extern u8 D_80126BA4;
extern s32 D_80126B58;
void func_80146360(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
D_801879C8[D_80126BA4](&D_80126B58);
}
@@ -349,10 +352,13 @@ extern short func_801508F8(s32 a0);
extern void func_8014B5B0(s32 *a0);
extern void func_80161D88(s32 a0);
extern s32 D_80126B58;
void func_801463A0(void)
{
/* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
LATER function in this TU, which blocks a byte-true decl of a different type.
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
extern s32 D_80126B58;
extern s32 *D_80126B78;
extern u16 D_80126B5E;
@@ -422,7 +428,44 @@ DEFINE_func_801466B4() /* dedup: shared engine-core @0x801466B4 (src/shared) */
INCLUDE_ASM("asm/ov_SC03_093/nonmatchings/ov_SC03_093_after", func_801466F0);
INCLUDE_ASM("asm/ov_SC03_093/nonmatchings/ov_SC03_093_after", func_80146750);
u16 *func_80146750(u16 *param_1) {
extern u16 D_8011FD10;
extern int D_8011FA1C;
extern u16 D_8011F9D6;
extern u16 D_8011F9DA;
extern u16 D_8011F9DE;
extern int D_8011FA20;
extern int D_8011FA24;
s32 iVar1;
s32 iVar2;
u16 *psVar3;
register u16 *psVar4 __asm__("$7"); /* $a3: pin so &sym loads here, copy -> psVar3($v1) */
iVar2 = 8;
psVar4 = &D_8011FD10;
psVar3 = psVar4;
iVar1 = 0x340;
for (; iVar2 < 0x14; iVar2++) {
if (*psVar3 == 0) {
*(u32 *)((char *)&(*(u32 *)&D_8011FA1C) + iVar1) = *(u32 *)((char *)param_1 + 8);
*psVar3 = *param_1;
*(u16 *)((char *)&D_8011F9D6 + iVar1) = param_1[1];
*(u16 *)((char *)&D_8011F9DA + iVar1) = param_1[2];
*(u16 *)((char *)&D_8011F9DE + iVar1) = param_1[3];
*(u32 *)((char *)&(*(u32 *)&D_8011FA20) + iVar1) = *(u32 *)((char *)param_1 + 0xC);
*(u32 *)((char *)&(*(u32 *)&D_8011FA24) + iVar1) = *(u32 *)((char *)param_1 + 0x10);
return psVar4;
}
psVar4 = psVar4 + 0x34;
psVar3 = psVar3 + 0x34;
iVar1 = iVar1 + 0x68;
}
return (u16 *)0x0;
}
DEFINE_func_8014680C() /* dedup: shared engine-core @0x8014680C (src/shared) */
+28
View File
@@ -1,2 +1,30 @@
#include "common.h"
#include "../shared/func_80144B9C.h"
/* func_801457A4 @ 0x801457A4 — an -O0 function stranded at the whale's end boundary (it is the
* FIRST fn of the -O2 "after" segment, but its target is -O0: frame-pointer + per-case stack
* reloads). It can only bank in an -O0 object, so it lives here: _o0b is already -O0-compiled and
* its .text ends exactly at 0x801457A4 (right after func_80144B9C), placing this fn at its true
* address with no linker/Makefile change. Its stub was removed from ov_SC01_077_after.c. Def sig
* conformed byte-neutrally to func_80144B9C.h's decl `void *func_801457A4(s32)` (the whale calls it
* that way); byte-proven at -O0 (match_one --o0 79/79) and by the whole-binary gate. Phase-29 bank. */
extern int D_80185E8C;
void *func_801457A4(s32 param_1) {
switch (param_1) {
case 0x1010:
case 0x1052:
case 0x1077:
case 0x1094:
case 0x2013:
case 0x2015 ... 0x201a:
case 0x2055 ... 0x205b:
case 0x207a ... 0x2080:
case 0x2097 ... 0x209d:
return (void *)(&D_80185E8C)[param_1 & 0xffff0fff];
default:
return (void *)D_80185E8C;
break;
}
}

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