mirror of
https://github.com/Druthulu/BFM-decomp
synced 2026-09-26 21:36:06 -04:00
feat(phase-31): propagate func_801878B8 (gate lane)
This commit is contained in:
@@ -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"
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user