Assorted, unrelated matches (#267)

* Assorted matches

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
This commit is contained in:
Tyler McGavran
2022-11-01 17:07:35 -04:00
committed by GitHub
parent 1483ddaa03
commit 4647cdcd7e
34 changed files with 1877 additions and 3697 deletions
+122 -192
View File
@@ -10,6 +10,7 @@
#include "code_80057C60.h"
#include "code_80071F00.h"
#include "code_80086E70.h"
#include "common_textures.h"
s32 find_unused_obj_index(s32* arg0) {
s32 temp_v0;
@@ -34,25 +35,12 @@ s32 find_unused_obj_index(s32* arg0) {
return temp_v1;
}
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
//void func_80072428(s32, s32 *); // extern
extern s8 D_80165CE2[];
void func_80071F6C(s32 arg0, s32 arg1) {
s32 temp_a0;
s32 temp_a1;
temp_a1 = arg0;
temp_a0 = arg0;
arg0 = temp_a1;
func_80072428(arg0);
D_80165CE2[0xE0] = 0;
arg0 = -1;
// Not actually sure about the pointer type, but its definitely SOME type of pointer
void func_80071F6C(s32 *arg0) {
func_80072428(*arg0);
D_80165C18[*arg0].unk_0CA = 0;
*arg0 = -1;
}
#else
GLOBAL_ASM("asm/non_matchings/code_80071F00/func_80071F6C.s")
#endif
#ifdef MIPS_TO_C
//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
@@ -147,7 +135,7 @@ loop_3:
GLOBAL_ASM("asm/non_matchings/code_80071F00/func_80072044.s")
#endif
void func_80072100(s32 arg0) {
void func_80072100(s32 *arg0) {
func_80071F6C(arg0);
}
@@ -2776,62 +2764,50 @@ void func_80077428(s32 arg0) {
func_80086E70(arg0);
}
#ifdef MIPS_TO_C
//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
void func_80077450(s32 objectIndex) {
s16 stackPadding0;
s16 sp3C;
s16 sp3A;
s16 sp38;
s16 temp_v0;
struct_80165C18_entry *temp_s0;
temp_s0 = &D_80165C18[objectIndex];
temp_v0 = temp_s0->unk_0A6;
switch (temp_v0) { /* irregular */
switch (D_80165C18[objectIndex].unk_0A6) {
case 0:
break;
case 1:
func_80077428(objectIndex);
break;
case 2:
f32_step_up_towards(&temp_s0->unk_000, 0.1f, 0.01f);
if ((temp_s0->unk_004[1] <= (f32) temp_s0->unk_084[5]) && (func_80073B00(objectIndex, &temp_s0->unk_0A0, 0x000000FF, 0, 0x00000010, 0, 0) != 0)) {
f32_step_up_towards(&D_80165C18[objectIndex].unk_000, 0.1f, 0.01f);
if ((D_80165C18[objectIndex].unk_004[1] <= D_80165C18[objectIndex].unk_084[5]) && (func_80073B00(objectIndex, &D_80165C18[objectIndex].unk_0A0, 0x000000FF, 0, 0x00000010, 0, 0) != 0)) {
func_80086F60(objectIndex);
func_80072428(objectIndex);
}
break;
}
if (temp_s0->unk_048 != 0) {
temp_s0->unk_084[4] = (s16) ((s32) (temp_s0->unk_084[4] + 1) % 3);
func_8005C6B4(temp_s0->unk8D, &sp3C, &sp3A, &sp38);
temp_s0->unk_084[0] = sp3C;
temp_s0->unk_084[1] = sp3A;
temp_s0->unk_084[2] = sp38;
if (D_80165C18[objectIndex].unk_048 != 0) {
D_80165C18[objectIndex].unk_084[4] = (s16) ((s32) (D_80165C18[objectIndex].unk_084[4] + 1) % 3);
func_8005C6B4(D_80165C18[objectIndex].unk_084[4], &sp3C, &sp3A, &sp38);
D_80165C18[objectIndex].unk_084[0] = sp3C;
D_80165C18[objectIndex].unk_084[1] = sp3A;
D_80165C18[objectIndex].unk_084[2] = sp38;
}
}
#else
GLOBAL_ASM("asm/non_matchings/code_80071F00/func_80077450.s")
#endif
#ifdef MIPS_TO_C
//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
#ifdef NEEDS_RODATA
void func_80077584(s32 objectIndex) {
f64 temp_f0;
s16 temp_v1;
struct_80165C18_entry *temp_v0;
temp_v0 = &D_80165C18[objectIndex];
temp_v1 = temp_v0->unk_0AE;
if ((temp_v1 != 0) && (temp_v1 == 1) && ((u8) temp_v0->unk_0D8 != 0)) {
temp_f0 = (f64) temp_v0->unk_038[1];
if (temp_f0 >= -0.5) {
temp_v0->unk_038[1] = (f32) (temp_f0 - 0.15);
if ((temp_v0->unk_0AE != 0) && (temp_v0->unk_0AE == 1) && ((u8) temp_v0->unk_0D8 != 0)) {
if (temp_v0->unk_038[1] >= -0.5) {
temp_v0->unk_038[1] -= 0.15;
} else {
temp_v0->unk_038[2] = 0.0f;
temp_v0->unk_038[0] = 0.0f;
}
}
temp_v0->unk_0B2[2] = (u16) temp_v0->unk_0B2[2] + temp_v0->unk_084[3];
temp_v0->unk_0B2[2] += temp_v0->unk_084[3];
func_80087710(objectIndex);
func_8008BF18(objectIndex);
}
@@ -2840,9 +2816,7 @@ GLOBAL_ASM("asm/non_matchings/code_80071F00/func_80077584.s")
#endif
#ifdef MIPS_TO_C
//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
void func_80077450(s32); /* extern */
void func_80077584(s32); /* extern */
//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b
extern s32 D_8018C630;
extern ? D_8018C830;
@@ -2860,7 +2834,7 @@ void func_80077640(void) {
func_80077450(temp_s0);
func_80077584(temp_s0);
if (temp_s2->unk_0A6 == 0) {
func_80072100((s32) var_s1);
func_80072100(var_s1);
}
}
}
@@ -2871,83 +2845,73 @@ void func_80077640(void) {
GLOBAL_ASM("asm/non_matchings/code_80071F00/func_80077640.s")
#endif
#ifdef MIPS_TO_C
//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
extern s32 D_0D028DD8;
s16 gCurrentCourseId; /* unable to generate initializer */
#ifdef NEEDS_RODATA
// data_0DD0A0_3_0.s
extern f32 D_800EEB38;// = 0.1f;
void func_80077700(s32 objectIndex, f32 *arg1, s32 arg2) {
void func_80077700(s32 objectIndex, Vec3f arg1, s32 arg2) {
s32 stackPadding1;
u16 stackPadding0;
u16 temp_s0;
u16 sp3E;
u16 sp3C;
struct_80165C18_entry *sp34;
s16 temp_v1;
s32 temp_s0;
struct_80165C18_entry *temp_v0;
func_800723A4(objectIndex, 0);
temp_v0 = &D_80165C18[objectIndex];
temp_v0->unk_0D5 = 7;
temp_v0->unk_060 = &D_0D028DD8;
temp_v0->unk_068 = &D_0D028DD8;
temp_v0->unk_000 = 0.1f;
temp_v0->unk_044 = arg1->unk4;
temp_v1 = gCurrentCourseId;
switch (temp_v1) { /* irregular */
case 0:
sp34 = temp_v0;
func_8008BD14(objectIndex, (s16) (s32) arg1->unk0, (s16) (s32) ((f64) arg1->unk4 + 25.0), (s16) (s32) arg1->unk8, (u16) 0x00000014, (u16) 0x0000001E, (u16) 0x00000014);
temp_v0->unk_034 = 1.5f;
temp_v0->unk_038[1] = 1.5f;
D_80165C18[objectIndex].unk_0D5 = 7;
D_80165C18[objectIndex].unk_060 = (s32 *) D_0D028DD8;
D_80165C18[objectIndex].unk_068 = (s32 *) D_0D028DD8;
D_80165C18[objectIndex].unk_000 = 0.1f;
D_80165C18[objectIndex].unk_044 = arg1[1];
switch (gCurrentCourseId) {
case COURSE_MARIO_RACEWAY:
func_8008BD14(objectIndex, arg1[0], arg1[1] + 25.0, arg1[2], 0x00000014, 0x0000001E, 0x00000014);
D_80165C18[objectIndex].unk_034 = 1.5f;
D_80165C18[objectIndex].unk_038[1] = 1.5f;
break;
case 4:
sp34 = temp_v0;
func_8008BD14(objectIndex, (s16) (s32) arg1->unk0, (s16) (s32) ((f64) arg1->unk4 + 25.0), (s16) (s32) arg1->unk8, (u16) 0x00000014, (u16) 0x0000001E, (u16) 0x00000014);
temp_v0->unk_034 = 2.0f;
temp_v0->unk_038[1] = 2.0f;
case COURSE_YOSHI_VALLEY:
func_8008BD14(objectIndex, arg1[0], arg1[1] + 25.0, arg1[2], 0x00000014, 0x0000001E, 0x00000014);
D_80165C18[objectIndex].unk_034 = 2.0f;
D_80165C18[objectIndex].unk_038[1] = 2.0f;
break;
case 7:
sp34 = temp_v0;
func_8008BD14(objectIndex, (s16) (s32) arg1->unk0, (s16) (s32) ((f64) arg1->unk4 + 30.0), (s16) (s32) arg1->unk8, (u16) 0x00000010, (u16) 0x00000028, (u16) 0x00000010);
temp_v0->unk_034 = 2.0f;
temp_v0->unk_038[1] = 2.0f;
case COURSE_ROYAL_RACEWAY:
func_8008BD14(objectIndex, arg1[0], arg1[1] + 30.0, arg1[2], 0x00000010, 0x00000028, 0x00000010);
D_80165C18[objectIndex].unk_034 = 2.0f;
D_80165C18[objectIndex].unk_038[1] = 2.0f;
break;
case 8:
sp34 = temp_v0;
func_8008BD14(objectIndex, (s16) (s32) arg1->unk0, (s16) (s32) ((f64) arg1->unk4 + 25.0), (s16) (s32) arg1->unk8, (u16) 0x00000014, (u16) 0x0000001E, (u16) 0x00000014);
temp_v0->unk_034 = 1.5f;
temp_v0->unk_038[1] = 1.0f;
case COURSE_LUIGI_RACEWAY:
func_8008BD14(objectIndex, arg1[0], arg1[1] + 25.0, arg1[2], 0x00000014, 0x0000001E, 0x00000014);
D_80165C18[objectIndex].unk_034 = 1.5f;
D_80165C18[objectIndex].unk_038[1] = 1.0f;
break;
}
temp_s0 = (random_int(0x0010U) << 0xC) & 0xFFFF;
temp_s0 = random_int(0x0010U) << 0xC;
sp3E = random_int(0x0010U) << 0xC;
sp3C = random_int(0x0010U) << 0xC;
func_8008B888(objectIndex, 0U, ((s32) (arg2 * 0xFFFF) / 20) & 0xFFFF, 0U);
func_8008B8BC(objectIndex, temp_s0 & 0xFFFF, sp3E, sp3C);
func_8008B888(objectIndex, 0U, (arg2 * 0xFFFF) / 20, 0U);
func_8008B8BC(objectIndex, temp_s0, sp3E, sp3C);
}
#else
GLOBAL_ASM("asm/non_matchings/code_80071F00/func_80077700.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
s32 func_80072044(? *, ? *, ?); // extern
void func_80077700(s32, s32, s32); // extern
//generated by m2c commit 0927f17aac197848d4ebdf0c6bbad74b01f0851c
extern s32 D_80183E7C;
extern s32 D_8018C970;
s32 func_80077A54(s32 arg0, s32 arg1) {
s32 func_80077A54(Vec3f arg0, s32 arg1) {
s32 sp1C;
s32 temp_v0;
s32 phi_a0;
s32 var_a0;
temp_v0 = func_80072044(&D_8018C970, &D_80183E7C, 0x40);
phi_a0 = temp_v0;
temp_v0 = func_80072044(&D_8018C970, &D_80183E7C, 0x00000040);
var_a0 = temp_v0;
if (temp_v0 != -1) {
sp1C = temp_v0;
func_80077700(temp_v0, arg0, arg1);
phi_a0 = sp1C;
func_80077700(var_a0, arg0, arg1);
var_a0 = sp1C;
}
return phi_a0;
return var_a0;
}
#else
GLOBAL_ASM("asm/non_matchings/code_80071F00/func_80077A54.s")
@@ -3081,22 +3045,20 @@ loop_3:
GLOBAL_ASM("asm/non_matchings/code_80071F00/func_80077D5C.s")
#endif
#ifdef MIPS_TO_C
//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
extern Vtx D_0D005770;
extern s32 D_0D0293D8;
#ifdef NEEDS_RODATA
// data_0DD0A0_3_0.s
extern f32 D_800EEB3C;// = 0.15f;
void func_80077E20(s32 objectIndex) {
struct_80165C18_entry *sp18;
struct_80165C18_entry *temp_v0;
temp_v0 = &D_80165C18[objectIndex];
temp_v0->unk_064 = &D_0D0293D8;
temp_v0->unk_06C = (s32) &D_0D0293D8;
temp_v0->unk_074 = (s32) &D_0D005770;
temp_v0->unk_064 = D_0D0293D8;
temp_v0->unk_06C = D_0D0293D8;
// There's something up with the handling of D_0D005770 and the loading of 0x10 right here
temp_v0->unk_074 = D_0D005770;
temp_v0->unk_0DA = 0x10;
temp_v0->unk_0D9 = 0x10;
sp18 = temp_v0;
temp_v0->unk_0D9 = temp_v0->unk_0DA;
temp_v0->unk_000 = 0.15f;
func_800721C0(objectIndex, 0x00000010);
func_80086EF0(objectIndex);
@@ -3250,10 +3212,9 @@ void func_80078170(s32 arg0, ? arg1) {
GLOBAL_ASM("asm/non_matchings/code_80071F00/func_80078170.s")
#endif
#ifdef MIPS_TO_C
//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
extern Vtx D_0D005770;
extern s32 D_0D0293D8;
#ifdef NEEDS_RODATA
// data_0DD0A0_3_0.x
extern f32 D_800EEB48;// = 0.15f;
void func_80078220(s32 objectIndex) {
struct_80165C18_entry *temp_v0;
@@ -3271,7 +3232,7 @@ GLOBAL_ASM("asm/non_matchings/code_80071F00/func_80078220.s")
#endif
#ifdef MIPS_TO_C
//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
//generated by m2c commit 0927f17aac197848d4ebdf0c6bbad74b01f0851c
extern s32 gGamestate;
void func_80078288(s32 objectIndex) {
@@ -5547,19 +5508,18 @@ GLOBAL_ASM("asm/non_matchings/code_80071F00/func_8007C280.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
void func_8007BDA8(); // extern
void func_8007C280(); // extern
//generated by m2c commit 0927f17aac197848d4ebdf0c6bbad74b01f0851c
? func_8007C280(); /* extern */
void func_8007C2F8(s32 arg0) {
if (arg0 != 0) {
if (arg0 != 1) {
return;
}
switch (arg0) { /* irregular */
case 0:
func_8007BDA8();
return;
case 1:
func_8007C280();
return;
}
func_8007BDA8();
}
#else
GLOBAL_ASM("asm/non_matchings/code_80071F00/func_8007C2F8.s")
@@ -5625,7 +5585,7 @@ UNUSED void func_8007C49C(void) {
}
#ifdef MIPS_TO_C
//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
//generated by m2c commit 0927f17aac197848d4ebdf0c6bbad74b01f0851c
void func_8007C4A4(s32 objectIndex) {
struct_80165C18_entry *sp20;
s32 sp1C;
@@ -6282,10 +6242,8 @@ GLOBAL_ASM("asm/non_matchings/code_80071F00/func_8007D6A8.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
s32 func_80072044(? *, ? *, ?); // extern
void func_800723A4(s32, ?); // extern
void func_8007D6A8(s32, s32); // extern
//generated by m2c commit 0927f17aac197848d4ebdf0c6bbad74b01f0851c
? func_8007D6A8(s32, s32); /* extern */
extern s32 D_80183E4C;
extern s32 D_80183E5C;
extern s32 D_8018C3F0;
@@ -6293,17 +6251,17 @@ extern s32 D_8018C630;
void func_8007D714(s32 arg0) {
s32 sp1C;
s32 phi_v0;
s32 var_v0;
if (arg0 == 1) {
phi_v0 = func_80072044(&D_8018C3F0, &D_80183E4C, 0x28);
var_v0 = func_80072044(&D_8018C3F0, &D_80183E4C, 0x00000028);
} else {
phi_v0 = func_80072044(&D_8018C630, &D_80183E5C, 0x1E);
var_v0 = func_80072044(&D_8018C630, &D_80183E5C, 0x0000001E);
}
if (phi_v0 != -1) {
sp1C = phi_v0;
func_800723A4(phi_v0, 0);
func_8007D6A8(phi_v0, arg0);
if (var_v0 != -1) {
sp1C = var_v0;
func_800723A4(var_v0, 0);
func_8007D6A8(var_v0, arg0);
}
}
#else
@@ -8109,28 +8067,17 @@ void func_80080A14(s32 objectIndex, Player *player) {
}
}
#ifdef MIPS_TO_C
//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
void func_80080A4C(s32 objectIndex, s32 cameraPlayerId) {
Camera *sp1C;
Player *sp18;
Player *temp_a3;
struct_80165C18_entry *temp_v0;
Camera *camera = &camera1[cameraPlayerId];
Player *player = &gPlayerOne[cameraPlayerId];
sp1C = &camera1[cameraPlayerId];
temp_a3 = &gPlayerOne[cameraPlayerId];
if (gScreenModeSelection != 3) {
sp18 = temp_a3;
if ((func_80072320(objectIndex, 0x00000010) != 0) && (func_80088A58(objectIndex, temp_a3, 500.0f) != 0)) {
func_8001CA10(sp1C);
temp_v0 = &D_80165C18[objectIndex];
func_800C98B8(temp_v0->unk_004, temp_v0->unk_038, 0x1900800FU);
if ((func_80072320(objectIndex, 0x00000010) != 0) && (func_80088A58(objectIndex, player, 500.0f) != 0)) {
func_8001CA10(camera);
func_800C98B8(D_80165C18[objectIndex].unk_004, D_80165C18[objectIndex].unk_038, 0x1900800FU);
}
}
}
#else
GLOBAL_ASM("asm/non_matchings/code_80071F00/func_80080A4C.s")
#endif
#ifdef MIPS_TO_C
//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
@@ -10897,21 +10844,18 @@ GLOBAL_ASM("asm/non_matchings/code_80071F00/func_80085F74.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
void func_80073444(s32, void *, void *, ?, s32); // extern
void func_80085BB4(s32); // extern
void func_8008B7D4(f32, s32, s32); // extern
//generated by m2c commit 0927f17aac197848d4ebdf0c6bbad74b01f0851c
extern ? D_06007200;
extern ? D_0600B000;
extern ? D_800E6734;
extern f32 D_8018D01C;
f32 D_800E6734[0][3]; /* unable to generate initializer */
void func_80086074(s32 arg0, s32 arg1) {
void *temp_v0;
f32 *temp_v0;
temp_v0 = (arg1 * 0xC) + &D_800E6734;
func_8008B7D4(temp_v0->unk0 * D_8018D01C, temp_v0->unk4, temp_v0->unk8);
func_80073444(arg0, (arg1 << 9) + &D_06007200, (arg1 << 0xC) + &D_0600B000, 0x40, 0x40);
temp_v0 = D_800E6734[arg1];
func_8008B7D4(arg0, temp_v0->unk0 * D_8018D01C, temp_v0->unk4, temp_v0->unk8);
func_80073444(arg0, (arg1 << 9) + &D_06007200, (arg1 << 0xC) + &D_0600B000, 0x40U, (u16) 0x00000040);
func_80085BB4(arg0);
}
#else
@@ -10936,40 +10880,26 @@ GLOBAL_ASM("asm/non_matchings/code_80071F00/func_80086110.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
void func_80085CA0(s32, s32); // extern
void func_80085E38(s32, s32); // extern
void func_80085F74(s32, s32); // extern
void func_80086110(s32, s32, s32); // extern
//generated by m2c commit 0927f17aac197848d4ebdf0c6bbad74b01f0851c
? func_80085CA0(s32, s32); /* extern */
? func_80085E38(s32, s32); /* extern */
? func_80085F74(s32, s32); /* extern */
? func_80086110(s32, s32, s32); /* extern */
void func_80086158(s32 arg0, s32 arg1) {
s32 temp_a2;
s32 phi_a2;
temp_a2 = arg1;
phi_a2 = temp_a2;
if (arg1 != 0) {
if (arg1 != 1) {
if (arg1 != 2) {
} else {
arg1 = temp_a2;
func_80085F74(arg0, temp_a2);
goto block_7;
}
} else {
arg1 = temp_a2;
func_80085E38(arg0, temp_a2);
goto block_7;
}
} else {
arg1 = temp_a2;
func_80085CA0(arg0, temp_a2);
block_7:
phi_a2 = arg1;
switch (arg1) { /* irregular */
case 0:
func_80085CA0(arg0, arg1);
break;
case 1:
func_80085E38(arg0, arg1);
break;
case 2:
func_80085F74(arg0, arg1);
break;
}
if (phi_a2 >= 3) {
func_80086110(arg0, phi_a2 - 3, phi_a2);
if (arg1 >= 3) {
func_80086110(arg0, arg1 - 3, arg1);
}
}
#else