mirror of
https://github.com/Druthulu/BFM-decomp
synced 2026-10-04 16:28:11 -04:00
feat(phase-31): propagate func_80184B14 (gate lane)
This commit is contained in:
@@ -14908,3 +14908,10 @@ groups:
|
||||
func: DEFINE_func_80182894
|
||||
vram: 0x80182894
|
||||
binaries: [ov_SC02_000, ov_SC02_003]
|
||||
- id: E_func_80184B14
|
||||
tier: h_exact
|
||||
hash: 6a947e565c4e8483fb8f236fc4f79343f371fa76
|
||||
source: src/shared/engine_core.h
|
||||
func: DEFINE_func_80184B14
|
||||
vram: 0x80184B14
|
||||
binaries: [ov_SC02_000, ov_SC02_003]
|
||||
|
||||
@@ -3830,39 +3830,7 @@ DEFINE_func_80184B00() /* dedup: shared engine-core @0x80184B00 (src/shared) */
|
||||
|
||||
#include "common.h"
|
||||
|
||||
extern void func_801819F4(void);
|
||||
extern void func_801831F8(void);
|
||||
extern s32 D_801E873C;
|
||||
extern s32 D_801E874C;
|
||||
|
||||
void func_80184B14(s32 a0) {
|
||||
s32 ptr;
|
||||
s32 v1;
|
||||
|
||||
ptr = *(s32 *)(a0 + 0x20);
|
||||
*(u16 *)(ptr + 0x12) = *(u16 *)(ptr + 0x12) + 0x20;
|
||||
*(s32 *)(a0 + 0x8) = *(s32 *)(a0 + 0x8) + 0xFFFA0000;
|
||||
|
||||
if (*(s16 *)(a0 + 0xA) < -0x4F0) {
|
||||
*(s32 *)(a0 + 0x18) = 0xFFF24000;
|
||||
func_801819F4();
|
||||
func_801831F8();
|
||||
v1 = 0xFFF46667;
|
||||
*(s32 *)(a0 + 0x18) = v1;
|
||||
__asm__("");
|
||||
v1 = *(u16 *)(a0 + 0x2);
|
||||
*(s16 *)(a0 + 0xDC) = 0x10;
|
||||
D_801E874C = 0x20;
|
||||
*(s32 *)(a0 + 0x14) = 0xFFF80000;
|
||||
*(s16 *)(a0 + 0xDE) = 0;
|
||||
D_801E873C = 0;
|
||||
*(s32 *)(a0 + 0x44) = 0;
|
||||
*(s32 *)(a0 + 0x48) = 0x8000;
|
||||
*(s32 *)(a0 + 0x4C) = 0;
|
||||
v1 = v1 + 1;
|
||||
*(u16 *)(a0 + 0x2) = v1;
|
||||
}
|
||||
}
|
||||
DEFINE_func_80184B14() /* dedup: shared engine-core @0x80184B14 (src/shared) */
|
||||
|
||||
|
||||
#include "common.h"
|
||||
|
||||
@@ -3168,7 +3168,7 @@ INCLUDE_ASM("asm/ov_SC02_003/nonmatchings/ov_SC02_003_jr_8018173C", func_80184A0
|
||||
|
||||
DEFINE_func_80184B00() /* dedup: shared engine-core @0x80184B00 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_003/nonmatchings/ov_SC02_003_jr_8018173C", func_80184B14);
|
||||
DEFINE_func_80184B14() /* dedup: shared engine-core @0x80184B14 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_003/nonmatchings/ov_SC02_003_jr_8018173C", func_80184BD8);
|
||||
|
||||
|
||||
@@ -61315,6 +61315,38 @@
|
||||
} \
|
||||
}
|
||||
|
||||
#define DEFINE_func_80184B14() \
|
||||
extern void func_801819F4(void); \
|
||||
extern void func_801831F8(void); \
|
||||
extern s32 D_801E873C; \
|
||||
extern s32 D_801E874C; \
|
||||
void func_80184B14(s32 a0) { \
|
||||
s32 ptr; \
|
||||
s32 v1; \
|
||||
ptr = *(s32 *)(a0 + 0x20); \
|
||||
*(u16 *)(ptr + 0x12) = *(u16 *)(ptr + 0x12) + 0x20; \
|
||||
*(s32 *)(a0 + 0x8) = *(s32 *)(a0 + 0x8) + 0xFFFA0000; \
|
||||
if (*(s16 *)(a0 + 0xA) < -0x4F0) { \
|
||||
*(s32 *)(a0 + 0x18) = 0xFFF24000; \
|
||||
func_801819F4(); \
|
||||
func_801831F8(); \
|
||||
v1 = 0xFFF46667; \
|
||||
*(s32 *)(a0 + 0x18) = v1; \
|
||||
__asm__(""); \
|
||||
v1 = *(u16 *)(a0 + 0x2); \
|
||||
*(s16 *)(a0 + 0xDC) = 0x10; \
|
||||
D_801E874C = 0x20; \
|
||||
*(s32 *)(a0 + 0x14) = 0xFFF80000; \
|
||||
*(s16 *)(a0 + 0xDE) = 0; \
|
||||
D_801E873C = 0; \
|
||||
*(s32 *)(a0 + 0x44) = 0; \
|
||||
*(s32 *)(a0 + 0x48) = 0x8000; \
|
||||
*(s32 *)(a0 + 0x4C) = 0; \
|
||||
v1 = v1 + 1; \
|
||||
*(u16 *)(a0 + 0x2) = v1; \
|
||||
} \
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
#define DEFINE_func_80128EA8() \
|
||||
@@ -152035,4 +152067,36 @@
|
||||
} \
|
||||
}
|
||||
|
||||
#define DEFINE_func_80184B14() \
|
||||
extern void func_801819F4(void); \
|
||||
extern void func_801831F8(void); \
|
||||
extern s32 D_801E873C; \
|
||||
extern s32 D_801E874C; \
|
||||
void func_80184B14(s32 a0) { \
|
||||
s32 ptr; \
|
||||
s32 v1; \
|
||||
ptr = *(s32 *)(a0 + 0x20); \
|
||||
*(u16 *)(ptr + 0x12) = *(u16 *)(ptr + 0x12) + 0x20; \
|
||||
*(s32 *)(a0 + 0x8) = *(s32 *)(a0 + 0x8) + 0xFFFA0000; \
|
||||
if (*(s16 *)(a0 + 0xA) < -0x4F0) { \
|
||||
*(s32 *)(a0 + 0x18) = 0xFFF24000; \
|
||||
func_801819F4(); \
|
||||
func_801831F8(); \
|
||||
v1 = 0xFFF46667; \
|
||||
*(s32 *)(a0 + 0x18) = v1; \
|
||||
__asm__(""); \
|
||||
v1 = *(u16 *)(a0 + 0x2); \
|
||||
*(s16 *)(a0 + 0xDC) = 0x10; \
|
||||
D_801E874C = 0x20; \
|
||||
*(s32 *)(a0 + 0x14) = 0xFFF80000; \
|
||||
*(s16 *)(a0 + 0xDE) = 0; \
|
||||
D_801E873C = 0; \
|
||||
*(s32 *)(a0 + 0x44) = 0; \
|
||||
*(s32 *)(a0 + 0x48) = 0x8000; \
|
||||
*(s32 *)(a0 + 0x4C) = 0; \
|
||||
v1 = v1 + 1; \
|
||||
*(u16 *)(a0 + 0x2) = v1; \
|
||||
} \
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user