diff --git a/config/dedup.us.yaml b/config/dedup.us.yaml index 79b8b66105..681f493505 100644 --- a/config/dedup.us.yaml +++ b/config/dedup.us.yaml @@ -9977,3 +9977,10 @@ groups: func: DEFINE_func_8014E790 vram: 0x8014E790 binaries: [ov_SC01_077, ov_SC01_005, ov_SC01_006, ov_SC03_001, ov_SC01_000, ov_SC01_001, ov_SC02_000, ov_SC02_003, ov_SC03_002, ov_SC03_006, ov_SC04_000, ov_SC04_018, ov_SC04_019, ov_SC05_000, ov_SC06_000, ov_SC07_000, ov_SC01_004, ov_SC01_008, ov_SC01_009, ov_SC01_074, ov_SC01_080, ov_SC01_084, ov_SC02_004, ov_SC02_005, ov_SC02_011, ov_SC02_015, ov_SC02_016, ov_SC02_017, ov_SC02_021, ov_SC02_026, ov_SC02_027, ov_SC02_028, ov_SC02_031, ov_SC02_035, ov_SC02_039, ov_SC02_041, ov_SC03_003, ov_SC03_007, ov_SC03_010, ov_SC03_011, ov_SC03_012, ov_SC03_013, ov_SC03_014, ov_SC03_015, ov_SC03_023, ov_SC03_024, ov_SC03_028, ov_SC03_029, ov_SC03_030, ov_SC03_031, ov_SC03_089, ov_SC03_090, ov_SC03_091, ov_SC03_092, ov_SC03_093, ov_SC03_094, ov_SC03_095, ov_SC03_096, ov_SC03_097, ov_SC03_098, ov_SC03_099, ov_SC03_100, ov_SC03_101, ov_SC03_102, ov_SC03_103, ov_SC03_104, ov_SC03_105, ov_SC03_108, ov_SC03_109, ov_SC03_110, ov_SC03_111, ov_SC03_112, ov_SC03_113, ov_SC03_114, ov_SC03_115, ov_SC03_116, ov_SC03_117, ov_SC03_118, ov_SC03_119, ov_SC03_121, ov_SC03_124, ov_SC03_125, ov_SC03_126, ov_SC04_002, ov_SC04_003, ov_SC04_004, ov_SC04_005, ov_SC04_006, ov_SC04_007, ov_SC04_008, ov_SC04_009, ov_SC04_010, ov_SC04_011, ov_SC04_012, ov_SC04_015, ov_SC04_016, ov_SC04_020, ov_SC04_021, ov_SC05_001, ov_SC05_002, ov_SC05_003, ov_SC05_004, ov_SC05_005, ov_SC05_006, ov_SC05_007, ov_SC05_008, ov_SC05_009, ov_SC05_010, ov_SC05_011, ov_SC05_017, ov_SC05_018, ov_SC05_019, ov_SC06_006, ov_SC06_008, ov_SC06_010, ov_SC06_011, ov_SC06_013, ov_SC06_014, ov_SC06_015, ov_SC06_016, ov_SC06_018, ov_SC06_020, ov_SC06_022, ov_SC06_024, ov_SC06_025, ov_SC06_027, ov_SC06_029, ov_SC06_030, ov_SC06_032, ov_SC06_033, ov_SC07_001, ov_SC07_002, ov_SC07_008, ov_SC07_009] + - id: E_func_8012D3B4 + tier: h_exact + hash: c56e1eba19b30da8f225c2a6029ea99c00ebd593 + source: src/shared/engine_core.h + func: DEFINE_func_8012D3B4 + vram: 0x8012D3B4 + binaries: [ov_SC01_077, ov_SC01_005, ov_SC01_006, ov_SC03_001, ov_SC01_000, ov_SC01_001, ov_SC02_000, ov_SC02_003, ov_SC03_002, ov_SC03_006, ov_SC04_000, ov_SC04_018, ov_SC04_019, ov_SC05_000, ov_SC06_000, ov_SC07_000, ov_SC01_004, ov_SC01_008, ov_SC01_009, ov_SC01_074, ov_SC01_080, ov_SC01_084, ov_SC02_004, ov_SC02_005, ov_SC02_011, ov_SC02_015, ov_SC02_016, ov_SC02_017, ov_SC02_021, ov_SC02_026, ov_SC02_027, ov_SC02_028, ov_SC02_031, ov_SC02_035, ov_SC02_039, ov_SC02_041, ov_SC03_003, ov_SC03_007, ov_SC03_010, ov_SC03_011, ov_SC03_012, ov_SC03_013, ov_SC03_014, ov_SC03_015, ov_SC03_023, ov_SC03_024, ov_SC03_028, ov_SC03_029, ov_SC03_030, ov_SC03_031, ov_SC03_089, ov_SC03_090, ov_SC03_091, ov_SC03_092, ov_SC03_093, ov_SC03_094, ov_SC03_095, ov_SC03_096, ov_SC03_097, ov_SC03_098, ov_SC03_099, ov_SC03_100, ov_SC03_101, ov_SC03_102, ov_SC03_103, ov_SC03_104, ov_SC03_105, ov_SC03_108, ov_SC03_109, ov_SC03_110, ov_SC03_111, ov_SC03_112, ov_SC03_113, ov_SC03_114, ov_SC03_115, ov_SC03_116, ov_SC03_117, ov_SC03_118, ov_SC03_119, ov_SC03_121, ov_SC03_124, ov_SC03_125, ov_SC03_126, ov_SC04_002, ov_SC04_003, ov_SC04_004, ov_SC04_005, ov_SC04_006, ov_SC04_007, ov_SC04_008, ov_SC04_009, ov_SC04_010, ov_SC04_011, ov_SC04_012, ov_SC04_015, ov_SC04_016, ov_SC04_020, ov_SC04_021, ov_SC05_001, ov_SC05_002, ov_SC05_003, ov_SC05_004, ov_SC05_005, ov_SC05_006, ov_SC05_007, ov_SC05_008, ov_SC05_009, ov_SC05_010, ov_SC05_011, ov_SC05_017, ov_SC05_018, ov_SC05_019, ov_SC06_006, ov_SC06_008, ov_SC06_010, ov_SC06_011, ov_SC06_013, ov_SC06_014, ov_SC06_015, ov_SC06_016, ov_SC06_018, ov_SC06_020, ov_SC06_022, ov_SC06_024, ov_SC06_025, ov_SC06_027, ov_SC06_029, ov_SC06_030, ov_SC06_032, ov_SC06_033, ov_SC07_001, ov_SC07_002, ov_SC07_008, ov_SC07_009] diff --git a/docs/hand-matching-process.md b/docs/hand-matching-process.md new file mode 100644 index 0000000000..6960fd0aa2 --- /dev/null +++ b/docs/hand-matching-process.md @@ -0,0 +1,206 @@ +# Guided Hand-Matching — Process Guide & Phase-17 Findings + +> **Created 2026-06-19 (Phase 17), mid-session, so the lessons survive a fresh session.** +> This is the replicable process for matching the struct-heavy shared-core residual by +> **Ghidra-driven hand-matching** — the approach that the Phase-17 demo proved works where the +> Phase-16 m2c+permuter brute-force topped out. Companion to `docs/matching-cookbook.md` (idiom +> catalog) and `docs/struct-core-pivot.md` (Phase-16 wall analysis). **Goal: make this so complete +> it can later be partly automated from the process itself.** + +--- + +## 0. THE HEADLINE FINDING (go/no-go = GO) + +**Phase 16 declared the loose-typing wall "fundamental / unfixable." This session disproves that for +the majority of functions.** The wall is really a **signature-CONSISTENCY problem**, and it dissolves +under **byte-neutral canonical-widening + the codebase's established cast idioms**. + +**Demo close-rate: 4 of 5 sampled residuals reached a full whole-binary byte-match.** + +| Function | m2c verdict | Result | Decisive fixes | +|---|---|---|---| +| `func_8012D3B4` | PERMUTER_CLASS (1-off) | ✅ CLOSED, **propagated ×134** | m2c ptr-vs-byte arithmetic; loose-typing: `RotTransPers` void→s32 widen + `(u16)D_800B9A02` cast | +| `func_8012832C` | STRUCTURAL_MISS (switch) | ✅ CLOSED (ov_SC01_077) | gcc reload s0-spill (restructure→rematerialize); branch polarity §T4; loose-typing: 3× void→s32 widen | +| `func_8015F89C` | MCOMPILE_fnptr-call | ✅ CLOSED (ov_SC01_077) | type the fn-ptr table (`void (*D_X[])(void*)`); arity conflict `func_80161208` via the **cast idiom** `((s32(*)(void*))f)(arg)`; canonical-sig-match the callees | +| `func_80147B5C` | STRUCTURAL_MISS (pure struct) | ✅ CLOSED (ov_SC01_077) | **canonical-sig-match the fn's own param** (`s32 a0` per canonical, cast to ptr in body); raw offset casts. *match_one MATCH first try.* | +| `func_8012A328` | STRUCTURAL_MISS (globals+call) | ⚠️ 60/60 structure + correct regs, **1 instr off** | gcc GCSE/reload placement quirk (per-block rematerialize vs hoist) — the §10 hard tail; permuter floor-polluted, can't help | + +**Every function reached *isolated* correctness (match_one MATCH or 60/60).** What separated the +closes from the miss was the **whole-binary** step: the closes' blockers were *loose-typing / +signature-consistency conflicts* (deterministically fixable — see §3a), the miss's blocker a *gcc +placement quirk* (the genuine, minority hard tail). **The fnptr-call class (§15-S2, 85 fns) and the +pure-struct class are matchable; even the §14e "arity wall" is partly breakable via the cast idiom.** + +--- + +## 1. THE LOOP (the replicable process) + +For one residual function `func_` in the harvest source `ov_SC01_077`: + +1. **Richest decompile — use BOTH:** + - **Ghidra whole-binary** `get_code(0x, decompiler)` — resolves locals vs **globals** vs + **callee identities** (whole-program view m2c lacks). The MCP server must serve the overlay + (`tools/ghidra_mcp_start.sh ov_SC01_077`, then `/mcp`, R29). get_code is async → poll + `get_task_status`. + - **m2c** `tools/m2c/m2c.py -t mipsel-gcc-c -f func_ --context .run/actor_ctx2.c ` — a + per-function scaffold (decompile.py hardcodes the main-EXE path; call m2c directly for overlays). + - **The ASM is the final arbiter** for addressing + exact codegen (m2c and Ghidra often *disagree* + on local/global modeling — e.g. `func_8012A328`: m2c made `D_80126B58` a struct, Ghidra made the + same bytes separate globals; the asm's `lui $s1` reuse settled it). + +2. **Hand-write correct C** — fix m2c's structural/arithmetic errors with Ghidra's structure + the + actor struct (`docs/actor-struct.md`) + the cookbook idioms (§below). + +3. **Iterate isolated** with `tools/match_one.py func_ --c --asm-subdir + asm/ov_SC01_077/nonmatchings/ov_SC01_077` (fast, relocation-masked; prints per-instruction diff). + Drive to `MATCH (N ins)`. + +4. **Resolve loose-typing for the whole binary** (THE step Phase 16 missed): + - **Canonical-widening:** a callee declared `void` by a prior harvest (because *that* caller + ignored its `$v0` return) but *this* function uses the return → widen the canonical to `s32`. + **Byte-neutral** (a function with no explicit `return` compiles identically as `void` or `s32`). + Edit the single `extern void func_X` in `src/shared/engine_core.h` (or the inline def in the + overlay `.c`) to `extern s32 func_X`. + - **Cast idiom:** keep the canonical `s16`, write `(u16)D_X` at unsigned use-sites (the asm `lhu`). + This is the codebase's own established pattern (e.g. engine_core.h `(u16)D_800B9A02 * 20`). + - **Match existing canonical sigs** for every callee/global from `engine_core.h` (grep it) so the + one-big-TU `ov_SC01_077.c` has no conflicting declarations. + +5. **Whole-binary gate (THE arbiter, G3/P9):** `tools/harvest_verify.py --binary ov_SC01_077 --src + src/ov_SC01_077/ov_SC01_077.c --asm-subdir asm/ov_SC01_077/nonmatchings/ov_SC01_077 --out + build/ov_SC01_077/ov_SC01_077 --good-sha d19c9580a02dc63ba1f0e7e0c770f3b10de35635 --drafts `. + It substitutes the draft, builds the whole overlay, keeps it iff SHA == d19c9580 (else reverts). + **CRUX: match_one MATCH ≠ whole-binary match** — match_one masks `jal`/`%hi`/`%lo`, so it can't see + callee-signature conflicts. The build is the only truth. + +6. **Propagate ×134:** `tools/dedup_propagate.py --addr 0x --source-overlay ov_SC01_077` (byte- + gates every overlay, fail-closed; authors a `DEFINE_func_` macro in engine_core.h, registers + the group in `config/dedup.us.yaml`). Then `make check-all` → 136/136 (R22). + +To diagnose a whole-binary FAIL: substitute the draft into a `.c` copy, `make build BINARY=ov_SC01_077 +2>&1 | grep -iE 'conflicting|redefin|error'`, read the conflict lines, fix the sig, revert. + +--- + +## 2. IDIOMS & FIXES discovered this session (fold into cookbook §1/§2/§16) + +- **m2c pointer-vs-byte arithmetic (HIGH-frequency m2c bug).** m2c writes `&D_X + (i * K)` using + `s32*` pointer arithmetic (scales ×4), where the target indexes by **bytes**. Tell: a shift off by + ×4 (e.g. `sll v0,0x4` vs `sll v0,2`). Fix: `*(s32 *)((s8 *)&D_X + (i * K))`. (`func_8012D3B4`.) +- **Branch polarity (§T4 restated).** A lone `beqz↔bnez` flip with swapped successors = put the + target's **fall-through** block in the `if`, the branched-to block in the `else`. m2c's `== 0` form + was right; "improving" it to `!= 0` + swapped arms broke it. (`func_8012832C`.) +- **gcc reload rematerialization vs callee-saved spill.** A cheap constant (`v0 = 1`) held **live + across a call** makes gcc spill it to a callee-saved reg (`s0`, +frame). The original instead + **rematerializes** the constant at each exit. Fix: restructure so the constant is set in the + *else* / at the exits, not before the call (`if (cond && call()==0) v0=f(); else v0=1;`). + (`func_8012832C`.) +- **Cross-jump call structure.** To get a single shared `jal` with **per-branch arg setup** + (a0/a2 duplicated, only a1 differing), write the call **inside each branch**, converging via gotos + to a shared tail; gcc cross-jumps the identical `jal`+tail. One call site → gcc hoists (too few + ins); 4+ → gcc under-merges (too many); exactly the shared-block count matches. (`func_8012A328`.) +- **Dual base pointers.** A global loaded once into a callee-saved reg and reused at several offsets + (`lui $s1,D_X` then `lh 0xNN($s1)`) = model it as a pointer variable `u8 *p = D_X;` referenced + across the call. Two such bases → two callee-saved regs (s0/s1); their allocation order follows + first-use order. (`func_8012A328`.) +- **s32 vs s16 for sign-extended values passed to calls.** A value loaded `lh` (sign-extended to 32) + and passed to a function wants the local + the param typed `s32`, not `s16` — `s16` adds a + redundant `sll/sra` re-extension. (`func_8012A328`.) +- **THE HARD RESIDUAL (the §10 minority tail):** **per-block address rematerialization vs hoist.** The + original re-materializes a global's address (`lui+addiu` into a callee-saved reg) **per block** + while sharing the post-call store; gcc from clean C either hoists it once (1 ins short, store + merged) or makes the store per-block (over by N). The exact midpoint is a gcc GCSE/reload balance + not cleanly source-steerable, and the **permuter can't score it** (object score floor-polluted by + the masked global/call symbols, cookbook §10). 1 instruction, genuinely hard. (`func_8012A328` — + best draft `.run/demo/func_8012A328.c`, the `p+q` form 61 vs 60.) + +--- + +## 3. LOOSE-TYPING CONFLICTS catalog (this session — all byte-neutral, fleet re-verified 136/136) + +| Symbol | Was | Now | Where | Why | +|---|---|---|---|---| +| `RotTransPers` | `void` | `s32` | engine_core.h `DEFINE_func_8017C908` | func_8012D3B4 uses its return | +| `func_80029504` | `void` | `s32` | engine_core.h `DEFINE_func_80159120` | func_8012832C uses its return | +| `func_801288B0` | `void` | `s32` | ov_SC01_077.c inline def | func_8012832C uses its return | +| `func_801289F0` | `void` | `s32` | ov_SC01_077.c inline def | func_8012832C uses its return | +| `D_800B9A02` | `s16` (kept) | `(u16)` cast at use | func_8012D3B4 body | asm loads `lhu` | +| `func_80161208` | `s32 (void)` (kept) | cast at 1-arg call | func_8015F89C call | called 0-arg elsewhere, 1-arg (ptr) here | +| `func_801466F0` / `func_80147078` | — | match canonical sig in the draft | func_8015F89C decls | callee param types (s32/s32*/s16) | +| `func_80147B5C` (the fn itself) | `void(s32,void*)` canonical | declare param `s32`, cast in body | func_80147B5C def | callers pass the address as `s32` | + +### §3a — THE SIGNATURE-CONSISTENCY RESOLUTION PLAYBOOK (the wall-breaker) + +The Phase-16 "loose-typing wall" is really: *the same symbol is declared/used with different types +across the single overlay TU.* `match_one` (standalone) never sees it; the whole-binary build does. +**Five deterministic moves resolve almost all of it** (apply whichever the conflict needs): + +1. **Return-widening (`void`→`s32`).** A callee declared `void` (a prior harvest ignored its `$v0`) + but THIS fn uses the return → widen its canonical to `s32`. **Byte-neutral** (no explicit `return` + ⇒ identical epilogue). Edit the single `extern void func_X` in engine_core.h / the overlay def. +2. **Sign cast (`(u16)`/`(s16)`).** Keep the canonical (`s16`); write `(u16)D_X` where the asm loads + `lhu`. The codebase's own idiom. +3. **Arity cast** — *refines the §14e "arity wall = dead-end".* A callee called 0-arg by one fn and + N-arg by another: keep the canonical `(void)`, and at the N-arg site **cast** — + `((ret (*)(argtypes))func_X)(args)`. The codebase already does this (`((s32(*)(s32*))func_80161208)`). + Works when the extra args are **pointers** (no default promotion); narrow-scalar arity is still hard. +4. **Param-type canonical-matching.** Declare every callee (and the fn's OWN params) with the EXACT + canonical signature from engine_core.h (grep it), then cast inside the body. E.g. the canonical + `func_80147B5C(s32 a0, void *a1)` passes an address as `s32` → write `void func_80147B5C(s32 arg0, + void *arg1)` and access `*(s32 *)(arg0 + 0xNN)` (cast int→ptr, byte-neutral). +5. **Fn-ptr-table typing.** A `(*((idx*4)+D_x))(args)` call needs `D_x` typed as a function-pointer + array — `extern void (*D_x[])(argtypes);` (engine_core.h often already has it) → m2c/hand C compiles + and matches (`func_8015F89C`: `D_801891B8[arg0->f_0](arg0)`). + +**Diagnosis loop:** `harvest_verify` FAIL → substitute into a `.c` copy → `make build BINARY=ov_SC01_077 +2>&1 | grep -iE 'conflicting|redefin'` → each line names a symbol; `grep` its canonical in +engine_core.h → apply move 1–5 → revert the copy, re-gate. (Moves 1–4 are the bulk; func_8012D3B4 + +func_8012832C + func_8015F89C + func_80147B5C all closed this way.) + +--- + +## 4. CURRENT STATE (what's banked / modified this session — do not redo) + +- **BANKED matches (all in ov_SC01_077, byte-gated):** `func_8012D3B4` (propagated **×134** → + `DEFINE_func_8012D3B4` in engine_core.h + `config/dedup.us.yaml`, 134 members); `func_8012832C`, + `func_8015F89C`, `func_80147B5C` (inline in `ov_SC01_077.c`, not yet propagated — propagating + func_8012832C/8015F89C would cascade their callee widenings across overlays; func_8015F89C reach is + only ~3 anyway; func_80147B5C reaches 134). **5 sampled, 4 closed (80%).** +- **WIDENINGS in place (byte-neutral):** see §3 table. +- **NOT closed:** `func_8012A328` (60/60 structure + correct regs, 1-instr gcc quirk). Drafts + + variants in `.run/demo/` (`func_8012A328.c` = best `p+q`; `v_*.c` = the experiments). `func_801298F4` + also set aside (a walking-pointer codegen quirk — gcc strength-reduces `*q++` to indexed; the + original keeps the walk; structure-confirmed by m2c+Ghidra). +- **Fleet:** `make check-all` → **136/136 byte-identical**; `make report` → **55.04%** (was 55.00% at + this session's start, 54.48% at phase start); `dedup-check` 1409 validated / 0 failed. +- **Scratch:** all drafts under `.run/demo/`. Permuter setup at `.run/permuter/func_8012A328/` (base + score 1680, floor-polluted — abandoned). + +--- + +## 5. TOWARD PROGRAMMATIC AUTOMATION (the end goal) + +Steps ranked by how mechanizable they are: +1. **Canonical-widening — FULLY automatable.** Scan: for each function declared `void` whose body has + no explicit `return`, find any call site that *uses* its result (assigns/tests `$v0`) → widen its + canonical to `s32` everywhere (engine_core.h + overlay defs), gate the fleet byte-neutral. This is + the **first tool to build** (task 6). It dissolves the dominant blocker pre-harvest. +2. **The cast idiom — mechanical.** `(u16)`/`(s16)` at use-sites per the asm load (`lhu`/`lh`); a + draft-rewriter can apply it. +3. **m2c arithmetic/polarity fixes — partly mechanical.** The ptr-vs-byte ×4 tell and the branch- + polarity flip are detectable from the match_one diff; a "fix-suggester" could propose them. +4. **The gcc-quirk tail — NOT automatable cheaply.** Stays manual / permuter (when scorable) / honest + stub. It's a minority; don't let it block the bulk. + +The dream: `gen_harvest_targets` (already callee-sig-aware) + an auto-widening pre-pass + m2c + +diff-driven fix-suggestions → a mostly-automatic loop, with the gcc-quirk tail flagged for humans. + +--- + +## 6. PLAN FORWARD (Drew's sequence, 2026-06-19) + +1. **Sample 1-2 more** (a struct-using STRUCTURAL_MISS + a fnptr-call) to firm the 2/3 rate. +2. **Prove the giant** `func_80144B9C` (770 ins, ×134, the Phase-15 prime target) end-to-end. +3. **Build the canonical-widening pass + harvest wave** (task 6) — operationalize §5.1. +4. **Document fully** (this file, expanded) + automate where possible (§5). +5. Then T7 go/no-go close + PhaseEnd. diff --git a/phase-ends/CURRENT_PHASE.md b/phase-ends/CURRENT_PHASE.md index 1e4f3c163c..683d6b1acb 100644 --- a/phase-ends/CURRENT_PHASE.md +++ b/phase-ends/CURRENT_PHASE.md @@ -191,3 +191,17 @@ types — 67% reach incl. the giants) → T6 (validate the 146 permuter candidat winners don't transfer (isolated≠whole-binary TU; callee inlining). All 5 avenues now tested: T2=0, T3=+0.52% (banked), T4/T5 byte-neutral, T6=0. **The harness ceiling did NOT rise to eureka.** NEXT: **T7 — go/no-go (recommend NO-GO on the big unattended run) + PhaseEnd. Tier-1/Max — prompt Drew for /effort Max.** +- 2026-06-19 (session 2, Max): **DEMO DONE → GO on guided hand-matching.** Pivoted from brute-force to the + Ghidra-driven hand-match loop (Drew steered to Ghidra whole-binary for local/global). Sampled **5 residuals, + 4 CLOSED (80%)**: **func_8012D3B4** (PERMUTER_CLASS, CLOSED + propagated **×134**); **func_8012832C** + (STRUCTURAL_MISS switch, CLOSED); **func_8015F89C** (fnptr-call §15-S2, CLOSED); **func_80147B5C** + (pure struct, CLOSED first-try); **func_8012A328** (STRUCTURAL_MISS globals+call) = 60/60 structure + + correct registers but **1-instr gcc placement quirk** (§10 hard tail; permuter floor-polluted — the only + miss). 🔑 **KEY FINDING: the Phase-16 "loose-typing wall" is NOT fundamental — + it's a signature-CONSISTENCY problem that dissolves via byte-neutral canonical-widening (void→s32 for + $v0-returning fns) + the (u16)/(s16) cast idiom.** 4 widenings this session, fleet re-verified **136/136 + byte-identical** (R22); fleet **55.00%→55.04%**; dedup-check 1409/0. **Full process + idioms + current state + + automation notes captured durably in `docs/hand-matching-process.md`** (so a fresh session loses nothing). + Drew's plan (in order): **sample 1-2 more (struct-using + fnptr-call) → prove the giant func_80144B9C → + build the canonical-widening pass + harvest → document fully + automate.** Tasks 5/6/7 created. **NEXT: + sample 2 more, then the giant.** Effort: Max (hand-matching, Tier-1). diff --git a/src/ov_SC01_000/ov_SC01_000.c b/src/ov_SC01_000/ov_SC01_000.c index 12cc11c512..349ec2770e 100644 --- a/src/ov_SC01_000/ov_SC01_000.c +++ b/src/ov_SC01_000/ov_SC01_000.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC01_000/nonmatchings/ov_SC01_000", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC01_000/nonmatchings/ov_SC01_000", func_8012D4B4); diff --git a/src/ov_SC01_001/ov_SC01_001.c b/src/ov_SC01_001/ov_SC01_001.c index c81f910741..aafe6c8c54 100644 --- a/src/ov_SC01_001/ov_SC01_001.c +++ b/src/ov_SC01_001/ov_SC01_001.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC01_001/nonmatchings/ov_SC01_001", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC01_001/nonmatchings/ov_SC01_001", func_8012D4B4); diff --git a/src/ov_SC01_004/ov_SC01_004.c b/src/ov_SC01_004/ov_SC01_004.c index b1805518a1..873fb47284 100644 --- a/src/ov_SC01_004/ov_SC01_004.c +++ b/src/ov_SC01_004/ov_SC01_004.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC01_004/nonmatchings/ov_SC01_004", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC01_004/nonmatchings/ov_SC01_004", func_8012D4B4); diff --git a/src/ov_SC01_005/ov_SC01_005.c b/src/ov_SC01_005/ov_SC01_005.c index 1b3de4a797..6a3564cd14 100644 --- a/src/ov_SC01_005/ov_SC01_005.c +++ b/src/ov_SC01_005/ov_SC01_005.c @@ -344,7 +344,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC01_005/nonmatchings/ov_SC01_005", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC01_005/nonmatchings/ov_SC01_005", func_8012D4B4); diff --git a/src/ov_SC01_006/ov_SC01_006.c b/src/ov_SC01_006/ov_SC01_006.c index 5176ec0527..dae3bec86b 100644 --- a/src/ov_SC01_006/ov_SC01_006.c +++ b/src/ov_SC01_006/ov_SC01_006.c @@ -344,7 +344,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC01_006/nonmatchings/ov_SC01_006", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC01_006/nonmatchings/ov_SC01_006", func_8012D4B4); diff --git a/src/ov_SC01_008/ov_SC01_008.c b/src/ov_SC01_008/ov_SC01_008.c index c458b9a476..72e1a1ae0a 100644 --- a/src/ov_SC01_008/ov_SC01_008.c +++ b/src/ov_SC01_008/ov_SC01_008.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC01_008/nonmatchings/ov_SC01_008", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC01_008/nonmatchings/ov_SC01_008", func_8012D4B4); diff --git a/src/ov_SC01_009/ov_SC01_009.c b/src/ov_SC01_009/ov_SC01_009.c index bdaa0616b4..62c0e208c9 100644 --- a/src/ov_SC01_009/ov_SC01_009.c +++ b/src/ov_SC01_009/ov_SC01_009.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC01_009/nonmatchings/ov_SC01_009", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC01_009/nonmatchings/ov_SC01_009", func_8012D4B4); diff --git a/src/ov_SC01_074/ov_SC01_074.c b/src/ov_SC01_074/ov_SC01_074.c index 676f61e3af..6c1807e529 100644 --- a/src/ov_SC01_074/ov_SC01_074.c +++ b/src/ov_SC01_074/ov_SC01_074.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC01_074/nonmatchings/ov_SC01_074", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC01_074/nonmatchings/ov_SC01_074", func_8012D4B4); diff --git a/src/ov_SC01_077/ov_SC01_077.c b/src/ov_SC01_077/ov_SC01_077.c index 9d00acf2d2..29e33391ee 100644 --- a/src/ov_SC01_077/ov_SC01_077.c +++ b/src/ov_SC01_077/ov_SC01_077.c @@ -40,7 +40,51 @@ DEFINE_func_801282CC() /* dedup: shared engine-core @0x801282CC (src/shared) */ DEFINE_func_801282EC() /* dedup: shared engine-core @0x801282EC (src/shared) */ -INCLUDE_ASM("asm/ov_SC01_077/nonmatchings/ov_SC01_077", func_8012832C); +extern s16 currentLocationId; +extern s32 func_80029504(void); +extern s32 func_800CF854(s32); +extern s32 func_80128998(void); +extern s32 func_801289F0(void); +extern s32 func_801288E8(s32); +extern s32 func_80128940(s32); +extern s32 func_80029178(s32); +extern s32 func_801288B0(void); +extern void func_80011C10(void); + +void func_8012832C(void) { + s32 a0 = func_80029504(); + s32 v0; + switch (currentLocationId) { + case 0x300E: + if (func_800CF854(a0) == 0) { + v0 = func_80128998(); + } else { + v0 = func_801289F0(); + } + break; + case 0x30A0: + if (a0 < 0x640) { + v0 = func_801288E8(a0); + } else { + v0 = func_80128940(a0); + } + break; + case 0x3014: + if (a0 == 0x4B0 && (func_80029178(0x138) & 0xFF) == 0) { + v0 = func_801288B0(); + } else { + v0 = 1; + } + break; + default: + func_80011C10(); + return; + } + if (v0 != 0) { + func_80011C10(); + } +} + DEFINE_func_80128420() /* dedup: shared engine-core @0x80128420 (src/shared) */ @@ -70,7 +114,7 @@ extern void func_8001ABBC(s32 a0, s32 a1, void *a2, s32 a3, s32 sp10); extern s32 D_801D7F90; extern u8 D_800AEFD0; -void func_801288B0(void) { +s32 func_801288B0(void) { func_8001ABBC(0, 0, &D_800AEFD0, D_801D7F90, 0); } @@ -84,7 +128,7 @@ extern s32 D_801D7F90; extern u8 D_800AECB8; extern void func_8001ABBC(s32 a0, s32 a1, void *a2, s32 a3, s32 a4); -void func_801289F0(void) { +s32 func_801289F0(void) { func_8001ABBC(0, 0, &D_800AECB8, D_801D7F90, 0); } @@ -518,7 +562,8 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC01_077/nonmatchings/ov_SC01_077", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ + INCLUDE_ASM("asm/ov_SC01_077/nonmatchings/ov_SC01_077", func_8012D4B4); @@ -1928,7 +1973,34 @@ DEFINE_func_80147AD4() /* dedup: shared engine-core @0x80147AD4 (src/shared) */ DEFINE_func_80147B18() /* dedup: shared engine-core @0x80147B18 (src/shared) */ -INCLUDE_ASM("asm/ov_SC01_077/nonmatchings/ov_SC01_077", func_80147B5C); +extern s32 D_80127090; +extern s32 D_80127094; +extern s32 D_80127098; + +void func_80147B5C(s32 arg0, void *arg1) { + if (*(s32 *)(arg0 + 0x44) & 0x400000) { + D_80127090 = *(s32 *)(arg0 + 0x24); + } else { + D_80127090 = *(s32 *)arg1; + } + if (*(s32 *)(arg0 + 0x44) & 0x800000) { + D_80127094 = *(s32 *)(arg0 + 0x28); + } else { + D_80127094 = *(s32 *)((u8 *)arg1 + 0x4); + } + if (*(s32 *)(arg0 + 0x44) & 0x1000000) { + D_80127098 = *(s32 *)(arg0 + 0x2C); + } else { + D_80127098 = *(s32 *)((u8 *)arg1 + 0x8); + } + *(s32 *)(arg0 + 0x10) = D_80127090; + *(s32 *)(arg0 + 0x14) = D_80127094; + *(s32 *)(arg0 + 0x18) = D_80127098; + D_80127090 = 0; + D_80127094 = 0; + D_80127098 = 0; +} + INCLUDE_ASM("asm/ov_SC01_077/nonmatchings/ov_SC01_077", func_80147C30); @@ -3904,7 +3976,27 @@ DEFINE_func_8015F810() /* dedup: shared engine-core @0x8015F810 (src/shared) */ DEFINE_func_8015F848() /* dedup: shared engine-core @0x8015F848 (src/shared) */ -INCLUDE_ASM("asm/ov_SC01_077/nonmatchings/ov_SC01_077", func_8015F89C); +extern void (*D_801891B8[])(void *); +extern void func_801466F0(s32, s32, s32, s32, s32, s32, s32, s32); +extern void func_80147078(s32 *, s16); +extern void func_80159B70(void *); +extern s32 func_80161208(void); + +void func_8015F89C(void *arg0) { + u16 flags = *(u16 *)((u8 *)arg0 + 0xB8); + if (!(flags & 0x4000)) { + if (flags & 0x8000) { + D_801891B8[*(u16 *)arg0](arg0); + func_80147078(arg0, 0); + func_80159B70(arg0); + return; + } + } else { + func_801466F0(1, arg0, 0, -0x1E, 0, 0, 0, 0); + } + ((s32 (*)(void *))func_80161208)(arg0); +} + INCLUDE_ASM("asm/ov_SC01_077/nonmatchings/ov_SC01_077", func_8015F948); diff --git a/src/ov_SC01_080/ov_SC01_080.c b/src/ov_SC01_080/ov_SC01_080.c index a17a5f639a..cf9000ad27 100644 --- a/src/ov_SC01_080/ov_SC01_080.c +++ b/src/ov_SC01_080/ov_SC01_080.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC01_080/nonmatchings/ov_SC01_080", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC01_080/nonmatchings/ov_SC01_080", func_8012D4B4); diff --git a/src/ov_SC01_084/ov_SC01_084.c b/src/ov_SC01_084/ov_SC01_084.c index 5984e31a39..be089349e0 100644 --- a/src/ov_SC01_084/ov_SC01_084.c +++ b/src/ov_SC01_084/ov_SC01_084.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC01_084/nonmatchings/ov_SC01_084", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC01_084/nonmatchings/ov_SC01_084", func_8012D4B4); diff --git a/src/ov_SC02_000/ov_SC02_000.c b/src/ov_SC02_000/ov_SC02_000.c index 2d51be9742..611c916395 100644 --- a/src/ov_SC02_000/ov_SC02_000.c +++ b/src/ov_SC02_000/ov_SC02_000.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC02_000/nonmatchings/ov_SC02_000", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC02_000/nonmatchings/ov_SC02_000", func_8012D4B4); diff --git a/src/ov_SC02_003/ov_SC02_003.c b/src/ov_SC02_003/ov_SC02_003.c index 0f1a1f492e..3880e13964 100644 --- a/src/ov_SC02_003/ov_SC02_003.c +++ b/src/ov_SC02_003/ov_SC02_003.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC02_003/nonmatchings/ov_SC02_003", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC02_003/nonmatchings/ov_SC02_003", func_8012D4B4); diff --git a/src/ov_SC02_004/ov_SC02_004.c b/src/ov_SC02_004/ov_SC02_004.c index cbee3b3ab4..4b6ddd34bd 100644 --- a/src/ov_SC02_004/ov_SC02_004.c +++ b/src/ov_SC02_004/ov_SC02_004.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC02_004/nonmatchings/ov_SC02_004", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC02_004/nonmatchings/ov_SC02_004", func_8012D4B4); diff --git a/src/ov_SC02_005/ov_SC02_005.c b/src/ov_SC02_005/ov_SC02_005.c index f63fa00995..7303522cd4 100644 --- a/src/ov_SC02_005/ov_SC02_005.c +++ b/src/ov_SC02_005/ov_SC02_005.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC02_005/nonmatchings/ov_SC02_005", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC02_005/nonmatchings/ov_SC02_005", func_8012D4B4); diff --git a/src/ov_SC02_011/ov_SC02_011.c b/src/ov_SC02_011/ov_SC02_011.c index d27d91637d..361d694fff 100644 --- a/src/ov_SC02_011/ov_SC02_011.c +++ b/src/ov_SC02_011/ov_SC02_011.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC02_011/nonmatchings/ov_SC02_011", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC02_011/nonmatchings/ov_SC02_011", func_8012D4B4); diff --git a/src/ov_SC02_015/ov_SC02_015.c b/src/ov_SC02_015/ov_SC02_015.c index 8a665252f3..53f3f9cb85 100644 --- a/src/ov_SC02_015/ov_SC02_015.c +++ b/src/ov_SC02_015/ov_SC02_015.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC02_015/nonmatchings/ov_SC02_015", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC02_015/nonmatchings/ov_SC02_015", func_8012D4B4); diff --git a/src/ov_SC02_016/ov_SC02_016.c b/src/ov_SC02_016/ov_SC02_016.c index ef32f5ac67..2ab197c00b 100644 --- a/src/ov_SC02_016/ov_SC02_016.c +++ b/src/ov_SC02_016/ov_SC02_016.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC02_016/nonmatchings/ov_SC02_016", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC02_016/nonmatchings/ov_SC02_016", func_8012D4B4); diff --git a/src/ov_SC02_017/ov_SC02_017.c b/src/ov_SC02_017/ov_SC02_017.c index a6d99d6b31..466e7ab573 100644 --- a/src/ov_SC02_017/ov_SC02_017.c +++ b/src/ov_SC02_017/ov_SC02_017.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC02_017/nonmatchings/ov_SC02_017", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC02_017/nonmatchings/ov_SC02_017", func_8012D4B4); diff --git a/src/ov_SC02_021/ov_SC02_021.c b/src/ov_SC02_021/ov_SC02_021.c index eb6bdf3cfd..e69bd9e98b 100644 --- a/src/ov_SC02_021/ov_SC02_021.c +++ b/src/ov_SC02_021/ov_SC02_021.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC02_021/nonmatchings/ov_SC02_021", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC02_021/nonmatchings/ov_SC02_021", func_8012D4B4); diff --git a/src/ov_SC02_026/ov_SC02_026.c b/src/ov_SC02_026/ov_SC02_026.c index b8b131653b..ea53eea119 100644 --- a/src/ov_SC02_026/ov_SC02_026.c +++ b/src/ov_SC02_026/ov_SC02_026.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC02_026/nonmatchings/ov_SC02_026", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC02_026/nonmatchings/ov_SC02_026", func_8012D4B4); diff --git a/src/ov_SC02_027/ov_SC02_027.c b/src/ov_SC02_027/ov_SC02_027.c index 0bd623c361..99f758531f 100644 --- a/src/ov_SC02_027/ov_SC02_027.c +++ b/src/ov_SC02_027/ov_SC02_027.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC02_027/nonmatchings/ov_SC02_027", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC02_027/nonmatchings/ov_SC02_027", func_8012D4B4); diff --git a/src/ov_SC02_028/ov_SC02_028.c b/src/ov_SC02_028/ov_SC02_028.c index 5d0b905792..70fd65a38c 100644 --- a/src/ov_SC02_028/ov_SC02_028.c +++ b/src/ov_SC02_028/ov_SC02_028.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC02_028/nonmatchings/ov_SC02_028", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC02_028/nonmatchings/ov_SC02_028", func_8012D4B4); diff --git a/src/ov_SC02_031/ov_SC02_031.c b/src/ov_SC02_031/ov_SC02_031.c index d3d7fc9a07..8109a82955 100644 --- a/src/ov_SC02_031/ov_SC02_031.c +++ b/src/ov_SC02_031/ov_SC02_031.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC02_031/nonmatchings/ov_SC02_031", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC02_031/nonmatchings/ov_SC02_031", func_8012D4B4); diff --git a/src/ov_SC02_035/ov_SC02_035.c b/src/ov_SC02_035/ov_SC02_035.c index 02f01bdcf2..8f026f0508 100644 --- a/src/ov_SC02_035/ov_SC02_035.c +++ b/src/ov_SC02_035/ov_SC02_035.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC02_035/nonmatchings/ov_SC02_035", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC02_035/nonmatchings/ov_SC02_035", func_8012D4B4); diff --git a/src/ov_SC02_039/ov_SC02_039.c b/src/ov_SC02_039/ov_SC02_039.c index 9f290cc627..256f8016de 100644 --- a/src/ov_SC02_039/ov_SC02_039.c +++ b/src/ov_SC02_039/ov_SC02_039.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC02_039/nonmatchings/ov_SC02_039", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC02_039/nonmatchings/ov_SC02_039", func_8012D4B4); diff --git a/src/ov_SC02_041/ov_SC02_041.c b/src/ov_SC02_041/ov_SC02_041.c index a0d6f62618..ce2dad5f9c 100644 --- a/src/ov_SC02_041/ov_SC02_041.c +++ b/src/ov_SC02_041/ov_SC02_041.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC02_041/nonmatchings/ov_SC02_041", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC02_041/nonmatchings/ov_SC02_041", func_8012D4B4); diff --git a/src/ov_SC03_001/ov_SC03_001.c b/src/ov_SC03_001/ov_SC03_001.c index 775c07deab..7256df7cdb 100644 --- a/src/ov_SC03_001/ov_SC03_001.c +++ b/src/ov_SC03_001/ov_SC03_001.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001", func_8012D4B4); diff --git a/src/ov_SC03_002/ov_SC03_002.c b/src/ov_SC03_002/ov_SC03_002.c index 07d2489f56..5cec5273e7 100644 --- a/src/ov_SC03_002/ov_SC03_002.c +++ b/src/ov_SC03_002/ov_SC03_002.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC03_002/nonmatchings/ov_SC03_002", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC03_002/nonmatchings/ov_SC03_002", func_8012D4B4); diff --git a/src/ov_SC03_003/ov_SC03_003.c b/src/ov_SC03_003/ov_SC03_003.c index 9434f902d1..5ca95fd731 100644 --- a/src/ov_SC03_003/ov_SC03_003.c +++ b/src/ov_SC03_003/ov_SC03_003.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC03_003/nonmatchings/ov_SC03_003", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC03_003/nonmatchings/ov_SC03_003", func_8012D4B4); diff --git a/src/ov_SC03_006/ov_SC03_006.c b/src/ov_SC03_006/ov_SC03_006.c index 3e4eb27d3f..f471705168 100644 --- a/src/ov_SC03_006/ov_SC03_006.c +++ b/src/ov_SC03_006/ov_SC03_006.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC03_006/nonmatchings/ov_SC03_006", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC03_006/nonmatchings/ov_SC03_006", func_8012D4B4); diff --git a/src/ov_SC03_007/ov_SC03_007.c b/src/ov_SC03_007/ov_SC03_007.c index 1cf977aee3..cab93fcc9f 100644 --- a/src/ov_SC03_007/ov_SC03_007.c +++ b/src/ov_SC03_007/ov_SC03_007.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC03_007/nonmatchings/ov_SC03_007", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC03_007/nonmatchings/ov_SC03_007", func_8012D4B4); diff --git a/src/ov_SC03_010/ov_SC03_010.c b/src/ov_SC03_010/ov_SC03_010.c index 8a89575e4c..7852a1588c 100644 --- a/src/ov_SC03_010/ov_SC03_010.c +++ b/src/ov_SC03_010/ov_SC03_010.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC03_010/nonmatchings/ov_SC03_010", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC03_010/nonmatchings/ov_SC03_010", func_8012D4B4); diff --git a/src/ov_SC03_011/ov_SC03_011.c b/src/ov_SC03_011/ov_SC03_011.c index bc2363ac14..78c4b24bad 100644 --- a/src/ov_SC03_011/ov_SC03_011.c +++ b/src/ov_SC03_011/ov_SC03_011.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC03_011/nonmatchings/ov_SC03_011", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC03_011/nonmatchings/ov_SC03_011", func_8012D4B4); diff --git a/src/ov_SC03_012/ov_SC03_012.c b/src/ov_SC03_012/ov_SC03_012.c index f322d6846a..b577719a9d 100644 --- a/src/ov_SC03_012/ov_SC03_012.c +++ b/src/ov_SC03_012/ov_SC03_012.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC03_012/nonmatchings/ov_SC03_012", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC03_012/nonmatchings/ov_SC03_012", func_8012D4B4); diff --git a/src/ov_SC03_013/ov_SC03_013.c b/src/ov_SC03_013/ov_SC03_013.c index e90822d2ac..845fbf2ddd 100644 --- a/src/ov_SC03_013/ov_SC03_013.c +++ b/src/ov_SC03_013/ov_SC03_013.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC03_013/nonmatchings/ov_SC03_013", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC03_013/nonmatchings/ov_SC03_013", func_8012D4B4); diff --git a/src/ov_SC03_014/ov_SC03_014.c b/src/ov_SC03_014/ov_SC03_014.c index a643e6ee13..8cabf09556 100644 --- a/src/ov_SC03_014/ov_SC03_014.c +++ b/src/ov_SC03_014/ov_SC03_014.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC03_014/nonmatchings/ov_SC03_014", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC03_014/nonmatchings/ov_SC03_014", func_8012D4B4); diff --git a/src/ov_SC03_015/ov_SC03_015.c b/src/ov_SC03_015/ov_SC03_015.c index ccdcd48911..16bb8e460c 100644 --- a/src/ov_SC03_015/ov_SC03_015.c +++ b/src/ov_SC03_015/ov_SC03_015.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC03_015/nonmatchings/ov_SC03_015", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC03_015/nonmatchings/ov_SC03_015", func_8012D4B4); diff --git a/src/ov_SC03_023/ov_SC03_023.c b/src/ov_SC03_023/ov_SC03_023.c index 4d1519fbb6..cb9ac8dcb6 100644 --- a/src/ov_SC03_023/ov_SC03_023.c +++ b/src/ov_SC03_023/ov_SC03_023.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC03_023/nonmatchings/ov_SC03_023", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC03_023/nonmatchings/ov_SC03_023", func_8012D4B4); diff --git a/src/ov_SC03_024/ov_SC03_024.c b/src/ov_SC03_024/ov_SC03_024.c index 20cd76fc53..b424635d5a 100644 --- a/src/ov_SC03_024/ov_SC03_024.c +++ b/src/ov_SC03_024/ov_SC03_024.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC03_024/nonmatchings/ov_SC03_024", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC03_024/nonmatchings/ov_SC03_024", func_8012D4B4); diff --git a/src/ov_SC03_028/ov_SC03_028.c b/src/ov_SC03_028/ov_SC03_028.c index be28acd5b0..128a3c96bd 100644 --- a/src/ov_SC03_028/ov_SC03_028.c +++ b/src/ov_SC03_028/ov_SC03_028.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC03_028/nonmatchings/ov_SC03_028", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC03_028/nonmatchings/ov_SC03_028", func_8012D4B4); diff --git a/src/ov_SC03_029/ov_SC03_029.c b/src/ov_SC03_029/ov_SC03_029.c index e2db7c5659..a13721f4e6 100644 --- a/src/ov_SC03_029/ov_SC03_029.c +++ b/src/ov_SC03_029/ov_SC03_029.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC03_029/nonmatchings/ov_SC03_029", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC03_029/nonmatchings/ov_SC03_029", func_8012D4B4); diff --git a/src/ov_SC03_030/ov_SC03_030.c b/src/ov_SC03_030/ov_SC03_030.c index 1d2304cc97..e72eda8abd 100644 --- a/src/ov_SC03_030/ov_SC03_030.c +++ b/src/ov_SC03_030/ov_SC03_030.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC03_030/nonmatchings/ov_SC03_030", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC03_030/nonmatchings/ov_SC03_030", func_8012D4B4); diff --git a/src/ov_SC03_031/ov_SC03_031.c b/src/ov_SC03_031/ov_SC03_031.c index a72a48685f..649ae80766 100644 --- a/src/ov_SC03_031/ov_SC03_031.c +++ b/src/ov_SC03_031/ov_SC03_031.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC03_031/nonmatchings/ov_SC03_031", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC03_031/nonmatchings/ov_SC03_031", func_8012D4B4); diff --git a/src/ov_SC03_089/ov_SC03_089.c b/src/ov_SC03_089/ov_SC03_089.c index 96e022d98b..e8438b8b2c 100644 --- a/src/ov_SC03_089/ov_SC03_089.c +++ b/src/ov_SC03_089/ov_SC03_089.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC03_089/nonmatchings/ov_SC03_089", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC03_089/nonmatchings/ov_SC03_089", func_8012D4B4); diff --git a/src/ov_SC03_090/ov_SC03_090.c b/src/ov_SC03_090/ov_SC03_090.c index 016950d9fe..4104bfbdf4 100644 --- a/src/ov_SC03_090/ov_SC03_090.c +++ b/src/ov_SC03_090/ov_SC03_090.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC03_090/nonmatchings/ov_SC03_090", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC03_090/nonmatchings/ov_SC03_090", func_8012D4B4); diff --git a/src/ov_SC03_091/ov_SC03_091.c b/src/ov_SC03_091/ov_SC03_091.c index 92d2559c3f..1883253dce 100644 --- a/src/ov_SC03_091/ov_SC03_091.c +++ b/src/ov_SC03_091/ov_SC03_091.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC03_091/nonmatchings/ov_SC03_091", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC03_091/nonmatchings/ov_SC03_091", func_8012D4B4); diff --git a/src/ov_SC03_092/ov_SC03_092.c b/src/ov_SC03_092/ov_SC03_092.c index 13df665ec6..ab1f527f61 100644 --- a/src/ov_SC03_092/ov_SC03_092.c +++ b/src/ov_SC03_092/ov_SC03_092.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC03_092/nonmatchings/ov_SC03_092", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC03_092/nonmatchings/ov_SC03_092", func_8012D4B4); diff --git a/src/ov_SC03_093/ov_SC03_093.c b/src/ov_SC03_093/ov_SC03_093.c index 164b185a2c..a9ae4068b3 100644 --- a/src/ov_SC03_093/ov_SC03_093.c +++ b/src/ov_SC03_093/ov_SC03_093.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC03_093/nonmatchings/ov_SC03_093", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC03_093/nonmatchings/ov_SC03_093", func_8012D4B4); diff --git a/src/ov_SC03_094/ov_SC03_094.c b/src/ov_SC03_094/ov_SC03_094.c index e32768d11b..5e50ec5c76 100644 --- a/src/ov_SC03_094/ov_SC03_094.c +++ b/src/ov_SC03_094/ov_SC03_094.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC03_094/nonmatchings/ov_SC03_094", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC03_094/nonmatchings/ov_SC03_094", func_8012D4B4); diff --git a/src/ov_SC03_095/ov_SC03_095.c b/src/ov_SC03_095/ov_SC03_095.c index 48a195b1db..fbcc337fa0 100644 --- a/src/ov_SC03_095/ov_SC03_095.c +++ b/src/ov_SC03_095/ov_SC03_095.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC03_095/nonmatchings/ov_SC03_095", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC03_095/nonmatchings/ov_SC03_095", func_8012D4B4); diff --git a/src/ov_SC03_096/ov_SC03_096.c b/src/ov_SC03_096/ov_SC03_096.c index 12c9514f40..03502e4da1 100644 --- a/src/ov_SC03_096/ov_SC03_096.c +++ b/src/ov_SC03_096/ov_SC03_096.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC03_096/nonmatchings/ov_SC03_096", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC03_096/nonmatchings/ov_SC03_096", func_8012D4B4); diff --git a/src/ov_SC03_097/ov_SC03_097.c b/src/ov_SC03_097/ov_SC03_097.c index 7cf26ffb44..9ef6912387 100644 --- a/src/ov_SC03_097/ov_SC03_097.c +++ b/src/ov_SC03_097/ov_SC03_097.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC03_097/nonmatchings/ov_SC03_097", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC03_097/nonmatchings/ov_SC03_097", func_8012D4B4); diff --git a/src/ov_SC03_098/ov_SC03_098.c b/src/ov_SC03_098/ov_SC03_098.c index 8bdaddb55c..82343fb9a9 100644 --- a/src/ov_SC03_098/ov_SC03_098.c +++ b/src/ov_SC03_098/ov_SC03_098.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC03_098/nonmatchings/ov_SC03_098", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC03_098/nonmatchings/ov_SC03_098", func_8012D4B4); diff --git a/src/ov_SC03_099/ov_SC03_099.c b/src/ov_SC03_099/ov_SC03_099.c index f4f3330fa7..e04ffa039e 100644 --- a/src/ov_SC03_099/ov_SC03_099.c +++ b/src/ov_SC03_099/ov_SC03_099.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC03_099/nonmatchings/ov_SC03_099", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC03_099/nonmatchings/ov_SC03_099", func_8012D4B4); diff --git a/src/ov_SC03_100/ov_SC03_100.c b/src/ov_SC03_100/ov_SC03_100.c index 06d1d84812..cecf43fe39 100644 --- a/src/ov_SC03_100/ov_SC03_100.c +++ b/src/ov_SC03_100/ov_SC03_100.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC03_100/nonmatchings/ov_SC03_100", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC03_100/nonmatchings/ov_SC03_100", func_8012D4B4); diff --git a/src/ov_SC03_101/ov_SC03_101.c b/src/ov_SC03_101/ov_SC03_101.c index f0fb4ec8cf..0f7a7272be 100644 --- a/src/ov_SC03_101/ov_SC03_101.c +++ b/src/ov_SC03_101/ov_SC03_101.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC03_101/nonmatchings/ov_SC03_101", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC03_101/nonmatchings/ov_SC03_101", func_8012D4B4); diff --git a/src/ov_SC03_102/ov_SC03_102.c b/src/ov_SC03_102/ov_SC03_102.c index a9a3666dbc..8918063293 100644 --- a/src/ov_SC03_102/ov_SC03_102.c +++ b/src/ov_SC03_102/ov_SC03_102.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC03_102/nonmatchings/ov_SC03_102", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC03_102/nonmatchings/ov_SC03_102", func_8012D4B4); diff --git a/src/ov_SC03_103/ov_SC03_103.c b/src/ov_SC03_103/ov_SC03_103.c index 88f1af41c9..87a460bccc 100644 --- a/src/ov_SC03_103/ov_SC03_103.c +++ b/src/ov_SC03_103/ov_SC03_103.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC03_103/nonmatchings/ov_SC03_103", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC03_103/nonmatchings/ov_SC03_103", func_8012D4B4); diff --git a/src/ov_SC03_104/ov_SC03_104.c b/src/ov_SC03_104/ov_SC03_104.c index 6e2acc6f77..d3ac621286 100644 --- a/src/ov_SC03_104/ov_SC03_104.c +++ b/src/ov_SC03_104/ov_SC03_104.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC03_104/nonmatchings/ov_SC03_104", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC03_104/nonmatchings/ov_SC03_104", func_8012D4B4); diff --git a/src/ov_SC03_105/ov_SC03_105.c b/src/ov_SC03_105/ov_SC03_105.c index 09f1981043..f1f1ab35d3 100644 --- a/src/ov_SC03_105/ov_SC03_105.c +++ b/src/ov_SC03_105/ov_SC03_105.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC03_105/nonmatchings/ov_SC03_105", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC03_105/nonmatchings/ov_SC03_105", func_8012D4B4); diff --git a/src/ov_SC03_108/ov_SC03_108.c b/src/ov_SC03_108/ov_SC03_108.c index 210b6fb064..b04297706f 100644 --- a/src/ov_SC03_108/ov_SC03_108.c +++ b/src/ov_SC03_108/ov_SC03_108.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC03_108/nonmatchings/ov_SC03_108", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC03_108/nonmatchings/ov_SC03_108", func_8012D4B4); diff --git a/src/ov_SC03_109/ov_SC03_109.c b/src/ov_SC03_109/ov_SC03_109.c index 3b3197e5b0..ae604e4c09 100644 --- a/src/ov_SC03_109/ov_SC03_109.c +++ b/src/ov_SC03_109/ov_SC03_109.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC03_109/nonmatchings/ov_SC03_109", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC03_109/nonmatchings/ov_SC03_109", func_8012D4B4); diff --git a/src/ov_SC03_110/ov_SC03_110.c b/src/ov_SC03_110/ov_SC03_110.c index 6dc216e741..efeea56b08 100644 --- a/src/ov_SC03_110/ov_SC03_110.c +++ b/src/ov_SC03_110/ov_SC03_110.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC03_110/nonmatchings/ov_SC03_110", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC03_110/nonmatchings/ov_SC03_110", func_8012D4B4); diff --git a/src/ov_SC03_111/ov_SC03_111.c b/src/ov_SC03_111/ov_SC03_111.c index afffa05bf6..ef53c5fab2 100644 --- a/src/ov_SC03_111/ov_SC03_111.c +++ b/src/ov_SC03_111/ov_SC03_111.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC03_111/nonmatchings/ov_SC03_111", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC03_111/nonmatchings/ov_SC03_111", func_8012D4B4); diff --git a/src/ov_SC03_112/ov_SC03_112.c b/src/ov_SC03_112/ov_SC03_112.c index 4e8c5b0d45..d13b216535 100644 --- a/src/ov_SC03_112/ov_SC03_112.c +++ b/src/ov_SC03_112/ov_SC03_112.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC03_112/nonmatchings/ov_SC03_112", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC03_112/nonmatchings/ov_SC03_112", func_8012D4B4); diff --git a/src/ov_SC03_113/ov_SC03_113.c b/src/ov_SC03_113/ov_SC03_113.c index a1d6b64d6b..5f4af32a01 100644 --- a/src/ov_SC03_113/ov_SC03_113.c +++ b/src/ov_SC03_113/ov_SC03_113.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC03_113/nonmatchings/ov_SC03_113", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC03_113/nonmatchings/ov_SC03_113", func_8012D4B4); diff --git a/src/ov_SC03_114/ov_SC03_114.c b/src/ov_SC03_114/ov_SC03_114.c index 7be9db9f58..5894cf9106 100644 --- a/src/ov_SC03_114/ov_SC03_114.c +++ b/src/ov_SC03_114/ov_SC03_114.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC03_114/nonmatchings/ov_SC03_114", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC03_114/nonmatchings/ov_SC03_114", func_8012D4B4); diff --git a/src/ov_SC03_115/ov_SC03_115.c b/src/ov_SC03_115/ov_SC03_115.c index e2e6c6fc79..25ad2ac14b 100644 --- a/src/ov_SC03_115/ov_SC03_115.c +++ b/src/ov_SC03_115/ov_SC03_115.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC03_115/nonmatchings/ov_SC03_115", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC03_115/nonmatchings/ov_SC03_115", func_8012D4B4); diff --git a/src/ov_SC03_116/ov_SC03_116.c b/src/ov_SC03_116/ov_SC03_116.c index cd4de3c61a..6c2bd8d39d 100644 --- a/src/ov_SC03_116/ov_SC03_116.c +++ b/src/ov_SC03_116/ov_SC03_116.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC03_116/nonmatchings/ov_SC03_116", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC03_116/nonmatchings/ov_SC03_116", func_8012D4B4); diff --git a/src/ov_SC03_117/ov_SC03_117.c b/src/ov_SC03_117/ov_SC03_117.c index dc1f76a5b5..8d306a2aab 100644 --- a/src/ov_SC03_117/ov_SC03_117.c +++ b/src/ov_SC03_117/ov_SC03_117.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC03_117/nonmatchings/ov_SC03_117", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC03_117/nonmatchings/ov_SC03_117", func_8012D4B4); diff --git a/src/ov_SC03_118/ov_SC03_118.c b/src/ov_SC03_118/ov_SC03_118.c index 722f0626ab..969eb257a7 100644 --- a/src/ov_SC03_118/ov_SC03_118.c +++ b/src/ov_SC03_118/ov_SC03_118.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC03_118/nonmatchings/ov_SC03_118", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC03_118/nonmatchings/ov_SC03_118", func_8012D4B4); diff --git a/src/ov_SC03_119/ov_SC03_119.c b/src/ov_SC03_119/ov_SC03_119.c index bdb29a98c2..ab22b75d27 100644 --- a/src/ov_SC03_119/ov_SC03_119.c +++ b/src/ov_SC03_119/ov_SC03_119.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC03_119/nonmatchings/ov_SC03_119", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC03_119/nonmatchings/ov_SC03_119", func_8012D4B4); diff --git a/src/ov_SC03_121/ov_SC03_121.c b/src/ov_SC03_121/ov_SC03_121.c index 129b59915b..5e5d90c514 100644 --- a/src/ov_SC03_121/ov_SC03_121.c +++ b/src/ov_SC03_121/ov_SC03_121.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC03_121/nonmatchings/ov_SC03_121", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC03_121/nonmatchings/ov_SC03_121", func_8012D4B4); diff --git a/src/ov_SC03_124/ov_SC03_124.c b/src/ov_SC03_124/ov_SC03_124.c index 378d188e39..58f41c87f8 100644 --- a/src/ov_SC03_124/ov_SC03_124.c +++ b/src/ov_SC03_124/ov_SC03_124.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC03_124/nonmatchings/ov_SC03_124", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC03_124/nonmatchings/ov_SC03_124", func_8012D4B4); diff --git a/src/ov_SC03_125/ov_SC03_125.c b/src/ov_SC03_125/ov_SC03_125.c index dfb39572ae..b62bf3a08e 100644 --- a/src/ov_SC03_125/ov_SC03_125.c +++ b/src/ov_SC03_125/ov_SC03_125.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC03_125/nonmatchings/ov_SC03_125", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC03_125/nonmatchings/ov_SC03_125", func_8012D4B4); diff --git a/src/ov_SC03_126/ov_SC03_126.c b/src/ov_SC03_126/ov_SC03_126.c index 89b21142e2..2cd5aca732 100644 --- a/src/ov_SC03_126/ov_SC03_126.c +++ b/src/ov_SC03_126/ov_SC03_126.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC03_126/nonmatchings/ov_SC03_126", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC03_126/nonmatchings/ov_SC03_126", func_8012D4B4); diff --git a/src/ov_SC04_000/ov_SC04_000.c b/src/ov_SC04_000/ov_SC04_000.c index e1d8272d14..afb797d1e1 100644 --- a/src/ov_SC04_000/ov_SC04_000.c +++ b/src/ov_SC04_000/ov_SC04_000.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC04_000/nonmatchings/ov_SC04_000", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC04_000/nonmatchings/ov_SC04_000", func_8012D4B4); diff --git a/src/ov_SC04_002/ov_SC04_002.c b/src/ov_SC04_002/ov_SC04_002.c index 5516d74c9b..a3dd92c865 100644 --- a/src/ov_SC04_002/ov_SC04_002.c +++ b/src/ov_SC04_002/ov_SC04_002.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC04_002/nonmatchings/ov_SC04_002", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC04_002/nonmatchings/ov_SC04_002", func_8012D4B4); diff --git a/src/ov_SC04_003/ov_SC04_003.c b/src/ov_SC04_003/ov_SC04_003.c index 3e43585b43..6172dc898d 100644 --- a/src/ov_SC04_003/ov_SC04_003.c +++ b/src/ov_SC04_003/ov_SC04_003.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC04_003/nonmatchings/ov_SC04_003", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC04_003/nonmatchings/ov_SC04_003", func_8012D4B4); diff --git a/src/ov_SC04_004/ov_SC04_004.c b/src/ov_SC04_004/ov_SC04_004.c index 7a270d6657..64366a0e41 100644 --- a/src/ov_SC04_004/ov_SC04_004.c +++ b/src/ov_SC04_004/ov_SC04_004.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC04_004/nonmatchings/ov_SC04_004", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC04_004/nonmatchings/ov_SC04_004", func_8012D4B4); diff --git a/src/ov_SC04_005/ov_SC04_005.c b/src/ov_SC04_005/ov_SC04_005.c index 770be900bf..2451500cbe 100644 --- a/src/ov_SC04_005/ov_SC04_005.c +++ b/src/ov_SC04_005/ov_SC04_005.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC04_005/nonmatchings/ov_SC04_005", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC04_005/nonmatchings/ov_SC04_005", func_8012D4B4); diff --git a/src/ov_SC04_006/ov_SC04_006.c b/src/ov_SC04_006/ov_SC04_006.c index 71824b7ca7..2bd8ef1a4c 100644 --- a/src/ov_SC04_006/ov_SC04_006.c +++ b/src/ov_SC04_006/ov_SC04_006.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC04_006/nonmatchings/ov_SC04_006", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC04_006/nonmatchings/ov_SC04_006", func_8012D4B4); diff --git a/src/ov_SC04_007/ov_SC04_007.c b/src/ov_SC04_007/ov_SC04_007.c index 8ca640ee82..092683344a 100644 --- a/src/ov_SC04_007/ov_SC04_007.c +++ b/src/ov_SC04_007/ov_SC04_007.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC04_007/nonmatchings/ov_SC04_007", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC04_007/nonmatchings/ov_SC04_007", func_8012D4B4); diff --git a/src/ov_SC04_008/ov_SC04_008.c b/src/ov_SC04_008/ov_SC04_008.c index 91fc9f89b6..3660e53728 100644 --- a/src/ov_SC04_008/ov_SC04_008.c +++ b/src/ov_SC04_008/ov_SC04_008.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC04_008/nonmatchings/ov_SC04_008", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC04_008/nonmatchings/ov_SC04_008", func_8012D4B4); diff --git a/src/ov_SC04_009/ov_SC04_009.c b/src/ov_SC04_009/ov_SC04_009.c index ef85d9e4cc..7f0134024f 100644 --- a/src/ov_SC04_009/ov_SC04_009.c +++ b/src/ov_SC04_009/ov_SC04_009.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC04_009/nonmatchings/ov_SC04_009", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC04_009/nonmatchings/ov_SC04_009", func_8012D4B4); diff --git a/src/ov_SC04_010/ov_SC04_010.c b/src/ov_SC04_010/ov_SC04_010.c index e9a79676a5..aa53275fbd 100644 --- a/src/ov_SC04_010/ov_SC04_010.c +++ b/src/ov_SC04_010/ov_SC04_010.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC04_010/nonmatchings/ov_SC04_010", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC04_010/nonmatchings/ov_SC04_010", func_8012D4B4); diff --git a/src/ov_SC04_011/ov_SC04_011.c b/src/ov_SC04_011/ov_SC04_011.c index 9e4cdc9d17..24d66f781e 100644 --- a/src/ov_SC04_011/ov_SC04_011.c +++ b/src/ov_SC04_011/ov_SC04_011.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC04_011/nonmatchings/ov_SC04_011", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC04_011/nonmatchings/ov_SC04_011", func_8012D4B4); diff --git a/src/ov_SC04_012/ov_SC04_012.c b/src/ov_SC04_012/ov_SC04_012.c index cfd05c4a04..2f46427113 100644 --- a/src/ov_SC04_012/ov_SC04_012.c +++ b/src/ov_SC04_012/ov_SC04_012.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC04_012/nonmatchings/ov_SC04_012", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC04_012/nonmatchings/ov_SC04_012", func_8012D4B4); diff --git a/src/ov_SC04_015/ov_SC04_015.c b/src/ov_SC04_015/ov_SC04_015.c index 90f19bb556..cdae4f9231 100644 --- a/src/ov_SC04_015/ov_SC04_015.c +++ b/src/ov_SC04_015/ov_SC04_015.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC04_015/nonmatchings/ov_SC04_015", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC04_015/nonmatchings/ov_SC04_015", func_8012D4B4); diff --git a/src/ov_SC04_016/ov_SC04_016.c b/src/ov_SC04_016/ov_SC04_016.c index 92be776a54..3defb3d426 100644 --- a/src/ov_SC04_016/ov_SC04_016.c +++ b/src/ov_SC04_016/ov_SC04_016.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC04_016/nonmatchings/ov_SC04_016", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC04_016/nonmatchings/ov_SC04_016", func_8012D4B4); diff --git a/src/ov_SC04_018/ov_SC04_018.c b/src/ov_SC04_018/ov_SC04_018.c index 1d434b332a..26e860075f 100644 --- a/src/ov_SC04_018/ov_SC04_018.c +++ b/src/ov_SC04_018/ov_SC04_018.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC04_018/nonmatchings/ov_SC04_018", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC04_018/nonmatchings/ov_SC04_018", func_8012D4B4); diff --git a/src/ov_SC04_019/ov_SC04_019.c b/src/ov_SC04_019/ov_SC04_019.c index 9a1ec94064..b917b84715 100644 --- a/src/ov_SC04_019/ov_SC04_019.c +++ b/src/ov_SC04_019/ov_SC04_019.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC04_019/nonmatchings/ov_SC04_019", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC04_019/nonmatchings/ov_SC04_019", func_8012D4B4); diff --git a/src/ov_SC04_020/ov_SC04_020.c b/src/ov_SC04_020/ov_SC04_020.c index 8ca35d9ce4..9cb6bcd691 100644 --- a/src/ov_SC04_020/ov_SC04_020.c +++ b/src/ov_SC04_020/ov_SC04_020.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC04_020/nonmatchings/ov_SC04_020", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC04_020/nonmatchings/ov_SC04_020", func_8012D4B4); diff --git a/src/ov_SC04_021/ov_SC04_021.c b/src/ov_SC04_021/ov_SC04_021.c index d9c1912281..6da310b323 100644 --- a/src/ov_SC04_021/ov_SC04_021.c +++ b/src/ov_SC04_021/ov_SC04_021.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC04_021/nonmatchings/ov_SC04_021", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC04_021/nonmatchings/ov_SC04_021", func_8012D4B4); diff --git a/src/ov_SC05_000/ov_SC05_000.c b/src/ov_SC05_000/ov_SC05_000.c index e6fd9ff589..b1e50699f1 100644 --- a/src/ov_SC05_000/ov_SC05_000.c +++ b/src/ov_SC05_000/ov_SC05_000.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC05_000/nonmatchings/ov_SC05_000", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC05_000/nonmatchings/ov_SC05_000", func_8012D4B4); diff --git a/src/ov_SC05_001/ov_SC05_001.c b/src/ov_SC05_001/ov_SC05_001.c index 6e53b0603f..da58544423 100644 --- a/src/ov_SC05_001/ov_SC05_001.c +++ b/src/ov_SC05_001/ov_SC05_001.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC05_001/nonmatchings/ov_SC05_001", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC05_001/nonmatchings/ov_SC05_001", func_8012D4B4); diff --git a/src/ov_SC05_002/ov_SC05_002.c b/src/ov_SC05_002/ov_SC05_002.c index fb1c08c4dd..b828c1c0d6 100644 --- a/src/ov_SC05_002/ov_SC05_002.c +++ b/src/ov_SC05_002/ov_SC05_002.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC05_002/nonmatchings/ov_SC05_002", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC05_002/nonmatchings/ov_SC05_002", func_8012D4B4); diff --git a/src/ov_SC05_003/ov_SC05_003.c b/src/ov_SC05_003/ov_SC05_003.c index fd39459435..b48d81ba13 100644 --- a/src/ov_SC05_003/ov_SC05_003.c +++ b/src/ov_SC05_003/ov_SC05_003.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC05_003/nonmatchings/ov_SC05_003", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC05_003/nonmatchings/ov_SC05_003", func_8012D4B4); diff --git a/src/ov_SC05_004/ov_SC05_004.c b/src/ov_SC05_004/ov_SC05_004.c index c1f6267851..eca4763f42 100644 --- a/src/ov_SC05_004/ov_SC05_004.c +++ b/src/ov_SC05_004/ov_SC05_004.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC05_004/nonmatchings/ov_SC05_004", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC05_004/nonmatchings/ov_SC05_004", func_8012D4B4); diff --git a/src/ov_SC05_005/ov_SC05_005.c b/src/ov_SC05_005/ov_SC05_005.c index 604f43eb13..8e0daeb8f0 100644 --- a/src/ov_SC05_005/ov_SC05_005.c +++ b/src/ov_SC05_005/ov_SC05_005.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC05_005/nonmatchings/ov_SC05_005", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC05_005/nonmatchings/ov_SC05_005", func_8012D4B4); diff --git a/src/ov_SC05_006/ov_SC05_006.c b/src/ov_SC05_006/ov_SC05_006.c index 03265e667a..e46cbac0d1 100644 --- a/src/ov_SC05_006/ov_SC05_006.c +++ b/src/ov_SC05_006/ov_SC05_006.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC05_006/nonmatchings/ov_SC05_006", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC05_006/nonmatchings/ov_SC05_006", func_8012D4B4); diff --git a/src/ov_SC05_007/ov_SC05_007.c b/src/ov_SC05_007/ov_SC05_007.c index 55001e9a66..b9063cfb4f 100644 --- a/src/ov_SC05_007/ov_SC05_007.c +++ b/src/ov_SC05_007/ov_SC05_007.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC05_007/nonmatchings/ov_SC05_007", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC05_007/nonmatchings/ov_SC05_007", func_8012D4B4); diff --git a/src/ov_SC05_008/ov_SC05_008.c b/src/ov_SC05_008/ov_SC05_008.c index c8a928cd88..33201239da 100644 --- a/src/ov_SC05_008/ov_SC05_008.c +++ b/src/ov_SC05_008/ov_SC05_008.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC05_008/nonmatchings/ov_SC05_008", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC05_008/nonmatchings/ov_SC05_008", func_8012D4B4); diff --git a/src/ov_SC05_009/ov_SC05_009.c b/src/ov_SC05_009/ov_SC05_009.c index 3efa411c38..b2253d2350 100644 --- a/src/ov_SC05_009/ov_SC05_009.c +++ b/src/ov_SC05_009/ov_SC05_009.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC05_009/nonmatchings/ov_SC05_009", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC05_009/nonmatchings/ov_SC05_009", func_8012D4B4); diff --git a/src/ov_SC05_010/ov_SC05_010.c b/src/ov_SC05_010/ov_SC05_010.c index 6ca3d73e03..6b3a0cc550 100644 --- a/src/ov_SC05_010/ov_SC05_010.c +++ b/src/ov_SC05_010/ov_SC05_010.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC05_010/nonmatchings/ov_SC05_010", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC05_010/nonmatchings/ov_SC05_010", func_8012D4B4); diff --git a/src/ov_SC05_011/ov_SC05_011.c b/src/ov_SC05_011/ov_SC05_011.c index ae2e16161e..b450eb5512 100644 --- a/src/ov_SC05_011/ov_SC05_011.c +++ b/src/ov_SC05_011/ov_SC05_011.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC05_011/nonmatchings/ov_SC05_011", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC05_011/nonmatchings/ov_SC05_011", func_8012D4B4); diff --git a/src/ov_SC05_017/ov_SC05_017.c b/src/ov_SC05_017/ov_SC05_017.c index 20038498f0..92b7acd4a8 100644 --- a/src/ov_SC05_017/ov_SC05_017.c +++ b/src/ov_SC05_017/ov_SC05_017.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC05_017/nonmatchings/ov_SC05_017", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC05_017/nonmatchings/ov_SC05_017", func_8012D4B4); diff --git a/src/ov_SC05_018/ov_SC05_018.c b/src/ov_SC05_018/ov_SC05_018.c index 657b38b8c7..d2cf898a63 100644 --- a/src/ov_SC05_018/ov_SC05_018.c +++ b/src/ov_SC05_018/ov_SC05_018.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC05_018/nonmatchings/ov_SC05_018", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC05_018/nonmatchings/ov_SC05_018", func_8012D4B4); diff --git a/src/ov_SC05_019/ov_SC05_019.c b/src/ov_SC05_019/ov_SC05_019.c index b69dbf8ac4..7f7e71b587 100644 --- a/src/ov_SC05_019/ov_SC05_019.c +++ b/src/ov_SC05_019/ov_SC05_019.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC05_019/nonmatchings/ov_SC05_019", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC05_019/nonmatchings/ov_SC05_019", func_8012D4B4); diff --git a/src/ov_SC06_000/ov_SC06_000.c b/src/ov_SC06_000/ov_SC06_000.c index 4c61c8ab60..1d6f7885b7 100644 --- a/src/ov_SC06_000/ov_SC06_000.c +++ b/src/ov_SC06_000/ov_SC06_000.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC06_000/nonmatchings/ov_SC06_000", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC06_000/nonmatchings/ov_SC06_000", func_8012D4B4); diff --git a/src/ov_SC06_006/ov_SC06_006.c b/src/ov_SC06_006/ov_SC06_006.c index 67f32da291..9acc36a3b7 100644 --- a/src/ov_SC06_006/ov_SC06_006.c +++ b/src/ov_SC06_006/ov_SC06_006.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC06_006/nonmatchings/ov_SC06_006", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC06_006/nonmatchings/ov_SC06_006", func_8012D4B4); diff --git a/src/ov_SC06_008/ov_SC06_008.c b/src/ov_SC06_008/ov_SC06_008.c index 6116987e37..55def84aa7 100644 --- a/src/ov_SC06_008/ov_SC06_008.c +++ b/src/ov_SC06_008/ov_SC06_008.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC06_008/nonmatchings/ov_SC06_008", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC06_008/nonmatchings/ov_SC06_008", func_8012D4B4); diff --git a/src/ov_SC06_010/ov_SC06_010.c b/src/ov_SC06_010/ov_SC06_010.c index 21b6f3a98b..a7576a03b0 100644 --- a/src/ov_SC06_010/ov_SC06_010.c +++ b/src/ov_SC06_010/ov_SC06_010.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC06_010/nonmatchings/ov_SC06_010", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC06_010/nonmatchings/ov_SC06_010", func_8012D4B4); diff --git a/src/ov_SC06_011/ov_SC06_011.c b/src/ov_SC06_011/ov_SC06_011.c index def38409b6..1174779344 100644 --- a/src/ov_SC06_011/ov_SC06_011.c +++ b/src/ov_SC06_011/ov_SC06_011.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC06_011/nonmatchings/ov_SC06_011", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC06_011/nonmatchings/ov_SC06_011", func_8012D4B4); diff --git a/src/ov_SC06_013/ov_SC06_013.c b/src/ov_SC06_013/ov_SC06_013.c index 745154b16b..157f6672cd 100644 --- a/src/ov_SC06_013/ov_SC06_013.c +++ b/src/ov_SC06_013/ov_SC06_013.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC06_013/nonmatchings/ov_SC06_013", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC06_013/nonmatchings/ov_SC06_013", func_8012D4B4); diff --git a/src/ov_SC06_014/ov_SC06_014.c b/src/ov_SC06_014/ov_SC06_014.c index 6e2a65c3e6..0a7cf540b6 100644 --- a/src/ov_SC06_014/ov_SC06_014.c +++ b/src/ov_SC06_014/ov_SC06_014.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC06_014/nonmatchings/ov_SC06_014", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC06_014/nonmatchings/ov_SC06_014", func_8012D4B4); diff --git a/src/ov_SC06_015/ov_SC06_015.c b/src/ov_SC06_015/ov_SC06_015.c index 95d694ad7e..235c66ad9e 100644 --- a/src/ov_SC06_015/ov_SC06_015.c +++ b/src/ov_SC06_015/ov_SC06_015.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC06_015/nonmatchings/ov_SC06_015", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC06_015/nonmatchings/ov_SC06_015", func_8012D4B4); diff --git a/src/ov_SC06_016/ov_SC06_016.c b/src/ov_SC06_016/ov_SC06_016.c index a7a3516d80..6f0af2c21f 100644 --- a/src/ov_SC06_016/ov_SC06_016.c +++ b/src/ov_SC06_016/ov_SC06_016.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC06_016/nonmatchings/ov_SC06_016", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC06_016/nonmatchings/ov_SC06_016", func_8012D4B4); diff --git a/src/ov_SC06_018/ov_SC06_018.c b/src/ov_SC06_018/ov_SC06_018.c index d4e9f77d06..f7fcdae656 100644 --- a/src/ov_SC06_018/ov_SC06_018.c +++ b/src/ov_SC06_018/ov_SC06_018.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC06_018/nonmatchings/ov_SC06_018", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC06_018/nonmatchings/ov_SC06_018", func_8012D4B4); diff --git a/src/ov_SC06_020/ov_SC06_020.c b/src/ov_SC06_020/ov_SC06_020.c index 84d4f9b632..12d1ddb9c7 100644 --- a/src/ov_SC06_020/ov_SC06_020.c +++ b/src/ov_SC06_020/ov_SC06_020.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC06_020/nonmatchings/ov_SC06_020", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC06_020/nonmatchings/ov_SC06_020", func_8012D4B4); diff --git a/src/ov_SC06_022/ov_SC06_022.c b/src/ov_SC06_022/ov_SC06_022.c index bf9f2b86cb..2a848955fe 100644 --- a/src/ov_SC06_022/ov_SC06_022.c +++ b/src/ov_SC06_022/ov_SC06_022.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC06_022/nonmatchings/ov_SC06_022", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC06_022/nonmatchings/ov_SC06_022", func_8012D4B4); diff --git a/src/ov_SC06_024/ov_SC06_024.c b/src/ov_SC06_024/ov_SC06_024.c index 423ccd6663..cafdb503b1 100644 --- a/src/ov_SC06_024/ov_SC06_024.c +++ b/src/ov_SC06_024/ov_SC06_024.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC06_024/nonmatchings/ov_SC06_024", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC06_024/nonmatchings/ov_SC06_024", func_8012D4B4); diff --git a/src/ov_SC06_025/ov_SC06_025.c b/src/ov_SC06_025/ov_SC06_025.c index 0836871ab3..fdc985791c 100644 --- a/src/ov_SC06_025/ov_SC06_025.c +++ b/src/ov_SC06_025/ov_SC06_025.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC06_025/nonmatchings/ov_SC06_025", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC06_025/nonmatchings/ov_SC06_025", func_8012D4B4); diff --git a/src/ov_SC06_027/ov_SC06_027.c b/src/ov_SC06_027/ov_SC06_027.c index c8088dde2c..8c8013116b 100644 --- a/src/ov_SC06_027/ov_SC06_027.c +++ b/src/ov_SC06_027/ov_SC06_027.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC06_027/nonmatchings/ov_SC06_027", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC06_027/nonmatchings/ov_SC06_027", func_8012D4B4); diff --git a/src/ov_SC06_029/ov_SC06_029.c b/src/ov_SC06_029/ov_SC06_029.c index 55ce3da3de..e1d5f5462b 100644 --- a/src/ov_SC06_029/ov_SC06_029.c +++ b/src/ov_SC06_029/ov_SC06_029.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC06_029/nonmatchings/ov_SC06_029", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC06_029/nonmatchings/ov_SC06_029", func_8012D4B4); diff --git a/src/ov_SC06_030/ov_SC06_030.c b/src/ov_SC06_030/ov_SC06_030.c index bc71f00411..fedadcb371 100644 --- a/src/ov_SC06_030/ov_SC06_030.c +++ b/src/ov_SC06_030/ov_SC06_030.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC06_030/nonmatchings/ov_SC06_030", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC06_030/nonmatchings/ov_SC06_030", func_8012D4B4); diff --git a/src/ov_SC06_032/ov_SC06_032.c b/src/ov_SC06_032/ov_SC06_032.c index a0924b7039..578db4f456 100644 --- a/src/ov_SC06_032/ov_SC06_032.c +++ b/src/ov_SC06_032/ov_SC06_032.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC06_032/nonmatchings/ov_SC06_032", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC06_032/nonmatchings/ov_SC06_032", func_8012D4B4); diff --git a/src/ov_SC06_033/ov_SC06_033.c b/src/ov_SC06_033/ov_SC06_033.c index 14b95644c5..d16662aea3 100644 --- a/src/ov_SC06_033/ov_SC06_033.c +++ b/src/ov_SC06_033/ov_SC06_033.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC06_033/nonmatchings/ov_SC06_033", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC06_033/nonmatchings/ov_SC06_033", func_8012D4B4); diff --git a/src/ov_SC07_000/ov_SC07_000.c b/src/ov_SC07_000/ov_SC07_000.c index e7ec1df6a9..e2e6359a09 100644 --- a/src/ov_SC07_000/ov_SC07_000.c +++ b/src/ov_SC07_000/ov_SC07_000.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC07_000/nonmatchings/ov_SC07_000", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC07_000/nonmatchings/ov_SC07_000", func_8012D4B4); diff --git a/src/ov_SC07_001/ov_SC07_001.c b/src/ov_SC07_001/ov_SC07_001.c index 74ac822311..986a194ca4 100644 --- a/src/ov_SC07_001/ov_SC07_001.c +++ b/src/ov_SC07_001/ov_SC07_001.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC07_001/nonmatchings/ov_SC07_001", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC07_001/nonmatchings/ov_SC07_001", func_8012D4B4); diff --git a/src/ov_SC07_002/ov_SC07_002.c b/src/ov_SC07_002/ov_SC07_002.c index 905f5f7390..89582689da 100644 --- a/src/ov_SC07_002/ov_SC07_002.c +++ b/src/ov_SC07_002/ov_SC07_002.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC07_002/nonmatchings/ov_SC07_002", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC07_002/nonmatchings/ov_SC07_002", func_8012D4B4); diff --git a/src/ov_SC07_008/ov_SC07_008.c b/src/ov_SC07_008/ov_SC07_008.c index 4c97c0192f..a1f0a654e7 100644 --- a/src/ov_SC07_008/ov_SC07_008.c +++ b/src/ov_SC07_008/ov_SC07_008.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC07_008/nonmatchings/ov_SC07_008", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC07_008/nonmatchings/ov_SC07_008", func_8012D4B4); diff --git a/src/ov_SC07_009/ov_SC07_009.c b/src/ov_SC07_009/ov_SC07_009.c index 2582783723..a9fc1f8c38 100644 --- a/src/ov_SC07_009/ov_SC07_009.c +++ b/src/ov_SC07_009/ov_SC07_009.c @@ -343,7 +343,7 @@ DEFINE_func_8012D38C() /* dedup: shared engine-core @0x8012D38C (src/shared) */ DEFINE_func_8012D3AC() /* dedup: shared engine-core @0x8012D3AC (src/shared) */ -INCLUDE_ASM("asm/ov_SC07_009/nonmatchings/ov_SC07_009", func_8012D3B4); +DEFINE_func_8012D3B4() /* dedup: shared engine-core @0x8012D3B4 (src/shared) */ INCLUDE_ASM("asm/ov_SC07_009/nonmatchings/ov_SC07_009", func_8012D4B4); diff --git a/src/shared/engine_core.h b/src/shared/engine_core.h index 98b5847c1e..9295590be8 100644 --- a/src/shared/engine_core.h +++ b/src/shared/engine_core.h @@ -6045,7 +6045,7 @@ #define DEFINE_func_8017C908() \ extern void ReadGeomOffset(s32 *a0, s32 *a1); \ - extern void RotTransPers(s32 a0, s32 a1, s32 *a2, s32 *a3); \ + extern s32 RotTransPers(s32 a0, s32 a1, s32 *a2, s32 *a3); \ extern void func_8004921C(s32 a0, s32 a1); \ void func_8017C908(s32 a0, s32 a1) { \ s32 ofx; \ @@ -12418,7 +12418,7 @@ } #define DEFINE_func_80159120() \ - extern void func_80029504(void); \ + extern s32 func_80029504(void); \ extern s32 func_801399F0(s32); \ extern void func_80139914(s32 a0); \ extern s32 func_80029A94(s32); \ @@ -16884,4 +16884,30 @@ return 1; \ } +#define DEFINE_func_8012D3B4() \ + extern s32 AddPrim(s32, void *); \ + extern s32 RotTransPers(s32, s32, s32 *, s32 *); \ + extern void SetLineF2(void *); \ + extern void *func_80010A08(s32); \ + extern void func_8004914C(void *); \ + extern void func_800491AC(void *); \ + extern s32 D_800A651C; \ + extern u8 D_800AF648; \ + extern s16 D_800B9A02; \ + void func_8012D3B4(s32 arg0, s32 arg1, s32 arg2) { \ + s32 sp10; \ + s32 sp14; \ + s32 temp_v0_2; \ + void *temp_v0; \ + temp_v0 = func_80010A08(0x10); \ + (*(s32 *)((s8*)(temp_v0)+(4))) = arg2; \ + SetLineF2(temp_v0); \ + func_8004914C(&D_800AF648); \ + func_800491AC(&D_800AF648); \ + temp_v0_2 = RotTransPers(arg0, temp_v0 + 8, &sp10, &sp14); \ + if ((temp_v0_2 > 0) && (sp14 >= 0) && (RotTransPers(arg1, temp_v0 + 0xC, &sp10, &sp14) > 0) && (sp14 >= 0)) { \ + AddPrim(*(s32 *)((s8 *)&D_800A651C + ((u16)D_800B9A02 * 0x14)) + (temp_v0_2 * 4), temp_v0); \ + } \ + } + #endif