mirror of
https://github.com/n64decomp/mk64
synced 2026-07-29 15:32:53 -04:00
More miscellaneous matches (#246)
And more mips_to_c refreshes Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
This commit is contained in:
+201
-248
@@ -125,12 +125,12 @@ s32 func_800061DC(Vec3f arg0, f32 arg1, s32 arg2) {
|
||||
}
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by m2c commit bece1d6db17040749f77dbbd090363cc6fb926f9
|
||||
//generated by m2c commit 3b40ab93768f52ac241c5ae84ef58ef6bc4cb1de
|
||||
extern ? D_80163258;
|
||||
extern ? D_80163270;
|
||||
extern ? D_80163288;
|
||||
|
||||
void func_800065D0(s32 arg0, void *arg1) {
|
||||
void func_800065D0(s32 arg0, Player *player) {
|
||||
Player *temp_a3;
|
||||
Player *temp_a3_2;
|
||||
s16 temp_t2;
|
||||
@@ -142,7 +142,7 @@ void func_800065D0(s32 arg0, void *arg1) {
|
||||
u16 temp_t9;
|
||||
|
||||
temp_v0 = arg0 * 2;
|
||||
temp_t2 = (s16) ((s16) arg1->unk2E / 182) - (s16) ((s16) D_80164590[(s16) gPathIndexByPlayerId[arg0]][gNearestWaypointByPlayerId[arg0]] / 182);
|
||||
temp_t2 = (s16) ((s16) player->unk_02E / 182) - (s16) ((s16) D_80164590[(s16) gPathIndexByPlayerId[arg0]][gNearestWaypointByPlayerId[arg0]] / 182);
|
||||
var_t1 = temp_t2;
|
||||
if (temp_t2 < 0) {
|
||||
var_t1 = temp_t2 * -1;
|
||||
@@ -934,7 +934,7 @@ GLOBAL_ASM("asm/non_matchings/code_80005FD0/func_800070F4.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by m2c commit bece1d6db17040749f77dbbd090363cc6fb926f9
|
||||
//generated by m2c commit 3b40ab93768f52ac241c5ae84ef58ef6bc4cb1de
|
||||
extern ? D_801643D8;
|
||||
extern ? D_801643E0;
|
||||
|
||||
@@ -1025,25 +1025,25 @@ void func_800074D4(void) {
|
||||
var_t0 = 0;
|
||||
var_a0_2 = &gPlayers[0];
|
||||
do {
|
||||
if ((var_a0_2->unk_000 & 0x800) != 0) {
|
||||
if (var_a0_2->unk_000 & 0x800) {
|
||||
(&sp68[0])[var_v0] = var_t0;
|
||||
temp_t9 = &gCourseCompletionPercentByRank[var_v0];
|
||||
var_v0 += 1;
|
||||
*temp_t9 = -gTimePlayerLastTouchedFinishLine[var_t0].unk0;
|
||||
}
|
||||
if ((var_a0_2->unkDD8 & 0x800) != 0) {
|
||||
if (var_a0_2->unkDD8 & 0x800) {
|
||||
(&sp68[0])[var_v0] = var_t0 + 1;
|
||||
temp_t8 = &gCourseCompletionPercentByRank[var_v0];
|
||||
var_v0 += 1;
|
||||
*temp_t8 = -gTimePlayerLastTouchedFinishLine[var_t0].unk4;
|
||||
}
|
||||
if ((var_a0_2->unk1BB0 & 0x800) != 0) {
|
||||
if (var_a0_2->unk1BB0 & 0x800) {
|
||||
(&sp68[0])[var_v0] = var_t0 + 2;
|
||||
temp_t7 = &gCourseCompletionPercentByRank[var_v0];
|
||||
var_v0 += 1;
|
||||
*temp_t7 = -gTimePlayerLastTouchedFinishLine[var_t0].unk8;
|
||||
}
|
||||
if ((var_a0_2->unk2988 & 0x800) != 0) {
|
||||
if (var_a0_2->unk2988 & 0x800) {
|
||||
(&sp68[0])[var_v0] = var_t0 + 3;
|
||||
temp_t6 = &gCourseCompletionPercentByRank[var_v0];
|
||||
var_v0 += 1;
|
||||
@@ -1056,25 +1056,25 @@ void func_800074D4(void) {
|
||||
temp_t1 = var_v0;
|
||||
var_a0_3 = &gPlayers[0];
|
||||
do {
|
||||
if ((var_a0_3->unk_000 & 0x800) == 0) {
|
||||
if (!(var_a0_3->unk_000 & 0x800)) {
|
||||
(&sp68[0])[var_v0] = var_t0_2;
|
||||
temp_t6_2 = &gCourseCompletionPercentByRank[var_v0];
|
||||
var_v0 += 1;
|
||||
*temp_t6_2 = gCourseCompletionPercentByPlayerId[var_t0_2].unk0;
|
||||
}
|
||||
if ((var_a0_3->unkDD8 & 0x800) == 0) {
|
||||
if (!(var_a0_3->unkDD8 & 0x800)) {
|
||||
(&sp68[0])[var_v0] = var_t0_2 + 1;
|
||||
temp_t9_2 = &gCourseCompletionPercentByRank[var_v0];
|
||||
var_v0 += 1;
|
||||
*temp_t9_2 = gCourseCompletionPercentByPlayerId[var_t0_2].unk4;
|
||||
}
|
||||
if ((var_a0_3->unk1BB0 & 0x800) == 0) {
|
||||
if (!(var_a0_3->unk1BB0 & 0x800)) {
|
||||
(&sp68[0])[var_v0] = var_t0_2 + 2;
|
||||
temp_t8_2 = &gCourseCompletionPercentByRank[var_v0];
|
||||
var_v0 += 1;
|
||||
*temp_t8_2 = gCourseCompletionPercentByPlayerId[var_t0_2].unk8;
|
||||
}
|
||||
if ((var_a0_3->unk2988 & 0x800) == 0) {
|
||||
if (!(var_a0_3->unk2988 & 0x800)) {
|
||||
(&sp68[0])[var_v0] = var_t0_2 + 3;
|
||||
temp_t7_2 = &gCourseCompletionPercentByRank[var_v0];
|
||||
var_v0 += 1;
|
||||
@@ -1091,7 +1091,7 @@ void func_800074D4(void) {
|
||||
var_v0_2 = var_a3_2;
|
||||
if (var_a3_2 < temp_t1) {
|
||||
temp_a0 = &gCourseCompletionPercentByRank[var_t0_3];
|
||||
if (((temp_t1 - var_a3_2) & 1) != 0) {
|
||||
if ((temp_t1 - var_a3_2) & 1) {
|
||||
temp_t4 = &gCourseCompletionPercentByRank[var_a3_2];
|
||||
temp_f2 = *temp_t4;
|
||||
temp_f0 = *temp_a0;
|
||||
@@ -1151,7 +1151,7 @@ block_41:
|
||||
var_v0_3 = var_a3_3;
|
||||
if (var_a3_3 < 8) {
|
||||
temp_a0_2 = &gCourseCompletionPercentByRank[var_t0_4];
|
||||
if (((8 - var_a3_3) & 1) != 0) {
|
||||
if ((8 - var_a3_3) & 1) {
|
||||
temp_t4_2 = &gCourseCompletionPercentByRank[var_a3_3];
|
||||
temp_f2_4 = *temp_t4_2;
|
||||
temp_f0_3 = *temp_a0_2;
|
||||
@@ -1454,176 +1454,147 @@ GLOBAL_ASM("asm/non_matchings/code_80005FD0/func_80007FA4.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
? func_80007D04(f32, s32, void *, s32, void *); // extern
|
||||
? func_80007FA4(f32, void *, f32, void *); // extern
|
||||
s32 func_800088D8(f32, s32, s16, s16, void *); // extern
|
||||
? func_80030FC8(f32, void *, void *, s32, void *); // extern
|
||||
? func_80031F48(f32, void *, ?, s32, void *); // extern
|
||||
extern f32 D_800ECF9C;
|
||||
extern f32 D_800ECFA0;
|
||||
//generated by m2c commit 3b40ab93768f52ac241c5ae84ef58ef6bc4cb1de
|
||||
? func_80007D04(f32, s32, Player *, s32, Player *); /* extern */
|
||||
? func_80007FA4(f32, Player *, f32, Player *); /* extern */
|
||||
s32 func_800088D8(f32, s32, s16, s16, Player *); /* extern */
|
||||
extern ? D_801631E0;
|
||||
extern ? D_80163330;
|
||||
extern ? D_80163350;
|
||||
extern ? D_801634D8;
|
||||
extern ? D_80164392;
|
||||
extern ? D_8016440A;
|
||||
s16 gCurrentCourseId; /* unable to generate initializer */
|
||||
|
||||
void func_80008424(s32 arg0, f32 arg1, void *arg2) {
|
||||
void func_80008424(s32 arg0, f32 arg1, Player *player) {
|
||||
f32 sp34;
|
||||
void *sp28;
|
||||
s32 sp28;
|
||||
s32 sp1C;
|
||||
f32 temp_f12;
|
||||
f32 temp_f2;
|
||||
f32 var_f0;
|
||||
f32 var_f12;
|
||||
s32 temp_t5;
|
||||
s32 temp_v0;
|
||||
s32 temp_v0_2;
|
||||
s32 temp_v0_3;
|
||||
s32 temp_v0_5;
|
||||
s32 temp_v1;
|
||||
s32 var_a1;
|
||||
u16 temp_v0_4;
|
||||
void *temp_a0;
|
||||
void *temp_a3;
|
||||
f32 phi_f0;
|
||||
void *phi_a1;
|
||||
f32 phi_f12;
|
||||
void *phi_a3;
|
||||
|
||||
temp_v1 = arg2->unkBC;
|
||||
temp_f12 = arg1;
|
||||
temp_a3 = arg2;
|
||||
temp_f2 = arg2->unk94;
|
||||
phi_a3 = temp_a3;
|
||||
phi_f12 = temp_f12;
|
||||
phi_f12 = temp_f12;
|
||||
if (((temp_v1 & 0x80) == 0) && ((temp_v1 & 0x40) == 0) && ((temp_v1 << 0xE) >= 0) && (temp_v0 = arg2->unkC, ((temp_v0 << 9) >= 0)) && ((temp_v0 << 7) >= 0) && ((temp_v0 & 2) == 0) && ((temp_v0 & 4) == 0)) {
|
||||
if (gCurrentCourseId == 0x14) {
|
||||
func_80007FA4(temp_f12, arg2, temp_f2, temp_a3);
|
||||
temp_v1 = player->unk_0BC;
|
||||
var_f12 = arg1;
|
||||
temp_f2 = player->unk_094;
|
||||
if (!(temp_v1 & 0x80) && !(temp_v1 & 0x40) && ((temp_v1 << 0xE) >= 0) && (temp_v0 = player->unk_00C, ((temp_v0 << 9) >= 0)) && ((temp_v0 << 7) >= 0) && !(temp_v0 & 2) && !(temp_v0 & 4)) {
|
||||
if (gCurrentCourseId == 0x0014) {
|
||||
func_80007FA4(var_f12, player, temp_f2, player);
|
||||
return;
|
||||
}
|
||||
temp_t5 = arg0 * 2;
|
||||
if ((*(&D_801634D8 + temp_t5) == 1) && (temp_a0 = temp_a3, ((temp_v1 & 0x80000200) == 0))) {
|
||||
arg2 = temp_a3;
|
||||
func_80031F48(temp_f12, temp_a0, 0x41200000, temp_t5, temp_a3);
|
||||
if (arg2->unk9C == 0.0) {
|
||||
arg2->unk34 = 0.0f;
|
||||
arg2->unk3C = 0.0f;
|
||||
return;
|
||||
}
|
||||
// Duplicate return node #55. Try simplifying control flow for better match
|
||||
return;
|
||||
}
|
||||
temp_v0_2 = gCCSelection;
|
||||
phi_f0 = D_800ECF9C;
|
||||
if (temp_v0_2 != CC_50) {
|
||||
if (temp_v0_2 != CC_100) {
|
||||
if (temp_v0_2 != CC_150) {
|
||||
if (temp_v0_2 != CC_EXTRA) {
|
||||
|
||||
}
|
||||
} else {
|
||||
phi_f0 = 3.75f;
|
||||
}
|
||||
if ((*(&D_801634D8 + temp_t5) == (s16) 1) && !(temp_v1 & 0x80000200)) {
|
||||
func_80031F48(player, 10.0f);
|
||||
if ((f64) player->unk_09C == 0.0) {
|
||||
player->unk_034[0] = 0.0f;
|
||||
player->unk_034[2] = 0.0f;
|
||||
}
|
||||
} else {
|
||||
phi_f0 = 2.5f;
|
||||
}
|
||||
if (temp_f2 < phi_f0) {
|
||||
temp_a3->unkBC = temp_v1 & 0xFFDFFFFF;
|
||||
func_80030FC8(temp_f12, temp_a3, arg2, temp_t5, temp_a3);
|
||||
return;
|
||||
}
|
||||
if ((temp_a3->unk0 & 0x800) != 0) {
|
||||
if (temp_f2 < temp_f12) {
|
||||
temp_a3->unkBC = temp_v1 & 0xFFDFFFFF;
|
||||
func_80030FC8(temp_f12, temp_a3, arg2, temp_t5, temp_a3);
|
||||
temp_v0_2 = gCCSelection;
|
||||
var_f0 = 3.3333333f;
|
||||
switch (temp_v0_2) { /* irregular */
|
||||
case 1:
|
||||
case 3:
|
||||
break;
|
||||
case 0:
|
||||
var_f0 = 2.5f;
|
||||
break;
|
||||
case 2:
|
||||
var_f0 = 3.75f;
|
||||
break;
|
||||
}
|
||||
if (temp_f2 < var_f0) {
|
||||
player->unk_0BC = temp_v1 & 0xFFDFFFFF;
|
||||
func_80030FC8(player);
|
||||
return;
|
||||
}
|
||||
temp_a3->unkBC = temp_v1 & 0xFFDFFFFF;
|
||||
func_80031F48(temp_f12, temp_a3, 0x3F800000, temp_t5, temp_a3);
|
||||
return;
|
||||
}
|
||||
if ((*(&D_801631E0 + temp_t5) == 1) && (*(&D_80163330 + temp_t5) != 1)) {
|
||||
temp_v0_3 = arg0 * 4;
|
||||
arg2 = temp_a3;
|
||||
if (func_800088D8(temp_f12, arg0, *(&D_80164392 + temp_v0_3), *(&D_8016440A + temp_v0_3), temp_a3) == 1) {
|
||||
arg2->unkBC = arg2->unkBC | 0x200000;
|
||||
func_80030FC8((bitwise f32) arg2);
|
||||
return;
|
||||
}
|
||||
arg2->unkBC = arg2->unkBC & 0xFFDFFFFF;
|
||||
func_80031F48((bitwise f32) arg2, 0x3F800000);
|
||||
return;
|
||||
}
|
||||
temp_v0_4 = *(&D_80163350 + temp_t5);
|
||||
phi_a1 = 1;
|
||||
if (temp_v0_4 != 0) {
|
||||
if (temp_v0_4 != 1) {
|
||||
if (temp_v0_4 != 2) {
|
||||
if (temp_v0_4 != 3) {
|
||||
goto block_41;
|
||||
}
|
||||
temp_a3->unkBC = temp_v1 | 0x200000;
|
||||
arg1 = temp_f12;
|
||||
sp34 = temp_f2;
|
||||
arg2 = temp_a3;
|
||||
sp1C = temp_t5;
|
||||
sp28 = 1;
|
||||
func_80030FC8(temp_f12, temp_a3, 1, temp_t5, temp_a3);
|
||||
phi_f12 = arg1;
|
||||
phi_a3 = arg2;
|
||||
} else {
|
||||
if (((temp_f2 / 18.0f) * 216.0f) > 20.0f) {
|
||||
phi_f12 = D_800ECFA0;
|
||||
}
|
||||
goto block_41;
|
||||
if (player->unk_000 & 0x800) {
|
||||
if (temp_f2 < var_f12) {
|
||||
player->unk_0BC = temp_v1 & 0xFFDFFFFF;
|
||||
func_80030FC8(player);
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
temp_a3->unkBC = temp_v1 & 0xFFDFFFFF;
|
||||
arg1 = temp_f12;
|
||||
player->unk_0BC = temp_v1 & 0xFFDFFFFF;
|
||||
func_80031F48(player, 1.0f);
|
||||
return;
|
||||
}
|
||||
if ((*(&D_801631E0 + temp_t5) == (u16) 1) && (*(&D_80163330 + temp_t5) != (u16) 1)) {
|
||||
temp_v0_3 = arg0 * 4;
|
||||
if (func_800088D8(var_f12, arg0, *(&D_80164392 + temp_v0_3), *(&D_8016440A + temp_v0_3), player) == 1) {
|
||||
player->unk_0BC |= 0x200000;
|
||||
func_80030FC8(player);
|
||||
return;
|
||||
}
|
||||
player->unk_0BC &= 0xFFDFFFFF;
|
||||
func_80031F48(player, 1.0f);
|
||||
return;
|
||||
}
|
||||
temp_v0_4 = *(&D_80163350 + temp_t5);
|
||||
switch (temp_v0_4) { /* switch 1; irregular */
|
||||
case 1: /* switch 1 */
|
||||
player->unk_0BC = temp_v1 & 0xFFDFFFFF;
|
||||
sp34 = temp_f2;
|
||||
arg2 = temp_a3;
|
||||
sp1C = temp_t5;
|
||||
sp28 = 1;
|
||||
func_80030FC8(temp_f12, temp_a3, 1, temp_t5, temp_a3);
|
||||
phi_f12 = arg1;
|
||||
phi_a3 = arg2;
|
||||
func_80030FC8(player);
|
||||
var_a1 = 1;
|
||||
var_f12 = arg1;
|
||||
break;
|
||||
case 3: /* switch 1 */
|
||||
player->unk_0BC = temp_v1 | 0x200000;
|
||||
sp34 = temp_f2;
|
||||
sp1C = temp_t5;
|
||||
sp28 = 1;
|
||||
func_80030FC8(player);
|
||||
var_a1 = 1;
|
||||
var_f12 = arg1;
|
||||
break;
|
||||
case 2: /* switch 1 */
|
||||
if (((temp_f2 / 18.0f) * 216.0f) > 20.0f) {
|
||||
var_f12 = 1.6666666f;
|
||||
}
|
||||
/* fallthrough */
|
||||
default: /* switch 1 */
|
||||
case 0: /* switch 1 */
|
||||
var_a1 = 0;
|
||||
break;
|
||||
}
|
||||
if (var_a1 != 1) {
|
||||
if (temp_f2 < var_f12) {
|
||||
if ((D_800DC51C == (u16) 1) && (gCurrentCourseId != 0x0014)) {
|
||||
func_80030FC8(player);
|
||||
return;
|
||||
}
|
||||
temp_v0_5 = arg0 * 4;
|
||||
if (*(&D_80163330 + temp_t5) == (u16) 1) {
|
||||
func_80007D04(var_f12, arg0, player, temp_t5, player);
|
||||
return;
|
||||
}
|
||||
if (func_800088D8(var_f12, arg0, *(&D_80164392 + temp_v0_5), *(&D_8016440A + temp_v0_5), player) == 1) {
|
||||
player->unk_0BC |= 0x200000;
|
||||
func_80030FC8(player);
|
||||
return;
|
||||
}
|
||||
player->unk_0BC &= 0xFFDFFFFF;
|
||||
func_80031F48(player, 1.0f);
|
||||
return;
|
||||
}
|
||||
player->unk_0BC &= 0xFFDFFFFF;
|
||||
if (var_f12 > 1.0f) {
|
||||
func_80031F48(player, 2.0f);
|
||||
return;
|
||||
}
|
||||
func_80031F48(player, 5.0f);
|
||||
}
|
||||
} else {
|
||||
block_41:
|
||||
phi_a1 = NULL;
|
||||
}
|
||||
if (phi_a1 != 1) {
|
||||
if (arg2->unk94 < phi_f12) {
|
||||
if ((D_800DC51C == 1) && (gCurrentCourseId != 0x14)) {
|
||||
func_80030FC8(phi_f12, phi_a3, phi_a1, arg0 * 2, phi_a3);
|
||||
return;
|
||||
}
|
||||
temp_v0_5 = arg0 * 4;
|
||||
if (*(&D_80163330 + (arg0 * 2)) == 1) {
|
||||
func_80007D04(phi_f12, arg0, phi_a3, arg0 * 2, phi_a3);
|
||||
return;
|
||||
}
|
||||
arg2 = phi_a3;
|
||||
if (func_800088D8(phi_f12, arg0, *(&D_80164392 + temp_v0_5), *(&D_8016440A + temp_v0_5), phi_a3) == 1) {
|
||||
arg2->unkBC = arg2->unkBC | 0x200000;
|
||||
func_80030FC8((bitwise f32) arg2);
|
||||
return;
|
||||
}
|
||||
arg2->unkBC = arg2->unkBC & 0xFFDFFFFF;
|
||||
func_80031F48((bitwise f32) arg2, 0x3F800000);
|
||||
return;
|
||||
}
|
||||
phi_a3->unkBC = phi_a3->unkBC & 0xFFDFFFFF;
|
||||
if (phi_f12 > 1.0f) {
|
||||
func_80031F48(phi_f12, phi_a3, 0x40000000, arg0 * 2, phi_a3);
|
||||
return;
|
||||
}
|
||||
func_80031F48(phi_f12, phi_a3, 0x40A00000, arg0 * 2, phi_a3);
|
||||
// Duplicate return node #55. Try simplifying control flow for better match
|
||||
return;
|
||||
}
|
||||
// Duplicate return node #55. Try simplifying control flow for better match
|
||||
}
|
||||
}
|
||||
#else
|
||||
@@ -3763,17 +3734,13 @@ GLOBAL_ASM("asm/non_matchings/code_80005FD0/func_8000D3B8.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
s32 func_8000B820(s32); // extern
|
||||
? func_8000BBD8(s32, f32, s16, u16); // extern
|
||||
f32 func_8000D3B8(s32, u16); // extern
|
||||
//generated by m2c commit 3b40ab93768f52ac241c5ae84ef58ef6bc4cb1de
|
||||
? func_8000BBD8(s32, f32, s16, u16); /* extern */
|
||||
f32 func_8000D3B8(s32, u16); /* extern */
|
||||
extern ? D_80162FA0;
|
||||
extern ? D_80163068;
|
||||
extern s32 D_801631D8;
|
||||
extern ? D_80163380;
|
||||
extern s16 D_8016344A;
|
||||
extern u16 D_80164430;
|
||||
extern s32 D_801645E0;
|
||||
s16 gCurrentCourseId; /* unable to generate initializer */
|
||||
|
||||
void func_8000D438(s32 arg0, u16 arg1) {
|
||||
f32 sp48;
|
||||
@@ -3789,74 +3756,66 @@ void func_8000D438(s32 arg0, u16 arg1) {
|
||||
s16 temp_v1;
|
||||
s32 temp_a0;
|
||||
s32 temp_hi;
|
||||
s32 temp_t0;
|
||||
s32 var_a2;
|
||||
s32 var_a2_2;
|
||||
u16 temp_a3;
|
||||
u16 temp_a3_2;
|
||||
s32 phi_a2;
|
||||
s32 phi_a2_2;
|
||||
s32 phi_a2_3;
|
||||
s32 phi_v0;
|
||||
|
||||
temp_a3 = arg1 & 0xFFFF;
|
||||
temp_t0 = temp_a3 * 2;
|
||||
temp_v1 = *(D_801645E0 + temp_t0);
|
||||
temp_v1 = D_801645E0[temp_a3];
|
||||
sp28 = 6;
|
||||
sp1C = temp_t0;
|
||||
sp1C = temp_a3 * 2;
|
||||
arg1 = temp_a3;
|
||||
sp26 = temp_v1;
|
||||
temp_v0 = gCurrentCourseId;
|
||||
var_a2 = 6;
|
||||
sp2C = func_8000D3B8(6, temp_a3);
|
||||
phi_a2 = 6;
|
||||
if (temp_v0 != 4) {
|
||||
if (temp_v0 != 0xA) {
|
||||
if (temp_v0 == 0x14) {
|
||||
phi_a2 = 1;
|
||||
if (temp_v0 != 0x000A) {
|
||||
if (temp_v0 == 0x0014) {
|
||||
var_a2 = 1;
|
||||
} else if (temp_v1 < 6) {
|
||||
phi_a2 = 8;
|
||||
var_a2 = 8;
|
||||
} else if (temp_v1 >= 0x15) {
|
||||
phi_a2 = 0x14;
|
||||
var_a2 = 0x00000014;
|
||||
}
|
||||
} else {
|
||||
phi_a2 = 7;
|
||||
var_a2 = 7;
|
||||
}
|
||||
}
|
||||
phi_a2_2 = phi_a2;
|
||||
phi_a2_2 = phi_a2;
|
||||
if (phi_a2 >= 8) {
|
||||
temp_f0 = *(&D_80163068 + (arg0 * 4));
|
||||
if ((temp_f0 > 0.75f) && (*(D_801631D8 + temp_t0) == 0)) {
|
||||
phi_a2_2 = 7;
|
||||
if (var_a2 >= 8) {
|
||||
temp_f0 = D_80163068[arg0];
|
||||
if ((temp_f0 > 0.75f) && (D_801631D8[temp_a3] == 0)) {
|
||||
var_a2 = 7;
|
||||
}
|
||||
if ((temp_f0 < -0.75f) && (*(D_801631D8 + temp_t0) == 1)) {
|
||||
phi_a2_2 = 7;
|
||||
if ((temp_f0 < -0.75f) && (D_801631D8[temp_a3] == 1)) {
|
||||
var_a2 = 7;
|
||||
}
|
||||
}
|
||||
sp28 = phi_a2_2;
|
||||
sp28 = var_a2;
|
||||
arg1 = arg1;
|
||||
var_a2_2 = var_a2;
|
||||
temp_a3_2 = arg1;
|
||||
phi_a2_3 = phi_a2_2;
|
||||
if (func_8000B820(arg0) == 1) {
|
||||
phi_a2_3 = 5;
|
||||
var_a2_2 = 5;
|
||||
}
|
||||
temp_v1_2 = (arg0 * 2) + &D_80163380;
|
||||
temp_v0_2 = *temp_v1_2;
|
||||
if (temp_v0_2 < phi_a2_3) {
|
||||
if (temp_v0_2 < var_a2_2) {
|
||||
*temp_v1_2 = temp_v0_2 + 1;
|
||||
}
|
||||
phi_v0 = *temp_v1_2;
|
||||
if (phi_a2_3 < *temp_v1_2) {
|
||||
*temp_v1_2 = *temp_v1_2 - 1;
|
||||
phi_v0 = *temp_v1_2;
|
||||
if (var_a2_2 < *temp_v1_2) {
|
||||
*temp_v1_2 -= 1;
|
||||
}
|
||||
temp_hi = (phi_v0 + temp_a3_2) % D_80164430;
|
||||
temp_hi = (s32) (*temp_v1_2 + temp_a3_2) % (s32) D_80164430;
|
||||
temp_a0 = temp_hi & 0xFFFF;
|
||||
arg1 = temp_hi;
|
||||
arg1 = (u16) temp_hi;
|
||||
func_8000BBD8(temp_a0, sp2C, D_8016344A, temp_a3_2);
|
||||
sp48 = D_80162FA0.unk0;
|
||||
sp44 = D_80162FA0.unk8;
|
||||
func_8000BBD8(((arg1 + 1) % D_80164430) & 0xFFFF, sp2C, D_8016344A, arg1);
|
||||
D_80162FA0.unk0 = (sp48 + D_80162FA0.unk0) * 0.5f;
|
||||
D_80162FA0.unk8 = (sp44 + D_80162FA0.unk8) * 0.5f;
|
||||
func_8000BBD8(((s32) (arg1 + 1) % (s32) D_80164430) & 0xFFFF, sp2C, D_8016344A, arg1);
|
||||
D_80162FA0.unk0 = (f32) ((sp48 + D_80162FA0.unk0) * 0.5f);
|
||||
D_80162FA0.unk8 = (f32) ((sp44 + D_80162FA0.unk8) * 0.5f);
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80005FD0/func_8000D438.s")
|
||||
@@ -3940,15 +3899,11 @@ GLOBAL_ASM("asm/non_matchings/code_80005FD0/func_8000D6D0.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
? func_80005FD0(f32, f32, f32 *, void *); // extern
|
||||
? func_8000BBD8(u16, s32, s16, s32); // extern
|
||||
s16 func_8000D2B4(f32, f32, f32, s16, s32); // extern
|
||||
extern f32 D_800ED000;
|
||||
//generated by m2c commit 3b40ab93768f52ac241c5ae84ef58ef6bc4cb1de
|
||||
? func_8000BBD8(u16, s32, s16, s32); /* extern */
|
||||
extern ? D_80162FA0;
|
||||
extern ? gWaypointCountByPathIndex;
|
||||
|
||||
void func_8000D940(void *arg0, s16 *arg1, f32 arg2, s32 arg3, s16 arg4) {
|
||||
void func_8000D940(Vec3f arg0, s16 *arg1, f32 arg2, s32 arg3, s16 pathIndex) {
|
||||
s16 spA8;
|
||||
u16 spA6;
|
||||
f32 spA0;
|
||||
@@ -3968,71 +3923,69 @@ void func_8000D940(void *arg0, s16 *arg1, f32 arg2, s32 arg3, s16 arg4) {
|
||||
f32 temp_f24;
|
||||
f32 temp_f4;
|
||||
f32 temp_f4_2;
|
||||
s16 *temp_v0_2;
|
||||
f32 var_f12;
|
||||
f32 var_f14;
|
||||
f32 var_f2;
|
||||
s16 temp_v0;
|
||||
s32 temp_a3;
|
||||
s32 temp_t2;
|
||||
s32 temp_v1;
|
||||
struct TrackWayPoint *temp_v0_2;
|
||||
u16 temp_t0;
|
||||
f32 phi_f2;
|
||||
f32 phi_f12;
|
||||
f32 phi_f14;
|
||||
|
||||
sp54 = arg0->unk0;
|
||||
sp58 = arg0->unk4;
|
||||
temp_t0 = *(&gWaypointCountByPathIndex + (arg4 * 2));
|
||||
temp_t0 = gWaypointCountByPathIndex[pathIndex];
|
||||
sp5C = arg0->unk8;
|
||||
temp_f24 = arg0->unk8;
|
||||
temp_f20 = arg0->unk0;
|
||||
temp_f22 = arg0->unk4;
|
||||
sp60 = temp_t0;
|
||||
temp_v0 = func_8000D2B4(temp_f20, temp_f22, temp_f24, *arg1, arg4);
|
||||
sp60 = (s32) temp_t0;
|
||||
temp_v0 = func_8000D2B4(temp_f20, temp_f22, temp_f24, *arg1, (s32) pathIndex);
|
||||
temp_v1 = temp_v0 + temp_t0;
|
||||
temp_t2 = temp_v1 - 4;
|
||||
temp_a3 = (temp_v1 - 3) % temp_t0;
|
||||
temp_a3 = (s32) (temp_v1 - 3) % (s32) temp_t0;
|
||||
*arg1 = temp_v0;
|
||||
spA8 = temp_a3;
|
||||
spA6 = temp_t2 % temp_t0;
|
||||
func_8000BBD8(temp_a3 & 0xFFFF, arg3, arg4, temp_a3);
|
||||
spA8 = (s16) temp_a3;
|
||||
spA6 = (u16) (temp_t2 % (s32) temp_t0);
|
||||
func_8000BBD8(temp_a3 & 0xFFFF, arg3, pathIndex, temp_a3);
|
||||
temp_f4 = D_80162FA0.unk8;
|
||||
spA0 = D_80162FA0.unk0;
|
||||
sp98 = temp_f4;
|
||||
func_8000BBD8(spA6, arg3, arg4);
|
||||
temp_v0_2 = (&D_80164550)[arg4];
|
||||
temp_f18 = (((temp_v0_2 + (spA6 * 8))->unk2 + (temp_v0_2 + (spA8 * 8))->unk2) * 0.5f) - temp_f22;
|
||||
func_8000BBD8(spA6, arg3, pathIndex);
|
||||
temp_v0_2 = D_80164550[pathIndex];
|
||||
temp_f18 = ((f32) (temp_v0_2[(s16) spA6].wayPointY + temp_v0_2[spA8].wayPointY) * 0.5f) - temp_f22;
|
||||
temp_f16 = ((spA0 + D_80162FA0.unk0) * 0.5f) - temp_f20;
|
||||
sp4C = temp_f18;
|
||||
sp50 = temp_f16;
|
||||
temp_f4_2 = ((temp_f4 + D_80162FA0.unk8) * 0.5f) - temp_f24;
|
||||
sp48 = temp_f4_2;
|
||||
temp_f0 = sqrtf((temp_f16 * temp_f16) + (temp_f18 * temp_f18) + (temp_f4_2 * temp_f4_2));
|
||||
if (D_800ED000 < temp_f0) {
|
||||
phi_f2 = ((temp_f16 * arg2) / temp_f0) + temp_f20;
|
||||
phi_f12 = ((temp_f18 * arg2) / temp_f0) + temp_f22;
|
||||
phi_f14 = ((sp48 * arg2) / temp_f0) + temp_f24;
|
||||
if (temp_f0 > 0.01f) {
|
||||
var_f2 = ((temp_f16 * arg2) / temp_f0) + temp_f20;
|
||||
var_f12 = ((temp_f18 * arg2) / temp_f0) + temp_f22;
|
||||
var_f14 = ((sp48 * arg2) / temp_f0) + temp_f24;
|
||||
} else {
|
||||
phi_f2 = temp_f20;
|
||||
phi_f12 = temp_f22;
|
||||
phi_f14 = temp_f24;
|
||||
var_f2 = temp_f20;
|
||||
var_f12 = temp_f22;
|
||||
var_f14 = temp_f24;
|
||||
}
|
||||
arg0->unk0 = phi_f2;
|
||||
arg0->unk4 = phi_f12;
|
||||
arg0->unk8 = phi_f14;
|
||||
func_80005FD0(phi_f12, phi_f14, &sp54, arg0);
|
||||
arg0->unk0 = var_f2;
|
||||
arg0->unk4 = var_f12;
|
||||
arg0->unk8 = var_f14;
|
||||
func_80005FD0(&sp54, arg0);
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80005FD0/func_8000D940.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
? func_80005FD0(f32, f32, f32 *, void *); // extern
|
||||
s16 func_8000D100(f32, f32, f32, s16); // extern
|
||||
extern f32 D_800ED004;
|
||||
//generated by m2c commit 3b40ab93768f52ac241c5ae84ef58ef6bc4cb1de
|
||||
s16 func_8000D100(f32, f32, f32, s16); /* extern */
|
||||
extern s32 D_80163598;
|
||||
extern s32 D_8016359C;
|
||||
|
||||
void func_8000DBAC(void *arg0, s16 *arg1, f32 arg2) {
|
||||
void func_8000DBAC(Vec3f arg0, s16 *arg1, f32 arg2) {
|
||||
f32 sp98;
|
||||
f32 sp94;
|
||||
f32 sp40;
|
||||
@@ -4046,13 +3999,13 @@ void func_8000DBAC(void *arg0, s16 *arg1, f32 arg2) {
|
||||
f32 temp_f16;
|
||||
f32 temp_f18;
|
||||
f32 temp_f2;
|
||||
f32 var_f12;
|
||||
f32 var_f14;
|
||||
s16 temp_v0;
|
||||
s32 temp_a1;
|
||||
s32 temp_v1;
|
||||
void *temp_a0;
|
||||
void *temp_a2;
|
||||
f32 phi_f12;
|
||||
f32 phi_f14;
|
||||
|
||||
temp_f12 = arg0->unk0;
|
||||
temp_f14 = arg0->unk4;
|
||||
@@ -4066,24 +4019,24 @@ void func_8000DBAC(void *arg0, s16 *arg1, f32 arg2) {
|
||||
*arg1 = temp_v0;
|
||||
temp_v1 = D_8016359C;
|
||||
temp_a1 = D_80163598;
|
||||
temp_a0 = (((temp_v0 + 3) % temp_v1) * 4) + temp_a1;
|
||||
temp_a2 = (((temp_v0 + 4) % temp_v1) * 4) + temp_a1;
|
||||
temp_f16 = ((temp_a0->unk0 + temp_a2->unk0) * 0.5f) - temp_f12;
|
||||
temp_f18 = ((temp_a0->unk2 + temp_a2->unk2) * 0.5f) - temp_f2;
|
||||
temp_a0 = ((s16) ((s32) (temp_v0 + 3) % temp_v1) * 4) + temp_a1;
|
||||
temp_a2 = ((s16) ((s32) (temp_v0 + 4) % temp_v1) * 4) + temp_a1;
|
||||
temp_f16 = ((f32) (temp_a0->unk0 + temp_a2->unk0) * 0.5f) - temp_f12;
|
||||
temp_f18 = ((f32) (temp_a0->unk2 + temp_a2->unk2) * 0.5f) - temp_f2;
|
||||
sp34 = temp_f16;
|
||||
sp30 = temp_f18;
|
||||
temp_f0 = sqrtf((temp_f16 * temp_f16) + (temp_f18 * temp_f18));
|
||||
if (D_800ED004 < temp_f0) {
|
||||
phi_f12 = ((temp_f16 * arg2) / temp_f0) + temp_f12;
|
||||
phi_f14 = ((temp_f18 * arg2) / temp_f0) + temp_f2;
|
||||
if (temp_f0 > 0.01f) {
|
||||
var_f12 = ((temp_f16 * arg2) / temp_f0) + temp_f12;
|
||||
var_f14 = ((temp_f18 * arg2) / temp_f0) + temp_f2;
|
||||
} else {
|
||||
phi_f12 = temp_f12;
|
||||
phi_f14 = temp_f2;
|
||||
var_f12 = temp_f12;
|
||||
var_f14 = temp_f2;
|
||||
}
|
||||
arg0->unk0 = phi_f12;
|
||||
arg0->unk8 = phi_f14;
|
||||
arg0->unk0 = var_f12;
|
||||
arg0->unk8 = var_f14;
|
||||
arg0->unk4 = sp98;
|
||||
func_80005FD0(phi_f12, phi_f14, &sp38, arg0);
|
||||
func_80005FD0(&sp38, arg0);
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80005FD0/func_8000DBAC.s")
|
||||
|
||||
+1066
-1176
File diff suppressed because it is too large
Load Diff
+4
-1
@@ -7,7 +7,9 @@
|
||||
/* Function Prototypes */
|
||||
|
||||
void func_8001F980(s32*, s32*);
|
||||
void func_80020000(Player*, struct Camera*, u8, u8);
|
||||
u16 func_8001FB0C(Player*, Camera*, f32, f32);
|
||||
u16 func_8001FD78(Player*, f32, f32, f32);
|
||||
void func_80020000(Player*, Camera*, u8, u8);
|
||||
void func_8002088C();
|
||||
void func_80020F1C();
|
||||
void func_80021244(Player*, u8, u8);
|
||||
@@ -22,6 +24,7 @@ void func_80021F84(Mat4, f32);
|
||||
void func_80021FF8(Mtx*, Mat4);
|
||||
void func_80022180(Mtx*, Mat4);
|
||||
s32 func_800224F0(s16*, s16, s16);
|
||||
void func_8002276C();
|
||||
void move_s32_towards(s32*, s32, f32);
|
||||
void move_f32_towards(f32*, f32, f32);
|
||||
void move_s16_towards(s16*, s16, f32);
|
||||
|
||||
+123
-131
@@ -245,10 +245,10 @@ GLOBAL_ASM("asm/non_matchings/code_80281FA0/func_80282700.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
? func_80282700(f32, f32, s32, s32, f32 *, f32 *, f32 *, f32 *); // extern
|
||||
//generated by m2c commit 3b40ab93768f52ac241c5ae84ef58ef6bc4cb1de
|
||||
? func_80282700(f32, f32, f32 *, f32 *, f32 *, f32 *, f32 *, f32 *); /* extern */
|
||||
|
||||
s32 func_802828C8(s32 arg0, s32 arg1, s32 arg2, s16 *arg3, f32 *arg4) {
|
||||
s32 func_802828C8(f32 *arg0, f32 *arg1, s32 arg2, s16 *arg3, f32 *arg4) {
|
||||
s32 sp94;
|
||||
f32 sp90;
|
||||
f32 sp8C;
|
||||
@@ -268,76 +268,71 @@ s32 func_802828C8(s32 arg0, s32 arg1, s32 arg2, s16 *arg3, f32 *arg4) {
|
||||
f32 sp54;
|
||||
f32 sp44;
|
||||
f32 sp40;
|
||||
f32 *temp_a3;
|
||||
f32 *temp_t9;
|
||||
f32 temp_f0;
|
||||
f32 var_f12;
|
||||
f32 var_f14;
|
||||
f32 var_f16;
|
||||
s16 temp_v1;
|
||||
s32 var_t1;
|
||||
u16 temp_v1_2;
|
||||
u16 temp_v1_3;
|
||||
void *temp_v0;
|
||||
void *temp_v0_2;
|
||||
void *temp_v0_3;
|
||||
f32 phi_f12;
|
||||
f32 phi_f16;
|
||||
f32 phi_f14;
|
||||
s32 phi_t1;
|
||||
|
||||
temp_v1 = *arg3;
|
||||
phi_f12 = *arg4;
|
||||
phi_f16 = 0.0f;
|
||||
phi_f14 = 0.0f;
|
||||
phi_t1 = 0;
|
||||
phi_t1 = 0;
|
||||
var_f12 = *arg4;
|
||||
if (temp_v1 < 0) {
|
||||
phi_f12 = 0.0f;
|
||||
var_f12 = 0.0f;
|
||||
}
|
||||
temp_v0 = arg2 + (temp_v1 * 0xC);
|
||||
if ((temp_v0->unk0 == -1) || (temp_v0->unkC == -1) || (temp_v0->unk18 == -1)) {
|
||||
return 1;
|
||||
}
|
||||
temp_v0_2 = arg2 + (temp_v1 * 0xC);
|
||||
temp_a3 = &sp54;
|
||||
sp54 = temp_v0_2->unk6;
|
||||
sp58 = temp_v0_2->unk8;
|
||||
sp5C = temp_v0_2->unkA;
|
||||
sp60 = temp_v0_2->unk4 * 256.0f;
|
||||
sp64 = temp_v0_2->unk12;
|
||||
sp68 = temp_v0_2->unk14;
|
||||
sp6C = temp_v0_2->unk16;
|
||||
sp70 = temp_v0_2->unk10 * 256.0f;
|
||||
sp74 = temp_v0_2->unk1E;
|
||||
sp78 = temp_v0_2->unk20;
|
||||
sp7C = temp_v0_2->unk22;
|
||||
temp_t9 = &sp84;
|
||||
sp80 = temp_v0_2->unk1C * 256.0f;
|
||||
sp84 = temp_v0_2->unk2A;
|
||||
sp88 = temp_v0_2->unk2C;
|
||||
sp8C = temp_v0_2->unk2E;
|
||||
sp54 = (f32) temp_v0_2->unk6;
|
||||
sp58 = (f32) temp_v0_2->unk8;
|
||||
sp5C = (f32) temp_v0_2->unkA;
|
||||
sp60 = (f32) temp_v0_2->unk4 * 256.0f;
|
||||
sp64 = (f32) temp_v0_2->unk12;
|
||||
sp68 = (f32) temp_v0_2->unk14;
|
||||
sp6C = (f32) temp_v0_2->unk16;
|
||||
sp70 = (f32) temp_v0_2->unk10 * 256.0f;
|
||||
sp74 = (f32) temp_v0_2->unk1E;
|
||||
sp78 = (f32) temp_v0_2->unk20;
|
||||
sp7C = (f32) temp_v0_2->unk22;
|
||||
sp80 = (f32) temp_v0_2->unk1C * 256.0f;
|
||||
sp84 = (f32) temp_v0_2->unk2A;
|
||||
sp88 = (f32) temp_v0_2->unk2C;
|
||||
sp8C = (f32) temp_v0_2->unk2E;
|
||||
sp40 = 0.0f;
|
||||
sp44 = 0.0f;
|
||||
sp94 = 0;
|
||||
sp90 = temp_v0_2->unk28 * 256.0f;
|
||||
func_80282700(phi_f12, 0.0f, arg0, arg1, temp_a3, &sp64, &sp74, temp_t9);
|
||||
sp90 = (f32) temp_v0_2->unk28 * 256.0f;
|
||||
func_80282700(var_f12, 0.0f, arg0, arg1, &sp54, &sp64, &sp74, &sp84);
|
||||
var_t1 = sp94;
|
||||
var_f14 = sp44;
|
||||
var_f16 = sp40;
|
||||
temp_v0_3 = arg2 + (*arg3 * 0xC);
|
||||
temp_v1_2 = temp_v0_3->unkE;
|
||||
if (temp_v1_2 != 0) {
|
||||
phi_f14 = 1.0f / temp_v1_2;
|
||||
var_f14 = 1.0f / (f32) temp_v1_2;
|
||||
}
|
||||
temp_v1_3 = temp_v0_3->unk1A;
|
||||
if (temp_v1_3 != 0) {
|
||||
phi_f16 = 1.0f / temp_v1_3;
|
||||
var_f16 = 1.0f / (f32) temp_v1_3;
|
||||
}
|
||||
temp_f0 = *arg4;
|
||||
*arg4 = temp_f0 + ((temp_f0 * (phi_f16 - phi_f14)) + phi_f14);
|
||||
*arg4 = temp_f0 + ((temp_f0 * (var_f16 - var_f14)) + var_f14);
|
||||
if (*arg4 >= 1.0f) {
|
||||
*arg3 = *arg3 + 1;
|
||||
*arg3 += 1;
|
||||
if ((arg2 + (*arg3 * 0xC))->unk24 == -1) {
|
||||
*arg3 = 0;
|
||||
phi_t1 = 1;
|
||||
var_t1 = 1;
|
||||
}
|
||||
*arg4 = *arg4 - 1.0f;
|
||||
*arg4 -= 1.0f;
|
||||
}
|
||||
return phi_t1;
|
||||
return var_t1;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80281FA0/func_802828C8.s")
|
||||
@@ -409,23 +404,23 @@ loop_1:
|
||||
GLOBAL_ASM("asm/non_matchings/code_80281FA0/func_80282C40.s")
|
||||
#endif
|
||||
|
||||
s32 func_80282D90(s32 arg0, s32 arg1, s32 arg2, s32 arg3) {
|
||||
s32 func_80282D90(Camera *camera, s32 arg1, s32 arg2, s32 arg3) {
|
||||
s32 res;
|
||||
|
||||
func_802832C4(&func_80282434, arg0, 0, 0);
|
||||
func_802832C4(&func_80282434, camera, 0, 0);
|
||||
func_80282C40(&D_80287818, arg1, arg3);
|
||||
func_80282C40(&D_80287998, arg2, arg3);
|
||||
|
||||
if (0) {}; // debug stub?
|
||||
|
||||
res = func_802828C8(arg0 + 0xC, arg0 + 0x18, &D_80287818, &D_80287B1C, &D_80287B18) |
|
||||
func_802828C8(arg0, arg0 + 0x18, &D_80287998, &D_80287B1C, &D_80287B18);
|
||||
res = func_802828C8(camera->lookAt, camera->up, &D_80287818, &D_80287B1C, &D_80287B18) |
|
||||
func_802828C8(camera->pos, camera->up, &D_80287998, &D_80287B1C, &D_80287B18);
|
||||
return res;
|
||||
}
|
||||
|
||||
void func_80282E58(s32 arg0, s32 arg1, s32 arg2) {
|
||||
void func_80282E58(Camera *camera, s32 arg1, s32 arg2) {
|
||||
func_80282C40(&D_80287818, arg1, arg2);
|
||||
func_802828C8(arg0 + 0xC, arg0 + 0x18, &D_80287818, &D_80287B1C, &D_80287B18);
|
||||
func_802828C8(camera->lookAt, camera->up, &D_80287818, &D_80287B1C, &D_80287B18);
|
||||
}
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
@@ -545,9 +540,9 @@ void func_80283240(s16 arg0) {
|
||||
}
|
||||
}
|
||||
|
||||
s32 func_802832C4(void (*func_ptr)(s32), s32 arg1, s16 arg2, s16 arg3) {
|
||||
s32 func_802832C4(void (*func_ptr)(s32), Camera *camera, s16 arg2, s16 arg3) {
|
||||
if ((D_802876D2 >= arg2) && ((arg3 == -1) || (arg3 >= D_802876D2))) {
|
||||
func_ptr(arg1);
|
||||
func_ptr(camera);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
@@ -683,7 +678,7 @@ GLOBAL_ASM("asm/non_matchings/code_80281FA0/func_80283430.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by m2c commit bece1d6db17040749f77dbbd090363cc6fb926f9
|
||||
//generated by m2c commit 3b40ab93768f52ac241c5ae84ef58ef6bc4cb1de
|
||||
? func_80282F44(?, s32 *, Camera *); /* extern */
|
||||
? func_80283100(s32 *, f32 *); /* extern */
|
||||
s32 func_8028336C(s32 *, Camera *); /* extern */
|
||||
@@ -716,10 +711,10 @@ s32 func_80283648(Camera *camera) {
|
||||
|
||||
func_80283428();
|
||||
vec3f_copy_dupe(&sp58, camera->pos);
|
||||
temp_a1 = &camera->unk;
|
||||
temp_a1 = camera->lookAt;
|
||||
sp34 = temp_a1;
|
||||
vec3f_copy_dupe(&sp4C, temp_a1);
|
||||
temp_a1_2 = &camera->angleX;
|
||||
temp_a1_2 = camera->up;
|
||||
sp30 = temp_a1_2;
|
||||
vec3f_copy_dupe(&sp40, temp_a1_2);
|
||||
temp_v1 = func_8028336C(&D_802876E0, camera) & 0xFF;
|
||||
@@ -755,15 +750,15 @@ s32 func_80283648(Camera *camera) {
|
||||
temp_t9 = (u32) var_f0 & 0xFFFF;
|
||||
sp2C = temp_t9;
|
||||
sp38 = sins((u16) temp_t9);
|
||||
camera->angleX = coss((u16) sp6C) * sp38;
|
||||
camera->angleY = coss(unksp2E);
|
||||
camera->up[0] = coss((u16) sp6C) * sp38;
|
||||
camera->up[1] = coss(unksp2E);
|
||||
sp38 = sins(unksp2E);
|
||||
camera->angleZ = sins((u16) sp6C) * -sp38;
|
||||
camera->up[2] = sins((u16) sp6C) * -sp38;
|
||||
vec3f_copy_dupe(camera->pos, &D_802876EC);
|
||||
vec3f_copy_dupe(sp34, (f32 *) &D_802876E0);
|
||||
if ((gGamestate == 9) && (gIsMirrorMode != 0)) {
|
||||
camera->pos[0] = -camera->pos[0];
|
||||
camera->unk = -camera->unk;
|
||||
camera->lookAt[0] = -camera->lookAt[0];
|
||||
}
|
||||
}
|
||||
func_80282F44(0, &D_802876E0, camera);
|
||||
@@ -884,77 +879,77 @@ void func_80283D04(s32 arg0) {
|
||||
play_sound2(0x49008026);
|
||||
}
|
||||
|
||||
void func_80283D2C(s32 arg0) {
|
||||
void func_80283D2C(Camera *camera) {
|
||||
D_802856B8 = 120.0f;
|
||||
func_802832C4(&func_80283CA8, arg0, 0, 0);
|
||||
func_802832C4(&func_80283A34, arg0, 1, 1);
|
||||
func_802832C4(&func_80283BF0, arg0, 0, 0);
|
||||
func_802832C4(&func_80283A7C, arg0, 0x2D, 0x2D);
|
||||
func_802832C4(&func_80283A7C, arg0, 0x41, 0x41);
|
||||
func_802832C4(&func_80283A7C, arg0, 0x46, 0x46);
|
||||
func_802832C4(&func_80283A7C, arg0, 0x5E, 0x5E);
|
||||
func_802832C4(&func_80283A7C, arg0, 0x6E, 0x6E);
|
||||
func_802832C4(&func_80283A7C, arg0, 0x82, 0x82);
|
||||
func_802832C4(&func_80283A7C, arg0, 0x98, 0x98);
|
||||
func_802832C4(&func_80283A7C, arg0, 0xA0, 0xA0);
|
||||
func_802832C4(&func_80283994, arg0, D_80285D14 - 0x3C, D_80285D14 - 0x3C);
|
||||
func_80282D90(arg0, &D_802856DC, &D_80285718, 0);
|
||||
func_802832C4(&func_80283CA8, camera, 0, 0);
|
||||
func_802832C4(&func_80283A34, camera, 1, 1);
|
||||
func_802832C4(&func_80283BF0, camera, 0, 0);
|
||||
func_802832C4(&func_80283A7C, camera, 0x2D, 0x2D);
|
||||
func_802832C4(&func_80283A7C, camera, 0x41, 0x41);
|
||||
func_802832C4(&func_80283A7C, camera, 0x46, 0x46);
|
||||
func_802832C4(&func_80283A7C, camera, 0x5E, 0x5E);
|
||||
func_802832C4(&func_80283A7C, camera, 0x6E, 0x6E);
|
||||
func_802832C4(&func_80283A7C, camera, 0x82, 0x82);
|
||||
func_802832C4(&func_80283A7C, camera, 0x98, 0x98);
|
||||
func_802832C4(&func_80283A7C, camera, 0xA0, 0xA0);
|
||||
func_802832C4(&func_80283994, camera, D_80285D14 - 0x3C, D_80285D14 - 0x3C);
|
||||
func_80282D90(camera, &D_802856DC, &D_80285718, 0);
|
||||
}
|
||||
|
||||
void func_80283EA0(s32 arg0) {
|
||||
func_80282D90(arg0, &D_80285754, &D_80285784, 0);
|
||||
void func_80283EA0(Camera *camera) {
|
||||
func_80282D90(camera, &D_80285754, &D_80285784, 0);
|
||||
}
|
||||
|
||||
void func_80283ED0(Vec3f arg0) {
|
||||
vec3f_copy_dupe(arg0, &gPlayerTwo->pos[0]);
|
||||
void func_80283ED0(Camera *camera) {
|
||||
vec3f_copy_dupe(camera->pos, gPlayerTwo->pos);
|
||||
}
|
||||
|
||||
void func_80283EF8(Vec3f arg0) {
|
||||
func_802821A0(&arg0[0], gPlayerTwo->pos[0], 0.12f);
|
||||
func_802821A0(&arg0[1], gPlayerTwo->pos[1], 0.12f);
|
||||
func_802821A0(&arg0[2], gPlayerTwo->pos[2], 0.12f);
|
||||
void func_80283EF8(Camera *camera) {
|
||||
func_802821A0(&camera->pos[0], gPlayerTwo->pos[0], 0.12f);
|
||||
func_802821A0(&camera->pos[1], gPlayerTwo->pos[1], 0.12f);
|
||||
func_802821A0(&camera->pos[2], gPlayerTwo->pos[2], 0.12f);
|
||||
}
|
||||
|
||||
void func_80283F6C(s32 arg0) {
|
||||
func_802832C4(&func_80283ED0, arg0, 0, 0);
|
||||
func_802832C4(&func_80283EF8, arg0, 0, -1);
|
||||
func_80282E58(arg0, &D_802857B4, 0);
|
||||
void func_80283F6C(Camera *camera) {
|
||||
func_802832C4(&func_80283ED0, camera, 0, 0);
|
||||
func_802832C4(&func_80283EF8, camera, 0, -1);
|
||||
func_80282E58(camera, &D_802857B4, 0);
|
||||
}
|
||||
|
||||
void func_80283FCC(Vec3f arg0) {
|
||||
vec3f_copy_dupe(arg0, &gPlayerThree->pos[0]);
|
||||
void func_80283FCC(Camera *camera) {
|
||||
vec3f_copy_dupe(camera->pos, gPlayerThree->pos);
|
||||
}
|
||||
|
||||
void func_80283FF4(Vec3f arg0) {
|
||||
func_802821A0(&arg0[0], gPlayerThree->pos[0], 0.12f);
|
||||
func_802821A0(&arg0[1], gPlayerThree->pos[1], 0.12f);
|
||||
func_802821A0(&arg0[2], gPlayerThree->pos[2], 0.12f);
|
||||
void func_80283FF4(Camera *camera) {
|
||||
func_802821A0(&camera->pos[0], gPlayerThree->pos[0], 0.12f);
|
||||
func_802821A0(&camera->pos[1], gPlayerThree->pos[1], 0.12f);
|
||||
func_802821A0(&camera->pos[2], gPlayerThree->pos[2], 0.12f);
|
||||
}
|
||||
|
||||
void func_80284068(s32 arg0) {
|
||||
func_802832C4(&func_80283FCC, arg0, 0, 0);
|
||||
func_802832C4(&func_80283FF4, arg0, 0, -1);
|
||||
func_80282E58(arg0, &D_802857CC, 0);
|
||||
void func_80284068(Camera *camera) {
|
||||
func_802832C4(&func_80283FCC, camera, 0, 0);
|
||||
func_802832C4(&func_80283FF4, camera, 0, -1);
|
||||
func_80282E58(camera, &D_802857CC, 0);
|
||||
}
|
||||
|
||||
void func_802840C8(s32 arg0) {
|
||||
func_802832C4(&func_80283C14, arg0, 5, 5);
|
||||
void func_802840C8(Camera *camera) {
|
||||
func_802832C4(&func_80283C14, camera, 5, 5);
|
||||
|
||||
switch(D_802876D8) {
|
||||
case 2:
|
||||
func_80283EA0(arg0);
|
||||
func_80283EA0(camera);
|
||||
break;
|
||||
case 3:
|
||||
func_80283F6C(arg0);
|
||||
func_80283F6C(camera);
|
||||
break;
|
||||
case 4:
|
||||
func_80284068(arg0);
|
||||
func_80284068(camera);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void func_80284154(s32 arg0) {
|
||||
func_80282D90(arg0, &D_80285910, &D_80285928, 0);
|
||||
void func_80284154(Camera *camera) {
|
||||
func_80282D90(camera, &D_80285910, &D_80285928, 0);
|
||||
}
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
@@ -974,16 +969,16 @@ void func_80284184(s32 *arg0) {
|
||||
GLOBAL_ASM("asm/non_matchings/code_80281FA0/func_80284184.s")
|
||||
#endif
|
||||
|
||||
void func_802841E8(Vec3f arg0) {
|
||||
func_80282E58(arg0, &D_80285940, 0);
|
||||
vec3f_set_dupe(arg0, -3202.0f, 90.0f, -478.0f);
|
||||
void func_802841E8(Camera *camera) {
|
||||
func_80282E58(camera, &D_80285940, 0);
|
||||
vec3f_set_dupe(camera->pos, -3202.0f, 90.0f, -478.0f);
|
||||
}
|
||||
|
||||
void func_8028422C(s32 arg0) {
|
||||
func_802832C4(&func_80283AF4, arg0, 6, 6);
|
||||
func_802832C4(&func_80283B44, arg0, 0x1E, 0x1E);
|
||||
func_802832C4(&func_802841E8, arg0, 0, 0);
|
||||
func_802832C4(&func_80284184, arg0, 6, -1);
|
||||
void func_8028422C(Camera *camera) {
|
||||
func_802832C4(&func_80283AF4, camera, 6, 6);
|
||||
func_802832C4(&func_80283B44, camera, 0x1E, 0x1E);
|
||||
func_802832C4(&func_802841E8, camera, 0, 0);
|
||||
func_802832C4(&func_80284184, camera, 6, -1);
|
||||
}
|
||||
|
||||
void func_802842A8(s32 arg0) {
|
||||
@@ -995,39 +990,36 @@ void func_802842D8(s32 arg0) {
|
||||
}
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
? func_80282D90(void *, ? *, ? *, ?); // extern
|
||||
? func_802832C4(? *, void *, ?, ?); // extern
|
||||
extern ? D_802858E0;
|
||||
extern ? D_802858F8;
|
||||
extern ? D_80285A00;
|
||||
extern s8 D_802874F5;
|
||||
//generated by m2c commit 3b40ab93768f52ac241c5ae84ef58ef6bc4cb1de
|
||||
static ? D_802858E0; /* unable to generate initializer */
|
||||
static ? D_802858F8; /* unable to generate initializer */
|
||||
static ? D_80285A00; /* unable to generate initializer */
|
||||
|
||||
void func_80284308(void *arg0) {
|
||||
void func_80284308(Camera *camera) {
|
||||
s32 sp30;
|
||||
Player *player = &gPlayerOne;
|
||||
Player *temp_v1;
|
||||
f32 temp_f0;
|
||||
f32 temp_f12;
|
||||
f32 temp_f2;
|
||||
void *temp_v0;
|
||||
|
||||
sp30.unk0 = D_80285A00.unk0;
|
||||
sp30.unk4 = D_80285A00.unk4;
|
||||
sp30.unkC = D_80285A00.unkC;
|
||||
sp30.unk8 = D_80285A00.unk8;
|
||||
func_802832C4(&func_80283A54, arg0, 0x8C, 0x8C);
|
||||
func_80282D90(arg0, &D_802858E0, &D_802858F8, 0);
|
||||
sp30.unk4 = (s32) D_80285A00.unk4;
|
||||
sp30.unkC = (s32) D_80285A00.unkC;
|
||||
sp30.unk8 = (s32) D_80285A00.unk8;
|
||||
func_802832C4(func_80283A54, (s32) camera, 0x008C, 0x008C);
|
||||
func_80282D90((s32) camera, (s32) &D_802858E0, (s32) &D_802858F8, 0);
|
||||
temp_v0 = *(sp30 + (D_802874F5 * 4));
|
||||
//player = gPlayerOne;
|
||||
temp_f0 = temp_v0->unk14 - player->pos[0];
|
||||
temp_f12 = temp_v0->unk1C - player->pos[2];
|
||||
temp_f2 = temp_v0->unk18 - player->pos[1];
|
||||
arg0->unkC = arg0->unkC + temp_f0;
|
||||
arg0->unk0 = arg0->unk0 + temp_f0;
|
||||
arg0->unk14 = arg0->unk14 + temp_f12;
|
||||
arg0->unk8 = arg0->unk8 + temp_f12;
|
||||
arg0->unk4 = arg0->unk4 + temp_f2;
|
||||
arg0->unk10 = arg0->unk10 + temp_f2;
|
||||
temp_v1 = gPlayerOne;
|
||||
temp_f0 = temp_v0->unk14 - temp_v1->pos[0];
|
||||
temp_f12 = temp_v0->unk1C - temp_v1->pos[2];
|
||||
temp_f2 = temp_v0->unk18 - temp_v1->pos[1];
|
||||
camera->lookAt[0] += temp_f0;
|
||||
camera->pos[0] += temp_f0;
|
||||
camera->lookAt[2] += temp_f12;
|
||||
camera->pos[2] += temp_f12;
|
||||
camera->pos[1] += temp_f2;
|
||||
camera->lookAt[1] += temp_f2;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80281FA0/func_80284308.s")
|
||||
|
||||
+15
-15
@@ -24,11 +24,11 @@ void func_80282434(s32);
|
||||
void func_80282454(Vec3f, Vec3f, f32*, s16*, s16*);
|
||||
void func_80282504(Vec3f, Vec3f, f32, s16, s16);
|
||||
void func_802825C8(Vec3f, Vec3f, Vec3f, Vec3s);
|
||||
s32 func_80282D90(s32, s32, s32, s32);
|
||||
void func_80282E58(s32, s32, s32);
|
||||
s32 func_80282D90(Camera*, s32, s32, s32);
|
||||
void func_80282E58(Camera*, s32, s32);
|
||||
void func_80282F00(s16*, s16);
|
||||
void func_80283240(s16);
|
||||
s32 func_802832C4(void (*)(s32), s32, s16, s16);
|
||||
s32 func_802832C4(void (*)(s32), Camera*, s16, s16);
|
||||
s32 func_80283330(s32);
|
||||
s32 func_80283428();
|
||||
void func_80283968(s32);
|
||||
@@ -55,19 +55,19 @@ void func_80283C78(s32);
|
||||
void func_80283CA8(s32);
|
||||
void func_80283CD0(s32);
|
||||
void func_80283D04(s32);
|
||||
void func_80283D2C(s32);
|
||||
void func_80283EA0(s32);
|
||||
void func_80283ED0(Vec3f);
|
||||
void func_80283EF8(Vec3f);
|
||||
void func_80283F6C(s32);
|
||||
void func_80283FCC(Vec3f);
|
||||
void func_80283FF4(Vec3f);
|
||||
void func_80284068(s32);
|
||||
void func_802840C8(s32);
|
||||
void func_80284154(s32);
|
||||
void func_80283D2C(Camera*);
|
||||
void func_80283EA0(Camera*);
|
||||
void func_80283ED0(Camera*);
|
||||
void func_80283EF8(Camera*);
|
||||
void func_80283F6C(Camera*);
|
||||
void func_80283FCC(Camera*);
|
||||
void func_80283FF4(Camera*);
|
||||
void func_80284068(Camera*);
|
||||
void func_802840C8(Camera*);
|
||||
void func_80284154(Camera*);
|
||||
void func_80284184();
|
||||
void func_802841E8(Vec3f);
|
||||
void func_8028422C(s32);
|
||||
void func_802841E8(Camera*);
|
||||
void func_8028422C(Camera*);
|
||||
void func_802842A8(s32);
|
||||
void func_802842D8(s32);
|
||||
void func_80284418(s32 arg0);
|
||||
|
||||
+27
-109
@@ -83,120 +83,38 @@ void crash_screen_draw_glyph(u16 *framebuffer, s32 x, s32 y, s32 glyph) {
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909
|
||||
#ifdef NON_MATCHING
|
||||
//generated by m2c commit 3b40ab93768f52ac241c5ae84ef58ef6bc4cb1de
|
||||
|
||||
#define WHITE_COLOUR 0xFFFF
|
||||
#define RED_COLOUR 0xF801
|
||||
void crash_screen_draw_square(u16 *framebuffer) {
|
||||
s32 temp_a0;
|
||||
s32 temp_a1;
|
||||
s32 temp_a1_2;
|
||||
s32 temp_ra;
|
||||
s32 temp_s0;
|
||||
s32 temp_s1;
|
||||
s32 temp_t0;
|
||||
s32 temp_v1;
|
||||
s32 phi_s2;
|
||||
s32 phi_s0;
|
||||
s16 *phi_v0;
|
||||
s32 phi_v1;
|
||||
void *phi_v0_2;
|
||||
s32 phi_a1;
|
||||
s32 phi_s1;
|
||||
s32 phi_a0;
|
||||
s32 phi_a1_2;
|
||||
s32 phi_v1_2;
|
||||
s32 phi_a0_2;
|
||||
s32 phi_a0_3;
|
||||
s32 phi_a1_3;
|
||||
s32 phi_a1_4;
|
||||
s32 i, j, k;
|
||||
|
||||
//phi_s2 = 0x28;
|
||||
//phi_s0 = 0x2E;
|
||||
phi_a0_2 = framebuffer;
|
||||
//phi_a1_3 = arg1;
|
||||
for (i = 46; i > 44; i--) {
|
||||
//phi_s1 = phi_s2;
|
||||
//phi_a0 = phi_a0_2;
|
||||
//phi_a1_2 = phi_a1_3;
|
||||
// phi_a0_3 = phi_a0_2;
|
||||
//phi_a1_4 = phi_a1_3;
|
||||
//if (phi_s2 < phi_s0) {
|
||||
for (j = 40; j < i; j++) {
|
||||
//phi_v1 = phi_s2;
|
||||
//phi_v1_2 = phi_s2;
|
||||
if (phi_s2 < phi_s0) {
|
||||
//temp_a0 = i - j;
|
||||
temp_t0 = (i - j) & 3;
|
||||
//temp_ra = framebuffer + (phi_s1 * 0x280);
|
||||
//phi_a0_3 = temp_a0;
|
||||
if (temp_t0 != 0) {
|
||||
phi_v0 = temp_ra + (phi_s2 * 2);
|
||||
do { // (temp_t0 + j;) {
|
||||
j++;
|
||||
//temp_v1 = phi_v1 + 1;
|
||||
//phi_v1 = temp_v1;
|
||||
//phi_v1_2 = temp_v1;
|
||||
if (i - j == 6) {
|
||||
framebuffer[i * 640 + j * 2] = RED_COLOUR;
|
||||
} else {
|
||||
framebuffer[i * 640 + j * 2] = WHITE_COLOUR;
|
||||
}
|
||||
j += 2;
|
||||
} while ((temp_t0 + j) != j);
|
||||
phi_a1_4 = temp_v1 * 2;
|
||||
if (temp_v1 != phi_s0) {
|
||||
break; // goto 10
|
||||
}
|
||||
} else {
|
||||
//block_10:
|
||||
//temp_a1 = phi_v1_2 * 2;
|
||||
phi_v0_2 = framebuffer[i * 640 + j * 2];
|
||||
phi_a1 = temp_a1;
|
||||
for (k = j + 8; k < j * 2; k += 8) {
|
||||
//do {
|
||||
//temp_a1_2 = phi_a1 + 8;
|
||||
//phi_a1 = temp_a1_2;
|
||||
//phi_a1_4 = temp_a1_2;
|
||||
if (temp_a0 == 6) {
|
||||
framebuffer[i * 640 + j * 2] = RED_COLOUR;
|
||||
} else {
|
||||
framebuffer[i * 640 + j * 2] = WHITE_COLOUR;
|
||||
}
|
||||
//if (temp_a0 == 6) {
|
||||
// phi_v0_2->unk2 = RED_COLOUR;
|
||||
//} else {
|
||||
// phi_v0_2->unk2 = WHITE_COLOUR;
|
||||
//}
|
||||
//if (temp_a0 == 6) {
|
||||
// phi_v0_2->unk4 = RED_COLOUR;
|
||||
//} else {
|
||||
// phi_v0_2->unk4 = WHITE_COLOUR;
|
||||
//}
|
||||
//if (temp_a0 == 6) {
|
||||
// phi_v0_2->unk6 = RED_COLOUR;
|
||||
//} else {
|
||||
// phi_v0_2->unk6 = WHITE_COLOUR;
|
||||
//}
|
||||
//phi_v0_2 += 8;
|
||||
} //while (temp_a1_2 != (phi_s0 * 2));
|
||||
}
|
||||
/**
|
||||
* The big mismatch is the handling of the '6' used in the if statement
|
||||
* In the target assembly that 6 is saved to 5 different temp registers,
|
||||
* while in this non-matching decomp its only saved to one temp register.
|
||||
* This seems to be related to how the innermost for loop is unrolled, but
|
||||
* its not clear why the target assembley would save the same immediate to
|
||||
* 5 different registers instead of just re-using one
|
||||
* There's some stack related differences too, maybe that's related?
|
||||
**/
|
||||
void crash_screen_draw_square(u16 *framebuffer) {
|
||||
s32 var_s0;
|
||||
s32 var_s2;
|
||||
s32 row;
|
||||
s32 column;
|
||||
|
||||
for (var_s0 = 0x2E, var_s2 = 0x28; var_s0 > 0x2C; var_s0--, var_s2++) {
|
||||
for (row = var_s2; row < var_s0; row++) {
|
||||
for (column = var_s2; column < var_s0; column++) {
|
||||
if ((var_s0 - var_s2) == 6) {
|
||||
framebuffer[(row * 320) + column] = RED_COLOUR;
|
||||
} else {
|
||||
framebuffer[(row * 320) + column] = WHITE_COLOUR;
|
||||
}
|
||||
//temp_s1 = phi_s1 + 1;
|
||||
//phi_s1 = temp_s1;
|
||||
//phi_a0 = phi_a0_3;
|
||||
//phi_a1_2 = phi_a1_4;
|
||||
} //while (temp_s1 != phi_s0);
|
||||
|
||||
//temp_s0 = phi_s0 - 1;
|
||||
//phi_s2 += 1;
|
||||
//phi_s0 = temp_s0;
|
||||
//phi_a0_2 = phi_a0;
|
||||
//phi_a1_3 = phi_a1_2;
|
||||
//i--;
|
||||
} //while (temp_s0 != 44);
|
||||
}
|
||||
}
|
||||
}
|
||||
osWritebackDCacheAll();
|
||||
osViSwapBuffer(framebuffer);
|
||||
}
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
|
||||
#include <PR/gbi.h>
|
||||
|
||||
extern s32 D_02007B38[];
|
||||
extern Vtx D_02007B38[];
|
||||
|
||||
extern Gfx D_02007650[];
|
||||
extern Gfx D_020076B0[];
|
||||
|
||||
+9
-19
@@ -269,25 +269,15 @@ Gfx D_02007B18[] = {
|
||||
gsSPEndDisplayList(),
|
||||
};
|
||||
|
||||
// gfx data?
|
||||
UNUSED s32 D_02007B38[] = {
|
||||
0x00000000, 0x00000000,
|
||||
0x00000000, 0xffffffff,
|
||||
0x00100000, 0x00000000,
|
||||
0x00000000, 0xffffffff,
|
||||
0x00100010, 0x00000000,
|
||||
0x00000000, 0xffffffff,
|
||||
0x00000010, 0x00000000,
|
||||
0x00000000, 0xffffffff,
|
||||
0x0000fff8, 0x00000000,
|
||||
0x00000000, 0xffffffff,
|
||||
0x0008fff8, 0x00000000,
|
||||
0x01c00000, 0xffffffff,
|
||||
0x00080000, 0x00000000,
|
||||
0x01c001c0, 0xff0000ff,
|
||||
0x00000000, 0x00000000,
|
||||
0x000001c0, 0xff0000ff,
|
||||
|
||||
UNUSED Vtx D_02007B38[] = {
|
||||
{{{ 0, 0, 0}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}},
|
||||
{{{ 16, 0, 0}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}},
|
||||
{{{ 16, 16, 0}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}},
|
||||
{{{ 0, 16, 0}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}},
|
||||
{{{ 0, -8, 0}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}},
|
||||
{{{ 8, -8, 0}, 0, {448, 0}, {0xff, 0xff, 0xff, 0xff}}},
|
||||
{{{ 8, 0, 0}, 0, {448, 448}, {0xff, 0x00, 0x00, 0xff}}},
|
||||
{{{ 0, 0, 0}, 0, { 0, 448}, {0xff, 0x00, 0x00, 0xff}}},
|
||||
};
|
||||
|
||||
// Todo: Place all theces vertices in a single array
|
||||
|
||||
+436
-504
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user