mirror of
https://github.com/Druthulu/BFM-decomp
synced 2026-09-28 14:59:48 -04:00
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:
@@ -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)
|
||||
|
||||
@@ -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
Reference in New Issue
Block a user