feat(decomp): ox wave dy overlays — 12 banked

Committed before the main batch: gate_main reverts on failure and would take these with it.
This commit is contained in:
Drew T
2026-08-25 15:50:19 -06:00
parent bd50b9191c
commit b604fc1e4e
3 changed files with 76 additions and 2956 deletions
-1
View File
@@ -121,7 +121,6 @@ segments:
- [0x52354, c, ov_SC06_030_jr_8017A4AC]
- [0x52cd4, c, ov_SC06_030_jr_8017AE2C]
- [0x54778, c, ov_SC06_030_jr_8017C8D0]
- [0x59928, c, ov_SC06_030_jr_80181A80]
- [0x59cb4, data, tail]
- [0x8f6ac, .rodata, ov_SC06_030] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
- [0x8f788, .rodata, ov_SC06_030_jr_8012ACE0] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
+76
View File
@@ -4857,3 +4857,79 @@ void func_80181938(void *a0) {
*(s16 *)((s32)a0 + 0xAE) = -1;
}
}
INCLUDE_ASM("asm/ov_SC06_030/nonmatchings/ov_SC06_030_jr_8017C8D0", func_80181A80);
extern void (*D_801B4DA8[])(void);
void func_80181C30(void *a0) {
D_801B4DA8[*(u16 *)((s32)a0 + 0x2)]();
}
extern void (*D_801B4DE4[])(void);
void func_80181C6C(void *a0) {
D_801B4DE4[*(u16 *)((s32)a0 + 0x2)]();
}
extern s32 func_8012C354(s32 a0, s32 a1);
extern void func_8012A828(s32 a0, void *a1);
void func_80181CA8(void *a0) {
extern u8 D_801B4CF8[];
extern u8 D_80182184[];
if (func_8012C354((s32)a0, (s32)D_801B4CF8) != 0) {
*(u8 *)((s32)a0 + 0xC0) = 1;
*(s16 *)((s32)a0 + 0xAE) = -1;
func_8012A828(a0, D_80182184);
*(u16 *)((s32)a0 + 0x2) = *(u16 *)((s32)a0 + 0x2) + 1;
*(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x2C) =
*(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x2C) | 0x10;
*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x18) = 0xE00;
*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x1A) = 0xE00;
*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x1C) = 0xE00;
*(u16 *)((s32)a0 + 0xFC) = 0x300;
*(u8 *)((s32)a0 + 0x75) = 8;
}
}
extern s32 func_8012C354(s32 a0, s32 a1);
extern void func_8012A828(s32 a0, void *a1);
void func_80181D50(void *a0) {
extern u8 D_801B4DB0[];
extern u8 D_80182184[];
if (func_8012C354((s32)a0, (s32)D_801B4DB0) != 0) {
*(u8 *)((s32)a0 + 0xC0) = 1;
func_8012A828(a0, D_80182184);
*(u16 *)((s32)a0 + 2) = *(u16 *)((s32)a0 + 2) + 1;
*(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x2C) =
*(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x2C) | 0x10;
*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x18) = 0xAAA;
*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x1C) = 0xAAA;
}
}
extern void func_80181164(void);
void func_80181DD4(s32 arg0) {
s32 temp_v0;
func_80181164();
temp_v0 = *(s32 *)(arg0 + 0x1c) + 1;
*(s32 *)(arg0 + 0x1c) = temp_v0;
}
File diff suppressed because it is too large Load Diff