summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorTyler McGavran <tyler.taggerung@gmail.com>2022-01-03 02:07:24 -0500
committerGitHub <noreply@github.com>2022-01-03 00:07:24 -0700
commitc3def3e91ffeb7116ff78fc51971acca8da25797 (patch)
tree0f31dc3f76581baf6b191f18add7113432e25070 /include
parent5fbfc215127d2f73c42960d7633be4fb5a4f439f (diff)
Match a variety of functions, identify a struct type and some related variables, regenerated some mips_to_c code (#129)
* Meaningful commit message Signed-off-by: Taggerung <tyler.taggerung@gmail.com> * Identify another struct and array Regenerated a lot of mips_to_c code based on these identifications Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
Diffstat (limited to 'include')
-rw-r--r--include/common_structs.h11
-rw-r--r--include/variables.h5
2 files changed, 16 insertions, 0 deletions
diff --git a/include/common_structs.h b/include/common_structs.h
index 2c1234035..a37e98743 100644
--- a/include/common_structs.h
+++ b/include/common_structs.h
@@ -481,4 +481,15 @@ typedef struct {
/* 0x06 */ u16 alpha;
} RGBA16; // size = 0x08
+typedef struct {
+ /* 0x00 */ segment_address_t textureData;
+ /**
+ * Its hard to tell what exactly what this is meant to be,
+ * but it appears to be used as some sort of offset/index from the address stored in D_8018D9B0.
+ * This value is (roughly) the sum of (width * height) of the
+ * textures in all the previous entries in D_8018E118
+ */
+ /* 0x04 */ s32 offset;
+} struct_8018E118_entry; // size = 0x08
+
#endif
diff --git a/include/variables.h b/include/variables.h
index 097674627..44638b190 100644
--- a/include/variables.h
+++ b/include/variables.h
@@ -7,16 +7,19 @@
extern s32 gCCSelection;
extern s8 gCharacterIdByGPOverallRank[8]; // D_8018D9D0
+extern s8 gCharacterGridSelections[4]; // D_8018EDE4
extern s32 gControllerPakNumPagesFree; // D_8018EB80
extern s8 gControllerPakSelectedTableRow; // D_800E86C0
extern f32 gCourseCompletionPercentByPlayerId[8]; // D_801644D0
extern f32 gCourseCompletionPercentByRank[8]; // D_80162FD8
+extern s16 gCupCourseOrder[NUM_CUPS][NUM_COURSES_PER_CUP]; // D_800F2BB4
extern s8 gCupCourseSelection; // D_8018EE0B
extern char *gCupNames[]; // D_800E7500
extern s8 gCupSelection; // D_8018EE09
// Maps course IDs (as defined in the COURSES enum) to the cup they belong to
extern u8 gCupSelectionByCourseId[NUM_COURSES]; // D_800E7664
extern s16 gCurrentCourseId;
+extern s32 gD_8018E118TotalSize; // D_8018E110
extern char *gDebugSoundModeNames[NUM_SOUND_MODES]; // D_800E7700
extern s32 gGlobalTimer; // D_800DC54C
extern s8 gGPPointsByCharacterId[8]; // D_8018D9C8
@@ -29,6 +32,7 @@ extern s8 gControllerPakMenuSelection; // D_8018EDF0
extern s32 gModeSelection;
// Indicates the ID of the next title screen demo that will be played
extern u8 gNextDemoId; // D_800E86BC
+extern s32 gNumD_8018E118Entries; // D_8018E758
// Maps course IDs (as defined in the COURSES enum) to an index in a given cup's track order
extern u8 gPerCupIndexByCourseId[NUM_COURSES]; // D_800EFD50
extern s32 gPlayerCountSelection1;
@@ -43,6 +47,7 @@ extern s8 gTimeTrialDataCourseIndex; // D_8018EDF7
extern struct_8018D9E0_entry D_8018D9E0[32]; // D_8018D9E0
extern struct_8018DEE0_entry D_8018DEE0[16]; // D_8018DEE0
+extern struct_8018E118_entry D_8018E118[200]; // D_8018E118
extern struct_D_802874D8 D_802874D8;
extern s16 D_801650D0[4][8];
extern s16 D_80165110[4][8];