Files
HackerOoT/include/map_select_state.h

56 lines
2.0 KiB
C

#ifndef MAP_SELECT_STATE_H
#define MAP_SELECT_STATE_H
#include "ultra64.h"
#include "game.h"
#include "view.h"
struct MapSelectState;
struct GfxPrint;
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 sceneTotal;
/* 0x01D4 */ MapSelectEntry* scenes;
/* 0x01D8 */ s32 currentScene;
/* 0x01DC */ s32 pageDownIndex; // Index of pageDownStops
/* 0x01E0 */ s32 pageDownStops[7];
/* 0x01FC */ s32 topDisplayedScene; // The scene which is currently at the top of the screen
/* 0x0200 */ s32 verticalInputAccumulator;
/* 0x0204 */ s32 verticalInput;
/* 0x0208 */ s32 timerUp;
/* 0x020A */ s32 timerDown;
/* 0x020C */ s32 lockUp;
/* 0x0210 */ s32 lockDown;
/* 0x0214 */ u8 showControls;
/* 0x0218 */ u8 toggleBGM;
/* 0x021A */ u8 isBGMPlaying;
/* 0x021C */ u8 sceneLayer;
/* 0x0220 */ u8 selectedSceneColor;
} MapSelectState; // size = 0x240
void MapSelect_Init(GameState* thisx);
void MapSelect_Main(GameState* thisx);
void MapSelect_Draw(MapSelectState* this);
void MapSelect_Destroy(GameState* thisx);
void MapSelect_UpdateMenu(MapSelectState* this);
void MapSelect_DrawMenu(MapSelectState* this);
void MapSelect_DrawLoadingScreen(MapSelectState* this);
void MapSelect_LoadTitle(MapSelectState* this);
void MapSelect_LoadDebugOpening(MapSelectState* this);
void MapSelect_LoadGame(MapSelectState* this, s32 entranceIndex);
void MapSelect_PrintMenu(MapSelectState* this, struct GfxPrint* printer);
void MapSelect_PrintLoadingMessage(MapSelectState* this, struct GfxPrint* printer, u8 yPos);
void MapSelect_PrintAgeSetting(MapSelectState* this, struct GfxPrint* printer, s32 age);
void MapSelect_PrintSceneLayerSetting(MapSelectState* this, struct GfxPrint* printer);
void MapSelect_PrintControls(MapSelectState* this, struct GfxPrint* printer);
#endif