32extern u8 D_filemenu_802508D0[4];
33extern u8 D_filemenu_802508D4[4];
34extern u8 D_filemenu_802508D8[4];
35extern u8 D_filemenu_802508DC[4];
36extern u8 D_filemenu_802508E0[4];
37extern u8 D_filemenu_802508E4[4];
38extern u8 D_filemenu_802508E8[4];
39extern u8 D_filemenu_802508EC[4];
40extern u8 D_filemenu_802508F0[4];
41extern u8 D_filemenu_802508F4[4];
42extern u8 D_filemenu_80250938[4];
43extern u8 D_filemenu_8025093C[4];
44#define COPY_OFFSET_X (D_filemenu_8025093C[gCurrentLanguage])
45#define SAVE_OFFSET_X (D_filemenu_80250938[gCurrentLanguage])
47#define SAVE_OFFSET_X 25
48#define COPY_OFFSET_X 16
53#define LOCALE_FILE_NUMBER_X 33
58#define DELETE_OFFSET_X 9
59#define CENTER_CANCEL_X 30
60#define RIGHT_CANCEL_X 24
62#define FILE_NUMBER_X 36
64#define NUMBER_OFFSET_Y 1
67#define DELETE_OFFSET_X 8
68#define CENTER_CANCEL_X 18
69#define RIGHT_CANCEL_X 20
71#define FILE_NUMBER_X 33
73#define NUMBER_OFFSET_Y 0
123 0, 0, 1, 2, 2, 3, 4, 5, 6,
124 0, 0, 1, 2, 2, 3, 6, 6, 6,
125 0, 0, 1, 2, 2, 3, 6, 6, 6,
126 0, 0, 1, 2, 2, 3, 6, 6, 6,
128 0, 0, 1, 2, 2, 3, 6, 6, 6,
136 .pos = { .x = 0, .y = 0 },
150 .pos = { .x = -2, .y = 6 },
164 .pos = { .x = 221, .y = 6 },
178 .pos = { .x = 5, .y = 171 },
192 .pos = { .x = 0, .y = 171 },
206 .pos = { .x = 195, .y = 171 },
220 .pos = { .x = 9, .y = 110 },
234 .pos = { .x = 3, .y = -8 },
248 .pos = { .x = 149, .y = 110 },
262 .pos = { .x = 3, .y = -8 },
276 .pos = { .x = 9, .y = 41 },
290 .pos = { .x = 3, .y = -8 },
304 .pos = { .x = 149, .y = 41 },
318 .pos = { .x = 3, .y = -8 },
349 s32 baseX, s32 baseY,
350 s32 width, s32 height,
351 s32 opacity, s32 darkening
360 switch (menu->
state) {
394 s32 baseX, s32 baseY,
395 s32 width, s32 height,
396 s32 opacity, s32 darkening
409 s32 baseX, s32 baseY,
410 s32 width, s32 height,
411 s32 opacity, s32 darkening
424 s32 baseX, s32 baseY,
425 s32 width, s32 height,
426 s32 opacity, s32 darkening
428 if (menu->
col == 0 && menu->
row == 2) {
437 s32 baseX, s32 baseY,
438 s32 width, s32 height,
439 s32 opacity, s32 darkening
445 switch (menu->
state) {
452 if (menu->
col == 1 && menu->
row == 2) {
460 if (menu->
col == 1 && menu->
row == 2) {
471 s32 baseX, s32 baseY,
472 s32 width, s32 height,
473 s32 opacity, s32 darkening
479 switch (menu->
state) {
487 if (menu->
col == 1 && menu->
row == 2) {
495 if (menu->
col == 1 && menu->
row == 2) {
507 s32 baseX, s32 baseY,
508 s32 width, s32 height,
509 s32 opacity, s32 darkening
511 if (menu->
col == 2 && menu->
row == 2) {
519 s32 baseX, s32 baseY,
520 s32 width, s32 height,
521 s32 opacity, s32 darkening
530 const int MAX_DISPLAYED_TIME = 100*60*60*60 - 1;
583 if (temp_s3_2 > MAX_DISPLAYED_TIME) {
584 temp_s3_2 = MAX_DISPLAYED_TIME;
588 temp_s1_2 = temp_s3_2 / 216000;
592 temp_s0_3 = temp_s3_2 / 36000;
596 for (i = 0; i < 7; i++) {
615 s32 baseX, s32 baseY,
616 s32 width, s32 height,
617 s32 opacity, s32 darkening)
625 if (!gSaveSlotHasData[fileIdx]) {
632 baseX + tmp, baseY + 1, 255, 0, 1);
640 baseY + 1, 255, 0, 1, 9);
647 s32 baseX, s32 baseY,
648 s32 width, s32 height,
649 s32 opacity, s32 darkening)
671 s32 baseX, s32 baseY,
672 s32 width, s32 height,
673 s32 opacity, s32 darkening
680 s32 baseX, s32 baseY,
681 s32 width, s32 height,
682 s32 opacity, s32 darkening
689 s32 baseX, s32 baseY,
690 s32 width, s32 height,
691 s32 opacity, s32 darkening
698 s32 baseX, s32 baseY,
699 s32 width, s32 height,
700 s32 opacity, s32 darkening
707 s32 baseX, s32 baseY,
708 s32 width, s32 height,
709 s32 opacity, s32 darkening
716 s32 baseX, s32 baseY,
717 s32 width, s32 height,
718 s32 opacity, s32 darkening
725 s32 baseX, s32 baseY,
726 s32 width, s32 height,
727 s32 opacity, s32 darkening
734 s32 baseX, s32 baseY,
735 s32 width, s32 height,
736 s32 opacity, s32 darkening
773 s32 originalSelected = menu->
selected;
817 switch (menu->
state) {
820 if (menu->
col == 1 && (u8) menu->
row < 2) {
828 if (menu->
col == 1 && (u8) menu->
row < 2) {
832 if (menu->
row == 2) {
839 if (originalSelected != menu->
selected) {
868 switch (menu->
state) {
1071 switch (menu->
state) {
1086 switch (menu->
state) {
void audio_set_stereo(void)
void audio_set_mono(void)
WindowStyleCustom * customStyle
#define DX_MOD_NAME
Creates the version string that appears on the file select menu.
@ DRAW_NUMBER_STYLE_MONOSPACE
@ DRAW_NUMBER_CHARSET_THIN
@ FILE_MESSAGE_SELECT_FILE_TO_START
@ FILE_MESSAGE_COPY_WHICH_FILE
@ FILE_MESSAGE_DELETE_FILE
@ FILE_MESSAGE_COPY_TO_WHICH_FILE
@ FILE_MESSAGE_FIRST_PLAY
@ FILE_MESSAGE_SELECT_FILE_TO_DELETE
@ SOUND_FILE_MENU_MOVE_CURSOR
@ WIN_FILES_OPTION_CENTER
@ WIN_FILES_INPUT_KEYBOARD
@ WIN_FILES_CONFIRM_PROMPT
@ WIN_FILES_CONFIRM_OPTIONS
HudScript HES_OptionMonoOn_es
HudScript HES_Spirit6Missing
void filemenu_draw_contents_file_2_info(MenuPanel *menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening)
HudScript HES_OptionStereoOn_fr
HudScript HES_Spirit1Missing
HudScript HES_Spirit5Missing
void filemenu_draw_contents_file_info(s32 fileIdx, MenuPanel *menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening)
HudScript HES_Spirit4Missing
HudScript HES_OptionMonoOff
HudScript HES_OptionStereoOn_es
HudScript HES_Spirit3Missing
void filemenu_draw_contents_file_3_title(MenuPanel *menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening)
void filemenu_draw_contents_option_left(MenuPanel *menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening)
void filemenu_draw_contents_file_1_info(MenuPanel *menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening)
void filemenu_draw_contents_option_right(MenuPanel *menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening)
MenuPanel filemenu_main_menuBP
void filemenu_main_cleanup(MenuPanel *menu)
void filemenu_draw_contents_file_0_title(MenuPanel *menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening)
void filemenu_draw_contents_file_title(s32 fileIdx, MenuPanel *menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening)
HudScript HES_Spirit2Missing
HudScript HES_OptionStereoOn_de
HudScript HES_OptionStereoOff_fr
BSS u8 filemenu_filename[8]
void filemenu_draw_contents_stereo(MenuPanel *menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening)
void filemenu_draw_contents_file_2_title(MenuPanel *menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening)
HudScript HES_OptionStereoOff_es
HudScript HES_OptionMonoOn
HudScript HES_OptionMonoOff_de
MenuWindowBP filemenu_main_windowBPs[]
void filemenu_draw_contents_option_center(MenuPanel *menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening)
void filemenu_draw_contents_title(MenuPanel *menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening)
void filemenu_draw_contents_file_0_info(MenuPanel *menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening)
void filemenu_main_handle_input(MenuPanel *menu)
HudScript HES_OptionStereoOn
void filemenu_main_init(MenuPanel *menu)
HudScript HES_JpFileDisabled
void filemenu_draw_contents_file_1_title(MenuPanel *menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening)
HudScript HES_OptionMonoOff_es
HudScript HES_OptionStereoOff_de
void filemenu_main_update(MenuPanel *menu)
HudScript HES_OptionMonoOn_fr
void filemenu_draw_contents_mono(MenuPanel *menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening)
u8 filemenu_main_gridData[]
HudScript HES_OptionMonoOn_de
HudScript * filemenu_main_hudElemScripts[][20]
HudScript HES_Spirit7Missing
HudScript HES_OptionMonoOff_fr
HudScript HES_OptionStereoOff
void filemenu_draw_contents_file_3_info(MenuPanel *menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening)
b32 fio_load_game(s32 saveSlot)
void fio_save_game(s32 saveSlot)
SaveFileSummary gSaveSlotSummary[4]
SaveSlotMetadata gSaveSlotMetadata[4]
void set_window_update(s32 panelID, s32)
void filemenu_set_cursor_goal_pos(s32 windowIndex, s32 posX, s32 posY)
void setup_pause_menu_tab(MenuWindowBP *bpArray, s32 arraySize)
u8 * filemenu_get_menu_message(s32 idx)
void filemenu_set_selected(MenuPanel *menu, s32 col, s32 row)
void draw_number(s32 value, s32 x, s32 y, s32 variableWidthChars, s32 palette, s32 opacity, u16 style)
void set_game_mode(s32 modeID)
@ GAME_MODE_END_FILE_SELECT
void hud_element_draw_without_clipping(s32 id)
void hud_element_draw_next(s32 id)
void hud_element_set_render_pos(s32 id, s32 x, s32 y)
s32 hud_element_create(HudScript *anim)
Creates a new HUD element and returns its ID.
void hud_element_set_flags(s32 id, s32 flags)
Turns on the given flags.
void hud_element_free(s32 id)
void sfx_play_sound(s32 soundID)
#define MENU_PANEL_SELECTED_GRID_DATA(panel)
u8 * dx_string_to_msg(u8 *msg, const u8 *str)
GameStatus * gGameStatusPtr
WindowStyle gWindowStyles[]