summaryrefslogtreecommitdiff
path: root/include
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
parent4cfb5f05a08d0747f993ef914d4d78872ca02b2f (diff)
Create headers for Game States (#2482)
* make headers for gamestates * fixes * fixes 2 * bss
Diffstat (limited to 'include')
-rw-r--r--include/console_logo_state.h28
-rw-r--r--include/file_select_state.h97
-rw-r--r--include/functions.h16
-rw-r--r--include/map_select_state.h41
-rw-r--r--include/prenmi_state.h16
-rw-r--r--include/sample_state.h17
-rw-r--r--include/setup_state.h13
-rw-r--r--include/title_setup_state.h15
-rw-r--r--include/z64.h164
-rw-r--r--include/z64play.h20
10 files changed, 245 insertions, 182 deletions
diff --git a/include/console_logo_state.h b/include/console_logo_state.h
new file mode 100644
index 000000000..56e8ece64
--- /dev/null
+++ b/include/console_logo_state.h
@@ -0,0 +1,28 @@
+#ifndef CONSOLE_LOGO_STATE_H
+#define CONSOLE_LOGO_STATE_H
+
+#include "ultra64.h"
+#include "z64game.h"
+#include "z64view.h"
+#include "z64sram.h"
+
+typedef struct ConsoleLogoState {
+ /* 0x0000 */ GameState state;
+ /* 0x00A4 */ u8* staticSegment;
+ /* 0x00A8 */ View view;
+ /* 0x01D0 */ SramContext sramCtx;
+ /* 0x01D4 */ s16 unk_1D4;
+ /* 0x01D6 */ s16 coverAlpha;
+ /* 0x01D8 */ s16 addAlpha;
+ /* 0x01DA */ s16 visibleDuration;
+ /* 0x01DC */ s16 ult;
+ /* 0x01DE */ s16 uls;
+ /* 0x01E0 */ u8 unk_1E0;
+ /* 0x01E1 */ u8 exit;
+ /* 0x01E2 */ char unk_1E2[0x06];
+} ConsoleLogoState; // size = 0x1E8
+
+void ConsoleLogo_Init(GameState* thisx);
+void ConsoleLogo_Destroy(GameState* thisx);
+
+#endif
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
diff --git a/include/functions.h b/include/functions.h
index 71d747c7d..45b60ca29 100644
--- a/include/functions.h
+++ b/include/functions.h
@@ -47,11 +47,6 @@ void PreNmiBuff_SetReset(PreNmiBuff* this);
u32 PreNmiBuff_IsResetting(PreNmiBuff* this);
void Sched_FlushTaskQueue(void);
-void PreNMI_Init(GameState* thisx);
-
-void Sample_Destroy(GameState* thisx);
-void Sample_Init(GameState* thisx);
-
void ViMode_LogPrint(OSViMode* osViMode);
void ViMode_Configure(ViMode* viMode, s32 type, s32 tvType, s32 loRes, s32 antialiasOff, s32 modeN, s32 fb16Bit,
s32 width, s32 height, s32 leftAdjust, s32 rightAdjust, s32 upperAdjust, s32 lowerAdjust);
@@ -154,15 +149,4 @@ f32 absf(f32);
void Regs_InitData(PlayState* play);
-void Setup_Init(GameState* thisx);
-void Setup_Destroy(GameState* thisx);
-void ConsoleLogo_Init(GameState* thisx);
-void ConsoleLogo_Destroy(GameState* thisx);
-void MapSelect_Init(GameState* thisx);
-void MapSelect_Destroy(GameState* thisx);
-void TitleSetup_Init(GameState* thisx);
-void TitleSetup_Destroy(GameState* thisx);
-void FileSelect_Init(GameState* thisx);
-void FileSelect_Destroy(GameState* thisx);
-
#endif
diff --git a/include/map_select_state.h b/include/map_select_state.h
new file mode 100644
index 000000000..d2a6b43d1
--- /dev/null
+++ b/include/map_select_state.h
@@ -0,0 +1,41 @@
+#ifndef MAP_SELECT_STATE_H
+#define MAP_SELECT_STATE_H
+
+#include "ultra64.h"
+#include "z64game.h"
+#include "z64view.h"
+
+struct MapSelectState;
+
+typedef struct MapSelectEntry {
+ /* 0x00 */ char* name;
+ /* 0x04 */ void (*loadFunc)(struct MapSelectState*, s32);
+ /* 0x08 */ s32 entranceIndex;
+} MapSelectEntry; // size = 0xC
+
+typedef struct MapSelectState {
+ /* 0x0000 */ GameState state;
+ /* 0x00A8 */ View view;
+ /* 0x01D0 */ s32 count;
+ /* 0x01D4 */ MapSelectEntry* entries;
+ /* 0x01D8 */ s32 currentEntry;
+ /* 0x01DC */ s32 pageDownIndex; // Index of pageDownStops
+ /* 0x01E0 */ s32 pageDownStops[7];
+ /* 0x01FC */ char unk_1FC[0x0C];
+ /* 0x0208 */ s32 opt;
+ /* 0x020C */ s32 topDisplayedEntry; // The entry which is currently at the top of the screen
+ /* 0x0210 */ char unk_210[0x0C];
+ /* 0x021C */ s32 verticalInputAccumulator;
+ /* 0x0220 */ s32 verticalInput;
+ /* 0x0224 */ s32 timerUp;
+ /* 0x0228 */ s32 timerDown;
+ /* 0x022C */ s32 lockUp;
+ /* 0x0230 */ s32 lockDown;
+ /* 0x0234 */ s32 unk_234; // unused
+ /* 0x0238 */ u8* staticSegment;
+} MapSelectState; // size = 0x240
+
+void MapSelect_Init(GameState* thisx);
+void MapSelect_Destroy(GameState* thisx);
+
+#endif
diff --git a/include/prenmi_state.h b/include/prenmi_state.h
new file mode 100644
index 000000000..3710425ca
--- /dev/null
+++ b/include/prenmi_state.h
@@ -0,0 +1,16 @@
+#ifndef PRENMI_STATE_H
+#define PRENMI_STATE_H
+
+#include "ultra64.h"
+#include "z64game.h"
+
+typedef struct PreNMIState {
+ /* 0x00 */ GameState state;
+ /* 0xA4 */ u32 timer;
+ /* 0xA8 */ s32 unk_A8;
+} PreNMIState; // size = 0xAC
+
+void PreNMI_Init(GameState* thisx);
+void PreNMI_Destroy(GameState* thisx);
+
+#endif
diff --git a/include/sample_state.h b/include/sample_state.h
new file mode 100644
index 000000000..b568a83f9
--- /dev/null
+++ b/include/sample_state.h
@@ -0,0 +1,17 @@
+#ifndef SAMPLE_STATE_H
+#define SAMPLE_STATE_H
+
+#include "ultra64.h"
+#include "z64game.h"
+#include "z64view.h"
+
+typedef struct SampleState {
+ /* 0x0000 */ GameState state;
+ /* 0x00A4 */ u8* staticSegment;
+ /* 0x00A8 */ View view;
+} SampleState; // size = 0x1D0
+
+void Sample_Init(GameState* thisx);
+void Sample_Destroy(GameState* thisx);
+
+#endif
diff --git a/include/setup_state.h b/include/setup_state.h
new file mode 100644
index 000000000..863b71401
--- /dev/null
+++ b/include/setup_state.h
@@ -0,0 +1,13 @@
+#ifndef SETUP_STATE_H
+#define SETUP_STATE_H
+
+#include "z64game.h"
+
+typedef struct SetupState {
+ /* 0x00 */ GameState state;
+} SetupState; // size = 0xA4
+
+void Setup_Init(GameState* thisx);
+void Setup_Destroy(GameState* thisx);
+
+#endif
diff --git a/include/title_setup_state.h b/include/title_setup_state.h
new file mode 100644
index 000000000..30219872a
--- /dev/null
+++ b/include/title_setup_state.h
@@ -0,0 +1,15 @@
+#ifndef TITLE_SETUP_STATE_H
+#define TITLE_SETUP_STATE_H
+
+#include "z64game.h"
+#include "z64view.h"
+
+typedef struct TitleSetupState {
+ /* 0x0000 */ GameState state;
+ /* 0x00A8 */ View view;
+} TitleSetupState; // size = 0x1D0
+
+void TitleSetup_Init(GameState* thisx);
+void TitleSetup_Destroy(GameState* thisx);
+
+#endif
diff --git a/include/z64.h b/include/z64.h
index 50d801603..5963e7d24 100644
--- a/include/z64.h
+++ b/include/z64.h
@@ -58,164 +58,6 @@
#include "libc64/sprintf.h"
#include "libu64/debug.h"
-typedef struct SetupState {
- /* 0x00 */ GameState state;
-} SetupState; // size = 0xA4
-
-typedef struct ConsoleLogoState {
- /* 0x0000 */ GameState state;
- /* 0x00A4 */ u8* staticSegment;
- /* 0x00A8 */ View view;
- /* 0x01D0 */ SramContext sramCtx;
- /* 0x01D4 */ s16 unk_1D4;
- /* 0x01D6 */ s16 coverAlpha;
- /* 0x01D8 */ s16 addAlpha;
- /* 0x01DA */ s16 visibleDuration;
- /* 0x01DC */ s16 ult;
- /* 0x01DE */ s16 uls;
- /* 0x01E0 */ u8 unk_1E0;
- /* 0x01E1 */ u8 exit;
- /* 0x01E2 */ char unk_1E2[0x06];
-} ConsoleLogoState; // size = 0x1E8
-
-struct MapSelectState;
-
-typedef struct MapSelectEntry {
- /* 0x00 */ char* name;
- /* 0x04 */ void (*loadFunc)(struct MapSelectState*, s32);
- /* 0x08 */ s32 entranceIndex;
-} MapSelectEntry; // size = 0xC
-
-typedef struct MapSelectState {
- /* 0x0000 */ GameState state;
- /* 0x00A8 */ View view;
- /* 0x01D0 */ s32 count;
- /* 0x01D4 */ MapSelectEntry* entries;
- /* 0x01D8 */ s32 currentEntry;
- /* 0x01DC */ s32 pageDownIndex; // Index of pageDownStops
- /* 0x01E0 */ s32 pageDownStops[7];
- /* 0x01FC */ char unk_1FC[0x0C];
- /* 0x0208 */ s32 opt;
- /* 0x020C */ s32 topDisplayedEntry; // The entry which is currently at the top of the screen
- /* 0x0210 */ char unk_210[0x0C];
- /* 0x021C */ s32 verticalInputAccumulator;
- /* 0x0220 */ s32 verticalInput;
- /* 0x0224 */ s32 timerUp;
- /* 0x0228 */ s32 timerDown;
- /* 0x022C */ s32 lockUp;
- /* 0x0230 */ s32 lockDown;
- /* 0x0234 */ s32 unk_234; // unused
- /* 0x0238 */ u8* staticSegment;
-} MapSelectState; // size = 0x240
-
-typedef struct SampleState {
- /* 0x0000 */ GameState state;
- /* 0x00A4 */ u8* staticSegment;
- /* 0x00A8 */ View view;
-} SampleState; // size = 0x1D0
-
-typedef enum PauseBgPreRenderState {
- /* 0 */ PAUSE_BG_PRERENDER_OFF, // Inactive, do nothing.
- /* 1 */ PAUSE_BG_PRERENDER_SETUP, // The current frame is only drawn for the purpose of serving as the pause background.
- /* 2 */ PAUSE_BG_PRERENDER_PROCESS, // The previous frame was PAUSE_BG_PRERENDER_SETUP, now apply prerender filters.
- /* 3 */ PAUSE_BG_PRERENDER_READY, // The pause background is ready to be used.
- /* 4 */ PAUSE_BG_PRERENDER_MAX
-} PauseBgPreRenderState;
-
-typedef enum TransitionTileState {
- /* 0 */ TRANS_TILE_OFF, // Inactive, do nothing
- /* 1 */ TRANS_TILE_SETUP, // Save the necessary buffers
- /* 2 */ TRANS_TILE_PROCESS, // Initialize the transition
- /* 3 */ TRANS_TILE_READY // The transition is ready, so will update and draw each frame
-} TransitionTileState;
-
-typedef struct TitleSetupState {
- /* 0x0000 */ GameState state;
- /* 0x00A8 */ View view;
-} TitleSetupState; // size = 0x1D0
-
-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
-
typedef struct GameStateOverlay {
/* 0x00 */ void* loadedRamAddr;
/* 0x04 */ RomFile file; // if applicable
@@ -230,12 +72,6 @@ typedef struct GameStateOverlay {
/* 0x2C */ u32 instanceSize;
} GameStateOverlay; // size = 0x30
-typedef struct PreNMIState {
- /* 0x00 */ GameState state;
- /* 0xA4 */ u32 timer;
- /* 0xA8 */ UNK_TYPE4 unk_A8;
-} PreNMIState; // size = 0xAC
-
typedef struct ISVDbg {
/* 0x00 */ u32 magic; // IS64
/* 0x04 */ u32 get;
diff --git a/include/z64play.h b/include/z64play.h
index a0f5346e4..4ca9e0b02 100644
--- a/include/z64play.h
+++ b/include/z64play.h
@@ -31,6 +31,21 @@ struct Player;
struct QuestHintCmd;
struct VisMono;
+typedef enum PauseBgPreRenderState {
+ /* 0 */ PAUSE_BG_PRERENDER_OFF, // Inactive, do nothing.
+ /* 1 */ PAUSE_BG_PRERENDER_SETUP, // The current frame is only drawn for the purpose of serving as the pause background.
+ /* 2 */ PAUSE_BG_PRERENDER_PROCESS, // The previous frame was PAUSE_BG_PRERENDER_SETUP, now apply prerender filters.
+ /* 3 */ PAUSE_BG_PRERENDER_READY, // The pause background is ready to be used.
+ /* 4 */ PAUSE_BG_PRERENDER_MAX
+} PauseBgPreRenderState;
+
+typedef enum TransitionTileState {
+ /* 0 */ TRANS_TILE_OFF, // Inactive, do nothing
+ /* 1 */ TRANS_TILE_SETUP, // Save the necessary buffers
+ /* 2 */ TRANS_TILE_PROCESS, // Initialize the transition
+ /* 3 */ TRANS_TILE_READY // The transition is ready, so will update and draw each frame
+} TransitionTileState;
+
typedef struct SceneSequences {
/* 0x00 */ u8 seqId;
/* 0x01 */ u8 natureAmbienceId;
@@ -125,8 +140,6 @@ void Play_SetViewpoint(PlayState* this, s16 viewpoint);
s32 Play_CheckViewpoint(PlayState* this, s16 viewpoint);
void Play_SetShopBrowsingViewpoint(PlayState* this);
Gfx* Play_SetFog(PlayState* this, Gfx* gfx);
-void Play_Destroy(GameState* thisx);
-void Play_Init(GameState* thisx);
void Play_Main(GameState* thisx);
int Play_InCsMode(PlayState* this);
f32 func_800BFCB8(PlayState* this, MtxF* mf, Vec3f* pos);
@@ -154,6 +167,9 @@ int Play_CamIsNotFixed(PlayState* this);
s32 func_800C0D34(PlayState* this, Actor* actor, s16* yaw);
s32 func_800C0DB4(PlayState* this, Vec3f* pos);
+void Play_Init(GameState* thisx);
+void Play_Destroy(GameState* thisx);
+
#if DEBUG_FEATURES
extern void* gDebugCutsceneScript;
#endif