sm64pc/src/game/file_select.h

87 lines
2.4 KiB
C

#ifndef _FILE_SELECT_H
#define _FILE_SELECT_H
#include "types.h"
#define MENU_LAYER_MAIN 1
#define MENU_LAYER_SUBMENU 2
enum MainMenuButtonStates {
MENU_BUTTON_STATE_DEFAULT,
MENU_BUTTON_STATE_GROWING,
MENU_BUTTON_STATE_FULLSCREEN,
MENU_BUTTON_STATE_SHRINKING,
MENU_BUTTON_STATE_ZOOM_IN_OUT,
MENU_BUTTON_STATE_ZOOM_IN,
MENU_BUTTON_STATE_ZOOM_OUT
};
enum MenuButtonTypes {
MENU_BUTTON_NONE = -1, // no button selected (on main menu screen)
// Main Menu (SELECT FILE)
MENU_BUTTON_PLAY_FILE_A,
MENU_BUTTON_PLAY_FILE_B,
MENU_BUTTON_PLAY_FILE_C,
MENU_BUTTON_PLAY_FILE_D,
MENU_BUTTON_SCORE,
MENU_BUTTON_COPY,
MENU_BUTTON_ERASE,
// Score Menu (CHECK FILE)
MENU_BUTTON_SCORE_FILE_A,
MENU_BUTTON_SCORE_FILE_B,
MENU_BUTTON_SCORE_FILE_C,
MENU_BUTTON_SCORE_FILE_D,
MENU_BUTTON_SCORE_RETURN,
MENU_BUTTON_SCORE_COPY_FILE,
MENU_BUTTON_SCORE_ERASE_FILE,
// Copy Menu (COPY FILE)
MENU_BUTTON_COPY_FILE_A,
MENU_BUTTON_COPY_FILE_B,
MENU_BUTTON_COPY_FILE_C,
MENU_BUTTON_COPY_FILE_D,
MENU_BUTTON_COPY_RETURN,
MENU_BUTTON_COPY_CHECK_SCORE,
MENU_BUTTON_COPY_ERASE_FILE,
// Erase Menu (ERASE FILE)
MENU_BUTTON_ERASE_FILE_A,
MENU_BUTTON_ERASE_FILE_B,
MENU_BUTTON_ERASE_FILE_C,
MENU_BUTTON_ERASE_FILE_D,
MENU_BUTTON_ERASE_RETURN,
MENU_BUTTON_ERASE_CHECK_SCORE,
MENU_BUTTON_ERASE_COPY_FILE,
// Sound Mode Menu (SOUND SELECT)
MENU_BUTTON_SOUND_MODE,
MENU_BUTTON_STEREO,
MENU_BUTTON_MONO,
MENU_BUTTON_HEADSET
};
extern Gfx main_menu_seg7_dl_070073A0[];
extern Gfx main_menu_seg7_dl_070073B8[];
extern Gfx dl_rgba16_text_begin[];
extern Gfx dl_rgba16_text_end[];
extern Gfx dl_ia8_text_begin[];
extern Gfx dl_ia8_text_end[];
extern Gfx main_menu_seg7_dl_0700D108[];
extern Gfx main_menu_seg7_dl_0700D160[];
extern u8 seg2_level_name_table[];
extern u32 gGlobalTimer;
extern void beh_yellow_background_menu_init(void);
extern void beh_yellow_background_menu_loop(void);
extern void bhvMenuButton_init(void);
extern void bhvMenuButton_loop(void);
extern void bhvMenuButtonManager_init(void);
extern void bhvMenuButtonManager_loop(void);
extern Gfx *Geo18_80176688(s32 run, UNUSED struct GraphNode *node, UNUSED f32 mtx[4][4]);
extern void LevelProc_801766DC(UNUSED s32 a, UNUSED s32 b);
extern s32 LevelProc_801768A0(UNUSED s32 a, UNUSED s32 b);
#endif /* _FILE_SELECT_H */