From 43f11633a3e35a71a79b700c96fa4e5b536b203e Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Tue, 10 Nov 2020 10:11:43 -0500 Subject: [PATCH] more syms, file split --- asm/nonmatchings/code_135EE0/func_80242BAC.s | 8 +-- asm/nonmatchings/code_135EE0/func_80242D04.s | 12 ++-- asm/nonmatchings/code_135EE0/pause_cleanup.s | 4 +- .../code_135EE0/pause_handle_input.s | 8 +-- asm/nonmatchings/code_135EE0/pause_init.s | 12 ++-- .../code_135EE0/pause_interp_cursor.s | 20 +++--- .../code_135EE0/pause_interp_text_scroll.s | 4 +- .../pause_interp_vertical_scroll.s | 4 +- .../code_135EE0/pause_stats_cleanup.s | 24 ------- .../code_135EE0/pause_tabs_cleanup.s | 25 ------- .../code_135EE0/pause_tabs_draw_badges.s | 12 ++-- .../code_135EE0/pause_tabs_draw_items.s | 12 ++-- .../code_135EE0/pause_tabs_draw_map.s | 12 ++-- .../code_135EE0/pause_tabs_draw_party.s | 12 ++-- .../code_135EE0/pause_tabs_draw_spirits.s | 12 ++-- .../code_135EE0/pause_tabs_draw_stats.s | 12 ++-- .../code_135EE0/pause_tabs_handle_input.s | 12 ++-- .../code_135EE0/pause_tabs_init.s | 4 +- .../code_135EE0/pause_tabs_update.s | 8 +-- .../code_135EE0/pause_update_cursor.s | 8 +-- .../pause_badges_cleanup.s | 0 .../pause_badges_comparator.s | 0 .../pause_badges_count_all.s | 0 .../pause_badges_count_equipped.s | 0 .../pause_badges_draw_bp_orbs.s | 0 .../pause_badges_draw_contents.s | 0 .../pause_badges_get_pos_x.s | 0 .../pause_badges_get_pos_y.s | 0 .../pause_badges_get_row.s | 0 .../pause_badges_handle_input.s | 0 .../pause_badges_init.s | 0 .../pause_badges_load_badges.s | 0 .../pause_badges_try_equip.s | 0 .../pause_badges_try_remove.s | 0 .../pause_badges_update.s | 0 .../pause_stats_draw_contents.s | 0 .../pause_stats_handle_input.s | 0 .../pause_stats_init.s | 0 include/common_structs.h | 9 +++ include/variables.h | 8 +++ src/code_135EE0.c | 61 ++--------------- src/code_138CC0.c | 66 +++++++++++++++++++ tools/splat.yaml | 1 + undefined_syms.txt | 9 +++ 44 files changed, 186 insertions(+), 193 deletions(-) delete mode 100644 asm/nonmatchings/code_135EE0/pause_stats_cleanup.s delete mode 100644 asm/nonmatchings/code_135EE0/pause_tabs_cleanup.s rename asm/nonmatchings/{code_135EE0 => code_138CC0}/pause_badges_cleanup.s (100%) rename asm/nonmatchings/{code_135EE0 => code_138CC0}/pause_badges_comparator.s (100%) rename asm/nonmatchings/{code_135EE0 => code_138CC0}/pause_badges_count_all.s (100%) rename asm/nonmatchings/{code_135EE0 => code_138CC0}/pause_badges_count_equipped.s (100%) rename asm/nonmatchings/{code_135EE0 => code_138CC0}/pause_badges_draw_bp_orbs.s (100%) rename asm/nonmatchings/{code_135EE0 => code_138CC0}/pause_badges_draw_contents.s (100%) rename asm/nonmatchings/{code_135EE0 => code_138CC0}/pause_badges_get_pos_x.s (100%) rename asm/nonmatchings/{code_135EE0 => code_138CC0}/pause_badges_get_pos_y.s (100%) rename asm/nonmatchings/{code_135EE0 => code_138CC0}/pause_badges_get_row.s (100%) rename asm/nonmatchings/{code_135EE0 => code_138CC0}/pause_badges_handle_input.s (100%) rename asm/nonmatchings/{code_135EE0 => code_138CC0}/pause_badges_init.s (100%) rename asm/nonmatchings/{code_135EE0 => code_138CC0}/pause_badges_load_badges.s (100%) rename asm/nonmatchings/{code_135EE0 => code_138CC0}/pause_badges_try_equip.s (100%) rename asm/nonmatchings/{code_135EE0 => code_138CC0}/pause_badges_try_remove.s (100%) rename asm/nonmatchings/{code_135EE0 => code_138CC0}/pause_badges_update.s (100%) rename asm/nonmatchings/{code_135EE0 => code_138CC0}/pause_stats_draw_contents.s (100%) rename asm/nonmatchings/{code_135EE0 => code_138CC0}/pause_stats_handle_input.s (100%) rename asm/nonmatchings/{code_135EE0 => code_138CC0}/pause_stats_init.s (100%) create mode 100644 src/code_138CC0.c diff --git a/asm/nonmatchings/code_135EE0/func_80242BAC.s b/asm/nonmatchings/code_135EE0/func_80242BAC.s index 90a8f02ff0..fe54f18160 100644 --- a/asm/nonmatchings/code_135EE0/func_80242BAC.s +++ b/asm/nonmatchings/code_135EE0/func_80242BAC.s @@ -80,10 +80,10 @@ glabel func_80242BAC /* 135FFC 80242CBC 14400009 */ bnez $v0, .L80242CE4 /* 136000 80242CC0 00000000 */ nop .L80242CC4: -/* 136004 80242CC4 3C018025 */ lui $at, 0x8025 -/* 136008 80242CC8 AC31EFA8 */ sw $s1, -0x1058($at) -/* 13600C 80242CCC 3C018025 */ lui $at, 0x8025 -/* 136010 80242CD0 AC31EF9C */ sw $s1, -0x1064($at) +/* 136004 80242CC4 3C018025 */ lui $at, %hi(gPauseMenuTargetPos) +/* 136008 80242CC8 AC31EFA8 */ sw $s1, %lo(gPauseMenuTargetPos)($at) +/* 13600C 80242CCC 3C018025 */ lui $at, %hi(gPauseMenuCursorPos) +/* 136010 80242CD0 AC31EF9C */ sw $s1, %lo(gPauseMenuCursorPos)($at) /* 136014 80242CD4 3C018025 */ lui $at, 0x8025 /* 136018 80242CD8 AC33EFAC */ sw $s3, -0x1054($at) /* 13601C 80242CDC 3C018025 */ lui $at, 0x8025 diff --git a/asm/nonmatchings/code_135EE0/func_80242D04.s b/asm/nonmatchings/code_135EE0/func_80242D04.s index 1a84a1331e..90ba1238ee 100644 --- a/asm/nonmatchings/code_135EE0/func_80242D04.s +++ b/asm/nonmatchings/code_135EE0/func_80242D04.s @@ -66,10 +66,10 @@ glabel func_80242D04 /* 136120 80242DE0 3C018025 */ lui $at, 0x8025 /* 136124 80242DE4 AC20EFB4 */ sw $zero, -0x104c($at) .L80242DE8: -/* 136128 80242DE8 3C018025 */ lui $at, 0x8025 -/* 13612C 80242DEC AC32EFA8 */ sw $s2, -0x1058($at) -/* 136130 80242DF0 3C018025 */ lui $at, 0x8025 -/* 136134 80242DF4 AC32EF9C */ sw $s2, -0x1064($at) +/* 136128 80242DE8 3C018025 */ lui $at, %hi(gPauseMenuTargetPos) +/* 13612C 80242DEC AC32EFA8 */ sw $s2, %lo(gPauseMenuTargetPos)($at) +/* 136130 80242DF0 3C018025 */ lui $at, %hi(gPauseMenuCursorPos) +/* 136134 80242DF4 AC32EF9C */ sw $s2, %lo(gPauseMenuCursorPos)($at) /* 136138 80242DF8 3C018025 */ lui $at, 0x8025 /* 13613C 80242DFC AC33EFAC */ sw $s3, -0x1054($at) /* 136140 80242E00 3C018025 */ lui $at, 0x8025 @@ -89,8 +89,8 @@ glabel func_80242D04 /* 136174 80242E34 14400005 */ bnez $v0, .L80242E4C /* 136178 80242E38 00000000 */ nop .L80242E3C: -/* 13617C 80242E3C 3C018025 */ lui $at, 0x8025 -/* 136180 80242E40 AC32EFA8 */ sw $s2, -0x1058($at) +/* 13617C 80242E3C 3C018025 */ lui $at, %hi(gPauseMenuTargetPos) +/* 136180 80242E40 AC32EFA8 */ sw $s2, %lo(gPauseMenuTargetPos)($at) /* 136184 80242E44 3C018025 */ lui $at, 0x8025 /* 136188 80242E48 AC33EFAC */ sw $s3, -0x1054($at) .L80242E4C: diff --git a/asm/nonmatchings/code_135EE0/pause_cleanup.s b/asm/nonmatchings/code_135EE0/pause_cleanup.s index bfcc4b13cb..3060008bb7 100644 --- a/asm/nonmatchings/code_135EE0/pause_cleanup.s +++ b/asm/nonmatchings/code_135EE0/pause_cleanup.s @@ -33,8 +33,8 @@ glabel pause_cleanup /* 137AB0 80244770 1440FFFA */ bnez $v0, .L8024475C /* 137AB4 80244774 00000000 */ nop .L80244778: -/* 137AB8 80244778 3C118025 */ lui $s1, 0x8025 -/* 137ABC 8024477C 2631EF80 */ addiu $s1, $s1, -0x1080 +/* 137AB8 80244778 3C118025 */ lui $s1, %hi(gPauseMenuTabs) +/* 137ABC 8024477C 2631EF80 */ addiu $s1, $s1, %lo(gPauseMenuTabs) /* 137AC0 80244780 0000802D */ daddu $s0, $zero, $zero .L80244784: /* 137AC4 80244784 8E240000 */ lw $a0, ($s1) diff --git a/asm/nonmatchings/code_135EE0/pause_handle_input.s b/asm/nonmatchings/code_135EE0/pause_handle_input.s index 14e3ec898c..3240a5e1d2 100644 --- a/asm/nonmatchings/code_135EE0/pause_handle_input.s +++ b/asm/nonmatchings/code_135EE0/pause_handle_input.s @@ -20,9 +20,9 @@ glabel pause_handle_input /* 1377A0 80244460 AFB10034 */ sw $s1, 0x34($sp) /* 1377A4 80244464 AFB00030 */ sw $s0, 0x30($sp) /* 1377A8 80244468 00021080 */ sll $v0, $v0, 2 -/* 1377AC 8024446C 3C148025 */ lui $s4, 0x8025 +/* 1377AC 8024446C 3C148025 */ lui $s4, %hi(gPauseMenuTabs) /* 1377B0 80244470 0282A021 */ addu $s4, $s4, $v0 -/* 1377B4 80244474 8E94EF80 */ lw $s4, -0x1080($s4) +/* 1377B4 80244474 8E94EF80 */ lw $s4, %lo(gPauseMenuTabs)($s4) /* 1377B8 80244478 0C0B1EAF */ jal get_variable /* 1377BC 8024447C 34A55BDE */ ori $a1, $a1, 0x5bde /* 1377C0 80244480 1040000F */ beqz $v0, .L802444C0 @@ -174,8 +174,8 @@ glabel pause_handle_input /* 1379DC 8024469C 0040F809 */ jalr $v0 /* 1379E0 802446A0 0280202D */ daddu $a0, $s4, $zero .L802446A4: -/* 1379E4 802446A4 3C118025 */ lui $s1, 0x8025 -/* 1379E8 802446A8 2631EF80 */ addiu $s1, $s1, -0x1080 +/* 1379E4 802446A4 3C118025 */ lui $s1, %hi(gPauseMenuTabs) +/* 1379E8 802446A8 2631EF80 */ addiu $s1, $s1, %lo(gPauseMenuTabs) /* 1379EC 802446AC 0000802D */ daddu $s0, $zero, $zero .L802446B0: /* 1379F0 802446B0 8E240000 */ lw $a0, ($s1) diff --git a/asm/nonmatchings/code_135EE0/pause_init.s b/asm/nonmatchings/code_135EE0/pause_init.s index d408c67985..a0a9bb3829 100644 --- a/asm/nonmatchings/code_135EE0/pause_init.s +++ b/asm/nonmatchings/code_135EE0/pause_init.s @@ -20,8 +20,8 @@ glabel pause_init /* 1373DC 8024409C 0000882D */ daddu $s1, $zero, $zero /* 1373E0 802440A0 3C138024 */ lui $s3, 0x8024 /* 1373E4 802440A4 26731ECC */ addiu $s3, $s3, 0x1ecc -/* 1373E8 802440A8 3C108025 */ lui $s0, 0x8025 -/* 1373EC 802440AC 2610EF60 */ addiu $s0, $s0, -0x10a0 +/* 1373E8 802440A8 3C108025 */ lui $s0, %hi(gPauseMenuIconScripts) +/* 1373EC 802440AC 2610EF60 */ addiu $s0, $s0, %lo(gPauseMenuIconScripts) /* 1373F0 802440B0 3C128027 */ lui $s2, 0x8027 /* 1373F4 802440B4 265200E8 */ addiu $s2, $s2, 0xe8 .L802440B8: @@ -44,8 +44,8 @@ glabel pause_init /* 137434 802440F4 3C048025 */ lui $a0, 0x8025 /* 137438 802440F8 2484F114 */ addiu $a0, $a0, -0xeec /* 13743C 802440FC 24050004 */ addiu $a1, $zero, 4 -/* 137440 80244100 3C108025 */ lui $s0, 0x8025 -/* 137444 80244104 2610EF80 */ addiu $s0, $s0, -0x1080 +/* 137440 80244100 3C108025 */ lui $s0, %hi(gPauseMenuTabs) +/* 137444 80244104 2610EF80 */ addiu $s0, $s0, %lo(gPauseMenuTabs) /* 137448 80244108 3C028027 */ lui $v0, 0x8027 /* 13744C 8024410C 8C4200E8 */ lw $v0, 0xe8($v0) /* 137450 80244110 3C018027 */ lui $at, 0x8027 @@ -107,8 +107,8 @@ glabel pause_init /* 13751C 802441DC 2631FFFF */ addiu $s1, $s1, -1 /* 137520 802441E0 1E20FFF0 */ bgtz $s1, .L802441A4 /* 137524 802441E4 2610FFFC */ addiu $s0, $s0, -4 -/* 137528 802441E8 3C028025 */ lui $v0, 0x8025 -/* 13752C 802441EC 8C42EF80 */ lw $v0, -0x1080($v0) +/* 137528 802441E8 3C028025 */ lui $v0, %hi(gPauseMenuTabs) +/* 13752C 802441EC 8C42EF80 */ lw $v0, %lo(gPauseMenuTabs)($v0) /* 137530 802441F0 0000202D */ daddu $a0, $zero, $zero /* 137534 802441F4 80420001 */ lb $v0, 1($v0) /* 137538 802441F8 3C05F840 */ lui $a1, 0xf840 diff --git a/asm/nonmatchings/code_135EE0/pause_interp_cursor.s b/asm/nonmatchings/code_135EE0/pause_interp_cursor.s index f0d7dab02a..7511dfa480 100644 --- a/asm/nonmatchings/code_135EE0/pause_interp_cursor.s +++ b/asm/nonmatchings/code_135EE0/pause_interp_cursor.s @@ -2,10 +2,10 @@ .set noreorder # don't insert nops after branches glabel pause_interp_cursor -/* 1361AC 80242E6C 3C0A8025 */ lui $t2, 0x8025 -/* 1361B0 80242E70 254AEF9C */ addiu $t2, $t2, -0x1064 -/* 1361B4 80242E74 3C058025 */ lui $a1, 0x8025 -/* 1361B8 80242E78 8CA5EFA8 */ lw $a1, -0x1058($a1) +/* 1361AC 80242E6C 3C0A8025 */ lui $t2, %hi(gPauseMenuCursorPos) +/* 1361B0 80242E70 254AEF9C */ addiu $t2, $t2, %lo(gPauseMenuCursorPos) +/* 1361B4 80242E74 3C058025 */ lui $a1, %hi(gPauseMenuTargetPos) +/* 1361B8 80242E78 8CA5EFA8 */ lw $a1, %lo(gPauseMenuTargetPos)($a1) /* 1361BC 80242E7C 8D430000 */ lw $v1, ($t2) /* 1361C0 80242E80 3C013FE0 */ lui $at, 0x3fe0 /* 1361C4 80242E84 44812800 */ mtc1 $at, $f5 @@ -43,8 +43,8 @@ glabel pause_interp_cursor /* 136240 80242F00 AD450000 */ sw $a1, ($t2) /* 136244 80242F04 AD240000 */ sw $a0, ($t1) .L80242F08: -/* 136248 80242F08 3C038025 */ lui $v1, 0x8025 -/* 13624C 80242F0C 2463EF9C */ addiu $v1, $v1, -0x1064 +/* 136248 80242F08 3C038025 */ lui $v1, %hi(gPauseMenuCursorPos) +/* 13624C 80242F0C 2463EF9C */ addiu $v1, $v1, %lo(gPauseMenuCursorPos) /* 136250 80242F10 8C620000 */ lw $v0, ($v1) /* 136254 80242F14 00471021 */ addu $v0, $v0, $a3 /* 136258 80242F18 AC620000 */ sw $v0, ($v1) @@ -56,8 +56,8 @@ glabel pause_interp_cursor /* 136270 80242F30 00481021 */ addu $v0, $v0, $t0 /* 136274 80242F34 14800009 */ bnez $a0, .L80242F5C /* 136278 80242F38 AC620000 */ sw $v0, ($v1) -/* 13627C 80242F3C 3C038025 */ lui $v1, 0x8025 -/* 136280 80242F40 2463EFA4 */ addiu $v1, $v1, -0x105c +/* 13627C 80242F3C 3C038025 */ lui $v1, %hi(gPauseMenuCursorOpacity) +/* 136280 80242F40 2463EFA4 */ addiu $v1, $v1, %lo(gPauseMenuCursorOpacity) /* 136284 80242F44 8C620000 */ lw $v0, ($v1) /* 136288 80242F48 2442FF80 */ addiu $v0, $v0, -0x80 /* 13628C 80242F4C 0441000C */ bgez $v0, .L80242F80 @@ -65,8 +65,8 @@ glabel pause_interp_cursor /* 136294 80242F54 08090BE0 */ j .L80242F80 /* 136298 80242F58 AC600000 */ sw $zero, ($v1) .L80242F5C: -/* 13629C 80242F5C 3C038025 */ lui $v1, 0x8025 -/* 1362A0 80242F60 2463EFA4 */ addiu $v1, $v1, -0x105c +/* 13629C 80242F5C 3C038025 */ lui $v1, %hi(gPauseMenuCursorOpacity) +/* 1362A0 80242F60 2463EFA4 */ addiu $v1, $v1, %lo(gPauseMenuCursorOpacity) /* 1362A4 80242F64 8C620000 */ lw $v0, ($v1) /* 1362A8 80242F68 24420020 */ addiu $v0, $v0, 0x20 /* 1362AC 80242F6C AC620000 */ sw $v0, ($v1) diff --git a/asm/nonmatchings/code_135EE0/pause_interp_text_scroll.s b/asm/nonmatchings/code_135EE0/pause_interp_text_scroll.s index c616ee62d7..af9dda7eb9 100644 --- a/asm/nonmatchings/code_135EE0/pause_interp_text_scroll.s +++ b/asm/nonmatchings/code_135EE0/pause_interp_text_scroll.s @@ -15,9 +15,9 @@ glabel pause_interp_text_scroll /* 13677C 8024343C 2A020010 */ slti $v0, $s0, 0x10 /* 136780 80243440 10400004 */ beqz $v0, .L80243454 /* 136784 80243444 24020008 */ addiu $v0, $zero, 8 -/* 136788 80243448 3C028025 */ lui $v0, 0x8025 +/* 136788 80243448 3C028025 */ lui $v0, %hi(gPauseMenuTextScrollInterpEasingLUT) /* 13678C 8024344C 00501021 */ addu $v0, $v0, $s0 -/* 136790 80243450 9042F0AC */ lbu $v0, -0xf54($v0) +/* 136790 80243450 9042F0AC */ lbu $v0, %lo(gPauseMenuTextScrollInterpEasingLUT)($v0) .L80243454: /* 136794 80243454 00430018 */ mult $v0, $v1 /* 136798 80243458 8FBF0014 */ lw $ra, 0x14($sp) diff --git a/asm/nonmatchings/code_135EE0/pause_interp_vertical_scroll.s b/asm/nonmatchings/code_135EE0/pause_interp_vertical_scroll.s index eaf1743174..709e6df799 100644 --- a/asm/nonmatchings/code_135EE0/pause_interp_vertical_scroll.s +++ b/asm/nonmatchings/code_135EE0/pause_interp_vertical_scroll.s @@ -23,9 +23,9 @@ glabel pause_interp_vertical_scroll /* 1367F0 802434B0 08090D32 */ j .L802434C8 /* 1367F4 802434B4 00830018 */ mult $a0, $v1 .L802434B8: -/* 1367F8 802434B8 3C048025 */ lui $a0, 0x8025 +/* 1367F8 802434B8 3C048025 */ lui $a0, %hi(gPauseMenuPageScrollInterpEasingLUT) /* 1367FC 802434BC 00902021 */ addu $a0, $a0, $s0 -/* 136800 802434C0 9084F0BC */ lbu $a0, -0xf44($a0) +/* 136800 802434C0 9084F0BC */ lbu $a0, %lo(gPauseMenuPageScrollInterpEasingLUT)($a0) .L802434C4: /* 136804 802434C4 00830018 */ mult $a0, $v1 .L802434C8: diff --git a/asm/nonmatchings/code_135EE0/pause_stats_cleanup.s b/asm/nonmatchings/code_135EE0/pause_stats_cleanup.s deleted file mode 100644 index 8866b2d763..0000000000 --- a/asm/nonmatchings/code_135EE0/pause_stats_cleanup.s +++ /dev/null @@ -1,24 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel pause_stats_cleanup -/* 13A2D4 80246F94 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 13A2D8 80246F98 AFB10014 */ sw $s1, 0x14($sp) -/* 13A2DC 80246F9C 0000882D */ daddu $s1, $zero, $zero -/* 13A2E0 80246FA0 AFB00010 */ sw $s0, 0x10($sp) -/* 13A2E4 80246FA4 3C108027 */ lui $s0, %hi(gStatsMenuIconIDs) -/* 13A2E8 80246FA8 26100150 */ addiu $s0, $s0, %lo(gStatsMenuIconIDs) -/* 13A2EC 80246FAC AFBF0018 */ sw $ra, 0x18($sp) -.L80246FB0: -/* 13A2F0 80246FB0 8E040000 */ lw $a0, ($s0) -/* 13A2F4 80246FB4 26100004 */ addiu $s0, $s0, 4 -/* 13A2F8 80246FB8 0C05123D */ jal free_icon -/* 13A2FC 80246FBC 26310001 */ addiu $s1, $s1, 1 -/* 13A300 80246FC0 2A22000C */ slti $v0, $s1, 0xc -/* 13A304 80246FC4 1440FFFA */ bnez $v0, .L80246FB0 -/* 13A308 80246FC8 00000000 */ nop -/* 13A30C 80246FCC 8FBF0018 */ lw $ra, 0x18($sp) -/* 13A310 80246FD0 8FB10014 */ lw $s1, 0x14($sp) -/* 13A314 80246FD4 8FB00010 */ lw $s0, 0x10($sp) -/* 13A318 80246FD8 03E00008 */ jr $ra -/* 13A31C 80246FDC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/code_135EE0/pause_tabs_cleanup.s b/asm/nonmatchings/code_135EE0/pause_tabs_cleanup.s deleted file mode 100644 index 5ffac8deec..0000000000 --- a/asm/nonmatchings/code_135EE0/pause_tabs_cleanup.s +++ /dev/null @@ -1,25 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel pause_tabs_cleanup -/* 138C70 80245930 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 138C74 80245934 AFB10014 */ sw $s1, 0x14($sp) -/* 138C78 80245938 0000882D */ daddu $s1, $zero, $zero -/* 138C7C 8024593C AFB00010 */ sw $s0, 0x10($sp) -/* 138C80 80245940 3C108027 */ lui $s0, 0x8027 -/* 138C84 80245944 26100130 */ addiu $s0, $s0, 0x130 -/* 138C88 80245948 AFBF0018 */ sw $ra, 0x18($sp) -.L8024594C: -/* 138C8C 8024594C 8E040000 */ lw $a0, ($s0) -/* 138C90 80245950 26100004 */ addiu $s0, $s0, 4 -/* 138C94 80245954 0C05123D */ jal free_icon -/* 138C98 80245958 26310001 */ addiu $s1, $s1, 1 -/* 138C9C 8024595C 2A220006 */ slti $v0, $s1, 6 -/* 138CA0 80245960 1440FFFA */ bnez $v0, .L8024594C -/* 138CA4 80245964 00000000 */ nop -/* 138CA8 80245968 8FBF0018 */ lw $ra, 0x18($sp) -/* 138CAC 8024596C 8FB10014 */ lw $s1, 0x14($sp) -/* 138CB0 80245970 8FB00010 */ lw $s0, 0x10($sp) -/* 138CB4 80245974 03E00008 */ jr $ra -/* 138CB8 80245978 27BD0020 */ addiu $sp, $sp, 0x20 -/* 138CBC 8024597C 00000000 */ nop diff --git a/asm/nonmatchings/code_135EE0/pause_tabs_draw_badges.s b/asm/nonmatchings/code_135EE0/pause_tabs_draw_badges.s index 69b241315f..4fb718f660 100644 --- a/asm/nonmatchings/code_135EE0/pause_tabs_draw_badges.s +++ b/asm/nonmatchings/code_135EE0/pause_tabs_draw_badges.s @@ -14,8 +14,8 @@ glabel pause_tabs_draw_badges /* 138024 80244CE4 AFBF0024 */ sw $ra, 0x24($sp) /* 138028 80244CE8 12200016 */ beqz $s1, .L80244D44 /* 13802C 80244CEC AFB00010 */ sw $s0, 0x10($sp) -/* 138030 80244CF0 3C108027 */ lui $s0, 0x8027 -/* 138034 80244CF4 26100130 */ addiu $s0, $s0, 0x130 +/* 138030 80244CF0 3C108027 */ lui $s0, %hi(gPauseMenuTabIconIDs) +/* 138034 80244CF4 26100130 */ addiu $s0, $s0, %lo(gPauseMenuTabIconIDs) /* 138038 80244CF8 8E040004 */ lw $a0, 4($s0) /* 13803C 80244CFC 0C051280 */ jal set_icon_flags /* 138040 80244D00 24050020 */ addiu $a1, $zero, 0x20 @@ -36,8 +36,8 @@ glabel pause_tabs_draw_badges /* 13807C 80244D3C 08091358 */ j .L80244D60 /* 138080 80244D40 00000000 */ nop .L80244D44: -/* 138084 80244D44 3C108027 */ lui $s0, 0x8027 -/* 138088 80244D48 26100130 */ addiu $s0, $s0, 0x130 +/* 138084 80244D44 3C108027 */ lui $s0, %hi(gPauseMenuTabIconIDs) +/* 138088 80244D48 26100130 */ addiu $s0, $s0, %lo(gPauseMenuTabIconIDs) /* 13808C 80244D4C 8E040004 */ lw $a0, 4($s0) /* 138090 80244D50 0C05128B */ jal clear_icon_flags /* 138094 80244D54 24050020 */ addiu $a1, $zero, 0x20 @@ -47,8 +47,8 @@ glabel pause_tabs_draw_badges /* 1380A0 80244D60 0C0513AC */ jal icon_set_opacity /* 1380A4 80244D64 00000000 */ nop /* 1380A8 80244D68 26450016 */ addiu $a1, $s2, 0x16 -/* 1380AC 80244D6C 3C108027 */ lui $s0, 0x8027 -/* 1380B0 80244D70 26100130 */ addiu $s0, $s0, 0x130 +/* 1380AC 80244D6C 3C108027 */ lui $s0, %hi(gPauseMenuTabIconIDs) +/* 1380B0 80244D70 26100130 */ addiu $s0, $s0, %lo(gPauseMenuTabIconIDs) /* 1380B4 80244D74 8E040004 */ lw $a0, 4($s0) /* 1380B8 80244D78 0C051261 */ jal set_icon_render_pos /* 1380BC 80244D7C 26660007 */ addiu $a2, $s3, 7 diff --git a/asm/nonmatchings/code_135EE0/pause_tabs_draw_items.s b/asm/nonmatchings/code_135EE0/pause_tabs_draw_items.s index 739c2e0f05..87de13af01 100644 --- a/asm/nonmatchings/code_135EE0/pause_tabs_draw_items.s +++ b/asm/nonmatchings/code_135EE0/pause_tabs_draw_items.s @@ -14,8 +14,8 @@ glabel pause_tabs_draw_items /* 13814C 80244E0C AFBF0024 */ sw $ra, 0x24($sp) /* 138150 80244E10 12200016 */ beqz $s1, .L80244E6C /* 138154 80244E14 AFB00010 */ sw $s0, 0x10($sp) -/* 138158 80244E18 3C108027 */ lui $s0, 0x8027 -/* 13815C 80244E1C 26100130 */ addiu $s0, $s0, 0x130 +/* 138158 80244E18 3C108027 */ lui $s0, %hi(gPauseMenuTabIconIDs) +/* 13815C 80244E1C 26100130 */ addiu $s0, $s0, %lo(gPauseMenuTabIconIDs) /* 138160 80244E20 8E040008 */ lw $a0, 8($s0) /* 138164 80244E24 0C051280 */ jal set_icon_flags /* 138168 80244E28 24050020 */ addiu $a1, $zero, 0x20 @@ -36,8 +36,8 @@ glabel pause_tabs_draw_items /* 1381A4 80244E64 080913A2 */ j .L80244E88 /* 1381A8 80244E68 00000000 */ nop .L80244E6C: -/* 1381AC 80244E6C 3C108027 */ lui $s0, 0x8027 -/* 1381B0 80244E70 26100130 */ addiu $s0, $s0, 0x130 +/* 1381AC 80244E6C 3C108027 */ lui $s0, %hi(gPauseMenuTabIconIDs) +/* 1381B0 80244E70 26100130 */ addiu $s0, $s0, %lo(gPauseMenuTabIconIDs) /* 1381B4 80244E74 8E040008 */ lw $a0, 8($s0) /* 1381B8 80244E78 0C05128B */ jal clear_icon_flags /* 1381BC 80244E7C 24050020 */ addiu $a1, $zero, 0x20 @@ -47,8 +47,8 @@ glabel pause_tabs_draw_items /* 1381C8 80244E88 0C0513AC */ jal icon_set_opacity /* 1381CC 80244E8C 00000000 */ nop /* 1381D0 80244E90 26450016 */ addiu $a1, $s2, 0x16 -/* 1381D4 80244E94 3C108027 */ lui $s0, 0x8027 -/* 1381D8 80244E98 26100130 */ addiu $s0, $s0, 0x130 +/* 1381D4 80244E94 3C108027 */ lui $s0, %hi(gPauseMenuTabIconIDs) +/* 1381D8 80244E98 26100130 */ addiu $s0, $s0, %lo(gPauseMenuTabIconIDs) /* 1381DC 80244E9C 8E040008 */ lw $a0, 8($s0) /* 1381E0 80244EA0 0C051261 */ jal set_icon_render_pos /* 1381E4 80244EA4 26660007 */ addiu $a2, $s3, 7 diff --git a/asm/nonmatchings/code_135EE0/pause_tabs_draw_map.s b/asm/nonmatchings/code_135EE0/pause_tabs_draw_map.s index 4c52bac22c..71875acb18 100644 --- a/asm/nonmatchings/code_135EE0/pause_tabs_draw_map.s +++ b/asm/nonmatchings/code_135EE0/pause_tabs_draw_map.s @@ -14,8 +14,8 @@ glabel pause_tabs_draw_map /* 1384C4 80245184 AFBF0024 */ sw $ra, 0x24($sp) /* 1384C8 80245188 12200016 */ beqz $s1, .L802451E4 /* 1384CC 8024518C AFB00010 */ sw $s0, 0x10($sp) -/* 1384D0 80245190 3C108027 */ lui $s0, 0x8027 -/* 1384D4 80245194 26100130 */ addiu $s0, $s0, 0x130 +/* 1384D0 80245190 3C108027 */ lui $s0, %hi(gPauseMenuTabIconIDs) +/* 1384D4 80245194 26100130 */ addiu $s0, $s0, %lo(gPauseMenuTabIconIDs) /* 1384D8 80245198 8E040014 */ lw $a0, 0x14($s0) /* 1384DC 8024519C 0C051280 */ jal set_icon_flags /* 1384E0 802451A0 24050020 */ addiu $a1, $zero, 0x20 @@ -36,8 +36,8 @@ glabel pause_tabs_draw_map /* 13851C 802451DC 08091480 */ j .L80245200 /* 138520 802451E0 00000000 */ nop .L802451E4: -/* 138524 802451E4 3C108027 */ lui $s0, 0x8027 -/* 138528 802451E8 26100130 */ addiu $s0, $s0, 0x130 +/* 138524 802451E4 3C108027 */ lui $s0, %hi(gPauseMenuTabIconIDs) +/* 138528 802451E8 26100130 */ addiu $s0, $s0, %lo(gPauseMenuTabIconIDs) /* 13852C 802451EC 8E040014 */ lw $a0, 0x14($s0) /* 138530 802451F0 0C05128B */ jal clear_icon_flags /* 138534 802451F4 24050020 */ addiu $a1, $zero, 0x20 @@ -47,8 +47,8 @@ glabel pause_tabs_draw_map /* 138540 80245200 0C0513AC */ jal icon_set_opacity /* 138544 80245204 00000000 */ nop /* 138548 80245208 26450017 */ addiu $a1, $s2, 0x17 -/* 13854C 8024520C 3C108027 */ lui $s0, 0x8027 -/* 138550 80245210 26100130 */ addiu $s0, $s0, 0x130 +/* 13854C 8024520C 3C108027 */ lui $s0, %hi(gPauseMenuTabIconIDs) +/* 138550 80245210 26100130 */ addiu $s0, $s0, %lo(gPauseMenuTabIconIDs) /* 138554 80245214 8E040014 */ lw $a0, 0x14($s0) /* 138558 80245218 0C051261 */ jal set_icon_render_pos /* 13855C 8024521C 26660007 */ addiu $a2, $s3, 7 diff --git a/asm/nonmatchings/code_135EE0/pause_tabs_draw_party.s b/asm/nonmatchings/code_135EE0/pause_tabs_draw_party.s index 5b5d5b866a..2e1c4098ca 100644 --- a/asm/nonmatchings/code_135EE0/pause_tabs_draw_party.s +++ b/asm/nonmatchings/code_135EE0/pause_tabs_draw_party.s @@ -14,8 +14,8 @@ glabel pause_tabs_draw_party /* 138274 80244F34 AFBF0024 */ sw $ra, 0x24($sp) /* 138278 80244F38 12200016 */ beqz $s1, .L80244F94 /* 13827C 80244F3C AFB00010 */ sw $s0, 0x10($sp) -/* 138280 80244F40 3C108027 */ lui $s0, 0x8027 -/* 138284 80244F44 26100130 */ addiu $s0, $s0, 0x130 +/* 138280 80244F40 3C108027 */ lui $s0, %hi(gPauseMenuTabIconIDs) +/* 138284 80244F44 26100130 */ addiu $s0, $s0, %lo(gPauseMenuTabIconIDs) /* 138288 80244F48 8E04000C */ lw $a0, 0xc($s0) /* 13828C 80244F4C 0C051280 */ jal set_icon_flags /* 138290 80244F50 24050020 */ addiu $a1, $zero, 0x20 @@ -36,8 +36,8 @@ glabel pause_tabs_draw_party /* 1382CC 80244F8C 080913EC */ j .L80244FB0 /* 1382D0 80244F90 00000000 */ nop .L80244F94: -/* 1382D4 80244F94 3C108027 */ lui $s0, 0x8027 -/* 1382D8 80244F98 26100130 */ addiu $s0, $s0, 0x130 +/* 1382D4 80244F94 3C108027 */ lui $s0, %hi(gPauseMenuTabIconIDs) +/* 1382D8 80244F98 26100130 */ addiu $s0, $s0, %lo(gPauseMenuTabIconIDs) /* 1382DC 80244F9C 8E04000C */ lw $a0, 0xc($s0) /* 1382E0 80244FA0 0C05128B */ jal clear_icon_flags /* 1382E4 80244FA4 24050020 */ addiu $a1, $zero, 0x20 @@ -47,8 +47,8 @@ glabel pause_tabs_draw_party /* 1382F0 80244FB0 0C0513AC */ jal icon_set_opacity /* 1382F4 80244FB4 00000000 */ nop /* 1382F8 80244FB8 26450016 */ addiu $a1, $s2, 0x16 -/* 1382FC 80244FBC 3C108027 */ lui $s0, 0x8027 -/* 138300 80244FC0 26100130 */ addiu $s0, $s0, 0x130 +/* 1382FC 80244FBC 3C108027 */ lui $s0, %hi(gPauseMenuTabIconIDs) +/* 138300 80244FC0 26100130 */ addiu $s0, $s0, %lo(gPauseMenuTabIconIDs) /* 138304 80244FC4 8E04000C */ lw $a0, 0xc($s0) /* 138308 80244FC8 0C051261 */ jal set_icon_render_pos /* 13830C 80244FCC 26660007 */ addiu $a2, $s3, 7 diff --git a/asm/nonmatchings/code_135EE0/pause_tabs_draw_spirits.s b/asm/nonmatchings/code_135EE0/pause_tabs_draw_spirits.s index 8cbc8be82c..7b8638806a 100644 --- a/asm/nonmatchings/code_135EE0/pause_tabs_draw_spirits.s +++ b/asm/nonmatchings/code_135EE0/pause_tabs_draw_spirits.s @@ -14,8 +14,8 @@ glabel pause_tabs_draw_spirits /* 13839C 8024505C AFBF0024 */ sw $ra, 0x24($sp) /* 1383A0 80245060 12200016 */ beqz $s1, .L802450BC /* 1383A4 80245064 AFB00010 */ sw $s0, 0x10($sp) -/* 1383A8 80245068 3C108027 */ lui $s0, 0x8027 -/* 1383AC 8024506C 26100130 */ addiu $s0, $s0, 0x130 +/* 1383A8 80245068 3C108027 */ lui $s0, %hi(gPauseMenuTabIconIDs) +/* 1383AC 8024506C 26100130 */ addiu $s0, $s0, %lo(gPauseMenuTabIconIDs) /* 1383B0 80245070 8E040010 */ lw $a0, 0x10($s0) /* 1383B4 80245074 0C051280 */ jal set_icon_flags /* 1383B8 80245078 24050020 */ addiu $a1, $zero, 0x20 @@ -36,8 +36,8 @@ glabel pause_tabs_draw_spirits /* 1383F4 802450B4 08091436 */ j .L802450D8 /* 1383F8 802450B8 00000000 */ nop .L802450BC: -/* 1383FC 802450BC 3C108027 */ lui $s0, 0x8027 -/* 138400 802450C0 26100130 */ addiu $s0, $s0, 0x130 +/* 1383FC 802450BC 3C108027 */ lui $s0, %hi(gPauseMenuTabIconIDs) +/* 138400 802450C0 26100130 */ addiu $s0, $s0, %lo(gPauseMenuTabIconIDs) /* 138404 802450C4 8E040010 */ lw $a0, 0x10($s0) /* 138408 802450C8 0C05128B */ jal clear_icon_flags /* 13840C 802450CC 24050020 */ addiu $a1, $zero, 0x20 @@ -47,8 +47,8 @@ glabel pause_tabs_draw_spirits /* 138418 802450D8 0C0513AC */ jal icon_set_opacity /* 13841C 802450DC 00000000 */ nop /* 138420 802450E0 26450016 */ addiu $a1, $s2, 0x16 -/* 138424 802450E4 3C108027 */ lui $s0, 0x8027 -/* 138428 802450E8 26100130 */ addiu $s0, $s0, 0x130 +/* 138424 802450E4 3C108027 */ lui $s0, %hi(gPauseMenuTabIconIDs) +/* 138428 802450E8 26100130 */ addiu $s0, $s0, %lo(gPauseMenuTabIconIDs) /* 13842C 802450EC 8E040010 */ lw $a0, 0x10($s0) /* 138430 802450F0 0C051261 */ jal set_icon_render_pos /* 138434 802450F4 26660007 */ addiu $a2, $s3, 7 diff --git a/asm/nonmatchings/code_135EE0/pause_tabs_draw_stats.s b/asm/nonmatchings/code_135EE0/pause_tabs_draw_stats.s index 2aaf1ea3e2..5cfc3212ba 100644 --- a/asm/nonmatchings/code_135EE0/pause_tabs_draw_stats.s +++ b/asm/nonmatchings/code_135EE0/pause_tabs_draw_stats.s @@ -14,8 +14,8 @@ glabel pause_tabs_draw_stats /* 137EFC 80244BBC AFBF0024 */ sw $ra, 0x24($sp) /* 137F00 80244BC0 12200016 */ beqz $s1, .L80244C1C /* 137F04 80244BC4 AFB00010 */ sw $s0, 0x10($sp) -/* 137F08 80244BC8 3C108027 */ lui $s0, 0x8027 -/* 137F0C 80244BCC 26100130 */ addiu $s0, $s0, 0x130 +/* 137F08 80244BC8 3C108027 */ lui $s0, %hi(gPauseMenuTabIconIDs) +/* 137F0C 80244BCC 26100130 */ addiu $s0, $s0, %lo(gPauseMenuTabIconIDs) /* 137F10 80244BD0 8E040000 */ lw $a0, ($s0) /* 137F14 80244BD4 0C051280 */ jal set_icon_flags /* 137F18 80244BD8 24050020 */ addiu $a1, $zero, 0x20 @@ -36,8 +36,8 @@ glabel pause_tabs_draw_stats /* 137F54 80244C14 0809130E */ j .L80244C38 /* 137F58 80244C18 00000000 */ nop .L80244C1C: -/* 137F5C 80244C1C 3C108027 */ lui $s0, 0x8027 -/* 137F60 80244C20 26100130 */ addiu $s0, $s0, 0x130 +/* 137F5C 80244C1C 3C108027 */ lui $s0, %hi(gPauseMenuTabIconIDs) +/* 137F60 80244C20 26100130 */ addiu $s0, $s0, %lo(gPauseMenuTabIconIDs) /* 137F64 80244C24 8E040000 */ lw $a0, ($s0) /* 137F68 80244C28 0C05128B */ jal clear_icon_flags /* 137F6C 80244C2C 24050020 */ addiu $a1, $zero, 0x20 @@ -47,8 +47,8 @@ glabel pause_tabs_draw_stats /* 137F78 80244C38 0C0513AC */ jal icon_set_opacity /* 137F7C 80244C3C 00000000 */ nop /* 137F80 80244C40 26450016 */ addiu $a1, $s2, 0x16 -/* 137F84 80244C44 3C108027 */ lui $s0, 0x8027 -/* 137F88 80244C48 26100130 */ addiu $s0, $s0, 0x130 +/* 137F84 80244C44 3C108027 */ lui $s0, %hi(gPauseMenuTabIconIDs) +/* 137F88 80244C48 26100130 */ addiu $s0, $s0, %lo(gPauseMenuTabIconIDs) /* 137F8C 80244C4C 8E040000 */ lw $a0, ($s0) /* 137F90 80244C50 0C051261 */ jal set_icon_render_pos /* 137F94 80244C54 26660007 */ addiu $a2, $s3, 7 diff --git a/asm/nonmatchings/code_135EE0/pause_tabs_handle_input.s b/asm/nonmatchings/code_135EE0/pause_tabs_handle_input.s index d4792e02e9..e1c2c16eb8 100644 --- a/asm/nonmatchings/code_135EE0/pause_tabs_handle_input.s +++ b/asm/nonmatchings/code_135EE0/pause_tabs_handle_input.s @@ -16,8 +16,8 @@ glabel pause_tabs_handle_input /* 1386C0 80245380 24070005 */ addiu $a3, $zero, 5 /* 1386C4 80245384 3C048027 */ lui $a0, 0x8027 /* 1386C8 80245388 2484014C */ addiu $a0, $a0, 0x14c -/* 1386CC 8024538C 3C068025 */ lui $a2, 0x8025 -/* 1386D0 80245390 24C6EF80 */ addiu $a2, $a2, -0x1080 +/* 1386CC 8024538C 3C068025 */ lui $a2, %hi(gPauseMenuTabs) +/* 1386D0 80245390 24C6EF80 */ addiu $a2, $a2, %lo(gPauseMenuTabs) /* 1386D4 80245394 3C058025 */ lui $a1, 0x8025 /* 1386D8 80245398 24A5F1D0 */ addiu $a1, $a1, -0xe30 .L8024539C: @@ -53,8 +53,8 @@ glabel pause_tabs_handle_input /* 138748 80245408 00000000 */ nop /* 13874C 8024540C 3C038027 */ lui $v1, 0x8027 /* 138750 80245410 2463014C */ addiu $v1, $v1, 0x14c -/* 138754 80245414 3C058025 */ lui $a1, 0x8025 -/* 138758 80245418 24A5EF80 */ addiu $a1, $a1, -0x1080 +/* 138754 80245414 3C058025 */ lui $a1, %hi(gPauseMenuTabs) +/* 138758 80245418 24A5EF80 */ addiu $a1, $a1, %lo(gPauseMenuTabs) /* 13875C 8024541C 3C048025 */ lui $a0, 0x8025 /* 138760 80245420 2484F1D0 */ addiu $a0, $a0, -0xe30 .L80245424: @@ -132,9 +132,9 @@ glabel pause_tabs_handle_input /* 138874 80245534 00220821 */ addu $at, $at, $v0 /* 138878 80245538 9022F1D0 */ lbu $v0, -0xe30($at) /* 13887C 8024553C 00021080 */ sll $v0, $v0, 2 -/* 138880 80245540 3C018025 */ lui $at, 0x8025 +/* 138880 80245540 3C018025 */ lui $at, %hi(gPauseMenuTabs) /* 138884 80245544 00220821 */ addu $at, $at, $v0 -/* 138888 80245548 8C22EF80 */ lw $v0, -0x1080($at) +/* 138888 80245548 8C22EF80 */ lw $v0, %lo(gPauseMenuTabs)($at) /* 13888C 8024554C 3C118025 */ lui $s1, 0x8025 /* 138890 80245550 2631F1D0 */ addiu $s1, $s1, -0xe30 /* 138894 80245554 90430000 */ lbu $v1, ($v0) diff --git a/asm/nonmatchings/code_135EE0/pause_tabs_init.s b/asm/nonmatchings/code_135EE0/pause_tabs_init.s index e00c15b923..2cadcd3595 100644 --- a/asm/nonmatchings/code_135EE0/pause_tabs_init.s +++ b/asm/nonmatchings/code_135EE0/pause_tabs_init.s @@ -8,8 +8,8 @@ glabel pause_tabs_init /* 1385D4 80245294 AFB00010 */ sw $s0, 0x10($sp) /* 1385D8 80245298 0000802D */ daddu $s0, $zero, $zero /* 1385DC 8024529C AFB20018 */ sw $s2, 0x18($sp) -/* 1385E0 802452A0 3C128027 */ lui $s2, 0x8027 -/* 1385E4 802452A4 26520130 */ addiu $s2, $s2, 0x130 +/* 1385E0 802452A0 3C128027 */ lui $s2, %hi(gPauseMenuTabIconIDs) +/* 1385E4 802452A4 26520130 */ addiu $s2, $s2, %lo(gPauseMenuTabIconIDs) /* 1385E8 802452A8 AFB10014 */ sw $s1, 0x14($sp) /* 1385EC 802452AC 3C118025 */ lui $s1, 0x8025 /* 1385F0 802452B0 2631F1B0 */ addiu $s1, $s1, -0xe50 diff --git a/asm/nonmatchings/code_135EE0/pause_tabs_update.s b/asm/nonmatchings/code_135EE0/pause_tabs_update.s index 2c019dbf61..96339aac45 100644 --- a/asm/nonmatchings/code_135EE0/pause_tabs_update.s +++ b/asm/nonmatchings/code_135EE0/pause_tabs_update.s @@ -110,8 +110,8 @@ glabel pause_tabs_update /* 138A84 80245744 0000202D */ daddu $a0, $zero, $zero .L80245748: /* 138A88 80245748 0080802D */ daddu $s0, $a0, $zero -/* 138A8C 8024574C 3C078025 */ lui $a3, 0x8025 -/* 138A90 80245750 24E7EF80 */ addiu $a3, $a3, -0x1080 +/* 138A8C 8024574C 3C078025 */ lui $a3, %hi(gPauseMenuTabs) +/* 138A90 80245750 24E7EF80 */ addiu $a3, $a3, %lo(gPauseMenuTabs) /* 138A94 80245754 3C068025 */ lui $a2, 0x8025 /* 138A98 80245758 24C6F1D0 */ addiu $a2, $a2, -0xe30 /* 138A9C 8024575C 3C058016 */ lui $a1, %hi(D_80159D50) @@ -156,8 +156,8 @@ glabel pause_tabs_update /* 138B28 802457E8 2508F1D0 */ addiu $t0, $t0, -0xe30 /* 138B2C 802457EC 02081021 */ addu $v0, $s0, $t0 /* 138B30 802457F0 90420000 */ lbu $v0, ($v0) -/* 138B34 802457F4 3C088025 */ lui $t0, 0x8025 -/* 138B38 802457F8 2508EF80 */ addiu $t0, $t0, -0x1080 +/* 138B34 802457F4 3C088025 */ lui $t0, %hi(gPauseMenuTabs) +/* 138B38 802457F8 2508EF80 */ addiu $t0, $t0, %lo(gPauseMenuTabs) /* 138B3C 802457FC 00021080 */ sll $v0, $v0, 2 /* 138B40 80245800 00481021 */ addu $v0, $v0, $t0 /* 138B44 80245804 8C420000 */ lw $v0, ($v0) diff --git a/asm/nonmatchings/code_135EE0/pause_update_cursor.s b/asm/nonmatchings/code_135EE0/pause_update_cursor.s index 2e6bb288f2..0a75d3c1d9 100644 --- a/asm/nonmatchings/code_135EE0/pause_update_cursor.s +++ b/asm/nonmatchings/code_135EE0/pause_update_cursor.s @@ -10,8 +10,8 @@ glabel pause_update_cursor /* 136830 802434F0 AFBF001C */ sw $ra, 0x1c($sp) /* 136834 802434F4 0C090B9B */ jal pause_interp_cursor /* 136838 802434F8 AFB00010 */ sw $s0, 0x10($sp) -/* 13683C 802434FC 3C058025 */ lui $a1, 0x8025 -/* 136840 80243500 8CA5EFA4 */ lw $a1, -0x105c($a1) +/* 13683C 802434FC 3C058025 */ lui $a1, %hi(gPauseMenuCursorOpacity) +/* 136840 80243500 8CA5EFA4 */ lw $a1, %lo(gPauseMenuCursorOpacity)($a1) /* 136844 80243504 18A00012 */ blez $a1, .L80243550 /* 136848 80243508 28A20100 */ slti $v0, $a1, 0x100 /* 13684C 8024350C 50400001 */ beql $v0, $zero, .L80243514 @@ -22,8 +22,8 @@ glabel pause_update_cursor /* 13685C 8024351C 0C0513AC */ jal icon_set_opacity /* 136860 80243520 8E040000 */ lw $a0, ($s0) /* 136864 80243524 8E040000 */ lw $a0, ($s0) -/* 136868 80243528 3C058025 */ lui $a1, 0x8025 -/* 13686C 8024352C 8CA5EF9C */ lw $a1, -0x1064($a1) +/* 136868 80243528 3C058025 */ lui $a1, %hi(gPauseMenuCursorPos) +/* 13686C 8024352C 8CA5EF9C */ lw $a1, %lo(gPauseMenuCursorPos)($a1) /* 136870 80243530 3C068025 */ lui $a2, 0x8025 /* 136874 80243534 8CC6EFA0 */ lw $a2, -0x1060($a2) /* 136878 80243538 02252821 */ addu $a1, $s1, $a1 diff --git a/asm/nonmatchings/code_135EE0/pause_badges_cleanup.s b/asm/nonmatchings/code_138CC0/pause_badges_cleanup.s similarity index 100% rename from asm/nonmatchings/code_135EE0/pause_badges_cleanup.s rename to asm/nonmatchings/code_138CC0/pause_badges_cleanup.s diff --git a/asm/nonmatchings/code_135EE0/pause_badges_comparator.s b/asm/nonmatchings/code_138CC0/pause_badges_comparator.s similarity index 100% rename from asm/nonmatchings/code_135EE0/pause_badges_comparator.s rename to asm/nonmatchings/code_138CC0/pause_badges_comparator.s diff --git a/asm/nonmatchings/code_135EE0/pause_badges_count_all.s b/asm/nonmatchings/code_138CC0/pause_badges_count_all.s similarity index 100% rename from asm/nonmatchings/code_135EE0/pause_badges_count_all.s rename to asm/nonmatchings/code_138CC0/pause_badges_count_all.s diff --git a/asm/nonmatchings/code_135EE0/pause_badges_count_equipped.s b/asm/nonmatchings/code_138CC0/pause_badges_count_equipped.s similarity index 100% rename from asm/nonmatchings/code_135EE0/pause_badges_count_equipped.s rename to asm/nonmatchings/code_138CC0/pause_badges_count_equipped.s diff --git a/asm/nonmatchings/code_135EE0/pause_badges_draw_bp_orbs.s b/asm/nonmatchings/code_138CC0/pause_badges_draw_bp_orbs.s similarity index 100% rename from asm/nonmatchings/code_135EE0/pause_badges_draw_bp_orbs.s rename to asm/nonmatchings/code_138CC0/pause_badges_draw_bp_orbs.s diff --git a/asm/nonmatchings/code_135EE0/pause_badges_draw_contents.s b/asm/nonmatchings/code_138CC0/pause_badges_draw_contents.s similarity index 100% rename from asm/nonmatchings/code_135EE0/pause_badges_draw_contents.s rename to asm/nonmatchings/code_138CC0/pause_badges_draw_contents.s diff --git a/asm/nonmatchings/code_135EE0/pause_badges_get_pos_x.s b/asm/nonmatchings/code_138CC0/pause_badges_get_pos_x.s similarity index 100% rename from asm/nonmatchings/code_135EE0/pause_badges_get_pos_x.s rename to asm/nonmatchings/code_138CC0/pause_badges_get_pos_x.s diff --git a/asm/nonmatchings/code_135EE0/pause_badges_get_pos_y.s b/asm/nonmatchings/code_138CC0/pause_badges_get_pos_y.s similarity index 100% rename from asm/nonmatchings/code_135EE0/pause_badges_get_pos_y.s rename to asm/nonmatchings/code_138CC0/pause_badges_get_pos_y.s diff --git a/asm/nonmatchings/code_135EE0/pause_badges_get_row.s b/asm/nonmatchings/code_138CC0/pause_badges_get_row.s similarity index 100% rename from asm/nonmatchings/code_135EE0/pause_badges_get_row.s rename to asm/nonmatchings/code_138CC0/pause_badges_get_row.s diff --git a/asm/nonmatchings/code_135EE0/pause_badges_handle_input.s b/asm/nonmatchings/code_138CC0/pause_badges_handle_input.s similarity index 100% rename from asm/nonmatchings/code_135EE0/pause_badges_handle_input.s rename to asm/nonmatchings/code_138CC0/pause_badges_handle_input.s diff --git a/asm/nonmatchings/code_135EE0/pause_badges_init.s b/asm/nonmatchings/code_138CC0/pause_badges_init.s similarity index 100% rename from asm/nonmatchings/code_135EE0/pause_badges_init.s rename to asm/nonmatchings/code_138CC0/pause_badges_init.s diff --git a/asm/nonmatchings/code_135EE0/pause_badges_load_badges.s b/asm/nonmatchings/code_138CC0/pause_badges_load_badges.s similarity index 100% rename from asm/nonmatchings/code_135EE0/pause_badges_load_badges.s rename to asm/nonmatchings/code_138CC0/pause_badges_load_badges.s diff --git a/asm/nonmatchings/code_135EE0/pause_badges_try_equip.s b/asm/nonmatchings/code_138CC0/pause_badges_try_equip.s similarity index 100% rename from asm/nonmatchings/code_135EE0/pause_badges_try_equip.s rename to asm/nonmatchings/code_138CC0/pause_badges_try_equip.s diff --git a/asm/nonmatchings/code_135EE0/pause_badges_try_remove.s b/asm/nonmatchings/code_138CC0/pause_badges_try_remove.s similarity index 100% rename from asm/nonmatchings/code_135EE0/pause_badges_try_remove.s rename to asm/nonmatchings/code_138CC0/pause_badges_try_remove.s diff --git a/asm/nonmatchings/code_135EE0/pause_badges_update.s b/asm/nonmatchings/code_138CC0/pause_badges_update.s similarity index 100% rename from asm/nonmatchings/code_135EE0/pause_badges_update.s rename to asm/nonmatchings/code_138CC0/pause_badges_update.s diff --git a/asm/nonmatchings/code_135EE0/pause_stats_draw_contents.s b/asm/nonmatchings/code_138CC0/pause_stats_draw_contents.s similarity index 100% rename from asm/nonmatchings/code_135EE0/pause_stats_draw_contents.s rename to asm/nonmatchings/code_138CC0/pause_stats_draw_contents.s diff --git a/asm/nonmatchings/code_135EE0/pause_stats_handle_input.s b/asm/nonmatchings/code_138CC0/pause_stats_handle_input.s similarity index 100% rename from asm/nonmatchings/code_135EE0/pause_stats_handle_input.s rename to asm/nonmatchings/code_138CC0/pause_stats_handle_input.s diff --git a/asm/nonmatchings/code_135EE0/pause_stats_init.s b/asm/nonmatchings/code_138CC0/pause_stats_init.s similarity index 100% rename from asm/nonmatchings/code_135EE0/pause_stats_init.s rename to asm/nonmatchings/code_138CC0/pause_stats_init.s diff --git a/include/common_structs.h b/include/common_structs.h index 11157ccca3..0c76d0a20b 100644 --- a/include/common_structs.h +++ b/include/common_structs.h @@ -1542,4 +1542,13 @@ typedef struct { /* 0x08 */ s32 count; } PauseItemPage; // size = 0xC +typedef struct { + /* 0x00 */ char unk_00[8]; + /* 0x08 */ s8* unk_08; + /* 0x0C */ void* fpInit; + /* 0x10 */ void* fpHandleInput; + /* 0x14 */ void* fpUpdate; + /* 0x18 */ void* fpCleanup; +} MenuTab; // size = 0x1C + #endif diff --git a/include/variables.h b/include/variables.h index 55782e59b6..d33e05c6a5 100644 --- a/include/variables.h +++ b/include/variables.h @@ -120,9 +120,17 @@ extern s32 D_800A0960; extern s32 D_800A0964; // Pause +extern s32 gPauseMenuTabIconIDs[6]; extern PauseItemPage gItemMenuPages[20]; extern s32 gPauseMenuStrings[348]; +extern s32 gPauseMenuIconScripts[8]; +extern MenuTab* gPauseMenuTabs[7]; +extern s32 gPauseMenuCursorPos[2]; +extern s32 gPauseMenuCursorOpacity; +extern s32 gPauseMenuTargetPos[2]; extern s32 gPauseMenuCursorTargetOpacity; +extern s8 gPauseMenuTextScrollInterpEasingLUT[16]; +extern s8 gPauseMenuPageScrollInterpEasingLUT[16]; // Badges extern PauseItemPage gBadgeMenuPages[20]; diff --git a/src/code_135EE0.c b/src/code_135EE0.c index 2d5a70d30a..1e0b0a33da 100644 --- a/src/code_135EE0.c +++ b/src/code_135EE0.c @@ -83,62 +83,11 @@ INCLUDE_ASM(s32, "code_135EE0", pause_tabs_handle_input); INCLUDE_ASM(s32, "code_135EE0", pause_tabs_update); -INCLUDE_ASM(s32, "code_135EE0", pause_tabs_cleanup); +void pause_tabs_cleanup(void) { + s32* iconIDs = gPauseMenuTabIconIDs; + s32 i; -INCLUDE_ASM(s32, "code_135EE0", pause_stats_draw_contents); - -INCLUDE_ASM(s32, "code_135EE0", pause_stats_init); - -INCLUDE_ASM(s32, "code_135EE0", pause_stats_handle_input); - -INCLUDE_ASM(s32, "code_135EE0", pause_stats_cleanup); - -INCLUDE_ASM(s32, "code_135EE0", pause_badges_comparator); - -INCLUDE_ASM(s32, "code_135EE0", pause_badges_count_all); - -INCLUDE_ASM(s32, "code_135EE0", pause_badges_count_equipped); - -INCLUDE_ASM(s32, "code_135EE0", pause_badges_get_pos_x); - -INCLUDE_ASM(s32, "code_135EE0", pause_badges_get_pos_y); - -s32 pause_badges_get_column(s32 page, s32 itemIdx) { - return itemIdx % gBadgeMenuPages[page].numCols; -} - -INCLUDE_ASM(s32, "code_135EE0", pause_badges_get_row); - -s32 pause_badges_is_visible(s32 y) { - if (y < gBadgeMenuCurrentScrollPos - 32) { - return FALSE; - } else { - return y < gBadgeMenuCurrentScrollPos + 128; + for (i = 0; i < ARRAY_COUNT(gPauseMenuTabIconIDs); i++) { + free_icon(iconIDs[i]); } } - -s32 pause_badges_scroll_offset_y(s32 offset) { - return offset - gBadgeMenuCurrentScrollPos; -} - -s32 pause_badges_scroll_offset_x(s32 x) { - return x; -} - -INCLUDE_ASM(s32, "code_135EE0", pause_badges_try_remove); - -INCLUDE_ASM(s32, "code_135EE0", pause_badges_try_equip); - -INCLUDE_ASM(s32, "code_135EE0", pause_badges_draw_bp_orbs); - -INCLUDE_ASM(s32, "code_135EE0", pause_badges_draw_contents); - -INCLUDE_ASM(s32, "code_135EE0", pause_badges_load_badges); - -INCLUDE_ASM(s32, "code_135EE0", pause_badges_init); - -INCLUDE_ASM(s32, "code_135EE0", pause_badges_handle_input); - -INCLUDE_ASM(s32, "code_135EE0", pause_badges_update); - -INCLUDE_ASM(s32, "code_135EE0", pause_badges_cleanup); diff --git a/src/code_138CC0.c b/src/code_138CC0.c new file mode 100644 index 0000000000..43e3d02653 --- /dev/null +++ b/src/code_138CC0.c @@ -0,0 +1,66 @@ +#include "common.h" + +INCLUDE_ASM(s32, "code_138CC0", pause_stats_draw_contents); + +INCLUDE_ASM(s32, "code_138CC0", pause_stats_init); + +INCLUDE_ASM(s32, "code_138CC0", pause_stats_handle_input); + +void pause_stats_cleanup(void) { + s32* iconIDs = gStatsMenuIconIDs; + s32 i; + + for (i = 0; i < ARRAY_COUNT(gStatsMenuIconIDs); i++) { + free_icon(iconIDs[i]); + } +} + +INCLUDE_ASM(s32, "code_138CC0", pause_badges_comparator); + +INCLUDE_ASM(s32, "code_138CC0", pause_badges_count_all); + +INCLUDE_ASM(s32, "code_138CC0", pause_badges_count_equipped); + +INCLUDE_ASM(s32, "code_138CC0", pause_badges_get_pos_x); + +INCLUDE_ASM(s32, "code_138CC0", pause_badges_get_pos_y); + +s32 pause_badges_get_column(s32 page, s32 itemIdx) { + return itemIdx % gBadgeMenuPages[page].numCols; +} + +INCLUDE_ASM(s32, "code_138CC0", pause_badges_get_row); + +s32 pause_badges_is_visible(s32 y) { + if (y < gBadgeMenuCurrentScrollPos - 32) { + return FALSE; + } else { + return y < gBadgeMenuCurrentScrollPos + 128; + } +} + +s32 pause_badges_scroll_offset_y(s32 offset) { + return offset - gBadgeMenuCurrentScrollPos; +} + +s32 pause_badges_scroll_offset_x(s32 x) { + return x; +} + +INCLUDE_ASM(s32, "code_138CC0", pause_badges_try_remove); + +INCLUDE_ASM(s32, "code_138CC0", pause_badges_try_equip); + +INCLUDE_ASM(s32, "code_138CC0", pause_badges_draw_bp_orbs); + +INCLUDE_ASM(s32, "code_138CC0", pause_badges_draw_contents); + +INCLUDE_ASM(s32, "code_138CC0", pause_badges_load_badges); + +INCLUDE_ASM(s32, "code_138CC0", pause_badges_init); + +INCLUDE_ASM(s32, "code_138CC0", pause_badges_handle_input); + +INCLUDE_ASM(s32, "code_138CC0", pause_badges_update); + +INCLUDE_ASM(s32, "code_138CC0", pause_badges_cleanup); diff --git a/tools/splat.yaml b/tools/splat.yaml index f6319a7f05..09cd98c3b2 100644 --- a/tools/splat.yaml +++ b/tools/splat.yaml @@ -301,6 +301,7 @@ segments: vram: 0x80242BA0 files: - [0x135EE0, c] + - [0x138CC0, c] - [0x13CAF0, c] - [0x13FD40, c] - [0x140C70, c] diff --git a/undefined_syms.txt b/undefined_syms.txt index 89b1d53c75..2f3720a6ff 100644 --- a/undefined_syms.txt +++ b/undefined_syms.txt @@ -146,8 +146,17 @@ D_8010F6D0 = 0x8010F6D0; gBackgroundImage = 0x80200000; +gPauseMenuIconScripts = 0x8024EF60; +gPauseMenuTabs = 0x8024EF80; +gPauseMenuCursorPos = 0x8024EF9C; +gPauseMenuCursorOpacity = 0x8024EFA4; +gPauseMenuTargetPos = 0x8024EFA8; gPauseMenuCursorTargetOpacity = 0x8024EFB0; +gPauseMenuTextScrollInterpEasingLUT = 0x8024F0AC; +gPauseMenuPageScrollInterpEasingLUT = 0x8024F0BC; + +gPauseMenuTabIconIDs = 0x80270130; gStatsMenuIconIDs = 0x80270150; gBadgeMenuItemIDs = 0x80270180; gBadgeMenuCurrentPage = 0x80270280;