mirror of
https://github.com/Druthulu/BFM-decomp
synced 2026-09-27 22:45:39 -04:00
feat(phase-31): propagate func_80182630 (gate lane)
This commit is contained in:
@@ -14726,3 +14726,10 @@ groups:
|
||||
func: DEFINE_func_80189898
|
||||
vram: 0x80189898
|
||||
binaries: [ov_SC02_000, ov_SC02_003]
|
||||
- id: E_func_80182630
|
||||
tier: h_exact
|
||||
hash: 8c5875d38295a796734aeebf2f206a1fa8eff14d
|
||||
source: src/shared/engine_core.h
|
||||
func: DEFINE_func_80182630
|
||||
vram: 0x80182630
|
||||
binaries: [ov_SC02_000, ov_SC02_003]
|
||||
|
||||
@@ -2942,24 +2942,7 @@ INCLUDE_ASM("asm/ov_SC02_000/nonmatchings/ov_SC02_000_jr_8018173C", func_801825E
|
||||
|
||||
#include "common.h"
|
||||
|
||||
extern s32 func_801399F0(s32);
|
||||
extern void func_80139914(s32 a0);
|
||||
|
||||
void func_80182630(s32 a0)
|
||||
{
|
||||
u8 *s0 = (u8 *)a0;
|
||||
register s32 v0 asm("v0");
|
||||
register s32 v1 asm("v1");
|
||||
|
||||
v0 = func_801399F0(*(s32 *)(s0 + 0x198));
|
||||
if (v0 != 0) {
|
||||
func_80139914(*(s32 *)(s0 + 0x198));
|
||||
v0 = s0[0x4D];
|
||||
v1 = s0[0x214];
|
||||
s0[0x4D] = v0 - 1;
|
||||
s0[0x214] = v1 + 1;
|
||||
}
|
||||
}
|
||||
DEFINE_func_80182630() /* dedup: shared engine-core @0x80182630 (src/shared) */
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -2928,7 +2928,7 @@ INCLUDE_ASM("asm/ov_SC02_003/nonmatchings/ov_SC02_003_jr_8018173C", func_8018259
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_003/nonmatchings/ov_SC02_003_jr_8018173C", func_801825E0);
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_003/nonmatchings/ov_SC02_003_jr_8018173C", func_80182630);
|
||||
DEFINE_func_80182630() /* dedup: shared engine-core @0x80182630 (src/shared) */
|
||||
|
||||
|
||||
// @class: plumbing
|
||||
|
||||
@@ -60817,6 +60817,24 @@
|
||||
} \
|
||||
}
|
||||
|
||||
#define DEFINE_func_80182630() \
|
||||
extern s32 func_801399F0(s32); \
|
||||
extern void func_80139914(s32 a0); \
|
||||
void func_80182630(s32 a0) \
|
||||
{ \
|
||||
u8 *s0 = (u8 *)a0; \
|
||||
register s32 v0 asm("v0"); \
|
||||
register s32 v1 asm("v1"); \
|
||||
v0 = func_801399F0(*(s32 *)(s0 + 0x198)); \
|
||||
if (v0 != 0) { \
|
||||
func_80139914(*(s32 *)(s0 + 0x198)); \
|
||||
v0 = s0[0x4D]; \
|
||||
v1 = s0[0x214]; \
|
||||
s0[0x4D] = v0 - 1; \
|
||||
s0[0x214] = v1 + 1; \
|
||||
} \
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
#define DEFINE_func_80128EA8() \
|
||||
@@ -151039,4 +151057,22 @@
|
||||
} \
|
||||
}
|
||||
|
||||
#define DEFINE_func_80182630() \
|
||||
extern s32 func_801399F0(s32); \
|
||||
extern void func_80139914(s32 a0); \
|
||||
void func_80182630(s32 a0) \
|
||||
{ \
|
||||
u8 *s0 = (u8 *)a0; \
|
||||
register s32 v0 asm("v0"); \
|
||||
register s32 v1 asm("v1"); \
|
||||
v0 = func_801399F0(*(s32 *)(s0 + 0x198)); \
|
||||
if (v0 != 0) { \
|
||||
func_80139914(*(s32 *)(s0 + 0x198)); \
|
||||
v0 = s0[0x4D]; \
|
||||
v1 = s0[0x214]; \
|
||||
s0[0x4D] = v0 - 1; \
|
||||
s0[0x214] = v1 + 1; \
|
||||
} \
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user