diff options
| author | fig02 <fig02srl@gmail.com> | 2025-02-20 07:50:13 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-02-20 07:50:13 -0500 |
| commit | 2e4d7a11012bf90ac21086ec1a9cd23f54413e86 (patch) | |
| tree | 78676e8f4f9409ad65a92d48f3023afd51c4045d /include | |
| parent | 4cfb5f05a08d0747f993ef914d4d78872ca02b2f (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.h | 28 | ||||
| -rw-r--r-- | include/file_select_state.h | 97 | ||||
| -rw-r--r-- | include/functions.h | 16 | ||||
| -rw-r--r-- | include/map_select_state.h | 41 | ||||
| -rw-r--r-- | include/prenmi_state.h | 16 | ||||
| -rw-r--r-- | include/sample_state.h | 17 | ||||
| -rw-r--r-- | include/setup_state.h | 13 | ||||
| -rw-r--r-- | include/title_setup_state.h | 15 | ||||
| -rw-r--r-- | include/z64.h | 164 | ||||
| -rw-r--r-- | include/z64play.h | 20 |
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 |
