feat(phase-31): propagate func_801878B8 (gate lane)

This commit is contained in:
Drew T
2026-08-14 23:34:29 -06:00
parent a6055d001e
commit 32eaf37cb8
4 changed files with 41 additions and 19 deletions
+1 -18
View File
@@ -3745,24 +3745,7 @@ void func_80187674(s32 a0)
#include "common.h"
extern void (*D_801C700C[])(void);
extern void func_80049CAC(s32 a0, s32 a1);
void func_801878B8(void *a0) {
D_801C700C[*(u16 *)(a0 + 2)]();
if (*(u16 *)a0 != 0) {
if ((*(s16 *)(a0 + 0x70)) == 0 || (*(s16 *)(a0 + 0x70)) == 7) {
func_80049CAC(*(s32 *)(a0 + 0x20) + 0x10, *(s32 *)(a0 + 0x20) + 0x34);
}
if ((*(s16 *)(a0 + 0x70)) == 0xF) {
func_80049CAC(*(s32 *)(a0 + 0x20) + 0x10, *(s32 *)(a0 + 0x20) + 0x34);
}
func_8012B260((u8 *)a0);
}
}
DEFINE_func_801878B8() /* dedup: shared engine-core @0x801878B8 (src/shared) */
#include "common.h"
+1 -1
View File
@@ -3670,7 +3670,7 @@ void func_80187674(s32 a0)
}
INCLUDE_ASM("asm/ov_SC03_119/nonmatchings/ov_SC03_119_jr_801863CC", func_801878B8);
DEFINE_func_801878B8() /* dedup: shared engine-core @0x801878B8 (src/shared) */
extern u8 *func_8012913C(s32 a0);
+32
View File
@@ -60637,6 +60637,22 @@
((void (*)(s32))func_80178970)(arg0); \
}
#define DEFINE_func_801878B8() \
extern void (*D_801C700C[])(void); \
extern void func_80049CAC(s32 a0, s32 a1); \
void func_801878B8(void *a0) { \
D_801C700C[*(u16 *)(a0 + 2)](); \
if (*(u16 *)a0 != 0) { \
if ((*(s16 *)(a0 + 0x70)) == 0 || (*(s16 *)(a0 + 0x70)) == 7) { \
func_80049CAC(*(s32 *)(a0 + 0x20) + 0x10, *(s32 *)(a0 + 0x20) + 0x34); \
} \
if ((*(s16 *)(a0 + 0x70)) == 0xF) { \
func_80049CAC(*(s32 *)(a0 + 0x20) + 0x10, *(s32 *)(a0 + 0x20) + 0x34); \
} \
func_8012B260((u8 *)a0); \
} \
}
#endif
#define DEFINE_func_80128EA8() \
@@ -150679,4 +150695,20 @@
((void (*)(s32))func_80178970)(arg0); \
}
#define DEFINE_func_801878B8() \
extern void (*D_801C700C[])(void); \
extern void func_80049CAC(s32 a0, s32 a1); \
void func_801878B8(void *a0) { \
D_801C700C[*(u16 *)(a0 + 2)](); \
if (*(u16 *)a0 != 0) { \
if ((*(s16 *)(a0 + 0x70)) == 0 || (*(s16 *)(a0 + 0x70)) == 7) { \
func_80049CAC(*(s32 *)(a0 + 0x20) + 0x10, *(s32 *)(a0 + 0x20) + 0x34); \
} \
if ((*(s16 *)(a0 + 0x70)) == 0xF) { \
func_80049CAC(*(s32 *)(a0 + 0x20) + 0x10, *(s32 *)(a0 + 0x20) + 0x34); \
} \
func_8012B260((u8 *)a0); \
} \
}
#endif