mirror of
https://github.com/farisawan-2000/kirby64.git
synced 2024-11-26 22:50:43 +00:00
0.2% that i was sitting on
This commit is contained in:
parent
d7864015e1
commit
eab666c7a9
@ -374,7 +374,7 @@ SECTIONS
|
||||
END_NOLOAD(ovl1)
|
||||
|
||||
/* 0x800F61A0 07EC10-0AC900 [2DCF0] */
|
||||
BEGIN_SEG(ovl2, 0x800F61A0) {
|
||||
BEGIN_SEG(ovl2, 0x800F61A0) SUBALIGN(16) {
|
||||
BUILD_DIR/src/ovl2/ovl2.o(.text);
|
||||
BUILD_DIR/src/ovl2/ovl2_2.o(.text);
|
||||
BUILD_DIR/src/ovl2/ovl2_3.o(.text);
|
||||
|
@ -1086,7 +1086,7 @@ void func_800A9864(u32 listIndex, u32 arg1, u32 arg2) {
|
||||
// u32 *temp_v0 = D_800D00C4[listIndex >> 0x10 * 4 + ((listIndex & 0xFFFF) * 4)];
|
||||
|
||||
D_800E02D0[D_8004A7C4->objId] = listIndex;
|
||||
temp_v0 = D_800D00C4[listIndex >> 0x10 * 4 + ((listIndex & 0xFFFF) * 4)];
|
||||
temp_v0 = D_800D00C4[listIndex >> 0x10][listIndex & 0xFFFF];
|
||||
// temp_v0 = *(D_800D00C4 + ((listIndex >> 0x10) * 4)) + ((listIndex & 0xFFFF) * 4);
|
||||
if (temp_v0 != 0) {
|
||||
gSegment4StartArray[D_8004A7C4->objId] = temp_v0;
|
||||
@ -1108,6 +1108,7 @@ void func_800A9864(u32 listIndex, u32 arg1, u32 arg2) {
|
||||
func_800A9648(temp_v0);
|
||||
}
|
||||
#else
|
||||
void func_800A9864(u32 listIndex, u32 arg1, u32 arg2);
|
||||
GLOBAL_ASM("asm/non_matchings/ovl1/ovl1_3/func_800A9864.s")
|
||||
#endif
|
||||
|
||||
@ -1455,8 +1456,8 @@ void func_800AA2A0(void) {
|
||||
func_800AA174();
|
||||
}
|
||||
|
||||
void func_800AA2C8(void) {
|
||||
func_800A9864();
|
||||
void func_800AA2C8(s32 arg0, s32 arg1, s32 arg2) {
|
||||
func_800A9864(arg0, arg1, arg2);
|
||||
func_800AA174();
|
||||
}
|
||||
|
||||
|
@ -87,25 +87,22 @@ extern struct UNK_D_800D478C D_800D478C[];
|
||||
// Almost matching
|
||||
#ifdef MIPS_TO_C
|
||||
void func_800FF64C(s32 arg0) {
|
||||
u16 temp_a1;
|
||||
struct UNK_D_800D478C *temp_a3;
|
||||
struct UNK_D_8012BBF8_unk0 *temp_v1;
|
||||
u16 temp_a1;
|
||||
u32 phi_v0;
|
||||
|
||||
for (phi_v0 = 0; phi_v0 < D_8012B9B0; phi_v0++)
|
||||
{
|
||||
for (phi_v0 = 0; phi_v0 < D_8012B9B0; phi_v0++) {
|
||||
temp_a1 = D_8012B9B8[phi_v0].unk8;
|
||||
if (((temp_a1 & 0xC0) != 0) && (arg0 == D_8012B9B8[phi_v0].unkA)) {
|
||||
if ((D_8012B9B8[phi_v0].unk8 & 0xC0) && (arg0 == D_8012B9B8[phi_v0].unkA)) {
|
||||
temp_v1 = D_8012BBF8[phi_v0].unk0;
|
||||
if (temp_v1 != 0) {
|
||||
temp_a3 = &D_800D478C[arg0];
|
||||
temp_v1->unk14 = temp_a3->unk0;
|
||||
temp_v1->unk15 = temp_a3->unk1;
|
||||
temp_v1->unk16 = temp_a3->unk2;
|
||||
if ((temp_a1 & 0x40) != 0) {
|
||||
temp_v1->unk18 = temp_a3->unk3;
|
||||
temp_v1->unk19 = temp_a3->unk4;
|
||||
temp_v1->unk1A = temp_a3->unk5;
|
||||
temp_v1->unk14 = D_800D478C[arg0].unk0;
|
||||
temp_v1->unk15 = D_800D478C[arg0].unk1;
|
||||
temp_v1->unk16 = D_800D478C[arg0].unk2;
|
||||
if (temp_a1 & 0x40) {
|
||||
temp_v1->unk18 = D_800D478C[arg0].unk3;
|
||||
temp_v1->unk19 = D_800D478C[arg0].unk4;
|
||||
temp_v1->unk1A = D_800D478C[arg0].unk5;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -178,10 +175,10 @@ void func_800FF71C(struct SomeColorThing *arg0, u8 arg1, u8 arg2) {
|
||||
#ifdef MIPS_TO_C
|
||||
Failed to decompile function func_800FF9B4:
|
||||
|
||||
Unable to determine jump table for jr instruction.
|
||||
Unable to determine jump table for jr instruction at ../kirby_decomp/asm/non_matchings/ovl2_6/func_800FF9B4.s line 327.
|
||||
|
||||
There must be a read of a variable in the same block as
|
||||
the instruction, which has a name starting with "jtbl".
|
||||
the instruction, which has a name starting with "jtbl"/"jpt_".
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/ovl2_6/func_800FF9B4.s")
|
||||
#endif
|
||||
@ -206,18 +203,18 @@ void func_80100790(void *arg0) {
|
||||
s32 temp_lo_2;
|
||||
s32 temp_s6;
|
||||
s32 temp_s6_2;
|
||||
struct SomeColorThing *temp_s0;
|
||||
u16 temp_t0;
|
||||
u16 temp_t1;
|
||||
u16 temp_v0;
|
||||
u32 temp_s0_2;
|
||||
u8 temp_t0_2;
|
||||
u8 temp_t4;
|
||||
void *temp_s0;
|
||||
void *temp_s0_2;
|
||||
void *temp_s1;
|
||||
void *temp_s1_2;
|
||||
void *temp_s3;
|
||||
void *temp_v1;
|
||||
void *phi_s0;
|
||||
struct SomeColorThing *phi_s0;
|
||||
f32 phi_f8;
|
||||
f32 phi_f18;
|
||||
s32 phi_s6;
|
||||
@ -323,22 +320,21 @@ void *func_80100AC8(void *arg0) {
|
||||
f32 temp_f12;
|
||||
f32 temp_f14;
|
||||
f32 temp_f2;
|
||||
f32 temp_f6;
|
||||
s16 temp_s1;
|
||||
s32 temp_s6;
|
||||
s32 temp_s7;
|
||||
struct UNK_D_800D478C *temp_v1_2;
|
||||
struct UNK_D_8012BBF8 *temp_s2;
|
||||
struct UNK_D_8012BBF8_unk0 *temp_ret;
|
||||
struct UNK_D_8012BBF8_unk0 *temp_v0_3;
|
||||
u16 temp_a0;
|
||||
u32 temp_s3;
|
||||
u32 temp_v1;
|
||||
u8 temp_t1;
|
||||
u8 temp_t7;
|
||||
void *temp_ret;
|
||||
void *temp_s2;
|
||||
u8 *temp_v1_3;
|
||||
void *temp_s4;
|
||||
void *temp_v0;
|
||||
void *temp_v0_2;
|
||||
void *temp_v1_2;
|
||||
void *phi_s0;
|
||||
struct UNK_D_8012B9B8 *phi_s0;
|
||||
u32 phi_s3;
|
||||
s16 phi_s1;
|
||||
u32 phi_v1;
|
||||
@ -355,10 +351,9 @@ void *func_80100AC8(void *arg0) {
|
||||
temp_f0 = temp_v0->unk10 * 0.25f;
|
||||
temp_s4 = (temp_s7 * 0x18) + &D_8012BB98;
|
||||
temp_f2 = temp_v0->unk12 * 0.25f;
|
||||
temp_f6 = temp_v0->unk8;
|
||||
temp_v0 = temp_v0 + 8;
|
||||
temp_s4->unk0 = temp_f6 * 0.5f;
|
||||
temp_s4->unk4 = temp_v0->unk2 * 0.5f;
|
||||
temp_v0_2 = temp_v0 + 8;
|
||||
temp_s4->unk0 = temp_v0->unk8 * 0.5f;
|
||||
temp_s4->unk4 = temp_v0_2->unk2 * 0.5f;
|
||||
temp_f12 = temp_s4->unk0 * 0.5f;
|
||||
temp_f14 = temp_s4->unk4 * 0.5f;
|
||||
temp_s4->unk8 = temp_f0 - temp_f12;
|
||||
@ -366,41 +361,38 @@ void *func_80100AC8(void *arg0) {
|
||||
temp_s4->unk10 = temp_f0 + temp_f12;
|
||||
temp_s4->unk14 = temp_f2 + temp_f14;
|
||||
temp_v1 = D_8012B9B0;
|
||||
phi_return = temp_v0;
|
||||
phi_return = temp_v0_2;
|
||||
if (temp_v1 != 0) {
|
||||
phi_s0 = &D_8012B9B8;
|
||||
phi_s0 = D_8012B9B8;
|
||||
phi_s3 = 0;
|
||||
phi_v1 = temp_v1;
|
||||
phi_return_2 = temp_v0;
|
||||
phi_return_2 = temp_v0_2;
|
||||
loop_2:
|
||||
if (temp_s6 == phi_s0->unk4) {
|
||||
temp_s2 = (phi_s3 * 0x10) + &D_8012BBF8;
|
||||
temp_s2 = &D_8012BBF8[phi_s3];
|
||||
temp_ret = func_800AC954(arg0, 1, func_800A8C40(phi_s0->unk0));
|
||||
temp_v0_2 = temp_ret;
|
||||
temp_v0_3 = temp_ret;
|
||||
temp_a0 = phi_s0->unk8;
|
||||
temp_v0_2->unk20 = phi_s0->unkC + temp_s4->unk8;
|
||||
temp_v0_2->unk24 = phi_s0->unkE + temp_s4->unkC;
|
||||
temp_v0_2->unk28 = phi_s0->unk10;
|
||||
temp_v0_2->unk2C = phi_s0->unk14;
|
||||
temp_v0_3->unk20 = phi_s0->unkC + temp_s4->unk8;
|
||||
temp_v0_3->unk24 = phi_s0->unkE + temp_s4->unkC;
|
||||
temp_v0_3->unk28 = phi_s0->unk10;
|
||||
temp_v0_3->unk2C = phi_s0->unk14;
|
||||
if ((temp_a0 & 0x20) != 0) {
|
||||
temp_v0_2->unk13 = temp_v0_2->unk13 | 2;
|
||||
temp_v0_3->unk13 = temp_v0_3->unk13 | 2;
|
||||
}
|
||||
phi_s1_3 = 0;
|
||||
if ((temp_a0 & 0xC0) != 0) {
|
||||
temp_v1_2 = &D_800D478C + (phi_s0->unkA * 0xC);
|
||||
temp_t7 = *temp_v1_2;
|
||||
temp_v1_2 = temp_v1_2 + 2;
|
||||
temp_v0_2->unk14 = temp_t7;
|
||||
temp_v0_2->unk15 = temp_v1_2->unk-1;
|
||||
temp_v0_2->unk17 = 0xFF;
|
||||
temp_v0_2->unk16 = temp_v1_2->unk0;
|
||||
temp_v1_2 = &D_800D478C[phi_s0->unkA];
|
||||
temp_v1_3 = &temp_v1_2->unk2;
|
||||
temp_v0_3->unk14 = temp_v1_2->unk0;
|
||||
temp_v0_3->unk15 = temp_v1_3[-1];
|
||||
temp_v0_3->unk17 = 0xFF;
|
||||
temp_v0_3->unk16 = temp_v1_3->unk0;
|
||||
if ((temp_a0 & 0x40) != 0) {
|
||||
temp_t1 = temp_v1_2->unk1;
|
||||
temp_v1_2 = temp_v1_2 + 3;
|
||||
temp_v0_2->unk18 = temp_t1;
|
||||
temp_v0_2->unk19 = temp_v1_2->unk-1;
|
||||
temp_v0_2->unk1B = 0xFF;
|
||||
temp_v0_2->unk1A = temp_v1_2->unk0;
|
||||
temp_v0_3->unk18 = temp_v1_3[1];
|
||||
temp_v0_3->unk19 = temp_v1_3[3].unk-1;
|
||||
temp_v0_3->unk1B = 0xFF;
|
||||
temp_v0_3->unk1A = temp_v1_3[3];
|
||||
phi_s1_3 = 1;
|
||||
} else {
|
||||
phi_s1_3 = 0;
|
||||
@ -409,24 +401,24 @@ loop_2:
|
||||
}
|
||||
}
|
||||
}
|
||||
if (((temp_a0 & 0x105) != 0) || (phi_s1_2 = phi_s1_3, (0.0f != phi_s0->unk18))) {
|
||||
if (((temp_a0 & 0x105) != 0) || (phi_s1_2 = phi_s1_3, (phi_s0->unk18 != 0.0f))) {
|
||||
temp_s1 = (phi_s1_3 | 4) & 0xFFFF;
|
||||
phi_s1_2 = temp_s1;
|
||||
if ((temp_a0 & 0x400) != 0) {
|
||||
temp_v0_2->unkBA = 1;
|
||||
temp_v0_2->unk5A = 1;
|
||||
temp_v0_3->unkBA = 1;
|
||||
temp_v0_3->unk5A = 1;
|
||||
phi_s1_2 = (temp_s1 | 0x10) & 0xFFFF;
|
||||
}
|
||||
}
|
||||
if (((temp_a0 & 0x200) != 0) || (phi_s1 = phi_s1_2, (0.0f != phi_s0->unk1C))) {
|
||||
if (((temp_a0 & 0x200) != 0) || (phi_s1 = phi_s1_2, (phi_s0->unk1C != 0.0f))) {
|
||||
phi_s1 = (phi_s1_2 | 8) & 0xFFFF;
|
||||
}
|
||||
temp_s2->unk0 = temp_v0_2;
|
||||
temp_s2->unk0 = temp_v0_3;
|
||||
temp_s2->unkC = temp_s7;
|
||||
temp_s2->unkE = phi_s1;
|
||||
temp_s2->unk8 = 0.0f;
|
||||
temp_s2->unk4 = temp_v0_2->unk24;
|
||||
temp_v0_2->unk3C = temp_s2;
|
||||
temp_s2->unk4 = temp_v0_3->unk24;
|
||||
temp_v0_3->unk3C = temp_s2;
|
||||
phi_v1 = D_8012B9B0;
|
||||
phi_return_2 = temp_ret;
|
||||
}
|
||||
@ -452,8 +444,7 @@ u32 func_80100DF8(s32 arg0) {
|
||||
u32 i;
|
||||
|
||||
phi_v0 = D_80124740[arg0];
|
||||
for (i = 0; i < D_8012B9B0; i++)
|
||||
{
|
||||
for (i = 0; i < D_8012B9B0; i++) {
|
||||
if (phi_v0 == D_8012B9B8[i].unk4) {
|
||||
return 1;
|
||||
}
|
||||
@ -490,34 +481,34 @@ f32 func_80100EE4(s32 arg0) {
|
||||
f32 sp2C;
|
||||
f32 sp28;
|
||||
f32 sp24;
|
||||
s32 sp1C;
|
||||
u32 sp1C;
|
||||
f32 temp_f0;
|
||||
f32 temp_f0_2;
|
||||
f32 temp_f0_3;
|
||||
f32 temp_f0_4;
|
||||
f32 temp_f0_5;
|
||||
f32 temp_f0_6;
|
||||
f32 temp_f0_7;
|
||||
f32 temp_f12;
|
||||
f32 temp_f12_2;
|
||||
f32 temp_f14;
|
||||
f32 temp_f16;
|
||||
f32 temp_f18;
|
||||
f32 temp_f18_2;
|
||||
f32 temp_f2;
|
||||
f32 temp_f2_2;
|
||||
f32 temp_f8;
|
||||
f32 temp_ret;
|
||||
s32 temp_v0;
|
||||
s32 temp_v1_2;
|
||||
struct UNK_D_8012B9B8 *temp_v1;
|
||||
u16 temp_a1;
|
||||
u16 temp_a3;
|
||||
u16 temp_t8;
|
||||
u16 temp_v1_2;
|
||||
u32 temp_t2;
|
||||
u32 temp_v0;
|
||||
void *temp_a2;
|
||||
void *temp_v0_2;
|
||||
void *temp_v1;
|
||||
f32 phi_f14;
|
||||
void *phi_a0;
|
||||
struct UNK_D_8012BBF8 *phi_a0;
|
||||
u32 phi_t2;
|
||||
f32 phi_f2;
|
||||
f32 phi_f2_2;
|
||||
@ -535,11 +526,10 @@ f32 func_80100EE4(s32 arg0) {
|
||||
f32 phi_return_3;
|
||||
|
||||
temp_f18 = D_800D7B20.unkC;
|
||||
temp_f16 = D_800D7B20.unk0 - temp_f18;
|
||||
temp_f0 = D_800D7B38.unkC;
|
||||
sp40 = temp_f0 - temp_f18;
|
||||
sp3C = D_800D7B38.unk10;
|
||||
sp28 = temp_f16;
|
||||
sp28 = D_800D7B20.unk0 - temp_f18;
|
||||
sp24 = D_800D7B20.unk8 - D_800D7B20.unk14;
|
||||
sp30 = atan2f(D_800D7B38.unk8 - D_800D7B38.unk14, D_800D7B38.unk0 - temp_f0);
|
||||
sp2C = atan2f(sp24, sp28);
|
||||
@ -559,11 +549,11 @@ f32 func_80100EE4(s32 arg0) {
|
||||
temp_v0_2 = D_800D799C->unk3C;
|
||||
temp_f18_2 = (sp30 - phi_f14) / (((temp_v0_2->unk20 * D_80128A3C) / 180.0f) * temp_v0_2->unk24);
|
||||
sp38 = temp_f18_2;
|
||||
temp_ret = atan2f(D_800D7B20.unk4 - D_800D7B20.unk10, sqrtf((sp28 * sp28) + (sp24 * sp24), phi_f14, 1));
|
||||
temp_ret = atan2f(D_800D7B20.unk4 - D_800D7B20.unk10, sqrtf((sp28 * sp28) + (sp24 * sp24)));
|
||||
sp34 = temp_ret / ((D_800D799C->unk3C->unk20 * D_80128A40) / 180.0f);
|
||||
phi_return = temp_ret;
|
||||
if (D_8012B9B0 != 0) {
|
||||
phi_a0 = &D_8012BBF8;
|
||||
phi_a0 = D_8012BBF8;
|
||||
phi_t2 = 0;
|
||||
phi_return_3 = temp_ret;
|
||||
loop_8:
|
||||
@ -571,15 +561,15 @@ loop_8:
|
||||
phi_return_2 = phi_return_3;
|
||||
if (temp_a2 != 0) {
|
||||
temp_a3 = phi_a0->unkC;
|
||||
temp_v1 = &D_8012B9B8 + (phi_t2 * 0x30);
|
||||
temp_v1 = &D_8012B9B8[phi_t2];
|
||||
temp_a1 = temp_v1->unk8;
|
||||
if (((temp_a1 & 0xA) != 0) || (phi_return_2 = phi_return_3, (0.0f != temp_v1->unk1C))) {
|
||||
temp_f12 = temp_v1->unk1C;
|
||||
if (((temp_a1 & 0xA) != 0) || (phi_return_2 = phi_return_3, ((bitwise f32) temp_v1->unk1C != 0.0f))) {
|
||||
temp_f12 = (bitwise f32) temp_v1->unk1C;
|
||||
temp_f2 = phi_a0->unk4;
|
||||
temp_f14 = (temp_a2->unk1E - 1) * temp_a2->unk2C;
|
||||
phi_f2_4 = temp_f2;
|
||||
phi_return_2 = phi_return_3;
|
||||
if (0.0f != temp_f12) {
|
||||
if (temp_f12 != 0.0f) {
|
||||
phi_a0->unk8 = phi_a0->unk8 + temp_f12;
|
||||
temp_f0_2 = phi_a0->unk8;
|
||||
phi_a0->unk8 = temp_f0_2 - ((temp_f0_2 / temp_f14) * temp_f14);
|
||||
@ -588,18 +578,18 @@ loop_8:
|
||||
}
|
||||
phi_f2_3 = phi_f2_4;
|
||||
if ((temp_a1 & 8) != 0) {
|
||||
phi_f2_3 = phi_f2_4 + ((&D_8012BB98 + (temp_a3 * 0x18))->unk4 * sp34 * temp_v1->unk2C);
|
||||
phi_f2_3 = phi_f2_4 + ((&D_8012BB98 + (temp_a3 * 0x18))->unk4 * sp34 * (bitwise f32) temp_v1->unk2C);
|
||||
}
|
||||
phi_f2 = phi_f2_3;
|
||||
if ((temp_a1 & 2) != 0) {
|
||||
phi_f2 = phi_f2_3 + (sp3C * temp_v1->unk24);
|
||||
phi_f2 = phi_f2_3 + (sp3C * (bitwise f32) temp_v1->unk24);
|
||||
}
|
||||
phi_f2_2 = phi_f2;
|
||||
if ((phi_a0->unkE & 8) != 0) {
|
||||
temp_f0_3 = phi_f2 - (&D_8012BB98 + (temp_a3 * 0x18))->unkC;
|
||||
phi_v0_2 = 0;
|
||||
phi_return_2 = temp_f0_3;
|
||||
if (0.0f < temp_f0_3) {
|
||||
if (temp_f0_3 > 0.0f) {
|
||||
phi_v0_2 = 1;
|
||||
phi_return_2 = (bitwise f32) 1;
|
||||
}
|
||||
@ -607,7 +597,7 @@ loop_8:
|
||||
}
|
||||
temp_a2->unk24 = phi_f2_2;
|
||||
}
|
||||
if (((temp_a1 & 5) != 0) || (0.0f != temp_v1->unk18)) {
|
||||
if (((temp_a1 & 5) != 0) || ((bitwise f32) temp_v1->unk18 != 0.0f)) {
|
||||
temp_t8 = temp_a2->unk1C;
|
||||
temp_f8 = temp_t8;
|
||||
phi_f8 = temp_f8;
|
||||
@ -615,25 +605,25 @@ loop_8:
|
||||
phi_f8 = temp_f8 + 4294967296.0f;
|
||||
}
|
||||
temp_f12_2 = phi_f8 * temp_a2->unk28;
|
||||
temp_f0_4 = temp_a2->unk20 + temp_v1->unk18;
|
||||
temp_f0_4 = temp_a2->unk20 + (bitwise f32) temp_v1->unk18;
|
||||
phi_f0_3 = temp_f0_4;
|
||||
phi_return_2 = temp_f0_4;
|
||||
if ((temp_a1 & 1) != 0) {
|
||||
temp_f0_4 = temp_f0_4 + (sp40 * temp_v1->unk20);
|
||||
phi_f0_3 = temp_f0_4;
|
||||
phi_return_2 = temp_f0_4;
|
||||
temp_f0_5 = temp_f0_4 + (sp40 * (bitwise f32) temp_v1->unk20);
|
||||
phi_f0_3 = temp_f0_5;
|
||||
phi_return_2 = temp_f0_5;
|
||||
}
|
||||
phi_f0 = phi_f0_3;
|
||||
if ((temp_a1 & 4) != 0) {
|
||||
temp_f0_5 = phi_f0_3 + (*(&D_8012BB98 + (temp_a3 * 0x18)) * temp_f18_2 * temp_v1->unk28);
|
||||
phi_f0 = temp_f0_5;
|
||||
phi_return_2 = temp_f0_5;
|
||||
temp_f0_6 = phi_f0_3 + (*(&D_8012BB98 + (temp_a3 * 0x18)) * temp_f18_2 * (bitwise f32) temp_v1->unk28);
|
||||
phi_f0 = temp_f0_6;
|
||||
phi_return_2 = temp_f0_6;
|
||||
}
|
||||
temp_v1_2 = phi_a0->unkE & 4;
|
||||
phi_f0_2 = phi_f0;
|
||||
if (temp_v1_2 != 0) {
|
||||
temp_f2_2 = phi_f0 - (&D_8012BB98 + (temp_a3 * 0x18))->unk8;
|
||||
if (0.0f < temp_f2_2) {
|
||||
if (temp_f2_2 > 0.0f) {
|
||||
phi_v0 = (temp_f2_2 / temp_f12_2) + 1;
|
||||
} else {
|
||||
phi_v0 = temp_f2_2 / temp_f12_2;
|
||||
@ -645,9 +635,9 @@ loop_8:
|
||||
phi_v0_3 = phi_v0 + 1;
|
||||
}
|
||||
}
|
||||
temp_f0_6 = phi_f0 - (phi_v0_3 * temp_f12_2);
|
||||
phi_f0_2 = temp_f0_6;
|
||||
phi_return_2 = temp_f0_6;
|
||||
temp_f0_7 = phi_f0 - (phi_v0_3 * temp_f12_2);
|
||||
phi_f0_2 = temp_f0_7;
|
||||
phi_return_2 = temp_f0_7;
|
||||
}
|
||||
temp_a2->unk20 = phi_f0_2;
|
||||
}
|
||||
@ -670,8 +660,7 @@ GLOBAL_ASM("asm/non_matchings/ovl2_6/func_80100EE4.s")
|
||||
void func_8010133C(void) {
|
||||
u32 i;
|
||||
|
||||
for (i = 0; i < 10; i++)
|
||||
{
|
||||
for (i = 0; i < 10; i++) {
|
||||
D_8012BBF8[i].unk0 = NULL;
|
||||
}
|
||||
}
|
||||
|
@ -9525,3 +9525,4 @@ void func_80111ECC(void *arg0) {
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/ovl2_6/func_80111ECC.s")
|
||||
#endif
|
||||
|
@ -2644,7 +2644,7 @@ GLOBAL_ASM("asm/non_matchings/ovl2_7/func_801164D4.s")
|
||||
|
||||
extern const f32 D_80128D1C, D_80128D20, D_80128D24,D_80128D28;
|
||||
s32 random_soft_s32_range(s32);
|
||||
// i think the code is correct, but it needs shuffling (esp. that loop)
|
||||
// loop doesnt pad enough bytes
|
||||
#ifdef NON_MATCHING
|
||||
void func_80116508(s32 *arg0) {
|
||||
f32 temp_f0_2;
|
||||
@ -2655,8 +2655,10 @@ void func_80116508(s32 *arg0) {
|
||||
f32 temp_f2_3;
|
||||
f32 temp_f30;
|
||||
|
||||
D_800E98E0[*arg0] = 0;
|
||||
D_800EA6E0[*arg0] = gEntitiesPosYArray[*arg0];
|
||||
u32 tmp = *arg0;
|
||||
|
||||
D_800EA6E0[tmp] = gEntitiesPosYArray[tmp];
|
||||
D_800E98E0[tmp] = 0;
|
||||
temp_f30 = D_80128D1C;
|
||||
while (TRUE) {
|
||||
if (random_soft_s32_range(2) != 0) {
|
||||
@ -2664,19 +2666,19 @@ void func_80116508(s32 *arg0) {
|
||||
} else {
|
||||
D_800E3210[D_8004A7C4->objId] = -0.25f;
|
||||
}
|
||||
loop_4:
|
||||
// temp_v0 = D_800E98E0[*arg0];
|
||||
if (D_800E98E0[*arg0] == 0) {
|
||||
f32 temp_f0 = gEntitiesPosYArray[*arg0] - D_800EA6E0[*arg0];
|
||||
if (temp_f0 >= 15.0f) {
|
||||
D_800E3210[D_8004A7C4->objId] = -0.25f;
|
||||
} else if (temp_f0 <= -10.0f) {
|
||||
while (TRUE) {
|
||||
if (D_800E98E0[tmp] == 0) {
|
||||
f32 temp_f0 = gEntitiesPosYArray[tmp] - D_800EA6E0[tmp];
|
||||
if (temp_f0 >= 15.0f) {
|
||||
D_800E3210[D_8004A7C4->objId] = -0.25f;
|
||||
} else if (temp_f0 <= -10.0f) {
|
||||
D_800E3210[D_8004A7C4->objId] = 0.25f;
|
||||
}
|
||||
func_8000B6BC(1);
|
||||
goto loop_4;
|
||||
}
|
||||
func_8000B6BC(1);
|
||||
continue;
|
||||
} else break;
|
||||
}
|
||||
if (D_800E98E0[*arg0] == 1) {
|
||||
if (D_800E98E0[tmp] == 1) {
|
||||
D_800E3590[D_8004A7C4->objId] = 0.0f;
|
||||
D_800E3050[D_8004A7C4->objId] = D_800E3590[D_8004A7C4->objId];
|
||||
D_800E3AD0[D_8004A7C4->objId] = temp_f30;
|
||||
@ -2718,10 +2720,10 @@ void func_80116508(s32 *arg0) {
|
||||
temp_f2_2 = D_800E3E50[D_8004A7C4->objId];
|
||||
D_800E3C90[D_8004A7C4->objId] = temp_f2_2;
|
||||
D_800E3AD0[D_8004A7C4->objId] = temp_f2_2;
|
||||
D_800E98E0[*arg0] = 0;
|
||||
D_800E98E0[tmp] = 0;
|
||||
continue;
|
||||
}
|
||||
if (D_800E98E0[*arg0] != 2) {
|
||||
if (D_800E98E0[tmp] != 2) {
|
||||
continue;
|
||||
}
|
||||
D_800E3590[D_8004A7C4->objId] = 0.0f;
|
||||
@ -4045,24 +4047,20 @@ void func_80119168(void) {
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
void func_80119188(void *arg0) {
|
||||
u32 temp_v0;
|
||||
|
||||
if (D_800D6E20[D_800BE508] != 0) {
|
||||
func_80118A60(0x3C);
|
||||
} else {
|
||||
func_80118A60(0x1E);
|
||||
if (D_800D6E18 == 0) {
|
||||
loop_3:
|
||||
while (D_800D6E18 == 0) {
|
||||
func_8000B6BC(1);
|
||||
if (D_800D6E18 == 0) {
|
||||
goto loop_3;
|
||||
}
|
||||
}
|
||||
arg0->unk48 = &D_80114E80;
|
||||
func_800AECC0(D_800D6B10);
|
||||
func_800AED20(D_800D6B10);
|
||||
temp_v0 = D_8004A7C4->objId;
|
||||
func_800FD754(1, (bitwise f32) (bitwise s32) gEntitiesPosXArray[temp_v0], (bitwise f32) (bitwise s32) gEntitiesPosYArray[temp_v0], (bitwise f32) (bitwise s32) gEntitiesPosZArray[temp_v0]);
|
||||
func_800FD754(1,
|
||||
gEntitiesPosXArray[D_8004A7C4->objId],
|
||||
gEntitiesPosYArray[D_8004A7C4->objId],
|
||||
gEntitiesPosZArray[D_8004A7C4->objId]);
|
||||
}
|
||||
func_80008DA8(NULL);
|
||||
}
|
||||
|
@ -16,6 +16,25 @@ extern f32 D_800E17D0[];
|
||||
extern f32 D_800E6A10[];
|
||||
extern u32 D_800E1D10[];
|
||||
|
||||
extern u32 gSegment4StartArray[];
|
||||
|
||||
extern Gfx* gDisplayListHeads[4];
|
||||
|
||||
extern u32 D_800DD8D0[];
|
||||
extern u32 D_800E0650[];
|
||||
|
||||
extern Lights1 D_800BE548;
|
||||
|
||||
#define gSPDoubleLights1(pkt, lt)\
|
||||
{\
|
||||
gSPNumLights(pkt[0]++,NUMLIGHTS_1); \
|
||||
gSPNumLights(pkt[1]++,NUMLIGHTS_1); \
|
||||
gSPLight(pkt[0]++,&(lt).l[0],1); \
|
||||
gSPLight(pkt[1]++,&(lt).l[0],1); \
|
||||
gSPLight(pkt[0]++,&(lt).a,2); \
|
||||
gSPLight(pkt[1]++,&(lt).a,2); \
|
||||
}
|
||||
|
||||
extern f32 gEntitiesAngleXArray[];
|
||||
extern f32 gEntitiesAngleYArray[];
|
||||
extern f32 gEntitiesAngleZArray[];
|
||||
@ -231,25 +250,6 @@ s32 func_801BC794_ovl7(s32 arg0) {
|
||||
return idx;
|
||||
}
|
||||
|
||||
extern u32 gSegment4StartArray[];
|
||||
|
||||
extern Gfx* gDisplayListHeads[4];
|
||||
|
||||
extern u32 D_800DD8D0[];
|
||||
extern u32 D_800E0650[];
|
||||
|
||||
extern Lights1 D_800BE548;
|
||||
|
||||
#define gSPDoubleLights1(pkt, lt)\
|
||||
{\
|
||||
gSPNumLights(pkt[0]++,NUMLIGHTS_1); \
|
||||
gSPNumLights(pkt[1]++,NUMLIGHTS_1); \
|
||||
gSPLight(pkt[0]++,&(lt).l[0],1); \
|
||||
gSPLight(pkt[1]++,&(lt).l[0],1); \
|
||||
gSPLight(pkt[0]++,&(lt).a,2); \
|
||||
gSPLight(pkt[1]++,&(lt).a,2); \
|
||||
}
|
||||
|
||||
/**
|
||||
* Full explanation of the non-matching cause in this function:
|
||||
* - Some cases in this function do 2 gSPSetLights1's on D_800BE548.
|
||||
@ -302,7 +302,7 @@ void func_801BC978_ovl7(s32 *arg0) {
|
||||
gSPSetLights1(gDisplayListHeads[0]++, (*temp_a2));
|
||||
}
|
||||
func_800AB3A0(arg0);
|
||||
goto fum1; fum1:;
|
||||
// goto fum1; fum1:;
|
||||
gSPSetLights1(gDisplayListHeads[0]++, D_800BE548);
|
||||
break;
|
||||
case 14:
|
||||
|
@ -3,7 +3,7 @@ import sys, os,binascii, struct
|
||||
addrEnd = int(sys.argv[3], 16)
|
||||
addrStart = int(sys.argv[2], 16)
|
||||
|
||||
specificOvl = "_ovl3"
|
||||
specificOvl = "_ovl7"
|
||||
|
||||
|
||||
bssLimit = 0
|
||||
|
Loading…
Reference in New Issue
Block a user