mirror of
https://github.com/Druthulu/BFM-decomp
synced 2026-10-05 08:57:59 -04:00
feat(phase-30 S48-T6): propagate func_80185064 to its zero-crack siblings
This commit is contained in:
@@ -8022,7 +8022,56 @@ void func_80189194(s32 a0)
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_006/nonmatchings/ov_SC03_006_jr_8017AE2C", func_801891DC);
|
||||
typedef struct {
|
||||
SVECTOR_8016E7C8 v[4]; /* 0x00 */
|
||||
s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */
|
||||
u8 f6; /* 0x38 */
|
||||
u8 pad[7]; /* -> 0x40 */
|
||||
} Prim_8016E7C8_801891DC;
|
||||
|
||||
extern s32 func_8012B8E4(s32 arg0, s32 arg1);
|
||||
extern s32 func_8012BEE8(s32 a0);
|
||||
extern s32 func_8012BD3C(s32 a0, s32 a1, s32 a2);
|
||||
extern void func_80189C68(s32 a0);
|
||||
extern void func_80189B3C(s32 a0);
|
||||
extern s32 func_80189CD4(void);
|
||||
extern void func_80189E1C(s32 a0);
|
||||
|
||||
void func_801891DC(s32 a0) {
|
||||
s32 v;
|
||||
s32 flags;
|
||||
|
||||
v = func_8012B8E4(a0, 0xA);
|
||||
*(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) += v;
|
||||
if ((*(s32 *)(a0 + 0xDC) & 0x20) != 0) {
|
||||
if ((u32)(*(s32 *)(a0 + 0x1C) - 10) < 0xD) {
|
||||
func_80189C68(a0);
|
||||
}
|
||||
} else {
|
||||
if (*(s32 *)(a0 + 0x1C) == 0x16) {
|
||||
func_80189B3C(a0);
|
||||
}
|
||||
if (*(s32 *)(a0 + 0x1C) < 0x10) {
|
||||
((void (*)(s32))func_80189CD4)(a0);
|
||||
}
|
||||
}
|
||||
if (func_8012BEE8(a0) != 0) {
|
||||
flags = *(s32 *)(a0 + 0xDC);
|
||||
if (flags & 1) {
|
||||
*(s32 *)(a0 + 0xDC) = flags & 0xFFFFFFFE;
|
||||
*(s16 *)(a0 + 2) = 3;
|
||||
} else if (flags & 0x10) {
|
||||
*(s32 *)(a0 + 0xDC) = flags & 0xFFFFFFEF;
|
||||
*(s16 *)(a0 + 2) = 3;
|
||||
} else if (func_8012BD3C(a0, 0x400, 0x4000) == 0) {
|
||||
*(s16 *)(a0 + 2) = 5;
|
||||
} else {
|
||||
*(s32 *)(a0 + 0x1C) = 0x1E;
|
||||
func_80189E1C(a0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* func_80189304 — entity state-kick #0xB.
|
||||
|
||||
@@ -6162,7 +6162,56 @@ void func_8017DE58(s32 a0)
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_107/nonmatchings/ov_SC03_107_jr_801789AC", func_8017DEA0);
|
||||
typedef struct {
|
||||
SVECTOR_8016E7C8 v[4]; /* 0x00 */
|
||||
s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */
|
||||
u8 f6; /* 0x38 */
|
||||
u8 pad[7]; /* -> 0x40 */
|
||||
} Prim_8016E7C8_8017DEA0;
|
||||
|
||||
extern s32 func_8012B8E4(s32 arg0, s32 arg1);
|
||||
extern s32 func_8012BEE8(s32 a0);
|
||||
extern s32 func_8012BD3C(s32 a0, s32 a1, s32 a2);
|
||||
extern void func_8017E960(s32 a0);
|
||||
extern void func_8017E888(s32 a0);
|
||||
extern void func_8017E9CC(s32);
|
||||
extern void func_8017EB04(s32 a0);
|
||||
|
||||
void func_8017DEA0(s32 a0) {
|
||||
s32 v;
|
||||
s32 flags;
|
||||
|
||||
v = func_8012B8E4(a0, 0xA);
|
||||
*(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) += v;
|
||||
if ((*(s32 *)(a0 + 0xDC) & 0x20) != 0) {
|
||||
if ((u32)(*(s32 *)(a0 + 0x1C) - 10) < 0xD) {
|
||||
func_8017E960(a0);
|
||||
}
|
||||
} else {
|
||||
if (*(s32 *)(a0 + 0x1C) == 0x16) {
|
||||
func_8017E888(a0);
|
||||
}
|
||||
if (*(s32 *)(a0 + 0x1C) < 0x10) {
|
||||
((void (*)(s32))func_8017E9CC)(a0);
|
||||
}
|
||||
}
|
||||
if (func_8012BEE8(a0) != 0) {
|
||||
flags = *(s32 *)(a0 + 0xDC);
|
||||
if (flags & 1) {
|
||||
*(s32 *)(a0 + 0xDC) = flags & 0xFFFFFFFE;
|
||||
*(s16 *)(a0 + 2) = 3;
|
||||
} else if (flags & 0x10) {
|
||||
*(s32 *)(a0 + 0xDC) = flags & 0xFFFFFFEF;
|
||||
*(s16 *)(a0 + 2) = 3;
|
||||
} else if (func_8012BD3C(a0, 0x400, 0x4000) == 0) {
|
||||
*(s16 *)(a0 + 2) = 5;
|
||||
} else {
|
||||
*(s32 *)(a0 + 0x1C) = 0x1E;
|
||||
func_8017EB04(a0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* func_8017DFC8 — entity state-kick #0xB.
|
||||
|
||||
@@ -4307,7 +4307,56 @@ void func_8017FF70(s32 a0)
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_112/nonmatchings/ov_SC03_112_jr_8017C294", func_8017FFB8);
|
||||
typedef struct {
|
||||
SVECTOR_8016E7C8 v[4]; /* 0x00 */
|
||||
s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */
|
||||
u8 f6; /* 0x38 */
|
||||
u8 pad[7]; /* -> 0x40 */
|
||||
} Prim_8016E7C8_8017FFB8;
|
||||
|
||||
extern s32 func_8012B8E4(s32 arg0, s32 arg1);
|
||||
extern s32 func_8012BEE8(s32 a0);
|
||||
extern s32 func_8012BD3C(s32 a0, s32 a1, s32 a2);
|
||||
extern void func_80180A78(s32 a0);
|
||||
extern void func_801809A0(s32 a0);
|
||||
extern void func_80180AE4(s32);
|
||||
extern void func_80180C1C(s32 a0);
|
||||
|
||||
void func_8017FFB8(s32 a0) {
|
||||
s32 v;
|
||||
s32 flags;
|
||||
|
||||
v = func_8012B8E4(a0, 0xA);
|
||||
*(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) += v;
|
||||
if ((*(s32 *)(a0 + 0xDC) & 0x20) != 0) {
|
||||
if ((u32)(*(s32 *)(a0 + 0x1C) - 10) < 0xD) {
|
||||
func_80180A78(a0);
|
||||
}
|
||||
} else {
|
||||
if (*(s32 *)(a0 + 0x1C) == 0x16) {
|
||||
func_801809A0(a0);
|
||||
}
|
||||
if (*(s32 *)(a0 + 0x1C) < 0x10) {
|
||||
((void (*)(s32))func_80180AE4)(a0);
|
||||
}
|
||||
}
|
||||
if (func_8012BEE8(a0) != 0) {
|
||||
flags = *(s32 *)(a0 + 0xDC);
|
||||
if (flags & 1) {
|
||||
*(s32 *)(a0 + 0xDC) = flags & 0xFFFFFFFE;
|
||||
*(s16 *)(a0 + 2) = 3;
|
||||
} else if (flags & 0x10) {
|
||||
*(s32 *)(a0 + 0xDC) = flags & 0xFFFFFFEF;
|
||||
*(s16 *)(a0 + 2) = 3;
|
||||
} else if (func_8012BD3C(a0, 0x400, 0x4000) == 0) {
|
||||
*(s16 *)(a0 + 2) = 5;
|
||||
} else {
|
||||
*(s32 *)(a0 + 0x1C) = 0x1E;
|
||||
func_80180C1C(a0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -3562,7 +3562,56 @@ void func_8017DF68(s32 a0)
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_115/nonmatchings/ov_SC03_115_jr_8017BEBC", func_8017DFB0);
|
||||
typedef struct {
|
||||
SVECTOR_8016E7C8 v[4]; /* 0x00 */
|
||||
s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */
|
||||
u8 f6; /* 0x38 */
|
||||
u8 pad[7]; /* -> 0x40 */
|
||||
} Prim_8016E7C8_8017DFB0;
|
||||
|
||||
extern s32 func_8012B8E4(s32 arg0, s32 arg1);
|
||||
extern s32 func_8012BEE8(s32 a0);
|
||||
extern s32 func_8012BD3C(s32 a0, s32 a1, s32 a2);
|
||||
extern void func_8017EA70(s32 a0);
|
||||
extern void func_8017E998(s32 a0);
|
||||
extern void func_8017EADC(s32);
|
||||
extern void func_8017EC14(s32 a0);
|
||||
|
||||
void func_8017DFB0(s32 a0) {
|
||||
s32 v;
|
||||
s32 flags;
|
||||
|
||||
v = func_8012B8E4(a0, 0xA);
|
||||
*(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) += v;
|
||||
if ((*(s32 *)(a0 + 0xDC) & 0x20) != 0) {
|
||||
if ((u32)(*(s32 *)(a0 + 0x1C) - 10) < 0xD) {
|
||||
func_8017EA70(a0);
|
||||
}
|
||||
} else {
|
||||
if (*(s32 *)(a0 + 0x1C) == 0x16) {
|
||||
func_8017E998(a0);
|
||||
}
|
||||
if (*(s32 *)(a0 + 0x1C) < 0x10) {
|
||||
((void (*)(s32))func_8017EADC)(a0);
|
||||
}
|
||||
}
|
||||
if (func_8012BEE8(a0) != 0) {
|
||||
flags = *(s32 *)(a0 + 0xDC);
|
||||
if (flags & 1) {
|
||||
*(s32 *)(a0 + 0xDC) = flags & 0xFFFFFFFE;
|
||||
*(s16 *)(a0 + 2) = 3;
|
||||
} else if (flags & 0x10) {
|
||||
*(s32 *)(a0 + 0xDC) = flags & 0xFFFFFFEF;
|
||||
*(s16 *)(a0 + 2) = 3;
|
||||
} else if (func_8012BD3C(a0, 0x400, 0x4000) == 0) {
|
||||
*(s16 *)(a0 + 2) = 5;
|
||||
} else {
|
||||
*(s32 *)(a0 + 0x1C) = 0x1E;
|
||||
func_8017EC14(a0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* func_8017E0D8 — entity state-kick #0xB.
|
||||
|
||||
@@ -5201,7 +5201,56 @@ void func_80181C98(s32 a0)
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC05_001/nonmatchings/ov_SC05_001_jr_8017BEBC", func_80181CE0);
|
||||
typedef struct {
|
||||
SVECTOR_8016E7C8 v[4]; /* 0x00 */
|
||||
s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */
|
||||
u8 f6; /* 0x38 */
|
||||
u8 pad[7]; /* -> 0x40 */
|
||||
} Prim_8016E7C8_80181CE0;
|
||||
|
||||
extern s32 func_8012B8E4(s32 arg0, s32 arg1);
|
||||
extern s32 func_8012BEE8(s32 a0);
|
||||
extern s32 func_8012BD3C(s32 a0, s32 a1, s32 a2);
|
||||
extern void func_801827A0(s32 a0);
|
||||
extern void func_801826C8(s32 a0);
|
||||
extern void func_8018280C(s32);
|
||||
extern void func_80182944(s32 a0);
|
||||
|
||||
void func_80181CE0(s32 a0) {
|
||||
s32 v;
|
||||
s32 flags;
|
||||
|
||||
v = func_8012B8E4(a0, 0xA);
|
||||
*(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) += v;
|
||||
if ((*(s32 *)(a0 + 0xDC) & 0x20) != 0) {
|
||||
if ((u32)(*(s32 *)(a0 + 0x1C) - 10) < 0xD) {
|
||||
func_801827A0(a0);
|
||||
}
|
||||
} else {
|
||||
if (*(s32 *)(a0 + 0x1C) == 0x16) {
|
||||
func_801826C8(a0);
|
||||
}
|
||||
if (*(s32 *)(a0 + 0x1C) < 0x10) {
|
||||
((void (*)(s32))func_8018280C)(a0);
|
||||
}
|
||||
}
|
||||
if (func_8012BEE8(a0) != 0) {
|
||||
flags = *(s32 *)(a0 + 0xDC);
|
||||
if (flags & 1) {
|
||||
*(s32 *)(a0 + 0xDC) = flags & 0xFFFFFFFE;
|
||||
*(s16 *)(a0 + 2) = 3;
|
||||
} else if (flags & 0x10) {
|
||||
*(s32 *)(a0 + 0xDC) = flags & 0xFFFFFFEF;
|
||||
*(s16 *)(a0 + 2) = 3;
|
||||
} else if (func_8012BD3C(a0, 0x400, 0x4000) == 0) {
|
||||
*(s16 *)(a0 + 2) = 5;
|
||||
} else {
|
||||
*(s32 *)(a0 + 0x1C) = 0x1E;
|
||||
func_80182944(a0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* func_80181E08 — entity state-kick #0xB.
|
||||
|
||||
@@ -3599,7 +3599,56 @@ void func_8017E518(s32 a0)
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC05_007/nonmatchings/ov_SC05_007_jr_8017BEBC", func_8017E560);
|
||||
typedef struct {
|
||||
SVECTOR_8016E7C8 v[4]; /* 0x00 */
|
||||
s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */
|
||||
u8 f6; /* 0x38 */
|
||||
u8 pad[7]; /* -> 0x40 */
|
||||
} Prim_8016E7C8_8017E560;
|
||||
|
||||
extern s32 func_8012B8E4(s32 arg0, s32 arg1);
|
||||
extern s32 func_8012BEE8(s32 a0);
|
||||
extern s32 func_8012BD3C(s32 a0, s32 a1, s32 a2);
|
||||
extern void func_8017F020(s32 a0);
|
||||
extern void func_8017EF48(s32 a0);
|
||||
extern void func_8017F08C(s32);
|
||||
extern void func_8017F1C4(s32 a0);
|
||||
|
||||
void func_8017E560(s32 a0) {
|
||||
s32 v;
|
||||
s32 flags;
|
||||
|
||||
v = func_8012B8E4(a0, 0xA);
|
||||
*(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) += v;
|
||||
if ((*(s32 *)(a0 + 0xDC) & 0x20) != 0) {
|
||||
if ((u32)(*(s32 *)(a0 + 0x1C) - 10) < 0xD) {
|
||||
func_8017F020(a0);
|
||||
}
|
||||
} else {
|
||||
if (*(s32 *)(a0 + 0x1C) == 0x16) {
|
||||
func_8017EF48(a0);
|
||||
}
|
||||
if (*(s32 *)(a0 + 0x1C) < 0x10) {
|
||||
((void (*)(s32))func_8017F08C)(a0);
|
||||
}
|
||||
}
|
||||
if (func_8012BEE8(a0) != 0) {
|
||||
flags = *(s32 *)(a0 + 0xDC);
|
||||
if (flags & 1) {
|
||||
*(s32 *)(a0 + 0xDC) = flags & 0xFFFFFFFE;
|
||||
*(s16 *)(a0 + 2) = 3;
|
||||
} else if (flags & 0x10) {
|
||||
*(s32 *)(a0 + 0xDC) = flags & 0xFFFFFFEF;
|
||||
*(s16 *)(a0 + 2) = 3;
|
||||
} else if (func_8012BD3C(a0, 0x400, 0x4000) == 0) {
|
||||
*(s16 *)(a0 + 2) = 5;
|
||||
} else {
|
||||
*(s32 *)(a0 + 0x1C) = 0x1E;
|
||||
func_8017F1C4(a0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* func_8017E688 — entity state-kick #0xB.
|
||||
|
||||
Reference in New Issue
Block a user