file_select.h (3686B)
1 #ifndef FILE_SELECT_H 2 #define FILE_SELECT_H 3 4 #include <PR/ultratypes.h> 5 #include <PR/gbi.h> 6 7 #include "types.h" 8 9 #define MENU_LAYER_MAIN 1 10 #define MENU_LAYER_SUBMENU 2 11 12 #define MENU_ERASE_HOVER_NONE 0 13 #define MENU_ERASE_HOVER_YES 1 14 #define MENU_ERASE_HOVER_NO 2 15 16 enum MainMenuButtonStates { 17 MENU_BUTTON_STATE_DEFAULT, 18 MENU_BUTTON_STATE_GROWING, 19 MENU_BUTTON_STATE_FULLSCREEN, 20 MENU_BUTTON_STATE_SHRINKING, 21 MENU_BUTTON_STATE_ZOOM_IN_OUT, 22 MENU_BUTTON_STATE_ZOOM_IN, 23 MENU_BUTTON_STATE_ZOOM_OUT 24 }; 25 26 enum MenuButtonTypes { 27 MENU_BUTTON_NONE = -1, // no button selected (on main menu screen) 28 29 // Main Menu (SELECT FILE) 30 MENU_BUTTON_MAIN_MIN, 31 MENU_BUTTON_PLAY_FILE_A = MENU_BUTTON_MAIN_MIN, 32 MENU_BUTTON_PLAY_FILE_B, 33 MENU_BUTTON_PLAY_FILE_C, 34 MENU_BUTTON_PLAY_FILE_D, 35 MENU_BUTTON_SCORE, 36 MENU_BUTTON_COPY, 37 MENU_BUTTON_ERASE, 38 MENU_BUTTON_MAIN_MAX, 39 40 // Score Menu (CHECK FILE) 41 MENU_BUTTON_SCORE_MIN = MENU_BUTTON_MAIN_MAX, 42 MENU_BUTTON_SCORE_FILE_A = MENU_BUTTON_SCORE_MIN, 43 MENU_BUTTON_SCORE_FILE_B, 44 MENU_BUTTON_SCORE_FILE_C, 45 MENU_BUTTON_SCORE_FILE_D, 46 MENU_BUTTON_SCORE_RETURN, 47 MENU_BUTTON_SCORE_COPY_FILE, 48 MENU_BUTTON_SCORE_ERASE_FILE, 49 MENU_BUTTON_SCORE_MAX, 50 51 // Copy Menu (COPY FILE) 52 MENU_BUTTON_COPY_MIN = MENU_BUTTON_SCORE_MAX, 53 MENU_BUTTON_COPY_FILE_A = MENU_BUTTON_COPY_MIN, 54 MENU_BUTTON_COPY_FILE_B, 55 MENU_BUTTON_COPY_FILE_C, 56 MENU_BUTTON_COPY_FILE_D, 57 MENU_BUTTON_COPY_RETURN, 58 MENU_BUTTON_COPY_CHECK_SCORE, 59 MENU_BUTTON_COPY_ERASE_FILE, 60 MENU_BUTTON_COPY_MAX, 61 62 // Erase Menu (ERASE FILE) 63 MENU_BUTTON_ERASE_MIN = MENU_BUTTON_COPY_MAX, 64 MENU_BUTTON_ERASE_FILE_A = MENU_BUTTON_ERASE_MIN, 65 MENU_BUTTON_ERASE_FILE_B, 66 MENU_BUTTON_ERASE_FILE_C, 67 MENU_BUTTON_ERASE_FILE_D, 68 MENU_BUTTON_ERASE_RETURN, 69 MENU_BUTTON_ERASE_CHECK_SCORE, 70 MENU_BUTTON_ERASE_COPY_FILE, 71 MENU_BUTTON_ERASE_MAX, 72 73 // Sound Mode Menu (SOUND SELECT) 74 // This menu includes language settings on EU 75 MENU_BUTTON_SOUND_MODE = MENU_BUTTON_ERASE_MAX, 76 MENU_BUTTON_OPTION_MIN, 77 MENU_BUTTON_STEREO = MENU_BUTTON_OPTION_MIN, 78 MENU_BUTTON_MONO, 79 MENU_BUTTON_HEADSET, 80 81 #ifdef VERSION_EU 82 // Language Menu 83 MENU_BUTTON_LANGUAGE_MIN, 84 MENU_BUTTON_LANGUAGE_ENGLISH = MENU_BUTTON_LANGUAGE_MIN, 85 MENU_BUTTON_LANGUAGE_FRENCH, 86 MENU_BUTTON_LANGUAGE_GERMAN, 87 MENU_BUTTON_LANGUAGE_RETURN, 88 #endif 89 90 MENU_BUTTON_OPTION_MAX 91 }; 92 93 enum ScoreMenuMessageID { 94 SCORE_MSG_CHECK_FILE, 95 SCORE_MSG_NOSAVE_DATA 96 }; 97 98 enum CopyMenuMessageID { 99 COPY_MSG_MAIN_TEXT, 100 COPY_MSG_COPY_WHERE, 101 COPY_MSG_NOSAVE_EXISTS, 102 COPY_MSG_COPY_COMPLETE, 103 COPY_MSG_SAVE_EXISTS 104 }; 105 106 enum CopyMenuActionPhase { 107 COPY_PHASE_MAIN, 108 COPY_PHASE_COPY_WHERE, 109 COPY_PHASE_COPY_COMPLETE 110 }; 111 112 enum EraseMenuMessageID { 113 ERASE_MSG_MAIN_TEXT, 114 ERASE_MSG_PROMPT, 115 ERASE_MSG_NOSAVE_EXISTS, 116 ERASE_MSG_MARIO_ERASED, 117 ERASE_MSG_SAVE_EXISTS 118 }; 119 120 enum EraseMenuActionPhase { 121 ERASE_PHASE_MAIN, 122 ERASE_PHASE_PROMPT, 123 ERASE_PHASE_MARIO_ERASED 124 }; 125 126 enum SoundModeMenuActionPhase { 127 SOUND_MODE_PHASE_MAIN 128 }; 129 130 void beh_yellow_background_menu_init(void); 131 void beh_yellow_background_menu_loop(void); 132 void bhv_menu_button_init(void); 133 void bhv_menu_button_loop(void); 134 void bhv_menu_button_manager_init(void); 135 void bhv_menu_button_manager_loop(void); 136 Gfx *geo_file_select_strings_and_menu_cursor(s32 callContext, UNUSED struct GraphNode *node, UNUSED Mat4 mtx); 137 s32 lvl_init_menu_values_and_cursor_pos(UNUSED s32 arg, UNUSED s32 unused); 138 s32 lvl_update_obj_and_load_file_selected(UNUSED s32 arg, UNUSED s32 unused); 139 140 #endif // FILE_SELECT_H