whoooooweee that is some good ol' fashioned decomp (pal funcs) (#1076)

* whoooooweee that is some good ol' fashioned decomp

* fixins

* PRomment

* Fixes #1075

* change ver to pal

* another

* some more

* progress.py formatting

* oopth

* Promment

* Promment2
This commit is contained in:
Ethan Roseman 2023-07-03 18:35:05 +09:00 committed by GitHub
parent 6bb14ff8be
commit 4d8b61d6a0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
32 changed files with 531 additions and 3748 deletions

View File

@ -20,8 +20,8 @@
"F3DEX_GBI_2",
"_LANGUAGE_C",
"_MIPS_SZLONG=32",
"VERSION=us",
"VERSION_US"
"VERSION=pal",
"VERSION_PAL"
],
"cStandard": "c89",
"cppStandard": "c++17",

View File

@ -23,6 +23,7 @@ cd papermario
Install build dependencies:
```sh
./install_deps.sh
./install_compilers.sh
```
> **NOTE:** On Mac, if you get an error that looks like
@ -43,7 +44,12 @@ Continue onto [building](#building)
1. Install or upgrade to **WSL 2** following [these instructions](https://aka.ms/wsl2-install) (Ubuntu is recommended)
2. Open a WSL terminal
3. Run the following command: `sudo apt update && sudo apt upgrade && cd ~`
4. Continue with [building](#building)
4. Install build dependencies:
```sh
./install_deps.sh
./install_compilers.sh
```
5. Continue with [building](#building)
If you have Visual Studio Code, you can type `code .` to open the repo within it.
`Ctrl + J` opens up a Linux terminal within VS Code.

View File

@ -6584,13 +6584,14 @@ enum WindowStyles {
WINDOW_STYLE_MAX = 22,
};
#if VERSION_PAL
// LANGUAGE_DEFAULT as 0 will be the first index into several arrays containing data based on the current language.
// For non-PAL versions, this will be the first and only index.
#define LANGUAGE_DEFAULT 0
enum Language {
LANGUAGE_EN = 0,
LANGUAGE_DE = 1,
LANGUAGE_FR = 2,
LANGUAGE_ES = 3,
};
#endif
#endif

View File

@ -265,6 +265,8 @@ extern PlayerData gPlayerData;
#if VERSION_PAL
extern s32 gCurrentLanguage;
#else
#define gCurrentLanguage 0
#endif
#endif

View File

@ -7,6 +7,7 @@ import subprocess
import sys
from colour import Color
def set_version(version):
global script_dir, root_dir, asm_dir, build_dir, elf_path
script_dir = os.path.dirname(os.path.realpath(__file__))
@ -15,6 +16,7 @@ def set_version(version):
build_dir = os.path.join(root_dir, "build")
elf_path = os.path.join(build_dir, "papermario.elf")
def load_latest_progress(version):
from urllib.request import urlopen
@ -23,19 +25,45 @@ def load_latest_progress(version):
version = Path("ver/current").resolve().parts[-1]
csv = urlopen(f"https://papermar.io/reports/progress_{version}.csv").read().decode('utf-8')
csv = (
urlopen(f"https://papermar.io/reports/progress_{version}.csv")
.read()
.decode("utf-8")
)
latest = csv.split("\n")[-2]
version, timestamp, git_hash, all_funcs, nonmatching_funcs, matching_funcs, total_size, nonmatching_size, matching_size = latest.split(",")
(
version,
timestamp,
git_hash,
all_funcs,
nonmatching_funcs,
matching_funcs,
total_size,
nonmatching_size,
matching_size,
) = latest.split(",")
return (
int(all_funcs),
int(nonmatching_funcs),
int(matching_funcs),
int(total_size),
int(nonmatching_size),
int(matching_size),
)
return (int(all_funcs), int(nonmatching_funcs), int(matching_funcs), int(total_size), int(nonmatching_size), int(matching_size))
def get_func_info():
try:
result = subprocess.run(['mips-linux-gnu-objdump', '-x', elf_path], stdout=subprocess.PIPE)
result = subprocess.run(
["mips-linux-gnu-objdump", "-x", elf_path], stdout=subprocess.PIPE
)
nm_lines = result.stdout.decode().split("\n")
except:
print(f"Error: Could not run objdump on {elf_path} - make sure that the project is built")
print(
f"Error: Could not run objdump on {elf_path} - make sure that the project is built"
)
sys.exit(1)
sizes = {}
@ -51,6 +79,7 @@ def get_func_info():
return sizes, vrams
def get_nonmatching_funcs():
funcs = set()
@ -61,6 +90,7 @@ def get_nonmatching_funcs():
return funcs
def get_funcs_sizes(sizes, matchings, nonmatchings, restrict_to=None):
msize = 0
nmsize = 0
@ -81,9 +111,11 @@ def get_funcs_sizes(sizes, matchings, nonmatchings, restrict_to=None):
return msize, nmsize
def lerp(a, b, alpha):
return a + (b - a) * alpha
def get_funcs_in_vram_range(vrams, vram_min, vram_max):
funcs = set()
for func in vrams:
@ -91,30 +123,49 @@ def get_funcs_in_vram_range(vrams, vram_min, vram_max):
funcs.add(func)
return funcs
def do_section_progress(section_name, vrams, sizes, total_size, matchings, nonmatchings, section_vram_start, section_vram_end):
def do_section_progress(
section_name,
vrams,
sizes,
total_size,
matchings,
nonmatchings,
section_vram_start,
section_vram_end,
):
funcs = get_funcs_in_vram_range(vrams, section_vram_start, section_vram_end)
matching_size, nonmatching_size = get_funcs_sizes(sizes, matchings, nonmatchings, restrict_to=funcs)
matching_size, nonmatching_size = get_funcs_sizes(
sizes, matchings, nonmatchings, restrict_to=funcs
)
section_total_size = matching_size + nonmatching_size
progress_ratio = (matching_size / section_total_size) * 100
matching_ratio = (matching_size / total_size) * 100
total_ratio = (section_total_size / total_size) * 100
print(f"\t{section_name}: {matching_size} matching bytes / {section_total_size} total ({progress_ratio:.2f}%)")
print(f"\t\t(matched {matching_ratio:.2f}% of {total_ratio:.2f}% total rom for {section_name})")
print(
f"\t{section_name}: {matching_size} matching bytes / {section_total_size} total ({progress_ratio:.2f}%)"
)
print(
f"\t\t(matched {matching_ratio:.2f}% of {total_ratio:.2f}% total rom for {section_name})"
)
def main(args):
set_version(args.version)
sizes, vrams = get_func_info()
total_size = sum(sizes.values())
# TODO hack for now since non-jp roms aren't mapped out
# TODO hack for now since non-us roms aren't mapped out
if args.version != "us":
total_size = 3718660
total_size = 3718612
all_funcs = set(sizes.keys())
nonmatching_funcs = get_nonmatching_funcs()
matching_funcs = all_funcs - nonmatching_funcs
matching_size, nonmatching_size = get_funcs_sizes(sizes, matching_funcs, nonmatching_funcs)
matching_size, nonmatching_size = get_funcs_sizes(
sizes, matching_funcs, nonmatching_funcs
)
if len(all_funcs) == 0:
funcs_matching_ratio = 0.0
@ -123,7 +174,14 @@ def main(args):
funcs_matching_ratio = (len(matching_funcs) / len(all_funcs)) * 100
matching_ratio = (matching_size / total_size) * 100
old_all_funcs, old_nonmatching_funcs, old_matching_funcs, old_total_size, old_nonmatching_size, old_matching_size = load_latest_progress(args.version)
(
old_all_funcs,
old_nonmatching_funcs,
old_matching_funcs,
old_total_size,
old_nonmatching_size,
old_matching_size,
) = load_latest_progress(args.version)
if old_total_size == 0:
old_matching_ratio = 0.0
@ -138,20 +196,33 @@ def main(args):
git_object = git.Repo().head.object
timestamp = str(git_object.committed_date)
git_hash = git_object.hexsha
csv_list = [str(version), timestamp, git_hash, str(len(all_funcs)), str(len(nonmatching_funcs)),
str(len(matching_funcs)), str(total_size), str(nonmatching_size), str(matching_size)]
csv_list = [
str(version),
timestamp,
git_hash,
str(len(all_funcs)),
str(len(nonmatching_funcs)),
str(len(matching_funcs)),
str(total_size),
str(nonmatching_size),
str(matching_size),
]
print(",".join(csv_list))
elif args.shield_json:
import json
# https://shields.io/endpoint
color = Color("#50ca22", hue=lerp(0, 105/255, matching_ratio / 100))
print(json.dumps({
color = Color("#50ca22", hue=lerp(0, 105 / 255, matching_ratio / 100))
print(
json.dumps(
{
"schemaVersion": 1,
"label": f"progress ({args.version})",
"message": f"{matching_ratio:.2f}%",
"color": color.hex,
}))
}
)
)
elif args.pr_comment:
if funcs_delta > 0:
if funcs_delta == 1:
@ -159,18 +230,48 @@ def main(args):
else:
s = "s"
print(f"{'🚀' * funcs_delta} This PR matches {funcs_delta} function{s} (+{ ratio_delta:.2f}%) on `{args.version}`.")
print(
f"{'🚀' * funcs_delta} This PR matches {funcs_delta} function{s} (+{ ratio_delta:.2f}%) on `{args.version}`."
)
else:
if matching_size + nonmatching_size != total_size:
print(f"Warning: category/total size mismatch on version {args.version}!\n")
print("Matching size: " + str(matching_size))
print("Nonmatching size: " + str(nonmatching_size))
print("Sum: " + str(matching_size + nonmatching_size) + " (should be " + str(total_size) + ")")
print(f"{len(matching_funcs)} matched functions / {len(all_funcs)} total ({funcs_matching_ratio:.2f}%)")
print(f"{matching_size} matching bytes / {total_size} total ({matching_ratio:.2f}%)")
print(
"Sum: "
+ str(matching_size + nonmatching_size)
+ " (should be "
+ str(total_size)
+ ")"
)
print(
f"{len(matching_funcs)} matched functions / {len(all_funcs)} total ({funcs_matching_ratio:.2f}%)"
)
print(
f"{matching_size} matching bytes / {total_size} total ({matching_ratio:.2f}%)"
)
do_section_progress("effects", vrams, sizes, total_size, matching_funcs, nonmatching_funcs, 0xE0000000, 0xE1000000)
do_section_progress("map", vrams, sizes, total_size, matching_funcs, nonmatching_funcs, 0x80240000, 0x80250000)
do_section_progress(
"effects",
vrams,
sizes,
total_size,
matching_funcs,
nonmatching_funcs,
0xE0000000,
0xE1000000,
)
do_section_progress(
"map",
vrams,
sizes,
total_size,
matching_funcs,
nonmatching_funcs,
0x80240000,
0x80250000,
)
if funcs_delta > 0:
if funcs_delta == 1:
@ -178,7 +279,9 @@ def main(args):
else:
s = "s"
print(f"This local build matches {funcs_delta} function{s} (+{ ratio_delta:.2f}%) over latest '{args.version}'.")
print(
f"This local build matches {funcs_delta} function{s} (+{ ratio_delta:.2f}%) over latest '{args.version}'."
)
if __name__ == "__main__":

View File

@ -101,34 +101,6 @@ UnkStruct D_E010E868[] = {
{ NULL, 0, 0, 0, 0 }
};
#if VERSION_PAL
u32 pal_data[] = {
0x00000000,
0x00000000,
0x00000000,
0xE010E61C,
0xE010E5E4,
0xE010E5E4,
0xE010E5E4,
0xE010E5E4,
0xE010E5E4,
0xE010E5E4,
0xE010E5E4,
0xE010E5E4,
0xE010E60C,
0xE010E61C,
0xE010E61C,
0xE010E61C,
0xE010E61C,
0xE010E61C,
0xE010E61C,
0xE010E61C,
0xE010E61C,
0xE010E61C,
0x00000000,
};
#endif
void chapter_change_init(EffectInstance* effect);
void chapter_change_update(EffectInstance* effect);
void chapter_change_render(EffectInstance* effect);
@ -256,9 +228,6 @@ void chapter_change_render(EffectInstance* effect) {
retTask->renderMode |= RENDER_TASK_FLAG_REFLECT_FLOOR;
}
#if VERSION_PAL
INCLUDE_ASM(void, "effects/chapter_change", chapter_change_appendGfx);
#else
void chapter_change_appendGfx(void* effect) {
ChapterChangeFXData* data = ((EffectInstance*)effect)->data.chapterChange;
s32 unk_2C = data->unk_2C;
@ -295,6 +264,13 @@ void chapter_change_appendGfx(void* effect) {
case 16:
case 17:
case 18:
#if VERSION_PAL
if (gCurrentLanguage == LANGUAGE_DE) {
ptr0 = D_E010E838_b;
ptr1 = D_E010E838_c;
break;
}
#endif
ptr0 = D_E010E79C;
ptr1 = D_E010E838;
break;
@ -316,4 +292,3 @@ void chapter_change_appendGfx(void* effect) {
gDPPipeSync(gMainGfxPos++);
}
#endif

View File

@ -1012,10 +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 func_PAL_8002B574(void); // TODO identify
void filemenu_init(s32 arg0) {
MenuPanel** panelIt;
MenuPanel* menu;
@ -1028,10 +1027,50 @@ void filemenu_init(s32 arg0) {
}
filemenu_cursorHudElem = filemenu_cursorHudElemID[0];
if (!arg0) {
if (arg0 == 0) {
filemenu_common_windowBPs[0].style.customStyle->background.imgData = NULL; // ???
}
setup_pause_menu_tab(filemenu_common_windowBPs, ARRAY_COUNT(filemenu_common_windowBPs));
#if VERSION_PAL
if (arg0 != 2) {
filemenu_currentMenu = 0;
menu = filemenu_menus[0];
menu->page = filemenu_currentMenu;
func_PAL_8002B574();
if (menu->page == 0) {
fio_has_valid_backup();
if (D_800D95E8.saveCount >= 4) {
D_800D95E8.saveCount = 0;
}
gGameStatusPtr->saveSlot = D_800D95E8.saveCount;
}
filemenu_set_selected(menu, (gGameStatusPtr->saveSlot & 1) * 2, gGameStatusPtr->saveSlot >> 1);
panelIt = filemenu_menus;
for (i = 0; i < ARRAY_COUNT(filemenu_menus) - 1; i++, panelIt++) {
if ((*panelIt)->fpInit != NULL) {
(*panelIt)->fpInit((*panelIt));
}
}
update_window_hierarchy(23, 64);
} else {
filemenu_currentMenu = 4;
filemenu_set_selected(filemenu_menus[4], 0, gCurrentLanguage);
panelIt = filemenu_menus;
for (i = 0; i < ARRAY_COUNT(filemenu_menus); i++, panelIt++) {
if (i == 4) {
if ((*panelIt)->fpInit != NULL) {
(*panelIt)->fpInit((*panelIt));
}
}
}
update_window_hierarchy(23, 64);
}
#else
menu = filemenu_menus[0];
filemenu_currentMenu = 0;
@ -1069,8 +1108,8 @@ void filemenu_init(s32 arg0) {
}
}
update_window_hierarchy(23, 64);
}
#endif
}
// TODO bad match, look into
void filemenu_cleanup(void) {

View File

@ -17,11 +17,15 @@ s32 D_8024A18C = -4;
#define WINDOW_2_Y (55)
#define WINDOW_2_HEIGHT (133)
#define ROWS (8)
#define INPUT_FINAL_PAGE (1)
extern u8 D_filemenu_80250958[];
extern u8 D_filemenu_80250960[];
#else
#define WINDOW_1_Y (10)
#define WINDOW_2_Y (67)
#define WINDOW_2_HEIGHT (113)
#define ROWS (6)
#define INPUT_FINAL_PAGE (2)
#endif
MenuWindowBP filemenu_createfile_windowBPs[] = {
@ -159,6 +163,16 @@ void filemenu_draw_contents_file_create_header(
#if VERSION_PAL
INCLUDE_ASM(void, "filemenu/filemenu_createfile", filemenu_draw_contents_choose_name);
#else
s32 msg_get_print_char_width(s32 character, s32 charset, s32 variation, f32 msgScale, s32 overrideCharWidth, u8 flags);
#if VERSION_PAL
#define FILEMENU_ROW_AMT (15)
#define FILEMENU_C9_OFFSET (16)
#else
#define FILEMENU_ROW_AMT (17)
#define FILEMENU_C9_OFFSET (5)
#endif
void filemenu_draw_contents_choose_name(
MenuPanel* menu,
s32 baseX, s32 baseY,
@ -175,14 +189,15 @@ void filemenu_draw_contents_choose_name(
s32 layer;
s32 flags;
s32 color;
s32 xNudge;
Window* window = &gWindows[WINDOW_ID_FILEMENU_KEYBOARD];
if ((window->flags & WINDOW_FLAG_INITIAL_ANIMATION) && window->fpUpdate.func == filemenu_update_change_layout) {
changeLayoutOffset = window->updateCounter * 2;
currentPage = menu->page;
previousPage = menu->page != 1;
if (changeLayoutOffset > 0x10) {
changeLayoutOffset = 0x10;
if (changeLayoutOffset > 16) {
changeLayoutOffset = 16;
}
for (row = 0; row < menu->numRows; row++) {
@ -201,7 +216,7 @@ void filemenu_draw_contents_choose_name(
baseX,
baseY + yOffset + changeLayoutOffset,
baseX + width,
baseY + yOffset + 0x10);
baseY + yOffset + 16);
}
for (col = 0; col < menu->numCols; col++) {
@ -215,7 +230,10 @@ void filemenu_draw_contents_choose_name(
color = 10;
}
xOffset = 19 * col + 12;
yOffset = 17 * row + 5;
yOffset = FILEMENU_ROW_AMT * row + 5;
#if VERSION_PAL
xNudge = msg_get_print_char_width(c, 0, 0, 1.0f, 0, 1);
#endif
specialChar = c;
if (c >= 0xA2 && c < 0xF0) {
if (c >= 0xC6) {
@ -228,15 +246,32 @@ void filemenu_draw_contents_choose_name(
xOffset -= 1;
}
if (specialChar == 0xC9) {
#if VERSION_PAL
xOffset += 16;
#else
xOffset += 5;
#endif
}
if (specialChar == 0xCA) {
#if VERSION_PAL
if (gCurrentLanguage == LANGUAGE_DE) {
xOffset += 4;
} else {
xOffset += 8;
}
#else
xOffset += 8;
#endif
}
if (specialChar == 0xC6 || specialChar == 0xCA || specialChar == 0xC9) {
yOffset -= 1;
xNudge = 9;
}
#if VERSION_PAL
filemenu_draw_message((u8*)c, baseX + xOffset + ((8 - xNudge) / 2), baseY + yOffset, 255, color, flags);
#else
filemenu_draw_message((u8*)c, baseX + xOffset, baseY + yOffset, 255, color, flags);
#endif
}
}
}
@ -255,7 +290,10 @@ void filemenu_draw_contents_choose_name(
color = 10;
}
xOffset = col * 19 + 12;
yOffset = row * 17 + 5;
yOffset = row * FILEMENU_ROW_AMT + 5;
#if VERSION_PAL
xNudge = msg_get_print_char_width(c, 0, 0, 1.0f, 0, 1);
#endif
specialChar = c;
if (c >= 0xA2 && c < 0xF0) {
if (c >= 0xC6) {
@ -268,15 +306,28 @@ void filemenu_draw_contents_choose_name(
xOffset -= 1;
}
if (specialChar == 0xC9) {
xOffset += 5;
xOffset += FILEMENU_C9_OFFSET;
}
if (specialChar == 0xCA) {
#if VERSION_PAL
if (gCurrentLanguage == LANGUAGE_DE) {
xOffset += 4;
} else {
xOffset += 8;
}
#else
xOffset += 8;
#endif
}
if (specialChar == 0xC6 || specialChar == 0xCA || specialChar == 0xC9) {
yOffset -= 1;
xNudge = 9;
}
#if VERSION_PAL
filemenu_draw_message((u8*)c, baseX + xOffset + ((8 - xNudge) / 2), baseY + yOffset, 255, color, flags);
#else
filemenu_draw_message((u8*)c, baseX + xOffset, baseY + yOffset, 255, color, flags);
#endif
}
}
}
@ -286,8 +337,10 @@ void filemenu_draw_contents_choose_name(
if (filemenu_heldButtons & (BUTTON_STICK_RIGHT | BUTTON_STICK_LEFT | BUTTON_STICK_DOWN | BUTTON_STICK_UP)) {
D_8024A18C = -4;
}
D_8024A18C += 1;
filemenu_set_cursor_goal_pos(WINDOW_ID_FILEMENU_KEYBOARD, baseX + 2 + menu->col * 19, baseY + 13 + menu->row * 17);
D_8024A18C++;
filemenu_set_cursor_goal_pos(WINDOW_ID_FILEMENU_KEYBOARD,
baseX + 2 + menu->col * 19,
baseY + 13 + menu->row * FILEMENU_ROW_AMT);
}
}
#endif
@ -316,17 +369,23 @@ 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;
MenuPanel* newMenu;
MenuPanel* newMenu2;
s32 temp;
s32 i;
#if VERSION_PAL
s32 halfWidth;
gWindows[WINDOW_ID_FILEMENU_CREATEFILE_HEADER].width = D_filemenu_80250958[gCurrentLanguage];
halfWidth = gWindows[WINDOW_ID_FILEMENU_CREATEFILE_HEADER].width / 2;
gWindows[WINDOW_ID_FILEMENU_CREATEFILE_HEADER].pos.x = gWindows[WINDOW_ID_FILEMENU_CREATEFILE_HEADER].parent != -1 ?
(gWindows[gWindows[WINDOW_ID_FILEMENU_CREATEFILE_HEADER].parent].width / 2) - halfWidth :
SCREEN_WIDTH / 2 - halfWidth;
#endif
if (filemenu_heldButtons & BUTTON_STICK_LEFT) {
menu->col--;
if (menu->col < 0) {
@ -342,9 +401,12 @@ void filemenu_choose_name_handle_input(MenuPanel* menu) {
menu->col = 0;
} else if (menu->col == 8 || menu->col == 9) {
menu->col = 10;
} else if (menu->col == 5 || menu->col == 6) {
}
#if !VERSION_PAL
else if (menu->col == 5 || menu->col == 6) {
menu->col = 7;
}
#endif
}
}
@ -365,9 +427,12 @@ void filemenu_choose_name_handle_input(MenuPanel* menu) {
menu->col = 10;
} else if (menu->col == 8 || menu->col == 9) {
menu->col = 7;
} else if (menu->col == 5 || menu->col == 6) {
}
#if !VERSION_PAL
else if (menu->col == 5 || menu->col == 6) {
menu->col = 4;
}
#endif
}
menu->selected = MENU_PANEL_SELECTED_GRID_DATA(menu);
@ -427,15 +492,24 @@ void filemenu_choose_name_handle_input(MenuPanel* menu) {
: SCREEN_WIDTH / 2) - gWindows[WINDOW_ID_FILEMENU_YESNO_OPTIONS].width / 2;
gWindows[WINDOW_ID_FILEMENU_YESNO_PROMPT].pos.y = -70;
#if VERSION_PAL
gWindows[WINDOW_ID_FILEMENU_YESNO_PROMPT].width = D_filemenu_80250960[gCurrentLanguage];
halfWidth = gWindows[WINDOW_ID_FILEMENU_YESNO_PROMPT].width / 2;
gWindows[WINDOW_ID_FILEMENU_YESNO_PROMPT].height = 62;
gWindows[WINDOW_ID_FILEMENU_YESNO_PROMPT].pos.x = gWindows[WINDOW_ID_FILEMENU_YESNO_PROMPT].parent != -1
? (gWindows[gWindows[WINDOW_ID_FILEMENU_YESNO_PROMPT].parent].width / 2) - halfWidth
: SCREEN_WIDTH / 2 - halfWidth;
#else
gWindows[WINDOW_ID_FILEMENU_YESNO_PROMPT].width = 164;
gWindows[WINDOW_ID_FILEMENU_YESNO_PROMPT].height = 62;
gWindows[WINDOW_ID_FILEMENU_YESNO_PROMPT].pos.x = ((gWindows[WINDOW_ID_FILEMENU_YESNO_PROMPT].parent != -1)
? (gWindows[gWindows[WINDOW_ID_FILEMENU_YESNO_PROMPT].parent].width / 2)
: SCREEN_WIDTH / 2) - gWindows[WINDOW_ID_FILEMENU_YESNO_PROMPT].width / 2;
#endif
filemenu_currentMenu = 1;
newMenu = filemenu_menus[filemenu_currentMenu];
newMenu->page = 2;
newMenu->page = INPUT_FINAL_PAGE;
filemenu_set_selected(newMenu, 0, 0);
return;
default:
@ -509,19 +583,28 @@ void filemenu_choose_name_handle_input(MenuPanel* menu) {
: SCREEN_WIDTH / 2) - gWindows[WINDOW_ID_FILEMENU_YESNO_OPTIONS].width / 2;
gWindows[WINDOW_ID_FILEMENU_YESNO_PROMPT].pos.y = -70;
#if VERSION_PAL
gWindows[WINDOW_ID_FILEMENU_YESNO_PROMPT].width = D_filemenu_80250960[gCurrentLanguage];
gWindows[WINDOW_ID_FILEMENU_YESNO_PROMPT].height = 62;
halfWidth = gWindows[WINDOW_ID_FILEMENU_YESNO_PROMPT].width / 2;
gWindows[WINDOW_ID_FILEMENU_YESNO_PROMPT].pos.x = gWindows[WINDOW_ID_FILEMENU_YESNO_PROMPT].parent != -1
? (gWindows[gWindows[WINDOW_ID_FILEMENU_YESNO_PROMPT].parent].width / 2) - halfWidth
: SCREEN_WIDTH / 2 - halfWidth;
#else
gWindows[WINDOW_ID_FILEMENU_YESNO_PROMPT].width = 164;
gWindows[WINDOW_ID_FILEMENU_YESNO_PROMPT].height = 62;
gWindows[WINDOW_ID_FILEMENU_YESNO_PROMPT].pos.x = ((gWindows[WINDOW_ID_FILEMENU_YESNO_PROMPT].parent != -1)
? (gWindows[gWindows[WINDOW_ID_FILEMENU_YESNO_PROMPT].parent].width / 2)
: SCREEN_WIDTH / 2) - gWindows[WINDOW_ID_FILEMENU_YESNO_PROMPT].width / 2;
#endif
newMenu2 = filemenu_menus[1];
filemenu_currentMenu = 1;
newMenu2->page = 2;
newMenu2 = filemenu_menus[filemenu_currentMenu];
newMenu2->page = INPUT_FINAL_PAGE;
filemenu_set_selected(newMenu2, 0, 0);
}
}
#endif
static const f32 padding[2] = { 0.0f, 0.0f }; // not sure why this is needed

View File

@ -2,6 +2,15 @@
#include "filemenu.h"
#include "hud_element.h"
#if VERSION_PAL
extern u8 D_filemenu_802508FC[];
extern u8 D_filemenu_80250934[];
extern u8 D_filemenu_80250948[];
extern u8 D_filemenu_8025094C[];
extern s8 D_filemenu_80250950[];
extern u8 D_filemenu_80250968[];
#endif
#if VERSION_IQUE
#define CREATE_SUCCESS_NUMBER_X 49
#define NUMBER_OFFSET_Y 1
@ -47,15 +56,51 @@ 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,
s32 width, s32 height,
s32 opacity, s32 darkening
) {
#if VERSION_PAL
s32 xOffset;
// TODO figure out FILE_MESSAGE constants
switch (menu->page) {
case 0:
filemenu_draw_message(filemenu_get_menu_message(FILE_MESSAGE_28), baseX + 10, baseY + 4, 255, 0, 0);
xOffset = D_filemenu_80250934[gCurrentLanguage] + 10;
filemenu_draw_message(filemenu_get_menu_message(FILE_MESSAGE_FILE_26), baseX + xOffset, baseY + 4, 255, 0, 0);
xOffset += D_filemenu_802508FC[gCurrentLanguage];
draw_number(filemenu_menus[0]->selected + 1, baseX + xOffset, baseY + 6, 0, 0, 255, 3);
xOffset++;
filemenu_draw_message(filemenu_get_menu_message(FILE_MESSAGE_HAS_BEEN_DELETED), baseX + xOffset, baseY + 4, 255, 0, 0);
break;
case 1:
filemenu_draw_message(filemenu_get_menu_message(FILE_MESSAGE_COPY_FROM), baseX + 10, baseY + 4, 255, 0, 0);
xOffset = D_filemenu_80250948[gCurrentLanguage] + 10;
filemenu_draw_message(filemenu_get_menu_message(FILE_MESSAGE_FILE_26), baseX + xOffset, baseY + 4, 255, 0, 0);
xOffset += D_filemenu_802508FC[gCurrentLanguage];
draw_number(filemenu_loadedFileIdx + 1, baseX + xOffset, baseY + 6, 0, 0, 255, 3);
filemenu_draw_message(filemenu_get_menu_message(FILE_MESSAGE_TO), baseX + 10, baseY + 18, 255, 0, 0);
xOffset = D_filemenu_8025094C[gCurrentLanguage] + 10;
filemenu_draw_message(filemenu_get_menu_message(FILE_MESSAGE_FILE_26), baseX + xOffset, baseY + 18, 255, 0, 0);
xOffset += D_filemenu_802508FC[gCurrentLanguage];
draw_number(filemenu_iterFileIdx + 1, baseX + xOffset, baseY + 0x14, 0, 0, 255, 3);
xOffset += D_filemenu_80250950[gCurrentLanguage];
filemenu_draw_message(filemenu_get_menu_message(FILE_MESSAGE_HAS_BEEN_CREATED), baseX + xOffset, baseY + 18, 255, 0, 0);
break;
case 2:
filemenu_draw_message(filemenu_get_menu_message(0x20), baseX + 10, baseY + 4, 255, 0, 0);
xOffset = D_filemenu_80250968[gCurrentLanguage] + 10;
filemenu_draw_message(filemenu_get_menu_message(FILE_MESSAGE_FILE_26), baseX + xOffset, baseY + 4, 255, 0, 0);
xOffset += D_filemenu_802508FC[gCurrentLanguage];
draw_number(filemenu_menus[0]->selected + 1, baseX + xOffset, baseY + 6, 0, 0, 255, 3);
xOffset++;
filemenu_draw_message(filemenu_get_menu_message(0x1F), baseX + xOffset, baseY + 4, 255, 0, 0);
break;
}
#else
switch (menu->page) {
case 0:
filemenu_draw_message(filemenu_get_menu_message(FILE_MESSAGE_FILE_26), baseX + 10, baseY + 4, 255, 0, 0);
@ -90,9 +135,9 @@ void filemenu_info_draw_message_contents(
filemenu_draw_message(filemenu_get_menu_message(FILE_MESSAGE_HAS_BEEN_CREATED), baseX + 49, baseY + 4, 255, 0, 0);
break;
}
#endif
filemenu_set_cursor_alpha(0);
}
#endif
void filemenu_info_init(MenuPanel* tab) {
s32 i;

View File

@ -27,6 +27,7 @@ extern HudScript HES_OptionStereoOff;
#if VERSION_PAL
extern u8 D_filemenu_802508E8[4];
extern u8 D_filemenu_802508F0[4];
extern u8 D_filemenu_80250938[4];
extern u8 D_filemenu_8025093C[4];
#define COPY_OFFSET_X (D_filemenu_8025093C[gCurrentLanguage])
@ -472,23 +473,28 @@ void filemenu_draw_contents_option_center(
}
#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,
s32 width, s32 height,
s32 opacity, s32 darkening
) {
#if VERSION_PAL
s32 offset = D_filemenu_802508F0[gCurrentLanguage];
if (menu->col == 2 && menu->row == 2) {
filemenu_set_cursor_goal_pos(WINDOW_ID_FILEMENU_OPTION_RIGHT, baseX + offset - 10, baseY + 8);
}
filemenu_draw_message(filemenu_get_menu_message(FILE_MESSAGE_CANCEL), baseX + offset, baseY + 2, 255, 0, 1);
#else
if (menu->page != 2) {
if (menu->col == 2 && menu->row == 2) {
filemenu_set_cursor_goal_pos(WINDOW_ID_FILEMENU_OPTION_RIGHT, baseX + 8, baseY + 8);
}
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(

View File

@ -98,7 +98,7 @@ 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};
s8 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};

View File

@ -50,9 +50,8 @@ static s32 gPauseBadgesIconIDs[22];
#define OFFSET_3_Y 74
#endif
#if VERSION_PAL
HudScript* gPauseBadgesElements[][22] = {
[LANGUAGE_EN] = {
[LANGUAGE_DEFAULT] = {
&HES_StatBp, &HES_StatBp, &HES_StatBp, &HES_StatBp,
&HES_StatBp, &HES_StatBp, &HES_StatBp, &HES_StatBp,
&HES_StatBp, &HES_StatBp, &HES_StatBp, &HES_StatBp,
@ -60,6 +59,7 @@ HudScript* gPauseBadgesElements[][22] = {
&HES_StatBp, &HES_ListPrevPage, &HES_ListNextPage,
&HES_Dash, &HES_LabelBpNeeded, &HES_StatusStar1
},
#if VERSION_PAL
[LANGUAGE_DE] = {
&HES_StatBp, &HES_StatBp, &HES_StatBp, &HES_StatBp,
&HES_StatBp, &HES_StatBp, &HES_StatBp, &HES_StatBp,
@ -84,16 +84,11 @@ HudScript* gPauseBadgesElements[][22] = {
&HES_StatBp, &HES_ListPrevPage, &HES_ListNextPage,
&HES_Dash, &HES_LabelBpNeeded_es, &HES_StatusStar1
},
#endif
};
#else
HudScript* gPauseBadgesElements[] = {
&HES_StatBp, &HES_StatBp, &HES_StatBp, &HES_StatBp,
&HES_StatBp, &HES_StatBp, &HES_StatBp, &HES_StatBp,
&HES_StatBp, &HES_StatBp, &HES_StatBp, &HES_StatBp,
&HES_StatBp, &HES_StatBp, &HES_StatBp, &HES_StatBp,
&HES_StatBp, &HES_ListPrevPage, &HES_ListNextPage,
&HES_Dash, &HES_LabelBpNeeded, &HES_StatusStar1
};
#if VERSION_PAL
extern u8 D_PAL_80271B2C[];
#endif
MenuWindowBP gPauseBadgesWindowBPs[] = {
@ -315,9 +310,6 @@ void pause_badges_draw_bp_orbs(s32 orbState, s32 x, s32 y) {
}
}
#if VERSION_PAL
INCLUDE_ASM(void, "pause/pause_badges", pause_badges_draw_contents);
#else
void pause_badges_draw_contents(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening) {
s32 pageIndex, i;
s32 badgeIndex;
@ -361,6 +353,8 @@ void pause_badges_draw_contents(MenuPanel* menu, s32 baseX, s32 baseY, s32 width
s32* iconIDs;
PlayerData* playerData = &gPlayerData;
PauseItemPage* currentPage = &gPauseBadgesPages[gPauseBadgesCurrentPage];
s32 bpAmountX;
s32 msg2;
costBP = 0;
canBeEquipped = FALSE;
@ -631,7 +625,18 @@ void pause_badges_draw_contents(MenuPanel* menu, s32 baseX, s32 baseY, s32 width
bpAvailOffsetX = -4;
}
pause_draw_menu_label(PAUSE_LBL_AVAILABLE, baseX + 12, baseY + 100 + bpAvailOffsetY);
draw_number(bpAmount, baseX + 73 + bpAvailOffsetX, baseY + 100 + bpAvailOffsetY, DRAW_NUMBER_CHARSET_THIN, MSG_PAL_STANDARD, 255, DRAW_NUMBER_STYLE_MONOSPACE | DRAW_NUMBER_STYLE_ALIGN_RIGHT);
#if VERSION_PAL
bpAmountX = baseX + (73 + bpAvailOffsetX);
if (gCurrentLanguage == LANGUAGE_ES) {
bpAmountX += 8;
}
#else
bpAmountX = baseX + 73 + bpAvailOffsetX;
#endif
draw_number(bpAmount, bpAmountX, baseY + 100 + bpAvailOffsetY, DRAW_NUMBER_CHARSET_THIN, MSG_PAL_STANDARD, 255,
DRAW_NUMBER_STYLE_MONOSPACE | DRAW_NUMBER_STYLE_ALIGN_RIGHT);
orbColorR = 0;
orbColorG = 255;
@ -674,6 +679,56 @@ void pause_badges_draw_contents(MenuPanel* menu, s32 baseX, s32 baseY, s32 width
91, 34, 255, gPauseBadgesCurrentTab == 1 ? 128 : 0, 0, 0,
0, 0, 0, 0, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 0);
#if VERSION_PAL
if (gCurrentLanguage < 2) {
msg2 = pause_get_menu_msg(PAUSE_MSG_ALL_BADGES);
msgX = baseX + 10;
if (gPauseBadgesCurrentTab == 0) {
msgX = baseX + 19;
}
msgOpacity = 255;
msgY = baseY + 17;
if (gPauseBadgesCurrentTab == 1) {
msgOpacity = 191;
}
draw_msg(msg2, msgX, msgY, msgOpacity, 0, 1);
} else {
msg2 = pause_get_menu_msg(PAUSE_MSG_ALL_BADGES);
msgX = baseX + 12;
if (gPauseBadgesCurrentTab == 0) {
msgX = baseX + 21;
}
draw_msg(msg2, msgX, baseY + 12, gPauseBadgesCurrentTab == 1 ? 191 : 255, 0, 1);
msg = pause_get_menu_msg(PAUSE_MSG_PAL_42);
msgX = baseX + 24;
if (gCurrentLanguage == 2) {
msgX = baseX + 26;
}
if (gPauseBadgesCurrentTab == 0) {
msgX += 9;
}
msgY = baseY + 22;
msgOpacity = 255;
if (gPauseBadgesCurrentTab == 1) {
msgOpacity = 191;
}
draw_msg(msg, msgX, msgY, msgOpacity, 0, 1);
}
draw_box(4, &gPauseWS_13, gPauseBadgesCurrentTab == 1 ? baseX + 9 : baseX, baseY + 37, 0, 91, 34, 255,
gPauseBadgesCurrentTab != 0 ? 0 : 128, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, NULL, NULL, NULL,
SCREEN_WIDTH, SCREEN_HEIGHT, NULL);
msg2 = pause_get_menu_msg(PAUSE_MSG_ACTIVE);
msgX = baseX + 12;
if (gPauseBadgesCurrentTab == 1) {
msgX = baseX + 21;
}
draw_msg(msg2, msgX, baseY + 42, gPauseBadgesCurrentTab == 0 ? 191 : 255, 0, 1);
draw_msg(pause_get_menu_msg(PAUSE_MSG_BADGES), (gPauseBadgesCurrentTab == 1) ? baseX + D_PAL_80271B2C[gCurrentLanguage] + 9 :baseX + D_PAL_80271B2C[gCurrentLanguage], baseY + 52, gPauseBadgesCurrentTab == 0 ? 191 : 255, 0, 1);
#else
msg = pause_get_menu_msg(PAUSE_MSG_ALL_BADGES);
msgX = baseX + 10;
if (gPauseBadgesCurrentTab == 0) {
@ -712,6 +767,7 @@ void pause_badges_draw_contents(MenuPanel* menu, s32 baseX, s32 baseY, s32 width
msgOpacity = 191;
}
draw_msg(msg, msgX, msgY, msgOpacity, MSG_PAL_WHITE, DRAW_MSG_STYLE_MENU);
#endif
if (gPauseMenuCurrentTab == 2) {
if (gPauseBadgesLevel == 0) {
@ -738,15 +794,27 @@ void pause_badges_draw_contents(MenuPanel* menu, s32 baseX, s32 baseY, s32 width
if (gPauseBadgesShowNotEnoughBP != 0) {
pause_set_cursor_opacity(0);
if (gPauseBadgesShowNotEnoughBP == 1) {
draw_box(DRAW_FLAG_NO_CLIP, &gPauseWS_13, baseX + 67, baseY + 60, 0, 137, 26, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 0);
draw_msg(pause_get_menu_msg(PAUSE_MSG_NOT_ENOUGH_BP), baseX + 86, baseY + 66, 255, MSG_PAL_WHITE, DRAW_MSG_STYLE_MENU);
#if VERSION_PAL
s32 wid = get_msg_width(pause_get_menu_msg(PAUSE_MSG_NOT_ENOUGH_BP), 0);
draw_box(DRAW_FLAG_NO_CLIP, &gPauseWS_13, baseX + (256 - wid) / 2, baseY + 60, 0, wid + 36, 26, 255,
0, 0, 0, 0, 0, 0, 0, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 0);
draw_msg(pause_get_menu_msg(PAUSE_MSG_NOT_ENOUGH_BP), baseX + (292 - wid) / 2, baseY + 66, 255,
MSG_PAL_WHITE, DRAW_MSG_STYLE_MENU);
#else
draw_box(DRAW_FLAG_NO_CLIP, &gPauseWS_13, baseX + 67, baseY + 60, 0, 137, 26, 255,
0, 0, 0, 0, 0, 0, 0, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 0);
draw_msg(pause_get_menu_msg(PAUSE_MSG_NOT_ENOUGH_BP), baseX + 86, baseY + 66, 255,
MSG_PAL_WHITE, DRAW_MSG_STYLE_MENU);
#endif
} else {
draw_box(DRAW_FLAG_NO_CLIP, &gPauseWS_13, baseX + 67, baseY + 60, 0, 173, 26, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 0);
draw_msg(pause_get_menu_msg(PAUSE_MSG_DONT_WEAR_MORE), baseX + 90, baseY + 66, 255, MSG_PAL_WHITE, DRAW_MSG_STYLE_MENU);
draw_box(DRAW_FLAG_NO_CLIP, &gPauseWS_13, baseX + 67, baseY + 60, 0, 173, 26, 255,
0, 0, 0, 0, 0, 0, 0, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 0);
draw_msg(pause_get_menu_msg(PAUSE_MSG_DONT_WEAR_MORE), baseX + 90, baseY + 66, 255,
MSG_PAL_WHITE, DRAW_MSG_STYLE_MENU);
}
}
}
#endif
void pause_badges_load_badges(s32 onlyEquipped) {
PlayerData* playerData = &gPlayerData;
@ -832,9 +900,6 @@ void pause_badges_load_badges(s32 onlyEquipped) {
gPauseBadgesTargetScrollPos = gPauseBadgesCurrentScrollPos = pause_badges_get_pos_y(0, 0);
}
#if VERSION_PAL
INCLUDE_ASM(void, "pause/pause_badges", pause_badges_init);
#else
void pause_badges_init(MenuPanel* panel) {
s32 i;
@ -852,7 +917,7 @@ void pause_badges_init(MenuPanel* panel) {
}
for (i = 0; i < ARRAY_COUNT(gPauseBadgesIconIDs); i++) {
s32 iconID = hud_element_create(gPauseBadgesElements[i]);
s32 iconID = hud_element_create(gPauseBadgesElements[gCurrentLanguage][i]);
gPauseBadgesIconIDs[i] = iconID;
hud_element_set_flags(iconID, HUD_ELEMENT_FLAG_80);
@ -864,7 +929,6 @@ void pause_badges_init(MenuPanel* panel) {
setup_pause_menu_tab(gPauseBadgesWindowBPs, ARRAY_COUNT(gPauseBadgesWindowBPs));
panel->initialized = TRUE;
}
#endif
void pause_badges_handle_input(MenuPanel* panel) {
s32 selectedIndex = gPauseBadgesSelectedIndex;

View File

@ -583,9 +583,6 @@ s32 pause_get_menu_msg(s32 index) {
return gPauseMessages[index];
}
#if VERSION_PAL
INCLUDE_ASM(void, "pause/pause_gfx", pause_draw_menu_label);
#else
void pause_draw_menu_label(s32 index, s32 x, s32 y) {
s32 xOffset = 64;
@ -607,8 +604,15 @@ void pause_draw_menu_label(s32 index, s32 x, s32 y) {
gSPDisplayList(gMainGfxPos++, gPauseDLLabels[index]);
pause_draw_rect(x * 4, y * 4, (x + xOffset) * 4, (y + 16) * 4, 0, 0, 0, 0x400, 0x400);
}
#if VERSION_PAL
if (gCurrentLanguage == LANGUAGE_DE && index == 5) {
s16 xOffset2 = xOffset;
pause_draw_rect((x + 30) * 4, (y * 4), (xOffset2 + x + 10) * 4, (y + 16) * 4, 0, 0x280, 0, 0x400, 0x400);
}
#endif
}
BSS s8 gPauseBufferPal1[512];
BSS s8 gPauseBufferImg1[15752];

View File

@ -40,11 +40,21 @@ extern HudScript HES_FPCost_de;
extern HudScript HES_FPCost_fr;
extern HudScript HES_FPCost_es;
extern u8 D_PAL_80271B38[];
extern u8 D_PAL_80271B3C[];
extern u8 D_PAL_80271B40[];
extern u8 D_PAL_80271B44[];
extern u8 D_PAL_80271B48[];
extern u8 D_PAL_80271B4C[];
extern u8 D_PAL_80271B50[];
#endif
HudScript* gPausePartnersIconScripts[][8] = {
[LANGUAGE_EN] = {
[LANGUAGE_DEFAULT] = {
&HES_FPCost, &HES_StatFp_1, &HES_PartnerRank, &HES_PartnerRank,
&HES_MoveDiamond, &HES_MoveBlueOrb, &HES_MoveGreenOrb, &HES_MoveRedOrb
},
#if VERSION_PAL
[LANGUAGE_DE] = {
&HES_FPCost_de, &HES_StatFp_1, &HES_PartnerRank, &HES_PartnerRank,
&HES_MoveDiamond, &HES_MoveBlueOrb, &HES_MoveGreenOrb, &HES_MoveRedOrb
@ -57,13 +67,8 @@ HudScript* gPausePartnersIconScripts[][8] = {
&HES_FPCost_es, &HES_StatFp_1, &HES_PartnerRank, &HES_PartnerRank,
&HES_MoveDiamond, &HES_MoveBlueOrb, &HES_MoveGreenOrb, &HES_MoveRedOrb
},
};
#else
HudScript* gPausePartnersIconScripts[] = {
&HES_FPCost, &HES_StatFp_1, &HES_PartnerRank, &HES_PartnerRank,
&HES_MoveDiamond, &HES_MoveBlueOrb, &HES_MoveGreenOrb, &HES_MoveRedOrb
};
#endif
};
Vp gPausePartnersViewport = {
.vp = {
@ -495,9 +500,6 @@ void pause_partners_draw_title(MenuPanel* menu, s32 baseX, s32 baseY, s32 width,
}
}
#if VERSION_PAL
INCLUDE_ASM(void, "pause/pause_partners", pause_partners_draw_movelist);
#else
void pause_partners_draw_movelist(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening) {
s32 i;
s32 moveNameID;
@ -543,9 +545,19 @@ void pause_partners_draw_movelist(MenuPanel* menu, s32 baseX, s32 baseY, s32 wid
hud_element_draw_without_clipping(gPausePartnersIconIDs[i + 4]);
if (costFP != 0) {
draw_number(costFP, baseX + 125, baseY + 22 + i * 13, style, MSG_PAL_STANDARD, 255, DRAW_NUMBER_STYLE_MONOSPACE | DRAW_NUMBER_STYLE_ALIGN_RIGHT);
s32 xOffset = 125;
#if VERSION_PAL
xOffset = D_PAL_80271B44[gCurrentLanguage];
#endif
draw_number(costFP, baseX + xOffset, baseY + 22 + i * 13, style, MSG_PAL_STANDARD, 255, DRAW_NUMBER_STYLE_MONOSPACE | DRAW_NUMBER_STYLE_ALIGN_RIGHT);
if (costFP > 0) {
#if VERSION_PAL
hud_element_set_render_pos(gPausePartnersIconIDs[0], baseX + D_PAL_80271B44[gCurrentLanguage] + 9, baseY + 29 + i * 13);
#else
hud_element_set_render_pos(gPausePartnersIconIDs[0], baseX + 134, baseY + 29 + i * 13);
#endif
hud_element_draw_without_clipping(gPausePartnersIconIDs[0]);
}
}
@ -555,24 +567,25 @@ void pause_partners_draw_movelist(MenuPanel* menu, s32 baseX, s32 baseY, s32 wid
pause_set_cursor_pos(WINDOW_ID_PAUSE_PARTNERS_MOVELIST, baseX - 2, baseY + 28 + gPausePartnersSelectedMove * 13);
}
}
#endif
void pause_partners_draw_movelist_title(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening) {
s32 msgID = pause_get_menu_msg(PAUSE_MSG_PARTNER_ABILITIES);
s32 xOffset;
#if VERSION_PAL
INCLUDE_ASM(void, "pause/pause_partners", pause_partners_draw_movelist_title);
xOffset = D_PAL_80271B38[gCurrentLanguage];
#else
void pause_partners_draw_movelist_title(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening) {
draw_msg(pause_get_menu_msg(PAUSE_MSG_PARTNER_ABILITIES), baseX + 12, baseY + 1, 255, -1, DRAW_MSG_STYLE_MENU);
}
xOffset = 12;
#endif
draw_msg(msgID, baseX + xOffset, baseY + 1, 255, -1, DRAW_MSG_STYLE_MENU);
}
void pause_partners_draw_movelist_flower(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening) {
hud_element_set_render_pos(gPausePartnersIconIDs[1], baseX + 17, baseY + 16);
hud_element_draw_without_clipping(gPausePartnersIconIDs[1]);
}
#if VERSION_PAL
INCLUDE_ASM(void, "pause/pause_partners", pause_partners_init);
#else
void pause_partners_init(MenuPanel* panel) {
s32 i;
PlayerData* playerData = get_player_data();
@ -595,8 +608,8 @@ void pause_partners_init(MenuPanel* panel) {
gPausePartnersSpriteIDs[i] = spr_load_npc_sprite(gPausePartnersSpriteAnims[i][0], gPausePartnersSpriteAnims[i]);
}
for (i = 0; i < ARRAY_COUNT(gPausePartnersIconScripts); i++) {
gPausePartnersIconIDs[i] = hud_element_create(gPausePartnersIconScripts[i]);
for (i = 0; i < ARRAY_COUNT(gPausePartnersIconScripts[0]); i++) {
gPausePartnersIconIDs[i] = hud_element_create(gPausePartnersIconScripts[gCurrentLanguage][i]);
hud_element_set_flags(gPausePartnersIconIDs[i], HUD_ELEMENT_FLAG_80);
}
@ -605,6 +618,14 @@ void pause_partners_init(MenuPanel* panel) {
}
setup_pause_menu_tab(gPausePartnersWindowBPs, ARRAY_COUNT(gPausePartnersWindowBPs));
#if VERSION_PAL
gWindows[WINDOW_ID_PAUSE_PARTNERS_MOVELIST_TITLE].width = D_PAL_80271B50[gCurrentLanguage];
gWindows[WINDOW_ID_PAUSE_PARTNERS_MOVELIST_TITLE].pos.x = D_PAL_80271B4C[gCurrentLanguage];
gWindows[WINDOW_ID_PAUSE_PARTNERS_MOVELIST].width = D_PAL_80271B40[gCurrentLanguage];
gWindows[WINDOW_ID_PAUSE_PARTNERS_MOVELIST].pos.x = D_PAL_80271B3C[gCurrentLanguage];
gWindows[WINDOW_ID_PAUSE_PARTNERS_MOVELIST_FLOWER].pos.x = D_PAL_80271B48[gCurrentLanguage];
#endif
gPausePartnersCurrentPartnerIdx = 0;
for (i = 0; i < gPausePartnersNumPartners; i++) {
if (playerData->currentPartner == gPausePartnersPartnerIDs[gPausePartnersPartnerIdx[i]]) {
@ -619,7 +640,6 @@ void pause_partners_init(MenuPanel* panel) {
pause_partners_load_portrait(0);
panel->initialized = TRUE;
}
#endif
void pause_partners_handle_input(MenuPanel* panel) {
s32 delta;

View File

@ -44,12 +44,14 @@ extern HudScript HES_HeaderItems_es;
extern HudScript HES_HeaderParty_es;
extern HudScript HES_HeaderSpirits_es;
extern HudScript HES_HeaderMap_es;
#endif
HudScript* gPauseTabsHudScripts[][6] = {
[LANGUAGE_EN] = {
[LANGUAGE_DEFAULT] = {
&HES_HeaderStats, &HES_HeaderBadges, &HES_HeaderItems,
&HES_HeaderParty, &HES_HeaderSpirits, &HES_HeaderMap
},
#if VERSION_PAL
[LANGUAGE_DE] = {
&HES_HeaderStats_de, &HES_HeaderBadges_de, &HES_HeaderItems_de,
&HES_HeaderParty_de, &HES_HeaderSpirits_de, &HES_HeaderMap_de
@ -62,11 +64,9 @@ HudScript* gPauseTabsHudScripts[][6] = {
&HES_HeaderStats_es, &HES_HeaderBadges_es, &HES_HeaderItems_es,
&HES_HeaderParty_es, &HES_HeaderSpirits_es, &HES_HeaderMap_es
},
};
#else
HudScript* gPauseTabsHudScripts[] = { &HES_HeaderStats, &HES_HeaderBadges, &HES_HeaderItems,
&HES_HeaderParty, &HES_HeaderSpirits, &HES_HeaderMap };
#endif
};
s8 gPauseTabsGridData[] = { 0, 1, 2, 3, 4, 5 };
u8 gPauseTabsPanelIDs[] = { 1, 2, 3, 4, 5, 6 };
u8 gPauseTabsWindowIDs[] = { WINDOW_ID_PAUSE_TAB_STATS, WINDOW_ID_PAUSE_TAB_BADGES, WINDOW_ID_PAUSE_TAB_ITEMS, WINDOW_ID_PAUSE_TAB_PARTY, WINDOW_ID_PAUSE_TAB_SPIRITS, WINDOW_ID_PAUSE_TAB_MAP };
@ -309,14 +309,19 @@ void pause_tabs_draw_map(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32 h
}
}
#if VERSION_PAL
INCLUDE_ASM(void, "pause/pause_tabs", pause_tabs_init);
#else
// #if VERSION_PAL
// INCLUDE_ASM(void, "pause/pause_tabs", pause_tabs_init);
// #else
void pause_tabs_init(MenuPanel* tab) {
s32 i;
for (i = 0; i < ARRAY_COUNT(gPauseTabsHudScripts); i++) {
gPauseTabsIconIDs[i] = hud_element_create(gPauseTabsHudScripts[i]);
for (i = 0; i < ARRAY_COUNT(gPauseTabsHudScripts[0]); i++) {
HudScript* hs;
//hs = gPauseTabsHudScripts[i];
hs = gPauseTabsHudScripts[gCurrentLanguage][i];
gPauseTabsIconIDs[i] = hud_element_create(hs);
hud_element_set_flags(gPauseTabsIconIDs[i], HUD_ELEMENT_FLAG_80);
}
@ -330,7 +335,7 @@ void pause_tabs_init(MenuPanel* tab) {
tab->initialized = TRUE;
gPauseTabsPreviousTab = 5;
}
#endif
//#endif
void pause_tabs_handle_input(MenuPanel* tab) {
Window* pauseWindows;

View File

@ -154,7 +154,7 @@ void state_step_language_select(void) {
clear_entity_data(0);
clear_trigger_data();
nuPiReadRomOverlay(&D_8007798C);
filemenu_init(TRUE);
filemenu_init(1);
gOverrideFlags &= ~GLOBAL_OVERRIDES_8;
set_screen_overlay_params_front(OVERLAY_NONE, 255.0f);
}
@ -193,7 +193,7 @@ void state_step_file_select(void) {
D_800A0930 = -1;
battle_heap_create();
nuPiReadRomOverlay(&D_8007798C);
filemenu_init(FALSE);
filemenu_init(0);
}
}

View File

@ -21,7 +21,6 @@ YAY0_COMPRESS_TOOL = f"{BUILD_TOOLS}/yay0/Yay0compress"
CRC_TOOL = f"{BUILD_TOOLS}/rom/n64crc"
def exec_shell(command: List[str]) -> str:
ret = subprocess.run(command, stdout=subprocess.PIPE, text=True)
return ret.stdout
@ -273,7 +272,7 @@ def write_ninja_rules(
with Path("tools/permuter_settings.toml").open("w") as f:
f.write(
f"compiler_command = \"{cc} {CPPFLAGS.replace('$version', 'us')} {cflags} -DPERMUTER -fforce-addr\"\n"
f"compiler_command = \"{cc} {CPPFLAGS.replace('$version', 'pal')} {cflags} -DPERMUTER -fforce-addr\"\n"
)
f.write(
f'assembler_command = "{cross}as -EB -march=vr4300 -mtune=vr4300 -Iinclude"\n'
@ -897,11 +896,9 @@ class Configure:
tex_dir = path.parent / name
build(
bin_path,
[tex_dir],
[tex_dir, path.parent / (name + ".json")],
"tex",
variables={
"tex_dir": str(tex_dir)
}
variables={"tex_dir": str(tex_dir)},
)
elif name.endswith("_shape"):
map_name = "_".join(name.split("_")[:-1])

View File

@ -14,9 +14,9 @@ src_dir = root_dir + "src/"
CPP_FLAGS = [
"-Iinclude",
"-Isrc",
"-Iassets/us",
"-Iver/current/include",
"-Iver/current/build/include",
"-Iassets/pal",
"-Iver/pal/include",
"-Iver/pal/build/include",
"-D_LANGUAGE_C",
"-DF3DEX_GBI_2",
"-D_MIPS_SZLONG=32",
@ -25,6 +25,7 @@ CPP_FLAGS = [
"-D__asm__(test...)=",
"-ffreestanding",
"-DM2CTX",
"-DVERSION_PAL",
]
def import_c_file(in_file) -> str:

View File

@ -1,145 +0,0 @@
.set noat /* allow manual use of $at */
.set noreorder /* don't insert nops after branches */
/* Generated by spimdisasm 1.11.1 */
glabel chapter_change_appendGfx
/* 419418 E010E558 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 41941C E010E55C 3C07DB06 */ lui $a3, (0xDB060024 >> 16)
/* 419420 E010E560 3C068009 */ lui $a2, %hi(gMainGfxPos)
/* 419424 E010E564 24C66A44 */ addiu $a2, $a2, %lo(gMainGfxPos)
/* 419428 E010E568 34E70024 */ ori $a3, $a3, (0xDB060024 & 0xFFFF)
/* 41942C E010E56C AFBF0024 */ sw $ra, 0x24($sp)
/* 419430 E010E570 AFB20020 */ sw $s2, 0x20($sp)
/* 419434 E010E574 AFB1001C */ sw $s1, 0x1C($sp)
/* 419438 E010E578 AFB00018 */ sw $s0, 0x18($sp)
/* 41943C E010E57C 8CC50000 */ lw $a1, 0x0($a2)
/* 419440 E010E580 8C90000C */ lw $s0, 0xC($a0)
/* 419444 E010E584 00A0182D */ daddu $v1, $a1, $zero
/* 419448 E010E588 24A50008 */ addiu $a1, $a1, 0x8
/* 41944C E010E58C ACC50000 */ sw $a1, 0x0($a2)
/* 419450 E010E590 8E0B002C */ lw $t3, 0x2C($s0)
/* 419454 E010E594 8E080000 */ lw $t0, 0x0($s0)
/* 419458 E010E598 3C02E700 */ lui $v0, (0xE7000000 >> 16)
/* 41945C E010E59C AC620000 */ sw $v0, 0x0($v1)
/* 419460 E010E5A0 AC600004 */ sw $zero, 0x4($v1)
/* 419464 E010E5A4 ACA70000 */ sw $a3, 0x0($a1)
/* 419468 E010E5A8 8C830010 */ lw $v1, 0x10($a0)
/* 41946C E010E5AC 24A20008 */ addiu $v0, $a1, 0x8
/* 419470 E010E5B0 ACC20000 */ sw $v0, 0x0($a2)
/* 419474 E010E5B4 8C62001C */ lw $v0, 0x1C($v1)
/* 419478 E010E5B8 3C038000 */ lui $v1, (0x80000000 >> 16)
/* 41947C E010E5BC 00431021 */ addu $v0, $v0, $v1
/* 419480 E010E5C0 ACA20004 */ sw $v0, 0x4($a1)
/* 419484 E010E5C4 2D020013 */ sltiu $v0, $t0, 0x13
/* 419488 E010E5C8 10400025 */ beqz $v0, .LPAL_E010E660
/* 41948C E010E5CC 00081080 */ sll $v0, $t0, 2
/* 419490 E010E5D0 3C01E011 */ lui $at, (0xE0110000 >> 16)
/* 419494 E010E5D4 00220821 */ addu $at, $at, $v0
/* 419498 E010E5D8 8C22E9C0 */ lw $v0, -0x1640($at)
/* 41949C E010E5DC 00400008 */ jr $v0
/* 4194A0 E010E5E0 00000000 */ nop
/* 4194A4 E010E5E4 3C06E011 */ lui $a2, %hi(D_E010E7FC)
/* 4194A8 E010E5E8 24C6E81C */ addiu $a2, $a2, %lo(D_E010E7FC)
/* 4194AC E010E5EC 3C04E011 */ lui $a0, %hi(D_E010E868)
/* 4194B0 E010E5F0 2484E8F4 */ addiu $a0, $a0, %lo(D_E010E868)
/* 4194B4 E010E5F4 2503FFFF */ addiu $v1, $t0, -0x1
/* 4194B8 E010E5F8 00031040 */ sll $v0, $v1, 1
/* 4194BC E010E5FC 00431021 */ addu $v0, $v0, $v1
/* 4194C0 E010E600 000210C0 */ sll $v0, $v0, 3
/* 4194C4 E010E604 0804399A */ j .LPAL_E010E668
/* 4194C8 E010E608 00448821 */ addu $s1, $v0, $a0
/* 4194CC E010E60C 3C06E011 */ lui $a2, %hi(D_E010E7D8)
/* 4194D0 E010E610 24C6E7F8 */ addiu $a2, $a2, %lo(D_E010E7D8)
/* 4194D4 E010E614 0804399A */ j .LPAL_E010E668
/* 4194D8 E010E618 0000882D */ daddu $s1, $zero, $zero
/* 4194DC E010E61C 3C038015 */ lui $v1, %hi(gCurrentLanguage)
/* 4194E0 E010E620 8C63AE4C */ lw $v1, %lo(gCurrentLanguage)($v1)
/* 4194E4 E010E624 24020001 */ addiu $v0, $zero, 0x1
/* 4194E8 E010E628 14620007 */ bne $v1, $v0, .LPAL_E010E648
/* 4194EC E010E62C 0200202D */ daddu $a0, $s0, $zero
/* 4194F0 E010E630 3C06E011 */ lui $a2, %hi(D_E010E838_b)
/* 4194F4 E010E634 24C6E888 */ addiu $a2, $a2, %lo(D_E010E838_b)
/* 4194F8 E010E638 3C11E011 */ lui $s1, %hi(D_E010E838_c)
/* 4194FC E010E63C 2631E8C4 */ addiu $s1, $s1, %lo(D_E010E838_c)
/* 419500 E010E640 0804399C */ j .LPAL_E010E670
/* 419504 E010E644 0000282D */ daddu $a1, $zero, $zero
.LPAL_E010E648:
/* 419508 E010E648 3C06E011 */ lui $a2, %hi(D_E010E79C)
/* 41950C E010E64C 24C6E7BC */ addiu $a2, $a2, %lo(D_E010E79C)
/* 419510 E010E650 3C11E011 */ lui $s1, %hi(D_E010E838)
/* 419514 E010E654 2631E858 */ addiu $s1, $s1, %lo(D_E010E838)
/* 419518 E010E658 0804399C */ j .LPAL_E010E670
/* 41951C E010E65C 0000282D */ daddu $a1, $zero, $zero
.LPAL_E010E660:
/* 419520 E010E660 0000882D */ daddu $s1, $zero, $zero
/* 419524 E010E664 0220302D */ daddu $a2, $s1, $zero
.LPAL_E010E668:
/* 419528 E010E668 0200202D */ daddu $a0, $s0, $zero
/* 41952C E010E66C 0000282D */ daddu $a1, $zero, $zero
.LPAL_E010E670:
/* 419530 E010E670 3C128009 */ lui $s2, %hi(gMainGfxPos)
/* 419534 E010E674 26526A44 */ addiu $s2, $s2, %lo(gMainGfxPos)
/* 419538 E010E678 8E490000 */ lw $t1, 0x0($s2)
/* 41953C E010E67C 3C02FA00 */ lui $v0, (0xFA000000 >> 16)
/* 419540 E010E680 0120502D */ daddu $t2, $t1, $zero
/* 419544 E010E684 25290008 */ addiu $t1, $t1, 0x8
/* 419548 E010E688 AE490000 */ sw $t1, 0x0($s2)
/* 41954C E010E68C AD420000 */ sw $v0, 0x0($t2)
/* 419550 E010E690 92020023 */ lbu $v0, 0x23($s0)
/* 419554 E010E694 92070027 */ lbu $a3, 0x27($s0)
/* 419558 E010E698 9208002B */ lbu $t0, 0x2B($s0)
/* 41955C E010E69C 25230008 */ addiu $v1, $t1, 0x8
/* 419560 E010E6A0 AE430000 */ sw $v1, 0x0($s2)
/* 419564 E010E6A4 316300FF */ andi $v1, $t3, 0xFF
/* 419568 E010E6A8 00021600 */ sll $v0, $v0, 24
/* 41956C E010E6AC 00073C00 */ sll $a3, $a3, 16
/* 419570 E010E6B0 00471025 */ or $v0, $v0, $a3
/* 419574 E010E6B4 00084200 */ sll $t0, $t0, 8
/* 419578 E010E6B8 00481025 */ or $v0, $v0, $t0
/* 41957C E010E6BC 00431025 */ or $v0, $v0, $v1
/* 419580 E010E6C0 AD420004 */ sw $v0, 0x4($t2)
/* 419584 E010E6C4 3C02FB00 */ lui $v0, (0xFB000000 >> 16)
/* 419588 E010E6C8 AD220000 */ sw $v0, 0x0($t1)
/* 41958C E010E6CC 92020033 */ lbu $v0, 0x33($s0)
/* 419590 E010E6D0 92030037 */ lbu $v1, 0x37($s0)
/* 419594 E010E6D4 9207003B */ lbu $a3, 0x3B($s0)
/* 419598 E010E6D8 00021600 */ sll $v0, $v0, 24
/* 41959C E010E6DC 00031C00 */ sll $v1, $v1, 16
/* 4195A0 E010E6E0 00431025 */ or $v0, $v0, $v1
/* 4195A4 E010E6E4 00073A00 */ sll $a3, $a3, 8
/* 4195A8 E010E6E8 9203003F */ lbu $v1, 0x3F($s0)
/* 4195AC E010E6EC 00471025 */ or $v0, $v0, $a3
/* 4195B0 E010E6F0 00431025 */ or $v0, $v0, $v1
/* 4195B4 E010E6F4 0C043800 */ jal func_E010E000
/* 4195B8 E010E6F8 AD220004 */ sw $v0, 0x4($t1)
/* 4195BC E010E6FC 0200202D */ daddu $a0, $s0, $zero
/* 4195C0 E010E700 24050001 */ addiu $a1, $zero, 0x1
/* 4195C4 E010E704 0C043800 */ jal func_E010E000
/* 4195C8 E010E708 0220302D */ daddu $a2, $s1, $zero
/* 4195CC E010E70C 8E020054 */ lw $v0, 0x54($s0)
/* 4195D0 E010E710 0440000A */ bltz $v0, .LPAL_E010E73C
/* 4195D4 E010E714 24020015 */ addiu $v0, $zero, 0x15
/* 4195D8 E010E718 8E030040 */ lw $v1, 0x40($s0)
/* 4195DC E010E71C 8E050048 */ lw $a1, 0x48($s0)
/* 4195E0 E010E720 240700FF */ addiu $a3, $zero, 0xFF
/* 4195E4 E010E724 AFA20010 */ sw $v0, 0x10($sp)
/* 4195E8 E010E728 AFA00014 */ sw $zero, 0x14($sp)
/* 4195EC E010E72C 8E040054 */ lw $a0, 0x54($s0)
/* 4195F0 E010E730 8E060044 */ lw $a2, 0x44($s0)
/* 4195F4 E010E734 0C080194 */ jal shim_draw_msg
/* 4195F8 E010E738 00652823 */ subu $a1, $v1, $a1
.LPAL_E010E73C:
/* 4195FC E010E73C 8E420000 */ lw $v0, 0x0($s2)
/* 419600 E010E740 0040182D */ daddu $v1, $v0, $zero
/* 419604 E010E744 24420008 */ addiu $v0, $v0, 0x8
/* 419608 E010E748 AE420000 */ sw $v0, 0x0($s2)
/* 41960C E010E74C 3C02E700 */ lui $v0, (0xE7000000 >> 16)
/* 419610 E010E750 AC620000 */ sw $v0, 0x0($v1)
/* 419614 E010E754 AC600004 */ sw $zero, 0x4($v1)
/* 419618 E010E758 8FBF0024 */ lw $ra, 0x24($sp)
/* 41961C E010E75C 8FB20020 */ lw $s2, 0x20($sp)
/* 419620 E010E760 8FB1001C */ lw $s1, 0x1C($sp)
/* 419624 E010E764 8FB00018 */ lw $s0, 0x18($sp)
/* 419628 E010E768 03E00008 */ jr $ra
/* 41962C E010E76C 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -1,138 +0,0 @@
.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

@ -1,547 +0,0 @@
.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

@ -1,249 +0,0 @@
.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

@ -1,47 +0,0 @@
.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

View File

@ -487,8 +487,8 @@ glabel filemenu_yesno_handle_input
/* 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)
/* 1744D0 8024BAB0 3C05800D */ lui $a1, %hi(D_800D95E8)
/* 1744D4 8024BAB4 24A55D58 */ addiu $a1, $a1, %lo(D_800D95E8)
/* 1744D8 8024BAB8 8CA20038 */ lw $v0, 0x38($a1)
/* 1744DC 8024BABC 3C038007 */ lui $v1, %hi(gGameStatusPtr)
/* 1744E0 8024BAC0 8C6314AC */ lw $v1, %lo(gGameStatusPtr)($v1)
@ -512,8 +512,8 @@ glabel filemenu_yesno_handle_input
/* 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)
/* 174530 8024BB10 3C03800D */ lui $v1, %hi(D_800D95E8)
/* 174534 8024BB14 24635D58 */ addiu $v1, $v1, %lo(D_800D95E8)
/* 174538 8024BB18 AC70003C */ sw $s0, 0x3C($v1)
/* 17453C 8024BB1C AC620040 */ sw $v0, 0x40($v1)
/* 174540 8024BB20 24020001 */ addiu $v0, $zero, 0x1

View File

@ -1,77 +0,0 @@
.set noat /* allow manual use of $at */
.set noreorder /* don't insert nops after branches */
/* Generated by spimdisasm 1.11.1 */
glabel pause_badges_init
/* 141F54 8024D114 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 141F58 8024D118 AFB20018 */ sw $s2, 0x18($sp)
/* 141F5C 8024D11C 0080902D */ daddu $s2, $a0, $zero
/* 141F60 8024D120 AFBF0020 */ sw $ra, 0x20($sp)
/* 141F64 8024D124 AFB3001C */ sw $s3, 0x1C($sp)
/* 141F68 8024D128 AFB10014 */ sw $s1, 0x14($sp)
/* 141F6C 8024D12C 0C092C21 */ jal pause_badges_count_all
/* 141F70 8024D130 AFB00010 */ sw $s0, 0x10($sp)
/* 141F74 8024D134 3C018027 */ lui $at, %hi(gPauseBadgesLevel)
/* 141F78 8024D138 AC202768 */ sw $zero, %lo(gPauseBadgesLevel)($at)
/* 141F7C 8024D13C 3C018027 */ lui $at, %hi(gPauseBadgesCurrentTab)
/* 141F80 8024D140 AC20276C */ sw $zero, %lo(gPauseBadgesCurrentTab)($at)
/* 141F84 8024D144 3C018027 */ lui $at, %hi(gPauseBadgesShowNotEnoughBP)
/* 141F88 8024D148 AC202770 */ sw $zero, %lo(gPauseBadgesShowNotEnoughBP)($at)
/* 141F8C 8024D14C 0C0933B8 */ jal pause_badges_load_badges
/* 141F90 8024D150 0000202D */ daddu $a0, $zero, $zero
/* 141F94 8024D154 3C038027 */ lui $v1, %hi(gPauseBadgesItemIds)
/* 141F98 8024D158 84632550 */ lh $v1, %lo(gPauseBadgesItemIds)($v1)
/* 141F9C 8024D15C 24027FFE */ addiu $v0, $zero, 0x7FFE
/* 141FA0 8024D160 14620003 */ bne $v1, $v0, .Lpause_8024D170
/* 141FA4 8024D164 0000802D */ daddu $s0, $zero, $zero
/* 141FA8 8024D168 08093481 */ j .Lpause_8024D204
/* 141FAC 8024D16C A2400000 */ sb $zero, 0x0($s2)
.Lpause_8024D170:
/* 141FB0 8024D170 3C138025 */ lui $s3, %hi(gPauseBadgesElements)
/* 141FB4 8024D174 267338C0 */ addiu $s3, $s3, %lo(gPauseBadgesElements)
/* 141FB8 8024D178 3C118027 */ lui $s1, %hi(gPauseBadgesIconIDs)
/* 141FBC 8024D17C 26312778 */ addiu $s1, $s1, %lo(gPauseBadgesIconIDs)
.Lpause_8024D180:
/* 141FC0 8024D180 3C038015 */ lui $v1, %hi(gCurrentLanguage)
/* 141FC4 8024D184 8C63AE4C */ lw $v1, %lo(gCurrentLanguage)($v1)
/* 141FC8 8024D188 00102080 */ sll $a0, $s0, 2
/* 141FCC 8024D18C 00031040 */ sll $v0, $v1, 1
/* 141FD0 8024D190 00431021 */ addu $v0, $v0, $v1
/* 141FD4 8024D194 00021080 */ sll $v0, $v0, 2
/* 141FD8 8024D198 00431023 */ subu $v0, $v0, $v1
/* 141FDC 8024D19C 000210C0 */ sll $v0, $v0, 3
/* 141FE0 8024D1A0 00822021 */ addu $a0, $a0, $v0
/* 141FE4 8024D1A4 00932021 */ addu $a0, $a0, $s3
/* 141FE8 8024D1A8 8C840000 */ lw $a0, 0x0($a0)
/* 141FEC 8024D1AC 0C050015 */ jal hud_element_create
/* 141FF0 8024D1B0 26100001 */ addiu $s0, $s0, 0x1
/* 141FF4 8024D1B4 0040202D */ daddu $a0, $v0, $zero
/* 141FF8 8024D1B8 24050080 */ addiu $a1, $zero, 0x80
/* 141FFC 8024D1BC 0C050D6C */ jal hud_element_set_flags
/* 142000 8024D1C0 AE240000 */ sw $a0, 0x0($s1)
/* 142004 8024D1C4 2A020016 */ slti $v0, $s0, 0x16
/* 142008 8024D1C8 1440FFED */ bnez $v0, .Lpause_8024D180
/* 14200C 8024D1CC 26310004 */ addiu $s1, $s1, 0x4
/* 142010 8024D1D0 0000802D */ daddu $s0, $zero, $zero
/* 142014 8024D1D4 3C028025 */ lui $v0, %hi(gPauseBadgesWindowBPs)
/* 142018 8024D1D8 24423A20 */ addiu $v0, $v0, %lo(gPauseBadgesWindowBPs)
.Lpause_8024D1DC:
/* 14201C 8024D1DC AC520010 */ sw $s2, 0x10($v0)
/* 142020 8024D1E0 26100001 */ addiu $s0, $s0, 0x1
/* 142024 8024D1E4 1A00FFFD */ blez $s0, .Lpause_8024D1DC
/* 142028 8024D1E8 24420024 */ addiu $v0, $v0, 0x24
/* 14202C 8024D1EC 3C048025 */ lui $a0, %hi(gPauseBadgesWindowBPs)
/* 142030 8024D1F0 24843A20 */ addiu $a0, $a0, %lo(gPauseBadgesWindowBPs)
/* 142034 8024D1F4 0C051AB8 */ jal setup_pause_menu_tab
/* 142038 8024D1F8 24050001 */ addiu $a1, $zero, 0x1
/* 14203C 8024D1FC 24020001 */ addiu $v0, $zero, 0x1
/* 142040 8024D200 A2420000 */ sb $v0, 0x0($s2)
.Lpause_8024D204:
/* 142044 8024D204 8FBF0020 */ lw $ra, 0x20($sp)
/* 142048 8024D208 8FB3001C */ lw $s3, 0x1C($sp)
/* 14204C 8024D20C 8FB20018 */ lw $s2, 0x18($sp)
/* 142050 8024D210 8FB10014 */ lw $s1, 0x14($sp)
/* 142054 8024D214 8FB00010 */ lw $s0, 0x10($sp)
/* 142058 8024D218 03E00008 */ jr $ra
/* 14205C 8024D21C 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -1,99 +0,0 @@
.set noat /* allow manual use of $at */
.set noreorder /* don't insert nops after branches */
/* Generated by spimdisasm 1.11.1 */
glabel pause_draw_menu_label
/* 147FD4 80253194 27BDFFB8 */ addiu $sp, $sp, -0x48
/* 147FD8 80253198 AFB1002C */ sw $s1, 0x2C($sp)
/* 147FDC 8025319C 0080882D */ daddu $s1, $a0, $zero
/* 147FE0 802531A0 AFB40038 */ sw $s4, 0x38($sp)
/* 147FE4 802531A4 00A0A02D */ daddu $s4, $a1, $zero
/* 147FE8 802531A8 00C0382D */ daddu $a3, $a2, $zero
/* 147FEC 802531AC AFB00028 */ sw $s0, 0x28($sp)
/* 147FF0 802531B0 24100040 */ addiu $s0, $zero, 0x40
/* 147FF4 802531B4 24020008 */ addiu $v0, $zero, 0x8
/* 147FF8 802531B8 AFBF0044 */ sw $ra, 0x44($sp)
/* 147FFC 802531BC AFB60040 */ sw $s6, 0x40($sp)
/* 148000 802531C0 AFB5003C */ sw $s5, 0x3C($sp)
/* 148004 802531C4 AFB30034 */ sw $s3, 0x34($sp)
/* 148008 802531C8 16220002 */ bne $s1, $v0, .Lpause_802531D4
/* 14800C 802531CC AFB20030 */ sw $s2, 0x30($sp)
/* 148010 802531D0 24100080 */ addiu $s0, $zero, 0x80
.Lpause_802531D4:
/* 148014 802531D4 24020003 */ addiu $v0, $zero, 0x3
/* 148018 802531D8 52220001 */ beql $s1, $v0, .Lpause_802531E0
/* 14801C 802531DC 24100030 */ addiu $s0, $zero, 0x30
.Lpause_802531E0:
/* 148020 802531E0 24020004 */ addiu $v0, $zero, 0x4
/* 148024 802531E4 52220001 */ beql $s1, $v0, .Lpause_802531EC
/* 148028 802531E8 24100030 */ addiu $s0, $zero, 0x30
.Lpause_802531EC:
/* 14802C 802531EC 24160005 */ addiu $s6, $zero, 0x5
/* 148030 802531F0 52360001 */ beql $s1, $s6, .Lpause_802531F8
/* 148034 802531F4 24100030 */ addiu $s0, $zero, 0x30
.Lpause_802531F8:
/* 148038 802531F8 24020006 */ addiu $v0, $zero, 0x6
/* 14803C 802531FC 52220001 */ beql $s1, $v0, .Lpause_80253204
/* 148040 80253200 241000A0 */ addiu $s0, $zero, 0xA0
.Lpause_80253204:
/* 148044 80253204 00142080 */ sll $a0, $s4, 2
/* 148048 80253208 0007A880 */ sll $s5, $a3, 2
/* 14804C 8025320C 02A0282D */ daddu $a1, $s5, $zero
/* 148050 80253210 02903021 */ addu $a2, $s4, $s0
/* 148054 80253214 00063080 */ sll $a2, $a2, 2
/* 148058 80253218 3C098009 */ lui $t1, %hi(gMainGfxPos)
/* 14805C 8025321C 25296A44 */ addiu $t1, $t1, %lo(gMainGfxPos)
/* 148060 80253220 24E20010 */ addiu $v0, $a3, 0x10
/* 148064 80253224 00029880 */ sll $s3, $v0, 2
/* 148068 80253228 0260382D */ daddu $a3, $s3, $zero
/* 14806C 8025322C 3C02DE00 */ lui $v0, (0xDE000000 >> 16)
/* 148070 80253230 8D230000 */ lw $v1, 0x0($t1)
/* 148074 80253234 24120400 */ addiu $s2, $zero, 0x400
/* 148078 80253238 0060402D */ daddu $t0, $v1, $zero
/* 14807C 8025323C AD020000 */ sw $v0, 0x0($t0)
/* 148080 80253240 00111080 */ sll $v0, $s1, 2
/* 148084 80253244 3C018027 */ lui $at, %hi(gPauseDLLabels)
/* 148088 80253248 00220821 */ addu $at, $at, $v0
/* 14808C 8025324C 8C221CA0 */ lw $v0, %lo(gPauseDLLabels)($at)
/* 148090 80253250 24630008 */ addiu $v1, $v1, 0x8
/* 148094 80253254 AD230000 */ sw $v1, 0x0($t1)
/* 148098 80253258 AD020004 */ sw $v0, 0x4($t0)
/* 14809C 8025325C AFA00010 */ sw $zero, 0x10($sp)
/* 1480A0 80253260 AFA00014 */ sw $zero, 0x14($sp)
/* 1480A4 80253264 AFA00018 */ sw $zero, 0x18($sp)
/* 1480A8 80253268 AFB2001C */ sw $s2, 0x1C($sp)
/* 1480AC 8025326C 0C0921DA */ jal pause_draw_rect
/* 1480B0 80253270 AFB20020 */ sw $s2, 0x20($sp)
/* 1480B4 80253274 3C038015 */ lui $v1, %hi(gCurrentLanguage)
/* 1480B8 80253278 8C63AE4C */ lw $v1, %lo(gCurrentLanguage)($v1)
/* 1480BC 8025327C 24020001 */ addiu $v0, $zero, 0x1
/* 1480C0 80253280 14620010 */ bne $v1, $v0, .Lpause_802532C4
/* 1480C4 80253284 00000000 */ nop
/* 1480C8 80253288 1636000E */ bne $s1, $s6, .Lpause_802532C4
/* 1480CC 8025328C 2684001E */ addiu $a0, $s4, 0x1E
/* 1480D0 80253290 00042080 */ sll $a0, $a0, 2
/* 1480D4 80253294 02A0282D */ daddu $a1, $s5, $zero
/* 1480D8 80253298 02143021 */ addu $a2, $s0, $s4
/* 1480DC 8025329C 24C6000A */ addiu $a2, $a2, 0xA
/* 1480E0 802532A0 00063080 */ sll $a2, $a2, 2
/* 1480E4 802532A4 0260382D */ daddu $a3, $s3, $zero
/* 1480E8 802532A8 24020280 */ addiu $v0, $zero, 0x280
/* 1480EC 802532AC AFA00010 */ sw $zero, 0x10($sp)
/* 1480F0 802532B0 AFA20014 */ sw $v0, 0x14($sp)
/* 1480F4 802532B4 AFA00018 */ sw $zero, 0x18($sp)
/* 1480F8 802532B8 AFB2001C */ sw $s2, 0x1C($sp)
/* 1480FC 802532BC 0C0921DA */ jal pause_draw_rect
/* 148100 802532C0 AFB20020 */ sw $s2, 0x20($sp)
.Lpause_802532C4:
/* 148104 802532C4 8FBF0044 */ lw $ra, 0x44($sp)
/* 148108 802532C8 8FB60040 */ lw $s6, 0x40($sp)
/* 14810C 802532CC 8FB5003C */ lw $s5, 0x3C($sp)
/* 148110 802532D0 8FB40038 */ lw $s4, 0x38($sp)
/* 148114 802532D4 8FB30034 */ lw $s3, 0x34($sp)
/* 148118 802532D8 8FB20030 */ lw $s2, 0x30($sp)
/* 14811C 802532DC 8FB1002C */ lw $s1, 0x2C($sp)
/* 148120 802532E0 8FB00028 */ lw $s0, 0x28($sp)
/* 148124 802532E4 03E00008 */ jr $ra
/* 148128 802532E8 27BD0048 */ addiu $sp, $sp, 0x48
/* 14812C 802532EC 00000000 */ nop

View File

@ -1,225 +0,0 @@
.set noat /* allow manual use of $at */
.set noreorder /* don't insert nops after branches */
/* Generated by spimdisasm 1.11.1 */
glabel pause_partners_draw_movelist
/* 144DB8 8024FF78 27BDFFB0 */ addiu $sp, $sp, -0x50
/* 144DBC 8024FF7C AFBE0048 */ sw $fp, 0x48($sp)
/* 144DC0 8024FF80 00C0F02D */ daddu $fp, $a2, $zero
/* 144DC4 8024FF84 AFBF004C */ sw $ra, 0x4C($sp)
/* 144DC8 8024FF88 AFB70044 */ sw $s7, 0x44($sp)
/* 144DCC 8024FF8C AFB60040 */ sw $s6, 0x40($sp)
/* 144DD0 8024FF90 AFB5003C */ sw $s5, 0x3C($sp)
/* 144DD4 8024FF94 AFB40038 */ sw $s4, 0x38($sp)
/* 144DD8 8024FF98 AFB30034 */ sw $s3, 0x34($sp)
/* 144DDC 8024FF9C AFB20030 */ sw $s2, 0x30($sp)
/* 144DE0 8024FFA0 AFB1002C */ sw $s1, 0x2C($sp)
/* 144DE4 8024FFA4 AFB00028 */ sw $s0, 0x28($sp)
/* 144DE8 8024FFA8 0C038F35 */ jal get_player_data
/* 144DEC 8024FFAC AFA50054 */ sw $a1, 0x54($sp)
/* 144DF0 8024FFB0 3C038027 */ lui $v1, %hi(gPausePartnersCurrentPartnerIdx)
/* 144DF4 8024FFB4 8C632A70 */ lw $v1, %lo(gPausePartnersCurrentPartnerIdx)($v1)
/* 144DF8 8024FFB8 00031880 */ sll $v1, $v1, 2
/* 144DFC 8024FFBC 3C018027 */ lui $at, %hi(gPausePartnersPartnerIdx)
/* 144E00 8024FFC0 00230821 */ addu $at, $at, $v1
/* 144E04 8024FFC4 8C232A50 */ lw $v1, %lo(gPausePartnersPartnerIdx)($at)
/* 144E08 8024FFC8 00031880 */ sll $v1, $v1, 2
/* 144E0C 8024FFCC 3C018025 */ lui $at, %hi(gPausePartnersPartnerIDs)
/* 144E10 8024FFD0 00230821 */ addu $at, $at, $v1
/* 144E14 8024FFD4 8C233C00 */ lw $v1, %lo(gPausePartnersPartnerIDs)($at)
/* 144E18 8024FFD8 000318C0 */ sll $v1, $v1, 3
/* 144E1C 8024FFDC 00431021 */ addu $v0, $v0, $v1
/* 144E20 8024FFE0 80550015 */ lb $s5, 0x15($v0)
/* 144E24 8024FFE4 24020002 */ addiu $v0, $zero, 0x2
/* 144E28 8024FFE8 16A20003 */ bne $s5, $v0, .Lpause_8024FFF8
/* 144E2C 8024FFEC 24020001 */ addiu $v0, $zero, 0x1
/* 144E30 8024FFF0 08094004 */ j .Lpause_80250010
/* 144E34 8024FFF4 24150004 */ addiu $s5, $zero, 0x4
.Lpause_8024FFF8:
/* 144E38 8024FFF8 16A20003 */ bne $s5, $v0, .Lpause_80250008
/* 144E3C 8024FFFC 00000000 */ nop
/* 144E40 80250000 08094004 */ j .Lpause_80250010
/* 144E44 80250004 24150003 */ addiu $s5, $zero, 0x3
.Lpause_80250008:
/* 144E48 80250008 52A00001 */ beql $s5, $zero, .Lpause_80250010
/* 144E4C 8025000C 24150002 */ addiu $s5, $zero, 0x2
.Lpause_80250010:
/* 144E50 80250010 0000902D */ daddu $s2, $zero, $zero
/* 144E54 80250014 2417001D */ addiu $s7, $zero, 0x1D
/* 144E58 80250018 24140016 */ addiu $s4, $zero, 0x16
/* 144E5C 8025001C 2416001C */ addiu $s6, $zero, 0x1C
/* 144E60 80250020 8FA80054 */ lw $t0, 0x54($sp)
/* 144E64 80250024 24130002 */ addiu $s3, $zero, 0x2
/* 144E68 80250028 25080015 */ addiu $t0, $t0, 0x15
/* 144E6C 8025002C AFA80020 */ sw $t0, 0x20($sp)
.Lpause_80250030:
/* 144E70 80250030 0255102A */ slt $v0, $s2, $s5
/* 144E74 80250034 1040007A */ beqz $v0, .Lpause_80250220
/* 144E78 80250038 03D43021 */ addu $a2, $fp, $s4
/* 144E7C 8025003C 16400011 */ bnez $s2, .Lpause_80250084
/* 144E80 80250040 00000000 */ nop
/* 144E84 80250044 3C028027 */ lui $v0, %hi(gPausePartnersCurrentPartnerIdx)
/* 144E88 80250048 8C422A70 */ lw $v0, %lo(gPausePartnersCurrentPartnerIdx)($v0)
/* 144E8C 8025004C 3C088027 */ lui $t0, %hi(gPausePartnersPartnerIdx)
/* 144E90 80250050 25082A50 */ addiu $t0, $t0, %lo(gPausePartnersPartnerIdx)
/* 144E94 80250054 00021080 */ sll $v0, $v0, 2
/* 144E98 80250058 00481021 */ addu $v0, $v0, $t0
/* 144E9C 8025005C 8C420000 */ lw $v0, 0x0($v0)
/* 144EA0 80250060 3C088025 */ lui $t0, %hi(gPausePartnersMoveBase)
/* 144EA4 80250064 25083C40 */ addiu $t0, $t0, %lo(gPausePartnersMoveBase)
/* 144EA8 80250068 00021080 */ sll $v0, $v0, 2
/* 144EAC 8025006C 00481021 */ addu $v0, $v0, $t0
/* 144EB0 80250070 8C430000 */ lw $v1, 0x0($v0)
/* 144EB4 80250074 3C088009 */ lui $t0, %hi(gMoveTable)
/* 144EB8 80250078 2508B400 */ addiu $t0, $t0, %lo(gMoveTable)
/* 144EBC 8025007C 08094031 */ j .Lpause_802500C4
/* 144EC0 80250080 00031080 */ sll $v0, $v1, 2
.Lpause_80250084:
/* 144EC4 80250084 3C028027 */ lui $v0, %hi(gPausePartnersCurrentPartnerIdx)
/* 144EC8 80250088 8C422A70 */ lw $v0, %lo(gPausePartnersCurrentPartnerIdx)($v0)
/* 144ECC 8025008C 3C088027 */ lui $t0, %hi(gPausePartnersPartnerIdx)
/* 144ED0 80250090 25082A50 */ addiu $t0, $t0, %lo(gPausePartnersPartnerIdx)
/* 144ED4 80250094 00021080 */ sll $v0, $v0, 2
/* 144ED8 80250098 00481021 */ addu $v0, $v0, $t0
/* 144EDC 8025009C 8C420000 */ lw $v0, 0x0($v0)
/* 144EE0 802500A0 3C088025 */ lui $t0, %hi(gPausePartnersMoveBase)
/* 144EE4 802500A4 25083C40 */ addiu $t0, $t0, %lo(gPausePartnersMoveBase)
/* 144EE8 802500A8 00021080 */ sll $v0, $v0, 2
/* 144EEC 802500AC 00481021 */ addu $v0, $v0, $t0
/* 144EF0 802500B0 8C430000 */ lw $v1, 0x0($v0)
/* 144EF4 802500B4 3C088009 */ lui $t0, %hi(gMoveTable)
/* 144EF8 802500B8 2508B400 */ addiu $t0, $t0, %lo(gMoveTable)
/* 144EFC 802500BC 00731821 */ addu $v1, $v1, $s3
/* 144F00 802500C0 00031080 */ sll $v0, $v1, 2
.Lpause_802500C4:
/* 144F04 802500C4 00431021 */ addu $v0, $v0, $v1
/* 144F08 802500C8 00021080 */ sll $v0, $v0, 2
/* 144F0C 802500CC 00481021 */ addu $v0, $v0, $t0
/* 144F10 802500D0 8C440000 */ lw $a0, 0x0($v0)
/* 144F14 802500D4 1A400016 */ blez $s2, .Lpause_80250130
/* 144F18 802500D8 240700FF */ addiu $a3, $zero, 0xFF
/* 144F1C 802500DC 3C028027 */ lui $v0, %hi(gPausePartnersCurrentPartnerIdx)
/* 144F20 802500E0 8C422A70 */ lw $v0, %lo(gPausePartnersCurrentPartnerIdx)($v0)
/* 144F24 802500E4 3C088027 */ lui $t0, %hi(gPausePartnersPartnerIdx)
/* 144F28 802500E8 25082A50 */ addiu $t0, $t0, %lo(gPausePartnersPartnerIdx)
/* 144F2C 802500EC 00021080 */ sll $v0, $v0, 2
/* 144F30 802500F0 00481021 */ addu $v0, $v0, $t0
/* 144F34 802500F4 8C420000 */ lw $v0, 0x0($v0)
/* 144F38 802500F8 3C088025 */ lui $t0, %hi(gPausePartnersMoveBase)
/* 144F3C 802500FC 25083C40 */ addiu $t0, $t0, %lo(gPausePartnersMoveBase)
/* 144F40 80250100 00021080 */ sll $v0, $v0, 2
/* 144F44 80250104 00481021 */ addu $v0, $v0, $t0
/* 144F48 80250108 8C430000 */ lw $v1, 0x0($v0)
/* 144F4C 8025010C 3C088009 */ lui $t0, %hi(gMoveTable)
/* 144F50 80250110 2508B400 */ addiu $t0, $t0, %lo(gMoveTable)
/* 144F54 80250114 00731821 */ addu $v1, $v1, $s3
/* 144F58 80250118 00031080 */ sll $v0, $v1, 2
/* 144F5C 8025011C 00431021 */ addu $v0, $v0, $v1
/* 144F60 80250120 00021080 */ sll $v0, $v0, 2
/* 144F64 80250124 00481021 */ addu $v0, $v0, $t0
/* 144F68 80250128 0809404D */ j .Lpause_80250134
/* 144F6C 8025012C 80510011 */ lb $s1, 0x11($v0)
.Lpause_80250130:
/* 144F70 80250130 0000882D */ daddu $s1, $zero, $zero
.Lpause_80250134:
/* 144F74 80250134 8FA50020 */ lw $a1, 0x20($sp)
/* 144F78 80250138 2408000A */ addiu $t0, $zero, 0xA
/* 144F7C 8025013C AFA80010 */ sw $t0, 0x10($sp)
/* 144F80 80250140 24080001 */ addiu $t0, $zero, 0x1
/* 144F84 80250144 0C049403 */ jal draw_msg
/* 144F88 80250148 AFA80014 */ sw $t0, 0x14($sp)
/* 144F8C 8025014C 26500004 */ addiu $s0, $s2, 0x4
/* 144F90 80250150 00108080 */ sll $s0, $s0, 2
/* 144F94 80250154 3C088027 */ lui $t0, %hi(gPausePartnersIconIDs)
/* 144F98 80250158 25082A10 */ addiu $t0, $t0, %lo(gPausePartnersIconIDs)
/* 144F9C 8025015C 02088021 */ addu $s0, $s0, $t0
/* 144FA0 80250160 8E040000 */ lw $a0, 0x0($s0)
/* 144FA4 80250164 0C050DF4 */ jal hud_element_set_scale
/* 144FA8 80250168 3C053F00 */ lui $a1, (0x3F000000 >> 16)
/* 144FAC 8025016C 03D63021 */ addu $a2, $fp, $s6
/* 144FB0 80250170 8FA80054 */ lw $t0, 0x54($sp)
/* 144FB4 80250174 8E040000 */ lw $a0, 0x0($s0)
/* 144FB8 80250178 0C050D4D */ jal hud_element_set_render_pos
/* 144FBC 8025017C 2505000C */ addiu $a1, $t0, 0xC
/* 144FC0 80250180 8E040000 */ lw $a0, 0x0($s0)
/* 144FC4 80250184 0C050CE4 */ jal hud_element_draw_without_clipping
/* 144FC8 80250188 00000000 */ nop
/* 144FCC 8025018C 12200024 */ beqz $s1, .Lpause_80250220
/* 144FD0 80250190 0220202D */ daddu $a0, $s1, $zero
/* 144FD4 80250194 03D43021 */ addu $a2, $fp, $s4
/* 144FD8 80250198 3C088027 */ lui $t0, %hi(D_PAL_80271B44)
/* 144FDC 8025019C 25081B44 */ addiu $t0, $t0, %lo(D_PAL_80271B44)
/* 144FE0 802501A0 3C028015 */ lui $v0, %hi(gCurrentLanguage)
/* 144FE4 802501A4 8C42AE4C */ lw $v0, %lo(gCurrentLanguage)($v0)
/* 144FE8 802501A8 24070001 */ addiu $a3, $zero, 0x1
/* 144FEC 802501AC 00481021 */ addu $v0, $v0, $t0
/* 144FF0 802501B0 90450000 */ lbu $a1, 0x0($v0)
/* 144FF4 802501B4 2408000A */ addiu $t0, $zero, 0xA
/* 144FF8 802501B8 AFA80010 */ sw $t0, 0x10($sp)
/* 144FFC 802501BC 8FA80054 */ lw $t0, 0x54($sp)
/* 145000 802501C0 240200FF */ addiu $v0, $zero, 0xFF
/* 145004 802501C4 AFA20014 */ sw $v0, 0x14($sp)
/* 145008 802501C8 24020003 */ addiu $v0, $zero, 0x3
/* 14500C 802501CC AFA20018 */ sw $v0, 0x18($sp)
/* 145010 802501D0 0C04986F */ jal draw_number
/* 145014 802501D4 01052821 */ addu $a1, $t0, $a1
/* 145018 802501D8 1A200011 */ blez $s1, .Lpause_80250220
/* 14501C 802501DC 03D73021 */ addu $a2, $fp, $s7
/* 145020 802501E0 3C028015 */ lui $v0, %hi(gCurrentLanguage)
/* 145024 802501E4 8C42AE4C */ lw $v0, %lo(gCurrentLanguage)($v0)
/* 145028 802501E8 3C088027 */ lui $t0, %hi(D_PAL_80271B44)
/* 14502C 802501EC 25081B44 */ addiu $t0, $t0, %lo(D_PAL_80271B44)
/* 145030 802501F0 00481021 */ addu $v0, $v0, $t0
/* 145034 802501F4 90450000 */ lbu $a1, 0x0($v0)
/* 145038 802501F8 8FA80054 */ lw $t0, 0x54($sp)
/* 14503C 802501FC 3C048027 */ lui $a0, %hi(gPausePartnersIconIDs)
/* 145040 80250200 8C842A10 */ lw $a0, %lo(gPausePartnersIconIDs)($a0)
/* 145044 80250204 01052821 */ addu $a1, $t0, $a1
/* 145048 80250208 0C050D4D */ jal hud_element_set_render_pos
/* 14504C 8025020C 24A50009 */ addiu $a1, $a1, 0x9
/* 145050 80250210 3C048027 */ lui $a0, %hi(gPausePartnersIconIDs)
/* 145054 80250214 8C842A10 */ lw $a0, %lo(gPausePartnersIconIDs)($a0)
/* 145058 80250218 0C050CE4 */ jal hud_element_draw_without_clipping
/* 14505C 8025021C 00000000 */ nop
.Lpause_80250220:
/* 145060 80250220 26F7000D */ addiu $s7, $s7, 0xD
/* 145064 80250224 2694000D */ addiu $s4, $s4, 0xD
/* 145068 80250228 26D6000D */ addiu $s6, $s6, 0xD
/* 14506C 8025022C 26520001 */ addiu $s2, $s2, 0x1
/* 145070 80250230 2A420004 */ slti $v0, $s2, 0x4
/* 145074 80250234 1440FF7E */ bnez $v0, .Lpause_80250030
/* 145078 80250238 26730001 */ addiu $s3, $s3, 0x1
/* 14507C 8025023C 3C038027 */ lui $v1, %hi(gPauseMenuCurrentTab)
/* 145080 80250240 806324A4 */ lb $v1, %lo(gPauseMenuCurrentTab)($v1)
/* 145084 80250244 24020004 */ addiu $v0, $zero, 0x4
/* 145088 80250248 14620010 */ bne $v1, $v0, .Lpause_8025028C
/* 14508C 8025024C 24020001 */ addiu $v0, $zero, 0x1
/* 145090 80250250 3C038027 */ lui $v1, %hi(gPausePartnersLevel)
/* 145094 80250254 8C632A7C */ lw $v1, %lo(gPausePartnersLevel)($v1)
/* 145098 80250258 1462000C */ bne $v1, $v0, .Lpause_8025028C
/* 14509C 8025025C 24040024 */ addiu $a0, $zero, 0x24
/* 1450A0 80250260 8FA80054 */ lw $t0, 0x54($sp)
/* 1450A4 80250264 3C028027 */ lui $v0, %hi(gPausePartnersSelectedMove)
/* 1450A8 80250268 8C422A74 */ lw $v0, %lo(gPausePartnersSelectedMove)($v0)
/* 1450AC 8025026C 2505FFFE */ addiu $a1, $t0, -0x2
/* 1450B0 80250270 00023040 */ sll $a2, $v0, 1
/* 1450B4 80250274 00C23021 */ addu $a2, $a2, $v0
/* 1450B8 80250278 00063080 */ sll $a2, $a2, 2
/* 1450BC 8025027C 00C23021 */ addu $a2, $a2, $v0
/* 1450C0 80250280 24C6001C */ addiu $a2, $a2, 0x1C
/* 1450C4 80250284 0C091B05 */ jal pause_set_cursor_pos
/* 1450C8 80250288 03C63021 */ addu $a2, $fp, $a2
.Lpause_8025028C:
/* 1450CC 8025028C 8FBF004C */ lw $ra, 0x4C($sp)
/* 1450D0 80250290 8FBE0048 */ lw $fp, 0x48($sp)
/* 1450D4 80250294 8FB70044 */ lw $s7, 0x44($sp)
/* 1450D8 80250298 8FB60040 */ lw $s6, 0x40($sp)
/* 1450DC 8025029C 8FB5003C */ lw $s5, 0x3C($sp)
/* 1450E0 802502A0 8FB40038 */ lw $s4, 0x38($sp)
/* 1450E4 802502A4 8FB30034 */ lw $s3, 0x34($sp)
/* 1450E8 802502A8 8FB20030 */ lw $s2, 0x30($sp)
/* 1450EC 802502AC 8FB1002C */ lw $s1, 0x2C($sp)
/* 1450F0 802502B0 8FB00028 */ lw $s0, 0x28($sp)
/* 1450F4 802502B4 03E00008 */ jr $ra
/* 1450F8 802502B8 27BD0050 */ addiu $sp, $sp, 0x50

View File

@ -1,33 +0,0 @@
.set noat /* allow manual use of $at */
.set noreorder /* don't insert nops after branches */
/* Generated by spimdisasm 1.11.1 */
glabel pause_partners_draw_movelist_title
/* 1450FC 802502BC 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 145100 802502C0 AFB00018 */ sw $s0, 0x18($sp)
/* 145104 802502C4 00A0802D */ daddu $s0, $a1, $zero
/* 145108 802502C8 AFB1001C */ sw $s1, 0x1C($sp)
/* 14510C 802502CC 00C0882D */ daddu $s1, $a2, $zero
/* 145110 802502D0 AFBF0020 */ sw $ra, 0x20($sp)
/* 145114 802502D4 0C094C60 */ jal pause_get_menu_msg
/* 145118 802502D8 24040051 */ addiu $a0, $zero, 0x51
/* 14511C 802502DC 0040202D */ daddu $a0, $v0, $zero
/* 145120 802502E0 3C038015 */ lui $v1, %hi(gCurrentLanguage)
/* 145124 802502E4 8C63AE4C */ lw $v1, %lo(gCurrentLanguage)($v1)
/* 145128 802502E8 2402FFFF */ addiu $v0, $zero, -0x1
/* 14512C 802502EC 3C058027 */ lui $a1, %hi(D_PAL_80271B38)
/* 145130 802502F0 00A32821 */ addu $a1, $a1, $v1
/* 145134 802502F4 90A51B38 */ lbu $a1, %lo(D_PAL_80271B38)($a1)
/* 145138 802502F8 240700FF */ addiu $a3, $zero, 0xFF
/* 14513C 802502FC AFA20010 */ sw $v0, 0x10($sp)
/* 145140 80250300 24020001 */ addiu $v0, $zero, 0x1
/* 145144 80250304 02223021 */ addu $a2, $s1, $v0
/* 145148 80250308 AFA20014 */ sw $v0, 0x14($sp)
/* 14514C 8025030C 0C049403 */ jal draw_msg
/* 145150 80250310 02052821 */ addu $a1, $s0, $a1
/* 145154 80250314 8FBF0020 */ lw $ra, 0x20($sp)
/* 145158 80250318 8FB1001C */ lw $s1, 0x1C($sp)
/* 14515C 8025031C 8FB00018 */ lw $s0, 0x18($sp)
/* 145160 80250320 03E00008 */ jr $ra
/* 145164 80250324 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -1,197 +0,0 @@
.set noat /* allow manual use of $at */
.set noreorder /* don't insert nops after branches */
/* Generated by spimdisasm 1.11.1 */
glabel pause_partners_init
/* 1451A8 80250368 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 1451AC 8025036C AFB40020 */ sw $s4, 0x20($sp)
/* 1451B0 80250370 0080A02D */ daddu $s4, $a0, $zero
/* 1451B4 80250374 AFBF0024 */ sw $ra, 0x24($sp)
/* 1451B8 80250378 AFB3001C */ sw $s3, 0x1C($sp)
/* 1451BC 8025037C AFB20018 */ sw $s2, 0x18($sp)
/* 1451C0 80250380 AFB10014 */ sw $s1, 0x14($sp)
/* 1451C4 80250384 0C038F35 */ jal get_player_data
/* 1451C8 80250388 AFB00010 */ sw $s0, 0x10($sp)
/* 1451CC 8025038C 0040982D */ daddu $s3, $v0, $zero
/* 1451D0 80250390 3C028027 */ lui $v0, %hi(gPausePartnersNumPartners)
/* 1451D4 80250394 24422A80 */ addiu $v0, $v0, %lo(gPausePartnersNumPartners)
/* 1451D8 80250398 0000802D */ daddu $s0, $zero, $zero
/* 1451DC 8025039C 3C068027 */ lui $a2, %hi(gPausePartnersPartnerIdx)
/* 1451E0 802503A0 24C62A50 */ addiu $a2, $a2, %lo(gPausePartnersPartnerIdx)
/* 1451E4 802503A4 0040282D */ daddu $a1, $v0, $zero
/* 1451E8 802503A8 3C048025 */ lui $a0, %hi(gPausePartnersPartnerIDs)
/* 1451EC 802503AC 24843C00 */ addiu $a0, $a0, %lo(gPausePartnersPartnerIDs)
/* 1451F0 802503B0 AC400000 */ sw $zero, 0x0($v0)
.Lpause_802503B4:
/* 1451F4 802503B4 8C820000 */ lw $v0, 0x0($a0)
/* 1451F8 802503B8 000210C0 */ sll $v0, $v0, 3
/* 1451FC 802503BC 02621021 */ addu $v0, $s3, $v0
/* 145200 802503C0 90420014 */ lbu $v0, 0x14($v0)
/* 145204 802503C4 50400008 */ beql $v0, $zero, .Lpause_802503E8
/* 145208 802503C8 26100001 */ addiu $s0, $s0, 0x1
/* 14520C 802503CC 8CA30000 */ lw $v1, 0x0($a1)
/* 145210 802503D0 00031080 */ sll $v0, $v1, 2
/* 145214 802503D4 00461021 */ addu $v0, $v0, $a2
/* 145218 802503D8 24630001 */ addiu $v1, $v1, 0x1
/* 14521C 802503DC AC500000 */ sw $s0, 0x0($v0)
/* 145220 802503E0 ACA30000 */ sw $v1, 0x0($a1)
/* 145224 802503E4 26100001 */ addiu $s0, $s0, 0x1
.Lpause_802503E8:
/* 145228 802503E8 2A020008 */ slti $v0, $s0, 0x8
/* 14522C 802503EC 1440FFF1 */ bnez $v0, .Lpause_802503B4
/* 145230 802503F0 24840004 */ addiu $a0, $a0, 0x4
/* 145234 802503F4 3C028027 */ lui $v0, %hi(gPausePartnersNumPartners)
/* 145238 802503F8 8C422A80 */ lw $v0, %lo(gPausePartnersNumPartners)($v0)
/* 14523C 802503FC 1440000A */ bnez $v0, .Lpause_80250428
/* 145240 80250400 0000802D */ daddu $s0, $zero, $zero
/* 145244 80250404 24040022 */ addiu $a0, $zero, 0x22
/* 145248 80250408 0C051A8B */ jal set_window_update
/* 14524C 8025040C 24050002 */ addiu $a1, $zero, 0x2
/* 145250 80250410 08094185 */ j .Lpause_80250614
/* 145254 80250414 A2800000 */ sb $zero, 0x0($s4)
.Lpause_80250418:
/* 145258 80250418 3C018027 */ lui $at, %hi(gPausePartnersCurrentPartnerIdx)
/* 14525C 8025041C AC302A70 */ sw $s0, %lo(gPausePartnersCurrentPartnerIdx)($at)
/* 145260 80250420 08094165 */ j .Lpause_80250594
/* 145264 80250424 00000000 */ nop
.Lpause_80250428:
/* 145268 80250428 3C128027 */ lui $s2, %hi(gPausePartnersSpriteIDs)
/* 14526C 8025042C 26522A30 */ addiu $s2, $s2, %lo(gPausePartnersSpriteIDs)
/* 145270 80250430 3C118025 */ lui $s1, %hi(gPausePartnersSpriteAnims)
/* 145274 80250434 26313B80 */ addiu $s1, $s1, %lo(gPausePartnersSpriteAnims)
.Lpause_80250438:
/* 145278 80250438 0220282D */ daddu $a1, $s1, $zero
/* 14527C 8025043C 8E240000 */ lw $a0, 0x0($s1)
/* 145280 80250440 26310010 */ addiu $s1, $s1, 0x10
/* 145284 80250444 0C0B90F3 */ jal spr_load_npc_sprite
/* 145288 80250448 26100001 */ addiu $s0, $s0, 0x1
/* 14528C 8025044C AE420000 */ sw $v0, 0x0($s2)
/* 145290 80250450 2A020008 */ slti $v0, $s0, 0x8
/* 145294 80250454 1440FFF8 */ bnez $v0, .Lpause_80250438
/* 145298 80250458 26520004 */ addiu $s2, $s2, 0x4
/* 14529C 8025045C 0000802D */ daddu $s0, $zero, $zero
/* 1452A0 80250460 3C128025 */ lui $s2, %hi(gPausePartnersIconScripts)
/* 1452A4 80250464 26523AF0 */ addiu $s2, $s2, %lo(gPausePartnersIconScripts)
/* 1452A8 80250468 3C118027 */ lui $s1, %hi(gPausePartnersIconIDs)
/* 1452AC 8025046C 26312A10 */ addiu $s1, $s1, %lo(gPausePartnersIconIDs)
.Lpause_80250470:
/* 1452B0 80250470 3C038015 */ lui $v1, %hi(gCurrentLanguage)
/* 1452B4 80250474 8C63AE4C */ lw $v1, %lo(gCurrentLanguage)($v1)
/* 1452B8 80250478 00101080 */ sll $v0, $s0, 2
/* 1452BC 8025047C 00031940 */ sll $v1, $v1, 5
/* 1452C0 80250480 00431021 */ addu $v0, $v0, $v1
/* 1452C4 80250484 00521021 */ addu $v0, $v0, $s2
/* 1452C8 80250488 8C440000 */ lw $a0, 0x0($v0)
/* 1452CC 8025048C 0C050015 */ jal hud_element_create
/* 1452D0 80250490 26100001 */ addiu $s0, $s0, 0x1
/* 1452D4 80250494 0040202D */ daddu $a0, $v0, $zero
/* 1452D8 80250498 24050080 */ addiu $a1, $zero, 0x80
/* 1452DC 8025049C 0C050D6C */ jal hud_element_set_flags
/* 1452E0 802504A0 AE240000 */ sw $a0, 0x0($s1)
/* 1452E4 802504A4 2A020008 */ slti $v0, $s0, 0x8
/* 1452E8 802504A8 1440FFF1 */ bnez $v0, .Lpause_80250470
/* 1452EC 802504AC 26310004 */ addiu $s1, $s1, 0x4
/* 1452F0 802504B0 24100004 */ addiu $s0, $zero, 0x4
/* 1452F4 802504B4 3C028025 */ lui $v0, %hi(gPausePartnersWindowBPs+0x90)
/* 1452F8 802504B8 24423DA8 */ addiu $v0, $v0, %lo(gPausePartnersWindowBPs+0x90)
.Lpause_802504BC:
/* 1452FC 802504BC AC540010 */ sw $s4, 0x10($v0)
/* 145300 802504C0 2610FFFF */ addiu $s0, $s0, -0x1
/* 145304 802504C4 0601FFFD */ bgez $s0, .Lpause_802504BC
/* 145308 802504C8 2442FFDC */ addiu $v0, $v0, -0x24
/* 14530C 802504CC 3C048025 */ lui $a0, %hi(gPausePartnersWindowBPs)
/* 145310 802504D0 24843D18 */ addiu $a0, $a0, %lo(gPausePartnersWindowBPs)
/* 145314 802504D4 0C051AB8 */ jal setup_pause_menu_tab
/* 145318 802504D8 24050005 */ addiu $a1, $zero, 0x5
/* 14531C 802504DC 3C038015 */ lui $v1, %hi(gCurrentLanguage)
/* 145320 802504E0 8C63AE4C */ lw $v1, %lo(gCurrentLanguage)($v1)
/* 145324 802504E4 3C028027 */ lui $v0, %hi(D_PAL_80271B50)
/* 145328 802504E8 00431021 */ addu $v0, $v0, $v1
/* 14532C 802504EC 90421B50 */ lbu $v0, %lo(D_PAL_80271B50)($v0)
/* 145330 802504F0 3C048016 */ lui $a0, %hi(gWindows)
/* 145334 802504F4 24848910 */ addiu $a0, $a0, %lo(gWindows)
/* 145338 802504F8 A48204B0 */ sh $v0, 0x4B0($a0)
/* 14533C 802504FC 3C028027 */ lui $v0, %hi(D_PAL_80271B4C)
/* 145340 80250500 00431021 */ addu $v0, $v0, $v1
/* 145344 80250504 90421B4C */ lbu $v0, %lo(D_PAL_80271B4C)($v0)
/* 145348 80250508 A48204AC */ sh $v0, 0x4AC($a0)
/* 14534C 8025050C 3C028027 */ lui $v0, %hi(D_PAL_80271B40)
/* 145350 80250510 00431021 */ addu $v0, $v0, $v1
/* 145354 80250514 90421B40 */ lbu $v0, %lo(D_PAL_80271B40)($v0)
/* 145358 80250518 A4820490 */ sh $v0, 0x490($a0)
/* 14535C 8025051C 3C028027 */ lui $v0, %hi(D_PAL_80271B3C)
/* 145360 80250520 00431021 */ addu $v0, $v0, $v1
/* 145364 80250524 90421B3C */ lbu $v0, %lo(D_PAL_80271B3C)($v0)
/* 145368 80250528 A482048C */ sh $v0, 0x48C($a0)
/* 14536C 8025052C 3C028027 */ lui $v0, %hi(D_PAL_80271B48)
/* 145370 80250530 00431021 */ addu $v0, $v0, $v1
/* 145374 80250534 90421B48 */ lbu $v0, %lo(D_PAL_80271B48)($v0)
/* 145378 80250538 3C038027 */ lui $v1, %hi(gPausePartnersNumPartners)
/* 14537C 8025053C 8C632A80 */ lw $v1, %lo(gPausePartnersNumPartners)($v1)
/* 145380 80250540 0000802D */ daddu $s0, $zero, $zero
/* 145384 80250544 3C018027 */ lui $at, %hi(gPausePartnersCurrentPartnerIdx)
/* 145388 80250548 AC202A70 */ sw $zero, %lo(gPausePartnersCurrentPartnerIdx)($at)
/* 14538C 8025054C 18600011 */ blez $v1, .Lpause_80250594
/* 145390 80250550 A48204CC */ sh $v0, 0x4CC($a0)
/* 145394 80250554 82650012 */ lb $a1, 0x12($s3)
/* 145398 80250558 3C068025 */ lui $a2, %hi(gPausePartnersPartnerIDs)
/* 14539C 8025055C 24C63C00 */ addiu $a2, $a2, %lo(gPausePartnersPartnerIDs)
/* 1453A0 80250560 0060202D */ daddu $a0, $v1, $zero
/* 1453A4 80250564 3C038027 */ lui $v1, %hi(gPausePartnersPartnerIdx)
/* 1453A8 80250568 24632A50 */ addiu $v1, $v1, %lo(gPausePartnersPartnerIdx)
.Lpause_8025056C:
/* 1453AC 8025056C 8C620000 */ lw $v0, 0x0($v1)
/* 1453B0 80250570 00021080 */ sll $v0, $v0, 2
/* 1453B4 80250574 00461021 */ addu $v0, $v0, $a2
/* 1453B8 80250578 8C420000 */ lw $v0, 0x0($v0)
/* 1453BC 8025057C 10A2FFA6 */ beq $a1, $v0, .Lpause_80250418
/* 1453C0 80250580 00000000 */ nop
/* 1453C4 80250584 26100001 */ addiu $s0, $s0, 0x1
/* 1453C8 80250588 0204102A */ slt $v0, $s0, $a0
/* 1453CC 8025058C 1440FFF7 */ bnez $v0, .Lpause_8025056C
/* 1453D0 80250590 24630004 */ addiu $v1, $v1, 0x4
.Lpause_80250594:
/* 1453D4 80250594 3C028027 */ lui $v0, %hi(gPausePartnersCurrentPartnerIdx)
/* 1453D8 80250598 8C422A70 */ lw $v0, %lo(gPausePartnersCurrentPartnerIdx)($v0)
/* 1453DC 8025059C 00021840 */ sll $v1, $v0, 1
/* 1453E0 802505A0 00621821 */ addu $v1, $v1, $v0
/* 1453E4 802505A4 00031100 */ sll $v0, $v1, 4
/* 1453E8 802505A8 00431023 */ subu $v0, $v0, $v1
/* 1453EC 802505AC 3C038027 */ lui $v1, %hi(gPausePartnersNumPartners)
/* 1453F0 802505B0 8C632A80 */ lw $v1, %lo(gPausePartnersNumPartners)($v1)
/* 1453F4 802505B4 000210C0 */ sll $v0, $v0, 3
/* 1453F8 802505B8 14600002 */ bnez $v1, .Lpause_802505C4
/* 1453FC 802505BC 0043001A */ div $zero, $v0, $v1
/* 145400 802505C0 0007000D */ break 7
.Lpause_802505C4:
/* 145404 802505C4 2401FFFF */ addiu $at, $zero, -0x1
/* 145408 802505C8 14610004 */ bne $v1, $at, .Lpause_802505DC
/* 14540C 802505CC 3C018000 */ lui $at, (0x80000000 >> 16)
/* 145410 802505D0 14410002 */ bne $v0, $at, .Lpause_802505DC
/* 145414 802505D4 00000000 */ nop
/* 145418 802505D8 0006000D */ break 6
.Lpause_802505DC:
/* 14541C 802505DC 00001012 */ mflo $v0
/* 145420 802505E0 3C018027 */ lui $at, %hi(gPausePartnersSelectedMove)
/* 145424 802505E4 AC202A74 */ sw $zero, %lo(gPausePartnersSelectedMove)($at)
/* 145428 802505E8 3C018027 */ lui $at, %hi(gPausePartnersLevel)
/* 14542C 802505EC AC202A7C */ sw $zero, %lo(gPausePartnersLevel)($at)
/* 145430 802505F0 44820000 */ mtc1 $v0, $f0
/* 145434 802505F4 00000000 */ nop
/* 145438 802505F8 46800020 */ cvt.s.w $f0, $f0
/* 14543C 802505FC 3C018027 */ lui $at, %hi(gPausePartnersRotAngle)
/* 145440 80250600 E4202A78 */ swc1 $f0, %lo(gPausePartnersRotAngle)($at)
/* 145444 80250604 0C093C08 */ jal pause_partners_load_portrait
/* 145448 80250608 0000202D */ daddu $a0, $zero, $zero
/* 14544C 8025060C 24020001 */ addiu $v0, $zero, 0x1
/* 145450 80250610 A2820000 */ sb $v0, 0x0($s4)
.Lpause_80250614:
/* 145454 80250614 8FBF0024 */ lw $ra, 0x24($sp)
/* 145458 80250618 8FB40020 */ lw $s4, 0x20($sp)
/* 14545C 8025061C 8FB3001C */ lw $s3, 0x1C($sp)
/* 145460 80250620 8FB20018 */ lw $s2, 0x18($sp)
/* 145464 80250624 8FB10014 */ lw $s1, 0x14($sp)
/* 145468 80250628 8FB00010 */ lw $s0, 0x10($sp)
/* 14546C 8025062C 03E00008 */ jr $ra
/* 145470 80250630 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -1,66 +0,0 @@
.set noat /* allow manual use of $at */
.set noreorder /* don't insert nops after branches */
/* Generated by spimdisasm 1.11.1 */
glabel pause_tabs_init
/* 13DFD8 80249198 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 13DFDC 8024919C AFB20018 */ sw $s2, 0x18($sp)
/* 13DFE0 802491A0 0080902D */ daddu $s2, $a0, $zero
/* 13DFE4 802491A4 AFB00010 */ sw $s0, 0x10($sp)
/* 13DFE8 802491A8 0000802D */ daddu $s0, $zero, $zero
/* 13DFEC 802491AC AFB3001C */ sw $s3, 0x1C($sp)
/* 13DFF0 802491B0 3C138025 */ lui $s3, %hi(gPauseTabsHudScripts)
/* 13DFF4 802491B4 26733540 */ addiu $s3, $s3, %lo(gPauseTabsHudScripts)
/* 13DFF8 802491B8 AFB10014 */ sw $s1, 0x14($sp)
/* 13DFFC 802491BC 3C118027 */ lui $s1, %hi(gPauseTabsIconIDs)
/* 13E000 802491C0 26312500 */ addiu $s1, $s1, %lo(gPauseTabsIconIDs)
/* 13E004 802491C4 AFBF0020 */ sw $ra, 0x20($sp)
.Lpause_802491C8:
/* 13E008 802491C8 3C048015 */ lui $a0, %hi(gCurrentLanguage)
/* 13E00C 802491CC 8C84AE4C */ lw $a0, %lo(gCurrentLanguage)($a0)
/* 13E010 802491D0 00101880 */ sll $v1, $s0, 2
/* 13E014 802491D4 00041040 */ sll $v0, $a0, 1
/* 13E018 802491D8 00441021 */ addu $v0, $v0, $a0
/* 13E01C 802491DC 000210C0 */ sll $v0, $v0, 3
/* 13E020 802491E0 00621821 */ addu $v1, $v1, $v0
/* 13E024 802491E4 00731821 */ addu $v1, $v1, $s3
/* 13E028 802491E8 8C640000 */ lw $a0, 0x0($v1)
/* 13E02C 802491EC 0C050015 */ jal hud_element_create
/* 13E030 802491F0 26100001 */ addiu $s0, $s0, 0x1
/* 13E034 802491F4 0040202D */ daddu $a0, $v0, $zero
/* 13E038 802491F8 24050080 */ addiu $a1, $zero, 0x80
/* 13E03C 802491FC 0C050D6C */ jal hud_element_set_flags
/* 13E040 80249200 AE240000 */ sw $a0, 0x0($s1)
/* 13E044 80249204 2A020006 */ slti $v0, $s0, 0x6
/* 13E048 80249208 1440FFEF */ bnez $v0, .Lpause_802491C8
/* 13E04C 8024920C 26310004 */ addiu $s1, $s1, 0x4
/* 13E050 80249210 24100006 */ addiu $s0, $zero, 0x6
/* 13E054 80249214 3C028025 */ lui $v0, %hi(gPauseTabsWindowBPs+0xD8)
/* 13E058 80249218 24423698 */ addiu $v0, $v0, %lo(gPauseTabsWindowBPs+0xD8)
.Lpause_8024921C:
/* 13E05C 8024921C AC520010 */ sw $s2, 0x10($v0)
/* 13E060 80249220 2610FFFF */ addiu $s0, $s0, -0x1
/* 13E064 80249224 0601FFFD */ bgez $s0, .Lpause_8024921C
/* 13E068 80249228 2442FFDC */ addiu $v0, $v0, -0x24
/* 13E06C 8024922C 3C048025 */ lui $a0, %hi(gPauseTabsWindowBPs)
/* 13E070 80249230 248435C0 */ addiu $a0, $a0, %lo(gPauseTabsWindowBPs)
/* 13E074 80249234 0C051AB8 */ jal setup_pause_menu_tab
/* 13E078 80249238 24050007 */ addiu $a1, $zero, 0x7
/* 13E07C 8024923C 24020019 */ addiu $v0, $zero, 0x19
/* 13E080 80249240 3C018016 */ lui $at, %hi(gWindows+0x56E)
/* 13E084 80249244 A4228E7E */ sh $v0, %lo(gWindows+0x56E)($at)
/* 13E088 80249248 24020001 */ addiu $v0, $zero, 0x1
/* 13E08C 8024924C 3C018027 */ lui $at, %hi(gPauseTabsHorizScrollPos)
/* 13E090 80249250 AC20251C */ sw $zero, %lo(gPauseTabsHorizScrollPos)($at)
/* 13E094 80249254 A2420000 */ sb $v0, 0x0($s2)
/* 13E098 80249258 8FBF0020 */ lw $ra, 0x20($sp)
/* 13E09C 8024925C 8FB3001C */ lw $s3, 0x1C($sp)
/* 13E0A0 80249260 8FB20018 */ lw $s2, 0x18($sp)
/* 13E0A4 80249264 8FB10014 */ lw $s1, 0x14($sp)
/* 13E0A8 80249268 8FB00010 */ lw $s0, 0x10($sp)
/* 13E0AC 8024926C 24020005 */ addiu $v0, $zero, 0x5
/* 13E0B0 80249270 3C018027 */ lui $at, %hi(gPauseTabsPreviousTab)
/* 13E0B4 80249274 AC222518 */ sw $v0, %lo(gPauseTabsPreviousTab)($at)
/* 13E0B8 80249278 03E00008 */ jr $ra
/* 13E0BC 8024927C 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -228,7 +228,7 @@ D_800B32E0 = 0x800B19C0;
D_800B3AE0 = 0x800B21C0;
wMapHitName = 0x800D5938;
wMapShapeName = 0x800D5988;
D_800D5D58 = 0x800D5D58;
D_800D95E8 = 0x800D5D58;
wMapBgName = 0x800D5DD8;
gBattleStatus = 0x800D87E0;
npc_raycast_down_around = 0x800D8EE8;