mirror of
https://github.com/Druthulu/BFM-decomp
synced 2026-09-27 05:56:00 -04:00
feat(phase-31): propagate func_801878B8 (gate lane)
This commit is contained in:
@@ -14656,3 +14656,10 @@ groups:
|
||||
func: DEFINE_func_8018942C
|
||||
vram: 0x8018942C
|
||||
binaries: [ov_SC03_014, ov_SC03_015]
|
||||
- id: E_func_801878B8
|
||||
tier: h_exact
|
||||
hash: e765f85ad086fe8774b5fb4a8c8c61f413ade4aa
|
||||
source: src/shared/engine_core.h
|
||||
func: DEFINE_func_801878B8
|
||||
vram: 0x801878B8
|
||||
binaries: [ov_SC03_118, ov_SC03_119]
|
||||
|
||||
@@ -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