Yet more assorted matches (#278)

* Yet more assorted matches

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
This commit is contained in:
Tyler McGavran
2022-11-29 20:03:40 -05:00
committed by GitHub
parent a753895359
commit eeab33814d
31 changed files with 737 additions and 2065 deletions
+104 -120
View File
@@ -487,21 +487,18 @@ void func_8001CCEC(Player *player, Camera *camera, f32 *arg2, f32 *arg3, f32 *ar
GLOBAL_ASM("asm/non_matchings/camera/func_8001CCEC.s")
#endif
#ifdef MIPS_TO_C
//generated by m2c commit 0927f17aac197848d4ebdf0c6bbad74b01f0851c
extern ? D_80164A90;
extern ? D_80164AA0;
void func_8001D53C(Player *player, Camera *camera, f32 *arg2, f32 *arg3, f32 *arg4, f32 *arg5, s16 arg6, s16 arg7) {
f32 sp70;
f32 sp6C;
f32 sp68;
f32 sp64;
f32 sp60;
f32 sp5C;
f32 sp3C;
s32 sp38;
f32 var_f0;
void func_8001D53C(Player *player, Camera *camera, Vec3f arg2, f32 *arg3, f32 *arg4, f32 *arg5, s16 arg6, s16 arg7) {
Mat3 sp74;
Vec3f sp68;
Vec3f sp5C;
f32 stackPadding0;
f32 stackPadding1;
f32 stackPadding2;
f32 stackPadding3;
f32 stackPadding4;
f32 stackPadding5;
f32 stackPadding6;
f32 thing;
if (((u16) player->unk_222 == 0) && (camera->unk_A0 == 0.0f)) {
camera->unk_A0 = 0.0f;
@@ -511,36 +508,37 @@ void func_8001D53C(Player *player, Camera *camera, f32 *arg2, f32 *arg3, f32 *ar
} else {
move_f32_towards(&camera->unk_A0, 0.0f, 0.06f);
}
sp3C = D_801652A0[arg7];
sp68 = camera->unk_30[0];
sp6C = camera->unk_30[1];
sp70 = camera->unk_30[2];
sp5C = camera->unk_3C[0];
sp60 = camera->unk_3C[1] + camera->unk_A0;
sp64 = camera->unk_3C[2];
arg2->unk0 = camera->lookAt[0];
arg2->unk4 = (f32) camera->lookAt[1];
arg2->unk8 = (f32) camera->lookAt[2];
sp38 = arg7 * 4;
func_802B6540((f32 (*)[3]) &sp74[0], 0.0f, 1.0f, 0.0f, (s16) (s32) arg6);
func_802B63B8(&sp5C, (f32 (*)[3]) &sp74[0]);
arg2->unk0 += ((sp5C + player->pos[0]) - camera->lookAt[0]) * 1.0f;
arg2->unk8 = (f32) (arg2->unk8 + (((sp64 + player->pos[2]) - camera->lookAt[2]) * 1.0f));
arg2->unk4 = (f32) (arg2->unk4 + (((sp60 + player->pos[1]) - camera->lookAt[1]) * 1.0f));
func_802B63B8(&sp68, (f32 (*)[3]) &sp74[0]);
var_f0 = (f32) ((f64) sp6C + ((f64) player->unk_074 + 1.5));
thing = D_801652A0[arg7];
sp68[0] = camera->unk_30[0];
sp68[1] = camera->unk_30[1];
sp68[2] = camera->unk_30[2];
sp5C[0] = camera->unk_3C[0];
sp5C[1] = camera->unk_3C[1] + camera->unk_A0;
sp5C[2] = camera->unk_3C[2];
arg2[0] = camera->lookAt[0];
arg2[1] = camera->lookAt[1];
arg2[2] = camera->lookAt[2];
func_802B6540(sp74, 0.0f, 1.0f, 0.0f, arg6);
func_802B63B8(sp5C, sp74);
stackPadding0 = player->pos[0] + sp5C[0];
stackPadding2 = player->pos[2] + sp5C[2];
stackPadding1 = player->pos[1] + sp5C[1];
arg2[0] += (stackPadding0 - camera->lookAt[0]) * 1;
arg2[2] += (stackPadding2 - camera->lookAt[2]) * 1;
arg2[1] += (stackPadding1 - camera->lookAt[1]) * 1;
func_802B63B8(sp68, sp74);
stackPadding0 = player->pos[0] + sp68[0];
stackPadding2 = player->pos[2] + sp68[2];
stackPadding1 = sp68[1] + (player->unk_074 + 1.5);
if ((player->unk_0CA & 1) == 1) {
var_f0 = sp6C + (sp3C + 10.0f);
stackPadding1 = sp68[1] + (thing + 10.0f);
}
*arg3 = sp68 + player->pos[0];
*arg4 = var_f0;
*arg5 = sp70 + player->pos[2];
*(&D_80164A90 + sp38) = 0.0f;
*(&D_80164AA0 + sp38) = 0.0f;
*arg3 = stackPadding0;
*arg4 = stackPadding1;
*arg5 = stackPadding2;
D_80164A90[arg7] = 0.0f;
D_80164AA0[arg7] = 0.0f;
}
#else
GLOBAL_ASM("asm/non_matchings/camera/func_8001D53C.s")
#endif
void func_8001D794(Player *player, Camera *camera, Vec3f arg2, f32 *arg3, f32 *arg4, f32 *arg5, s16 arg6) {
Mat3 sp6C;
@@ -928,43 +926,36 @@ void func_8001E45C(Camera *camera, Player *player, s8 arg2) {
GLOBAL_ASM("asm/non_matchings/camera/func_8001E45C.s")
#endif
#ifdef MIPS_TO_C
//generated by m2c commit 3b40ab93768f52ac241c5ae84ef58ef6bc4cb1de
void func_8001D53C(Player *, Camera *, f32 *, f32 *, f32 *, f32 *, s32, s32); /* extern */
void func_8001E8E8(Camera *camera, Player *player, s8 arg2) {
f32 sp8C;
f32 stackPadding0[6];
f32 temp_f12;
f32 sp88;
f32 sp84;
f32 temp_f14;
f32 stackPadding1;
f32 sp7C;
f32 sp78;
f32 sp74;
f32 sp5C;
f32 temp_f12;
f32 temp_f14;
Vec3f stackPadding2;
Vec3f sp5C;
f32 stackPadding3[10];
camera->unk_B0 = 0;
camera->unk2C = (s16) player->unk_02C[1];
func_8001D53C(player, camera, &sp5C, &sp7C, &sp78, &sp74, (s32) player->unk_02C[1], (s32) arg2);
camera->unk_2C = player->unk_02C[1];
func_8001D53C(player, camera, sp5C, &sp7C, &sp78, &sp74, (s16) (s32) player->unk_02C[1], (s16) (s32) arg2);
func_802ADDC8(&camera->unk_54, 5.0f, sp7C, sp78, sp74);
camera->lookAt[0] = sp5C;
camera->lookAt[1] = sp60;
camera->lookAt[2] = sp64;
camera->lookAt[0] = sp5C[0];
camera->lookAt[1] = sp5C[1];
camera->lookAt[2] = sp5C[2];
camera->pos[0] = sp7C;
camera->pos[1] = sp78;
temp_f12 = camera->lookAt[0] - camera->pos[0];
camera->pos[2] = sp74;
temp_f12 = camera->lookAt[0] - camera->pos[0];
sp88 = camera->lookAt[1] - camera->pos[1];
sp8C = temp_f12;
temp_f14 = camera->lookAt[2] - camera->pos[2];
sp84 = temp_f14;
camera->rot[1] = atan2s(temp_f12, temp_f14);
camera->rot[0] = atan2s(sqrtf((sp8C * sp8C) + (temp_f14 * temp_f14)), sp88);
camera->rot[0] = atan2s(sqrtf((temp_f12 * temp_f12) + (temp_f14 * temp_f14)), sp88);
camera->rot[2] = 0;
}
#else
GLOBAL_ASM("asm/non_matchings/camera/func_8001E8E8.s")
#endif
#ifdef MIPS_TO_C
//generated by m2c commit 3b40ab93768f52ac241c5ae84ef58ef6bc4cb1de
@@ -1068,36 +1059,29 @@ GLOBAL_ASM("asm/non_matchings/camera/func_8001EA0C.s")
#endif
#ifdef MIPS_TO_C
//generated by m2c commit 3b40ab93768f52ac241c5ae84ef58ef6bc4cb1de
void func_80019ED0(); /* extern */
void func_8001A0A4(s16 *, Camera *, Player *, s8, s32); /* extern */
void func_8001A0DC(s16 *, Camera *, Player *, s8, s32); /* extern */
void func_8001A588(u16 *, Camera *, Player *, s8, s32); /* extern */
void func_8001E0C4(Camera *, Player *, s8); /* extern */
void func_8001E45C(Camera *, Player *, s8); /* extern */
void func_8001E8E8(Camera *, Player *, s8); /* extern */
void func_8001EA0C(Camera *, Player *, s8); /* extern */
void func_8001F87C(s32); /* extern */
extern u16 D_80152300;
//generated by m2c commit 9841ff34ca242f5f14b2eab2b54a7a65ac47d80f
? func_80019ED0(); /* extern */
? func_8001A588(u16 *, Camera *, Player *, s8, s32); /* extern */
? func_8001E45C(Camera *, Player *, s8); /* extern */
? func_8001EA0C(Camera *, Player *, s8); /* extern */
extern u16 D_8015F894;
extern s8 D_80164A88;
extern s8 D_80164A89;
void func_8001EE98(Player *player, Camera *camera, s8 arg2) {
s32 sp34;
s16 *sp2C;
s16 *temp_a0;
s16 *temp_a0_2;
s16 *temp_a0_3;
s16 *temp_a0_4;
s16 *temp_a0_5;
s16 *temp_a0_6;
u16 *sp2C;
s16 temp_v0_2;
s16 temp_v0_3;
s16 temp_v0_4;
s32 temp_v0;
s32 var_s0;
u16 *temp_a0;
u16 *temp_a0_2;
u16 *temp_a0_3;
u16 *temp_a0_4;
u16 *temp_a0_5;
u16 *temp_a0_6;
u16 *temp_a0_7;
u16 temp_v0_2;
u16 temp_v0;
if (camera == camera1) {
sp34 = 0;
@@ -1112,86 +1096,86 @@ void func_8001EE98(Player *player, Camera *camera, s8 arg2) {
if (camera == camera4) {
var_s0 = 3;
}
switch (gModeSelection) { /* irregular */
case GRAND_PRIX:
switch (gModeSelection) { /* irregular */
case 0:
if (((player->unk_000 & 0x800) == 0x800) || (D_800DC51C == 1)) {
*(&D_80152300 + (var_s0 * 2)) = 3;
D_80152300[var_s0] = 3;
} else if (D_800DC5FC == 1) {
func_8001A0A4((var_s0 * 2) + &D_80152300, camera, player, arg2, var_s0);
func_8001A0A4((s32) &D_80152300[var_s0], (s32) camera, (s32) player, (s32) arg2, var_s0);
} else {
func_8001A0DC((var_s0 * 2) + &D_80152300, camera, player, arg2, var_s0);
func_8001A0DC((s16 *) &D_80152300[var_s0], camera, player, arg2, var_s0);
}
break;
case BATTLE:
case 3:
if ((D_800DC51C == (u16) 1) || ((D_8015F894 == 2) && (D_80164A89 == 1))) {
if (D_80164A88 == 0) {
func_80019ED0();
}
D_80164A88 = 1;
D_80152300.unk0 = 3;
D_80152300.unk2 = 3;
D_80152300.unk4 = 3;
D_80152300.unk6 = 3;
D_80152300->unk0 = 3;
D_80152300->unk2 = 3U;
D_80152300->unk4 = 3U;
D_80152300->unk6 = 3U;
} else {
D_80164A88 = 0;
if (D_800DC5FC == (u16) 1) {
temp_a0 = (var_s0 * 2) + &D_80152300;
temp_a0 = &D_80152300[var_s0];
sp2C = temp_a0;
func_8001A0A4(temp_a0, camera, player, arg2, var_s0);
func_8001A0A4((s32) temp_a0, (s32) camera, (s32) player, (s32) arg2, var_s0);
} else {
temp_a0_2 = (var_s0 * 2) + &D_80152300;
temp_a0_2 = &D_80152300[var_s0];
sp2C = temp_a0_2;
func_8001A0DC(temp_a0_2, camera, player, arg2, var_s0);
func_8001A0DC((s16 *) temp_a0_2, camera, player, arg2, var_s0);
}
*sp2C = 9;
}
break;
case TIME_TRIALS:
case 1:
if (((gPlayerOne->unk_000 & 0x800) == 0x800) || (D_800DC51C == (u16) 1)) {
D_80152300.unk0 = 3;
*(&D_80152300 + 2) = 3;
*(&D_80152300 + 4) = 3;
*(&D_80152300 + 6) = 3;
D_80152300->unk0 = 3;
*(D_80152300 + 2) = 3;
*(D_80152300 + 4) = 3;
*(D_80152300 + 6) = 3;
} else {
if (D_800DC5FC == (u16) 1) {
temp_a0_3 = (var_s0 * 2) + &D_80152300;
temp_a0_3 = &D_80152300[var_s0];
sp2C = temp_a0_3;
func_8001A0A4(temp_a0_3, camera, player, arg2, var_s0);
func_8001A0A4((s32) temp_a0_3, (s32) camera, (s32) player, (s32) arg2, var_s0);
} else {
temp_a0_4 = (var_s0 * 2) + &D_80152300;
temp_a0_4 = &D_80152300[var_s0];
sp2C = temp_a0_4;
func_8001A0DC(temp_a0_4, camera, player, arg2, var_s0);
func_8001A0DC((s16 *) temp_a0_4, camera, player, arg2, var_s0);
}
*sp2C = 1;
}
break;
case VERSUS:
case 2:
if (((player->unk_000 & 0x800) == 0x800) || (D_800DC51C == (u16) 1) || (D_8015F894 == 2)) {
*(&D_80152300 + (var_s0 * 2)) = 3;
D_80152300[var_s0] = 3;
} else {
if (D_800DC5FC == (u16) 1) {
temp_a0_5 = (var_s0 * 2) + &D_80152300;
temp_a0_5 = &D_80152300[var_s0];
sp2C = temp_a0_5;
func_8001A0A4(temp_a0_5, camera, player, arg2, var_s0);
func_8001A0A4((s32) temp_a0_5, (s32) camera, (s32) player, (s32) arg2, var_s0);
} else {
temp_a0_6 = (var_s0 * 2) + &D_80152300;
temp_a0_6 = &D_80152300[var_s0];
sp2C = temp_a0_6;
func_8001A0DC(temp_a0_6, camera, player, arg2, var_s0);
func_8001A0DC((s16 *) temp_a0_6, camera, player, arg2, var_s0);
}
*sp2C = 1;
}
break;
}
if (D_800DC5FC == 0) {
temp_a0_7 = (var_s0 * 2) + &D_80152300;
temp_v0_2 = *temp_a0_7;
switch (temp_v0_2) { /* switch 1; irregular */
temp_a0_7 = &D_80152300[var_s0];
temp_v0 = *temp_a0_7;
switch (temp_v0) { /* switch 1; irregular */
case 3: /* switch 1 */
func_8001A588(temp_a0_7, camera, player, arg2, var_s0);
return;
case 1: /* switch 1 */
temp_v0_3 = player->unk_0CA;
if (((temp_v0_3 & 1) == 1) || ((temp_v0_3 & 2) == 2)) {
temp_v0_2 = player->unk_0CA;
if (((temp_v0_2 & 1) == 1) || ((temp_v0_2 & 2) == 2)) {
func_8001E8E8(camera, player, arg2);
return;
}
@@ -1202,8 +1186,8 @@ void func_8001EE98(Player *player, Camera *camera, s8 arg2) {
func_8001F87C(var_s0);
return;
case 9: /* switch 1 */
temp_v0_4 = player->unk_0CA;
if (((temp_v0_4 & 1) == 1) || ((temp_v0_4 & 2) == 2)) {
temp_v0_3 = player->unk_0CA;
if (((temp_v0_3 & 1) == 1) || ((temp_v0_3 & 2) == 2)) {
func_8001E8E8(camera, player, arg2);
return;
}