summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMegaMech <MegaMech@users.noreply.github.com>2023-06-16 10:30:39 -0600
committerGitHub <noreply@github.com>2023-06-16 10:30:39 -0600
commit779ae6f6f1a91db2a560aecdbc9fa55fb203a63c (patch)
tree8f566c1dcb47274c454d35105c440d501c83d071 /src
parente371f88b2d94047889f79b20d655684e0f74103d (diff)
Item & Various decomp (#311)
* Item & Various decomp
Diffstat (limited to 'src')
-rw-r--r--src/audio/external.c19
-rw-r--r--src/code_80027D00.c2
-rw-r--r--src/code_80057C60.c156
-rw-r--r--src/code_80057C60.h2
-rw-r--r--src/code_80071F00.c2255
-rw-r--r--src/code_80071F00.h4
-rw-r--r--src/code_8008C1D0.c5
-rw-r--r--src/common_textures.inc.c259
-rw-r--r--src/hud_renderer.c82
9 files changed, 1314 insertions, 1470 deletions
diff --git a/src/audio/external.c b/src/audio/external.c
index 27a85c2c5..802102509 100644
--- a/src/audio/external.c
+++ b/src/audio/external.c
@@ -4238,16 +4238,21 @@ block_4:
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C8F80.s")
#endif
-#ifdef MIPS_TO_C
+#ifdef NON_MATCHING
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
-void func_800C5578(void *, s32); // extern
-extern ? D_800E9F7C;
+//void func_800C5578(void *, s32); // extern
-void func_800C9018(s32 arg0) {
- s32 temp_a2;
+typedef struct {
+ s32 unk0[0x3C];
+} UnkStruct_800E9F7C;
- temp_a2 = arg0 & 0xFF;
- func_800C5578((temp_a2 * 0x3C) + &D_800E9F7C, temp_a2);
+extern UnkStruct_800E9F7C D_800E9F7C[];
+
+void func_800C9018(u8 arg0, s32 arg1) {
+ //s32 temp_a2;
+
+ //temp_a2 = arg0;
+ func_800C5578(D_800E9F7C->unk0[arg0], arg1);
}
#else
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C9018.s")
diff --git a/src/code_80027D00.c b/src/code_80027D00.c
index 1332993df..b3b919d4d 100644
--- a/src/code_80027D00.c
+++ b/src/code_80027D00.c
@@ -1843,7 +1843,7 @@ void func_8002B308(Player *player, s8 arg1, s8 arg2) {
if ((player->statusEffects & 0x01000000) == 0x01000000) {
func_8008EAE0(player, arg1);
}
- if ((player->statusEffects & 0x800000) == 0x800000) {
+ if ((player->statusEffects & 0x00800000) == 0x00800000) {
func_8008EC88(player, arg1);
}
if ((player->statusEffects & 0x8000) == 0x8000) {
diff --git a/src/code_80057C60.c b/src/code_80057C60.c
index 734398596..171eccf1b 100644
--- a/src/code_80057C60.c
+++ b/src/code_80057C60.c
@@ -828,14 +828,14 @@ GLOBAL_ASM("asm/non_matchings/code_80057C60/func_80059820.s")
void func_800598D4(s32 arg0) {
struct Controller *controller = &gControllerOne[arg0];
- if ((controller->button & 0x8000) != 0) {
- D_801658FF++;
+ if ((controller->button & A_BUTTON) != 0) {
+ gControllerRandom++;
}
- if ((controller->button & 0x4000) != 0) {
- D_801658FF++;
+ if ((controller->button & B_BUTTON) != 0) {
+ gControllerRandom++;
}
- if ((controller->button & 0x10) != 0) {
- D_801658FF++;
+ if ((controller->button & R_TRIG) != 0) {
+ gControllerRandom++;
}
}
@@ -8287,8 +8287,8 @@ GLOBAL_ASM("asm/non_matchings/code_80057C60/func_80069DB8.s")
#ifdef MIPS_TO_C
//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b
-? func_800652D4(f32 *, s16 *, f32); /* extern */
-extern u32 D_8018D49C;
+//? func_800652D4(f32 *, s16 *, f32); /* extern */
+//extern u32 D_8018D49C;
void func_8006A01C(Player *player, s32 arg1, s16 arg2, s8 arg3) {
f32 sp5C;
@@ -8297,83 +8297,77 @@ void func_8006A01C(Player *player, s32 arg1, s16 arg2, s8 arg3) {
s16 sp50;
s16 sp4E;
s16 sp4C;
- Gfx *sp2C;
- Gfx *sp28;
- Gfx *temp_v0_10;
- Gfx *temp_v0_11;
- Gfx *temp_v0_12;
- Gfx *temp_v0_13;
- Gfx *temp_v0_2;
- Gfx *temp_v0_3;
- Gfx *temp_v0_4;
- Gfx *temp_v0_5;
- Gfx *temp_v0_6;
- Gfx *temp_v0_7;
- Gfx *temp_v0_8;
- Gfx *temp_v0_9;
- void *temp_v0;
-
- temp_v0 = player + (arg2 * 0x48);
+ UnkPlayerStruct258 *temp_v0 = &player->unk_258[arg2]; // + (arg2 * 0x48);
if (player->unk_258[arg2].unk_01C == 1) {
- sp54 = temp_v0->unk528;
- sp58 = temp_v0->unk52C;
+ sp54 = player->unk_258[arg2].unk_028;
+ sp58 = player->unk_258[arg2].unk_02C;
sp4C = 0;
- sp5C = temp_v0->unk530;
+ sp5C = player->unk_258[arg2].unk_030;
sp50 = 0;
sp4E = player->unk_048[arg3];
- func_800652D4(&sp54, &sp4C, temp_v0->unk534 * player->unk_224);
- temp_v0_2 = gDisplayListHead;
- gDisplayListHead = temp_v0_2 + 8;
- temp_v0_2->words.w0 = 0x06000000;
- temp_v0_2->words.w1 = (u32) D_0D008D58;
- temp_v0_3 = gDisplayListHead;
- gDisplayListHead = temp_v0_3 + 8;
- temp_v0_3->words.w1 = 0;
- temp_v0_3->words.w0 = 0xBA000E02;
- temp_v0_4 = gDisplayListHead;
- gDisplayListHead = temp_v0_4 + 8;
- temp_v0_4->words.w0 = 0xFD700000;
- temp_v0_4->words.w1 = D_8018D49C;
- temp_v0_5 = gDisplayListHead;
- gDisplayListHead = temp_v0_5 + 8;
- temp_v0_5->words.w1 = 0x07080200;
- temp_v0_5->words.w0 = 0xF5700000;
- temp_v0_6 = gDisplayListHead;
- gDisplayListHead = temp_v0_6 + 8;
- temp_v0_6->words.w1 = 0;
- temp_v0_6->words.w0 = 0xE6000000;
- temp_v0_7 = gDisplayListHead;
- gDisplayListHead = temp_v0_7 + 8;
- temp_v0_7->words.w1 = 0x070FF200;
- temp_v0_7->words.w0 = 0xF3000000;
- temp_v0_8 = gDisplayListHead;
- gDisplayListHead = temp_v0_8 + 8;
- temp_v0_8->words.w1 = 0;
- temp_v0_8->words.w0 = 0xE7000000;
- temp_v0_9 = gDisplayListHead;
- gDisplayListHead = temp_v0_9 + 8;
- sp2C = temp_v0_9;
- temp_v0_9->words.w0 = 0xF5700800;
- temp_v0_9->words.w1 = 0x00080200;
- temp_v0_10 = gDisplayListHead;
- gDisplayListHead = temp_v0_10 + 8;
- sp28 = temp_v0_10;
- temp_v0_10->words.w1 = 0x0003C03C;
- temp_v0_10->words.w0 = 0xF2000000;
- func_8004B35C(0x000000FF, 0x000000FF, 0x000000FF, 0x000000FF);
- temp_v0_11 = gDisplayListHead;
- gDisplayListHead = temp_v0_11 + 8;
- temp_v0_11->words.w0 = 0xB900031D;
- temp_v0_11->words.w1 = 0x00504B50;
- temp_v0_12 = gDisplayListHead;
- gDisplayListHead = temp_v0_12 + 8;
- temp_v0_12->words.w1 = (u32) D_0D008B78;
- temp_v0_12->words.w0 = 0x0400103F;
- temp_v0_13 = gDisplayListHead;
- gDisplayListHead = temp_v0_13 + 8;
- temp_v0_13->words.w0 = 0x06000000;
- temp_v0_13->words.w1 = (u32) D_0D008DA0;
- D_80164AF0 += 1;
+ func_800652D4(&sp54, &sp4C, player->unk_258[arg2].unk_034 * player->unk_224);
+
+ gSPDisplayList(gDisplayListHead++, D_0D008D58);
+ gDPSetTextureLUT(gDisplayListHead++, G_TT_NONE);
+ gDPLoadTextureBlock(gDisplayListHead++, D_8018D49C, G_IM_FMT_IA, G_IM_SIZ_16b, 16, 16, 0, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
+ func_8004B35C(0xFF, 0xFF, 0xFF, 0xFF);
+ gDPSetRenderMode(gDisplayListHead++, G_RM_ZB_CLD_SURF, G_RM_ZB_CLD_SURF2);
+ gSPVertex(gDisplayListHead++, D_0D008B78, 4, 0);
+ gSPDisplayList(gDisplayListHead++, D_0D008DA0);
+ D_80164AF0++;
+
+
+
+ // temp_v0_2 = gDisplayListHead;
+ // gDisplayListHead = temp_v0_2 + 8;
+ // temp_v0_2->words.w0 = 0x06000000;
+ // temp_v0_2->words.w1 = (u32) D_0D008D58;
+ // temp_v0_3 = gDisplayListHead;
+ // gDisplayListHead = temp_v0_3 + 8;
+ // temp_v0_3->words.w1 = 0;
+ // temp_v0_3->words.w0 = 0xBA000E02;
+ // temp_v0_4 = gDisplayListHead;
+ // gDisplayListHead = temp_v0_4 + 8;
+ // temp_v0_4->words.w0 = 0xFD700000;
+ // temp_v0_4->words.w1 = D_8018D49C;
+ // temp_v0_5 = gDisplayListHead;
+ // gDisplayListHead = temp_v0_5 + 8;
+ // temp_v0_5->words.w1 = 0x07080200;
+ // temp_v0_5->words.w0 = 0xF5700000;
+ // temp_v0_6 = gDisplayListHead;
+ // gDisplayListHead = temp_v0_6 + 8;
+ // temp_v0_6->words.w1 = 0;
+ // temp_v0_6->words.w0 = 0xE6000000;
+ // temp_v0_7 = gDisplayListHead;
+ // gDisplayListHead = temp_v0_7 + 8;
+ // temp_v0_7->words.w1 = 0x070FF200;
+ // temp_v0_7->words.w0 = 0xF3000000;
+ // temp_v0_8 = gDisplayListHead;
+ // gDisplayListHead = temp_v0_8 + 8;
+ // temp_v0_8->words.w1 = 0;
+ // temp_v0_8->words.w0 = 0xE7000000;
+ // temp_v0_9 = gDisplayListHead;
+ // gDisplayListHead = temp_v0_9 + 8;
+ // sp2C = temp_v0_9;
+ // temp_v0_9->words.w0 = 0xF5700800;
+ // temp_v0_9->words.w1 = 0x00080200;
+ // temp_v0_10 = gDisplayListHead;
+ // gDisplayListHead = temp_v0_10 + 8;
+ // sp28 = temp_v0_10;
+ // temp_v0_10->words.w1 = 0x0003C03C;
+ // temp_v0_10->words.w0 = 0xF2000000;
+ // temp_v0_11 = gDisplayListHead;
+ // gDisplayListHead = temp_v0_11 + 8;
+ // temp_v0_11->words.w0 = 0xB900031D;
+ // temp_v0_11->words.w1 = 0x00504B50;
+ // temp_v0_12 = gDisplayListHead;
+ // gDisplayListHead = temp_v0_12 + 8;
+ // temp_v0_12->words.w1 = (u32) D_0D008B78;
+ // temp_v0_12->words.w0 = 0x0400103F;
+ // temp_v0_13 = gDisplayListHead;
+ // gDisplayListHead = temp_v0_13 + 8;
+ // temp_v0_13->words.w0 = 0x06000000;
+ // temp_v0_13->words.w1 = (u32) D_0D008DA0;
}
}
#else
diff --git a/src/code_80057C60.h b/src/code_80057C60.h
index 431adf4dc..661110d7f 100644
--- a/src/code_80057C60.h
+++ b/src/code_80057C60.h
@@ -218,7 +218,7 @@ extern s8 D_801657F0;
extern s8 D_80165800;
extern s8 D_80165801;
extern s8 D_801657B0;
-extern u8 D_801658FF;
+extern u8 gControllerRandom;
extern struct Controller *gControllerOne;
extern s32 D_8018D214;
extern s32 D_8018D2C8[];
diff --git a/src/code_80071F00.c b/src/code_80071F00.c
index c461a3546..59c966f5f 100644
--- a/src/code_80071F00.c
+++ b/src/code_80071F00.c
@@ -2,6 +2,7 @@
#include <macros.h>
#include <defines.h>
#include <functions.h>
+#include "memory.h"
#include "camera.h"
#include "math_util.h"
#include "math_util_2.h"
@@ -13,6 +14,35 @@
#include "code_80086E70.h"
#include "common_textures.h"
#include "audio/external.h"
+#include "sounds.h"
+#include <actors.h>
+
+extern s32 D_8018D1F0;
+
+typedef struct {
+ s16 unk[0x70];
+} UnkStruct_80165CBE;
+
+extern UnkStruct_80165CBE D_80165CBE[];
+
+typedef struct {
+ u8 unk[0xE0];
+} UnkStruct_80165CF5;
+
+extern UnkStruct_80165CF5 D_80165CF5[];
+
+typedef struct {
+ f32 unk[0x38];
+} UnkStruct_80165C40;
+
+extern UnkStruct_80165C40 D_80165C40[];
+
+typedef struct {
+ s16 unk[0x70];
+} UnkStruct_80165CB4;
+
+extern UnkStruct_80165CB4 D_80165CB4[];
+
s32 find_unused_obj_index(s32* arg0) {
s32 temp_v0;
@@ -97,25 +127,15 @@ void func_80072100(s32 *arg0) {
func_80071F6C(arg0);
}
-#ifdef MIPS_TO_C
-//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
void func_80072120(s32 *arg0, s32 arg1) {
- s32 *var_s1;
s32 var_s0;
+ s32 i;
- var_s1 = arg0;
- var_s0 = 0;
- if (arg1 > 0) {
- do {
- func_800721E8(*var_s1, 0x00600000);
- var_s0 += 1;
- var_s1 += 4;
- } while (var_s0 != arg1);
+ for (i = 0; i < arg1; i++) {
+ func_800721E8(*arg0, 0x00600000);
+ arg0++;
}
}
-#else
-GLOBAL_ASM("asm/non_matchings/code_80071F00/func_80072120.s")
-#endif
void func_80072180(void) {
if (gModeSelection == TIME_TRIALS) {
@@ -357,35 +377,22 @@ void func_800729D0(s32 arg0, s32 arg1) {
D_80165C18[arg0].unk_0A4 = arg1;
}
-#ifdef MIPS_TO_C
-//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
-extern s32 D_8018D2A4;
-extern s32 D_8018D2BC;
-s16 gCurrentCourseId; /* unable to generate initializer */
-
void func_800729EC(s32 arg0) {
- s8 temp_v1;
- struct_8018CA70_entry *var_v0;
+ u32 temp_v1 = 1;
+ s32 i;
start_race();
func_80072488(arg0);
D_8018D2BC = 1;
D_8018D2A4 = 1;
+
if (gCurrentCourseId != 4) {
- temp_v1 = D_8018EDF3;
- var_v0 = D_8018CA70;
- if (temp_v1 > 0) {
- do {
- var_v0 += 0x84;
- var_v0->unk-3 = 1;
- } while ((u32) var_v0 < (u32) &D_8018CA70[temp_v1]);
+ for (i = 0; i < D_8018EDF3; i++) {
+ D_8018CA70[i].unk_81 = temp_v1;
}
}
func_8005AB20();
}
-#else
-GLOBAL_ASM("asm/non_matchings/code_80071F00/func_800729EC.s")
-#endif
UNUSED void func_80072A78(s32 arg0, s32 arg1) {
D_80165C18[arg0].unk_0D2 = arg1;
@@ -1153,17 +1160,9 @@ void func_80074510(uintptr_t devAddr, void * vaddr, size_t nbytes) {
D_8018D224 = 1;
}
-#ifdef NON_MATCHING
-
-extern s8 _other_texturesSegmentRomStart[];
-
-void func_80074574(s32 arg0, u8 *arg1, u16 arg2, u16 arg3) {
- if (1);
- func_80074510(&_other_texturesSegmentRomStart[arg0 & 0xFFFFFF], (void *) (arg2 * arg3), arg3);
+void func_80074574(s32 arg0, void *arg1, u16 arg2, u16 arg3) {
+ func_80074510(&_other_texturesSegmentRomStart[SEGMENT_OFFSET(arg0)], arg1, arg2 * arg3);
}
-#else
-GLOBAL_ASM("asm/non_matchings/code_80071F00/func_80074574.s")
-#endif
void func_800745C8(s32 arg0, s32 arg1) {
s32 phi_a1;
@@ -1225,47 +1224,31 @@ s32 func_80074790(s32 arg0, s32 arg1) {
return (D_80165C18[arg0].unk_0D9 * D_80165C18[arg0].unk_0DA * phi_a2) + arg1;
}
-#ifdef MIPS_TO_C
-//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
-void func_80074574(s32, s32, u8, u8); /* extern */
-
void func_800747F0(s32 objectIndex, s32 arg1) {
s32 sp24;
- struct_80165C18_entry *sp1C;
- s8 temp_v0;
- struct_80165C18_entry *temp_v1;
-
- temp_v1 = &D_80165C18[objectIndex];
- temp_v0 = temp_v1->unk_0D2;
- if (temp_v0 != temp_v1->unk_0D3) {
- sp1C = temp_v1;
- sp24 = (temp_v0 * temp_v1->unk_0D9 * temp_v1->unk_0DA) + temp_v1->unk_06C;
- func_80074574(sp24, func_80074790(objectIndex, arg1), temp_v1->unk_0D9, temp_v1->unk_0DA);
- temp_v1->unk_0D3 = temp_v1->unk_0D2;
+ if (D_80165C18[objectIndex].unk_0D2 != D_80165C18[objectIndex].unk_0D3) {
+ sp24 = D_80165C18[objectIndex].unk_06C + (D_80165C18[objectIndex].unk_0D9 * D_80165C18[objectIndex].unk_0DA * D_80165C18[objectIndex].unk_0D2);
+ func_80074574(sp24, (void *) func_80074790(objectIndex, arg1), D_80165C18[objectIndex].unk_0D9, D_80165C18[objectIndex].unk_0DA);
+ D_80165C18[objectIndex].unk_0D3 = D_80165C18[objectIndex].unk_0D2;
func_80074478(objectIndex);
}
}
-#else
-GLOBAL_ASM("asm/non_matchings/code_80071F00/func_800747F0.s")
-#endif
void func_80074894(s32 arg0, s32 arg1) {
- func_800747F0(arg0);
+ func_800747F0(arg0, arg1);
func_800745C8(arg0, arg1);
}
void func_800748C4(s32 arg0, s32 arg1) {
- func_800747F0(arg0);
+ func_800747F0(arg0, arg1);
func_8007466C(arg0, arg1);
}
void func_800748F4(s32 arg0, s32 arg1) {
- func_800747F0(arg0);
+ func_800747F0(arg0, arg1);
func_80074704(arg0, arg1);
}
-#ifdef MIPS_TO_C
-//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
struct _struct_D_800E6F30_0x3 {
/* 0x0 */ u8 unk0; /* inferred */
/* 0x1 */ u8 unk1; /* inferred */
@@ -1278,32 +1261,36 @@ struct _struct_D_800E6F48_0x3 {
/* 0x2 */ u8 unk2; /* inferred */
}; /* size = 0x3 */
-void func_8008B80C(s32, ?, ?, ?); /* extern */
+//void func_8008B80C(s32, ?, ?, ?); /* extern */
+extern u16 D_80165748;
extern s16 D_80165718;
extern s16 D_80165720;
extern s16 D_80165728;
-extern f32 D_8018D01C;
-static struct _struct_D_800E6F30_0x3 D_800E6F30[8] = {
- { 0xC8, 1, 0 },
- { 0, 0x70, 1 },
- { 0x10, 0x79, 0x51 },
- { 0, 0x59, 0x70 },
- { 0x70, 0x55, 0 },
- { 0x7A, 0x7E, 0 },
- { 0x77, 0x2C, 0x24 },
- { 0x30, 0x14, 0x58 },
-};
-static struct _struct_D_800E6F48_0x3 D_800E6F48[8] = {
- { 0xDC, 0, 0 },
- { 0, 0x8C, 6 },
- { 0, 0, 0x51 },
- { 0, 0, 0 },
- { 0, 0, 0 },
- { 0, 0, 0 },
- { 0, 0, 0 },
- { 0, 0, 0 },
-};
-s16 gCurrentCourseId; /* unable to generate initializer */
+
+extern struct _struct_D_800E6F30_0x3 D_800E6F30[8];
+extern struct _struct_D_800E6F30_0x3 D_800E6F48[8];
+
+//extern f32 D_8018D01C;
+// static struct _struct_D_800E6F30_0x3 D_800E6F30[8] = {
+// { 0xC8, 1, 0 },
+// { 0, 0x70, 1 },
+// { 0x10, 0x79, 0x51 },
+// { 0, 0x59, 0x70 },
+// { 0x70, 0x55, 0 },
+// { 0x7A, 0x7E, 0 },
+// { 0x77, 0x2C, 0x24 },
+// { 0x30, 0x14, 0x58 },
+// };
+// static struct _struct_D_800E6F48_0x3 D_800E6F48[8] = {
+// { 0xDC, 0, 0 },
+// { 0, 0x8C, 6 },
+// { 0, 0, 0x51 },
+// { 0, 0, 0 },
+// { 0, 0, 0 },
+// { 0, 0, 0 },
+// { 0, 0, 0 },
+// { 0, 0, 0 },
+// };
void func_80074924(s32 objectIndex) {
s32 sp2C;
@@ -1322,7 +1309,7 @@ void func_80074924(s32 objectIndex) {
switch (temp_v0) { /* irregular */
case 0:
sp2C = random_int(0x00C8U);
- sp28 = random_int((u16) D_80165748);
+ sp28 = random_int(D_80165748);
sp24 = random_int(0x0096U);
sp20 = random_int(0x2000U);
temp_s0->unk_010[0] = (f32) ((((f64) D_80165718 + 100.0) - (f64) sp2C) * (f64) D_8018D01C);
@@ -1331,7 +1318,7 @@ void func_80074924(s32 objectIndex) {
break;
case 7:
sp2C = random_int(0x0168U);
- sp28 = random_int((u16) D_80165748);
+ sp28 = random_int(D_80165748);
sp24 = random_int(0x00B4U);
sp20 = random_int(0x2000U);
temp_s0->unk_010[0] = (f32) ((((f64) D_80165718 + 180.0) - (f64) sp2C) * (f64) D_8018D01C);
@@ -1340,7 +1327,7 @@ void func_80074924(s32 objectIndex) {
break;
case 8:
sp2C = random_int(0x012CU);
- sp28 = random_int((u16) D_80165748);
+ sp28 = random_int(D_80165748);
sp24 = random_int(0x0096U);
sp20 = random_int(0x2000U);
temp_s0->unk_010[0] = (f32) ((((f64) D_80165718 + 150.0) - (f64) sp2C) * (f64) D_8018D01C);
@@ -1350,20 +1337,20 @@ void func_80074924(s32 objectIndex) {
}
func_8008B80C(objectIndex, 0, 0, 0);
if (D_8018EDF3 == 1) {
- temp_s0->unk_03C = (f32) (((f64) (f32) (sp2C % 4) * 0.25) + 0.8);
+ temp_s0->unk_038[1] = (f32) (((f64) (f32) (sp2C % 4) * 0.25) + 0.8);
} else {
- temp_s0->unk_03C = (f32) (((f64) (f32) (sp2C % 3) * 0.2) + 0.4);
+ temp_s0->unk_038[1] = (f32) (((f64) (f32) (sp2C % 3) * 0.2) + 0.4);
}
temp_a0 = sp2C % 8;
temp_v0_2 = &D_800E6F30[temp_a0];
temp_v1 = &D_800E6F48[temp_a0];
- temp_s0->unk_084[6] = sp20 - 0x1000;
temp_s0->unk_084[0] = (s16) temp_v0_2->unk0;
temp_s0->unk_084[1] = (s16) temp_v0_2->unk1;
temp_s0->unk_084[2] = (s16) temp_v0_2->unk2;
temp_s0->unk_084[3] = (s16) temp_v1->unk0;
temp_s0->unk_084[4] = (s16) temp_v1->unk1;
temp_s0->unk_084[5] = (s16) temp_v1->unk2;
+ temp_s0->unk_084[6] = sp20 - 0x1000;
if (sp2C & 1) {
temp_s0->unk_084[7] = (sp20 / 32) + 0x100;
} else {
@@ -1372,9 +1359,6 @@ void func_80074924(s32 objectIndex) {
temp_s0->unk_0A0 = 0x00E6;
func_80072488(objectIndex);
}
-#else
-GLOBAL_ASM("asm/non_matchings/code_80071F00/func_80074924.s")
-#endif
void func_80074D94(s32 arg0) {
if (D_80165C18[arg0].unk_0AE == 1) {
@@ -2073,44 +2057,40 @@ s32 func_80076828(Vec3s arg0, s32 arg1) {
return temp_v0;
}
-#ifdef MIPS_TO_C
-//generated by m2c commit d9d3d6575355663122de59f6b2882d8f174e2355 on Dec-25-2022
-s16 D_800E5740[0][3]; /* unable to generate initializer */
-s16 D_800E579C[0][3]; /* unable to generate initializer */
-s16 D_800E57F8[0][3]; /* unable to generate initializer */
+extern s16 D_800E5740[1]; //[15][3]; /* unable to generate initializer */
+extern s16 D_800E579C[1]; //[15][3]; /* unable to generate initializer */
+extern s16 D_800E57F8[1]; //[15][3]; /* unable to generate initializer */
void func_80076884(s32 arg0) {
+ s32 pad[2];
+ s32 i;
s16 *var_s2;
- s32 var_s0;
u16 temp_v0;
-
temp_v0 = random_int(0x000FU);
- switch (arg0) { /* irregular */
- default:
- var_s2 = sp28;
- break;
- case 0:
- var_s2 = D_800E5740[temp_v0];
+ switch (arg0)
+ {
+ case 0:
+ var_s2 = *(&D_800E5740 + temp_v0 * 3);
break;
- case 1:
- var_s2 = D_800E579C[temp_v0];
+
+ case 1:
+ var_s2 = *(&D_800E579C + temp_v0 * 3);
break;
- case 2:
- var_s2 = D_800E57F8[temp_v0];
+
+ case 2:
+ var_s2 = *(&D_800E57F8 + temp_v0 * 3);
break;
+
}
- var_s0 = 0;
-loop_8:
- var_s0 += 1;
- if (func_80076828(var_s2, var_s0) != -1) {
- if (var_s0 != 1) {
- goto loop_8;
+
+ for (i = 0; i < 1; i++)
+ {
+ if (func_80076828(var_s2, i) == (-1))
+ {
+ break;
}
}
}
-#else
-GLOBAL_ASM("asm/non_matchings/code_80071F00/func_80076884.s")
-#endif
void func_80076958(s32 objectIndex) {
struct_80165C18_entry *temp_v0;
@@ -2129,28 +2109,27 @@ void func_800769D8(s32 objectIndex) {
temp_s0 = &D_80165C18[objectIndex];
switch (temp_s0->unk_0A6) {
- case 1:
- func_80076958(objectIndex);
- break;
- case 2:
- if (func_8007278C(objectIndex, temp_s0->unk_048) != 0) {
- func_80086E70(objectIndex);
- }
- break;
- case 3:
- f32_step_towards(&temp_s0->unk_000, 2.0f, 0.05f);
- s16_step_towards(&temp_s0->unk_0A4, 0, 0x0018);
- if ((temp_s0->unk_0AE >= 2) && (func_80073B00(objectIndex, &temp_s0->unk_0A0, 0x000000FF, 0x00000050, 0x00000020, 0, 0) != 0)) {
- func_80072488(objectIndex);
- }
- break;
- case 4:
- func_80072428(objectIndex);
- func_80086F60(objectIndex);
- break;
- case 0:
- default:
- break;
+ case 0:
+ break;
+ case 1:
+ func_80076958(objectIndex);
+ break;
+ case 2:
+ if (func_8007278C(objectIndex, temp_s0->unk_048) != 0) {
+ func_80086E70(objectIndex);
+ }
+ break;
+ case 3:
+ f32_step_towards(&temp_s0->unk_000, 2.0f, 0.05f);
+ s16_step_towards(&temp_s0->unk_0A4, 0, 0x0018);
+ if ((temp_s0->unk_0AE >= 2) && (func_80073B00(objectIndex, &temp_s0->unk_0A0, 0x000000FF, 0x00000050, 0x00000020, 0, 0) != 0)) {
+ func_80072488(objectIndex);
+ }
+ break;
+ case 4:
+ func_80072428(objectIndex);
+ func_80086F60(objectIndex);
+ break;
}
}
@@ -2238,20 +2217,20 @@ void func_80076DC4(s32 objectIndex) {
void func_80076E14(s32 objectIndex) {
switch (D_80165C18[objectIndex].unk_0A6) {
- case 1:
- func_80076DC4(objectIndex);
- break;
- case 2:
- if ((D_80165C18[objectIndex].unk_0AE >= 2) && (func_80073B00(objectIndex, &D_80165C18[objectIndex].unk_0A0, 0x000000FF, 0x00000050, 0x00000020, 0, 0) != 0)) {
- func_80072488(objectIndex);
- }
- break;
- case 0:
- break;
- case 3:
- func_80072428(objectIndex);
- func_80086F60(objectIndex);
- break;
+ case 1:
+ func_80076DC4(objectIndex);
+ break;
+ case 2:
+ if ((D_80165C18[objectIndex].unk_0AE >= 2) && (func_80073B00(objectIndex, &D_80165C18[objectIndex].unk_0A0, 0x000000FF, 0x00000050, 0x00000020, 0, 0) != 0)) {
+ func_80072488(objectIndex);
+ }
+ break;
+ case 0:
+ break;
+ case 3:
+ func_80072428(objectIndex);
+ func_80086F60(objectIndex);
+ break;
}
}
@@ -2281,35 +2260,28 @@ void func_80076F2C(void) {
}
}
}
-
-#ifdef NON_MATCHING
-// Non matching due to some register differences surrounding the accessing of D_800E6788
-extern Vec3s D_800E6788[8]; /* unable to generate initializer */
-
+
+extern s16 D_800E6788[1]; // todo: fix this extern
void func_80076FEC(s32 objectIndex, s32 flameIndex) {
- struct_80165C18_entry *temp_v0;
-
func_800723A4(objectIndex, 3);
- temp_v0 = &D_80165C18[objectIndex];
- temp_v0->unk_0D5 = 0x0B;
- temp_v0->unk_064 = D_0D02BC58;
- temp_v0->unk_06C = D_0D02BC58;
- temp_v0->unk_000 = 0.8f;
- temp_v0->unk_010[0] = D_800E6788[flameIndex][0] * D_8018D01C;
- temp_v0->unk_010[1] = D_800E6788[flameIndex][1];
- temp_v0->unk_010[2] = D_800E6788[flameIndex][2];
- temp_v0->unk_034 = 0.0f;
- temp_v0->unk_0A4 = 0x00FF;
- temp_v0->unk_0A2 = 0x00FF;
- temp_v0->unk_0A0 = 0x00FF;
- func_8008B8BC(objectIndex, 0U, 0U, 0U);
- // The permuter found this slightly better match, but still no full match
- //func_8008B8BC(objectIndex ^ 0, 0U, 0U, 0U);
- func_8008B80C(objectIndex, 0.0f, 0.0f, 0.0f);
+
+ D_80165C18[objectIndex].unk_0D5 = 0xB;
+ D_80165C18[objectIndex].unk_064 = D_0D02BC58;
+ D_80165C18[objectIndex].unk_06C = D_0D02BC58;
+ D_80165C18[0, objectIndex].unk_000 = 0.8f;
+
+ // Mixing arr + offset and array access... Why?
+ // todo: ifdef this to proper array access.
+ D_80165C18[objectIndex].unk_010[0] = (f32)(intptr_t)(*(&D_800E6788 + flameIndex * 3)[0]) * D_8018D01C;
+ D_80165C18[objectIndex].unk_010[1] = (f32)(intptr_t)(*(&D_800E6788 + flameIndex * 3)[1]);
+ D_80165C18[objectIndex].unk_010[2] = (f32)(intptr_t)(*(&D_800E6788 + flameIndex * 3)[2]);
+ D_80165C18[objectIndex].unk_034 = 0;
+ D_80165C18[objectIndex].unk_0A4 = 255;
+ D_80165C18[objectIndex].unk_0A2 = 255;
+ D_80165C18[objectIndex].unk_0A0 = 255;
+ func_8008B8BC(objectIndex, 0, 0, 0);
+ func_8008B80C(objectIndex, 0, 0, 0);
}
-#else
-GLOBAL_ASM("asm/non_matchings/code_80071F00/func_80076FEC.s")
-#endif
void func_800770F0(s32 arg0) {
s32 temp_v0;
@@ -2320,84 +2292,54 @@ void func_800770F0(s32 arg0) {
}
}
-#ifdef MIPS_TO_C
-//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
-void func_8005C674(s8, s16 *, s16 *, s16 *); /* extern */
-
void func_80077138(s32 objectIndex, Vec3f arg1, s32 arg2) {
- s8 sp37;
- s16 sp34;
- s16 sp32;
- s16 sp30;
- f64 var_f10;
- f64 var_f4;
- s32 temp_v0;
- s32 temp_v0_2;
s8 temp_v0_3;
- s8 temp_v0_4;
- struct_80165C18_entry *temp_s0;
- u16 temp_v1;
+ Vec3s sp30;
func_800723A4(objectIndex, arg2);
- temp_s0 = &D_80165C18[objectIndex];
- temp_s0->unk_0D5 = 0x0C;
- temp_s0->unk_000 = 0.05f;
- func_8008B7D4(objectIndex, arg1->unk0, arg1->unk4, arg1->unk8);
+ D_80165C18[objectIndex].unk_0D5 = 0x0C;
+ D_80165C18[objectIndex].unk_000 = 0.05f;
+ func_8008B7D4(objectIndex, arg1[0], arg1[1], arg1[2]);
func_8008B8BC(objectIndex, 0U, 0U, 0U);
func_8008B80C(objectIndex, 0.0f, 0.0f, 0.0f);
- switch (arg2) { /* irregular */
- case 0:
- temp_s0->unk_038[1] = -1.0f;
- temp_v0 = random_int(0x004BU);
- var_f10 = (f64) temp_v0;
- if (temp_v0 < 0) {
- var_f10 += 4294967296.0;
- }
- temp_s0->unk_034 = (f32) ((var_f10 * 0.01) + 0.25);
- temp_s0->unk_0BE[1] = random_int(0x0040U) << 0xA;
- func_8008751C(objectIndex);
- temp_s0->unk_084[5] = 0x001E;
- break;
- case 1:
- temp_s0->unk_038[1] = 1.5f;
- temp_v0_2 = random_int(0x0064U);
- var_f4 = (f64) temp_v0_2;
- if (temp_v0_2 < 0) {
- var_f4 += 4294967296.0;
- }
- temp_s0->unk_034 = (f32) ((var_f4 * 0.01) + 0.5);
- temp_s0->unk_0BE[1] = random_int(0x0040U) << 0xA;
- func_8008751C(objectIndex);
- temp_s0->unk_084[5] = 0x0032;
- break;
+ switch (arg2) {
+ case 0:
+ D_80165C18[objectIndex].unk_038[1] = -1.0f;
+ D_80165C18[objectIndex].unk_034 = (f32) ((random_int(0x004BU) * 0.01) + 0.25);
+ D_80165C18[objectIndex].unk_0BE[1] = random_int(0x0040U) << 0xA;
+ func_8008751C(objectIndex);
+ D_80165C18[objectIndex].unk_084[5] = 0x001E;
+ break;
+ case 1:
+ D_80165C18[objectIndex].unk_038[1] = 1.5f;
+ D_80165C18[objectIndex].unk_034 = (f32) ((random_int(0x0064U) * 0.01) + 0.5);
+ D_80165C18[objectIndex].unk_0BE[1] = random_int(0x0040U) << 0xA;
+ func_8008751C(objectIndex);
+ D_80165C18[objectIndex].unk_084[5] = 0x0032;
+ break;
}
temp_v0_3 = random_int(0x000CU);
if (temp_v0_3 < 9) {
- func_8005C674(temp_v0_3, &sp34, &sp32, &sp30);
- temp_s0->unk_048 = 0;
- temp_s0->unk_084[0] = sp34;
- temp_s0->unk_084[1] = sp32;
- temp_s0->unk_084[2] = sp30;
+ func_8005C674(temp_v0_3, &sp30[2], &sp30[1], &sp30);
+ D_80165C18[objectIndex].unk_048 = 0;
+ D_80165C18[objectIndex].unk_084[0] = sp30[2];
+ D_80165C18[objectIndex].unk_084[1] = sp30[1];
+ D_80165C18[objectIndex].unk_084[2] = sp30[0];
} else {
- temp_v0_4 = random_int(3U);
- sp37 = temp_v0_4;
- func_8005C6B4(temp_v0_4, &sp34, &sp32, &sp30);
- temp_s0->unk_048 = 1;
- temp_s0->unk_084[0] = sp34;
- temp_s0->unk_084[1] = sp32;
- temp_s0->unk_084[2] = sp30;
- temp_s0->unk_084[4] = (s16) sp37;
- }
- temp_s0->unk_0A0 = 0x00FF;
- temp_v1 = temp_s0->unk_0BE[1];
- temp_s0->unk_084[3] = random_int(0x0800U) + 0x400;
- if (((s32) temp_v1 < 0x3000) || ((s32) temp_v1 >= 0xB001)) {
- temp_s0->unk_084[3] = -temp_s0->unk_084[3];
+ temp_v0_3 = random_int(3U);
+ func_8005C6B4(temp_v0_3, &sp30[2], &sp30[1], &sp30);
+ D_80165C18[objectIndex].unk_084[0] = sp30[2];
+ D_80165C18[objectIndex].unk_084[1] = sp30[1];
+ D_80165C18[objectIndex].unk_084[2] = sp30[0];
+ D_80165C18[objectIndex].unk_084[4] = temp_v0_3;
+ D_80165C18[objectIndex].unk_048 = 1;
+ }
+ D_80165C18[objectIndex].unk_0A0 = 0x00FF;
+ D_80165C18[objectIndex].unk_084[3] = random_int(0x0800U) + 0x400;
+ if ((D_80165C18[objectIndex].unk_0BE[1] < 0x3000) || (D_80165C18[objectIndex].unk_0BE[1] >= 0xB001)) {
+ D_80165C18[objectIndex].unk_084[3] = -D_80165C18[objectIndex].unk_084[3];
}
}
-#else
-GLOBAL_ASM("asm/non_matchings/code_80071F00/func_80077138.s")
-#endif
void func_800773D8(s32 arg0, s32 arg1) {
s32 temp_v0 = func_80072044(D_8018C630, &D_80183E5C, 0x80);
@@ -2418,18 +2360,18 @@ void func_80077450(s32 objectIndex) {
s16 sp38;
switch (D_80165C18[objectIndex].unk_0A6) {
- case 0:
- break;
- case 1:
- func_80077428(objectIndex);
- break;
- case 2:
- 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;
+ case 0:
+ break;
+ case 1:
+ func_80077428(objectIndex);
+ break;
+ case 2:
+ 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 (D_80165C18[objectIndex].unk_048 != 0) {
D_80165C18[objectIndex].unk_084[4] = (s16) ((s32) (D_80165C18[objectIndex].unk_084[4] + 1) % 3);
@@ -2491,26 +2433,26 @@ void func_80077700(s32 objectIndex, Vec3f arg1, s32 arg2) {
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 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 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 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;
+ 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 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 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 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;
sp3E = random_int(0x0010U) << 0xC;
@@ -2547,32 +2489,32 @@ void func_80077B3C(s32 objectIndex) {
temp_v1 = &D_80165C18[objectIndex];
switch (temp_v1->unk_0A6) {
- case 1:
- func_80077B14(objectIndex);
- break;
- case 2:
- if (temp_v1->unk_0AE == 0) {
- func_80072488(objectIndex);
- }
- break;
- case 0:
- break;
- case 3:
- func_80072428(objectIndex);
- break;
+ case 0:
+ break;
+ case 1:
+ func_80077B14(objectIndex);
+ break;
+ case 2:
+ if (temp_v1->unk_0AE == 0) {
+ func_80072488(objectIndex);
+ }
+ break;
+ case 3:
+ func_80072428(objectIndex);
+ break;
}
}
void func_80077BCC(s32 objectIndex) {
switch (D_80165C18[objectIndex].unk_0AE) {
- case 1:
- func_80087E08(objectIndex, D_80165C18[objectIndex].unk_038[1], 0.2f, D_80165C18[objectIndex].unk_034, (s16) (s32) D_80165C18[objectIndex].unk_0BE[1], 0x0000000A);
- break;
- case 2:
- if (func_80087B84(objectIndex, 0.4f, D_80165C18[objectIndex].unk_044) != 0) {
- func_80086F60(objectIndex);
- }
- break;
+ case 1:
+ func_80087E08(objectIndex, D_80165C18[objectIndex].unk_038[1], 0.2f, D_80165C18[objectIndex].unk_034, (s16) (s32) D_80165C18[objectIndex].unk_0BE[1], 0x0000000A);
+ break;
+ case 2:
+ if (func_80087B84(objectIndex, 0.4f, D_80165C18[objectIndex].unk_044) != 0) {
+ func_80086F60(objectIndex);
+ }
+ break;
}
func_8008BF18(objectIndex);
D_80165C18[objectIndex].unk_0B2[0] += 0x1000;
@@ -2653,95 +2595,63 @@ void func_80077E20(s32 objectIndex) {
func_80072488(objectIndex);
}
-#ifdef MIPS_TO_C
-//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
-extern ? D_80165C40;
extern f32 D_8018D1E8;
extern s16 D_8018D208;
extern s16 D_8018D210;
extern s16 D_8018D218;
-void func_80077EB8(s32 objectIndex, s32 arg1, Camera *camera) {
+void func_80077EB8(s32 objectIndex, u16 arg1, Camera *camera) {
s16 temp_v0;
temp_v0 = camera->rot[1] - arg1;
if ((temp_v0 >= D_8018D210) || (D_8018D208 >= temp_v0)) {
- *(&D_80165C40 + (objectIndex * 0xE0)) = (f32) D_8018D218 + (D_8018D1E8 * (f32) temp_v0);
+ D_80165C40[objectIndex].unk[0] = D_8018D218 + (D_8018D1E8 * (f32) temp_v0);
func_800721C0(objectIndex, 0x00000010);
return;
}
func_800721E8(objectIndex, 0x00000010);
}
-#else
-GLOBAL_ASM("asm/non_matchings/code_80071F00/func_80077EB8.s")
-#endif
-
-#ifdef MIPS_TO_C
-//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
-void func_80077EB8(s32, u16, Camera *, Camera *); /* extern */
void func_80077F64(s32 objectIndex, Camera *camera) {
- f64 var_f6;
- s16 temp_v0;
- s32 temp_v0_2;
- struct_80165C18_entry *temp_s0;
- temp_s0 = &D_80165C18[objectIndex];
- temp_v0 = temp_s0->unk_0AE;
- switch (temp_v0) { /* irregular */
- case 1:
- temp_s0->unk_0BE[1] = (random_int(0x4000U) + camera->rot[1]) - 0x2000;
- func_8008BAB4(objectIndex, 0x00B4, 0x0014U);
- temp_v0_2 = random_int(0x0064U);
- var_f6 = (f64) temp_v0_2;
- if (temp_v0_2 < 0) {
- var_f6 += 4294967296.0;
- }
- temp_s0->unk_028[0] = 0.0f;
- temp_s0->unk_028[1] = 0.0f;
- temp_s0->unk_038[1] = (f32) (-0.75 - (f64) (f32) (var_f6 * 0.01));
- func_80086FD4(objectIndex);
- return;
- case 2:
- func_80077EB8(objectIndex, temp_s0->unk_0BE[1], camera, camera);
- func_800877C4(objectIndex);
- func_8008BF18(objectIndex);
- func_8008BFC0(objectIndex);
- if (temp_s0->unk_004[1] <= 0.0f) {
+ f64 rand;
+
+ switch (D_80165C18[objectIndex].unk_0AE) { /* irregular */
+ case 1:
+ D_80165C18[objectIndex].unk_0BE[1] = (camera->rot[1] + random_int(0x4000U)) - 0x2000;
+ func_8008BAB4(objectIndex, 0x00B4, 0x0014U);
+ rand = random_int(0x0064U);
+
+ D_80165C18[objectIndex].unk_038[1] = (f32) (-0.75 - (f64) (f32) (rand * 0.01));
+ D_80165C18[objectIndex].unk_028[0] = 0.0f;
+ D_80165C18[objectIndex].unk_028[1] = 0.0f;
func_80086FD4(objectIndex);
return;
- }
- case 0:
- return;
- case 3:
- func_80086F60(objectIndex);
- break;
+ case 2:
+ func_80077EB8(objectIndex, D_80165C18[objectIndex].unk_0BE[1], camera);
+ func_800877C4(objectIndex);
+ func_8008BF18(objectIndex);
+ func_8008BFC0(objectIndex);
+ if (D_80165C18[objectIndex].unk_004[1] <= 0.0f) {
+ func_80086FD4(objectIndex);
+ return;
+ }
+ case 0:
+ return;
+ case 3:
+ func_80086F60(objectIndex);
+ break;
}
}
-#else
-GLOBAL_ASM("asm/non_matchings/code_80071F00/func_80077F64.s")
-#endif
-#ifdef MIPS_TO_C
-//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
-void func_80077E20(); /* extern */
-void func_80077F64(); /* extern */
-
-void func_800780CC(s32 objectIndex) {
- struct_80165C18_entry *sp18;
- s16 temp_v0;
- struct_80165C18_entry *temp_v1;
-
- temp_v1 = &D_80165C18[objectIndex];
- temp_v0 = temp_v1->unk_0A6;
- switch (temp_v0) { /* irregular */
+void func_800780CC(s32 objectIndex, Camera *camera) {
+ switch (D_80165C18[objectIndex].unk_0A6) { /* irregular */
case 1:
- func_80077E20();
+ func_80077E20(objectIndex);
return;
case 2:
- sp18 = temp_v1;
- func_80077F64();
- if (temp_v1->unk_0AE == 0) {
+ func_80077F64(objectIndex, camera);
+ if (D_80165C18[objectIndex].unk_0AE == 0) {
func_80072488(objectIndex);
return;
}
@@ -2752,47 +2662,21 @@ void func_800780CC(s32 objectIndex) {
break;
}
}
-#else
-GLOBAL_ASM("asm/non_matchings/code_80071F00/func_800780CC.s")
-#endif
-#ifdef MIPS_TO_C
-//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
-void func_80077D5C(); // extern
-void func_800780CC(s32, ?); // extern
-extern struct_80165C18_entry D_80165C18;
-extern ? D_8018CC80;
extern s32 D_8018D1F0;
-void func_80078170(s32 arg0, ? arg1) {
- s32 temp_a0;
- s32 temp_s1;
- s32 temp_v0;
+void func_80078170(s32 arg0, s32 arg1) {
s32 *phi_s0;
- s32 phi_s1;
- s32 phi_v0;
+ s32 i;
func_80077D5C();
- temp_v0 = D_8018D1F0;
- phi_s1 = 0;
- phi_v0 = temp_v0;
- if (temp_v0 > 0) {
- phi_s0 = (arg0 * 4) + &D_8018CC80;
- do {
- temp_a0 = *phi_s0;
- if ((&D_80165C18 + (temp_a0 * 0xE0))->unkA6 != 0) {
- func_800780CC(temp_a0, arg1);
- phi_v0 = D_8018D1F0;
- }
- temp_s1 = phi_s1 + 1;
- phi_s0 += 4;
- phi_s1 = temp_s1;
- } while (temp_s1 < phi_v0);
+ for (i = 0; i < D_8018D1F0; i++) {
+ phi_s0 = &D_8018CC80[arg0 + i];
+ if (D_80165C18[*phi_s0].unk_0A6 != 0) {
+ func_800780CC(*phi_s0, arg1);
+ }
}
}
-#else
-GLOBAL_ASM("asm/non_matchings/code_80071F00/func_80078170.s")
-#endif
void func_80078220(s32 objectIndex) {
struct_80165C18_entry *temp_v0;
@@ -2915,75 +2799,64 @@ void func_80078838(void) {
}
}
-#ifdef MIPS_TO_C
-//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
-extern ? D_80165CB4;
extern f32 D_8018D1E8;
extern s16 D_8018D208;
extern s16 D_8018D210;
extern s16 D_8018D218;
-void func_800788F8(s32 objectIndex, s32 arg1, Camera *camera) {
+void func_800788F8(s32 objectIndex, u16 rot, Camera *camera) {
s16 temp_v0;
- temp_v0 = camera->rot[1] + arg1;
+ temp_v0 = camera->rot[1] + rot;
if ((temp_v0 >= D_8018D210) && (D_8018D208 >= temp_v0)) {
- *(&D_80165CB4 + (objectIndex * 0xE0)) = (s16) (s32) ((f32) D_8018D218 + (D_8018D1E8 * (f32) temp_v0));
+ D_80165CB4[objectIndex].unk[0] = (D_8018D218 + (D_8018D1E8 * temp_v0));
func_800721C0(objectIndex, 0x00000010);
return;
}
func_800721E8(objectIndex, 0x00000010);
}
-#else
-GLOBAL_ASM("asm/non_matchings/code_80071F00/func_800788F8.s")
-#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
-void func_800788F8(s32, u16, ?); // extern
-extern ? D_8018CC80;
-extern s32 D_8018D1F0;
+//void func_800788F8(s32, u16, ?); // extern
+//extern ? D_8018CC80;
+//extern s32 D_8018D1F0;
-void func_800789AC(s32 arg0, ? arg1, s32 arg2) {
- s32 temp_s0;
- s32 *phi_s1;
- s32 phi_s0;
+void func_800789AC(s32 arg0, Camera *arg1, Vec3s *arg2) {
+ //s32 temp_s0;
+ //s32 *phi_s1;
+ s32 i;
- phi_s0 = 0;
- if (D_8018D1F0 > 0) {
- phi_s1 = (arg0 * 4) + &D_8018CC80;
- do {
- func_800788F8(*phi_s1, *((phi_s0 * 8) + arg2), arg1);
- temp_s0 = phi_s0 + 1;
- phi_s1 += 4;
- phi_s0 = temp_s0;
- } while (temp_s0 < D_8018D1F0);
+ //phi_s1 = &D_8018CC80[arg0];
+ for (i = 0; i < D_8018D1F0; i++) {
+ func_800788F8(D_8018CC80[arg0 + i], arg2[0][i], arg1);
+ //*phi_s1 += 4;
}
+
+ // if (D_8018D1F0 > 0) {
+ // phi_s1 = (arg0 * 4) + &D_8018CC80;
+ // do {
+ // func_800788F8(*phi_s1, *((phi_s0 * 8) + arg2), arg1);
+ // temp_s0 = phi_s0 + 1;
+ // phi_s1 += 4;
+ // phi_s0 = temp_s0;
+ // } while (temp_s0 < D_8018D1F0);
+ // }
}
#else
GLOBAL_ASM("asm/non_matchings/code_80071F00/func_800789AC.s")
#endif
-#ifdef MIPS_TO_C
-//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
-void func_800788F8(s32, u16, Camera *); /* extern */
-extern ? D_8018CC80;
-extern s32 D_8018D1F0;
+void func_80078A44(s32 arg0, Camera *camera, s32 rot) {
+ s32 temp_s0;
+ s32 i;
-void func_80078A44(s32 arg0, Camera *camera, s32 arg2) {
- s32 *var_s4;
- s32 temp_s0;
- u32 temp_hi;
- u32 var_s3;
+ for (i = 0; i < D_8018D1F0; i++, arg0++) {
+ temp_s0 = D_8018CC80[arg0];
- var_s3 = 0;
- if (D_8018D1F0 > 0) {
- var_s4 = (arg0 * 4) + &D_8018CC80;
- do {
- temp_s0 = *var_s4;
- func_800788F8(temp_s0, *((var_s3 * 8) + arg2), camera);
- temp_hi = var_s3 % 5U;
- switch (temp_hi) {
+ // i * 8
+ func_800788F8(temp_s0, *(u16 *)((i << 3) + rot), camera);
+ switch (i % 5U) {
case 0:
func_80073CB0(temp_s0, &D_80165C18[temp_s0].unk_0A0, 0x00000028, 0x000000B4, 0x000000FF, 0, -1);
break;
@@ -2999,123 +2872,107 @@ void func_80078A44(s32 arg0, Camera *camera, s32 arg2) {
case 4:
func_80073CB0(temp_s0, &D_80165C18[temp_s0].unk_0A0, 0x0000005A, 0x00000080, 0x000000FF, 0, -1);
break;
- }
- var_s3 += 1;
- var_s4 += 4;
- } while ((s32) var_s3 < D_8018D1F0);
+ }
}
}
-#else
-GLOBAL_ASM("asm/non_matchings/code_80071F00/func_80078A44.s")
-#endif
UNUSED void func_80078C68() {
}
-#ifdef MIPS_TO_C
-//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909
-void func_80078170(s32, s32, s32); /* extern */
-void func_800789AC(s32, s32, ? *); /* extern */
-void func_80078A44(s32, s32, ? *); /* extern */
-static ? D_800E6A38; /* unable to generate initializer; const */
-static ? D_800E6AA8; /* unable to generate initializer; const */
-static ? D_800E6B00; /* unable to generate initializer; const */
-static ? D_800E6B38; /* unable to generate initializer; const */
-static ? D_800E6BA8; /* unable to generate initializer; const */
-static ? D_800E6C10; /* unable to generate initializer; const */
-static ? D_800E6C80; /* unable to generate initializer; const */
-static ? D_800E6DE0; /* unable to generate initializer; const */
-u16 gCurrentCourseId; /* unable to generate initializer */
-
-void func_80078C70(u32 arg0) {
+extern s32 D_800E6A38; /* unable to generate initializer; const */
+extern s32 D_800E6AA8; /* unable to generate initializer; const */
+extern s32 D_800E6B00; /* unable to generate initializer; const */
+extern s32 D_800E6B38; /* unable to generate initializer; const */
+extern s32 D_800E6BA8; /* unable to generate initializer; const */
+extern s32 D_800E6C10; /* unable to generate initializer; const */
+extern s32 D_800E6C80; /* unable to generate initializer; const */
+extern s32 D_800E6DE0; /* unable to generate initializer; const */
+
+extern s16 D_8018D200;
+extern s32 D_8018D1F0;
+extern s16 D_8018D208;
+extern s16 D_8018D210;
+extern f32 D_8018D1E8;
+extern s16 D_8018D218;
+
+void func_80078C70(s32 arg0) {
s32 sp1C;
- s32 sp18;
- s16 temp_v0;
- s32 temp_v1;
- u16 temp_t4;
+ s32 camera;
if (D_801657C8 == 0) {
switch (arg0) { /* switch 1 */
case 0: /* switch 1 */
sp1C = 0;
- sp18 = camera1;
+ camera = camera1;
D_8018D200 = D_80150130[0] + 40.0f;
break;
case 1: /* switch 1 */
sp1C = 0;
- sp18 = camera1;
+ camera = camera1;
D_8018D200 = D_80150130[0] + 40.0f;
break;
case 2: /* switch 1 */
- sp18 = camera2;
+ camera = camera2;
sp1C = D_8018D1F0;
D_8018D200 = D_80150130[1] + 40.0f;
break;
case 3: /* switch 1 */
sp1C = 0;
- sp18 = camera1;
+ camera = camera1;
D_8018D200 = D_80150130[0] + 40.0f;
break;
case 4: /* switch 1 */
- sp18 = camera2;
+ camera = camera2;
sp1C = D_8018D1F0;
D_8018D200 = D_80150130[1] + 40.0f;
break;
}
- temp_v0 = D_8018D200;
- temp_t4 = gCurrentCourseId;
- temp_v1 = temp_v0 / 2;
- D_8018D208 = (temp_v1 * 0xB6) + 0x71C;
- D_8018D210 = (-temp_v1 * 0xB6) - 0x71C;
- D_8018D1E8 = 1.7578125 / temp_v0;
+
+ D_8018D208 = ( (D_8018D200 / 2) * 0xB6) + 0x71C;
+ D_8018D210 = (-(D_8018D200 / 2) * 0xB6) - 0x71C;
+ D_8018D1E8 = 1.7578125 / D_8018D200;
D_8018D218 = 0xA0;
- switch (temp_t4) { /* switch 2 */
+ switch (gCurrentCourseId) { /* switch 2 */
case 0: /* switch 2 */
- func_800789AC(sp1C, sp18, &D_800E6A38);
- return;
+ func_800789AC(sp1C, camera, &D_800E6A38);
+ break;
case 4: /* switch 2 */
- func_800789AC(sp1C, sp18, &D_800E6AA8);
- return;
+ func_800789AC(sp1C, camera, &D_800E6AA8);
+ break;
case 5: /* switch 2 */
- func_80078170(sp1C, sp18, 0xB6);
- return;
+ func_80078170(sp1C, camera);
+ break;
case 6: /* switch 2 */
- func_800789AC(sp1C, sp18, &D_800E6B00);
- return;
+ func_800789AC(sp1C, camera, &D_800E6B00);
+ break;
case 7: /* switch 2 */
- func_800789AC(sp1C, sp18, &D_800E6B38);
- return;
+ func_800789AC(sp1C, camera, &D_800E6B38);
+ break;
case 8: /* switch 2 */
- func_800789AC(sp1C, sp18, &D_800E6A38);
- return;
+ func_800789AC(sp1C, camera, &D_800E6A38);
+ break;
case 9: /* switch 2 */
- func_800789AC(sp1C, sp18, &D_800E6AA8);
- return;
+ func_800789AC(sp1C, camera, &D_800E6AA8);
+ break;
case 10: /* switch 2 */
- func_80078A44(sp1C, sp18, &D_800E6C80);
- return;
+ func_80078A44(sp1C, camera, &D_800E6C80);
+ break;
case 11: /* switch 2 */
- func_800789AC(sp1C, sp18, &D_800E6C10);
- return;
+ func_800789AC(sp1C, camera, &D_800E6C10);
+ break;
case 12: /* switch 2 */
- func_800789AC(sp1C, sp18, &D_800E6BA8);
- return;
+ func_800789AC(sp1C, camera, &D_800E6BA8);
+ break;
case 13: /* switch 2 */
- func_80078A44(sp1C, sp18, &D_800E6C80);
- return;
+ func_80078A44(sp1C, camera, &D_800E6C80);
+ break;
case 14: /* switch 2 */
- func_80078A44(sp1C, sp18, &D_800E6DE0);
- /* Duplicate return node #22. Try simplifying control flow for better match */
- return;
+ func_80078A44(sp1C, camera, &D_800E6DE0);
+ break;
}
- } else {
- default: /* switch 2 */
}
}
-#else
-GLOBAL_ASM("asm/non_matchings/code_80071F00/func_80078C70.s")
-#endif
void func_80078F64(void) {
switch (gScreenModeSelection) { /* irregular */
@@ -3155,74 +3012,63 @@ void func_800790E4(s32 arg0) {
func_800723A4(D_80183DB8[arg0], 6);
}
-#ifdef MIPS_TO_C
-//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
-extern s32 D_80183DB8;
extern s32 D_8018C028;
void func_80079114(s32 objectIndex, s32 arg1, s32 arg2) {
- struct_80165C18_entry *temp_v0;
- struct_80165C18_entry *temp_v1;
-
- temp_v1 = &D_80165C18[objectIndex];
- if (temp_v1->unk_0A6 >= 2) {
- if ((u8) temp_v1->unk_0D8 == 1) {
+ s32 a;
+ if (D_80165C18[objectIndex].unk_0A6 >= 2) {
+ if ((u8)D_80165C18[objectIndex].unk_0D8 == 1) {
if (arg1 == 0) {
func_80074894(objectIndex, D_8018C028);
return;
}
- temp_v0 = &D_80165C18[D_80183DB8];
- temp_v1->unk_060 = temp_v0->unk_060;
- temp_v1->unk_064 = temp_v0->unk_064;
+ a = D_80183DB8[0];
+ D_80165C18[objectIndex].unk_060 = D_80165C18[a].unk_060;
+ D_80165C18[objectIndex].unk_064 = D_80165C18[a].unk_064;
+ if (0) { }
return;
}
- switch (arg2) { /* irregular */
- case 0:
- func_800748F4(objectIndex, D_8018C028);
- return;
- case 1:
- func_800748C4(objectIndex, D_8018C028);
- return;
- case 2:
- func_80074894(objectIndex, D_8018C028);
- break;
+ switch (arg2) {
+ case 0:
+ func_800748F4(objectIndex, D_8018C028);
+ break;
+ case 1:
+ func_800748C4(objectIndex, D_8018C028);
+ break;
+ case 2:
+ func_80074894(objectIndex, D_8018C028);
+ break;
}
}
}
-#else
-GLOBAL_ASM("asm/non_matchings/code_80071F00/func_80079114.s")
-#endif
-#ifdef MIPS_TO_C
-//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
-void func_800C9018(u8, ?); /* extern */
-extern ? D_80165CF0;
-s16 gCurrentCourseId; /* unable to generate initializer */
+extern UnkStruct_80165CF5 D_80165CF0[];
-void func_800791F0(s32 objectIndex, u8 playerId) {
- Player *sp1C;
- Player *temp_v1;
- s16 var_v0;
- u8 temp_v0;
+#ifdef NON_MATCHING
- temp_v0 = *(&D_80165CF0 + (objectIndex * 0xE0));
- temp_v1 = &gPlayerOne[playerId];
- if ((temp_v0 != 3) && (temp_v0 != 7)) {
- sp1C = temp_v1;
+void func_800791F0(s32 objectIndex, u8 playerId) {
+ //Player *sp1C;
+ Player *player = &gPlayerOne[playerId];
+ //s16 var_v0;
+ //struct_80165C18_entry *temp_v0;
+
+ //temp_v0 = &D_80165CF0[objectIndex];
+ if ((D_80165CF0[objectIndex].unk[0] != 3) && (D_80165CF0[objectIndex].unk[0] != 7)) {
+ //sp1C = temp_v1;
func_800722CC(objectIndex, 1);
- var_v0 = gCurrentCourseId;
- if (var_v0 == 0x000C) {
- temp_v1->unk_0CA &= 0xFFEF;
- goto block_5;
+ //var_v0 = gCurrentCourseId;
+ if (gCurrentCourseId == 0x000C) {
+ player->unk_0CA &= 0xFFEF;
+ //goto block_5;
}
} else {
-block_5:
- var_v0 = gCurrentCourseId;
+//block_5:
+ //var_v0 = gCurrentCourseId;
}
- if (var_v0 == 0x000C) {
- sp1C = temp_v1;
+ if (gCurrentCourseId == 0x000C) {
+ //temp_v1 = temp_v1;
func_800722CC(objectIndex, 0x00000010);
- temp_v1->unk_0CA &= 0xFFDF;
+ player->unk_0CA &= 0xFFDF;
}
func_800C9018(playerId, 0x0100FA28);
}
@@ -3230,201 +3076,148 @@ block_5:
GLOBAL_ASM("asm/non_matchings/code_80071F00/func_800791F0.s")
#endif
-#ifdef MIPS_TO_C
-//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
-extern Vtx D_0D005EB0;
-extern s32 gTLUTLakituCountdown;
extern s32 D_0F05EB50;
extern s16 D_801656F0;
extern s32 D_8018D168;
extern s32 D_8018D180;
void func_800792D8(s32 objectIndex, s32 arg1) {
- struct_80165C18_entry *sp24;
- struct_80165C18_entry *temp_v0;
-
if (arg1 == 0) {
D_801656F0 = 0;
D_8018D168 = 0;
}
func_80073444(objectIndex, &gTLUTLakituCountdown, &D_0F05EB50, 0x38U, (u16) 0x00000048);
- temp_v0 = &D_80165C18[objectIndex];
- temp_v0->unk_074 = (s32) &D_0D005EB0;
- sp24 = temp_v0;
- temp_v0->unk_000 = 0.15f;
+ D_80165C18[objectIndex].unk_074 = (s32) &D_0D005EB0;
+ D_80165C18[objectIndex].unk_000 = 0.15f;
func_800721E8(objectIndex, 0x00000010);
func_80072488(objectIndex);
- temp_v0->unk_048 = D_8018D180;
+ D_80165C18[objectIndex].unk_048 = D_8018D180;
}
-#else
-GLOBAL_ASM("asm/non_matchings/code_80071F00/func_800792D8.s")
-#endif
-#ifdef MIPS_TO_C
-//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
-void func_800729EC(); /* extern */
-void func_800792D8(s32); /* extern */
-void play_sound2(?); /* extern */
extern s16 D_801656F0;
extern s32 D_8018D160;
extern s32 D_8018D168;
-static ? D_800E67B8; /* unable to generate initializer */
+extern s32 D_800E67B8; // static
void func_80079380(s32 objectIndex, s32 arg1) {
- struct_80165C18_entry *sp20;
- struct_80165C18_entry *temp_v1;
- u16 temp_t8;
-
- temp_v1 = &D_80165C18[objectIndex];
- temp_t8 = (u16) temp_v1->unk_0A6;
- switch (temp_t8) {
- case 1:
- func_800792D8(arg1);
- return;
- case 2:
- sp20 = temp_v1;
- func_8007278C(objectIndex, temp_v1->unk_048);
- if ((temp_v1->unk_050 == 0x00000055) && (D_8018EDF3 == 3) && (arg1 == 0)) {
- D_8018D168 = 1;
- return;
- }
- default:
- return;
- case 3:
- func_800721C0(objectIndex, 0x00000010);
- func_80086F10(objectIndex, 1, (s32) &D_800E67B8);
- func_80072488(objectIndex);
- return;
- case 4:
- if ((func_8007278C(objectIndex, 0x0000001E) != 0) && (D_8018EDF3 != 3) && (arg1 == 0)) {
- D_8018D168 = 1;
- return;
- }
- break;
- case 5:
- func_8007278C(objectIndex, 0x0000001E);
- return;
- case 6:
- func_80072E54(objectIndex, 1, 7, 1, 2, 0);
- return;
- case 7:
- sp20 = temp_v1;
- if (func_8007278C(objectIndex, 0x00000014) != 0) {
- temp_v1->unk_068 += 0x200;
- if (arg1 == 0) {
+ s32 pad;
+ switch (D_80165C18[objectIndex].unk_0A6) {
+ case 0:
+ break;
+ case 1:
+ func_800792D8(objectIndex, arg1);
+ break;
+ case 2:
+ func_8007278C(objectIndex, D_80165C18[objectIndex].unk_048);
+ if ((D_80165C18[objectIndex].unk_050 == 0x00000055) && (D_8018EDF3 == 3) && (arg1 == 0)) {
+ D_8018D168 = 1;
+ }
+ break;
+ case 3:
+ func_800721C0(objectIndex, 0x00000010);
+ func_80086F10(objectIndex, 1, (s32) &D_800E67B8);
+ func_80072488(objectIndex);
+ break;
+ case 4:
+ if ((func_8007278C(objectIndex, 0x0000001E) != 0) && (D_8018EDF3 != 3) && (arg1 == 0)) {
+ D_8018D168 = 1;
+ }
+ break;
+ case 5:
+ func_8007278C(objectIndex, 0x0000001E);
+ break;
+ case 6:
+ func_80072E54(objectIndex, 1, 7, 1, 2, 0);
+ break;
+ case 7:
+ if (func_8007278C(objectIndex, 0x00000014) != 0) {
+ D_80165C18[objectIndex].unk_068 += 0x80;
+ if (arg1 == 0) {
+ play_sound2(SOUND_ACTION_COUNTDOWN_LIGHT);
+ }
+ }
+ break;
+ case 8:
+ func_80072E54(objectIndex, 8, 0x0000000F, 1, 6, 0);
+ break;
+ case 9:
+ if ((func_8007278C(objectIndex, 8) != 0) && (arg1 == 0)) {
play_sound2(SOUND_ACTION_COUNTDOWN_LIGHT);
- return;
}
- }
- break;
- case 8:
- func_80072E54(objectIndex, 8, 0x0000000F, 1, 6, 0);
- return;
- case 9:
- if ((func_8007278C(objectIndex, 8) != 0) && (arg1 == 0)) {
- play_sound2(SOUND_ACTION_COUNTDOWN_LIGHT);
- return;
- }
- break;
- case 10:
- if ((func_80072E54(objectIndex, 0x00000010, 0x00000017, 1, 6, 0) != 0) && (arg1 == 0)) {
- D_801656F0 = 1;
- return;
- }
- break;
- case 11:
- sp20 = temp_v1;
- if (func_8007278C(objectIndex, 8) != 0) {
- temp_v1->unk_068 += 0x200;
+ break;
+ case 10:
+ if ((func_80072E54(objectIndex, 0x00000010, 0x00000017, 1, 6, 0) != 0) && (arg1 == 0)) {
+ D_801656F0 = 1;
+ }
+ break;
+ case 11:
+ if (func_8007278C(objectIndex, 8) != 0) {
+ D_80165C18[objectIndex].unk_068 += 0x80;
+ if (arg1 == 0) {
+ play_sound2(SOUND_ACTION_GREEN_LIGHT);
+ }
+ }
+ break;
+ case 12:
+ func_80072E54(objectIndex, 0x00000018, 0x0000001B, 1, 6, 0);
+ break;
+ case 13:
if (arg1 == 0) {
- play_sound2(SOUND_ACTION_GREEN_LIGHT);
- return;
+ func_800729EC(objectIndex);
+ D_8018D160 = 1;
+ break;
}
- }
- break;
- case 12:
- func_80072E54(objectIndex, 0x00000018, 0x0000001B, 1, 6, 0);
- return;
- case 13:
- if (arg1 == 0) {
- func_800729EC();
- D_8018D160 = 1;
- return;
- }
- func_80072488(objectIndex);
- return;
- case 14:
- func_8007278C(objectIndex, 0x00000078);
- return;
- case 15:
- func_80072428(objectIndex);
- break;
+ func_80072488(objectIndex);
+ break;
+ case 14:
+ func_8007278C(objectIndex, 0x00000078);
+ break;
+ case 15:
+ func_80072428(objectIndex);
+ break;
}
}
-#else
-GLOBAL_ASM("asm/non_matchings/code_80071F00/func_80079380.s")
-#endif
-#ifdef MIPS_TO_C
-//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
-void func_800791F0(); /* extern */
-void func_80086F10(s32, ?, ? *); /* extern */
-extern Vtx D_0D006730;
-extern s32 gTLUTLakituCheckeredFlag;
extern s32 D_0F07E350;
-extern s32 *D_8018C028;
-static ? D_800E6834; /* unable to generate initializer */
+extern s32 D_8018C028;
+extern s32 D_800E6834; // static
-void func_8007963C(s32 objectIndex) {
+void func_8007963C(s32 objectIndex, s32 playerIndex) {
struct_80165C18_entry *temp_v0;
- func_800791F0();
+ func_800791F0(objectIndex, playerIndex);
func_80073444(objectIndex, &gTLUTLakituCheckeredFlag, &D_0F07E350, 0x48U, (u16) 0x00000038);
temp_v0 = &D_80165C18[objectIndex];
+ temp_v0->unk_064 = D_8018C028;
temp_v0->unk_074 = (s32) &D_0D006730;
temp_v0->unk_004[2] = 5000.0f;
temp_v0->unk_004[1] = 5000.0f;
temp_v0->unk_004[0] = 5000.0f;
- temp_v0->unk_064 = D_8018C028;
temp_v0->unk_000 = 0.15f;
func_80086F10(objectIndex, 2, &D_800E6834);
func_800721E8(objectIndex, 0x00000010);
func_80072488(objectIndex);
}
-#else
-GLOBAL_ASM("asm/non_matchings/code_80071F00/func_8007963C.s")
-#endif
-#ifdef MIPS_TO_C
-//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
-void func_8007963C(); /* extern */
-extern ? D_80165CBE;
-
-void func_80079700(s32 objectIndex) {
- u16 temp_t7;
-
- temp_t7 = *(&D_80165CBE + (objectIndex * 0xE0));
- switch (temp_t7) {
- case 1:
- func_8007963C();
- return;
- case 2:
- func_800721C0(objectIndex, 0x00000010);
- func_80072488(objectIndex);
- return;
- case 3:
- func_80072E54(objectIndex, 0, 0x0000001F, 1, 2, -1);
- return;
- case 4:
- func_80072428(objectIndex);
- /* fallthrough */
- default:
- return;
+void func_80079700(s32 objectIndex, s32 playerIndex) {
+ switch (D_80165CBE[objectIndex].unk[0]) {
+ case 0:
+ break;
+ case 1:
+ func_8007963C(objectIndex, playerIndex);
+ break;
+ case 2:
+ func_800721C0(objectIndex, 0x00000010);
+ func_80072488(objectIndex);
+ break;
+ case 3:
+ func_80072E54(objectIndex, 0, 0x0000001F, 1, 2, -1);
+ break;
+ case 4:
+ func_80072428(objectIndex);
+ break;
}
}
-#else
-GLOBAL_ASM("asm/non_matchings/code_80071F00/func_80079700.s")
-#endif
void func_800797AC(s32 playerId) {
s32 objectIndex;
@@ -3468,32 +3261,20 @@ void func_8007993C(s32 objectIndex, Player *player) {
func_800722CC(objectIndex, 2);
}
-#ifdef MIPS_TO_C
-//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
-void func_800791F0(); /* extern */
-void func_80086E70(s32); /* extern */
-void func_800C8F80(u8, ?); /* extern */
-extern Vtx D_0D005F30;
-extern s32 gTLUTLakituFishing;
-extern s32 D_0F0CCF50;
-
-void func_800799A8(s32 objectIndex, u8 arg1) {
- struct_80165C18_entry *temp_v0;
+extern Vtx D_0D005F30[];
+extern Gfx D_0F0CCF50[];
- func_800791F0();
+void func_800799A8(s32 objectIndex, s32 arg1) {
+ func_800791F0(objectIndex, arg1);
func_80073444(objectIndex, &gTLUTLakituFishing, &D_0F0CCF50, 0x38U, (u16) 0x00000048);
- temp_v0 = &D_80165C18[objectIndex];
- temp_v0->unk_074 = (s32) &D_0D005F30;
- temp_v0->unk_000 = 0.15f;
+ D_80165C18[objectIndex].unk_074 = D_0D005F30;
+ D_80165C18[objectIndex].unk_000 = 0.15f;
func_80086E70(objectIndex);
func_800721E8(objectIndex, 0x00000010);
func_80073720(objectIndex);
func_80072488(objectIndex);
- func_800C8F80(arg1, 0x0100FA28);
+ func_800C8F80((u8)arg1, 0x0100FA28);
}
-#else
-GLOBAL_ASM("asm/non_matchings/code_80071F00/func_800799A8.s")
-#endif
void func_80079A5C(s32 objectIndex, Player *player) {
switch (D_80165C18[objectIndex].unk_0AE) {
@@ -3521,408 +3302,302 @@ void func_80079A5C(s32 objectIndex, Player *player) {
}
}
-#ifdef MIPS_TO_C
-//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
-void func_800799A8(s32, s32); /* extern */
-void func_800C9018(u8, ?); /* extern */
-
void func_80079B40(s32 objectIndex, s32 playerId) {
- Player *sp34;
- struct_80165C18_entry *sp2C;
- s16 temp_v0;
- struct_80165C18_entry *temp_t2;
- u8 temp_t6;
-
- temp_t2 = &D_80165C18[objectIndex];
- sp34 = &gPlayerOne[playerId];
- sp2C = temp_t2;
- temp_v0 = temp_t2->unk_0A6;
- switch (temp_v0) { /* switch 1; irregular */
- case 0: /* switch 1 */
- break;
- case 1: /* switch 1 */
- func_800799A8(objectIndex, playerId);
- break;
- case 2: /* switch 1 */
- func_800721C0(objectIndex, 0x00000010);
- func_800736E0(objectIndex);
- func_80072488(objectIndex);
- break;
- case 3: /* switch 1 */
- func_800730BC(objectIndex, 0, 3, 1, 2, -1);
- break;
+ Player *player = &gPlayerOne[playerId];
+
+ switch (D_80165C18[objectIndex].unk_0A6) { /* switch 1; irregular */
+ case 0: /* switch 1 */
+ break;
+ case 1: /* switch 1 */
+ func_800799A8(objectIndex, playerId);
+ break;
+ case 2: /* switch 1 */
+ func_800721C0(objectIndex, 0x00000010);
+ func_800736E0(objectIndex);
+ func_80072488(objectIndex);
+ break;
+ case 3: /* switch 1 */
+ func_800730BC(objectIndex, 0, 3, 1, 2, -1);
+ break;
}
- temp_t6 = sp2C->unk_0D6;
- switch (temp_t6) {
- case 1:
- if (func_80086FA4(objectIndex) != 0) {
- func_80073654(objectIndex);
- }
- break;
- case 2:
- func_80090868(sp34);
- func_80073654(objectIndex);
- break;
- case 3:
- if (!(sp34->unk_0CA & 2)) {
- func_80086EAC(objectIndex, 0, 3);
- func_80073654(objectIndex);
- }
- break;
- case 4:
- if (func_80086FA4(objectIndex) != 0) {
+ switch (D_80165C18[objectIndex].unk_0D6) {
+ case 0:
+ break;
+ case 1:
+ if (func_80086FA4(objectIndex) != 0) {
+ func_80073654(objectIndex);
+ }
+ break;
+ case 2:
+ func_80090868(player);
func_80073654(objectIndex);
- }
- break;
- case 5:
- func_800722CC(objectIndex, 1);
- func_800C9018((u8) playerId, 0x0100FA28);
- func_80072428(objectIndex);
- func_80073720(objectIndex);
- break;
+ break;
+ case 3:
+ if (!(player->unk_0CA & 2)) {
+ func_80086EAC(objectIndex, 0, 3);
+ func_80073654(objectIndex);
+ }
+ break;
+ case 4:
+ if (func_80086FA4(objectIndex) != 0) {
+ func_80073654(objectIndex);
+ }
+ break;
+ case 5:
+ func_800722CC(objectIndex, 1);
+ func_800C9018((u8) playerId, 0x0100FA28);
+ func_80072428(objectIndex);
+ func_80073720(objectIndex);
+ break;
}
- if (sp2C->unk_0A6 >= 2) {
- func_8007993C(objectIndex, sp34);
+ if (D_80165C18[objectIndex].unk_0A6 >= 2) {
+ func_8007993C(objectIndex, player);
}
- func_80079A5C(objectIndex, sp34);
+ func_80079A5C(objectIndex, player);
}
-#else
-GLOBAL_ASM("asm/non_matchings/code_80071F00/func_80079B40.s")
-#endif
-
-#ifdef MIPS_TO_C
-//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
-void func_800799A8(s32, s32); /* extern */
-void func_800C9018(u8, ?); /* extern */
void func_80079D44(s32 objectIndex, s32 playerId) {
- struct_80165C18_entry *sp2C;
+
Player *temp_s1;
- s16 temp_v0;
- struct_80165C18_entry *temp_t1;
- u8 temp_t7;
- temp_t1 = &D_80165C18[objectIndex];
- sp2C = temp_t1;
- temp_v0 = temp_t1->unk_0A6;
temp_s1 = &gPlayerOne[playerId];
- switch (temp_v0) { /* switch 1; irregular */
- case 0: /* switch 1 */
- break;
- case 1: /* switch 1 */
- func_800799A8(objectIndex, playerId);
- break;
- case 2: /* switch 1 */
- func_800721C0(objectIndex, 0x00000010);
- func_800736E0(objectIndex);
- temp_s1->unk_0CA |= 0x80;
- func_80072488(objectIndex);
- break;
- case 3: /* switch 1 */
- func_800730BC(objectIndex, 0, 3, 1, 2, -1);
- break;
+ switch (D_80165C18[objectIndex].unk_0A6) { /* switch 1; irregular */
+ case 0: /* switch 1 */
+ break;
+ case 1: /* switch 1 */
+ func_800799A8(objectIndex, playerId);
+ break;
+ case 2: /* switch 1 */
+ func_800721C0(objectIndex, 0x00000010);
+ func_800736E0(objectIndex);
+ temp_s1->unk_0CA |= 0x80;
+ func_80072488(objectIndex);
+ break;
+ case 3: /* switch 1 */
+ func_800730BC(objectIndex, 0, 3, 1, 2, -1);
+ break;
}
- temp_t7 = sp2C->unk_0D6;
- switch (temp_t7) {
- case 1:
- if (func_80086FA4(objectIndex) != 0) {
- func_800C9060((u8) playerId, 0x1900A055U);
+ switch (D_80165C18[objectIndex].unk_0D6) {
+ case 1:
+ if (func_80086FA4(objectIndex) != 0) {
+ func_800C9060((u8) playerId, 0x1900A055U);
+ func_80073654(objectIndex);
+ }
+ break;
+ case 2:
+ func_80090868(temp_s1);
+ func_800722A4(objectIndex, 4);
func_80073654(objectIndex);
- }
- break;
- case 2:
- func_80090868(temp_s1);
- func_800722A4(objectIndex, 4);
- func_80073654(objectIndex);
- break;
- case 3:
- if ((temp_s1->unk_0F8 == 9) && !(temp_s1->unk_0CA & 1) && ((f64) temp_s1->unk_110.unk44 <= 30.0)) {
- func_800722A4(objectIndex, 8);
- }
- if (!(temp_s1->unk_0CA & 2)) {
- func_80086EAC(objectIndex, 0, 3);
+ break;
+ case 3:
+ if ((temp_s1->unk_0F8 == 9) && !(temp_s1->unk_0CA & 1) && ((f64) temp_s1->unk_110.unk3C[2] <= 30.0)) {
+ func_800722A4(objectIndex, 8);
+ }
+ if (!(temp_s1->unk_0CA & 2)) {
+ func_80086EAC(objectIndex, 0, 3);
+ func_80073654(objectIndex);
+ }
+ break;
+ case 4:
+ func_8007375C(objectIndex, 0x0000001E);
+ break;
+ case 5:
+ temp_s1->unk_0CA &= 0xFF7F;
+ func_800722A4(objectIndex, 0x00000010);
+ func_800722A4(objectIndex, 0x00000020);
+ func_800722CC(objectIndex, 4);
+ func_800722CC(objectIndex, 8);
func_80073654(objectIndex);
- }
- break;
- case 4:
- func_8007375C(objectIndex, 0x0000001E);
- break;
- case 5:
- temp_s1->unk_0CA &= 0xFF7F;
- func_800722A4(objectIndex, 0x00000010);
- func_800722A4(objectIndex, 0x00000020);
- func_800722CC(objectIndex, 4);
- func_800722CC(objectIndex, 8);
- func_80073654(objectIndex);
- func_800C9060((u8) playerId, 0x1900A056U);
- break;
- case 6:
- if (func_8007375C(objectIndex, 0x000000A0) != 0) {
- func_800722CC(objectIndex, 0x00000010);
- temp_s1->unk_0CA &= 0xFFEF;
- temp_s1->unk_0CA |= 0x20;
- }
- break;
- case 7:
- func_8007375C(objectIndex, 0x0000003C);
- break;
- case 8:
- func_80073720(objectIndex);
- func_80072428(objectIndex);
- temp_s1->unk_0CA &= 0xFFDF;
- func_800722CC(objectIndex, 1);
- func_800C9018((u8) playerId, 0x0100FA28);
- break;
+ func_800C9060((u8) playerId, 0x1900A056U);
+ break;
+ case 6:
+ if (func_8007375C(objectIndex, 0x000000A0) != 0) {
+ func_800722CC(objectIndex, 0x00000010);
+ temp_s1->unk_0CA &= 0xFFEF;
+ temp_s1->unk_0CA |= 0x20;
+ }
+ break;
+ case 7:
+ func_8007375C(objectIndex, 0x0000003C);
+ break;
+ case 8:
+ func_80073720(objectIndex);
+ func_80072428(objectIndex);
+ temp_s1->unk_0CA &= 0xFFDF;
+ func_800722CC(objectIndex, 1);
+ func_800C9018((u8) playerId, 0x0100FA28);
+ break;
}
- if (sp2C->unk_0A6 >= 2) {
+
+ if (D_80165C18[objectIndex].unk_0A6 >= 2) {
func_8007993C(objectIndex, temp_s1);
}
func_80079A5C(objectIndex, temp_s1);
}
-#else
-GLOBAL_ASM("asm/non_matchings/code_80071F00/func_80079D44.s")
-#endif
-#ifdef MIPS_TO_C
-//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
-void func_800791F0(); /* extern */
-void func_80086F10(s32, ?, ? *); /* extern */
-extern Vtx D_0D006730;
-extern s32 gTLUTLakituSecondLap;
-extern s32 D_0F09DB50;
-extern s32 *D_8018C028;
-static ? D_800E694C; /* unable to generate initializer */
-
-void func_8007A060(s32 objectIndex) {
+extern Gfx D_0F09DB50[];
+extern s16 D_800E694C[];
+
+void func_8007A060(s32 objectIndex, s32 playerIndex) {
struct_80165C18_entry *temp_v0;
- func_800791F0();
+ func_800791F0(objectIndex, playerIndex);
func_80073444(objectIndex, &gTLUTLakituSecondLap, &D_0F09DB50, 0x48U, (u16) 0x00000038);
temp_v0 = &D_80165C18[objectIndex];
- temp_v0->unk_074 = (s32) &D_0D006730;
+ temp_v0->unk_064 = D_8018C028;
+ temp_v0->unk_074 = D_0D006730;
temp_v0->unk_004[2] = 5000.0f;
temp_v0->unk_004[1] = 5000.0f;
temp_v0->unk_004[0] = 5000.0f;
- temp_v0->unk_064 = D_8018C028;
temp_v0->unk_000 = 0.15f;
func_800721E8(objectIndex, 0x00000010);
func_80086F10(objectIndex, 5, &D_800E694C);
func_80072488(objectIndex);
}
-#else
-GLOBAL_ASM("asm/non_matchings/code_80071F00/func_8007A060.s")
-#endif
-
-#ifdef MIPS_TO_C
-//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
-void func_8007A060(); /* extern */
-void func_8007A124(s32 objectIndex) {
- struct_80165C18_entry *temp_v0;
- u16 temp_t8;
-
- temp_v0 = &D_80165C18[objectIndex];
- temp_t8 = (u16) temp_v0->unk_0A6;
- switch (temp_t8) {
- case 1:
- func_8007A060();
- return;
- case 2:
- func_800721C0(objectIndex, 0x00000010);
- func_80072488(objectIndex);
- return;
- case 3:
- func_8007278C(objectIndex, 0x00000014);
- return;
- case 4:
- func_80072E54(objectIndex, 0, 0x0000000F, 1, 2, 1);
- return;
- case 5:
- func_8007278C(objectIndex, 0x0000003C);
- return;
- case 6:
- func_80072F88(objectIndex, 0x0000000F, 0, 1, 2, 1);
- return;
- case 7:
- if (temp_v0->unk_0AE == 0) {
- func_80072428(objectIndex);
- }
- /* fallthrough */
- default:
- return;
+void func_8007A124(s32 objectIndex, s32 playerIndex) {
+ switch (D_80165C18[objectIndex].unk_0A6) {
+ case 0:
+ break;
+ case 1:
+ func_8007A060(objectIndex, playerIndex);
+ break;
+ case 2:
+ func_800721C0(objectIndex, 0x00000010);
+ func_80072488(objectIndex);
+ break;
+ case 3:
+ func_8007278C(objectIndex, 0x00000014);
+ break;
+ case 4:
+ func_80072E54(objectIndex, 0, 0x0000000F, 1, 2, 1);
+ break;
+ case 5:
+ func_8007278C(objectIndex, 0x0000003C);
+ break;
+ case 6:
+ func_80072F88(objectIndex, 0x0000000F, 0, 1, 2, 1);
+ break;
+ case 7:
+ if (D_80165C18[objectIndex].unk_0AE == 0) {
+ func_80072428(objectIndex);
+ }
+ break;
}
}
-#else
-GLOBAL_ASM("asm/non_matchings/code_80071F00/func_8007A124.s")
-#endif
-#ifdef MIPS_TO_C
-//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
-void func_800791F0(); /* extern */
-void func_80086F10(s32, ?, ? *); /* extern */
-extern Vtx D_0D006730;
-extern s32 gTLUTLakituFinalLap;
-extern s32 D_0F0AD750;
-extern s32 *D_8018C028;
-static ? D_800E694C; /* unable to generate initializer */
-
-void func_8007A228(s32 objectIndex) {
+extern Gfx D_0F0AD750[];
+
+void func_8007A228(s32 objectIndex, s32 playerIndex) {
struct_80165C18_entry *temp_v0;
- func_800791F0();
+ func_800791F0(objectIndex, playerIndex);
func_80073444(objectIndex, &gTLUTLakituFinalLap, &D_0F0AD750, 0x48U, (u16) 0x00000038);
temp_v0 = &D_80165C18[objectIndex];
- temp_v0->unk_074 = (s32) &D_0D006730;
+ temp_v0->unk_064 = D_8018C028;
+ temp_v0->unk_074 = D_0D006730;
temp_v0->unk_004[2] = 5000.0f;
temp_v0->unk_004[1] = 5000.0f;
temp_v0->unk_004[0] = 5000.0f;
- temp_v0->unk_064 = D_8018C028;
temp_v0->unk_000 = 0.15f;
func_800721E8(objectIndex, 0x00000010);
func_80086F10(objectIndex, 5, &D_800E694C);
func_80072488(objectIndex);
}
-#else
-GLOBAL_ASM("asm/non_matchings/code_80071F00/func_8007A228.s")
-#endif
-
-#ifdef MIPS_TO_C
-//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
-void func_8007A228(); /* extern */
-void func_8007A2EC(s32 objectIndex) {
- struct_80165C18_entry *temp_v0;
- u16 temp_t8;
-
- temp_v0 = &D_80165C18[objectIndex];
- temp_t8 = (u16) temp_v0->unk_0A6;
- switch (temp_t8) {
- case 1:
- func_8007A228();
- return;
- case 2:
- func_800721C0(objectIndex, 0x00000010);
- func_80072488(objectIndex);
- return;
- case 3:
- func_8007278C(objectIndex, 0x00000014);
- return;
- case 4:
- func_80072E54(objectIndex, 0, 0x0000000F, 1, 2, 1);
- return;
- case 5:
- func_8007278C(objectIndex, 0x0000003C);
- return;
- case 6:
- func_80072F88(objectIndex, 0x0000000F, 0, 1, 2, 1);
- return;
- case 7:
- if (temp_v0->unk_0AE == 0) {
- func_80072428(objectIndex);
- }
- /* fallthrough */
- default:
- return;
+void func_8007A2EC(s32 objectIndex, s32 playerIndex) {
+ switch (D_80165C18[objectIndex].unk_0A6) {
+ case 0:
+ break;
+ case 1:
+ func_8007A228(objectIndex, playerIndex);
+ break;
+ case 2:
+ func_800721C0(objectIndex, 0x00000010);
+ func_80072488(objectIndex);
+ break;
+ case 3:
+ func_8007278C(objectIndex, 0x00000014);
+ break;
+ case 4:
+ func_80072E54(objectIndex, 0, 0x0000000F, 1, 2, 1);
+ break;
+ case 5:
+ func_8007278C(objectIndex, 0x0000003C);
+ break;
+ case 6:
+ func_80072F88(objectIndex, 0x0000000F, 0, 1, 2, 1);
+ break;
+ case 7:
+ if (D_80165C18[objectIndex].unk_0AE == 0) {
+ func_80072428(objectIndex);
+ }
+ break;
}
}
-#else
-GLOBAL_ASM("asm/non_matchings/code_80071F00/func_8007A2EC.s")
-#endif
-
-#ifdef MIPS_TO_C
-//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
-void func_800791F0(); /* extern */
-void func_80086F10(s32, ?, ? *); /* extern */
-void func_800C8F80(u8, ?); /* extern */
-extern Vtx D_0D006730;
-extern s32 gTLUTLakituReverse;
-extern s32 D_0F0BD350;
-extern s32 *D_8018C028;
-static ? D_800E69B0; /* unable to generate initializer */
-void func_8007A3F0(s32 objectIndex, u8 arg1) {
- struct_80165C18_entry *sp28;
- struct_80165C18_entry *temp_v0;
+extern Gfx D_0F0BD350[];
+extern s16 D_800E69B0[1]; // static?
- func_800791F0();
+void func_8007A3F0(s32 objectIndex, s32 arg1) {
+ f32 var = 5000.0f;
+ func_800791F0(objectIndex, arg1);
func_80073444(objectIndex, &gTLUTLakituReverse, &D_0F0BD350, 0x48U, (u16) 0x00000038);
- temp_v0 = &D_80165C18[objectIndex];
- temp_v0->unk_074 = (s32) &D_0D006730;
- temp_v0->unk_004[2] = 5000.0f;
- temp_v0->unk_004[1] = 5000.0f;
- temp_v0->unk_004[0] = 5000.0f;
- temp_v0->unk_064 = D_8018C028;
- sp28 = temp_v0;
- temp_v0->unk_000 = 0.15f;
+ D_80165C18[objectIndex].unk_064 = D_8018C028;
+ D_80165C18[objectIndex].unk_074 = D_0D006730;
+ D_80165C18[objectIndex].unk_004[2] = var;
+ D_80165C18[objectIndex].unk_004[1] = var;
+ D_80165C18[objectIndex].unk_004[0] = var;
+ D_80165C18[objectIndex].unk_000 = 0.15f;
func_800721E8(objectIndex, 0x00000010);
func_80086F10(objectIndex, 6, &D_800E69B0);
- temp_v0->unk_0D6 = 0;
+ D_80165C18[objectIndex].unk_0D6 = 0;
func_80072488(objectIndex);
- func_800C8F80(arg1, 0x0100FA28);
+ func_800C8F80((u8)arg1, 0x0100FA28);
}
-#else
-GLOBAL_ASM("asm/non_matchings/code_80071F00/func_8007A3F0.s")
-#endif
-#ifdef MIPS_TO_C
-//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
-void func_8007A3F0(s32, s32); /* extern */
-void func_80086F10(s32, ?, ? *); /* extern */
-void func_800C9018(u8, ?); /* extern */
-static ? D_800E69F4; /* unable to generate initializer */
+extern s16 D_800E69F4[1]; // static?
void func_8007A4D4(s32 objectIndex, s32 playerId) {
- Player *sp2C;
- s32 temp_t3;
- struct_80165C18_entry *temp_s0;
- u16 temp_t2;
- u8 temp_v0;
+ Player *sp2C = &gPlayerOne[playerId];
- temp_s0 = &D_80165C18[objectIndex];
- temp_t2 = (u16) temp_s0->unk_0A6;
- sp2C = &gPlayerOne[playerId];
- switch (temp_t2) {
- case 0:
- break;
- case 1:
- func_8007A3F0(objectIndex, playerId);
- break;
- case 2:
- func_800721C0(objectIndex, 0x00000010);
- temp_s0->unk_0D6 = 1;
- func_80072488(objectIndex);
- break;
- case 3:
- func_800730BC(objectIndex, 0, 0x0000000F, 1, 2, -1);
- break;
- case 4:
- func_80072428(objectIndex);
- break;
+ switch (D_80165C18[objectIndex].unk_0A6) {
+ case 0:
+ break;
+ case 1:
+ func_8007A3F0(objectIndex, playerId);
+ break;
+ case 2:
+ func_800721C0(objectIndex, 0x00000010);
+ D_80165C18[objectIndex].unk_0D6 = 1;
+ func_80072488(objectIndex);
+ break;
+ case 3:
+ func_800730BC(objectIndex, 0, 0x0000000F, 1, 2, -1);
+ break;
+ case 4:
+ func_80072428(objectIndex);
+ break;
}
- temp_v0 = temp_s0->unk_0D6;
- switch (temp_v0) { /* switch 1; irregular */
- case 1: /* switch 1 */
- if ((temp_s0->unk_0A6 >= 3) && ((sp2C->unk_0BC << 9) >= 0)) {
- func_80086F10(objectIndex, 6, &D_800E69F4);
- temp_s0->unk_0D6 = 2;
- temp_s0->unk_04C = 0x00000050;
- func_800C9018((u8) playerId, 0x0100FA28);
+ switch (D_80165C18[objectIndex].unk_0D6) { /* switch 1; irregular */
+ case 1: /* switch 1 */
+ if ((D_80165C18[objectIndex].unk_0A6 >= 3) && ((sp2C->unk_0BC << 9) >= 0)) {
+ func_80086F10(objectIndex, 6, &D_800E69F4);
+ D_80165C18[objectIndex].unk_0D6 = 2;
+ D_80165C18[objectIndex].unk_04C = 0x00000050;
+ func_800C9018((u8) playerId, 0x0100FA28);
+ return;
+ }
return;
- }
- return;
- case 2: /* switch 1 */
- temp_t3 = temp_s0->unk_04C - 1;
- temp_s0->unk_04C = temp_t3;
- if (temp_t3 == 0) {
- func_80072488(objectIndex);
- temp_s0->unk_0D6 = 0;
- }
- break;
+ case 2: /* switch 1 */
+ D_80165C18[objectIndex].unk_04C--;
+ if (D_80165C18[objectIndex].unk_04C == 0) {
+ func_80072488(objectIndex);
+ D_80165C18[objectIndex].unk_0D6 = 0;
+ }
+ break;
}
}
-#else
-GLOBAL_ASM("asm/non_matchings/code_80071F00/func_8007A4D4.s")
-#endif
void func_8007A66C(s32 objectIndex, Player *player, Camera *camera) {
u16 temp_t8;
@@ -3965,59 +3640,40 @@ void func_8007A910(s32 arg0) {
func_80079860(arg0);
}
-#ifdef MIPS_TO_C
-//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909
-void func_80079380(s32, s32); /* extern */
-void func_80079700(s32, s32); /* extern */
-void func_80079B40(s32, s32); /* extern */
-void func_80079D44(s32, s32); /* extern */
-void func_8007A124(s32, s32); /* extern */
-void func_8007A2EC(s32, s32); /* extern */
-void func_8007A4D4(s32, s32); /* extern */
-void func_8008BFFC(s32); /* extern */
-extern ? D_80165CF0;
-extern s32 D_80183DB8;
-
void func_8007A948(s32 arg0) {
- s32 temp_s0;
- u8 temp_t8;
+ s32 temp_s0 = D_80183DB8[arg0];
- temp_s0 = *(&D_80183DB8 + (arg0 * 4));
- temp_t8 = *(&D_80165CF0 + (temp_s0 * 0xE0));
- switch (temp_t8) {
- case 1:
- func_80079380(temp_s0, arg0);
- func_8008BFFC(temp_s0);
- return;
- case 2:
- func_80079700(temp_s0, arg0);
- func_8008BFFC(temp_s0);
- return;
- case 3:
- func_80079B40(temp_s0, arg0);
- return;
- case 4:
- func_8007A124(temp_s0, arg0);
- func_8008BFFC(temp_s0);
- return;
- case 5:
- func_8007A2EC(temp_s0, arg0);
- func_8008BFFC(temp_s0);
- return;
- case 6:
- func_8007A4D4(temp_s0, arg0);
- func_8008BFFC(temp_s0);
- return;
- case 7:
- func_80079D44(temp_s0, arg0);
- /* fallthrough */
- default:
- return;
+ switch (D_80165CF0[temp_s0].unk[0]) {
+ case 0:
+ break;
+ case 1:
+ func_80079380(temp_s0, arg0);
+ func_8008BFFC(temp_s0);
+ break;
+ case 2:
+ func_80079700(temp_s0, arg0);
+ func_8008BFFC(temp_s0);
+ break;
+ case 3:
+ func_80079B40(temp_s0, arg0);
+ break;
+ case 4:
+ func_8007A124(temp_s0, arg0);
+ func_8008BFFC(temp_s0);
+ break;
+ case 5:
+ func_8007A2EC(temp_s0, arg0);
+ func_8008BFFC(temp_s0);
+ break;
+ case 6:
+ func_8007A4D4(temp_s0, arg0);
+ func_8008BFFC(temp_s0);
+ break;
+ case 7:
+ func_80079D44(temp_s0, arg0);
+ break;
}
}
-#else
-GLOBAL_ASM("asm/non_matchings/code_80071F00/func_8007A948.s")
-#endif
#ifdef MIPS_TO_C
//generated by m2c commit d9d3d6575355663122de59f6b2882d8f174e2355 on Dec-27-2022
@@ -4117,59 +3773,55 @@ void func_8007AC9C(s32 playerId) {
}
}
-#ifdef MIPS_TO_C
-//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
-extern s8 D_0D008150;
-extern s8 D_0D008790;
-extern ? D_0D008B14;
-extern u8 D_801658FD;
-extern u8 D_801658FF;
+//#ifdef MIPS_TO_C
+extern u8 sRandomItemIndex;
+extern u8 gControllerRandom;
extern s32 gRaceFrameCounter;
-
-u8 gen_random_item(s16 arg0, s16 arg1) {
- s32 sp18;
- s32 temp_v0;
- s32 temp_v1;
- s32 var_v0;
- u8 *var_a1;
- u8 var_v1;
-
- var_a1 = &D_801658FD;
- D_801658FD = (u8) ((u32) (random_int(0x0064U) + (D_801658FD + D_801658FF) + gRaceFrameCounter) % 100U);
- temp_v1 = gModeSelection;
- if (temp_v1 == VERSUS) {
- temp_v0 = gPlayerCountSelection1;
- switch (temp_v0) { /* irregular */
- case 2:
- sp18 = segmented_to_virtual((u32) &D_0D008790);
-block_8:
- var_a1 = &D_801658FD;
- break;
- case 3:
- sp18 = segmented_to_virtual(0x0D008858U);
- goto block_8;
- case 4:
- sp18 = segmented_to_virtual(0x0D008984U);
- goto block_8;
+extern s8 D_0D008B14[];
+extern s8 D_0D008470[];
+extern s8 D_0D008858[];
+extern s8 D_0D008984[];
+
+// todo: Cleanup this function to use array access and struct if possible.
+u8 gen_random_item(s16 arg0, s16 arg1)
+{
+ u16 rand = random_int(100);
+ u8 *curve;
+ u8 randomItem;
+
+ // sRandomItemIndex not initialized for further randomness?
+ sRandomItemIndex = ((u32) rand + (sRandomItemIndex + gControllerRandom) + gRaceFrameCounter) % 100U;
+
+ if (gModeSelection == VERSUS) {
+ switch (gPlayerCountSelection1) {
+ case TWO_PLAYERS_SELECTED:
+ curve = segmented_to_virtual((void *) D_0D008790);
+ break;
+ case THREE_PLAYERS_SELECTED:
+ curve = segmented_to_virtual((void *) D_0D008858);
+ break;
+ case FOUR_PLAYERS_SELECTED:
+ curve = segmented_to_virtual((void *) D_0D008984);
+ break;
}
- var_v1 = *((arg0 * 0x64) + sp18 + *var_a1);
- } else if (temp_v1 == BATTLE) {
- var_v1 = *(D_801658FD + segmented_to_virtual((u32) &D_0D008B14));
- } else {
+ randomItem = *((arg0 * 100) + curve + sRandomItemIndex);
+
+ } else if (gModeSelection == BATTLE) {
+ curve = segmented_to_virtual((void *) D_0D008B14);
+ randomItem = curve[sRandomItemIndex];
+ } else { // GP Mode
if (arg1 == 0) {
- var_v0 = segmented_to_virtual((u32) &D_0D008150);
- } else {
- var_v0 = segmented_to_virtual(0x0D008470U);
+ curve = segmented_to_virtual((void *) D_0D008150);
}
- var_v1 = *((arg0 * 0x64) + var_v0 + D_801658FD);
+ else {
+ curve = segmented_to_virtual((void *) D_0D008470);
+ }
+ randomItem = *((arg0 * 100) + curve + sRandomItemIndex);
}
- return var_v1;
+ return randomItem;
}
-#else
-GLOBAL_ASM("asm/non_matchings/code_80071F00/gen_random_item.s")
-#endif
-u8 func_8007AF40(s32 arg0, s16 arg1) {
+u8 func_8007AF40(s16 arg0, s16 arg1) {
return gen_random_item(arg1, 0);
}
@@ -4177,33 +3829,38 @@ u8 func_8007AF78(s32 arg0, s16 arg1) {
return gen_random_item(arg1, 1);
}
-#ifdef MIPS_TO_C
+//#ifdef MIPS_TO_C
//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
-extern ? D_80164392;
-extern ? D_801643BA;
+
+
+/**
+ * todo: verify that these two variables are fake ptrs.
+ * As seen below, they were replaced with gLapCountByPlayerId and gGPCurrentRaceRankByPlayerId
+ *
+ * Notice how matching with the two variables below required two s16s. The lapcount gets cast to s16 to match.
+typedef struct {
+ s16 val;
+ s16 pad;
+} a;
+extern a D_80164392[];
+extern a D_801643BA[];
+*/
s16 func_8007AFB0(s32 objectIndex, s32 arg1) {
- s16 sp1A;
- s16 var_a1;
- s32 temp_v0;
- struct_8018CA70_entry *temp_v1;
- u8 temp_a0;
+ s32 pad[3];
+ s16 randomItem;
- temp_v0 = arg1 * 4;
- temp_v1 = &D_8018CA70[arg1];
- temp_a0 = temp_v1->unk76;
- var_a1 = func_8007AF40((s32) *(&D_80164392 + temp_v0), *(&D_801643BA + temp_v0));
- if (temp_a0 != 0) {
- var_a1 = (s16) temp_a0;
- temp_v1->unk76 = 0U;
+ randomItem = (s16) func_8007AF40((s16) gLapCountByPlayerId[arg1], (s16) gGPCurrentRaceRankByPlayerId[arg1]);
+
+ if (D_8018CA70[arg1].itemOverride != 0) {
+ randomItem = (s16) D_8018CA70[arg1].itemOverride;
+ D_8018CA70[arg1].itemOverride = 0;
}
- sp1A = var_a1;
- func_800729B4(objectIndex, (s32) var_a1);
- return sp1A;
+
+ func_800729B4(objectIndex, (s32) randomItem);
+
+ return randomItem;
}
-#else
-GLOBAL_ASM("asm/non_matchings/code_80071F00/func_8007AFB0.s")
-#endif
#ifdef MIPS_TO_C
//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
@@ -4683,10 +4340,18 @@ void func_8007BDA8(void) {
func_8008BF18(temp_a0);
}
-#ifdef MIPS_TO_C
-//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
-extern ? D_06007BA8;
-static ? D_800E634C; /* unable to generate initializer */
+extern Gfx D_06007BA8[];
+// This is either 3 Vec3s as separate variables or an array of s16's or an array of vec3s.
+// The other entries appear to be unused.
+extern Vec3s D_800E634C[3]; // static?
+// todo: import
+// Vec3s D_800E634C[] = {
+// 62334, 19, 65058,
+// 62331, 19, 65073,
+// 3896, 19, 65044,
+// 0x0000, // pad
+// };
+
void func_8007BDE0(s32 objectIndex) {
struct_80165C18_entry *temp_v0;
@@ -4694,16 +4359,13 @@ void func_8007BDE0(s32 objectIndex) {
temp_v0 = &D_80165C18[objectIndex];
temp_v0->unk_0D5 = 1;
temp_v0->unk_054 = 0;
- temp_v0->unk_070 = (s32) &D_06007BA8;
+ temp_v0->unk_070 = D_06007BA8;
temp_v0->unk_000 = 0.2f;
func_80072488(objectIndex);
- func_8008B7D4(objectIndex, (f32) D_800E634C.unk0, (f32) ((f64) D_800E634C.unk2 + 55.0), (f32) D_800E634C.unk4);
+ func_8008B7D4(objectIndex, (f32) D_800E634C[0][0], (f32) ((f64) D_800E634C[0][1] + 55.0), (f32) D_800E634C[0][2]);
func_8008B80C(objectIndex, 0.0f, 30.0f, 0.0f);
func_8008B888(objectIndex, 0U, 0x3800U, 0U);
}
-#else
-GLOBAL_ASM("asm/non_matchings/code_80071F00/func_8007BDE0.s")
-#endif
#ifdef MIPS_TO_C
//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
@@ -4835,18 +4497,14 @@ void func_800723A4(s32, s32); // extern
void func_8007BEC8(s32); // extern
void func_8007BFB0(s32); // extern
extern s8 D_801658BC;
-extern s16 D_80165CBE[];
-// Unsure about D_80183F28[D_80165CBE] due to m2c:
-// D_80165CBE + (D_80183F28 * 0xE0)
-// This could be a fake match. Apparently it didn't match at all.
void func_8007C280(void) {
if (D_801658BC == 1) {
D_801658BC = 0;
func_800723A4(D_80183F28, 0);
}
- if (*(&D_80165CBE[D_80183F28[0]])) {
+ if (D_80165CBE[D_80183F28[0]].unk[0]) {
func_8007BEC8(D_80183F28);
func_8007BFB0(D_80183F28);
}
@@ -4855,23 +4513,16 @@ void func_8007C280(void) {
GLOBAL_ASM("asm/non_matchings/code_80071F00/func_8007C280.s")
#endif
-#ifdef MIPS_TO_C
-//generated by m2c commit 0927f17aac197848d4ebdf0c6bbad74b01f0851c
-? func_8007C280(); /* extern */
-
void func_8007C2F8(s32 arg0) {
- switch (arg0) { /* irregular */
- case 0:
- func_8007BDA8();
- return;
- case 1:
- func_8007C280();
- return;
+ switch (arg0) {
+ case 0:
+ func_8007BDA8();
+ break;
+ case 1:
+ func_8007C280();
+ break;
}
}
-#else
-GLOBAL_ASM("asm/non_matchings/code_80071F00/func_8007C2F8.s")
-#endif
void func_8007C340(void) {
func_8007CC00();
@@ -4962,15 +4613,13 @@ void func_8007C550(s32 objectIndex) {
func_8007C4A4(objectIndex);
}
-#ifdef MIPS_TO_C
-//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
-extern s32 gTLUTBoo;
+extern s8 gTLUTBoo[];
extern s32 *D_80165880;
void func_8007C5B4(s32 objectIndex) {
struct_80165C18_entry *temp_s0;
- func_80073444(objectIndex, &gTLUTBoo, D_80165880, 0x30U, (u16) 0x00000028);
+ func_80073444(objectIndex, &gTLUTBoo, D_80165880, 48, 40);
temp_s0 = &D_80165C18[objectIndex];
temp_s0->unk_004[0] = 0.0f;
temp_s0->unk_004[1] = 0.0f;
@@ -4987,9 +4636,6 @@ void func_8007C5B4(s32 objectIndex) {
temp_s0->unk_0B2[0] = 0;
temp_s0->unk_0B2[2] = 0x8000;
}
-#else
-GLOBAL_ASM("asm/non_matchings/code_80071F00/func_8007C5B4.s")
-#endif
#ifdef MIPS_TO_C
//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
@@ -5036,57 +4682,64 @@ void func_8007C684(s32 objectIndex) {
GLOBAL_ASM("asm/non_matchings/code_80071F00/func_8007C684.s")
#endif
-#ifdef MIPS_TO_C
+#ifdef NON_MATCHING
//generated by m2c commit 9841ff34ca242f5f14b2eab2b54a7a65ac47d80f
extern s16 D_8018CFF0;
extern s16 D_8018D048;
-static ? D_800E5988; /* unable to generate initializer */
-static ? D_800E5A44; /* unable to generate initializer */
-static ? D_800E5B08; /* unable to generate initializer */
-static ? D_800E5BD4; /* unable to generate initializer */
-static ? D_800E5C90; /* unable to generate initializer */
-static s32 D_800E5D9C[5] = {
- (s32) &D_800E5988,
- (s32) &D_800E5A44,
- (s32) &D_800E5B08,
- (s32) &D_800E5BD4,
- (s32) &D_800E5C90,
-};
-static ? D_800E5DB0; /* unable to generate initializer */
-
-void func_8007C7B4(s32 arg0, s8 arg1) {
- s32 *sp40;
+// static ? D_800E5988; /* unable to generate initializer */
+// static ? D_800E5A44; /* unable to generate initializer */
+// static ? D_800E5B08; /* unable to generate initializer */
+// static ? D_800E5BD4; /* unable to generate initializer */
+// static ? D_800E5C90; /* unable to generate initializer */
+// static s32 D_800E5D9C[5] = {
+// (s32) &D_800E5988,
+// (s32) &D_800E5A44,
+// (s32) &D_800E5B08,
+// (s32) &D_800E5BD4,
+// (s32) &D_800E5C90,
+// };
+// static ? D_800E5DB0; /* unable to generate initializer */
+extern s32 D_800E5D9C[];
+extern s32 D_800E5DB0;
+
+// Close but not yet
+void func_8007C7B4(s32 arg0, s32 arg1) {
+ //s32 *sp40;
s16 temp_s1_2;
s16 temp_s4;
s16 temp_s5;
- s32 *var_s2;
- s32 *var_s3;
- s32 temp_s1;
+ s32 var_s2;
+ s32 var_s3;
+ s32 *temp_s1;
s32 temp_v1;
- struct_80165C18_entry *temp_s0;
-
- var_s3 = &D_8018BFA8[arg0];
- var_s2 = D_800E5D9C;
- sp40 = var_s3;
- do {
- temp_s1 = *var_s3;
- func_800723A4(temp_s1, 1);
- temp_s0 = &D_80165C18[temp_s1];
- temp_s0->unk_0D1 = arg1;
- temp_s1_2 = random_int(0x003CU) - 0x1E;
- temp_s4 = random_int(0x0014U) - 0xA;
- temp_s5 = random_int(0x0050U) - 0x28;
- random_int(0x1000U);
- temp_v1 = *var_s2;
+ //struct_80165C18_entry *temp_s0;
+ //s32 i = 0;
+
+ temp_s1 = &D_8018BFA8[arg0];
+ //sp40 = D_8018BFA8[arg0];
+ var_s2 = &D_800E5D9C;
+
+ do { //for (i = 0; i < 20; i++) {
+ var_s3 = *temp_s1;
+ //temp_s1 = *var_s3;
+ func_800723A4(var_s3, 1);
+ //temp_s0 = &D_80165C18[var_s3[i]];
+ D_80165C18[var_s3].unk_0D1 = arg1;
+ temp_s1_2 = random_int(60) - 30;
+ temp_s4 = random_int(20) - 10;
+ temp_s5 = random_int(80) - 40;
+ random_int(4096); // burn a card?
+ temp_v1 = var_s2;
var_s2 += 4;
- var_s3 += 4;
- temp_s0->unk_010[0] = (f32) temp_s1_2;
- temp_s0->unk_080 = temp_v1;
- temp_s0->unk_010[1] = (f32) temp_s4;
- temp_s0->unk_010[2] = (f32) temp_s5;
- } while (var_s2 != &D_800E5DB0);
- func_800C9060(arg1 & 0xFF, 0x1900705AU);
- if (sp40 == D_8018BFA8) {
+ temp_s1 += 4;
+ D_80165C18[var_s3].unk_010[0] = (f32)temp_s1_2;
+ D_80165C18[var_s3].unk_080 = var_s2;
+ D_80165C18[var_s3].unk_010[1] = (f32) temp_s4;
+ D_80165C18[var_s3].unk_010[2] = (f32) temp_s5;
+ } while (var_s2 != D_800E5DB0);
+
+ func_800C9060(arg1, 0x1900705A);
+ if (&D_8018BFA8[arg0] == D_8018BFA8) {
D_8018CFF0 = 1;
return;
}
@@ -5132,25 +4785,30 @@ void func_8007C91C(s32 objectIndex) {
GLOBAL_ASM("asm/non_matchings/code_80071F00/func_8007C91C.s")
#endif
+// Something looks wonky about the asm. I suspect this a function was accidentally split in half.
#ifdef MIPS_TO_C
//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
s16 func_8007C9F8(void) {
- s8 temp_v0;
+ //s8 temp_v0;
+
+ //temp_v0 = D_8018EDF3;
+
+
- temp_v0 = D_8018EDF3;
- if (temp_v0 == 1) {
+ if (D_8018EDF3 == 1) {
return 0;
}
- if (temp_v0 == 2) {
+
+ if (D_8018EDF3 == 2) {
if (gModeSelection == GRAND_PRIX) {
- if (gGPCurrentRaceRankByPlayerId->unk0 < gGPCurrentRaceRankByPlayerId->unk4) {
+ if (gGPCurrentRaceRankByPlayerId[0] < gGPCurrentRaceRankByPlayerId[1]) {
return 0;
}
return 1;
}
- return *gGPCurrentRacePlayerIdByRank;
+ //return gGPCurrentRacePlayerIdByRank[0];
}
- return *gGPCurrentRacePlayerIdByRank;
+ return gGPCurrentRacePlayerIdByRank[0];
}
#else
GLOBAL_ASM("asm/non_matchings/code_80071F00/func_8007C9F8.s")
@@ -6708,41 +6366,20 @@ void func_8007FEA4(s32 objectIndex) {
}
}
-#ifdef MIPS_TO_C
-//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
-void func_8007FB48(); // extern
-void func_8007FEA4(); // extern
-extern ? D_80165CF5;
-
-void func_8007FF5C(s32 arg0) {
- u8 temp_v0;
-
- temp_v0 = *(&D_80165CF5 + (arg0 * 0xE0));
- if (temp_v0 != 1) {
- if (temp_v0 != 2) {
- return;
- }
- func_8007FEA4();
- return;
+void func_8007FF5C(s32 arg0)
+{
+ switch(D_80165CF5[arg0].unk[0]) {
+ case 1:
+ func_8007FB48();
+ break;
+ case 2:
+ func_8007FEA4(arg0);
+ break;
}
- func_8007FB48();
}
-#else
-GLOBAL_ASM("asm/non_matchings/code_80071F00/func_8007FF5C.s")
-#endif
-
-#ifdef MIPS_TO_C
-//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
-void func_8007E63C(s32); /* extern */
-void func_8007FA08(s32); /* extern */
-void func_8007FF5C(s32); /* extern */
-extern ? D_80165CBE;
void func_8007FFC0(s32 objectIndex) {
- s16 temp_v0;
-
- temp_v0 = *(&D_80165CBE + (objectIndex * 0xE0));
- switch (temp_v0) { /* irregular */
+ switch (D_80165CBE[objectIndex].unk[0]) { /* irregular */
case 0:
break;
case 1:
@@ -6761,9 +6398,6 @@ void func_8007FFC0(s32 objectIndex) {
func_8008BF18(objectIndex);
func_80073514(objectIndex);
}
-#else
-GLOBAL_ASM("asm/non_matchings/code_80071F00/func_8007FFC0.s")
-#endif
#ifdef MIPS_TO_C
//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
@@ -8014,14 +7648,13 @@ GLOBAL_ASM("asm/non_matchings/code_80071F00/func_8008241C.s")
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
-void func_8008241C(); // extern
-extern ? D_80165CBE;
+//void func_8008241C(); // extern
+extern s16 D_80165CBE[];
void func_80082714(s32 arg0) {
- s16 temp_v0;
+ s16 *temp_v0 = &D_80165CBE[arg0];
- temp_v0 = *(&D_80165CBE + (arg0 * 0xE0));
- if ((temp_v0 != 0) && (temp_v0 == 1)) {
+ if ((temp_v0[0] != 0) && (temp_v0[0] == 1)) {
func_8008241C();
}
}
@@ -8456,19 +8089,13 @@ block_6:
GLOBAL_ASM("asm/non_matchings/code_80071F00/func_800833D0.s")
#endif
-#ifdef MIPS_TO_C
-//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
-s32 func_80089F24(); // extern
-extern ? D_80165CBE;
+extern UnkStruct_80165CBE D_80165CBE[];
void func_80083474(s32 arg0) {
- if (*(&D_80165CBE + (arg0 * 0xE0)) >= 2) {
+ if (D_80165CBE[arg0].unk[0] >= 2) {
func_80089F24();
}
}
-#else
-GLOBAL_ASM("asm/non_matchings/code_80071F00/func_80083474.s")
-#endif
#ifdef MIPS_TO_C
//generated by m2c commit d9d3d6575355663122de59f6b2882d8f174e2355 on Dec-28-2022
diff --git a/src/code_80071F00.h b/src/code_80071F00.h
index 545159e50..4e72e1201 100644
--- a/src/code_80071F00.h
+++ b/src/code_80071F00.h
@@ -102,7 +102,7 @@ void func_800745C8(s32, s32);
void func_8007466C(s32, s32);
void func_80074704(s32, s32);
s32 func_80074790(s32, s32);
-void func_800747F0(s32);
+void func_800747F0(s32, s32);
void func_80074894(s32, s32);
void func_800748C4(s32, s32);
void func_800748F4(s32, s32);
@@ -188,7 +188,7 @@ void func_8007AA44(s32);
void func_8007ABFC(s32, s32);
void func_8007AC9C(s32);
u8 gen_random_item(s16, s16);
-u8 func_8007AF40(s32, s16);
+u8 func_8007AF40(s16, s16);
u8 func_8007AF78(s32, s16);
void func_8007BB9C();
void func_8007BD04(s32);
diff --git a/src/code_8008C1D0.c b/src/code_8008C1D0.c
index baa2f4525..6909f4568 100644
--- a/src/code_8008C1D0.c
+++ b/src/code_8008C1D0.c
@@ -1463,6 +1463,7 @@ void func_8008F650(Player* player, s8 arg1) {
}
}
+// Star item
void func_8008F778(Player* player, s8 arg1) {
func_8008C354(player, arg1);
@@ -1470,11 +1471,13 @@ void func_8008F778(Player* player, s8 arg1) {
player->statusEffects &= ~0x2000;
D_8018D930[arg1] = gCourseTimer;
D_8018D900[arg1] = 1;
- if (((player->unk_000 & 0x4000) == 0x4000) && ((player->unk_000 & 0x100) != 0x100)) {
+
+ if (((player->unk_000 & PLAYER_HUMAN) == PLAYER_HUMAN) && ((player->unk_000 & PLAYER_INVISIBLE_OR_BOMB) != PLAYER_INVISIBLE_OR_BOMB)) {
if (D_8018D900[arg1] == 1) {
func_800CA59C(arg1);
D_8018D900[arg1] = 2;
}
+ // This may be in charge of ending the star sound. Still unknown though.
} else if (D_8018D900[arg1] == 1) {
func_800CA984(arg1);
D_8018D900[arg1] = 2;
diff --git a/src/common_textures.inc.c b/src/common_textures.inc.c
index 3ed1eb211..744a7fbc4 100644
--- a/src/common_textures.inc.c
+++ b/src/common_textures.inc.c
@@ -1746,25 +1746,250 @@ Gfx D_0D008138[] = {
gsSPEndDisplayList(),
};
-// 0x8150 unk data prob texture
-s8 D_0D008150[] = {
- #include "textures/common/132B50_08150.ia8.inc.c"
+// Curve graphs for generating a random item based on player race position.
+// GP Mode
+u8 D_0D008150[800] = {
+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x03,
+ 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03,
+ 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03,
+ 0x03, 0x03, 0x03, 0x03, 0x03, 0x04, 0x04, 0x04, 0x04, 0x04, 0x05, 0x05,
+ 0x05, 0x05, 0x05, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09,
+ 0x09, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C,
+ 0x0C, 0x0C, 0x0C, 0x0C, 0x02, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03, 0x03,
+ 0x03, 0x03, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+ 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
+ 0x05, 0x05, 0x05, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
+ 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x08,
+ 0x08, 0x08, 0x08, 0x08, 0x09, 0x09, 0x09, 0x09, 0x09, 0x0A, 0x0A, 0x0A,
+ 0x0A, 0x0A, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C,
+ 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E,
+ 0x0E, 0x0E, 0x0E, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x04, 0x04, 0x04, 0x04,
+ 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
+ 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
+ 0x05, 0x05, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
+ 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x08, 0x08,
+ 0x08, 0x08, 0x08, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A,
+ 0x0A, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E,
+ 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E,
+ 0x0E, 0x0E, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F,
+ 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
+ 0x05, 0x05, 0x05, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
+ 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x07,
+ 0x07, 0x07, 0x07, 0x07, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
+ 0x08, 0x08, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A,
+ 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0E, 0x0E,
+ 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E,
+ 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F,
+ 0x0F, 0x0F, 0x0F, 0x0F, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
+ 0x05, 0x05, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
+ 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x07, 0x07,
+ 0x07, 0x07, 0x07, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
+ 0x08, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A,
+ 0x0A, 0x0A, 0x0A, 0x0A, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0E, 0x0E, 0x0E,
+ 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E,
+ 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0F, 0x0F,
+ 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x06, 0x06, 0x06, 0x06,
+ 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
+ 0x06, 0x06, 0x06, 0x06, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07,
+ 0x07, 0x07, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
+ 0x08, 0x08, 0x08, 0x08, 0x08, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A,
+ 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A,
+ 0x0A, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E,
+ 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E,
+ 0x0E, 0x0E, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F,
+ 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
+ 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x07, 0x07, 0x07, 0x07,
+ 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
+ 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
+ 0x08, 0x08, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A,
+ 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A,
+ 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0E, 0x0E, 0x0E, 0x0E,
+ 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F,
+ 0x0F, 0x0F, 0x0F, 0x0F, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
+ 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
+ 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07,
+ 0x07, 0x07, 0x07, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
+ 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x0A,
+ 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A,
+ 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A,
+ 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0F, 0x0F,
+ 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F
+};
+
+// Also GP Mode?
+u8 D_0D008470[800] = {
+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+ 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03,
+ 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03,
+ 0x03, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x0B,
+ 0x0B, 0x0B, 0x0B, 0x0B, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03,
+ 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03,
+ 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x04, 0x04, 0x04, 0x04, 0x04,
+ 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x0B, 0x0B,
+ 0x0B, 0x0B, 0x0B, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x01, 0x01, 0x01, 0x01,
+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+ 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03,
+ 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03,
+ 0x03, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x09,
+ 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x0B, 0x0B, 0x0B,
+ 0x0B, 0x0B, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C,
+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x03,
+ 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03,
+ 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03,
+ 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+ 0x04, 0x04, 0x04, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09,
+ 0x09, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C,
+ 0x0C, 0x0C, 0x0C, 0x0C, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x03, 0x03,
+ 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03,
+ 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+ 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+ 0x04, 0x04, 0x09, 0x09, 0x09, 0x09, 0x09, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A,
+ 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C,
+ 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x01, 0x01, 0x01, 0x01,
+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+ 0x01, 0x01, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03,
+ 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x04, 0x04,
+ 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+ 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x09, 0x09, 0x09, 0x09, 0x09, 0x0A,
+ 0x0A, 0x0A, 0x0A, 0x0A, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C,
+ 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C,
+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03,
+ 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03,
+ 0x03, 0x03, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+ 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x0A, 0x0A,
+ 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0C, 0x0C, 0x0C, 0x0C,
+ 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C,
+ 0x0C, 0x0C, 0x0C, 0x0C, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03,
+ 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03,
+ 0x03, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+ 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x08, 0x0A, 0x0A,
+ 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0C, 0x0C, 0x0C, 0x0C,
+ 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C,
+ 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C
+};
+
+// Versus mode two player
+u8 D_0D008790[200] = {
+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+ 0x01, 0x01, 0x01, 0x0B, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+ 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02,
+ 0x0B, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03,
+ 0x03, 0x03, 0x03, 0x03, 0x0B, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03,
+ 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x0B, 0x04, 0x04, 0x04,
+ 0x04, 0x04, 0x05, 0x05, 0x05, 0x05, 0x05, 0x0B, 0x09, 0x09, 0x09, 0x09,
+ 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C,
+ 0x0C, 0x0C, 0x0C, 0x0C, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x02, 0x04, 0x05,
+ 0x07, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x08, 0x08, 0x08, 0x08, 0x08, 0x04,
+ 0x07, 0x05, 0x02, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x06, 0x06, 0x06, 0x06,
+ 0x06, 0x04, 0x05, 0x07, 0x06, 0x06, 0x06, 0x06, 0x06, 0x0A, 0x0A, 0x0A,
+ 0x0A, 0x0A, 0x02, 0x07, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x02, 0x08, 0x08,
+ 0x08, 0x08, 0x08, 0x06, 0x06, 0x06, 0x06, 0x06, 0x04, 0x05, 0x07, 0x0A,
+ 0x0A, 0x0A, 0x0A, 0x0A, 0x08, 0x08, 0x08, 0x08, 0x08, 0x0E, 0x0E, 0x0E,
+ 0x0E, 0x0E, 0x05, 0x04, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x02, 0x0E, 0x0E,
+ 0x0E, 0x0E, 0x0E, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F
+};
+
+// Versus mode three player
+u8 D_0D008858[300] = {
+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02,
+ 0x02, 0x02, 0x02, 0x02, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03,
+ 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03,
+ 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x05, 0x05,
+ 0x05, 0x05, 0x05, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09,
+ 0x09, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C,
+ 0x0C, 0x0C, 0x0C, 0x0C, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02,
+ 0x02, 0x02, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+ 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
+ 0x05, 0x05, 0x05, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
+ 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x08, 0x08, 0x08, 0x08, 0x08, 0x09,
+ 0x09, 0x09, 0x09, 0x09, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0B, 0x0B, 0x0B,
+ 0x0B, 0x0B, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E,
+ 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E,
+ 0x0E, 0x0E, 0x0E, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x05, 0x05, 0x05, 0x05,
+ 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
+ 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
+ 0x06, 0x06, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07,
+ 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
+ 0x08, 0x08, 0x08, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A,
+ 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E,
+ 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E,
+ 0x0E, 0x0E, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F
+};
+
+// Versus mode four player
+u8 D_0D008984[400] = {
+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02,
+ 0x02, 0x02, 0x02, 0x02, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03,
+ 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03,
+ 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x05, 0x05,
+ 0x05, 0x05, 0x05, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09,
+ 0x09, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C,
+ 0x0C, 0x0C, 0x0C, 0x0C, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02,
+ 0x02, 0x02, 0x03, 0x03, 0x03, 0x03, 0x03, 0x04, 0x04, 0x04, 0x04, 0x04,
+ 0x04, 0x04, 0x04, 0x04, 0x04, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
+ 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x06, 0x06, 0x06, 0x06,
+ 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x09,
+ 0x09, 0x09, 0x09, 0x09, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0B, 0x0B, 0x0B,
+ 0x0B, 0x0B, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E,
+ 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E,
+ 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x02, 0x02, 0x02, 0x02,
+ 0x02, 0x04, 0x04, 0x04, 0x04, 0x04, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
+ 0x05, 0x05, 0x05, 0x05, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
+ 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x07, 0x07, 0x07, 0x07, 0x07,
+ 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x09, 0x09,
+ 0x09, 0x09, 0x09, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A,
+ 0x0A, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E,
+ 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E,
+ 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F,
+ 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
+ 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x07, 0x07, 0x07, 0x07,
+ 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
+ 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x0A, 0x0A, 0x0A,
+ 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A,
+ 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E,
+ 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E,
+ 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F,
+ 0x0F, 0x0F, 0x0F, 0x0F
+};
+
+// Battle mode
+u8 D_0D008B14[100] = {
+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02,
+ 0x02, 0x02, 0x02, 0x03, 0x03, 0x03, 0x03, 0x03, 0x04, 0x04, 0x04, 0x04,
+ 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+ 0x04, 0x04, 0x04, 0x04, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
+ 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
+ 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09,
+ 0x09, 0x09, 0x09, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A,
+ 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0B,
+ 0x0B, 0x0B, 0x0B, 0x0B
};
-s8 D_0D008470[] = {
- #include "textures/common/132B50_08470.ia8.inc.c"
-};
-
-s8 D_0D008790[] = {
- #include "textures/common/132B50_08790.ia8.inc.c"
-};
-// D_0D008858 part of 08790
-
-// D_0D008984 part of 08790
-
-// D_0D008B14 part of 08790
-
-
Vtx D_0D008B78[] = {
{{{ 2, 2, 0}, 0, {0, 0}, {0xff, 0xff, 0xff, 0xff}}},
{{{ 2, -2, 0}, 0, {0, 960}, {0xff, 0xff, 0xff, 0xff}}},
diff --git a/src/hud_renderer.c b/src/hud_renderer.c
index 64b6e381b..74053645d 100644
--- a/src/hud_renderer.c
+++ b/src/hud_renderer.c
@@ -207,52 +207,42 @@ void func_8004477C(s8 *image, s32 width, s32 height) {
#ifdef MIPS_TO_C
//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b
void func_80044924(s8 *image, s32 width, s32 height) {
- Gfx *temp_v0;
- Gfx *temp_v0_2;
- Gfx *temp_v0_3;
- Gfx *temp_v0_4;
- Gfx *temp_v0_5;
- Gfx *temp_v0_6;
- Gfx *temp_v0_7;
- s32 temp_t0;
- s32 temp_t3;
- s32 var_a0;
-
- temp_v0 = gDisplayListHead;
- gDisplayListHead = temp_v0 + 8;
- temp_v0->words.w0 = 0xFD700000;
- temp_v0->words.w1 = (u32) image;
- temp_v0_2 = gDisplayListHead;
- gDisplayListHead = temp_v0_2 + 8;
- temp_v0_2->words.w0 = 0xF5700000;
- temp_v0_2->words.w1 = 0x07080200;
- temp_v0_3 = gDisplayListHead;
- gDisplayListHead = temp_v0_3 + 8;
- temp_v0_3->words.w0 = 0xE6000000;
- temp_v0_3->words.w1 = 0;
- temp_v0_4 = gDisplayListHead;
- temp_t3 = ((s32) ((width * height) + 3) >> 2) - 1;
- gDisplayListHead = temp_v0_4 + 8;
- temp_v0_4->words.w0 = 0xF3000000;
- if (temp_t3 < 0x7FF) {
- var_a0 = temp_t3;
- } else {
- var_a0 = 0x7FF;
- }
- temp_t0 = width / 16;
- temp_v0_4->words.w1 = ((var_a0 & 0xFFF) << 0xC) | 0x07000000 | (((s32) (temp_t0 + 0x7FF) / temp_t0) & 0xFFF);
- temp_v0_5 = gDisplayListHead;
- gDisplayListHead = temp_v0_5 + 8;
- temp_v0_5->words.w0 = 0xE7000000;
- temp_v0_5->words.w1 = 0;
- temp_v0_6 = gDisplayListHead;
- gDisplayListHead = temp_v0_6 + 8;
- temp_v0_6->words.w1 = 0x00080200;
- temp_v0_6->words.w0 = ((((s32) ((width >> 1) + 7) >> 3) & 0x1FF) << 9) | 0xF5600000;
- temp_v0_7 = gDisplayListHead;
- gDisplayListHead = temp_v0_7 + 8;
- temp_v0_7->words.w0 = 0xF2000000;
- temp_v0_7->words.w1 = ((((width - 1) * 4) & 0xFFF) << 0xC) | (((height - 1) * 4) & 0xFFF);
+ //gDPLoadTextureBlock(gDisplayListHead++, &image, G_IM_FMT_IA, G_IM_SIZ_4b, width, height, 0, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
+ s32 temp_t0;
+ s32 temp_t3;
+ s32 var_a0;
+
+ // temp_t3 = ((s32) ((width * height) + 3) >> 2) - 1;
+ // temp_t0 = width / 16;
+
+ gDPSetTextureImage(gDisplayListHead++, G_IM_FMT_IA, G_IM_SIZ_16b, 1, image);
+ gDPSetTile(gDisplayListHead++, G_IM_FMT_IA, G_IM_SIZ_16b, 0, 0x0000, G_TX_LOADTILE, 0, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOLOD);
+ gDPLoadSync(gDisplayListHead++);
+ gDPLoadBlock(gDisplayListHead++, G_TX_LOADTILE, 0, (temp_t0 + 0x7FF) / temp_t0, temp_t3, 0);
+ gDPPipeSync(gDisplayListHead++);
+ gDPSetTile(gDisplayListHead++, G_IM_FMT_IA, G_IM_SIZ_4b, 0, 0x0000, G_TX_RENDERTILE, 0, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOLOD);
+ gDPSetTileSize(gDisplayListHead++, G_TX_RENDERTILE, 0, 0, 0, 0);
+
+ // // set tile
+ // //temp_v0_2->words.w0 = 0xF5700000;
+ // //temp_v0_2->words.w1 = 0x07080200;
+
+
+ // // loadblock
+ // //temp_v0_4->words.w0 = 0xF3000000;
+ // // if (temp_t3 < 0x7FF) {
+ // // var_a0 = temp_t3;
+ // // } else {
+ // // var_a0 = 0x7FF;
+ // // }
+ // //temp_v0_4->words.w1 = ((var_a0 & 0xFFF) << 0xC) | 0x07000000 | (((s32) (temp_t0 + 0x7FF) / temp_t0) & 0xFFF);
+
+ // // set tile
+ // temp_v0_6->words.w1 = 0x00080200;
+ // temp_v0_6->words.w0 = ((((s32) ((width >> 1) + 7) >> 3) & 0x1FF) << 9) | 0xF5600000;
+ // // set tile size
+ // temp_v0_7->words.w0 = 0xF2000000;
+ // temp_v0_7->words.w1 = ((((width - 1) * 4) & 0xFFF) << 0xC) | (((height - 1) * 4) & 0xFFF);
}
#else
GLOBAL_ASM("asm/non_matchings/hud_renderer/func_80044924.s")