mirror of
https://github.com/Druthulu/BFM-decomp
synced 2026-09-28 23:00:29 -04:00
feat(phase-31): propagate func_8017DD7C (gate lane)
This commit is contained in:
@@ -14600,3 +14600,10 @@ groups:
|
||||
func: DEFINE_func_80185F24
|
||||
vram: 0x80185F24
|
||||
binaries: [ov_SC02_000, ov_SC02_003]
|
||||
- id: E_func_8017DD7C
|
||||
tier: h_exact
|
||||
hash: fc81e68ce00bfd54ccd26581d16837d15efef9ac
|
||||
source: src/shared/engine_core.h
|
||||
func: DEFINE_func_8017DD7C
|
||||
vram: 0x8017DD7C
|
||||
binaries: [ov_SC04_018, ov_SC04_019, ov_SC05_017]
|
||||
|
||||
@@ -4510,30 +4510,7 @@ s32 func_8017DCE8(void) {
|
||||
INCLUDE_ASM("asm/ov_SC04_018/nonmatchings/ov_SC04_018_jr_8017AE2C", func_8017DD0C);
|
||||
|
||||
|
||||
extern void func_800D1E28(void);
|
||||
extern s32 func_800D1D94(void);
|
||||
extern void func_8002D4C8(s32 a0, s32 a1);
|
||||
extern void func_8001BFD0(void);
|
||||
extern void func_800D0C48(s32 a0);
|
||||
|
||||
s32 func_8017DD7C(s32 a0) {
|
||||
|
||||
extern s16 D_800B9A0A;
|
||||
s16 s0;
|
||||
|
||||
if (--(*(s32 *)(a0 + 0x28)) == -1) {
|
||||
func_800D1E28();
|
||||
s0 = D_800B9A0A;
|
||||
if (s0 != 0x1000 || (s16)func_800D1D94() != s0) {
|
||||
func_8002D4C8(0x1C, 0);
|
||||
func_8001BFD0();
|
||||
func_8002D4C8(0x1D, 0);
|
||||
func_800D0C48(1);
|
||||
}
|
||||
*(u8 *)(a0 + 0x15) += 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
DEFINE_func_8017DD7C() /* dedup: shared engine-core @0x8017DD7C (src/shared) */
|
||||
|
||||
|
||||
extern void func_800D1EBC(void);
|
||||
|
||||
@@ -4505,30 +4505,7 @@ s32 func_8017DCE8(void) {
|
||||
INCLUDE_ASM("asm/ov_SC04_019/nonmatchings/ov_SC04_019_jr_8017AE2C", func_8017DD0C);
|
||||
|
||||
|
||||
extern void func_800D1E28(void);
|
||||
extern s32 func_800D1D94(void);
|
||||
extern void func_8002D4C8(s32 a0, s32 a1);
|
||||
extern void func_8001BFD0(void);
|
||||
extern void func_800D0C48(s32 a0);
|
||||
|
||||
s32 func_8017DD7C(s32 a0) {
|
||||
|
||||
extern s16 D_800B9A0A;
|
||||
s16 s0;
|
||||
|
||||
if (--(*(s32 *)(a0 + 0x28)) == -1) {
|
||||
func_800D1E28();
|
||||
s0 = D_800B9A0A;
|
||||
if (s0 != 0x1000 || (s16)func_800D1D94() != s0) {
|
||||
func_8002D4C8(0x1C, 0);
|
||||
func_8001BFD0();
|
||||
func_8002D4C8(0x1D, 0);
|
||||
func_800D0C48(1);
|
||||
}
|
||||
*(u8 *)(a0 + 0x15) += 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
DEFINE_func_8017DD7C() /* dedup: shared engine-core @0x8017DD7C (src/shared) */
|
||||
|
||||
|
||||
extern void func_800D1EBC(void);
|
||||
|
||||
@@ -4517,30 +4517,7 @@ s32 func_8017DCE8(void) {
|
||||
INCLUDE_ASM("asm/ov_SC05_017/nonmatchings/ov_SC05_017_jr_8017AE2C", func_8017DD0C);
|
||||
|
||||
|
||||
extern void func_800D1E28(void);
|
||||
extern s32 func_800D1D94(void);
|
||||
extern void func_8002D4C8(s32 a0, s32 a1);
|
||||
extern void func_8001BFD0(void);
|
||||
extern void func_800D0C48(s32 a0);
|
||||
|
||||
s32 func_8017DD7C(s32 a0) {
|
||||
|
||||
extern s16 D_800B9A0A;
|
||||
s16 s0;
|
||||
|
||||
if (--(*(s32 *)(a0 + 0x28)) == -1) {
|
||||
func_800D1E28();
|
||||
s0 = D_800B9A0A;
|
||||
if (s0 != 0x1000 || (s16)func_800D1D94() != s0) {
|
||||
func_8002D4C8(0x1C, 0);
|
||||
func_8001BFD0();
|
||||
func_8002D4C8(0x1D, 0);
|
||||
func_800D0C48(1);
|
||||
}
|
||||
*(u8 *)(a0 + 0x15) += 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
DEFINE_func_8017DD7C() /* dedup: shared engine-core @0x8017DD7C (src/shared) */
|
||||
|
||||
|
||||
extern void func_800D1EBC(void);
|
||||
|
||||
@@ -60501,6 +60501,29 @@
|
||||
} \
|
||||
}
|
||||
|
||||
#define DEFINE_func_8017DD7C() \
|
||||
extern void func_800D1E28(void); \
|
||||
extern s32 func_800D1D94(void); \
|
||||
extern void func_8002D4C8(s32 a0, s32 a1); \
|
||||
extern void func_8001BFD0(void); \
|
||||
extern void func_800D0C48(s32 a0); \
|
||||
s32 func_8017DD7C(s32 a0) { \
|
||||
extern s16 D_800B9A0A; \
|
||||
s16 s0; \
|
||||
if (--(*(s32 *)(a0 + 0x28)) == -1) { \
|
||||
func_800D1E28(); \
|
||||
s0 = D_800B9A0A; \
|
||||
if (s0 != 0x1000 || (s16)func_800D1D94() != s0) { \
|
||||
func_8002D4C8(0x1C, 0); \
|
||||
func_8001BFD0(); \
|
||||
func_8002D4C8(0x1D, 0); \
|
||||
func_800D0C48(1); \
|
||||
} \
|
||||
*(u8 *)(a0 + 0x15) += 1; \
|
||||
} \
|
||||
return 0; \
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
#define DEFINE_func_80128EA8() \
|
||||
@@ -150407,4 +150430,27 @@
|
||||
} \
|
||||
}
|
||||
|
||||
#define DEFINE_func_8017DD7C() \
|
||||
extern void func_800D1E28(void); \
|
||||
extern s32 func_800D1D94(void); \
|
||||
extern void func_8002D4C8(s32 a0, s32 a1); \
|
||||
extern void func_8001BFD0(void); \
|
||||
extern void func_800D0C48(s32 a0); \
|
||||
s32 func_8017DD7C(s32 a0) { \
|
||||
extern s16 D_800B9A0A; \
|
||||
s16 s0; \
|
||||
if (--(*(s32 *)(a0 + 0x28)) == -1) { \
|
||||
func_800D1E28(); \
|
||||
s0 = D_800B9A0A; \
|
||||
if (s0 != 0x1000 || (s16)func_800D1D94() != s0) { \
|
||||
func_8002D4C8(0x1C, 0); \
|
||||
func_8001BFD0(); \
|
||||
func_8002D4C8(0x1D, 0); \
|
||||
func_800D0C48(1); \
|
||||
} \
|
||||
*(u8 *)(a0 + 0x15) += 1; \
|
||||
} \
|
||||
return 0; \
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user