summaryrefslogtreecommitdiff
path: root/include/file_select_state.h
diff options
context:
space:
mode:
authorfig02 <fig02srl@gmail.com>2025-02-20 07:50:13 -0500
committerGitHub <noreply@github.com>2025-02-20 07:50:13 -0500
commit2e4d7a11012bf90ac21086ec1a9cd23f54413e86 (patch)
tree78676e8f4f9409ad65a92d48f3023afd51c4045d /include/file_select_state.h
parent4cfb5f05a08d0747f993ef914d4d78872ca02b2f (diff)
Create headers for Game States (#2482)
* make headers for gamestates * fixes * fixes 2 * bss
Diffstat (limited to 'include/file_select_state.h')
-rw-r--r--include/file_select_state.h97
1 files changed, 97 insertions, 0 deletions
diff --git a/include/file_select_state.h b/include/file_select_state.h
new file mode 100644
index 000000000..9a2df3f08
--- /dev/null
+++ b/include/file_select_state.h
@@ -0,0 +1,97 @@
+#ifndef FILE_SELECT_STATE_H
+#define FILE_SELECT_STATE_H
+
+#include "ultra64.h"
+#include "z64game.h"
+#include "z64view.h"
+#include "z64sram.h"
+#include "z64skybox.h"
+#include "z64message.h"
+#include "z64environment.h"
+
+typedef struct FileSelectState {
+ /* 0x00000 */ GameState state;
+ /* 0x000A4 */ Vtx* windowVtx;
+ /* 0x000A8 */ u8* staticSegment;
+ /* 0x000AC */ u8* parameterSegment;
+#if OOT_PAL
+ /* 0x000B0 */ u8* objectMagSegment;
+#endif
+ /* 0x000B8 */ View view;
+ /* 0x001E0 */ SramContext sramCtx;
+ /* 0x001E4 */ char unk_1E4[0x4];
+ /* 0x001E8 */ SkyboxContext skyboxCtx;
+ /* 0x00348 */ MessageContext msgCtx;
+ /* 0x0E760 */ Font font;
+ /* 0x1C8E8 */ EnvironmentContext envCtx;
+ /* 0x1C9E4 */ char unk_1C9E4[0x4];
+ /* 0x1C9E8 */ Vtx* windowContentVtx;
+ /* 0x1C9EC */ Vtx* keyboardVtx;
+ /* 0x1C9F0 */ Vtx* nameEntryVtx;
+ /* 0x1C9F4 */ u8 n64ddFlag;
+ /* 0x1C9F6 */ u16 deaths[3];
+ /* 0x1C9FC */ u8 fileNames[3][8];
+ /* 0x1CA14 */ u16 healthCapacities[3];
+ /* 0x1CA1C */ u32 questItems[3];
+ /* 0x1CA28 */ s16 n64ddFlags[3];
+ /* 0x1CA2E */ s8 defense[3];
+#if OOT_PAL
+ /* 0x1CA32 */ u16 health[3];
+#endif
+ /* 0x1CA38 */ s16 buttonIndex;
+ /* 0x1CA3A */ s16 confirmButtonIndex; // 0: yes, 1: quit
+ /* 0x1CA3C */ s16 menuMode;
+ /* 0x1CA3E */ s16 configMode;
+ /* 0x1CA40 */ s16 prevConfigMode;
+ /* 0x1CA42 */ s16 nextConfigMode;
+ /* 0x1CA44 */ s16 selectMode;
+ /* 0x1CA46 */ s16 selectedFileIndex;
+ /* 0x1CA48 */ char unk_1CA48[0x2];
+ /* 0x1CA4A */ s16 fileNamesY[3];
+ /* 0x1CA50 */ s16 actionTimer;
+ /* 0x1CA52 */ s16 buttonYOffsets[6];
+ /* 0x1CA5E */ s16 copyDestFileIndex;
+ /* 0x1CA60 */ s16 warningLabel;
+ /* 0x1CA62 */ s16 warningButtonIndex;
+ /* 0x1CA64 */ s16 titleLabel;
+ /* 0x1CA66 */ s16 nextTitleLabel;
+ /* 0x1CA68 */ s16 windowColor[3];
+ /* 0x1CA6E */ s16 titleAlpha[2];
+ /* 0x1CA72 */ s16 windowAlpha;
+ /* 0x1CA74 */ s16 fileButtonAlpha[3];
+ /* 0x1CA7A */ s16 nameBoxAlpha[3];
+ /* 0x1CA80 */ s16 nameAlpha[3];
+ /* 0x1CA86 */ s16 connectorAlpha[3];
+ /* 0x1CA8C */ s16 fileInfoAlpha[3];
+ /* 0x1CA92 */ s16 actionButtonAlpha[4]; // also contains the alphas for the confirm buttons
+ /* 0x1CA9A */ s16 optionButtonAlpha;
+ /* 0x1CA9C */ s16 nameEntryBoxAlpha;
+ /* 0x1CA9E */ s16 controlsAlpha;
+ /* 0x1CAA0 */ s16 emptyFileTextAlpha;
+ /* 0x1CAA2 */ s16 highlightColor[4];
+ /* 0x1CAAA */ s16 highlightPulseDir; // 0 fade out, 1 fade in
+ /* 0x1CAAC */ s16 unk_1CAAC; // initialized but never used
+ /* 0x1CAAE */ s16 confirmButtonTexIndices[2];
+ /* 0x1CAB2 */ s16 inputTimerX;
+ /* 0x1CAB4 */ s16 inputTimerY;
+ /* 0x1CAB6 */ s16 stickXDir;
+ /* 0x1CAB8 */ s16 stickYDir;
+ /* 0x1CABA */ s16 stickAdjX;
+ /* 0x1CABC */ s16 stickAdjY;
+ /* 0x1CABE */ s16 nameEntryBoxPosX;
+ /* 0x1CAC0 */ s16 windowPosX;
+ /* 0x1CAC4 */ f32 windowRot;
+ /* 0x1CAC8 */ s16 kbdButton; // only for buttons, not characters
+ /* 0x1CACA */ s16 charPage; // 0: hiragana, 1: katakana, 2: alphabet
+ /* 0x1CACC */ s16 charBgAlpha; // square shape the letter sits in
+ /* 0x1CACE */ s16 charIndex; // 0 - 64, top left to bottom right
+ /* 0x1CAD0 */ s16 kbdX; // (0, 0) is top left character
+ /* 0x1CAD2 */ s16 kbdY;
+ /* 0x1CAD4 */ s16 newFileNameCharCount;
+ /* 0x1CAD6 */ s16 unk_1CAD6[5];
+} FileSelectState; // size = 0x1CAE0
+
+void FileSelect_Init(GameState* thisx);
+void FileSelect_Destroy(GameState* thisx);
+
+#endif