From 3eb6b019ffbe1761ce781c99a92c49df74826544 Mon Sep 17 00:00:00 2001 From: Drew T <50529377+Druthulu@users.noreply.github.com> Date: Sun, 19 Jul 2026 02:04:50 -0600 Subject: [PATCH] feat(phase-29 crack-wave2): func_801418F8 +10 residuals via D_8011512E u16 canonical MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The 10 jr_8013F350-split residuals failed on 'conflicting types for D_8011512E' (exemplar decl s16 vs the jr_8013F350 TUs' canonical u16). Reconciled the exemplar decl to u16 (byte-neutral — sole use is store-0); re-swept. func_801418F8 now 0 stubs. Remaining: 4 func_8016DC20 SC07 members (byte-DIFF in the o2b/jr_8013F350 split). --- src/ov_SC01_000/ov_SC01_000_jr_8013FFD8.c | 2 +- src/ov_SC03_011/ov_SC03_011_jr_8013F350.c | 74 ++++++++++++++++++++++- src/ov_SC03_030/ov_SC03_030_jr_8013F350.c | 74 ++++++++++++++++++++++- src/ov_SC03_103/ov_SC03_103_jr_8013F350.c | 74 ++++++++++++++++++++++- src/ov_SC05_004/ov_SC05_004_jr_8013F350.c | 74 ++++++++++++++++++++++- src/ov_SC06_000/ov_SC06_000_jr_8013F350.c | 74 ++++++++++++++++++++++- src/ov_SC06_010/ov_SC06_010_jr_8013F350.c | 74 ++++++++++++++++++++++- src/ov_SC07_006/ov_SC07_006_jr_8013F350.c | 74 ++++++++++++++++++++++- src/ov_SC07_007/ov_SC07_007_jr_8013F350.c | 74 ++++++++++++++++++++++- src/ov_SC07_010/ov_SC07_010_o2b.c | 74 ++++++++++++++++++++++- src/ov_SC07_011/ov_SC07_011_jr_8013F350.c | 74 ++++++++++++++++++++++- 11 files changed, 731 insertions(+), 11 deletions(-) diff --git a/src/ov_SC01_000/ov_SC01_000_jr_8013FFD8.c b/src/ov_SC01_000/ov_SC01_000_jr_8013FFD8.c index ec1be805e3..ca91a5967c 100644 --- a/src/ov_SC01_000/ov_SC01_000_jr_8013FFD8.c +++ b/src/ov_SC01_000/ov_SC01_000_jr_8013FFD8.c @@ -1354,7 +1354,7 @@ extern u16 D_80115112; extern unsigned short D_80115118; extern volatile u16 D_8011511A; extern s16 D_80115128; -extern s16 D_8011512E; +extern u16 D_8011512E; /* §17a-1: canonical width (jr_8013F350 TUs decl u16); byte-neutral here (only use is store-0) */ extern s32 D_80115130; extern u8 D_80115158[]; extern s16 D_8011515A; diff --git a/src/ov_SC03_011/ov_SC03_011_jr_8013F350.c b/src/ov_SC03_011/ov_SC03_011_jr_8013F350.c index ab3dfd17ca..2952503a4b 100644 --- a/src/ov_SC03_011/ov_SC03_011_jr_8013F350.c +++ b/src/ov_SC03_011/ov_SC03_011_jr_8013F350.c @@ -1652,7 +1652,79 @@ void func_80141874(void) { } -INCLUDE_ASM("asm/ov_SC03_011/nonmatchings/ov_SC03_011_jr_8013F350", func_801418F8); + + + + + + + +extern u16 D_80115110; +extern u16 D_80115112; +extern unsigned short D_80115118; +extern volatile u16 D_8011511A; +extern s16 D_80115128; +extern u16 D_8011512E; /* §17a-1: canonical width (jr_8013F350 TUs decl u16); byte-neutral here (only use is store-0) */ +extern s32 D_80115130; +extern u8 D_80115158[]; +extern u8 D_8011515C; +extern s16 D_801825E0; +extern s16 D_801825E2; + +extern void func_800D24A0(s32 a0); +extern s32 func_80029178(s32 a0); +extern void func_8002D4C8(s32 a0, s32 a1); +extern void func_80141C0C(s32 a0); + +void func_801418F8(void) +{ + + extern s16 D_8011515A; + extern s16 D_8011515E; + extern s16 D_80115162; + extern s16 D_80115166; + extern u8 D_80182280; + extern u8 D_80182298; + extern u8 D_8018230C; + extern u8 D_80182314; + extern void *D_801A0FD8; + extern void *D_801A0FDC; + u16 t; + + func_800D24A0(1); + D_8011511A = 2; + t = D_8011511A; + (*(s16 *)&D_80115118) = 0; + D_80115130 = 0; + if (t >= 4) { + D_8011511A = t - 3; + } + (*(s16 *)D_80115158) = 0x106; + if ((func_80029178(0x1C) & 0xFF) == 0) { + D_801A0FD8 = &D_80182280; + D_801A0FDC = &D_8018230C; + } else { + D_801A0FD8 = &D_80182298; + D_801A0FDC = &D_80182314; + } + D_8011515A = 0x104; + (*(s16 *)&D_8011515C) = 0x104; + D_8011515E = 0x129; + D_80115162 = 0x103; + D_80115166 = 0x105; + D_80115128 = 0; + D_8011512E = 0; + if (D_80115110 == 3) { + func_8002D4C8(0x46E, 0); + } else { + func_80141C0C(0); + } + D_80115128 = 1; + D_801825E0 = 0xE; + D_801825E2 = 3; + D_80115112 = D_80115112 + 1; +} + INCLUDE_ASM("asm/ov_SC03_011/nonmatchings/ov_SC03_011_jr_8013F350", func_80141A60); diff --git a/src/ov_SC03_030/ov_SC03_030_jr_8013F350.c b/src/ov_SC03_030/ov_SC03_030_jr_8013F350.c index ca611ecb64..eed7b49c31 100644 --- a/src/ov_SC03_030/ov_SC03_030_jr_8013F350.c +++ b/src/ov_SC03_030/ov_SC03_030_jr_8013F350.c @@ -1652,7 +1652,79 @@ void func_80141874(void) { } -INCLUDE_ASM("asm/ov_SC03_030/nonmatchings/ov_SC03_030_jr_8013F350", func_801418F8); + + + + + + + +extern u16 D_80115110; +extern u16 D_80115112; +extern unsigned short D_80115118; +extern volatile u16 D_8011511A; +extern s16 D_80115128; +extern u16 D_8011512E; /* §17a-1: canonical width (jr_8013F350 TUs decl u16); byte-neutral here (only use is store-0) */ +extern s32 D_80115130; +extern u8 D_80115158[]; +extern u8 D_8011515C; +extern s16 D_801831C4; +extern s16 D_801831C6; + +extern void func_800D24A0(s32 a0); +extern s32 func_80029178(s32 a0); +extern void func_8002D4C8(s32 a0, s32 a1); +extern void func_80141C0C(s32 a0); + +void func_801418F8(void) +{ + + extern s16 D_8011515A; + extern s16 D_8011515E; + extern s16 D_80115162; + extern s16 D_80115166; + extern u8 D_80182E64; + extern u8 D_80182E7C; + extern u8 D_80182EF0; + extern u8 D_80182EF8; + extern void *D_801E08C0; + extern void *D_801E08C4; + u16 t; + + func_800D24A0(1); + D_8011511A = 2; + t = D_8011511A; + (*(s16 *)&D_80115118) = 0; + D_80115130 = 0; + if (t >= 4) { + D_8011511A = t - 3; + } + (*(s16 *)D_80115158) = 0x106; + if ((func_80029178(0x1C) & 0xFF) == 0) { + D_801E08C0 = &D_80182E64; + D_801E08C4 = &D_80182EF0; + } else { + D_801E08C0 = &D_80182E7C; + D_801E08C4 = &D_80182EF8; + } + D_8011515A = 0x104; + (*(s16 *)&D_8011515C) = 0x104; + D_8011515E = 0x129; + D_80115162 = 0x103; + D_80115166 = 0x105; + D_80115128 = 0; + D_8011512E = 0; + if (D_80115110 == 3) { + func_8002D4C8(0x46E, 0); + } else { + func_80141C0C(0); + } + D_80115128 = 1; + D_801831C4 = 0xE; + D_801831C6 = 3; + D_80115112 = D_80115112 + 1; +} + INCLUDE_ASM("asm/ov_SC03_030/nonmatchings/ov_SC03_030_jr_8013F350", func_80141A60); diff --git a/src/ov_SC03_103/ov_SC03_103_jr_8013F350.c b/src/ov_SC03_103/ov_SC03_103_jr_8013F350.c index 1bb7dd269f..84af0bf5ef 100644 --- a/src/ov_SC03_103/ov_SC03_103_jr_8013F350.c +++ b/src/ov_SC03_103/ov_SC03_103_jr_8013F350.c @@ -1652,7 +1652,79 @@ void func_80141874(void) { } -INCLUDE_ASM("asm/ov_SC03_103/nonmatchings/ov_SC03_103_jr_8013F350", func_801418F8); + + + + + + + +extern u16 D_80115110; +extern u16 D_80115112; +extern unsigned short D_80115118; +extern volatile u16 D_8011511A; +extern s16 D_80115128; +extern u16 D_8011512E; /* §17a-1: canonical width (jr_8013F350 TUs decl u16); byte-neutral here (only use is store-0) */ +extern s32 D_80115130; +extern u8 D_80115158[]; +extern u8 D_8011515C; +extern s16 D_801854A8; +extern s16 D_801854AA; + +extern void func_800D24A0(s32 a0); +extern s32 func_80029178(s32 a0); +extern void func_8002D4C8(s32 a0, s32 a1); +extern void func_80141C0C(s32 a0); + +void func_801418F8(void) +{ + + extern s16 D_8011515A; + extern s16 D_8011515E; + extern s16 D_80115162; + extern s16 D_80115166; + extern u8 D_80185148; + extern u8 D_80185160; + extern u8 D_801851D4; + extern u8 D_801851DC; + extern void *D_801C3920; + extern void *D_801C3924; + u16 t; + + func_800D24A0(1); + D_8011511A = 2; + t = D_8011511A; + (*(s16 *)&D_80115118) = 0; + D_80115130 = 0; + if (t >= 4) { + D_8011511A = t - 3; + } + (*(s16 *)D_80115158) = 0x106; + if ((func_80029178(0x1C) & 0xFF) == 0) { + D_801C3920 = &D_80185148; + D_801C3924 = &D_801851D4; + } else { + D_801C3920 = &D_80185160; + D_801C3924 = &D_801851DC; + } + D_8011515A = 0x104; + (*(s16 *)&D_8011515C) = 0x104; + D_8011515E = 0x129; + D_80115162 = 0x103; + D_80115166 = 0x105; + D_80115128 = 0; + D_8011512E = 0; + if (D_80115110 == 3) { + func_8002D4C8(0x46E, 0); + } else { + func_80141C0C(0); + } + D_80115128 = 1; + D_801854A8 = 0xE; + D_801854AA = 3; + D_80115112 = D_80115112 + 1; +} + INCLUDE_ASM("asm/ov_SC03_103/nonmatchings/ov_SC03_103_jr_8013F350", func_80141A60); diff --git a/src/ov_SC05_004/ov_SC05_004_jr_8013F350.c b/src/ov_SC05_004/ov_SC05_004_jr_8013F350.c index d603deedd1..f8558b6fbc 100644 --- a/src/ov_SC05_004/ov_SC05_004_jr_8013F350.c +++ b/src/ov_SC05_004/ov_SC05_004_jr_8013F350.c @@ -1652,7 +1652,79 @@ void func_80141874(void) { } -INCLUDE_ASM("asm/ov_SC05_004/nonmatchings/ov_SC05_004_jr_8013F350", func_801418F8); + + + + + + + +extern u16 D_80115110; +extern u16 D_80115112; +extern unsigned short D_80115118; +extern volatile u16 D_8011511A; +extern s16 D_80115128; +extern u16 D_8011512E; /* §17a-1: canonical width (jr_8013F350 TUs decl u16); byte-neutral here (only use is store-0) */ +extern s32 D_80115130; +extern u8 D_80115158[]; +extern u8 D_8011515C; +extern s16 D_801829E4; +extern s16 D_801829E6; + +extern void func_800D24A0(s32 a0); +extern s32 func_80029178(s32 a0); +extern void func_8002D4C8(s32 a0, s32 a1); +extern void func_80141C0C(s32 a0); + +void func_801418F8(void) +{ + + extern s16 D_8011515A; + extern s16 D_8011515E; + extern s16 D_80115162; + extern s16 D_80115166; + extern u8 D_80182684; + extern u8 D_8018269C; + extern u8 D_80182710; + extern u8 D_80182718; + extern void *D_8019DDD8; + extern void *D_8019DDDC; + u16 t; + + func_800D24A0(1); + D_8011511A = 2; + t = D_8011511A; + (*(s16 *)&D_80115118) = 0; + D_80115130 = 0; + if (t >= 4) { + D_8011511A = t - 3; + } + (*(s16 *)D_80115158) = 0x106; + if ((func_80029178(0x1C) & 0xFF) == 0) { + D_8019DDD8 = &D_80182684; + D_8019DDDC = &D_80182710; + } else { + D_8019DDD8 = &D_8018269C; + D_8019DDDC = &D_80182718; + } + D_8011515A = 0x104; + (*(s16 *)&D_8011515C) = 0x104; + D_8011515E = 0x129; + D_80115162 = 0x103; + D_80115166 = 0x105; + D_80115128 = 0; + D_8011512E = 0; + if (D_80115110 == 3) { + func_8002D4C8(0x46E, 0); + } else { + func_80141C0C(0); + } + D_80115128 = 1; + D_801829E4 = 0xE; + D_801829E6 = 3; + D_80115112 = D_80115112 + 1; +} + INCLUDE_ASM("asm/ov_SC05_004/nonmatchings/ov_SC05_004_jr_8013F350", func_80141A60); diff --git a/src/ov_SC06_000/ov_SC06_000_jr_8013F350.c b/src/ov_SC06_000/ov_SC06_000_jr_8013F350.c index 29debb6a27..6616032a33 100644 --- a/src/ov_SC06_000/ov_SC06_000_jr_8013F350.c +++ b/src/ov_SC06_000/ov_SC06_000_jr_8013F350.c @@ -1654,7 +1654,79 @@ void func_80141874(void) { } -INCLUDE_ASM("asm/ov_SC06_000/nonmatchings/ov_SC06_000_jr_8013F350", func_801418F8); + + + + + + + +extern u16 D_80115110; +extern u16 D_80115112; +extern unsigned short D_80115118; +extern volatile u16 D_8011511A; +extern s16 D_80115128; +extern u16 D_8011512E; /* §17a-1: canonical width (jr_8013F350 TUs decl u16); byte-neutral here (only use is store-0) */ +extern s32 D_80115130; +extern u8 D_80115158[]; +extern u8 D_8011515C; +extern s16 D_80189600; +extern s16 D_80189602; + +extern void func_800D24A0(s32 a0); +extern s32 func_80029178(s32 a0); +extern void func_8002D4C8(s32 a0, s32 a1); +extern void func_80141C0C(s32 a0); + +void func_801418F8(void) +{ + + extern s16 D_8011515A; + extern s16 D_8011515E; + extern s16 D_80115162; + extern s16 D_80115166; + extern u8 D_801892A0; + extern u8 D_801892B8; + extern u8 D_8018932C; + extern u8 D_80189334; + extern void *D_801AD430; + extern void *D_801AD434; + u16 t; + + func_800D24A0(1); + D_8011511A = 2; + t = D_8011511A; + (*(s16 *)&D_80115118) = 0; + D_80115130 = 0; + if (t >= 4) { + D_8011511A = t - 3; + } + (*(s16 *)D_80115158) = 0x106; + if ((func_80029178(0x1C) & 0xFF) == 0) { + D_801AD430 = &D_801892A0; + D_801AD434 = &D_8018932C; + } else { + D_801AD430 = &D_801892B8; + D_801AD434 = &D_80189334; + } + D_8011515A = 0x104; + (*(s16 *)&D_8011515C) = 0x104; + D_8011515E = 0x129; + D_80115162 = 0x103; + D_80115166 = 0x105; + D_80115128 = 0; + D_8011512E = 0; + if (D_80115110 == 3) { + func_8002D4C8(0x46E, 0); + } else { + func_80141C0C(0); + } + D_80115128 = 1; + D_80189600 = 0xE; + D_80189602 = 3; + D_80115112 = D_80115112 + 1; +} + INCLUDE_ASM("asm/ov_SC06_000/nonmatchings/ov_SC06_000_jr_8013F350", func_80141A60); diff --git a/src/ov_SC06_010/ov_SC06_010_jr_8013F350.c b/src/ov_SC06_010/ov_SC06_010_jr_8013F350.c index 7c0a89591f..5cb09e7eae 100644 --- a/src/ov_SC06_010/ov_SC06_010_jr_8013F350.c +++ b/src/ov_SC06_010/ov_SC06_010_jr_8013F350.c @@ -1652,7 +1652,79 @@ void func_80141874(void) { } -INCLUDE_ASM("asm/ov_SC06_010/nonmatchings/ov_SC06_010_jr_8013F350", func_801418F8); + + + + + + + +extern u16 D_80115110; +extern u16 D_80115112; +extern unsigned short D_80115118; +extern volatile u16 D_8011511A; +extern s16 D_80115128; +extern u16 D_8011512E; /* §17a-1: canonical width (jr_8013F350 TUs decl u16); byte-neutral here (only use is store-0) */ +extern s32 D_80115130; +extern u8 D_80115158[]; +extern u8 D_8011515C; +extern s16 D_80187D68; +extern s16 D_80187D6A; + +extern void func_800D24A0(s32 a0); +extern s32 func_80029178(s32 a0); +extern void func_8002D4C8(s32 a0, s32 a1); +extern void func_80141C0C(s32 a0); + +void func_801418F8(void) +{ + + extern s16 D_8011515A; + extern s16 D_8011515E; + extern s16 D_80115162; + extern s16 D_80115166; + extern u8 D_80187A08; + extern u8 D_80187A20; + extern u8 D_80187A94; + extern u8 D_80187A9C; + extern void *D_801B0E30; + extern void *D_801B0E34; + u16 t; + + func_800D24A0(1); + D_8011511A = 2; + t = D_8011511A; + (*(s16 *)&D_80115118) = 0; + D_80115130 = 0; + if (t >= 4) { + D_8011511A = t - 3; + } + (*(s16 *)D_80115158) = 0x106; + if ((func_80029178(0x1C) & 0xFF) == 0) { + D_801B0E30 = &D_80187A08; + D_801B0E34 = &D_80187A94; + } else { + D_801B0E30 = &D_80187A20; + D_801B0E34 = &D_80187A9C; + } + D_8011515A = 0x104; + (*(s16 *)&D_8011515C) = 0x104; + D_8011515E = 0x129; + D_80115162 = 0x103; + D_80115166 = 0x105; + D_80115128 = 0; + D_8011512E = 0; + if (D_80115110 == 3) { + func_8002D4C8(0x46E, 0); + } else { + func_80141C0C(0); + } + D_80115128 = 1; + D_80187D68 = 0xE; + D_80187D6A = 3; + D_80115112 = D_80115112 + 1; +} + INCLUDE_ASM("asm/ov_SC06_010/nonmatchings/ov_SC06_010_jr_8013F350", func_80141A60); diff --git a/src/ov_SC07_006/ov_SC07_006_jr_8013F350.c b/src/ov_SC07_006/ov_SC07_006_jr_8013F350.c index 9fbbbf06d6..a11706a83e 100644 --- a/src/ov_SC07_006/ov_SC07_006_jr_8013F350.c +++ b/src/ov_SC07_006/ov_SC07_006_jr_8013F350.c @@ -1481,7 +1481,79 @@ void func_80141874(void) { } -INCLUDE_ASM("asm/ov_SC07_006/nonmatchings/ov_SC07_006_jr_8013F350", func_801418F8); + + + + + + + +extern u16 D_80115110; +extern u16 D_80115112; +extern unsigned short D_80115118; +extern volatile u16 D_8011511A; +extern s16 D_80115128; +extern u16 D_8011512E; /* §17a-1: canonical width (jr_8013F350 TUs decl u16); byte-neutral here (only use is store-0) */ +extern s32 D_80115130; +extern u8 D_80115158[]; +extern u8 D_8011515C; + +extern void func_800D24A0(s32 a0); +extern s32 func_80029178(s32 a0); +extern void func_8002D4C8(s32 a0, s32 a1); +extern void func_80141C0C(s32 a0); + +void func_801418F8(void) +{ + + extern s16 D_8011515A; + extern s16 D_8011515E; + extern s16 D_80115162; + extern s16 D_80115166; + extern u8 D_8018B424; + extern u8 D_8018B43C; + extern u8 D_8018B4B0; + extern u8 D_8018B4B8; + extern s16 D_8018B784; + extern s16 D_8018B786; + extern void *D_801F4EA0; + extern void *D_801F4EA4; + u16 t; + + func_800D24A0(1); + D_8011511A = 2; + t = D_8011511A; + (*(s16 *)&D_80115118) = 0; + D_80115130 = 0; + if (t >= 4) { + D_8011511A = t - 3; + } + (*(s16 *)D_80115158) = 0x106; + if ((func_80029178(0x1C) & 0xFF) == 0) { + D_801F4EA0 = &D_8018B424; + D_801F4EA4 = &D_8018B4B0; + } else { + D_801F4EA0 = &D_8018B43C; + D_801F4EA4 = &D_8018B4B8; + } + D_8011515A = 0x104; + (*(s16 *)&D_8011515C) = 0x104; + D_8011515E = 0x129; + D_80115162 = 0x103; + D_80115166 = 0x105; + D_80115128 = 0; + D_8011512E = 0; + if (D_80115110 == 3) { + func_8002D4C8(0x46E, 0); + } else { + func_80141C0C(0); + } + D_80115128 = 1; + D_8018B784 = 0xE; + D_8018B786 = 3; + D_80115112 = D_80115112 + 1; +} + INCLUDE_ASM("asm/ov_SC07_006/nonmatchings/ov_SC07_006_jr_8013F350", func_80141A60); diff --git a/src/ov_SC07_007/ov_SC07_007_jr_8013F350.c b/src/ov_SC07_007/ov_SC07_007_jr_8013F350.c index 6247d6ffa9..5f872b0f77 100644 --- a/src/ov_SC07_007/ov_SC07_007_jr_8013F350.c +++ b/src/ov_SC07_007/ov_SC07_007_jr_8013F350.c @@ -1481,7 +1481,79 @@ void func_80141874(void) { } -INCLUDE_ASM("asm/ov_SC07_007/nonmatchings/ov_SC07_007_jr_8013F350", func_801418F8); + + + + + + + +extern u16 D_80115110; +extern u16 D_80115112; +extern unsigned short D_80115118; +extern volatile u16 D_8011511A; +extern s16 D_80115128; +extern u16 D_8011512E; /* §17a-1: canonical width (jr_8013F350 TUs decl u16); byte-neutral here (only use is store-0) */ +extern s32 D_80115130; +extern u8 D_80115158[]; +extern u8 D_8011515C; + +extern void func_800D24A0(s32 a0); +extern s32 func_80029178(s32 a0); +extern void func_8002D4C8(s32 a0, s32 a1); +extern void func_80141C0C(s32 a0); + +void func_801418F8(void) +{ + + extern s16 D_8011515A; + extern s16 D_8011515E; + extern s16 D_80115162; + extern s16 D_80115166; + extern u8 D_80183F48; + extern u8 D_80183F60; + extern u8 D_80183FD4; + extern u8 D_80183FDC; + extern s16 D_801842A8; + extern s16 D_801842AA; + extern void *D_801C6608; + extern void *D_801C660C; + u16 t; + + func_800D24A0(1); + D_8011511A = 2; + t = D_8011511A; + (*(s16 *)&D_80115118) = 0; + D_80115130 = 0; + if (t >= 4) { + D_8011511A = t - 3; + } + (*(s16 *)D_80115158) = 0x106; + if ((func_80029178(0x1C) & 0xFF) == 0) { + D_801C6608 = &D_80183F48; + D_801C660C = &D_80183FD4; + } else { + D_801C6608 = &D_80183F60; + D_801C660C = &D_80183FDC; + } + D_8011515A = 0x104; + (*(s16 *)&D_8011515C) = 0x104; + D_8011515E = 0x129; + D_80115162 = 0x103; + D_80115166 = 0x105; + D_80115128 = 0; + D_8011512E = 0; + if (D_80115110 == 3) { + func_8002D4C8(0x46E, 0); + } else { + func_80141C0C(0); + } + D_80115128 = 1; + D_801842A8 = 0xE; + D_801842AA = 3; + D_80115112 = D_80115112 + 1; +} + INCLUDE_ASM("asm/ov_SC07_007/nonmatchings/ov_SC07_007_jr_8013F350", func_80141A60); diff --git a/src/ov_SC07_010/ov_SC07_010_o2b.c b/src/ov_SC07_010/ov_SC07_010_o2b.c index e1be47741e..5ebdfa870a 100644 --- a/src/ov_SC07_010/ov_SC07_010_o2b.c +++ b/src/ov_SC07_010/ov_SC07_010_o2b.c @@ -1980,7 +1980,79 @@ void func_80141874(void) { } -INCLUDE_ASM("asm/ov_SC07_010/nonmatchings/ov_SC07_010_o2b", func_801418F8); + + + + + + + +extern u16 D_80115110; +extern volatile u16 D_8011511A; +extern s16 D_80115128; +extern u16 D_8011512E; /* §17a-1: canonical width (jr_8013F350 TUs decl u16); byte-neutral here (only use is store-0) */ +extern u8 D_80115158[]; +extern u8 D_8011515C; + +extern void func_800D24A0(s32 a0); +extern s32 func_80029178(s32 a0); +extern void func_8002D4C8(s32 a0, s32 a1); +extern void func_80141C0C(s32 a0); + +void func_801418F8(void) +{ + + extern u16 D_80115112; + extern unsigned short D_80115118; + extern s32 D_80115130; + extern s16 D_8011515A; + extern s16 D_8011515E; + extern s16 D_80115162; + extern s16 D_80115166; + extern u8 D_80182FD8; + extern u8 D_80182FF0; + extern u8 D_80183064; + extern u8 D_8018306C; + extern s16 D_80183338; + extern s16 D_8018333A; + extern void *D_801A6B00; + extern void *D_801A6B04; + u16 t; + + func_800D24A0(1); + D_8011511A = 2; + t = D_8011511A; + (*(s16 *)&D_80115118) = 0; + D_80115130 = 0; + if (t >= 4) { + D_8011511A = t - 3; + } + (*(s16 *)D_80115158) = 0x106; + if ((func_80029178(0x1C) & 0xFF) == 0) { + D_801A6B00 = &D_80182FD8; + D_801A6B04 = &D_80183064; + } else { + D_801A6B00 = &D_80182FF0; + D_801A6B04 = &D_8018306C; + } + D_8011515A = 0x104; + (*(s16 *)&D_8011515C) = 0x104; + D_8011515E = 0x129; + D_80115162 = 0x103; + D_80115166 = 0x105; + D_80115128 = 0; + D_8011512E = 0; + if (D_80115110 == 3) { + func_8002D4C8(0x46E, 0); + } else { + func_80141C0C(0); + } + D_80115128 = 1; + D_80183338 = 0xE; + D_8018333A = 3; + D_80115112 = D_80115112 + 1; +} + INCLUDE_ASM("asm/ov_SC07_010/nonmatchings/ov_SC07_010_o2b", func_80141A60); diff --git a/src/ov_SC07_011/ov_SC07_011_jr_8013F350.c b/src/ov_SC07_011/ov_SC07_011_jr_8013F350.c index c3d994a358..230dbc3cf5 100644 --- a/src/ov_SC07_011/ov_SC07_011_jr_8013F350.c +++ b/src/ov_SC07_011/ov_SC07_011_jr_8013F350.c @@ -1483,7 +1483,79 @@ void func_80141874(void) { } -INCLUDE_ASM("asm/ov_SC07_011/nonmatchings/ov_SC07_011_jr_8013F350", func_801418F8); + + + + + + + +extern u16 D_80115110; +extern u16 D_80115112; +extern unsigned short D_80115118; +extern volatile u16 D_8011511A; +extern s16 D_80115128; +extern u16 D_8011512E; /* §17a-1: canonical width (jr_8013F350 TUs decl u16); byte-neutral here (only use is store-0) */ +extern s32 D_80115130; +extern u8 D_80115158[]; +extern u8 D_8011515C; + +extern void func_800D24A0(s32 a0); +extern s32 func_80029178(s32 a0); +extern void func_8002D4C8(s32 a0, s32 a1); +extern void func_80141C0C(s32 a0); + +void func_801418F8(void) +{ + + extern s16 D_8011515A; + extern s16 D_8011515E; + extern s16 D_80115162; + extern s16 D_80115166; + extern u8 D_8017F698; + extern u8 D_8017F6B0; + extern u8 D_8017F724; + extern u8 D_8017F72C; + extern s16 D_8017F9F8; + extern s16 D_8017F9FA; + extern void *D_8018F198; + extern void *D_8018F19C; + u16 t; + + func_800D24A0(1); + D_8011511A = 2; + t = D_8011511A; + (*(s16 *)&D_80115118) = 0; + D_80115130 = 0; + if (t >= 4) { + D_8011511A = t - 3; + } + (*(s16 *)D_80115158) = 0x106; + if ((func_80029178(0x1C) & 0xFF) == 0) { + D_8018F198 = &D_8017F698; + D_8018F19C = &D_8017F724; + } else { + D_8018F198 = &D_8017F6B0; + D_8018F19C = &D_8017F72C; + } + D_8011515A = 0x104; + (*(s16 *)&D_8011515C) = 0x104; + D_8011515E = 0x129; + D_80115162 = 0x103; + D_80115166 = 0x105; + D_80115128 = 0; + D_8011512E = 0; + if (D_80115110 == 3) { + func_8002D4C8(0x46E, 0); + } else { + func_80141C0C(0); + } + D_80115128 = 1; + D_8017F9F8 = 0xE; + D_8017F9FA = 3; + D_80115112 = D_80115112 + 1; +} + INCLUDE_ASM("asm/ov_SC07_011/nonmatchings/ov_SC07_011_jr_8013F350", func_80141A60);