Dump PAL filemenu section (#1036)

* Dump PAL filemenu section

Co-authored-by: Unnunu <serge_zorkin@mail.ru>

* Clean up numbers

* Use more constants

* Find more constants

* Clean up a bit

* eth cleanup

* Clean up

* Fix brace style

* rename new file & funcs

---------

Co-authored-by: Unnunu <serge_zorkin@mail.ru>
Co-authored-by: Ethan Roseman <ethteck@gmail.com>
This commit is contained in:
Marijn van der Werf 2023-05-01 09:40:57 +02:00 committed by GitHub
parent 94cc139227
commit aa08abd4da
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
27 changed files with 5684 additions and 57 deletions

View File

@ -6277,41 +6277,48 @@ enum RushFlags {
};
enum FileMenuMessages {
FILE_MESSAGE_NONE = 0,
FILE_MESSAGE_SELECT_FILE_TO_START = 1, // Select file to start:[End]
FILE_MESSAGE_SELECT_FILE_TO_DELETE = 2, // Select file to delete:[End]
FILE_MESSAGE_SELECT_FILE_TO_SAVE = 3, // Select file to save[End]
FILE_MESSAGE_COPY_WHICH_FILE = 4, // Copy which file?[End]
FILE_MESSAGE_COPY_TO_WHICH_FILE = 5, // Copy to which file?[End]
FILE_MESSAGE_NEW = 6, // NEW[End]
FILE_MESSAGE_LEVEL = 7, // Level[End]
FILE_MESSAGE_PLAY_TIME = 8, // Play Time[End]
FILE_MESSAGE_DELETE_FILE = 9, // Delete File[End]
FILE_MESSAGE_CANCEL = 10, // Cancel[End]
FILE_MESSAGE_COPY_FILE = 11, // Copy File[End]
FILE_MESSAGE_FIRST_PLAY = 12, // First Play[End]
FILE_MESSAGE_PERIOD_13 = 13, // .[End]
FILE_MESSAGE_YES = 14, // Yes[End]
FILE_MESSAGE_NO = 15, // No[End]
FILE_MESSAGE_DELETE = 16, // Delete[End]
FILE_MESSAGE_OVERRIDE_TO_NEW_DATA = 17, // Override to New Data[End]
FILE_MESSAGE_SAVE_OK = 18, // Save OK?[End]
FILE_MESSAGE_FILE_NAME_IS = 19, // File name is :[End]
FILE_MESSAGE_PERIOD_20 = 20, // .[End]
FILE_MESSAGE_OK = 21, // OK?[End]
FILE_MESSAGE_FILE_22 = 22, // File[End]
FILE_MESSAGE_WILL_BE_DELETED = 23, // will be deleted.[End]
FILE_MESSAGE_OK_TO_COPY_TO_THIS_FILE = 24, // OK to copy to this file?[End]
FILE_MESSAGE_START_GAME_WITH = 25, // Start game with[End]
FILE_MESSAGE_FILE_26 = 26, // File[End]
FILE_MESSAGE_HAS_BEEN_DELETED = 27, // has been deleted.[End]
FILE_MESSAGE_28 = 28, // [End]
FILE_MESSAGE_COPY_FROM = 29, // Copy from[End]
FILE_MESSAGE_TO = 30, // to[End]
FILE_MESSAGE_HAS_BEEN_CREATED = 31, // has been created.[End]
FILE_MESSAGE_ENTER_A_FILE_NAME = 32, // Enter a file name![End]
FILE_MESSAGE_QUESTION = 33, // ?[End]
FILE_MESSAGE_PERIOD_34 = 34, // .[End]
/* 0 */ FILE_MESSAGE_NONE,
/* 1 */ FILE_MESSAGE_SELECT_FILE_TO_START, // Select file to start:[End]
/* 2 */ FILE_MESSAGE_SELECT_FILE_TO_DELETE, // Select file to delete:[End]
#if !VERSION_PAL
/* 3 */ FILE_MESSAGE_SELECT_FILE_TO_SAVE, // Select file to save[End]
#endif
/* 4 */ FILE_MESSAGE_COPY_WHICH_FILE, // Copy which file?[End]
/* 5 */ FILE_MESSAGE_COPY_TO_WHICH_FILE, // Copy to which file?[End]
/* 6 */ FILE_MESSAGE_NEW, // NEW[End]
/* 7 */ FILE_MESSAGE_LEVEL, // Level[End]
/* 8 */ FILE_MESSAGE_PLAY_TIME, // Play Time[End]
/* 9 */ FILE_MESSAGE_DELETE_FILE, // Delete File[End]
/* 10 */ FILE_MESSAGE_CANCEL, // Cancel[End]
/* 11 */ FILE_MESSAGE_COPY_FILE, // Copy File[End]
/* 12 */ FILE_MESSAGE_FIRST_PLAY, // First Play[End]
/* 13 */ FILE_MESSAGE_PERIOD_13, // .[End]
/* 14 */ FILE_MESSAGE_YES, // Yes[End]
/* 15 */ FILE_MESSAGE_NO, // No[End]
/* 16 */ FILE_MESSAGE_DELETE, // Delete[End]
/* 17 */ FILE_MESSAGE_OVERRIDE_TO_NEW_DATA, // Override to New Data[End]
/* 18 */ FILE_MESSAGE_SAVE_OK, // Save OK?[End]
/* 19 */ FILE_MESSAGE_FILE_NAME_IS, // File name is :[End]
/* 20 */ FILE_MESSAGE_PERIOD_20, // .[End]
/* 21 */ FILE_MESSAGE_OK, // OK?[End]
/* 22 */ FILE_MESSAGE_FILE_22, // File[End]
/* 23 */ FILE_MESSAGE_WILL_BE_DELETED, // will be deleted.[End]
/* 24 */ FILE_MESSAGE_OK_TO_COPY_TO_THIS_FILE, // OK to copy to this file?[End]
/* 25 */ FILE_MESSAGE_START_GAME_WITH, // Start game with[End]
/* 26 */ FILE_MESSAGE_FILE_26, // File[End]
/* 27 */ FILE_MESSAGE_HAS_BEEN_DELETED, // has been deleted.[End]
/* 28 */ FILE_MESSAGE_28, // [End]
/* 29 */ FILE_MESSAGE_COPY_FROM, // Copy from[End]
/* 30 */ FILE_MESSAGE_TO, // to[End]
/* 31 */ FILE_MESSAGE_HAS_BEEN_CREATED, // has been created.[End]
#if VERSION_PAL
// TODO: determine where these new entries should be placed
UNK1,
UNK2,
#endif
/* 32 */ FILE_MESSAGE_ENTER_A_FILE_NAME, // Enter a file name![End]
/* 33 */ FILE_MESSAGE_QUESTION, // ?[End]
/* 34 */ FILE_MESSAGE_PERIOD_34, // .[End]
};
// specifically used with draw_msg, not to be confused with MsgStyles

View File

@ -3,7 +3,17 @@
#include "common.h"
extern MenuPanel* filemenu_menus[4];
enum {
PAGE_0,
PAGE_1,
#if !VERSION_PAL
PAGE_2,
#endif
PAGE_3,
PAGE_4,
};
extern MenuPanel* filemenu_menus[];
extern s32 filemenu_iterFileIdx;
extern s32 filemenu_pressedButtons;
@ -19,6 +29,13 @@ extern s32 filemenu_hudElemIDs[20];
extern s32 filemenu_createfile_hudElems[4];
extern u8 filemenu_filename[8];
#if VERSION_PAL
extern s32 D_802517D0[1];
extern s32 D_802517D4[1];
extern u16 D_802517E0[2][0x400];
extern u8 D_filemenu_8025095C[4];
#endif
#define WINDOW_UPDATE_FUNC(name) void (name)( \
s32 windowIdx,\
s32* flags,\
@ -51,6 +68,10 @@ WINDOW_UPDATE_FUNC(main_menu_window_update);
WINDOW_UPDATE_FUNC(filemenu_update_show_title);
#if VERSION_PAL
WINDOW_UPDATE_FUNC(filemenu_selectlanguage_80248018);
#endif
void filemenu_draw_file_name(u8*, s32, s32, s32, s32, s32, s32, s32);
void filemenu_draw_contents_title(MenuPanel*, s32, s32, s32, s32, s32, s32);
void filemenu_draw_contents_stereo(MenuPanel*, s32, s32, s32, s32, s32, s32);

View File

@ -10,9 +10,18 @@ extern MenuPanel filemenu_main_menuBP;
extern MenuPanel filemenu_yesno_menuBP;
extern MenuPanel filemenu_info_menuBP;
extern MenuPanel filemenu_createfile_menuBP;
extern MenuPanel filemenu_selectlanguage_menuBP;
HudScript* filemenu_cursor_hudElemScripts[] = { &HES_AnimatedCursorHand };
MenuPanel* filemenu_menus[] = { &filemenu_main_menuBP, &filemenu_yesno_menuBP, &filemenu_info_menuBP, &filemenu_createfile_menuBP };
MenuPanel* filemenu_menus[] = {
&filemenu_main_menuBP,
&filemenu_yesno_menuBP,
&filemenu_info_menuBP,
&filemenu_createfile_menuBP,
#if VERSION_PAL
&filemenu_selectlanguage_menuBP,
#endif
};
s32 filemenu_cursor_posX = SCREEN_WIDTH / 2;
s32 filemenu_cursor_posY = -SCREEN_HEIGHT / 2;
s32 filemenu_cursor_alpha = 0;
@ -21,7 +30,9 @@ s32 filemenu_cursor_targetY = -SCREEN_HEIGHT / 2;
s32 filemenu_cursorGoalAlpha = 0;
s32 filemenu_cursorGoalAlpha2 = 0;
s32 D_80249BB0 = TRUE;
#if !VERSION_PAL
s32 D_80249BB4 = 0;
#endif
s32 D_80249BB8 = 0;
s16 D_80249BBC[16] = { 315, 303, 283, 260, 235, 210, 185, 160, 135, 110, 85, 60, 37, 17, 5, 0 };
s16 D_80249BDC[16] = { 315, 303, 283, 260, 235, 210, 185, 160, 135, 110, 85, 60, 37, 17, 5, 0 };
@ -39,6 +50,50 @@ s16 D_80249CF4[16] = { 180, 173, 161, 148, 134, 120, 105, 91, 77, 62, 48, 34, 21
s16 D_80249D14[16] = { 0, 2, 9, 21, 34, 48, 62, 77, 91, 105, 120, 134, 148, 161, 173, 180 };
s16 D_80249D34[10] = { 185, 160, 135, 110, 85, 60, 37, 17, 5, 0 };
s16 D_80249D48[10] = { 0, 5, 17, 37, 60, 85, 110, 135, 160, 185};
#if VERSION_PAL
s16 D_filemenu_8024EB5C[] = {
210,
182,
162,
145,
130,
117,
105,
92,
80,
67,
55,
42,
30,
18,
8,
2,
0,
};
s16 D_filemenu_8024EB80[] = {
-2,
-8,
-18,
-30,
-42,
-55,
-67,
-80,
-92,
-105,
-117,
-130,
-142,
-155,
-167,
-180,
-192,
-205,
};
#endif
s32 D_80249D4C = 0; // padding?
Vp D_80249D60 = {
.vp = {
@ -116,6 +171,12 @@ BSS s32 filemenu_8024C0A4[3];
BSS s32 filemenu_hudElemIDs[20];
BSS s32 filemenu_createfile_hudElems[4];
#if VERSION_PAL
BSS s32 D_802517D0[1];
BSS s32 D_802517D4[1];
BSS u16 D_802517E0[2][0x400] ALIGNED(16);
#endif
#if VERSION_IQUE
BSS u8 filemenu_glyphBuffer[20][0x80];
#endif
@ -717,6 +778,106 @@ void filemenu_update_hidden_name_confirm(
}
}
#if VERSION_PAL
void filemenu_update_pal_80247f40(
s32 windowIndex,
s32* flags,
s32* posX, s32* posY, s32* posZ,
f32* scaleX, f32* scaleY,
f32* rotX, f32* rotY, f32* rotZ,
s32* darkening,
s32* opacity
) {
Window* window = &gWindows[windowIndex];
s32 var_a1 = window->updateCounter;
s32 var_a3 = 0;
s32 var_v1;
switch (windowIndex) {
case WINDOW_ID_FILEMENU_FILE0_INFO:
var_a3 = 0;
break;
case WINDOW_ID_FILEMENU_FILE1_INFO:
var_a3 = 1;
break;
case WINDOW_ID_FILEMENU_FILE2_INFO:
var_a3 = 2;
break;
case WINDOW_ID_FILEMENU_FILE3_INFO:
var_a3 = 3;
break;
}
var_v1 = gCurrentLanguage;
var_v1 -= var_a3;
var_v1 = abs(var_v1);
var_a1 -= (var_v1 * 3);
if (var_a1 < 0) {
var_a1 = 0;
}
if (var_a1 == 0) {
window->flags &= ~WINDOW_FLAG_HIDDEN;
}
if (var_a1 < ARRAY_COUNT(D_filemenu_8024EB5C)) {
*posX -= D_filemenu_8024EB5C[var_a1];
} else {
*posX -= D_filemenu_8024EB5C[ARRAY_COUNT(D_filemenu_8024EB5C) - 1];
window->flags &= ~WINDOW_FLAG_INITIAL_ANIMATION;
}
}
void filemenu_selectlanguage_80248018(
s32 windowIndex,
s32* flags,
s32* posX, s32* posY, s32* posZ,
f32* scaleX, f32* scaleY,
f32* rotX, f32* rotY, f32* rotZ,
s32* darkening,
s32* opacity
) {
Window* window = &gWindows[windowIndex];
s32 var_a1 = window->updateCounter;
s32 var_a3 = 0;
s32 var_v1;
switch (windowIndex) {
case WINDOW_ID_FILEMENU_FILE0_INFO:
var_a3 = 0;
break;
case WINDOW_ID_FILEMENU_FILE1_INFO:
var_a3 = 1;
break;
case WINDOW_ID_FILEMENU_FILE2_INFO:
var_a3 = 2;
break;
case WINDOW_ID_FILEMENU_FILE3_INFO:
var_a3 = 3;
break;
}
var_v1 = gCurrentLanguage;
var_v1 -= var_a3;
if (var_v1 < 0) {
var_v1 = -var_v1;
}
var_a1 -= (var_v1 * 3);
if (var_a1 < 0) {
var_a1 = 0;
}
if (var_a1 < ARRAY_COUNT(D_filemenu_8024EB80)) {
*posX -= D_filemenu_8024EB80[var_a1];
} else {
*posX -= D_filemenu_8024EB80[ARRAY_COUNT(D_filemenu_8024EB80) - 1];
window->flags &= ~WINDOW_FLAG_INITIAL_ANIMATION;
window->flags |= WINDOW_FLAG_HIDDEN;
}
// TODO: ARRAY_COUNT?
if (var_a1 >= 0x10) {
filemenu_cursor_alpha = 0;
}
}
#endif
void filemenu_draw_cursor(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening) {
s32 temp_a1;
@ -732,6 +893,11 @@ void filemenu_draw_cursor(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32
}
}
#if VERSION_PAL
#define PAGE_4 (3)
#else
#define PAGE_4 (4)
#endif
void filemenu_draw_contents_copy_arrow(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity,
s32 darkening)
@ -742,7 +908,7 @@ void filemenu_draw_contents_copy_arrow(MenuPanel* menu, s32 baseX, s32 baseY, s3
f32 endX, endZ;
f32 temp_f28;
if (menu0->page == 4 && menu0->selected < 4) {
if (menu0->page == PAGE_4 && menu0->selected < 4) {
if (menu0->selected != filemenu_loadedFileIdx && filemenu_currentMenu != 2) {
switch (filemenu_loadedFileIdx) {
case 0:
@ -846,6 +1012,9 @@ void filemenu_draw_contents_copy_arrow(MenuPanel* menu, s32 baseX, s32 baseY, s3
}
}
#if VERSION_PAL
INCLUDE_ASM(void, "filemenu/filemenu_common", filemenu_init);
#else
// TODO bad match, look into
void filemenu_init(s32 arg0) {
MenuPanel** panelIt;
@ -901,6 +1070,7 @@ void filemenu_init(s32 arg0) {
}
update_window_hierarchy(23, 64);
}
#endif
// TODO bad match, look into
void filemenu_cleanup(void) {

View File

@ -12,11 +12,23 @@ HudScript* filemenu_createfile_hudElemScripts[] = {
s32 D_8024A18C = -4;
#if VERSION_PAL
#define WINDOW_1_Y (0)
#define WINDOW_2_Y (55)
#define WINDOW_2_HEIGHT (133)
#define ROWS (8)
#else
#define WINDOW_1_Y (10)
#define WINDOW_2_Y (67)
#define WINDOW_2_HEIGHT (113)
#define ROWS (6)
#endif
MenuWindowBP filemenu_createfile_windowBPs[] = {
{
.windowID = WINDOW_ID_FILEMENU_CREATEFILE_HEADER,
.unk_01 = 0,
.pos = { .x = 68, .y = 10 },
.pos = { .x = 68, .y = WINDOW_1_Y },
.width = 164,
.height = 46,
.priority = WINDOW_PRIORITY_64,
@ -30,9 +42,9 @@ MenuWindowBP filemenu_createfile_windowBPs[] = {
{
.windowID = WINDOW_ID_FILEMENU_KEYBOARD,
.unk_01 = 0,
.pos = { .x = 12, .y = 67 },
.pos = { .x = 12, .y = WINDOW_2_Y },
.width = 262,
.height = 113,
.height = WINDOW_2_HEIGHT,
.priority = WINDOW_PRIORITY_64,
.fpDrawContents = &filemenu_draw_contents_choose_name,
.tab = NULL,
@ -50,7 +62,7 @@ MenuPanel filemenu_createfile_menuBP = {
.selected = 0,
.page = 0,
.numCols = 13,
.numRows = 6,
.numRows = ROWS,
.numPages = 0,
.gridData = filemenu_createfile_gridData,
.fpInit = &filemenu_choose_name_init,
@ -82,6 +94,37 @@ void filemenu_draw_contents_file_create_header(
s32 width, s32 height,
s32 opacity, s32 darkening
) {
#if VERSION_PAL
s32 temp_s2 = D_filemenu_8025095C[gCurrentLanguage]; // 36
s32 yOffset;
s32 xOffset;
s32 i;
filemenu_draw_message(filemenu_get_menu_message(FILE_MESSAGE_ENTER_A_FILE_NAME), baseX + 10, baseY + 6, 255, 0, 0);
filemenu_draw_file_name(filemenu_filename, 8, baseX + temp_s2 + 2, baseY + 22, 255, 0, 0, 11);
yOffset = 41;
for (i = 0; i < ARRAY_COUNT(filemenu_filename); i++) {
xOffset = temp_s2 + 6 + i * 11;
hud_element_set_render_pos(filemenu_createfile_hudElems[1], baseX + xOffset, baseY + yOffset);
if (i == 0) {
hud_element_draw_without_clipping(filemenu_createfile_hudElems[1]);
} else {
hud_element_draw_next(filemenu_createfile_hudElems[1]);
}
}
if (filemenu_currentMenu == 3) {
if (filemenu_filename_pos == 8) {
xOffset = temp_s2 + 86;
} else {
xOffset = temp_s2 + 9 + filemenu_filename_pos * 11;
}
yOffset = 45;
hud_element_set_render_pos(filemenu_createfile_hudElems[0], baseX + xOffset, baseY + yOffset);
hud_element_draw_next(filemenu_createfile_hudElems[0]);
}
#else
s32 xOffset;
s32 yOffset;
s32 i;
@ -110,8 +153,12 @@ void filemenu_draw_contents_file_create_header(
hud_element_set_render_pos(filemenu_createfile_hudElems[0], baseX + phi_v0, baseY + 45);
hud_element_draw_next(filemenu_createfile_hudElems[0]);
}
#endif
}
#if VERSION_PAL
INCLUDE_ASM(void, "filemenu/filemenu_createfile", filemenu_draw_contents_choose_name);
#else
void filemenu_draw_contents_choose_name(
MenuPanel* menu,
s32 baseX, s32 baseY,
@ -243,6 +290,7 @@ void filemenu_draw_contents_choose_name(
filemenu_set_cursor_goal_pos(WINDOW_ID_FILEMENU_KEYBOARD, baseX + 2 + menu->col * 19, baseY + 13 + menu->row * 17);
}
}
#endif
void filemenu_choose_name_init(MenuPanel* menu) {
s32 i;
@ -268,6 +316,9 @@ void filemenu_choose_name_init(MenuPanel* menu) {
menu->initialized = TRUE;
}
#if VERSION_PAL
INCLUDE_ASM(void, "filemenu/filemenu_createfile", filemenu_choose_name_handle_input);
#else
void filemenu_choose_name_handle_input(MenuPanel* menu) {
s32 oldSelected = menu->selected;
@ -470,6 +521,7 @@ void filemenu_choose_name_handle_input(MenuPanel* menu) {
filemenu_set_selected(newMenu2, 0, 0);
}
}
#endif
static const f32 padding[2] = { 0.0f, 0.0f }; // not sure why this is needed

View File

@ -47,6 +47,9 @@ MenuPanel filemenu_info_menuBP = {
.fpCleanup = &filemenu_info_cleanup
};
#if VERSION_PAL
INCLUDE_ASM(void, "filemenu/filemenu_info", filemenu_info_draw_message_contents);
#else
void filemenu_info_draw_message_contents(
MenuPanel* menu,
s32 baseX, s32 baseY,
@ -89,6 +92,7 @@ void filemenu_info_draw_message_contents(
}
filemenu_set_cursor_alpha(0);
}
#endif
void filemenu_info_init(MenuPanel* tab) {
s32 i;
@ -108,26 +112,28 @@ void filemenu_info_handle_input(MenuPanel* menu) {
filemenu_currentMenu = 0;
switch (menu->page) {
case 1:
menu->page = 0;
case PAGE_1:
menu->page = PAGE_0;
set_window_update(WINDOW_ID_FILEMENU_STEREO, (s32)filemenu_update_show_options_left);
set_window_update(WINDOW_ID_FILEMENU_MONO, (s32)filemenu_update_show_options_right);
set_window_update(WINDOW_ID_FILEMENU_OPTION_LEFT, (s32)filemenu_update_show_options_bottom);
set_window_update(WINDOW_ID_FILEMENU_OPTION_RIGHT, (s32)filemenu_update_show_options_bottom);
filemenu_set_selected(menu, 0, 2);
break;
case 4:
menu->page = 0;
case PAGE_4:
menu->page = PAGE_0;
set_window_update(WINDOW_ID_FILEMENU_STEREO, (s32)filemenu_update_show_options_left);
set_window_update(WINDOW_ID_FILEMENU_MONO, (s32)filemenu_update_show_options_right);
set_window_update(WINDOW_ID_FILEMENU_OPTION_LEFT, (s32)filemenu_update_show_options_bottom);
set_window_update(WINDOW_ID_FILEMENU_OPTION_RIGHT, (s32)filemenu_update_show_options_bottom);
filemenu_set_selected(menu, 1, 2);
break;
case 2:
#if !VERSION_PAL
case PAGE_2:
menu->page = 2;
filemenu_set_selected(menu, 1, 2);
break;
#endif
}
set_window_update(WINDOW_ID_FILEMENU_INFO, WINDOW_UPDATE_HIDE);
}

View File

@ -25,6 +25,17 @@ extern HudScript HES_OptionMonoOff;
extern HudScript HES_OptionStereoOn;
extern HudScript HES_OptionStereoOff;
#if VERSION_PAL
extern u8 D_filemenu_802508E8[4];
extern u8 D_filemenu_80250938[4];
extern u8 D_filemenu_8025093C[4];
#define COPY_OFFSET_X (D_filemenu_8025093C[gCurrentLanguage])
#define SAVE_OFFSET_X (D_filemenu_80250938[gCurrentLanguage])
#else
#define SAVE_OFFSET_X 25
#define COPY_OFFSET_X 16
#endif
BSS u8 filemenu_filename[8];
#if VERSION_IQUE
@ -47,19 +58,67 @@ BSS u8 filemenu_filename[8];
#define NUMBER_OFFSET_Y 0
#endif
extern HudScript HES_OptionMonoOn_de;
extern HudScript HES_OptionMonoOff_de;
extern HudScript HES_OptionStereoOn_de;
extern HudScript HES_OptionStereoOff_de;
extern HudScript HES_OptionMonoOn_fr;
extern HudScript HES_OptionMonoOff_fr;
extern HudScript HES_OptionStereoOn_fr;
extern HudScript HES_OptionStereoOff_fr;
extern HudScript HES_OptionMonoOn_es;
extern HudScript HES_OptionMonoOff_es;
extern HudScript HES_OptionStereoOn_es;
extern HudScript HES_OptionStereoOff_es;
#if VERSION_PAL
HudScript* filemenu_main_hudElemScripts[][20] = {
[LANGUAGE_EN] = {
&HES_Spirit1, &HES_Spirit2, &HES_Spirit3, &HES_Spirit4, &HES_Spirit5, &HES_Spirit6, &HES_Spirit7,
&HES_Spirit1Missing, &HES_Spirit2Missing, &HES_Spirit3Missing, &HES_Spirit4Missing, &HES_Spirit5Missing,
&HES_Spirit6Missing, &HES_Spirit7Missing, &HES_JpFile, &HES_JpFileDisabled, &HES_OptionMonoOn,
&HES_OptionMonoOff,
&HES_OptionStereoOn, &HES_OptionStereoOff,
},
[LANGUAGE_DE] = {
&HES_Spirit1, &HES_Spirit2, &HES_Spirit3, &HES_Spirit4, &HES_Spirit5, &HES_Spirit6, &HES_Spirit7,
&HES_Spirit1Missing, &HES_Spirit2Missing, &HES_Spirit3Missing, &HES_Spirit4Missing, &HES_Spirit5Missing,
&HES_Spirit6Missing, &HES_Spirit7Missing, &HES_JpFile, &HES_JpFileDisabled, &HES_OptionMonoOn_de,
&HES_OptionMonoOff_de,
&HES_OptionStereoOn_de, &HES_OptionStereoOff_de,
},
[LANGUAGE_FR] = {
&HES_Spirit1, &HES_Spirit2, &HES_Spirit3, &HES_Spirit4, &HES_Spirit5, &HES_Spirit6, &HES_Spirit7,
&HES_Spirit1Missing, &HES_Spirit2Missing, &HES_Spirit3Missing, &HES_Spirit4Missing, &HES_Spirit5Missing,
&HES_Spirit6Missing, &HES_Spirit7Missing, &HES_JpFile, &HES_JpFileDisabled, &HES_OptionMonoOn_fr,
&HES_OptionMonoOff_fr,
&HES_OptionStereoOn_fr, &HES_OptionStereoOff_fr,
},
[LANGUAGE_ES] = {
&HES_Spirit1, &HES_Spirit2, &HES_Spirit3, &HES_Spirit4, &HES_Spirit5, &HES_Spirit6, &HES_Spirit7,
&HES_Spirit1Missing, &HES_Spirit2Missing, &HES_Spirit3Missing, &HES_Spirit4Missing, &HES_Spirit5Missing,
&HES_Spirit6Missing, &HES_Spirit7Missing, &HES_JpFile, &HES_JpFileDisabled, &HES_OptionMonoOn_es,
&HES_OptionMonoOff_es,
&HES_OptionStereoOn_es, &HES_OptionStereoOff_es,
}
};
#else
HudScript* filemenu_main_hudElemScripts[] = {
&HES_Spirit1, &HES_Spirit2, &HES_Spirit3, &HES_Spirit4, &HES_Spirit5, &HES_Spirit6, &HES_Spirit7,
&HES_Spirit1Missing, &HES_Spirit2Missing, &HES_Spirit3Missing, &HES_Spirit4Missing, &HES_Spirit5Missing,
&HES_Spirit6Missing, &HES_Spirit7Missing, &HES_JpFile, &HES_JpFileDisabled, &HES_OptionMonoOn, &HES_OptionMonoOff,
&HES_OptionStereoOn, &HES_OptionStereoOff,
};
#endif
u8 filemenu_main_gridData[] = {
0, 0, 1, 2, 2, 3, 4, 5, 6,
0, 0, 1, 2, 2, 3, 6, 6, 6,
0, 0, 1, 2, 2, 3, 6, 6, 6,
0, 0, 1, 2, 2, 3, 6, 6, 6,
#if !VERSION_PAL
0, 0, 1, 2, 2, 3, 6, 6, 6,
#endif
};
MenuWindowBP filemenu_main_windowBPs[] = {
@ -288,32 +347,34 @@ void filemenu_draw_contents_title(
s32 yOffset;
switch (menu->page) {
case 0:
case PAGE_0:
msgIdx = FILE_MESSAGE_SELECT_FILE_TO_START;
xOffset = 9;
yOffset = 4;
break;
case 1:
case PAGE_1:
msgIdx = FILE_MESSAGE_SELECT_FILE_TO_DELETE;
xOffset = DELETE_OFFSET_X;
yOffset = 4;
break;
case 3:
case PAGE_3:
msgIdx = FILE_MESSAGE_COPY_WHICH_FILE;
xOffset = 25;
xOffset = SAVE_OFFSET_X;
yOffset = 4;
break;
case 4:
case PAGE_4:
msgIdx = FILE_MESSAGE_COPY_TO_WHICH_FILE;
xOffset = 16;
xOffset = COPY_OFFSET_X;
yOffset = 4;
break;
case 2:
#if !VERSION_PAL
case PAGE_2:
default:
msgIdx = FILE_MESSAGE_SELECT_FILE_TO_SAVE;
xOffset = 10;
yOffset = 4;
break;
#endif
}
filemenu_draw_message(filemenu_get_menu_message(msgIdx), baseX + xOffset, baseY + yOffset, 255, 0, 0);
@ -355,14 +416,26 @@ void filemenu_draw_contents_option_left(
s32 width, s32 height,
s32 opacity, s32 darkening
) {
#if VERSION_PAL
s32 offset = D_filemenu_802508E8[gCurrentLanguage];
if (menu->col == 0 && menu->row == 2) {
filemenu_set_cursor_goal_pos(WINDOW_ID_FILEMENU_OPTION_LEFT, (baseX + offset) - 10, baseY + 8);
}
filemenu_draw_message(filemenu_get_menu_message(FILE_MESSAGE_DELETE_FILE), baseX + offset + OFFSET_WIDTH, baseY + 2, 255, 0, 1);
#else
if (menu->page != 2) {
if (menu->col == 0 && menu->row == 2) {
filemenu_set_cursor_goal_pos(WINDOW_ID_FILEMENU_OPTION_LEFT, baseX, baseY + 8);
}
filemenu_draw_message(filemenu_get_menu_message(FILE_MESSAGE_DELETE_FILE), baseX + 8 + OFFSET_WIDTH, baseY + 2, 255, 0, 1);
}
#endif
}
#if VERSION_PAL
INCLUDE_ASM(void, "filemenu/filemenu_main", filemenu_draw_contents_option_center);
#else
void filemenu_draw_contents_option_center(
MenuPanel* menu,
s32 baseX, s32 baseY,
@ -397,7 +470,11 @@ void filemenu_draw_contents_option_center(
filemenu_draw_message(filemenu_get_menu_message(msgIdx), baseX + xOffset, baseY + yOffset + 2, 255, 0, 1);
}
#endif
#if VERSION_PAL
INCLUDE_ASM(void, "filemenu/filemenu_main", filemenu_draw_contents_option_right);
#else
void filemenu_draw_contents_option_right(
MenuPanel* menu,
s32 baseX, s32 baseY,
@ -411,7 +488,18 @@ void filemenu_draw_contents_option_right(
filemenu_draw_message(filemenu_get_menu_message(FILE_MESSAGE_CANCEL), baseX + RIGHT_CANCEL_X, baseY + 2, 255, 0, 1);
}
}
#endif
#if VERSION_PAL
void filemenu_draw_contents_file_info(
s32 fileIdx,
MenuPanel* menu,
s32 baseX, s32 baseY,
s32 width, s32 height,
s32 opacity, s32 darkening
);
INCLUDE_ASM(void, "filemenu/filemenu_main", filemenu_draw_contents_file_info);
#else
void filemenu_draw_contents_file_info(s32 fileIdx,
MenuPanel* menu,
s32 baseX, s32 baseY,
@ -473,7 +561,17 @@ void filemenu_draw_contents_file_info(s32 fileIdx,
}
}
}
#endif
#if VERSION_PAL
void filemenu_draw_contents_file_title(
s32 fileIdx,
MenuPanel* menu,
s32 baseX, s32 baseY,
s32 width, s32 height,
s32 opacity, s32 darkening);
INCLUDE_ASM(void, "filemenu/filemenu_main", filemenu_draw_contents_file_title);
#else
void filemenu_draw_contents_file_title(
s32 fileIdx,
MenuPanel* menu,
@ -497,6 +595,7 @@ void filemenu_draw_contents_file_title(
baseX + FILE_NAME_X, baseY + 1, 255, 0, 1, 9);
}
}
#endif
void filemenu_draw_contents_file_0_info(
MenuPanel* menu,
@ -570,6 +669,9 @@ void filemenu_draw_contents_file_3_title(
filemenu_draw_contents_file_title(3, menu, baseX, baseY, width, height, opacity, darkening);
}
#if VERSION_PAL
INCLUDE_ASM(void, "filemenu/filemenu_main", filemenu_main_init);
#else
void filemenu_main_init(MenuPanel* menu) {
s32 halfWidth;
s32 halfWidth2;
@ -625,7 +727,11 @@ void filemenu_main_init(MenuPanel* menu) {
}
menu->initialized = 1;
}
#endif
#if VERSION_PAL
INCLUDE_ASM(void, "filemenu/filemenu_main", filemenu_main_handle_input);
#else
void filemenu_main_handle_input(MenuPanel* menu) {
s32 originalSelected = menu->selected;
s32 i;
@ -1065,6 +1171,7 @@ void filemenu_main_handle_input(MenuPanel* menu) {
}
}
}
#endif
void filemenu_main_update(MenuPanel* menu) {
gWindowStyles[WINDOW_ID_FILEMENU_FILE0_INFO].customStyle = &filemenu_windowStyles[15];
@ -1095,7 +1202,7 @@ void filemenu_main_update(MenuPanel* menu) {
break;
}
if (filemenu_menus[0]->page == 4) {
if (filemenu_menus[0]->page == PAGE_4) {
switch (filemenu_loadedFileIdx) {
case 0:
gWindowStyles[WINDOW_ID_FILEMENU_FILE0_INFO].customStyle = &filemenu_windowStyles[16];

View File

@ -17,6 +17,15 @@ u8 filemenu_msg_C7[] = { 0xFD };
u8 filemenu_msg_C8[] = { 0xFD };
u8 filemenu_msg_C9[] = { 0x6C, 0x2B, 0x8D, 0x04, 0xFD };
u8 filemenu_msg_CA[] = { 0x7C, 0x04, 0x7D, 0x04, 0xFD };
#elif VERSION_PAL
u8 filemenu_msg_C6[] = {0xFD}; // SPACE[End]
u8 filemenu_msg_C7[] = {0xFD}; // [End]
u8 filemenu_msg_C8[] = {0xFD}; // [End]
u8 filemenu_msg_C9[] = {0x94, 0xFD}; // BACK[End]
u8 filemenu_msg_CA[] = {0x25, 0x2E, 0x24, 0xFD}; // END[End]
u8 filemenu_msg_CA_de[] = {0x25, 0x2E, 0x24, 0x25, 0xFD}; // ENDE[End]
u8 filemenu_msg_CA_fr[] = {0x26, 0x29, 0x2E, 0xFD};
u8 filemenu_msg_CA_es[] = {0x26, 0x29, 0x2E, 0xFD};
#else
u8 filemenu_msg_C6[] = { 0x33, 0x30, 0x21, 0x23, 0x25, 0xFD }; // SPACE[End]
u8 filemenu_msg_C7[] = { 0xFD }; // [End]
@ -25,7 +34,16 @@ u8 filemenu_msg_C9[] = { 0x22, 0x21, 0x23, 0x2B, 0xFD }; // BACK[End]
u8 filemenu_msg_CA[] = { 0x25, 0x2E, 0x24, 0xFD }; // END[End]
#endif
#if VERSION_PAL
u8* filemenu_specialSymbols[][5] = {
[LANGUAGE_EN] = { filemenu_msg_C8, filemenu_msg_C6, filemenu_msg_C7, filemenu_msg_C9, filemenu_msg_CA, },
[LANGUAGE_DE] = { filemenu_msg_C8, filemenu_msg_C6, filemenu_msg_C7, filemenu_msg_C9, filemenu_msg_CA_de, },
[LANGUAGE_FR] = { filemenu_msg_C8, filemenu_msg_C6, filemenu_msg_C7, filemenu_msg_C9, filemenu_msg_CA_fr, },
[LANGUAGE_ES] = { filemenu_msg_C8, filemenu_msg_C6, filemenu_msg_C7, filemenu_msg_C9, filemenu_msg_CA_es, },
};
#else
s32 filemenu_specialSymbols[] = { (s32)filemenu_msg_C6, (s32)filemenu_msg_C7, (s32)filemenu_msg_C8, (s32)filemenu_msg_C9, (s32)filemenu_msg_CA };
#endif
Gfx filemenu_dl_draw_char_init[] = {
gsDPPipeSync(),
@ -52,6 +70,43 @@ s32 filemenu_char_color = -1;
u32 filemenu_glyphBufferIndex = 0;
#endif
#if VERSION_PAL
u8 D_filemenu_802508D0[] = {0x21, 0x24, 0x26, 0x26,};
u8 D_filemenu_802508D4[] = {0x07, 0x07, 0x05, 0x05,};
u8 D_filemenu_802508D8[] = {0x22, 0x22, 0x1A, 0x26,};
u8 D_filemenu_802508DC[] = {0x0B, 0x0B, 0x1A, 0x1A,};
u8 D_filemenu_802508E0[] = {0x32, 0x32, 0x26, 0x2C,};
u8 D_filemenu_802508E4[] = {0x1E, 0x19, 0x0A, 0x18,};
u8 D_filemenu_802508E8[] = {0x08, 0x10, 0x10, 0x14,};
u8 D_filemenu_802508EC[] = {0x0E, 0x0E, 0x16, 0x15,};
u8 D_filemenu_802508F0[] = {0x14, 0x08, 0x12, 0x19,};
u8 D_filemenu_802508F4[] = {0x14, 0x08, 0x12, 0x19,};
u8 D_filemenu_802508F8[] = {0x26, 0x33, 0x3B, 0x3C,};
u8 D_filemenu_802508FC[] = {0x26, 0x33, 0x3C, 0x3F,};
u16 D_filemenu_80250900[] = {0x00B4, 0x00C8, 0x0124, 0x00B4,};
u8 D_filemenu_80250908[] = {0x75, 0x3E, 0xD0, 0x96,};
u8 D_filemenu_8025090C[] = {0xFD, 0x00, 0xFD, 0xFD,};
u8 D_filemenu_80250910[] = {0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xC8, 0xC8, 0xC8, 0xA2, 0xB2, 0xA2, 0xA6, 0xA2, 0xC8, 0xA2, 0xA2,};
u8 D_filemenu_80250920[] = {0x76, 0x8A, 0x9A, 0xA2,};
u8 D_filemenu_80250924[] = {0x0A, 0x42, 0x0A, 0x0A,};
u8 D_filemenu_80250928[] = {0x3C, 0x0A, 0x4B, 0x4F,};
u8 D_filemenu_8025092C[] = {0x01, 0x3B, 0x01, 0x01,};
u8 D_filemenu_80250930[] = {0xB6, 0xB6, 0xC2, 0xD4,};
u8 D_filemenu_80250934[] = {0x00, 0x00, 0x14, 0x11,};
u8 D_filemenu_80250938[] = {0x19, 0x0A, 0x19, 0x0A,};
u8 D_filemenu_8025093C[] = {0x10, 0x0A, 0x0A, 0x14,};
u16 D_filemenu_80250940[] = {0x00B6, 0x0113, 0x00BE, 0x00C6,};
u8 D_filemenu_80250948[] = {0x4A, 0x1E, 0x46, 0x44,};
u8 D_filemenu_8025094C[] = {0x14, 0x25, 0x15, 0x12,};
u8 D_filemenu_80250950[] = {0xFD, 0x02, 0xFD, 0xFD,};
u8 D_filemenu_80250954[] = {0x9A, 0xAE, 0x9A, 0x9A,};
u8 D_filemenu_80250958[] = {0xA4, 0xA4, 0xC0, 0xA4,};
u8 D_filemenu_8025095C[] = {0x24, 0x24, 0x32, 0x24,};
u8 D_filemenu_80250960[] = {0xA4, 0xA4, 0xA4, 0xB4,};
u8 D_filemenu_80250964[] = {0xB8, 0xB4, 0xA0, 0xCC,};
u8 D_filemenu_80250968[] = {0x00, 0x00, 0x00, 0x10,};
#endif
#if VERSION_IQUE
u8 filemenu_msg_01[] = { 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0x7A, 0x14, 0x7B, 0x14, 0x79, 0x19, 0x7F, 0x06, 0x79, 0x04, 0x7A, 0x04, 0xFD };
@ -96,6 +151,133 @@ u8 filemenu_createfile_gridData[] = {
};
u8 filemenu_msg_33[] = { 0x74, 0x08, 0xFD };
u8 filemenu_msg_34[] = { 0x75, 0x05, 0xFD };
#elif VERSION_PAL
u8 filemenu_msg_24[] = {0x1F, 0xFD};
// Select file to start
u8 filemenu_msg_01[] = {0x33, 0x45, 0x4C, 0x45, 0x43, 0x54, 0xF7, 0x46, 0x49, 0x4C, 0x45, 0xF7, 0x54, 0x4F, 0xF7, 0x53, 0x54, 0x41, 0x52, 0x54, 0x1A, 0xFD};
u8 filemenu_msg_01_de[] = {0x37, 0x7A, 0x48, 0x4C, 0x45, 0xF7, 0x45, 0x49, 0x4E, 0x45, 0xF7, 0x24, 0x41, 0x54, 0x45, 0x49, 0x1A, 0xFD};
u8 D_filemenu_8025099C[] = {0x23, 0x48, 0x4F, 0x49, 0x53, 0x49, 0x52, 0xF7, 0x46, 0x49, 0x43, 0x48, 0x49, 0x45, 0x52, 0x1A, 0xFD};
u8 D_filemenu_802509B0[] = {0x25, 0x4C, 0x49, 0x47, 0x45, 0xF7, 0x46, 0x49, 0x43, 0x48, 0x45, 0x52, 0x4F, 0x1A, 0xFD};
// Select file to delete
u8 filemenu_msg_02[] = {0x33, 0x45, 0x4C, 0x45, 0x43, 0x54, 0xF7, 0x46, 0x49, 0x4C, 0x45, 0xF7, 0x54, 0x4F, 0xF7, 0x44, 0x45, 0x4C, 0x45, 0x54, 0x45, 0x1A, 0xFD};
u8 filemenu_msg_02_de[] = {0x37, 0x7A, 0x48, 0x4C, 0x45, 0xF7, 0x5A, 0x55, 0xF7, 0x4C, 0x88, 0x53, 0x43, 0x48, 0x45, 0x4E, 0x44, 0x45, 0xF7, 0x24, 0x41, 0x54, 0x45, 0x49, 0x1A, 0xFD};
u8 D_filemenu_802509F4[] = {0x23, 0x48, 0x4F, 0x49, 0x53, 0x49, 0x52, 0xF7, 0x46, 0x49, 0x43, 0x48, 0x49, 0x45, 0x52, 0xF7, 0x77, 0xF7, 0x45, 0x46, 0x46, 0x41, 0x43, 0x45, 0x52, 0x1A, 0xFD};
u8 D_filemenu_80250A10[] = {0x25, 0x4C, 0x49, 0x47, 0x45, 0xF7, 0x45, 0x4C, 0xF7, 0x46, 0x49, 0x43, 0x48, 0x45, 0x52, 0x4F, 0xF7, 0x41, 0xF7, 0x42, 0x4F, 0x52, 0x52, 0x41, 0x52, 0x1A, 0xFD};
// Copy which file
u8 filemenu_msg_03[] = {0x23, 0x4F, 0x50, 0x59, 0xF7, 0x57, 0x48, 0x49, 0x43, 0x48, 0xF7, 0x46, 0x49, 0x4C, 0x45, 0x1F, 0xFD};
u8 filemenu_msg_03_de[] = {0x37, 0x45, 0x4C, 0x43, 0x48, 0x45, 0xF7, 0x24, 0x41, 0x54, 0x45, 0x49, 0xF7, 0x4B, 0x4F, 0x50, 0x49, 0x45, 0x52, 0x45, 0x4E, 0x1F, 0xFD};
u8 D_filemenu_80250A58[] = {0x26, 0x49, 0x43, 0x48, 0x49, 0x45, 0x52, 0xF7, 0x53, 0x4F, 0x55, 0x52, 0x43, 0x45, 0x1F, 0xFD};
u8 D_filemenu_80250A68[] = {0x8E, 0x31, 0x55, 0x7D, 0xF7, 0x46, 0x49, 0x43, 0x48, 0x45, 0x52, 0x4F, 0xF7, 0x43, 0x4F, 0x50, 0x49, 0x41, 0x53, 0x1F, 0xFD};
// Copy to which file
u8 filemenu_msg_04[] = {0x23, 0x4F, 0x50, 0x59, 0xF7, 0x54, 0x4F, 0xF7, 0x57, 0x48, 0x49, 0x43, 0x48, 0xF7, 0x46, 0x49, 0x4C, 0x45, 0x1F, 0xFD};
u8 filemenu_msg_04_de[] = {0x29, 0x4E, 0xF7, 0x57, 0x45, 0x4C, 0x43, 0x48, 0x45, 0xF7, 0x24, 0x41, 0x54, 0x45, 0x49, 0xF7, 0x4B, 0x4F, 0x50, 0x49, 0x45, 0x52, 0x45, 0x4E, 0x1F, 0xFD};
u8 D_filemenu_80250AB0[] = {0x26, 0x49, 0x43, 0x48, 0x49, 0x45, 0x52, 0xF7, 0x44, 0x45, 0x53, 0x54, 0x49, 0x4E, 0x41, 0x54, 0x49, 0x4F, 0x4E, 0x1F, 0xFD};
u8 D_filemenu_80250AC8[] = {0x8E, 0x24, 0x86, 0x4E, 0x44, 0x45, 0xF7, 0x4C, 0x4F, 0xF7, 0x43, 0x4F, 0x50, 0x49, 0x41, 0x53, 0x1F, 0xFD};
u8 filemenu_msg_05[] = {0x2E, 0x25, 0x37, 0xFD};
u8 filemenu_msg_05_de[] = {0x2E, 0x45, 0x55, 0xFD};
u8 D_filemenu_80250AE4[] = {0x2E, 0x4F, 0x55, 0x56, 0x45, 0x41, 0x55, 0xFD};
u8 D_filemenu_80250AEC[] = {0x2E, 0x55, 0x45, 0x56, 0x4F, 0xFD};
u8 filemenu_msg_06[] = {0x2C, 0x45, 0x56, 0x45, 0x4C, 0xFD};
u8 D_filemenu_80250AFC[] = {0x2E, 0x49, 0x56, 0x45, 0x41, 0x55, 0xFD};
u8 D_filemenu_80250B04[] = {0x2E, 0x49, 0x56, 0x45, 0x4C, 0xFD};
u8 filemenu_msg_07[] = {0x30, 0x4C, 0x41, 0x59, 0xF7, 0x34, 0x49, 0x4D, 0x45, 0xFD};
u8 filemenu_msg_07_de[] = {0x33, 0x50, 0x49, 0x45, 0x4C, 0x5A, 0x45, 0x49, 0x54, 0xFD};
u8 D_filemenu_80250B24[] = {0x34, 0x45, 0x4D, 0x50, 0x53, 0xFD};
u8 D_filemenu_80250B2C[] = {0x34, 0x49, 0x45, 0x4D, 0x50, 0x4F, 0xFD};
u8 filemenu_msg_08[] = {0x24, 0x45, 0x4C, 0x45, 0x54, 0x45, 0xF7, 0x26, 0x49, 0x4C, 0x45, 0xFD};
u8 filemenu_msg_08_de[] = {0x2C, 0x88, 0x53, 0x43, 0x48, 0x45, 0x4E, 0xFD};
u8 D_filemenu_80250B48[] = {0x25, 0x46, 0x46, 0x41, 0x43, 0x45, 0x52, 0xFD};
u8 D_filemenu_80250B50[] = {0x22, 0x4F, 0x52, 0x52, 0x41, 0x52, 0xFD};
u8 filemenu_msg_09[] = {0x23, 0x41, 0x4E, 0x43, 0x45, 0x4C, 0xFD};
u8 filemenu_msg_09_de[] = {0x21, 0x42, 0x42, 0x52, 0x45, 0x43, 0x48, 0x45, 0x4E, 0xFD};
u8 D_filemenu_80250B6C[] = {0x21, 0x4E, 0x4E, 0x55, 0x4C, 0x45, 0x52, 0xFD};
u8 D_filemenu_80250B74[] = {0x33, 0x41, 0x4C, 0x49, 0x52, 0xFD};
u8 filemenu_msg_10[] = {0x23, 0x4F, 0x50, 0x59, 0xF7, 0x26, 0x49, 0x4C, 0x45, 0xFD};
u8 filemenu_msg_10_de[] = {0x2B, 0x4F, 0x50, 0x49, 0x45, 0x52, 0x45, 0x4E, 0xFD};
u8 D_filemenu_80250B94[] = {0x23, 0x4F, 0x50, 0x49, 0x45, 0x52, 0xFD};
u8 D_filemenu_80250B9C[] = {0x23, 0x4F, 0x50, 0x49, 0x41, 0x52, 0xFD};
u8 filemenu_msg_11[] = {0x26, 0x49, 0x52, 0x53, 0x54, 0xF7, 0x30, 0x4C, 0x41, 0x59, 0xFD};
u8 filemenu_msg_11_de[] = {0x2E, 0x45, 0x55, 0x45, 0x53, 0xF7, 0x33, 0x50, 0x49, 0x45, 0x4C, 0xFD};
u8 D_filemenu_80250BBC[] = {0x30, 0x52, 0x45, 0x4D, 0x49, 0x7C, 0x52, 0x45, 0xF7, 0x50, 0x41, 0x52, 0x54, 0x49, 0x45, 0xFD};
u8 D_filemenu_80250BCC[] = {0x30, 0x52, 0x49, 0x4D, 0x45, 0x52, 0x41, 0xF7, 0x36, 0x45, 0x5A, 0xFD};
u8 filemenu_msg_12[] = {0x0E, 0xFD};
u8 filemenu_msg_13[] = {0x39, 0x45, 0x53, 0xFD};
u8 filemenu_msg_13_de[] = {0x2A, 0x41, 0xFD};
u8 D_filemenu_80250BE4[] = {0x2F, 0x55, 0x49, 0xFD};
u8 D_filemenu_80250BE8[] = {0x33, 0x81, 0xFD};
u8 filemenu_msg_14[] = {0x2E, 0x4F, 0xFD};
u8 filemenu_msg_14_de[] = {0x2E, 0x45, 0x49, 0x4E, 0xFD};
u8 D_filemenu_80250BF8[] = {0x2E, 0x4F, 0x4E, 0xFD};
u8 D_filemenu_80250BFC[] = {0x2E, 0x4F, 0xFD};
u8 filemenu_msg_15[] = {0x24, 0x45, 0x4C, 0x45, 0x54, 0x45, 0xFD};
u8 filemenu_msg_15_de[] = {0x4C, 0x88, 0x53, 0x43, 0x48, 0x45, 0x4E, 0xFD};
u8 D_filemenu_80250C10[] = {0x25, 0x46, 0x46, 0x41, 0x43, 0x45, 0x52, 0xFD};
u8 D_filemenu_80250C18[] = {0x8E, 0x22, 0x4F, 0x52, 0x52, 0x4F, 0xF7, 0x45, 0x4C, 0xFD};
u8 filemenu_msg_16[] = {0x26, 0x49, 0x4C, 0x45, 0xF7, 0x4E, 0x41, 0x4D, 0x45, 0xF7, 0x49, 0x53, 0xF7, 0x1A, 0xFD};
u8 filemenu_msg_16_de[] = {0x24, 0x45, 0x52, 0xF7, 0x2E, 0x41, 0x4D, 0x45, 0xF7, 0x4C, 0x41, 0x55, 0x54, 0x45, 0x54, 0xF7, 0x1A, 0xFD};
u8 D_filemenu_80250C48[] = {0x2E, 0x4F, 0x4D, 0xF7, 0x44, 0x55, 0xF7, 0x46, 0x49, 0x43, 0x48, 0x49, 0x45, 0x52, 0xF7, 0x1A, 0xFD};
u8 D_filemenu_80250C5C[] = {0x2E, 0x4F, 0x4D, 0x42, 0x52, 0x45, 0xF7, 0x44, 0x45, 0x4C, 0xF7, 0x46, 0x49, 0x43, 0x48, 0x45, 0x52, 0x4F, 0xF7, 0x1A, 0xFD};
u8 filemenu_msg_18[] = {0x2F, 0x2B, 0x1F, 0xFD};
u8 D_filemenu_80250C78[] = {0x8E, 0x36, 0x41, 0x4C, 0x45, 0x1F, 0xFD};
u8 filemenu_msg_19[] = {0x26, 0x49, 0x4C, 0x45, 0xFD};
u8 filemenu_msg_19_de[] = {0x24, 0x41, 0x54, 0x45, 0x49, 0xFD};
u8 D_filemenu_80250C90[] = {0x26, 0x49, 0x43, 0x48, 0x49, 0x45, 0x52, 0xFD};
u8 D_filemenu_80250C98[] = {0x26, 0x49, 0x43, 0x48, 0x45, 0x52, 0x4F, 0xFD};
u8 filemenu_msg_20_de[] = {0x24, 0x41, 0x54, 0x0E, 0xFD};
u8 D_filemenu_80250CA8[] = {0x26, 0x49, 0x43, 0x48, 0x0E, 0xFD};
u8 filemenu_msg_21[] = {0x57, 0x49, 0x4C, 0x4C, 0xF7, 0x42, 0x45, 0xF7, 0x44, 0x45, 0x4C, 0x45, 0x54, 0x45, 0x44, 0x0E, 0xFD};
u8 filemenu_msg_21_de[] = {0x57, 0x49, 0x52, 0x44, 0xF7, 0x47, 0x45, 0x4C, 0x88, 0x53, 0x43, 0x48, 0x54, 0x0E, 0xFD};
u8 D_filemenu_80250CD4[] = {0x53, 0x45, 0x52, 0x41, 0xF7, 0x45, 0x46, 0x46, 0x41, 0x43, 0x7D, 0x0E, 0xFD};
u8 D_filemenu_80250CE4[] = {0x53, 0x45, 0x52, 0x78, 0xF7, 0x42, 0x4F, 0x52, 0x52, 0x41, 0x44, 0x4F, 0x0E, 0xFD};
u8 filemenu_msg_22[] = {0x2F, 0x2B, 0xF7, 0x54, 0x4F, 0xF7, 0x43, 0x4F, 0x50, 0x59, 0xF7, 0x54, 0x4F, 0xF7, 0x54, 0x48, 0x49, 0x53, 0xF7, 0x46, 0x49, 0x4C, 0x45, 0x1F, 0xFD};
u8 D_filemenu_80250D10[] = {0x33, 0x4F, 0x4C, 0x4C, 0xF7, 0x41, 0x55, 0x46, 0xF7, 0x44, 0x49, 0x45, 0x53, 0x45, 0xF7, 0x24, 0x41, 0x54, 0x45, 0x49, 0xF7, 0x4B, 0x4F, 0x50, 0x49, 0x45, 0x52, 0x54, 0xF7, 0x57, 0x45, 0x52, 0x44, 0x45, 0x4E, 0x1F, 0xFD};
u8 D_filemenu_80250D38[] = {0x23, 0x4F, 0x4E, 0x46, 0x49, 0x52, 0x4D, 0x45, 0x52, 0xF7, 0x4C, 0x41, 0xF7, 0x43, 0x4F, 0x50, 0x49, 0x45, 0x1F, 0xFD};
u8 D_filemenu_80250D4C[] = {0x8E, 0x31, 0x55, 0x49, 0x45, 0x52, 0x45, 0x53, 0xF7, 0x43, 0x4F, 0x50, 0x49, 0x41, 0x52, 0x4C, 0x4F, 0xF7, 0x41, 0x51, 0x55, 0x81, 0xF7, 0x1F, 0xFD};
u8 filemenu_msg_23[] = {0x33, 0x54, 0x41, 0x52, 0x54, 0xF7, 0x47, 0x41, 0x4D, 0x45, 0xF7, 0x57, 0x49, 0x54, 0x48, 0xFD};
u8 D_filemenu_80250D78[] = {0x33, 0x50, 0x49, 0x45, 0x4C, 0xF7, 0x4D, 0x49, 0x54, 0xFD};
u8 D_filemenu_80250D84[] = {0x23, 0x4F, 0x4D, 0x4D, 0x45, 0x4E, 0x43, 0x45, 0x52, 0xF7, 0x55, 0x4E, 0x45, 0xF7, 0x50, 0x41, 0x52, 0x54, 0x49, 0x45, 0xF7, 0x41, 0x56, 0x45, 0x43, 0xF7, 0x4C, 0x45, 0xFD};
u8 D_filemenu_80250DA4[] = {0x8E, 0x31, 0x55, 0x49, 0x45, 0x52, 0x45, 0x53, 0xF7, 0x45, 0x53, 0x54, 0x45, 0xF7, 0x46, 0x49, 0x43, 0x48, 0x45, 0x52, 0x4F, 0x1F, 0xFD};
u8 D_filemenu_80250DBC[] = {0x42, 0x45, 0x47, 0x49, 0x4E, 0x4E, 0x45, 0x4E, 0x1F, 0xFD};
u8 filemenu_msg_26[] = {0x48, 0x41, 0x53, 0xF7, 0x42, 0x45, 0x45, 0x4E, 0xF7, 0x44, 0x45, 0x4C, 0x45, 0x54, 0x45, 0x44, 0x0E, 0xFD};
u8 D_filemenu_80250DDC[] = {0x57, 0x55, 0x52, 0x44, 0x45, 0xF7, 0x47, 0x45, 0x4C, 0x88, 0x53, 0x43, 0x48, 0x54, 0x0E, 0xFD};
u8 D_filemenu_80250DEC[] = {0x41, 0xF7, 0x7D, 0x54, 0x7D, 0xF7, 0x45, 0x46, 0x46, 0x41, 0x43, 0x7D, 0x0E, 0xFD};
u8 D_filemenu_80250DFC[] = {0x48, 0x41, 0xF7, 0x53, 0x49, 0x44, 0x4F, 0xF7, 0x42, 0x4F, 0x52, 0x52, 0x41, 0x44, 0x4F, 0x0E, 0xFD};
u8 filemenu_msg_27[] = {0xFD};
u8 D_filemenu_80250E14[] = {0x2C, 0x45, 0xFD};
u8 D_filemenu_80250E18[] = {0x25, 0x4C, 0xFD};
u8 filemenu_msg_28[] = {0x23, 0x4F, 0x50, 0x59, 0xF7, 0x46, 0x52, 0x4F, 0x4D, 0xFD};
u8 D_filemenu_80250E28[] = {0x36, 0x4F, 0x4E, 0xFD};
u8 D_filemenu_80250E2C[] = {0x23, 0x4F, 0x50, 0x49, 0x45, 0x52, 0xF7, 0x44, 0x55, 0xFD};
u8 D_filemenu_80250E38[] = {0x23, 0x4F, 0x50, 0x49, 0x41, 0xF7, 0x44, 0x45, 0x4C, 0xFD};
u8 filemenu_msg_29[] = {0x54, 0x4F, 0xFD};
u8 D_filemenu_80250E48[] = {0x4E, 0x41, 0x43, 0x48, 0xFD};
u8 D_filemenu_80250E50[] = {0x41, 0x55, 0xFD};
u8 D_filemenu_80250E54[] = {0x41, 0x4C, 0xFD};
u8 D_filemenu_80250E58[] = {0x4B, 0x4F, 0x50, 0x49, 0x45, 0x52, 0x45, 0x4E, 0x0E, 0xFD};
u8 filemenu_msg_31[] = {0x48, 0x41, 0x53, 0xF7, 0x42, 0x45, 0x45, 0x4E, 0xF7, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x44, 0x0E, 0xFD};
u8 D_filemenu_80250E78[] = {0x57, 0x55, 0x52, 0x44, 0x45, 0xF7, 0x45, 0x52, 0x53, 0x54, 0x45, 0x4C, 0x4C, 0x54, 0x0E, 0xFD};
u8 D_filemenu_80250E88[] = {0x41, 0xF7, 0x7D, 0x54, 0x7D, 0xF7, 0x43, 0x52, 0x7D, 0x7D, 0x0E, 0xFD};
u8 D_filemenu_80250E94[] = {0x48, 0x41, 0xF7, 0x53, 0x49, 0x44, 0x4F, 0xF7, 0x43, 0x52, 0x45, 0x41, 0x44, 0x4F, 0x0E, 0xFD};
// Enter a file name
u8 filemenu_msg_33[] = {0x25, 0x4E, 0x54, 0x45, 0x52, 0xF7, 0x41, 0xF7, 0x46, 0x49, 0x4C, 0x45, 0xF7, 0x4E, 0x41, 0x4D, 0x45, 0x01, 0xFD};
u8 D_filemenu_80250EB8[] = {0x27, 0x49, 0x42, 0xF7, 0x45, 0x49, 0x4E, 0x45, 0x4E, 0xF7, 0x2E, 0x41, 0x4D, 0x45, 0x4E, 0xF7, 0x45, 0x49, 0x4E, 0x01, 0xFD};
u8 D_filemenu_80250ED0[] = {0x25, 0x4E, 0x54, 0x52, 0x45, 0x52, 0xF7, 0x4C, 0x45, 0xF7, 0x4E, 0x4F, 0x4D, 0xF7, 0x44, 0x55, 0xF7, 0x26, 0x49, 0x43, 0x48, 0x49, 0x45, 0x52, 0x01, 0xFD};
u8 D_filemenu_80250EEC[] = {0x8D, 0x29, 0x4E, 0x54, 0x52, 0x4F, 0x44, 0x55, 0x43, 0x45, 0xF7, 0x4E, 0x4F, 0x4D, 0x42, 0x52, 0x45, 0x01, 0xFD};
u8 filemenu_msg_36[] = {0x11, 0xFD};
u8 filemenu_msg_37[] = {0x12, 0xFD};
u8 filemenu_msg_38[] = {0x13, 0xFD};
u8 filemenu_msg_39[] = {0x14, 0xFD};
u8 filemenu_createfile_gridData[] = {0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5A, 0x61, 0x66, 0x6A, 0x6D, 0x6F, 0x73, 0x76, 0x77, 0x78, 0x79, 0x7A, 0x7B, 0x7C, 0x7D, 0x7E, 0x7F, 0x81, 0x82, 0x84, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x10, 0x0E, 0x0D, 0xF7, 0x00, 0x90, 0x91, 0x20, 0xF7, 0xF7, 0xF7, 0xC9, 0xF7, 0xF7, 0xCA, 0xF7, 0xF7};
#else
u8 filemenu_msg_01[] = { 0x33, 0x45, 0x4C, 0x45, 0x43, 0x54, 0xF7, 0x46, 0x49, 0x4C, 0x45, 0xF7, 0x54, 0x4F, 0xF7, 0x53,
0x54, 0x41, 0x52, 0x54, 0x1A, 0xFD };
@ -151,6 +333,18 @@ u8 filemenu_msg_33[] = { 0x1F, 0xFD };
u8 filemenu_msg_34[] = { 0x0E, 0xFD };
#endif
#if VERSION_PAL
u8 *gFileMenuMessages[] = {
0, filemenu_msg_01, filemenu_msg_02, filemenu_msg_03, filemenu_msg_04,
filemenu_msg_05, filemenu_msg_06, filemenu_msg_07, filemenu_msg_08, filemenu_msg_09,
filemenu_msg_10, filemenu_msg_11, filemenu_msg_12, filemenu_msg_13, filemenu_msg_14,
filemenu_msg_15, filemenu_msg_16, filemenu_msg_12, filemenu_msg_18, filemenu_msg_19,
filemenu_msg_19, filemenu_msg_21, filemenu_msg_22, filemenu_msg_23, filemenu_msg_24,
filemenu_msg_19, filemenu_msg_26, filemenu_msg_27, filemenu_msg_28, filemenu_msg_29,
filemenu_msg_12, filemenu_msg_31, filemenu_msg_27, filemenu_msg_33, filemenu_msg_24,
filemenu_msg_12, filemenu_msg_36, filemenu_msg_37, filemenu_msg_38, filemenu_msg_39,
};
#else
s32 gFileMenuMessages[] = {
0x00000000, (s32)filemenu_msg_01, (s32)filemenu_msg_02, (s32)filemenu_msg_03, (s32)filemenu_msg_04,
(s32)filemenu_msg_05, (s32)filemenu_msg_06, (s32)filemenu_msg_07, (s32)filemenu_msg_08, (s32)filemenu_msg_09,
@ -160,6 +354,145 @@ s32 gFileMenuMessages[] = {
(s32)filemenu_msg_25, (s32)filemenu_msg_26, (s32)filemenu_msg_27, (s32)filemenu_msg_28, (s32)filemenu_msg_29,
(s32)filemenu_msg_30, (s32)filemenu_msg_31, (s32)filemenu_msg_32, (s32)filemenu_msg_33, (s32)filemenu_msg_34
};
#endif
#if VERSION_PAL
u8* D_filemenu_80251018[] = {
0,
filemenu_msg_01_de,
filemenu_msg_02_de,
filemenu_msg_03_de,
filemenu_msg_04_de,
filemenu_msg_05_de,
filemenu_msg_06,
filemenu_msg_07_de,
filemenu_msg_08_de,
filemenu_msg_09_de,
filemenu_msg_10_de,
filemenu_msg_11_de,
filemenu_msg_12,
filemenu_msg_13_de,
filemenu_msg_14_de,
filemenu_msg_15_de,
filemenu_msg_16_de,
filemenu_msg_12,
filemenu_msg_18,
filemenu_msg_19_de,
filemenu_msg_20_de,
filemenu_msg_21_de,
D_filemenu_80250D10,
D_filemenu_80250D78,
D_filemenu_80250DBC,
filemenu_msg_19_de,
D_filemenu_80250DDC,
filemenu_msg_27,
D_filemenu_80250E28,
D_filemenu_80250E48,
D_filemenu_80250E58,
D_filemenu_80250E78,
filemenu_msg_27,
D_filemenu_80250EB8,
filemenu_msg_24,
filemenu_msg_12,
filemenu_msg_36,
filemenu_msg_37,
filemenu_msg_38,
filemenu_msg_39,
};
u8* D_filemenu_802510B8[] = {
0,
D_filemenu_8025099C,
D_filemenu_802509F4,
D_filemenu_80250A58,
D_filemenu_80250AB0,
D_filemenu_80250AE4,
D_filemenu_80250AFC,
D_filemenu_80250B24,
D_filemenu_80250B48,
D_filemenu_80250B6C,
D_filemenu_80250B94,
D_filemenu_80250BBC,
filemenu_msg_12,
D_filemenu_80250BE4,
D_filemenu_80250BF8,
D_filemenu_80250C10,
D_filemenu_80250C48,
filemenu_msg_12,
filemenu_msg_18,
D_filemenu_80250C90,
D_filemenu_80250CA8,
D_filemenu_80250CD4,
D_filemenu_80250D38,
D_filemenu_80250D84,
filemenu_msg_24,
D_filemenu_80250C90,
D_filemenu_80250DEC,
D_filemenu_80250E14,
D_filemenu_80250E2C,
D_filemenu_80250E50,
filemenu_msg_12,
D_filemenu_80250E88,
filemenu_msg_27,
D_filemenu_80250ED0,
filemenu_msg_24,
filemenu_msg_12,
filemenu_msg_36,
filemenu_msg_37,
filemenu_msg_38,
filemenu_msg_39,
};
u8* D_filemenu_80251158[] = {
0,
D_filemenu_802509B0,
D_filemenu_80250A10,
D_filemenu_80250A68,
D_filemenu_80250AC8,
D_filemenu_80250AEC,
D_filemenu_80250B04,
D_filemenu_80250B2C,
D_filemenu_80250B50,
D_filemenu_80250B74,
D_filemenu_80250B9C,
D_filemenu_80250BCC,
filemenu_msg_12,
D_filemenu_80250BE8,
D_filemenu_80250BFC,
D_filemenu_80250C18,
D_filemenu_80250C5C,
filemenu_msg_12,
D_filemenu_80250C78,
D_filemenu_80250C98,
D_filemenu_80250CA8,
D_filemenu_80250CE4,
D_filemenu_80250D4C,
D_filemenu_80250DA4,
filemenu_msg_24,
D_filemenu_80250C98,
D_filemenu_80250DFC,
D_filemenu_80250E18,
D_filemenu_80250E38,
D_filemenu_80250E54,
filemenu_msg_12,
D_filemenu_80250E94,
D_filemenu_80250E18,
D_filemenu_80250EEC,
filemenu_msg_24,
filemenu_msg_12,
filemenu_msg_36,
filemenu_msg_37,
filemenu_msg_38,
filemenu_msg_39,
};
u8 **gFileMenuMessages_intl[] = {
gFileMenuMessages,
D_filemenu_80251018,
D_filemenu_802510B8,
D_filemenu_80251158,
};
#endif
s32 filemenu_draw_char(s32 c, s32 x, s32 y, s32 flag1, s32 color, s32 flag2) {
MessageCharset* charset;
@ -297,7 +630,11 @@ void filemenu_draw_message(u8* message, s32 x, s32 y, s32 alpha, s32 color, u32
return;
}
if ((s32) message >= 0xC6) {
#if VERSION_PAL
message = (u8*) filemenu_specialSymbols[gCurrentLanguage][(s32) message - 0xC6];
#else
message = (u8*)filemenu_specialSymbols[(s32) message - 0xC6];
#endif
}
}
@ -325,10 +662,17 @@ void filemenu_draw_message(u8* message, s32 x, s32 y, s32 alpha, s32 color, u32
}
}
#if VERSION_PAL
INCLUDE_ASM(void, "filemenu/filemenu_msg", filemenu_get_menu_message);
#else
u8* filemenu_get_menu_message(s32 idx) {
return (u8*)gFileMenuMessages[idx];
}
#endif
#if VERSION_PAL
INCLUDE_ASM(void, "filemenu/filemenu_msg", filemenu_draw_file_name);
#else
void filemenu_draw_file_name(u8* filename, s32 length, s32 x, s32 y, s32 alpha, s32 arg5, s32 arg6, s32 charWidth) {
s32 i;
@ -349,3 +693,4 @@ void filemenu_draw_file_name(u8* filename, s32 length, s32 x, s32 y, s32 alpha,
}
}
}
#endif

View File

@ -0,0 +1,372 @@
#include "common.h"
#include "filemenu.h"
#include "message_ids.h"
#include "hud_element.h"
#include "ld_addrs.h"
extern HudScript HES_Spirit1;
HudScript* D_filemenu_8024F120[] = { &HES_Spirit1 };
u32 D_filemenu_8024F124 = 0x00000000;
s32 D_filemenu_8024F128 = 0x00000000;
u8 D_filemenu_8024F12C[] = { 0x00, 0x01, 0x02, 0x03 };
u32 D_filemenu_8024F130[] = {
MSG_PAL_Menu_0056,
MSG_PAL_Menu_0057,
MSG_PAL_Menu_0058,
MSG_PAL_Menu_0059,
};
Gfx D_filemenu_8024F140[] = {
gsDPPipeSync(),
gsDPSetCycleType(G_CYC_1CYCLE),
gsDPSetRenderMode(G_RM_CLD_SURF, G_RM_CLD_SURF2),
gsDPSetTextureFilter(G_TF_POINT),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
gsDPSetTexturePersp(G_TP_NONE),
gsDPSetColorDither(G_CD_DISABLE),
gsDPSetAlphaDither(G_AD_DISABLE),
gsDPSetTextureLOD(G_TL_TILE),
gsDPSetTextureLUT(G_TT_NONE),
gsDPSetTextureDetail(G_TD_CLAMP),
gsDPSetTextureConvert(G_TC_FILT),
gsDPSetCombineKey(G_CK_NONE),
gsDPSetAlphaCompare(G_AC_NONE),
gsDPNoOp(),
gsDPSetScissor(G_SC_NON_INTERLACE, 0, 0, 320, 240),
gsSPEndDisplayList(),
};
u32 D_filemenu_8024F1C8[] = {
0x00000300,
0x00000000,
0x00000200,
0x00000100,
};
void filemenu_draw_pal_8024d6a0(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening);
void filemenu_draw_pal_8024DAA0(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening);
void filemenu_update_pal_80247f40(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, f32* scaleX, f32* scaleY,
f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity);
void filemenu_draw_pal_8024DA50(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening);
void filemenu_draw_pal_8024DA00(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening);
void filemenu_draw_pal_8024D9B0(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening);
void filemenu_selectlanguage_handle_input(MenuPanel*);
void filemenu_selectlanguage_init(MenuPanel*);
void filemenu_selectlanguage_cleanup(MenuPanel*);
void filemenu_selectlanguage_update(MenuPanel*);
MenuWindowBP D_filemenu_8024F1D8[] = {
{
.windowID = WINDOW_ID_FILEMENU_TITLE,
.unk_01 = 0,
.pos = { .x = 0, .y = 0 },
.width = 0,
.height = 0,
.priority = WINDOW_PRIORITY_0,
.fpDrawContents = &filemenu_draw_pal_8024d6a0,
.tab = NULL,
.parentID = WINDOW_ID_FILEMENU_MAIN,
.fpUpdate = { .func=&filemenu_update_show_title },
.extraFlags = 0,
.style = { .customStyle = &filemenu_windowStyles[3] }
},
{
.windowID = WINDOW_ID_FILEMENU_FILE2_INFO,
.unk_01 = 0,
.pos = { .x = 89, .y = 98 },
.width = 110,
.height = 20,
.priority = WINDOW_PRIORITY_0,
.fpDrawContents = &filemenu_draw_pal_8024DA50,
.tab = NULL,
.parentID = WINDOW_ID_FILEMENU_MAIN,
.fpUpdate = { .func=&filemenu_update_pal_80247f40 },
.extraFlags = 0,
.style = { .customStyle = &filemenu_windowStyles[9] }
},
{
.windowID = WINDOW_ID_FILEMENU_FILE3_INFO,
.unk_01 = 0,
.pos = { .x = 89, .y = 124 },
.width = 110,
.height = 20,
.priority = WINDOW_PRIORITY_0,
.fpDrawContents = &filemenu_draw_pal_8024DAA0,
.tab = NULL,
.parentID = WINDOW_ID_FILEMENU_MAIN,
.fpUpdate = { .func=&filemenu_update_pal_80247f40 },
.extraFlags = 0,
.style = { .customStyle = &filemenu_windowStyles[10] }
},
{
.windowID = WINDOW_ID_FILEMENU_FILE0_INFO,
.unk_01 = 0,
.pos = { .x = 89, .y = 46 },
.width = 110,
.height = 20,
.priority = WINDOW_PRIORITY_0,
.fpDrawContents = &filemenu_draw_pal_8024D9B0,
.tab = NULL,
.parentID = WINDOW_ID_FILEMENU_MAIN,
.fpUpdate = { .func=&filemenu_update_pal_80247f40 },
.extraFlags = 0,
.style = { .customStyle = &filemenu_windowStyles[7] }
},
{
.windowID = WINDOW_ID_FILEMENU_FILE1_INFO,
.unk_01 = 0,
.pos = { .x = 89, .y = 72 },
.width = 110,
.height = 20,
.priority = WINDOW_PRIORITY_0,
.fpDrawContents = &filemenu_draw_pal_8024DA00,
.tab = NULL,
.parentID = WINDOW_ID_FILEMENU_MAIN,
.fpUpdate = { .func=&filemenu_update_pal_80247f40 },
.extraFlags = 0,
.style = { .customStyle = &filemenu_windowStyles[8] }
},
};
MenuPanel filemenu_selectlanguage_menuBP = {
.initialized = FALSE,
.col = 0,
.row = 0,
.selected = 0,
.page = 0,
.numCols =1,
.numRows = 4,
.numPages = 0,
.gridData = D_filemenu_8024F12C,
.fpInit = filemenu_selectlanguage_init,
.fpHandleInput = filemenu_selectlanguage_handle_input,
.fpUpdate = filemenu_selectlanguage_update,
.fpCleanup = filemenu_selectlanguage_cleanup
};
void filemenu_draw_pal_8024d6a0(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening) {
draw_msg(MSG_PAL_Menu_0055, baseX + (192 - get_msg_width(MSG_PAL_Menu_0055, 0)) / 2, baseY + 4, 255, 0, 0);
}
void func_filemenu_8024D710(s32 arg0, MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening) {
s32 var_a1;
if (filemenu_currentMenu == 4 && menu->selected == arg0) {
filemenu_set_cursor_goal_pos(arg0 + 60, baseX + 4, baseY + 10);
}
var_a1 = D_filemenu_8024F130[arg0];
draw_msg(var_a1, baseX + 36, baseY + 2, 255, 10, 0);
gSPDisplayList(gMainGfxPos++, D_filemenu_8024F140);
if (arg0 != gCurrentLanguage) {
gDPSetPrimColor(gMainGfxPos++, 0, 0, 255, 255, 255, 128);
gDPSetCombineMode(gMainGfxPos++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM);
} else {
gDPSetCombineMode(gMainGfxPos++, G_CC_DECALRGBA, G_CC_DECALRGBA);
}
gDPPipeSync(gMainGfxPos++);
gDPSetTextureImage(gMainGfxPos++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, &D_802517E0[D_filemenu_8024F124][D_filemenu_8024F1C8[arg0]]);
gDPSetTile(gMainGfxPos++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0x0000, G_TX_LOADTILE, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD);
gDPLoadSync(gMainGfxPos++);
gDPLoadBlock(gMainGfxPos++, G_TX_LOADTILE, 0, 0, 255, 512);
gDPPipeSync(gMainGfxPos++);
gDPSetTile(gMainGfxPos++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 4, 0x0000, G_TX_RENDERTILE, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD);
gDPSetTileSize(gMainGfxPos++, G_TX_RENDERTILE, 0, 0, (16 - 1) << 2, (16 - 1) << 2);
gSPTextureRectangle(gMainGfxPos++, (baseX + 15) << 2, (baseY + 2) << 2, (baseX + 31) << 2, (baseY + 18) << 2, 0, 0, 0, 0x400, 0x400);
}
void filemenu_draw_pal_8024D9B0(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening) {
func_filemenu_8024D710(0, menu, baseX, baseY, width, height, opacity, darkening);
}
void filemenu_draw_pal_8024DA00(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening) {
func_filemenu_8024D710(1, menu, baseX, baseY, width, height, opacity, darkening);
}
void filemenu_draw_pal_8024DA50(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening) {
func_filemenu_8024D710(2, menu, baseX, baseY, width, height, opacity, darkening);
}
void filemenu_draw_pal_8024DAA0(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening) {
func_filemenu_8024D710(3, menu, baseX, baseY, width, height, opacity, darkening);
}
void filemenu_selectlanguage_init(MenuPanel* menu) {
s16 x;
s16* posXPtr;
s32 i;
for (i = 0; i < ARRAY_COUNT(D_filemenu_8024F120); i++) {
D_802517D0[i] = hud_element_create(D_filemenu_8024F120[i]);
hud_element_set_flags(D_802517D0[i], HUD_ELEMENT_FLAG_80);
}
for (i = 0; i < ARRAY_COUNT(D_filemenu_8024F1D8); i++) {
D_filemenu_8024F1D8[i].tab = menu;
}
setup_pause_menu_tab(D_filemenu_8024F1D8, 5);
menu->selected = MENU_PANEL_SELECTED_GRID_DATA(menu);
D_802517D4[0] = (s32) menu->row;
gWindows[WINDOW_ID_FILEMENU_TITLE].pos.y = 1;
gWindows[WINDOW_ID_FILEMENU_TITLE].width = 192;
gWindows[WINDOW_ID_FILEMENU_TITLE].height = 25;
posXPtr = &gWindows[WINDOW_ID_FILEMENU_TITLE].pos.x;
if (gWindows[WINDOW_ID_FILEMENU_TITLE].parent != -1) {
x = (gWindows[gWindows[WINDOW_ID_FILEMENU_TITLE].parent].width / 2) - (gWindows[WINDOW_ID_FILEMENU_TITLE].width / 2);
} else {
x = 64;
}
*posXPtr = x;
menu->initialized = 1;
D_filemenu_8024F124 = 0;
dma_copy(titlemenu_flags_ROM_START, titlemenu_flags_ROM_END, D_802517E0[0]);
dma_copy(titlemenu_flags_ROM_START + 0x800, titlemenu_flags_ROM_END, D_802517E0[1]);
D_filemenu_8024F128 = 2;
}
void filemenu_selectlanguage_handle_input(MenuPanel* menu) {
s32 originalSelected = menu->selected;
s32 var_s1 = 0;
s32 var_a1;
if (filemenu_heldButtons & BUTTON_STICK_LEFT) {
while (TRUE) {
menu->col--;
if (menu->col < 0) {
menu->col = 0;
break;
}
if (menu->selected != MENU_PANEL_SELECTED_GRID_DATA(menu)) {
break;
}
}
}
if (filemenu_heldButtons & BUTTON_STICK_RIGHT) {
while (TRUE) {
menu->col++;
if (menu->col >= menu->numCols) {
menu->col = menu->numCols - 1;
break;
}
if (menu->selected != MENU_PANEL_SELECTED_GRID_DATA(menu)) {
break;
}
}
}
if (filemenu_heldButtons & BUTTON_STICK_UP) {
menu->row--;
if (menu->row < 0) {
menu->row = 0;
}
}
if (filemenu_heldButtons & BUTTON_STICK_DOWN) {
menu->row++;
if (menu->row >= menu->numRows) {
menu->row = menu->numRows - 1;
}
}
var_a1 = 0;
if (filemenu_pressedButtons & BUTTON_B) {
if (menu->row != D_802517D4[0]) {
menu->row = D_802517D4[0];
sfx_play_sound(SOUND_MENU_BACK);
var_a1 = 1;
} else {
var_s1 = 1;
}
}
menu->selected = MENU_PANEL_SELECTED_GRID_DATA(menu);
if (originalSelected != menu->selected) {
if (var_a1 == 0) {
sfx_play_sound(SOUND_2101);
}
switch (menu->selected) { /* irregular */
case 0:
gCurrentLanguage = LANGUAGE_EN;
break;
case 1:
gCurrentLanguage = LANGUAGE_DE;
break;
case 2:
gCurrentLanguage = LANGUAGE_FR;
break;
case 3:
gCurrentLanguage = LANGUAGE_ES;
break;
}
}
if ((filemenu_pressedButtons & (BUTTON_A | BUTTON_START)) || (var_s1 != 0)) {
set_window_update(WINDOW_ID_FILEMENU_FILE0_INFO, (s32) &filemenu_selectlanguage_80248018);
set_window_update(WINDOW_ID_FILEMENU_FILE1_INFO, (s32) &filemenu_selectlanguage_80248018);
set_window_update(WINDOW_ID_FILEMENU_FILE2_INFO, (s32) &filemenu_selectlanguage_80248018);
set_window_update(WINDOW_ID_FILEMENU_FILE3_INFO, (s32) &filemenu_selectlanguage_80248018);
set_window_update(WINDOW_ID_FILEMENU_TITLE, (s32) filemenu_update_hidden_title);
if (var_s1 == 0) {
sfx_play_sound(SOUND_F1);
} else {
sfx_play_sound(SOUND_D6);
}
set_game_mode(GAME_MODE_END_LANGUAGE_SELECT);
}
}
void filemenu_selectlanguage_update(MenuPanel* menu) {
gWindowStyles[WINDOW_ID_FILEMENU_FILE0_INFO].customStyle = &filemenu_windowStyles[15];
gWindowStyles[WINDOW_ID_FILEMENU_FILE1_INFO].customStyle = &filemenu_windowStyles[15];
gWindowStyles[WINDOW_ID_FILEMENU_FILE2_INFO].customStyle = &filemenu_windowStyles[15];
gWindowStyles[WINDOW_ID_FILEMENU_FILE3_INFO].customStyle = &filemenu_windowStyles[15];
switch (menu->selected) {
case 0:
gWindowStyles[WINDOW_ID_FILEMENU_FILE0_INFO].customStyle = &filemenu_windowStyles[16];
break;
case 1:
gWindowStyles[WINDOW_ID_FILEMENU_FILE1_INFO].customStyle = &filemenu_windowStyles[16];
break;
case 2:
gWindowStyles[WINDOW_ID_FILEMENU_FILE2_INFO].customStyle = &filemenu_windowStyles[16];
break;
case 3:
gWindowStyles[WINDOW_ID_FILEMENU_FILE3_INFO].customStyle = &filemenu_windowStyles[16];
break;
}
D_filemenu_8024F124 ^= 1;
D_filemenu_8024F128 = D_filemenu_8024F128 + 1;
if (D_filemenu_8024F128 > 40) {
D_filemenu_8024F128 = 0;
}
dma_copy(titlemenu_flags_ROM_START + (D_filemenu_8024F128 * 0x800), titlemenu_flags_ROM_END, D_802517E0[D_filemenu_8024F124]);
}
void filemenu_selectlanguage_cleanup(MenuPanel* arg0) {
s32 i;
for (i = 0; i < ARRAY_COUNT(D_802517D0); i++) {
hud_element_free(D_802517D0[i]);
}
}

View File

@ -31,7 +31,9 @@ u8 filemenu_yesno_gridData[] = {
0, 1,
0, 1,
0, 1,
#if !VERSION_PAL
0, 1
#endif
};
MenuWindowBP filemenu_yesno_windowBPs[] = {
@ -81,6 +83,9 @@ MenuPanel filemenu_yesno_menuBP = {
.fpCleanup = &filemenu_yesno_cleanup
};
#if VERSION_PAL
INCLUDE_ASM(void, "filemenu/filemenu_yesno", filemenu_yesno_draw_options_contents);
#else
void filemenu_yesno_draw_options_contents(
MenuPanel* menu,
s32 baseX, s32 baseY,
@ -141,7 +146,11 @@ void filemenu_yesno_draw_options_contents(
filemenu_set_cursor_goal_pos(WINDOW_ID_FILEMENU_YESNO_OPTIONS, baseX + cursorGoalXOffset, baseY + cursorGoalYOffset);
}
}
#endif
#if VERSION_PAL
INCLUDE_ASM(void, "filemenu/filemenu_yesno", filemenu_yesno_draw_prompt_contents);
#else
void filemenu_yesno_draw_prompt_contents(
MenuPanel* menu,
s32 baseX, s32 baseY,
@ -190,6 +199,7 @@ void filemenu_yesno_draw_prompt_contents(
break;
}
}
#endif
void filemenu_yesno_init(MenuPanel* tab) {
s32 i;
@ -202,6 +212,9 @@ void filemenu_yesno_init(MenuPanel* tab) {
tab->initialized = TRUE;
}
#if VERSION_PAL
INCLUDE_ASM(void, "filemenu/filemenu_yesno", filemenu_yesno_handle_input);
#else
void filemenu_yesno_handle_input(MenuPanel* menu) {
s32 oldSelected = menu->selected;
@ -427,6 +440,7 @@ void filemenu_yesno_handle_input(MenuPanel* menu) {
}
}
}
#endif
void filemenu_yesno_update(MenuPanel* menu) {
}

View File

@ -0,0 +1,138 @@
.set noat /* allow manual use of $at */
.set noreorder /* don't insert nops after branches */
/* Generated by spimdisasm 1.11.1 */
glabel filemenu_init
/* 1713C8 802489A8 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 1713CC 802489AC AFB3001C */ sw $s3, 0x1C($sp)
/* 1713D0 802489B0 0080982D */ daddu $s3, $a0, $zero
/* 1713D4 802489B4 3C040013 */ lui $a0, %hi(ui_images_ROM_START)
/* 1713D8 802489B8 24842E40 */ addiu $a0, $a0, %lo(ui_images_ROM_START)
/* 1713DC 802489BC 3C050014 */ lui $a1, %hi(ui_images_ROM_END)
/* 1713E0 802489C0 24A5B8F0 */ addiu $a1, $a1, %lo(ui_images_ROM_END)
/* 1713E4 802489C4 3C068024 */ lui $a2, %hi(ui_images_VRAM)
/* 1713E8 802489C8 24C6E000 */ addiu $a2, $a2, %lo(ui_images_VRAM)
/* 1713EC 802489CC AFBF0020 */ sw $ra, 0x20($sp)
/* 1713F0 802489D0 AFB20018 */ sw $s2, 0x18($sp)
/* 1713F4 802489D4 AFB10014 */ sw $s1, 0x14($sp)
/* 1713F8 802489D8 0C00A5AF */ jal dma_copy
/* 1713FC 802489DC AFB00010 */ sw $s0, 0x10($sp)
/* 171400 802489E0 0000802D */ daddu $s0, $zero, $zero
/* 171404 802489E4 3C128025 */ lui $s2, %hi(filemenu_cursorHudElemID)
/* 171408 802489E8 26521760 */ addiu $s2, $s2, %lo(filemenu_cursorHudElemID)
/* 17140C 802489EC 3C118025 */ lui $s1, %hi(filemenu_cursor_hudElemScripts)
/* 171410 802489F0 2631E980 */ addiu $s1, $s1, %lo(filemenu_cursor_hudElemScripts)
.Lfilemenu_802489F4:
/* 171414 802489F4 8E240000 */ lw $a0, 0x0($s1)
/* 171418 802489F8 26310004 */ addiu $s1, $s1, 0x4
/* 17141C 802489FC 0C050015 */ jal hud_element_create
/* 171420 80248A00 26100001 */ addiu $s0, $s0, 0x1
/* 171424 80248A04 0040202D */ daddu $a0, $v0, $zero
/* 171428 80248A08 3C052000 */ lui $a1, (0x20000080 >> 16)
/* 17142C 80248A0C 34A50080 */ ori $a1, $a1, (0x20000080 & 0xFFFF)
/* 171430 80248A10 0C050D6C */ jal hud_element_set_flags
/* 171434 80248A14 AE440000 */ sw $a0, 0x0($s2)
/* 171438 80248A18 1A00FFF6 */ blez $s0, .Lfilemenu_802489F4
/* 17143C 80248A1C 26520004 */ addiu $s2, $s2, 0x4
/* 171440 80248A20 3C028025 */ lui $v0, %hi(filemenu_cursorHudElemID)
/* 171444 80248A24 8C421760 */ lw $v0, %lo(filemenu_cursorHudElemID)($v0)
/* 171448 80248A28 3C018025 */ lui $at, %hi(filemenu_cursorHudElem)
/* 17144C 80248A2C AC221748 */ sw $v0, %lo(filemenu_cursorHudElem)($at)
/* 171450 80248A30 16600004 */ bnez $s3, .Lfilemenu_80248A44
/* 171454 80248A34 00000000 */ nop
/* 171458 80248A38 3C028025 */ lui $v0, %hi(filemenu_common_windowBPs+0x20)
/* 17145C 80248A3C 8C42EC14 */ lw $v0, %lo(filemenu_common_windowBPs+0x20)($v0)
/* 171460 80248A40 AC400000 */ sw $zero, 0x0($v0)
.Lfilemenu_80248A44:
/* 171464 80248A44 3C048025 */ lui $a0, %hi(filemenu_common_windowBPs)
/* 171468 80248A48 2484EBF4 */ addiu $a0, $a0, %lo(filemenu_common_windowBPs)
/* 17146C 80248A4C 0C051AB8 */ jal setup_pause_menu_tab
/* 171470 80248A50 24050003 */ addiu $a1, $zero, 0x3
/* 171474 80248A54 24020002 */ addiu $v0, $zero, 0x2
/* 171478 80248A58 1262002C */ beq $s3, $v0, .Lfilemenu_80248B0C
/* 17147C 80248A5C 0000282D */ daddu $a1, $zero, $zero
/* 171480 80248A60 3C108025 */ lui $s0, %hi(filemenu_menus)
/* 171484 80248A64 8E10E984 */ lw $s0, %lo(filemenu_menus)($s0)
/* 171488 80248A68 3C018025 */ lui $at, %hi(filemenu_currentMenu)
/* 17148C 80248A6C A0201758 */ sb $zero, %lo(filemenu_currentMenu)($at)
/* 171490 80248A70 0C00AD5D */ jal func_PAL_8002B574
/* 171494 80248A74 A2000004 */ sb $zero, 0x4($s0)
/* 171498 80248A78 82020004 */ lb $v0, 0x4($s0)
/* 17149C 80248A7C 1440000E */ bnez $v0, .Lfilemenu_80248AB8
/* 1714A0 80248A80 0200202D */ daddu $a0, $s0, $zero
/* 1714A4 80248A84 0C00ABF8 */ jal fio_has_valid_backup
/* 1714A8 80248A88 00000000 */ nop
/* 1714AC 80248A8C 3C04800D */ lui $a0, %hi(D_800D5D58)
/* 1714B0 80248A90 24845D58 */ addiu $a0, $a0, %lo(D_800D5D58)
/* 1714B4 80248A94 8C82003C */ lw $v0, 0x3C($a0)
/* 1714B8 80248A98 2C420004 */ sltiu $v0, $v0, 0x4
/* 1714BC 80248A9C 50400001 */ beql $v0, $zero, .Lfilemenu_80248AA4
/* 1714C0 80248AA0 AC80003C */ sw $zero, 0x3C($a0)
.Lfilemenu_80248AA4:
/* 1714C4 80248AA4 3C038007 */ lui $v1, %hi(gGameStatusPtr)
/* 1714C8 80248AA8 8C6314AC */ lw $v1, %lo(gGameStatusPtr)($v1)
/* 1714CC 80248AAC 9082003F */ lbu $v0, 0x3F($a0)
/* 1714D0 80248AB0 A0620166 */ sb $v0, 0x166($v1)
/* 1714D4 80248AB4 0200202D */ daddu $a0, $s0, $zero
.Lfilemenu_80248AB8:
/* 1714D8 80248AB8 3C028007 */ lui $v0, %hi(gGameStatusPtr)
/* 1714DC 80248ABC 8C4214AC */ lw $v0, %lo(gGameStatusPtr)($v0)
/* 1714E0 80248AC0 3C118025 */ lui $s1, %hi(filemenu_menus)
/* 1714E4 80248AC4 2631E984 */ addiu $s1, $s1, %lo(filemenu_menus)
/* 1714E8 80248AC8 90460166 */ lbu $a2, 0x166($v0)
/* 1714EC 80248ACC 0000802D */ daddu $s0, $zero, $zero
/* 1714F0 80248AD0 30C50001 */ andi $a1, $a2, 0x1
/* 1714F4 80248AD4 00052840 */ sll $a1, $a1, 1
/* 1714F8 80248AD8 0C091B29 */ jal filemenu_set_selected
/* 1714FC 80248ADC 00063042 */ srl $a2, $a2, 1
.Lfilemenu_80248AE0:
/* 171500 80248AE0 8E240000 */ lw $a0, 0x0($s1)
/* 171504 80248AE4 8C82000C */ lw $v0, 0xC($a0)
/* 171508 80248AE8 10400003 */ beqz $v0, .Lfilemenu_80248AF8
/* 17150C 80248AEC 26100001 */ addiu $s0, $s0, 0x1
/* 171510 80248AF0 0040F809 */ jalr $v0
/* 171514 80248AF4 00000000 */ nop
.Lfilemenu_80248AF8:
/* 171518 80248AF8 2A020004 */ slti $v0, $s0, 0x4
/* 17151C 80248AFC 1440FFF8 */ bnez $v0, .Lfilemenu_80248AE0
/* 171520 80248B00 26310004 */ addiu $s1, $s1, 0x4
/* 171524 80248B04 080922DB */ j .Lfilemenu_80248B6C
/* 171528 80248B08 24040017 */ addiu $a0, $zero, 0x17
.Lfilemenu_80248B0C:
/* 17152C 80248B0C 3C028025 */ lui $v0, %hi(filemenu_menus)
/* 171530 80248B10 2442E984 */ addiu $v0, $v0, %lo(filemenu_menus)
/* 171534 80248B14 0040882D */ daddu $s1, $v0, $zero
/* 171538 80248B18 24120004 */ addiu $s2, $zero, 0x4
/* 17153C 80248B1C 8E240010 */ lw $a0, 0x10($s1)
/* 171540 80248B20 3C068015 */ lui $a2, %hi(gCurrentLanguage)
/* 171544 80248B24 8CC6AE4C */ lw $a2, %lo(gCurrentLanguage)($a2)
/* 171548 80248B28 0240102D */ daddu $v0, $s2, $zero
/* 17154C 80248B2C 3C018025 */ lui $at, %hi(filemenu_currentMenu)
/* 171550 80248B30 A0221758 */ sb $v0, %lo(filemenu_currentMenu)($at)
/* 171554 80248B34 0C091B29 */ jal filemenu_set_selected
/* 171558 80248B38 00A0802D */ daddu $s0, $a1, $zero
.Lfilemenu_80248B3C:
/* 17155C 80248B3C 16120007 */ bne $s0, $s2, .Lfilemenu_80248B5C
/* 171560 80248B40 26100001 */ addiu $s0, $s0, 0x1
/* 171564 80248B44 8E240000 */ lw $a0, 0x0($s1)
/* 171568 80248B48 8C82000C */ lw $v0, 0xC($a0)
/* 17156C 80248B4C 10400003 */ beqz $v0, .Lfilemenu_80248B5C
/* 171570 80248B50 00000000 */ nop
/* 171574 80248B54 0040F809 */ jalr $v0
/* 171578 80248B58 00000000 */ nop
.Lfilemenu_80248B5C:
/* 17157C 80248B5C 2A020005 */ slti $v0, $s0, 0x5
/* 171580 80248B60 1440FFF6 */ bnez $v0, .Lfilemenu_80248B3C
/* 171584 80248B64 26310004 */ addiu $s1, $s1, 0x4
/* 171588 80248B68 24040017 */ addiu $a0, $zero, 0x17
.Lfilemenu_80248B6C:
/* 17158C 80248B6C 0C051A48 */ jal update_window_hierarchy
/* 171590 80248B70 24050040 */ addiu $a1, $zero, 0x40
/* 171594 80248B74 8FBF0020 */ lw $ra, 0x20($sp)
/* 171598 80248B78 8FB3001C */ lw $s3, 0x1C($sp)
/* 17159C 80248B7C 8FB20018 */ lw $s2, 0x18($sp)
/* 1715A0 80248B80 8FB10014 */ lw $s1, 0x14($sp)
/* 1715A4 80248B84 8FB00010 */ lw $s0, 0x10($sp)
/* 1715A8 80248B88 03E00008 */ jr $ra
/* 1715AC 80248B8C 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -0,0 +1,547 @@
.set noat /* allow manual use of $at */
.set noreorder /* don't insert nops after branches */
.section .rodata
.align 3
glabel jtbl_filemenu_80251720
/* 17A140 80251720 8024D130 */ .word .Lfilemenu_8024D130
/* 17A144 80251724 8024D160 */ .word .Lfilemenu_8024D160
/* 17A148 80251728 8024D18C */ .word .Lfilemenu_8024D18C
/* 17A14C 8025172C 8024D344 */ .word .Lfilemenu_8024D344
/* 17A150 80251730 8024D1D0 */ .word .Lfilemenu_8024D1D0
.section .text
/* Generated by spimdisasm 1.11.1 */
glabel filemenu_choose_name_handle_input
/* 1758D0 8024CEB0 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 1758D4 8024CEB4 AFB00010 */ sw $s0, 0x10($sp)
/* 1758D8 8024CEB8 0080802D */ daddu $s0, $a0, $zero
/* 1758DC 8024CEBC 3C048016 */ lui $a0, %hi(gWindows)
/* 1758E0 8024CEC0 24848910 */ addiu $a0, $a0, %lo(gWindows)
/* 1758E4 8024CEC4 3C028015 */ lui $v0, %hi(gCurrentLanguage)
/* 1758E8 8024CEC8 8C42AE4C */ lw $v0, %lo(gCurrentLanguage)($v0)
/* 1758EC 8024CECC AFBF0018 */ sw $ra, 0x18($sp)
/* 1758F0 8024CED0 AFB10014 */ sw $s1, 0x14($sp)
/* 1758F4 8024CED4 92070003 */ lbu $a3, 0x3($s0)
/* 1758F8 8024CED8 3C018025 */ lui $at, %hi(D_filemenu_80250958)
/* 1758FC 8024CEDC 00220821 */ addu $at, $at, $v0
/* 175900 8024CEE0 90220958 */ lbu $v0, %lo(D_filemenu_80250958)($at)
/* 175904 8024CEE4 80830603 */ lb $v1, 0x603($a0)
/* 175908 8024CEE8 00022842 */ srl $a1, $v0, 1
/* 17590C 8024CEEC A4820610 */ sh $v0, 0x610($a0)
/* 175910 8024CEF0 2402FFFF */ addiu $v0, $zero, -0x1
/* 175914 8024CEF4 1062000B */ beq $v1, $v0, .Lfilemenu_8024CF24
/* 175918 8024CEF8 2486060C */ addiu $a2, $a0, 0x60C
/* 17591C 8024CEFC 00031140 */ sll $v0, $v1, 5
/* 175920 8024CF00 00441021 */ addu $v0, $v0, $a0
/* 175924 8024CF04 94420010 */ lhu $v0, 0x10($v0)
/* 175928 8024CF08 00021400 */ sll $v0, $v0, 16
/* 17592C 8024CF0C 00021C03 */ sra $v1, $v0, 16
/* 175930 8024CF10 000217C2 */ srl $v0, $v0, 31
/* 175934 8024CF14 00621821 */ addu $v1, $v1, $v0
/* 175938 8024CF18 00031843 */ sra $v1, $v1, 1
/* 17593C 8024CF1C 080933CB */ j .Lfilemenu_8024CF2C
/* 175940 8024CF20 00651023 */ subu $v0, $v1, $a1
.Lfilemenu_8024CF24:
/* 175944 8024CF24 240200A0 */ addiu $v0, $zero, 0xA0
/* 175948 8024CF28 00451023 */ subu $v0, $v0, $a1
.Lfilemenu_8024CF2C:
/* 17594C 8024CF2C 3C038025 */ lui $v1, %hi(filemenu_heldButtons)
/* 175950 8024CF30 8C63174C */ lw $v1, %lo(filemenu_heldButtons)($v1)
/* 175954 8024CF34 A4C20000 */ sh $v0, 0x0($a2)
/* 175958 8024CF38 3C020004 */ lui $v0, (0x40000 >> 16)
/* 17595C 8024CF3C 00621024 */ and $v0, $v1, $v0
/* 175960 8024CF40 1040000A */ beqz $v0, .Lfilemenu_8024CF6C
/* 175964 8024CF44 3C020008 */ lui $v0, (0x80000 >> 16)
/* 175968 8024CF48 92020001 */ lbu $v0, 0x1($s0)
/* 17596C 8024CF4C 2442FFFF */ addiu $v0, $v0, -0x1
/* 175970 8024CF50 A2020001 */ sb $v0, 0x1($s0)
/* 175974 8024CF54 00021600 */ sll $v0, $v0, 24
/* 175978 8024CF58 04410021 */ bgez $v0, .Lfilemenu_8024CFE0
/* 17597C 8024CF5C 00000000 */ nop
/* 175980 8024CF60 92020005 */ lbu $v0, 0x5($s0)
/* 175984 8024CF64 080933F7 */ j .Lfilemenu_8024CFDC
/* 175988 8024CF68 2442FFFF */ addiu $v0, $v0, -0x1
.Lfilemenu_8024CF6C:
/* 17598C 8024CF6C 00621024 */ and $v0, $v1, $v0
/* 175990 8024CF70 1040001B */ beqz $v0, .Lfilemenu_8024CFE0
/* 175994 8024CF74 00000000 */ nop
/* 175998 8024CF78 92020001 */ lbu $v0, 0x1($s0)
/* 17599C 8024CF7C 82030005 */ lb $v1, 0x5($s0)
/* 1759A0 8024CF80 24420001 */ addiu $v0, $v0, 0x1
/* 1759A4 8024CF84 A2020001 */ sb $v0, 0x1($s0)
/* 1759A8 8024CF88 00021600 */ sll $v0, $v0, 24
/* 1759AC 8024CF8C 00021603 */ sra $v0, $v0, 24
/* 1759B0 8024CF90 0043102A */ slt $v0, $v0, $v1
/* 1759B4 8024CF94 50400001 */ beql $v0, $zero, .Lfilemenu_8024CF9C
/* 1759B8 8024CF98 A2000001 */ sb $zero, 0x1($s0)
.Lfilemenu_8024CF9C:
/* 1759BC 8024CF9C 82020006 */ lb $v0, 0x6($s0)
/* 1759C0 8024CFA0 82030002 */ lb $v1, 0x2($s0)
/* 1759C4 8024CFA4 2442FFFF */ addiu $v0, $v0, -0x1
/* 1759C8 8024CFA8 1462000D */ bne $v1, $v0, .Lfilemenu_8024CFE0
/* 1759CC 8024CFAC 00000000 */ nop
/* 1759D0 8024CFB0 82020001 */ lb $v0, 0x1($s0)
/* 1759D4 8024CFB4 92030001 */ lbu $v1, 0x1($s0)
/* 1759D8 8024CFB8 2842000B */ slti $v0, $v0, 0xB
/* 1759DC 8024CFBC 14400003 */ bnez $v0, .Lfilemenu_8024CFCC
/* 1759E0 8024CFC0 2462FFF8 */ addiu $v0, $v1, -0x8
/* 1759E4 8024CFC4 080933F8 */ j .Lfilemenu_8024CFE0
/* 1759E8 8024CFC8 A2000001 */ sb $zero, 0x1($s0)
.Lfilemenu_8024CFCC:
/* 1759EC 8024CFCC 304200FF */ andi $v0, $v0, 0xFF
/* 1759F0 8024CFD0 2C420002 */ sltiu $v0, $v0, 0x2
/* 1759F4 8024CFD4 10400002 */ beqz $v0, .Lfilemenu_8024CFE0
/* 1759F8 8024CFD8 2402000A */ addiu $v0, $zero, 0xA
.Lfilemenu_8024CFDC:
/* 1759FC 8024CFDC A2020001 */ sb $v0, 0x1($s0)
.Lfilemenu_8024CFE0:
/* 175A00 8024CFE0 3C038025 */ lui $v1, %hi(filemenu_heldButtons)
/* 175A04 8024CFE4 8C63174C */ lw $v1, %lo(filemenu_heldButtons)($v1)
/* 175A08 8024CFE8 3C020001 */ lui $v0, (0x10000 >> 16)
/* 175A0C 8024CFEC 00621024 */ and $v0, $v1, $v0
/* 175A10 8024CFF0 1040000B */ beqz $v0, .Lfilemenu_8024D020
/* 175A14 8024CFF4 3C020002 */ lui $v0, (0x20000 >> 16)
/* 175A18 8024CFF8 92020002 */ lbu $v0, 0x2($s0)
/* 175A1C 8024CFFC 2442FFFF */ addiu $v0, $v0, -0x1
/* 175A20 8024D000 A2020002 */ sb $v0, 0x2($s0)
/* 175A24 8024D004 00021600 */ sll $v0, $v0, 24
/* 175A28 8024D008 04410011 */ bgez $v0, .Lfilemenu_8024D050
/* 175A2C 8024D00C 00000000 */ nop
/* 175A30 8024D010 92020006 */ lbu $v0, 0x6($s0)
/* 175A34 8024D014 2442FFFF */ addiu $v0, $v0, -0x1
/* 175A38 8024D018 08093414 */ j .Lfilemenu_8024D050
/* 175A3C 8024D01C A2020002 */ sb $v0, 0x2($s0)
.Lfilemenu_8024D020:
/* 175A40 8024D020 00621024 */ and $v0, $v1, $v0
/* 175A44 8024D024 1040000A */ beqz $v0, .Lfilemenu_8024D050
/* 175A48 8024D028 00000000 */ nop
/* 175A4C 8024D02C 92020002 */ lbu $v0, 0x2($s0)
/* 175A50 8024D030 82030006 */ lb $v1, 0x6($s0)
/* 175A54 8024D034 24420001 */ addiu $v0, $v0, 0x1
/* 175A58 8024D038 A2020002 */ sb $v0, 0x2($s0)
/* 175A5C 8024D03C 00021600 */ sll $v0, $v0, 24
/* 175A60 8024D040 00021603 */ sra $v0, $v0, 24
/* 175A64 8024D044 0043102A */ slt $v0, $v0, $v1
/* 175A68 8024D048 50400001 */ beql $v0, $zero, .Lfilemenu_8024D050
/* 175A6C 8024D04C A2000002 */ sb $zero, 0x2($s0)
.Lfilemenu_8024D050:
/* 175A70 8024D050 82020006 */ lb $v0, 0x6($s0)
/* 175A74 8024D054 82030002 */ lb $v1, 0x2($s0)
/* 175A78 8024D058 2442FFFF */ addiu $v0, $v0, -0x1
/* 175A7C 8024D05C 1462000D */ bne $v1, $v0, .Lfilemenu_8024D094
/* 175A80 8024D060 00000000 */ nop
/* 175A84 8024D064 82020001 */ lb $v0, 0x1($s0)
/* 175A88 8024D068 92030001 */ lbu $v1, 0x1($s0)
/* 175A8C 8024D06C 2842000B */ slti $v0, $v0, 0xB
/* 175A90 8024D070 14400003 */ bnez $v0, .Lfilemenu_8024D080
/* 175A94 8024D074 2462FFF8 */ addiu $v0, $v1, -0x8
/* 175A98 8024D078 08093424 */ j .Lfilemenu_8024D090
/* 175A9C 8024D07C 2402000A */ addiu $v0, $zero, 0xA
.Lfilemenu_8024D080:
/* 175AA0 8024D080 304200FF */ andi $v0, $v0, 0xFF
/* 175AA4 8024D084 2C420002 */ sltiu $v0, $v0, 0x2
/* 175AA8 8024D088 10400002 */ beqz $v0, .Lfilemenu_8024D094
/* 175AAC 8024D08C 24020007 */ addiu $v0, $zero, 0x7
.Lfilemenu_8024D090:
/* 175AB0 8024D090 A2020001 */ sb $v0, 0x1($s0)
.Lfilemenu_8024D094:
/* 175AB4 8024D094 82020004 */ lb $v0, 0x4($s0)
/* 175AB8 8024D098 82030005 */ lb $v1, 0x5($s0)
/* 175ABC 8024D09C 00430018 */ mult $v0, $v1
/* 175AC0 8024D0A0 00004812 */ mflo $t1
/* 175AC4 8024D0A4 82020006 */ lb $v0, 0x6($s0)
/* 175AC8 8024D0A8 00000000 */ nop
/* 175ACC 8024D0AC 01220018 */ mult $t1, $v0
/* 175AD0 8024D0B0 00002012 */ mflo $a0
/* 175AD4 8024D0B4 82020002 */ lb $v0, 0x2($s0)
/* 175AD8 8024D0B8 00000000 */ nop
/* 175ADC 8024D0BC 00620018 */ mult $v1, $v0
/* 175AE0 8024D0C0 00001012 */ mflo $v0
/* 175AE4 8024D0C4 00821821 */ addu $v1, $a0, $v0
/* 175AE8 8024D0C8 82040001 */ lb $a0, 0x1($s0)
/* 175AEC 8024D0CC 8E020008 */ lw $v0, 0x8($s0)
/* 175AF0 8024D0D0 00641821 */ addu $v1, $v1, $a0
/* 175AF4 8024D0D4 00431021 */ addu $v0, $v0, $v1
/* 175AF8 8024D0D8 90420000 */ lbu $v0, 0x0($v0)
/* 175AFC 8024D0DC A2020003 */ sb $v0, 0x3($s0)
/* 175B00 8024D0E0 304200FF */ andi $v0, $v0, 0xFF
/* 175B04 8024D0E4 10E20003 */ beq $a3, $v0, .Lfilemenu_8024D0F4
/* 175B08 8024D0E8 00000000 */ nop
/* 175B0C 8024D0EC 0C052219 */ jal sfx_play_sound
/* 175B10 8024D0F0 24042102 */ addiu $a0, $zero, 0x2102
.Lfilemenu_8024D0F4:
/* 175B14 8024D0F4 3C028025 */ lui $v0, %hi(filemenu_pressedButtons)
/* 175B18 8024D0F8 8C421744 */ lw $v0, %lo(filemenu_pressedButtons)($v0)
/* 175B1C 8024D0FC 30428000 */ andi $v0, $v0, 0x8000
/* 175B20 8024D100 1040009F */ beqz $v0, .Lfilemenu_8024D380
/* 175B24 8024D104 00000000 */ nop
/* 175B28 8024D108 92020003 */ lbu $v0, 0x3($s0)
/* 175B2C 8024D10C 2443FF3A */ addiu $v1, $v0, -0xC6
/* 175B30 8024D110 2C620005 */ sltiu $v0, $v1, 0x5
/* 175B34 8024D114 10400072 */ beqz $v0, .Lfilemenu_8024D2E0
/* 175B38 8024D118 00031080 */ sll $v0, $v1, 2
/* 175B3C 8024D11C 3C018025 */ lui $at, %hi(jtbl_filemenu_80251720)
/* 175B40 8024D120 00220821 */ addu $at, $at, $v0
/* 175B44 8024D124 8C221720 */ lw $v0, %lo(jtbl_filemenu_80251720)($at)
/* 175B48 8024D128 00400008 */ jr $v0
/* 175B4C 8024D12C 00000000 */ nop
.Lfilemenu_8024D130:
/* 175B50 8024D130 0C052219 */ jal sfx_play_sound
/* 175B54 8024D134 24042103 */ addiu $a0, $zero, 0x2103
/* 175B58 8024D138 3C048025 */ lui $a0, %hi(filemenu_filename_pos)
/* 175B5C 8024D13C 24841750 */ addiu $a0, $a0, %lo(filemenu_filename_pos)
/* 175B60 8024D140 80820000 */ lb $v0, 0x0($a0)
/* 175B64 8024D144 24050008 */ addiu $a1, $zero, 0x8
/* 175B68 8024D148 14450002 */ bne $v0, $a1, .Lfilemenu_8024D154
/* 175B6C 8024D14C 24020007 */ addiu $v0, $zero, 0x7
/* 175B70 8024D150 A0820000 */ sb $v0, 0x0($a0)
.Lfilemenu_8024D154:
/* 175B74 8024D154 80830000 */ lb $v1, 0x0($a0)
/* 175B78 8024D158 080934C6 */ j .Lfilemenu_8024D318
/* 175B7C 8024D15C 240200F7 */ addiu $v0, $zero, 0xF7
.Lfilemenu_8024D160:
/* 175B80 8024D160 82020004 */ lb $v0, 0x4($s0)
/* 175B84 8024D164 24110001 */ addiu $s1, $zero, 0x1
/* 175B88 8024D168 10510076 */ beq $v0, $s1, .Lfilemenu_8024D344
/* 175B8C 8024D16C 00000000 */ nop
/* 175B90 8024D170 0C052219 */ jal sfx_play_sound
/* 175B94 8024D174 24042105 */ addiu $a0, $zero, 0x2105
/* 175B98 8024D178 82050001 */ lb $a1, 0x1($s0)
/* 175B9C 8024D17C 82060002 */ lb $a2, 0x2($s0)
/* 175BA0 8024D180 0200202D */ daddu $a0, $s0, $zero
/* 175BA4 8024D184 0809346C */ j .Lfilemenu_8024D1B0
/* 175BA8 8024D188 A2110004 */ sb $s1, 0x4($s0)
.Lfilemenu_8024D18C:
/* 175BAC 8024D18C 82020004 */ lb $v0, 0x4($s0)
/* 175BB0 8024D190 1040006C */ beqz $v0, .Lfilemenu_8024D344
/* 175BB4 8024D194 00000000 */ nop
/* 175BB8 8024D198 0C052219 */ jal sfx_play_sound
/* 175BBC 8024D19C 24042105 */ addiu $a0, $zero, 0x2105
/* 175BC0 8024D1A0 82050001 */ lb $a1, 0x1($s0)
/* 175BC4 8024D1A4 82060002 */ lb $a2, 0x2($s0)
/* 175BC8 8024D1A8 0200202D */ daddu $a0, $s0, $zero
/* 175BCC 8024D1AC A2000004 */ sb $zero, 0x4($s0)
.Lfilemenu_8024D1B0:
/* 175BD0 8024D1B0 0C091B29 */ jal filemenu_set_selected
/* 175BD4 8024D1B4 00000000 */ nop
/* 175BD8 8024D1B8 3C058025 */ lui $a1, %hi(filemenu_update_change_layout)
/* 175BDC 8024D1BC 24A5C330 */ addiu $a1, $a1, %lo(filemenu_update_change_layout)
/* 175BE0 8024D1C0 0C051A8B */ jal set_window_update
/* 175BE4 8024D1C4 24040031 */ addiu $a0, $zero, 0x31
/* 175BE8 8024D1C8 080934D1 */ j .Lfilemenu_8024D344
/* 175BEC 8024D1CC 00000000 */ nop
.Lfilemenu_8024D1D0:
/* 175BF0 8024D1D0 0000182D */ daddu $v1, $zero, $zero
/* 175BF4 8024D1D4 3C058025 */ lui $a1, %hi(filemenu_filename)
/* 175BF8 8024D1D8 24A527E0 */ addiu $a1, $a1, %lo(filemenu_filename)
/* 175BFC 8024D1DC 240400F7 */ addiu $a0, $zero, 0xF7
/* 175C00 8024D1E0 00651021 */ addu $v0, $v1, $a1
.Lfilemenu_8024D1E4:
/* 175C04 8024D1E4 90420000 */ lbu $v0, 0x0($v0)
/* 175C08 8024D1E8 14440006 */ bne $v0, $a0, .Lfilemenu_8024D204
/* 175C0C 8024D1EC 24020008 */ addiu $v0, $zero, 0x8
/* 175C10 8024D1F0 24630001 */ addiu $v1, $v1, 0x1
/* 175C14 8024D1F4 28620008 */ slti $v0, $v1, 0x8
/* 175C18 8024D1F8 1440FFFA */ bnez $v0, .Lfilemenu_8024D1E4
/* 175C1C 8024D1FC 00651021 */ addu $v0, $v1, $a1
/* 175C20 8024D200 24020008 */ addiu $v0, $zero, 0x8
.Lfilemenu_8024D204:
/* 175C24 8024D204 14620005 */ bne $v1, $v0, .Lfilemenu_8024D21C
/* 175C28 8024D208 00000000 */ nop
/* 175C2C 8024D20C 0C052219 */ jal sfx_play_sound
/* 175C30 8024D210 2404021D */ addiu $a0, $zero, 0x21D
/* 175C34 8024D214 080934D1 */ j .Lfilemenu_8024D344
/* 175C38 8024D218 00000000 */ nop
.Lfilemenu_8024D21C:
/* 175C3C 8024D21C 0C052219 */ jal sfx_play_sound
/* 175C40 8024D220 240400C9 */ addiu $a0, $zero, 0xC9
/* 175C44 8024D224 3C058024 */ lui $a1, %hi(filemenu_update_show_name_confirm)
/* 175C48 8024D228 24A57BDC */ addiu $a1, $a1, %lo(filemenu_update_show_name_confirm)
/* 175C4C 8024D22C 0C051A8B */ jal set_window_update
/* 175C50 8024D230 24040032 */ addiu $a0, $zero, 0x32
/* 175C54 8024D234 3C048016 */ lui $a0, %hi(gWindows)
/* 175C58 8024D238 24848910 */ addiu $a0, $a0, %lo(gWindows)
/* 175C5C 8024D23C 24020079 */ addiu $v0, $zero, 0x79
/* 175C60 8024D240 A482064E */ sh $v0, 0x64E($a0)
/* 175C64 8024D244 24020045 */ addiu $v0, $zero, 0x45
/* 175C68 8024D248 A4820650 */ sh $v0, 0x650($a0)
/* 175C6C 8024D24C 2402002C */ addiu $v0, $zero, 0x2C
/* 175C70 8024D250 80830643 */ lb $v1, 0x643($a0)
/* 175C74 8024D254 A4820652 */ sh $v0, 0x652($a0)
/* 175C78 8024D258 2402FFFF */ addiu $v0, $zero, -0x1
/* 175C7C 8024D25C 1062000B */ beq $v1, $v0, .Lfilemenu_8024D28C
/* 175C80 8024D260 2485064C */ addiu $a1, $a0, 0x64C
/* 175C84 8024D264 00031140 */ sll $v0, $v1, 5
/* 175C88 8024D268 00441021 */ addu $v0, $v0, $a0
/* 175C8C 8024D26C 94420010 */ lhu $v0, 0x10($v0)
/* 175C90 8024D270 00021400 */ sll $v0, $v0, 16
/* 175C94 8024D274 00021C03 */ sra $v1, $v0, 16
/* 175C98 8024D278 000217C2 */ srl $v0, $v0, 31
/* 175C9C 8024D27C 00621821 */ addu $v1, $v1, $v0
/* 175CA0 8024D280 00031843 */ sra $v1, $v1, 1
/* 175CA4 8024D284 080934A6 */ j .Lfilemenu_8024D298
/* 175CA8 8024D288 2463FFDE */ addiu $v1, $v1, -0x22
.Lfilemenu_8024D28C:
/* 175CAC 8024D28C 2403007E */ addiu $v1, $zero, 0x7E
/* 175CB0 8024D290 3C048016 */ lui $a0, %hi(gWindows)
/* 175CB4 8024D294 24848910 */ addiu $a0, $a0, %lo(gWindows)
.Lfilemenu_8024D298:
/* 175CB8 8024D298 A4A30000 */ sh $v1, 0x0($a1)
/* 175CBC 8024D29C 3C038015 */ lui $v1, %hi(gCurrentLanguage)
/* 175CC0 8024D2A0 8C63AE4C */ lw $v1, %lo(gCurrentLanguage)($v1)
/* 175CC4 8024D2A4 2402FFBA */ addiu $v0, $zero, -0x46
/* 175CC8 8024D2A8 A48205CE */ sh $v0, 0x5CE($a0)
/* 175CCC 8024D2AC 2402003E */ addiu $v0, $zero, 0x3E
/* 175CD0 8024D2B0 3C018025 */ lui $at, %hi(D_filemenu_80250960)
/* 175CD4 8024D2B4 00230821 */ addu $at, $at, $v1
/* 175CD8 8024D2B8 90230960 */ lbu $v1, %lo(D_filemenu_80250960)($at)
/* 175CDC 8024D2BC A48205D2 */ sh $v0, 0x5D2($a0)
/* 175CE0 8024D2C0 00032842 */ srl $a1, $v1, 1
/* 175CE4 8024D2C4 A48305D0 */ sh $v1, 0x5D0($a0)
/* 175CE8 8024D2C8 808305C3 */ lb $v1, 0x5C3($a0)
/* 175CEC 8024D2CC 2402FFFF */ addiu $v0, $zero, -0x1
/* 175CF0 8024D2D0 146200C2 */ bne $v1, $v0, .Lfilemenu_8024D5DC
/* 175CF4 8024D2D4 248705CC */ addiu $a3, $a0, 0x5CC
/* 175CF8 8024D2D8 08093582 */ j .Lfilemenu_8024D608
/* 175CFC 8024D2DC 240200A0 */ addiu $v0, $zero, 0xA0
.Lfilemenu_8024D2E0:
/* 175D00 8024D2E0 0C052219 */ jal sfx_play_sound
/* 175D04 8024D2E4 24042103 */ addiu $a0, $zero, 0x2103
/* 175D08 8024D2E8 3C048025 */ lui $a0, %hi(filemenu_filename_pos)
/* 175D0C 8024D2EC 24841750 */ addiu $a0, $a0, %lo(filemenu_filename_pos)
/* 175D10 8024D2F0 80830000 */ lb $v1, 0x0($a0)
/* 175D14 8024D2F4 24050008 */ addiu $a1, $zero, 0x8
/* 175D18 8024D2F8 14650006 */ bne $v1, $a1, .Lfilemenu_8024D314
/* 175D1C 8024D2FC 00000000 */ nop
/* 175D20 8024D300 92020003 */ lbu $v0, 0x3($s0)
/* 175D24 8024D304 3C018025 */ lui $at, %hi(filemenu_filename+0x7)
/* 175D28 8024D308 A02227E7 */ sb $v0, %lo(filemenu_filename+0x7)($at)
/* 175D2C 8024D30C 080934D1 */ j .Lfilemenu_8024D344
/* 175D30 8024D310 00000000 */ nop
.Lfilemenu_8024D314:
/* 175D34 8024D314 92020003 */ lbu $v0, 0x3($s0)
.Lfilemenu_8024D318:
/* 175D38 8024D318 3C018025 */ lui $at, %hi(filemenu_filename)
/* 175D3C 8024D31C 00230821 */ addu $at, $at, $v1
/* 175D40 8024D320 A02227E0 */ sb $v0, %lo(filemenu_filename)($at)
/* 175D44 8024D324 90820000 */ lbu $v0, 0x0($a0)
/* 175D48 8024D328 24420001 */ addiu $v0, $v0, 0x1
/* 175D4C 8024D32C A0820000 */ sb $v0, 0x0($a0)
/* 175D50 8024D330 00021600 */ sll $v0, $v0, 24
/* 175D54 8024D334 00021603 */ sra $v0, $v0, 24
/* 175D58 8024D338 28420009 */ slti $v0, $v0, 0x9
/* 175D5C 8024D33C 50400001 */ beql $v0, $zero, .Lfilemenu_8024D344
/* 175D60 8024D340 A0850000 */ sb $a1, 0x0($a0)
.Lfilemenu_8024D344:
/* 175D64 8024D344 92020003 */ lbu $v0, 0x3($s0)
/* 175D68 8024D348 24420039 */ addiu $v0, $v0, 0x39
/* 175D6C 8024D34C 304200FF */ andi $v0, $v0, 0xFF
/* 175D70 8024D350 2C420003 */ sltiu $v0, $v0, 0x3
/* 175D74 8024D354 1440000A */ bnez $v0, .Lfilemenu_8024D380
/* 175D78 8024D358 24020008 */ addiu $v0, $zero, 0x8
/* 175D7C 8024D35C 3C038025 */ lui $v1, %hi(filemenu_filename_pos)
/* 175D80 8024D360 80631750 */ lb $v1, %lo(filemenu_filename_pos)($v1)
/* 175D84 8024D364 14620006 */ bne $v1, $v0, .Lfilemenu_8024D380
/* 175D88 8024D368 0200202D */ daddu $a0, $s0, $zero
/* 175D8C 8024D36C 82050005 */ lb $a1, 0x5($s0)
/* 175D90 8024D370 82060006 */ lb $a2, 0x6($s0)
/* 175D94 8024D374 24A5FFFD */ addiu $a1, $a1, -0x3
/* 175D98 8024D378 0C091B29 */ jal filemenu_set_selected
/* 175D9C 8024D37C 24C6FFFF */ addiu $a2, $a2, -0x1
.Lfilemenu_8024D380:
/* 175DA0 8024D380 3C038025 */ lui $v1, %hi(filemenu_pressedButtons)
/* 175DA4 8024D384 8C631744 */ lw $v1, %lo(filemenu_pressedButtons)($v1)
/* 175DA8 8024D388 30624000 */ andi $v0, $v1, 0x4000
/* 175DAC 8024D38C 14400006 */ bnez $v0, .Lfilemenu_8024D3A8
/* 175DB0 8024D390 30628000 */ andi $v0, $v1, 0x8000
/* 175DB4 8024D394 1040004B */ beqz $v0, .Lfilemenu_8024D4C4
/* 175DB8 8024D398 240200C9 */ addiu $v0, $zero, 0xC9
/* 175DBC 8024D39C 92030003 */ lbu $v1, 0x3($s0)
/* 175DC0 8024D3A0 14620048 */ bne $v1, $v0, .Lfilemenu_8024D4C4
/* 175DC4 8024D3A4 00000000 */ nop
.Lfilemenu_8024D3A8:
/* 175DC8 8024D3A8 0C052219 */ jal sfx_play_sound
/* 175DCC 8024D3AC 24042104 */ addiu $a0, $zero, 0x2104
/* 175DD0 8024D3B0 3C038025 */ lui $v1, %hi(filemenu_filename_pos)
/* 175DD4 8024D3B4 24631750 */ addiu $v1, $v1, %lo(filemenu_filename_pos)
/* 175DD8 8024D3B8 90620000 */ lbu $v0, 0x0($v1)
/* 175DDC 8024D3BC 2442FFFF */ addiu $v0, $v0, -0x1
/* 175DE0 8024D3C0 A0620000 */ sb $v0, 0x0($v1)
/* 175DE4 8024D3C4 00021600 */ sll $v0, $v0, 24
/* 175DE8 8024D3C8 00021603 */ sra $v0, $v0, 24
/* 175DEC 8024D3CC 04430031 */ bgezl $v0, .Lfilemenu_8024D494
/* 175DF0 8024D3D0 0040182D */ daddu $v1, $v0, $zero
/* 175DF4 8024D3D4 24040030 */ addiu $a0, $zero, 0x30
/* 175DF8 8024D3D8 3C108024 */ lui $s0, %hi(filemenu_update_hidden_name_input)
/* 175DFC 8024D3DC 26107538 */ addiu $s0, $s0, %lo(filemenu_update_hidden_name_input)
/* 175E00 8024D3E0 0200282D */ daddu $a1, $s0, $zero
/* 175E04 8024D3E4 0C051A8B */ jal set_window_update
/* 175E08 8024D3E8 A0600000 */ sb $zero, 0x0($v1)
/* 175E0C 8024D3EC 24040031 */ addiu $a0, $zero, 0x31
/* 175E10 8024D3F0 0C051A8B */ jal set_window_update
/* 175E14 8024D3F4 0200282D */ daddu $a1, $s0, $zero
/* 175E18 8024D3F8 2404002D */ addiu $a0, $zero, 0x2D
/* 175E1C 8024D3FC 3C108024 */ lui $s0, %hi(filemenu_update_show_with_rotation)
/* 175E20 8024D400 2610772C */ addiu $s0, $s0, %lo(filemenu_update_show_with_rotation)
/* 175E24 8024D404 0C051A8B */ jal set_window_update
/* 175E28 8024D408 0200282D */ daddu $a1, $s0, $zero
/* 175E2C 8024D40C 24040033 */ addiu $a0, $zero, 0x33
/* 175E30 8024D410 0C051A8B */ jal set_window_update
/* 175E34 8024D414 0200282D */ daddu $a1, $s0, $zero
/* 175E38 8024D418 24040034 */ addiu $a0, $zero, 0x34
/* 175E3C 8024D41C 0C051A8B */ jal set_window_update
/* 175E40 8024D420 0200282D */ daddu $a1, $s0, $zero
/* 175E44 8024D424 24040035 */ addiu $a0, $zero, 0x35
/* 175E48 8024D428 0C051A8B */ jal set_window_update
/* 175E4C 8024D42C 0200282D */ daddu $a1, $s0, $zero
/* 175E50 8024D430 24040036 */ addiu $a0, $zero, 0x36
/* 175E54 8024D434 0C051A8B */ jal set_window_update
/* 175E58 8024D438 0200282D */ daddu $a1, $s0, $zero
/* 175E5C 8024D43C 24040037 */ addiu $a0, $zero, 0x37
/* 175E60 8024D440 0C051A8B */ jal set_window_update
/* 175E64 8024D444 0200282D */ daddu $a1, $s0, $zero
/* 175E68 8024D448 24040035 */ addiu $a0, $zero, 0x35
/* 175E6C 8024D44C 0C051A8B */ jal set_window_update
/* 175E70 8024D450 0200282D */ daddu $a1, $s0, $zero
/* 175E74 8024D454 24040038 */ addiu $a0, $zero, 0x38
/* 175E78 8024D458 0C051A8B */ jal set_window_update
/* 175E7C 8024D45C 0200282D */ daddu $a1, $s0, $zero
/* 175E80 8024D460 24040039 */ addiu $a0, $zero, 0x39
/* 175E84 8024D464 0C051A8B */ jal set_window_update
/* 175E88 8024D468 0200282D */ daddu $a1, $s0, $zero
/* 175E8C 8024D46C 2404003A */ addiu $a0, $zero, 0x3A
/* 175E90 8024D470 0C051A8B */ jal set_window_update
/* 175E94 8024D474 0200282D */ daddu $a1, $s0, $zero
/* 175E98 8024D478 2404003B */ addiu $a0, $zero, 0x3B
/* 175E9C 8024D47C 0C051A8B */ jal set_window_update
/* 175EA0 8024D480 0200282D */ daddu $a1, $s0, $zero
/* 175EA4 8024D484 3C018025 */ lui $at, %hi(filemenu_currentMenu)
/* 175EA8 8024D488 A0201758 */ sb $zero, %lo(filemenu_currentMenu)($at)
/* 175EAC 8024D48C 0809358E */ j .Lfilemenu_8024D638
/* 175EB0 8024D490 00000000 */ nop
.Lfilemenu_8024D494:
/* 175EB4 8024D494 28620008 */ slti $v0, $v1, 0x8
/* 175EB8 8024D498 1040000A */ beqz $v0, .Lfilemenu_8024D4C4
/* 175EBC 8024D49C 00000000 */ nop
/* 175EC0 8024D4A0 3C058025 */ lui $a1, %hi(filemenu_filename)
/* 175EC4 8024D4A4 24A527E0 */ addiu $a1, $a1, %lo(filemenu_filename)
/* 175EC8 8024D4A8 240400F7 */ addiu $a0, $zero, 0xF7
/* 175ECC 8024D4AC 00651021 */ addu $v0, $v1, $a1
.Lfilemenu_8024D4B0:
/* 175ED0 8024D4B0 A0440000 */ sb $a0, 0x0($v0)
/* 175ED4 8024D4B4 24630001 */ addiu $v1, $v1, 0x1
/* 175ED8 8024D4B8 28620008 */ slti $v0, $v1, 0x8
/* 175EDC 8024D4BC 1440FFFC */ bnez $v0, .Lfilemenu_8024D4B0
/* 175EE0 8024D4C0 00651021 */ addu $v0, $v1, $a1
.Lfilemenu_8024D4C4:
/* 175EE4 8024D4C4 3C028025 */ lui $v0, %hi(filemenu_pressedButtons)
/* 175EE8 8024D4C8 8C421744 */ lw $v0, %lo(filemenu_pressedButtons)($v0)
/* 175EEC 8024D4CC 30421000 */ andi $v0, $v0, 0x1000
/* 175EF0 8024D4D0 10400059 */ beqz $v0, .Lfilemenu_8024D638
/* 175EF4 8024D4D4 0000182D */ daddu $v1, $zero, $zero
/* 175EF8 8024D4D8 3C058025 */ lui $a1, %hi(filemenu_filename)
/* 175EFC 8024D4DC 24A527E0 */ addiu $a1, $a1, %lo(filemenu_filename)
/* 175F00 8024D4E0 240400F7 */ addiu $a0, $zero, 0xF7
/* 175F04 8024D4E4 00651021 */ addu $v0, $v1, $a1
.Lfilemenu_8024D4E8:
/* 175F08 8024D4E8 90420000 */ lbu $v0, 0x0($v0)
/* 175F0C 8024D4EC 14440006 */ bne $v0, $a0, .Lfilemenu_8024D508
/* 175F10 8024D4F0 24020008 */ addiu $v0, $zero, 0x8
/* 175F14 8024D4F4 24630001 */ addiu $v1, $v1, 0x1
/* 175F18 8024D4F8 28620008 */ slti $v0, $v1, 0x8
/* 175F1C 8024D4FC 1440FFFA */ bnez $v0, .Lfilemenu_8024D4E8
/* 175F20 8024D500 00651021 */ addu $v0, $v1, $a1
/* 175F24 8024D504 24020008 */ addiu $v0, $zero, 0x8
.Lfilemenu_8024D508:
/* 175F28 8024D508 14620005 */ bne $v1, $v0, .Lfilemenu_8024D520
/* 175F2C 8024D50C 00000000 */ nop
/* 175F30 8024D510 0C052219 */ jal sfx_play_sound
/* 175F34 8024D514 2404021D */ addiu $a0, $zero, 0x21D
/* 175F38 8024D518 0809358E */ j .Lfilemenu_8024D638
/* 175F3C 8024D51C 00000000 */ nop
.Lfilemenu_8024D520:
/* 175F40 8024D520 0C052219 */ jal sfx_play_sound
/* 175F44 8024D524 240400C9 */ addiu $a0, $zero, 0xC9
/* 175F48 8024D528 3C058024 */ lui $a1, %hi(filemenu_update_show_name_confirm)
/* 175F4C 8024D52C 24A57BDC */ addiu $a1, $a1, %lo(filemenu_update_show_name_confirm)
/* 175F50 8024D530 0C051A8B */ jal set_window_update
/* 175F54 8024D534 24040032 */ addiu $a0, $zero, 0x32
/* 175F58 8024D538 3C048016 */ lui $a0, %hi(gWindows)
/* 175F5C 8024D53C 24848910 */ addiu $a0, $a0, %lo(gWindows)
/* 175F60 8024D540 24020079 */ addiu $v0, $zero, 0x79
/* 175F64 8024D544 A482064E */ sh $v0, 0x64E($a0)
/* 175F68 8024D548 24020045 */ addiu $v0, $zero, 0x45
/* 175F6C 8024D54C A4820650 */ sh $v0, 0x650($a0)
/* 175F70 8024D550 2402002C */ addiu $v0, $zero, 0x2C
/* 175F74 8024D554 80830643 */ lb $v1, 0x643($a0)
/* 175F78 8024D558 A4820652 */ sh $v0, 0x652($a0)
/* 175F7C 8024D55C 2402FFFF */ addiu $v0, $zero, -0x1
/* 175F80 8024D560 1062000B */ beq $v1, $v0, .Lfilemenu_8024D590
/* 175F84 8024D564 2485064C */ addiu $a1, $a0, 0x64C
/* 175F88 8024D568 00031140 */ sll $v0, $v1, 5
/* 175F8C 8024D56C 00441021 */ addu $v0, $v0, $a0
/* 175F90 8024D570 94420010 */ lhu $v0, 0x10($v0)
/* 175F94 8024D574 00021400 */ sll $v0, $v0, 16
/* 175F98 8024D578 00021C03 */ sra $v1, $v0, 16
/* 175F9C 8024D57C 000217C2 */ srl $v0, $v0, 31
/* 175FA0 8024D580 00621821 */ addu $v1, $v1, $v0
/* 175FA4 8024D584 00031843 */ sra $v1, $v1, 1
/* 175FA8 8024D588 08093567 */ j .Lfilemenu_8024D59C
/* 175FAC 8024D58C 2463FFDE */ addiu $v1, $v1, -0x22
.Lfilemenu_8024D590:
/* 175FB0 8024D590 2403007E */ addiu $v1, $zero, 0x7E
/* 175FB4 8024D594 3C048016 */ lui $a0, %hi(gWindows)
/* 175FB8 8024D598 24848910 */ addiu $a0, $a0, %lo(gWindows)
.Lfilemenu_8024D59C:
/* 175FBC 8024D59C A4A30000 */ sh $v1, 0x0($a1)
/* 175FC0 8024D5A0 3C038015 */ lui $v1, %hi(gCurrentLanguage)
/* 175FC4 8024D5A4 8C63AE4C */ lw $v1, %lo(gCurrentLanguage)($v1)
/* 175FC8 8024D5A8 2402FFBA */ addiu $v0, $zero, -0x46
/* 175FCC 8024D5AC A48205CE */ sh $v0, 0x5CE($a0)
/* 175FD0 8024D5B0 2402003E */ addiu $v0, $zero, 0x3E
/* 175FD4 8024D5B4 3C018025 */ lui $at, %hi(D_filemenu_80250960)
/* 175FD8 8024D5B8 00230821 */ addu $at, $at, $v1
/* 175FDC 8024D5BC 90230960 */ lbu $v1, %lo(D_filemenu_80250960)($at)
/* 175FE0 8024D5C0 A48205D2 */ sh $v0, 0x5D2($a0)
/* 175FE4 8024D5C4 00032842 */ srl $a1, $v1, 1
/* 175FE8 8024D5C8 A48305D0 */ sh $v1, 0x5D0($a0)
/* 175FEC 8024D5CC 808305C3 */ lb $v1, 0x5C3($a0)
/* 175FF0 8024D5D0 2402FFFF */ addiu $v0, $zero, -0x1
/* 175FF4 8024D5D4 1062000B */ beq $v1, $v0, .Lfilemenu_8024D604
/* 175FF8 8024D5D8 248705CC */ addiu $a3, $a0, 0x5CC
.Lfilemenu_8024D5DC:
/* 175FFC 8024D5DC 00031140 */ sll $v0, $v1, 5
/* 176000 8024D5E0 00441021 */ addu $v0, $v0, $a0
/* 176004 8024D5E4 94420010 */ lhu $v0, 0x10($v0)
/* 176008 8024D5E8 00021400 */ sll $v0, $v0, 16
/* 17600C 8024D5EC 00021C03 */ sra $v1, $v0, 16
/* 176010 8024D5F0 000217C2 */ srl $v0, $v0, 31
/* 176014 8024D5F4 00621821 */ addu $v1, $v1, $v0
/* 176018 8024D5F8 00031843 */ sra $v1, $v1, 1
/* 17601C 8024D5FC 08093583 */ j .Lfilemenu_8024D60C
/* 176020 8024D600 00651023 */ subu $v0, $v1, $a1
.Lfilemenu_8024D604:
/* 176024 8024D604 240200A0 */ addiu $v0, $zero, 0xA0
.Lfilemenu_8024D608:
/* 176028 8024D608 00451023 */ subu $v0, $v0, $a1
.Lfilemenu_8024D60C:
/* 17602C 8024D60C 0000282D */ daddu $a1, $zero, $zero
/* 176030 8024D610 00A0302D */ daddu $a2, $a1, $zero
/* 176034 8024D614 A4E20000 */ sh $v0, 0x0($a3)
/* 176038 8024D618 3C048025 */ lui $a0, %hi(filemenu_menus+0x4)
/* 17603C 8024D61C 8C84E988 */ lw $a0, %lo(filemenu_menus+0x4)($a0)
/* 176040 8024D620 24020001 */ addiu $v0, $zero, 0x1
/* 176044 8024D624 3C018025 */ lui $at, %hi(filemenu_currentMenu)
/* 176048 8024D628 A0221758 */ sb $v0, %lo(filemenu_currentMenu)($at)
/* 17604C 8024D62C 24020001 */ addiu $v0, $zero, 0x1
/* 176050 8024D630 0C091B29 */ jal filemenu_set_selected
/* 176054 8024D634 A0820004 */ sb $v0, 0x4($a0)
.Lfilemenu_8024D638:
/* 176058 8024D638 8FBF0018 */ lw $ra, 0x18($sp)
/* 17605C 8024D63C 8FB10014 */ lw $s1, 0x14($sp)
/* 176060 8024D640 8FB00010 */ lw $s0, 0x10($sp)
/* 176064 8024D644 03E00008 */ jr $ra
/* 176068 8024D648 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -0,0 +1,569 @@
.set noat /* allow manual use of $at */
.set noreorder /* don't insert nops after branches */
/* Generated by spimdisasm 1.11.1 */
glabel filemenu_draw_contents_choose_name
/* 174F1C 8024C4FC 27BDFF80 */ addiu $sp, $sp, -0x80
/* 174F20 8024C500 0080402D */ daddu $t0, $a0, $zero
/* 174F24 8024C504 3C048016 */ lui $a0, %hi(gWindows+0x620)
/* 174F28 8024C508 24848F30 */ addiu $a0, $a0, %lo(gWindows+0x620)
/* 174F2C 8024C50C AFBF0074 */ sw $ra, 0x74($sp)
/* 174F30 8024C510 AFBE0070 */ sw $fp, 0x70($sp)
/* 174F34 8024C514 AFB7006C */ sw $s7, 0x6C($sp)
/* 174F38 8024C518 AFB60068 */ sw $s6, 0x68($sp)
/* 174F3C 8024C51C AFB50064 */ sw $s5, 0x64($sp)
/* 174F40 8024C520 AFB40060 */ sw $s4, 0x60($sp)
/* 174F44 8024C524 AFB3005C */ sw $s3, 0x5C($sp)
/* 174F48 8024C528 AFB20058 */ sw $s2, 0x58($sp)
/* 174F4C 8024C52C AFB10054 */ sw $s1, 0x54($sp)
/* 174F50 8024C530 AFB00050 */ sw $s0, 0x50($sp)
/* 174F54 8024C534 F7B40078 */ sdc1 $f20, 0x78($sp)
/* 174F58 8024C538 AFA50084 */ sw $a1, 0x84($sp)
/* 174F5C 8024C53C AFA60088 */ sw $a2, 0x88($sp)
/* 174F60 8024C540 AFA7008C */ sw $a3, 0x8C($sp)
/* 174F64 8024C544 90820000 */ lbu $v0, 0x0($a0)
/* 174F68 8024C548 30420008 */ andi $v0, $v0, 0x8
/* 174F6C 8024C54C 10400147 */ beqz $v0, .Lfilemenu_8024CA6C
/* 174F70 8024C550 00000000 */ nop
/* 174F74 8024C554 8C830004 */ lw $v1, 0x4($a0)
/* 174F78 8024C558 3C028025 */ lui $v0, %hi(filemenu_update_change_layout)
/* 174F7C 8024C55C 2442C330 */ addiu $v0, $v0, %lo(filemenu_update_change_layout)
/* 174F80 8024C560 14620142 */ bne $v1, $v0, .Lfilemenu_8024CA6C
/* 174F84 8024C564 00000000 */ nop
/* 174F88 8024C568 9082001C */ lbu $v0, 0x1C($a0)
/* 174F8C 8024C56C 81090004 */ lb $t1, 0x4($t0)
/* 174F90 8024C570 00021040 */ sll $v0, $v0, 1
/* 174F94 8024C574 AFA2001C */ sw $v0, 0x1C($sp)
/* 174F98 8024C578 39220001 */ xori $v0, $t1, 0x1
/* 174F9C 8024C57C 8FAA001C */ lw $t2, 0x1C($sp)
/* 174FA0 8024C580 0002102B */ sltu $v0, $zero, $v0
/* 174FA4 8024C584 AFA90020 */ sw $t1, 0x20($sp)
/* 174FA8 8024C588 AFA20024 */ sw $v0, 0x24($sp)
/* 174FAC 8024C58C 29420011 */ slti $v0, $t2, 0x11
/* 174FB0 8024C590 14400002 */ bnez $v0, .Lfilemenu_8024C59C
/* 174FB4 8024C594 24090010 */ addiu $t1, $zero, 0x10
/* 174FB8 8024C598 AFA9001C */ sw $t1, 0x1C($sp)
.Lfilemenu_8024C59C:
/* 174FBC 8024C59C 81020006 */ lb $v0, 0x6($t0)
/* 174FC0 8024C5A0 184000F9 */ blez $v0, .Lfilemenu_8024C988
/* 174FC4 8024C5A4 0000F02D */ daddu $fp, $zero, $zero
/* 174FC8 8024C5A8 3C014080 */ lui $at, (0x40800000 >> 16)
/* 174FCC 8024C5AC 4481A000 */ mtc1 $at, $f20
/* 174FD0 8024C5B0 AFA00040 */ sw $zero, 0x40($sp)
.Lfilemenu_8024C5B4:
/* 174FD4 8024C5B4 8FAA0040 */ lw $t2, 0x40($sp)
/* 174FD8 8024C5B8 AFA00018 */ sw $zero, 0x18($sp)
/* 174FDC 8024C5BC AFAA002C */ sw $t2, 0x2C($sp)
.Lfilemenu_8024C5C0:
/* 174FE0 8024C5C0 8FA9002C */ lw $t1, 0x2C($sp)
/* 174FE4 8024C5C4 8FAA0018 */ lw $t2, 0x18($sp)
/* 174FE8 8024C5C8 1540002F */ bnez $t2, .Lfilemenu_8024C688
/* 174FEC 8024C5CC 25330004 */ addiu $s3, $t1, 0x4
/* 174FF0 8024C5D0 C7A20084 */ lwc1 $f2, 0x84($sp)
/* 174FF4 8024C5D4 468010A0 */ cvt.s.w $f2, $f2
/* 174FF8 8024C5D8 46141082 */ mul.s $f2, $f2, $f20
/* 174FFC 8024C5DC 00000000 */ nop
/* 175000 8024C5E0 8FA90020 */ lw $t1, 0x20($sp)
/* 175004 8024C5E4 3C028009 */ lui $v0, %hi(gMainGfxPos)
/* 175008 8024C5E8 8C426A44 */ lw $v0, %lo(gMainGfxPos)($v0)
/* 17500C 8024C5EC 8FAA0088 */ lw $t2, 0x88($sp)
/* 175010 8024C5F0 0040302D */ daddu $a2, $v0, $zero
/* 175014 8024C5F4 24420008 */ addiu $v0, $v0, 0x8
/* 175018 8024C5F8 01532821 */ addu $a1, $t2, $s3
/* 17501C 8024C5FC 44850000 */ mtc1 $a1, $f0
/* 175020 8024C600 00000000 */ nop
/* 175024 8024C604 46800020 */ cvt.s.w $f0, $f0
/* 175028 8024C608 8FAA0084 */ lw $t2, 0x84($sp)
/* 17502C 8024C60C 46140002 */ mul.s $f0, $f0, $f20
/* 175030 8024C610 00000000 */ nop
/* 175034 8024C614 AFA90028 */ sw $t1, 0x28($sp)
/* 175038 8024C618 3C018009 */ lui $at, %hi(gMainGfxPos)
/* 17503C 8024C61C AC226A44 */ sw $v0, %lo(gMainGfxPos)($at)
/* 175040 8024C620 4600118D */ trunc.w.s $f6, $f2
/* 175044 8024C624 44043000 */ mfc1 $a0, $f6
/* 175048 8024C628 00000000 */ nop
/* 17504C 8024C62C 30840FFF */ andi $a0, $a0, 0xFFF
/* 175050 8024C630 00042300 */ sll $a0, $a0, 12
/* 175054 8024C634 4600018D */ trunc.w.s $f6, $f0
/* 175058 8024C638 44023000 */ mfc1 $v0, $f6
/* 17505C 8024C63C 8FA9008C */ lw $t1, 0x8C($sp)
/* 175060 8024C640 30420FFF */ andi $v0, $v0, 0xFFF
/* 175064 8024C644 01491821 */ addu $v1, $t2, $t1
/* 175068 8024C648 44831000 */ mtc1 $v1, $f2
/* 17506C 8024C64C 00000000 */ nop
/* 175070 8024C650 468010A0 */ cvt.s.w $f2, $f2
/* 175074 8024C654 3C0AED00 */ lui $t2, (0xED000000 >> 16)
/* 175078 8024C658 004A1025 */ or $v0, $v0, $t2
/* 17507C 8024C65C 46141082 */ mul.s $f2, $f2, $f20
/* 175080 8024C660 00000000 */ nop
/* 175084 8024C664 8FA9001C */ lw $t1, 0x1C($sp)
/* 175088 8024C668 00A92821 */ addu $a1, $a1, $t1
/* 17508C 8024C66C 44850000 */ mtc1 $a1, $f0
/* 175090 8024C670 00000000 */ nop
/* 175094 8024C674 46800020 */ cvt.s.w $f0, $f0
/* 175098 8024C678 46140002 */ mul.s $f0, $f0, $f20
/* 17509C 8024C67C 00000000 */ nop
/* 1750A0 8024C680 080931D0 */ j .Lfilemenu_8024C740
/* 1750A4 8024C684 00822025 */ or $a0, $a0, $v0
.Lfilemenu_8024C688:
/* 1750A8 8024C688 C7A20084 */ lwc1 $f2, 0x84($sp)
/* 1750AC 8024C68C 468010A0 */ cvt.s.w $f2, $f2
/* 1750B0 8024C690 46141082 */ mul.s $f2, $f2, $f20
/* 1750B4 8024C694 00000000 */ nop
/* 1750B8 8024C698 3C038009 */ lui $v1, %hi(gMainGfxPos)
/* 1750BC 8024C69C 8C636A44 */ lw $v1, %lo(gMainGfxPos)($v1)
/* 1750C0 8024C6A0 8FAA0024 */ lw $t2, 0x24($sp)
/* 1750C4 8024C6A4 8FA90088 */ lw $t1, 0x88($sp)
/* 1750C8 8024C6A8 0060302D */ daddu $a2, $v1, $zero
/* 1750CC 8024C6AC 24630008 */ addiu $v1, $v1, 0x8
/* 1750D0 8024C6B0 AFAA0028 */ sw $t2, 0x28($sp)
/* 1750D4 8024C6B4 8FAA001C */ lw $t2, 0x1C($sp)
/* 1750D8 8024C6B8 01332821 */ addu $a1, $t1, $s3
/* 1750DC 8024C6BC 3C018009 */ lui $at, %hi(gMainGfxPos)
/* 1750E0 8024C6C0 AC236A44 */ sw $v1, %lo(gMainGfxPos)($at)
/* 1750E4 8024C6C4 00AA1021 */ addu $v0, $a1, $t2
/* 1750E8 8024C6C8 44820000 */ mtc1 $v0, $f0
/* 1750EC 8024C6CC 00000000 */ nop
/* 1750F0 8024C6D0 46800020 */ cvt.s.w $f0, $f0
/* 1750F4 8024C6D4 24A50010 */ addiu $a1, $a1, 0x10
/* 1750F8 8024C6D8 46140002 */ mul.s $f0, $f0, $f20
/* 1750FC 8024C6DC 00000000 */ nop
/* 175100 8024C6E0 8FAA0084 */ lw $t2, 0x84($sp)
/* 175104 8024C6E4 4600118D */ trunc.w.s $f6, $f2
/* 175108 8024C6E8 44043000 */ mfc1 $a0, $f6
/* 17510C 8024C6EC 00000000 */ nop
/* 175110 8024C6F0 30840FFF */ andi $a0, $a0, 0xFFF
/* 175114 8024C6F4 00042300 */ sll $a0, $a0, 12
/* 175118 8024C6F8 4600018D */ trunc.w.s $f6, $f0
/* 17511C 8024C6FC 44023000 */ mfc1 $v0, $f6
/* 175120 8024C700 44850000 */ mtc1 $a1, $f0
/* 175124 8024C704 00000000 */ nop
/* 175128 8024C708 46800020 */ cvt.s.w $f0, $f0
/* 17512C 8024C70C 46140002 */ mul.s $f0, $f0, $f20
/* 175130 8024C710 00000000 */ nop
/* 175134 8024C714 8FA9008C */ lw $t1, 0x8C($sp)
/* 175138 8024C718 30420FFF */ andi $v0, $v0, 0xFFF
/* 17513C 8024C71C 01491821 */ addu $v1, $t2, $t1
/* 175140 8024C720 44831000 */ mtc1 $v1, $f2
/* 175144 8024C724 00000000 */ nop
/* 175148 8024C728 468010A0 */ cvt.s.w $f2, $f2
/* 17514C 8024C72C 46141082 */ mul.s $f2, $f2, $f20
/* 175150 8024C730 00000000 */ nop
/* 175154 8024C734 3C0AED00 */ lui $t2, (0xED000000 >> 16)
/* 175158 8024C738 004A1025 */ or $v0, $v0, $t2
/* 17515C 8024C73C 00822025 */ or $a0, $a0, $v0
.Lfilemenu_8024C740:
/* 175160 8024C740 ACC40000 */ sw $a0, 0x0($a2)
/* 175164 8024C744 4600118D */ trunc.w.s $f6, $f2
/* 175168 8024C748 44033000 */ mfc1 $v1, $f6
/* 17516C 8024C74C 00000000 */ nop
/* 175170 8024C750 30630FFF */ andi $v1, $v1, 0xFFF
/* 175174 8024C754 00031B00 */ sll $v1, $v1, 12
/* 175178 8024C758 4600018D */ trunc.w.s $f6, $f0
/* 17517C 8024C75C 44023000 */ mfc1 $v0, $f6
/* 175180 8024C760 00000000 */ nop
/* 175184 8024C764 30420FFF */ andi $v0, $v0, 0xFFF
/* 175188 8024C768 00621825 */ or $v1, $v1, $v0
/* 17518C 8024C76C ACC30004 */ sw $v1, 0x4($a2)
/* 175190 8024C770 81020005 */ lb $v0, 0x5($t0)
/* 175194 8024C774 91030005 */ lbu $v1, 0x5($t0)
/* 175198 8024C778 18400076 */ blez $v0, .Lfilemenu_8024C954
/* 17519C 8024C77C 0000B02D */ daddu $s6, $zero, $zero
/* 1751A0 8024C780 AFA0003C */ sw $zero, 0x3C($sp)
/* 1751A4 8024C784 00031E00 */ sll $v1, $v1, 24
.Lfilemenu_8024C788:
/* 1751A8 8024C788 8FA90028 */ lw $t1, 0x28($sp)
/* 1751AC 8024C78C 00031E03 */ sra $v1, $v1, 24
/* 1751B0 8024C790 01230018 */ mult $t1, $v1
/* 1751B4 8024C794 00005812 */ mflo $t3
/* 1751B8 8024C798 81020006 */ lb $v0, 0x6($t0)
/* 1751BC 8024C79C 00000000 */ nop
/* 1751C0 8024C7A0 01620018 */ mult $t3, $v0
/* 1751C4 8024C7A4 00001012 */ mflo $v0
/* 1751C8 8024C7A8 00000000 */ nop
/* 1751CC 8024C7AC 00000000 */ nop
/* 1751D0 8024C7B0 007E0018 */ mult $v1, $fp
/* 1751D4 8024C7B4 00001812 */ mflo $v1
/* 1751D8 8024C7B8 00431021 */ addu $v0, $v0, $v1
/* 1751DC 8024C7BC 8D030008 */ lw $v1, 0x8($t0)
/* 1751E0 8024C7C0 00561021 */ addu $v0, $v0, $s6
/* 1751E4 8024C7C4 00621821 */ addu $v1, $v1, $v0
/* 1751E8 8024C7C8 90720000 */ lbu $s2, 0x0($v1)
/* 1751EC 8024C7CC 240200F7 */ addiu $v0, $zero, 0xF7
/* 1751F0 8024C7D0 12420057 */ beq $s2, $v0, .Lfilemenu_8024C930
/* 1751F4 8024C7D4 00000000 */ nop
/* 1751F8 8024C7D8 81020001 */ lb $v0, 0x1($t0)
/* 1751FC 8024C7DC 16C20007 */ bne $s6, $v0, .Lfilemenu_8024C7FC
/* 175200 8024C7E0 0000A02D */ daddu $s4, $zero, $zero
/* 175204 8024C7E4 81020002 */ lb $v0, 0x2($t0)
/* 175208 8024C7E8 17C20005 */ bne $fp, $v0, .Lfilemenu_8024C800
/* 17520C 8024C7EC 2417000A */ addiu $s7, $zero, 0xA
/* 175210 8024C7F0 24140008 */ addiu $s4, $zero, 0x8
/* 175214 8024C7F4 08093200 */ j .Lfilemenu_8024C800
/* 175218 8024C7F8 0000B82D */ daddu $s7, $zero, $zero
.Lfilemenu_8024C7FC:
/* 17521C 8024C7FC 2417000A */ addiu $s7, $zero, 0xA
.Lfilemenu_8024C800:
/* 175220 8024C800 0240202D */ daddu $a0, $s2, $zero
/* 175224 8024C804 0000282D */ daddu $a1, $zero, $zero
/* 175228 8024C808 8FA9003C */ lw $t1, 0x3C($sp)
/* 17522C 8024C80C 8FAA002C */ lw $t2, 0x2C($sp)
/* 175230 8024C810 3C073F80 */ lui $a3, (0x3F800000 >> 16)
/* 175234 8024C814 00A0302D */ daddu $a2, $a1, $zero
/* 175238 8024C818 AFA00010 */ sw $zero, 0x10($sp)
/* 17523C 8024C81C AFA80048 */ sw $t0, 0x48($sp)
/* 175240 8024C820 2530000C */ addiu $s0, $t1, 0xC
/* 175244 8024C824 25530005 */ addiu $s3, $t2, 0x5
/* 175248 8024C828 24090001 */ addiu $t1, $zero, 0x1
/* 17524C 8024C82C 0C0491E9 */ jal msg_get_print_char_width
/* 175250 8024C830 AFA90014 */ sw $t1, 0x14($sp)
/* 175254 8024C834 0040A82D */ daddu $s5, $v0, $zero
/* 175258 8024C838 2642FF5E */ addiu $v0, $s2, -0xA2
/* 17525C 8024C83C 2C42004E */ sltiu $v0, $v0, 0x4E
/* 175260 8024C840 8FA80048 */ lw $t0, 0x48($sp)
/* 175264 8024C844 10400012 */ beqz $v0, .Lfilemenu_8024C890
/* 175268 8024C848 0240882D */ daddu $s1, $s2, $zero
/* 17526C 8024C84C 2A4200C6 */ slti $v0, $s2, 0xC6
/* 175270 8024C850 14400010 */ bnez $v0, .Lfilemenu_8024C894
/* 175274 8024C854 240A00C6 */ addiu $t2, $zero, 0xC6
/* 175278 8024C858 8FAA0084 */ lw $t2, 0x84($sp)
/* 17527C 8024C85C 3C048025 */ lui $a0, %hi(filemenu_createfile_hudElems+0x8)
/* 175280 8024C860 8C8417C8 */ lw $a0, %lo(filemenu_createfile_hudElems+0x8)($a0)
/* 175284 8024C864 8FA90088 */ lw $t1, 0x88($sp)
/* 175288 8024C868 01502821 */ addu $a1, $t2, $s0
/* 17528C 8024C86C 24A50016 */ addiu $a1, $a1, 0x16
/* 175290 8024C870 01333021 */ addu $a2, $t1, $s3
/* 175294 8024C874 0C050D4D */ jal hud_element_set_render_pos
/* 175298 8024C878 24C60008 */ addiu $a2, $a2, 0x8
/* 17529C 8024C87C 3C048025 */ lui $a0, %hi(filemenu_createfile_hudElems+0x8)
/* 1752A0 8024C880 8C8417C8 */ lw $a0, %lo(filemenu_createfile_hudElems+0x8)($a0)
/* 1752A4 8024C884 0C050CE4 */ jal hud_element_draw_without_clipping
/* 1752A8 8024C888 0000A02D */ daddu $s4, $zero, $zero
/* 1752AC 8024C88C 8FA80048 */ lw $t0, 0x48($sp)
.Lfilemenu_8024C890:
/* 1752B0 8024C890 240A00C6 */ addiu $t2, $zero, 0xC6
.Lfilemenu_8024C894:
/* 1752B4 8024C894 522A0001 */ beql $s1, $t2, .Lfilemenu_8024C89C
/* 1752B8 8024C898 2610FFFF */ addiu $s0, $s0, -0x1
.Lfilemenu_8024C89C:
/* 1752BC 8024C89C 240900C9 */ addiu $t1, $zero, 0xC9
/* 1752C0 8024C8A0 52290001 */ beql $s1, $t1, .Lfilemenu_8024C8A8
/* 1752C4 8024C8A4 26100010 */ addiu $s0, $s0, 0x10
.Lfilemenu_8024C8A8:
/* 1752C8 8024C8A8 240A00CA */ addiu $t2, $zero, 0xCA
/* 1752CC 8024C8AC 162A0007 */ bne $s1, $t2, .Lfilemenu_8024C8CC
/* 1752D0 8024C8B0 240A00C6 */ addiu $t2, $zero, 0xC6
/* 1752D4 8024C8B4 3C028015 */ lui $v0, %hi(gCurrentLanguage)
/* 1752D8 8024C8B8 8C42AE4C */ lw $v0, %lo(gCurrentLanguage)($v0)
/* 1752DC 8024C8BC 24090001 */ addiu $t1, $zero, 0x1
/* 1752E0 8024C8C0 54490002 */ bnel $v0, $t1, .Lfilemenu_8024C8CC
/* 1752E4 8024C8C4 26100008 */ addiu $s0, $s0, 0x8
/* 1752E8 8024C8C8 26100004 */ addiu $s0, $s0, 0x4
.Lfilemenu_8024C8CC:
/* 1752EC 8024C8CC 122A0005 */ beq $s1, $t2, .Lfilemenu_8024C8E4
/* 1752F0 8024C8D0 240900CA */ addiu $t1, $zero, 0xCA
/* 1752F4 8024C8D4 12290003 */ beq $s1, $t1, .Lfilemenu_8024C8E4
/* 1752F8 8024C8D8 240A00C9 */ addiu $t2, $zero, 0xC9
/* 1752FC 8024C8DC 162A0004 */ bne $s1, $t2, .Lfilemenu_8024C8F0
/* 175300 8024C8E0 0240202D */ daddu $a0, $s2, $zero
.Lfilemenu_8024C8E4:
/* 175304 8024C8E4 2673FFFF */ addiu $s3, $s3, -0x1
/* 175308 8024C8E8 24150009 */ addiu $s5, $zero, 0x9
/* 17530C 8024C8EC 0240202D */ daddu $a0, $s2, $zero
.Lfilemenu_8024C8F0:
/* 175310 8024C8F0 24050008 */ addiu $a1, $zero, 0x8
/* 175314 8024C8F4 00B52823 */ subu $a1, $a1, $s5
/* 175318 8024C8F8 00051FC2 */ srl $v1, $a1, 31
/* 17531C 8024C8FC 00A32821 */ addu $a1, $a1, $v1
/* 175320 8024C900 00052843 */ sra $a1, $a1, 1
/* 175324 8024C904 8FA90084 */ lw $t1, 0x84($sp)
/* 175328 8024C908 8FAA0088 */ lw $t2, 0x88($sp)
/* 17532C 8024C90C 240700FF */ addiu $a3, $zero, 0xFF
/* 175330 8024C910 AFB70010 */ sw $s7, 0x10($sp)
/* 175334 8024C914 AFB40014 */ sw $s4, 0x14($sp)
/* 175338 8024C918 AFA80048 */ sw $t0, 0x48($sp)
/* 17533C 8024C91C 01301021 */ addu $v0, $t1, $s0
/* 175340 8024C920 00452821 */ addu $a1, $v0, $a1
/* 175344 8024C924 0C0939C7 */ jal filemenu_draw_message
/* 175348 8024C928 01533021 */ addu $a2, $t2, $s3
/* 17534C 8024C92C 8FA80048 */ lw $t0, 0x48($sp)
.Lfilemenu_8024C930:
/* 175350 8024C930 8FA9003C */ lw $t1, 0x3C($sp)
/* 175354 8024C934 26D60001 */ addiu $s6, $s6, 0x1
/* 175358 8024C938 25290013 */ addiu $t1, $t1, 0x13
/* 17535C 8024C93C AFA9003C */ sw $t1, 0x3C($sp)
/* 175360 8024C940 81020005 */ lb $v0, 0x5($t0)
/* 175364 8024C944 91030005 */ lbu $v1, 0x5($t0)
/* 175368 8024C948 02C2102A */ slt $v0, $s6, $v0
/* 17536C 8024C94C 5440FF8E */ bnel $v0, $zero, .Lfilemenu_8024C788
/* 175370 8024C950 00031E00 */ sll $v1, $v1, 24
.Lfilemenu_8024C954:
/* 175374 8024C954 8FAA0018 */ lw $t2, 0x18($sp)
/* 175378 8024C958 254A0001 */ addiu $t2, $t2, 0x1
/* 17537C 8024C95C 29420002 */ slti $v0, $t2, 0x2
/* 175380 8024C960 1440FF17 */ bnez $v0, .Lfilemenu_8024C5C0
/* 175384 8024C964 AFAA0018 */ sw $t2, 0x18($sp)
/* 175388 8024C968 8FA90040 */ lw $t1, 0x40($sp)
/* 17538C 8024C96C 2529000F */ addiu $t1, $t1, 0xF
/* 175390 8024C970 AFA90040 */ sw $t1, 0x40($sp)
/* 175394 8024C974 81020006 */ lb $v0, 0x6($t0)
/* 175398 8024C978 27DE0001 */ addiu $fp, $fp, 0x1
/* 17539C 8024C97C 03C2102A */ slt $v0, $fp, $v0
/* 1753A0 8024C980 1440FF0C */ bnez $v0, .Lfilemenu_8024C5B4
/* 1753A4 8024C984 00000000 */ nop
.Lfilemenu_8024C988:
/* 1753A8 8024C988 3C038009 */ lui $v1, %hi(gMainGfxPos)
/* 1753AC 8024C98C 24636A44 */ addiu $v1, $v1, %lo(gMainGfxPos)
/* 1753B0 8024C990 C7A20084 */ lwc1 $f2, 0x84($sp)
/* 1753B4 8024C994 468010A0 */ cvt.s.w $f2, $f2
/* 1753B8 8024C998 3C014080 */ lui $at, (0x40800000 >> 16)
/* 1753BC 8024C99C 44812000 */ mtc1 $at, $f4
/* 1753C0 8024C9A0 C7A00088 */ lwc1 $f0, 0x88($sp)
/* 1753C4 8024C9A4 46800020 */ cvt.s.w $f0, $f0
/* 1753C8 8024C9A8 46041082 */ mul.s $f2, $f2, $f4
/* 1753CC 8024C9AC 00000000 */ nop
/* 1753D0 8024C9B0 8C620000 */ lw $v0, 0x0($v1)
/* 1753D4 8024C9B4 3C05ED00 */ lui $a1, (0xED000000 >> 16)
/* 1753D8 8024C9B8 0040302D */ daddu $a2, $v0, $zero
/* 1753DC 8024C9BC 24420008 */ addiu $v0, $v0, 0x8
/* 1753E0 8024C9C0 46040002 */ mul.s $f0, $f0, $f4
/* 1753E4 8024C9C4 00000000 */ nop
/* 1753E8 8024C9C8 AC620000 */ sw $v0, 0x0($v1)
/* 1753EC 8024C9CC 8FAA0084 */ lw $t2, 0x84($sp)
/* 1753F0 8024C9D0 4600118D */ trunc.w.s $f6, $f2
/* 1753F4 8024C9D4 44043000 */ mfc1 $a0, $f6
/* 1753F8 8024C9D8 00000000 */ nop
/* 1753FC 8024C9DC 30840FFF */ andi $a0, $a0, 0xFFF
/* 175400 8024C9E0 00042300 */ sll $a0, $a0, 12
/* 175404 8024C9E4 4600018D */ trunc.w.s $f6, $f0
/* 175408 8024C9E8 44033000 */ mfc1 $v1, $f6
/* 17540C 8024C9EC 00000000 */ nop
/* 175410 8024C9F0 30630FFF */ andi $v1, $v1, 0xFFF
/* 175414 8024C9F4 8FA9008C */ lw $t1, 0x8C($sp)
/* 175418 8024C9F8 00651825 */ or $v1, $v1, $a1
/* 17541C 8024C9FC 01491021 */ addu $v0, $t2, $t1
/* 175420 8024CA00 44821000 */ mtc1 $v0, $f2
/* 175424 8024CA04 00000000 */ nop
/* 175428 8024CA08 468010A0 */ cvt.s.w $f2, $f2
/* 17542C 8024CA0C 46041082 */ mul.s $f2, $f2, $f4
/* 175430 8024CA10 00000000 */ nop
/* 175434 8024CA14 8FA20090 */ lw $v0, 0x90($sp)
/* 175438 8024CA18 8FAA0088 */ lw $t2, 0x88($sp)
/* 17543C 8024CA1C 00832025 */ or $a0, $a0, $v1
/* 175440 8024CA20 01421021 */ addu $v0, $t2, $v0
/* 175444 8024CA24 44820000 */ mtc1 $v0, $f0
/* 175448 8024CA28 00000000 */ nop
/* 17544C 8024CA2C 46800020 */ cvt.s.w $f0, $f0
/* 175450 8024CA30 46040002 */ mul.s $f0, $f0, $f4
/* 175454 8024CA34 00000000 */ nop
/* 175458 8024CA38 ACC40000 */ sw $a0, 0x0($a2)
/* 17545C 8024CA3C 4600118D */ trunc.w.s $f6, $f2
/* 175460 8024CA40 44023000 */ mfc1 $v0, $f6
/* 175464 8024CA44 00000000 */ nop
/* 175468 8024CA48 30420FFF */ andi $v0, $v0, 0xFFF
/* 17546C 8024CA4C 00021300 */ sll $v0, $v0, 12
/* 175470 8024CA50 4600018D */ trunc.w.s $f6, $f0
/* 175474 8024CA54 44033000 */ mfc1 $v1, $f6
/* 175478 8024CA58 00000000 */ nop
/* 17547C 8024CA5C 30630FFF */ andi $v1, $v1, 0xFFF
/* 175480 8024CA60 00431025 */ or $v0, $v0, $v1
/* 175484 8024CA64 08093321 */ j .Lfilemenu_8024CC84
/* 175488 8024CA68 ACC20004 */ sw $v0, 0x4($a2)
.Lfilemenu_8024CA6C:
/* 17548C 8024CA6C 81020005 */ lb $v0, 0x5($t0)
/* 175490 8024CA70 18400084 */ blez $v0, .Lfilemenu_8024CC84
/* 175494 8024CA74 0000B02D */ daddu $s6, $zero, $zero
/* 175498 8024CA78 AFA00038 */ sw $zero, 0x38($sp)
.Lfilemenu_8024CA7C:
/* 17549C 8024CA7C 81020006 */ lb $v0, 0x6($t0)
/* 1754A0 8024CA80 91040006 */ lbu $a0, 0x6($t0)
/* 1754A4 8024CA84 18400077 */ blez $v0, .Lfilemenu_8024CC64
/* 1754A8 8024CA88 0000F02D */ daddu $fp, $zero, $zero
/* 1754AC 8024CA8C 8FAA0038 */ lw $t2, 0x38($sp)
/* 1754B0 8024CA90 AFA00034 */ sw $zero, 0x34($sp)
/* 1754B4 8024CA94 AFAA0030 */ sw $t2, 0x30($sp)
.Lfilemenu_8024CA98:
/* 1754B8 8024CA98 81020004 */ lb $v0, 0x4($t0)
/* 1754BC 8024CA9C 81030005 */ lb $v1, 0x5($t0)
/* 1754C0 8024CAA0 00430018 */ mult $v0, $v1
/* 1754C4 8024CAA4 00005812 */ mflo $t3
/* 1754C8 8024CAA8 00041600 */ sll $v0, $a0, 24
/* 1754CC 8024CAAC 00021603 */ sra $v0, $v0, 24
/* 1754D0 8024CAB0 01620018 */ mult $t3, $v0
/* 1754D4 8024CAB4 00001012 */ mflo $v0
/* 1754D8 8024CAB8 00000000 */ nop
/* 1754DC 8024CABC 00000000 */ nop
/* 1754E0 8024CAC0 007E0018 */ mult $v1, $fp
/* 1754E4 8024CAC4 00001812 */ mflo $v1
/* 1754E8 8024CAC8 00431021 */ addu $v0, $v0, $v1
/* 1754EC 8024CACC 8D030008 */ lw $v1, 0x8($t0)
/* 1754F0 8024CAD0 00561021 */ addu $v0, $v0, $s6
/* 1754F4 8024CAD4 00621821 */ addu $v1, $v1, $v0
/* 1754F8 8024CAD8 90720000 */ lbu $s2, 0x0($v1)
/* 1754FC 8024CADC 240200F7 */ addiu $v0, $zero, 0xF7
/* 175500 8024CAE0 12420057 */ beq $s2, $v0, .Lfilemenu_8024CC40
/* 175504 8024CAE4 00000000 */ nop
/* 175508 8024CAE8 81020001 */ lb $v0, 0x1($t0)
/* 17550C 8024CAEC 16C20007 */ bne $s6, $v0, .Lfilemenu_8024CB0C
/* 175510 8024CAF0 0000A02D */ daddu $s4, $zero, $zero
/* 175514 8024CAF4 81020002 */ lb $v0, 0x2($t0)
/* 175518 8024CAF8 17C20005 */ bne $fp, $v0, .Lfilemenu_8024CB10
/* 17551C 8024CAFC 2417000A */ addiu $s7, $zero, 0xA
/* 175520 8024CB00 24140008 */ addiu $s4, $zero, 0x8
/* 175524 8024CB04 080932C4 */ j .Lfilemenu_8024CB10
/* 175528 8024CB08 0000B82D */ daddu $s7, $zero, $zero
.Lfilemenu_8024CB0C:
/* 17552C 8024CB0C 2417000A */ addiu $s7, $zero, 0xA
.Lfilemenu_8024CB10:
/* 175530 8024CB10 0240202D */ daddu $a0, $s2, $zero
/* 175534 8024CB14 0000282D */ daddu $a1, $zero, $zero
/* 175538 8024CB18 8FA90030 */ lw $t1, 0x30($sp)
/* 17553C 8024CB1C 8FAA0034 */ lw $t2, 0x34($sp)
/* 175540 8024CB20 3C073F80 */ lui $a3, (0x3F800000 >> 16)
/* 175544 8024CB24 00A0302D */ daddu $a2, $a1, $zero
/* 175548 8024CB28 AFA00010 */ sw $zero, 0x10($sp)
/* 17554C 8024CB2C AFA80048 */ sw $t0, 0x48($sp)
/* 175550 8024CB30 2530000C */ addiu $s0, $t1, 0xC
/* 175554 8024CB34 25530005 */ addiu $s3, $t2, 0x5
/* 175558 8024CB38 24090001 */ addiu $t1, $zero, 0x1
/* 17555C 8024CB3C 0C0491E9 */ jal msg_get_print_char_width
/* 175560 8024CB40 AFA90014 */ sw $t1, 0x14($sp)
/* 175564 8024CB44 0040A82D */ daddu $s5, $v0, $zero
/* 175568 8024CB48 2642FF5E */ addiu $v0, $s2, -0xA2
/* 17556C 8024CB4C 2C42004E */ sltiu $v0, $v0, 0x4E
/* 175570 8024CB50 8FA80048 */ lw $t0, 0x48($sp)
/* 175574 8024CB54 10400012 */ beqz $v0, .Lfilemenu_8024CBA0
/* 175578 8024CB58 0240882D */ daddu $s1, $s2, $zero
/* 17557C 8024CB5C 2A4200C6 */ slti $v0, $s2, 0xC6
/* 175580 8024CB60 14400010 */ bnez $v0, .Lfilemenu_8024CBA4
/* 175584 8024CB64 240A00C6 */ addiu $t2, $zero, 0xC6
/* 175588 8024CB68 8FAA0084 */ lw $t2, 0x84($sp)
/* 17558C 8024CB6C 3C048025 */ lui $a0, %hi(filemenu_createfile_hudElems+0x8)
/* 175590 8024CB70 8C8417C8 */ lw $a0, %lo(filemenu_createfile_hudElems+0x8)($a0)
/* 175594 8024CB74 8FA90088 */ lw $t1, 0x88($sp)
/* 175598 8024CB78 01502821 */ addu $a1, $t2, $s0
/* 17559C 8024CB7C 24A50016 */ addiu $a1, $a1, 0x16
/* 1755A0 8024CB80 01333021 */ addu $a2, $t1, $s3
/* 1755A4 8024CB84 0C050D4D */ jal hud_element_set_render_pos
/* 1755A8 8024CB88 24C60008 */ addiu $a2, $a2, 0x8
/* 1755AC 8024CB8C 3C048025 */ lui $a0, %hi(filemenu_createfile_hudElems+0x8)
/* 1755B0 8024CB90 8C8417C8 */ lw $a0, %lo(filemenu_createfile_hudElems+0x8)($a0)
/* 1755B4 8024CB94 0C050CE4 */ jal hud_element_draw_without_clipping
/* 1755B8 8024CB98 0000A02D */ daddu $s4, $zero, $zero
/* 1755BC 8024CB9C 8FA80048 */ lw $t0, 0x48($sp)
.Lfilemenu_8024CBA0:
/* 1755C0 8024CBA0 240A00C6 */ addiu $t2, $zero, 0xC6
.Lfilemenu_8024CBA4:
/* 1755C4 8024CBA4 522A0001 */ beql $s1, $t2, .Lfilemenu_8024CBAC
/* 1755C8 8024CBA8 2610FFFF */ addiu $s0, $s0, -0x1
.Lfilemenu_8024CBAC:
/* 1755CC 8024CBAC 240900C9 */ addiu $t1, $zero, 0xC9
/* 1755D0 8024CBB0 52290001 */ beql $s1, $t1, .Lfilemenu_8024CBB8
/* 1755D4 8024CBB4 26100010 */ addiu $s0, $s0, 0x10
.Lfilemenu_8024CBB8:
/* 1755D8 8024CBB8 240A00CA */ addiu $t2, $zero, 0xCA
/* 1755DC 8024CBBC 162A0007 */ bne $s1, $t2, .Lfilemenu_8024CBDC
/* 1755E0 8024CBC0 240A00C6 */ addiu $t2, $zero, 0xC6
/* 1755E4 8024CBC4 3C028015 */ lui $v0, %hi(gCurrentLanguage)
/* 1755E8 8024CBC8 8C42AE4C */ lw $v0, %lo(gCurrentLanguage)($v0)
/* 1755EC 8024CBCC 24090001 */ addiu $t1, $zero, 0x1
/* 1755F0 8024CBD0 54490002 */ bnel $v0, $t1, .Lfilemenu_8024CBDC
/* 1755F4 8024CBD4 26100008 */ addiu $s0, $s0, 0x8
/* 1755F8 8024CBD8 26100004 */ addiu $s0, $s0, 0x4
.Lfilemenu_8024CBDC:
/* 1755FC 8024CBDC 122A0005 */ beq $s1, $t2, .Lfilemenu_8024CBF4
/* 175600 8024CBE0 240900CA */ addiu $t1, $zero, 0xCA
/* 175604 8024CBE4 12290003 */ beq $s1, $t1, .Lfilemenu_8024CBF4
/* 175608 8024CBE8 240A00C9 */ addiu $t2, $zero, 0xC9
/* 17560C 8024CBEC 162A0004 */ bne $s1, $t2, .Lfilemenu_8024CC00
/* 175610 8024CBF0 0240202D */ daddu $a0, $s2, $zero
.Lfilemenu_8024CBF4:
/* 175614 8024CBF4 2673FFFF */ addiu $s3, $s3, -0x1
/* 175618 8024CBF8 24150009 */ addiu $s5, $zero, 0x9
/* 17561C 8024CBFC 0240202D */ daddu $a0, $s2, $zero
.Lfilemenu_8024CC00:
/* 175620 8024CC00 24050008 */ addiu $a1, $zero, 0x8
/* 175624 8024CC04 00B52823 */ subu $a1, $a1, $s5
/* 175628 8024CC08 00051FC2 */ srl $v1, $a1, 31
/* 17562C 8024CC0C 00A32821 */ addu $a1, $a1, $v1
/* 175630 8024CC10 00052843 */ sra $a1, $a1, 1
/* 175634 8024CC14 8FA90084 */ lw $t1, 0x84($sp)
/* 175638 8024CC18 8FAA0088 */ lw $t2, 0x88($sp)
/* 17563C 8024CC1C 240700FF */ addiu $a3, $zero, 0xFF
/* 175640 8024CC20 AFB70010 */ sw $s7, 0x10($sp)
/* 175644 8024CC24 AFB40014 */ sw $s4, 0x14($sp)
/* 175648 8024CC28 AFA80048 */ sw $t0, 0x48($sp)
/* 17564C 8024CC2C 01301021 */ addu $v0, $t1, $s0
/* 175650 8024CC30 00452821 */ addu $a1, $v0, $a1
/* 175654 8024CC34 0C0939C7 */ jal filemenu_draw_message
/* 175658 8024CC38 01533021 */ addu $a2, $t2, $s3
/* 17565C 8024CC3C 8FA80048 */ lw $t0, 0x48($sp)
.Lfilemenu_8024CC40:
/* 175660 8024CC40 8FA90034 */ lw $t1, 0x34($sp)
/* 175664 8024CC44 27DE0001 */ addiu $fp, $fp, 0x1
/* 175668 8024CC48 2529000F */ addiu $t1, $t1, 0xF
/* 17566C 8024CC4C AFA90034 */ sw $t1, 0x34($sp)
/* 175670 8024CC50 81020006 */ lb $v0, 0x6($t0)
/* 175674 8024CC54 91040006 */ lbu $a0, 0x6($t0)
/* 175678 8024CC58 03C2102A */ slt $v0, $fp, $v0
/* 17567C 8024CC5C 1440FF8E */ bnez $v0, .Lfilemenu_8024CA98
/* 175680 8024CC60 00000000 */ nop
.Lfilemenu_8024CC64:
/* 175684 8024CC64 8FAA0038 */ lw $t2, 0x38($sp)
/* 175688 8024CC68 254A0013 */ addiu $t2, $t2, 0x13
/* 17568C 8024CC6C AFAA0038 */ sw $t2, 0x38($sp)
/* 175690 8024CC70 81020005 */ lb $v0, 0x5($t0)
/* 175694 8024CC74 26D60001 */ addiu $s6, $s6, 0x1
/* 175698 8024CC78 02C2102A */ slt $v0, $s6, $v0
/* 17569C 8024CC7C 1440FF7F */ bnez $v0, .Lfilemenu_8024CA7C
/* 1756A0 8024CC80 00000000 */ nop
.Lfilemenu_8024CC84:
/* 1756A4 8024CC84 3C038025 */ lui $v1, %hi(filemenu_currentMenu)
/* 1756A8 8024CC88 80631758 */ lb $v1, %lo(filemenu_currentMenu)($v1)
/* 1756AC 8024CC8C 24020003 */ addiu $v0, $zero, 0x3
/* 1756B0 8024CC90 1462001D */ bne $v1, $v0, .Lfilemenu_8024CD08
/* 1756B4 8024CC94 3C03000F */ lui $v1, (0xF0000 >> 16)
/* 1756B8 8024CC98 3C028025 */ lui $v0, %hi(filemenu_heldButtons)
/* 1756BC 8024CC9C 8C42174C */ lw $v0, %lo(filemenu_heldButtons)($v0)
/* 1756C0 8024CCA0 00431024 */ and $v0, $v0, $v1
/* 1756C4 8024CCA4 10400003 */ beqz $v0, .Lfilemenu_8024CCB4
/* 1756C8 8024CCA8 2402FFFC */ addiu $v0, $zero, -0x4
/* 1756CC 8024CCAC 3C018025 */ lui $at, %hi(D_8024A18C)
/* 1756D0 8024CCB0 AC22F0AC */ sw $v0, %lo(D_8024A18C)($at)
.Lfilemenu_8024CCB4:
/* 1756D4 8024CCB4 3C038025 */ lui $v1, %hi(D_8024A18C)
/* 1756D8 8024CCB8 2463F0AC */ addiu $v1, $v1, %lo(D_8024A18C)
/* 1756DC 8024CCBC 8C620000 */ lw $v0, 0x0($v1)
/* 1756E0 8024CCC0 24040031 */ addiu $a0, $zero, 0x31
/* 1756E4 8024CCC4 24420001 */ addiu $v0, $v0, 0x1
/* 1756E8 8024CCC8 AC620000 */ sw $v0, 0x0($v1)
/* 1756EC 8024CCCC 81020001 */ lb $v0, 0x1($t0)
/* 1756F0 8024CCD0 8FA90084 */ lw $t1, 0x84($sp)
/* 1756F4 8024CCD4 8FAA0088 */ lw $t2, 0x88($sp)
/* 1756F8 8024CCD8 00022880 */ sll $a1, $v0, 2
/* 1756FC 8024CCDC 00A22821 */ addu $a1, $a1, $v0
/* 175700 8024CCE0 00052880 */ sll $a1, $a1, 2
/* 175704 8024CCE4 00A22823 */ subu $a1, $a1, $v0
/* 175708 8024CCE8 24A50002 */ addiu $a1, $a1, 0x2
/* 17570C 8024CCEC 81020002 */ lb $v0, 0x2($t0)
/* 175710 8024CCF0 01252821 */ addu $a1, $t1, $a1
/* 175714 8024CCF4 00023100 */ sll $a2, $v0, 4
/* 175718 8024CCF8 00C23023 */ subu $a2, $a2, $v0
/* 17571C 8024CCFC 24C6000D */ addiu $a2, $a2, 0xD
/* 175720 8024CD00 0C091B44 */ jal filemenu_set_cursor_goal_pos
/* 175724 8024CD04 01463021 */ addu $a2, $t2, $a2
.Lfilemenu_8024CD08:
/* 175728 8024CD08 8FBF0074 */ lw $ra, 0x74($sp)
/* 17572C 8024CD0C 8FBE0070 */ lw $fp, 0x70($sp)
/* 175730 8024CD10 8FB7006C */ lw $s7, 0x6C($sp)
/* 175734 8024CD14 8FB60068 */ lw $s6, 0x68($sp)
/* 175738 8024CD18 8FB50064 */ lw $s5, 0x64($sp)
/* 17573C 8024CD1C 8FB40060 */ lw $s4, 0x60($sp)
/* 175740 8024CD20 8FB3005C */ lw $s3, 0x5C($sp)
/* 175744 8024CD24 8FB20058 */ lw $s2, 0x58($sp)
/* 175748 8024CD28 8FB10054 */ lw $s1, 0x54($sp)
/* 17574C 8024CD2C 8FB00050 */ lw $s0, 0x50($sp)
/* 175750 8024CD30 D7B40078 */ ldc1 $f20, 0x78($sp)
/* 175754 8024CD34 03E00008 */ jr $ra
/* 175758 8024CD38 27BD0080 */ addiu $sp, $sp, 0x80

View File

@ -0,0 +1,249 @@
.set noat /* allow manual use of $at */
.set noreorder /* don't insert nops after branches */
/* Generated by spimdisasm 1.11.1 */
glabel filemenu_info_draw_message_contents
/* 174820 8024BE00 27BDFFB8 */ addiu $sp, $sp, -0x48
/* 174824 8024BE04 AFB60038 */ sw $s6, 0x38($sp)
/* 174828 8024BE08 00A0B02D */ daddu $s6, $a1, $zero
/* 17482C 8024BE0C AFB7003C */ sw $s7, 0x3C($sp)
/* 174830 8024BE10 AFBF0040 */ sw $ra, 0x40($sp)
/* 174834 8024BE14 AFB50034 */ sw $s5, 0x34($sp)
/* 174838 8024BE18 AFB40030 */ sw $s4, 0x30($sp)
/* 17483C 8024BE1C AFB3002C */ sw $s3, 0x2C($sp)
/* 174840 8024BE20 AFB20028 */ sw $s2, 0x28($sp)
/* 174844 8024BE24 AFB10024 */ sw $s1, 0x24($sp)
/* 174848 8024BE28 AFB00020 */ sw $s0, 0x20($sp)
/* 17484C 8024BE2C 80830004 */ lb $v1, 0x4($a0)
/* 174850 8024BE30 24020001 */ addiu $v0, $zero, 0x1
/* 174854 8024BE34 1062003B */ beq $v1, $v0, .Lfilemenu_8024BF24
/* 174858 8024BE38 00C0B82D */ daddu $s7, $a2, $zero
/* 17485C 8024BE3C 28620002 */ slti $v0, $v1, 0x2
/* 174860 8024BE40 10400005 */ beqz $v0, .Lfilemenu_8024BE58
/* 174864 8024BE44 24020002 */ addiu $v0, $zero, 0x2
/* 174868 8024BE48 10600007 */ beqz $v1, .Lfilemenu_8024BE68
/* 17486C 8024BE4C 00000000 */ nop
/* 174870 8024BE50 0809305F */ j .Lfilemenu_8024C17C
/* 174874 8024BE54 00000000 */ nop
.Lfilemenu_8024BE58:
/* 174878 8024BE58 10620091 */ beq $v1, $v0, .Lfilemenu_8024C0A0
/* 17487C 8024BE5C 00000000 */ nop
/* 174880 8024BE60 0809305F */ j .Lfilemenu_8024C17C
/* 174884 8024BE64 00000000 */ nop
.Lfilemenu_8024BE68:
/* 174888 8024BE68 0C093A16 */ jal filemenu_get_menu_message
/* 17488C 8024BE6C 2404001B */ addiu $a0, $zero, 0x1B
/* 174890 8024BE70 0040202D */ daddu $a0, $v0, $zero
/* 174894 8024BE74 26C5000A */ addiu $a1, $s6, 0xA
/* 174898 8024BE78 26F10004 */ addiu $s1, $s7, 0x4
/* 17489C 8024BE7C 0220302D */ daddu $a2, $s1, $zero
/* 1748A0 8024BE80 240700FF */ addiu $a3, $zero, 0xFF
/* 1748A4 8024BE84 AFA00010 */ sw $zero, 0x10($sp)
/* 1748A8 8024BE88 0C0939C7 */ jal filemenu_draw_message
/* 1748AC 8024BE8C AFA00014 */ sw $zero, 0x14($sp)
/* 1748B0 8024BE90 3C108015 */ lui $s0, %hi(gCurrentLanguage)
/* 1748B4 8024BE94 2610AE4C */ addiu $s0, $s0, %lo(gCurrentLanguage)
/* 1748B8 8024BE98 8E020000 */ lw $v0, 0x0($s0)
/* 1748BC 8024BE9C 3C018025 */ lui $at, %hi(D_filemenu_80250934)
/* 1748C0 8024BEA0 00220821 */ addu $at, $at, $v0
/* 1748C4 8024BEA4 90220934 */ lbu $v0, %lo(D_filemenu_80250934)($at)
/* 1748C8 8024BEA8 24040019 */ addiu $a0, $zero, 0x19
/* 1748CC 8024BEAC 0C093A16 */ jal filemenu_get_menu_message
/* 1748D0 8024BEB0 2455000A */ addiu $s5, $v0, 0xA
/* 1748D4 8024BEB4 0040202D */ daddu $a0, $v0, $zero
/* 1748D8 8024BEB8 02D52821 */ addu $a1, $s6, $s5
/* 1748DC 8024BEBC 0220302D */ daddu $a2, $s1, $zero
/* 1748E0 8024BEC0 240700FF */ addiu $a3, $zero, 0xFF
/* 1748E4 8024BEC4 AFA00010 */ sw $zero, 0x10($sp)
/* 1748E8 8024BEC8 0C0939C7 */ jal filemenu_draw_message
/* 1748EC 8024BECC AFA00014 */ sw $zero, 0x14($sp)
/* 1748F0 8024BED0 26E60006 */ addiu $a2, $s7, 0x6
/* 1748F4 8024BED4 0000382D */ daddu $a3, $zero, $zero
/* 1748F8 8024BED8 8E020000 */ lw $v0, 0x0($s0)
/* 1748FC 8024BEDC 3C038025 */ lui $v1, %hi(filemenu_menus)
/* 174900 8024BEE0 8C63E984 */ lw $v1, %lo(filemenu_menus)($v1)
/* 174904 8024BEE4 3C058025 */ lui $a1, %hi(D_filemenu_802508FC)
/* 174908 8024BEE8 00A22821 */ addu $a1, $a1, $v0
/* 17490C 8024BEEC 90A508FC */ lbu $a1, %lo(D_filemenu_802508FC)($a1)
/* 174910 8024BEF0 90640003 */ lbu $a0, 0x3($v1)
/* 174914 8024BEF4 240200FF */ addiu $v0, $zero, 0xFF
/* 174918 8024BEF8 AFA20014 */ sw $v0, 0x14($sp)
/* 17491C 8024BEFC 24020003 */ addiu $v0, $zero, 0x3
/* 174920 8024BF00 AFA00010 */ sw $zero, 0x10($sp)
/* 174924 8024BF04 AFA20018 */ sw $v0, 0x18($sp)
/* 174928 8024BF08 02A5A821 */ addu $s5, $s5, $a1
/* 17492C 8024BF0C 24840001 */ addiu $a0, $a0, 0x1
/* 174930 8024BF10 0C04986F */ jal draw_number
/* 174934 8024BF14 02D52821 */ addu $a1, $s6, $s5
/* 174938 8024BF18 26B50001 */ addiu $s5, $s5, 0x1
/* 17493C 8024BF1C 08093056 */ j .Lfilemenu_8024C158
/* 174940 8024BF20 2404001A */ addiu $a0, $zero, 0x1A
.Lfilemenu_8024BF24:
/* 174944 8024BF24 0C093A16 */ jal filemenu_get_menu_message
/* 174948 8024BF28 2404001C */ addiu $a0, $zero, 0x1C
/* 17494C 8024BF2C 0040202D */ daddu $a0, $v0, $zero
/* 174950 8024BF30 26D4000A */ addiu $s4, $s6, 0xA
/* 174954 8024BF34 0280282D */ daddu $a1, $s4, $zero
/* 174958 8024BF38 26F00004 */ addiu $s0, $s7, 0x4
/* 17495C 8024BF3C 0200302D */ daddu $a2, $s0, $zero
/* 174960 8024BF40 240700FF */ addiu $a3, $zero, 0xFF
/* 174964 8024BF44 AFA00010 */ sw $zero, 0x10($sp)
/* 174968 8024BF48 0C0939C7 */ jal filemenu_draw_message
/* 17496C 8024BF4C AFA00014 */ sw $zero, 0x14($sp)
/* 174970 8024BF50 3C118015 */ lui $s1, %hi(gCurrentLanguage)
/* 174974 8024BF54 2631AE4C */ addiu $s1, $s1, %lo(gCurrentLanguage)
/* 174978 8024BF58 8E220000 */ lw $v0, 0x0($s1)
/* 17497C 8024BF5C 3C018025 */ lui $at, %hi(D_filemenu_80250948)
/* 174980 8024BF60 00220821 */ addu $at, $at, $v0
/* 174984 8024BF64 90220948 */ lbu $v0, %lo(D_filemenu_80250948)($at)
/* 174988 8024BF68 24040019 */ addiu $a0, $zero, 0x19
/* 17498C 8024BF6C 0C093A16 */ jal filemenu_get_menu_message
/* 174990 8024BF70 2455000A */ addiu $s5, $v0, 0xA
/* 174994 8024BF74 0040202D */ daddu $a0, $v0, $zero
/* 174998 8024BF78 02D52821 */ addu $a1, $s6, $s5
/* 17499C 8024BF7C 0200302D */ daddu $a2, $s0, $zero
/* 1749A0 8024BF80 240700FF */ addiu $a3, $zero, 0xFF
/* 1749A4 8024BF84 AFA00010 */ sw $zero, 0x10($sp)
/* 1749A8 8024BF88 0C0939C7 */ jal filemenu_draw_message
/* 1749AC 8024BF8C AFA00014 */ sw $zero, 0x14($sp)
/* 1749B0 8024BF90 26E60006 */ addiu $a2, $s7, 0x6
/* 1749B4 8024BF94 0000382D */ daddu $a3, $zero, $zero
/* 1749B8 8024BF98 241300FF */ addiu $s3, $zero, 0xFF
/* 1749BC 8024BF9C 24120003 */ addiu $s2, $zero, 0x3
/* 1749C0 8024BFA0 8E220000 */ lw $v0, 0x0($s1)
/* 1749C4 8024BFA4 3C048025 */ lui $a0, %hi(filemenu_loadedFileIdx)
/* 1749C8 8024BFA8 8C841754 */ lw $a0, %lo(filemenu_loadedFileIdx)($a0)
/* 1749CC 8024BFAC 3C018025 */ lui $at, %hi(D_filemenu_802508FC)
/* 1749D0 8024BFB0 00220821 */ addu $at, $at, $v0
/* 1749D4 8024BFB4 902208FC */ lbu $v0, %lo(D_filemenu_802508FC)($at)
/* 1749D8 8024BFB8 24840001 */ addiu $a0, $a0, 0x1
/* 1749DC 8024BFBC AFA00010 */ sw $zero, 0x10($sp)
/* 1749E0 8024BFC0 AFB30014 */ sw $s3, 0x14($sp)
/* 1749E4 8024BFC4 AFB20018 */ sw $s2, 0x18($sp)
/* 1749E8 8024BFC8 02A2A821 */ addu $s5, $s5, $v0
/* 1749EC 8024BFCC 0C04986F */ jal draw_number
/* 1749F0 8024BFD0 02D52821 */ addu $a1, $s6, $s5
/* 1749F4 8024BFD4 0C093A16 */ jal filemenu_get_menu_message
/* 1749F8 8024BFD8 2404001D */ addiu $a0, $zero, 0x1D
/* 1749FC 8024BFDC 0040202D */ daddu $a0, $v0, $zero
/* 174A00 8024BFE0 0280282D */ daddu $a1, $s4, $zero
/* 174A04 8024BFE4 26F00012 */ addiu $s0, $s7, 0x12
/* 174A08 8024BFE8 0200302D */ daddu $a2, $s0, $zero
/* 174A0C 8024BFEC 0260382D */ daddu $a3, $s3, $zero
/* 174A10 8024BFF0 AFA00010 */ sw $zero, 0x10($sp)
/* 174A14 8024BFF4 0C0939C7 */ jal filemenu_draw_message
/* 174A18 8024BFF8 AFA00014 */ sw $zero, 0x14($sp)
/* 174A1C 8024BFFC 8E220000 */ lw $v0, 0x0($s1)
/* 174A20 8024C000 3C018025 */ lui $at, %hi(D_filemenu_8025094C)
/* 174A24 8024C004 00220821 */ addu $at, $at, $v0
/* 174A28 8024C008 9022094C */ lbu $v0, %lo(D_filemenu_8025094C)($at)
/* 174A2C 8024C00C 24040019 */ addiu $a0, $zero, 0x19
/* 174A30 8024C010 0C093A16 */ jal filemenu_get_menu_message
/* 174A34 8024C014 2455000A */ addiu $s5, $v0, 0xA
/* 174A38 8024C018 0040202D */ daddu $a0, $v0, $zero
/* 174A3C 8024C01C 02D52821 */ addu $a1, $s6, $s5
/* 174A40 8024C020 0200302D */ daddu $a2, $s0, $zero
/* 174A44 8024C024 0260382D */ daddu $a3, $s3, $zero
/* 174A48 8024C028 AFA00010 */ sw $zero, 0x10($sp)
/* 174A4C 8024C02C 0C0939C7 */ jal filemenu_draw_message
/* 174A50 8024C030 AFA00014 */ sw $zero, 0x14($sp)
/* 174A54 8024C034 26E60014 */ addiu $a2, $s7, 0x14
/* 174A58 8024C038 0000382D */ daddu $a3, $zero, $zero
/* 174A5C 8024C03C 8E220000 */ lw $v0, 0x0($s1)
/* 174A60 8024C040 3C048025 */ lui $a0, 0x8025
/* 174A64 8024C044 8C841740 */ lw $a0, (0x80251740 & 0xFFFF)($a0)
/* 174A68 8024C048 3C018025 */ lui $at, %hi(D_filemenu_802508FC)
/* 174A6C 8024C04C 00220821 */ addu $at, $at, $v0
/* 174A70 8024C050 902208FC */ lbu $v0, %lo(D_filemenu_802508FC)($at)
/* 174A74 8024C054 24840001 */ addiu $a0, $a0, 0x1
/* 174A78 8024C058 AFA00010 */ sw $zero, 0x10($sp)
/* 174A7C 8024C05C AFB30014 */ sw $s3, 0x14($sp)
/* 174A80 8024C060 AFB20018 */ sw $s2, 0x18($sp)
/* 174A84 8024C064 02A2A821 */ addu $s5, $s5, $v0
/* 174A88 8024C068 0C04986F */ jal draw_number
/* 174A8C 8024C06C 02D52821 */ addu $a1, $s6, $s5
/* 174A90 8024C070 8E220000 */ lw $v0, 0x0($s1)
/* 174A94 8024C074 3C018025 */ lui $at, %hi(D_filemenu_80250950)
/* 174A98 8024C078 00220821 */ addu $at, $at, $v0
/* 174A9C 8024C07C 80220950 */ lb $v0, %lo(D_filemenu_80250950)($at)
/* 174AA0 8024C080 2404001E */ addiu $a0, $zero, 0x1E
/* 174AA4 8024C084 0C093A16 */ jal filemenu_get_menu_message
/* 174AA8 8024C088 02A2A821 */ addu $s5, $s5, $v0
/* 174AAC 8024C08C 0040202D */ daddu $a0, $v0, $zero
/* 174AB0 8024C090 02D52821 */ addu $a1, $s6, $s5
/* 174AB4 8024C094 0200302D */ daddu $a2, $s0, $zero
/* 174AB8 8024C098 0809305C */ j .Lfilemenu_8024C170
/* 174ABC 8024C09C 0260382D */ daddu $a3, $s3, $zero
.Lfilemenu_8024C0A0:
/* 174AC0 8024C0A0 0C093A16 */ jal filemenu_get_menu_message
/* 174AC4 8024C0A4 24040020 */ addiu $a0, $zero, 0x20
/* 174AC8 8024C0A8 0040202D */ daddu $a0, $v0, $zero
/* 174ACC 8024C0AC 26C5000A */ addiu $a1, $s6, 0xA
/* 174AD0 8024C0B0 26F10004 */ addiu $s1, $s7, 0x4
/* 174AD4 8024C0B4 0220302D */ daddu $a2, $s1, $zero
/* 174AD8 8024C0B8 240700FF */ addiu $a3, $zero, 0xFF
/* 174ADC 8024C0BC AFA00010 */ sw $zero, 0x10($sp)
/* 174AE0 8024C0C0 0C0939C7 */ jal filemenu_draw_message
/* 174AE4 8024C0C4 AFA00014 */ sw $zero, 0x14($sp)
/* 174AE8 8024C0C8 3C108015 */ lui $s0, %hi(gCurrentLanguage)
/* 174AEC 8024C0CC 2610AE4C */ addiu $s0, $s0, %lo(gCurrentLanguage)
/* 174AF0 8024C0D0 8E020000 */ lw $v0, 0x0($s0)
/* 174AF4 8024C0D4 3C018025 */ lui $at, %hi(D_filemenu_80250968)
/* 174AF8 8024C0D8 00220821 */ addu $at, $at, $v0
/* 174AFC 8024C0DC 90220968 */ lbu $v0, %lo(D_filemenu_80250968)($at)
/* 174B00 8024C0E0 24040019 */ addiu $a0, $zero, 0x19
/* 174B04 8024C0E4 0C093A16 */ jal filemenu_get_menu_message
/* 174B08 8024C0E8 2455000A */ addiu $s5, $v0, 0xA
/* 174B0C 8024C0EC 0040202D */ daddu $a0, $v0, $zero
/* 174B10 8024C0F0 02D52821 */ addu $a1, $s6, $s5
/* 174B14 8024C0F4 0220302D */ daddu $a2, $s1, $zero
/* 174B18 8024C0F8 240700FF */ addiu $a3, $zero, 0xFF
/* 174B1C 8024C0FC AFA00010 */ sw $zero, 0x10($sp)
/* 174B20 8024C100 0C0939C7 */ jal filemenu_draw_message
/* 174B24 8024C104 AFA00014 */ sw $zero, 0x14($sp)
/* 174B28 8024C108 26E60006 */ addiu $a2, $s7, 0x6
/* 174B2C 8024C10C 0000382D */ daddu $a3, $zero, $zero
/* 174B30 8024C110 8E020000 */ lw $v0, 0x0($s0)
/* 174B34 8024C114 3C038025 */ lui $v1, %hi(filemenu_menus)
/* 174B38 8024C118 8C63E984 */ lw $v1, %lo(filemenu_menus)($v1)
/* 174B3C 8024C11C 3C058025 */ lui $a1, %hi(D_filemenu_802508FC)
/* 174B40 8024C120 00A22821 */ addu $a1, $a1, $v0
/* 174B44 8024C124 90A508FC */ lbu $a1, %lo(D_filemenu_802508FC)($a1)
/* 174B48 8024C128 90640003 */ lbu $a0, 0x3($v1)
/* 174B4C 8024C12C 240200FF */ addiu $v0, $zero, 0xFF
/* 174B50 8024C130 AFA20014 */ sw $v0, 0x14($sp)
/* 174B54 8024C134 24020003 */ addiu $v0, $zero, 0x3
/* 174B58 8024C138 AFA00010 */ sw $zero, 0x10($sp)
/* 174B5C 8024C13C AFA20018 */ sw $v0, 0x18($sp)
/* 174B60 8024C140 02A5A821 */ addu $s5, $s5, $a1
/* 174B64 8024C144 24840001 */ addiu $a0, $a0, 0x1
/* 174B68 8024C148 0C04986F */ jal draw_number
/* 174B6C 8024C14C 02D52821 */ addu $a1, $s6, $s5
/* 174B70 8024C150 26B50001 */ addiu $s5, $s5, 0x1
/* 174B74 8024C154 2404001F */ addiu $a0, $zero, 0x1F
.Lfilemenu_8024C158:
/* 174B78 8024C158 0C093A16 */ jal filemenu_get_menu_message
/* 174B7C 8024C15C 00000000 */ nop
/* 174B80 8024C160 0040202D */ daddu $a0, $v0, $zero
/* 174B84 8024C164 02D52821 */ addu $a1, $s6, $s5
/* 174B88 8024C168 0220302D */ daddu $a2, $s1, $zero
/* 174B8C 8024C16C 240700FF */ addiu $a3, $zero, 0xFF
.Lfilemenu_8024C170:
/* 174B90 8024C170 AFA00010 */ sw $zero, 0x10($sp)
/* 174B94 8024C174 0C0939C7 */ jal filemenu_draw_message
/* 174B98 8024C178 AFA00014 */ sw $zero, 0x14($sp)
.Lfilemenu_8024C17C:
/* 174B9C 8024C17C 0C091B3F */ jal filemenu_set_cursor_alpha
/* 174BA0 8024C180 0000202D */ daddu $a0, $zero, $zero
/* 174BA4 8024C184 8FBF0040 */ lw $ra, 0x40($sp)
/* 174BA8 8024C188 8FB7003C */ lw $s7, 0x3C($sp)
/* 174BAC 8024C18C 8FB60038 */ lw $s6, 0x38($sp)
/* 174BB0 8024C190 8FB50034 */ lw $s5, 0x34($sp)
/* 174BB4 8024C194 8FB40030 */ lw $s4, 0x30($sp)
/* 174BB8 8024C198 8FB3002C */ lw $s3, 0x2C($sp)
/* 174BBC 8024C19C 8FB20028 */ lw $s2, 0x28($sp)
/* 174BC0 8024C1A0 8FB10024 */ lw $s1, 0x24($sp)
/* 174BC4 8024C1A4 8FB00020 */ lw $s0, 0x20($sp)
/* 174BC8 8024C1A8 03E00008 */ jr $ra
/* 174BCC 8024C1AC 27BD0048 */ addiu $sp, $sp, 0x48

View File

@ -0,0 +1,320 @@
.set noat /* allow manual use of $at */
.set noreorder /* don't insert nops after branches */
/* Generated by spimdisasm 1.11.1 */
glabel filemenu_draw_contents_file_info
/* 171AFC 802490DC 27BDFFB0 */ addiu $sp, $sp, -0x50
/* 171B00 802490E0 AFBF004C */ sw $ra, 0x4C($sp)
/* 171B04 802490E4 AFBE0048 */ sw $fp, 0x48($sp)
/* 171B08 802490E8 AFB70044 */ sw $s7, 0x44($sp)
/* 171B0C 802490EC AFB60040 */ sw $s6, 0x40($sp)
/* 171B10 802490F0 AFB5003C */ sw $s5, 0x3C($sp)
/* 171B14 802490F4 AFB40038 */ sw $s4, 0x38($sp)
/* 171B18 802490F8 AFB30034 */ sw $s3, 0x34($sp)
/* 171B1C 802490FC AFB20030 */ sw $s2, 0x30($sp)
/* 171B20 80249100 AFB1002C */ sw $s1, 0x2C($sp)
/* 171B24 80249104 AFB00028 */ sw $s0, 0x28($sp)
/* 171B28 80249108 AFA60058 */ sw $a2, 0x58($sp)
/* 171B2C 8024910C AFA7005C */ sw $a3, 0x5C($sp)
/* 171B30 80249110 3C028007 */ lui $v0, %hi(gSaveSlotHasData)
/* 171B34 80249114 00441021 */ addu $v0, $v0, $a0
/* 171B38 80249118 90423D74 */ lbu $v0, %lo(gSaveSlotHasData)($v0)
/* 171B3C 8024911C 14400008 */ bnez $v0, .Lfilemenu_80249140
/* 171B40 80249120 00041840 */ sll $v1, $a0, 1
/* 171B44 80249124 3C028015 */ lui $v0, %hi(gCurrentLanguage)
/* 171B48 80249128 8C42AE4C */ lw $v0, %lo(gCurrentLanguage)($v0)
/* 171B4C 8024912C 3C108025 */ lui $s0, %hi(D_filemenu_802508E0)
/* 171B50 80249130 02028021 */ addu $s0, $s0, $v0
/* 171B54 80249134 921008E0 */ lbu $s0, %lo(D_filemenu_802508E0)($s0)
/* 171B58 80249138 0809245E */ j .Lfilemenu_80249178
/* 171B5C 8024913C 24040005 */ addiu $a0, $zero, 0x5
.Lfilemenu_80249140:
/* 171B60 80249140 3C028007 */ lui $v0, %hi(gSaveSlotMetadata)
/* 171B64 80249144 24423D14 */ addiu $v0, $v0, %lo(gSaveSlotMetadata)
/* 171B68 80249148 00641821 */ addu $v1, $v1, $a0
/* 171B6C 8024914C 000318C0 */ sll $v1, $v1, 3
/* 171B70 80249150 0062A821 */ addu $s5, $v1, $v0
/* 171B74 80249154 8EA20000 */ lw $v0, 0x0($s5)
/* 171B78 80249158 14400015 */ bnez $v0, .Lfilemenu_802491B0
/* 171B7C 8024915C 3C086666 */ lui $t0, (0x66666667 >> 16)
/* 171B80 80249160 3C028015 */ lui $v0, %hi(gCurrentLanguage)
/* 171B84 80249164 8C42AE4C */ lw $v0, %lo(gCurrentLanguage)($v0)
/* 171B88 80249168 2404000B */ addiu $a0, $zero, 0xB
/* 171B8C 8024916C 3C108025 */ lui $s0, %hi(D_filemenu_802508E4)
/* 171B90 80249170 02028021 */ addu $s0, $s0, $v0
/* 171B94 80249174 921008E4 */ lbu $s0, %lo(D_filemenu_802508E4)($s0)
.Lfilemenu_80249178:
/* 171B98 80249178 0C093A16 */ jal filemenu_get_menu_message
/* 171B9C 8024917C 00000000 */ nop
/* 171BA0 80249180 0040202D */ daddu $a0, $v0, $zero
/* 171BA4 80249184 8FA8005C */ lw $t0, 0x5C($sp)
/* 171BA8 80249188 240700FF */ addiu $a3, $zero, 0xFF
/* 171BAC 8024918C 25060014 */ addiu $a2, $t0, 0x14
/* 171BB0 80249190 8FA80058 */ lw $t0, 0x58($sp)
/* 171BB4 80249194 2402000A */ addiu $v0, $zero, 0xA
/* 171BB8 80249198 AFA20010 */ sw $v0, 0x10($sp)
/* 171BBC 8024919C AFA00014 */ sw $zero, 0x14($sp)
/* 171BC0 802491A0 0C0939C7 */ jal filemenu_draw_message
/* 171BC4 802491A4 01102821 */ addu $a1, $t0, $s0
/* 171BC8 802491A8 0809255B */ j .Lfilemenu_8024956C
/* 171BCC 802491AC 00000000 */ nop
.Lfilemenu_802491B0:
/* 171BD0 802491B0 3C128015 */ lui $s2, %hi(gCurrentLanguage)
/* 171BD4 802491B4 2652AE4C */ addiu $s2, $s2, %lo(gCurrentLanguage)
/* 171BD8 802491B8 8E420000 */ lw $v0, 0x0($s2)
/* 171BDC 802491BC 35086667 */ ori $t0, $t0, (0x66666667 & 0xFFFF)
/* 171BE0 802491C0 AFA80020 */ sw $t0, 0x20($sp)
/* 171BE4 802491C4 3C108025 */ lui $s0, %hi(D_filemenu_802508D8)
/* 171BE8 802491C8 02028021 */ addu $s0, $s0, $v0
/* 171BEC 802491CC 921008D8 */ lbu $s0, %lo(D_filemenu_802508D8)($s0)
/* 171BF0 802491D0 0C093A16 */ jal filemenu_get_menu_message
/* 171BF4 802491D4 24040006 */ addiu $a0, $zero, 0x6
/* 171BF8 802491D8 0040202D */ daddu $a0, $v0, $zero
/* 171BFC 802491DC 8FA8005C */ lw $t0, 0x5C($sp)
/* 171C00 802491E0 240700FF */ addiu $a3, $zero, 0xFF
/* 171C04 802491E4 2511000A */ addiu $s1, $t0, 0xA
/* 171C08 802491E8 2408000A */ addiu $t0, $zero, 0xA
/* 171C0C 802491EC AFA80010 */ sw $t0, 0x10($sp)
/* 171C10 802491F0 24080001 */ addiu $t0, $zero, 0x1
/* 171C14 802491F4 AFA80014 */ sw $t0, 0x14($sp)
/* 171C18 802491F8 8FA80058 */ lw $t0, 0x58($sp)
/* 171C1C 802491FC 0220302D */ daddu $a2, $s1, $zero
/* 171C20 80249200 0C0939C7 */ jal filemenu_draw_message
/* 171C24 80249204 01102821 */ addu $a1, $t0, $s0
/* 171C28 80249208 0220302D */ daddu $a2, $s1, $zero
/* 171C2C 8024920C 24070001 */ addiu $a3, $zero, 0x1
/* 171C30 80249210 8FA80058 */ lw $t0, 0x58($sp)
/* 171C34 80249214 92A20006 */ lbu $v0, 0x6($s5)
/* 171C38 80249218 2505004F */ addiu $a1, $t0, 0x4F
/* 171C3C 8024921C 2408000A */ addiu $t0, $zero, 0xA
/* 171C40 80249220 00021600 */ sll $v0, $v0, 24
/* 171C44 80249224 00029E03 */ sra $s3, $v0, 24
/* 171C48 80249228 AFA80010 */ sw $t0, 0x10($sp)
/* 171C4C 8024922C 8FA80020 */ lw $t0, 0x20($sp)
/* 171C50 80249230 000217C3 */ sra $v0, $v0, 31
/* 171C54 80249234 02680018 */ mult $s3, $t0
/* 171C58 80249238 240800FF */ addiu $t0, $zero, 0xFF
/* 171C5C 8024923C AFA80014 */ sw $t0, 0x14($sp)
/* 171C60 80249240 24080002 */ addiu $t0, $zero, 0x2
/* 171C64 80249244 AFA80018 */ sw $t0, 0x18($sp)
/* 171C68 80249248 00004010 */ mfhi $t0
/* 171C6C 8024924C 00088083 */ sra $s0, $t0, 2
/* 171C70 80249250 02028023 */ subu $s0, $s0, $v0
/* 171C74 80249254 0C04986F */ jal draw_number
/* 171C78 80249258 0200202D */ daddu $a0, $s0, $zero
/* 171C7C 8024925C 00102080 */ sll $a0, $s0, 2
/* 171C80 80249260 00902021 */ addu $a0, $a0, $s0
/* 171C84 80249264 00042040 */ sll $a0, $a0, 1
/* 171C88 80249268 02642023 */ subu $a0, $s3, $a0
/* 171C8C 8024926C 0220302D */ daddu $a2, $s1, $zero
/* 171C90 80249270 8FA80058 */ lw $t0, 0x58($sp)
/* 171C94 80249274 24070001 */ addiu $a3, $zero, 0x1
/* 171C98 80249278 25050058 */ addiu $a1, $t0, 0x58
/* 171C9C 8024927C 2408000A */ addiu $t0, $zero, 0xA
/* 171CA0 80249280 AFA80010 */ sw $t0, 0x10($sp)
/* 171CA4 80249284 240800FF */ addiu $t0, $zero, 0xFF
/* 171CA8 80249288 AFA80014 */ sw $t0, 0x14($sp)
/* 171CAC 8024928C 24080002 */ addiu $t0, $zero, 0x2
/* 171CB0 80249290 0C04986F */ jal draw_number
/* 171CB4 80249294 AFA80018 */ sw $t0, 0x18($sp)
/* 171CB8 80249298 8E420000 */ lw $v0, 0x0($s2)
/* 171CBC 8024929C 3C108025 */ lui $s0, %hi(D_filemenu_802508DC)
/* 171CC0 802492A0 02028021 */ addu $s0, $s0, $v0
/* 171CC4 802492A4 921008DC */ lbu $s0, %lo(D_filemenu_802508DC)($s0)
/* 171CC8 802492A8 0C093A16 */ jal filemenu_get_menu_message
/* 171CCC 802492AC 24040007 */ addiu $a0, $zero, 0x7
/* 171CD0 802492B0 0040202D */ daddu $a0, $v0, $zero
/* 171CD4 802492B4 8FA8005C */ lw $t0, 0x5C($sp)
/* 171CD8 802492B8 240700FF */ addiu $a3, $zero, 0xFF
/* 171CDC 802492BC 251E0018 */ addiu $fp, $t0, 0x18
/* 171CE0 802492C0 2408000A */ addiu $t0, $zero, 0xA
/* 171CE4 802492C4 AFA80010 */ sw $t0, 0x10($sp)
/* 171CE8 802492C8 24080001 */ addiu $t0, $zero, 0x1
/* 171CEC 802492CC AFA80014 */ sw $t0, 0x14($sp)
/* 171CF0 802492D0 8FA80058 */ lw $t0, 0x58($sp)
/* 171CF4 802492D4 03C0302D */ daddu $a2, $fp, $zero
/* 171CF8 802492D8 0C0939C7 */ jal filemenu_draw_message
/* 171CFC 802492DC 01102821 */ addu $a1, $t0, $s0
/* 171D00 802492E0 3C020149 */ lui $v0, (0x14996FF >> 16)
/* 171D04 802492E4 8EB30000 */ lw $s3, 0x0($s5)
/* 171D08 802492E8 344296FF */ ori $v0, $v0, (0x14996FF & 0xFFFF)
/* 171D0C 802492EC 0053102A */ slt $v0, $v0, $s3
/* 171D10 802492F0 10400003 */ beqz $v0, .Lfilemenu_80249300
/* 171D14 802492F4 3C021F11 */ lui $v0, (0x1F11A4A5 >> 16)
/* 171D18 802492F8 3C130149 */ lui $s3, (0x14996FF >> 16)
/* 171D1C 802492FC 367396FF */ ori $s3, $s3, (0x14996FF & 0xFFFF)
.Lfilemenu_80249300:
/* 171D20 80249300 3442A4A5 */ ori $v0, $v0, (0x1F11A4A5 & 0xFFFF)
/* 171D24 80249304 03C0302D */ daddu $a2, $fp, $zero
/* 171D28 80249308 24070001 */ addiu $a3, $zero, 0x1
/* 171D2C 8024930C 0000A02D */ daddu $s4, $zero, $zero
/* 171D30 80249310 24170011 */ addiu $s7, $zero, 0x11
/* 171D34 80249314 2416001C */ addiu $s6, $zero, 0x1C
/* 171D38 80249318 02620018 */ mult $s3, $v0
/* 171D3C 8024931C 8FA80058 */ lw $t0, 0x58($sp)
/* 171D40 80249320 001397C3 */ sra $s2, $s3, 31
/* 171D44 80249324 AFB50024 */ sw $s5, 0x24($sp)
/* 171D48 80249328 3C158025 */ lui $s5, %hi(filemenu_hudElemIDs)
/* 171D4C 8024932C 26B51770 */ addiu $s5, $s5, %lo(filemenu_hudElemIDs)
/* 171D50 80249330 2505004C */ addiu $a1, $t0, 0x4C
/* 171D54 80249334 00004010 */ mfhi $t0
/* 171D58 80249338 00088483 */ sra $s0, $t0, 18
/* 171D5C 8024933C 02128023 */ subu $s0, $s0, $s2
/* 171D60 80249340 8FA80020 */ lw $t0, 0x20($sp)
/* 171D64 80249344 00101FC3 */ sra $v1, $s0, 31
/* 171D68 80249348 02080018 */ mult $s0, $t0
/* 171D6C 8024934C 2408000A */ addiu $t0, $zero, 0xA
/* 171D70 80249350 AFA80010 */ sw $t0, 0x10($sp)
/* 171D74 80249354 240800FF */ addiu $t0, $zero, 0xFF
/* 171D78 80249358 AFA80014 */ sw $t0, 0x14($sp)
/* 171D7C 8024935C 24080002 */ addiu $t0, $zero, 0x2
/* 171D80 80249360 AFA80018 */ sw $t0, 0x18($sp)
/* 171D84 80249364 00004010 */ mfhi $t0
/* 171D88 80249368 00081083 */ sra $v0, $t0, 2
/* 171D8C 8024936C 00431023 */ subu $v0, $v0, $v1
/* 171D90 80249370 00022080 */ sll $a0, $v0, 2
/* 171D94 80249374 00822021 */ addu $a0, $a0, $v0
/* 171D98 80249378 00E42004 */ sllv $a0, $a0, $a3
/* 171D9C 8024937C 0C04986F */ jal draw_number
/* 171DA0 80249380 02042023 */ subu $a0, $s0, $a0
/* 171DA4 80249384 3C029B58 */ lui $v0, (0x9B583739 >> 16)
/* 171DA8 80249388 34423739 */ ori $v0, $v0, (0x9B583739 & 0xFFFF)
/* 171DAC 8024938C 03C0302D */ daddu $a2, $fp, $zero
/* 171DB0 80249390 24070001 */ addiu $a3, $zero, 0x1
/* 171DB4 80249394 00102080 */ sll $a0, $s0, 2
/* 171DB8 80249398 00902021 */ addu $a0, $a0, $s0
/* 171DBC 8024939C 00E42004 */ sllv $a0, $a0, $a3
/* 171DC0 802493A0 8FA80058 */ lw $t0, 0x58($sp)
/* 171DC4 802493A4 02620018 */ mult $s3, $v0
/* 171DC8 802493A8 25050055 */ addiu $a1, $t0, 0x55
/* 171DCC 802493AC 2408000A */ addiu $t0, $zero, 0xA
/* 171DD0 802493B0 AFA80010 */ sw $t0, 0x10($sp)
/* 171DD4 802493B4 240800FF */ addiu $t0, $zero, 0xFF
/* 171DD8 802493B8 AFA80014 */ sw $t0, 0x14($sp)
/* 171DDC 802493BC 24080002 */ addiu $t0, $zero, 0x2
/* 171DE0 802493C0 AFA80018 */ sw $t0, 0x18($sp)
/* 171DE4 802493C4 00004010 */ mfhi $t0
/* 171DE8 802493C8 01138821 */ addu $s1, $t0, $s3
/* 171DEC 802493CC 02F18807 */ srav $s1, $s1, $s7
/* 171DF0 802493D0 02328823 */ subu $s1, $s1, $s2
/* 171DF4 802493D4 0C04986F */ jal draw_number
/* 171DF8 802493D8 02242023 */ subu $a0, $s1, $a0
/* 171DFC 802493DC 0C093A16 */ jal filemenu_get_menu_message
/* 171E00 802493E0 2404000C */ addiu $a0, $zero, 0xC
/* 171E04 802493E4 0040202D */ daddu $a0, $v0, $zero
/* 171E08 802493E8 8FA80058 */ lw $t0, 0x58($sp)
/* 171E0C 802493EC 240700FF */ addiu $a3, $zero, 0xFF
/* 171E10 802493F0 2510005F */ addiu $s0, $t0, 0x5F
/* 171E14 802493F4 8FA8005C */ lw $t0, 0x5C($sp)
/* 171E18 802493F8 0200282D */ daddu $a1, $s0, $zero
/* 171E1C 802493FC 25060017 */ addiu $a2, $t0, 0x17
/* 171E20 80249400 2408000A */ addiu $t0, $zero, 0xA
/* 171E24 80249404 AFA80010 */ sw $t0, 0x10($sp)
/* 171E28 80249408 24080001 */ addiu $t0, $zero, 0x1
/* 171E2C 8024940C 0C0939C7 */ jal filemenu_draw_message
/* 171E30 80249410 AFA80014 */ sw $t0, 0x14($sp)
/* 171E34 80249414 0C093A16 */ jal filemenu_get_menu_message
/* 171E38 80249418 2404000C */ addiu $a0, $zero, 0xC
/* 171E3C 8024941C 0040202D */ daddu $a0, $v0, $zero
/* 171E40 80249420 0200282D */ daddu $a1, $s0, $zero
/* 171E44 80249424 8FA8005C */ lw $t0, 0x5C($sp)
/* 171E48 80249428 240700FF */ addiu $a3, $zero, 0xFF
/* 171E4C 8024942C 25060012 */ addiu $a2, $t0, 0x12
/* 171E50 80249430 2408000A */ addiu $t0, $zero, 0xA
/* 171E54 80249434 AFA80010 */ sw $t0, 0x10($sp)
/* 171E58 80249438 24080001 */ addiu $t0, $zero, 0x1
/* 171E5C 8024943C 0C0939C7 */ jal filemenu_draw_message
/* 171E60 80249440 AFA80014 */ sw $t0, 0x14($sp)
/* 171E64 80249444 3C027482 */ lui $v0, (0x7482296B >> 16)
/* 171E68 80249448 3442296B */ ori $v0, $v0, (0x7482296B & 0xFFFF)
/* 171E6C 8024944C 03C0302D */ daddu $a2, $fp, $zero
/* 171E70 80249450 24070001 */ addiu $a3, $zero, 0x1
/* 171E74 80249454 00F12004 */ sllv $a0, $s1, $a3
/* 171E78 80249458 00912021 */ addu $a0, $a0, $s1
/* 171E7C 8024945C 00E42004 */ sllv $a0, $a0, $a3
/* 171E80 80249460 8FA80058 */ lw $t0, 0x58($sp)
/* 171E84 80249464 02620018 */ mult $s3, $v0
/* 171E88 80249468 25050064 */ addiu $a1, $t0, 0x64
/* 171E8C 8024946C 2408000A */ addiu $t0, $zero, 0xA
/* 171E90 80249470 AFA80010 */ sw $t0, 0x10($sp)
/* 171E94 80249474 240800FF */ addiu $t0, $zero, 0xFF
/* 171E98 80249478 AFA80014 */ sw $t0, 0x14($sp)
/* 171E9C 8024947C 24080002 */ addiu $t0, $zero, 0x2
/* 171EA0 80249480 AFA80018 */ sw $t0, 0x18($sp)
/* 171EA4 80249484 00004010 */ mfhi $t0
/* 171EA8 80249488 00088383 */ sra $s0, $t0, 14
/* 171EAC 8024948C 02128023 */ subu $s0, $s0, $s2
/* 171EB0 80249490 0C04986F */ jal draw_number
/* 171EB4 80249494 02042023 */ subu $a0, $s0, $a0
/* 171EB8 80249498 3C0291A2 */ lui $v0, (0x91A2B3C5 >> 16)
/* 171EBC 8024949C 3442B3C5 */ ori $v0, $v0, (0x91A2B3C5 & 0xFFFF)
/* 171EC0 802494A0 03C0302D */ daddu $a2, $fp, $zero
/* 171EC4 802494A4 24070001 */ addiu $a3, $zero, 0x1
/* 171EC8 802494A8 00102080 */ sll $a0, $s0, 2
/* 171ECC 802494AC 00902021 */ addu $a0, $a0, $s0
/* 171ED0 802494B0 00E42004 */ sllv $a0, $a0, $a3
/* 171ED4 802494B4 8FA80058 */ lw $t0, 0x58($sp)
/* 171ED8 802494B8 02620018 */ mult $s3, $v0
/* 171EDC 802494BC 2505006D */ addiu $a1, $t0, 0x6D
/* 171EE0 802494C0 2408000A */ addiu $t0, $zero, 0xA
/* 171EE4 802494C4 AFA80010 */ sw $t0, 0x10($sp)
/* 171EE8 802494C8 240800FF */ addiu $t0, $zero, 0xFF
/* 171EEC 802494CC AFA80014 */ sw $t0, 0x14($sp)
/* 171EF0 802494D0 24080002 */ addiu $t0, $zero, 0x2
/* 171EF4 802494D4 AFA80018 */ sw $t0, 0x18($sp)
/* 171EF8 802494D8 00004010 */ mfhi $t0
/* 171EFC 802494DC 01131021 */ addu $v0, $t0, $s3
/* 171F00 802494E0 000212C3 */ sra $v0, $v0, 11
/* 171F04 802494E4 00521023 */ subu $v0, $v0, $s2
/* 171F08 802494E8 0C04986F */ jal draw_number
/* 171F0C 802494EC 00442023 */ subu $a0, $v0, $a0
.Lfilemenu_802494F0:
/* 171F10 802494F0 8FA80024 */ lw $t0, 0x24($sp)
/* 171F14 802494F4 91020004 */ lbu $v0, 0x4($t0)
/* 171F18 802494F8 0282102A */ slt $v0, $s4, $v0
/* 171F1C 802494FC 10400003 */ beqz $v0, .Lfilemenu_8024950C
/* 171F20 80249500 00000000 */ nop
/* 171F24 80249504 08092547 */ j .Lfilemenu_8024951C
/* 171F28 80249508 8EB00000 */ lw $s0, 0x0($s5)
.Lfilemenu_8024950C:
/* 171F2C 8024950C 3C088025 */ lui $t0, %hi(filemenu_hudElemIDs)
/* 171F30 80249510 25081770 */ addiu $t0, $t0, %lo(filemenu_hudElemIDs)
/* 171F34 80249514 02C81021 */ addu $v0, $s6, $t0
/* 171F38 80249518 8C500000 */ lw $s0, 0x0($v0)
.Lfilemenu_8024951C:
/* 171F3C 8024951C 8FA80058 */ lw $t0, 0x58($sp)
/* 171F40 80249520 01172821 */ addu $a1, $t0, $s7
/* 171F44 80249524 8FA8005C */ lw $t0, 0x5C($sp)
/* 171F48 80249528 0200202D */ daddu $a0, $s0, $zero
/* 171F4C 8024952C 0C050D4D */ jal hud_element_set_render_pos
/* 171F50 80249530 2506002C */ addiu $a2, $t0, 0x2C
/* 171F54 80249534 16800005 */ bnez $s4, .Lfilemenu_8024954C
/* 171F58 80249538 00000000 */ nop
/* 171F5C 8024953C 0C050CE4 */ jal hud_element_draw_without_clipping
/* 171F60 80249540 0200202D */ daddu $a0, $s0, $zero
/* 171F64 80249544 08092556 */ j .Lfilemenu_80249558
/* 171F68 80249548 26F70010 */ addiu $s7, $s7, 0x10
.Lfilemenu_8024954C:
/* 171F6C 8024954C 0C050CDD */ jal hud_element_draw_next
/* 171F70 80249550 0200202D */ daddu $a0, $s0, $zero
/* 171F74 80249554 26F70010 */ addiu $s7, $s7, 0x10
.Lfilemenu_80249558:
/* 171F78 80249558 26D60004 */ addiu $s6, $s6, 0x4
/* 171F7C 8024955C 26940001 */ addiu $s4, $s4, 0x1
/* 171F80 80249560 2A820007 */ slti $v0, $s4, 0x7
/* 171F84 80249564 1440FFE2 */ bnez $v0, .Lfilemenu_802494F0
/* 171F88 80249568 26B50004 */ addiu $s5, $s5, 0x4
.Lfilemenu_8024956C:
/* 171F8C 8024956C 8FBF004C */ lw $ra, 0x4C($sp)
/* 171F90 80249570 8FBE0048 */ lw $fp, 0x48($sp)
/* 171F94 80249574 8FB70044 */ lw $s7, 0x44($sp)
/* 171F98 80249578 8FB60040 */ lw $s6, 0x40($sp)
/* 171F9C 8024957C 8FB5003C */ lw $s5, 0x3C($sp)
/* 171FA0 80249580 8FB40038 */ lw $s4, 0x38($sp)
/* 171FA4 80249584 8FB30034 */ lw $s3, 0x34($sp)
/* 171FA8 80249588 8FB20030 */ lw $s2, 0x30($sp)
/* 171FAC 8024958C 8FB1002C */ lw $s1, 0x2C($sp)
/* 171FB0 80249590 8FB00028 */ lw $s0, 0x28($sp)
/* 171FB4 80249594 03E00008 */ jr $ra
/* 171FB8 80249598 27BD0050 */ addiu $sp, $sp, 0x50

View File

@ -0,0 +1,107 @@
.set noat /* allow manual use of $at */
.set noreorder /* don't insert nops after branches */
/* Generated by spimdisasm 1.11.1 */
glabel filemenu_draw_contents_file_title
/* 171FBC 8024959C 3C028025 */ lui $v0, %hi(filemenu_currentMenu)
/* 171FC0 802495A0 80421758 */ lb $v0, %lo(filemenu_currentMenu)($v0)
/* 171FC4 802495A4 27BDFFC0 */ addiu $sp, $sp, -0x40
/* 171FC8 802495A8 AFB20028 */ sw $s2, 0x28($sp)
/* 171FCC 802495AC 0080902D */ daddu $s2, $a0, $zero
/* 171FD0 802495B0 AFB50034 */ sw $s5, 0x34($sp)
/* 171FD4 802495B4 00C0A82D */ daddu $s5, $a2, $zero
/* 171FD8 802495B8 AFB00020 */ sw $s0, 0x20($sp)
/* 171FDC 802495BC 00E0802D */ daddu $s0, $a3, $zero
/* 171FE0 802495C0 AFBF0038 */ sw $ra, 0x38($sp)
/* 171FE4 802495C4 AFB40030 */ sw $s4, 0x30($sp)
/* 171FE8 802495C8 AFB3002C */ sw $s3, 0x2C($sp)
/* 171FEC 802495CC 14400007 */ bnez $v0, .Lfilemenu_802495EC
/* 171FF0 802495D0 AFB10024 */ sw $s1, 0x24($sp)
/* 171FF4 802495D4 90A20003 */ lbu $v0, 0x3($a1)
/* 171FF8 802495D8 14520004 */ bne $v0, $s2, .Lfilemenu_802495EC
/* 171FFC 802495DC 2644003C */ addiu $a0, $s2, 0x3C
/* 172000 802495E0 26A5FFFD */ addiu $a1, $s5, -0x3
/* 172004 802495E4 0C091B44 */ jal filemenu_set_cursor_goal_pos
/* 172008 802495E8 26060008 */ addiu $a2, $s0, 0x8
.Lfilemenu_802495EC:
/* 17200C 802495EC 0C093A16 */ jal filemenu_get_menu_message
/* 172010 802495F0 24040014 */ addiu $a0, $zero, 0x14
/* 172014 802495F4 0040202D */ daddu $a0, $v0, $zero
/* 172018 802495F8 26A50005 */ addiu $a1, $s5, 0x5
/* 17201C 802495FC 26130001 */ addiu $s3, $s0, 0x1
/* 172020 80249600 0260302D */ daddu $a2, $s3, $zero
/* 172024 80249604 240700FF */ addiu $a3, $zero, 0xFF
/* 172028 80249608 24140001 */ addiu $s4, $zero, 0x1
/* 17202C 8024960C AFA00010 */ sw $zero, 0x10($sp)
/* 172030 80249610 0C0939C7 */ jal filemenu_draw_message
/* 172034 80249614 AFB40014 */ sw $s4, 0x14($sp)
/* 172038 80249618 3C028007 */ lui $v0, %hi(gSaveSlotHasData)
/* 17203C 8024961C 00521021 */ addu $v0, $v0, $s2
/* 172040 80249620 90423D74 */ lbu $v0, %lo(gSaveSlotHasData)($v0)
/* 172044 80249624 14400011 */ bnez $v0, .Lfilemenu_8024966C
/* 172048 80249628 00000000 */ nop
/* 17204C 8024962C 0C093A16 */ jal filemenu_get_menu_message
/* 172050 80249630 26440024 */ addiu $a0, $s2, 0x24
/* 172054 80249634 0040202D */ daddu $a0, $v0, $zero
/* 172058 80249638 3C028015 */ lui $v0, %hi(gCurrentLanguage)
/* 17205C 8024963C 8C42AE4C */ lw $v0, %lo(gCurrentLanguage)($v0)
/* 172060 80249640 0260302D */ daddu $a2, $s3, $zero
/* 172064 80249644 3C058025 */ lui $a1, %hi(D_filemenu_802508D0)
/* 172068 80249648 00A22821 */ addu $a1, $a1, $v0
/* 17206C 8024964C 90A508D0 */ lbu $a1, %lo(D_filemenu_802508D0)($a1)
/* 172070 80249650 240700FF */ addiu $a3, $zero, 0xFF
/* 172074 80249654 AFA00010 */ sw $zero, 0x10($sp)
/* 172078 80249658 AFB40014 */ sw $s4, 0x14($sp)
/* 17207C 8024965C 0C0939C7 */ jal filemenu_draw_message
/* 172080 80249660 02A52821 */ addu $a1, $s5, $a1
/* 172084 80249664 080925C0 */ j .Lfilemenu_80249700
/* 172088 80249668 00000000 */ nop
.Lfilemenu_8024966C:
/* 17208C 8024966C 3C118015 */ lui $s1, %hi(gCurrentLanguage)
/* 172090 80249670 2631AE4C */ addiu $s1, $s1, %lo(gCurrentLanguage)
/* 172094 80249674 8E220000 */ lw $v0, 0x0($s1)
/* 172098 80249678 3C108025 */ lui $s0, %hi(D_filemenu_802508D0)
/* 17209C 8024967C 02028021 */ addu $s0, $s0, $v0
/* 1720A0 80249680 921008D0 */ lbu $s0, %lo(D_filemenu_802508D0)($s0)
/* 1720A4 80249684 0C093A16 */ jal filemenu_get_menu_message
/* 1720A8 80249688 26440024 */ addiu $a0, $s2, 0x24
/* 1720AC 8024968C 0040202D */ daddu $a0, $v0, $zero
/* 1720B0 80249690 0260302D */ daddu $a2, $s3, $zero
/* 1720B4 80249694 240700FF */ addiu $a3, $zero, 0xFF
/* 1720B8 80249698 AFA00010 */ sw $zero, 0x10($sp)
/* 1720BC 8024969C AFB40014 */ sw $s4, 0x14($sp)
/* 1720C0 802496A0 0C0939C7 */ jal filemenu_draw_message
/* 1720C4 802496A4 02B02821 */ addu $a1, $s5, $s0
/* 1720C8 802496A8 00122040 */ sll $a0, $s2, 1
/* 1720CC 802496AC 00922021 */ addu $a0, $a0, $s2
/* 1720D0 802496B0 000420C0 */ sll $a0, $a0, 3
/* 1720D4 802496B4 3C028007 */ lui $v0, %hi(gSaveSlotMetadata+0x7)
/* 1720D8 802496B8 24423D1B */ addiu $v0, $v0, %lo(gSaveSlotMetadata+0x7)
/* 1720DC 802496BC 00822021 */ addu $a0, $a0, $v0
/* 1720E0 802496C0 24050008 */ addiu $a1, $zero, 0x8
/* 1720E4 802496C4 8E220000 */ lw $v0, 0x0($s1)
/* 1720E8 802496C8 0260382D */ daddu $a3, $s3, $zero
/* 1720EC 802496CC 3C038025 */ lui $v1, %hi(D_filemenu_802508D4)
/* 1720F0 802496D0 00621821 */ addu $v1, $v1, $v0
/* 1720F4 802496D4 906308D4 */ lbu $v1, %lo(D_filemenu_802508D4)($v1)
/* 1720F8 802496D8 240200FF */ addiu $v0, $zero, 0xFF
/* 1720FC 802496DC AFA20010 */ sw $v0, 0x10($sp)
/* 172100 802496E0 24020009 */ addiu $v0, $zero, 0x9
/* 172104 802496E4 AFA00014 */ sw $zero, 0x14($sp)
/* 172108 802496E8 AFB40018 */ sw $s4, 0x18($sp)
/* 17210C 802496EC AFA2001C */ sw $v0, 0x1C($sp)
/* 172110 802496F0 02038021 */ addu $s0, $s0, $v1
/* 172114 802496F4 26100006 */ addiu $s0, $s0, 0x6
/* 172118 802496F8 0C093A20 */ jal filemenu_draw_file_name
/* 17211C 802496FC 02B03021 */ addu $a2, $s5, $s0
.Lfilemenu_80249700:
/* 172120 80249700 8FBF0038 */ lw $ra, 0x38($sp)
/* 172124 80249704 8FB50034 */ lw $s5, 0x34($sp)
/* 172128 80249708 8FB40030 */ lw $s4, 0x30($sp)
/* 17212C 8024970C 8FB3002C */ lw $s3, 0x2C($sp)
/* 172130 80249710 8FB20028 */ lw $s2, 0x28($sp)
/* 172134 80249714 8FB10024 */ lw $s1, 0x24($sp)
/* 172138 80249718 8FB00020 */ lw $s0, 0x20($sp)
/* 17213C 8024971C 03E00008 */ jr $ra
/* 172140 80249720 27BD0040 */ addiu $sp, $sp, 0x40

View File

@ -0,0 +1,75 @@
.set noat /* allow manual use of $at */
.set noreorder /* don't insert nops after branches */
/* Generated by spimdisasm 1.11.1 */
glabel filemenu_draw_contents_option_center
/* 171954 80248F34 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 171958 80248F38 0080382D */ daddu $a3, $a0, $zero
/* 17195C 80248F3C AFB1001C */ sw $s1, 0x1C($sp)
/* 171960 80248F40 00A0882D */ daddu $s1, $a1, $zero
/* 171964 80248F44 AFBF002C */ sw $ra, 0x2C($sp)
/* 171968 80248F48 AFB40028 */ sw $s4, 0x28($sp)
/* 17196C 80248F4C AFB30024 */ sw $s3, 0x24($sp)
/* 171970 80248F50 AFB20020 */ sw $s2, 0x20($sp)
/* 171974 80248F54 AFB00018 */ sw $s0, 0x18($sp)
/* 171978 80248F58 80E30004 */ lb $v1, 0x4($a3)
/* 17197C 80248F5C 28620004 */ slti $v0, $v1, 0x4
/* 171980 80248F60 10400010 */ beqz $v0, .Lfilemenu_80248FA4
/* 171984 80248F64 00C0902D */ daddu $s2, $a2, $zero
/* 171988 80248F68 1860000E */ blez $v1, .Lfilemenu_80248FA4
/* 17198C 80248F6C 24130009 */ addiu $s3, $zero, 0x9
/* 171990 80248F70 0000A02D */ daddu $s4, $zero, $zero
/* 171994 80248F74 3C0500FF */ lui $a1, (0xFFFF00 >> 16)
/* 171998 80248F78 34A5FF00 */ ori $a1, $a1, (0xFFFF00 & 0xFFFF)
/* 17199C 80248F7C 3C040001 */ lui $a0, (0x10200 >> 16)
/* 1719A0 80248F80 34840200 */ ori $a0, $a0, (0x10200 & 0xFFFF)
/* 1719A4 80248F84 8CE20000 */ lw $v0, 0x0($a3)
/* 1719A8 80248F88 3C038015 */ lui $v1, %hi(gCurrentLanguage)
/* 1719AC 80248F8C 8C63AE4C */ lw $v1, %lo(gCurrentLanguage)($v1)
/* 1719B0 80248F90 3C108025 */ lui $s0, %hi(D_filemenu_802508F4)
/* 1719B4 80248F94 02038021 */ addu $s0, $s0, $v1
/* 1719B8 80248F98 921008F4 */ lbu $s0, %lo(D_filemenu_802508F4)($s0)
/* 1719BC 80248F9C 080923F6 */ j .Lfilemenu_80248FD8
/* 1719C0 80248FA0 00451024 */ and $v0, $v0, $a1
.Lfilemenu_80248FA4:
/* 1719C4 80248FA4 2413000A */ addiu $s3, $zero, 0xA
/* 1719C8 80248FA8 0000A02D */ daddu $s4, $zero, $zero
/* 1719CC 80248FAC 3C0500FF */ lui $a1, (0xFFFF00 >> 16)
/* 1719D0 80248FB0 34A5FF00 */ ori $a1, $a1, (0xFFFF00 & 0xFFFF)
/* 1719D4 80248FB4 3C040001 */ lui $a0, (0x10200 >> 16)
/* 1719D8 80248FB8 34840200 */ ori $a0, $a0, (0x10200 & 0xFFFF)
/* 1719DC 80248FBC 8CE20000 */ lw $v0, 0x0($a3)
/* 1719E0 80248FC0 3C038015 */ lui $v1, %hi(gCurrentLanguage)
/* 1719E4 80248FC4 8C63AE4C */ lw $v1, %lo(gCurrentLanguage)($v1)
/* 1719E8 80248FC8 00451024 */ and $v0, $v0, $a1
/* 1719EC 80248FCC 3C108025 */ lui $s0, %hi(D_filemenu_802508EC)
/* 1719F0 80248FD0 02038021 */ addu $s0, $s0, $v1
/* 1719F4 80248FD4 921008EC */ lbu $s0, %lo(D_filemenu_802508EC)($s0)
.Lfilemenu_80248FD8:
/* 1719F8 80248FD8 14440005 */ bne $v0, $a0, .Lfilemenu_80248FF0
/* 1719FC 80248FDC 24040036 */ addiu $a0, $zero, 0x36
/* 171A00 80248FE0 02302821 */ addu $a1, $s1, $s0
/* 171A04 80248FE4 24A5FFF6 */ addiu $a1, $a1, -0xA
/* 171A08 80248FE8 0C091B44 */ jal filemenu_set_cursor_goal_pos
/* 171A0C 80248FEC 26460008 */ addiu $a2, $s2, 0x8
.Lfilemenu_80248FF0:
/* 171A10 80248FF0 0C093A16 */ jal filemenu_get_menu_message
/* 171A14 80248FF4 0260202D */ daddu $a0, $s3, $zero
/* 171A18 80248FF8 0040202D */ daddu $a0, $v0, $zero
/* 171A1C 80248FFC 02302821 */ addu $a1, $s1, $s0
/* 171A20 80249000 02543021 */ addu $a2, $s2, $s4
/* 171A24 80249004 24C60002 */ addiu $a2, $a2, 0x2
/* 171A28 80249008 24020001 */ addiu $v0, $zero, 0x1
/* 171A2C 8024900C 240700FF */ addiu $a3, $zero, 0xFF
/* 171A30 80249010 AFA00010 */ sw $zero, 0x10($sp)
/* 171A34 80249014 0C0939C7 */ jal filemenu_draw_message
/* 171A38 80249018 AFA20014 */ sw $v0, 0x14($sp)
/* 171A3C 8024901C 8FBF002C */ lw $ra, 0x2C($sp)
/* 171A40 80249020 8FB40028 */ lw $s4, 0x28($sp)
/* 171A44 80249024 8FB30024 */ lw $s3, 0x24($sp)
/* 171A48 80249028 8FB20020 */ lw $s2, 0x20($sp)
/* 171A4C 8024902C 8FB1001C */ lw $s1, 0x1C($sp)
/* 171A50 80249030 8FB00018 */ lw $s0, 0x18($sp)
/* 171A54 80249034 03E00008 */ jr $ra
/* 171A58 80249038 27BD0030 */ addiu $sp, $sp, 0x30

View File

@ -0,0 +1,47 @@
.set noat /* allow manual use of $at */
.set noreorder /* don't insert nops after branches */
/* Generated by spimdisasm 1.11.1 */
glabel filemenu_draw_contents_option_right
/* 171A5C 8024903C 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 171A60 80249040 AFB1001C */ sw $s1, 0x1C($sp)
/* 171A64 80249044 00A0882D */ daddu $s1, $a1, $zero
/* 171A68 80249048 AFB20020 */ sw $s2, 0x20($sp)
/* 171A6C 8024904C 00C0902D */ daddu $s2, $a2, $zero
/* 171A70 80249050 3C0500FF */ lui $a1, (0xFFFF00 >> 16)
/* 171A74 80249054 34A5FF00 */ ori $a1, $a1, (0xFFFF00 & 0xFFFF)
/* 171A78 80249058 3C060002 */ lui $a2, (0x20200 >> 16)
/* 171A7C 8024905C 34C60200 */ ori $a2, $a2, (0x20200 & 0xFFFF)
/* 171A80 80249060 AFBF0024 */ sw $ra, 0x24($sp)
/* 171A84 80249064 AFB00018 */ sw $s0, 0x18($sp)
/* 171A88 80249068 8C820000 */ lw $v0, 0x0($a0)
/* 171A8C 8024906C 3C038015 */ lui $v1, %hi(gCurrentLanguage)
/* 171A90 80249070 8C63AE4C */ lw $v1, %lo(gCurrentLanguage)($v1)
/* 171A94 80249074 00451024 */ and $v0, $v0, $a1
/* 171A98 80249078 3C108025 */ lui $s0, %hi(D_filemenu_802508F0)
/* 171A9C 8024907C 02038021 */ addu $s0, $s0, $v1
/* 171AA0 80249080 921008F0 */ lbu $s0, %lo(D_filemenu_802508F0)($s0)
/* 171AA4 80249084 14460005 */ bne $v0, $a2, .Lfilemenu_8024909C
/* 171AA8 80249088 24040037 */ addiu $a0, $zero, 0x37
/* 171AAC 8024908C 02302821 */ addu $a1, $s1, $s0
/* 171AB0 80249090 24A5FFF6 */ addiu $a1, $a1, -0xA
/* 171AB4 80249094 0C091B44 */ jal filemenu_set_cursor_goal_pos
/* 171AB8 80249098 26460008 */ addiu $a2, $s2, 0x8
.Lfilemenu_8024909C:
/* 171ABC 8024909C 0C093A16 */ jal filemenu_get_menu_message
/* 171AC0 802490A0 24040009 */ addiu $a0, $zero, 0x9
/* 171AC4 802490A4 0040202D */ daddu $a0, $v0, $zero
/* 171AC8 802490A8 02302821 */ addu $a1, $s1, $s0
/* 171ACC 802490AC 26460002 */ addiu $a2, $s2, 0x2
/* 171AD0 802490B0 24020001 */ addiu $v0, $zero, 0x1
/* 171AD4 802490B4 240700FF */ addiu $a3, $zero, 0xFF
/* 171AD8 802490B8 AFA00010 */ sw $zero, 0x10($sp)
/* 171ADC 802490BC 0C0939C7 */ jal filemenu_draw_message
/* 171AE0 802490C0 AFA20014 */ sw $v0, 0x14($sp)
/* 171AE4 802490C4 8FBF0024 */ lw $ra, 0x24($sp)
/* 171AE8 802490C8 8FB20020 */ lw $s2, 0x20($sp)
/* 171AEC 802490CC 8FB1001C */ lw $s1, 0x1C($sp)
/* 171AF0 802490D0 8FB00018 */ lw $s0, 0x18($sp)
/* 171AF4 802490D4 03E00008 */ jr $ra
/* 171AF8 802490D8 27BD0028 */ addiu $sp, $sp, 0x28

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,145 @@
.set noat /* allow manual use of $at */
.set noreorder /* don't insert nops after branches */
/* Generated by spimdisasm 1.11.1 */
glabel filemenu_main_init
/* 1723C4 802499A4 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 1723C8 802499A8 AFB20018 */ sw $s2, 0x18($sp)
/* 1723CC 802499AC 0080902D */ daddu $s2, $a0, $zero
/* 1723D0 802499B0 AFB00010 */ sw $s0, 0x10($sp)
/* 1723D4 802499B4 0000802D */ daddu $s0, $zero, $zero
/* 1723D8 802499B8 AFB3001C */ sw $s3, 0x1C($sp)
/* 1723DC 802499BC 3C138025 */ lui $s3, %hi(filemenu_main_hudElemScripts)
/* 1723E0 802499C0 2673EC60 */ addiu $s3, $s3, %lo(filemenu_main_hudElemScripts)
/* 1723E4 802499C4 AFB10014 */ sw $s1, 0x14($sp)
/* 1723E8 802499C8 3C118025 */ lui $s1, %hi(filemenu_hudElemIDs)
/* 1723EC 802499CC 26311770 */ addiu $s1, $s1, %lo(filemenu_hudElemIDs)
/* 1723F0 802499D0 AFBF0020 */ sw $ra, 0x20($sp)
.Lfilemenu_802499D4:
/* 1723F4 802499D4 3C048015 */ lui $a0, %hi(gCurrentLanguage)
/* 1723F8 802499D8 8C84AE4C */ lw $a0, %lo(gCurrentLanguage)($a0)
/* 1723FC 802499DC 00101880 */ sll $v1, $s0, 2
/* 172400 802499E0 00041080 */ sll $v0, $a0, 2
/* 172404 802499E4 00441021 */ addu $v0, $v0, $a0
/* 172408 802499E8 00021100 */ sll $v0, $v0, 4
/* 17240C 802499EC 00621821 */ addu $v1, $v1, $v0
/* 172410 802499F0 00731821 */ addu $v1, $v1, $s3
/* 172414 802499F4 8C640000 */ lw $a0, 0x0($v1)
/* 172418 802499F8 0C050015 */ jal hud_element_create
/* 17241C 802499FC 26100001 */ addiu $s0, $s0, 0x1
/* 172420 80249A00 0040202D */ daddu $a0, $v0, $zero
/* 172424 80249A04 24050080 */ addiu $a1, $zero, 0x80
/* 172428 80249A08 0C050D6C */ jal hud_element_set_flags
/* 17242C 80249A0C AE240000 */ sw $a0, 0x0($s1)
/* 172430 80249A10 2A020014 */ slti $v0, $s0, 0x14
/* 172434 80249A14 1440FFEF */ bnez $v0, .Lfilemenu_802499D4
/* 172438 80249A18 26310004 */ addiu $s1, $s1, 0x4
/* 17243C 80249A1C 2410000D */ addiu $s0, $zero, 0xD
/* 172440 80249A20 3C028025 */ lui $v0, %hi(filemenu_main_windowBPs+0x1D4)
/* 172444 80249A24 2442EF98 */ addiu $v0, $v0, %lo(filemenu_main_windowBPs+0x1D4)
.Lfilemenu_80249A28:
/* 172448 80249A28 AC520010 */ sw $s2, 0x10($v0)
/* 17244C 80249A2C 2610FFFF */ addiu $s0, $s0, -0x1
/* 172450 80249A30 0601FFFD */ bgez $s0, .Lfilemenu_80249A28
/* 172454 80249A34 2442FFDC */ addiu $v0, $v0, -0x24
/* 172458 80249A38 3C048025 */ lui $a0, %hi(filemenu_main_windowBPs)
/* 17245C 80249A3C 2484EDC4 */ addiu $a0, $a0, %lo(filemenu_main_windowBPs)
/* 172460 80249A40 0C051AB8 */ jal setup_pause_menu_tab
/* 172464 80249A44 2405000E */ addiu $a1, $zero, 0xE
/* 172468 80249A48 82420004 */ lb $v0, 0x4($s2)
/* 17246C 80249A4C 82430005 */ lb $v1, 0x5($s2)
/* 172470 80249A50 00430018 */ mult $v0, $v1
/* 172474 80249A54 00003012 */ mflo $a2
/* 172478 80249A58 82420006 */ lb $v0, 0x6($s2)
/* 17247C 80249A5C 00000000 */ nop
/* 172480 80249A60 00C20018 */ mult $a2, $v0
/* 172484 80249A64 00002012 */ mflo $a0
/* 172488 80249A68 82420002 */ lb $v0, 0x2($s2)
/* 17248C 80249A6C 00000000 */ nop
/* 172490 80249A70 00620018 */ mult $v1, $v0
/* 172494 80249A74 00001812 */ mflo $v1
/* 172498 80249A78 00831821 */ addu $v1, $a0, $v1
/* 17249C 80249A7C 82440001 */ lb $a0, 0x1($s2)
/* 1724A0 80249A80 8E420008 */ lw $v0, 0x8($s2)
/* 1724A4 80249A84 00641821 */ addu $v1, $v1, $a0
/* 1724A8 80249A88 00431021 */ addu $v0, $v0, $v1
/* 1724AC 80249A8C 3C048016 */ lui $a0, %hi(gWindows)
/* 1724B0 80249A90 24848910 */ addiu $a0, $a0, %lo(gWindows)
/* 1724B4 80249A94 90420000 */ lbu $v0, 0x0($v0)
/* 1724B8 80249A98 A2420003 */ sb $v0, 0x3($s2)
/* 1724BC 80249A9C 808305A3 */ lb $v1, 0x5A3($a0)
/* 1724C0 80249AA0 24020001 */ addiu $v0, $zero, 0x1
/* 1724C4 80249AA4 A48205AE */ sh $v0, 0x5AE($a0)
/* 1724C8 80249AA8 240200A2 */ addiu $v0, $zero, 0xA2
/* 1724CC 80249AAC A48205B0 */ sh $v0, 0x5B0($a0)
/* 1724D0 80249AB0 24020019 */ addiu $v0, $zero, 0x19
/* 1724D4 80249AB4 A48205B2 */ sh $v0, 0x5B2($a0)
/* 1724D8 80249AB8 2402FFFF */ addiu $v0, $zero, -0x1
/* 1724DC 80249ABC 1062000B */ beq $v1, $v0, .Lfilemenu_80249AEC
/* 1724E0 80249AC0 248505AC */ addiu $a1, $a0, 0x5AC
/* 1724E4 80249AC4 00031140 */ sll $v0, $v1, 5
/* 1724E8 80249AC8 00441021 */ addu $v0, $v0, $a0
/* 1724EC 80249ACC 94420010 */ lhu $v0, 0x10($v0)
/* 1724F0 80249AD0 00021400 */ sll $v0, $v0, 16
/* 1724F4 80249AD4 00021C03 */ sra $v1, $v0, 16
/* 1724F8 80249AD8 000217C2 */ srl $v0, $v0, 31
/* 1724FC 80249ADC 00621821 */ addu $v1, $v1, $v0
/* 172500 80249AE0 00031843 */ sra $v1, $v1, 1
/* 172504 80249AE4 080926BE */ j .Lfilemenu_80249AF8
/* 172508 80249AE8 2463FFAF */ addiu $v1, $v1, -0x51
.Lfilemenu_80249AEC:
/* 17250C 80249AEC 2403004F */ addiu $v1, $zero, 0x4F
/* 172510 80249AF0 3C048016 */ lui $a0, %hi(gWindows)
/* 172514 80249AF4 24848910 */ addiu $a0, $a0, %lo(gWindows)
.Lfilemenu_80249AF8:
/* 172518 80249AF8 A4A30000 */ sh $v1, 0x0($a1)
/* 17251C 80249AFC 948206D0 */ lhu $v0, 0x6D0($a0)
/* 172520 80249B00 00021400 */ sll $v0, $v0, 16
/* 172524 80249B04 00021C03 */ sra $v1, $v0, 16
/* 172528 80249B08 000217C2 */ srl $v0, $v0, 31
/* 17252C 80249B0C 00621821 */ addu $v1, $v1, $v0
/* 172530 80249B10 00032843 */ sra $a1, $v1, 1
/* 172534 80249B14 808306C3 */ lb $v1, 0x6C3($a0)
/* 172538 80249B18 2402FFFF */ addiu $v0, $zero, -0x1
/* 17253C 80249B1C 1062000B */ beq $v1, $v0, .Lfilemenu_80249B4C
/* 172540 80249B20 248606CC */ addiu $a2, $a0, 0x6CC
/* 172544 80249B24 00031140 */ sll $v0, $v1, 5
/* 172548 80249B28 00441021 */ addu $v0, $v0, $a0
/* 17254C 80249B2C 94420010 */ lhu $v0, 0x10($v0)
/* 172550 80249B30 00021400 */ sll $v0, $v0, 16
/* 172554 80249B34 00021C03 */ sra $v1, $v0, 16
/* 172558 80249B38 000217C2 */ srl $v0, $v0, 31
/* 17255C 80249B3C 00621821 */ addu $v1, $v1, $v0
/* 172560 80249B40 00031843 */ sra $v1, $v1, 1
/* 172564 80249B44 080926D5 */ j .Lfilemenu_80249B54
/* 172568 80249B48 00651023 */ subu $v0, $v1, $a1
.Lfilemenu_80249B4C:
/* 17256C 80249B4C 240200A0 */ addiu $v0, $zero, 0xA0
/* 172570 80249B50 00451023 */ subu $v0, $v0, $a1
.Lfilemenu_80249B54:
/* 172574 80249B54 A4C20000 */ sh $v0, 0x0($a2)
/* 172578 80249B58 82420004 */ lb $v0, 0x4($s2)
/* 17257C 80249B5C 1040000C */ beqz $v0, .Lfilemenu_80249B90
/* 172580 80249B60 24040035 */ addiu $a0, $zero, 0x35
/* 172584 80249B64 0C051A8B */ jal set_window_update
/* 172588 80249B68 24050002 */ addiu $a1, $zero, 0x2
/* 17258C 80249B6C 24040037 */ addiu $a0, $zero, 0x37
/* 172590 80249B70 0C051A8B */ jal set_window_update
/* 172594 80249B74 24050002 */ addiu $a1, $zero, 0x2
/* 172598 80249B78 24040033 */ addiu $a0, $zero, 0x33
/* 17259C 80249B7C 0C051A8B */ jal set_window_update
/* 1725A0 80249B80 24050002 */ addiu $a1, $zero, 0x2
/* 1725A4 80249B84 24040034 */ addiu $a0, $zero, 0x34
/* 1725A8 80249B88 0C051A8B */ jal set_window_update
/* 1725AC 80249B8C 24050002 */ addiu $a1, $zero, 0x2
.Lfilemenu_80249B90:
/* 1725B0 80249B90 24020001 */ addiu $v0, $zero, 0x1
/* 1725B4 80249B94 A2420000 */ sb $v0, 0x0($s2)
/* 1725B8 80249B98 8FBF0020 */ lw $ra, 0x20($sp)
/* 1725BC 80249B9C 8FB3001C */ lw $s3, 0x1C($sp)
/* 1725C0 80249BA0 8FB20018 */ lw $s2, 0x18($sp)
/* 1725C4 80249BA4 8FB10014 */ lw $s1, 0x14($sp)
/* 1725C8 80249BA8 8FB00010 */ lw $s0, 0x10($sp)
/* 1725CC 80249BAC 03E00008 */ jr $ra
/* 1725D0 80249BB0 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -0,0 +1,73 @@
.set noat /* allow manual use of $at */
.set noreorder /* don't insert nops after branches */
/* Generated by spimdisasm 1.11.1 */
glabel filemenu_draw_file_name
/* 1772A0 8024E880 27BDFFC0 */ addiu $sp, $sp, -0x40
/* 1772A4 8024E884 AFBE0038 */ sw $fp, 0x38($sp)
/* 1772A8 8024E888 8FBE0058 */ lw $fp, 0x58($sp)
/* 1772AC 8024E88C AFB70034 */ sw $s7, 0x34($sp)
/* 1772B0 8024E890 8FB7005C */ lw $s7, 0x5C($sp)
/* 1772B4 8024E894 AFB30024 */ sw $s3, 0x24($sp)
/* 1772B8 8024E898 00A0982D */ daddu $s3, $a1, $zero
/* 1772BC 8024E89C AFB1001C */ sw $s1, 0x1C($sp)
/* 1772C0 8024E8A0 0000882D */ daddu $s1, $zero, $zero
/* 1772C4 8024E8A4 AFBF003C */ sw $ra, 0x3C($sp)
/* 1772C8 8024E8A8 AFB60030 */ sw $s6, 0x30($sp)
/* 1772CC 8024E8AC AFB5002C */ sw $s5, 0x2C($sp)
/* 1772D0 8024E8B0 AFB40028 */ sw $s4, 0x28($sp)
/* 1772D4 8024E8B4 AFB20020 */ sw $s2, 0x20($sp)
/* 1772D8 8024E8B8 AFB00018 */ sw $s0, 0x18($sp)
/* 1772DC 8024E8BC AFA40040 */ sw $a0, 0x40($sp)
/* 1772E0 8024E8C0 1A600020 */ blez $s3, .Lfilemenu_8024E944
/* 1772E4 8024E8C4 AFA7004C */ sw $a3, 0x4C($sp)
/* 1772E8 8024E8C8 241600F7 */ addiu $s6, $zero, 0xF7
/* 1772EC 8024E8CC 24150001 */ addiu $s5, $zero, 0x1
/* 1772F0 8024E8D0 24140008 */ addiu $s4, $zero, 0x8
/* 1772F4 8024E8D4 00C0902D */ daddu $s2, $a2, $zero
.Lfilemenu_8024E8D8:
/* 1772F8 8024E8D8 8FA80040 */ lw $t0, 0x40($sp)
/* 1772FC 8024E8DC 01111021 */ addu $v0, $t0, $s1
/* 177300 8024E8E0 90500000 */ lbu $s0, 0x0($v0)
/* 177304 8024E8E4 12160013 */ beq $s0, $s6, .Lfilemenu_8024E934
/* 177308 8024E8E8 0200202D */ daddu $a0, $s0, $zero
/* 17730C 8024E8EC 0000282D */ daddu $a1, $zero, $zero
/* 177310 8024E8F0 3C073F80 */ lui $a3, (0x3F800000 >> 16)
/* 177314 8024E8F4 00A0302D */ daddu $a2, $a1, $zero
/* 177318 8024E8F8 AFA00010 */ sw $zero, 0x10($sp)
/* 17731C 8024E8FC 0C0491E9 */ jal msg_get_print_char_width
/* 177320 8024E900 AFB50014 */ sw $s5, 0x14($sp)
/* 177324 8024E904 0200202D */ daddu $a0, $s0, $zero
/* 177328 8024E908 02821023 */ subu $v0, $s4, $v0
/* 17732C 8024E90C 00021FC2 */ srl $v1, $v0, 31
/* 177330 8024E910 00431021 */ addu $v0, $v0, $v1
/* 177334 8024E914 00021043 */ sra $v0, $v0, 1
/* 177338 8024E918 8FA6004C */ lw $a2, 0x4C($sp)
/* 17733C 8024E91C 8FA70050 */ lw $a3, 0x50($sp)
/* 177340 8024E920 8FA80054 */ lw $t0, 0x54($sp)
/* 177344 8024E924 02422821 */ addu $a1, $s2, $v0
/* 177348 8024E928 AFBE0014 */ sw $fp, 0x14($sp)
/* 17734C 8024E92C 0C0939C7 */ jal filemenu_draw_message
/* 177350 8024E930 AFA80010 */ sw $t0, 0x10($sp)
.Lfilemenu_8024E934:
/* 177354 8024E934 26310001 */ addiu $s1, $s1, 0x1
/* 177358 8024E938 0233102A */ slt $v0, $s1, $s3
/* 17735C 8024E93C 1440FFE6 */ bnez $v0, .Lfilemenu_8024E8D8
/* 177360 8024E940 02579021 */ addu $s2, $s2, $s7
.Lfilemenu_8024E944:
/* 177364 8024E944 8FBF003C */ lw $ra, 0x3C($sp)
/* 177368 8024E948 8FBE0038 */ lw $fp, 0x38($sp)
/* 17736C 8024E94C 8FB70034 */ lw $s7, 0x34($sp)
/* 177370 8024E950 8FB60030 */ lw $s6, 0x30($sp)
/* 177374 8024E954 8FB5002C */ lw $s5, 0x2C($sp)
/* 177378 8024E958 8FB40028 */ lw $s4, 0x28($sp)
/* 17737C 8024E95C 8FB30024 */ lw $s3, 0x24($sp)
/* 177380 8024E960 8FB20020 */ lw $s2, 0x20($sp)
/* 177384 8024E964 8FB1001C */ lw $s1, 0x1C($sp)
/* 177388 8024E968 8FB00018 */ lw $s0, 0x18($sp)
/* 17738C 8024E96C 03E00008 */ jr $ra
/* 177390 8024E970 27BD0040 */ addiu $sp, $sp, 0x40
/* 177394 8024E974 00000000 */ nop
/* 177398 8024E978 00000000 */ nop
/* 17739C 8024E97C 00000000 */ nop

View File

@ -0,0 +1,16 @@
.set noat /* allow manual use of $at */
.set noreorder /* don't insert nops after branches */
/* Generated by spimdisasm 1.11.1 */
glabel filemenu_get_menu_message
/* 177278 8024E858 3C028015 */ lui $v0, %hi(gCurrentLanguage)
/* 17727C 8024E85C 8C42AE4C */ lw $v0, %lo(gCurrentLanguage)($v0)
/* 177280 8024E860 00021080 */ sll $v0, $v0, 2
/* 177284 8024E864 3C018025 */ lui $at, %hi(gFileMenuMessages_intl)
/* 177288 8024E868 00220821 */ addu $at, $at, $v0
/* 17728C 8024E86C 8C2211F8 */ lw $v0, %lo(gFileMenuMessages_intl)($at)
/* 177290 8024E870 00042080 */ sll $a0, $a0, 2
/* 177294 8024E874 00822021 */ addu $a0, $a0, $v0
/* 177298 8024E878 03E00008 */ jr $ra
/* 17729C 8024E87C 8C820000 */ lw $v0, 0x0($a0)

View File

@ -0,0 +1,87 @@
.set noat /* allow manual use of $at */
.set noreorder /* don't insert nops after branches */
/* Generated by spimdisasm 1.11.1 */
glabel filemenu_yesno_draw_options_contents
/* 1737E0 8024ADC0 27BDFFC8 */ addiu $sp, $sp, -0x38
/* 1737E4 8024ADC4 AFB60030 */ sw $s6, 0x30($sp)
/* 1737E8 8024ADC8 0080B02D */ daddu $s6, $a0, $zero
/* 1737EC 8024ADCC AFB40028 */ sw $s4, 0x28($sp)
/* 1737F0 8024ADD0 00A0A02D */ daddu $s4, $a1, $zero
/* 1737F4 8024ADD4 AFB5002C */ sw $s5, 0x2C($sp)
/* 1737F8 8024ADD8 AFBF0034 */ sw $ra, 0x34($sp)
/* 1737FC 8024ADDC AFB30024 */ sw $s3, 0x24($sp)
/* 173800 8024ADE0 AFB20020 */ sw $s2, 0x20($sp)
/* 173804 8024ADE4 AFB1001C */ sw $s1, 0x1C($sp)
/* 173808 8024ADE8 AFB00018 */ sw $s0, 0x18($sp)
/* 17380C 8024ADEC 82C30004 */ lb $v1, 0x4($s6)
/* 173810 8024ADF0 24020001 */ addiu $v0, $zero, 0x1
/* 173814 8024ADF4 1062000C */ beq $v1, $v0, .Lfilemenu_8024AE28
/* 173818 8024ADF8 00C0A82D */ daddu $s5, $a2, $zero
/* 17381C 8024ADFC 28620002 */ slti $v0, $v1, 0x2
/* 173820 8024AE00 10400005 */ beqz $v0, .Lfilemenu_8024AE18
/* 173824 8024AE04 24020002 */ addiu $v0, $zero, 0x2
/* 173828 8024AE08 50600008 */ beql $v1, $zero, .Lfilemenu_8024AE2C
/* 17382C 8024AE0C 2413001C */ addiu $s3, $zero, 0x1C
/* 173830 8024AE10 08092B8E */ j .Lfilemenu_8024AE38
/* 173834 8024AE14 00000000 */ nop
.Lfilemenu_8024AE18:
/* 173838 8024AE18 10620003 */ beq $v1, $v0, .Lfilemenu_8024AE28
/* 17383C 8024AE1C 24020003 */ addiu $v0, $zero, 0x3
/* 173840 8024AE20 14620005 */ bne $v1, $v0, .Lfilemenu_8024AE38
/* 173844 8024AE24 00000000 */ nop
.Lfilemenu_8024AE28:
/* 173848 8024AE28 2413001C */ addiu $s3, $zero, 0x1C
.Lfilemenu_8024AE2C:
/* 17384C 8024AE2C 24120004 */ addiu $s2, $zero, 0x4
/* 173850 8024AE30 0260882D */ daddu $s1, $s3, $zero
/* 173854 8024AE34 24100015 */ addiu $s0, $zero, 0x15
.Lfilemenu_8024AE38:
/* 173858 8024AE38 0C093A16 */ jal filemenu_get_menu_message
/* 17385C 8024AE3C 2404000D */ addiu $a0, $zero, 0xD
/* 173860 8024AE40 0040202D */ daddu $a0, $v0, $zero
/* 173864 8024AE44 02932821 */ addu $a1, $s4, $s3
/* 173868 8024AE48 02B23021 */ addu $a2, $s5, $s2
/* 17386C 8024AE4C 240700FF */ addiu $a3, $zero, 0xFF
/* 173870 8024AE50 AFA00010 */ sw $zero, 0x10($sp)
/* 173874 8024AE54 0C0939C7 */ jal filemenu_draw_message
/* 173878 8024AE58 AFA00014 */ sw $zero, 0x14($sp)
/* 17387C 8024AE5C 0C093A16 */ jal filemenu_get_menu_message
/* 173880 8024AE60 2404000E */ addiu $a0, $zero, 0xE
/* 173884 8024AE64 0040202D */ daddu $a0, $v0, $zero
/* 173888 8024AE68 02912821 */ addu $a1, $s4, $s1
/* 17388C 8024AE6C 02B03021 */ addu $a2, $s5, $s0
/* 173890 8024AE70 240700FF */ addiu $a3, $zero, 0xFF
/* 173894 8024AE74 AFA00010 */ sw $zero, 0x10($sp)
/* 173898 8024AE78 0C0939C7 */ jal filemenu_draw_message
/* 17389C 8024AE7C AFA00014 */ sw $zero, 0x14($sp)
/* 1738A0 8024AE80 3C038025 */ lui $v1, %hi(filemenu_currentMenu)
/* 1738A4 8024AE84 80631758 */ lb $v1, %lo(filemenu_currentMenu)($v1)
/* 1738A8 8024AE88 24020001 */ addiu $v0, $zero, 0x1
/* 1738AC 8024AE8C 1462000C */ bne $v1, $v0, .Lfilemenu_8024AEC0
/* 1738B0 8024AE90 00000000 */ nop
/* 1738B4 8024AE94 92C20003 */ lbu $v0, 0x3($s6)
/* 1738B8 8024AE98 14400004 */ bnez $v0, .Lfilemenu_8024AEAC
/* 1738BC 8024AE9C 2623FFF6 */ addiu $v1, $s1, -0xA
/* 1738C0 8024AEA0 2663FFF6 */ addiu $v1, $s3, -0xA
/* 1738C4 8024AEA4 08092BAC */ j .Lfilemenu_8024AEB0
/* 1738C8 8024AEA8 26420008 */ addiu $v0, $s2, 0x8
.Lfilemenu_8024AEAC:
/* 1738CC 8024AEAC 26020008 */ addiu $v0, $s0, 0x8
.Lfilemenu_8024AEB0:
/* 1738D0 8024AEB0 24040032 */ addiu $a0, $zero, 0x32
/* 1738D4 8024AEB4 02832821 */ addu $a1, $s4, $v1
/* 1738D8 8024AEB8 0C091B44 */ jal filemenu_set_cursor_goal_pos
/* 1738DC 8024AEBC 02A23021 */ addu $a2, $s5, $v0
.Lfilemenu_8024AEC0:
/* 1738E0 8024AEC0 8FBF0034 */ lw $ra, 0x34($sp)
/* 1738E4 8024AEC4 8FB60030 */ lw $s6, 0x30($sp)
/* 1738E8 8024AEC8 8FB5002C */ lw $s5, 0x2C($sp)
/* 1738EC 8024AECC 8FB40028 */ lw $s4, 0x28($sp)
/* 1738F0 8024AED0 8FB30024 */ lw $s3, 0x24($sp)
/* 1738F4 8024AED4 8FB20020 */ lw $s2, 0x20($sp)
/* 1738F8 8024AED8 8FB1001C */ lw $s1, 0x1C($sp)
/* 1738FC 8024AEDC 8FB00018 */ lw $s0, 0x18($sp)
/* 173900 8024AEE0 03E00008 */ jr $ra
/* 173904 8024AEE4 27BD0038 */ addiu $sp, $sp, 0x38

View File

@ -0,0 +1,290 @@
.set noat /* allow manual use of $at */
.set noreorder /* don't insert nops after branches */
/* Generated by spimdisasm 1.11.1 */
glabel filemenu_yesno_draw_prompt_contents
/* 173908 8024AEE8 27BDFFC0 */ addiu $sp, $sp, -0x40
/* 17390C 8024AEEC AFB40030 */ sw $s4, 0x30($sp)
/* 173910 8024AEF0 00A0A02D */ daddu $s4, $a1, $zero
/* 173914 8024AEF4 AFB50034 */ sw $s5, 0x34($sp)
/* 173918 8024AEF8 AFBF0038 */ sw $ra, 0x38($sp)
/* 17391C 8024AEFC AFB3002C */ sw $s3, 0x2C($sp)
/* 173920 8024AF00 AFB20028 */ sw $s2, 0x28($sp)
/* 173924 8024AF04 AFB10024 */ sw $s1, 0x24($sp)
/* 173928 8024AF08 AFB00020 */ sw $s0, 0x20($sp)
/* 17392C 8024AF0C 80900004 */ lb $s0, 0x4($a0)
/* 173930 8024AF10 24020001 */ addiu $v0, $zero, 0x1
/* 173934 8024AF14 12020080 */ beq $s0, $v0, .Lfilemenu_8024B118
/* 173938 8024AF18 00C0A82D */ daddu $s5, $a2, $zero
/* 17393C 8024AF1C 2A020002 */ slti $v0, $s0, 0x2
/* 173940 8024AF20 50400005 */ beql $v0, $zero, .Lfilemenu_8024AF38
/* 173944 8024AF24 24020002 */ addiu $v0, $zero, 0x2
/* 173948 8024AF28 12000009 */ beqz $s0, .Lfilemenu_8024AF50
/* 17394C 8024AF2C 00000000 */ nop
/* 173950 8024AF30 08092CC3 */ j .Lfilemenu_8024B30C
/* 173954 8024AF34 00000000 */ nop
.Lfilemenu_8024AF38:
/* 173958 8024AF38 1202003A */ beq $s0, $v0, .Lfilemenu_8024B024
/* 17395C 8024AF3C 24020003 */ addiu $v0, $zero, 0x3
/* 173960 8024AF40 120200B8 */ beq $s0, $v0, .Lfilemenu_8024B224
/* 173964 8024AF44 00000000 */ nop
/* 173968 8024AF48 08092CC3 */ j .Lfilemenu_8024B30C
/* 17396C 8024AF4C 00000000 */ nop
.Lfilemenu_8024AF50:
/* 173970 8024AF50 3C108015 */ lui $s0, %hi(gCurrentLanguage)
/* 173974 8024AF54 2610AE4C */ addiu $s0, $s0, %lo(gCurrentLanguage)
/* 173978 8024AF58 8E020000 */ lw $v0, 0x0($s0)
/* 17397C 8024AF5C 3C138025 */ lui $s3, %hi(D_filemenu_80250924)
/* 173980 8024AF60 02629821 */ addu $s3, $s3, $v0
/* 173984 8024AF64 92730924 */ lbu $s3, %lo(D_filemenu_80250924)($s3)
/* 173988 8024AF68 0C093A16 */ jal filemenu_get_menu_message
/* 17398C 8024AF6C 2404000F */ addiu $a0, $zero, 0xF
/* 173990 8024AF70 0040202D */ daddu $a0, $v0, $zero
/* 173994 8024AF74 26B10004 */ addiu $s1, $s5, 0x4
/* 173998 8024AF78 0220302D */ daddu $a2, $s1, $zero
/* 17399C 8024AF7C 240700FF */ addiu $a3, $zero, 0xFF
/* 1739A0 8024AF80 AFA00010 */ sw $zero, 0x10($sp)
/* 1739A4 8024AF84 AFA00014 */ sw $zero, 0x14($sp)
/* 1739A8 8024AF88 0C0939C7 */ jal filemenu_draw_message
/* 1739AC 8024AF8C 02932821 */ addu $a1, $s4, $s3
/* 1739B0 8024AF90 8E020000 */ lw $v0, 0x0($s0)
/* 1739B4 8024AF94 3C138025 */ lui $s3, %hi(D_filemenu_80250928)
/* 1739B8 8024AF98 02629821 */ addu $s3, $s3, $v0
/* 1739BC 8024AF9C 92730928 */ lbu $s3, %lo(D_filemenu_80250928)($s3)
/* 1739C0 8024AFA0 0C093A16 */ jal filemenu_get_menu_message
/* 1739C4 8024AFA4 24040013 */ addiu $a0, $zero, 0x13
/* 1739C8 8024AFA8 0040202D */ daddu $a0, $v0, $zero
/* 1739CC 8024AFAC 0220302D */ daddu $a2, $s1, $zero
/* 1739D0 8024AFB0 240700FF */ addiu $a3, $zero, 0xFF
/* 1739D4 8024AFB4 AFA00010 */ sw $zero, 0x10($sp)
/* 1739D8 8024AFB8 AFA00014 */ sw $zero, 0x14($sp)
/* 1739DC 8024AFBC 0C0939C7 */ jal filemenu_draw_message
/* 1739E0 8024AFC0 02932821 */ addu $a1, $s4, $s3
/* 1739E4 8024AFC4 26A60006 */ addiu $a2, $s5, 0x6
/* 1739E8 8024AFC8 0000382D */ daddu $a3, $zero, $zero
/* 1739EC 8024AFCC 8E020000 */ lw $v0, 0x0($s0)
/* 1739F0 8024AFD0 3C038025 */ lui $v1, %hi(filemenu_menus)
/* 1739F4 8024AFD4 8C63E984 */ lw $v1, %lo(filemenu_menus)($v1)
/* 1739F8 8024AFD8 3C058025 */ lui $a1, %hi(D_filemenu_802508FC)
/* 1739FC 8024AFDC 00A22821 */ addu $a1, $a1, $v0
/* 173A00 8024AFE0 90A508FC */ lbu $a1, %lo(D_filemenu_802508FC)($a1)
/* 173A04 8024AFE4 90640003 */ lbu $a0, 0x3($v1)
/* 173A08 8024AFE8 240200FF */ addiu $v0, $zero, 0xFF
/* 173A0C 8024AFEC AFA20014 */ sw $v0, 0x14($sp)
/* 173A10 8024AFF0 24020003 */ addiu $v0, $zero, 0x3
/* 173A14 8024AFF4 AFA00010 */ sw $zero, 0x10($sp)
/* 173A18 8024AFF8 AFA20018 */ sw $v0, 0x18($sp)
/* 173A1C 8024AFFC 02659821 */ addu $s3, $s3, $a1
/* 173A20 8024B000 24840001 */ addiu $a0, $a0, 0x1
/* 173A24 8024B004 0C04986F */ jal draw_number
/* 173A28 8024B008 02932821 */ addu $a1, $s4, $s3
/* 173A2C 8024B00C 8E020000 */ lw $v0, 0x0($s0)
/* 173A30 8024B010 3C018025 */ lui $at, %hi(D_filemenu_8025092C)
/* 173A34 8024B014 00220821 */ addu $at, $at, $v0
/* 173A38 8024B018 9022092C */ lbu $v0, %lo(D_filemenu_8025092C)($at)
/* 173A3C 8024B01C 08092CBA */ j .Lfilemenu_8024B2E8
/* 173A40 8024B020 24040022 */ addiu $a0, $zero, 0x22
.Lfilemenu_8024B024:
/* 173A44 8024B024 0C093A16 */ jal filemenu_get_menu_message
/* 173A48 8024B028 2404001B */ addiu $a0, $zero, 0x1B
/* 173A4C 8024B02C 0040202D */ daddu $a0, $v0, $zero
/* 173A50 8024B030 2692000A */ addiu $s2, $s4, 0xA
/* 173A54 8024B034 0240282D */ daddu $a1, $s2, $zero
/* 173A58 8024B038 26B10004 */ addiu $s1, $s5, 0x4
/* 173A5C 8024B03C 0220302D */ daddu $a2, $s1, $zero
/* 173A60 8024B040 240700FF */ addiu $a3, $zero, 0xFF
/* 173A64 8024B044 AFA00010 */ sw $zero, 0x10($sp)
/* 173A68 8024B048 0C0939C7 */ jal filemenu_draw_message
/* 173A6C 8024B04C AFA00014 */ sw $zero, 0x14($sp)
/* 173A70 8024B050 3C108015 */ lui $s0, %hi(gCurrentLanguage)
/* 173A74 8024B054 2610AE4C */ addiu $s0, $s0, %lo(gCurrentLanguage)
/* 173A78 8024B058 8E020000 */ lw $v0, 0x0($s0)
/* 173A7C 8024B05C 3C018025 */ lui $at, %hi(D_filemenu_80250934)
/* 173A80 8024B060 00220821 */ addu $at, $at, $v0
/* 173A84 8024B064 90220934 */ lbu $v0, %lo(D_filemenu_80250934)($at)
/* 173A88 8024B068 24040013 */ addiu $a0, $zero, 0x13
/* 173A8C 8024B06C 0C093A16 */ jal filemenu_get_menu_message
/* 173A90 8024B070 2453000A */ addiu $s3, $v0, 0xA
/* 173A94 8024B074 0040202D */ daddu $a0, $v0, $zero
/* 173A98 8024B078 02932821 */ addu $a1, $s4, $s3
/* 173A9C 8024B07C 0220302D */ daddu $a2, $s1, $zero
/* 173AA0 8024B080 240700FF */ addiu $a3, $zero, 0xFF
/* 173AA4 8024B084 AFA00010 */ sw $zero, 0x10($sp)
/* 173AA8 8024B088 0C0939C7 */ jal filemenu_draw_message
/* 173AAC 8024B08C AFA00014 */ sw $zero, 0x14($sp)
/* 173AB0 8024B090 26A60006 */ addiu $a2, $s5, 0x6
/* 173AB4 8024B094 0000382D */ daddu $a3, $zero, $zero
/* 173AB8 8024B098 8E020000 */ lw $v0, 0x0($s0)
/* 173ABC 8024B09C 3C038025 */ lui $v1, %hi(filemenu_menus)
/* 173AC0 8024B0A0 8C63E984 */ lw $v1, %lo(filemenu_menus)($v1)
/* 173AC4 8024B0A4 3C058025 */ lui $a1, %hi(D_filemenu_802508FC)
/* 173AC8 8024B0A8 00A22821 */ addu $a1, $a1, $v0
/* 173ACC 8024B0AC 90A508FC */ lbu $a1, %lo(D_filemenu_802508FC)($a1)
/* 173AD0 8024B0B0 90640003 */ lbu $a0, 0x3($v1)
/* 173AD4 8024B0B4 240200FF */ addiu $v0, $zero, 0xFF
/* 173AD8 8024B0B8 AFA20014 */ sw $v0, 0x14($sp)
/* 173ADC 8024B0BC 24020003 */ addiu $v0, $zero, 0x3
/* 173AE0 8024B0C0 AFA00010 */ sw $zero, 0x10($sp)
/* 173AE4 8024B0C4 AFA20018 */ sw $v0, 0x18($sp)
/* 173AE8 8024B0C8 02659821 */ addu $s3, $s3, $a1
/* 173AEC 8024B0CC 24840001 */ addiu $a0, $a0, 0x1
/* 173AF0 8024B0D0 0C04986F */ jal draw_number
/* 173AF4 8024B0D4 02932821 */ addu $a1, $s4, $s3
/* 173AF8 8024B0D8 26730001 */ addiu $s3, $s3, 0x1
/* 173AFC 8024B0DC 0C093A16 */ jal filemenu_get_menu_message
/* 173B00 8024B0E0 24040015 */ addiu $a0, $zero, 0x15
/* 173B04 8024B0E4 0040202D */ daddu $a0, $v0, $zero
/* 173B08 8024B0E8 02932821 */ addu $a1, $s4, $s3
/* 173B0C 8024B0EC 0220302D */ daddu $a2, $s1, $zero
/* 173B10 8024B0F0 240700FF */ addiu $a3, $zero, 0xFF
/* 173B14 8024B0F4 AFA00010 */ sw $zero, 0x10($sp)
/* 173B18 8024B0F8 0C0939C7 */ jal filemenu_draw_message
/* 173B1C 8024B0FC AFA00014 */ sw $zero, 0x14($sp)
/* 173B20 8024B100 0C093A16 */ jal filemenu_get_menu_message
/* 173B24 8024B104 24040016 */ addiu $a0, $zero, 0x16
/* 173B28 8024B108 0040202D */ daddu $a0, $v0, $zero
/* 173B2C 8024B10C 0240282D */ daddu $a1, $s2, $zero
/* 173B30 8024B110 08092CBF */ j .Lfilemenu_8024B2FC
/* 173B34 8024B114 26A60012 */ addiu $a2, $s5, 0x12
.Lfilemenu_8024B118:
/* 173B38 8024B118 0C093A16 */ jal filemenu_get_menu_message
/* 173B3C 8024B11C 24040010 */ addiu $a0, $zero, 0x10
/* 173B40 8024B120 0040202D */ daddu $a0, $v0, $zero
/* 173B44 8024B124 2685000A */ addiu $a1, $s4, 0xA
/* 173B48 8024B128 26A60006 */ addiu $a2, $s5, 0x6
/* 173B4C 8024B12C 240700FF */ addiu $a3, $zero, 0xFF
/* 173B50 8024B130 AFA00010 */ sw $zero, 0x10($sp)
/* 173B54 8024B134 0C0939C7 */ jal filemenu_draw_message
/* 173B58 8024B138 AFA00014 */ sw $zero, 0x14($sp)
/* 173B5C 8024B13C 24060007 */ addiu $a2, $zero, 0x7
/* 173B60 8024B140 3C048025 */ lui $a0, %hi(filemenu_filename)
/* 173B64 8024B144 248427E0 */ addiu $a0, $a0, %lo(filemenu_filename)
/* 173B68 8024B148 240300F7 */ addiu $v1, $zero, 0xF7
/* 173B6C 8024B14C 00C41021 */ addu $v0, $a2, $a0
.Lfilemenu_8024B150:
/* 173B70 8024B150 90420000 */ lbu $v0, 0x0($v0)
/* 173B74 8024B154 14430005 */ bne $v0, $v1, .Lfilemenu_8024B16C
/* 173B78 8024B158 24D00001 */ addiu $s0, $a2, 0x1
/* 173B7C 8024B15C 24C6FFFF */ addiu $a2, $a2, -0x1
/* 173B80 8024B160 04C1FFFB */ bgez $a2, .Lfilemenu_8024B150
/* 173B84 8024B164 00C41021 */ addu $v0, $a2, $a0
/* 173B88 8024B168 24D00001 */ addiu $s0, $a2, 0x1
.Lfilemenu_8024B16C:
/* 173B8C 8024B16C 0200282D */ daddu $a1, $s0, $zero
/* 173B90 8024B170 26B10016 */ addiu $s1, $s5, 0x16
/* 173B94 8024B174 3C028015 */ lui $v0, %hi(gCurrentLanguage)
/* 173B98 8024B178 8C42AE4C */ lw $v0, %lo(gCurrentLanguage)($v0)
/* 173B9C 8024B17C 0220382D */ daddu $a3, $s1, $zero
/* 173BA0 8024B180 3C038025 */ lui $v1, %hi(D_filemenu_80250960)
/* 173BA4 8024B184 00621821 */ addu $v1, $v1, $v0
/* 173BA8 8024B188 90630960 */ lbu $v1, %lo(D_filemenu_80250960)($v1)
/* 173BAC 8024B18C 240200FF */ addiu $v0, $zero, 0xFF
/* 173BB0 8024B190 AFA20010 */ sw $v0, 0x10($sp)
/* 173BB4 8024B194 24020008 */ addiu $v0, $zero, 0x8
/* 173BB8 8024B198 AFA20018 */ sw $v0, 0x18($sp)
/* 173BBC 8024B19C 2402000B */ addiu $v0, $zero, 0xB
/* 173BC0 8024B1A0 AFA2001C */ sw $v0, 0x1C($sp)
/* 173BC4 8024B1A4 00061040 */ sll $v0, $a2, 1
/* 173BC8 8024B1A8 00461021 */ addu $v0, $v0, $a2
/* 173BCC 8024B1AC 00021080 */ sll $v0, $v0, 2
/* 173BD0 8024B1B0 00461023 */ subu $v0, $v0, $a2
/* 173BD4 8024B1B4 24420011 */ addiu $v0, $v0, 0x11
/* 173BD8 8024B1B8 AFA00014 */ sw $zero, 0x14($sp)
/* 173BDC 8024B1BC 00621823 */ subu $v1, $v1, $v0
/* 173BE0 8024B1C0 000317C2 */ srl $v0, $v1, 31
/* 173BE4 8024B1C4 00621821 */ addu $v1, $v1, $v0
/* 173BE8 8024B1C8 00039843 */ sra $s3, $v1, 1
/* 173BEC 8024B1CC 0C093A20 */ jal filemenu_draw_file_name
/* 173BF0 8024B1D0 02933021 */ addu $a2, $s4, $s3
/* 173BF4 8024B1D4 00101040 */ sll $v0, $s0, 1
/* 173BF8 8024B1D8 00501021 */ addu $v0, $v0, $s0
/* 173BFC 8024B1DC 00021080 */ sll $v0, $v0, 2
/* 173C00 8024B1E0 00501023 */ subu $v0, $v0, $s0
/* 173C04 8024B1E4 02629821 */ addu $s3, $s3, $v0
/* 173C08 8024B1E8 0C093A16 */ jal filemenu_get_menu_message
/* 173C0C 8024B1EC 24040011 */ addiu $a0, $zero, 0x11
/* 173C10 8024B1F0 0040202D */ daddu $a0, $v0, $zero
/* 173C14 8024B1F4 02932821 */ addu $a1, $s4, $s3
/* 173C18 8024B1F8 0220302D */ daddu $a2, $s1, $zero
/* 173C1C 8024B1FC 240700FF */ addiu $a3, $zero, 0xFF
/* 173C20 8024B200 AFA00010 */ sw $zero, 0x10($sp)
/* 173C24 8024B204 0C0939C7 */ jal filemenu_draw_message
/* 173C28 8024B208 AFA00014 */ sw $zero, 0x14($sp)
/* 173C2C 8024B20C 0C093A16 */ jal filemenu_get_menu_message
/* 173C30 8024B210 24040012 */ addiu $a0, $zero, 0x12
/* 173C34 8024B214 0040202D */ daddu $a0, $v0, $zero
/* 173C38 8024B218 26850046 */ addiu $a1, $s4, 0x46
/* 173C3C 8024B21C 08092CBF */ j .Lfilemenu_8024B2FC
/* 173C40 8024B220 26A60026 */ addiu $a2, $s5, 0x26
.Lfilemenu_8024B224:
/* 173C44 8024B224 0C093A16 */ jal filemenu_get_menu_message
/* 173C48 8024B228 24040017 */ addiu $a0, $zero, 0x17
/* 173C4C 8024B22C 0040202D */ daddu $a0, $v0, $zero
/* 173C50 8024B230 2685000A */ addiu $a1, $s4, 0xA
/* 173C54 8024B234 26B10004 */ addiu $s1, $s5, 0x4
/* 173C58 8024B238 0220302D */ daddu $a2, $s1, $zero
/* 173C5C 8024B23C 240700FF */ addiu $a3, $zero, 0xFF
/* 173C60 8024B240 AFA00010 */ sw $zero, 0x10($sp)
/* 173C64 8024B244 0C0939C7 */ jal filemenu_draw_message
/* 173C68 8024B248 AFA00014 */ sw $zero, 0x14($sp)
/* 173C6C 8024B24C 3C128015 */ lui $s2, %hi(gCurrentLanguage)
/* 173C70 8024B250 2652AE4C */ addiu $s2, $s2, %lo(gCurrentLanguage)
/* 173C74 8024B254 8E420000 */ lw $v0, 0x0($s2)
/* 173C78 8024B258 1050002C */ beq $v0, $s0, .Lfilemenu_8024B30C
/* 173C7C 8024B25C 24040013 */ addiu $a0, $zero, 0x13
/* 173C80 8024B260 3C018025 */ lui $at, %hi(D_filemenu_80250908)
/* 173C84 8024B264 00220821 */ addu $at, $at, $v0
/* 173C88 8024B268 90220908 */ lbu $v0, %lo(D_filemenu_80250908)($at)
/* 173C8C 8024B26C 0C093A16 */ jal filemenu_get_menu_message
/* 173C90 8024B270 2453000A */ addiu $s3, $v0, 0xA
/* 173C94 8024B274 0040202D */ daddu $a0, $v0, $zero
/* 173C98 8024B278 02932821 */ addu $a1, $s4, $s3
/* 173C9C 8024B27C 0220302D */ daddu $a2, $s1, $zero
/* 173CA0 8024B280 240700FF */ addiu $a3, $zero, 0xFF
/* 173CA4 8024B284 AFA00010 */ sw $zero, 0x10($sp)
/* 173CA8 8024B288 0C0939C7 */ jal filemenu_draw_message
/* 173CAC 8024B28C AFA00014 */ sw $zero, 0x14($sp)
/* 173CB0 8024B290 26A60006 */ addiu $a2, $s5, 0x6
/* 173CB4 8024B294 0000382D */ daddu $a3, $zero, $zero
/* 173CB8 8024B298 8E420000 */ lw $v0, 0x0($s2)
/* 173CBC 8024B29C 3C038025 */ lui $v1, %hi(filemenu_menus)
/* 173CC0 8024B2A0 8C63E984 */ lw $v1, %lo(filemenu_menus)($v1)
/* 173CC4 8024B2A4 3C058025 */ lui $a1, %hi(D_filemenu_802508F8)
/* 173CC8 8024B2A8 00A22821 */ addu $a1, $a1, $v0
/* 173CCC 8024B2AC 90A508F8 */ lbu $a1, %lo(D_filemenu_802508F8)($a1)
/* 173CD0 8024B2B0 90640003 */ lbu $a0, 0x3($v1)
/* 173CD4 8024B2B4 240200FF */ addiu $v0, $zero, 0xFF
/* 173CD8 8024B2B8 AFA00010 */ sw $zero, 0x10($sp)
/* 173CDC 8024B2BC AFA20014 */ sw $v0, 0x14($sp)
/* 173CE0 8024B2C0 AFB00018 */ sw $s0, 0x18($sp)
/* 173CE4 8024B2C4 02659821 */ addu $s3, $s3, $a1
/* 173CE8 8024B2C8 24840001 */ addiu $a0, $a0, 0x1
/* 173CEC 8024B2CC 0C04986F */ jal draw_number
/* 173CF0 8024B2D0 02932821 */ addu $a1, $s4, $s3
/* 173CF4 8024B2D4 8E420000 */ lw $v0, 0x0($s2)
/* 173CF8 8024B2D8 3C018025 */ lui $at, %hi(D_filemenu_8025090C)
/* 173CFC 8024B2DC 00220821 */ addu $at, $at, $v0
/* 173D00 8024B2E0 8022090C */ lb $v0, %lo(D_filemenu_8025090C)($at)
/* 173D04 8024B2E4 24040018 */ addiu $a0, $zero, 0x18
.Lfilemenu_8024B2E8:
/* 173D08 8024B2E8 0C093A16 */ jal filemenu_get_menu_message
/* 173D0C 8024B2EC 02629821 */ addu $s3, $s3, $v0
/* 173D10 8024B2F0 0040202D */ daddu $a0, $v0, $zero
/* 173D14 8024B2F4 02932821 */ addu $a1, $s4, $s3
/* 173D18 8024B2F8 0220302D */ daddu $a2, $s1, $zero
.Lfilemenu_8024B2FC:
/* 173D1C 8024B2FC 240700FF */ addiu $a3, $zero, 0xFF
/* 173D20 8024B300 AFA00010 */ sw $zero, 0x10($sp)
/* 173D24 8024B304 0C0939C7 */ jal filemenu_draw_message
/* 173D28 8024B308 AFA00014 */ sw $zero, 0x14($sp)
.Lfilemenu_8024B30C:
/* 173D2C 8024B30C 8FBF0038 */ lw $ra, 0x38($sp)
/* 173D30 8024B310 8FB50034 */ lw $s5, 0x34($sp)
/* 173D34 8024B314 8FB40030 */ lw $s4, 0x30($sp)
/* 173D38 8024B318 8FB3002C */ lw $s3, 0x2C($sp)
/* 173D3C 8024B31C 8FB20028 */ lw $s2, 0x28($sp)
/* 173D40 8024B320 8FB10024 */ lw $s1, 0x24($sp)
/* 173D44 8024B324 8FB00020 */ lw $s0, 0x20($sp)
/* 173D48 8024B328 03E00008 */ jr $ra
/* 173D4C 8024B32C 27BD0040 */ addiu $sp, $sp, 0x40

View File

@ -0,0 +1,712 @@
.set noat /* allow manual use of $at */
.set noreorder /* don't insert nops after branches */
/* Generated by spimdisasm 1.11.1 */
glabel filemenu_yesno_handle_input
/* 173DA4 8024B384 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 173DA8 8024B388 AFB20018 */ sw $s2, 0x18($sp)
/* 173DAC 8024B38C 0080902D */ daddu $s2, $a0, $zero
/* 173DB0 8024B390 3C028025 */ lui $v0, %hi(filemenu_heldButtons)
/* 173DB4 8024B394 8C42174C */ lw $v0, %lo(filemenu_heldButtons)($v0)
/* 173DB8 8024B398 3C030001 */ lui $v1, (0x10000 >> 16)
/* 173DBC 8024B39C AFBF001C */ sw $ra, 0x1C($sp)
/* 173DC0 8024B3A0 AFB10014 */ sw $s1, 0x14($sp)
/* 173DC4 8024B3A4 AFB00010 */ sw $s0, 0x10($sp)
/* 173DC8 8024B3A8 92450003 */ lbu $a1, 0x3($s2)
/* 173DCC 8024B3AC 00431024 */ and $v0, $v0, $v1
/* 173DD0 8024B3B0 10400007 */ beqz $v0, .Lfilemenu_8024B3D0
/* 173DD4 8024B3B4 00000000 */ nop
/* 173DD8 8024B3B8 92420002 */ lbu $v0, 0x2($s2)
/* 173DDC 8024B3BC 2442FFFF */ addiu $v0, $v0, -0x1
/* 173DE0 8024B3C0 A2420002 */ sb $v0, 0x2($s2)
/* 173DE4 8024B3C4 00021600 */ sll $v0, $v0, 24
/* 173DE8 8024B3C8 04420001 */ bltzl $v0, .Lfilemenu_8024B3D0
/* 173DEC 8024B3CC A2400002 */ sb $zero, 0x2($s2)
.Lfilemenu_8024B3D0:
/* 173DF0 8024B3D0 3C028025 */ lui $v0, %hi(filemenu_heldButtons)
/* 173DF4 8024B3D4 8C42174C */ lw $v0, %lo(filemenu_heldButtons)($v0)
/* 173DF8 8024B3D8 3C030002 */ lui $v1, (0x20000 >> 16)
/* 173DFC 8024B3DC 00431024 */ and $v0, $v0, $v1
/* 173E00 8024B3E0 1040000C */ beqz $v0, .Lfilemenu_8024B414
/* 173E04 8024B3E4 00000000 */ nop
/* 173E08 8024B3E8 92420002 */ lbu $v0, 0x2($s2)
/* 173E0C 8024B3EC 82430006 */ lb $v1, 0x6($s2)
/* 173E10 8024B3F0 24420001 */ addiu $v0, $v0, 0x1
/* 173E14 8024B3F4 A2420002 */ sb $v0, 0x2($s2)
/* 173E18 8024B3F8 00021600 */ sll $v0, $v0, 24
/* 173E1C 8024B3FC 00021603 */ sra $v0, $v0, 24
/* 173E20 8024B400 0043102A */ slt $v0, $v0, $v1
/* 173E24 8024B404 92430006 */ lbu $v1, 0x6($s2)
/* 173E28 8024B408 14400002 */ bnez $v0, .Lfilemenu_8024B414
/* 173E2C 8024B40C 2462FFFF */ addiu $v0, $v1, -0x1
/* 173E30 8024B410 A2420002 */ sb $v0, 0x2($s2)
.Lfilemenu_8024B414:
/* 173E34 8024B414 82420004 */ lb $v0, 0x4($s2)
/* 173E38 8024B418 82430005 */ lb $v1, 0x5($s2)
/* 173E3C 8024B41C 00430018 */ mult $v0, $v1
/* 173E40 8024B420 00003812 */ mflo $a3
/* 173E44 8024B424 82420006 */ lb $v0, 0x6($s2)
/* 173E48 8024B428 00000000 */ nop
/* 173E4C 8024B42C 00E20018 */ mult $a3, $v0
/* 173E50 8024B430 00002012 */ mflo $a0
/* 173E54 8024B434 82420002 */ lb $v0, 0x2($s2)
/* 173E58 8024B438 00000000 */ nop
/* 173E5C 8024B43C 00620018 */ mult $v1, $v0
/* 173E60 8024B440 00001812 */ mflo $v1
/* 173E64 8024B444 00831821 */ addu $v1, $a0, $v1
/* 173E68 8024B448 82440001 */ lb $a0, 0x1($s2)
/* 173E6C 8024B44C 8E420008 */ lw $v0, 0x8($s2)
/* 173E70 8024B450 00641821 */ addu $v1, $v1, $a0
/* 173E74 8024B454 00431021 */ addu $v0, $v0, $v1
/* 173E78 8024B458 90420000 */ lbu $v0, 0x0($v0)
/* 173E7C 8024B45C A2420003 */ sb $v0, 0x3($s2)
/* 173E80 8024B460 304200FF */ andi $v0, $v0, 0xFF
/* 173E84 8024B464 10A20003 */ beq $a1, $v0, .Lfilemenu_8024B474
/* 173E88 8024B468 00000000 */ nop
/* 173E8C 8024B46C 0C052219 */ jal sfx_play_sound
/* 173E90 8024B470 240400C7 */ addiu $a0, $zero, 0xC7
.Lfilemenu_8024B474:
/* 173E94 8024B474 3C108025 */ lui $s0, %hi(filemenu_pressedButtons)
/* 173E98 8024B478 26101744 */ addiu $s0, $s0, %lo(filemenu_pressedButtons)
/* 173E9C 8024B47C 8E020000 */ lw $v0, 0x0($s0)
/* 173EA0 8024B480 30421000 */ andi $v0, $v0, 0x1000
/* 173EA4 8024B484 10400009 */ beqz $v0, .Lfilemenu_8024B4AC
/* 173EA8 8024B488 24020003 */ addiu $v0, $zero, 0x3
/* 173EAC 8024B48C 82430004 */ lb $v1, 0x4($s2)
/* 173EB0 8024B490 14620006 */ bne $v1, $v0, .Lfilemenu_8024B4AC
/* 173EB4 8024B494 0240202D */ daddu $a0, $s2, $zero
/* 173EB8 8024B498 0000282D */ daddu $a1, $zero, $zero
/* 173EBC 8024B49C 0C091B29 */ jal filemenu_set_selected
/* 173EC0 8024B4A0 00A0302D */ daddu $a2, $a1, $zero
/* 173EC4 8024B4A4 34028000 */ ori $v0, $zero, 0x8000
/* 173EC8 8024B4A8 AE020000 */ sw $v0, 0x0($s0)
.Lfilemenu_8024B4AC:
/* 173ECC 8024B4AC 3C028025 */ lui $v0, %hi(filemenu_pressedButtons)
/* 173ED0 8024B4B0 8C421744 */ lw $v0, %lo(filemenu_pressedButtons)($v0)
/* 173ED4 8024B4B4 30428000 */ andi $v0, $v0, 0x8000
/* 173ED8 8024B4B8 104001F0 */ beqz $v0, .Lfilemenu_8024BC7C
/* 173EDC 8024B4BC 00000000 */ nop
/* 173EE0 8024B4C0 0C052219 */ jal sfx_play_sound
/* 173EE4 8024B4C4 240400C9 */ addiu $a0, $zero, 0xC9
/* 173EE8 8024B4C8 92440003 */ lbu $a0, 0x3($s2)
/* 173EEC 8024B4CC 10800005 */ beqz $a0, .Lfilemenu_8024B4E4
/* 173EF0 8024B4D0 24020001 */ addiu $v0, $zero, 0x1
/* 173EF4 8024B4D4 1082019E */ beq $a0, $v0, .Lfilemenu_8024BB50
/* 173EF8 8024B4D8 00000000 */ nop
/* 173EFC 8024B4DC 08092F1F */ j .Lfilemenu_8024BC7C
/* 173F00 8024B4E0 00000000 */ nop
.Lfilemenu_8024B4E4:
/* 173F04 8024B4E4 82430004 */ lb $v1, 0x4($s2)
/* 173F08 8024B4E8 24040001 */ addiu $a0, $zero, 0x1
/* 173F0C 8024B4EC 106400D9 */ beq $v1, $a0, .Lfilemenu_8024B854
/* 173F10 8024B4F0 28620002 */ slti $v0, $v1, 0x2
/* 173F14 8024B4F4 10400005 */ beqz $v0, .Lfilemenu_8024B50C
/* 173F18 8024B4F8 24020002 */ addiu $v0, $zero, 0x2
/* 173F1C 8024B4FC 10600009 */ beqz $v1, .Lfilemenu_8024B524
/* 173F20 8024B500 24020002 */ addiu $v0, $zero, 0x2
/* 173F24 8024B504 08092F1F */ j .Lfilemenu_8024BC7C
/* 173F28 8024B508 00000000 */ nop
.Lfilemenu_8024B50C:
/* 173F2C 8024B50C 10620067 */ beq $v1, $v0, .Lfilemenu_8024B6AC
/* 173F30 8024B510 24020003 */ addiu $v0, $zero, 0x3
/* 173F34 8024B514 10620166 */ beq $v1, $v0, .Lfilemenu_8024BAB0
/* 173F38 8024B518 00000000 */ nop
/* 173F3C 8024B51C 08092F1F */ j .Lfilemenu_8024BC7C
/* 173F40 8024B520 00000000 */ nop
.Lfilemenu_8024B524:
/* 173F44 8024B524 3C038025 */ lui $v1, %hi(filemenu_menus+0x8)
/* 173F48 8024B528 8C63E98C */ lw $v1, %lo(filemenu_menus+0x8)($v1)
/* 173F4C 8024B52C 3C048016 */ lui $a0, %hi(gWindows)
/* 173F50 8024B530 24848910 */ addiu $a0, $a0, %lo(gWindows)
/* 173F54 8024B534 3C018025 */ lui $at, %hi(filemenu_currentMenu)
/* 173F58 8024B538 A0221758 */ sb $v0, %lo(filemenu_currentMenu)($at)
/* 173F5C 8024B53C A0600004 */ sb $zero, 0x4($v1)
/* 173F60 8024B540 3C028015 */ lui $v0, %hi(gCurrentLanguage)
/* 173F64 8024B544 8C42AE4C */ lw $v0, %lo(gCurrentLanguage)($v0)
/* 173F68 8024B548 3C038025 */ lui $v1, %hi(D_filemenu_80250930)
/* 173F6C 8024B54C 00621821 */ addu $v1, $v1, $v0
/* 173F70 8024B550 90630930 */ lbu $v1, %lo(D_filemenu_80250930)($v1)
/* 173F74 8024B554 24020019 */ addiu $v0, $zero, 0x19
/* 173F78 8024B558 A48205F2 */ sh $v0, 0x5F2($a0)
/* 173F7C 8024B55C 00032842 */ srl $a1, $v1, 1
/* 173F80 8024B560 A48305F0 */ sh $v1, 0x5F0($a0)
/* 173F84 8024B564 808305E3 */ lb $v1, 0x5E3($a0)
/* 173F88 8024B568 2402FFFF */ addiu $v0, $zero, -0x1
/* 173F8C 8024B56C 1062000B */ beq $v1, $v0, .Lfilemenu_8024B59C
/* 173F90 8024B570 248605EC */ addiu $a2, $a0, 0x5EC
/* 173F94 8024B574 00031140 */ sll $v0, $v1, 5
/* 173F98 8024B578 00441021 */ addu $v0, $v0, $a0
/* 173F9C 8024B57C 94420010 */ lhu $v0, 0x10($v0)
/* 173FA0 8024B580 00021400 */ sll $v0, $v0, 16
/* 173FA4 8024B584 00021C03 */ sra $v1, $v0, 16
/* 173FA8 8024B588 000217C2 */ srl $v0, $v0, 31
/* 173FAC 8024B58C 00621821 */ addu $v1, $v1, $v0
/* 173FB0 8024B590 00031843 */ sra $v1, $v1, 1
/* 173FB4 8024B594 08092D6B */ j .Lfilemenu_8024B5AC
/* 173FB8 8024B598 00651023 */ subu $v0, $v1, $a1
.Lfilemenu_8024B59C:
/* 173FBC 8024B59C 240200A0 */ addiu $v0, $zero, 0xA0
/* 173FC0 8024B5A0 00451023 */ subu $v0, $v0, $a1
/* 173FC4 8024B5A4 3C048016 */ lui $a0, %hi(gWindows)
/* 173FC8 8024B5A8 24848910 */ addiu $a0, $a0, %lo(gWindows)
.Lfilemenu_8024B5AC:
/* 173FCC 8024B5AC A4C20000 */ sh $v0, 0x0($a2)
/* 173FD0 8024B5B0 948205F2 */ lhu $v0, 0x5F2($a0)
/* 173FD4 8024B5B4 00021400 */ sll $v0, $v0, 16
/* 173FD8 8024B5B8 00021C03 */ sra $v1, $v0, 16
/* 173FDC 8024B5BC 000217C2 */ srl $v0, $v0, 31
/* 173FE0 8024B5C0 00621821 */ addu $v1, $v1, $v0
/* 173FE4 8024B5C4 00032843 */ sra $a1, $v1, 1
/* 173FE8 8024B5C8 808305E3 */ lb $v1, 0x5E3($a0)
/* 173FEC 8024B5CC 2402FFFF */ addiu $v0, $zero, -0x1
/* 173FF0 8024B5D0 1062000B */ beq $v1, $v0, .Lfilemenu_8024B600
/* 173FF4 8024B5D4 248605EE */ addiu $a2, $a0, 0x5EE
/* 173FF8 8024B5D8 00031140 */ sll $v0, $v1, 5
/* 173FFC 8024B5DC 00441021 */ addu $v0, $v0, $a0
/* 174000 8024B5E0 94420012 */ lhu $v0, 0x12($v0)
/* 174004 8024B5E4 00021400 */ sll $v0, $v0, 16
/* 174008 8024B5E8 00021C03 */ sra $v1, $v0, 16
/* 17400C 8024B5EC 000217C2 */ srl $v0, $v0, 31
/* 174010 8024B5F0 00621821 */ addu $v1, $v1, $v0
/* 174014 8024B5F4 00031843 */ sra $v1, $v1, 1
/* 174018 8024B5F8 08092D82 */ j .Lfilemenu_8024B608
/* 17401C 8024B5FC 00651023 */ subu $v0, $v1, $a1
.Lfilemenu_8024B600:
/* 174020 8024B600 24020078 */ addiu $v0, $zero, 0x78
/* 174024 8024B604 00451023 */ subu $v0, $v0, $a1
.Lfilemenu_8024B608:
/* 174028 8024B608 2404002F */ addiu $a0, $zero, 0x2F
/* 17402C 8024B60C 24050001 */ addiu $a1, $zero, 0x1
/* 174030 8024B610 0C051A8B */ jal set_window_update
/* 174034 8024B614 A4C20000 */ sh $v0, 0x0($a2)
/* 174038 8024B618 3C058024 */ lui $a1, %hi(filemenu_update_hidden_name_confirm)
/* 17403C 8024B61C 24A57DFC */ addiu $a1, $a1, %lo(filemenu_update_hidden_name_confirm)
/* 174040 8024B620 0C051A8B */ jal set_window_update
/* 174044 8024B624 24040032 */ addiu $a0, $zero, 0x32
/* 174048 8024B628 0000202D */ daddu $a0, $zero, $zero
/* 17404C 8024B62C 3C028025 */ lui $v0, %hi(filemenu_menus)
/* 174050 8024B630 8C42E984 */ lw $v0, %lo(filemenu_menus)($v0)
/* 174054 8024B634 3C068007 */ lui $a2, %hi(gSaveSlotMetadata)
/* 174058 8024B638 24C63D14 */ addiu $a2, $a2, %lo(gSaveSlotMetadata)
/* 17405C 8024B63C 90500003 */ lbu $s0, 0x3($v0)
/* 174060 8024B640 240500F7 */ addiu $a1, $zero, 0xF7
/* 174064 8024B644 00101040 */ sll $v0, $s0, 1
/* 174068 8024B648 00501021 */ addu $v0, $v0, $s0
/* 17406C 8024B64C 000218C0 */ sll $v1, $v0, 3
/* 174070 8024B650 00831021 */ addu $v0, $a0, $v1
.Lfilemenu_8024B654:
/* 174074 8024B654 00461021 */ addu $v0, $v0, $a2
/* 174078 8024B658 A0450007 */ sb $a1, 0x7($v0)
/* 17407C 8024B65C 24840001 */ addiu $a0, $a0, 0x1
/* 174080 8024B660 28820008 */ slti $v0, $a0, 0x8
/* 174084 8024B664 1440FFFB */ bnez $v0, .Lfilemenu_8024B654
/* 174088 8024B668 00831021 */ addu $v0, $a0, $v1
/* 17408C 8024B66C 0200202D */ daddu $a0, $s0, $zero
/* 174090 8024B670 3C038007 */ lui $v1, %hi(gSaveSlotMetadata)
/* 174094 8024B674 24633D14 */ addiu $v1, $v1, %lo(gSaveSlotMetadata)
/* 174098 8024B678 00101040 */ sll $v0, $s0, 1
/* 17409C 8024B67C 00501021 */ addu $v0, $v0, $s0
/* 1740A0 8024B680 000210C0 */ sll $v0, $v0, 3
/* 1740A4 8024B684 00431021 */ addu $v0, $v0, $v1
/* 1740A8 8024B688 A0400006 */ sb $zero, 0x6($v0)
/* 1740AC 8024B68C AC400000 */ sw $zero, 0x0($v0)
/* 1740B0 8024B690 0C00AD44 */ jal fio_erase_game
/* 1740B4 8024B694 A0400004 */ sb $zero, 0x4($v0)
/* 1740B8 8024B698 3C018007 */ lui $at, %hi(gSaveSlotHasData)
/* 1740BC 8024B69C 00300821 */ addu $at, $at, $s0
/* 1740C0 8024B6A0 A0203D74 */ sb $zero, %lo(gSaveSlotHasData)($at)
/* 1740C4 8024B6A4 08092F1F */ j .Lfilemenu_8024BC7C
/* 1740C8 8024B6A8 00000000 */ nop
.Lfilemenu_8024B6AC:
/* 1740CC 8024B6AC 3C028025 */ lui $v0, %hi(filemenu_menus+0x8)
/* 1740D0 8024B6B0 8C42E98C */ lw $v0, %lo(filemenu_menus+0x8)($v0)
/* 1740D4 8024B6B4 3C018025 */ lui $at, %hi(filemenu_currentMenu)
/* 1740D8 8024B6B8 A0231758 */ sb $v1, %lo(filemenu_currentMenu)($at)
/* 1740DC 8024B6BC A0440004 */ sb $a0, 0x4($v0)
/* 1740E0 8024B6C0 3C048016 */ lui $a0, %hi(gWindows)
/* 1740E4 8024B6C4 24848910 */ addiu $a0, $a0, %lo(gWindows)
/* 1740E8 8024B6C8 3C028015 */ lui $v0, %hi(gCurrentLanguage)
/* 1740EC 8024B6CC 8C42AE4C */ lw $v0, %lo(gCurrentLanguage)($v0)
/* 1740F0 8024B6D0 3C038025 */ lui $v1, %hi(D_filemenu_80250954)
/* 1740F4 8024B6D4 00621821 */ addu $v1, $v1, $v0
/* 1740F8 8024B6D8 90630954 */ lbu $v1, %lo(D_filemenu_80250954)($v1)
/* 1740FC 8024B6DC 24020027 */ addiu $v0, $zero, 0x27
/* 174100 8024B6E0 A48205F2 */ sh $v0, 0x5F2($a0)
/* 174104 8024B6E4 00032842 */ srl $a1, $v1, 1
/* 174108 8024B6E8 A48305F0 */ sh $v1, 0x5F0($a0)
/* 17410C 8024B6EC 808305E3 */ lb $v1, 0x5E3($a0)
/* 174110 8024B6F0 2402FFFF */ addiu $v0, $zero, -0x1
/* 174114 8024B6F4 1062000B */ beq $v1, $v0, .Lfilemenu_8024B724
/* 174118 8024B6F8 248605EC */ addiu $a2, $a0, 0x5EC
/* 17411C 8024B6FC 00031140 */ sll $v0, $v1, 5
/* 174120 8024B700 00441021 */ addu $v0, $v0, $a0
/* 174124 8024B704 94420010 */ lhu $v0, 0x10($v0)
/* 174128 8024B708 00021400 */ sll $v0, $v0, 16
/* 17412C 8024B70C 00021C03 */ sra $v1, $v0, 16
/* 174130 8024B710 000217C2 */ srl $v0, $v0, 31
/* 174134 8024B714 00621821 */ addu $v1, $v1, $v0
/* 174138 8024B718 00031843 */ sra $v1, $v1, 1
/* 17413C 8024B71C 08092DCD */ j .Lfilemenu_8024B734
/* 174140 8024B720 00651023 */ subu $v0, $v1, $a1
.Lfilemenu_8024B724:
/* 174144 8024B724 240200A0 */ addiu $v0, $zero, 0xA0
/* 174148 8024B728 00451023 */ subu $v0, $v0, $a1
/* 17414C 8024B72C 3C048016 */ lui $a0, %hi(gWindows)
/* 174150 8024B730 24848910 */ addiu $a0, $a0, %lo(gWindows)
.Lfilemenu_8024B734:
/* 174154 8024B734 A4C20000 */ sh $v0, 0x0($a2)
/* 174158 8024B738 948205F2 */ lhu $v0, 0x5F2($a0)
/* 17415C 8024B73C 00021400 */ sll $v0, $v0, 16
/* 174160 8024B740 00021C03 */ sra $v1, $v0, 16
/* 174164 8024B744 000217C2 */ srl $v0, $v0, 31
/* 174168 8024B748 00621821 */ addu $v1, $v1, $v0
/* 17416C 8024B74C 00032843 */ sra $a1, $v1, 1
/* 174170 8024B750 808305E3 */ lb $v1, 0x5E3($a0)
/* 174174 8024B754 2402FFFF */ addiu $v0, $zero, -0x1
/* 174178 8024B758 1062000B */ beq $v1, $v0, .Lfilemenu_8024B788
/* 17417C 8024B75C 248605EE */ addiu $a2, $a0, 0x5EE
/* 174180 8024B760 00031140 */ sll $v0, $v1, 5
/* 174184 8024B764 00441021 */ addu $v0, $v0, $a0
/* 174188 8024B768 94420012 */ lhu $v0, 0x12($v0)
/* 17418C 8024B76C 00021400 */ sll $v0, $v0, 16
/* 174190 8024B770 00021C03 */ sra $v1, $v0, 16
/* 174194 8024B774 000217C2 */ srl $v0, $v0, 31
/* 174198 8024B778 00621821 */ addu $v1, $v1, $v0
/* 17419C 8024B77C 00031843 */ sra $v1, $v1, 1
/* 1741A0 8024B780 08092DE4 */ j .Lfilemenu_8024B790
/* 1741A4 8024B784 00651023 */ subu $v0, $v1, $a1
.Lfilemenu_8024B788:
/* 1741A8 8024B788 24020078 */ addiu $v0, $zero, 0x78
/* 1741AC 8024B78C 00451023 */ subu $v0, $v0, $a1
.Lfilemenu_8024B790:
/* 1741B0 8024B790 2404002F */ addiu $a0, $zero, 0x2F
/* 1741B4 8024B794 24050001 */ addiu $a1, $zero, 0x1
/* 1741B8 8024B798 0C051A8B */ jal set_window_update
/* 1741BC 8024B79C A4C20000 */ sh $v0, 0x0($a2)
/* 1741C0 8024B7A0 3C058024 */ lui $a1, %hi(filemenu_update_hidden_name_confirm)
/* 1741C4 8024B7A4 24A57DFC */ addiu $a1, $a1, %lo(filemenu_update_hidden_name_confirm)
/* 1741C8 8024B7A8 0C051A8B */ jal set_window_update
/* 1741CC 8024B7AC 24040032 */ addiu $a0, $zero, 0x32
/* 1741D0 8024B7B0 3C118025 */ lui $s1, %hi(filemenu_loadedFileIdx)
/* 1741D4 8024B7B4 26311754 */ addiu $s1, $s1, %lo(filemenu_loadedFileIdx)
/* 1741D8 8024B7B8 0C00ACD3 */ jal fio_load_game
/* 1741DC 8024B7BC 8E240000 */ lw $a0, 0x0($s1)
/* 1741E0 8024B7C0 1040012E */ beqz $v0, .Lfilemenu_8024BC7C
/* 1741E4 8024B7C4 00000000 */ nop
/* 1741E8 8024B7C8 3C108025 */ lui $s0, 0x8025
/* 1741EC 8024B7CC 26101740 */ addiu $s0, $s0, (0x80251740 & 0xFFFF)
/* 1741F0 8024B7D0 3C068007 */ lui $a2, %hi(gSaveSlotMetadata)
/* 1741F4 8024B7D4 24C63D14 */ addiu $a2, $a2, %lo(gSaveSlotMetadata)
/* 1741F8 8024B7D8 8E040000 */ lw $a0, 0x0($s0)
/* 1741FC 8024B7DC 8E250000 */ lw $a1, 0x0($s1)
/* 174200 8024B7E0 0080102D */ daddu $v0, $a0, $zero
/* 174204 8024B7E4 00041840 */ sll $v1, $a0, 1
/* 174208 8024B7E8 00621821 */ addu $v1, $v1, $v0
/* 17420C 8024B7EC 000318C0 */ sll $v1, $v1, 3
/* 174210 8024B7F0 00661821 */ addu $v1, $v1, $a2
/* 174214 8024B7F4 00051040 */ sll $v0, $a1, 1
/* 174218 8024B7F8 00451021 */ addu $v0, $v0, $a1
/* 17421C 8024B7FC 000210C0 */ sll $v0, $v0, 3
/* 174220 8024B800 00461021 */ addu $v0, $v0, $a2
/* 174224 8024B804 8C480000 */ lw $t0, 0x0($v0)
/* 174228 8024B808 8C490004 */ lw $t1, 0x4($v0)
/* 17422C 8024B80C 8C4A0008 */ lw $t2, 0x8($v0)
/* 174230 8024B810 8C4B000C */ lw $t3, 0xC($v0)
/* 174234 8024B814 AC680000 */ sw $t0, 0x0($v1)
/* 174238 8024B818 AC690004 */ sw $t1, 0x4($v1)
/* 17423C 8024B81C AC6A0008 */ sw $t2, 0x8($v1)
/* 174240 8024B820 AC6B000C */ sw $t3, 0xC($v1)
/* 174244 8024B824 8C480010 */ lw $t0, 0x10($v0)
/* 174248 8024B828 8C490014 */ lw $t1, 0x14($v0)
/* 17424C 8024B82C AC680010 */ sw $t0, 0x10($v1)
/* 174250 8024B830 0C00AD07 */ jal fio_save_game
/* 174254 8024B834 AC690014 */ sw $t1, 0x14($v1)
/* 174258 8024B838 8E030000 */ lw $v1, 0x0($s0)
/* 17425C 8024B83C 24020001 */ addiu $v0, $zero, 0x1
/* 174260 8024B840 3C018007 */ lui $at, %hi(gSaveSlotHasData)
/* 174264 8024B844 00230821 */ addu $at, $at, $v1
/* 174268 8024B848 A0223D74 */ sb $v0, %lo(gSaveSlotHasData)($at)
/* 17426C 8024B84C 08092F1F */ j .Lfilemenu_8024BC7C
/* 174270 8024B850 00000000 */ nop
.Lfilemenu_8024B854:
/* 174274 8024B854 0C038EC4 */ jal clear_player_data
/* 174278 8024B858 00000000 */ nop
/* 17427C 8024B85C 0C050FB4 */ jal clear_saved_variables
/* 174280 8024B860 00000000 */ nop
/* 174284 8024B864 0000202D */ daddu $a0, $zero, $zero
/* 174288 8024B868 3C05F5DE */ lui $a1, (0xF5DE0180 >> 16)
/* 17428C 8024B86C 34A50180 */ ori $a1, $a1, (0xF5DE0180 & 0xFFFF)
/* 174290 8024B870 2406FF80 */ addiu $a2, $zero, -0x80
/* 174294 8024B874 3C038007 */ lui $v1, %hi(gGameStatusPtr)
/* 174298 8024B878 8C6314AC */ lw $v1, %lo(gGameStatusPtr)($v1)
/* 17429C 8024B87C 2402000B */ addiu $v0, $zero, 0xB
/* 1742A0 8024B880 A4600086 */ sh $zero, 0x86($v1)
/* 1742A4 8024B884 A462008C */ sh $v0, 0x8C($v1)
/* 1742A8 8024B888 0C0B2C26 */ jal evt_set_variable
/* 1742AC 8024B88C A460008E */ sh $zero, 0x8E($v1)
/* 1742B0 8024B890 0000202D */ daddu $a0, $zero, $zero
/* 1742B4 8024B894 3C028025 */ lui $v0, %hi(filemenu_menus)
/* 1742B8 8024B898 8C42E984 */ lw $v0, %lo(filemenu_menus)($v0)
/* 1742BC 8024B89C 3C078007 */ lui $a3, %hi(gSaveSlotMetadata)
/* 1742C0 8024B8A0 24E73D14 */ addiu $a3, $a3, %lo(gSaveSlotMetadata)
/* 1742C4 8024B8A4 90510003 */ lbu $s1, 0x3($v0)
/* 1742C8 8024B8A8 3C068025 */ lui $a2, %hi(filemenu_filename)
/* 1742CC 8024B8AC 24C627E0 */ addiu $a2, $a2, %lo(filemenu_filename)
/* 1742D0 8024B8B0 00111040 */ sll $v0, $s1, 1
/* 1742D4 8024B8B4 00511021 */ addu $v0, $v0, $s1
/* 1742D8 8024B8B8 000228C0 */ sll $a1, $v0, 3
/* 1742DC 8024B8BC 00851021 */ addu $v0, $a0, $a1
.Lfilemenu_8024B8C0:
/* 1742E0 8024B8C0 00861821 */ addu $v1, $a0, $a2
/* 1742E4 8024B8C4 24840001 */ addiu $a0, $a0, 0x1
/* 1742E8 8024B8C8 90630000 */ lbu $v1, 0x0($v1)
/* 1742EC 8024B8CC 00471021 */ addu $v0, $v0, $a3
/* 1742F0 8024B8D0 A0430007 */ sb $v1, 0x7($v0)
/* 1742F4 8024B8D4 28820008 */ slti $v0, $a0, 0x8
/* 1742F8 8024B8D8 1440FFF9 */ bnez $v0, .Lfilemenu_8024B8C0
/* 1742FC 8024B8DC 00851021 */ addu $v0, $a0, $a1
/* 174300 8024B8E0 0C00AD07 */ jal fio_save_game
/* 174304 8024B8E4 0220202D */ daddu $a0, $s1, $zero
/* 174308 8024B8E8 24040030 */ addiu $a0, $zero, 0x30
/* 17430C 8024B8EC 3C108024 */ lui $s0, %hi(filemenu_update_hidden_name_input)
/* 174310 8024B8F0 26107538 */ addiu $s0, $s0, %lo(filemenu_update_hidden_name_input)
/* 174314 8024B8F4 24020001 */ addiu $v0, $zero, 0x1
/* 174318 8024B8F8 3C018007 */ lui $at, %hi(gSaveSlotHasData)
/* 17431C 8024B8FC 00310821 */ addu $at, $at, $s1
/* 174320 8024B900 A0223D74 */ sb $v0, %lo(gSaveSlotHasData)($at)
/* 174324 8024B904 0C051A8B */ jal set_window_update
/* 174328 8024B908 0200282D */ daddu $a1, $s0, $zero
/* 17432C 8024B90C 24040031 */ addiu $a0, $zero, 0x31
/* 174330 8024B910 0C051A8B */ jal set_window_update
/* 174334 8024B914 0200282D */ daddu $a1, $s0, $zero
/* 174338 8024B918 2404002D */ addiu $a0, $zero, 0x2D
/* 17433C 8024B91C 3C108024 */ lui $s0, %hi(filemenu_update_show_with_rotation)
/* 174340 8024B920 2610772C */ addiu $s0, $s0, %lo(filemenu_update_show_with_rotation)
/* 174344 8024B924 0C051A8B */ jal set_window_update
/* 174348 8024B928 0200282D */ daddu $a1, $s0, $zero
/* 17434C 8024B92C 24040033 */ addiu $a0, $zero, 0x33
/* 174350 8024B930 0C051A8B */ jal set_window_update
/* 174354 8024B934 0200282D */ daddu $a1, $s0, $zero
/* 174358 8024B938 24040034 */ addiu $a0, $zero, 0x34
/* 17435C 8024B93C 0C051A8B */ jal set_window_update
/* 174360 8024B940 0200282D */ daddu $a1, $s0, $zero
/* 174364 8024B944 24040035 */ addiu $a0, $zero, 0x35
/* 174368 8024B948 0C051A8B */ jal set_window_update
/* 17436C 8024B94C 0200282D */ daddu $a1, $s0, $zero
/* 174370 8024B950 24040036 */ addiu $a0, $zero, 0x36
/* 174374 8024B954 0C051A8B */ jal set_window_update
/* 174378 8024B958 0200282D */ daddu $a1, $s0, $zero
/* 17437C 8024B95C 24040037 */ addiu $a0, $zero, 0x37
/* 174380 8024B960 0C051A8B */ jal set_window_update
/* 174384 8024B964 0200282D */ daddu $a1, $s0, $zero
/* 174388 8024B968 24040035 */ addiu $a0, $zero, 0x35
/* 17438C 8024B96C 0C051A8B */ jal set_window_update
/* 174390 8024B970 0200282D */ daddu $a1, $s0, $zero
/* 174394 8024B974 24040038 */ addiu $a0, $zero, 0x38
/* 174398 8024B978 0C051A8B */ jal set_window_update
/* 17439C 8024B97C 0200282D */ daddu $a1, $s0, $zero
/* 1743A0 8024B980 24040039 */ addiu $a0, $zero, 0x39
/* 1743A4 8024B984 0C051A8B */ jal set_window_update
/* 1743A8 8024B988 0200282D */ daddu $a1, $s0, $zero
/* 1743AC 8024B98C 2404003A */ addiu $a0, $zero, 0x3A
/* 1743B0 8024B990 0C051A8B */ jal set_window_update
/* 1743B4 8024B994 0200282D */ daddu $a1, $s0, $zero
/* 1743B8 8024B998 2404003B */ addiu $a0, $zero, 0x3B
/* 1743BC 8024B99C 0C051A8B */ jal set_window_update
/* 1743C0 8024B9A0 0200282D */ daddu $a1, $s0, $zero
/* 1743C4 8024B9A4 3C058024 */ lui $a1, %hi(filemenu_update_hidden_name_confirm)
/* 1743C8 8024B9A8 24A57DFC */ addiu $a1, $a1, %lo(filemenu_update_hidden_name_confirm)
/* 1743CC 8024B9AC 0C051A8B */ jal set_window_update
/* 1743D0 8024B9B0 24040032 */ addiu $a0, $zero, 0x32
/* 1743D4 8024B9B4 24020002 */ addiu $v0, $zero, 0x2
/* 1743D8 8024B9B8 3C018025 */ lui $at, %hi(filemenu_currentMenu)
/* 1743DC 8024B9BC A0221758 */ sb $v0, %lo(filemenu_currentMenu)($at)
/* 1743E0 8024B9C0 24020002 */ addiu $v0, $zero, 0x2
/* 1743E4 8024B9C4 3C038025 */ lui $v1, %hi(filemenu_menus+0x8)
/* 1743E8 8024B9C8 8C63E98C */ lw $v1, %lo(filemenu_menus+0x8)($v1)
/* 1743EC 8024B9CC 3C048016 */ lui $a0, %hi(gWindows)
/* 1743F0 8024B9D0 24848910 */ addiu $a0, $a0, %lo(gWindows)
/* 1743F4 8024B9D4 A0620004 */ sb $v0, 0x4($v1)
/* 1743F8 8024B9D8 3C028015 */ lui $v0, %hi(gCurrentLanguage)
/* 1743FC 8024B9DC 8C42AE4C */ lw $v0, %lo(gCurrentLanguage)($v0)
/* 174400 8024B9E0 3C038025 */ lui $v1, %hi(D_filemenu_80250964)
/* 174404 8024B9E4 00621821 */ addu $v1, $v1, $v0
/* 174408 8024B9E8 90630964 */ lbu $v1, %lo(D_filemenu_80250964)($v1)
/* 17440C 8024B9EC 24020019 */ addiu $v0, $zero, 0x19
/* 174410 8024B9F0 A48205F2 */ sh $v0, 0x5F2($a0)
/* 174414 8024B9F4 00032842 */ srl $a1, $v1, 1
/* 174418 8024B9F8 A48305F0 */ sh $v1, 0x5F0($a0)
/* 17441C 8024B9FC 808305E3 */ lb $v1, 0x5E3($a0)
/* 174420 8024BA00 2402FFFF */ addiu $v0, $zero, -0x1
/* 174424 8024BA04 1062000B */ beq $v1, $v0, .Lfilemenu_8024BA34
/* 174428 8024BA08 248605EC */ addiu $a2, $a0, 0x5EC
/* 17442C 8024BA0C 00031140 */ sll $v0, $v1, 5
/* 174430 8024BA10 00441021 */ addu $v0, $v0, $a0
/* 174434 8024BA14 94420010 */ lhu $v0, 0x10($v0)
/* 174438 8024BA18 00021400 */ sll $v0, $v0, 16
/* 17443C 8024BA1C 00021C03 */ sra $v1, $v0, 16
/* 174440 8024BA20 000217C2 */ srl $v0, $v0, 31
/* 174444 8024BA24 00621821 */ addu $v1, $v1, $v0
/* 174448 8024BA28 00031843 */ sra $v1, $v1, 1
/* 17444C 8024BA2C 08092E91 */ j .Lfilemenu_8024BA44
/* 174450 8024BA30 00651023 */ subu $v0, $v1, $a1
.Lfilemenu_8024BA34:
/* 174454 8024BA34 240200A0 */ addiu $v0, $zero, 0xA0
/* 174458 8024BA38 00451023 */ subu $v0, $v0, $a1
/* 17445C 8024BA3C 3C048016 */ lui $a0, %hi(gWindows)
/* 174460 8024BA40 24848910 */ addiu $a0, $a0, %lo(gWindows)
.Lfilemenu_8024BA44:
/* 174464 8024BA44 A4C20000 */ sh $v0, 0x0($a2)
/* 174468 8024BA48 948205F2 */ lhu $v0, 0x5F2($a0)
/* 17446C 8024BA4C 00021400 */ sll $v0, $v0, 16
/* 174470 8024BA50 00021C03 */ sra $v1, $v0, 16
/* 174474 8024BA54 000217C2 */ srl $v0, $v0, 31
/* 174478 8024BA58 00621821 */ addu $v1, $v1, $v0
/* 17447C 8024BA5C 00032843 */ sra $a1, $v1, 1
/* 174480 8024BA60 808305E3 */ lb $v1, 0x5E3($a0)
/* 174484 8024BA64 2402FFFF */ addiu $v0, $zero, -0x1
/* 174488 8024BA68 1062000B */ beq $v1, $v0, .Lfilemenu_8024BA98
/* 17448C 8024BA6C 248605EE */ addiu $a2, $a0, 0x5EE
/* 174490 8024BA70 00031140 */ sll $v0, $v1, 5
/* 174494 8024BA74 00441021 */ addu $v0, $v0, $a0
/* 174498 8024BA78 94420012 */ lhu $v0, 0x12($v0)
/* 17449C 8024BA7C 00021400 */ sll $v0, $v0, 16
/* 1744A0 8024BA80 00021C03 */ sra $v1, $v0, 16
/* 1744A4 8024BA84 000217C2 */ srl $v0, $v0, 31
/* 1744A8 8024BA88 00621821 */ addu $v1, $v1, $v0
/* 1744AC 8024BA8C 00031843 */ sra $v1, $v1, 1
/* 1744B0 8024BA90 08092EA8 */ j .Lfilemenu_8024BAA0
/* 1744B4 8024BA94 00651023 */ subu $v0, $v1, $a1
.Lfilemenu_8024BA98:
/* 1744B8 8024BA98 24020078 */ addiu $v0, $zero, 0x78
/* 1744BC 8024BA9C 00451023 */ subu $v0, $v0, $a1
.Lfilemenu_8024BAA0:
/* 1744C0 8024BAA0 A4C20000 */ sh $v0, 0x0($a2)
/* 1744C4 8024BAA4 2404002F */ addiu $a0, $zero, 0x2F
/* 1744C8 8024BAA8 08092F1D */ j .Lfilemenu_8024BC74
/* 1744CC 8024BAAC 24050001 */ addiu $a1, $zero, 0x1
.Lfilemenu_8024BAB0:
/* 1744D0 8024BAB0 3C05800D */ lui $a1, %hi(D_800D5D58)
/* 1744D4 8024BAB4 24A55D58 */ addiu $a1, $a1, %lo(D_800D5D58)
/* 1744D8 8024BAB8 8CA20038 */ lw $v0, 0x38($a1)
/* 1744DC 8024BABC 3C038007 */ lui $v1, %hi(gGameStatusPtr)
/* 1744E0 8024BAC0 8C6314AC */ lw $v1, %lo(gGameStatusPtr)($v1)
/* 1744E4 8024BAC4 00821023 */ subu $v0, $a0, $v0
/* 1744E8 8024BAC8 3C048025 */ lui $a0, %hi(filemenu_menus)
/* 1744EC 8024BACC 8C84E984 */ lw $a0, %lo(filemenu_menus)($a0)
/* 1744F0 8024BAD0 906300AB */ lbu $v1, 0xAB($v1)
/* 1744F4 8024BAD4 14620009 */ bne $v1, $v0, .Lfilemenu_8024BAFC
/* 1744F8 8024BAD8 90900003 */ lbu $s0, 0x3($a0)
/* 1744FC 8024BADC 90A2003F */ lbu $v0, 0x3F($a1)
/* 174500 8024BAE0 16020006 */ bne $s0, $v0, .Lfilemenu_8024BAFC
/* 174504 8024BAE4 00000000 */ nop
/* 174508 8024BAE8 3C038015 */ lui $v1, %hi(gCurrentLanguage)
/* 17450C 8024BAEC 8C63AE4C */ lw $v1, %lo(gCurrentLanguage)($v1)
/* 174510 8024BAF0 8CA20040 */ lw $v0, 0x40($a1)
/* 174514 8024BAF4 1062000E */ beq $v1, $v0, .Lfilemenu_8024BB30
/* 174518 8024BAF8 00000000 */ nop
.Lfilemenu_8024BAFC:
/* 17451C 8024BAFC 3C028007 */ lui $v0, %hi(gGameStatusPtr)
/* 174520 8024BB00 8C4214AC */ lw $v0, %lo(gGameStatusPtr)($v0)
/* 174524 8024BB04 904400AB */ lbu $a0, 0xAB($v0)
/* 174528 8024BB08 3C028015 */ lui $v0, %hi(gCurrentLanguage)
/* 17452C 8024BB0C 8C42AE4C */ lw $v0, %lo(gCurrentLanguage)($v0)
/* 174530 8024BB10 3C03800D */ lui $v1, %hi(D_800D5D58)
/* 174534 8024BB14 24635D58 */ addiu $v1, $v1, %lo(D_800D5D58)
/* 174538 8024BB18 AC70003C */ sw $s0, 0x3C($v1)
/* 17453C 8024BB1C AC620040 */ sw $v0, 0x40($v1)
/* 174540 8024BB20 24020001 */ addiu $v0, $zero, 0x1
/* 174544 8024BB24 00441023 */ subu $v0, $v0, $a0
/* 174548 8024BB28 0C00AC15 */ jal fio_flush_backups
/* 17454C 8024BB2C AC620038 */ sw $v0, 0x38($v1)
.Lfilemenu_8024BB30:
/* 174550 8024BB30 0C00ACD3 */ jal fio_load_game
/* 174554 8024BB34 0200202D */ daddu $a0, $s0, $zero
/* 174558 8024BB38 10400021 */ beqz $v0, .Lfilemenu_8024BBC0
/* 17455C 8024BB3C 2404002D */ addiu $a0, $zero, 0x2D
/* 174560 8024BB40 0C00CE04 */ jal set_game_mode
/* 174564 8024BB44 2404000F */ addiu $a0, $zero, 0xF
/* 174568 8024BB48 08092F1F */ j .Lfilemenu_8024BC7C
/* 17456C 8024BB4C 00000000 */ nop
.Lfilemenu_8024BB50:
/* 174570 8024BB50 82430004 */ lb $v1, 0x4($s2)
/* 174574 8024BB54 10640013 */ beq $v1, $a0, .Lfilemenu_8024BBA4
/* 174578 8024BB58 28620002 */ slti $v0, $v1, 0x2
/* 17457C 8024BB5C 10400005 */ beqz $v0, .Lfilemenu_8024BB74
/* 174580 8024BB60 24020002 */ addiu $v0, $zero, 0x2
/* 174584 8024BB64 10600009 */ beqz $v1, .Lfilemenu_8024BB8C
/* 174588 8024BB68 00000000 */ nop
/* 17458C 8024BB6C 08092F1F */ j .Lfilemenu_8024BC7C
/* 174590 8024BB70 00000000 */ nop
.Lfilemenu_8024BB74:
/* 174594 8024BB74 10620005 */ beq $v1, $v0, .Lfilemenu_8024BB8C
/* 174598 8024BB78 24020003 */ addiu $v0, $zero, 0x3
/* 17459C 8024BB7C 10620010 */ beq $v1, $v0, .Lfilemenu_8024BBC0
/* 1745A0 8024BB80 2404002D */ addiu $a0, $zero, 0x2D
/* 1745A4 8024BB84 08092F1F */ j .Lfilemenu_8024BC7C
/* 1745A8 8024BB88 00000000 */ nop
.Lfilemenu_8024BB8C:
/* 1745AC 8024BB8C 3C018025 */ lui $at, %hi(filemenu_currentMenu)
/* 1745B0 8024BB90 A0201758 */ sb $zero, %lo(filemenu_currentMenu)($at)
/* 1745B4 8024BB94 3C058024 */ lui $a1, %hi(filemenu_update_hidden_name_confirm)
/* 1745B8 8024BB98 24A57DFC */ addiu $a1, $a1, %lo(filemenu_update_hidden_name_confirm)
/* 1745BC 8024BB9C 08092F1D */ j .Lfilemenu_8024BC74
/* 1745C0 8024BBA0 24040032 */ addiu $a0, $zero, 0x32
.Lfilemenu_8024BBA4:
/* 1745C4 8024BBA4 24020003 */ addiu $v0, $zero, 0x3
/* 1745C8 8024BBA8 3C018025 */ lui $at, %hi(filemenu_currentMenu)
/* 1745CC 8024BBAC A0221758 */ sb $v0, %lo(filemenu_currentMenu)($at)
/* 1745D0 8024BBB0 3C058024 */ lui $a1, %hi(filemenu_update_hidden_name_confirm)
/* 1745D4 8024BBB4 24A57DFC */ addiu $a1, $a1, %lo(filemenu_update_hidden_name_confirm)
/* 1745D8 8024BBB8 08092F1D */ j .Lfilemenu_8024BC74
/* 1745DC 8024BBBC 24040032 */ addiu $a0, $zero, 0x32
.Lfilemenu_8024BBC0:
/* 1745E0 8024BBC0 3C108024 */ lui $s0, %hi(filemenu_update_show_with_rotation)
/* 1745E4 8024BBC4 2610772C */ addiu $s0, $s0, %lo(filemenu_update_show_with_rotation)
/* 1745E8 8024BBC8 3C028025 */ lui $v0, %hi(filemenu_menus)
/* 1745EC 8024BBCC 8C42E984 */ lw $v0, %lo(filemenu_menus)($v0)
/* 1745F0 8024BBD0 3C018025 */ lui $at, %hi(filemenu_currentMenu)
/* 1745F4 8024BBD4 A0201758 */ sb $zero, %lo(filemenu_currentMenu)($at)
/* 1745F8 8024BBD8 90510003 */ lbu $s1, 0x3($v0)
/* 1745FC 8024BBDC 0C051A8B */ jal set_window_update
/* 174600 8024BBE0 0200282D */ daddu $a1, $s0, $zero
/* 174604 8024BBE4 24040033 */ addiu $a0, $zero, 0x33
/* 174608 8024BBE8 0C051A8B */ jal set_window_update
/* 17460C 8024BBEC 0200282D */ daddu $a1, $s0, $zero
/* 174610 8024BBF0 24040034 */ addiu $a0, $zero, 0x34
/* 174614 8024BBF4 0C051A8B */ jal set_window_update
/* 174618 8024BBF8 0200282D */ daddu $a1, $s0, $zero
/* 17461C 8024BBFC 24040035 */ addiu $a0, $zero, 0x35
/* 174620 8024BC00 0C051A8B */ jal set_window_update
/* 174624 8024BC04 0200282D */ daddu $a1, $s0, $zero
/* 174628 8024BC08 24040036 */ addiu $a0, $zero, 0x36
/* 17462C 8024BC0C 0C051A8B */ jal set_window_update
/* 174630 8024BC10 0200282D */ daddu $a1, $s0, $zero
/* 174634 8024BC14 24040037 */ addiu $a0, $zero, 0x37
/* 174638 8024BC18 0C051A8B */ jal set_window_update
/* 17463C 8024BC1C 0200282D */ daddu $a1, $s0, $zero
/* 174640 8024BC20 24040035 */ addiu $a0, $zero, 0x35
/* 174644 8024BC24 0C051A8B */ jal set_window_update
/* 174648 8024BC28 0200282D */ daddu $a1, $s0, $zero
/* 17464C 8024BC2C 24040038 */ addiu $a0, $zero, 0x38
/* 174650 8024BC30 0C051A8B */ jal set_window_update
/* 174654 8024BC34 0200282D */ daddu $a1, $s0, $zero
/* 174658 8024BC38 24040039 */ addiu $a0, $zero, 0x39
/* 17465C 8024BC3C 0C051A8B */ jal set_window_update
/* 174660 8024BC40 0200282D */ daddu $a1, $s0, $zero
/* 174664 8024BC44 2404003A */ addiu $a0, $zero, 0x3A
/* 174668 8024BC48 0C051A8B */ jal set_window_update
/* 17466C 8024BC4C 0200282D */ daddu $a1, $s0, $zero
/* 174670 8024BC50 2404003B */ addiu $a0, $zero, 0x3B
/* 174674 8024BC54 0C051A8B */ jal set_window_update
/* 174678 8024BC58 0200282D */ daddu $a1, $s0, $zero
/* 17467C 8024BC5C 3C058024 */ lui $a1, %hi(filemenu_update_deselect_file)
/* 174680 8024BC60 24A57A20 */ addiu $a1, $a1, %lo(filemenu_update_deselect_file)
/* 174684 8024BC64 0C051A8B */ jal set_window_update
/* 174688 8024BC68 26240038 */ addiu $a0, $s1, 0x38
/* 17468C 8024BC6C 24040032 */ addiu $a0, $zero, 0x32
/* 174690 8024BC70 24050002 */ addiu $a1, $zero, 0x2
.Lfilemenu_8024BC74:
/* 174694 8024BC74 0C051A8B */ jal set_window_update
/* 174698 8024BC78 00000000 */ nop
.Lfilemenu_8024BC7C:
/* 17469C 8024BC7C 3C028025 */ lui $v0, %hi(filemenu_pressedButtons)
/* 1746A0 8024BC80 8C421744 */ lw $v0, %lo(filemenu_pressedButtons)($v0)
/* 1746A4 8024BC84 30424000 */ andi $v0, $v0, 0x4000
/* 1746A8 8024BC88 10400053 */ beqz $v0, .Lfilemenu_8024BDD8
/* 1746AC 8024BC8C 00000000 */ nop
/* 1746B0 8024BC90 0C052219 */ jal sfx_play_sound
/* 1746B4 8024BC94 240400CA */ addiu $a0, $zero, 0xCA
/* 1746B8 8024BC98 0240202D */ daddu $a0, $s2, $zero
/* 1746BC 8024BC9C 0000282D */ daddu $a1, $zero, $zero
/* 1746C0 8024BCA0 0C091B29 */ jal filemenu_set_selected
/* 1746C4 8024BCA4 24060001 */ addiu $a2, $zero, 0x1
/* 1746C8 8024BCA8 82440004 */ lb $a0, 0x4($s2)
/* 1746CC 8024BCAC 24020001 */ addiu $v0, $zero, 0x1
/* 1746D0 8024BCB0 10820013 */ beq $a0, $v0, .Lfilemenu_8024BD00
/* 1746D4 8024BCB4 28820002 */ slti $v0, $a0, 0x2
/* 1746D8 8024BCB8 50400005 */ beql $v0, $zero, .Lfilemenu_8024BCD0
/* 1746DC 8024BCBC 24020002 */ addiu $v0, $zero, 0x2
/* 1746E0 8024BCC0 10800009 */ beqz $a0, .Lfilemenu_8024BCE8
/* 1746E4 8024BCC4 00000000 */ nop
/* 1746E8 8024BCC8 08092F76 */ j .Lfilemenu_8024BDD8
/* 1746EC 8024BCCC 00000000 */ nop
.Lfilemenu_8024BCD0:
/* 1746F0 8024BCD0 10820005 */ beq $a0, $v0, .Lfilemenu_8024BCE8
/* 1746F4 8024BCD4 24020003 */ addiu $v0, $zero, 0x3
/* 1746F8 8024BCD8 10820010 */ beq $a0, $v0, .Lfilemenu_8024BD1C
/* 1746FC 8024BCDC 2404002D */ addiu $a0, $zero, 0x2D
/* 174700 8024BCE0 08092F76 */ j .Lfilemenu_8024BDD8
/* 174704 8024BCE4 00000000 */ nop
.Lfilemenu_8024BCE8:
/* 174708 8024BCE8 3C018025 */ lui $at, %hi(filemenu_currentMenu)
/* 17470C 8024BCEC A0201758 */ sb $zero, %lo(filemenu_currentMenu)($at)
/* 174710 8024BCF0 3C058024 */ lui $a1, %hi(filemenu_update_hidden_name_confirm)
/* 174714 8024BCF4 24A57DFC */ addiu $a1, $a1, %lo(filemenu_update_hidden_name_confirm)
/* 174718 8024BCF8 08092F74 */ j .Lfilemenu_8024BDD0
/* 17471C 8024BCFC 24040032 */ addiu $a0, $zero, 0x32
.Lfilemenu_8024BD00:
/* 174720 8024BD00 24020003 */ addiu $v0, $zero, 0x3
/* 174724 8024BD04 3C018025 */ lui $at, %hi(filemenu_currentMenu)
/* 174728 8024BD08 A0221758 */ sb $v0, %lo(filemenu_currentMenu)($at)
/* 17472C 8024BD0C 3C058024 */ lui $a1, %hi(filemenu_update_hidden_name_confirm)
/* 174730 8024BD10 24A57DFC */ addiu $a1, $a1, %lo(filemenu_update_hidden_name_confirm)
/* 174734 8024BD14 08092F74 */ j .Lfilemenu_8024BDD0
/* 174738 8024BD18 24040032 */ addiu $a0, $zero, 0x32
.Lfilemenu_8024BD1C:
/* 17473C 8024BD1C 3C108024 */ lui $s0, %hi(filemenu_update_show_with_rotation)
/* 174740 8024BD20 2610772C */ addiu $s0, $s0, %lo(filemenu_update_show_with_rotation)
/* 174744 8024BD24 3C028025 */ lui $v0, %hi(filemenu_menus)
/* 174748 8024BD28 8C42E984 */ lw $v0, %lo(filemenu_menus)($v0)
/* 17474C 8024BD2C 3C018025 */ lui $at, %hi(filemenu_currentMenu)
/* 174750 8024BD30 A0201758 */ sb $zero, %lo(filemenu_currentMenu)($at)
/* 174754 8024BD34 90510003 */ lbu $s1, 0x3($v0)
/* 174758 8024BD38 0C051A8B */ jal set_window_update
/* 17475C 8024BD3C 0200282D */ daddu $a1, $s0, $zero
/* 174760 8024BD40 24040033 */ addiu $a0, $zero, 0x33
/* 174764 8024BD44 0C051A8B */ jal set_window_update
/* 174768 8024BD48 0200282D */ daddu $a1, $s0, $zero
/* 17476C 8024BD4C 24040034 */ addiu $a0, $zero, 0x34
/* 174770 8024BD50 0C051A8B */ jal set_window_update
/* 174774 8024BD54 0200282D */ daddu $a1, $s0, $zero
/* 174778 8024BD58 24040035 */ addiu $a0, $zero, 0x35
/* 17477C 8024BD5C 0C051A8B */ jal set_window_update
/* 174780 8024BD60 0200282D */ daddu $a1, $s0, $zero
/* 174784 8024BD64 24040036 */ addiu $a0, $zero, 0x36
/* 174788 8024BD68 0C051A8B */ jal set_window_update
/* 17478C 8024BD6C 0200282D */ daddu $a1, $s0, $zero
/* 174790 8024BD70 24040037 */ addiu $a0, $zero, 0x37
/* 174794 8024BD74 0C051A8B */ jal set_window_update
/* 174798 8024BD78 0200282D */ daddu $a1, $s0, $zero
/* 17479C 8024BD7C 24040035 */ addiu $a0, $zero, 0x35
/* 1747A0 8024BD80 0C051A8B */ jal set_window_update
/* 1747A4 8024BD84 0200282D */ daddu $a1, $s0, $zero
/* 1747A8 8024BD88 24040038 */ addiu $a0, $zero, 0x38
/* 1747AC 8024BD8C 0C051A8B */ jal set_window_update
/* 1747B0 8024BD90 0200282D */ daddu $a1, $s0, $zero
/* 1747B4 8024BD94 24040039 */ addiu $a0, $zero, 0x39
/* 1747B8 8024BD98 0C051A8B */ jal set_window_update
/* 1747BC 8024BD9C 0200282D */ daddu $a1, $s0, $zero
/* 1747C0 8024BDA0 2404003A */ addiu $a0, $zero, 0x3A
/* 1747C4 8024BDA4 0C051A8B */ jal set_window_update
/* 1747C8 8024BDA8 0200282D */ daddu $a1, $s0, $zero
/* 1747CC 8024BDAC 2404003B */ addiu $a0, $zero, 0x3B
/* 1747D0 8024BDB0 0C051A8B */ jal set_window_update
/* 1747D4 8024BDB4 0200282D */ daddu $a1, $s0, $zero
/* 1747D8 8024BDB8 3C058024 */ lui $a1, %hi(filemenu_update_deselect_file)
/* 1747DC 8024BDBC 24A57A20 */ addiu $a1, $a1, %lo(filemenu_update_deselect_file)
/* 1747E0 8024BDC0 0C051A8B */ jal set_window_update
/* 1747E4 8024BDC4 26240038 */ addiu $a0, $s1, 0x38
/* 1747E8 8024BDC8 24040032 */ addiu $a0, $zero, 0x32
/* 1747EC 8024BDCC 24050002 */ addiu $a1, $zero, 0x2
.Lfilemenu_8024BDD0:
/* 1747F0 8024BDD0 0C051A8B */ jal set_window_update
/* 1747F4 8024BDD4 00000000 */ nop
.Lfilemenu_8024BDD8:
/* 1747F8 8024BDD8 8FBF001C */ lw $ra, 0x1C($sp)
/* 1747FC 8024BDDC 8FB20018 */ lw $s2, 0x18($sp)
/* 174800 8024BDE0 8FB10014 */ lw $s1, 0x14($sp)
/* 174804 8024BDE4 8FB00010 */ lw $s0, 0x10($sp)
/* 174808 8024BDE8 03E00008 */ jr $ra
/* 17480C 8024BDEC 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -419,7 +419,36 @@ segments:
- [0x16B3D0, bin, pause_gfx_fr] # TODO: French
- [0x16D450, bin, pause_gfx_es] # TODO: Spanish
- [0x16F4D0, bin]
- type: code
dir: filemenu
start: 0x16F4D0
vram: 0x80246AB0
subsegments:
- [0x16F4D0, c, filemenu_common]
- [0x1716E0, c, filemenu_main]
- [0x1737E0, c, filemenu_yesno]
- [0x174820, c, filemenu_info]
- [0x174D50, c, filemenu_createfile]
- [0x1760C0, c, filemenu_selectlanguage]
- [0x176B40, c, filemenu_msg]
- [0x1773A0, .data, filemenu_common]
- [0x177680, .data, filemenu_main]
- [0x177A00, .data, filemenu_yesno]
- [0x177A70, .data, filemenu_info]
- [0x177AC0, .data, filemenu_createfile]
- [0x177B40, .data, filemenu_selectlanguage]
- start: 0x177CD0
type: .data
name: filemenu_gfx
subsegments:
- [0x177CD0, ia4, copyarrow, 64, 16]
- [0x177ED0, rgba32, corners_yellow, 16, 64]
- [0x178ED0, ia8, corners_gray, 16, 32]
- [0x1790D0, .data, filemenu_gfx]
- [0x179200, .data, filemenu_msg]
- [0x179C30, .data, filemenu_styles]
- [0x17A160, bin]
- [0x1DA1E0, ci4, icon/present, 32, 32]
- [0x1DA3E0, palette, icon/present]
@ -431,6 +460,13 @@ segments:
- [0x231990, bin]
- type: bin
name: titlemenu_flags
start: 0x25C5A0
# TODO: split into images
- [0x2705A0, bin]
- type: code
dir: world/partner
name: world_partner_goombario

View File

@ -27,6 +27,9 @@ pause_available_png = 0x8027C090; // rom:0x168950
pause_available_pal = 0x8027C290; // rom:0x168B50
pause_prompt_check_abilities_png = 0x8027C490; // rom:0x168D50
pause_prompt_check_abilities_pal = 0x8027C890; // rom:0x169150
D_8024A200 = 0x8024F2B0; // rom:0x177CD0
D_8024A400 = 0x8024F4B0; // rom:0x177ED0
D_8024B400 = 0x802504B0; // rom:0x178ED0
D_09000000_326410 = 0x9000000; // rom:0x34F1D0
D_09000200_326610 = 0x9000200; // rom:0x34F3D0
D_09000220_326630 = 0x9000220; // rom:0x34F3F0

View File

@ -35,7 +35,12 @@ general_heap_malloc = 0x8002ABA8;
general_heap_free = 0x8002ABF8;
heap_malloc = 0x8002AC64;
heap_free = 0x8002ACAC;
fio_has_valid_backup = 0x8002AFE0;
fio_flush_backups = 0x8002B054;
fio_load_game = 0x8002B34C;
fio_save_game = 0x8002B41C;
fio_erase_game = 0x8002B510;
func_PAL_8002B574 = 0x8002B574;
set_curtain_scale_goal = 0x8002C1EC;
set_curtain_draw_callback = 0x8002C214;
set_curtain_fade = 0x8002C234;
@ -145,6 +150,8 @@ snd_ambient_80055760 = 0x80055D40;
snd_ambient_stop_all = 0x80055DAC;
snd_ambient_play_only = 0x80055E28;
snd_song_set_playback_rate = 0x80056318;
audio_set_stereo = 0x8005673C;
audio_set_mono = 0x80056760;
clear_effect_data = 0x8005A27C;
create_effect_instance = 0x8005A89C;
remove_effect = 0x8005AA30;
@ -190,6 +197,8 @@ gMatrixListPos = 0x80071500;
gCurrentDisplayContextIndex = 0x80071504;
gCurrentCameraID = 0x80073730;
D_800779B0 = 0x80073D00;
gSaveSlotMetadata = 0x80073D14;
gSaveSlotHasData = 0x80073D74;
EnemyNpcHit = 0x80074310;
EnemyNpcDefeat = 0x8007443C;
HES_Item_Unused_08B = 0x8007E698;
@ -219,6 +228,7 @@ D_800B32E0 = 0x800B19C0;
D_800B3AE0 = 0x800B21C0;
wMapHitName = 0x800D5938;
wMapShapeName = 0x800D5988;
D_800D5D58 = 0x800D5D58;
wMapBgName = 0x800D5DD8;
gBattleStatus = 0x800D87E0;
npc_raycast_down_around = 0x800D8EE8;
@ -528,6 +538,7 @@ MessagePlural = 0x8014AE40;
MessagePlural_de = 0x8014AE44;
MessageSingular = 0x8014AE48;
gCurrentLanguage = 0x8014AE4C;
gWindowStyles = 0x8014DD20;
gCurrentModels = 0x8014FE9C;
gBackgroundFogModePtr = 0x8014FEC0;
gEntityHideMode = 0x8014FEE0;
@ -1350,4 +1361,6 @@ Entity_Chest = 0x802F1130;
Entity_WoodenCrate = 0x802F11D4;
Entity_BlueWarpPipe = 0x802F1280;
Entity_Signpost = 0x802F12DC;
gMsgCharsets = 0x802F18A8;
D_802F4560 = 0x802FA860;
heap_spriteHead = 0x8034F800;