feat(phase-26 T7): §52 regalloc sibling wave — 2 cores banked ×134 (268 instances)

The Fable5 walker-family idiom (§52, from the func_80178004 wall) applied by a
6-agent cheap-Opus wave over the regalloc-order reach-134 cluster:
- BANKED ×134: func_80171FFC (40 ins), func_801775E0 (67 ins) — 2 exemplars +
  266 members = 268 function-instances, 0 gate failures (family_sweep byte-gate).
- 4 precisely-characterized walls (P9), each yielding a byte-verified lever:
  func_80167714 (whole-binary near), func_80177AD4 (non-coalescing delay-slot copy),
  func_80169228 (NEW caller-saved priority-first-fit wall), func_80131A34 (save-order/
  load-hoist tension; new const-unchanging-load lever).
- §52a: the wave's new banking levers (pass-real-args/RC-10, store-base-both-arms,
  copy-chain-direction, pp-decl-schedule, const-unchanging-load/RC-3) + the two new
  intrinsic-wall classes. Fable5 DISCOVERS, cheap-Opus APPLIES.
- fn-count 84.27→84.35% (+268), instr-weighted 68.6→68.7% (+14,338 ins), distinct +2.
- R22 clean-fleet 136/136 BYTE-IDENTICAL; dedup 1840/0.
This commit is contained in:
Drew T
2026-07-15 12:26:47 -06:00
parent 8f3e4a12ba
commit 06e43873e9
272 changed files with 10464 additions and 2230 deletions
+1819 -1821
View File
File diff suppressed because it is too large Load Diff
+2 -2
View File
@@ -2,9 +2,9 @@
> Generated by `tools/family_hseq.py` from the 134 overlay sigs + per-overlay src stubs. Ranked by TEMPLATABLE byte-weight (PURE+IMM members × nins × 4). The byte-gate is the arbiter.
**Fleet (overlays):** 84.5% fn / 68.6% instr / 49.2% distinct-code matched. Unmatched: 52,986 instances / 3,984,105 ins (31,551 distinct classes).
**Fleet (overlays):** 84.5% fn / 68.6% instr / 49.2% distinct-code matched. Unmatched: 52,984 instances / 3,983,998 ins (31,549 distinct classes).
**Tail cross-check (Phase-25 close):** 37,205 tail fns / 1,842,053 ins → 581 h_seq families ≥2, **172 substantial (nins≥80) / 1,282,261 ins**.
**Tail cross-check (Phase-25 close):** 36,937 tail fns / 1,841,946 ins → 581 h_seq families ≥2, **172 substantial (nins≥80) / 1,282,261 ins**.
**Full frontier (all unmatched by h_seq):** 2645 target families (≥2 members or a matched sibling) + 3550 singletons (Step-D residue). Substantial: **563 families / 2,538,291 templatable ins**, 30 with a matched sibling (zero-crack). Substantial member classes: 15,316 PURE · 39 IMM · 6 STRUCT-excluded.
+38
View File
@@ -3801,3 +3801,41 @@ whole-binary-gate route.
**Flywheel note (R16):** even walled, this pass paid off — a cheap-Opus wave applying levers 1-5 should crack
the siblings that are NOT at the intrinsic wall. Fable5 DISCOVERS the skeleton; cheap-Opus APPLIES it.
### §52a — The regalloc sibling wave: new levers + two new wall classes (cheap-Opus applying §52, 2026-07-15)
Ran §52 as a 6-agent Opus wave over the regalloc-order reach-134 cluster: **2/6 banked ×134** (`func_80171FFC`,
`func_801775E0` → 268 instances, R22 136/136), the other 4 = precisely-characterized walls. Banks and walls
each yielded a byte-verified, reusable lever:
**New banking levers (each verified by a whole-binary bank):**
- **Pass the callee its real arguments** — `f((s32)a0,(s32)a1)`, NOT the void-cast no-arg trick
`((T(*)(void))f)()`. When params are saved to callee-saved regs before the first call, the void-cast form
STRIPS the param pseudos' arg refs → shuffles the `$s0/$s1/$s2` order (RC-10 density). Passing the args
naturally BOTH suppresses arg-setup moves (params already in place) AND preserves the density order. (`func_80171FFC`.)
- **Recompute a store-base in BOTH if/else arms** (the §52-lever-3 analogue for a base pointer): keeps the
recomputed base live across the branch-merge so subsequent `p[k]` address off it, not gcc address-CSE onto a
still-live keeper base. (`func_801775E0`.)
- **Copy-chain direction:** use the incoming param DIRECTLY as the persistent keeper (`keep = param+off`) with a
working copy `w = param`; gcc saves `param→$sK`, chains `$sJ=$sK`. An explicit keeper var reverses it. (`func_801775E0`.)
- **`pp`-declaration position drives the prologue schedule** (RC-1/K1): declare a param-copy pseudo AFTER the one
you want saved first — sched1 emits in pseudo-creation order. (`func_801775E0`.)
- **A `const`/`RTX_UNCHANGING_P` pre-call load frees a sched2 prologue save-order tie** (RC-3):
`f(*(const s32*)(a0+off))` — sched.c:true_dependence drops the load↔store deps so `sw $s0`/`sw $ra` stop readying
simultaneously → the descending-regno save tie staggers right. BOUNDARY: it can OVER-free (the load then hoists
above the saves), so it fixes save-order but not always the whole function. (`func_80131A34`.)
**Two NEW intrinsic-wall classes (byte-characterized, P9 — distinct from §52's flagship `$s0` local-alloc wall):**
- **Caller-saved priority-first-fit wall.** A long-lived block-local value (`$v0/$v1/$a0` scratch) stored many
times has LOW `qty_compare` priority (`floor_log2(refs)·refs·size/(death−birth)`) → loses the low-reg first-fit
to its SHORT-lived competitor. §31-B in-out-asm and §47 live-length split TIES only, never a priority GAP, and
the competitor can't be lengthened without deleting an instruction the target keeps. Needs pins → ×1-only.
(`func_80169228`, bounded to 3 register identities.)
- **Non-coalescing delay-slot copy wall.** A value computed in `$vX`, tested, then copied to `$vY` to survive a
clobber in the branch delay slot needs two non-coalescing equal-valued pseudos. Every pure-C `y=x` is destroyed
by cse.c `canon_reg`/`make_regs_eqv` head-promotion or global-alloc coalescing; the only preserving forms are
`#APP` asm (blocks reorg's delay-slot fill) or a `$0`-add (SIGABRTs cc1 in sibling TUs, §42e). Intrinsic
pin-free/sweep-safe wall. (`func_80177AD4`, 1 instruction.)
**Wave economics:** ~⅓ of a fully-walled cluster cracks pin-free by applying the idiom; the rest wall on a small
set of distinct, now-named mechanisms. Cracks bank ×134; walls become permuter seeds or documented dead-ends.
+139 -139
View File
@@ -4,151 +4,151 @@
# cross-binary collapsible-byte leverage: docs/duplicates.cross.md.
# THREE progress metrics (all matter — see the labels):
FLEET fn-count byte-ident: 289629 / 343677 = 84.27% (REAL+LINKED+empties; FUNCTION-count, ×134-inflated — one crack counts per overlay)
FLEET instr-weighted : 8721423 / 12707182 = 68.6% (shipped .text across resident+134 overlays; the decomp.dev-DISPLAY number)
FLEET distinct-code(uniq): 2662862 / 5410077 = 49.2% (53424/84996 unique fns; the DISTINCT-RE number; main EXE not sig'd)
FLEET fn-count byte-ident: 289897 / 343677 = 84.35% (REAL+LINKED+empties; FUNCTION-count, ×134-inflated — one crack counts per overlay)
FLEET instr-weighted : 8735761 / 12707182 = 68.7% (shipped .text across resident+134 overlays; the decomp.dev-DISPLAY number)
FLEET distinct-code(uniq): 2662969 / 5410077 = 49.2% (53426/84996 unique fns; the DISTINCT-RE number; main EXE not sig'd)
FLEET REAL substantive : 288101 (of which dedup-shared 227167 via 1840 groups / 227211 instances)
FLEET REAL substantive : 288369 (of which dedup-shared 227167 via 1840 groups / 227211 instances)
FLEET LINKED PsyQ objs : 959
FLEET NON_MATCHING : 7 (0 in any default build — G4)
FLEET INCLUDE_ASM stubs : 54041
FLEET INCLUDE_ASM stubs : 53773
FLEET matchable : 343677
| binary | REAL | shared | LINKED | byte-ident | matchable | byte-ident % |
|---|---:|---:|---:|---:|---:|---:|
| main | 54 | 2 | 959 | 1055 | 2096 | 50.3% |
| resident | 123 | 0 | 0 | 125 | 146 | 85.6% |
| ov_SC01_000 | 2118 | 1698 | 0 | 2118 | 2403 | 88.1% |
| ov_SC01_001 | 2122 | 1698 | 0 | 2124 | 2466 | 86.1% |
| ov_SC01_004 | 2114 | 1689 | 0 | 2115 | 2414 | 87.6% |
| ov_SC01_005 | 2144 | 1711 | 0 | 2144 | 2503 | 85.7% |
| ov_SC01_006 | 2144 | 1711 | 0 | 2144 | 2503 | 85.7% |
| ov_SC01_008 | 2114 | 1689 | 0 | 2116 | 2426 | 87.2% |
| ov_SC01_009 | 2138 | 1690 | 0 | 2139 | 2507 | 85.3% |
| ov_SC01_074 | 2118 | 1690 | 0 | 2120 | 2425 | 87.4% |
| ov_SC01_077 | 2355 | 1658 | 0 | 2357 | 2585 | 91.2% |
| ov_SC01_080 | 2155 | 1693 | 0 | 2155 | 2512 | 85.8% |
| ov_SC01_084 | 2163 | 1693 | 0 | 2168 | 2579 | 84.1% |
| ov_SC02_000 | 2210 | 1728 | 0 | 2210 | 2683 | 82.4% |
| ov_SC02_003 | 2210 | 1728 | 0 | 2210 | 2683 | 82.4% |
| ov_SC02_004 | 2123 | 1693 | 0 | 2123 | 2401 | 88.4% |
| ov_SC02_005 | 2230 | 1689 | 0 | 2240 | 2927 | 76.5% |
| ov_SC02_011 | 2237 | 1696 | 0 | 2248 | 2893 | 77.7% |
| ov_SC02_015 | 2125 | 1695 | 0 | 2125 | 2414 | 88.0% |
| ov_SC02_016 | 2153 | 1695 | 0 | 2156 | 2545 | 84.7% |
| ov_SC02_017 | 2197 | 1695 | 0 | 2205 | 2732 | 80.7% |
| ov_SC02_021 | 2130 | 1695 | 0 | 2130 | 2437 | 87.4% |
| ov_SC02_026 | 2143 | 1693 | 0 | 2149 | 2572 | 83.6% |
| ov_SC02_027 | 2167 | 1693 | 0 | 2176 | 2692 | 80.8% |
| ov_SC02_028 | 2168 | 1693 | 0 | 2178 | 2701 | 80.6% |
| ov_SC02_031 | 2156 | 1694 | 0 | 2161 | 2562 | 84.3% |
| ov_SC02_035 | 2130 | 1693 | 0 | 2133 | 2520 | 84.6% |
| ov_SC02_039 | 2116 | 1693 | 0 | 2116 | 2416 | 87.6% |
| ov_SC02_041 | 2150 | 1693 | 0 | 2153 | 2561 | 84.1% |
| ov_SC03_001 | 2250 | 1694 | 0 | 2267 | 2869 | 79.0% |
| ov_SC03_002 | 2177 | 1698 | 0 | 2192 | 2631 | 83.3% |
| ov_SC03_003 | 2126 | 1693 | 0 | 2127 | 2423 | 87.8% |
| ov_SC03_006 | 2189 | 1699 | 0 | 2198 | 2767 | 79.4% |
| ov_SC03_007 | 2170 | 1693 | 0 | 2174 | 2623 | 82.9% |
| ov_SC03_010 | 2133 | 1693 | 0 | 2133 | 2470 | 86.4% |
| ov_SC03_011 | 2140 | 1693 | 0 | 2146 | 2527 | 84.9% |
| ov_SC03_012 | 2118 | 1693 | 0 | 2119 | 2406 | 88.1% |
| ov_SC03_013 | 2138 | 1693 | 0 | 2138 | 2492 | 85.8% |
| ov_SC03_014 | 2193 | 1718 | 0 | 2193 | 2685 | 81.7% |
| ov_SC03_015 | 2194 | 1718 | 0 | 2194 | 2685 | 81.7% |
| ov_SC03_023 | 2124 | 1693 | 0 | 2125 | 2435 | 87.3% |
| ov_SC03_024 | 2181 | 1698 | 0 | 2188 | 2641 | 82.8% |
| ov_SC03_028 | 2164 | 1693 | 0 | 2168 | 2664 | 81.4% |
| ov_SC03_029 | 2164 | 1695 | 0 | 2174 | 2644 | 82.2% |
| ov_SC03_030 | 2139 | 1698 | 0 | 2141 | 2495 | 85.8% |
| ov_SC03_031 | 2135 | 1693 | 0 | 2138 | 2514 | 85.0% |
| ov_SC03_089 | 2149 | 1693 | 0 | 2156 | 2581 | 83.5% |
| ov_SC03_090 | 2151 | 1693 | 0 | 2159 | 2625 | 82.2% |
| ov_SC03_091 | 2154 | 1693 | 0 | 2162 | 2640 | 81.9% |
| ov_SC03_092 | 2166 | 1693 | 0 | 2178 | 2587 | 84.2% |
| ov_SC03_093 | 2141 | 1693 | 0 | 2145 | 2563 | 83.7% |
| ov_SC03_094 | 2135 | 1693 | 0 | 2141 | 2577 | 83.1% |
| ov_SC03_095 | 2126 | 1693 | 0 | 2129 | 2474 | 86.1% |
| ov_SC03_096 | 2126 | 1693 | 0 | 2129 | 2465 | 86.4% |
| ov_SC03_097 | 2154 | 1693 | 0 | 2161 | 2603 | 83.0% |
| ov_SC03_098 | 2133 | 1693 | 0 | 2136 | 2541 | 84.1% |
| ov_SC03_099 | 2127 | 1693 | 0 | 2130 | 2504 | 85.1% |
| ov_SC03_100 | 2136 | 1693 | 0 | 2140 | 2539 | 84.3% |
| ov_SC03_101 | 2137 | 1693 | 0 | 2141 | 2528 | 84.7% |
| ov_SC03_102 | 2129 | 1693 | 0 | 2132 | 2492 | 85.6% |
| ov_SC03_103 | 2132 | 1695 | 0 | 2135 | 2510 | 85.1% |
| ov_SC03_104 | 2157 | 1693 | 0 | 2164 | 2616 | 82.7% |
| ov_SC03_105 | 2151 | 1693 | 0 | 2158 | 2597 | 83.1% |
| ov_SC03_108 | 2120 | 1693 | 0 | 2120 | 2443 | 86.8% |
| ov_SC03_109 | 2121 | 1693 | 0 | 2123 | 2424 | 87.6% |
| ov_SC03_110 | 2126 | 1693 | 0 | 2126 | 2468 | 86.1% |
| ov_SC03_111 | 2136 | 1693 | 0 | 2139 | 2510 | 85.2% |
| ov_SC03_112 | 2131 | 1695 | 0 | 2133 | 2526 | 84.4% |
| ov_SC03_113 | 2124 | 1695 | 0 | 2127 | 2468 | 86.2% |
| ov_SC03_114 | 2114 | 1693 | 0 | 2116 | 2415 | 87.6% |
| ov_SC03_115 | 2131 | 1693 | 0 | 2133 | 2472 | 86.3% |
| ov_SC03_116 | 2122 | 1693 | 0 | 2125 | 2438 | 87.2% |
| ov_SC03_117 | 2147 | 1693 | 0 | 2153 | 2557 | 84.2% |
| ov_SC03_118 | 2195 | 1717 | 0 | 2196 | 2685 | 81.8% |
| ov_SC03_119 | 2192 | 1717 | 0 | 2193 | 2685 | 81.7% |
| ov_SC03_121 | 2127 | 1693 | 0 | 2130 | 2459 | 86.6% |
| ov_SC03_124 | 2207 | 1689 | 0 | 2227 | 2741 | 81.2% |
| ov_SC03_125 | 2164 | 1693 | 0 | 2176 | 2588 | 84.1% |
| ov_SC03_126 | 2126 | 1695 | 0 | 2126 | 2423 | 87.7% |
| ov_SC04_000 | 2143 | 1697 | 0 | 2152 | 2546 | 84.5% |
| ov_SC04_002 | 2158 | 1693 | 0 | 2162 | 2636 | 82.0% |
| ov_SC04_003 | 2136 | 1693 | 0 | 2140 | 2502 | 85.5% |
| ov_SC04_004 | 2146 | 1693 | 0 | 2148 | 2558 | 84.0% |
| ov_SC04_005 | 2153 | 1693 | 0 | 2159 | 2612 | 82.7% |
| ov_SC04_006 | 2126 | 1693 | 0 | 2128 | 2454 | 86.7% |
| ov_SC04_007 | 2146 | 1693 | 0 | 2150 | 2569 | 83.7% |
| ov_SC04_008 | 2117 | 1693 | 0 | 2117 | 2415 | 87.7% |
| ov_SC04_009 | 2132 | 1693 | 0 | 2135 | 2441 | 87.5% |
| ov_SC04_010 | 2123 | 1693 | 0 | 2124 | 2419 | 87.8% |
| ov_SC04_011 | 2180 | 1693 | 0 | 2186 | 2803 | 78.0% |
| ov_SC04_012 | 2121 | 1693 | 0 | 2122 | 2420 | 87.7% |
| ov_SC04_015 | 2183 | 1694 | 0 | 2194 | 2611 | 84.0% |
| ov_SC04_016 | 2123 | 1693 | 0 | 2125 | 2440 | 87.1% |
| ov_SC04_018 | 2234 | 1728 | 0 | 2234 | 2857 | 78.2% |
| ov_SC04_019 | 2239 | 1728 | 0 | 2239 | 2857 | 78.4% |
| ov_SC04_020 | 2151 | 1693 | 0 | 2163 | 2567 | 84.3% |
| ov_SC04_021 | 2127 | 1695 | 0 | 2127 | 2423 | 87.8% |
| ov_SC05_000 | 2124 | 1697 | 0 | 2127 | 2422 | 87.8% |
| ov_SC05_001 | 2147 | 1693 | 0 | 2152 | 2574 | 83.6% |
| ov_SC05_002 | 2128 | 1693 | 0 | 2131 | 2442 | 87.3% |
| ov_SC05_003 | 2125 | 1693 | 0 | 2126 | 2481 | 85.7% |
| ov_SC05_004 | 2121 | 1693 | 0 | 2123 | 2464 | 86.2% |
| ov_SC05_005 | 2128 | 1693 | 0 | 2129 | 2491 | 85.5% |
| ov_SC05_006 | 2120 | 1693 | 0 | 2120 | 2430 | 87.2% |
| ov_SC05_007 | 2130 | 1693 | 0 | 2135 | 2482 | 86.0% |
| ov_SC05_008 | 2148 | 1693 | 0 | 2150 | 2543 | 84.5% |
| ov_SC05_009 | 2125 | 1693 | 0 | 2129 | 2438 | 87.3% |
| ov_SC05_010 | 2150 | 1693 | 0 | 2154 | 2588 | 83.2% |
| ov_SC05_011 | 2123 | 1693 | 0 | 2124 | 2409 | 88.2% |
| ov_SC05_017 | 2230 | 1690 | 0 | 2241 | 2842 | 78.9% |
| ov_SC05_018 | 2177 | 1693 | 0 | 2190 | 2673 | 81.9% |
| ov_SC05_019 | 2127 | 1695 | 0 | 2127 | 2423 | 87.8% |
| ov_SC06_000 | 2188 | 1702 | 0 | 2191 | 2691 | 81.4% |
| ov_SC06_006 | 2143 | 1693 | 0 | 2144 | 2511 | 85.4% |
| ov_SC06_008 | 2151 | 1695 | 0 | 2157 | 2542 | 84.9% |
| ov_SC06_010 | 2136 | 1693 | 0 | 2141 | 2517 | 85.1% |
| ov_SC06_011 | 2130 | 1693 | 0 | 2134 | 2468 | 86.5% |
| ov_SC06_013 | 2124 | 1693 | 0 | 2125 | 2425 | 87.6% |
| ov_SC06_014 | 2129 | 1693 | 0 | 2131 | 2453 | 86.9% |
| ov_SC06_015 | 2126 | 1693 | 0 | 2126 | 2421 | 87.8% |
| ov_SC06_016 | 2145 | 1693 | 0 | 2147 | 2549 | 84.2% |
| ov_SC06_018 | 2140 | 1696 | 0 | 2147 | 2665 | 80.6% |
| ov_SC06_020 | 2133 | 1695 | 0 | 2134 | 2518 | 84.7% |
| ov_SC06_022 | 2146 | 1693 | 0 | 2154 | 2642 | 81.5% |
| ov_SC06_024 | 2153 | 1693 | 0 | 2159 | 2667 | 81.0% |
| ov_SC06_025 | 2145 | 1693 | 0 | 2150 | 2572 | 83.6% |
| ov_SC06_027 | 2114 | 1693 | 0 | 2115 | 2408 | 87.8% |
| ov_SC06_029 | 2170 | 1693 | 0 | 2182 | 2662 | 82.0% |
| ov_SC06_030 | 2126 | 1693 | 0 | 2126 | 2456 | 86.6% |
| ov_SC06_032 | 2137 | 1694 | 0 | 2144 | 2658 | 80.7% |
| ov_SC06_033 | 2140 | 1694 | 0 | 2147 | 2631 | 81.6% |
| ov_SC07_000 | 2141 | 1697 | 0 | 2143 | 2521 | 85.0% |
| ov_SC07_001 | 2127 | 1693 | 0 | 2129 | 2454 | 86.8% |
| ov_SC07_002 | 2154 | 1693 | 0 | 2158 | 2579 | 83.7% |
| ov_SC07_008 | 2111 | 1693 | 0 | 2111 | 2386 | 88.5% |
| ov_SC07_009 | 2122 | 1693 | 0 | 2124 | 2430 | 87.4% |
| ov_SC01_000 | 2120 | 1698 | 0 | 2120 | 2403 | 88.2% |
| ov_SC01_001 | 2124 | 1698 | 0 | 2126 | 2466 | 86.2% |
| ov_SC01_004 | 2116 | 1689 | 0 | 2117 | 2414 | 87.7% |
| ov_SC01_005 | 2146 | 1711 | 0 | 2146 | 2503 | 85.7% |
| ov_SC01_006 | 2146 | 1711 | 0 | 2146 | 2503 | 85.7% |
| ov_SC01_008 | 2116 | 1689 | 0 | 2118 | 2426 | 87.3% |
| ov_SC01_009 | 2140 | 1690 | 0 | 2141 | 2507 | 85.4% |
| ov_SC01_074 | 2120 | 1690 | 0 | 2122 | 2425 | 87.5% |
| ov_SC01_077 | 2357 | 1658 | 0 | 2359 | 2585 | 91.3% |
| ov_SC01_080 | 2157 | 1693 | 0 | 2157 | 2512 | 85.9% |
| ov_SC01_084 | 2165 | 1693 | 0 | 2170 | 2579 | 84.1% |
| ov_SC02_000 | 2212 | 1728 | 0 | 2212 | 2683 | 82.4% |
| ov_SC02_003 | 2212 | 1728 | 0 | 2212 | 2683 | 82.4% |
| ov_SC02_004 | 2125 | 1693 | 0 | 2125 | 2401 | 88.5% |
| ov_SC02_005 | 2232 | 1689 | 0 | 2242 | 2927 | 76.6% |
| ov_SC02_011 | 2239 | 1696 | 0 | 2250 | 2893 | 77.8% |
| ov_SC02_015 | 2127 | 1695 | 0 | 2127 | 2414 | 88.1% |
| ov_SC02_016 | 2155 | 1695 | 0 | 2158 | 2545 | 84.8% |
| ov_SC02_017 | 2199 | 1695 | 0 | 2207 | 2732 | 80.8% |
| ov_SC02_021 | 2132 | 1695 | 0 | 2132 | 2437 | 87.5% |
| ov_SC02_026 | 2145 | 1693 | 0 | 2151 | 2572 | 83.6% |
| ov_SC02_027 | 2169 | 1693 | 0 | 2178 | 2692 | 80.9% |
| ov_SC02_028 | 2170 | 1693 | 0 | 2180 | 2701 | 80.7% |
| ov_SC02_031 | 2158 | 1694 | 0 | 2163 | 2562 | 84.4% |
| ov_SC02_035 | 2132 | 1693 | 0 | 2135 | 2520 | 84.7% |
| ov_SC02_039 | 2118 | 1693 | 0 | 2118 | 2416 | 87.7% |
| ov_SC02_041 | 2152 | 1693 | 0 | 2155 | 2561 | 84.1% |
| ov_SC03_001 | 2252 | 1694 | 0 | 2269 | 2869 | 79.1% |
| ov_SC03_002 | 2179 | 1698 | 0 | 2194 | 2631 | 83.4% |
| ov_SC03_003 | 2128 | 1693 | 0 | 2129 | 2423 | 87.9% |
| ov_SC03_006 | 2191 | 1699 | 0 | 2200 | 2767 | 79.5% |
| ov_SC03_007 | 2172 | 1693 | 0 | 2176 | 2623 | 83.0% |
| ov_SC03_010 | 2135 | 1693 | 0 | 2135 | 2470 | 86.4% |
| ov_SC03_011 | 2142 | 1693 | 0 | 2148 | 2527 | 85.0% |
| ov_SC03_012 | 2120 | 1693 | 0 | 2121 | 2406 | 88.2% |
| ov_SC03_013 | 2140 | 1693 | 0 | 2140 | 2492 | 85.9% |
| ov_SC03_014 | 2195 | 1718 | 0 | 2195 | 2685 | 81.8% |
| ov_SC03_015 | 2196 | 1718 | 0 | 2196 | 2685 | 81.8% |
| ov_SC03_023 | 2126 | 1693 | 0 | 2127 | 2435 | 87.4% |
| ov_SC03_024 | 2183 | 1698 | 0 | 2190 | 2641 | 82.9% |
| ov_SC03_028 | 2166 | 1693 | 0 | 2170 | 2664 | 81.5% |
| ov_SC03_029 | 2166 | 1695 | 0 | 2176 | 2644 | 82.3% |
| ov_SC03_030 | 2141 | 1698 | 0 | 2143 | 2495 | 85.9% |
| ov_SC03_031 | 2137 | 1693 | 0 | 2140 | 2514 | 85.1% |
| ov_SC03_089 | 2151 | 1693 | 0 | 2158 | 2581 | 83.6% |
| ov_SC03_090 | 2153 | 1693 | 0 | 2161 | 2625 | 82.3% |
| ov_SC03_091 | 2156 | 1693 | 0 | 2164 | 2640 | 82.0% |
| ov_SC03_092 | 2168 | 1693 | 0 | 2180 | 2587 | 84.3% |
| ov_SC03_093 | 2143 | 1693 | 0 | 2147 | 2563 | 83.8% |
| ov_SC03_094 | 2137 | 1693 | 0 | 2143 | 2577 | 83.2% |
| ov_SC03_095 | 2128 | 1693 | 0 | 2131 | 2474 | 86.1% |
| ov_SC03_096 | 2128 | 1693 | 0 | 2131 | 2465 | 86.5% |
| ov_SC03_097 | 2156 | 1693 | 0 | 2163 | 2603 | 83.1% |
| ov_SC03_098 | 2135 | 1693 | 0 | 2138 | 2541 | 84.1% |
| ov_SC03_099 | 2129 | 1693 | 0 | 2132 | 2504 | 85.1% |
| ov_SC03_100 | 2138 | 1693 | 0 | 2142 | 2539 | 84.4% |
| ov_SC03_101 | 2139 | 1693 | 0 | 2143 | 2528 | 84.8% |
| ov_SC03_102 | 2131 | 1693 | 0 | 2134 | 2492 | 85.6% |
| ov_SC03_103 | 2134 | 1695 | 0 | 2137 | 2510 | 85.1% |
| ov_SC03_104 | 2159 | 1693 | 0 | 2166 | 2616 | 82.8% |
| ov_SC03_105 | 2153 | 1693 | 0 | 2160 | 2597 | 83.2% |
| ov_SC03_108 | 2122 | 1693 | 0 | 2122 | 2443 | 86.9% |
| ov_SC03_109 | 2123 | 1693 | 0 | 2125 | 2424 | 87.7% |
| ov_SC03_110 | 2128 | 1693 | 0 | 2128 | 2468 | 86.2% |
| ov_SC03_111 | 2138 | 1693 | 0 | 2141 | 2510 | 85.3% |
| ov_SC03_112 | 2133 | 1695 | 0 | 2135 | 2526 | 84.5% |
| ov_SC03_113 | 2126 | 1695 | 0 | 2129 | 2468 | 86.3% |
| ov_SC03_114 | 2116 | 1693 | 0 | 2118 | 2415 | 87.7% |
| ov_SC03_115 | 2133 | 1693 | 0 | 2135 | 2472 | 86.4% |
| ov_SC03_116 | 2124 | 1693 | 0 | 2127 | 2438 | 87.2% |
| ov_SC03_117 | 2149 | 1693 | 0 | 2155 | 2557 | 84.3% |
| ov_SC03_118 | 2197 | 1717 | 0 | 2198 | 2685 | 81.9% |
| ov_SC03_119 | 2194 | 1717 | 0 | 2195 | 2685 | 81.8% |
| ov_SC03_121 | 2129 | 1693 | 0 | 2132 | 2459 | 86.7% |
| ov_SC03_124 | 2209 | 1689 | 0 | 2229 | 2741 | 81.3% |
| ov_SC03_125 | 2166 | 1693 | 0 | 2178 | 2588 | 84.2% |
| ov_SC03_126 | 2128 | 1695 | 0 | 2128 | 2423 | 87.8% |
| ov_SC04_000 | 2145 | 1697 | 0 | 2154 | 2546 | 84.6% |
| ov_SC04_002 | 2160 | 1693 | 0 | 2164 | 2636 | 82.1% |
| ov_SC04_003 | 2138 | 1693 | 0 | 2142 | 2502 | 85.6% |
| ov_SC04_004 | 2148 | 1693 | 0 | 2150 | 2558 | 84.1% |
| ov_SC04_005 | 2155 | 1693 | 0 | 2161 | 2612 | 82.7% |
| ov_SC04_006 | 2128 | 1693 | 0 | 2130 | 2454 | 86.8% |
| ov_SC04_007 | 2148 | 1693 | 0 | 2152 | 2569 | 83.8% |
| ov_SC04_008 | 2119 | 1693 | 0 | 2119 | 2415 | 87.7% |
| ov_SC04_009 | 2134 | 1693 | 0 | 2137 | 2441 | 87.5% |
| ov_SC04_010 | 2125 | 1693 | 0 | 2126 | 2419 | 87.9% |
| ov_SC04_011 | 2182 | 1693 | 0 | 2188 | 2803 | 78.1% |
| ov_SC04_012 | 2123 | 1693 | 0 | 2124 | 2420 | 87.8% |
| ov_SC04_015 | 2185 | 1694 | 0 | 2196 | 2611 | 84.1% |
| ov_SC04_016 | 2125 | 1693 | 0 | 2127 | 2440 | 87.2% |
| ov_SC04_018 | 2236 | 1728 | 0 | 2236 | 2857 | 78.3% |
| ov_SC04_019 | 2241 | 1728 | 0 | 2241 | 2857 | 78.4% |
| ov_SC04_020 | 2153 | 1693 | 0 | 2165 | 2567 | 84.3% |
| ov_SC04_021 | 2129 | 1695 | 0 | 2129 | 2423 | 87.9% |
| ov_SC05_000 | 2126 | 1697 | 0 | 2129 | 2422 | 87.9% |
| ov_SC05_001 | 2149 | 1693 | 0 | 2154 | 2574 | 83.7% |
| ov_SC05_002 | 2130 | 1693 | 0 | 2133 | 2442 | 87.3% |
| ov_SC05_003 | 2127 | 1693 | 0 | 2128 | 2481 | 85.8% |
| ov_SC05_004 | 2123 | 1693 | 0 | 2125 | 2464 | 86.2% |
| ov_SC05_005 | 2130 | 1693 | 0 | 2131 | 2491 | 85.5% |
| ov_SC05_006 | 2122 | 1693 | 0 | 2122 | 2430 | 87.3% |
| ov_SC05_007 | 2132 | 1693 | 0 | 2137 | 2482 | 86.1% |
| ov_SC05_008 | 2150 | 1693 | 0 | 2152 | 2543 | 84.6% |
| ov_SC05_009 | 2127 | 1693 | 0 | 2131 | 2438 | 87.4% |
| ov_SC05_010 | 2152 | 1693 | 0 | 2156 | 2588 | 83.3% |
| ov_SC05_011 | 2125 | 1693 | 0 | 2126 | 2409 | 88.3% |
| ov_SC05_017 | 2232 | 1690 | 0 | 2243 | 2842 | 78.9% |
| ov_SC05_018 | 2179 | 1693 | 0 | 2192 | 2673 | 82.0% |
| ov_SC05_019 | 2129 | 1695 | 0 | 2129 | 2423 | 87.9% |
| ov_SC06_000 | 2190 | 1702 | 0 | 2193 | 2691 | 81.5% |
| ov_SC06_006 | 2145 | 1693 | 0 | 2146 | 2511 | 85.5% |
| ov_SC06_008 | 2153 | 1695 | 0 | 2159 | 2542 | 84.9% |
| ov_SC06_010 | 2138 | 1693 | 0 | 2143 | 2517 | 85.1% |
| ov_SC06_011 | 2132 | 1693 | 0 | 2136 | 2468 | 86.5% |
| ov_SC06_013 | 2126 | 1693 | 0 | 2127 | 2425 | 87.7% |
| ov_SC06_014 | 2131 | 1693 | 0 | 2133 | 2453 | 87.0% |
| ov_SC06_015 | 2128 | 1693 | 0 | 2128 | 2421 | 87.9% |
| ov_SC06_016 | 2147 | 1693 | 0 | 2149 | 2549 | 84.3% |
| ov_SC06_018 | 2142 | 1696 | 0 | 2149 | 2665 | 80.6% |
| ov_SC06_020 | 2135 | 1695 | 0 | 2136 | 2518 | 84.8% |
| ov_SC06_022 | 2148 | 1693 | 0 | 2156 | 2642 | 81.6% |
| ov_SC06_024 | 2155 | 1693 | 0 | 2161 | 2667 | 81.0% |
| ov_SC06_025 | 2147 | 1693 | 0 | 2152 | 2572 | 83.7% |
| ov_SC06_027 | 2116 | 1693 | 0 | 2117 | 2408 | 87.9% |
| ov_SC06_029 | 2172 | 1693 | 0 | 2184 | 2662 | 82.0% |
| ov_SC06_030 | 2128 | 1693 | 0 | 2128 | 2456 | 86.6% |
| ov_SC06_032 | 2139 | 1694 | 0 | 2146 | 2658 | 80.7% |
| ov_SC06_033 | 2142 | 1694 | 0 | 2149 | 2631 | 81.7% |
| ov_SC07_000 | 2143 | 1697 | 0 | 2145 | 2521 | 85.1% |
| ov_SC07_001 | 2129 | 1693 | 0 | 2131 | 2454 | 86.8% |
| ov_SC07_002 | 2156 | 1693 | 0 | 2160 | 2579 | 83.8% |
| ov_SC07_008 | 2113 | 1693 | 0 | 2113 | 2386 | 88.6% |
| ov_SC07_009 | 2124 | 1693 | 0 | 2126 | 2430 | 87.5% |
+21 -1
View File
@@ -3733,7 +3733,27 @@ DEFINE_func_80171E08() /* dedup: shared engine-core @0x80171E08 (src/shared) */
DEFINE_func_80171EC8() /* dedup: shared engine-core @0x80171EC8 (src/shared) */
INCLUDE_ASM("asm/ov_SC01_000/nonmatchings/ov_SC01_000_jr_8016AB6C", func_80171FFC);
extern s32 func_8017248C(s32, s32);
extern s32 ratan2(s32, s32);
extern void func_80172170(s32, s32);
extern void func_80146D90(s32);
s32 func_80171FFC(short *a0, short *a1, s32 a2)
{
s32 r;
r = func_8017248C((s32)a0, (s32)a1);
if (r != 0) {
func_80146D90((s32)a0);
return r;
}
*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) =
(ratan2(a1[0] - a0[3], a1[2] - a0[7]) + 0x800) & 0xFFF;
func_80172170((s32)a0, a2 & 0xFF);
return 0;
}
DEFINE_func_8017209C() /* dedup: shared engine-core @0x8017209C (src/shared) */
+42 -1
View File
@@ -2852,7 +2852,48 @@ DEFINE_func_80177340() /* dedup: shared engine-core @0x80177340 (src/shared) */
DEFINE_func_8017742C() /* dedup: shared engine-core @0x8017742C (src/shared) */
INCLUDE_ASM("asm/ov_SC01_000/nonmatchings/ov_SC01_000_jr_801734BC", func_801775E0);
extern void func_801776EC(u8 *a0);
void func_801775E0(s32 param_1, s32 param_2) {
extern u8 D_8011F83B;
extern u8 D_8011F837;
extern u8 D_8011F7F0;
s32 s0 = param_1;
s32 pp = param_2;
u8 *base = &D_8011F7F0;
s16 sVar1; s32 t; s32 v;
s32 c = D_8011F83B;
if (c != 0) {
if (c < 0) goto store;
if (c >= 0xf7) goto store;
if (c < 0xf3) goto store;
goto docall;
}
if (D_8011F837 != 0x80) {
*(u8 *)(s0 + 4) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 5) = 0x10;
goto L684;
}
func_801776EC((u8 *)s0);
goto L684;
docall:
func_801776EC((u8 *)s0);
goto L684;
store:
*(u8 *)(s0 + 5) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 4) = 0x10;
L684:
sVar1 = (s16)((u32)(base[0x47] * 9) >> 4);
t = pp + 0x48;
*(s16 *)(s0 + 0xe) = sVar1;
*(s16 *)(s0 + 0xa) = t - sVar1;
if (base[0x47] != 0) { s0 = param_1 + 0x14; v = 0xa0; } else { s0 = param_1 + 0x14; v = 0x40; }
*(u8 *)(s0 + 6) = v;
*(s16 *)(s0 + 0xa) = pp;
}
DEFINE_func_801776EC() /* dedup: shared engine-core @0x801776EC (src/shared) */
+21 -1
View File
@@ -3731,7 +3731,27 @@ DEFINE_func_80171E08() /* dedup: shared engine-core @0x80171E08 (src/shared) */
DEFINE_func_80171EC8() /* dedup: shared engine-core @0x80171EC8 (src/shared) */
INCLUDE_ASM("asm/ov_SC01_001/nonmatchings/ov_SC01_001_jr_8016AB6C", func_80171FFC);
extern s32 func_8017248C(s32, s32);
extern s32 ratan2(s32, s32);
extern void func_80172170(s32, s32);
extern void func_80146D90(s32);
s32 func_80171FFC(short *a0, short *a1, s32 a2)
{
s32 r;
r = func_8017248C((s32)a0, (s32)a1);
if (r != 0) {
func_80146D90((s32)a0);
return r;
}
*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) =
(ratan2(a1[0] - a0[3], a1[2] - a0[7]) + 0x800) & 0xFFF;
func_80172170((s32)a0, a2 & 0xFF);
return 0;
}
DEFINE_func_8017209C() /* dedup: shared engine-core @0x8017209C (src/shared) */
+42 -1
View File
@@ -2850,7 +2850,48 @@ DEFINE_func_80177340() /* dedup: shared engine-core @0x80177340 (src/shared) */
DEFINE_func_8017742C() /* dedup: shared engine-core @0x8017742C (src/shared) */
INCLUDE_ASM("asm/ov_SC01_001/nonmatchings/ov_SC01_001_jr_801734BC", func_801775E0);
extern void func_801776EC(u8 *a0);
void func_801775E0(s32 param_1, s32 param_2) {
extern u8 D_8011F83B;
extern u8 D_8011F837;
extern u8 D_8011F7F0;
s32 s0 = param_1;
s32 pp = param_2;
u8 *base = &D_8011F7F0;
s16 sVar1; s32 t; s32 v;
s32 c = D_8011F83B;
if (c != 0) {
if (c < 0) goto store;
if (c >= 0xf7) goto store;
if (c < 0xf3) goto store;
goto docall;
}
if (D_8011F837 != 0x80) {
*(u8 *)(s0 + 4) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 5) = 0x10;
goto L684;
}
func_801776EC((u8 *)s0);
goto L684;
docall:
func_801776EC((u8 *)s0);
goto L684;
store:
*(u8 *)(s0 + 5) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 4) = 0x10;
L684:
sVar1 = (s16)((u32)(base[0x47] * 9) >> 4);
t = pp + 0x48;
*(s16 *)(s0 + 0xe) = sVar1;
*(s16 *)(s0 + 0xa) = t - sVar1;
if (base[0x47] != 0) { s0 = param_1 + 0x14; v = 0xa0; } else { s0 = param_1 + 0x14; v = 0x40; }
*(u8 *)(s0 + 6) = v;
*(s16 *)(s0 + 0xa) = pp;
}
DEFINE_func_801776EC() /* dedup: shared engine-core @0x801776EC (src/shared) */
+21 -1
View File
@@ -3731,7 +3731,27 @@ DEFINE_func_80171E08() /* dedup: shared engine-core @0x80171E08 (src/shared) */
DEFINE_func_80171EC8() /* dedup: shared engine-core @0x80171EC8 (src/shared) */
INCLUDE_ASM("asm/ov_SC01_004/nonmatchings/ov_SC01_004_jr_8016AB6C", func_80171FFC);
extern s32 func_8017248C(s32, s32);
extern s32 ratan2(s32, s32);
extern void func_80172170(s32, s32);
extern void func_80146D90(s32);
s32 func_80171FFC(short *a0, short *a1, s32 a2)
{
s32 r;
r = func_8017248C((s32)a0, (s32)a1);
if (r != 0) {
func_80146D90((s32)a0);
return r;
}
*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) =
(ratan2(a1[0] - a0[3], a1[2] - a0[7]) + 0x800) & 0xFFF;
func_80172170((s32)a0, a2 & 0xFF);
return 0;
}
DEFINE_func_8017209C() /* dedup: shared engine-core @0x8017209C (src/shared) */
+42 -1
View File
@@ -2850,7 +2850,48 @@ DEFINE_func_80177340() /* dedup: shared engine-core @0x80177340 (src/shared) */
DEFINE_func_8017742C() /* dedup: shared engine-core @0x8017742C (src/shared) */
INCLUDE_ASM("asm/ov_SC01_004/nonmatchings/ov_SC01_004_jr_801734BC", func_801775E0);
extern void func_801776EC(u8 *a0);
void func_801775E0(s32 param_1, s32 param_2) {
extern u8 D_8011F83B;
extern u8 D_8011F837;
extern u8 D_8011F7F0;
s32 s0 = param_1;
s32 pp = param_2;
u8 *base = &D_8011F7F0;
s16 sVar1; s32 t; s32 v;
s32 c = D_8011F83B;
if (c != 0) {
if (c < 0) goto store;
if (c >= 0xf7) goto store;
if (c < 0xf3) goto store;
goto docall;
}
if (D_8011F837 != 0x80) {
*(u8 *)(s0 + 4) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 5) = 0x10;
goto L684;
}
func_801776EC((u8 *)s0);
goto L684;
docall:
func_801776EC((u8 *)s0);
goto L684;
store:
*(u8 *)(s0 + 5) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 4) = 0x10;
L684:
sVar1 = (s16)((u32)(base[0x47] * 9) >> 4);
t = pp + 0x48;
*(s16 *)(s0 + 0xe) = sVar1;
*(s16 *)(s0 + 0xa) = t - sVar1;
if (base[0x47] != 0) { s0 = param_1 + 0x14; v = 0xa0; } else { s0 = param_1 + 0x14; v = 0x40; }
*(u8 *)(s0 + 6) = v;
*(s16 *)(s0 + 0xa) = pp;
}
DEFINE_func_801776EC() /* dedup: shared engine-core @0x801776EC (src/shared) */
+21 -1
View File
@@ -3731,7 +3731,27 @@ DEFINE_func_80171E08() /* dedup: shared engine-core @0x80171E08 (src/shared) */
DEFINE_func_80171EC8() /* dedup: shared engine-core @0x80171EC8 (src/shared) */
INCLUDE_ASM("asm/ov_SC01_005/nonmatchings/ov_SC01_005_jr_8016AB6C", func_80171FFC);
extern s32 func_8017248C(s32, s32);
extern s32 ratan2(s32, s32);
extern void func_80172170(s32, s32);
extern void func_80146D90(s32);
s32 func_80171FFC(short *a0, short *a1, s32 a2)
{
s32 r;
r = func_8017248C((s32)a0, (s32)a1);
if (r != 0) {
func_80146D90((s32)a0);
return r;
}
*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) =
(ratan2(a1[0] - a0[3], a1[2] - a0[7]) + 0x800) & 0xFFF;
func_80172170((s32)a0, a2 & 0xFF);
return 0;
}
DEFINE_func_8017209C() /* dedup: shared engine-core @0x8017209C (src/shared) */
+42 -1
View File
@@ -2851,7 +2851,48 @@ DEFINE_func_80177340() /* dedup: shared engine-core @0x80177340 (src/shared) */
DEFINE_func_8017742C() /* dedup: shared engine-core @0x8017742C (src/shared) */
INCLUDE_ASM("asm/ov_SC01_005/nonmatchings/ov_SC01_005_jr_801734BC", func_801775E0);
extern void func_801776EC(u8 *a0);
void func_801775E0(s32 param_1, s32 param_2) {
extern u8 D_8011F83B;
extern u8 D_8011F837;
extern u8 D_8011F7F0;
s32 s0 = param_1;
s32 pp = param_2;
u8 *base = &D_8011F7F0;
s16 sVar1; s32 t; s32 v;
s32 c = D_8011F83B;
if (c != 0) {
if (c < 0) goto store;
if (c >= 0xf7) goto store;
if (c < 0xf3) goto store;
goto docall;
}
if (D_8011F837 != 0x80) {
*(u8 *)(s0 + 4) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 5) = 0x10;
goto L684;
}
func_801776EC((u8 *)s0);
goto L684;
docall:
func_801776EC((u8 *)s0);
goto L684;
store:
*(u8 *)(s0 + 5) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 4) = 0x10;
L684:
sVar1 = (s16)((u32)(base[0x47] * 9) >> 4);
t = pp + 0x48;
*(s16 *)(s0 + 0xe) = sVar1;
*(s16 *)(s0 + 0xa) = t - sVar1;
if (base[0x47] != 0) { s0 = param_1 + 0x14; v = 0xa0; } else { s0 = param_1 + 0x14; v = 0x40; }
*(u8 *)(s0 + 6) = v;
*(s16 *)(s0 + 0xa) = pp;
}
DEFINE_func_801776EC() /* dedup: shared engine-core @0x801776EC (src/shared) */
+21 -1
View File
@@ -3731,7 +3731,27 @@ DEFINE_func_80171E08() /* dedup: shared engine-core @0x80171E08 (src/shared) */
DEFINE_func_80171EC8() /* dedup: shared engine-core @0x80171EC8 (src/shared) */
INCLUDE_ASM("asm/ov_SC01_006/nonmatchings/ov_SC01_006_jr_8016AB6C", func_80171FFC);
extern s32 func_8017248C(s32, s32);
extern s32 ratan2(s32, s32);
extern void func_80172170(s32, s32);
extern void func_80146D90(s32);
s32 func_80171FFC(short *a0, short *a1, s32 a2)
{
s32 r;
r = func_8017248C((s32)a0, (s32)a1);
if (r != 0) {
func_80146D90((s32)a0);
return r;
}
*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) =
(ratan2(a1[0] - a0[3], a1[2] - a0[7]) + 0x800) & 0xFFF;
func_80172170((s32)a0, a2 & 0xFF);
return 0;
}
DEFINE_func_8017209C() /* dedup: shared engine-core @0x8017209C (src/shared) */
+42 -1
View File
@@ -2851,7 +2851,48 @@ DEFINE_func_80177340() /* dedup: shared engine-core @0x80177340 (src/shared) */
DEFINE_func_8017742C() /* dedup: shared engine-core @0x8017742C (src/shared) */
INCLUDE_ASM("asm/ov_SC01_006/nonmatchings/ov_SC01_006_jr_801734BC", func_801775E0);
extern void func_801776EC(u8 *a0);
void func_801775E0(s32 param_1, s32 param_2) {
extern u8 D_8011F83B;
extern u8 D_8011F837;
extern u8 D_8011F7F0;
s32 s0 = param_1;
s32 pp = param_2;
u8 *base = &D_8011F7F0;
s16 sVar1; s32 t; s32 v;
s32 c = D_8011F83B;
if (c != 0) {
if (c < 0) goto store;
if (c >= 0xf7) goto store;
if (c < 0xf3) goto store;
goto docall;
}
if (D_8011F837 != 0x80) {
*(u8 *)(s0 + 4) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 5) = 0x10;
goto L684;
}
func_801776EC((u8 *)s0);
goto L684;
docall:
func_801776EC((u8 *)s0);
goto L684;
store:
*(u8 *)(s0 + 5) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 4) = 0x10;
L684:
sVar1 = (s16)((u32)(base[0x47] * 9) >> 4);
t = pp + 0x48;
*(s16 *)(s0 + 0xe) = sVar1;
*(s16 *)(s0 + 0xa) = t - sVar1;
if (base[0x47] != 0) { s0 = param_1 + 0x14; v = 0xa0; } else { s0 = param_1 + 0x14; v = 0x40; }
*(u8 *)(s0 + 6) = v;
*(s16 *)(s0 + 0xa) = pp;
}
DEFINE_func_801776EC() /* dedup: shared engine-core @0x801776EC (src/shared) */
+21 -1
View File
@@ -3730,7 +3730,27 @@ DEFINE_func_80171E08() /* dedup: shared engine-core @0x80171E08 (src/shared) */
DEFINE_func_80171EC8() /* dedup: shared engine-core @0x80171EC8 (src/shared) */
INCLUDE_ASM("asm/ov_SC01_008/nonmatchings/ov_SC01_008_jr_8016AB6C", func_80171FFC);
extern s32 func_8017248C(s32, s32);
extern s32 ratan2(s32, s32);
extern void func_80172170(s32, s32);
extern void func_80146D90(s32);
s32 func_80171FFC(short *a0, short *a1, s32 a2)
{
s32 r;
r = func_8017248C((s32)a0, (s32)a1);
if (r != 0) {
func_80146D90((s32)a0);
return r;
}
*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) =
(ratan2(a1[0] - a0[3], a1[2] - a0[7]) + 0x800) & 0xFFF;
func_80172170((s32)a0, a2 & 0xFF);
return 0;
}
DEFINE_func_8017209C() /* dedup: shared engine-core @0x8017209C (src/shared) */
+42 -1
View File
@@ -2850,7 +2850,48 @@ DEFINE_func_80177340() /* dedup: shared engine-core @0x80177340 (src/shared) */
DEFINE_func_8017742C() /* dedup: shared engine-core @0x8017742C (src/shared) */
INCLUDE_ASM("asm/ov_SC01_008/nonmatchings/ov_SC01_008_jr_801734BC", func_801775E0);
extern void func_801776EC(u8 *a0);
void func_801775E0(s32 param_1, s32 param_2) {
extern u8 D_8011F83B;
extern u8 D_8011F837;
extern u8 D_8011F7F0;
s32 s0 = param_1;
s32 pp = param_2;
u8 *base = &D_8011F7F0;
s16 sVar1; s32 t; s32 v;
s32 c = D_8011F83B;
if (c != 0) {
if (c < 0) goto store;
if (c >= 0xf7) goto store;
if (c < 0xf3) goto store;
goto docall;
}
if (D_8011F837 != 0x80) {
*(u8 *)(s0 + 4) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 5) = 0x10;
goto L684;
}
func_801776EC((u8 *)s0);
goto L684;
docall:
func_801776EC((u8 *)s0);
goto L684;
store:
*(u8 *)(s0 + 5) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 4) = 0x10;
L684:
sVar1 = (s16)((u32)(base[0x47] * 9) >> 4);
t = pp + 0x48;
*(s16 *)(s0 + 0xe) = sVar1;
*(s16 *)(s0 + 0xa) = t - sVar1;
if (base[0x47] != 0) { s0 = param_1 + 0x14; v = 0xa0; } else { s0 = param_1 + 0x14; v = 0x40; }
*(u8 *)(s0 + 6) = v;
*(s16 *)(s0 + 0xa) = pp;
}
DEFINE_func_801776EC() /* dedup: shared engine-core @0x801776EC (src/shared) */
+21 -1
View File
@@ -3730,7 +3730,27 @@ DEFINE_func_80171E08() /* dedup: shared engine-core @0x80171E08 (src/shared) */
DEFINE_func_80171EC8() /* dedup: shared engine-core @0x80171EC8 (src/shared) */
INCLUDE_ASM("asm/ov_SC01_009/nonmatchings/ov_SC01_009_jr_8016AB6C", func_80171FFC);
extern s32 func_8017248C(s32, s32);
extern s32 ratan2(s32, s32);
extern void func_80172170(s32, s32);
extern void func_80146D90(s32);
s32 func_80171FFC(short *a0, short *a1, s32 a2)
{
s32 r;
r = func_8017248C((s32)a0, (s32)a1);
if (r != 0) {
func_80146D90((s32)a0);
return r;
}
*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) =
(ratan2(a1[0] - a0[3], a1[2] - a0[7]) + 0x800) & 0xFFF;
func_80172170((s32)a0, a2 & 0xFF);
return 0;
}
DEFINE_func_8017209C() /* dedup: shared engine-core @0x8017209C (src/shared) */
+42 -1
View File
@@ -2850,7 +2850,48 @@ DEFINE_func_80177340() /* dedup: shared engine-core @0x80177340 (src/shared) */
DEFINE_func_8017742C() /* dedup: shared engine-core @0x8017742C (src/shared) */
INCLUDE_ASM("asm/ov_SC01_009/nonmatchings/ov_SC01_009_jr_801734BC", func_801775E0);
extern void func_801776EC(u8 *a0);
void func_801775E0(s32 param_1, s32 param_2) {
extern u8 D_8011F83B;
extern u8 D_8011F837;
extern u8 D_8011F7F0;
s32 s0 = param_1;
s32 pp = param_2;
u8 *base = &D_8011F7F0;
s16 sVar1; s32 t; s32 v;
s32 c = D_8011F83B;
if (c != 0) {
if (c < 0) goto store;
if (c >= 0xf7) goto store;
if (c < 0xf3) goto store;
goto docall;
}
if (D_8011F837 != 0x80) {
*(u8 *)(s0 + 4) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 5) = 0x10;
goto L684;
}
func_801776EC((u8 *)s0);
goto L684;
docall:
func_801776EC((u8 *)s0);
goto L684;
store:
*(u8 *)(s0 + 5) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 4) = 0x10;
L684:
sVar1 = (s16)((u32)(base[0x47] * 9) >> 4);
t = pp + 0x48;
*(s16 *)(s0 + 0xe) = sVar1;
*(s16 *)(s0 + 0xa) = t - sVar1;
if (base[0x47] != 0) { s0 = param_1 + 0x14; v = 0xa0; } else { s0 = param_1 + 0x14; v = 0x40; }
*(u8 *)(s0 + 6) = v;
*(s16 *)(s0 + 0xa) = pp;
}
DEFINE_func_801776EC() /* dedup: shared engine-core @0x801776EC (src/shared) */
+21 -1
View File
@@ -3730,7 +3730,27 @@ DEFINE_func_80171E08() /* dedup: shared engine-core @0x80171E08 (src/shared) */
DEFINE_func_80171EC8() /* dedup: shared engine-core @0x80171EC8 (src/shared) */
INCLUDE_ASM("asm/ov_SC01_074/nonmatchings/ov_SC01_074_jr_8016AB6C", func_80171FFC);
extern s32 func_8017248C(s32, s32);
extern s32 ratan2(s32, s32);
extern void func_80172170(s32, s32);
extern void func_80146D90(s32);
s32 func_80171FFC(short *a0, short *a1, s32 a2)
{
s32 r;
r = func_8017248C((s32)a0, (s32)a1);
if (r != 0) {
func_80146D90((s32)a0);
return r;
}
*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) =
(ratan2(a1[0] - a0[3], a1[2] - a0[7]) + 0x800) & 0xFFF;
func_80172170((s32)a0, a2 & 0xFF);
return 0;
}
DEFINE_func_8017209C() /* dedup: shared engine-core @0x8017209C (src/shared) */
+42 -1
View File
@@ -2850,7 +2850,48 @@ DEFINE_func_80177340() /* dedup: shared engine-core @0x80177340 (src/shared) */
DEFINE_func_8017742C() /* dedup: shared engine-core @0x8017742C (src/shared) */
INCLUDE_ASM("asm/ov_SC01_074/nonmatchings/ov_SC01_074_jr_801734BC", func_801775E0);
extern void func_801776EC(u8 *a0);
void func_801775E0(s32 param_1, s32 param_2) {
extern u8 D_8011F83B;
extern u8 D_8011F837;
extern u8 D_8011F7F0;
s32 s0 = param_1;
s32 pp = param_2;
u8 *base = &D_8011F7F0;
s16 sVar1; s32 t; s32 v;
s32 c = D_8011F83B;
if (c != 0) {
if (c < 0) goto store;
if (c >= 0xf7) goto store;
if (c < 0xf3) goto store;
goto docall;
}
if (D_8011F837 != 0x80) {
*(u8 *)(s0 + 4) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 5) = 0x10;
goto L684;
}
func_801776EC((u8 *)s0);
goto L684;
docall:
func_801776EC((u8 *)s0);
goto L684;
store:
*(u8 *)(s0 + 5) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 4) = 0x10;
L684:
sVar1 = (s16)((u32)(base[0x47] * 9) >> 4);
t = pp + 0x48;
*(s16 *)(s0 + 0xe) = sVar1;
*(s16 *)(s0 + 0xa) = t - sVar1;
if (base[0x47] != 0) { s0 = param_1 + 0x14; v = 0xa0; } else { s0 = param_1 + 0x14; v = 0x40; }
*(u8 *)(s0 + 6) = v;
*(s16 *)(s0 + 0xa) = pp;
}
DEFINE_func_801776EC() /* dedup: shared engine-core @0x801776EC (src/shared) */
+20 -1
View File
@@ -4077,7 +4077,26 @@ DEFINE_func_80171E08() /* dedup: shared engine-core @0x80171E08 (src/shared) */
DEFINE_func_80171EC8() /* dedup: shared engine-core @0x80171EC8 (src/shared) */
INCLUDE_ASM("asm/ov_SC01_077/nonmatchings/ov_SC01_077_jr_8016AB6C", func_80171FFC);
extern s32 func_8017248C(s32, s32);
extern s32 ratan2(s32, s32);
extern void func_80172170(s32, s32);
extern void func_80146D90(s32);
s32 func_80171FFC(short *a0, short *a1, s32 a2)
{
s32 r;
r = func_8017248C((s32)a0, (s32)a1);
if (r != 0) {
func_80146D90((s32)a0);
return r;
}
*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) =
(ratan2(a1[0] - a0[3], a1[2] - a0[7]) + 0x800) & 0xFFF;
func_80172170((s32)a0, a2 & 0xFF);
return 0;
}
extern s32 func_8017248C(s32 a0, s32 a1);
extern void func_80146D90(s32 a0);
+67 -1
View File
@@ -3239,7 +3239,73 @@ DEFINE_func_80177340() /* dedup: shared engine-core @0x80177340 (src/shared) */
DEFINE_func_8017742C() /* dedup: shared engine-core @0x8017742C (src/shared) */
INCLUDE_ASM("asm/ov_SC01_077/nonmatchings/ov_SC01_077_jr_801734BC", func_801775E0);
// @class: regalloc-order (walker-family, §52) — PIN-FREE MATCH (0-off), 67 ins
// Byte-exact via match_one; NO `register __asm__` pins (cookbook §42e safe for the x134 sweep).
//
// Levers that got it to 0 (all pin-free):
// L-store (§52 "in-loop-const-in-both-arms" analogue): assign the recomputed base
// `s0 = param_1 + 0x14` in BOTH if/else arms + a single store after. Keeps the
// recomputed base live across the branch merge so the p[6]/p[0xa] stores address
// off the recomputed $s0 — NOT address-CSE'd onto the still-live param base $s1.
// (A ternary/store-once collapses the base back to $s1+0x1a — the historic residual.)
// L-layout (§52 lever-1 "mutated-parameter / no derived copy"): use `param_1` directly as
// the persistent keeper (`... = param_1 + 0x14`) with `s0 = param_1` as the working
// copy. gcc saves param_1 -> $s1 (keeper) and chains $s0 = $s1 (working), giving the
// target copy DIRECTION. An explicit `s1` keeper var reverses the chain ($s0=a0;$s1=$s0).
// L-sched (RC-1 / K1 declaration-order): declare the param_2 copy `pp` AFTER `s0`. Its pseudo
// is created after s0's, so sched1 emits the s0 working-copy BEFORE the param_2 save
// in the prologue (target order: s1, s0, s2, s3). Using param_2 directly saved $s2
// first and broke the prologue order (4-off).
// L-call (block layout): `if (c != 0) { ...; goto docall; }` block form keeps the range
// checks as the entry fall-through (correct global layout); duplicated func call
// (both arms) cross-jumps to one block placed after st0 (target order).
//
// Note (fragility): the `pp` decl position is load-bearing for the prologue schedule, and the
// two-call cross-jump reproduces the target's single call block with the arg in the jal delay
// slot. The single-call / branch-only-callit forms invert the whole-function block layout
// (gcc cross-jumps the two `goto`s). Whole-binary gate is the real arbiter.
#include "common.h"
extern u8 D_8011F83B;
extern u8 D_8011F837;
extern u8 D_8011F7F0;
extern void func_801776EC(u8 *a0);
void func_801775E0(s32 param_1, s32 param_2) {
s32 s0 = param_1;
s32 pp = param_2;
u8 *base = &D_8011F7F0;
s16 sVar1; s32 t; s32 v;
s32 c = D_8011F83B;
if (c != 0) {
if (c < 0) goto store;
if (c >= 0xf7) goto store;
if (c < 0xf3) goto store;
goto docall;
}
if (D_8011F837 != 0x80) {
*(u8 *)(s0 + 4) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 5) = 0x10;
goto L684;
}
func_801776EC((u8 *)s0);
goto L684;
docall:
func_801776EC((u8 *)s0);
goto L684;
store:
*(u8 *)(s0 + 5) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 4) = 0x10;
L684:
sVar1 = (s16)((u32)(base[0x47] * 9) >> 4);
t = pp + 0x48;
*(s16 *)(s0 + 0xe) = sVar1;
*(s16 *)(s0 + 0xa) = t - sVar1;
if (base[0x47] != 0) { s0 = param_1 + 0x14; v = 0xa0; } else { s0 = param_1 + 0x14; v = 0x40; }
*(u8 *)(s0 + 6) = v;
*(s16 *)(s0 + 0xa) = pp;
}
DEFINE_func_801776EC() /* dedup: shared engine-core @0x801776EC (src/shared) */
+21 -1
View File
@@ -3730,7 +3730,27 @@ DEFINE_func_80171E08() /* dedup: shared engine-core @0x80171E08 (src/shared) */
DEFINE_func_80171EC8() /* dedup: shared engine-core @0x80171EC8 (src/shared) */
INCLUDE_ASM("asm/ov_SC01_080/nonmatchings/ov_SC01_080_jr_8016AB6C", func_80171FFC);
extern s32 func_8017248C(s32, s32);
extern s32 ratan2(s32, s32);
extern void func_80172170(s32, s32);
extern void func_80146D90(s32);
s32 func_80171FFC(short *a0, short *a1, s32 a2)
{
s32 r;
r = func_8017248C((s32)a0, (s32)a1);
if (r != 0) {
func_80146D90((s32)a0);
return r;
}
*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) =
(ratan2(a1[0] - a0[3], a1[2] - a0[7]) + 0x800) & 0xFFF;
func_80172170((s32)a0, a2 & 0xFF);
return 0;
}
DEFINE_func_8017209C() /* dedup: shared engine-core @0x8017209C (src/shared) */
+42 -1
View File
@@ -2850,7 +2850,48 @@ DEFINE_func_80177340() /* dedup: shared engine-core @0x80177340 (src/shared) */
DEFINE_func_8017742C() /* dedup: shared engine-core @0x8017742C (src/shared) */
INCLUDE_ASM("asm/ov_SC01_080/nonmatchings/ov_SC01_080_jr_801734BC", func_801775E0);
extern void func_801776EC(u8 *a0);
void func_801775E0(s32 param_1, s32 param_2) {
extern u8 D_8011F83B;
extern u8 D_8011F837;
extern u8 D_8011F7F0;
s32 s0 = param_1;
s32 pp = param_2;
u8 *base = &D_8011F7F0;
s16 sVar1; s32 t; s32 v;
s32 c = D_8011F83B;
if (c != 0) {
if (c < 0) goto store;
if (c >= 0xf7) goto store;
if (c < 0xf3) goto store;
goto docall;
}
if (D_8011F837 != 0x80) {
*(u8 *)(s0 + 4) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 5) = 0x10;
goto L684;
}
func_801776EC((u8 *)s0);
goto L684;
docall:
func_801776EC((u8 *)s0);
goto L684;
store:
*(u8 *)(s0 + 5) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 4) = 0x10;
L684:
sVar1 = (s16)((u32)(base[0x47] * 9) >> 4);
t = pp + 0x48;
*(s16 *)(s0 + 0xe) = sVar1;
*(s16 *)(s0 + 0xa) = t - sVar1;
if (base[0x47] != 0) { s0 = param_1 + 0x14; v = 0xa0; } else { s0 = param_1 + 0x14; v = 0x40; }
*(u8 *)(s0 + 6) = v;
*(s16 *)(s0 + 0xa) = pp;
}
DEFINE_func_801776EC() /* dedup: shared engine-core @0x801776EC (src/shared) */
+21 -1
View File
@@ -3731,7 +3731,27 @@ DEFINE_func_80171E08() /* dedup: shared engine-core @0x80171E08 (src/shared) */
DEFINE_func_80171EC8() /* dedup: shared engine-core @0x80171EC8 (src/shared) */
INCLUDE_ASM("asm/ov_SC01_084/nonmatchings/ov_SC01_084_jr_8016AB6C", func_80171FFC);
extern s32 func_8017248C(s32, s32);
extern s32 ratan2(s32, s32);
extern void func_80172170(s32, s32);
extern void func_80146D90(s32);
s32 func_80171FFC(short *a0, short *a1, s32 a2)
{
s32 r;
r = func_8017248C((s32)a0, (s32)a1);
if (r != 0) {
func_80146D90((s32)a0);
return r;
}
*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) =
(ratan2(a1[0] - a0[3], a1[2] - a0[7]) + 0x800) & 0xFFF;
func_80172170((s32)a0, a2 & 0xFF);
return 0;
}
DEFINE_func_8017209C() /* dedup: shared engine-core @0x8017209C (src/shared) */
+42 -1
View File
@@ -2851,7 +2851,48 @@ DEFINE_func_80177340() /* dedup: shared engine-core @0x80177340 (src/shared) */
DEFINE_func_8017742C() /* dedup: shared engine-core @0x8017742C (src/shared) */
INCLUDE_ASM("asm/ov_SC01_084/nonmatchings/ov_SC01_084_jr_801734BC", func_801775E0);
extern void func_801776EC(u8 *a0);
void func_801775E0(s32 param_1, s32 param_2) {
extern u8 D_8011F83B;
extern u8 D_8011F837;
extern u8 D_8011F7F0;
s32 s0 = param_1;
s32 pp = param_2;
u8 *base = &D_8011F7F0;
s16 sVar1; s32 t; s32 v;
s32 c = D_8011F83B;
if (c != 0) {
if (c < 0) goto store;
if (c >= 0xf7) goto store;
if (c < 0xf3) goto store;
goto docall;
}
if (D_8011F837 != 0x80) {
*(u8 *)(s0 + 4) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 5) = 0x10;
goto L684;
}
func_801776EC((u8 *)s0);
goto L684;
docall:
func_801776EC((u8 *)s0);
goto L684;
store:
*(u8 *)(s0 + 5) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 4) = 0x10;
L684:
sVar1 = (s16)((u32)(base[0x47] * 9) >> 4);
t = pp + 0x48;
*(s16 *)(s0 + 0xe) = sVar1;
*(s16 *)(s0 + 0xa) = t - sVar1;
if (base[0x47] != 0) { s0 = param_1 + 0x14; v = 0xa0; } else { s0 = param_1 + 0x14; v = 0x40; }
*(u8 *)(s0 + 6) = v;
*(s16 *)(s0 + 0xa) = pp;
}
DEFINE_func_801776EC() /* dedup: shared engine-core @0x801776EC (src/shared) */
+21 -1
View File
@@ -3728,7 +3728,27 @@ DEFINE_func_80171E08() /* dedup: shared engine-core @0x80171E08 (src/shared) */
DEFINE_func_80171EC8() /* dedup: shared engine-core @0x80171EC8 (src/shared) */
INCLUDE_ASM("asm/ov_SC02_000/nonmatchings/ov_SC02_000_jr_8016AB6C", func_80171FFC);
extern s32 func_8017248C(s32, s32);
extern s32 ratan2(s32, s32);
extern void func_80172170(s32, s32);
extern void func_80146D90(s32);
s32 func_80171FFC(short *a0, short *a1, s32 a2)
{
s32 r;
r = func_8017248C((s32)a0, (s32)a1);
if (r != 0) {
func_80146D90((s32)a0);
return r;
}
*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) =
(ratan2(a1[0] - a0[3], a1[2] - a0[7]) + 0x800) & 0xFFF;
func_80172170((s32)a0, a2 & 0xFF);
return 0;
}
DEFINE_func_8017209C() /* dedup: shared engine-core @0x8017209C (src/shared) */
+42 -1
View File
@@ -2848,7 +2848,48 @@ DEFINE_func_80177340() /* dedup: shared engine-core @0x80177340 (src/shared) */
DEFINE_func_8017742C() /* dedup: shared engine-core @0x8017742C (src/shared) */
INCLUDE_ASM("asm/ov_SC02_000/nonmatchings/ov_SC02_000_jr_801734BC", func_801775E0);
extern void func_801776EC(u8 *a0);
void func_801775E0(s32 param_1, s32 param_2) {
extern u8 D_8011F83B;
extern u8 D_8011F837;
extern u8 D_8011F7F0;
s32 s0 = param_1;
s32 pp = param_2;
u8 *base = &D_8011F7F0;
s16 sVar1; s32 t; s32 v;
s32 c = D_8011F83B;
if (c != 0) {
if (c < 0) goto store;
if (c >= 0xf7) goto store;
if (c < 0xf3) goto store;
goto docall;
}
if (D_8011F837 != 0x80) {
*(u8 *)(s0 + 4) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 5) = 0x10;
goto L684;
}
func_801776EC((u8 *)s0);
goto L684;
docall:
func_801776EC((u8 *)s0);
goto L684;
store:
*(u8 *)(s0 + 5) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 4) = 0x10;
L684:
sVar1 = (s16)((u32)(base[0x47] * 9) >> 4);
t = pp + 0x48;
*(s16 *)(s0 + 0xe) = sVar1;
*(s16 *)(s0 + 0xa) = t - sVar1;
if (base[0x47] != 0) { s0 = param_1 + 0x14; v = 0xa0; } else { s0 = param_1 + 0x14; v = 0x40; }
*(u8 *)(s0 + 6) = v;
*(s16 *)(s0 + 0xa) = pp;
}
DEFINE_func_801776EC() /* dedup: shared engine-core @0x801776EC (src/shared) */
+21 -1
View File
@@ -3728,7 +3728,27 @@ DEFINE_func_80171E08() /* dedup: shared engine-core @0x80171E08 (src/shared) */
DEFINE_func_80171EC8() /* dedup: shared engine-core @0x80171EC8 (src/shared) */
INCLUDE_ASM("asm/ov_SC02_003/nonmatchings/ov_SC02_003_jr_8016AB6C", func_80171FFC);
extern s32 func_8017248C(s32, s32);
extern s32 ratan2(s32, s32);
extern void func_80172170(s32, s32);
extern void func_80146D90(s32);
s32 func_80171FFC(short *a0, short *a1, s32 a2)
{
s32 r;
r = func_8017248C((s32)a0, (s32)a1);
if (r != 0) {
func_80146D90((s32)a0);
return r;
}
*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) =
(ratan2(a1[0] - a0[3], a1[2] - a0[7]) + 0x800) & 0xFFF;
func_80172170((s32)a0, a2 & 0xFF);
return 0;
}
DEFINE_func_8017209C() /* dedup: shared engine-core @0x8017209C (src/shared) */
+42 -1
View File
@@ -2848,7 +2848,48 @@ DEFINE_func_80177340() /* dedup: shared engine-core @0x80177340 (src/shared) */
DEFINE_func_8017742C() /* dedup: shared engine-core @0x8017742C (src/shared) */
INCLUDE_ASM("asm/ov_SC02_003/nonmatchings/ov_SC02_003_jr_801734BC", func_801775E0);
extern void func_801776EC(u8 *a0);
void func_801775E0(s32 param_1, s32 param_2) {
extern u8 D_8011F83B;
extern u8 D_8011F837;
extern u8 D_8011F7F0;
s32 s0 = param_1;
s32 pp = param_2;
u8 *base = &D_8011F7F0;
s16 sVar1; s32 t; s32 v;
s32 c = D_8011F83B;
if (c != 0) {
if (c < 0) goto store;
if (c >= 0xf7) goto store;
if (c < 0xf3) goto store;
goto docall;
}
if (D_8011F837 != 0x80) {
*(u8 *)(s0 + 4) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 5) = 0x10;
goto L684;
}
func_801776EC((u8 *)s0);
goto L684;
docall:
func_801776EC((u8 *)s0);
goto L684;
store:
*(u8 *)(s0 + 5) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 4) = 0x10;
L684:
sVar1 = (s16)((u32)(base[0x47] * 9) >> 4);
t = pp + 0x48;
*(s16 *)(s0 + 0xe) = sVar1;
*(s16 *)(s0 + 0xa) = t - sVar1;
if (base[0x47] != 0) { s0 = param_1 + 0x14; v = 0xa0; } else { s0 = param_1 + 0x14; v = 0x40; }
*(u8 *)(s0 + 6) = v;
*(s16 *)(s0 + 0xa) = pp;
}
DEFINE_func_801776EC() /* dedup: shared engine-core @0x801776EC (src/shared) */
+21 -1
View File
@@ -3730,7 +3730,27 @@ DEFINE_func_80171E08() /* dedup: shared engine-core @0x80171E08 (src/shared) */
DEFINE_func_80171EC8() /* dedup: shared engine-core @0x80171EC8 (src/shared) */
INCLUDE_ASM("asm/ov_SC02_004/nonmatchings/ov_SC02_004_jr_8016AB6C", func_80171FFC);
extern s32 func_8017248C(s32, s32);
extern s32 ratan2(s32, s32);
extern void func_80172170(s32, s32);
extern void func_80146D90(s32);
s32 func_80171FFC(short *a0, short *a1, s32 a2)
{
s32 r;
r = func_8017248C((s32)a0, (s32)a1);
if (r != 0) {
func_80146D90((s32)a0);
return r;
}
*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) =
(ratan2(a1[0] - a0[3], a1[2] - a0[7]) + 0x800) & 0xFFF;
func_80172170((s32)a0, a2 & 0xFF);
return 0;
}
DEFINE_func_8017209C() /* dedup: shared engine-core @0x8017209C (src/shared) */
+42 -1
View File
@@ -2850,7 +2850,48 @@ DEFINE_func_80177340() /* dedup: shared engine-core @0x80177340 (src/shared) */
DEFINE_func_8017742C() /* dedup: shared engine-core @0x8017742C (src/shared) */
INCLUDE_ASM("asm/ov_SC02_004/nonmatchings/ov_SC02_004_jr_801734BC", func_801775E0);
extern void func_801776EC(u8 *a0);
void func_801775E0(s32 param_1, s32 param_2) {
extern u8 D_8011F83B;
extern u8 D_8011F837;
extern u8 D_8011F7F0;
s32 s0 = param_1;
s32 pp = param_2;
u8 *base = &D_8011F7F0;
s16 sVar1; s32 t; s32 v;
s32 c = D_8011F83B;
if (c != 0) {
if (c < 0) goto store;
if (c >= 0xf7) goto store;
if (c < 0xf3) goto store;
goto docall;
}
if (D_8011F837 != 0x80) {
*(u8 *)(s0 + 4) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 5) = 0x10;
goto L684;
}
func_801776EC((u8 *)s0);
goto L684;
docall:
func_801776EC((u8 *)s0);
goto L684;
store:
*(u8 *)(s0 + 5) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 4) = 0x10;
L684:
sVar1 = (s16)((u32)(base[0x47] * 9) >> 4);
t = pp + 0x48;
*(s16 *)(s0 + 0xe) = sVar1;
*(s16 *)(s0 + 0xa) = t - sVar1;
if (base[0x47] != 0) { s0 = param_1 + 0x14; v = 0xa0; } else { s0 = param_1 + 0x14; v = 0x40; }
*(u8 *)(s0 + 6) = v;
*(s16 *)(s0 + 0xa) = pp;
}
DEFINE_func_801776EC() /* dedup: shared engine-core @0x801776EC (src/shared) */
+21 -1
View File
@@ -3732,7 +3732,27 @@ DEFINE_func_80171E08() /* dedup: shared engine-core @0x80171E08 (src/shared) */
DEFINE_func_80171EC8() /* dedup: shared engine-core @0x80171EC8 (src/shared) */
INCLUDE_ASM("asm/ov_SC02_005/nonmatchings/ov_SC02_005_jr_8016AB6C", func_80171FFC);
extern s32 func_8017248C(s32, s32);
extern s32 ratan2(s32, s32);
extern void func_80172170(s32, s32);
extern void func_80146D90(s32);
s32 func_80171FFC(short *a0, short *a1, s32 a2)
{
s32 r;
r = func_8017248C((s32)a0, (s32)a1);
if (r != 0) {
func_80146D90((s32)a0);
return r;
}
*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) =
(ratan2(a1[0] - a0[3], a1[2] - a0[7]) + 0x800) & 0xFFF;
func_80172170((s32)a0, a2 & 0xFF);
return 0;
}
DEFINE_func_8017209C() /* dedup: shared engine-core @0x8017209C (src/shared) */
+42 -1
View File
@@ -2852,7 +2852,48 @@ DEFINE_func_80177340() /* dedup: shared engine-core @0x80177340 (src/shared) */
DEFINE_func_8017742C() /* dedup: shared engine-core @0x8017742C (src/shared) */
INCLUDE_ASM("asm/ov_SC02_005/nonmatchings/ov_SC02_005_jr_801734BC", func_801775E0);
extern void func_801776EC(u8 *a0);
void func_801775E0(s32 param_1, s32 param_2) {
extern u8 D_8011F83B;
extern u8 D_8011F837;
extern u8 D_8011F7F0;
s32 s0 = param_1;
s32 pp = param_2;
u8 *base = &D_8011F7F0;
s16 sVar1; s32 t; s32 v;
s32 c = D_8011F83B;
if (c != 0) {
if (c < 0) goto store;
if (c >= 0xf7) goto store;
if (c < 0xf3) goto store;
goto docall;
}
if (D_8011F837 != 0x80) {
*(u8 *)(s0 + 4) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 5) = 0x10;
goto L684;
}
func_801776EC((u8 *)s0);
goto L684;
docall:
func_801776EC((u8 *)s0);
goto L684;
store:
*(u8 *)(s0 + 5) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 4) = 0x10;
L684:
sVar1 = (s16)((u32)(base[0x47] * 9) >> 4);
t = pp + 0x48;
*(s16 *)(s0 + 0xe) = sVar1;
*(s16 *)(s0 + 0xa) = t - sVar1;
if (base[0x47] != 0) { s0 = param_1 + 0x14; v = 0xa0; } else { s0 = param_1 + 0x14; v = 0x40; }
*(u8 *)(s0 + 6) = v;
*(s16 *)(s0 + 0xa) = pp;
}
DEFINE_func_801776EC() /* dedup: shared engine-core @0x801776EC (src/shared) */
+21 -1
View File
@@ -3730,7 +3730,27 @@ DEFINE_func_80171E08() /* dedup: shared engine-core @0x80171E08 (src/shared) */
DEFINE_func_80171EC8() /* dedup: shared engine-core @0x80171EC8 (src/shared) */
INCLUDE_ASM("asm/ov_SC02_011/nonmatchings/ov_SC02_011_jr_8016AB6C", func_80171FFC);
extern s32 func_8017248C(s32, s32);
extern s32 ratan2(s32, s32);
extern void func_80172170(s32, s32);
extern void func_80146D90(s32);
s32 func_80171FFC(short *a0, short *a1, s32 a2)
{
s32 r;
r = func_8017248C((s32)a0, (s32)a1);
if (r != 0) {
func_80146D90((s32)a0);
return r;
}
*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) =
(ratan2(a1[0] - a0[3], a1[2] - a0[7]) + 0x800) & 0xFFF;
func_80172170((s32)a0, a2 & 0xFF);
return 0;
}
DEFINE_func_8017209C() /* dedup: shared engine-core @0x8017209C (src/shared) */
+42 -1
View File
@@ -2850,7 +2850,48 @@ DEFINE_func_80177340() /* dedup: shared engine-core @0x80177340 (src/shared) */
DEFINE_func_8017742C() /* dedup: shared engine-core @0x8017742C (src/shared) */
INCLUDE_ASM("asm/ov_SC02_011/nonmatchings/ov_SC02_011_jr_801734BC", func_801775E0);
extern void func_801776EC(u8 *a0);
void func_801775E0(s32 param_1, s32 param_2) {
extern u8 D_8011F83B;
extern u8 D_8011F837;
extern u8 D_8011F7F0;
s32 s0 = param_1;
s32 pp = param_2;
u8 *base = &D_8011F7F0;
s16 sVar1; s32 t; s32 v;
s32 c = D_8011F83B;
if (c != 0) {
if (c < 0) goto store;
if (c >= 0xf7) goto store;
if (c < 0xf3) goto store;
goto docall;
}
if (D_8011F837 != 0x80) {
*(u8 *)(s0 + 4) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 5) = 0x10;
goto L684;
}
func_801776EC((u8 *)s0);
goto L684;
docall:
func_801776EC((u8 *)s0);
goto L684;
store:
*(u8 *)(s0 + 5) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 4) = 0x10;
L684:
sVar1 = (s16)((u32)(base[0x47] * 9) >> 4);
t = pp + 0x48;
*(s16 *)(s0 + 0xe) = sVar1;
*(s16 *)(s0 + 0xa) = t - sVar1;
if (base[0x47] != 0) { s0 = param_1 + 0x14; v = 0xa0; } else { s0 = param_1 + 0x14; v = 0x40; }
*(u8 *)(s0 + 6) = v;
*(s16 *)(s0 + 0xa) = pp;
}
DEFINE_func_801776EC() /* dedup: shared engine-core @0x801776EC (src/shared) */
+21 -1
View File
@@ -3728,7 +3728,27 @@ DEFINE_func_80171E08() /* dedup: shared engine-core @0x80171E08 (src/shared) */
DEFINE_func_80171EC8() /* dedup: shared engine-core @0x80171EC8 (src/shared) */
INCLUDE_ASM("asm/ov_SC02_015/nonmatchings/ov_SC02_015_jr_8016AB6C", func_80171FFC);
extern s32 func_8017248C(s32, s32);
extern s32 ratan2(s32, s32);
extern void func_80172170(s32, s32);
extern void func_80146D90(s32);
s32 func_80171FFC(short *a0, short *a1, s32 a2)
{
s32 r;
r = func_8017248C((s32)a0, (s32)a1);
if (r != 0) {
func_80146D90((s32)a0);
return r;
}
*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) =
(ratan2(a1[0] - a0[3], a1[2] - a0[7]) + 0x800) & 0xFFF;
func_80172170((s32)a0, a2 & 0xFF);
return 0;
}
DEFINE_func_8017209C() /* dedup: shared engine-core @0x8017209C (src/shared) */
+42 -1
View File
@@ -2848,7 +2848,48 @@ DEFINE_func_80177340() /* dedup: shared engine-core @0x80177340 (src/shared) */
DEFINE_func_8017742C() /* dedup: shared engine-core @0x8017742C (src/shared) */
INCLUDE_ASM("asm/ov_SC02_015/nonmatchings/ov_SC02_015_jr_801734BC", func_801775E0);
extern void func_801776EC(u8 *a0);
void func_801775E0(s32 param_1, s32 param_2) {
extern u8 D_8011F83B;
extern u8 D_8011F837;
extern u8 D_8011F7F0;
s32 s0 = param_1;
s32 pp = param_2;
u8 *base = &D_8011F7F0;
s16 sVar1; s32 t; s32 v;
s32 c = D_8011F83B;
if (c != 0) {
if (c < 0) goto store;
if (c >= 0xf7) goto store;
if (c < 0xf3) goto store;
goto docall;
}
if (D_8011F837 != 0x80) {
*(u8 *)(s0 + 4) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 5) = 0x10;
goto L684;
}
func_801776EC((u8 *)s0);
goto L684;
docall:
func_801776EC((u8 *)s0);
goto L684;
store:
*(u8 *)(s0 + 5) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 4) = 0x10;
L684:
sVar1 = (s16)((u32)(base[0x47] * 9) >> 4);
t = pp + 0x48;
*(s16 *)(s0 + 0xe) = sVar1;
*(s16 *)(s0 + 0xa) = t - sVar1;
if (base[0x47] != 0) { s0 = param_1 + 0x14; v = 0xa0; } else { s0 = param_1 + 0x14; v = 0x40; }
*(u8 *)(s0 + 6) = v;
*(s16 *)(s0 + 0xa) = pp;
}
DEFINE_func_801776EC() /* dedup: shared engine-core @0x801776EC (src/shared) */
+21 -1
View File
@@ -3730,7 +3730,27 @@ DEFINE_func_80171E08() /* dedup: shared engine-core @0x80171E08 (src/shared) */
DEFINE_func_80171EC8() /* dedup: shared engine-core @0x80171EC8 (src/shared) */
INCLUDE_ASM("asm/ov_SC02_016/nonmatchings/ov_SC02_016_jr_8016AB6C", func_80171FFC);
extern s32 func_8017248C(s32, s32);
extern s32 ratan2(s32, s32);
extern void func_80172170(s32, s32);
extern void func_80146D90(s32);
s32 func_80171FFC(short *a0, short *a1, s32 a2)
{
s32 r;
r = func_8017248C((s32)a0, (s32)a1);
if (r != 0) {
func_80146D90((s32)a0);
return r;
}
*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) =
(ratan2(a1[0] - a0[3], a1[2] - a0[7]) + 0x800) & 0xFFF;
func_80172170((s32)a0, a2 & 0xFF);
return 0;
}
DEFINE_func_8017209C() /* dedup: shared engine-core @0x8017209C (src/shared) */
+42 -1
View File
@@ -2850,7 +2850,48 @@ DEFINE_func_80177340() /* dedup: shared engine-core @0x80177340 (src/shared) */
DEFINE_func_8017742C() /* dedup: shared engine-core @0x8017742C (src/shared) */
INCLUDE_ASM("asm/ov_SC02_016/nonmatchings/ov_SC02_016_jr_801734BC", func_801775E0);
extern void func_801776EC(u8 *a0);
void func_801775E0(s32 param_1, s32 param_2) {
extern u8 D_8011F83B;
extern u8 D_8011F837;
extern u8 D_8011F7F0;
s32 s0 = param_1;
s32 pp = param_2;
u8 *base = &D_8011F7F0;
s16 sVar1; s32 t; s32 v;
s32 c = D_8011F83B;
if (c != 0) {
if (c < 0) goto store;
if (c >= 0xf7) goto store;
if (c < 0xf3) goto store;
goto docall;
}
if (D_8011F837 != 0x80) {
*(u8 *)(s0 + 4) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 5) = 0x10;
goto L684;
}
func_801776EC((u8 *)s0);
goto L684;
docall:
func_801776EC((u8 *)s0);
goto L684;
store:
*(u8 *)(s0 + 5) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 4) = 0x10;
L684:
sVar1 = (s16)((u32)(base[0x47] * 9) >> 4);
t = pp + 0x48;
*(s16 *)(s0 + 0xe) = sVar1;
*(s16 *)(s0 + 0xa) = t - sVar1;
if (base[0x47] != 0) { s0 = param_1 + 0x14; v = 0xa0; } else { s0 = param_1 + 0x14; v = 0x40; }
*(u8 *)(s0 + 6) = v;
*(s16 *)(s0 + 0xa) = pp;
}
DEFINE_func_801776EC() /* dedup: shared engine-core @0x801776EC (src/shared) */
+21 -1
View File
@@ -3730,7 +3730,27 @@ DEFINE_func_80171E08() /* dedup: shared engine-core @0x80171E08 (src/shared) */
DEFINE_func_80171EC8() /* dedup: shared engine-core @0x80171EC8 (src/shared) */
INCLUDE_ASM("asm/ov_SC02_017/nonmatchings/ov_SC02_017_jr_8016AB6C", func_80171FFC);
extern s32 func_8017248C(s32, s32);
extern s32 ratan2(s32, s32);
extern void func_80172170(s32, s32);
extern void func_80146D90(s32);
s32 func_80171FFC(short *a0, short *a1, s32 a2)
{
s32 r;
r = func_8017248C((s32)a0, (s32)a1);
if (r != 0) {
func_80146D90((s32)a0);
return r;
}
*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) =
(ratan2(a1[0] - a0[3], a1[2] - a0[7]) + 0x800) & 0xFFF;
func_80172170((s32)a0, a2 & 0xFF);
return 0;
}
DEFINE_func_8017209C() /* dedup: shared engine-core @0x8017209C (src/shared) */
+42 -1
View File
@@ -2850,7 +2850,48 @@ DEFINE_func_80177340() /* dedup: shared engine-core @0x80177340 (src/shared) */
DEFINE_func_8017742C() /* dedup: shared engine-core @0x8017742C (src/shared) */
INCLUDE_ASM("asm/ov_SC02_017/nonmatchings/ov_SC02_017_jr_801734BC", func_801775E0);
extern void func_801776EC(u8 *a0);
void func_801775E0(s32 param_1, s32 param_2) {
extern u8 D_8011F83B;
extern u8 D_8011F837;
extern u8 D_8011F7F0;
s32 s0 = param_1;
s32 pp = param_2;
u8 *base = &D_8011F7F0;
s16 sVar1; s32 t; s32 v;
s32 c = D_8011F83B;
if (c != 0) {
if (c < 0) goto store;
if (c >= 0xf7) goto store;
if (c < 0xf3) goto store;
goto docall;
}
if (D_8011F837 != 0x80) {
*(u8 *)(s0 + 4) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 5) = 0x10;
goto L684;
}
func_801776EC((u8 *)s0);
goto L684;
docall:
func_801776EC((u8 *)s0);
goto L684;
store:
*(u8 *)(s0 + 5) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 4) = 0x10;
L684:
sVar1 = (s16)((u32)(base[0x47] * 9) >> 4);
t = pp + 0x48;
*(s16 *)(s0 + 0xe) = sVar1;
*(s16 *)(s0 + 0xa) = t - sVar1;
if (base[0x47] != 0) { s0 = param_1 + 0x14; v = 0xa0; } else { s0 = param_1 + 0x14; v = 0x40; }
*(u8 *)(s0 + 6) = v;
*(s16 *)(s0 + 0xa) = pp;
}
DEFINE_func_801776EC() /* dedup: shared engine-core @0x801776EC (src/shared) */
+21 -1
View File
@@ -3730,7 +3730,27 @@ DEFINE_func_80171E08() /* dedup: shared engine-core @0x80171E08 (src/shared) */
DEFINE_func_80171EC8() /* dedup: shared engine-core @0x80171EC8 (src/shared) */
INCLUDE_ASM("asm/ov_SC02_021/nonmatchings/ov_SC02_021_jr_8016AB6C", func_80171FFC);
extern s32 func_8017248C(s32, s32);
extern s32 ratan2(s32, s32);
extern void func_80172170(s32, s32);
extern void func_80146D90(s32);
s32 func_80171FFC(short *a0, short *a1, s32 a2)
{
s32 r;
r = func_8017248C((s32)a0, (s32)a1);
if (r != 0) {
func_80146D90((s32)a0);
return r;
}
*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) =
(ratan2(a1[0] - a0[3], a1[2] - a0[7]) + 0x800) & 0xFFF;
func_80172170((s32)a0, a2 & 0xFF);
return 0;
}
DEFINE_func_8017209C() /* dedup: shared engine-core @0x8017209C (src/shared) */
+42 -1
View File
@@ -2850,7 +2850,48 @@ DEFINE_func_80177340() /* dedup: shared engine-core @0x80177340 (src/shared) */
DEFINE_func_8017742C() /* dedup: shared engine-core @0x8017742C (src/shared) */
INCLUDE_ASM("asm/ov_SC02_021/nonmatchings/ov_SC02_021_jr_801734BC", func_801775E0);
extern void func_801776EC(u8 *a0);
void func_801775E0(s32 param_1, s32 param_2) {
extern u8 D_8011F83B;
extern u8 D_8011F837;
extern u8 D_8011F7F0;
s32 s0 = param_1;
s32 pp = param_2;
u8 *base = &D_8011F7F0;
s16 sVar1; s32 t; s32 v;
s32 c = D_8011F83B;
if (c != 0) {
if (c < 0) goto store;
if (c >= 0xf7) goto store;
if (c < 0xf3) goto store;
goto docall;
}
if (D_8011F837 != 0x80) {
*(u8 *)(s0 + 4) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 5) = 0x10;
goto L684;
}
func_801776EC((u8 *)s0);
goto L684;
docall:
func_801776EC((u8 *)s0);
goto L684;
store:
*(u8 *)(s0 + 5) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 4) = 0x10;
L684:
sVar1 = (s16)((u32)(base[0x47] * 9) >> 4);
t = pp + 0x48;
*(s16 *)(s0 + 0xe) = sVar1;
*(s16 *)(s0 + 0xa) = t - sVar1;
if (base[0x47] != 0) { s0 = param_1 + 0x14; v = 0xa0; } else { s0 = param_1 + 0x14; v = 0x40; }
*(u8 *)(s0 + 6) = v;
*(s16 *)(s0 + 0xa) = pp;
}
DEFINE_func_801776EC() /* dedup: shared engine-core @0x801776EC (src/shared) */
+21 -1
View File
@@ -3730,7 +3730,27 @@ DEFINE_func_80171E08() /* dedup: shared engine-core @0x80171E08 (src/shared) */
DEFINE_func_80171EC8() /* dedup: shared engine-core @0x80171EC8 (src/shared) */
INCLUDE_ASM("asm/ov_SC02_026/nonmatchings/ov_SC02_026_jr_8016AB6C", func_80171FFC);
extern s32 func_8017248C(s32, s32);
extern s32 ratan2(s32, s32);
extern void func_80172170(s32, s32);
extern void func_80146D90(s32);
s32 func_80171FFC(short *a0, short *a1, s32 a2)
{
s32 r;
r = func_8017248C((s32)a0, (s32)a1);
if (r != 0) {
func_80146D90((s32)a0);
return r;
}
*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) =
(ratan2(a1[0] - a0[3], a1[2] - a0[7]) + 0x800) & 0xFFF;
func_80172170((s32)a0, a2 & 0xFF);
return 0;
}
DEFINE_func_8017209C() /* dedup: shared engine-core @0x8017209C (src/shared) */
+42 -1
View File
@@ -2850,7 +2850,48 @@ DEFINE_func_80177340() /* dedup: shared engine-core @0x80177340 (src/shared) */
DEFINE_func_8017742C() /* dedup: shared engine-core @0x8017742C (src/shared) */
INCLUDE_ASM("asm/ov_SC02_026/nonmatchings/ov_SC02_026_jr_801734BC", func_801775E0);
extern void func_801776EC(u8 *a0);
void func_801775E0(s32 param_1, s32 param_2) {
extern u8 D_8011F83B;
extern u8 D_8011F837;
extern u8 D_8011F7F0;
s32 s0 = param_1;
s32 pp = param_2;
u8 *base = &D_8011F7F0;
s16 sVar1; s32 t; s32 v;
s32 c = D_8011F83B;
if (c != 0) {
if (c < 0) goto store;
if (c >= 0xf7) goto store;
if (c < 0xf3) goto store;
goto docall;
}
if (D_8011F837 != 0x80) {
*(u8 *)(s0 + 4) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 5) = 0x10;
goto L684;
}
func_801776EC((u8 *)s0);
goto L684;
docall:
func_801776EC((u8 *)s0);
goto L684;
store:
*(u8 *)(s0 + 5) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 4) = 0x10;
L684:
sVar1 = (s16)((u32)(base[0x47] * 9) >> 4);
t = pp + 0x48;
*(s16 *)(s0 + 0xe) = sVar1;
*(s16 *)(s0 + 0xa) = t - sVar1;
if (base[0x47] != 0) { s0 = param_1 + 0x14; v = 0xa0; } else { s0 = param_1 + 0x14; v = 0x40; }
*(u8 *)(s0 + 6) = v;
*(s16 *)(s0 + 0xa) = pp;
}
DEFINE_func_801776EC() /* dedup: shared engine-core @0x801776EC (src/shared) */
+21 -1
View File
@@ -3730,7 +3730,27 @@ DEFINE_func_80171E08() /* dedup: shared engine-core @0x80171E08 (src/shared) */
DEFINE_func_80171EC8() /* dedup: shared engine-core @0x80171EC8 (src/shared) */
INCLUDE_ASM("asm/ov_SC02_027/nonmatchings/ov_SC02_027_jr_8016AB6C", func_80171FFC);
extern s32 func_8017248C(s32, s32);
extern s32 ratan2(s32, s32);
extern void func_80172170(s32, s32);
extern void func_80146D90(s32);
s32 func_80171FFC(short *a0, short *a1, s32 a2)
{
s32 r;
r = func_8017248C((s32)a0, (s32)a1);
if (r != 0) {
func_80146D90((s32)a0);
return r;
}
*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) =
(ratan2(a1[0] - a0[3], a1[2] - a0[7]) + 0x800) & 0xFFF;
func_80172170((s32)a0, a2 & 0xFF);
return 0;
}
DEFINE_func_8017209C() /* dedup: shared engine-core @0x8017209C (src/shared) */
+42 -1
View File
@@ -2850,7 +2850,48 @@ DEFINE_func_80177340() /* dedup: shared engine-core @0x80177340 (src/shared) */
DEFINE_func_8017742C() /* dedup: shared engine-core @0x8017742C (src/shared) */
INCLUDE_ASM("asm/ov_SC02_027/nonmatchings/ov_SC02_027_jr_801734BC", func_801775E0);
extern void func_801776EC(u8 *a0);
void func_801775E0(s32 param_1, s32 param_2) {
extern u8 D_8011F83B;
extern u8 D_8011F837;
extern u8 D_8011F7F0;
s32 s0 = param_1;
s32 pp = param_2;
u8 *base = &D_8011F7F0;
s16 sVar1; s32 t; s32 v;
s32 c = D_8011F83B;
if (c != 0) {
if (c < 0) goto store;
if (c >= 0xf7) goto store;
if (c < 0xf3) goto store;
goto docall;
}
if (D_8011F837 != 0x80) {
*(u8 *)(s0 + 4) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 5) = 0x10;
goto L684;
}
func_801776EC((u8 *)s0);
goto L684;
docall:
func_801776EC((u8 *)s0);
goto L684;
store:
*(u8 *)(s0 + 5) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 4) = 0x10;
L684:
sVar1 = (s16)((u32)(base[0x47] * 9) >> 4);
t = pp + 0x48;
*(s16 *)(s0 + 0xe) = sVar1;
*(s16 *)(s0 + 0xa) = t - sVar1;
if (base[0x47] != 0) { s0 = param_1 + 0x14; v = 0xa0; } else { s0 = param_1 + 0x14; v = 0x40; }
*(u8 *)(s0 + 6) = v;
*(s16 *)(s0 + 0xa) = pp;
}
DEFINE_func_801776EC() /* dedup: shared engine-core @0x801776EC (src/shared) */
+21 -1
View File
@@ -3730,7 +3730,27 @@ DEFINE_func_80171E08() /* dedup: shared engine-core @0x80171E08 (src/shared) */
DEFINE_func_80171EC8() /* dedup: shared engine-core @0x80171EC8 (src/shared) */
INCLUDE_ASM("asm/ov_SC02_028/nonmatchings/ov_SC02_028_jr_8016AB6C", func_80171FFC);
extern s32 func_8017248C(s32, s32);
extern s32 ratan2(s32, s32);
extern void func_80172170(s32, s32);
extern void func_80146D90(s32);
s32 func_80171FFC(short *a0, short *a1, s32 a2)
{
s32 r;
r = func_8017248C((s32)a0, (s32)a1);
if (r != 0) {
func_80146D90((s32)a0);
return r;
}
*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) =
(ratan2(a1[0] - a0[3], a1[2] - a0[7]) + 0x800) & 0xFFF;
func_80172170((s32)a0, a2 & 0xFF);
return 0;
}
DEFINE_func_8017209C() /* dedup: shared engine-core @0x8017209C (src/shared) */
+42 -1
View File
@@ -2850,7 +2850,48 @@ DEFINE_func_80177340() /* dedup: shared engine-core @0x80177340 (src/shared) */
DEFINE_func_8017742C() /* dedup: shared engine-core @0x8017742C (src/shared) */
INCLUDE_ASM("asm/ov_SC02_028/nonmatchings/ov_SC02_028_jr_801734BC", func_801775E0);
extern void func_801776EC(u8 *a0);
void func_801775E0(s32 param_1, s32 param_2) {
extern u8 D_8011F83B;
extern u8 D_8011F837;
extern u8 D_8011F7F0;
s32 s0 = param_1;
s32 pp = param_2;
u8 *base = &D_8011F7F0;
s16 sVar1; s32 t; s32 v;
s32 c = D_8011F83B;
if (c != 0) {
if (c < 0) goto store;
if (c >= 0xf7) goto store;
if (c < 0xf3) goto store;
goto docall;
}
if (D_8011F837 != 0x80) {
*(u8 *)(s0 + 4) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 5) = 0x10;
goto L684;
}
func_801776EC((u8 *)s0);
goto L684;
docall:
func_801776EC((u8 *)s0);
goto L684;
store:
*(u8 *)(s0 + 5) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 4) = 0x10;
L684:
sVar1 = (s16)((u32)(base[0x47] * 9) >> 4);
t = pp + 0x48;
*(s16 *)(s0 + 0xe) = sVar1;
*(s16 *)(s0 + 0xa) = t - sVar1;
if (base[0x47] != 0) { s0 = param_1 + 0x14; v = 0xa0; } else { s0 = param_1 + 0x14; v = 0x40; }
*(u8 *)(s0 + 6) = v;
*(s16 *)(s0 + 0xa) = pp;
}
DEFINE_func_801776EC() /* dedup: shared engine-core @0x801776EC (src/shared) */
+21 -1
View File
@@ -3730,7 +3730,27 @@ DEFINE_func_80171E08() /* dedup: shared engine-core @0x80171E08 (src/shared) */
DEFINE_func_80171EC8() /* dedup: shared engine-core @0x80171EC8 (src/shared) */
INCLUDE_ASM("asm/ov_SC02_031/nonmatchings/ov_SC02_031_jr_8016AB6C", func_80171FFC);
extern s32 func_8017248C(s32, s32);
extern s32 ratan2(s32, s32);
extern void func_80172170(s32, s32);
extern void func_80146D90(s32);
s32 func_80171FFC(short *a0, short *a1, s32 a2)
{
s32 r;
r = func_8017248C((s32)a0, (s32)a1);
if (r != 0) {
func_80146D90((s32)a0);
return r;
}
*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) =
(ratan2(a1[0] - a0[3], a1[2] - a0[7]) + 0x800) & 0xFFF;
func_80172170((s32)a0, a2 & 0xFF);
return 0;
}
DEFINE_func_8017209C() /* dedup: shared engine-core @0x8017209C (src/shared) */
+42 -1
View File
@@ -2850,7 +2850,48 @@ DEFINE_func_80177340() /* dedup: shared engine-core @0x80177340 (src/shared) */
DEFINE_func_8017742C() /* dedup: shared engine-core @0x8017742C (src/shared) */
INCLUDE_ASM("asm/ov_SC02_031/nonmatchings/ov_SC02_031_jr_801734BC", func_801775E0);
extern void func_801776EC(u8 *a0);
void func_801775E0(s32 param_1, s32 param_2) {
extern u8 D_8011F83B;
extern u8 D_8011F837;
extern u8 D_8011F7F0;
s32 s0 = param_1;
s32 pp = param_2;
u8 *base = &D_8011F7F0;
s16 sVar1; s32 t; s32 v;
s32 c = D_8011F83B;
if (c != 0) {
if (c < 0) goto store;
if (c >= 0xf7) goto store;
if (c < 0xf3) goto store;
goto docall;
}
if (D_8011F837 != 0x80) {
*(u8 *)(s0 + 4) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 5) = 0x10;
goto L684;
}
func_801776EC((u8 *)s0);
goto L684;
docall:
func_801776EC((u8 *)s0);
goto L684;
store:
*(u8 *)(s0 + 5) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 4) = 0x10;
L684:
sVar1 = (s16)((u32)(base[0x47] * 9) >> 4);
t = pp + 0x48;
*(s16 *)(s0 + 0xe) = sVar1;
*(s16 *)(s0 + 0xa) = t - sVar1;
if (base[0x47] != 0) { s0 = param_1 + 0x14; v = 0xa0; } else { s0 = param_1 + 0x14; v = 0x40; }
*(u8 *)(s0 + 6) = v;
*(s16 *)(s0 + 0xa) = pp;
}
DEFINE_func_801776EC() /* dedup: shared engine-core @0x801776EC (src/shared) */
+21 -1
View File
@@ -3730,7 +3730,27 @@ DEFINE_func_80171E08() /* dedup: shared engine-core @0x80171E08 (src/shared) */
DEFINE_func_80171EC8() /* dedup: shared engine-core @0x80171EC8 (src/shared) */
INCLUDE_ASM("asm/ov_SC02_035/nonmatchings/ov_SC02_035_jr_8016AB6C", func_80171FFC);
extern s32 func_8017248C(s32, s32);
extern s32 ratan2(s32, s32);
extern void func_80172170(s32, s32);
extern void func_80146D90(s32);
s32 func_80171FFC(short *a0, short *a1, s32 a2)
{
s32 r;
r = func_8017248C((s32)a0, (s32)a1);
if (r != 0) {
func_80146D90((s32)a0);
return r;
}
*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) =
(ratan2(a1[0] - a0[3], a1[2] - a0[7]) + 0x800) & 0xFFF;
func_80172170((s32)a0, a2 & 0xFF);
return 0;
}
DEFINE_func_8017209C() /* dedup: shared engine-core @0x8017209C (src/shared) */
+42 -1
View File
@@ -2850,7 +2850,48 @@ DEFINE_func_80177340() /* dedup: shared engine-core @0x80177340 (src/shared) */
DEFINE_func_8017742C() /* dedup: shared engine-core @0x8017742C (src/shared) */
INCLUDE_ASM("asm/ov_SC02_035/nonmatchings/ov_SC02_035_jr_801734BC", func_801775E0);
extern void func_801776EC(u8 *a0);
void func_801775E0(s32 param_1, s32 param_2) {
extern u8 D_8011F83B;
extern u8 D_8011F837;
extern u8 D_8011F7F0;
s32 s0 = param_1;
s32 pp = param_2;
u8 *base = &D_8011F7F0;
s16 sVar1; s32 t; s32 v;
s32 c = D_8011F83B;
if (c != 0) {
if (c < 0) goto store;
if (c >= 0xf7) goto store;
if (c < 0xf3) goto store;
goto docall;
}
if (D_8011F837 != 0x80) {
*(u8 *)(s0 + 4) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 5) = 0x10;
goto L684;
}
func_801776EC((u8 *)s0);
goto L684;
docall:
func_801776EC((u8 *)s0);
goto L684;
store:
*(u8 *)(s0 + 5) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 4) = 0x10;
L684:
sVar1 = (s16)((u32)(base[0x47] * 9) >> 4);
t = pp + 0x48;
*(s16 *)(s0 + 0xe) = sVar1;
*(s16 *)(s0 + 0xa) = t - sVar1;
if (base[0x47] != 0) { s0 = param_1 + 0x14; v = 0xa0; } else { s0 = param_1 + 0x14; v = 0x40; }
*(u8 *)(s0 + 6) = v;
*(s16 *)(s0 + 0xa) = pp;
}
DEFINE_func_801776EC() /* dedup: shared engine-core @0x801776EC (src/shared) */
+21 -1
View File
@@ -3730,7 +3730,27 @@ DEFINE_func_80171E08() /* dedup: shared engine-core @0x80171E08 (src/shared) */
DEFINE_func_80171EC8() /* dedup: shared engine-core @0x80171EC8 (src/shared) */
INCLUDE_ASM("asm/ov_SC02_039/nonmatchings/ov_SC02_039_jr_8016AB6C", func_80171FFC);
extern s32 func_8017248C(s32, s32);
extern s32 ratan2(s32, s32);
extern void func_80172170(s32, s32);
extern void func_80146D90(s32);
s32 func_80171FFC(short *a0, short *a1, s32 a2)
{
s32 r;
r = func_8017248C((s32)a0, (s32)a1);
if (r != 0) {
func_80146D90((s32)a0);
return r;
}
*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) =
(ratan2(a1[0] - a0[3], a1[2] - a0[7]) + 0x800) & 0xFFF;
func_80172170((s32)a0, a2 & 0xFF);
return 0;
}
DEFINE_func_8017209C() /* dedup: shared engine-core @0x8017209C (src/shared) */
+42 -1
View File
@@ -2851,7 +2851,48 @@ DEFINE_func_80177340() /* dedup: shared engine-core @0x80177340 (src/shared) */
DEFINE_func_8017742C() /* dedup: shared engine-core @0x8017742C (src/shared) */
INCLUDE_ASM("asm/ov_SC02_039/nonmatchings/ov_SC02_039_jr_801734BC", func_801775E0);
extern void func_801776EC(u8 *a0);
void func_801775E0(s32 param_1, s32 param_2) {
extern u8 D_8011F83B;
extern u8 D_8011F837;
extern u8 D_8011F7F0;
s32 s0 = param_1;
s32 pp = param_2;
u8 *base = &D_8011F7F0;
s16 sVar1; s32 t; s32 v;
s32 c = D_8011F83B;
if (c != 0) {
if (c < 0) goto store;
if (c >= 0xf7) goto store;
if (c < 0xf3) goto store;
goto docall;
}
if (D_8011F837 != 0x80) {
*(u8 *)(s0 + 4) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 5) = 0x10;
goto L684;
}
func_801776EC((u8 *)s0);
goto L684;
docall:
func_801776EC((u8 *)s0);
goto L684;
store:
*(u8 *)(s0 + 5) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 4) = 0x10;
L684:
sVar1 = (s16)((u32)(base[0x47] * 9) >> 4);
t = pp + 0x48;
*(s16 *)(s0 + 0xe) = sVar1;
*(s16 *)(s0 + 0xa) = t - sVar1;
if (base[0x47] != 0) { s0 = param_1 + 0x14; v = 0xa0; } else { s0 = param_1 + 0x14; v = 0x40; }
*(u8 *)(s0 + 6) = v;
*(s16 *)(s0 + 0xa) = pp;
}
DEFINE_func_801776EC() /* dedup: shared engine-core @0x801776EC (src/shared) */
+21 -1
View File
@@ -3730,7 +3730,27 @@ DEFINE_func_80171E08() /* dedup: shared engine-core @0x80171E08 (src/shared) */
DEFINE_func_80171EC8() /* dedup: shared engine-core @0x80171EC8 (src/shared) */
INCLUDE_ASM("asm/ov_SC02_041/nonmatchings/ov_SC02_041_jr_8016AB6C", func_80171FFC);
extern s32 func_8017248C(s32, s32);
extern s32 ratan2(s32, s32);
extern void func_80172170(s32, s32);
extern void func_80146D90(s32);
s32 func_80171FFC(short *a0, short *a1, s32 a2)
{
s32 r;
r = func_8017248C((s32)a0, (s32)a1);
if (r != 0) {
func_80146D90((s32)a0);
return r;
}
*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) =
(ratan2(a1[0] - a0[3], a1[2] - a0[7]) + 0x800) & 0xFFF;
func_80172170((s32)a0, a2 & 0xFF);
return 0;
}
DEFINE_func_8017209C() /* dedup: shared engine-core @0x8017209C (src/shared) */
+42 -1
View File
@@ -2851,7 +2851,48 @@ DEFINE_func_80177340() /* dedup: shared engine-core @0x80177340 (src/shared) */
DEFINE_func_8017742C() /* dedup: shared engine-core @0x8017742C (src/shared) */
INCLUDE_ASM("asm/ov_SC02_041/nonmatchings/ov_SC02_041_jr_801734BC", func_801775E0);
extern void func_801776EC(u8 *a0);
void func_801775E0(s32 param_1, s32 param_2) {
extern u8 D_8011F83B;
extern u8 D_8011F837;
extern u8 D_8011F7F0;
s32 s0 = param_1;
s32 pp = param_2;
u8 *base = &D_8011F7F0;
s16 sVar1; s32 t; s32 v;
s32 c = D_8011F83B;
if (c != 0) {
if (c < 0) goto store;
if (c >= 0xf7) goto store;
if (c < 0xf3) goto store;
goto docall;
}
if (D_8011F837 != 0x80) {
*(u8 *)(s0 + 4) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 5) = 0x10;
goto L684;
}
func_801776EC((u8 *)s0);
goto L684;
docall:
func_801776EC((u8 *)s0);
goto L684;
store:
*(u8 *)(s0 + 5) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 4) = 0x10;
L684:
sVar1 = (s16)((u32)(base[0x47] * 9) >> 4);
t = pp + 0x48;
*(s16 *)(s0 + 0xe) = sVar1;
*(s16 *)(s0 + 0xa) = t - sVar1;
if (base[0x47] != 0) { s0 = param_1 + 0x14; v = 0xa0; } else { s0 = param_1 + 0x14; v = 0x40; }
*(u8 *)(s0 + 6) = v;
*(s16 *)(s0 + 0xa) = pp;
}
DEFINE_func_801776EC() /* dedup: shared engine-core @0x801776EC (src/shared) */
+21 -1
View File
@@ -3730,7 +3730,27 @@ DEFINE_func_80171E08() /* dedup: shared engine-core @0x80171E08 (src/shared) */
DEFINE_func_80171EC8() /* dedup: shared engine-core @0x80171EC8 (src/shared) */
INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001_jr_8016AB6C", func_80171FFC);
extern s32 func_8017248C(s32, s32);
extern s32 ratan2(s32, s32);
extern void func_80172170(s32, s32);
extern void func_80146D90(s32);
s32 func_80171FFC(short *a0, short *a1, s32 a2)
{
s32 r;
r = func_8017248C((s32)a0, (s32)a1);
if (r != 0) {
func_80146D90((s32)a0);
return r;
}
*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) =
(ratan2(a1[0] - a0[3], a1[2] - a0[7]) + 0x800) & 0xFFF;
func_80172170((s32)a0, a2 & 0xFF);
return 0;
}
DEFINE_func_8017209C() /* dedup: shared engine-core @0x8017209C (src/shared) */
+42 -1
View File
@@ -2850,7 +2850,48 @@ DEFINE_func_80177340() /* dedup: shared engine-core @0x80177340 (src/shared) */
DEFINE_func_8017742C() /* dedup: shared engine-core @0x8017742C (src/shared) */
INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001_jr_801734BC", func_801775E0);
extern void func_801776EC(u8 *a0);
void func_801775E0(s32 param_1, s32 param_2) {
extern u8 D_8011F83B;
extern u8 D_8011F837;
extern u8 D_8011F7F0;
s32 s0 = param_1;
s32 pp = param_2;
u8 *base = &D_8011F7F0;
s16 sVar1; s32 t; s32 v;
s32 c = D_8011F83B;
if (c != 0) {
if (c < 0) goto store;
if (c >= 0xf7) goto store;
if (c < 0xf3) goto store;
goto docall;
}
if (D_8011F837 != 0x80) {
*(u8 *)(s0 + 4) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 5) = 0x10;
goto L684;
}
func_801776EC((u8 *)s0);
goto L684;
docall:
func_801776EC((u8 *)s0);
goto L684;
store:
*(u8 *)(s0 + 5) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 4) = 0x10;
L684:
sVar1 = (s16)((u32)(base[0x47] * 9) >> 4);
t = pp + 0x48;
*(s16 *)(s0 + 0xe) = sVar1;
*(s16 *)(s0 + 0xa) = t - sVar1;
if (base[0x47] != 0) { s0 = param_1 + 0x14; v = 0xa0; } else { s0 = param_1 + 0x14; v = 0x40; }
*(u8 *)(s0 + 6) = v;
*(s16 *)(s0 + 0xa) = pp;
}
DEFINE_func_801776EC() /* dedup: shared engine-core @0x801776EC (src/shared) */
+21 -1
View File
@@ -3730,7 +3730,27 @@ DEFINE_func_80171E08() /* dedup: shared engine-core @0x80171E08 (src/shared) */
DEFINE_func_80171EC8() /* dedup: shared engine-core @0x80171EC8 (src/shared) */
INCLUDE_ASM("asm/ov_SC03_002/nonmatchings/ov_SC03_002_jr_8016AB6C", func_80171FFC);
extern s32 func_8017248C(s32, s32);
extern s32 ratan2(s32, s32);
extern void func_80172170(s32, s32);
extern void func_80146D90(s32);
s32 func_80171FFC(short *a0, short *a1, s32 a2)
{
s32 r;
r = func_8017248C((s32)a0, (s32)a1);
if (r != 0) {
func_80146D90((s32)a0);
return r;
}
*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) =
(ratan2(a1[0] - a0[3], a1[2] - a0[7]) + 0x800) & 0xFFF;
func_80172170((s32)a0, a2 & 0xFF);
return 0;
}
DEFINE_func_8017209C() /* dedup: shared engine-core @0x8017209C (src/shared) */
+42 -1
View File
@@ -2851,7 +2851,48 @@ DEFINE_func_80177340() /* dedup: shared engine-core @0x80177340 (src/shared) */
DEFINE_func_8017742C() /* dedup: shared engine-core @0x8017742C (src/shared) */
INCLUDE_ASM("asm/ov_SC03_002/nonmatchings/ov_SC03_002_jr_801734BC", func_801775E0);
extern void func_801776EC(u8 *a0);
void func_801775E0(s32 param_1, s32 param_2) {
extern u8 D_8011F83B;
extern u8 D_8011F837;
extern u8 D_8011F7F0;
s32 s0 = param_1;
s32 pp = param_2;
u8 *base = &D_8011F7F0;
s16 sVar1; s32 t; s32 v;
s32 c = D_8011F83B;
if (c != 0) {
if (c < 0) goto store;
if (c >= 0xf7) goto store;
if (c < 0xf3) goto store;
goto docall;
}
if (D_8011F837 != 0x80) {
*(u8 *)(s0 + 4) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 5) = 0x10;
goto L684;
}
func_801776EC((u8 *)s0);
goto L684;
docall:
func_801776EC((u8 *)s0);
goto L684;
store:
*(u8 *)(s0 + 5) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 4) = 0x10;
L684:
sVar1 = (s16)((u32)(base[0x47] * 9) >> 4);
t = pp + 0x48;
*(s16 *)(s0 + 0xe) = sVar1;
*(s16 *)(s0 + 0xa) = t - sVar1;
if (base[0x47] != 0) { s0 = param_1 + 0x14; v = 0xa0; } else { s0 = param_1 + 0x14; v = 0x40; }
*(u8 *)(s0 + 6) = v;
*(s16 *)(s0 + 0xa) = pp;
}
DEFINE_func_801776EC() /* dedup: shared engine-core @0x801776EC (src/shared) */
+21 -1
View File
@@ -3730,7 +3730,27 @@ DEFINE_func_80171E08() /* dedup: shared engine-core @0x80171E08 (src/shared) */
DEFINE_func_80171EC8() /* dedup: shared engine-core @0x80171EC8 (src/shared) */
INCLUDE_ASM("asm/ov_SC03_003/nonmatchings/ov_SC03_003_jr_8016AB6C", func_80171FFC);
extern s32 func_8017248C(s32, s32);
extern s32 ratan2(s32, s32);
extern void func_80172170(s32, s32);
extern void func_80146D90(s32);
s32 func_80171FFC(short *a0, short *a1, s32 a2)
{
s32 r;
r = func_8017248C((s32)a0, (s32)a1);
if (r != 0) {
func_80146D90((s32)a0);
return r;
}
*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) =
(ratan2(a1[0] - a0[3], a1[2] - a0[7]) + 0x800) & 0xFFF;
func_80172170((s32)a0, a2 & 0xFF);
return 0;
}
DEFINE_func_8017209C() /* dedup: shared engine-core @0x8017209C (src/shared) */
+42 -1
View File
@@ -2851,7 +2851,48 @@ DEFINE_func_80177340() /* dedup: shared engine-core @0x80177340 (src/shared) */
DEFINE_func_8017742C() /* dedup: shared engine-core @0x8017742C (src/shared) */
INCLUDE_ASM("asm/ov_SC03_003/nonmatchings/ov_SC03_003_jr_801734BC", func_801775E0);
extern void func_801776EC(u8 *a0);
void func_801775E0(s32 param_1, s32 param_2) {
extern u8 D_8011F83B;
extern u8 D_8011F837;
extern u8 D_8011F7F0;
s32 s0 = param_1;
s32 pp = param_2;
u8 *base = &D_8011F7F0;
s16 sVar1; s32 t; s32 v;
s32 c = D_8011F83B;
if (c != 0) {
if (c < 0) goto store;
if (c >= 0xf7) goto store;
if (c < 0xf3) goto store;
goto docall;
}
if (D_8011F837 != 0x80) {
*(u8 *)(s0 + 4) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 5) = 0x10;
goto L684;
}
func_801776EC((u8 *)s0);
goto L684;
docall:
func_801776EC((u8 *)s0);
goto L684;
store:
*(u8 *)(s0 + 5) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 4) = 0x10;
L684:
sVar1 = (s16)((u32)(base[0x47] * 9) >> 4);
t = pp + 0x48;
*(s16 *)(s0 + 0xe) = sVar1;
*(s16 *)(s0 + 0xa) = t - sVar1;
if (base[0x47] != 0) { s0 = param_1 + 0x14; v = 0xa0; } else { s0 = param_1 + 0x14; v = 0x40; }
*(u8 *)(s0 + 6) = v;
*(s16 *)(s0 + 0xa) = pp;
}
DEFINE_func_801776EC() /* dedup: shared engine-core @0x801776EC (src/shared) */
+21 -1
View File
@@ -3730,7 +3730,27 @@ DEFINE_func_80171E08() /* dedup: shared engine-core @0x80171E08 (src/shared) */
DEFINE_func_80171EC8() /* dedup: shared engine-core @0x80171EC8 (src/shared) */
INCLUDE_ASM("asm/ov_SC03_006/nonmatchings/ov_SC03_006_jr_8016AB6C", func_80171FFC);
extern s32 func_8017248C(s32, s32);
extern s32 ratan2(s32, s32);
extern void func_80172170(s32, s32);
extern void func_80146D90(s32);
s32 func_80171FFC(short *a0, short *a1, s32 a2)
{
s32 r;
r = func_8017248C((s32)a0, (s32)a1);
if (r != 0) {
func_80146D90((s32)a0);
return r;
}
*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) =
(ratan2(a1[0] - a0[3], a1[2] - a0[7]) + 0x800) & 0xFFF;
func_80172170((s32)a0, a2 & 0xFF);
return 0;
}
DEFINE_func_8017209C() /* dedup: shared engine-core @0x8017209C (src/shared) */
+42 -1
View File
@@ -2851,7 +2851,48 @@ DEFINE_func_80177340() /* dedup: shared engine-core @0x80177340 (src/shared) */
DEFINE_func_8017742C() /* dedup: shared engine-core @0x8017742C (src/shared) */
INCLUDE_ASM("asm/ov_SC03_006/nonmatchings/ov_SC03_006_jr_801734BC", func_801775E0);
extern void func_801776EC(u8 *a0);
void func_801775E0(s32 param_1, s32 param_2) {
extern u8 D_8011F83B;
extern u8 D_8011F837;
extern u8 D_8011F7F0;
s32 s0 = param_1;
s32 pp = param_2;
u8 *base = &D_8011F7F0;
s16 sVar1; s32 t; s32 v;
s32 c = D_8011F83B;
if (c != 0) {
if (c < 0) goto store;
if (c >= 0xf7) goto store;
if (c < 0xf3) goto store;
goto docall;
}
if (D_8011F837 != 0x80) {
*(u8 *)(s0 + 4) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 5) = 0x10;
goto L684;
}
func_801776EC((u8 *)s0);
goto L684;
docall:
func_801776EC((u8 *)s0);
goto L684;
store:
*(u8 *)(s0 + 5) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 4) = 0x10;
L684:
sVar1 = (s16)((u32)(base[0x47] * 9) >> 4);
t = pp + 0x48;
*(s16 *)(s0 + 0xe) = sVar1;
*(s16 *)(s0 + 0xa) = t - sVar1;
if (base[0x47] != 0) { s0 = param_1 + 0x14; v = 0xa0; } else { s0 = param_1 + 0x14; v = 0x40; }
*(u8 *)(s0 + 6) = v;
*(s16 *)(s0 + 0xa) = pp;
}
DEFINE_func_801776EC() /* dedup: shared engine-core @0x801776EC (src/shared) */
+21 -1
View File
@@ -3730,7 +3730,27 @@ DEFINE_func_80171E08() /* dedup: shared engine-core @0x80171E08 (src/shared) */
DEFINE_func_80171EC8() /* dedup: shared engine-core @0x80171EC8 (src/shared) */
INCLUDE_ASM("asm/ov_SC03_007/nonmatchings/ov_SC03_007_jr_8016AB6C", func_80171FFC);
extern s32 func_8017248C(s32, s32);
extern s32 ratan2(s32, s32);
extern void func_80172170(s32, s32);
extern void func_80146D90(s32);
s32 func_80171FFC(short *a0, short *a1, s32 a2)
{
s32 r;
r = func_8017248C((s32)a0, (s32)a1);
if (r != 0) {
func_80146D90((s32)a0);
return r;
}
*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) =
(ratan2(a1[0] - a0[3], a1[2] - a0[7]) + 0x800) & 0xFFF;
func_80172170((s32)a0, a2 & 0xFF);
return 0;
}
DEFINE_func_8017209C() /* dedup: shared engine-core @0x8017209C (src/shared) */
+42 -1
View File
@@ -2851,7 +2851,48 @@ DEFINE_func_80177340() /* dedup: shared engine-core @0x80177340 (src/shared) */
DEFINE_func_8017742C() /* dedup: shared engine-core @0x8017742C (src/shared) */
INCLUDE_ASM("asm/ov_SC03_007/nonmatchings/ov_SC03_007_jr_801734BC", func_801775E0);
extern void func_801776EC(u8 *a0);
void func_801775E0(s32 param_1, s32 param_2) {
extern u8 D_8011F83B;
extern u8 D_8011F837;
extern u8 D_8011F7F0;
s32 s0 = param_1;
s32 pp = param_2;
u8 *base = &D_8011F7F0;
s16 sVar1; s32 t; s32 v;
s32 c = D_8011F83B;
if (c != 0) {
if (c < 0) goto store;
if (c >= 0xf7) goto store;
if (c < 0xf3) goto store;
goto docall;
}
if (D_8011F837 != 0x80) {
*(u8 *)(s0 + 4) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 5) = 0x10;
goto L684;
}
func_801776EC((u8 *)s0);
goto L684;
docall:
func_801776EC((u8 *)s0);
goto L684;
store:
*(u8 *)(s0 + 5) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 4) = 0x10;
L684:
sVar1 = (s16)((u32)(base[0x47] * 9) >> 4);
t = pp + 0x48;
*(s16 *)(s0 + 0xe) = sVar1;
*(s16 *)(s0 + 0xa) = t - sVar1;
if (base[0x47] != 0) { s0 = param_1 + 0x14; v = 0xa0; } else { s0 = param_1 + 0x14; v = 0x40; }
*(u8 *)(s0 + 6) = v;
*(s16 *)(s0 + 0xa) = pp;
}
DEFINE_func_801776EC() /* dedup: shared engine-core @0x801776EC (src/shared) */
+21 -1
View File
@@ -3730,7 +3730,27 @@ DEFINE_func_80171E08() /* dedup: shared engine-core @0x80171E08 (src/shared) */
DEFINE_func_80171EC8() /* dedup: shared engine-core @0x80171EC8 (src/shared) */
INCLUDE_ASM("asm/ov_SC03_010/nonmatchings/ov_SC03_010_jr_8016AB6C", func_80171FFC);
extern s32 func_8017248C(s32, s32);
extern s32 ratan2(s32, s32);
extern void func_80172170(s32, s32);
extern void func_80146D90(s32);
s32 func_80171FFC(short *a0, short *a1, s32 a2)
{
s32 r;
r = func_8017248C((s32)a0, (s32)a1);
if (r != 0) {
func_80146D90((s32)a0);
return r;
}
*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) =
(ratan2(a1[0] - a0[3], a1[2] - a0[7]) + 0x800) & 0xFFF;
func_80172170((s32)a0, a2 & 0xFF);
return 0;
}
DEFINE_func_8017209C() /* dedup: shared engine-core @0x8017209C (src/shared) */
+42 -1
View File
@@ -2851,7 +2851,48 @@ DEFINE_func_80177340() /* dedup: shared engine-core @0x80177340 (src/shared) */
DEFINE_func_8017742C() /* dedup: shared engine-core @0x8017742C (src/shared) */
INCLUDE_ASM("asm/ov_SC03_010/nonmatchings/ov_SC03_010_jr_801734BC", func_801775E0);
extern void func_801776EC(u8 *a0);
void func_801775E0(s32 param_1, s32 param_2) {
extern u8 D_8011F83B;
extern u8 D_8011F837;
extern u8 D_8011F7F0;
s32 s0 = param_1;
s32 pp = param_2;
u8 *base = &D_8011F7F0;
s16 sVar1; s32 t; s32 v;
s32 c = D_8011F83B;
if (c != 0) {
if (c < 0) goto store;
if (c >= 0xf7) goto store;
if (c < 0xf3) goto store;
goto docall;
}
if (D_8011F837 != 0x80) {
*(u8 *)(s0 + 4) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 5) = 0x10;
goto L684;
}
func_801776EC((u8 *)s0);
goto L684;
docall:
func_801776EC((u8 *)s0);
goto L684;
store:
*(u8 *)(s0 + 5) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 4) = 0x10;
L684:
sVar1 = (s16)((u32)(base[0x47] * 9) >> 4);
t = pp + 0x48;
*(s16 *)(s0 + 0xe) = sVar1;
*(s16 *)(s0 + 0xa) = t - sVar1;
if (base[0x47] != 0) { s0 = param_1 + 0x14; v = 0xa0; } else { s0 = param_1 + 0x14; v = 0x40; }
*(u8 *)(s0 + 6) = v;
*(s16 *)(s0 + 0xa) = pp;
}
DEFINE_func_801776EC() /* dedup: shared engine-core @0x801776EC (src/shared) */
+21 -1
View File
@@ -3730,7 +3730,27 @@ DEFINE_func_80171E08() /* dedup: shared engine-core @0x80171E08 (src/shared) */
DEFINE_func_80171EC8() /* dedup: shared engine-core @0x80171EC8 (src/shared) */
INCLUDE_ASM("asm/ov_SC03_011/nonmatchings/ov_SC03_011_jr_8016AB6C", func_80171FFC);
extern s32 func_8017248C(s32, s32);
extern s32 ratan2(s32, s32);
extern void func_80172170(s32, s32);
extern void func_80146D90(s32);
s32 func_80171FFC(short *a0, short *a1, s32 a2)
{
s32 r;
r = func_8017248C((s32)a0, (s32)a1);
if (r != 0) {
func_80146D90((s32)a0);
return r;
}
*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) =
(ratan2(a1[0] - a0[3], a1[2] - a0[7]) + 0x800) & 0xFFF;
func_80172170((s32)a0, a2 & 0xFF);
return 0;
}
DEFINE_func_8017209C() /* dedup: shared engine-core @0x8017209C (src/shared) */
+42 -1
View File
@@ -2851,7 +2851,48 @@ DEFINE_func_80177340() /* dedup: shared engine-core @0x80177340 (src/shared) */
DEFINE_func_8017742C() /* dedup: shared engine-core @0x8017742C (src/shared) */
INCLUDE_ASM("asm/ov_SC03_011/nonmatchings/ov_SC03_011_jr_801734BC", func_801775E0);
extern void func_801776EC(u8 *a0);
void func_801775E0(s32 param_1, s32 param_2) {
extern u8 D_8011F83B;
extern u8 D_8011F837;
extern u8 D_8011F7F0;
s32 s0 = param_1;
s32 pp = param_2;
u8 *base = &D_8011F7F0;
s16 sVar1; s32 t; s32 v;
s32 c = D_8011F83B;
if (c != 0) {
if (c < 0) goto store;
if (c >= 0xf7) goto store;
if (c < 0xf3) goto store;
goto docall;
}
if (D_8011F837 != 0x80) {
*(u8 *)(s0 + 4) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 5) = 0x10;
goto L684;
}
func_801776EC((u8 *)s0);
goto L684;
docall:
func_801776EC((u8 *)s0);
goto L684;
store:
*(u8 *)(s0 + 5) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 4) = 0x10;
L684:
sVar1 = (s16)((u32)(base[0x47] * 9) >> 4);
t = pp + 0x48;
*(s16 *)(s0 + 0xe) = sVar1;
*(s16 *)(s0 + 0xa) = t - sVar1;
if (base[0x47] != 0) { s0 = param_1 + 0x14; v = 0xa0; } else { s0 = param_1 + 0x14; v = 0x40; }
*(u8 *)(s0 + 6) = v;
*(s16 *)(s0 + 0xa) = pp;
}
DEFINE_func_801776EC() /* dedup: shared engine-core @0x801776EC (src/shared) */
+21 -1
View File
@@ -3730,7 +3730,27 @@ DEFINE_func_80171E08() /* dedup: shared engine-core @0x80171E08 (src/shared) */
DEFINE_func_80171EC8() /* dedup: shared engine-core @0x80171EC8 (src/shared) */
INCLUDE_ASM("asm/ov_SC03_012/nonmatchings/ov_SC03_012_jr_8016AB6C", func_80171FFC);
extern s32 func_8017248C(s32, s32);
extern s32 ratan2(s32, s32);
extern void func_80172170(s32, s32);
extern void func_80146D90(s32);
s32 func_80171FFC(short *a0, short *a1, s32 a2)
{
s32 r;
r = func_8017248C((s32)a0, (s32)a1);
if (r != 0) {
func_80146D90((s32)a0);
return r;
}
*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) =
(ratan2(a1[0] - a0[3], a1[2] - a0[7]) + 0x800) & 0xFFF;
func_80172170((s32)a0, a2 & 0xFF);
return 0;
}
DEFINE_func_8017209C() /* dedup: shared engine-core @0x8017209C (src/shared) */
+42 -1
View File
@@ -2851,7 +2851,48 @@ DEFINE_func_80177340() /* dedup: shared engine-core @0x80177340 (src/shared) */
DEFINE_func_8017742C() /* dedup: shared engine-core @0x8017742C (src/shared) */
INCLUDE_ASM("asm/ov_SC03_012/nonmatchings/ov_SC03_012_jr_801734BC", func_801775E0);
extern void func_801776EC(u8 *a0);
void func_801775E0(s32 param_1, s32 param_2) {
extern u8 D_8011F83B;
extern u8 D_8011F837;
extern u8 D_8011F7F0;
s32 s0 = param_1;
s32 pp = param_2;
u8 *base = &D_8011F7F0;
s16 sVar1; s32 t; s32 v;
s32 c = D_8011F83B;
if (c != 0) {
if (c < 0) goto store;
if (c >= 0xf7) goto store;
if (c < 0xf3) goto store;
goto docall;
}
if (D_8011F837 != 0x80) {
*(u8 *)(s0 + 4) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 5) = 0x10;
goto L684;
}
func_801776EC((u8 *)s0);
goto L684;
docall:
func_801776EC((u8 *)s0);
goto L684;
store:
*(u8 *)(s0 + 5) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 4) = 0x10;
L684:
sVar1 = (s16)((u32)(base[0x47] * 9) >> 4);
t = pp + 0x48;
*(s16 *)(s0 + 0xe) = sVar1;
*(s16 *)(s0 + 0xa) = t - sVar1;
if (base[0x47] != 0) { s0 = param_1 + 0x14; v = 0xa0; } else { s0 = param_1 + 0x14; v = 0x40; }
*(u8 *)(s0 + 6) = v;
*(s16 *)(s0 + 0xa) = pp;
}
DEFINE_func_801776EC() /* dedup: shared engine-core @0x801776EC (src/shared) */
+21 -1
View File
@@ -3730,7 +3730,27 @@ DEFINE_func_80171E08() /* dedup: shared engine-core @0x80171E08 (src/shared) */
DEFINE_func_80171EC8() /* dedup: shared engine-core @0x80171EC8 (src/shared) */
INCLUDE_ASM("asm/ov_SC03_013/nonmatchings/ov_SC03_013_jr_8016AB6C", func_80171FFC);
extern s32 func_8017248C(s32, s32);
extern s32 ratan2(s32, s32);
extern void func_80172170(s32, s32);
extern void func_80146D90(s32);
s32 func_80171FFC(short *a0, short *a1, s32 a2)
{
s32 r;
r = func_8017248C((s32)a0, (s32)a1);
if (r != 0) {
func_80146D90((s32)a0);
return r;
}
*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) =
(ratan2(a1[0] - a0[3], a1[2] - a0[7]) + 0x800) & 0xFFF;
func_80172170((s32)a0, a2 & 0xFF);
return 0;
}
DEFINE_func_8017209C() /* dedup: shared engine-core @0x8017209C (src/shared) */
+42 -1
View File
@@ -2851,7 +2851,48 @@ DEFINE_func_80177340() /* dedup: shared engine-core @0x80177340 (src/shared) */
DEFINE_func_8017742C() /* dedup: shared engine-core @0x8017742C (src/shared) */
INCLUDE_ASM("asm/ov_SC03_013/nonmatchings/ov_SC03_013_jr_801734BC", func_801775E0);
extern void func_801776EC(u8 *a0);
void func_801775E0(s32 param_1, s32 param_2) {
extern u8 D_8011F83B;
extern u8 D_8011F837;
extern u8 D_8011F7F0;
s32 s0 = param_1;
s32 pp = param_2;
u8 *base = &D_8011F7F0;
s16 sVar1; s32 t; s32 v;
s32 c = D_8011F83B;
if (c != 0) {
if (c < 0) goto store;
if (c >= 0xf7) goto store;
if (c < 0xf3) goto store;
goto docall;
}
if (D_8011F837 != 0x80) {
*(u8 *)(s0 + 4) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 5) = 0x10;
goto L684;
}
func_801776EC((u8 *)s0);
goto L684;
docall:
func_801776EC((u8 *)s0);
goto L684;
store:
*(u8 *)(s0 + 5) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 4) = 0x10;
L684:
sVar1 = (s16)((u32)(base[0x47] * 9) >> 4);
t = pp + 0x48;
*(s16 *)(s0 + 0xe) = sVar1;
*(s16 *)(s0 + 0xa) = t - sVar1;
if (base[0x47] != 0) { s0 = param_1 + 0x14; v = 0xa0; } else { s0 = param_1 + 0x14; v = 0x40; }
*(u8 *)(s0 + 6) = v;
*(s16 *)(s0 + 0xa) = pp;
}
DEFINE_func_801776EC() /* dedup: shared engine-core @0x801776EC (src/shared) */
+21 -1
View File
@@ -3730,7 +3730,27 @@ DEFINE_func_80171E08() /* dedup: shared engine-core @0x80171E08 (src/shared) */
DEFINE_func_80171EC8() /* dedup: shared engine-core @0x80171EC8 (src/shared) */
INCLUDE_ASM("asm/ov_SC03_014/nonmatchings/ov_SC03_014_jr_8016AB6C", func_80171FFC);
extern s32 func_8017248C(s32, s32);
extern s32 ratan2(s32, s32);
extern void func_80172170(s32, s32);
extern void func_80146D90(s32);
s32 func_80171FFC(short *a0, short *a1, s32 a2)
{
s32 r;
r = func_8017248C((s32)a0, (s32)a1);
if (r != 0) {
func_80146D90((s32)a0);
return r;
}
*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) =
(ratan2(a1[0] - a0[3], a1[2] - a0[7]) + 0x800) & 0xFFF;
func_80172170((s32)a0, a2 & 0xFF);
return 0;
}
DEFINE_func_8017209C() /* dedup: shared engine-core @0x8017209C (src/shared) */
+42 -1
View File
@@ -2851,7 +2851,48 @@ DEFINE_func_80177340() /* dedup: shared engine-core @0x80177340 (src/shared) */
DEFINE_func_8017742C() /* dedup: shared engine-core @0x8017742C (src/shared) */
INCLUDE_ASM("asm/ov_SC03_014/nonmatchings/ov_SC03_014_jr_801734BC", func_801775E0);
extern void func_801776EC(u8 *a0);
void func_801775E0(s32 param_1, s32 param_2) {
extern u8 D_8011F83B;
extern u8 D_8011F837;
extern u8 D_8011F7F0;
s32 s0 = param_1;
s32 pp = param_2;
u8 *base = &D_8011F7F0;
s16 sVar1; s32 t; s32 v;
s32 c = D_8011F83B;
if (c != 0) {
if (c < 0) goto store;
if (c >= 0xf7) goto store;
if (c < 0xf3) goto store;
goto docall;
}
if (D_8011F837 != 0x80) {
*(u8 *)(s0 + 4) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 5) = 0x10;
goto L684;
}
func_801776EC((u8 *)s0);
goto L684;
docall:
func_801776EC((u8 *)s0);
goto L684;
store:
*(u8 *)(s0 + 5) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 4) = 0x10;
L684:
sVar1 = (s16)((u32)(base[0x47] * 9) >> 4);
t = pp + 0x48;
*(s16 *)(s0 + 0xe) = sVar1;
*(s16 *)(s0 + 0xa) = t - sVar1;
if (base[0x47] != 0) { s0 = param_1 + 0x14; v = 0xa0; } else { s0 = param_1 + 0x14; v = 0x40; }
*(u8 *)(s0 + 6) = v;
*(s16 *)(s0 + 0xa) = pp;
}
DEFINE_func_801776EC() /* dedup: shared engine-core @0x801776EC (src/shared) */
+21 -1
View File
@@ -3730,7 +3730,27 @@ DEFINE_func_80171E08() /* dedup: shared engine-core @0x80171E08 (src/shared) */
DEFINE_func_80171EC8() /* dedup: shared engine-core @0x80171EC8 (src/shared) */
INCLUDE_ASM("asm/ov_SC03_015/nonmatchings/ov_SC03_015_jr_8016AB6C", func_80171FFC);
extern s32 func_8017248C(s32, s32);
extern s32 ratan2(s32, s32);
extern void func_80172170(s32, s32);
extern void func_80146D90(s32);
s32 func_80171FFC(short *a0, short *a1, s32 a2)
{
s32 r;
r = func_8017248C((s32)a0, (s32)a1);
if (r != 0) {
func_80146D90((s32)a0);
return r;
}
*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) =
(ratan2(a1[0] - a0[3], a1[2] - a0[7]) + 0x800) & 0xFFF;
func_80172170((s32)a0, a2 & 0xFF);
return 0;
}
DEFINE_func_8017209C() /* dedup: shared engine-core @0x8017209C (src/shared) */
+42 -1
View File
@@ -2851,7 +2851,48 @@ DEFINE_func_80177340() /* dedup: shared engine-core @0x80177340 (src/shared) */
DEFINE_func_8017742C() /* dedup: shared engine-core @0x8017742C (src/shared) */
INCLUDE_ASM("asm/ov_SC03_015/nonmatchings/ov_SC03_015_jr_801734BC", func_801775E0);
extern void func_801776EC(u8 *a0);
void func_801775E0(s32 param_1, s32 param_2) {
extern u8 D_8011F83B;
extern u8 D_8011F837;
extern u8 D_8011F7F0;
s32 s0 = param_1;
s32 pp = param_2;
u8 *base = &D_8011F7F0;
s16 sVar1; s32 t; s32 v;
s32 c = D_8011F83B;
if (c != 0) {
if (c < 0) goto store;
if (c >= 0xf7) goto store;
if (c < 0xf3) goto store;
goto docall;
}
if (D_8011F837 != 0x80) {
*(u8 *)(s0 + 4) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 5) = 0x10;
goto L684;
}
func_801776EC((u8 *)s0);
goto L684;
docall:
func_801776EC((u8 *)s0);
goto L684;
store:
*(u8 *)(s0 + 5) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 4) = 0x10;
L684:
sVar1 = (s16)((u32)(base[0x47] * 9) >> 4);
t = pp + 0x48;
*(s16 *)(s0 + 0xe) = sVar1;
*(s16 *)(s0 + 0xa) = t - sVar1;
if (base[0x47] != 0) { s0 = param_1 + 0x14; v = 0xa0; } else { s0 = param_1 + 0x14; v = 0x40; }
*(u8 *)(s0 + 6) = v;
*(s16 *)(s0 + 0xa) = pp;
}
DEFINE_func_801776EC() /* dedup: shared engine-core @0x801776EC (src/shared) */
+21 -1
View File
@@ -3730,7 +3730,27 @@ DEFINE_func_80171E08() /* dedup: shared engine-core @0x80171E08 (src/shared) */
DEFINE_func_80171EC8() /* dedup: shared engine-core @0x80171EC8 (src/shared) */
INCLUDE_ASM("asm/ov_SC03_023/nonmatchings/ov_SC03_023_jr_8016AB6C", func_80171FFC);
extern s32 func_8017248C(s32, s32);
extern s32 ratan2(s32, s32);
extern void func_80172170(s32, s32);
extern void func_80146D90(s32);
s32 func_80171FFC(short *a0, short *a1, s32 a2)
{
s32 r;
r = func_8017248C((s32)a0, (s32)a1);
if (r != 0) {
func_80146D90((s32)a0);
return r;
}
*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) =
(ratan2(a1[0] - a0[3], a1[2] - a0[7]) + 0x800) & 0xFFF;
func_80172170((s32)a0, a2 & 0xFF);
return 0;
}
DEFINE_func_8017209C() /* dedup: shared engine-core @0x8017209C (src/shared) */
+42 -1
View File
@@ -2851,7 +2851,48 @@ DEFINE_func_80177340() /* dedup: shared engine-core @0x80177340 (src/shared) */
DEFINE_func_8017742C() /* dedup: shared engine-core @0x8017742C (src/shared) */
INCLUDE_ASM("asm/ov_SC03_023/nonmatchings/ov_SC03_023_jr_801734BC", func_801775E0);
extern void func_801776EC(u8 *a0);
void func_801775E0(s32 param_1, s32 param_2) {
extern u8 D_8011F83B;
extern u8 D_8011F837;
extern u8 D_8011F7F0;
s32 s0 = param_1;
s32 pp = param_2;
u8 *base = &D_8011F7F0;
s16 sVar1; s32 t; s32 v;
s32 c = D_8011F83B;
if (c != 0) {
if (c < 0) goto store;
if (c >= 0xf7) goto store;
if (c < 0xf3) goto store;
goto docall;
}
if (D_8011F837 != 0x80) {
*(u8 *)(s0 + 4) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 5) = 0x10;
goto L684;
}
func_801776EC((u8 *)s0);
goto L684;
docall:
func_801776EC((u8 *)s0);
goto L684;
store:
*(u8 *)(s0 + 5) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 4) = 0x10;
L684:
sVar1 = (s16)((u32)(base[0x47] * 9) >> 4);
t = pp + 0x48;
*(s16 *)(s0 + 0xe) = sVar1;
*(s16 *)(s0 + 0xa) = t - sVar1;
if (base[0x47] != 0) { s0 = param_1 + 0x14; v = 0xa0; } else { s0 = param_1 + 0x14; v = 0x40; }
*(u8 *)(s0 + 6) = v;
*(s16 *)(s0 + 0xa) = pp;
}
DEFINE_func_801776EC() /* dedup: shared engine-core @0x801776EC (src/shared) */
+21 -1
View File
@@ -3730,7 +3730,27 @@ DEFINE_func_80171E08() /* dedup: shared engine-core @0x80171E08 (src/shared) */
DEFINE_func_80171EC8() /* dedup: shared engine-core @0x80171EC8 (src/shared) */
INCLUDE_ASM("asm/ov_SC03_024/nonmatchings/ov_SC03_024_jr_8016AB6C", func_80171FFC);
extern s32 func_8017248C(s32, s32);
extern s32 ratan2(s32, s32);
extern void func_80172170(s32, s32);
extern void func_80146D90(s32);
s32 func_80171FFC(short *a0, short *a1, s32 a2)
{
s32 r;
r = func_8017248C((s32)a0, (s32)a1);
if (r != 0) {
func_80146D90((s32)a0);
return r;
}
*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) =
(ratan2(a1[0] - a0[3], a1[2] - a0[7]) + 0x800) & 0xFFF;
func_80172170((s32)a0, a2 & 0xFF);
return 0;
}
DEFINE_func_8017209C() /* dedup: shared engine-core @0x8017209C (src/shared) */
+42 -1
View File
@@ -2851,7 +2851,48 @@ DEFINE_func_80177340() /* dedup: shared engine-core @0x80177340 (src/shared) */
DEFINE_func_8017742C() /* dedup: shared engine-core @0x8017742C (src/shared) */
INCLUDE_ASM("asm/ov_SC03_024/nonmatchings/ov_SC03_024_jr_801734BC", func_801775E0);
extern void func_801776EC(u8 *a0);
void func_801775E0(s32 param_1, s32 param_2) {
extern u8 D_8011F83B;
extern u8 D_8011F837;
extern u8 D_8011F7F0;
s32 s0 = param_1;
s32 pp = param_2;
u8 *base = &D_8011F7F0;
s16 sVar1; s32 t; s32 v;
s32 c = D_8011F83B;
if (c != 0) {
if (c < 0) goto store;
if (c >= 0xf7) goto store;
if (c < 0xf3) goto store;
goto docall;
}
if (D_8011F837 != 0x80) {
*(u8 *)(s0 + 4) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 5) = 0x10;
goto L684;
}
func_801776EC((u8 *)s0);
goto L684;
docall:
func_801776EC((u8 *)s0);
goto L684;
store:
*(u8 *)(s0 + 5) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 4) = 0x10;
L684:
sVar1 = (s16)((u32)(base[0x47] * 9) >> 4);
t = pp + 0x48;
*(s16 *)(s0 + 0xe) = sVar1;
*(s16 *)(s0 + 0xa) = t - sVar1;
if (base[0x47] != 0) { s0 = param_1 + 0x14; v = 0xa0; } else { s0 = param_1 + 0x14; v = 0x40; }
*(u8 *)(s0 + 6) = v;
*(s16 *)(s0 + 0xa) = pp;
}
DEFINE_func_801776EC() /* dedup: shared engine-core @0x801776EC (src/shared) */
+21 -1
View File
@@ -3730,7 +3730,27 @@ DEFINE_func_80171E08() /* dedup: shared engine-core @0x80171E08 (src/shared) */
DEFINE_func_80171EC8() /* dedup: shared engine-core @0x80171EC8 (src/shared) */
INCLUDE_ASM("asm/ov_SC03_028/nonmatchings/ov_SC03_028_jr_8016AB6C", func_80171FFC);
extern s32 func_8017248C(s32, s32);
extern s32 ratan2(s32, s32);
extern void func_80172170(s32, s32);
extern void func_80146D90(s32);
s32 func_80171FFC(short *a0, short *a1, s32 a2)
{
s32 r;
r = func_8017248C((s32)a0, (s32)a1);
if (r != 0) {
func_80146D90((s32)a0);
return r;
}
*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) =
(ratan2(a1[0] - a0[3], a1[2] - a0[7]) + 0x800) & 0xFFF;
func_80172170((s32)a0, a2 & 0xFF);
return 0;
}
DEFINE_func_8017209C() /* dedup: shared engine-core @0x8017209C (src/shared) */
+42 -1
View File
@@ -2851,7 +2851,48 @@ DEFINE_func_80177340() /* dedup: shared engine-core @0x80177340 (src/shared) */
DEFINE_func_8017742C() /* dedup: shared engine-core @0x8017742C (src/shared) */
INCLUDE_ASM("asm/ov_SC03_028/nonmatchings/ov_SC03_028_jr_801734BC", func_801775E0);
extern void func_801776EC(u8 *a0);
void func_801775E0(s32 param_1, s32 param_2) {
extern u8 D_8011F83B;
extern u8 D_8011F837;
extern u8 D_8011F7F0;
s32 s0 = param_1;
s32 pp = param_2;
u8 *base = &D_8011F7F0;
s16 sVar1; s32 t; s32 v;
s32 c = D_8011F83B;
if (c != 0) {
if (c < 0) goto store;
if (c >= 0xf7) goto store;
if (c < 0xf3) goto store;
goto docall;
}
if (D_8011F837 != 0x80) {
*(u8 *)(s0 + 4) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 5) = 0x10;
goto L684;
}
func_801776EC((u8 *)s0);
goto L684;
docall:
func_801776EC((u8 *)s0);
goto L684;
store:
*(u8 *)(s0 + 5) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 4) = 0x10;
L684:
sVar1 = (s16)((u32)(base[0x47] * 9) >> 4);
t = pp + 0x48;
*(s16 *)(s0 + 0xe) = sVar1;
*(s16 *)(s0 + 0xa) = t - sVar1;
if (base[0x47] != 0) { s0 = param_1 + 0x14; v = 0xa0; } else { s0 = param_1 + 0x14; v = 0x40; }
*(u8 *)(s0 + 6) = v;
*(s16 *)(s0 + 0xa) = pp;
}
DEFINE_func_801776EC() /* dedup: shared engine-core @0x801776EC (src/shared) */
+21 -1
View File
@@ -3730,7 +3730,27 @@ DEFINE_func_80171E08() /* dedup: shared engine-core @0x80171E08 (src/shared) */
DEFINE_func_80171EC8() /* dedup: shared engine-core @0x80171EC8 (src/shared) */
INCLUDE_ASM("asm/ov_SC03_029/nonmatchings/ov_SC03_029_jr_8016AB6C", func_80171FFC);
extern s32 func_8017248C(s32, s32);
extern s32 ratan2(s32, s32);
extern void func_80172170(s32, s32);
extern void func_80146D90(s32);
s32 func_80171FFC(short *a0, short *a1, s32 a2)
{
s32 r;
r = func_8017248C((s32)a0, (s32)a1);
if (r != 0) {
func_80146D90((s32)a0);
return r;
}
*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) =
(ratan2(a1[0] - a0[3], a1[2] - a0[7]) + 0x800) & 0xFFF;
func_80172170((s32)a0, a2 & 0xFF);
return 0;
}
DEFINE_func_8017209C() /* dedup: shared engine-core @0x8017209C (src/shared) */
+42 -1
View File
@@ -2851,7 +2851,48 @@ DEFINE_func_80177340() /* dedup: shared engine-core @0x80177340 (src/shared) */
DEFINE_func_8017742C() /* dedup: shared engine-core @0x8017742C (src/shared) */
INCLUDE_ASM("asm/ov_SC03_029/nonmatchings/ov_SC03_029_jr_801734BC", func_801775E0);
extern void func_801776EC(u8 *a0);
void func_801775E0(s32 param_1, s32 param_2) {
extern u8 D_8011F83B;
extern u8 D_8011F837;
extern u8 D_8011F7F0;
s32 s0 = param_1;
s32 pp = param_2;
u8 *base = &D_8011F7F0;
s16 sVar1; s32 t; s32 v;
s32 c = D_8011F83B;
if (c != 0) {
if (c < 0) goto store;
if (c >= 0xf7) goto store;
if (c < 0xf3) goto store;
goto docall;
}
if (D_8011F837 != 0x80) {
*(u8 *)(s0 + 4) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 5) = 0x10;
goto L684;
}
func_801776EC((u8 *)s0);
goto L684;
docall:
func_801776EC((u8 *)s0);
goto L684;
store:
*(u8 *)(s0 + 5) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 4) = 0x10;
L684:
sVar1 = (s16)((u32)(base[0x47] * 9) >> 4);
t = pp + 0x48;
*(s16 *)(s0 + 0xe) = sVar1;
*(s16 *)(s0 + 0xa) = t - sVar1;
if (base[0x47] != 0) { s0 = param_1 + 0x14; v = 0xa0; } else { s0 = param_1 + 0x14; v = 0x40; }
*(u8 *)(s0 + 6) = v;
*(s16 *)(s0 + 0xa) = pp;
}
DEFINE_func_801776EC() /* dedup: shared engine-core @0x801776EC (src/shared) */
+21 -1
View File
@@ -3730,7 +3730,27 @@ DEFINE_func_80171E08() /* dedup: shared engine-core @0x80171E08 (src/shared) */
DEFINE_func_80171EC8() /* dedup: shared engine-core @0x80171EC8 (src/shared) */
INCLUDE_ASM("asm/ov_SC03_030/nonmatchings/ov_SC03_030_jr_8016AB6C", func_80171FFC);
extern s32 func_8017248C(s32, s32);
extern s32 ratan2(s32, s32);
extern void func_80172170(s32, s32);
extern void func_80146D90(s32);
s32 func_80171FFC(short *a0, short *a1, s32 a2)
{
s32 r;
r = func_8017248C((s32)a0, (s32)a1);
if (r != 0) {
func_80146D90((s32)a0);
return r;
}
*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) =
(ratan2(a1[0] - a0[3], a1[2] - a0[7]) + 0x800) & 0xFFF;
func_80172170((s32)a0, a2 & 0xFF);
return 0;
}
DEFINE_func_8017209C() /* dedup: shared engine-core @0x8017209C (src/shared) */
+42 -1
View File
@@ -2851,7 +2851,48 @@ DEFINE_func_80177340() /* dedup: shared engine-core @0x80177340 (src/shared) */
DEFINE_func_8017742C() /* dedup: shared engine-core @0x8017742C (src/shared) */
INCLUDE_ASM("asm/ov_SC03_030/nonmatchings/ov_SC03_030_jr_801734BC", func_801775E0);
extern void func_801776EC(u8 *a0);
void func_801775E0(s32 param_1, s32 param_2) {
extern u8 D_8011F83B;
extern u8 D_8011F837;
extern u8 D_8011F7F0;
s32 s0 = param_1;
s32 pp = param_2;
u8 *base = &D_8011F7F0;
s16 sVar1; s32 t; s32 v;
s32 c = D_8011F83B;
if (c != 0) {
if (c < 0) goto store;
if (c >= 0xf7) goto store;
if (c < 0xf3) goto store;
goto docall;
}
if (D_8011F837 != 0x80) {
*(u8 *)(s0 + 4) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 5) = 0x10;
goto L684;
}
func_801776EC((u8 *)s0);
goto L684;
docall:
func_801776EC((u8 *)s0);
goto L684;
store:
*(u8 *)(s0 + 5) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 4) = 0x10;
L684:
sVar1 = (s16)((u32)(base[0x47] * 9) >> 4);
t = pp + 0x48;
*(s16 *)(s0 + 0xe) = sVar1;
*(s16 *)(s0 + 0xa) = t - sVar1;
if (base[0x47] != 0) { s0 = param_1 + 0x14; v = 0xa0; } else { s0 = param_1 + 0x14; v = 0x40; }
*(u8 *)(s0 + 6) = v;
*(s16 *)(s0 + 0xa) = pp;
}
DEFINE_func_801776EC() /* dedup: shared engine-core @0x801776EC (src/shared) */
+21 -1
View File
@@ -3730,7 +3730,27 @@ DEFINE_func_80171E08() /* dedup: shared engine-core @0x80171E08 (src/shared) */
DEFINE_func_80171EC8() /* dedup: shared engine-core @0x80171EC8 (src/shared) */
INCLUDE_ASM("asm/ov_SC03_031/nonmatchings/ov_SC03_031_jr_8016AB6C", func_80171FFC);
extern s32 func_8017248C(s32, s32);
extern s32 ratan2(s32, s32);
extern void func_80172170(s32, s32);
extern void func_80146D90(s32);
s32 func_80171FFC(short *a0, short *a1, s32 a2)
{
s32 r;
r = func_8017248C((s32)a0, (s32)a1);
if (r != 0) {
func_80146D90((s32)a0);
return r;
}
*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) =
(ratan2(a1[0] - a0[3], a1[2] - a0[7]) + 0x800) & 0xFFF;
func_80172170((s32)a0, a2 & 0xFF);
return 0;
}
DEFINE_func_8017209C() /* dedup: shared engine-core @0x8017209C (src/shared) */
+42 -1
View File
@@ -2851,7 +2851,48 @@ DEFINE_func_80177340() /* dedup: shared engine-core @0x80177340 (src/shared) */
DEFINE_func_8017742C() /* dedup: shared engine-core @0x8017742C (src/shared) */
INCLUDE_ASM("asm/ov_SC03_031/nonmatchings/ov_SC03_031_jr_801734BC", func_801775E0);
extern void func_801776EC(u8 *a0);
void func_801775E0(s32 param_1, s32 param_2) {
extern u8 D_8011F83B;
extern u8 D_8011F837;
extern u8 D_8011F7F0;
s32 s0 = param_1;
s32 pp = param_2;
u8 *base = &D_8011F7F0;
s16 sVar1; s32 t; s32 v;
s32 c = D_8011F83B;
if (c != 0) {
if (c < 0) goto store;
if (c >= 0xf7) goto store;
if (c < 0xf3) goto store;
goto docall;
}
if (D_8011F837 != 0x80) {
*(u8 *)(s0 + 4) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 5) = 0x10;
goto L684;
}
func_801776EC((u8 *)s0);
goto L684;
docall:
func_801776EC((u8 *)s0);
goto L684;
store:
*(u8 *)(s0 + 5) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 4) = 0x10;
L684:
sVar1 = (s16)((u32)(base[0x47] * 9) >> 4);
t = pp + 0x48;
*(s16 *)(s0 + 0xe) = sVar1;
*(s16 *)(s0 + 0xa) = t - sVar1;
if (base[0x47] != 0) { s0 = param_1 + 0x14; v = 0xa0; } else { s0 = param_1 + 0x14; v = 0x40; }
*(u8 *)(s0 + 6) = v;
*(s16 *)(s0 + 0xa) = pp;
}
DEFINE_func_801776EC() /* dedup: shared engine-core @0x801776EC (src/shared) */
+21 -1
View File
@@ -3730,7 +3730,27 @@ DEFINE_func_80171E08() /* dedup: shared engine-core @0x80171E08 (src/shared) */
DEFINE_func_80171EC8() /* dedup: shared engine-core @0x80171EC8 (src/shared) */
INCLUDE_ASM("asm/ov_SC03_089/nonmatchings/ov_SC03_089_jr_8016AB6C", func_80171FFC);
extern s32 func_8017248C(s32, s32);
extern s32 ratan2(s32, s32);
extern void func_80172170(s32, s32);
extern void func_80146D90(s32);
s32 func_80171FFC(short *a0, short *a1, s32 a2)
{
s32 r;
r = func_8017248C((s32)a0, (s32)a1);
if (r != 0) {
func_80146D90((s32)a0);
return r;
}
*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) =
(ratan2(a1[0] - a0[3], a1[2] - a0[7]) + 0x800) & 0xFFF;
func_80172170((s32)a0, a2 & 0xFF);
return 0;
}
DEFINE_func_8017209C() /* dedup: shared engine-core @0x8017209C (src/shared) */
+42 -1
View File
@@ -2851,7 +2851,48 @@ DEFINE_func_80177340() /* dedup: shared engine-core @0x80177340 (src/shared) */
DEFINE_func_8017742C() /* dedup: shared engine-core @0x8017742C (src/shared) */
INCLUDE_ASM("asm/ov_SC03_089/nonmatchings/ov_SC03_089_jr_801734BC", func_801775E0);
extern void func_801776EC(u8 *a0);
void func_801775E0(s32 param_1, s32 param_2) {
extern u8 D_8011F83B;
extern u8 D_8011F837;
extern u8 D_8011F7F0;
s32 s0 = param_1;
s32 pp = param_2;
u8 *base = &D_8011F7F0;
s16 sVar1; s32 t; s32 v;
s32 c = D_8011F83B;
if (c != 0) {
if (c < 0) goto store;
if (c >= 0xf7) goto store;
if (c < 0xf3) goto store;
goto docall;
}
if (D_8011F837 != 0x80) {
*(u8 *)(s0 + 4) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 5) = 0x10;
goto L684;
}
func_801776EC((u8 *)s0);
goto L684;
docall:
func_801776EC((u8 *)s0);
goto L684;
store:
*(u8 *)(s0 + 5) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 4) = 0x10;
L684:
sVar1 = (s16)((u32)(base[0x47] * 9) >> 4);
t = pp + 0x48;
*(s16 *)(s0 + 0xe) = sVar1;
*(s16 *)(s0 + 0xa) = t - sVar1;
if (base[0x47] != 0) { s0 = param_1 + 0x14; v = 0xa0; } else { s0 = param_1 + 0x14; v = 0x40; }
*(u8 *)(s0 + 6) = v;
*(s16 *)(s0 + 0xa) = pp;
}
DEFINE_func_801776EC() /* dedup: shared engine-core @0x801776EC (src/shared) */
+21 -1
View File
@@ -3730,7 +3730,27 @@ DEFINE_func_80171E08() /* dedup: shared engine-core @0x80171E08 (src/shared) */
DEFINE_func_80171EC8() /* dedup: shared engine-core @0x80171EC8 (src/shared) */
INCLUDE_ASM("asm/ov_SC03_090/nonmatchings/ov_SC03_090_jr_8016AB6C", func_80171FFC);
extern s32 func_8017248C(s32, s32);
extern s32 ratan2(s32, s32);
extern void func_80172170(s32, s32);
extern void func_80146D90(s32);
s32 func_80171FFC(short *a0, short *a1, s32 a2)
{
s32 r;
r = func_8017248C((s32)a0, (s32)a1);
if (r != 0) {
func_80146D90((s32)a0);
return r;
}
*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) =
(ratan2(a1[0] - a0[3], a1[2] - a0[7]) + 0x800) & 0xFFF;
func_80172170((s32)a0, a2 & 0xFF);
return 0;
}
DEFINE_func_8017209C() /* dedup: shared engine-core @0x8017209C (src/shared) */
+42 -1
View File
@@ -2851,7 +2851,48 @@ DEFINE_func_80177340() /* dedup: shared engine-core @0x80177340 (src/shared) */
DEFINE_func_8017742C() /* dedup: shared engine-core @0x8017742C (src/shared) */
INCLUDE_ASM("asm/ov_SC03_090/nonmatchings/ov_SC03_090_jr_801734BC", func_801775E0);
extern void func_801776EC(u8 *a0);
void func_801775E0(s32 param_1, s32 param_2) {
extern u8 D_8011F83B;
extern u8 D_8011F837;
extern u8 D_8011F7F0;
s32 s0 = param_1;
s32 pp = param_2;
u8 *base = &D_8011F7F0;
s16 sVar1; s32 t; s32 v;
s32 c = D_8011F83B;
if (c != 0) {
if (c < 0) goto store;
if (c >= 0xf7) goto store;
if (c < 0xf3) goto store;
goto docall;
}
if (D_8011F837 != 0x80) {
*(u8 *)(s0 + 4) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 5) = 0x10;
goto L684;
}
func_801776EC((u8 *)s0);
goto L684;
docall:
func_801776EC((u8 *)s0);
goto L684;
store:
*(u8 *)(s0 + 5) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 4) = 0x10;
L684:
sVar1 = (s16)((u32)(base[0x47] * 9) >> 4);
t = pp + 0x48;
*(s16 *)(s0 + 0xe) = sVar1;
*(s16 *)(s0 + 0xa) = t - sVar1;
if (base[0x47] != 0) { s0 = param_1 + 0x14; v = 0xa0; } else { s0 = param_1 + 0x14; v = 0x40; }
*(u8 *)(s0 + 6) = v;
*(s16 *)(s0 + 0xa) = pp;
}
DEFINE_func_801776EC() /* dedup: shared engine-core @0x801776EC (src/shared) */
+21 -1
View File
@@ -3730,7 +3730,27 @@ DEFINE_func_80171E08() /* dedup: shared engine-core @0x80171E08 (src/shared) */
DEFINE_func_80171EC8() /* dedup: shared engine-core @0x80171EC8 (src/shared) */
INCLUDE_ASM("asm/ov_SC03_091/nonmatchings/ov_SC03_091_jr_8016AB6C", func_80171FFC);
extern s32 func_8017248C(s32, s32);
extern s32 ratan2(s32, s32);
extern void func_80172170(s32, s32);
extern void func_80146D90(s32);
s32 func_80171FFC(short *a0, short *a1, s32 a2)
{
s32 r;
r = func_8017248C((s32)a0, (s32)a1);
if (r != 0) {
func_80146D90((s32)a0);
return r;
}
*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) =
(ratan2(a1[0] - a0[3], a1[2] - a0[7]) + 0x800) & 0xFFF;
func_80172170((s32)a0, a2 & 0xFF);
return 0;
}
DEFINE_func_8017209C() /* dedup: shared engine-core @0x8017209C (src/shared) */
+42 -1
View File
@@ -2851,7 +2851,48 @@ DEFINE_func_80177340() /* dedup: shared engine-core @0x80177340 (src/shared) */
DEFINE_func_8017742C() /* dedup: shared engine-core @0x8017742C (src/shared) */
INCLUDE_ASM("asm/ov_SC03_091/nonmatchings/ov_SC03_091_jr_801734BC", func_801775E0);
extern void func_801776EC(u8 *a0);
void func_801775E0(s32 param_1, s32 param_2) {
extern u8 D_8011F83B;
extern u8 D_8011F837;
extern u8 D_8011F7F0;
s32 s0 = param_1;
s32 pp = param_2;
u8 *base = &D_8011F7F0;
s16 sVar1; s32 t; s32 v;
s32 c = D_8011F83B;
if (c != 0) {
if (c < 0) goto store;
if (c >= 0xf7) goto store;
if (c < 0xf3) goto store;
goto docall;
}
if (D_8011F837 != 0x80) {
*(u8 *)(s0 + 4) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 5) = 0x10;
goto L684;
}
func_801776EC((u8 *)s0);
goto L684;
docall:
func_801776EC((u8 *)s0);
goto L684;
store:
*(u8 *)(s0 + 5) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 4) = 0x10;
L684:
sVar1 = (s16)((u32)(base[0x47] * 9) >> 4);
t = pp + 0x48;
*(s16 *)(s0 + 0xe) = sVar1;
*(s16 *)(s0 + 0xa) = t - sVar1;
if (base[0x47] != 0) { s0 = param_1 + 0x14; v = 0xa0; } else { s0 = param_1 + 0x14; v = 0x40; }
*(u8 *)(s0 + 6) = v;
*(s16 *)(s0 + 0xa) = pp;
}
DEFINE_func_801776EC() /* dedup: shared engine-core @0x801776EC (src/shared) */
+21 -1
View File
@@ -3730,7 +3730,27 @@ DEFINE_func_80171E08() /* dedup: shared engine-core @0x80171E08 (src/shared) */
DEFINE_func_80171EC8() /* dedup: shared engine-core @0x80171EC8 (src/shared) */
INCLUDE_ASM("asm/ov_SC03_092/nonmatchings/ov_SC03_092_jr_8016AB6C", func_80171FFC);
extern s32 func_8017248C(s32, s32);
extern s32 ratan2(s32, s32);
extern void func_80172170(s32, s32);
extern void func_80146D90(s32);
s32 func_80171FFC(short *a0, short *a1, s32 a2)
{
s32 r;
r = func_8017248C((s32)a0, (s32)a1);
if (r != 0) {
func_80146D90((s32)a0);
return r;
}
*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) =
(ratan2(a1[0] - a0[3], a1[2] - a0[7]) + 0x800) & 0xFFF;
func_80172170((s32)a0, a2 & 0xFF);
return 0;
}
DEFINE_func_8017209C() /* dedup: shared engine-core @0x8017209C (src/shared) */
+42 -1
View File
@@ -2851,7 +2851,48 @@ DEFINE_func_80177340() /* dedup: shared engine-core @0x80177340 (src/shared) */
DEFINE_func_8017742C() /* dedup: shared engine-core @0x8017742C (src/shared) */
INCLUDE_ASM("asm/ov_SC03_092/nonmatchings/ov_SC03_092_jr_801734BC", func_801775E0);
extern void func_801776EC(u8 *a0);
void func_801775E0(s32 param_1, s32 param_2) {
extern u8 D_8011F83B;
extern u8 D_8011F837;
extern u8 D_8011F7F0;
s32 s0 = param_1;
s32 pp = param_2;
u8 *base = &D_8011F7F0;
s16 sVar1; s32 t; s32 v;
s32 c = D_8011F83B;
if (c != 0) {
if (c < 0) goto store;
if (c >= 0xf7) goto store;
if (c < 0xf3) goto store;
goto docall;
}
if (D_8011F837 != 0x80) {
*(u8 *)(s0 + 4) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 5) = 0x10;
goto L684;
}
func_801776EC((u8 *)s0);
goto L684;
docall:
func_801776EC((u8 *)s0);
goto L684;
store:
*(u8 *)(s0 + 5) = 0xff;
*(u8 *)(s0 + 6) = 0x10;
*(u8 *)(s0 + 4) = 0x10;
L684:
sVar1 = (s16)((u32)(base[0x47] * 9) >> 4);
t = pp + 0x48;
*(s16 *)(s0 + 0xe) = sVar1;
*(s16 *)(s0 + 0xa) = t - sVar1;
if (base[0x47] != 0) { s0 = param_1 + 0x14; v = 0xa0; } else { s0 = param_1 + 0x14; v = 0x40; }
*(u8 *)(s0 + 6) = v;
*(s16 *)(s0 + 0xa) = pp;
}
DEFINE_func_801776EC() /* dedup: shared engine-core @0x801776EC (src/shared) */

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