mirror of
https://github.com/Druthulu/BFM-decomp
synced 2026-09-30 23:37:39 -04:00
feat(decomp): free A-prop sibling lane (maintenance pass) — zero model tokens
This commit is contained in:
@@ -3389,7 +3389,14 @@ INCLUDE_ASM("asm/ov_SC01_005/nonmatchings/ov_SC01_005_jr_8017ED5C", func_8018073
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC01_005/nonmatchings/ov_SC01_005_jr_8017ED5C", func_8018078C);
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC01_005/nonmatchings/ov_SC01_005_jr_8017ED5C", func_801807D8);
|
||||
extern s32 *D_80126B78;
|
||||
|
||||
void func_801807D8(arg0)
|
||||
void *arg0;
|
||||
{
|
||||
*(s16 *)((s32)D_80126B78 + 0x10) = 0;
|
||||
}
|
||||
|
||||
|
||||
DEFINE_func_801807E8() /* dedup: shared engine-core @0x801807E8 (src/shared) */
|
||||
|
||||
|
||||
@@ -3369,7 +3369,14 @@ INCLUDE_ASM("asm/ov_SC01_006/nonmatchings/ov_SC01_006_jr_8017ED5C", func_8018073
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC01_006/nonmatchings/ov_SC01_006_jr_8017ED5C", func_8018078C);
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC01_006/nonmatchings/ov_SC01_006_jr_8017ED5C", func_801807D8);
|
||||
extern s32 *D_80126B78;
|
||||
|
||||
void func_801807D8(arg0)
|
||||
void *arg0;
|
||||
{
|
||||
*(s16 *)((s32)D_80126B78 + 0x10) = 0;
|
||||
}
|
||||
|
||||
|
||||
DEFINE_func_801807E8() /* dedup: shared engine-core @0x801807E8 (src/shared) */
|
||||
|
||||
|
||||
@@ -3717,7 +3717,21 @@ void func_8017DA94(s32 param_1) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_041/nonmatchings/ov_SC02_041_jr_8017BEBC", func_8017DB10);
|
||||
extern s32 func_80146E98(s32 a0);
|
||||
extern void func_80146C3C();
|
||||
extern void func_8017DB58();
|
||||
extern void func_8017DCDC();
|
||||
|
||||
void func_8017DB10(param_1)
|
||||
s32 param_1;
|
||||
{
|
||||
func_8017DB58(param_1);
|
||||
func_8017DCDC(param_1);
|
||||
if (func_80146E98(param_1) != 0) {
|
||||
((void (*)(s32))func_80146C3C)(param_1);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
extern s32 D_80188898;
|
||||
extern void func_8017DB80(s32 a0, s32 a1);
|
||||
|
||||
@@ -8002,7 +8002,38 @@ void func_80182A34(void *arg0) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001_jr_8017AE2C", func_80182A74);
|
||||
extern int func_80178970(void);
|
||||
extern s32 D_80191D74;
|
||||
extern short D_801CAA80;
|
||||
extern void func_8012A828(s32, s32);
|
||||
extern void func_8012E88C(s32);
|
||||
extern void func_8012E8E0(s32 a0, s32 a1);
|
||||
extern void func_80178D18(void);
|
||||
extern void func_80182898(void);
|
||||
extern void func_80187750(s32);
|
||||
|
||||
void func_80182A74(a0)
|
||||
void *a0;
|
||||
{
|
||||
extern void func_8012E8E0(s32 a0, s32 a1);
|
||||
extern void func_8012E88C(s32 a0);
|
||||
extern void func_8012A828(s32, s32);
|
||||
extern void func_80187750(s32 a0);
|
||||
extern void func_80182898(void);
|
||||
extern s32 D_80191D74;
|
||||
extern short D_801CAA80;
|
||||
|
||||
if (func_80178970() != 0) {
|
||||
((void (*)(s32))func_80178D18)((s32)a0);
|
||||
*(short *)((char *)a0 + 0x2) = 3;
|
||||
func_8012E8E0((s32)a0, (s32)&D_80191D74);
|
||||
func_8012E88C((s32)a0);
|
||||
((void (*)(s32 *, s32))func_8012A828)((s32 *)a0, (s32)&D_801CAA80);
|
||||
func_80187750((s32)a0);
|
||||
((void (*)(void))func_80182898)();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
extern s32 func_80187A64(s32 a0);
|
||||
|
||||
@@ -5026,7 +5026,27 @@ extern void func_80178CBC(s32 arg0, s32 arg1);
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_002/nonmatchings/ov_SC03_002_jr_8017D604", func_80181938);
|
||||
extern int func_80178970(void);
|
||||
extern short D_801AA660;
|
||||
extern void func_8012A828(s32 a0, s32 a1);
|
||||
extern void func_80178D18(void);
|
||||
|
||||
void func_80181938(arg0)
|
||||
void *arg0;
|
||||
{
|
||||
extern int func_80178970(void);
|
||||
extern void func_80178D18(void);
|
||||
extern void func_8012A828(s32, s32);
|
||||
extern short D_801AA660;
|
||||
|
||||
if (func_80178970() != 0) {
|
||||
((void (*)(s32))func_80178D18)((s32)arg0);
|
||||
*(short *)((char *)arg0 + 0x2) = 16;
|
||||
*(short *)((char *)arg0 + 0x34) = 2;
|
||||
((void (*)(s32 *, s32))func_8012A828)((s32 *)arg0, (s32)&D_801AA660);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
extern s32 func_80182E88(void);
|
||||
extern s32 func_80183158(s32 arg0, s32 arg1);
|
||||
|
||||
@@ -3892,7 +3892,24 @@ void func_8017CC44(void *a0)
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_015/nonmatchings/ov_SC03_015_jr_8017AE2C", func_8017CCC4);
|
||||
|
||||
|
||||
void func_8017CCC4(a0)
|
||||
s32 *a0;
|
||||
{
|
||||
s32 *ptr = (s32 *)a0[8];
|
||||
|
||||
if (a0[7] & 1) {
|
||||
ptr[1] |= 0x80000000;
|
||||
} else {
|
||||
ptr[1] &= 0x7FFFFFFF;
|
||||
}
|
||||
|
||||
*(s16 *)&a0[9] = 3;
|
||||
|
||||
a0[7] += 1;
|
||||
}
|
||||
|
||||
|
||||
|
||||
extern void func_8017CE10(void *a0, s32 a1, s32 a2);
|
||||
|
||||
@@ -3941,7 +3941,52 @@ DEFINE_func_80188670() /* dedup: shared engine-core @0x80188670 (src/shared) */
|
||||
|
||||
DEFINE_func_80188828() /* dedup: shared engine-core @0x80188828 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_015/nonmatchings/ov_SC03_015_jr_80185B44", func_801889B4);
|
||||
extern s32 func_80132EF4(s32 a0, s32 a1);
|
||||
|
||||
void func_801889B4(arg0)
|
||||
s32 arg0;
|
||||
{
|
||||
s32 s0;
|
||||
for (s0 = 0; s0 < 0x49; s0 += 0x18) {
|
||||
s32 a1 = func_80132EF4(arg0, 0x22);
|
||||
if (a1 == 0)
|
||||
continue;
|
||||
{
|
||||
register s32 v0 __asm__("v0");
|
||||
register s32 v1 __asm__("v1");
|
||||
register s32 a0 __asm__("a0");
|
||||
v0 = *(u16 *)(arg0 + 0x84);
|
||||
a0 = *(u16 *)(a1 + 0xE);
|
||||
v0 &= 0x4;
|
||||
v1 = v0 * 2;
|
||||
__asm__("":"=r"(v1):"0"(v1));
|
||||
v1 = v1 + v0;
|
||||
v1 = s0 + v1;
|
||||
v1 = v1 - 0x2A;
|
||||
v0 = *(u16 *)(a1 + 0x6);
|
||||
a0 -= 0x28;
|
||||
*(u16 *)(a1 + 0xE) = a0;
|
||||
v0 -= v1;
|
||||
*(u16 *)(a1 + 0x6) = v0;
|
||||
v0 = *(u16 *)(a1 + 0xA);
|
||||
v1 = v1 << 16;
|
||||
v0 -= 0x20;
|
||||
*(u16 *)(a1 + 0xA) = v0;
|
||||
v0 = v1 >> 16;
|
||||
if (v0 >= 0) {
|
||||
v0 = v0 << 7;
|
||||
} else {
|
||||
v0 = v0 << 7;
|
||||
v0 = -v0;
|
||||
}
|
||||
v0 += 0x1000;
|
||||
*(u16 *)(a1 + 0x34) = v0;
|
||||
*(s32 *)(a1 + 0x14) = 0xFFFE0000;
|
||||
*(s32 *)(a1 + 0x18) = 0xFFFD0000;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
extern void func_8001CA1C(s32 a0, s32 a1);
|
||||
@@ -4278,7 +4323,27 @@ DEFINE_func_801890F8() /* dedup: shared engine-core @0x801890F8 (src/shared) */
|
||||
|
||||
DEFINE_func_80189104() /* dedup: shared engine-core @0x80189104 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_015/nonmatchings/ov_SC03_015_jr_80185B44", func_80189110);
|
||||
extern u8 D_801EAC94;
|
||||
extern u8 D_801EAC95;
|
||||
extern u8 D_801EAC96;
|
||||
|
||||
void func_80189110(void)
|
||||
{
|
||||
typedef struct { unsigned char b[4]; } __attribute__((packed, aligned(1))) Block4;
|
||||
|
||||
extern u8 D_801EAC94;
|
||||
extern unsigned char D_801EAC95;
|
||||
extern unsigned char D_801EAC96;
|
||||
|
||||
unsigned char *p = (unsigned char *)&D_801EAC94;
|
||||
|
||||
if (*p < 0xF8U) {
|
||||
*p += 4;
|
||||
D_801EAC95 += 8;
|
||||
D_801EAC96 += 8;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
extern void func_8002D4C8(s32 arg0, s32 arg1);
|
||||
void func_80189160(void *a0) {
|
||||
@@ -4460,7 +4525,54 @@ void func_80189630(void *param_1) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_015/nonmatchings/ov_SC03_015_jr_80185B44", func_80189680);
|
||||
extern Block4 D_801E94F4;
|
||||
extern Block4 D_801EAC98;
|
||||
extern u8 D_801EAC94;
|
||||
extern void func_8001CD9C(int, void *);
|
||||
extern void func_800233CC(void *, unsigned short);
|
||||
|
||||
void func_80189680(a0)
|
||||
s32 a0;
|
||||
{
|
||||
register u8 *s0 __asm__("$16");
|
||||
register s32 *s1 __asm__("$17");
|
||||
s32 *v1;
|
||||
s32 *a0_ptr;
|
||||
s8 pad[32];
|
||||
|
||||
s1 = (s32 *)a0;
|
||||
s0 = (u8 *)&D_801EAC94;
|
||||
|
||||
|
||||
func_8001CD9C(s1[8], (s32 *)s0);
|
||||
|
||||
|
||||
func_800233CC(s0, 0x80);
|
||||
|
||||
|
||||
*(Block4 *)s0 = D_801E94F4;
|
||||
|
||||
|
||||
D_801EAC98 = D_801E94F4;
|
||||
|
||||
|
||||
v1 = s1[8];
|
||||
*(s16 *)((s8 *)v1 + 0x18) = 0x800;
|
||||
|
||||
|
||||
v1 = s1[8];
|
||||
*(s16 *)((s8 *)v1 + 0x1A) = 0x1000;
|
||||
|
||||
|
||||
a0_ptr = s1[8];
|
||||
*(s32 *)((s8 *)a0_ptr + 0x4) |= 0x50000000;
|
||||
|
||||
|
||||
*(s16 *)((s8 *)s1 + 0x2) = 1;
|
||||
|
||||
(void)pad;
|
||||
}
|
||||
|
||||
|
||||
extern u8 D_801EAC94;
|
||||
extern u8 D_801EAC95;
|
||||
|
||||
@@ -3890,7 +3890,24 @@ void func_8017CC44(void *a0)
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_024/nonmatchings/ov_SC03_024_jr_8017AE2C", func_8017CCC4);
|
||||
|
||||
|
||||
void func_8017CCC4(a0)
|
||||
s32 *a0;
|
||||
{
|
||||
s32 *ptr = (s32 *)a0[8];
|
||||
|
||||
if (a0[7] & 1) {
|
||||
ptr[1] |= 0x80000000;
|
||||
} else {
|
||||
ptr[1] &= 0x7FFFFFFF;
|
||||
}
|
||||
|
||||
*(s16 *)&a0[9] = 3;
|
||||
|
||||
a0[7] += 1;
|
||||
}
|
||||
|
||||
|
||||
|
||||
extern void func_8017CE10(void *a0, s32 a1, s32 a2);
|
||||
|
||||
@@ -6024,7 +6024,54 @@ void func_80182D54(void *param_1) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_024/nonmatchings/ov_SC03_024_jr_8017DF84", func_80182DA4);
|
||||
extern Block4 D_801BFD90;
|
||||
extern Block4 D_801C1360;
|
||||
extern u8 D_801C135C;
|
||||
extern void func_8001CD9C(int, void *);
|
||||
extern void func_800233CC(void *, unsigned short);
|
||||
|
||||
void func_80182DA4(a0)
|
||||
s32 a0;
|
||||
{
|
||||
register u8 *s0 __asm__("$16");
|
||||
register s32 *s1 __asm__("$17");
|
||||
s32 *v1;
|
||||
s32 *a0_ptr;
|
||||
s8 pad[32];
|
||||
|
||||
s1 = (s32 *)a0;
|
||||
s0 = (u8 *)&D_801C135C;
|
||||
|
||||
|
||||
func_8001CD9C(s1[8], (s32 *)s0);
|
||||
|
||||
|
||||
func_800233CC(s0, 0x80);
|
||||
|
||||
|
||||
*(Block4 *)s0 = D_801BFD90;
|
||||
|
||||
|
||||
D_801C1360 = D_801BFD90;
|
||||
|
||||
|
||||
v1 = s1[8];
|
||||
*(s16 *)((s8 *)v1 + 0x18) = 0x800;
|
||||
|
||||
|
||||
v1 = s1[8];
|
||||
*(s16 *)((s8 *)v1 + 0x1A) = 0x1000;
|
||||
|
||||
|
||||
a0_ptr = s1[8];
|
||||
*(s32 *)((s8 *)a0_ptr + 0x4) |= 0x50000000;
|
||||
|
||||
|
||||
*(s16 *)((s8 *)s1 + 0x2) = 1;
|
||||
|
||||
(void)pad;
|
||||
}
|
||||
|
||||
|
||||
extern u8 D_801C135C;
|
||||
extern u8 D_801C135D;
|
||||
|
||||
@@ -6551,7 +6551,14 @@ extern void func_80016714(void *a0, s32 a1);
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_089/nonmatchings/ov_SC03_089_jr_8017CA80", func_8018517C);
|
||||
extern s32 D_801A3BA0[];
|
||||
extern s32 func_8012D5E4(s32 a0, s32 a1, s32 a2, s32 a3);
|
||||
|
||||
void func_8018517C(void* arg0)
|
||||
{
|
||||
func_8012D5E4(arg0, (s32)D_801A3BA0, (s32)D_801A3BA0 + 8, 0x5);
|
||||
}
|
||||
|
||||
|
||||
/* func_801851A8 @ ov_SC03_089 (subseg ov_SC03_089_jr_8017CA80) — 173 ins.
|
||||
*
|
||||
|
||||
@@ -4524,7 +4524,54 @@ void func_80182E38(void *param_1) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_118/nonmatchings/ov_SC03_118_jr_8017FB84", func_80182E88);
|
||||
extern Block4 D_801D2E50;
|
||||
extern Block4 D_801D4308;
|
||||
extern u8 D_801D4304;
|
||||
extern void func_8001CD9C(int, void *);
|
||||
extern void func_800233CC(void *, unsigned short);
|
||||
|
||||
void func_80182E88(a0)
|
||||
s32 a0;
|
||||
{
|
||||
register u8 *s0 __asm__("$16");
|
||||
register s32 *s1 __asm__("$17");
|
||||
s32 *v1;
|
||||
s32 *a0_ptr;
|
||||
s8 pad[32];
|
||||
|
||||
s1 = (s32 *)a0;
|
||||
s0 = (u8 *)&D_801D4304;
|
||||
|
||||
|
||||
func_8001CD9C(s1[8], (s32 *)s0);
|
||||
|
||||
|
||||
func_800233CC(s0, 0x80);
|
||||
|
||||
|
||||
*(Block4 *)s0 = D_801D2E50;
|
||||
|
||||
|
||||
D_801D4308 = D_801D2E50;
|
||||
|
||||
|
||||
v1 = s1[8];
|
||||
*(s16 *)((s8 *)v1 + 0x18) = 0x800;
|
||||
|
||||
|
||||
v1 = s1[8];
|
||||
*(s16 *)((s8 *)v1 + 0x1A) = 0x1000;
|
||||
|
||||
|
||||
a0_ptr = s1[8];
|
||||
*(s32 *)((s8 *)a0_ptr + 0x4) |= 0x50000000;
|
||||
|
||||
|
||||
*(s16 *)((s8 *)s1 + 0x2) = 1;
|
||||
|
||||
(void)pad;
|
||||
}
|
||||
|
||||
|
||||
void func_80182F44(void) {
|
||||
extern u8 D_801D4304;
|
||||
|
||||
@@ -3828,7 +3828,21 @@ void func_8017F614(s32 param_1) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC04_011/nonmatchings/ov_SC04_011_jr_8017D494", func_8017F690);
|
||||
extern s32 func_80146E98(s32 a0);
|
||||
extern void func_80146C3C();
|
||||
extern void func_8017F6D8(s32 arg0);
|
||||
extern void func_8017F85C(s32*);
|
||||
|
||||
void func_8017F690(param_1)
|
||||
s32 param_1;
|
||||
{
|
||||
func_8017F6D8(param_1);
|
||||
func_8017F85C(param_1);
|
||||
if (func_80146E98(param_1) != 0) {
|
||||
((void (*)(s32))func_80146C3C)(param_1);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
extern void func_8017F700(s32 arg0, s32 arg1);
|
||||
extern s32 D_80193F64;
|
||||
|
||||
@@ -6217,7 +6217,31 @@ extern void func_80178CBC(s32 *a0, s32 a1);
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC04_018/nonmatchings/ov_SC04_018_jr_8017AE2C", func_80180C38);
|
||||
extern s32 D_80191A04[];
|
||||
extern s32 D_801E22B4[];
|
||||
extern s32 D_801E2344[];
|
||||
extern s32 func_80029504(void);
|
||||
extern s32 func_80184DD0(s32 a0);
|
||||
|
||||
void func_80180C38(a0)
|
||||
void *a0;
|
||||
{
|
||||
s32 s1;
|
||||
s32 v1;
|
||||
|
||||
s1 = func_80184DD0((s32)a0);
|
||||
v1 = func_80029504();
|
||||
if (s1 == 2) {
|
||||
if (v1 < 0x276) {
|
||||
*(s32 *)((s32)a0 + 0xE4) = (s32)D_801E2344;
|
||||
} else {
|
||||
*(s32 *)((s32)a0 + 0xE4) = (s32)D_801E22B4;
|
||||
}
|
||||
} else {
|
||||
*(s32 *)((s32)a0 + 0xE4) = D_80191A04[s1];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
extern void func_80172710(void);
|
||||
extern s32 func_801848DC(void);
|
||||
|
||||
@@ -3067,7 +3067,26 @@ void func_80183E6C(void *a0)
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC04_018/nonmatchings/ov_SC04_018_jr_80183E6C", func_80183FA8);
|
||||
extern short D_801B99A8;
|
||||
extern void func_8012A828(s32*, s32);
|
||||
extern void func_8012E88C(s32);
|
||||
extern void func_80184C90(s32);
|
||||
|
||||
void func_80183FA8(arg0)
|
||||
s32 *arg0;
|
||||
{
|
||||
extern void func_8012E88C(s32 a0);
|
||||
extern void func_8012A828(s32*, s32);
|
||||
extern void func_80184C90(s32 a0);
|
||||
extern short D_801B99A8;
|
||||
|
||||
*(s16 *)((s32)arg0 + 2) = 9;
|
||||
*(s16 *)((s32)arg0 + 0x34) = 0;
|
||||
func_8012E88C((s32)arg0);
|
||||
((void (*)(s32, s32))func_8012A828)((s32)arg0, (s32)&D_801B99A8);
|
||||
func_80184C90((s32)arg0);
|
||||
}
|
||||
|
||||
|
||||
extern s32 func_80184FA4(s32 a0);
|
||||
extern s32 func_80185BE0(s32 a0);
|
||||
@@ -3281,9 +3300,42 @@ extern void func_80184CB8(s32*, s32);
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC04_018/nonmatchings/ov_SC04_018_jr_80183E6C", func_80184504);
|
||||
extern int func_80178970(void);
|
||||
extern short D_801B99A8;
|
||||
extern void func_8012A828(s32*, s32);
|
||||
extern void func_80178D18(void);
|
||||
|
||||
void func_80184504(arg0)
|
||||
void *arg0;
|
||||
{
|
||||
|
||||
extern short D_801B99A8;
|
||||
if (func_80178970() != 0) {
|
||||
((void (*)(s32))func_80178D18)((s32)arg0);
|
||||
*(short *)((char *)arg0 + 0x2) = 2;
|
||||
((void (*)(s32, s32))func_8012A828)((int)arg0, (int)&D_801B99A8);
|
||||
*(short *)((char *)arg0 + 0x34) = 2;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
extern int func_80178970(void);
|
||||
extern short D_801B99A8;
|
||||
extern void func_8012A828(s32*, s32);
|
||||
extern void func_80178D18(void);
|
||||
|
||||
void func_80184560(arg0)
|
||||
void *arg0;
|
||||
{
|
||||
extern short D_801B99A8;
|
||||
if (func_80178970() != 0) {
|
||||
((void (*)(s32))func_80178D18)((s32)arg0);
|
||||
*(short *)((char *)arg0 + 0x2) = 9;
|
||||
((void (*)(s32, s32))func_8012A828)((s32)arg0, (s32)&D_801B99A8);
|
||||
*(short *)((char *)arg0 + 0x34) = 2;
|
||||
}
|
||||
}
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC04_018/nonmatchings/ov_SC04_018_jr_80183E6C", func_80184560);
|
||||
|
||||
extern s32 func_801847BC(void *a0, void *a1);
|
||||
extern s32 func_80184BAC(s32 a0, s32 a1);
|
||||
|
||||
@@ -6539,7 +6539,24 @@ extern void func_80178CBC(s32 arg0, s32 arg1);
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC04_019/nonmatchings/ov_SC04_019_jr_8017AE2C", func_80181270);
|
||||
extern int func_80178970(void);
|
||||
extern s16 D_801E7010;
|
||||
extern s16 D_801E7012;
|
||||
extern short D_801B9AA8;
|
||||
extern void func_8012A828(s32*, s32);
|
||||
extern void func_80178D18(void);
|
||||
|
||||
void func_80181270(arg0)
|
||||
void *arg0;
|
||||
{
|
||||
if (func_80178970() != 0) {
|
||||
((void (*)(s32))func_80178D18)((s32)arg0);
|
||||
*(u16 *)((char *)arg0 + 0x2) = D_801E7010;
|
||||
*(u16 *)((char *)arg0 + 0x34) = D_801E7012;
|
||||
((void (*)(s32 *, s32))func_8012A828)((s32 *)arg0, (s32)&D_801B9AA8);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
extern void func_80184CB8(s32 *a0, s32 a1);
|
||||
extern short D_80191AB0;
|
||||
|
||||
@@ -3841,7 +3841,24 @@ extern void func_80178CBC(s32 a0, s32 a1);
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC04_019/nonmatchings/ov_SC04_019_jr_80181804", func_80182AF8);
|
||||
extern int func_80178970(void);
|
||||
extern s16 D_801E7020;
|
||||
extern s16 D_801E7022;
|
||||
extern short D_801B9AA8;
|
||||
extern void func_8012A828(s32*, s32);
|
||||
extern void func_80178D18(void);
|
||||
|
||||
void func_80182AF8(arg0)
|
||||
void *arg0;
|
||||
{
|
||||
if (func_80178970() != 0) {
|
||||
((void (*)(s32))func_80178D18)((s32)arg0);
|
||||
*(u16 *)((char *)arg0 + 0x2) = D_801E7020;
|
||||
*(u16 *)((char *)arg0 + 0x34) = D_801E7022;
|
||||
((void (*)(s32 *, s32))func_8012A828)((s32 *)arg0, (s32)&D_801B9AA8);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -3260,9 +3260,42 @@ extern void func_80184CB8(s32*, s32);
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC04_019/nonmatchings/ov_SC04_019_jr_80183E6C", func_80184504);
|
||||
extern int func_80178970(void);
|
||||
extern short D_801B99A8;
|
||||
extern void func_8012A828(s32*, s32);
|
||||
extern void func_80178D18(void);
|
||||
|
||||
void func_80184504(arg0)
|
||||
void *arg0;
|
||||
{
|
||||
|
||||
extern short D_801B99A8;
|
||||
if (func_80178970() != 0) {
|
||||
((void (*)(s32))func_80178D18)((s32)arg0);
|
||||
*(short *)((char *)arg0 + 0x2) = 2;
|
||||
((void (*)(s32, s32))func_8012A828)((int)arg0, (int)&D_801B99A8);
|
||||
*(short *)((char *)arg0 + 0x34) = 2;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
extern int func_80178970(void);
|
||||
extern short D_801B99A8;
|
||||
extern void func_8012A828(s32*, s32);
|
||||
extern void func_80178D18(void);
|
||||
|
||||
void func_80184560(arg0)
|
||||
void *arg0;
|
||||
{
|
||||
extern short D_801B99A8;
|
||||
if (func_80178970() != 0) {
|
||||
((void (*)(s32))func_80178D18)((s32)arg0);
|
||||
*(short *)((char *)arg0 + 0x2) = 9;
|
||||
((void (*)(s32, s32))func_8012A828)((s32)arg0, (s32)&D_801B99A8);
|
||||
*(short *)((char *)arg0 + 0x34) = 2;
|
||||
}
|
||||
}
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC04_019/nonmatchings/ov_SC04_019_jr_80183E6C", func_80184560);
|
||||
|
||||
extern s32 func_801847BC(void *a0, void *a1);
|
||||
extern s32 func_80184BAC(s32 a0, s32 a1);
|
||||
|
||||
@@ -3114,9 +3114,42 @@ extern void func_801849B8(s32*, s32);
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC05_017/nonmatchings/ov_SC05_017_jr_80182A74", func_80182FA8);
|
||||
extern int func_80178970(void);
|
||||
extern short D_801B9964;
|
||||
extern void func_8012A828(s32, s32);
|
||||
extern void func_80178D18(void);
|
||||
|
||||
void func_80182FA8(arg0)
|
||||
void *arg0;
|
||||
{
|
||||
|
||||
extern short D_801B9964;
|
||||
if (func_80178970() != 0) {
|
||||
((void (*)(s32))func_80178D18)((s32)arg0);
|
||||
*(short *)((char *)arg0 + 0x2) = 2;
|
||||
((void (*)(s32, s32))func_8012A828)((int)arg0, (int)&D_801B9964);
|
||||
*(short *)((char *)arg0 + 0x34) = 2;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
extern int func_80178970(void);
|
||||
extern short D_801B9964;
|
||||
extern void func_8012A828(s32, s32);
|
||||
extern void func_80178D18(void);
|
||||
|
||||
void func_80183004(arg0)
|
||||
void *arg0;
|
||||
{
|
||||
extern short D_801B9964;
|
||||
if (func_80178970() != 0) {
|
||||
((void (*)(s32))func_80178D18)((s32)arg0);
|
||||
*(short *)((char *)arg0 + 0x2) = 9;
|
||||
((void (*)(s32, s32))func_8012A828)((s32)arg0, (s32)&D_801B9964);
|
||||
*(short *)((char *)arg0 + 0x34) = 2;
|
||||
}
|
||||
}
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC05_017/nonmatchings/ov_SC05_017_jr_80182A74", func_80183004);
|
||||
|
||||
extern s32 func_801844BC(void *a0, void *a1);
|
||||
extern void func_80183100();
|
||||
|
||||
@@ -9134,7 +9134,54 @@ void func_80184FD8(void *param_1) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC06_000/nonmatchings/ov_SC06_000_jr_8017AE2C", func_80185028);
|
||||
extern Block4 D_801AD2DC;
|
||||
extern Block4 D_801AECC8;
|
||||
extern u8 D_801AECC4;
|
||||
extern void func_8001CD9C(int, void *);
|
||||
extern void func_800233CC(void *, unsigned short);
|
||||
|
||||
void func_80185028(a0)
|
||||
s32 a0;
|
||||
{
|
||||
register u8 *s0 __asm__("$16");
|
||||
register s32 *s1 __asm__("$17");
|
||||
s32 *v1;
|
||||
s32 *a0_ptr;
|
||||
s8 pad[32];
|
||||
|
||||
s1 = (s32 *)a0;
|
||||
s0 = (u8 *)&D_801AECC4;
|
||||
|
||||
|
||||
func_8001CD9C(s1[8], (s32 *)s0);
|
||||
|
||||
|
||||
func_800233CC(s0, 0x80);
|
||||
|
||||
|
||||
*(Block4 *)s0 = D_801AD2DC;
|
||||
|
||||
|
||||
D_801AECC8 = D_801AD2DC;
|
||||
|
||||
|
||||
v1 = s1[8];
|
||||
*(s16 *)((s8 *)v1 + 0x18) = 0x800;
|
||||
|
||||
|
||||
v1 = s1[8];
|
||||
*(s16 *)((s8 *)v1 + 0x1A) = 0x1000;
|
||||
|
||||
|
||||
a0_ptr = s1[8];
|
||||
*(s32 *)((s8 *)a0_ptr + 0x4) |= 0x50000000;
|
||||
|
||||
|
||||
*(s16 *)((s8 *)s1 + 0x2) = 1;
|
||||
|
||||
(void)pad;
|
||||
}
|
||||
|
||||
|
||||
extern u8 D_801AECC4;
|
||||
extern u8 D_801AECC5;
|
||||
|
||||
@@ -3182,7 +3182,44 @@ void func_80181418(s32 arg0) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC06_022/nonmatchings/ov_SC06_022_jr_80180CD0", func_80181468);
|
||||
extern s32 func_80132EF4(s32 a0, s32 a1);
|
||||
|
||||
s32 func_80181468(a0, a1)
|
||||
s32 a0;
|
||||
s32 a1;
|
||||
{
|
||||
extern s32 func_80132EF4(s32 a0, s32 a1);
|
||||
extern s32 rand(void);
|
||||
s32 s0;
|
||||
s32 rr;
|
||||
register s32 x1 __asm__("$3");
|
||||
register s32 x2 __asm__("$4");
|
||||
|
||||
if (*(s16 *)(*(s32 *)(a0 + 0x20) + 0x18) >= 0x800) {
|
||||
if (*(s16 *)(a0 + 0xE4) == 0) {
|
||||
*(s16 *)(a0 + 0xE4) = *(u16 *)(a0 + 0xE6);
|
||||
s0 = func_80132EF4(a0, 0x22);
|
||||
if (s0 != 0) {
|
||||
rr = rand();
|
||||
x1 = *(u16 *)(s0 + 0x6);
|
||||
x1 = x1 - 0x10;
|
||||
*(u16 *)(s0 + 0x6) = x1 + (rr & 0x1F);
|
||||
rr = rand();
|
||||
*(s32 *)(s0 + 0x14) = -0x40000;
|
||||
x2 = *(u16 *)(s0 + 0xE);
|
||||
x2 = x2 - 0x10;
|
||||
*(u16 *)(s0 + 0xE) = x2 + (rr & 0x1F);
|
||||
*(s16 *)(s0 + 0x34) = a1;
|
||||
*(u16 *)(*(s32 *)(s0 + 0x20) + 0x2C) = 0xC010;
|
||||
*(u32 *)(*(s32 *)(s0 + 0x20) + 0x4) |= 0x40000000;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
*(s16 *)(a0 + 0xE4) = *(s16 *)(a0 + 0xE4) - 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
extern u16 D_80126B66;
|
||||
extern void func_8017FA1C(int);
|
||||
@@ -3287,7 +3324,7 @@ void func_801818E4(s32 param_1) {
|
||||
|
||||
|
||||
extern void func_8012AD80(s32 a0);
|
||||
extern void func_80181468();
|
||||
extern s32 func_80181468();
|
||||
extern s32 rand(void);
|
||||
extern void func_80181394(void *a0);
|
||||
|
||||
@@ -3321,7 +3358,7 @@ void func_8018199C(s32 arg0) {
|
||||
|
||||
|
||||
extern s32 rand(void);
|
||||
extern void func_80181468();
|
||||
extern s32 func_80181468();
|
||||
|
||||
void func_80181A4C(s32 arg0)
|
||||
{
|
||||
|
||||
@@ -3324,7 +3324,19 @@ void func_80183860(s32 param_1)
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC06_022/nonmatchings/ov_SC06_022_jr_80182D08", func_801839D8);
|
||||
extern u8 D_801D4640[];
|
||||
extern void func_8012A828(s32 a0, void *a1);
|
||||
|
||||
void func_801839D8(p)
|
||||
s32 p;
|
||||
{
|
||||
*(u16 *)(p + 2) = 0x20;
|
||||
func_8012A828(p, D_801D4640);
|
||||
*(s32 *)(p + 0x1C) = 0;
|
||||
*(s32 *)(p + 0xE4) = 0;
|
||||
*(s32 *)(p + 0x48) = 0x4650;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user