Decomp most of the pause badge menu (#447)

* Define gMoveTable

* pause_get_total_equipped_bp_cost

* pause_badges_draw_bp_orbs

* pause_badges_cleanup

* pause_badges_init

* pause_badges_try_remove

* pause_badges_handle_input

* pause_badges_try_equip

* WIP on pause_badges_load_badges, almost perfect match

* Full match on pause_badges_load_badges

* Review changes for pause badges

* A few more pause badge review changes, missing some spaces around add/subtract operators

* More small pause badges fixes

* Pause badges review: remove enum typedefs, add names for ranges in ItemID
This commit is contained in:
Ian 2021-09-28 03:47:55 -04:00 committed by GitHub
parent 61467570c8
commit cedfcbbb89
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
28 changed files with 495 additions and 925 deletions

View File

@ -209,7 +209,7 @@ typedef struct PlayerData {
/* 0x005 */ s8 curFP;
/* 0x006 */ s8 curMaxFP;
/* 0x007 */ u8 hardMaxFP;
/* 0x008 */ u8 maxBP;
/* 0x008 */ s8 maxBP;
/* 0x009 */ s8 level;
/* 0x00A */ s8 hasActionCommands;
/* 0x00B */ char unk_0B;
@ -807,7 +807,7 @@ typedef struct StaticMove {
/* 0x0C */ s32 menuDescID;
/* 0x10 */ u8 battleSubmenu;
/* 0x11 */ u8 costFP;
/* 0x12 */ u8 costBP;
/* 0x12 */ s8 costBP;
/* 0x13 */ u8 actionCommandID;
} StaticMove; // size = 0x14
@ -1895,7 +1895,7 @@ typedef struct {
} Path; // size = 0x1C
typedef struct {
/* 0x00 */ s8 enabled;
/* 0x00 */ u8 enabled;
/* 0x01 */ u8 listStart;
/* 0x02 */ u8 numCols;
/* 0x03 */ u8 numRows;

View File

@ -497,6 +497,8 @@ enum Easings {
typedef UNK_TYPE SoundID;
enum SoundIDs {
SOUND_UNKNOWN_0,
SOUND_MENU_BADGE_EQUIP = 5,
SOUND_MENU_BADGE_UNEQUIP = 6,
SOUND_UNKNOWN_D = 13,
SOUND_UNKNOWN_E = 14,
SOUND_UNKNOWN_43 = 67,
@ -544,6 +546,7 @@ enum SoundIDs {
SOUND_CREAKY_DOOR_CLOSE,
SOUND_METAL_GATE_OPEN,
SOUND_METAL_GATE_CLOSE,
SOUND_MENU_BADGE_ERROR = 541,
SOUND_UNKNOWN_246 = 582,
SOUND_UNKNOWN_259 = 601,
SOUND_UNKNOWN_25A,
@ -999,6 +1002,13 @@ enum ItemIDs {
ITEM_ITEMS_ICON,
};
#define ITEM_FIRST_KEY_ITEM ITEM_LUCKY_STAR
#define ITEM_LAST_KEY_ITEM ITEM_PRISON_KEY4
#define ITEM_FIRST_NORMAL_ITEM ITEM_FIRE_FLOWER
#define ITEM_LAST_NORMAL_ITEM ITEM_JELLY_SHROOM6
#define ITEM_FIRST_BADGE ITEM_SPIN_SMASH
#define ITEM_LAST_BADGE ITEM_ATTACK_F_X_F5
// TODO: use NPC_ANIM-like macro for player animations
typedef UNK_TYPE PlayerAnim;
enum PlayerAnims {
@ -1462,6 +1472,10 @@ enum Buttons {
BUTTON_Z = 0x00002000,
BUTTON_B = 0x00004000,
BUTTON_A = 0x00008000,
BUTTON_STICK_UP = 0x00010000,
BUTTON_STICK_DOWN = 0x00020000,
BUTTON_STICK_LEFT = 0x00040000,
BUTTON_STICK_RIGHT = 0x00080000,
};
typedef UNK_TYPE PlayerBuff;
@ -1746,4 +1760,9 @@ enum EffectGfxDataFlags {
FX_GRAPHICS_2 = 2,
};
enum MoveIDs {
MOVE_NONE,
MOVE_UNK_184 = 184,
};
#endif

View File

@ -243,6 +243,8 @@ PlayerData* get_player_data(void);
// Pause
s32 pause_interp_vertical_scroll(s32 deltaBefore);
void pause_draw_rect(s32 ulx, s32 uly, s32 lrx, s32 lry, s32 tileDescriptor, s32 uls, s32 ult, s32 dsdx, s32 dtdy);
s32 pause_get_total_equipped_bp_cost(void);
s32 pause_get_menu_msg(s32 index);
s32 npc_raycast_down_ahead(s32, f32*, f32*, f32*, f32*, f32, f32);
s32 npc_raycast_down_sides(s32, f32*, f32*, f32*, f32*);
@ -513,4 +515,6 @@ void func_80268798(s32, s32, s32, s32);
void func_802687E4(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4);
void sfx_stop_sound(SongID soundID);
void enforce_hpfp_limits(void);
#endif

View File

@ -19,6 +19,7 @@ extern GameStatus* gGameStatusPtr;
extern s32 gRandSeed;
extern StaticItem gItemTable[364];
extern UNK_FUN_PTR(gCurrentUpdateFunction);
extern StaticMove gMoveTable[185];
extern s32 gBattleState;
extern BattleStatus gBattleStatus;
@ -206,6 +207,7 @@ extern ItemID gBadgeMenuItemIDs[128];
extern s32 gBadgeMenuCurrentPage;
extern PauseItemPage gBadgeMenuPages[20];
extern s32 gBadgeMenuSelectedIndex;
extern s32 D_8027037C;
extern s32 gBadgeMenuSelectedItemID;
extern s16 gBadgeMenuNumItems;
extern s32 D_80270388;
@ -214,7 +216,9 @@ extern s32 gBadgeMenuLevel;
extern s32 gBadgeMenuCurrentTab;
extern s32 gBadgeMenuBShowNotEnoughBP;
extern s32 D_802703A4;
extern s32 D_802703A8;
extern s32 gBadgeMenuIconIDs[22];
extern MenuWindowBP gBadgeMenuWindowBPs[1];
extern HudElementAnim *gBadgeMenuElements[22];
// Items
extern s16 gItemMenuItemIDs[100];

View File

@ -148,7 +148,21 @@ INCLUDE_ASM(s32, "pause/135EE0", pause_handle_input);
INCLUDE_ASM(s32, "pause/135EE0", pause_cleanup);
INCLUDE_ASM(s32, "pause/135EE0", pause_get_total_equipped_bp_cost);
s32 pause_get_total_equipped_bp_cost(void) {
s32 totalCost = 0;
s32 i;
for (i = 0; i < ARRAY_COUNT(gPlayerData.equippedBadges); i++) {
ItemID itemID = gPlayerData.equippedBadges[i];
if (itemID != ITEM_NONE) {
s32 moveID = gItemTable[itemID].moveID;
totalCost += gMoveTable[moveID].costBP;
}
}
return totalCost;
}
INCLUDE_ASM(void, "pause/135EE0", pause_draw_rect, s32 ulx, s32 uly, s32 lrx, s32 lry, s32 tileDescriptor, s32 uls,
s32 ult, s32 dsdx, s32 dtdy);

View File

@ -1,5 +1,10 @@
#include "common.h"
// Fake "badge" for the None entry that appears on the equipped badges page when nothing is equipped
#define BADGE_NONE_STANDIN 0x7FFE
// Invalid badge ID filled in unused slots of gBadgeMenuItemIDs
#define BADGE_INVALID 0x7FFF
INCLUDE_ASM(s32, "pause/138CC0", pause_stats_draw_contents);
INCLUDE_ASM(s32, "pause/138CC0", pause_stats_init);
@ -20,13 +25,13 @@ s32 pause_badges_comparator(s16* a, s16* b) {
s16 bVal;
if (*a == 0) {
aVal = ~0x8000;
aVal = BADGE_INVALID;
} else {
aVal = gItemTable[*a].badgeSortPriority;
}
if (*b == 0) {
bVal = ~0x8000;
bVal = BADGE_INVALID;
} else {
bVal = gItemTable[*b].badgeSortPriority;
}
@ -103,19 +108,392 @@ s32 pause_badges_scroll_offset_x(s32 x) {
return x;
}
INCLUDE_ASM(s32, "pause/138CC0", pause_badges_try_remove);
s32 pause_badges_try_remove(s16 badgeID) {
s16 *currentSlot = gPlayerData.equippedBadges;
s16 *slotToRemove = currentSlot;
s32 result = 0;
s32 i;
INCLUDE_ASM(s32, "pause/138CC0", pause_badges_try_equip);
if (badgeID == BADGE_INVALID) {
return 0;
}
INCLUDE_ASM(s32, "pause/138CC0", pause_badges_draw_bp_orbs);
for (i = 0; i < ARRAY_COUNT(gPlayerData.equippedBadges); i++, currentSlot++) {
if (badgeID == *currentSlot) {
slotToRemove = currentSlot;
result = 1;
break;
}
}
// Remove and shift array contents
for (; i < ARRAY_COUNT(gPlayerData.equippedBadges) - 1; i++, currentSlot++) {
*currentSlot = *(currentSlot + 1);
}
*currentSlot = 0;
if (*slotToRemove == 0) {
result = 2;
}
return result;
}
typedef enum BadgeEquipResult {
EQUIP_RESULT_ALREADY_EQUIPPED,
EQUIP_RESULT_NOT_ENOUGH_BP,
EQUIP_RESULT_TOO_MANY_BADGES,
EQUIP_RESULT_SUCCESS,
} BadgeEquipResult;
s32 pause_badges_try_equip(s16 badgeID) {
PlayerData* playerData = &gPlayerData;
s16 *badgeSlot = &playerData->equippedBadges[0];
s32 i;
s32 totalEquippedBP;
if (badgeID == BADGE_NONE_STANDIN) {
badgeID = 0;
}
if (badgeID == BADGE_INVALID) {
badgeID = 0;
}
if (badgeID == 0) {
return EQUIP_RESULT_NOT_ENOUGH_BP;
}
for (i = 0; i < ARRAY_COUNT(playerData->equippedBadges); i++, badgeSlot++) {
if (*badgeSlot == badgeID) {
return EQUIP_RESULT_ALREADY_EQUIPPED;
}
}
totalEquippedBP = pause_get_total_equipped_bp_cost();
if (badgeID != 0) {
u8 moveID = gItemTable[badgeID].moveID;
s32 requiredBP = totalEquippedBP + gMoveTable[moveID].costBP;
if (playerData->maxBP < requiredBP) {
return EQUIP_RESULT_NOT_ENOUGH_BP;
}
}
badgeSlot = &playerData->equippedBadges[0];
for (i = 0; i < ARRAY_COUNT(playerData->equippedBadges); i++, badgeSlot++) {
if (*badgeSlot == 0) {
*badgeSlot = badgeID;
break;
}
}
if (i == ARRAY_COUNT(playerData->equippedBadges)) {
return EQUIP_RESULT_TOO_MANY_BADGES;
} else {
return EQUIP_RESULT_SUCCESS;
}
}
void pause_badges_draw_bp_orbs(s32 orbState, s32 x, s32 y) {
s32 orbSize = 8;
switch (orbState) {
case 0:
pause_draw_rect(x * 4, y * 4, (x + orbSize) * 4, (y + orbSize) * 4, 0, 0, 256, 1024, 1024);
break;
case 1:
pause_draw_rect(x * 4, y * 4, (x + orbSize) * 4, (y + orbSize) * 4, 0, 0, 0, 1024, 1024);
break;
default:
pause_draw_rect(x * 4, y * 4, (x + orbSize) * 4, (y + orbSize) * 4, 0, 0, 512, 1024, 1024);
break;
}
}
INCLUDE_ASM(s32, "pause/138CC0", pause_badges_draw_contents);
INCLUDE_ASM(s32, "pause/138CC0", pause_badges_load_badges);
void pause_badges_load_badges(s32 onlyEquipped) {
PlayerData* playerData = &gPlayerData;
s32 numItems = 0;
PauseItemPage* page;
s32 i;
INCLUDE_ASM(s32, "pause/138CC0", pause_badges_init);
D_80270388 = 0;
if (!onlyEquipped) {
for (i = 0; i < ARRAY_COUNT(playerData->badges); i++) {
s16 badgeItemID = playerData->badges[i];
INCLUDE_ASM(s32, "pause/138CC0", pause_badges_handle_input);
if (badgeItemID == 0) {
continue;
} else if (badgeItemID > ITEM_LAST_BADGE) {
break;
} else {
gBadgeMenuItemIDs[numItems] = badgeItemID;
numItems += 1;
}
}
} else {
s16* equippedBadges;
// This is just called to sort equippedBadges, the count is discarded
pause_badges_count_equipped();
equippedBadges = playerData->equippedBadges;
for (i = 0; i < ARRAY_COUNT(playerData->equippedBadges); i++) {
// This can be written more clearly as equippedBadges[i],
// but that causes some instruction reordering
s16 badgeItemID = *equippedBadges;
if (badgeItemID != 0) {
gBadgeMenuItemIDs[numItems] = badgeItemID;
numItems += 1;
}
equippedBadges++;
}
}
if (numItems == 0) {
gBadgeMenuItemIDs[0] = BADGE_NONE_STANDIN;
numItems = 1;
}
gBadgeMenuNumItems = numItems;
for (i = numItems; i < ARRAY_COUNT(gBadgeMenuItemIDs); i++) {
gBadgeMenuItemIDs[i] = BADGE_INVALID;
}
gBadgeMenuSelectedIndex = 0;
gBadgeMenuSelectedItemID = 0;
D_8027037C = 0;
D_80270394 = 0;
gBadgeMenuCurrentPage = 0;
page = &gBadgeMenuPages[0];
i = 0;
for (i = 0; i < gBadgeMenuNumItems / 8; i++, page++) {
page->listStart = i * 8;
page->numCols = 1;
page->numRows = 8;
page->enabled = TRUE;
page->startIndex = i * 8;
page->count = 8;
}
if ((gBadgeMenuNumItems % 8) != 0) {
s16 count;
s32 menuNumItems;
page->listStart = i * 8;
page->numCols = 1;
page->enabled = TRUE;
page->startIndex = i * 8;
menuNumItems = gBadgeMenuNumItems;
count = menuNumItems - (menuNumItems / 8 * 8);
page->count = count;
page->numRows = page->count;
i++;
page++;
}
while (i < ARRAY_COUNT(gBadgeMenuPages)) {
page->enabled = FALSE;
i++;
page++;
}
gBadgeMenuTargetScrollPos = gBadgeMenuCurrentScrollPos = pause_badges_get_pos_y(0, 0);
}
void pause_badges_init(MenuPanel *panel) {
s32 i;
// This sorts the badge list and then discards the count
pause_badges_count_all();
gBadgeMenuLevel = 0;
gBadgeMenuCurrentTab = 0;
gBadgeMenuBShowNotEnoughBP = 0;
pause_badges_load_badges(FALSE);
if (gBadgeMenuItemIDs[0] == BADGE_NONE_STANDIN) {
panel->initialized = FALSE;
return;
}
for (i = 0; i < ARRAY_COUNT(gBadgeMenuIconIDs); i++) {
s32 iconID = create_hud_element(gBadgeMenuElements[i]);
gBadgeMenuIconIDs[i] = iconID;
set_hud_element_flags(iconID, 0x80);
}
for (i = 0; i < ARRAY_COUNT(gBadgeMenuWindowBPs); i++) {
gBadgeMenuWindowBPs[i].tab = panel;
}
setup_pause_menu_tab(gBadgeMenuWindowBPs, ARRAY_COUNT(gBadgeMenuWindowBPs));
panel->initialized = TRUE;
}
void pause_badges_handle_input(void) {
s32 selectedIndex = gBadgeMenuSelectedIndex;
s32 numCols = gBadgeMenuPages[gBadgeMenuCurrentPage].numCols;
s32 selectedCol = selectedIndex % numCols;
s32 selectedRow = selectedIndex / numCols;
if (gPauseMenuPressedButtons & BUTTON_A) {
s16 badgeID;
if (gBadgeMenuBShowNotEnoughBP != 0) {
gBadgeMenuBShowNotEnoughBP = 0;
} else if (gBadgeMenuLevel == 0) {
if (gBadgeMenuItemIDs[selectedIndex] == BADGE_NONE_STANDIN) {
sfx_play_sound(SOUND_MENU_BADGE_ERROR);
} else {
gBadgeMenuLevel = 1;
sfx_play_sound(SOUND_MENU_NEXT);
}
} else {
badgeID = gBadgeMenuItemIDs[selectedIndex];
switch (pause_badges_try_equip(badgeID)) {
case EQUIP_RESULT_ALREADY_EQUIPPED:
sfx_play_sound(SOUND_MENU_BADGE_UNEQUIP);
pause_badges_try_remove(badgeID);
break;
case EQUIP_RESULT_NOT_ENOUGH_BP:
sfx_play_sound(SOUND_MENU_BADGE_ERROR);
gBadgeMenuBShowNotEnoughBP = 1;
break;
case EQUIP_RESULT_TOO_MANY_BADGES:
sfx_play_sound(SOUND_MENU_BADGE_ERROR);
gBadgeMenuBShowNotEnoughBP = 2;
break;
case EQUIP_RESULT_SUCCESS:
sfx_play_sound(SOUND_MENU_BADGE_EQUIP);
break;
}
}
return;
}
if ((gPauseMenuPressedButtons != 0) || (gPauseMenuHeldButtons != 0)) {
gBadgeMenuBShowNotEnoughBP = 0;
}
if (gBadgeMenuNumItems != 0) {
if (gBadgeMenuLevel == 0) {
s32 oldTab = gBadgeMenuCurrentTab;
if (gPauseMenuHeldButtons & (BUTTON_STICK_UP | BUTTON_STICK_DOWN)) {
gBadgeMenuCurrentTab ^= 1;
}
if (oldTab != gBadgeMenuCurrentTab) {
sfx_play_sound(SOUND_MENU_CHANGE_TAB);
pause_badges_load_badges(gBadgeMenuCurrentTab);
}
} else {
s32 heldButtons = gPauseMenuHeldButtons;
s32 heldButtons2;
u8 newPageNumCols;
if (heldButtons & (BUTTON_STICK_UP | BUTTON_Z)) {
if (heldButtons & BUTTON_STICK_UP) {
selectedRow -= 1;
if (selectedRow < 0) {
selectedRow = 0;
}
if (selectedRow < gBadgeMenuPages[gBadgeMenuCurrentPage].listStart) {
gBadgeMenuCurrentPage -= 1;
}
} else {
// Z button press
gBadgeMenuCurrentPage -= 1;
if (gBadgeMenuCurrentPage < 0) {
gBadgeMenuCurrentPage = 0;
}
selectedRow = gBadgeMenuPages[gBadgeMenuCurrentPage].listStart;
}
}
// Need to re-read button state here for strange regalloc reasons
heldButtons2 = gPauseMenuHeldButtons;
if (heldButtons2 & (BUTTON_STICK_DOWN | BUTTON_R)) {
if (heldButtons2 & BUTTON_STICK_DOWN) {
PauseItemPage* page = &gBadgeMenuPages[gBadgeMenuCurrentPage];
selectedRow += 1;
if (selectedRow >= (page->listStart + page->numRows)) {
gBadgeMenuCurrentPage += 1;
if (!gBadgeMenuPages[gBadgeMenuCurrentPage].enabled) {
gBadgeMenuCurrentPage -= 1;
selectedRow -= 1;
}
}
} else {
// R button press
PauseItemPage* newPage;
gBadgeMenuCurrentPage++;
newPage = &gBadgeMenuPages[gBadgeMenuCurrentPage];
if (!newPage->enabled) {
gBadgeMenuCurrentPage -= 1;
} else {
selectedRow = newPage->listStart;
}
}
}
newPageNumCols = gBadgeMenuPages[gBadgeMenuCurrentPage].numCols;
if (gBadgeMenuItemIDs[selectedRow * newPageNumCols] != BADGE_NONE_STANDIN) {
if (gPauseMenuHeldButtons & BUTTON_STICK_LEFT) {
selectedCol -= 1;
if (selectedCol < 0) {
selectedCol = newPageNumCols - 1;
}
} else if (gPauseMenuHeldButtons & BUTTON_STICK_RIGHT) {
selectedCol += 1;
if (selectedCol >= newPageNumCols) {
selectedCol = 0;
}
}
} else {
selectedCol = 0;
}
gBadgeMenuSelectedIndex = selectedCol + (selectedRow * gBadgeMenuPages[gBadgeMenuCurrentPage].numCols);
if (gBadgeMenuSelectedIndex != selectedIndex) {
sfx_play_sound(SOUND_MENU_CHANGE_SELECTION);
}
gBadgeMenuSelectedItemID = gBadgeMenuItemIDs[gBadgeMenuSelectedIndex];
}
}
if (gBadgeMenuLevel == 1) {
s32 itemID = gBadgeMenuSelectedItemID;
if (((itemID != BADGE_NONE_STANDIN) && (itemID != BADGE_INVALID) && (itemID != 0))) {
gPauseMenuCurrentDescMsg = gItemTable[itemID].menuMsg;
} else {
gPauseMenuCurrentDescMsg = 0;
gPauseMenuCurrentDescIconScript = NULL;
}
} else {
gPauseMenuCurrentDescMsg = pause_get_menu_msg(gBadgeMenuCurrentTab == 0 ? 0x4C : 0x4D);
gPauseMenuCurrentDescIconScript = NULL;
}
if (gPauseMenuPressedButtons & BUTTON_B) {
if (gBadgeMenuLevel == 0) {
sfx_play_sound(SOUND_MENU_BACK);
gPauseMenuCurrentTab = 0;
} else {
sfx_play_sound(SOUND_MENU_BACK);
gBadgeMenuLevel = 0;
enforce_hpfp_limits();
if (gBadgeMenuCurrentTab == 1) {
pause_badges_load_badges(TRUE);
}
}
}
}
void pause_badges_update(void) {
PauseItemPage* menuPages = gBadgeMenuPages;
@ -142,4 +520,10 @@ void pause_badges_update(void) {
*currentScrollPos += pause_interp_vertical_scroll(gBadgeMenuTargetScrollPos - *currentScrollPos);
}
INCLUDE_ASM(s32, "pause/138CC0", pause_badges_cleanup);
void pause_badges_cleanup(void) {
s32 i;
for (i = 0; i < ARRAY_COUNT(gBadgeMenuIconIDs); i++) {
free_hud_element(gBadgeMenuIconIDs[i]);
}
}

View File

@ -2615,7 +2615,7 @@ glabel D_8008EEF0
glabel D_8008EF20
.word D_800989A0, 0x00000000, 0x00000000, 0x00000000, 0x001D0007, 0x00000002, 0x00280000, 0x00280001, 0x001D0008, 0x00000003, 0x0028000D, 0x0028000E, 0x001D0009, 0x00000004, 0x0028001A, 0x0028001B, 0x001D000A, 0x00000005, 0x00280027, 0x00280028, 0x001D000B, 0x00000001, 0x00000000, 0x00000000, 0x001D000C, 0x00000007, 0x00280041, 0x00280042, 0x001D000D, 0x00000008, 0x0028004E, 0x0028004F, 0x001D000E, 0x00000009, 0x0028005B, 0x0028005C, 0x001D000F, 0x00000006, 0x00280034, 0x00280035, 0x001D0010, 0x00000001, 0x00000000, 0x00000000, 0x001D0011, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_80107CA8, D_80107CD0, D_80107CF8, D_80107D20, D_80107D48, D_80107D70, D_80107D98, D_80107DC0, D_80107DE8, D_80107E10, D_80107E38, D_80107E60, D_80107E88, D_80107EB0, D_80107ED8, D_80107F00, D_80107F28, D_80107F50, 0x80107F78, 0x80107FA0, D_80107FC8, D_80107FF0, 0x80108018, 0x80108040, 0x80108018, 0x80108040
glabel D_8008F060
glabel gMoveTable
.word 0x00000000
glabel D_8008F064

View File

@ -191,10 +191,10 @@ glabel D_8024F488
glabel D_8024F4AC
.word 0x00000000, 0x00020700, D_8024F3A0, pause_stats_init, pause_stats_handle_input, 0x00000000, pause_stats_cleanup, 0x00000000, 0x00000000
glabel D_8024F4D0
glabel gBadgeMenuElements
.word 0x802429AC, 0x802429AC, 0x802429AC, 0x802429AC, 0x802429AC, 0x802429AC, 0x802429AC, 0x802429AC, 0x802429AC, 0x802429AC, 0x802429AC, 0x802429AC, 0x802429AC, 0x802429AC, 0x802429AC, 0x802429AC, 0x802429AC, func_802426A0_8B2710, 0x802426CC, 0x802427A8, jan_02_TransformFoliage, D_801083D8
glabel D_8024F528
glabel gBadgeMenuWindowBPs
.word 0x20000003, 0x00100121, 0x009A0100, pause_badges_draw_contents, 0x00000000, 0x16000000, 0x00000002, 0x00000000, 0x8026FC80
glabel D_8024F54C

View File

@ -2,5 +2,5 @@
.section .data
glabel D_8024F4D0_8520A0
.word 0xC3F00000, 0x435C0000, 0x42C80000, 0x42F00000, 0x00000009, 0xFAA2B58A, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000043, 0x00000002, func_802D5EE0, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000002, mac_04_UnkMusicFunc, D_8024F4D0_8520A0, 0x00000057, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000
glabel gBadgeMenuElements_8520A0
.word 0xC3F00000, 0x435C0000, 0x42C80000, 0x42F00000, 0x00000009, 0xFAA2B58A, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000043, 0x00000002, func_802D5EE0, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000002, mac_04_UnkMusicFunc, gBadgeMenuElements_8520A0, 0x00000057, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000

View File

@ -14,8 +14,8 @@ glabel count_power_plus
/* 192410 80263B30 00E0302D */ daddu $a2, $a3, $zero
/* 192414 80263B34 3C0C8008 */ lui $t4, %hi(gItemTable)
/* 192418 80263B38 258C78E0 */ addiu $t4, $t4, %lo(gItemTable)
/* 19241C 80263B3C 3C0B8009 */ lui $t3, %hi(D_8008F060)
/* 192420 80263B40 256BF060 */ addiu $t3, $t3, %lo(D_8008F060)
/* 19241C 80263B3C 3C0B8009 */ lui $t3, %hi(gMoveTable)
/* 192420 80263B40 256BF060 */ addiu $t3, $t3, %lo(gMoveTable)
/* 192424 80263B44 240A0007 */ addiu $t2, $zero, 7
/* 192428 80263B48 2409003B */ addiu $t1, $zero, 0x3b
/* 19242C 80263B4C 3C08800E */ lui $t0, %hi(gBattleStatus)

View File

@ -38,8 +38,8 @@ glabel func_802634B8
/* 191E14 80263534 2442001A */ addiu $v0, $v0, 0x1a
/* 191E18 80263538 A28201DE */ sb $v0, 0x1de($s4)
/* 191E1C 8026353C 0000902D */ daddu $s2, $zero, $zero
/* 191E20 80263540 3C098009 */ lui $t1, %hi(D_8008F060)
/* 191E24 80263544 2529F060 */ addiu $t1, $t1, %lo(D_8008F060)
/* 191E20 80263540 3C098009 */ lui $t1, %hi(gMoveTable)
/* 191E24 80263544 2529F060 */ addiu $t1, $t1, %lo(gMoveTable)
/* 191E28 80263548 3C088008 */ lui $t0, %hi(gItemTable)
/* 191E2C 8026354C 250878E0 */ addiu $t0, $t0, %lo(gItemTable)
/* 191E30 80263550 24070002 */ addiu $a3, $zero, 2
@ -78,8 +78,8 @@ glabel func_802634B8
/* 191EAC 802635CC 0280982D */ daddu $s3, $s4, $zero
.L802635D0:
/* 191EB0 802635D0 926301DE */ lbu $v1, 0x1de($s3)
/* 191EB4 802635D4 3C0A8009 */ lui $t2, %hi(D_8008F060)
/* 191EB8 802635D8 254AF060 */ addiu $t2, $t2, %lo(D_8008F060)
/* 191EB4 802635D4 3C0A8009 */ lui $t2, %hi(gMoveTable)
/* 191EB8 802635D8 254AF060 */ addiu $t2, $t2, %lo(gMoveTable)
/* 191EBC 802635DC 00031080 */ sll $v0, $v1, 2
/* 191EC0 802635E0 00431021 */ addu $v0, $v0, $v1
/* 191EC4 802635E4 00021080 */ sll $v0, $v0, 2

View File

@ -38,8 +38,8 @@ glabel func_802636E4
/* 192040 80263760 24420003 */ addiu $v0, $v0, 3
/* 192044 80263764 A28201DE */ sb $v0, 0x1de($s4)
/* 192048 80263768 0000902D */ daddu $s2, $zero, $zero
/* 19204C 8026376C 3C098009 */ lui $t1, %hi(D_8008F060)
/* 192050 80263770 2529F060 */ addiu $t1, $t1, %lo(D_8008F060)
/* 19204C 8026376C 3C098009 */ lui $t1, %hi(gMoveTable)
/* 192050 80263770 2529F060 */ addiu $t1, $t1, %lo(gMoveTable)
/* 192054 80263774 3C088008 */ lui $t0, %hi(gItemTable)
/* 192058 80263778 250878E0 */ addiu $t0, $t0, %lo(gItemTable)
/* 19205C 8026377C 00C0382D */ daddu $a3, $a2, $zero
@ -78,8 +78,8 @@ glabel func_802636E4
/* 1920D8 802637F8 0280982D */ daddu $s3, $s4, $zero
.L802637FC:
/* 1920DC 802637FC 926301DE */ lbu $v1, 0x1de($s3)
/* 1920E0 80263800 3C0A8009 */ lui $t2, %hi(D_8008F060)
/* 1920E4 80263804 254AF060 */ addiu $t2, $t2, %lo(D_8008F060)
/* 1920E0 80263800 3C0A8009 */ lui $t2, %hi(gMoveTable)
/* 1920E4 80263804 254AF060 */ addiu $t2, $t2, %lo(gMoveTable)
/* 1920E8 80263808 00031080 */ sll $v0, $v1, 2
/* 1920EC 8026380C 00431021 */ addu $v0, $v0, $v1
/* 1920F0 80263810 00021080 */ sll $v0, $v0, 2

View File

@ -65,8 +65,8 @@ glabel func_80263914
/* 1922D8 802639F8 0280902D */ daddu $s2, $s4, $zero
.L802639FC:
/* 1922DC 802639FC 924301DE */ lbu $v1, 0x1de($s2)
/* 1922E0 80263A00 3C068009 */ lui $a2, %hi(D_8008F060)
/* 1922E4 80263A04 24C6F060 */ addiu $a2, $a2, %lo(D_8008F060)
/* 1922E0 80263A00 3C068009 */ lui $a2, %hi(gMoveTable)
/* 1922E4 80263A04 24C6F060 */ addiu $a2, $a2, %lo(gMoveTable)
/* 1922E8 80263A08 00031080 */ sll $v0, $v1, 2
/* 1922EC 80263A0C 00431021 */ addu $v0, $v0, $v1
/* 1922F0 80263A10 00021080 */ sll $v0, $v0, 2

View File

@ -583,8 +583,8 @@ glabel L802A89F0_41D780
/* 41D7A4 802A8A14 2442D5E8 */ addiu $v0, $v0, %lo(battle_menu_moveOptionCantUseTypes)
/* 41D7A8 802A8A18 02222021 */ addu $a0, $s1, $v0
/* 41D7AC 802A8A1C 90A301DE */ lbu $v1, 0x1de($a1)
/* 41D7B0 802A8A20 3C188009 */ lui $t8, %hi(D_8008F060)
/* 41D7B4 802A8A24 2718F060 */ addiu $t8, $t8, %lo(D_8008F060)
/* 41D7B0 802A8A20 3C188009 */ lui $t8, %hi(gMoveTable)
/* 41D7B4 802A8A24 2718F060 */ addiu $t8, $t8, %lo(gMoveTable)
/* 41D7B8 802A8A28 A0800000 */ sb $zero, ($a0)
/* 41D7BC 802A8A2C 00031080 */ sll $v0, $v1, 2
/* 41D7C0 802A8A30 00431021 */ addu $v0, $v0, $v1
@ -1127,8 +1127,8 @@ glabel L802A91D0_41DF60
/* 41DF80 802A91F0 0200102D */ daddu $v0, $s0, $zero
/* 41DF84 802A91F4 10600049 */ beqz $v1, .L802A931C
/* 41DF88 802A91F8 A28201F6 */ sb $v0, 0x1f6($s4)
/* 41DF8C 802A91FC 3C128009 */ lui $s2, %hi(D_8008F060)
/* 41DF90 802A9200 2652F060 */ addiu $s2, $s2, %lo(D_8008F060)
/* 41DF8C 802A91FC 3C128009 */ lui $s2, %hi(gMoveTable)
/* 41DF90 802A9200 2652F060 */ addiu $s2, $s2, %lo(gMoveTable)
/* 41DF94 802A9204 3C0F802B */ lui $t7, %hi(D_802AB398)
/* 41DF98 802A9208 25EFB398 */ addiu $t7, $t7, %lo(D_802AB398)
/* 41DF9C 802A920C 3C10802B */ lui $s0, %hi(battle_menu_moveOptionSortPriorities)

View File

@ -703,8 +703,8 @@ glabel L802A6170_41AF00
/* 41B138 802A63A8 0000982D */ daddu $s3, $zero, $zero
/* 41B13C 802A63AC 3C0B8008 */ lui $t3, %hi(gItemTable)
/* 41B140 802A63B0 256B78E0 */ addiu $t3, $t3, %lo(gItemTable)
/* 41B144 802A63B4 3C0A8009 */ lui $t2, %hi(D_8008F060)
/* 41B148 802A63B8 254AF060 */ addiu $t2, $t2, %lo(D_8008F060)
/* 41B144 802A63B4 3C0A8009 */ lui $t2, %hi(gMoveTable)
/* 41B148 802A63B8 254AF060 */ addiu $t2, $t2, %lo(gMoveTable)
/* 41B14C 802A63BC 3C09802B */ lui $t1, %hi(D_802AB4F0)
/* 41B150 802A63C0 2529B4F0 */ addiu $t1, $t1, %lo(D_802AB4F0)
/* 41B154 802A63C4 0280402D */ daddu $t0, $s4, $zero
@ -988,8 +988,8 @@ glabel L802A6170_41AF00
/* 41B524 802A6794 02D3A021 */ addu $s4, $s6, $s3
.L802A6798:
/* 41B528 802A6798 928201DE */ lbu $v0, 0x1de($s4)
/* 41B52C 802A679C 3C0E8009 */ lui $t6, %hi(D_8008F060)
/* 41B530 802A67A0 25CEF060 */ addiu $t6, $t6, %lo(D_8008F060)
/* 41B52C 802A679C 3C0E8009 */ lui $t6, %hi(gMoveTable)
/* 41B530 802A67A0 25CEF060 */ addiu $t6, $t6, %lo(gMoveTable)
/* 41B534 802A67A4 00021880 */ sll $v1, $v0, 2
/* 41B538 802A67A8 00621821 */ addu $v1, $v1, $v0
/* 41B53C 802A67AC 00031880 */ sll $v1, $v1, 2
@ -1781,8 +1781,8 @@ glabel L802A72E4_41C074
/* 41C074 802A72E4 92C2020E */ lbu $v0, 0x20e($s6)
/* 41C078 802A72E8 1040005E */ beqz $v0, .L802A7464
/* 41C07C 802A72EC 0000982D */ daddu $s3, $zero, $zero
/* 41C080 802A72F0 3C0D8009 */ lui $t5, %hi(D_8008F060)
/* 41C084 802A72F4 25ADF060 */ addiu $t5, $t5, %lo(D_8008F060)
/* 41C080 802A72F0 3C0D8009 */ lui $t5, %hi(gMoveTable)
/* 41C084 802A72F4 25ADF060 */ addiu $t5, $t5, %lo(gMoveTable)
/* 41C088 802A72F8 3C0C802B */ lui $t4, %hi(battle_menu_moveOptionCantUseTypes)
/* 41C08C 802A72FC 258CD5E8 */ addiu $t4, $t4, %lo(battle_menu_moveOptionCantUseTypes)
/* 41C090 802A7300 240BFFFF */ addiu $t3, $zero, -1

View File

@ -1,31 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel pause_get_total_equipped_bp_cost
/* 137B34 802447F4 0000302D */ daddu $a2, $zero, $zero
/* 137B38 802447F8 00C0282D */ daddu $a1, $a2, $zero
/* 137B3C 802447FC 3C088008 */ lui $t0, %hi(gItemTable)
/* 137B40 80244800 250878E0 */ addiu $t0, $t0, %lo(gItemTable)
/* 137B44 80244804 3C078009 */ lui $a3, %hi(D_8008F060)
/* 137B48 80244808 24E7F060 */ addiu $a3, $a3, %lo(D_8008F060)
/* 137B4C 8024480C 3C048011 */ lui $a0, %hi(gPlayerData)
/* 137B50 80244810 2484F290 */ addiu $a0, $a0, %lo(gPlayerData)
.L80244814:
/* 137B54 80244814 84820208 */ lh $v0, 0x208($a0)
/* 137B58 80244818 1040000A */ beqz $v0, .L80244844
/* 137B5C 8024481C 24A50001 */ addiu $a1, $a1, 1
/* 137B60 80244820 00021140 */ sll $v0, $v0, 5
/* 137B64 80244824 00481021 */ addu $v0, $v0, $t0
/* 137B68 80244828 9043001A */ lbu $v1, 0x1a($v0)
/* 137B6C 8024482C 00031080 */ sll $v0, $v1, 2
/* 137B70 80244830 00431021 */ addu $v0, $v0, $v1
/* 137B74 80244834 00021080 */ sll $v0, $v0, 2
/* 137B78 80244838 00471021 */ addu $v0, $v0, $a3
/* 137B7C 8024483C 80420012 */ lb $v0, 0x12($v0)
/* 137B80 80244840 00C23021 */ addu $a2, $a2, $v0
.L80244844:
/* 137B84 80244844 28A20040 */ slti $v0, $a1, 0x40
/* 137B88 80244848 1440FFF2 */ bnez $v0, .L80244814
/* 137B8C 8024484C 24840002 */ addiu $a0, $a0, 2
/* 137B90 80244850 03E00008 */ jr $ra
/* 137B94 80244854 00C0102D */ daddu $v0, $a2, $zero

View File

@ -1,27 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel pause_badges_cleanup
/* 13CA98 80249758 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 13CA9C 8024975C AFB10014 */ sw $s1, 0x14($sp)
/* 13CAA0 80249760 0000882D */ daddu $s1, $zero, $zero
/* 13CAA4 80249764 AFB00010 */ sw $s0, 0x10($sp)
/* 13CAA8 80249768 3C108027 */ lui $s0, %hi(D_802703A8)
/* 13CAAC 8024976C 261003A8 */ addiu $s0, $s0, %lo(D_802703A8)
/* 13CAB0 80249770 AFBF0018 */ sw $ra, 0x18($sp)
.L80249774:
/* 13CAB4 80249774 8E040000 */ lw $a0, ($s0)
/* 13CAB8 80249778 26100004 */ addiu $s0, $s0, 4
/* 13CABC 8024977C 0C05123D */ jal free_hud_element
/* 13CAC0 80249780 26310001 */ addiu $s1, $s1, 1
/* 13CAC4 80249784 2A220016 */ slti $v0, $s1, 0x16
/* 13CAC8 80249788 1440FFFA */ bnez $v0, .L80249774
/* 13CACC 8024978C 00000000 */ nop
/* 13CAD0 80249790 8FBF0018 */ lw $ra, 0x18($sp)
/* 13CAD4 80249794 8FB10014 */ lw $s1, 0x14($sp)
/* 13CAD8 80249798 8FB00010 */ lw $s0, 0x10($sp)
/* 13CADC 8024979C 03E00008 */ jr $ra
/* 13CAE0 802497A0 27BD0020 */ addiu $sp, $sp, 0x20
/* 13CAE4 802497A4 00000000 */ nop
/* 13CAE8 802497A8 00000000 */ nop
/* 13CAEC 802497AC 00000000 */ nop

View File

@ -1,53 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel pause_badges_draw_bp_orbs
/* 13A798 80247458 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 13A79C 8024745C AFBF0028 */ sw $ra, 0x28($sp)
/* 13A7A0 80247460 00A0182D */ daddu $v1, $a1, $zero
/* 13A7A4 80247464 00C0382D */ daddu $a3, $a2, $zero
/* 13A7A8 80247468 10800006 */ beqz $a0, .L80247484
/* 13A7AC 8024746C 24080008 */ addiu $t0, $zero, 8
/* 13A7B0 80247470 24020001 */ addiu $v0, $zero, 1
/* 13A7B4 80247474 1082000B */ beq $a0, $v0, .L802474A4
/* 13A7B8 80247478 00032080 */ sll $a0, $v1, 2
/* 13A7BC 8024747C 08091D33 */ j .L802474CC
/* 13A7C0 80247480 00072880 */ sll $a1, $a3, 2
.L80247484:
/* 13A7C4 80247484 00032080 */ sll $a0, $v1, 2
/* 13A7C8 80247488 00072880 */ sll $a1, $a3, 2
/* 13A7CC 8024748C 24660008 */ addiu $a2, $v1, 8
/* 13A7D0 80247490 00063080 */ sll $a2, $a2, 2
/* 13A7D4 80247494 24E70008 */ addiu $a3, $a3, 8
/* 13A7D8 80247498 00073880 */ sll $a3, $a3, 2
/* 13A7DC 8024749C 08091D38 */ j .L802474E0
/* 13A7E0 802474A0 24020100 */ addiu $v0, $zero, 0x100
.L802474A4:
/* 13A7E4 802474A4 00072880 */ sll $a1, $a3, 2
/* 13A7E8 802474A8 24660008 */ addiu $a2, $v1, 8
/* 13A7EC 802474AC 00063080 */ sll $a2, $a2, 2
/* 13A7F0 802474B0 24E70008 */ addiu $a3, $a3, 8
/* 13A7F4 802474B4 00073880 */ sll $a3, $a3, 2
/* 13A7F8 802474B8 24020400 */ addiu $v0, $zero, 0x400
/* 13A7FC 802474BC AFA00010 */ sw $zero, 0x10($sp)
/* 13A800 802474C0 AFA00014 */ sw $zero, 0x14($sp)
/* 13A804 802474C4 08091D3C */ j .L802474F0
/* 13A808 802474C8 AFA00018 */ sw $zero, 0x18($sp)
.L802474CC:
/* 13A80C 802474CC 00683021 */ addu $a2, $v1, $t0
/* 13A810 802474D0 00063080 */ sll $a2, $a2, 2
/* 13A814 802474D4 00E83821 */ addu $a3, $a3, $t0
/* 13A818 802474D8 00073880 */ sll $a3, $a3, 2
/* 13A81C 802474DC 24020200 */ addiu $v0, $zero, 0x200
.L802474E0:
/* 13A820 802474E0 AFA20018 */ sw $v0, 0x18($sp)
/* 13A824 802474E4 24020400 */ addiu $v0, $zero, 0x400
/* 13A828 802474E8 AFA00010 */ sw $zero, 0x10($sp)
/* 13A82C 802474EC AFA00014 */ sw $zero, 0x14($sp)
.L802474F0:
/* 13A830 802474F0 AFA2001C */ sw $v0, 0x1c($sp)
/* 13A834 802474F4 0C091216 */ jal pause_draw_rect
/* 13A838 802474F8 AFA20020 */ sw $v0, 0x20($sp)
/* 13A83C 802474FC 8FBF0028 */ lw $ra, 0x28($sp)
/* 13A840 80247500 03E00008 */ jr $ra
/* 13A844 80247504 27BD0030 */ addiu $sp, $sp, 0x30

View File

@ -87,8 +87,8 @@ glabel pause_badges_draw_contents
/* 13A96C 8024762C AFAA0060 */ sw $t2, 0x60($sp)
/* 13A970 80247630 0C03D4B8 */ jal draw_box
/* 13A974 80247634 AFAB005C */ sw $t3, 0x5c($sp)
/* 13A978 80247638 3C108027 */ lui $s0, %hi(D_802703A8)
/* 13A97C 8024763C 261003A8 */ addiu $s0, $s0, %lo(D_802703A8)
/* 13A978 80247638 3C108027 */ lui $s0, %hi(gBadgeMenuIconIDs)
/* 13A97C 8024763C 261003A8 */ addiu $s0, $s0, %lo(gBadgeMenuIconIDs)
/* 13A980 80247640 8FAA00C4 */ lw $t2, 0xc4($sp)
/* 13A984 80247644 8E040050 */ lw $a0, 0x50($s0)
/* 13A988 80247648 8FAB00C8 */ lw $t3, 0xc8($sp)
@ -284,8 +284,8 @@ glabel pause_badges_draw_contents
/* 13AC5C 8024791C 3C0B8008 */ lui $t3, %hi(gItemTable)
/* 13AC60 80247920 256B78E0 */ addiu $t3, $t3, %lo(gItemTable)
/* 13AC64 80247924 004B1021 */ addu $v0, $v0, $t3
/* 13AC68 80247928 3C0A8009 */ lui $t2, %hi(D_8008F060)
/* 13AC6C 8024792C 254AF060 */ addiu $t2, $t2, %lo(D_8008F060)
/* 13AC68 80247928 3C0A8009 */ lui $t2, %hi(gMoveTable)
/* 13AC6C 8024792C 254AF060 */ addiu $t2, $t2, %lo(gMoveTable)
/* 13AC70 80247930 9043001A */ lbu $v1, 0x1a($v0)
/* 13AC74 80247934 8FAB0084 */ lw $t3, 0x84($sp)
/* 13AC78 80247938 00031080 */ sll $v0, $v1, 2
@ -309,8 +309,8 @@ glabel pause_badges_draw_contents
/* 13ACBC 8024797C 3C0B8008 */ lui $t3, %hi(gItemTable)
/* 13ACC0 80247980 256B78E0 */ addiu $t3, $t3, %lo(gItemTable)
/* 13ACC4 80247984 004B1021 */ addu $v0, $v0, $t3
/* 13ACC8 80247988 3C0A8009 */ lui $t2, %hi(D_8008F060)
/* 13ACCC 8024798C 254AF060 */ addiu $t2, $t2, %lo(D_8008F060)
/* 13ACC8 80247988 3C0A8009 */ lui $t2, %hi(gMoveTable)
/* 13ACCC 8024798C 254AF060 */ addiu $t2, $t2, %lo(gMoveTable)
/* 13ACD0 80247990 9043001A */ lbu $v1, 0x1a($v0)
/* 13ACD4 80247994 8FAB006C */ lw $t3, 0x6c($sp)
/* 13ACD8 80247998 00031080 */ sll $v0, $v1, 2
@ -467,8 +467,8 @@ glabel pause_badges_draw_contents
/* 13AF10 80247BD0 3C0B8008 */ lui $t3, %hi(gItemTable)
/* 13AF14 80247BD4 256B78E0 */ addiu $t3, $t3, %lo(gItemTable)
/* 13AF18 80247BD8 006B1821 */ addu $v1, $v1, $t3
/* 13AF1C 80247BDC 3C0B8009 */ lui $t3, %hi(D_8008F060)
/* 13AF20 80247BE0 256BF060 */ addiu $t3, $t3, %lo(D_8008F060)
/* 13AF1C 80247BDC 3C0B8009 */ lui $t3, %hi(gMoveTable)
/* 13AF20 80247BE0 256BF060 */ addiu $t3, $t3, %lo(gMoveTable)
/* 13AF24 80247BE4 24070001 */ addiu $a3, $zero, 1
/* 13AF28 80247BE8 8FAA00C8 */ lw $t2, 0xc8($sp)
/* 13AF2C 80247BEC 9063001A */ lbu $v1, 0x1a($v1)
@ -493,8 +493,8 @@ glabel pause_badges_draw_contents
/* 13AF70 80247C30 3C052000 */ lui $a1, 0x2000
/* 13AF74 80247C34 8FAA0058 */ lw $t2, 0x58($sp)
/* 13AF78 80247C38 000A1080 */ sll $v0, $t2, 2
/* 13AF7C 80247C3C 3C0B8027 */ lui $t3, %hi(D_802703A8)
/* 13AF80 80247C40 256B03A8 */ addiu $t3, $t3, %lo(D_802703A8)
/* 13AF7C 80247C3C 3C0B8027 */ lui $t3, %hi(gBadgeMenuIconIDs)
/* 13AF80 80247C40 256B03A8 */ addiu $t3, $t3, %lo(gBadgeMenuIconIDs)
/* 13AF84 80247C44 004B1021 */ addu $v0, $v0, $t3
/* 13AF88 80247C48 8C510000 */ lw $s1, ($v0)
/* 13AF8C 80247C4C 0C05128B */ jal clear_hud_element_flags
@ -607,8 +607,8 @@ glabel pause_badges_draw_contents
/* 13B114 80247DD4 256B78E0 */ addiu $t3, $t3, %lo(gItemTable)
/* 13B118 80247DD8 004B1021 */ addu $v0, $v0, $t3
/* 13B11C 80247DDC 9043001A */ lbu $v1, 0x1a($v0)
/* 13B120 80247DE0 3C0A8009 */ lui $t2, %hi(D_8008F060)
/* 13B124 80247DE4 254AF060 */ addiu $t2, $t2, %lo(D_8008F060)
/* 13B120 80247DE0 3C0A8009 */ lui $t2, %hi(gMoveTable)
/* 13B124 80247DE4 254AF060 */ addiu $t2, $t2, %lo(gMoveTable)
/* 13B128 80247DE8 00031080 */ sll $v0, $v1, 2
/* 13B12C 80247DEC 00431021 */ addu $v0, $v0, $v1
/* 13B130 80247DF0 00021080 */ sll $v0, $v0, 2
@ -957,8 +957,8 @@ glabel pause_badges_draw_contents
/* 13B644 80248304 8E220000 */ lw $v0, ($s1)
/* 13B648 80248308 1840000E */ blez $v0, .L80248344
/* 13B64C 8024830C 24420001 */ addiu $v0, $v0, 1
/* 13B650 80248310 3C108027 */ lui $s0, %hi(D_802703A8)
/* 13B654 80248314 261003A8 */ addiu $s0, $s0, %lo(D_802703A8)
/* 13B650 80248310 3C108027 */ lui $s0, %hi(gBadgeMenuIconIDs)
/* 13B654 80248314 261003A8 */ addiu $s0, $s0, %lo(gBadgeMenuIconIDs)
/* 13B658 80248318 8FAB00C4 */ lw $t3, 0xc4($sp)
/* 13B65C 8024831C 8E040044 */ lw $a0, 0x44($s0)
/* 13B660 80248320 8FAA00C8 */ lw $t2, 0xc8($sp)
@ -979,8 +979,8 @@ glabel pause_badges_draw_contents
/* 13B698 80248358 90420288 */ lbu $v0, %lo(gBadgeMenuPages)($v0)
/* 13B69C 8024835C 1040000C */ beqz $v0, .L80248390
/* 13B6A0 80248360 00000000 */ nop
/* 13B6A4 80248364 3C108027 */ lui $s0, %hi(D_802703A8)
/* 13B6A8 80248368 261003A8 */ addiu $s0, $s0, %lo(D_802703A8)
/* 13B6A4 80248364 3C108027 */ lui $s0, %hi(gBadgeMenuIconIDs)
/* 13B6A8 80248368 261003A8 */ addiu $s0, $s0, %lo(gBadgeMenuIconIDs)
/* 13B6AC 8024836C 8FAB00C4 */ lw $t3, 0xc4($sp)
/* 13B6B0 80248370 8E040048 */ lw $a0, 0x48($s0)
/* 13B6B4 80248374 8FAA00C8 */ lw $t2, 0xc8($sp)
@ -991,8 +991,8 @@ glabel pause_badges_draw_contents
/* 13B6C8 80248388 0C0511F8 */ jal draw_hud_element_3
/* 13B6CC 8024838C 00000000 */ nop
.L80248390:
/* 13B6D0 80248390 3C108027 */ lui $s0, %hi(D_802703A8)
/* 13B6D4 80248394 261003A8 */ addiu $s0, $s0, %lo(D_802703A8)
/* 13B6D0 80248390 3C108027 */ lui $s0, %hi(gBadgeMenuIconIDs)
/* 13B6D4 80248394 261003A8 */ addiu $s0, $s0, %lo(gBadgeMenuIconIDs)
/* 13B6D8 80248398 8FAB00C4 */ lw $t3, 0xc4($sp)
/* 13B6DC 8024839C 8E040040 */ lw $a0, 0x40($s0)
/* 13B6E0 802483A0 8FAA00C8 */ lw $t2, 0xc8($sp)

View File

@ -1,386 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel pause_badges_handle_input
/* 13C3E8 802490A8 3C038027 */ lui $v1, %hi(gBadgeMenuCurrentPage)
/* 13C3EC 802490AC 8C630280 */ lw $v1, %lo(gBadgeMenuCurrentPage)($v1)
/* 13C3F0 802490B0 3C098027 */ lui $t1, %hi(gBadgeMenuSelectedIndex)
/* 13C3F4 802490B4 8D290378 */ lw $t1, %lo(gBadgeMenuSelectedIndex)($t1)
/* 13C3F8 802490B8 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 13C3FC 802490BC AFBF001C */ sw $ra, 0x1c($sp)
/* 13C400 802490C0 AFB20018 */ sw $s2, 0x18($sp)
/* 13C404 802490C4 AFB10014 */ sw $s1, 0x14($sp)
/* 13C408 802490C8 AFB00010 */ sw $s0, 0x10($sp)
/* 13C40C 802490CC 00031040 */ sll $v0, $v1, 1
/* 13C410 802490D0 00431021 */ addu $v0, $v0, $v1
/* 13C414 802490D4 00021080 */ sll $v0, $v0, 2
/* 13C418 802490D8 3C018027 */ lui $at, %hi(D_8027028A)
/* 13C41C 802490DC 00220821 */ addu $at, $at, $v0
/* 13C420 802490E0 9022028A */ lbu $v0, %lo(D_8027028A)($at)
/* 13C424 802490E4 3C038027 */ lui $v1, %hi(gPauseMenuPressedButtons)
/* 13C428 802490E8 8C6300C4 */ lw $v1, %lo(gPauseMenuPressedButtons)($v1)
/* 13C42C 802490EC 14400002 */ bnez $v0, .L802490F8
/* 13C430 802490F0 0122001A */ div $zero, $t1, $v0
/* 13C434 802490F4 0007000D */ break 7
.L802490F8:
/* 13C438 802490F8 2401FFFF */ addiu $at, $zero, -1
/* 13C43C 802490FC 14410004 */ bne $v0, $at, .L80249110
/* 13C440 80249100 3C018000 */ lui $at, 0x8000
/* 13C444 80249104 15210002 */ bne $t1, $at, .L80249110
/* 13C448 80249108 00000000 */ nop
/* 13C44C 8024910C 0006000D */ break 6
.L80249110:
/* 13C450 80249110 00002812 */ mflo $a1
/* 13C454 80249114 00004010 */ mfhi $t0
/* 13C458 80249118 30628000 */ andi $v0, $v1, 0x8000
/* 13C45C 8024911C 1040003F */ beqz $v0, .L8024921C
/* 13C460 80249120 00000000 */ nop
/* 13C464 80249124 3C128027 */ lui $s2, %hi(gBadgeMenuBShowNotEnoughBP)
/* 13C468 80249128 265203A0 */ addiu $s2, $s2, %lo(gBadgeMenuBShowNotEnoughBP)
/* 13C46C 8024912C 8E420000 */ lw $v0, ($s2)
/* 13C470 80249130 10400003 */ beqz $v0, .L80249140
/* 13C474 80249134 00000000 */ nop
/* 13C478 80249138 08092581 */ j .L80249604
/* 13C47C 8024913C AE400000 */ sw $zero, ($s2)
.L80249140:
/* 13C480 80249140 3C048027 */ lui $a0, %hi(gBadgeMenuLevel)
/* 13C484 80249144 24840398 */ addiu $a0, $a0, %lo(gBadgeMenuLevel)
/* 13C488 80249148 8C820000 */ lw $v0, ($a0)
/* 13C48C 8024914C 14400010 */ bnez $v0, .L80249190
/* 13C490 80249150 00091040 */ sll $v0, $t1, 1
/* 13C494 80249154 3C038027 */ lui $v1, %hi(gBadgeMenuItemIDs)
/* 13C498 80249158 00621821 */ addu $v1, $v1, $v0
/* 13C49C 8024915C 84630180 */ lh $v1, %lo(gBadgeMenuItemIDs)($v1)
/* 13C4A0 80249160 24027FFE */ addiu $v0, $zero, 0x7ffe
/* 13C4A4 80249164 14620005 */ bne $v1, $v0, .L8024917C
/* 13C4A8 80249168 24020001 */ addiu $v0, $zero, 1
/* 13C4AC 8024916C 0C05272D */ jal sfx_play_sound
/* 13C4B0 80249170 2404021D */ addiu $a0, $zero, 0x21d
/* 13C4B4 80249174 08092581 */ j .L80249604
/* 13C4B8 80249178 00000000 */ nop
.L8024917C:
/* 13C4BC 8024917C AC820000 */ sw $v0, ($a0)
/* 13C4C0 80249180 0C05272D */ jal sfx_play_sound
/* 13C4C4 80249184 240400C9 */ addiu $a0, $zero, 0xc9
/* 13C4C8 80249188 08092581 */ j .L80249604
/* 13C4CC 8024918C 00000000 */ nop
.L80249190:
/* 13C4D0 80249190 3C118027 */ lui $s1, %hi(gBadgeMenuItemIDs)
/* 13C4D4 80249194 02228821 */ addu $s1, $s1, $v0
/* 13C4D8 80249198 86310180 */ lh $s1, %lo(gBadgeMenuItemIDs)($s1)
/* 13C4DC 8024919C 0C091CCE */ jal pause_badges_try_equip
/* 13C4E0 802491A0 0220202D */ daddu $a0, $s1, $zero
/* 13C4E4 802491A4 0040802D */ daddu $s0, $v0, $zero
/* 13C4E8 802491A8 24020001 */ addiu $v0, $zero, 1
/* 13C4EC 802491AC 12020013 */ beq $s0, $v0, .L802491FC
/* 13C4F0 802491B0 2A020002 */ slti $v0, $s0, 2
/* 13C4F4 802491B4 50400005 */ beql $v0, $zero, .L802491CC
/* 13C4F8 802491B8 24020002 */ addiu $v0, $zero, 2
/* 13C4FC 802491BC 12000009 */ beqz $s0, .L802491E4
/* 13C500 802491C0 00000000 */ nop
/* 13C504 802491C4 08092581 */ j .L80249604
/* 13C508 802491C8 00000000 */ nop
.L802491CC:
/* 13C50C 802491CC 1202000B */ beq $s0, $v0, .L802491FC
/* 13C510 802491D0 24020003 */ addiu $v0, $zero, 3
/* 13C514 802491D4 1202000D */ beq $s0, $v0, .L8024920C
/* 13C518 802491D8 00000000 */ nop
/* 13C51C 802491DC 08092581 */ j .L80249604
/* 13C520 802491E0 00000000 */ nop
.L802491E4:
/* 13C524 802491E4 0C05272D */ jal sfx_play_sound
/* 13C528 802491E8 24040006 */ addiu $a0, $zero, 6
/* 13C52C 802491EC 0C091CAC */ jal pause_badges_try_remove
/* 13C530 802491F0 0220202D */ daddu $a0, $s1, $zero
/* 13C534 802491F4 08092581 */ j .L80249604
/* 13C538 802491F8 00000000 */ nop
.L802491FC:
/* 13C53C 802491FC 0C05272D */ jal sfx_play_sound
/* 13C540 80249200 2404021D */ addiu $a0, $zero, 0x21d
/* 13C544 80249204 08092581 */ j .L80249604
/* 13C548 80249208 AE500000 */ sw $s0, ($s2)
.L8024920C:
/* 13C54C 8024920C 0C05272D */ jal sfx_play_sound
/* 13C550 80249210 24040005 */ addiu $a0, $zero, 5
/* 13C554 80249214 08092581 */ j .L80249604
/* 13C558 80249218 00000000 */ nop
.L8024921C:
/* 13C55C 8024921C 14600005 */ bnez $v1, .L80249234
/* 13C560 80249220 00000000 */ nop
/* 13C564 80249224 3C028027 */ lui $v0, %hi(gPauseMenuHeldButtons)
/* 13C568 80249228 8C4200C0 */ lw $v0, %lo(gPauseMenuHeldButtons)($v0)
/* 13C56C 8024922C 10400003 */ beqz $v0, .L8024923C
/* 13C570 80249230 00000000 */ nop
.L80249234:
/* 13C574 80249234 3C018027 */ lui $at, %hi(gBadgeMenuBShowNotEnoughBP)
/* 13C578 80249238 AC2003A0 */ sw $zero, %lo(gBadgeMenuBShowNotEnoughBP)($at)
.L8024923C:
/* 13C57C 8024923C 3C028027 */ lui $v0, %hi(gBadgeMenuNumItems)
/* 13C580 80249240 84420384 */ lh $v0, %lo(gBadgeMenuNumItems)($v0)
/* 13C584 80249244 104000B1 */ beqz $v0, .L8024950C
/* 13C588 80249248 00000000 */ nop
/* 13C58C 8024924C 3C028027 */ lui $v0, %hi(gBadgeMenuLevel)
/* 13C590 80249250 8C420398 */ lw $v0, %lo(gBadgeMenuLevel)($v0)
/* 13C594 80249254 14400015 */ bnez $v0, .L802492AC
/* 13C598 80249258 3C020001 */ lui $v0, 1
/* 13C59C 8024925C 3C108027 */ lui $s0, %hi(gBadgeMenuCurrentTab)
/* 13C5A0 80249260 2610039C */ addiu $s0, $s0, %lo(gBadgeMenuCurrentTab)
/* 13C5A4 80249264 3C028027 */ lui $v0, %hi(gPauseMenuHeldButtons)
/* 13C5A8 80249268 8C4200C0 */ lw $v0, %lo(gPauseMenuHeldButtons)($v0)
/* 13C5AC 8024926C 3C030003 */ lui $v1, 3
/* 13C5B0 80249270 00431024 */ and $v0, $v0, $v1
/* 13C5B4 80249274 8E030000 */ lw $v1, ($s0)
/* 13C5B8 80249278 10400002 */ beqz $v0, .L80249284
/* 13C5BC 8024927C 38620001 */ xori $v0, $v1, 1
/* 13C5C0 80249280 AE020000 */ sw $v0, ($s0)
.L80249284:
/* 13C5C4 80249284 8E020000 */ lw $v0, ($s0)
/* 13C5C8 80249288 106200A0 */ beq $v1, $v0, .L8024950C
/* 13C5CC 8024928C 00000000 */ nop
/* 13C5D0 80249290 0C05272D */ jal sfx_play_sound
/* 13C5D4 80249294 240400C8 */ addiu $a0, $zero, 0xc8
/* 13C5D8 80249298 8E040000 */ lw $a0, ($s0)
/* 13C5DC 8024929C 0C092363 */ jal pause_badges_load_badges
/* 13C5E0 802492A0 00000000 */ nop
/* 13C5E4 802492A4 08092543 */ j .L8024950C
/* 13C5E8 802492A8 00000000 */ nop
.L802492AC:
/* 13C5EC 802492AC 3C038027 */ lui $v1, %hi(gPauseMenuHeldButtons)
/* 13C5F0 802492B0 8C6300C0 */ lw $v1, %lo(gPauseMenuHeldButtons)($v1)
/* 13C5F4 802492B4 34422000 */ ori $v0, $v0, 0x2000
/* 13C5F8 802492B8 00621024 */ and $v0, $v1, $v0
/* 13C5FC 802492BC 10400022 */ beqz $v0, .L80249348
/* 13C600 802492C0 3C020001 */ lui $v0, 1
/* 13C604 802492C4 00621024 */ and $v0, $v1, $v0
/* 13C608 802492C8 10400011 */ beqz $v0, .L80249310
/* 13C60C 802492CC 24A5FFFF */ addiu $a1, $a1, -1
/* 13C610 802492D0 04A20001 */ bltzl $a1, .L802492D8
/* 13C614 802492D4 0000282D */ daddu $a1, $zero, $zero
.L802492D8:
/* 13C618 802492D8 3C048027 */ lui $a0, %hi(gBadgeMenuCurrentPage)
/* 13C61C 802492DC 24840280 */ addiu $a0, $a0, %lo(gBadgeMenuCurrentPage)
/* 13C620 802492E0 8C830000 */ lw $v1, ($a0)
/* 13C624 802492E4 00031040 */ sll $v0, $v1, 1
/* 13C628 802492E8 00431021 */ addu $v0, $v0, $v1
/* 13C62C 802492EC 00021080 */ sll $v0, $v0, 2
/* 13C630 802492F0 3C018027 */ lui $at, %hi(D_80270289)
/* 13C634 802492F4 00220821 */ addu $at, $at, $v0
/* 13C638 802492F8 90220289 */ lbu $v0, %lo(D_80270289)($at)
/* 13C63C 802492FC 00A2102A */ slt $v0, $a1, $v0
/* 13C640 80249300 10400011 */ beqz $v0, .L80249348
/* 13C644 80249304 2462FFFF */ addiu $v0, $v1, -1
/* 13C648 80249308 080924D2 */ j .L80249348
/* 13C64C 8024930C AC820000 */ sw $v0, ($a0)
.L80249310:
/* 13C650 80249310 3C038027 */ lui $v1, %hi(gBadgeMenuCurrentPage)
/* 13C654 80249314 24630280 */ addiu $v1, $v1, %lo(gBadgeMenuCurrentPage)
/* 13C658 80249318 8C620000 */ lw $v0, ($v1)
/* 13C65C 8024931C 2442FFFF */ addiu $v0, $v0, -1
/* 13C660 80249320 04410002 */ bgez $v0, .L8024932C
/* 13C664 80249324 AC620000 */ sw $v0, ($v1)
/* 13C668 80249328 AC600000 */ sw $zero, ($v1)
.L8024932C:
/* 13C66C 8024932C 8C630000 */ lw $v1, ($v1)
/* 13C670 80249330 00031040 */ sll $v0, $v1, 1
/* 13C674 80249334 00431021 */ addu $v0, $v0, $v1
/* 13C678 80249338 00021080 */ sll $v0, $v0, 2
/* 13C67C 8024933C 3C058027 */ lui $a1, %hi(D_80270289)
/* 13C680 80249340 00A22821 */ addu $a1, $a1, $v0
/* 13C684 80249344 90A50289 */ lbu $a1, %lo(D_80270289)($a1)
.L80249348:
/* 13C688 80249348 3C020002 */ lui $v0, 2
/* 13C68C 8024934C 3C038027 */ lui $v1, %hi(gPauseMenuHeldButtons)
/* 13C690 80249350 8C6300C0 */ lw $v1, %lo(gPauseMenuHeldButtons)($v1)
/* 13C694 80249354 34420010 */ ori $v0, $v0, 0x10
/* 13C698 80249358 00621024 */ and $v0, $v1, $v0
/* 13C69C 8024935C 10400030 */ beqz $v0, .L80249420
/* 13C6A0 80249360 3C020002 */ lui $v0, 2
/* 13C6A4 80249364 00621024 */ and $v0, $v1, $v0
/* 13C6A8 80249368 1040001C */ beqz $v0, .L802493DC
/* 13C6AC 8024936C 00000000 */ nop
/* 13C6B0 80249370 3C068027 */ lui $a2, %hi(gBadgeMenuCurrentPage)
/* 13C6B4 80249374 24C60280 */ addiu $a2, $a2, %lo(gBadgeMenuCurrentPage)
/* 13C6B8 80249378 8CC40000 */ lw $a0, ($a2)
/* 13C6BC 8024937C 3C078027 */ lui $a3, %hi(gBadgeMenuPages)
/* 13C6C0 80249380 24E70288 */ addiu $a3, $a3, %lo(gBadgeMenuPages)
/* 13C6C4 80249384 00041040 */ sll $v0, $a0, 1
/* 13C6C8 80249388 00441021 */ addu $v0, $v0, $a0
/* 13C6CC 8024938C 00021080 */ sll $v0, $v0, 2
/* 13C6D0 80249390 00471021 */ addu $v0, $v0, $a3
/* 13C6D4 80249394 90430001 */ lbu $v1, 1($v0)
/* 13C6D8 80249398 90420003 */ lbu $v0, 3($v0)
/* 13C6DC 8024939C 24A50001 */ addiu $a1, $a1, 1
/* 13C6E0 802493A0 00621821 */ addu $v1, $v1, $v0
/* 13C6E4 802493A4 00A3182A */ slt $v1, $a1, $v1
/* 13C6E8 802493A8 1460001D */ bnez $v1, .L80249420
/* 13C6EC 802493AC 24820001 */ addiu $v0, $a0, 1
/* 13C6F0 802493B0 00021840 */ sll $v1, $v0, 1
/* 13C6F4 802493B4 00621821 */ addu $v1, $v1, $v0
/* 13C6F8 802493B8 00031880 */ sll $v1, $v1, 2
/* 13C6FC 802493BC 00671821 */ addu $v1, $v1, $a3
/* 13C700 802493C0 ACC20000 */ sw $v0, ($a2)
/* 13C704 802493C4 90620000 */ lbu $v0, ($v1)
/* 13C708 802493C8 14400015 */ bnez $v0, .L80249420
/* 13C70C 802493CC 00000000 */ nop
/* 13C710 802493D0 ACC40000 */ sw $a0, ($a2)
/* 13C714 802493D4 08092508 */ j .L80249420
/* 13C718 802493D8 24A5FFFF */ addiu $a1, $a1, -1
.L802493DC:
/* 13C71C 802493DC 3C068027 */ lui $a2, %hi(gBadgeMenuCurrentPage)
/* 13C720 802493E0 24C60280 */ addiu $a2, $a2, %lo(gBadgeMenuCurrentPage)
/* 13C724 802493E4 8CC70000 */ lw $a3, ($a2)
/* 13C728 802493E8 3C048027 */ lui $a0, %hi(gBadgeMenuPages)
/* 13C72C 802493EC 24840288 */ addiu $a0, $a0, %lo(gBadgeMenuPages)
/* 13C730 802493F0 24E30001 */ addiu $v1, $a3, 1
/* 13C734 802493F4 00031040 */ sll $v0, $v1, 1
/* 13C738 802493F8 00431021 */ addu $v0, $v0, $v1
/* 13C73C 802493FC 00021080 */ sll $v0, $v0, 2
/* 13C740 80249400 ACC30000 */ sw $v1, ($a2)
/* 13C744 80249404 00441821 */ addu $v1, $v0, $a0
/* 13C748 80249408 90620000 */ lbu $v0, ($v1)
/* 13C74C 8024940C 14400003 */ bnez $v0, .L8024941C
/* 13C750 80249410 00000000 */ nop
/* 13C754 80249414 08092508 */ j .L80249420
/* 13C758 80249418 ACC70000 */ sw $a3, ($a2)
.L8024941C:
/* 13C75C 8024941C 90650001 */ lbu $a1, 1($v1)
.L80249420:
/* 13C760 80249420 3C038027 */ lui $v1, %hi(gBadgeMenuCurrentPage)
/* 13C764 80249424 8C630280 */ lw $v1, %lo(gBadgeMenuCurrentPage)($v1)
/* 13C768 80249428 00031040 */ sll $v0, $v1, 1
/* 13C76C 8024942C 00431021 */ addu $v0, $v0, $v1
/* 13C770 80249430 00021080 */ sll $v0, $v0, 2
/* 13C774 80249434 3C048027 */ lui $a0, %hi(D_8027028A)
/* 13C778 80249438 00822021 */ addu $a0, $a0, $v0
/* 13C77C 8024943C 9084028A */ lbu $a0, %lo(D_8027028A)($a0)
/* 13C780 80249440 00A40018 */ mult $a1, $a0
/* 13C784 80249444 00005012 */ mflo $t2
/* 13C788 80249448 000A1040 */ sll $v0, $t2, 1
/* 13C78C 8024944C 3C038027 */ lui $v1, %hi(gBadgeMenuItemIDs)
/* 13C790 80249450 00621821 */ addu $v1, $v1, $v0
/* 13C794 80249454 84630180 */ lh $v1, %lo(gBadgeMenuItemIDs)($v1)
/* 13C798 80249458 24027FFE */ addiu $v0, $zero, 0x7ffe
/* 13C79C 8024945C 10620012 */ beq $v1, $v0, .L802494A8
/* 13C7A0 80249460 3C020004 */ lui $v0, 4
/* 13C7A4 80249464 3C038027 */ lui $v1, %hi(gPauseMenuHeldButtons)
/* 13C7A8 80249468 8C6300C0 */ lw $v1, %lo(gPauseMenuHeldButtons)($v1)
/* 13C7AC 8024946C 00621024 */ and $v0, $v1, $v0
/* 13C7B0 80249470 10400006 */ beqz $v0, .L8024948C
/* 13C7B4 80249474 3C020008 */ lui $v0, 8
/* 13C7B8 80249478 2508FFFF */ addiu $t0, $t0, -1
/* 13C7BC 8024947C 0502000B */ bltzl $t0, .L802494AC
/* 13C7C0 80249480 2488FFFF */ addiu $t0, $a0, -1
/* 13C7C4 80249484 0809252B */ j .L802494AC
/* 13C7C8 80249488 00000000 */ nop
.L8024948C:
/* 13C7CC 8024948C 00621024 */ and $v0, $v1, $v0
/* 13C7D0 80249490 10400006 */ beqz $v0, .L802494AC
/* 13C7D4 80249494 00000000 */ nop
/* 13C7D8 80249498 25080001 */ addiu $t0, $t0, 1
/* 13C7DC 8024949C 0104102A */ slt $v0, $t0, $a0
/* 13C7E0 802494A0 14400002 */ bnez $v0, .L802494AC
/* 13C7E4 802494A4 00000000 */ nop
.L802494A8:
/* 13C7E8 802494A8 0000402D */ daddu $t0, $zero, $zero
.L802494AC:
/* 13C7EC 802494AC 3C038027 */ lui $v1, %hi(gBadgeMenuCurrentPage)
/* 13C7F0 802494B0 8C630280 */ lw $v1, %lo(gBadgeMenuCurrentPage)($v1)
/* 13C7F4 802494B4 00031040 */ sll $v0, $v1, 1
/* 13C7F8 802494B8 00431021 */ addu $v0, $v0, $v1
/* 13C7FC 802494BC 00021080 */ sll $v0, $v0, 2
/* 13C800 802494C0 3C018027 */ lui $at, %hi(D_8027028A)
/* 13C804 802494C4 00220821 */ addu $at, $at, $v0
/* 13C808 802494C8 9022028A */ lbu $v0, %lo(D_8027028A)($at)
/* 13C80C 802494CC 00A20018 */ mult $a1, $v0
/* 13C810 802494D0 3C108027 */ lui $s0, %hi(gBadgeMenuSelectedIndex)
/* 13C814 802494D4 26100378 */ addiu $s0, $s0, %lo(gBadgeMenuSelectedIndex)
/* 13C818 802494D8 00005012 */ mflo $t2
/* 13C81C 802494DC 010A1021 */ addu $v0, $t0, $t2
/* 13C820 802494E0 10490003 */ beq $v0, $t1, .L802494F0
/* 13C824 802494E4 AE020000 */ sw $v0, ($s0)
/* 13C828 802494E8 0C05272D */ jal sfx_play_sound
/* 13C82C 802494EC 240400C7 */ addiu $a0, $zero, 0xc7
.L802494F0:
/* 13C830 802494F0 8E020000 */ lw $v0, ($s0)
/* 13C834 802494F4 00021040 */ sll $v0, $v0, 1
/* 13C838 802494F8 3C018027 */ lui $at, %hi(gBadgeMenuItemIDs)
/* 13C83C 802494FC 00220821 */ addu $at, $at, $v0
/* 13C840 80249500 84220180 */ lh $v0, %lo(gBadgeMenuItemIDs)($at)
/* 13C844 80249504 3C018027 */ lui $at, %hi(gBadgeMenuSelectedItemID)
/* 13C848 80249508 AC220380 */ sw $v0, %lo(gBadgeMenuSelectedItemID)($at)
.L8024950C:
/* 13C84C 8024950C 3C038027 */ lui $v1, %hi(gBadgeMenuLevel)
/* 13C850 80249510 8C630398 */ lw $v1, %lo(gBadgeMenuLevel)($v1)
/* 13C854 80249514 24020001 */ addiu $v0, $zero, 1
/* 13C858 80249518 14620014 */ bne $v1, $v0, .L8024956C
/* 13C85C 8024951C 00000000 */ nop
/* 13C860 80249520 3C038027 */ lui $v1, %hi(gBadgeMenuSelectedItemID)
/* 13C864 80249524 8C630380 */ lw $v1, %lo(gBadgeMenuSelectedItemID)($v1)
/* 13C868 80249528 24628002 */ addiu $v0, $v1, -0x7ffe
/* 13C86C 8024952C 2C420002 */ sltiu $v0, $v0, 2
/* 13C870 80249530 1440000A */ bnez $v0, .L8024955C
/* 13C874 80249534 00000000 */ nop
/* 13C878 80249538 10600008 */ beqz $v1, .L8024955C
/* 13C87C 8024953C 00031140 */ sll $v0, $v1, 5
/* 13C880 80249540 3C018008 */ lui $at, %hi(gItemTable+0x10)
/* 13C884 80249544 00220821 */ addu $at, $at, $v0
/* 13C888 80249548 8C2278F0 */ lw $v0, %lo(gItemTable+0x10)($at)
/* 13C88C 8024954C 3C018027 */ lui $at, %hi(gPauseMenuCurrentDescMsg)
/* 13C890 80249550 AC2200C8 */ sw $v0, %lo(gPauseMenuCurrentDescMsg)($at)
/* 13C894 80249554 08092566 */ j .L80249598
/* 13C898 80249558 00000000 */ nop
.L8024955C:
/* 13C89C 8024955C 3C018027 */ lui $at, %hi(gPauseMenuCurrentDescMsg)
/* 13C8A0 80249560 AC2000C8 */ sw $zero, %lo(gPauseMenuCurrentDescMsg)($at)
/* 13C8A4 80249564 08092564 */ j .L80249590
/* 13C8A8 80249568 00000000 */ nop
.L8024956C:
/* 13C8AC 8024956C 3C028027 */ lui $v0, %hi(gBadgeMenuCurrentTab)
/* 13C8B0 80249570 8C42039C */ lw $v0, %lo(gBadgeMenuCurrentTab)($v0)
/* 13C8B4 80249574 14400002 */ bnez $v0, .L80249580
/* 13C8B8 80249578 2404004D */ addiu $a0, $zero, 0x4d
/* 13C8BC 8024957C 2404004C */ addiu $a0, $zero, 0x4c
.L80249580:
/* 13C8C0 80249580 0C093BA0 */ jal pause_get_menu_msg
/* 13C8C4 80249584 00000000 */ nop
/* 13C8C8 80249588 3C018027 */ lui $at, %hi(gPauseMenuCurrentDescMsg)
/* 13C8CC 8024958C AC2200C8 */ sw $v0, %lo(gPauseMenuCurrentDescMsg)($at)
.L80249590:
/* 13C8D0 80249590 3C018027 */ lui $at, %hi(gPauseMenuCurrentDescIconScript)
/* 13C8D4 80249594 AC2000CC */ sw $zero, %lo(gPauseMenuCurrentDescIconScript)($at)
.L80249598:
/* 13C8D8 80249598 3C028027 */ lui $v0, %hi(gPauseMenuPressedButtons)
/* 13C8DC 8024959C 8C4200C4 */ lw $v0, %lo(gPauseMenuPressedButtons)($v0)
/* 13C8E0 802495A0 30424000 */ andi $v0, $v0, 0x4000
/* 13C8E4 802495A4 10400017 */ beqz $v0, .L80249604
/* 13C8E8 802495A8 00000000 */ nop
/* 13C8EC 802495AC 3C108027 */ lui $s0, %hi(gBadgeMenuLevel)
/* 13C8F0 802495B0 26100398 */ addiu $s0, $s0, %lo(gBadgeMenuLevel)
/* 13C8F4 802495B4 8E020000 */ lw $v0, ($s0)
/* 13C8F8 802495B8 14400007 */ bnez $v0, .L802495D8
/* 13C8FC 802495BC 00000000 */ nop
/* 13C900 802495C0 0C05272D */ jal sfx_play_sound
/* 13C904 802495C4 240400CA */ addiu $a0, $zero, 0xca
/* 13C908 802495C8 3C018027 */ lui $at, %hi(gPauseMenuCurrentTab)
/* 13C90C 802495CC A02000D4 */ sb $zero, %lo(gPauseMenuCurrentTab)($at)
/* 13C910 802495D0 08092581 */ j .L80249604
/* 13C914 802495D4 00000000 */ nop
.L802495D8:
/* 13C918 802495D8 0C05272D */ jal sfx_play_sound
/* 13C91C 802495DC 240400CA */ addiu $a0, $zero, 0xca
/* 13C920 802495E0 0C039E1B */ jal enforce_hpfp_limits
/* 13C924 802495E4 AE000000 */ sw $zero, ($s0)
/* 13C928 802495E8 3C038027 */ lui $v1, %hi(gBadgeMenuCurrentTab)
/* 13C92C 802495EC 8C63039C */ lw $v1, %lo(gBadgeMenuCurrentTab)($v1)
/* 13C930 802495F0 24020001 */ addiu $v0, $zero, 1
/* 13C934 802495F4 14620003 */ bne $v1, $v0, .L80249604
/* 13C938 802495F8 00000000 */ nop
/* 13C93C 802495FC 0C092363 */ jal pause_badges_load_badges
/* 13C940 80249600 0040202D */ daddu $a0, $v0, $zero
.L80249604:
/* 13C944 80249604 8FBF001C */ lw $ra, 0x1c($sp)
/* 13C948 80249608 8FB20018 */ lw $s2, 0x18($sp)
/* 13C94C 8024960C 8FB10014 */ lw $s1, 0x14($sp)
/* 13C950 80249610 8FB00010 */ lw $s0, 0x10($sp)
/* 13C954 80249614 03E00008 */ jr $ra
/* 13C958 80249618 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,66 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel pause_badges_init
/* 13C300 80248FC0 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 13C304 80248FC4 AFB3001C */ sw $s3, 0x1c($sp)
/* 13C308 80248FC8 0080982D */ daddu $s3, $a0, $zero
/* 13C30C 80248FCC AFBF0020 */ sw $ra, 0x20($sp)
/* 13C310 80248FD0 AFB20018 */ sw $s2, 0x18($sp)
/* 13C314 80248FD4 AFB10014 */ sw $s1, 0x14($sp)
/* 13C318 80248FD8 0C091C15 */ jal pause_badges_count_all
/* 13C31C 80248FDC AFB00010 */ sw $s0, 0x10($sp)
/* 13C320 80248FE0 3C018027 */ lui $at, %hi(gBadgeMenuLevel)
/* 13C324 80248FE4 AC200398 */ sw $zero, %lo(gBadgeMenuLevel)($at)
/* 13C328 80248FE8 3C018027 */ lui $at, %hi(gBadgeMenuCurrentTab)
/* 13C32C 80248FEC AC20039C */ sw $zero, %lo(gBadgeMenuCurrentTab)($at)
/* 13C330 80248FF0 3C018027 */ lui $at, %hi(gBadgeMenuBShowNotEnoughBP)
/* 13C334 80248FF4 AC2003A0 */ sw $zero, %lo(gBadgeMenuBShowNotEnoughBP)($at)
/* 13C338 80248FF8 0C092363 */ jal pause_badges_load_badges
/* 13C33C 80248FFC 0000202D */ daddu $a0, $zero, $zero
/* 13C340 80249000 3C038027 */ lui $v1, %hi(gBadgeMenuItemIDs)
/* 13C344 80249004 84630180 */ lh $v1, %lo(gBadgeMenuItemIDs)($v1)
/* 13C348 80249008 24027FFE */ addiu $v0, $zero, 0x7ffe
/* 13C34C 8024900C 14620003 */ bne $v1, $v0, .L8024901C
/* 13C350 80249010 0000802D */ daddu $s0, $zero, $zero
/* 13C354 80249014 08092423 */ j .L8024908C
/* 13C358 80249018 A2600000 */ sb $zero, ($s3)
.L8024901C:
/* 13C35C 8024901C 3C128027 */ lui $s2, %hi(D_802703A8)
/* 13C360 80249020 265203A8 */ addiu $s2, $s2, %lo(D_802703A8)
/* 13C364 80249024 3C118025 */ lui $s1, %hi(D_8024F4D0)
/* 13C368 80249028 2631F4D0 */ addiu $s1, $s1, %lo(D_8024F4D0)
.L8024902C:
/* 13C36C 8024902C 8E240000 */ lw $a0, ($s1)
/* 13C370 80249030 26310004 */ addiu $s1, $s1, 4
/* 13C374 80249034 0C050529 */ jal create_hud_element
/* 13C378 80249038 26100001 */ addiu $s0, $s0, 1
/* 13C37C 8024903C 0040202D */ daddu $a0, $v0, $zero
/* 13C380 80249040 24050080 */ addiu $a1, $zero, 0x80
/* 13C384 80249044 0C051280 */ jal set_hud_element_flags
/* 13C388 80249048 AE440000 */ sw $a0, ($s2)
/* 13C38C 8024904C 2A020016 */ slti $v0, $s0, 0x16
/* 13C390 80249050 1440FFF6 */ bnez $v0, .L8024902C
/* 13C394 80249054 26520004 */ addiu $s2, $s2, 4
/* 13C398 80249058 0000802D */ daddu $s0, $zero, $zero
/* 13C39C 8024905C 3C028025 */ lui $v0, %hi(D_8024F528)
/* 13C3A0 80249060 2442F528 */ addiu $v0, $v0, %lo(D_8024F528)
.L80249064:
/* 13C3A4 80249064 AC530010 */ sw $s3, 0x10($v0)
/* 13C3A8 80249068 26100001 */ addiu $s0, $s0, 1
/* 13C3AC 8024906C 1A00FFFD */ blez $s0, .L80249064
/* 13C3B0 80249070 24420024 */ addiu $v0, $v0, 0x24
/* 13C3B4 80249074 3C048025 */ lui $a0, %hi(D_8024F528)
/* 13C3B8 80249078 2484F528 */ addiu $a0, $a0, %lo(D_8024F528)
/* 13C3BC 8024907C 0C051FCC */ jal setup_pause_menu_tab
/* 13C3C0 80249080 24050001 */ addiu $a1, $zero, 1
/* 13C3C4 80249084 24020001 */ addiu $v0, $zero, 1
/* 13C3C8 80249088 A2620000 */ sb $v0, ($s3)
.L8024908C:
/* 13C3CC 8024908C 8FBF0020 */ lw $ra, 0x20($sp)
/* 13C3D0 80249090 8FB3001C */ lw $s3, 0x1c($sp)
/* 13C3D4 80249094 8FB20018 */ lw $s2, 0x18($sp)
/* 13C3D8 80249098 8FB10014 */ lw $s1, 0x14($sp)
/* 13C3DC 8024909C 8FB00010 */ lw $s0, 0x10($sp)
/* 13C3E0 802490A0 03E00008 */ jr $ra
/* 13C3E4 802490A4 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -1,161 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel pause_badges_load_badges
/* 13C0CC 80248D8C 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 13C0D0 80248D90 AFB00010 */ sw $s0, 0x10($sp)
/* 13C0D4 80248D94 AFB10014 */ sw $s1, 0x14($sp)
/* 13C0D8 80248D98 3C118011 */ lui $s1, %hi(gPlayerData)
/* 13C0DC 80248D9C 2631F290 */ addiu $s1, $s1, %lo(gPlayerData)
/* 13C0E0 80248DA0 AFBF0018 */ sw $ra, 0x18($sp)
/* 13C0E4 80248DA4 3C018027 */ lui $at, %hi(D_80270388)
/* 13C0E8 80248DA8 AC200388 */ sw $zero, %lo(D_80270388)($at)
/* 13C0EC 80248DAC 14800014 */ bnez $a0, .L80248E00
/* 13C0F0 80248DB0 0000802D */ daddu $s0, $zero, $zero
/* 13C0F4 80248DB4 0200202D */ daddu $a0, $s0, $zero
/* 13C0F8 80248DB8 0220302D */ daddu $a2, $s1, $zero
/* 13C0FC 80248DBC 3C058027 */ lui $a1, %hi(gBadgeMenuItemIDs)
/* 13C100 80248DC0 24A50180 */ addiu $a1, $a1, %lo(gBadgeMenuItemIDs)
.L80248DC4:
/* 13C104 80248DC4 84C200B4 */ lh $v0, 0xb4($a2)
/* 13C108 80248DC8 94C300B4 */ lhu $v1, 0xb4($a2)
/* 13C10C 80248DCC 10400007 */ beqz $v0, .L80248DEC
/* 13C110 80248DD0 24840001 */ addiu $a0, $a0, 1
/* 13C114 80248DD4 28420155 */ slti $v0, $v0, 0x155
/* 13C118 80248DD8 10400019 */ beqz $v0, .L80248E40
/* 13C11C 80248DDC 00000000 */ nop
/* 13C120 80248DE0 A4A30000 */ sh $v1, ($a1)
/* 13C124 80248DE4 24A50002 */ addiu $a1, $a1, 2
/* 13C128 80248DE8 26100001 */ addiu $s0, $s0, 1
.L80248DEC:
/* 13C12C 80248DEC 28820080 */ slti $v0, $a0, 0x80
/* 13C130 80248DF0 1440FFF4 */ bnez $v0, .L80248DC4
/* 13C134 80248DF4 24C60002 */ addiu $a2, $a2, 2
/* 13C138 80248DF8 08092390 */ j .L80248E40
/* 13C13C 80248DFC 00000000 */ nop
.L80248E00:
/* 13C140 80248E00 0C091C2C */ jal pause_badges_count_equipped
/* 13C144 80248E04 00000000 */ nop
/* 13C148 80248E08 26260208 */ addiu $a2, $s1, 0x208
/* 13C14C 80248E0C 0000202D */ daddu $a0, $zero, $zero
/* 13C150 80248E10 3C058027 */ lui $a1, %hi(gBadgeMenuItemIDs)
/* 13C154 80248E14 24A50180 */ addiu $a1, $a1, %lo(gBadgeMenuItemIDs)
.L80248E18:
/* 13C158 80248E18 84C20000 */ lh $v0, ($a2)
/* 13C15C 80248E1C 94C30000 */ lhu $v1, ($a2)
/* 13C160 80248E20 10400004 */ beqz $v0, .L80248E34
/* 13C164 80248E24 24840001 */ addiu $a0, $a0, 1
/* 13C168 80248E28 A4A30000 */ sh $v1, ($a1)
/* 13C16C 80248E2C 24A50002 */ addiu $a1, $a1, 2
/* 13C170 80248E30 26100001 */ addiu $s0, $s0, 1
.L80248E34:
/* 13C174 80248E34 28820040 */ slti $v0, $a0, 0x40
/* 13C178 80248E38 1440FFF7 */ bnez $v0, .L80248E18
/* 13C17C 80248E3C 24C60002 */ addiu $a2, $a2, 2
.L80248E40:
/* 13C180 80248E40 16000004 */ bnez $s0, .L80248E54
/* 13C184 80248E44 24027FFE */ addiu $v0, $zero, 0x7ffe
/* 13C188 80248E48 3C018027 */ lui $at, %hi(gBadgeMenuItemIDs)
/* 13C18C 80248E4C A4220180 */ sh $v0, %lo(gBadgeMenuItemIDs)($at)
/* 13C190 80248E50 24100001 */ addiu $s0, $zero, 1
.L80248E54:
/* 13C194 80248E54 3C018027 */ lui $at, %hi(gBadgeMenuNumItems)
/* 13C198 80248E58 A4300384 */ sh $s0, %lo(gBadgeMenuNumItems)($at)
/* 13C19C 80248E5C 0200202D */ daddu $a0, $s0, $zero
/* 13C1A0 80248E60 28820080 */ slti $v0, $a0, 0x80
/* 13C1A4 80248E64 1040000A */ beqz $v0, .L80248E90
/* 13C1A8 80248E68 24057FFF */ addiu $a1, $zero, 0x7fff
/* 13C1AC 80248E6C 3C038027 */ lui $v1, %hi(gBadgeMenuItemIDs)
/* 13C1B0 80248E70 24630180 */ addiu $v1, $v1, %lo(gBadgeMenuItemIDs)
/* 13C1B4 80248E74 00041040 */ sll $v0, $a0, 1
/* 13C1B8 80248E78 00431821 */ addu $v1, $v0, $v1
.L80248E7C:
/* 13C1BC 80248E7C A4650000 */ sh $a1, ($v1)
/* 13C1C0 80248E80 24840001 */ addiu $a0, $a0, 1
/* 13C1C4 80248E84 28820080 */ slti $v0, $a0, 0x80
/* 13C1C8 80248E88 1440FFFC */ bnez $v0, .L80248E7C
/* 13C1CC 80248E8C 24630002 */ addiu $v1, $v1, 2
.L80248E90:
/* 13C1D0 80248E90 3C058027 */ lui $a1, %hi(gBadgeMenuPages)
/* 13C1D4 80248E94 24A50288 */ addiu $a1, $a1, %lo(gBadgeMenuPages)
/* 13C1D8 80248E98 0000202D */ daddu $a0, $zero, $zero
/* 13C1DC 80248E9C 3C078027 */ lui $a3, %hi(gBadgeMenuNumItems)
/* 13C1E0 80248EA0 24E70384 */ addiu $a3, $a3, %lo(gBadgeMenuNumItems)
/* 13C1E4 80248EA4 24060001 */ addiu $a2, $zero, 1
/* 13C1E8 80248EA8 24090008 */ addiu $t1, $zero, 8
/* 13C1EC 80248EAC 24080008 */ addiu $t0, $zero, 8
/* 13C1F0 80248EB0 00A81821 */ addu $v1, $a1, $t0
/* 13C1F4 80248EB4 3C018027 */ lui $at, %hi(gBadgeMenuSelectedIndex)
/* 13C1F8 80248EB8 AC200378 */ sw $zero, %lo(gBadgeMenuSelectedIndex)($at)
/* 13C1FC 80248EBC 3C018027 */ lui $at, %hi(gBadgeMenuSelectedItemID)
/* 13C200 80248EC0 AC200380 */ sw $zero, %lo(gBadgeMenuSelectedItemID)($at)
/* 13C204 80248EC4 3C018027 */ lui $at, %hi(D_8027037C)
/* 13C208 80248EC8 AC20037C */ sw $zero, %lo(D_8027037C)($at)
/* 13C20C 80248ECC 3C018027 */ lui $at, %hi(D_80270394)
/* 13C210 80248ED0 AC200394 */ sw $zero, %lo(D_80270394)($at)
/* 13C214 80248ED4 3C018027 */ lui $at, %hi(gBadgeMenuCurrentPage)
/* 13C218 80248ED8 AC200280 */ sw $zero, %lo(gBadgeMenuCurrentPage)($at)
.L80248EDC:
/* 13C21C 80248EDC 84E20000 */ lh $v0, ($a3)
/* 13C220 80248EE0 04420001 */ bltzl $v0, .L80248EE8
/* 13C224 80248EE4 24420007 */ addiu $v0, $v0, 7
.L80248EE8:
/* 13C228 80248EE8 000210C3 */ sra $v0, $v0, 3
/* 13C22C 80248EEC 0082102A */ slt $v0, $a0, $v0
/* 13C230 80248EF0 1040000B */ beqz $v0, .L80248F20
/* 13C234 80248EF4 000410C0 */ sll $v0, $a0, 3
/* 13C238 80248EF8 24840001 */ addiu $a0, $a0, 1
/* 13C23C 80248EFC A062FFF9 */ sb $v0, -7($v1)
/* 13C240 80248F00 A066FFFA */ sb $a2, -6($v1)
/* 13C244 80248F04 A069FFFB */ sb $t1, -5($v1)
/* 13C248 80248F08 A0A60000 */ sb $a2, ($a1)
/* 13C24C 80248F0C AC62FFFC */ sw $v0, -4($v1)
/* 13C250 80248F10 AC680000 */ sw $t0, ($v1)
/* 13C254 80248F14 2463000C */ addiu $v1, $v1, 0xc
/* 13C258 80248F18 080923B7 */ j .L80248EDC
/* 13C25C 80248F1C 24A5000C */ addiu $a1, $a1, 0xc
.L80248F20:
/* 13C260 80248F20 94E20000 */ lhu $v0, ($a3)
/* 13C264 80248F24 30420007 */ andi $v0, $v0, 7
/* 13C268 80248F28 10400016 */ beqz $v0, .L80248F84
/* 13C26C 80248F2C 000418C0 */ sll $v1, $a0, 3
/* 13C270 80248F30 24020001 */ addiu $v0, $zero, 1
/* 13C274 80248F34 A0A30001 */ sb $v1, 1($a1)
/* 13C278 80248F38 A0A20002 */ sb $v0, 2($a1)
/* 13C27C 80248F3C A0A20000 */ sb $v0, ($a1)
/* 13C280 80248F40 84E60000 */ lh $a2, ($a3)
/* 13C284 80248F44 ACA30004 */ sw $v1, 4($a1)
/* 13C288 80248F48 04C10002 */ bgez $a2, .L80248F54
/* 13C28C 80248F4C 00C0102D */ daddu $v0, $a2, $zero
/* 13C290 80248F50 24C20007 */ addiu $v0, $a2, 7
.L80248F54:
/* 13C294 80248F54 000210C3 */ sra $v0, $v0, 3
/* 13C298 80248F58 000210C0 */ sll $v0, $v0, 3
/* 13C29C 80248F5C 00C21023 */ subu $v0, $a2, $v0
/* 13C2A0 80248F60 00021400 */ sll $v0, $v0, 0x10
/* 13C2A4 80248F64 00021403 */ sra $v0, $v0, 0x10
/* 13C2A8 80248F68 ACA20008 */ sw $v0, 8($a1)
/* 13C2AC 80248F6C 90A2000B */ lbu $v0, 0xb($a1)
/* 13C2B0 80248F70 24840001 */ addiu $a0, $a0, 1
/* 13C2B4 80248F74 080923E0 */ j .L80248F80
/* 13C2B8 80248F78 A0A20003 */ sb $v0, 3($a1)
.L80248F7C:
/* 13C2BC 80248F7C 24840001 */ addiu $a0, $a0, 1
.L80248F80:
/* 13C2C0 80248F80 24A5000C */ addiu $a1, $a1, 0xc
.L80248F84:
/* 13C2C4 80248F84 28820014 */ slti $v0, $a0, 0x14
/* 13C2C8 80248F88 5440FFFC */ bnel $v0, $zero, .L80248F7C
/* 13C2CC 80248F8C A0A00000 */ sb $zero, ($a1)
/* 13C2D0 80248F90 0000202D */ daddu $a0, $zero, $zero
/* 13C2D4 80248F94 0C091C5A */ jal pause_badges_get_pos_y
/* 13C2D8 80248F98 0080282D */ daddu $a1, $a0, $zero
/* 13C2DC 80248F9C 8FBF0018 */ lw $ra, 0x18($sp)
/* 13C2E0 80248FA0 8FB10014 */ lw $s1, 0x14($sp)
/* 13C2E4 80248FA4 8FB00010 */ lw $s0, 0x10($sp)
/* 13C2E8 80248FA8 3C018027 */ lui $at, %hi(gBadgeMenuCurrentScrollPos)
/* 13C2EC 80248FAC AC22038C */ sw $v0, %lo(gBadgeMenuCurrentScrollPos)($at)
/* 13C2F0 80248FB0 3C018027 */ lui $at, %hi(gBadgeMenuTargetScrollPos)
/* 13C2F4 80248FB4 AC220390 */ sw $v0, %lo(gBadgeMenuTargetScrollPos)($at)
/* 13C2F8 80248FB8 03E00008 */ jr $ra
/* 13C2FC 80248FBC 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,86 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel pause_badges_try_equip
/* 13A678 80247338 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 13A67C 8024733C AFB00010 */ sw $s0, 0x10($sp)
/* 13A680 80247340 0080802D */ daddu $s0, $a0, $zero
/* 13A684 80247344 AFB10014 */ sw $s1, 0x14($sp)
/* 13A688 80247348 3C118011 */ lui $s1, %hi(gPlayerData)
/* 13A68C 8024734C 2631F290 */ addiu $s1, $s1, %lo(gPlayerData)
/* 13A690 80247350 26250208 */ addiu $a1, $s1, 0x208
/* 13A694 80247354 00042400 */ sll $a0, $a0, 0x10
/* 13A698 80247358 00042403 */ sra $a0, $a0, 0x10
/* 13A69C 8024735C 24027FFE */ addiu $v0, $zero, 0x7ffe
/* 13A6A0 80247360 14820002 */ bne $a0, $v0, .L8024736C
/* 13A6A4 80247364 AFBF0018 */ sw $ra, 0x18($sp)
/* 13A6A8 80247368 0000802D */ daddu $s0, $zero, $zero
.L8024736C:
/* 13A6AC 8024736C 00101400 */ sll $v0, $s0, 0x10
/* 13A6B0 80247370 00021403 */ sra $v0, $v0, 0x10
/* 13A6B4 80247374 24037FFF */ addiu $v1, $zero, 0x7fff
/* 13A6B8 80247378 50430001 */ beql $v0, $v1, .L80247380
/* 13A6BC 8024737C 0000802D */ daddu $s0, $zero, $zero
.L80247380:
/* 13A6C0 80247380 00101400 */ sll $v0, $s0, 0x10
/* 13A6C4 80247384 00021403 */ sra $v0, $v0, 0x10
/* 13A6C8 80247388 1040001D */ beqz $v0, .L80247400
/* 13A6CC 8024738C 0000202D */ daddu $a0, $zero, $zero
/* 13A6D0 80247390 0040182D */ daddu $v1, $v0, $zero
.L80247394:
/* 13A6D4 80247394 84A20000 */ lh $v0, ($a1)
/* 13A6D8 80247398 1043001B */ beq $v0, $v1, .L80247408
/* 13A6DC 8024739C 24840001 */ addiu $a0, $a0, 1
/* 13A6E0 802473A0 28820040 */ slti $v0, $a0, 0x40
/* 13A6E4 802473A4 1440FFFB */ bnez $v0, .L80247394
/* 13A6E8 802473A8 24A50002 */ addiu $a1, $a1, 2
/* 13A6EC 802473AC 0C0911FD */ jal pause_get_total_equipped_bp_cost
/* 13A6F0 802473B0 00000000 */ nop
/* 13A6F4 802473B4 0040202D */ daddu $a0, $v0, $zero
/* 13A6F8 802473B8 00101400 */ sll $v0, $s0, 0x10
/* 13A6FC 802473BC 00021403 */ sra $v0, $v0, 0x10
/* 13A700 802473C0 10400013 */ beqz $v0, .L80247410
/* 13A704 802473C4 00021140 */ sll $v0, $v0, 5
/* 13A708 802473C8 3C038008 */ lui $v1, %hi(gItemTable+0x1A)
/* 13A70C 802473CC 00621821 */ addu $v1, $v1, $v0
/* 13A710 802473D0 906378FA */ lbu $v1, %lo(gItemTable+0x1A)($v1)
/* 13A714 802473D4 00031080 */ sll $v0, $v1, 2
/* 13A718 802473D8 00431021 */ addu $v0, $v0, $v1
/* 13A71C 802473DC 00021080 */ sll $v0, $v0, 2
/* 13A720 802473E0 3C018009 */ lui $at, %hi(D_8008F072)
/* 13A724 802473E4 00220821 */ addu $at, $at, $v0
/* 13A728 802473E8 8022F072 */ lb $v0, %lo(D_8008F072)($at)
/* 13A72C 802473EC 82230008 */ lb $v1, 8($s1)
/* 13A730 802473F0 00821021 */ addu $v0, $a0, $v0
/* 13A734 802473F4 0062182A */ slt $v1, $v1, $v0
/* 13A738 802473F8 10600006 */ beqz $v1, .L80247414
/* 13A73C 802473FC 26250208 */ addiu $a1, $s1, 0x208
.L80247400:
/* 13A740 80247400 08091D11 */ j .L80247444
/* 13A744 80247404 24020001 */ addiu $v0, $zero, 1
.L80247408:
/* 13A748 80247408 08091D11 */ j .L80247444
/* 13A74C 8024740C 0000102D */ daddu $v0, $zero, $zero
.L80247410:
/* 13A750 80247410 26250208 */ addiu $a1, $s1, 0x208
.L80247414:
/* 13A754 80247414 0000202D */ daddu $a0, $zero, $zero
.L80247418:
/* 13A758 80247418 84A20000 */ lh $v0, ($a1)
/* 13A75C 8024741C 50400005 */ beql $v0, $zero, .L80247434
/* 13A760 80247420 A4B00000 */ sh $s0, ($a1)
/* 13A764 80247424 24840001 */ addiu $a0, $a0, 1
/* 13A768 80247428 28820040 */ slti $v0, $a0, 0x40
/* 13A76C 8024742C 1440FFFA */ bnez $v0, .L80247418
/* 13A770 80247430 24A50002 */ addiu $a1, $a1, 2
.L80247434:
/* 13A774 80247434 24030040 */ addiu $v1, $zero, 0x40
/* 13A778 80247438 10830002 */ beq $a0, $v1, .L80247444
/* 13A77C 8024743C 24020002 */ addiu $v0, $zero, 2
/* 13A780 80247440 24020003 */ addiu $v0, $zero, 3
.L80247444:
/* 13A784 80247444 8FBF0018 */ lw $ra, 0x18($sp)
/* 13A788 80247448 8FB10014 */ lw $s1, 0x14($sp)
/* 13A78C 8024744C 8FB00010 */ lw $s0, 0x10($sp)
/* 13A790 80247450 03E00008 */ jr $ra
/* 13A794 80247454 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,45 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel pause_badges_try_remove
/* 13A5F0 802472B0 3C068011 */ lui $a2, %hi(gPlayerData+0x208)
/* 13A5F4 802472B4 24C6F498 */ addiu $a2, $a2, %lo(gPlayerData+0x208)
/* 13A5F8 802472B8 00C0182D */ daddu $v1, $a2, $zero
/* 13A5FC 802472BC 00042400 */ sll $a0, $a0, 0x10
/* 13A600 802472C0 00042403 */ sra $a0, $a0, 0x10
/* 13A604 802472C4 24027FFF */ addiu $v0, $zero, 0x7fff
/* 13A608 802472C8 14820005 */ bne $a0, $v0, .L802472E0
/* 13A60C 802472CC 0000382D */ daddu $a3, $zero, $zero
/* 13A610 802472D0 03E00008 */ jr $ra
/* 13A614 802472D4 00E0102D */ daddu $v0, $a3, $zero
.L802472D8:
/* 13A618 802472D8 08091CC5 */ j .L80247314
/* 13A61C 802472DC 24070001 */ addiu $a3, $zero, 1
.L802472E0:
/* 13A620 802472E0 0000282D */ daddu $a1, $zero, $zero
.L802472E4:
/* 13A624 802472E4 84620000 */ lh $v0, ($v1)
/* 13A628 802472E8 5082FFFB */ beql $a0, $v0, .L802472D8
/* 13A62C 802472EC 0060302D */ daddu $a2, $v1, $zero
/* 13A630 802472F0 24A50001 */ addiu $a1, $a1, 1
/* 13A634 802472F4 28A20040 */ slti $v0, $a1, 0x40
/* 13A638 802472F8 1440FFFA */ bnez $v0, .L802472E4
/* 13A63C 802472FC 24630002 */ addiu $v1, $v1, 2
/* 13A640 80247300 08091CC6 */ j .L80247318
/* 13A644 80247304 28A2003F */ slti $v0, $a1, 0x3f
.L80247308:
/* 13A648 80247308 94620002 */ lhu $v0, 2($v1)
/* 13A64C 8024730C A4620000 */ sh $v0, ($v1)
/* 13A650 80247310 24630002 */ addiu $v1, $v1, 2
.L80247314:
/* 13A654 80247314 28A2003F */ slti $v0, $a1, 0x3f
.L80247318:
/* 13A658 80247318 5440FFFB */ bnel $v0, $zero, .L80247308
/* 13A65C 8024731C 24A50001 */ addiu $a1, $a1, 1
/* 13A660 80247320 A4600000 */ sh $zero, ($v1)
/* 13A664 80247324 84C20000 */ lh $v0, ($a2)
/* 13A668 80247328 50400001 */ beql $v0, $zero, .L80247330
/* 13A66C 8024732C 24070002 */ addiu $a3, $zero, 2
.L80247330:
/* 13A670 80247330 03E00008 */ jr $ra
/* 13A674 80247334 00E0102D */ daddu $v0, $a3, $zero

View File

@ -69,8 +69,8 @@ glabel pause_partners_draw_movelist
/* 13F168 8024BE28 00021080 */ sll $v0, $v0, 2
/* 13F16C 8024BE2C 00481021 */ addu $v0, $v0, $t0
/* 13F170 8024BE30 8C430000 */ lw $v1, ($v0)
/* 13F174 8024BE34 3C088009 */ lui $t0, %hi(D_8008F060)
/* 13F178 8024BE38 2508F060 */ addiu $t0, $t0, %lo(D_8008F060)
/* 13F174 8024BE34 3C088009 */ lui $t0, %hi(gMoveTable)
/* 13F178 8024BE38 2508F060 */ addiu $t0, $t0, %lo(gMoveTable)
/* 13F17C 8024BE3C 08092FA1 */ j .L8024BE84
/* 13F180 8024BE40 00031080 */ sll $v0, $v1, 2
.L8024BE44:
@ -86,8 +86,8 @@ glabel pause_partners_draw_movelist
/* 13F1A8 8024BE68 00021080 */ sll $v0, $v0, 2
/* 13F1AC 8024BE6C 00481021 */ addu $v0, $v0, $t0
/* 13F1B0 8024BE70 8C430000 */ lw $v1, ($v0)
/* 13F1B4 8024BE74 3C088009 */ lui $t0, %hi(D_8008F060)
/* 13F1B8 8024BE78 2508F060 */ addiu $t0, $t0, %lo(D_8008F060)
/* 13F1B4 8024BE74 3C088009 */ lui $t0, %hi(gMoveTable)
/* 13F1B8 8024BE78 2508F060 */ addiu $t0, $t0, %lo(gMoveTable)
/* 13F1BC 8024BE7C 00731821 */ addu $v1, $v1, $s3
/* 13F1C0 8024BE80 00031080 */ sll $v0, $v1, 2
.L8024BE84:
@ -109,8 +109,8 @@ glabel pause_partners_draw_movelist
/* 13F200 8024BEC0 00021080 */ sll $v0, $v0, 2
/* 13F204 8024BEC4 00481021 */ addu $v0, $v0, $t0
/* 13F208 8024BEC8 8C430000 */ lw $v1, ($v0)
/* 13F20C 8024BECC 3C088009 */ lui $t0, %hi(D_8008F060)
/* 13F210 8024BED0 2508F060 */ addiu $t0, $t0, %lo(D_8008F060)
/* 13F20C 8024BECC 3C088009 */ lui $t0, %hi(gMoveTable)
/* 13F210 8024BED0 2508F060 */ addiu $t0, $t0, %lo(gMoveTable)
/* 13F214 8024BED4 00731821 */ addu $v1, $v1, $s3
/* 13F218 8024BED8 00031080 */ sll $v0, $v1, 2
/* 13F21C 8024BEDC 00431021 */ addu $v0, $v0, $v1

View File

@ -6,8 +6,8 @@ glabel func_80241848_844418
/* 84441C 8024184C 00C0282D */ daddu $a1, $a2, $zero
/* 844420 80241850 3C088008 */ lui $t0, %hi(gItemTable)
/* 844424 80241854 250878E0 */ addiu $t0, $t0, %lo(gItemTable)
/* 844428 80241858 3C078009 */ lui $a3, %hi(D_8008F060)
/* 84442C 8024185C 24E7F060 */ addiu $a3, $a3, %lo(D_8008F060)
/* 844428 80241858 3C078009 */ lui $a3, %hi(gMoveTable)
/* 84442C 8024185C 24E7F060 */ addiu $a3, $a3, %lo(gMoveTable)
/* 844430 80241860 3C048011 */ lui $a0, %hi(gPlayerData)
/* 844434 80241864 2484F290 */ addiu $a0, $a0, %lo(gPlayerData)
.L80241868:

View File

@ -18209,7 +18209,7 @@ D_8008E94C = 0x8008E94C; // type:data
D_8008EEC4 = 0x8008EEC4; // type:data
D_8008EEF0 = 0x8008EEF0; // type:data
D_8008EF20 = 0x8008EF20; // type:data
D_8008F060 = 0x8008F060; // type:data
gMoveTable = 0x8008F060; // type:data
D_8008F064 = 0x8008F064; // type:data
D_8008F06C = 0x8008F06C; // type:data
D_8008F071 = 0x8008F071; // type:data
@ -19793,7 +19793,7 @@ D_80270394 = 0x80270394; // type:data
gBadgeMenuLevel = 0x80270398; // type:data
gBadgeMenuCurrentTab = 0x8027039C; // type:data
gBadgeMenuBShowNotEnoughBP = 0x802703A0; // type:data
D_802703A8 = 0x802703A8; // type:data
gBadgeMenuIconIDs = 0x802703A8; // type:data
D_802703FC = 0x802703FC; // type:data
gItemMenuItemIDs = 0x80270400; // type:data
gItemMenuCurrentPage = 0x802704C8; // type:data

View File

@ -739,7 +739,7 @@ D_80270394 = 0x80270394;
gBadgeMenuLevel = 0x80270398;
gBadgeMenuCurrentTab = 0x8027039C;
gBadgeMenuBShowNotEnoughBP = 0x802703A0;
D_802703A8 = 0x802703A8;
gBadgeMenuIconIDs = 0x802703A8;
D_802703FC = 0x802703FC;
gItemMenuItemIDs = 0x80270400;
gItemMenuCurrentPage = 0x802704C8;