mirror of
https://github.com/Druthulu/BFM-decomp
synced 2026-09-27 22:45:39 -04:00
feat(decomp): family-remap-hnorm gate — +2 fns x0 propagated (fleet 98.9%)
This commit is contained in:
@@ -4095,7 +4095,39 @@ void func_8017CE90(void *a0)
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_015/nonmatchings/ov_SC03_015_jr_8017AE2C", func_8017CFBC);
|
||||
|
||||
|
||||
void func_8017CFBC(void *a0)
|
||||
{
|
||||
typedef struct { u8 d[4]; } Blk4_8017CE90_8017CE90;
|
||||
extern Blk4_8017CE90_8017CE90 D_801EA840;
|
||||
extern s32 func_80012F74(s32 a0, s32 a1, s32 a2, s32 a3);
|
||||
extern void func_80146C3C(void);
|
||||
void *s2;
|
||||
void *s1;
|
||||
s32 v0;
|
||||
s32 v1;
|
||||
|
||||
s2 = a0;
|
||||
s1 = *(void **)((u8 *)s2 + 0x20);
|
||||
D_801EA840.d[0] = func_80012F74(D_801EA840.d[0], 0, 10, 1);
|
||||
D_801EA840.d[1] = func_80012F74(D_801EA840.d[1], 0, 10, 1);
|
||||
D_801EA840.d[2] = func_80012F74(D_801EA840.d[2], 0, 10, 1);
|
||||
|
||||
v1 = *(s32 *)((u8 *)s2 + 0x10) + *(s32 *)((u8 *)s2 + 0x14);
|
||||
*(s32 *)((u8 *)s2 + 0x10) = v1;
|
||||
|
||||
v0 = *(u16 *)((u8 *)s1 + 0x1A) + v1;
|
||||
*(u16 *)((u8 *)s1 + 0x1A) = v0;
|
||||
*(s16 *)((u8 *)s1 + 0x18) = v0;
|
||||
|
||||
v1 = *(s32 *)((u8 *)s2 + 0x30);
|
||||
*(s32 *)((u8 *)s2 + 0x30) = v1 - 1;
|
||||
if (v1 == 0) {
|
||||
((void (*)(void *))func_80146C3C)(s2);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
extern s32 func_80146A6C(s32 a0, void *a1, s32 a2, s32 a3, s32 a4, s32 a5, s32 a6);
|
||||
|
||||
@@ -4708,7 +4740,30 @@ INCLUDE_ASM("asm/ov_SC03_015/nonmatchings/ov_SC03_015_jr_8017AE2C", func_8017DD7
|
||||
DEFINE_func_8017DDBC() /* dedup: shared engine-core @0x8017DDBC (src/shared) */
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_015/nonmatchings/ov_SC03_015_jr_8017AE2C", func_8017DE24);
|
||||
|
||||
|
||||
extern u8 D_8018F160;
|
||||
extern u8 D_800B9A11;
|
||||
extern void func_80129428(void);
|
||||
extern void func_8013C964(void);
|
||||
extern void func_80154274(s32 *a0, s32 a1);
|
||||
extern void func_80171A1C(u8 *a0);
|
||||
|
||||
void func_8017DE24(s32 *a0) {
|
||||
s32 v0 = a0[0x80];
|
||||
s32 v1;
|
||||
v1 = v0 - 1;
|
||||
a0[0x80] = v1;
|
||||
if (v1 != -1) {
|
||||
return;
|
||||
}
|
||||
func_80154274(a0, (s32)&D_8018F160);
|
||||
func_8013C964();
|
||||
D_800B9A11 = 0;
|
||||
func_80129428();
|
||||
func_80171A1C((u8 *)a0);
|
||||
}
|
||||
|
||||
|
||||
|
||||
extern s16 D_8011F9C8;
|
||||
|
||||
Reference in New Issue
Block a user