Pause menu (#642)

* start data migration

* decomp 12 functions

* make initial bss

* pause_tutorial_draw_contents

* pause_init

* decomp 3 functions

* decomp pause_tabs

* pause_badges_draw_contents

* pause_items

* pause_partners

* pause_spirits

* pause_map

* pause_gfx and pause_styles

* fixing warnings

* fixed all warnings

* bss

* rename bss fields

* make static from bss

* renaming global vars

* finish

* small fix

* PR suggestions
This commit is contained in:
Unnunu 2022-02-08 21:24:51 +03:00 committed by GitHub
parent 348d12c4e3
commit 650d52d16a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
96 changed files with 6117 additions and 11737 deletions

View File

@ -2093,35 +2093,29 @@ typedef struct PauseMapSpace {
/* 0x00 */ Vec2s pos;
/* 0x04 */ u8 parent;
/* 0x05 */ u8 pathLength;
/* 0x06 */ s16 unk_06; // always 0
/* 0x08 */ Vec2b* path;
/* 0x0C */ s32 afterRequirement;
/* 0x10 */ s32 id;
} PauseMapSpace; // size = 0x14
typedef struct MenuPanel {
/* 0x00 */ union {
/* */ s32 s;
/* */ struct {
/* 0x00 */ u8 initialized;
/* 0x01 */ s8 col;
/* 0x02 */ s8 row;
/* 0x03 */ u8 selected; // usually set to the current value from gridData
/* */ } c;
/* */ } unk_00;
/* 0x00 */ u8 initialized;
/* 0x01 */ s8 col;
/* 0x02 */ s8 row;
/* 0x03 */ u8 selected; // usually set to the current value from gridData
/* 0x04 */ s8 page; // filemenu: 0 = select, 1 = delete, 3 = copy from, 4 = copy to, all else = save
/* 0x05 */ s8 numCols;
/* 0x06 */ s8 numRows;
/* 0x07 */ s8 numPages; // unsure
/* 0x08 */ u8* gridData; // user value at each 3D grid point (page, row, col)
/* 0x0C */ UNK_FUN_PTR(fpInit);
/* 0x10 */ UNK_FUN_PTR(fpHandleInput);
/* 0x14 */ UNK_FUN_PTR(fpUpdate);
/* 0x18 */ void(*fpCleanup)(struct MenuPanel*);
/* 0x0C */ void (*fpInit)(struct MenuPanel*);
/* 0x10 */ void (*fpHandleInput)(struct MenuPanel*);
/* 0x14 */ void (*fpUpdate)(struct MenuPanel*);
/* 0x18 */ void (*fpCleanup)(struct MenuPanel*);
} MenuPanel; // size = 0x1C
typedef struct WindowBackground {
/* 0x00 */ s32* imgData;
/* 0x00 */ u8* imgData;
/* 0x04 */ s8 packedTileFormat; // upper = fmt, lower = depth; e.g., 31 = CI-8
/* 0x05 */ s8 width;
/* 0x06 */ s8 height;
@ -2130,7 +2124,7 @@ typedef struct WindowBackground {
} WindowBackground; // size = 0xC
typedef struct WindowCorners {
/* 0x00 */ s32* imgData;
/* 0x00 */ u8* imgData;
/* 0x04 */ s8 packedTileFormat; // upper = fmt, lower = depth; e.g., 31 = CI-8
/* 0x05 */ Vec2b size1;
/* 0x07 */ Vec2b size2;
@ -2143,34 +2137,40 @@ typedef struct WindowStyleCustom {
/* 0x00 */ WindowBackground background;
/* 0x0C */ WindowCorners corners;
/* 0x1C */ char unk_1C[0x4];
/* 0x20 */ s32 opaqueCombineMode[2]; // used when alpha == 255
/* 0x28 */ s32 transparentCombineMode[2]; // used when alpha < 255
/* 0x20 */ Gfx opaqueCombineMode; // used when alpha == 255
/* 0x28 */ Gfx transparentCombineMode; // used when alpha < 255
/* 0x30 */ s8 color1[4];
/* 0x34 */ s8 color2[4];
} WindowStyleCustom; // size = 0x38;
typedef union {
int i;
void (*func)(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, s32* scaleX, s32* scaleY,
f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity);
} WindowUpdateFunc __attribute__((transparent_union));
typedef struct MenuWindowBP {
/* 0x00 */ s8 windowID;
/* 0x01 */ char unk_01;
/* 0x02 */ Vec2s pos;
/* 0x06 */ s16 height;
/* 0x08 */ s16 width; // switch? ^
/* 0x06 */ s16 width;
/* 0x08 */ s16 height;
/* 0x0A */ char unk_0A[2];
/* 0x0C */ UNK_FUN_PTR(fpDrawContents);
/* 0x0C */ void (*fpDrawContents)(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening);
/* 0x10 */ MenuPanel* tab;
/* 0x14 */ s32 parentID;
/* 0x18 */ UNK_FUN_PTR(fpUpdate);
/* 0x1C */ f32 unk_1C;
/* 0x14 */ s8 parentID;
/* 0x18 */ WindowUpdateFunc fpUpdate;
/* 0x1C */ s32 unk_1C;
/* 0x20 */ WindowStyleCustom* style;
} MenuWindowBP; // size = 0x24;
typedef struct {
/* 0x00 */ u8 flags;
/* 0x01 */ s8 panelID; // ?
/* 0x02 */ s8 unk_02; // related to heirarchy somehow - sibling? group?
/* 0x02 */ u8 unk_02; // related to heirarchy somehow - sibling? group?
/* 0x03 */ s8 parent; // ?
/* 0x04 */ UNK_FUN_PTR(fpUpdate);
/* 0x08 */ UNK_FUN_PTR(fpPending);
/* 0x04 */ WindowUpdateFunc fpUpdate;
/* 0x08 */ WindowUpdateFunc fpPending;
/* 0x0C */ Vec2s pos;
/* 0x10 */ s16 width;
/* 0x12 */ s16 height;

View File

@ -230,6 +230,7 @@ enum StoryProgress {
STORY_CH8_REACHED_BOWSERS_CASTLE = 94,
STORY_CH8_REACHED_PEACHS_CASTLE = 95,
STORY_EPILOGUE = 96,
STORY_61 = 97,
};
enum EncounterTriggers {
@ -488,6 +489,7 @@ enum SoundIDs {
SOUND_0 = 0x00000000,
SOUND_MENU_BADGE_EQUIP = 0x00000005,
SOUND_MENU_BADGE_UNEQUIP = 0x00000006,
SOUND_MENU_START_TUTORIAL = 0x00000009,
SOUND_D = 0x0000000D,
SOUND_E = 0x0000000E,
SOUND_43 = 0x00000043,
@ -540,7 +542,7 @@ enum SoundIDs {
SOUND_METAL_GATE_CLOSE = 0x000001CA,
SOUND_1CB = 0x000001CB,
SOUND_1CC = 0x000001CC,
SOUND_MENU_BADGE_ERROR = 0x0000021D,
SOUND_MENU_ERROR = 0x0000021D,
SOUND_231 = 0x00000231,
SOUND_246 = 0x00000246,
SOUND_259 = 0x00000259,
@ -1405,10 +1407,10 @@ enum Locations {
LOCATION_MT_LAVALAVA = 0x00000012,
LOCATION_CRYSTAL_PALACE = 0x00000015,
LOCATION_BOWSERS_CASTLE = 0x00000016,
LOCATION_PEACHS_CASTLE = 0x0000001A,
LOCATION_TESTING = 0x00000017,
LOCATION_NONE = 0x00000018,
LOCATION_PEACH_CASTLE_GROUNDS = 0x00000019,
LOCATION_PEACHS_CASTLE = 0x0000001A,
LOCATION_SHOOTING_STAR_SUMMIT = 0x0000001B,
LOCATION_STAR_WAY = 0x0000001C,
LOCATION_STAR_HAVEN = 0x0000001D,
@ -3209,4 +3211,72 @@ enum DictionaryIndex {
DICTIONARY_SIZE,
};
enum WindowId {
WINDOW_ID_NONE = -1,
WINDOW_ID_0 = 0,
WINDOW_ID_1 = 1,
WINDOW_ID_2 = 2,
WINDOW_ID_3 = 3,
WINDOW_ID_4 = 4,
WINDOW_ID_5 = 5,
WINDOW_ID_6 = 6,
WINDOW_ID_7 = 7,
WINDOW_ID_8 = 8,
WINDOW_ID_9 = 9,
WINDOW_ID_10 = 10,
WINDOW_ID_11 = 11,
WINDOW_ID_12 = 12,
WINDOW_ID_13 = 13,
WINDOW_ID_14 = 14,
WINDOW_ID_15 = 15,
WINDOW_ID_16 = 16,
WINDOW_ID_17 = 17,
WINDOW_ID_18 = 18,
WINDOW_ID_19 = 19,
WINDOW_ID_20 = 20,
WINDOW_ID_21 = 21,
WINDOW_ID_PAUSE_MAIN = 22,
WINDOW_ID_PAUSE_DECRIPTION = 23,
WINDOW_ID_PAUSE_TUTORIAL = 24,
WINDOW_ID_PAUSE_TAB_STATS = 25,
WINDOW_ID_PAUSE_TAB_BADGES = 26,
WINDOW_ID_PAUSE_TAB_ITEMS = 27,
WINDOW_ID_PAUSE_TAB_PARTY = 28,
WINDOW_ID_PAUSE_TAB_SPIRITS = 29,
WINDOW_ID_PAUSE_TAB_MAP = 30,
WINDOW_ID_PAUSE_STATS = 31,
WINDOW_ID_PAUSE_BADGES = 32,
WINDOW_ID_PAUSE_ITEMS = 33,
WINDOW_ID_PAUSE_PARTNERS = 34,
WINDOW_ID_PAUSE_PARTNERS_TITLE = 35,
WINDOW_ID_PAUSE_PARTNERS_MOVELIST = 36,
WINDOW_ID_PAUSE_PARTNERS_MOVELIST_TITLE = 37,
WINDOW_ID_PAUSE_PARTNERS_MOVELIST_FLOWER = 38,
WINDOW_ID_PAUSE_SPIRITS = 39,
WINDOW_ID_PAUSE_SPIRITS_TITLE = 40,
WINDOW_ID_PAUSE_MAP = 41,
WINDOW_ID_PAUSE_MAP_TITLE = 42,
WINDOW_ID_PAUSE_TAB_INVIS = 43,
WINDOW_ID_PAUSE_CURSOR = 44,
WINDOW_ID_45 = 45,
WINDOW_ID_46 = 46,
WINDOW_ID_47 = 47,
WINDOW_ID_48 = 48,
WINDOW_ID_49 = 49,
WINDOW_ID_50 = 50,
WINDOW_ID_51 = 51,
WINDOW_ID_52 = 52,
WINDOW_ID_53 = 53,
WINDOW_ID_54 = 54,
WINDOW_ID_55 = 55,
WINDOW_ID_56 = 56,
WINDOW_ID_57 = 57,
WINDOW_ID_58 = 58,
WINDOW_ID_59 = 59,
WINDOW_ID_60 = 60,
WINDOW_ID_61 = 61,
WINDOW_ID_62 = 62,
WINDOW_ID_63 = 63,
};
#endif

View File

@ -5,8 +5,6 @@
extern MenuPanel* filemenu_menus[4];
void pause_partners_draw_movelist_flower(MenuPanel* menu, s32 posX, s32 posY);
extern BSS s32 filemenu_iterFileIdx;
extern BSS s32 filemenu_pressedButtons;
extern BSS s32 filemenu_8024C088;

View File

@ -74,6 +74,17 @@ void setup_pause_menu_tab(MenuWindowBP* bpArray, s32 arraySize);
s32 draw_ci_image_with_clipping(s32* raster, s32 width, s32 height, s32 fmt, s32 bitDepth, s32* palette, s16 posX,
s16 posY, u16 clipULx, u16 clipULy, u16 clipLRx, u16 clipRLy, u8 opacity);
void update_window_hierarchy(s32 windowIndex, s32 arg1);
void get_msg_properties(s32 msgID, s32* height, s32* width, s32* maxLineChars, s32* numLines,
s32* maxLinesPerPage, s32* arg6, s32 charset);
void replace_window_update(s32 idx, s8 arg1, WindowUpdateFunc pendingFunc);
void decode_yay0(void* src, void* dst);
//pause
void pause_init(void);
void pause_handle_input(s32 buttonsPressed, s32 buttonsHeld);
void pause_cleanup(void);
// file menu stuff
void filemenu_set_cursor_goal_pos(s32 windowIndex, s32 posX, s32 posY);
s8* filemenu_get_menu_message(s32 idx);
@ -160,8 +171,8 @@ s32 player_test_lateral_overlap(s32, PlayerStatus*, f32*, f32*, f32*, f32, f32);
Npc* peach_make_disguise_npc(s32 peachDisguise);
void peach_set_disguise_anim(s32);
void draw_box(s32 flags, s32 windowStyle, s32 posX, s32 posY, s32 posZ, s32 width, s32 height, u8 opacity,
s32 darkening, f32 scaleX, f32 scaleY, f32 rotX, f32 rotY, f32 rotZ, void (*fpDrawContents)(s32),
void draw_box(s32 flags, WindowStyleCustom* windowStyle, s32 posX, s32 posY, s32 posZ, s32 width, s32 height, u8 opacity,
u8 darkening, f32 scaleX, f32 scaleY, f32 rotX, f32 rotY, f32 rotZ, void (*fpDrawContents)(s32),
void* drawContentsArg0, Matrix4f rotScaleMtx, s32 translateX, s32 translateY, Matrix4f* outMtx);
s32 get_msg_width(s32 msgID, u16 charset);
@ -346,13 +357,6 @@ s32 create_shadow_type(s32 type, f32 x, f32 y, f32 z);
s32 is_point_within_region(s32 shape, f32 pointX, f32 pointY, f32 centerX, f32 centerY, f32 sizeX, f32 sizeZ);
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);
void pause_sort_item_list(s16* arr, s32 len, s32 (*compare)(s16*, s16 *));
s32 npc_raycast_down_around(s32, f32*, f32*, f32*, f32*, f32, f32);
s32 npc_raycast_down_sides(s32, f32*, f32*, f32*, f32*);
s32 player_raycast_below_cam_relative(PlayerStatus*, f32*, f32*, f32*, f32*, f32*, f32*, f32*, f32*);
@ -452,8 +456,10 @@ void bgm_push_battle_song(void);
void func_801497FC(s32 arg0);
s32 func_8014AA54(s32 playerIndex, s32 arg1, s16 arg2);
s32 basic_window_update(void);
s32 basic_hidden_window_update(void);
void basic_window_update(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, s32* scaleX, s32* scaleY,
f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity);
void basic_hidden_window_update(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, s32* scaleX, s32* scaleY,
f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity);
void player_create_target_list(Actor* actor);
void enemy_create_target_list(Actor* actor);
@ -677,8 +683,7 @@ void func_800EF300(void);
void enable_player_shadow(void);
s32 get_msg_lines(s32 messageID);
void set_window_properties(s32 panelID, s32 posX, s32 posY, s32 width, s32 height, s32, void* drawContents, PopupMessage* popup, s32 parent);
void set_window_update(s32 panelID, s32);
void set_window_update(s32 panelID, WindowUpdateFunc);
void snd_stop_sound(s32 soundID);
void snd_start_sound_with_shift(s32 soundID, u8 volume, u8 pan, s16 pitchShift);
void snd_adjust_sound_with_shift(s32 soundID, u8 volume, u8 pan, s16 pitchShift);

View File

@ -36,8 +36,13 @@
#define PANIC() while (TRUE) {}
#endif
#define BADGE_MENU_PAGE(index) (&gBadgeMenuPages[index])
#define ITEM_MENU_PAGE(index) (&gItemMenuPages[index])
#define BADGE_MENU_PAGE(index) (&gPauseBadgesPages[index])
#define ITEM_MENU_PAGE(index) (&gPauseItemsPages[index])
#define MENU_PANEL_SELECTED_GRID_DATA(panel) \
(panel)->gridData[(panel)->page * (panel)->numCols * (panel)->numRows + \
(panel)->numCols * (panel)->row + \
(panel)->col]
#define MAX_MAPVARS 16
#define MAX_MAPFLAGS 3

View File

@ -157,79 +157,6 @@ extern Window gWindows[64];
extern s32 D_802A3838;
// Pause
extern s32 gPauseMenuHeldButtons;
extern s32 gPauseMenuPressedButtons;
extern s32 gPauseMenuCurrentDescMsg;
extern s32* gPauseMenuCurrentDescIconScript;
extern s32 D_802700D0;
extern s8 gPauseMenuCurrentTab;
extern char D_802700D[8];
extern s32 D_802700E0;
extern s32 gPauseMenuCommonIconIDs[8];
extern s32 gPauseMenuTabIconIDs[6];
extern s32 gPauseMenuMsgs[348];
extern s32 gPauseMenuIconScripts[8];
extern MenuPanel gPauseMenuPanels[7];
extern s32 gPauseMenuCursorPosX;
extern s32 gPauseMenuCursorPosY;
extern s32 gPauseMenuCursorOpacity;
extern s32 gPauseMenuTargetPosX;
extern s32 gPauseMenuTargetPosY;
extern s32 gPauseMenuCursorTargetOpacity;
extern u8 gPauseMenuTextScrollInterpEasingLUT[16];
extern u8 gPauseMenuPageScrollInterpEasingLUT[16];
extern s32 D_80270700[1];
extern f32 pause_map_cameraX;
extern f32 pause_map_cameraY;
extern s32 pause_map_marioX;
extern s32 pause_map_marioY;
extern f32 pause_map_targetX;
extern f32 pause_map_targetY;
extern s32 pause_map_cursorCurrentOption;
extern s32 pause_map_cursorCurrentOptionCopy;
extern s32 pause_map_spacesInSnapRange;
extern PauseMapSpace pause_map_spaces[34];
extern MenuWindowBP pause_map_windowBlueprints[7];
// Badges
extern s32 gBadgeMenuCurrentScrollPos;
extern s32 gBadgeMenuTargetScrollPos;
extern s16 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;
extern s32 D_80270394;
extern s32 gBadgeMenuLevel;
extern s32 gBadgeMenuCurrentTab;
extern s32 gBadgeMenuBShowNotEnoughBP;
extern s32 D_802703A4;
extern s32 gBadgeMenuIconIDs[22];
extern MenuWindowBP gBadgeMenuWindowBPs[1];
// Items
extern s16 gItemMenuItemIDs[100];
extern s32 gItemMenuCurrentPage;
extern PauseItemPage gItemMenuPages[20];
extern s32 gItemMenuSelectedIndex;
extern s32 gItemMenuSelectedItemID;
extern s16 gItemMenuNumItems;
extern s32 D_802705D0;
extern s32 gItemMenuCurrentScrollPos;
extern s32 gItemMenuTargetScrollPos;
extern s32 D_802705DC;
extern s32 gItemMenuLevel;
extern s32 gItemMenuCurrentTab;
extern s32 gItemMenuScrollUpIcon;
// Stats
extern s32 gStatsMenuIconIDs[12];
extern s32 gGameState;
extern s16 gNpcCount;
extern s32 gOverrideFlags;

View File

@ -70,10 +70,10 @@ BSS s32 filemenu_8024C100[8];
INCLUDE_ASM(s32, "163400", mainmenu_draw_rect);
void filemenu_set_selected(MenuPanel* menu, s32 col, s32 row) {
menu->unk_00.c.col = col;
menu->unk_00.c.row = row;
menu->unk_00.c.selected = menu->gridData[(menu->page * menu->numCols * menu->numRows) +
(menu->numCols * menu->unk_00.c.row) + menu->unk_00.c.col];
menu->col = col;
menu->row = row;
menu->selected = menu->gridData[(menu->page * menu->numCols * menu->numRows) +
(menu->numCols * menu->row) + menu->col];
}
void filemenu_set_cursor_alpha(s32 arg0) {
@ -560,7 +560,7 @@ void filemenu_cleanup(void) {
panelIt = filemenu_menus;
for (i = 0; i < ARRAY_COUNT(filemenu_menus); i++) {
if ((*panelIt)->unk_00.c.initialized) {
if ((*panelIt)->initialized) {
if ((*panelIt)->fpCleanup != NULL) {
(*panelIt)->fpCleanup(*panelIt);
}

View File

@ -87,7 +87,7 @@ void filemenu_draw_contents_option_left(
s32 opacity, s32 darkening
) {
if (menu->page != 2) {
if ((menu->unk_00.s & 0x00FFFF00) == 0x200) {
if (menu->col == 0 && menu->row == 2) {
filemenu_set_cursor_goal_pos(53, baseX, baseY + 8);
}
filemenu_draw_message(filemenu_get_menu_message(9), baseX + 8, baseY + 2, 255, 0, 1);
@ -112,7 +112,7 @@ void filemenu_draw_contents_option_center(
msgIdx = 10;
xOffset = 18;
yOffset = 0;
if ((menu->unk_00.s & 0xFFFF00) == 0x010200) {
if (menu->col == 1 && menu->row == 2) {
filemenu_set_cursor_goal_pos(54, baseX + 8, baseY + 8);
}
break;
@ -120,7 +120,7 @@ void filemenu_draw_contents_option_center(
msgIdx = 11;
xOffset = 14;
yOffset = 0;
if ((menu->unk_00.s & 0xFFFF00) == 0x010200) {
if (menu->col == 1 && menu->row == 2) {
filemenu_set_cursor_goal_pos(54, baseX + 4, baseY + 8);
}
break;
@ -136,7 +136,7 @@ void filemenu_draw_contents_option_right(
s32 opacity, s32 darkening
) {
if (menu->page != 2) {
if ((menu->unk_00.s & 0xFFFF00) == 0x020200) {
if (menu->col == 2 && menu->row == 2) {
filemenu_set_cursor_goal_pos(55, baseX + 8, baseY + 8);
}
filemenu_draw_message(filemenu_get_menu_message(10), baseX + 20, baseY + 2, 255, 0, 1);
@ -153,7 +153,7 @@ void filemenu_draw_contents_file_title(
s32 width, s32 height,
s32 opacity, s32 darkening)
{
if (D_8024C098 == 0 && menu->unk_00.c.selected == fileIdx) {
if (D_8024C098 == 0 && menu->selected == fileIdx) {
filemenu_set_cursor_goal_pos(fileIdx + 60, baseX - 3, baseY + 8);
}
@ -256,9 +256,9 @@ void filemenu_main_init(MenuPanel* menu) {
}
setup_pause_menu_tab(D_80249EA0, ARRAY_COUNT(D_80249EA0));
menu->unk_00.c.selected = menu->gridData[(menu->page * menu->numCols * menu->numRows) +
(menu->numCols * menu->unk_00.c.row) +
menu->unk_00.c.col];
menu->selected = menu->gridData[(menu->page * menu->numCols * menu->numRows) +
(menu->numCols * menu->row) +
menu->col];
if (menu->page == 2) {
gWindows[45].pos.y = 1;
@ -294,7 +294,7 @@ void filemenu_main_init(MenuPanel* menu) {
set_window_update(0x33, 2);
set_window_update(0x34, 2);
}
menu->unk_00.c.initialized = 1;
menu->initialized = 1;
}
static const f32 padding[] = { 0.0f }; // TODO remove when the following func is matched

View File

@ -15,7 +15,7 @@ void filemenu_yesno_init(MenuPanel* tab) {
}
setup_pause_menu_tab(D_8024A0CC, ARRAY_COUNT(D_8024A0CC));
tab->unk_00.c.initialized = TRUE;
tab->initialized = TRUE;
}
INCLUDE_ASM(s32, "167570", filemenu_yesno_handle_input);

View File

@ -13,11 +13,11 @@ extern s32 D_8024C100_C09980[3];
extern s32 D_8024C110;
void filemenu_update_show_options_left(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, s32* scaleX,
s32* scaleY, s32* rotX, s32* rotY, s32* rotZ, s32* darkening, s32* opacity);
s32* scaleY, f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity);
void filemenu_update_show_options_right(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, s32* scaleX,
s32* scaleY, s32* rotX, s32* rotY, s32* rotZ, s32* darkening, s32* opacity);
s32* scaleY, f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity);
void filemenu_update_show_options_bottom(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, s32* scaleX,
s32* scaleY, s32* rotX, s32* rotY, s32* rotZ, s32* darkening, s32* opacity);
s32* scaleY, f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity);
void filemenu_info_draw_message_contents(MenuPanel* menu, s32 baseX, s32 baseY) {
s8 page = menu->page;
@ -25,7 +25,7 @@ void filemenu_info_draw_message_contents(MenuPanel* menu, s32 baseX, s32 baseY)
switch (page) {
case 0:
filemenu_draw_message(filemenu_get_menu_message(0x1A), baseX + 10, baseY + 4, 255, 0, 0);
draw_number(filemenu_menus[0]->unk_00.c.selected + 1, baseX + 48, baseY + 6, 0, 0, 255, 3);
draw_number(filemenu_menus[0]->selected + 1, baseX + 48, baseY + 6, 0, 0, 255, 3);
filemenu_draw_message(filemenu_get_menu_message(0x1B), baseX + 49, baseY + 4, 255, 0, 0);
break;
case 2:
@ -42,7 +42,7 @@ void filemenu_info_draw_message_contents(MenuPanel* menu, s32 baseX, s32 baseY)
break;
case 3:
filemenu_draw_message(filemenu_get_menu_message(0x1A), baseX + 10, baseY + 4, 255, 0, 0);
draw_number(filemenu_menus[0]->unk_00.c.selected + 1, baseX + 48, baseY + 6, 0, 0, 255, page);
draw_number(filemenu_menus[0]->selected + 1, baseX + 48, baseY + 6, 0, 0, 255, page);
filemenu_draw_message(filemenu_get_menu_message(0x1F), baseX + 49, baseY + 4, 255, 0, 0);
break;
}

View File

@ -461,7 +461,7 @@ s32 popup_menu_update(void) {
}
if (D_8010D64C != D_8010D648) {
sfx_play_sound(0xC7);
sfx_play_sound(SOUND_MENU_CHANGE_SELECTION);
}
for (i = 0; i < 4; i++) {
@ -515,12 +515,12 @@ s32 popup_menu_update(void) {
break;
}
if (gPopupMenu->popupType == 1) {
sfx_play_sound(SOUND_MENU_BADGE_ERROR);
sfx_play_sound(SOUND_MENU_ERROR);
D_8010D640 = 0x1E;
break;
}
if ((D_8010D68E != 0) && (gPopupMenu->popupType == 0 || gPopupMenu->popupType == 3)) {
sfx_play_sound(SOUND_MENU_BADGE_ERROR);
sfx_play_sound(SOUND_MENU_ERROR);
}
break;
}

View File

@ -55,7 +55,7 @@ INCLUDE_ASM(s32, "ddaf0_len_c50", set_window_properties);
INCLUDE_ASM(s32, "ddaf0_len_c50", update_window_hierarchy);
void replace_window_update(s32 idx, s8 arg1, s32 pendingFunc) {
void replace_window_update(s32 idx, s8 arg1, WindowUpdateFunc pendingFunc) {
if (gWindows[idx].flags & 1) {
gWindows[idx].flags |= 0xA;
gWindows[idx].fpPending = pendingFunc;
@ -63,9 +63,9 @@ void replace_window_update(s32 idx, s8 arg1, s32 pendingFunc) {
}
}
void set_window_update(s32 panelIndex, s32 func) {
void set_window_update(s32 panelIndex, WindowUpdateFunc func) {
if (gWindows[panelIndex].flags & 1) {
if (func == gWindows[panelIndex].fpUpdate) {
if (func.i == gWindows[panelIndex].fpUpdate.i) {
gWindows[panelIndex].flags &= ~0x2;
} else {
gWindows[panelIndex].flags |= 0xA;

View File

@ -71,6 +71,11 @@ typedef union {
u32 as_word;
} HudFlags;
typedef struct HudScriptPair {
/* 0x00 */ HudScript* enabled;
/* 0x04 */ HudScript* disabled;
} HudScriptPair; // size = 0x08
typedef struct HudTransform {
/* 0x00 */ s32 unk_00;
/* 0x04 */ Vec3f position;
@ -116,9 +121,6 @@ extern HudScript HudScript_AnimatedHandPointer[];
extern HudScript HudScript_StatusCoin[];
extern HudScript HudScript_Refund[];
extern HudScript HudScript_MenuTimes[];
extern HudScript* D_8024FA30[1];
extern HudScript* gBadgeMenuElements[22];
extern HudElement* gItemIcons[20];
#define he_End HUD_ELEMENT_OP_End
#define he_SetRGBA(arg0, image) HUD_ELEMENT_OP_SetRGBA, arg0, (s32)image

View File

@ -1,301 +0,0 @@
#include "common.h"
#include "hud_element.h"
BSS s32 gPauseMenuHeldButtons;
BSS s32 gPauseMenuPressedButtons;
BSS s32 gPauseMenuCurrentDescMsg;
BSS s32* gPauseMenuCurrentDescIconScript;
BSS s32 D_802700D0;
BSS s8 gPauseMenuCurrentTab;
BSS char D_802700D[8];
BSS s32 D_802700E0;
#define BSS_END 0x802700E4
// TODO this is the bss for the whole segment - break it up
static char bss[0x80278640 - BSS_END];
// Need data segment and vars declared above
#ifdef NON_MATCHING
void pause_set_cursor_opacity(s32 val) {
gPauseMenuCursorTargetOpacity = val;
}
#else
INCLUDE_ASM(s32, "pause/135EE0", pause_set_cursor_opacity);
#endif
// Delay slot issue with D_8024EFB4 (needs .data)
#ifdef NON_MATCHING
extern s32 D_8024EFB4;
void func_80242BAC(s32 windowID, s32 posX, s32 posY) {
Window* window = &gWindows[windowID];
if (D_8024EFB4 != 0
|| get_game_mode() == GAME_MODE_EXIT_FILE_SELECT
|| get_game_mode() == GAME_MODE_EXIT_LANGUAGE_SELECT) {
if (D_8024EFB4 != 0) {
s32 i;
for (i = 0x16; i < 0x2C; i++) {
Window* window = &gWindows[i];
s8 parent = window->parent;
if ((parent == -1 || parent == 0x16) && (window->flags & WINDOW_FLAGS_8)) {
break;
}
}
if (i >= 0x2C) {
D_8024EFB4 = 0;
}
}
gPauseMenuTargetPosX = posX;
gPauseMenuCursorPosX = posX;
gPauseMenuTargetPosY = posY;
gPauseMenuCursorPosY = posY;
} else if ((window->flags & WINDOW_FLAGS_88 == 0 && (window->parent == -1 || !(gWindows[window->parent].flags & 8))) {
gPauseMenuTargetPosX = posX;
gPauseMenuCursorPosX = posX;
gPauseMenuTargetPosY = posY;
gPauseMenuCursorPosY = posY;
}
}
#else
INCLUDE_ASM(s32, "pause/135EE0", func_80242BAC);
#endif
// Delay slot issue with gPauseMenuCursorPosY (needs .data)
#ifdef NON_MATCHING
extern s32 D_8024EFB4;
void func_80242D04(s32 windowID, s32 posX, s32 posY) {
Window* window = &gWindows[windowID];
if (D_8024EFB4 != 0
|| get_game_mode() == GAME_MODE_EXIT_FILE_SELECT
|| get_game_mode() == GAME_MODE_EXIT_LANGUAGE_SELECT) {
if (D_8024EFB4 != 0) {
s32 i;
for (i = 0x16; i < 0x2C; i++) {
Window* window = &gWindows[i];
s8 parent = window->parent;
if ((parent == -1 || parent == 0x16) && (window->flags & WINDOW_FLAGS_8)) {
break;
}
}
if (i >= 0x2C) {
D_8024EFB4 = 0;
}
}
gPauseMenuTargetPosX = posX;
gPauseMenuCursorPosX = posX;
gPauseMenuTargetPosY = posY;
gPauseMenuCursorPosY = posY;
} else if ((window->flags & WINDOW_FLAGS_8) == 0 && (window->parent == -1 || !(gWindows[window->parent].flags & 8))) {
gPauseMenuTargetPosX = posX;
gPauseMenuTargetPosY = posY;
}
}
#else
INCLUDE_ASM(s32, "pause/135EE0", func_80242D04);
#endif
// Delay slot issue with gPauseMenuCursorTargetOpacity (needs .data)
#ifdef NON_MATCHING
void pause_interp_cursor(void) {
s32* posX = &gPauseMenuCursorPosX;
s32* posY = &gPauseMenuCursorPosY;
s32* targetPosX = &gPauseMenuTargetPosX;
s32* targetPosY = &gPauseMenuTargetPosY;
s32 xDelta;
s32 yDelta;
s32* opacity;
xDelta = (*targetPosX - *posX) * 0.5;
yDelta = (*targetPosY - *posY) * 0.5;
if ((*targetPosX != *posX) || (*targetPosY != *posY)) {
if ((xDelta == 0) && (yDelta == 0)) {
*posX = *targetPosX;
*posY = *targetPosY;
}
}
// Macros? something strange
{
s32* posX = &gPauseMenuCursorPosX;
*posX += xDelta;
}
{
s32* posY = &gPauseMenuCursorPosY;
*posY += yDelta;
}
if (gPauseMenuCursorTargetOpacity == 0) {
opacity = &gPauseMenuCursorOpacity;
*opacity -= 128;
if (*opacity < 0) {
*opacity = 0;
}
} else {
opacity = &gPauseMenuCursorOpacity;
*opacity += 32;
if (*opacity > 255) {
*opacity = 255;
}
}
gPauseMenuCursorTargetOpacity = 255;
}
#else
INCLUDE_ASM(s32, "pause/135EE0", pause_interp_cursor);
#endif
INCLUDE_ASM(s32, "pause/135EE0", func_80242F90);
INCLUDE_ASM(s32, "pause/135EE0", func_80242FBC);
INCLUDE_ASM(s32, "pause/135EE0", func_80242FF4);
INCLUDE_ASM(s32, "pause/135EE0", func_80243090);
INCLUDE_ASM(s32, "pause/135EE0", func_802430E4);
INCLUDE_ASM(s32, "pause/135EE0", func_8024313C);
INCLUDE_ASM(s32, "pause/135EE0", func_80243188);
INCLUDE_ASM(s32, "pause/135EE0", func_80243238);
INCLUDE_ASM(s32, "pause/135EE0", func_802432E8);
INCLUDE_ASM(s32, "pause/135EE0", func_80243388);
INCLUDE_ASM(s32, "pause/135EE0", pause_interp_text_scroll);
s32 pause_interp_vertical_scroll(s32 deltaBefore) {
s32 val;
s32 db = abs(deltaBefore);
s32 s = sign(deltaBefore);
if (db >= 16) {
val = db / 2;
if (val > 20) {
val = 20;
}
} else {
val = gPauseMenuPageScrollInterpEasingLUT[db];
}
return val * s;
}
void pause_update_cursor(s32 arg0, s32 offsetX, s32 offsetY) {
s32 opacity;
pause_interp_cursor();
opacity = gPauseMenuCursorOpacity;
if (opacity > 0) {
if (opacity > 255) {
opacity = 255;
}
set_hud_element_alpha(gPauseMenuCommonIconIDs[0], opacity);
set_hud_element_render_pos(gPauseMenuCommonIconIDs[0], offsetX + gPauseMenuCursorPosX, offsetY + gPauseMenuCursorPosY);
draw_hud_element_3(gPauseMenuCommonIconIDs[0]);
}
}
void func_80243568(void) {
}
INCLUDE_ASM(s32, "pause/135EE0", pause_textbox_draw_contents);
INCLUDE_ASM(s32, "pause/135EE0", pause_tutorial_draw_contents);
INCLUDE_ASM(s32, "pause/135EE0", pause_init);
INCLUDE_ASM(s32, "pause/135EE0", pause_tutorial_input);
INCLUDE_ASM(s32, "pause/135EE0", pause_handle_input);
INCLUDE_ASM(s32, "pause/135EE0", pause_cleanup);
s32 pause_get_total_equipped_bp_cost(void) {
s32 totalCost = 0;
s32 i;
for (i = 0; i < ARRAY_COUNT(gPlayerData.equippedBadges); i++) {
s16 itemID = gPlayerData.equippedBadges[i];
if (itemID != ITEM_NONE) {
s32 moveID = gItemTable[itemID].moveID;
totalCost += gMoveTable[moveID].costBP;
}
}
return totalCost;
}
void pause_draw_rect(s32 ulx, s32 uly, s32 lrx, s32 lry, s32 tileDescriptor, s32 uls, s32 ult, s32 dsdx, s32 dtdy) {
if (ulx <= -2688 || uly <= -2688 || lrx <= 0 || lry <= 0) {
return;
}
if (ulx >= 1280 || uly >= 960 || lrx >= 2688 || lry >= 2688) {
return;
}
gSPScisTextureRectangle(gMasterGfxPos++, ulx, uly, lrx, lry, tileDescriptor, uls, ult, dsdx, dtdy);
}
void pause_sort_item_list(s16* arr, s32 len, s32 (*compare)(s16*, s16 *)) {
if (len < 2) {
// Trivially sorted
return;
} else if (len == 2) {
// Trivial 2-element sort
if (compare(&arr[0], &arr[1]) > 0) {
s16 temp = arr[0];
arr[0] = arr[1];
arr[1] = temp;
}
return;
} else {
// Nontrivial sort required, use shell sort
u32 gap = 1;
s16* end;
while (gap < len) {
gap = gap * 2 + 1;
}
end = &arr[len];
while ((gap /= 2) != 0) {
s16* window_end;
for (window_end = &arr[gap]; window_end < end; window_end++) {
s16* cur_elem = window_end - gap;
// This could be written simpler as a while loop, but the compiler figures out that it only needs to do
// the "cur_elem < end" check on the first iteration in that case
if (cur_elem >= arr && cur_elem < end) {
do {
s16* elem_a = cur_elem;
s16* elem_b = cur_elem + gap;
if (compare(elem_a, elem_b) > 0) {
s16 temp = *elem_a;
*elem_a = *elem_b;
*elem_b = temp;
cur_elem -= gap;
} else {
break;
}
} while (cur_elem >= arr && cur_elem < end);
}
}
}
}
}

View File

@ -1,32 +0,0 @@
#include "common.h"
#include "hud_element.h"
void pause_tabs_draw_invis(void) {
}
INCLUDE_ASM(s32, "pause/137ED0", pause_tabs_draw_stats);
INCLUDE_ASM(s32, "pause/137ED0", pause_tabs_draw_badges);
INCLUDE_ASM(s32, "pause/137ED0", pause_tabs_draw_items);
INCLUDE_ASM(s32, "pause/137ED0", pause_tabs_draw_party);
INCLUDE_ASM(s32, "pause/137ED0", pause_tabs_draw_spirits);
INCLUDE_ASM(s32, "pause/137ED0", pause_tabs_draw_map);
INCLUDE_ASM(s32, "pause/137ED0", pause_tabs_init);
INCLUDE_ASM(s32, "pause/137ED0", pause_tabs_handle_input);
INCLUDE_ASM(s32, "pause/137ED0", pause_tabs_update);
void pause_tabs_cleanup(void) {
s32* iconIDs = gPauseMenuTabIconIDs;
s32 i;
for (i = 0; i < ARRAY_COUNT(gPauseMenuTabIconIDs); i++) {
free_hud_element(iconIDs[i]);
}
}

View File

@ -1,674 +0,0 @@
#include "common.h"
#include "hud_element.h"
// Probably only used here, but could theoretically be used in the main menu too
typedef struct {
s32 cursorX;
s32 cursorY;
s32 baseMsgID;
} StatsEntryData; // size = 0xC
extern HudScript* gStatsMenuElements[12];
extern MenuWindowBP gStatsMenuWindowBPs[1];
extern StatsEntryData gStatsMenuEntries[11];
// 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);
void pause_stats_init(MenuPanel* panel) {
s32 i;
for (i = 0; i < ARRAY_COUNT(gStatsMenuIconIDs); i++) {
s32 iconID = create_hud_element(gStatsMenuElements[i]);
gStatsMenuIconIDs[i] = iconID;
set_hud_element_flags(iconID, 0x80);
}
for (i = 0; i < ARRAY_COUNT(gStatsMenuWindowBPs); i++) {
gStatsMenuWindowBPs[i].tab = panel;
}
setup_pause_menu_tab(gStatsMenuWindowBPs, ARRAY_COUNT(gStatsMenuWindowBPs));
panel->unk_00.c.initialized = TRUE;
}
void pause_stats_handle_input(MenuPanel* panel) {
s32 initialSelection = panel->unk_00.c.selected;
s16 adjustedBootsLevel;
s16 adjustedHammerLevel;
s32 msgOffset;
if (gPauseMenuHeldButtons & BUTTON_STICK_LEFT) {
while (1) {
panel->unk_00.c.col--;
if (panel->unk_00.c.col < 0) {
panel->unk_00.c.col = 0;
break;
} else if (panel->unk_00.c.selected != panel->gridData[
(panel->page * panel->numCols * panel->numRows)
+ (panel->numCols * panel->unk_00.c.row)
+ (panel->unk_00.c.col)]) {
break;
}
}
}
if (gPauseMenuHeldButtons & BUTTON_STICK_RIGHT) {
while (1) {
panel->unk_00.c.col++;
if (panel->unk_00.c.col >= panel->numCols) {
panel->unk_00.c.col = panel->numCols - 1;
break;
} else if (panel->unk_00.c.selected != panel->gridData[
(panel->page * panel->numCols * panel->numRows)
+ (panel->numCols * panel->unk_00.c.row)
+ (panel->unk_00.c.col)]) {
break;
}
}
}
if (gPauseMenuHeldButtons & BUTTON_STICK_UP) {
while (1) {
panel->unk_00.c.row--;
if (panel->unk_00.c.row < 0) {
panel->unk_00.c.row = 0;
break;
} else if (panel->unk_00.c.selected != panel->gridData[
(panel->page * panel->numCols * panel->numRows)
+ (panel->numCols * panel->unk_00.c.row)
+ (panel->unk_00.c.col)]) {
break;
}
}
}
if (gPauseMenuHeldButtons & BUTTON_STICK_DOWN) {
while (1) {
panel->unk_00.c.row++;
if (panel->unk_00.c.row >= panel->numRows) {
panel->unk_00.c.row = panel->numRows - 1;
break;
} else if (panel->unk_00.c.selected != panel->gridData[
(panel->page * panel->numCols * panel->numRows)
+ (panel->numCols * panel->unk_00.c.row)
+ (panel->unk_00.c.col)]) {
break;
}
}
}
panel->unk_00.c.selected = panel->gridData[
(panel->page * panel->numCols * panel->numRows)
+ (panel->numCols * panel->unk_00.c.row)
+ (panel->unk_00.c.col)];
if (panel->unk_00.c.selected != initialSelection) {
sfx_play_sound(SOUND_MENU_CHANGE_SELECTION);
}
msgOffset = 0;
adjustedBootsLevel = gPlayerData.bootsLevel;
adjustedHammerLevel = gPlayerData.hammerLevel;
adjustedBootsLevel++;
if (adjustedBootsLevel < 0) {
adjustedBootsLevel = 0;
}
if (adjustedBootsLevel > 3) {
adjustedBootsLevel = 3;
}
adjustedHammerLevel++;
if (adjustedHammerLevel < 0) {
adjustedHammerLevel = 0;
}
if (adjustedHammerLevel > 3) {
adjustedHammerLevel = 3;
}
switch (gStatsMenuEntries[panel->unk_00.c.selected].baseMsgID) {
case 0x25:
if (adjustedBootsLevel > 1) {
msgOffset = adjustedBootsLevel - 1;
}
break;
case 0x28:
msgOffset = adjustedHammerLevel;
break;
case 0x2F:
if (evt_get_variable(NULL, EVT_SAVE_FLAG_TUTORIAL_GOT_STAR_PIECE)) {
msgOffset = 1;
}
break;
}
gPauseMenuCurrentDescMsg = pause_get_menu_msg(gStatsMenuEntries[panel->unk_00.c.selected].baseMsgID + msgOffset);
gPauseMenuCurrentDescIconScript = NULL;
if (gPauseMenuPressedButtons & BUTTON_B) {
sfx_play_sound(SOUND_MENU_BACK);
gPauseMenuCurrentTab = 0;
}
}
void pause_stats_cleanup(void) {
s32* iconIDs = gStatsMenuIconIDs;
s32 i;
for (i = 0; i < ARRAY_COUNT(gStatsMenuIconIDs); i++) {
free_hud_element(iconIDs[i]);
}
}
s32 pause_badges_comparator(s16* a, s16* b) {
s16 aVal;
s16 bVal;
if (*a == 0) {
aVal = BADGE_INVALID;
} else {
aVal = gItemTable[*a].badgeSortPriority;
}
if (*b == 0) {
bVal = BADGE_INVALID;
} else {
bVal = gItemTable[*b].badgeSortPriority;
}
if (aVal == bVal) {
return 0;
} else if (aVal < bVal) {
return -1;
} else {
return 1;
}
}
s32 pause_badges_count_all(void) {
PlayerData* playerData = &gPlayerData;
s32 i;
pause_sort_item_list(playerData->badges, ARRAY_COUNT(playerData->badges), pause_badges_comparator);
for (i = 0; i < ARRAY_COUNT(playerData->badges); i++) {
if (playerData->badges[i] == 0) {
break;
}
}
return i;
}
s32 pause_badges_count_equipped(void) {
PlayerData* playerData = &gPlayerData;
s32 i;
pause_sort_item_list(playerData->equippedBadges, ARRAY_COUNT(playerData->equippedBadges), &pause_badges_comparator);
for (i = 0; i < ARRAY_COUNT(playerData->equippedBadges); i++) {
if (playerData->equippedBadges[i] == 0) {
break;
}
}
return i;
}
s32 pause_badges_get_pos_x(s32 page, s32 itemIndex) {
return (itemIndex % BADGE_MENU_PAGE(page)->numCols) * 141;
}
s32 pause_badges_get_pos_y(s32 page, s32 itemIndex) {
return ((page + 1) * 11) + (BADGE_MENU_PAGE(page)->listStart * 16) + ((itemIndex / BADGE_MENU_PAGE(
page)->numCols) * 16);
}
s32 pause_badges_get_column(s32 page, s32 itemIdx) {
return itemIdx % BADGE_MENU_PAGE(page)->numCols;
}
s32 pause_badges_get_row(s32 page, s32 itemIdx) {
return BADGE_MENU_PAGE(page)->listStart + (itemIdx / BADGE_MENU_PAGE(page)->numCols);
}
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;
}
s32 pause_badges_try_remove(s16 badgeID) {
s16 *currentSlot = gPlayerData.equippedBadges;
s16 *slotToRemove = currentSlot;
s32 result = 0;
s32 i;
if (badgeID == BADGE_INVALID) {
return 0;
}
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);
void pause_badges_load_badges(s32 onlyEquipped) {
PlayerData* playerData = &gPlayerData;
s32 numItems = 0;
PauseItemPage* page;
s32 i;
D_80270388 = 0;
if (!onlyEquipped) {
for (i = 0; i < ARRAY_COUNT(playerData->badges); i++) {
s16 badgeItemID = playerData->badges[i];
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->unk_00.c.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->unk_00.c.initialized = TRUE;
}
void pause_badges_handle_input(MenuPanel* panel) {
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;
PauseItemPage* currentMenuPage = &menuPages[gBadgeMenuCurrentPage];
s32 temp = (gBadgeMenuSelectedIndex / currentMenuPage->numCols) - currentMenuPage->listStart;
s32* currentScrollPos;
if ((temp < 2) || currentMenuPage->numRows < 9) {
D_80270394 = 0;
} else if (temp >= currentMenuPage->numRows - 2) {
D_80270394 = currentMenuPage->numRows - 8;
} else {
s32* unkSym = &D_80270394;
if (temp - *unkSym >= 7) {
*unkSym = temp - 6;
} else if (temp - *unkSym <= 0) {
*unkSym = temp - 1;
}
}
currentScrollPos = &gBadgeMenuCurrentScrollPos;
gBadgeMenuTargetScrollPos = pause_badges_get_pos_y(gBadgeMenuCurrentPage, D_80270394 * currentMenuPage->numCols);
*currentScrollPos += pause_interp_vertical_scroll(gBadgeMenuTargetScrollPos - *currentScrollPos);
}
void pause_badges_cleanup(void) {
s32 i;
for (i = 0; i < ARRAY_COUNT(gBadgeMenuIconIDs); i++) {
free_hud_element(gBadgeMenuIconIDs[i]);
}
}

View File

@ -1,29 +0,0 @@
#include "common.h"
#include "hud_element.h"
extern s32 D_80270640[];
INCLUDE_ASM(s32, "pause/13E120", pause_partners_load_portrait);
INCLUDE_ASM(s32, "pause/13E120", pause_partners_draw_contents);
INCLUDE_ASM(s32, "pause/13E120", pause_partners_draw_title);
INCLUDE_ASM(s32, "pause/13E120", pause_partners_draw_movelist);
void pause_partners_draw_movelist_title(void* menuTab, s32 x, s32 y) {
draw_msg(pause_get_menu_msg(0x55), x + 12, y + 1, 0xFF, -1, 1);
}
void pause_partners_draw_movelist_flower(void* menuTab, s32 x, s32 y) {
set_hud_element_render_pos(D_80270640[1], x + 17, y + 16);
draw_hud_element_3(D_80270640[1]);
}
INCLUDE_ASM(s32, "pause/13E120", pause_partners_init);
INCLUDE_ASM(s32, "pause/13E120", pause_partners_handle_input);
INCLUDE_ASM(s32, "pause/13E120", pause_partners_update);
INCLUDE_ASM(s32, "pause/13E120", pause_partners_cleanup);

View File

@ -1,13 +0,0 @@
#include "common.h"
INCLUDE_ASM(s32, "pause/13FD40", pause_spirits_draw_contents);
INCLUDE_ASM(s32, "pause/13FD40", pause_spirits_draw_title);
INCLUDE_ASM(s32, "pause/13FD40", pause_spirits_init);
INCLUDE_ASM(s32, "pause/13FD40", pause_spirits_handle_input);
INCLUDE_ASM(s32, "pause/13FD40", pause_spirits_update);
INCLUDE_ASM(s32, "pause/13FD40", pause_spirits_cleanup);

View File

@ -1,35 +0,0 @@
#include "common.h"
extern s32 D_8026F8D4[];
// Needs .data section
#ifdef NON_MATCHING
s32 pause_get_menu_msg(s32 index) {
return gPauseMenuMsgs[index];
}
#else
INCLUDE_ASM(s32, "pause/1421C0", pause_get_menu_msg);
#endif
void pause_draw_menu_label(s32 index, s32 x, s32 y) {
s32 xOffset = 64;
if (index == 8) {
xOffset = 128;
}
if (index == 3) {
xOffset = 48;
}
if (index == 4) {
xOffset = 48;
}
if (index == 5) {
xOffset = 48;
}
if (index == 6) {
xOffset = 160;
}
gSPDisplayList(gMasterGfxPos++, D_8026F8D4[index]);
pause_draw_rect(x * 4, y * 4, (x + xOffset) * 4, (y + 16) * 4, 0, 0, 0, 0x400, 0x400);
}

994
src/pause/pause_badges.c Normal file
View File

@ -0,0 +1,994 @@
#include "pause_common.h"
extern Gfx gPauseDLOrbs[];
void pause_badges_draw_contents(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening);
void pause_badges_init(MenuPanel* panel);
void pause_badges_handle_input(MenuPanel* panel);
void pause_badges_update(MenuPanel* panel);
void pause_badges_cleanup(MenuPanel* panel);
static s16 gPauseBadgesItemIds[128];
static s32 gPauseBadgesCurrentPage;
static s32 D_80270284;
static PauseItemPage gPauseBadgesPages[20];
static s32 gPauseBadgesSelectedIndex;
static s32 D_8027037C;
static s32 gPauseBadgesSelectedItem;
static s16 gPauseBadgesNumItems;
static s32 D_80270388;
static s32 gPauseBadgesCurrentScrollPos;
static s32 gPauseBadgesTargetScrollPos;
static s32 gPauseBadgesTargetScrollIndex;
static s32 gPauseBadgesLevel;
static s32 gPauseBadgesCurrentTab;
static s32 gPauseBadgesShowNotEnoughBP;
static s32 D_802703A4;
static s32 gPauseBadgesIconIDs[22];
// 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 gPauseBadgesItemIds
#define BADGE_INVALID 0x7FFF
HudScript* gPauseBadgesElements[] = {
HudScript_StatBp, HudScript_StatBp, HudScript_StatBp, HudScript_StatBp,
HudScript_StatBp, HudScript_StatBp, HudScript_StatBp, HudScript_StatBp,
HudScript_StatBp, HudScript_StatBp, HudScript_StatBp, HudScript_StatBp,
HudScript_StatBp, HudScript_StatBp, HudScript_StatBp, HudScript_StatBp,
HudScript_StatBp, HudScript_ListPrevPage, HudScript_ListNextPage,
HudScript_Dash, HudScript_LabelBpNeeded, HudScript_StatusStar1
};
MenuWindowBP gPauseBadgesWindowBPs[] = {
{
.windowID = WINDOW_ID_PAUSE_BADGES,
.unk_01 = 0,
.pos = { .x = 3, .y = 16 },
.width = 289,
.height = 154,
.unk_0A = { 1, 0},
.fpDrawContents = &pause_badges_draw_contents,
.tab = NULL,
.parentID = WINDOW_ID_PAUSE_MAIN,
.fpUpdate = { 2 },
.unk_1C = 0,
.style = &gPauseWS_16
}
};
MenuPanel gPausePanelBadges = {
.initialized = FALSE,
.col = 0,
.row = 0,
.selected = 0,
.page = 0,
.numCols = 0,
.numRows = 0,
.numPages = 0,
.gridData = NULL,
.fpInit = &pause_badges_init,
.fpHandleInput = &pause_badges_handle_input,
.fpUpdate = &pause_badges_update,
.fpCleanup = &pause_badges_cleanup
};
s32 pause_badges_comparator(s16* a, s16* b) {
s16 aVal;
s16 bVal;
if (*a == 0) {
aVal = BADGE_INVALID;
} else {
aVal = gItemTable[*a].badgeSortPriority;
}
if (*b == 0) {
bVal = BADGE_INVALID;
} else {
bVal = gItemTable[*b].badgeSortPriority;
}
if (aVal == bVal) {
return 0;
} else if (aVal < bVal) {
return -1;
} else {
return 1;
}
}
s32 pause_badges_count_all(void) {
PlayerData* playerData = &gPlayerData;
s32 i;
pause_sort_item_list(playerData->badges, ARRAY_COUNT(playerData->badges), pause_badges_comparator);
for (i = 0; i < ARRAY_COUNT(playerData->badges); i++) {
if (playerData->badges[i] == 0) {
break;
}
}
return i;
}
s32 pause_badges_count_equipped(void) {
PlayerData* playerData = &gPlayerData;
s32 i;
pause_sort_item_list(playerData->equippedBadges, ARRAY_COUNT(playerData->equippedBadges), &pause_badges_comparator);
for (i = 0; i < ARRAY_COUNT(playerData->equippedBadges); i++) {
if (playerData->equippedBadges[i] == 0) {
break;
}
}
return i;
}
s32 pause_badges_get_pos_x(s32 page, s32 itemIndex) {
return (itemIndex % BADGE_MENU_PAGE(page)->numCols) * 141;
}
s32 pause_badges_get_pos_y(s32 page, s32 itemIndex) {
return ((page + 1) * 11) + (BADGE_MENU_PAGE(page)->listStart * 16) + ((itemIndex / BADGE_MENU_PAGE(
page)->numCols) * 16);
}
s32 pause_badges_get_column(s32 page, s32 itemIdx) {
return itemIdx % BADGE_MENU_PAGE(page)->numCols;
}
s32 pause_badges_get_row(s32 page, s32 itemIdx) {
return BADGE_MENU_PAGE(page)->listStart + (itemIdx / BADGE_MENU_PAGE(page)->numCols);
}
s32 pause_badges_is_visible(s32 y) {
if (y < gPauseBadgesCurrentScrollPos - 32) {
return FALSE;
} else {
return y < gPauseBadgesCurrentScrollPos + 128;
}
}
s32 pause_badges_scroll_offset_y(s32 offset) {
return offset - gPauseBadgesCurrentScrollPos;
}
s32 pause_badges_scroll_offset_x(s32 x) {
return x;
}
s32 pause_badges_try_remove(s16 badgeID) {
s16 *currentSlot = gPlayerData.equippedBadges;
s16 *slotToRemove = currentSlot;
s32 result = 0;
s32 i;
if (badgeID == BADGE_INVALID) {
return 0;
}
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;
}
}
void pause_badges_draw_contents(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening) {
s32 pageIndex, i;
s32 badgeIndex;
s32 currentBadgeRow;
s32 currentBadgeColumn;
s32 style;
s32 palette;
s32 bpAvailable;
s32 costBP;
s32 canBeEquipped;
PauseItemPage* page;
s32 badgeListX;
s32 badgeListY;
s32 isEquipped;
s32 isNone;
s32 cannotBeEquipped;
s32 x1, y1, x2, y2;
s16 badgeID;
s32 isSelected;
s32 badgeEntryOffsetX, badgeEntryOffsetY;
s32 posX, posY, cursorOffsetX, cursorOffsetY, selectedPosX, selectedPosY;
s32 orbOffsetY;
s32 numOrbs;
s32 orbY, orbX;
s32 bpAmount;
s32 bpAvailOffsetX;
s32 bpAvailOffsetY;
f32 orbBlinkValue;
s32 orbBlinkOpacity;
s32 orbColorR, orbColorG, orbColorB;
s32 orbColorR1, orbColorG1, orbColorB1;
s32 badgeIconElement;
s32 msg;
s32 msgX, msgY;
s32 msgOpacity;
s32 maxBP;
s32 itemIndex, j;
s16* equippedBadges;
s32 itemID;
s32 orbIndex;
s32* iconIDs;
PlayerData* playerData = &gPlayerData;
PauseItemPage* currentPage = &gPauseBadgesPages[gPauseBadgesCurrentPage];
costBP = 0;
canBeEquipped = FALSE;
style = 1;
bpAvailable = gPlayerData.maxBP - pause_get_total_equipped_bp_cost();
currentBadgeColumn = gPauseBadgesSelectedIndex / currentPage->numCols;
currentBadgeRow = gPauseBadgesSelectedIndex % currentPage->numCols;
draw_box(4, &gPauseWS_15, baseX + 84, baseY, 0, width - 84, height, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 0);
set_hud_element_render_pos(gPauseBadgesIconIDs[20], baseX + 241, baseY + 11);
palette = 10;
draw_hud_element_3(gPauseBadgesIconIDs[20]);
x1 = baseX + 1;
y1 = baseY + 14;
x2 = baseX + width - 1;
y2 = baseY + height - 9;
if (x1 <= 0) {
x1 = 1;
}
if (y1 <= 0) {
y1 = 1;
}
if (x2 <= 0 || y2 <= 0 || x1 >= SCREEN_WIDTH - 1 || y1 >= SCREEN_HEIGHT - 1) {
return;
}
if (x2 >= SCREEN_WIDTH - 1) {
x2 = SCREEN_WIDTH - 1;
}
if (y2 >= SCREEN_HEIGHT - 1) {
y2 = SCREEN_HEIGHT - 1;
}
gDPSetScissor(gMasterGfxPos++, G_SC_NON_INTERLACE, x1, y1, x2, y2);
badgeIndex = 0;
for (i = 0; i < 3; i++) {
for (pageIndex = 0; pageIndex < 20; pageIndex++) {
iconIDs = gPauseBadgesIconIDs;
badgeListX = baseX + 119;
badgeListY = baseY + 17;
page = &gPauseBadgesPages[pageIndex];
if (!page->enabled) {
break;
}
pause_badges_get_pos_y(pageIndex, 0);
for (itemIndex = 0; itemIndex < page->count; itemIndex++) {
badgeID = gPauseBadgesItemIds[page->startIndex + itemIndex];
isEquipped = FALSE;
isSelected = FALSE;
equippedBadges = gPlayerData.equippedBadges;
cannotBeEquipped = FALSE;
if (badgeID == BADGE_INVALID) {
continue;
}
posX = pause_badges_get_pos_x(pageIndex, itemIndex);
posY = pause_badges_get_pos_y(pageIndex, itemIndex);
isNone = badgeID == BADGE_NONE_STANDIN;
for (j = 0; j < 64; equippedBadges++, j++) {
if (badgeID == *equippedBadges) {
isEquipped = TRUE;
break;
}
}
if (gPauseMenuCurrentTab == 2 &&
gPauseBadgesLevel == 1 &&
pause_badges_get_column(pageIndex, itemIndex) == currentBadgeRow &&
pause_badges_get_row(pageIndex, itemIndex) == currentBadgeColumn) {
itemID = badgeID;
isSelected = TRUE;
if (!isNone) {
costBP = gMoveTable[gItemTable[itemID].moveID].costBP;
if (!isEquipped && bpAvailable >= costBP) {
canBeEquipped = TRUE;
}
}
}
if (!isNone && bpAvailable < gMoveTable[gItemTable[badgeID].moveID].costBP) {
cannotBeEquipped = TRUE;
}
badgeEntryOffsetX = 0;
badgeEntryOffsetY = 0;
if (isSelected) {
badgeEntryOffsetX = -1;
badgeEntryOffsetY = -1;
}
if (i == 0) {
style = 1;
palette = 10;
if (isSelected) {
style = 9;
}
if (isEquipped) {
draw_box(4, &gPauseWS_14, badgeListX + pause_badges_scroll_offset_x(posX) - 20,
baseY + pause_badges_scroll_offset_y(posY) + 17, 0, 200, 13, 255, 0, 0, 0, 0, 0,
0, 0, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 0);
} else if (cannotBeEquipped) {
palette = 11;
}
}
if (!pause_badges_is_visible(posY)) {
continue;
}
if (i == 0) {
if (isNone) {
draw_msg(pause_get_menu_msg(0x45), badgeListX + pause_badges_scroll_offset_x(posX) + badgeEntryOffsetX,
badgeListY + pause_badges_scroll_offset_y(posY) + badgeEntryOffsetY, 255, palette, style);
} else {
if (gItemTable[badgeID].nameMsg) {
if (gItemTable[badgeID].nameMsg > 0) {
draw_msg(gItemTable[badgeID].nameMsg, badgeListX + pause_badges_scroll_offset_x(posX) + badgeEntryOffsetX,
badgeListY + pause_badges_scroll_offset_y(posY) + badgeEntryOffsetY, 255, palette, style);
}
}
draw_number(gMoveTable[gItemTable[badgeID].moveID].costBP, baseX + 235 + pause_badges_scroll_offset_x(posX),
baseY + 17 + pause_badges_scroll_offset_y(posY), 1, palette, 255, 3);
}
}
if (i == 1) {
badgeIconElement = iconIDs[badgeIndex];
clear_hud_element_flags(badgeIconElement, 0x20000000);
set_hud_element_flags(badgeIconElement, 0x8000);
if (isNone) {
badgeIconElement = gPauseBadgesIconIDs[21];
} else {
if (isSelected) {
set_hud_element_flags(badgeIconElement, 0x20000000);
gPauseCurrentDescIconScript = gItemHudScripts[gItemTable[badgeID].iconID].enabled;
}
if (!isEquipped && cannotBeEquipped) {
set_hud_element_anim(badgeIconElement, gItemHudScripts[gItemTable[badgeID].iconID].disabled);
} else {
set_hud_element_anim(badgeIconElement, gItemHudScripts[gItemTable[badgeID].iconID].enabled);
}
set_hud_element_scale(badgeIconElement, 0.670816f);
}
set_hud_element_render_pos(badgeIconElement, baseX + 107 + pause_badges_scroll_offset_x(posX) + badgeEntryOffsetX,
baseY + 23 + pause_badges_scroll_offset_y(posY) + badgeEntryOffsetY);
if (badgeIndex == 0) {
draw_hud_element_3(badgeIconElement);
} else {
draw_hud_element_2(badgeIconElement);
}
badgeIndex++;
}
if (i == 2 && !isNone) {
numOrbs = gMoveTable[gItemTable[badgeID].moveID].costBP;
orbOffsetY = 1;
if (numOrbs < 11) {
orbOffsetY = 4;
}
orbColorR1 = 0;
orbColorG1 = 255;
orbColorB1 = 100;
gSPDisplayList(gMasterGfxPos++, gPauseDLOrbs);
gDPSetTextureFilter(gMasterGfxPos++, G_TF_BILERP);
if (isEquipped == 0) {
for (j = 0; j < numOrbs; j++) {
gDPSetPrimColor(gMasterGfxPos++, 0, 0, 227, 227, 227, 255);
orbX = baseX + 235 + pause_badges_scroll_offset_x(posX) + 1 + (j % 5) * 6;
orbY = baseY + 17 + pause_badges_scroll_offset_y(posY) + orbOffsetY;
if (numOrbs >= 5) {
orbY += j / 5 * 6 - 3;
}
pause_badges_draw_bp_orbs(0, orbX, orbY);
}
gDPPipeSync(gMasterGfxPos++);
gDPSetRenderMode(gMasterGfxPos++, G_RM_CLD_SURF, G_RM_CLD_SURF2);
gDPSetPrimColor(gMasterGfxPos++, 0, 0, orbColorR1, orbColorG1, orbColorB1, 128);
for (j = 0; j < numOrbs; j++) {
if (j < bpAvailable) {
orbX = baseX + 235 + pause_badges_scroll_offset_x(posX) + 1 + (j % 5) * 6;
orbY = baseY + 17 + pause_badges_scroll_offset_y(posY) + orbOffsetY;
if (numOrbs >= 5) {
orbY += j / 5 * 6 - 3;
}
pause_badges_draw_bp_orbs(1, orbX, orbY);
}
}
} else {
gDPSetPrimColor(gMasterGfxPos++, 0, 0, 0, 255, 100, 255);
for (j = 0; j < numOrbs; j++) {
orbX = baseX + 235 + pause_badges_scroll_offset_x(posX) + 1 + (j % 5) * 6;
orbY = baseY + 17 + pause_badges_scroll_offset_y(posY) + orbOffsetY;
if (numOrbs >= 5) {
orbY += j / 5 * 6 - 3;
}
pause_badges_draw_bp_orbs(2, orbX, orbY);
}
gDPPipeSync(gMasterGfxPos++);
}
}
}
}
}
x1 = baseX + 1;
y1 = baseY + 1;
x2 = baseX + width - 1;
y2 = baseY + height - 1;
gDPPipeSync(gMasterGfxPos++);
if (x1 <= 0) {
x1 = 1;
}
if (y1 <= 0) {
y1 = 1;
}
if (x2 <= 0 || y2 <= 0 || x1 >= SCREEN_WIDTH - 1 || y1 >= SCREEN_HEIGHT - 1) {
return;
}
if (x2 >= SCREEN_WIDTH - 1) {
x2 = SCREEN_WIDTH - 1;
}
if (y2 >= SCREEN_HEIGHT - 1) {
y2 = SCREEN_HEIGHT - 1;
}
gDPSetScissor(gMasterGfxPos++, G_SC_NON_INTERLACE, x1, y1, x2, y2);
if (gPauseMenuCurrentTab == 2 && gPauseBadgesLevel == 1) {
if (gPauseBadgesCurrentPage > 0) {
set_hud_element_render_pos(gPauseBadgesIconIDs[17], baseX + 278, baseY + 14);
draw_hud_element_3(gPauseBadgesIconIDs[17]);
}
if (gPauseBadgesPages[gPauseBadgesCurrentPage + 1].enabled) {
set_hud_element_render_pos(gPauseBadgesIconIDs[18], baseX + 278, baseY + 146);
draw_hud_element_3(gPauseBadgesIconIDs[18]);
}
}
set_hud_element_render_pos(gPauseBadgesIconIDs[16], baseX + 43, baseY + 81);
draw_hud_element_3(gPauseBadgesIconIDs[16]);
draw_msg(pause_get_menu_msg(70), baseX + 16, baseY + 74, 255, 10, 1);
draw_number(playerData->maxBP, baseX + 69, baseY + 74, 1, 10, 255, 3);
bpAmount = playerData->maxBP - pause_get_total_equipped_bp_cost();
bpAvailOffsetX = 0;
bpAvailOffsetY = (playerData->maxBP - 1) / 10 * 8;
if (bpAmount < 10) {
bpAvailOffsetX = -4;
}
pause_draw_menu_label(7, baseX + 12, baseY + 100 + bpAvailOffsetY);
draw_number(bpAmount, baseX + 73 + bpAvailOffsetX, baseY + 100 + bpAvailOffsetY, 1, 10, 255, 3);
orbColorR = 0;
orbColorG = 255;
orbColorB = 100;
maxBP = playerData->maxBP;
gSPDisplayList(gMasterGfxPos++, gPauseDLOrbs);
gDPSetTextureFilter(gMasterGfxPos++, G_TF_BILERP);
for (orbIndex = 0; orbIndex < maxBP; orbIndex++) {
gDPSetPrimColor(gMasterGfxPos++, 0, 0, 227, 227, 227, 255);
pause_badges_draw_bp_orbs(0, baseX + 11 + (orbIndex % 10) * 6, baseY + 92 + (orbIndex / 10) * 8);
}
gDPPipeSync(gMasterGfxPos++);
if (canBeEquipped) {
gDPSetPrimColor(gMasterGfxPos++, 0, 0, orbColorR, orbColorG, orbColorB, 255);
for (orbIndex = 0; orbIndex < bpAvailable - costBP; orbIndex++) {
pause_badges_draw_bp_orbs(2, baseX + 11 +(orbIndex % 10) * 6, baseY + 92 + (orbIndex / 10) * 8);
}
gDPPipeSync(gMasterGfxPos++);
orbBlinkValue = (sin_deg(gGameStatusPtr->frameCounter * 15) + 1.0f) * 0.2 + 0.5;
gDPSetRenderMode(gMasterGfxPos++, G_RM_CLD_SURF, G_RM_CLD_SURF2);
orbBlinkOpacity = orbBlinkValue * 255.0f;
gDPSetPrimColor(gMasterGfxPos++, 0, 0, orbColorR, orbColorG, orbColorB, orbBlinkOpacity);
for (orbIndex = bpAvailable - costBP; orbIndex < bpAvailable; orbIndex++) {
pause_badges_draw_bp_orbs(2, baseX + 11 +(orbIndex % 10) * 6, baseY + 92 + (orbIndex / 10) * 8);
}
gDPPipeSync(gMasterGfxPos++);
} else {
gDPSetPrimColor(gMasterGfxPos++, 0, 0, orbColorR, orbColorG, orbColorB, 255);
for (orbIndex = 0; orbIndex < bpAvailable; orbIndex++) {
pause_badges_draw_bp_orbs(2, baseX + 11 + (orbIndex % 10) * 6, baseY + 92 + (orbIndex / 10) * 8);
}
gDPPipeSync(gMasterGfxPos++);
}
draw_box(4, &gPauseWS_13, gPauseBadgesCurrentTab == 0 ? baseX + 9 : baseX, baseY + 7, 0,
91, 34, 255, gPauseBadgesCurrentTab == 1 ? 128 : 0, 0, 0,
0, 0, 0, 0, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 0);
msg = pause_get_menu_msg(0x47);
msgX = baseX + 10;
if (gPauseBadgesCurrentTab == 0) {
msgX = baseX + 19;
}
msgOpacity = 255;
msgY = baseY + 17;
if (gPauseBadgesCurrentTab == 1) {
msgOpacity = 191;
}
draw_msg(msg, msgX, msgY, msgOpacity, 0, 1);
draw_box(4, &gPauseWS_13, gPauseBadgesCurrentTab == 1 ? baseX + 9 : baseX, baseY + 37, 0, 91, 34, 255,
gPauseBadgesCurrentTab == 0 ? 128 : 0, 0, 0, 0, 0, 0, 0, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 0);
msg = pause_get_menu_msg(0x48);
msgX = baseX + 12;
if (gPauseBadgesCurrentTab == 1) {
msgX = baseX + 21;
}
msgY = baseY + 42;
msgOpacity = 255;
if (gPauseBadgesCurrentTab == 0) {
msgOpacity = 191;
}
draw_msg(msg, msgX, msgY, msgOpacity, 0, 1);
msg = pause_get_menu_msg(0x49);
msgX = baseX + 26;
if (gPauseBadgesCurrentTab == 1) {
msgX = baseX + 35;
}
msgY = baseY + 52;
msgOpacity = 255;
if (gPauseBadgesCurrentTab == 0) {
msgOpacity = 191;
}
draw_msg(msg, msgX, msgY, msgOpacity, 0, 1);
if (gPauseMenuCurrentTab == 2) {
if (gPauseBadgesLevel == 0) {
pause_set_cursor_pos(32, baseX + 10, baseY + 26 + gPauseBadgesCurrentTab * 32);
} else {
selectedPosX = pause_badges_get_pos_x(gPauseBadgesCurrentPage, gPauseBadgesSelectedIndex - gPauseBadgesPages[gPauseBadgesCurrentPage].listStart * gPauseBadgesPages[gPauseBadgesCurrentPage].numCols);
selectedPosY = pause_badges_get_pos_y(gPauseBadgesCurrentPage, gPauseBadgesSelectedIndex - gPauseBadgesPages[gPauseBadgesCurrentPage].listStart * gPauseBadgesPages[gPauseBadgesCurrentPage].numCols);
cursorOffsetX = pause_badges_scroll_offset_x(selectedPosX);
cursorOffsetY = pause_badges_scroll_offset_y(selectedPosY);
if (cursorOffsetY < 0) {
cursorOffsetY = 0;
} else if (cursorOffsetY > 112) {
cursorOffsetY = 112;
}
if (gPauseBadgesCurrentScrollPos != gPauseBadgesTargetScrollPos) {
pause_set_cursor_pos_immediate(WINDOW_ID_PAUSE_BADGES, baseX + 93 + cursorOffsetX, baseY + 23 + cursorOffsetY);
} else {
pause_set_cursor_pos(WINDOW_ID_PAUSE_BADGES, baseX + 93 + cursorOffsetX, baseY + 23 + cursorOffsetY);
}
}
}
if (gPauseBadgesShowNotEnoughBP != 0) {
pause_set_cursor_opacity(0);
if (gPauseBadgesShowNotEnoughBP == 1) {
draw_box(4, &gPauseWS_13, baseX + 67, baseY + 60, 0, 137, 26, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 0);
draw_msg(pause_get_menu_msg(0x4A), baseX + 86, baseY + 66, 255, 0, 1);
} else {
draw_box(4, &gPauseWS_13, baseX + 67, baseY + 60, 0, 173, 26, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 0);
draw_msg(pause_get_menu_msg(0x4B), baseX + 90, baseY + 66, 255, 0, 1);
}
}
}
void pause_badges_load_badges(s32 onlyEquipped) {
PlayerData* playerData = &gPlayerData;
s32 numItems = 0;
PauseItemPage* page;
s32 i;
D_80270388 = 0;
if (!onlyEquipped) {
for (i = 0; i < ARRAY_COUNT(playerData->badges); i++) {
s16 badgeItemID = playerData->badges[i];
if (badgeItemID == 0) {
continue;
} else if (badgeItemID > ITEM_LAST_BADGE) {
break;
} else {
gPauseBadgesItemIds[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) {
gPauseBadgesItemIds[numItems] = badgeItemID;
numItems += 1;
}
equippedBadges++;
}
}
if (numItems == 0) {
gPauseBadgesItemIds[0] = BADGE_NONE_STANDIN;
numItems = 1;
}
gPauseBadgesNumItems = numItems;
for (i = numItems; i < ARRAY_COUNT(gPauseBadgesItemIds); i++) {
gPauseBadgesItemIds[i] = BADGE_INVALID;
}
gPauseBadgesSelectedIndex = 0;
gPauseBadgesSelectedItem = 0;
D_8027037C = 0;
gPauseBadgesTargetScrollIndex = 0;
gPauseBadgesCurrentPage = 0;
page = &gPauseBadgesPages[0];
for (i = 0; i < gPauseBadgesNumItems / 8; i++, page++) {
page->listStart = i * 8;
page->numCols = 1;
page->numRows = 8;
page->enabled = TRUE;
page->startIndex = i * 8;
page->count = 8;
}
if ((gPauseBadgesNumItems % 8) != 0) {
page->listStart = i * 8;
page->numCols = 1;
page->enabled = TRUE;
page->startIndex = i * 8;
page->count = gPauseBadgesNumItems % 8;
page->numRows = page->count;
i++;
page++;
}
while (i < ARRAY_COUNT(gPauseBadgesPages)) {
page->enabled = FALSE;
i++;
page++;
}
gPauseBadgesTargetScrollPos = gPauseBadgesCurrentScrollPos = 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();
gPauseBadgesLevel = 0;
gPauseBadgesCurrentTab = 0;
gPauseBadgesShowNotEnoughBP = 0;
pause_badges_load_badges(FALSE);
if (gPauseBadgesItemIds[0] == BADGE_NONE_STANDIN) {
panel->initialized = FALSE;
return;
}
for (i = 0; i < ARRAY_COUNT(gPauseBadgesIconIDs); i++) {
s32 iconID = create_hud_element(gPauseBadgesElements[i]);
gPauseBadgesIconIDs[i] = iconID;
set_hud_element_flags(iconID, 0x80);
}
for (i = 0; i < ARRAY_COUNT(gPauseBadgesWindowBPs); i++) {
gPauseBadgesWindowBPs[i].tab = panel;
}
setup_pause_menu_tab(gPauseBadgesWindowBPs, ARRAY_COUNT(gPauseBadgesWindowBPs));
panel->initialized = TRUE;
}
void pause_badges_handle_input(MenuPanel* panel) {
s32 selectedIndex = gPauseBadgesSelectedIndex;
s32 numCols = gPauseBadgesPages[gPauseBadgesCurrentPage].numCols;
s32 selectedCol = selectedIndex % numCols;
s32 selectedRow = selectedIndex / numCols;
if (gPausePressedButtons & BUTTON_A) {
s16 badgeID;
if (gPauseBadgesShowNotEnoughBP != 0) {
gPauseBadgesShowNotEnoughBP = 0;
} else if (gPauseBadgesLevel == 0) {
if (gPauseBadgesItemIds[selectedIndex] == BADGE_NONE_STANDIN) {
sfx_play_sound(SOUND_MENU_ERROR);
} else {
gPauseBadgesLevel = 1;
sfx_play_sound(SOUND_MENU_NEXT);
}
} else {
badgeID = gPauseBadgesItemIds[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_ERROR);
gPauseBadgesShowNotEnoughBP = 1;
break;
case EQUIP_RESULT_TOO_MANY_BADGES:
sfx_play_sound(SOUND_MENU_ERROR);
gPauseBadgesShowNotEnoughBP = 2;
break;
case EQUIP_RESULT_SUCCESS:
sfx_play_sound(SOUND_MENU_BADGE_EQUIP);
break;
}
}
return;
}
if ((gPausePressedButtons != 0) || (gPauseHeldButtons != 0)) {
gPauseBadgesShowNotEnoughBP = 0;
}
if (gPauseBadgesNumItems != 0) {
if (gPauseBadgesLevel == 0) {
s32 oldTab = gPauseBadgesCurrentTab;
if (gPauseHeldButtons & (BUTTON_STICK_UP | BUTTON_STICK_DOWN)) {
gPauseBadgesCurrentTab ^= 1;
}
if (oldTab != gPauseBadgesCurrentTab) {
sfx_play_sound(SOUND_MENU_CHANGE_TAB);
pause_badges_load_badges(gPauseBadgesCurrentTab);
}
} else {
s32 heldButtons = gPauseHeldButtons;
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 < gPauseBadgesPages[gPauseBadgesCurrentPage].listStart) {
gPauseBadgesCurrentPage -= 1;
}
} else {
// Z button press
gPauseBadgesCurrentPage -= 1;
if (gPauseBadgesCurrentPage < 0) {
gPauseBadgesCurrentPage = 0;
}
selectedRow = gPauseBadgesPages[gPauseBadgesCurrentPage].listStart;
}
}
// Need to re-read button state here for strange regalloc reasons
heldButtons2 = gPauseHeldButtons;
if (heldButtons2 & (BUTTON_STICK_DOWN | BUTTON_R)) {
if (heldButtons2 & BUTTON_STICK_DOWN) {
PauseItemPage* page = &gPauseBadgesPages[gPauseBadgesCurrentPage];
selectedRow += 1;
if (selectedRow >= (page->listStart + page->numRows)) {
gPauseBadgesCurrentPage += 1;
if (!gPauseBadgesPages[gPauseBadgesCurrentPage].enabled) {
gPauseBadgesCurrentPage -= 1;
selectedRow -= 1;
}
}
} else {
// R button press
PauseItemPage* newPage;
gPauseBadgesCurrentPage++;
newPage = &gPauseBadgesPages[gPauseBadgesCurrentPage];
if (!newPage->enabled) {
gPauseBadgesCurrentPage -= 1;
} else {
selectedRow = newPage->listStart;
}
}
}
newPageNumCols = gPauseBadgesPages[gPauseBadgesCurrentPage].numCols;
if (gPauseBadgesItemIds[selectedRow * newPageNumCols] != BADGE_NONE_STANDIN) {
if (gPauseHeldButtons & BUTTON_STICK_LEFT) {
selectedCol -= 1;
if (selectedCol < 0) {
selectedCol = newPageNumCols - 1;
}
} else if (gPauseHeldButtons & BUTTON_STICK_RIGHT) {
selectedCol += 1;
if (selectedCol >= newPageNumCols) {
selectedCol = 0;
}
}
} else {
selectedCol = 0;
}
gPauseBadgesSelectedIndex = selectedCol + (selectedRow * gPauseBadgesPages[gPauseBadgesCurrentPage].numCols);
if (gPauseBadgesSelectedIndex != selectedIndex) {
sfx_play_sound(SOUND_MENU_CHANGE_SELECTION);
}
gPauseBadgesSelectedItem = gPauseBadgesItemIds[gPauseBadgesSelectedIndex];
}
}
if (gPauseBadgesLevel == 1) {
s32 itemID = gPauseBadgesSelectedItem;
if (((itemID != BADGE_NONE_STANDIN) && (itemID != BADGE_INVALID) && (itemID != 0))) {
gPauseCurrentDescMsg = gItemTable[itemID].menuMsg;
} else {
gPauseCurrentDescMsg = 0;
gPauseCurrentDescIconScript = NULL;
}
} else {
gPauseCurrentDescMsg = pause_get_menu_msg(gPauseBadgesCurrentTab == 0 ? 0x4C : 0x4D);
gPauseCurrentDescIconScript = NULL;
}
if (gPausePressedButtons & BUTTON_B) {
if (gPauseBadgesLevel == 0) {
sfx_play_sound(SOUND_MENU_BACK);
gPauseMenuCurrentTab = 0;
} else {
sfx_play_sound(SOUND_MENU_BACK);
gPauseBadgesLevel = 0;
enforce_hpfp_limits();
if (gPauseBadgesCurrentTab == 1) {
pause_badges_load_badges(TRUE);
}
}
}
}
void pause_badges_update(MenuPanel* panel) {
PauseItemPage* menuPages = gPauseBadgesPages;
PauseItemPage* currentMenuPage = &menuPages[gPauseBadgesCurrentPage];
s32 itemIndex = (gPauseBadgesSelectedIndex / currentMenuPage->numCols) - currentMenuPage->listStart;
if (itemIndex < 2 || currentMenuPage->numRows < 9) {
gPauseBadgesTargetScrollIndex = 0;
} else if (itemIndex >= currentMenuPage->numRows - 2) {
gPauseBadgesTargetScrollIndex = currentMenuPage->numRows - 8;
} else {
if (itemIndex - gPauseBadgesTargetScrollIndex >= 7) {
gPauseBadgesTargetScrollIndex = itemIndex - 6;
} else if (itemIndex - gPauseBadgesTargetScrollIndex <= 0) {
gPauseBadgesTargetScrollIndex = itemIndex - 1;
}
}
gPauseBadgesTargetScrollPos = pause_badges_get_pos_y(gPauseBadgesCurrentPage, gPauseBadgesTargetScrollIndex * currentMenuPage->numCols);
gPauseBadgesCurrentScrollPos += pause_interp_vertical_scroll(gPauseBadgesTargetScrollPos - gPauseBadgesCurrentScrollPos);
}
void pause_badges_cleanup(MenuPanel* panel) {
s32 i;
for (i = 0; i < ARRAY_COUNT(gPauseBadgesIconIDs); i++) {
free_hud_element(gPauseBadgesIconIDs[i]);
}
}

127
src/pause/pause_common.h Normal file
View File

@ -0,0 +1,127 @@
#ifndef PAUSE_COMMON_H
#define PAUSE_COMMON_H
#include "common.h"
#include "hud_element.h"
extern HudScript HudScript_PressAButton[];
extern HudScript HudScript_PressStartButton[];
extern HudScript HudScript_StartButtonText[];
extern HudScript HudScript_StickTapRight[];
extern HudScript HudScript_UnusedBadge[];
extern HudScript HudScript_AnimatedCursorHand[];
extern HudScript HudScript_DescMsgPrev[];
extern HudScript HudScript_DescMsgNext[];
extern HudScript HudScript_HeaderStats[];
extern HudScript HudScript_HeaderBadges[];
extern HudScript HudScript_HeaderItems[];
extern HudScript HudScript_HeaderParty[];
extern HudScript HudScript_HeaderSpirits[];
extern HudScript HudScript_HeaderMap[];
extern HudScript HudScript_MarioHeadSmall[];
extern HudScript HudScript_StatBoots0[];
extern HudScript HudScript_StatBoots1[];
extern HudScript HudScript_StatBoots2[];
extern HudScript HudScript_StatBoots3[];
extern HudScript HudScript_StatHammer0[];
extern HudScript HudScript_StatHammer1[];
extern HudScript HudScript_StatHammer2[];
extern HudScript HudScript_StatHammer3[];
extern HudScript HudScript_StatusStarPoint[];
extern HudScript HudScript_StatStarPiece_1[];
extern HudScript HudScript_Clock[];
extern HudScript HudScript_StatusHeart[];
extern HudScript HudScript_StatFp_1[];
extern HudScript HudScript_StatBp[];
extern HudScript HudScript_StatusStar1[];
extern HudScript HudScript_StatusStar2[];
extern HudScript HudScript_StatusStar3[];
extern HudScript HudScript_StatusStar4[];
extern HudScript HudScript_StatusStar5[];
extern HudScript HudScript_StatusStar6[];
extern HudScript HudScript_StatusStar7[];
extern HudScript HudScript_StatTimes[];
extern HudScript HudScript_ListPrevPage[];
extern HudScript HudScript_ListNextPage[];
extern HudScript HudScript_Dash[];
extern HudScript HudScript_LabelBpNeeded[];
extern HudScript HudScript_FPCost[];
extern HudScript HudScript_PartnerRank[];
extern HudScript HudScript_MoveDiamond[];
extern HudScript HudScript_MoveBlueOrb[];
extern HudScript HudScript_MoveGreenOrb[];
extern HudScript HudScript_MoveRedOrb[];
extern HudScript HudScript_MapWalk0[];
extern HudScript HudScript_StatusSPIncrement1[];
extern HudScript HudScript_StatusSPIncrement2[];
extern HudScript HudScript_StatusSPIncrement3[];
extern HudScript HudScript_StatusSPIncrement4[];
extern HudScript HudScript_StatusSPIncrement5[];
extern HudScript HudScript_StatusSPIncrement6[];
extern HudScript HudScript_StatusSPIncrement7[];
extern HudScriptPair gItemHudScripts[];
extern WindowStyleCustom gPauseWS_0;
extern WindowStyleCustom gPauseWS_1;
extern WindowStyleCustom gPauseWS_2;
extern WindowStyleCustom gPauseWS_3;
extern WindowStyleCustom gPauseWS_4;
extern WindowStyleCustom gPauseWS_5;
extern WindowStyleCustom gPauseWS_6;
extern WindowStyleCustom gPauseWS_7;
extern WindowStyleCustom gPauseWS_8;
extern WindowStyleCustom gPauseWS_9;
extern WindowStyleCustom gPauseWS_10;
extern WindowStyleCustom gPauseWS_11;
extern WindowStyleCustom gPauseWS_12;
extern WindowStyleCustom gPauseWS_13;
extern WindowStyleCustom gPauseWS_14;
extern WindowStyleCustom gPauseWS_15;
extern WindowStyleCustom gPauseWS_16;
extern WindowStyleCustom gPauseWS_17;
extern WindowStyleCustom gPauseWS_18;
extern WindowStyleCustom gPauseWS_19;
extern WindowStyleCustom gPauseWS_20;
extern WindowStyleCustom gPauseWS_21;
extern WindowStyleCustom gPauseWS_22;
extern WindowStyleCustom gPauseWS_23;
extern WindowStyleCustom gPauseWS_24;
extern WindowStyleCustom gPauseWS_25;
extern WindowStyleCustom gPauseWS_26;
extern WindowStyleCustom gPauseWS_27;
extern WindowStyleCustom gPauseWS_28;
//bss
extern s32 gPauseHeldButtons;
extern s32 gPausePressedButtons;
extern s32 gPauseCurrentDescMsg;
extern HudScript* gPauseCurrentDescIconScript;
extern s32 gPauseCursorIconID;
extern s8 gPauseMenuCurrentTab;
void pause_update_tab_default(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, s32* scaleX, s32* scaleY,
f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity);
void pause_update_tab_active(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, s32* scaleX, s32* scaleY,
f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity);
void pause_update_tab_inactive(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, s32* scaleX, s32* scaleY,
f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity);
void pause_update_page_active_1(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, s32* scaleX, s32* scaleY,
f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity);
void pause_update_page_inactive_1(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, s32* scaleX, s32* scaleY,
f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity);
void pause_update_page_active_2(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, s32* scaleX, s32* scaleY,
f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity);
void pause_update_page_inactive_2(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, s32* scaleX, s32* scaleY,
f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity);
void pause_set_cursor_pos(s32 windowID, s32 posX, s32 posY);
void pause_set_cursor_pos_immediate(s32 windowID, s32 posX, s32 posY);
void pause_set_cursor_opacity(s32 val);
void pause_draw_menu_label(s32 index, s32 x, s32 y);
s32 pause_get_total_equipped_bp_cost(void);
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_menu_msg(s32 index);
s32 pause_interp_vertical_scroll(s32 deltaBefore);
void pause_sort_item_list(s16* arr, s32 len, s32 (*compare)(s16*, s16 *));
#endif

411
src/pause/pause_gfx.c Normal file
View File

@ -0,0 +1,411 @@
#include "pause_common.h"
#include "pause/image_143BF0.png.h"
#include "pause/image_143FF0.png.h"
#include "pause/world_map.png.h"
#include "pause/world_map.png.h"
#include "pause/spirits_bg.png.h"
#include "pause/orbs.png.h"
#include "pause/image_15F570.png.h"
#include "pause/image_15F670.png.h"
#include "pause/arrows.png.h"
#include "pause/banner_hp.png.h"
#include "pause/banner_fp.png.h"
#include "pause/banner_bp.png.h"
#include "pause/banner_boots.png.h"
#include "pause/banner_hammer.png.h"
#include "pause/banner_star_energy.png.h"
#include "pause/available.png.h"
#include "pause/prompt_check_abilities.png.h"
#include "pause/stats_bar.png.h"
#include "pause/image_1439F0.png.inc.c"
#include "pause/image_143BF0.png.inc.c"
#include "pause/image_143FF0.png.inc.c"
#include "pause/world_map.png.inc.c"
#include "pause/world_map.pal.inc.c"
#include "pause/spirits_bg.png.inc.c"
#include "pause/spirits_bg.pal.inc.c"
#include "pause/orbs.png.inc.c"
#include "pause/image_15F570.png.inc.c"
#include "pause/image_15F670.png.inc.c"
#include "pause/arrows.png.inc.c"
#include "pause/banner_hp.png.inc.c"
#include "pause/banner_hp.pal.inc.c"
#include "pause/banner_fp.png.inc.c"
#include "pause/banner_fp.pal.inc.c"
#include "pause/banner_bp.png.inc.c"
#include "pause/banner_bp.pal.inc.c"
#include "pause/banner_boots.png.inc.c"
#include "pause/banner_boots.pal.inc.c"
#include "pause/banner_hammer.png.inc.c"
#include "pause/banner_hammer.pal.inc.c"
#include "pause/banner_star_energy.png.inc.c"
#include "pause/banner_star_energy.pal.inc.c"
#include "pause/available.png.inc.c"
#include "pause/available.pal.inc.c"
#include "pause/prompt_check_abilities.png.inc.c"
#include "pause/prompt_check_abilities.pal.inc.c"
#include "pause/stats_bar.png.inc.c"
#include "pause/stats_bar.pal.inc.c"
Gfx gPauseDLBannerHp[] = {
gsDPPipeSync(),
gsSPTexture(-1, -1, 0, G_TX_RENDERTILE, G_ON),
gsDPSetCycleType(G_CYC_1CYCLE),
gsDPSetTexturePersp(G_TP_NONE),
gsDPSetTextureDetail(G_TD_CLAMP),
gsDPSetTextureLOD(G_TL_TILE),
gsDPSetTextureFilter(G_TF_POINT),
gsDPSetTextureConvert(G_TC_FILT),
gsDPSetTextureLUT(G_TT_RGBA16),
gsDPLoadTLUT_pal16(0, pause_banner_hp_pal),
gsDPLoadTextureTile_4b(pause_banner_hp_png, G_IM_FMT_CI, pause_banner_hp_png_width, pause_banner_hp_png_height, 0, 0, pause_banner_hp_png_width - 1, pause_banner_hp_png_height - 1, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, 6, 4, G_TX_NOLOD, G_TX_NOLOD),
gsDPSetRenderMode(AA_EN | CVG_DST_FULL | ZMODE_OPA | CVG_X_ALPHA | GBL_c1(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_A_MEM), AA_EN | CVG_DST_FULL | ZMODE_OPA | CVG_X_ALPHA | GBL_c2(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_A_MEM)),
gsDPSetCombineMode(G_CC_DECALRGBA, G_CC_DECALRGBA),
gsSPClearGeometryMode(G_LIGHTING),
gsSPSetGeometryMode(G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH),
gsSPEndDisplayList(),
};
Gfx gPauseDLBannerFp[] = {
gsDPPipeSync(),
gsSPTexture(-1, -1, 0, G_TX_RENDERTILE, G_ON),
gsDPSetCycleType(G_CYC_1CYCLE),
gsDPSetTexturePersp(G_TP_NONE),
gsDPSetTextureDetail(G_TD_CLAMP),
gsDPSetTextureLOD(G_TL_TILE),
gsDPSetTextureFilter(G_TF_POINT),
gsDPSetTextureConvert(G_TC_FILT),
gsDPSetTextureLUT(G_TT_RGBA16),
gsDPLoadTLUT_pal16(0, pause_banner_fp_pal),
gsDPLoadTextureTile_4b(pause_banner_fp_png, G_IM_FMT_CI, pause_banner_fp_png_width, pause_banner_fp_png_height, 0, 0, pause_banner_fp_png_width - 1, pause_banner_fp_png_height - 1, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, 6, 4, G_TX_NOLOD, G_TX_NOLOD),
gsDPSetRenderMode(AA_EN | CVG_DST_FULL | ZMODE_OPA | CVG_X_ALPHA | GBL_c1(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_A_MEM), AA_EN | CVG_DST_FULL | ZMODE_OPA | CVG_X_ALPHA | GBL_c2(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_A_MEM)),
gsDPSetCombineMode(G_CC_DECALRGBA, G_CC_DECALRGBA),
gsSPClearGeometryMode(G_LIGHTING),
gsSPSetGeometryMode(G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH),
gsSPEndDisplayList(),
};
Gfx gPauseDLBannerBp[] = {
gsDPPipeSync(),
gsSPTexture(-1, -1, 0, G_TX_RENDERTILE, G_ON),
gsDPSetCycleType(G_CYC_1CYCLE),
gsDPSetTexturePersp(G_TP_NONE),
gsDPSetTextureDetail(G_TD_CLAMP),
gsDPSetTextureLOD(G_TL_TILE),
gsDPSetTextureFilter(G_TF_POINT),
gsDPSetTextureConvert(G_TC_FILT),
gsDPSetTextureLUT(G_TT_RGBA16),
gsDPLoadTLUT_pal16(0, pause_banner_bp_pal),
gsDPLoadTextureTile_4b(pause_banner_bp_png, G_IM_FMT_CI, pause_banner_bp_png_width, pause_banner_bp_png_height, 0, 0, pause_banner_bp_png_width - 1, pause_banner_bp_png_height - 1, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, 6, 4, G_TX_NOLOD, G_TX_NOLOD),
gsDPSetRenderMode(AA_EN | CVG_DST_FULL | ZMODE_OPA | CVG_X_ALPHA | GBL_c1(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_A_MEM), AA_EN | CVG_DST_FULL | ZMODE_OPA | CVG_X_ALPHA | GBL_c2(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_A_MEM)),
gsDPSetCombineMode(G_CC_DECALRGBA, G_CC_DECALRGBA),
gsSPClearGeometryMode(G_LIGHTING),
gsSPSetGeometryMode(G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH),
gsSPEndDisplayList(),
};
Gfx gPauseDLBannerBoots[] = {
gsDPPipeSync(),
gsSPTexture(-1, -1, 0, G_TX_RENDERTILE, G_ON),
gsDPSetCycleType(G_CYC_1CYCLE),
gsDPSetTexturePersp(G_TP_NONE),
gsDPSetTextureDetail(G_TD_CLAMP),
gsDPSetTextureLOD(G_TL_TILE),
gsDPSetTextureFilter(G_TF_POINT),
gsDPSetTextureConvert(G_TC_FILT),
gsDPSetTextureLUT(G_TT_RGBA16),
gsDPLoadTLUT_pal16(0, pause_banner_boots_pal),
gsDPLoadTextureTile_4b(pause_banner_boots_png, G_IM_FMT_CI, pause_banner_boots_png_width, pause_banner_boots_png_height, 0, 0, pause_banner_boots_png_width - 1, pause_banner_boots_png_height - 1, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, 6, 4, G_TX_NOLOD, G_TX_NOLOD),
gsDPSetRenderMode(AA_EN | CVG_DST_FULL | ZMODE_OPA | CVG_X_ALPHA | GBL_c1(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_A_MEM), AA_EN | CVG_DST_FULL | ZMODE_OPA | CVG_X_ALPHA | GBL_c2(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_A_MEM)),
gsDPSetCombineMode(G_CC_DECALRGBA, G_CC_DECALRGBA),
gsSPClearGeometryMode(G_LIGHTING),
gsSPSetGeometryMode(G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH),
gsSPEndDisplayList(),
};
Gfx gPauseDLBannerHammer[] = {
gsDPPipeSync(),
gsSPTexture(-1, -1, 0, G_TX_RENDERTILE, G_ON),
gsDPSetCycleType(G_CYC_1CYCLE),
gsDPSetTexturePersp(G_TP_NONE),
gsDPSetTextureDetail(G_TD_CLAMP),
gsDPSetTextureLOD(G_TL_TILE),
gsDPSetTextureFilter(G_TF_POINT),
gsDPSetTextureConvert(G_TC_FILT),
gsDPSetTextureLUT(G_TT_RGBA16),
gsDPLoadTLUT_pal16(0, pause_banner_hammer_pal),
gsDPLoadTextureTile_4b(pause_banner_hammer_png, G_IM_FMT_CI, pause_banner_hammer_png_width, pause_banner_hammer_png_height, 0, 0, pause_banner_hammer_png_width - 1, pause_banner_hammer_png_height - 1, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, 6, 4, G_TX_NOLOD, G_TX_NOLOD),
gsDPSetRenderMode(AA_EN | CVG_DST_FULL | ZMODE_OPA | CVG_X_ALPHA | GBL_c1(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_A_MEM), AA_EN | CVG_DST_FULL | ZMODE_OPA | CVG_X_ALPHA | GBL_c2(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_A_MEM)),
gsDPSetCombineMode(G_CC_DECALRGBA, G_CC_DECALRGBA),
gsSPClearGeometryMode(G_LIGHTING),
gsSPSetGeometryMode(G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH),
gsSPEndDisplayList(),
};
Gfx gPauseDLBannerStarEnergy[] = {
gsDPPipeSync(),
gsSPTexture(-1, -1, 0, G_TX_RENDERTILE, G_ON),
gsDPSetCycleType(G_CYC_1CYCLE),
gsDPSetTexturePersp(G_TP_NONE),
gsDPSetTextureDetail(G_TD_CLAMP),
gsDPSetTextureLOD(G_TL_TILE),
gsDPSetTextureFilter(G_TF_POINT),
gsDPSetTextureConvert(G_TC_FILT),
gsDPSetTextureLUT(G_TT_RGBA16),
gsDPLoadTLUT_pal16(0, pause_banner_star_energy_pal),
gsDPLoadTextureTile_4b(pause_banner_star_energy_png, G_IM_FMT_CI, pause_banner_star_energy_png_width, pause_banner_star_energy_png_height, 0, 0, pause_banner_star_energy_png_width - 1, pause_banner_star_energy_png_height - 1, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, 6, 4, G_TX_NOLOD, G_TX_NOLOD),
gsDPSetRenderMode(AA_EN | CVG_DST_FULL | ZMODE_OPA | CVG_X_ALPHA | GBL_c1(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_A_MEM), AA_EN | CVG_DST_FULL | ZMODE_OPA | CVG_X_ALPHA | GBL_c2(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_A_MEM)),
gsDPSetCombineMode(G_CC_DECALRGBA, G_CC_DECALRGBA),
gsSPClearGeometryMode(G_LIGHTING),
gsSPSetGeometryMode(G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH),
gsSPEndDisplayList(),
};
Gfx gPauseDLStatsBar[] = {
gsDPPipeSync(),
gsSPTexture(-1, -1, 0, G_TX_RENDERTILE, G_ON),
gsDPSetCycleType(G_CYC_1CYCLE),
gsDPSetTexturePersp(G_TP_NONE),
gsDPSetTextureDetail(G_TD_CLAMP),
gsDPSetTextureLOD(G_TL_TILE),
gsDPSetTextureFilter(G_TF_POINT),
gsDPSetTextureConvert(G_TC_FILT),
gsDPSetTextureLUT(G_TT_RGBA16),
gsDPLoadTLUT_pal16(0, pause_stats_bar_pal),
gsDPLoadTextureTile_4b(pause_stats_bar_png, G_IM_FMT_CI, pause_stats_bar_png_width, pause_stats_bar_png_height, 0, 0, pause_stats_bar_png_width - 1, pause_stats_bar_png_height - 1, 0, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_MIRROR | G_TX_WRAP, 8, 3, G_TX_NOLOD, G_TX_NOLOD),
gsDPSetRenderMode(AA_EN | CVG_DST_FULL | ZMODE_OPA | CVG_X_ALPHA | GBL_c1(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_A_MEM), AA_EN | CVG_DST_FULL | ZMODE_OPA | CVG_X_ALPHA | GBL_c2(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_A_MEM)),
gsDPSetCombineMode(G_CC_DECALRGBA, G_CC_DECALRGBA),
gsSPClearGeometryMode(G_LIGHTING),
gsSPSetGeometryMode(G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH),
gsSPEndDisplayList(),
};
Gfx gPauseDLWorldMap[] = {
gsDPPipeSync(),
gsSPTexture(-1, -1, 0, G_TX_RENDERTILE, G_ON),
gsDPSetCycleType(G_CYC_1CYCLE),
gsDPSetTexturePersp(G_TP_NONE),
gsDPSetTextureDetail(G_TD_CLAMP),
gsDPSetTextureLOD(G_TL_TILE),
gsDPSetTextureLUT(G_TT_RGBA16),
gsDPSetTextureFilter(G_TF_POINT),
gsDPSetTextureConvert(G_TC_FILT),
gsDPLoadTLUT_pal256(pause_world_map_pal),
gsDPSetRenderMode(G_RM_OPA_SURF, G_RM_OPA_SURF2),
gsDPSetCombineMode(G_CC_DECALRGBA, G_CC_DECALRGBA),
gsSPClearGeometryMode(G_CULL_BOTH | G_LIGHTING),
gsSPSetGeometryMode(G_SHADE | G_SHADING_SMOOTH),
gsSPEndDisplayList(),
};
Gfx gPauseDLPathPoints[] = {
gsDPPipeSync(),
gsSPTexture(-1, -1, 0, G_TX_RENDERTILE, G_ON),
gsDPSetCycleType(G_CYC_1CYCLE),
gsDPSetTexturePersp(G_TP_NONE),
gsDPSetTextureDetail(G_TD_CLAMP),
gsDPSetTextureLOD(G_TL_TILE),
gsDPSetTextureFilter(G_TF_POINT),
gsDPSetTextureConvert(G_TC_FILT),
gsDPSetRenderMode(G_RM_CLD_SURF, G_RM_CLD_SURF2),
gsDPSetCombineLERP(PRIMITIVE, 0, TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0),
gsDPSetTextureLUT(G_TT_NONE),
gsDPLoadTextureTile(pause_image_15F570_png, G_IM_FMT_IA, G_IM_SIZ_8b, 16, 16, 0, 0, 15, 15, 0, G_TX_CLAMP, G_TX_CLAMP, 4, 4, G_TX_NOLOD, G_TX_NOLOD),
gsDPSetTextureLUT(G_TT_NONE),
gsDPLoadMultiTile(pause_image_15F670_png, 0x100, 1, G_IM_FMT_IA, G_IM_SIZ_8b, 16, 16, 0, 0, 15, 15, 0, G_TX_CLAMP, G_TX_CLAMP, 4, 4, G_TX_NOLOD, G_TX_NOLOD),
gsSPClearGeometryMode(G_LIGHTING),
gsSPSetGeometryMode(G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH),
gsSPEndDisplayList(),
};
Gfx gPauseDLArrows[] = {
gsDPPipeSync(),
gsSPTexture(-1, -1, 0, G_TX_RENDERTILE, G_ON),
gsDPSetCycleType(G_CYC_1CYCLE),
gsDPSetTexturePersp(G_TP_NONE),
gsDPSetTextureDetail(G_TD_CLAMP),
gsDPSetTextureLOD(G_TL_TILE),
gsDPSetTextureFilter(G_TF_POINT),
gsDPSetTextureConvert(G_TC_FILT),
gsDPSetTextureLUT(G_TT_NONE),
gsDPLoadTextureTile_4b(pause_arrows_png, G_IM_FMT_IA, pause_arrows_png_width, pause_arrows_png_height, 0, 0, pause_arrows_png_width - 1, pause_arrows_png_height - 1, 0, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, 4, 6, G_TX_NOLOD, G_TX_NOLOD),
gsDPSetRenderMode(AA_EN | CVG_DST_FULL | ZMODE_OPA | CVG_X_ALPHA | GBL_c1(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_A_MEM), AA_EN | CVG_DST_FULL | ZMODE_OPA | CVG_X_ALPHA | GBL_c2(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_A_MEM)),
gsDPSetCombineMode(G_CC_DECALRGBA, G_CC_DECALRGBA),
gsSPClearGeometryMode(G_LIGHTING),
gsSPSetGeometryMode(G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH),
gsSPEndDisplayList(),
};
Gfx gPauseDLOrbs[] = {
gsDPPipeSync(),
gsSPTexture(-1, -1, 0, G_TX_RENDERTILE, G_ON),
gsDPSetCycleType(G_CYC_1CYCLE),
gsDPSetTexturePersp(G_TP_NONE),
gsDPSetTextureDetail(G_TD_CLAMP),
gsDPSetTextureLOD(G_TL_TILE),
gsDPSetTextureFilter(G_TF_POINT),
gsDPSetTextureConvert(G_TC_FILT),
gsDPSetTextureLUT(G_TT_NONE),
gsDPLoadTextureTile(pause_orbs_png, G_IM_FMT_RGBA, G_IM_SIZ_16b, pause_orbs_png_width, pause_orbs_png_height, 0, 0, pause_orbs_png_width - 1, pause_orbs_png_height - 1, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, 3, 5, G_TX_NOLOD, G_TX_NOLOD),
gsDPSetRenderMode(AA_EN | CVG_DST_FULL | ZMODE_OPA | CVG_X_ALPHA | GBL_c1(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_A_MEM), AA_EN | CVG_DST_FULL | ZMODE_OPA | CVG_X_ALPHA | GBL_c2(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_A_MEM)),
gsDPSetCombineLERP(0, 0, 0, TEXEL0, PRIMITIVE, 0, TEXEL0, 0, 0, 0, 0, TEXEL0, PRIMITIVE, 0, TEXEL0, 0),
gsSPClearGeometryMode(G_LIGHTING),
gsSPSetGeometryMode(G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH),
gsSPEndDisplayList(),
};
Gfx gPauseDLAvailable[] = {
gsDPPipeSync(),
gsSPTexture(-1, -1, 0, G_TX_RENDERTILE, G_ON),
gsDPSetCycleType(G_CYC_1CYCLE),
gsDPSetTexturePersp(G_TP_NONE),
gsDPSetTextureDetail(G_TD_CLAMP),
gsDPSetTextureLOD(G_TL_TILE),
gsDPSetTextureFilter(G_TF_POINT),
gsDPSetTextureConvert(G_TC_FILT),
gsDPSetTextureLUT(G_TT_RGBA16),
gsDPLoadTLUT_pal16(0, pause_available_pal),
gsDPLoadTextureTile_4b(pause_available_png, G_IM_FMT_CI, pause_available_png_width, pause_available_png_height, 0, 0, pause_available_png_width - 1, pause_available_png_height - 1, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, 6, 4, G_TX_NOLOD, G_TX_NOLOD),
gsDPSetRenderMode(AA_EN | CVG_DST_FULL | ZMODE_OPA | CVG_X_ALPHA | GBL_c1(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_A_MEM), AA_EN | CVG_DST_FULL | ZMODE_OPA | CVG_X_ALPHA | GBL_c2(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_A_MEM)),
gsDPSetCombineMode(G_CC_DECALRGBA, G_CC_DECALRGBA),
gsSPClearGeometryMode(G_LIGHTING),
gsSPSetGeometryMode(G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH),
gsSPEndDisplayList(),
};
Gfx gPauseDLCheckAbilities[] = {
gsDPPipeSync(),
gsSPTexture(-1, -1, 0, G_TX_RENDERTILE, G_ON),
gsDPSetCycleType(G_CYC_1CYCLE),
gsDPSetTexturePersp(G_TP_NONE),
gsDPSetTextureDetail(G_TD_CLAMP),
gsDPSetTextureLOD(G_TL_TILE),
gsDPSetTextureFilter(G_TF_POINT),
gsDPSetTextureConvert(G_TC_FILT),
gsDPSetTextureLUT(G_TT_RGBA16),
gsDPLoadTLUT_pal16(0, pause_prompt_check_abilities_pal),
gsDPLoadTextureTile_4b(pause_prompt_check_abilities_png, G_IM_FMT_CI, pause_prompt_check_abilities_png_width, pause_prompt_check_abilities_png_height, 0, 0, pause_prompt_check_abilities_png_width - 1, pause_prompt_check_abilities_png_height - 1, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, 7, 4, G_TX_NOLOD, G_TX_NOLOD),
gsDPSetRenderMode(AA_EN | CVG_DST_FULL | ZMODE_OPA | CVG_X_ALPHA | GBL_c1(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_A_MEM), AA_EN | CVG_DST_FULL | ZMODE_OPA | CVG_X_ALPHA | GBL_c2(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_A_MEM)),
gsDPSetCombineMode(G_CC_DECALRGBA, G_CC_DECALRGBA),
gsSPClearGeometryMode(G_LIGHTING),
gsSPSetGeometryMode(G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH),
gsSPEndDisplayList(),
};
Gfx gPauseDLSpiritsBg[] = {
gsDPPipeSync(),
gsSPTexture(-1, -1, 0, G_TX_RENDERTILE, G_ON),
gsDPSetCycleType(G_CYC_1CYCLE),
gsDPSetTexturePersp(G_TP_NONE),
gsDPSetTextureDetail(G_TD_CLAMP),
gsDPSetTextureLOD(G_TL_TILE),
gsDPSetTextureLUT(G_TT_RGBA16),
gsDPSetTextureFilter(G_TF_AVERAGE),
gsDPSetTextureConvert(G_TC_FILT),
gsDPLoadTLUT_pal16(0, pause_spirits_bg_pal),
gsDPSetRenderMode(G_RM_OPA_SURF, G_RM_OPA_SURF2),
gsDPSetCombineMode(G_CC_DECALRGBA, G_CC_DECALRGBA),
gsSPClearGeometryMode(G_CULL_BOTH | G_LIGHTING),
gsSPSetGeometryMode(G_SHADE | G_SHADING_SMOOTH),
gsSPEndDisplayList(),
};
s8 gPauseMsg_17[] = { 0x33, 0x54, 0x41, 0x54, 0x53, 0xFD }; // Stats[End]
s8 gPauseMsg_18[] = { 0x22, 0x41, 0x44, 0x47, 0x45, 0xFD }; // Badge[End]
s8 gPauseMsg_19[] = { 0x29, 0x54, 0x45, 0x4D, 0x53, 0xFD }; // Items[End]
s8 gPauseMsg_1A[] = { 0x30, 0x41, 0x52, 0x54, 0x59, 0xFD }; // Party[End]
s8 gPauseMsg_32[] = { 0x23, 0x4F, 0x49, 0x4E, 0x53, 0xFD }; // Coins[End]
s8 gPauseMsg_33[] = { 0x33, 0x54, 0x41, 0x52, 0xF7, 0x30, 0x4F, 0x49, 0x4E, 0x54, 0x53, 0xFD }; // Star Points[End]
s8 gPauseMsg_34[] = { 0x33, 0x54, 0x41, 0x52, 0xF7, 0x30, 0x49, 0x45, 0x43, 0x45, 0x53, 0xFD }; // Star Pieces[End]
s8 gPauseMsg_35[] = { 0x30, 0x4C, 0x41, 0x59, 0xF7, 0x34, 0x49, 0x4D, 0x45, 0xFD }; // Play Time[End]
s8 gPauseMsg_36[] = { 0x28, 0x30, 0xFD }; // HP[End]
s8 gPauseMsg_37[] = { 0x26, 0x30, 0xFD }; // FP[End]
s8 gPauseMsg_38[] = { 0x22, 0x30, 0xFD }; // BP[End]
s8 gPauseMsg_39[] = { 0x0F, 0xFD }; // /[End]
s8 gPauseMsg_3A[] = { 0x0E, 0xFD }; // .[End]
s8 gPauseMsg_3B[] = { 0x2E, 0x4F, 0x4E, 0x45, 0xFD }; // None[End]
s8 gPauseMsg_3C[] = { 0x22, 0x4F, 0x4F, 0x54, 0x53, 0xFD }; // Boots[End]
s8 gPauseMsg_3D[] = { 0x33, 0x55, 0x50, 0x45, 0x52, 0xF7, 0x22, 0x4F, 0x4F, 0x54, 0x53, 0xFD }; // Super Boots[End]
s8 gPauseMsg_3E[] = { 0x35, 0x4C, 0x54, 0x52, 0x41, 0xF7, 0x22, 0x4F, 0x4F, 0x54, 0x53, 0xFD }; // Ultra Boots[End]
s8 gPauseMsg_3F[] = { 0x2E, 0x4F, 0x4E, 0x45, 0xFD }; // None[End]
s8 gPauseMsg_40[] = { 0x28, 0x41, 0x4D, 0x4D, 0x45, 0x52, 0xFD }; // Hammer[End]
s8 gPauseMsg_41[] = { 0x33, 0x55, 0x50, 0x45, 0x52, 0xF7, 0x28, 0x41, 0x4D, 0x4D, 0x45, 0x52, 0xFD }; // Super Hammer[End]
s8 gPauseMsg_42[] = { 0x35, 0x4C, 0x54, 0x52, 0x41, 0xF7, 0x28, 0x41, 0x4D, 0x4D, 0x45, 0x52, 0xFD }; // Ultra Hammer[End]
s8 gPauseMsg_43[] = { 0x2D, 0x41, 0x52, 0x49, 0x4F, 0xFD }; // Mario[End]
s8 gPauseMsg_44[] = { 0x2C, 0x45, 0x56, 0x45, 0x4C, 0xFD }; // Level[End]
s8 gPauseMsg_46[] = { 0x22, 0x30, 0xFD }; // BP[End]
s8 gPauseMsg_47[] = { 0x21, 0x4C, 0x4C, 0xF7, 0x22, 0x41, 0x44, 0x47, 0x45, 0x53, 0xFD }; // All Badges[End]
s8 gPauseMsg_48[] = { 0x21, 0x43, 0x54, 0x49, 0x56, 0x45, 0xFD }; // Active[End]
s8 gPauseMsg_49[] = { 0x22, 0x41, 0x44, 0x47, 0x45, 0x53, 0xFD }; // Badges[End]
s8 gPauseMsg_4A[] = { 0x2E, 0x4F, 0x54, 0xF7, 0x45, 0x4E, 0x4F, 0x55, 0x47, 0x48, 0xF7, 0x22, 0x30, 0xFD }; // Not enough BP[End]
s8 gPauseMsg_4B[] = { 0x24, 0x4F, 0x4E, 0x07, 0x54, 0xF7, 0x57, 0x45, 0x41, 0x52, 0xF7, 0x4D, 0x4F, 0x52, 0x45, 0x01, 0xFD }; // Don't wear more![End]
s8 gPauseMsg_50[] = { 0x29, 0x54, 0x45, 0x4D, 0x53, 0xFD }; // Items[End]
s8 gPauseMsg_4F[] = { 0x2B, 0x45, 0x59, 0xF7, 0x29, 0x54, 0x45, 0x4D, 0x53, 0xFD }; // Key Items[End]
s8 gPauseMsg_53[] = { 0x28, 0x30, 0xFD }; // HP[End]
s8 gPauseMsg_54[] = { 0x26, 0x30, 0xFD }; // FP[End]
s8 gPauseMsg_55[] = { 0x21, 0x42, 0x49, 0x4C, 0x49, 0x54, 0x49, 0x45, 0x53, 0xFD }; // Abilities[End]
s8 gPauseMsg_56[] = { 0x1F, 0x1F, 0x1F, 0xFD }; // ???[End]
s32 gPauseMessages[] = {
MESSAGE_ID(0x00, 0x00), MESSAGE_ID(0x1F, 0x1C), MESSAGE_ID(0x1F, 0x2B), MESSAGE_ID(0x1F, 0x2C),
MESSAGE_ID(0x1F, 0x2D), MESSAGE_ID(0x1F, 0x2E), MESSAGE_ID(0x1F, 0x2F), MESSAGE_ID(0x1F, 0x30),
MESSAGE_ID(0x1F, 0x31), MESSAGE_ID(0x1F, 0x1D), MESSAGE_ID(0x1F, 0x1E), MESSAGE_ID(0x1F, 0x1F),
MESSAGE_ID(0x1F, 0x20), MESSAGE_ID(0x1F, 0x21), MESSAGE_ID(0x1F, 0x22), MESSAGE_ID(0x1F, 0x23),
MESSAGE_ID(0x1F, 0x24), MESSAGE_ID(0x1F, 0x25), MESSAGE_ID(0x1F, 0x26), MESSAGE_ID(0x1F, 0x27),
MESSAGE_ID(0x1F, 0x28), MESSAGE_ID(0x1F, 0x29), MESSAGE_ID(0x1F, 0x2A), (s32)gPauseMsg_17,
(s32)gPauseMsg_18, (s32)gPauseMsg_19, (s32)gPauseMsg_1A, MESSAGE_ID(0x1F, 0x01),
MESSAGE_ID(0x1F, 0x02), MESSAGE_ID(0x1F, 0x03), MESSAGE_ID(0x1F, 0x04), MESSAGE_ID(0x1F, 0x05),
MESSAGE_ID(0x1F, 0x06), MESSAGE_ID(0x1F, 0x07), MESSAGE_ID(0x1F, 0x08), MESSAGE_ID(0x1F, 0x09),
MESSAGE_ID(0x1F, 0x0A), MESSAGE_ID(0x1F, 0x0B), MESSAGE_ID(0x1F, 0x0C), MESSAGE_ID(0x1F, 0x0D),
MESSAGE_ID(0x1F, 0x0E), MESSAGE_ID(0x1F, 0x0F), MESSAGE_ID(0x1F, 0x10), MESSAGE_ID(0x1F, 0x11),
MESSAGE_ID(0x1F, 0x12), MESSAGE_ID(0x1F, 0x13), MESSAGE_ID(0x1F, 0x14), MESSAGE_ID(0x1F, 0x15),
MESSAGE_ID(0x1F, 0x16), MESSAGE_ID(0x1F, 0x17), (s32)gPauseMsg_32, (s32)gPauseMsg_33,
(s32)gPauseMsg_34, (s32)gPauseMsg_35, (s32)gPauseMsg_36, (s32)gPauseMsg_37,
(s32)gPauseMsg_38, (s32)gPauseMsg_39, (s32)gPauseMsg_3A, (s32)gPauseMsg_3B,
(s32)gPauseMsg_3C, (s32)gPauseMsg_3D, (s32)gPauseMsg_3E, (s32)gPauseMsg_3F,
(s32)gPauseMsg_40, (s32)gPauseMsg_41, (s32)gPauseMsg_42, (s32)gPauseMsg_43,
(s32)gPauseMsg_44, MESSAGE_ID(0x1F, 0x00), (s32)gPauseMsg_46, (s32)gPauseMsg_47,
(s32)gPauseMsg_48, (s32)gPauseMsg_49, (s32)gPauseMsg_4A, (s32)gPauseMsg_4B,
MESSAGE_ID(0x1F, 0x1A), MESSAGE_ID(0x1F, 0x1B), MESSAGE_ID(0x1F, 0x00), (s32)gPauseMsg_4F,
(s32)gPauseMsg_50, MESSAGE_ID(0x1F, 0x19), MESSAGE_ID(0x1F, 0x18), (s32)gPauseMsg_53,
(s32)gPauseMsg_54, (s32)gPauseMsg_55, (s32)gPauseMsg_56
};
Gfx* gPauseDLLabels[] = {
gPauseDLBannerHp, gPauseDLBannerFp, gPauseDLBannerBp, gPauseDLBannerBoots, gPauseDLBannerHammer,
gPauseDLBannerStarEnergy, gPauseDLStatsBar, gPauseDLAvailable, gPauseDLCheckAbilities
};
s32 pause_get_menu_msg(s32 index) {
return gPauseMessages[index];
}
void pause_draw_menu_label(s32 index, s32 x, s32 y) {
s32 xOffset = 64;
if (index == 8) {
xOffset = 128;
}
if (index == 3) {
xOffset = 48;
}
if (index == 4) {
xOffset = 48;
}
if (index == 5) {
xOffset = 48;
}
if (index == 6) {
xOffset = 160;
}
gSPDisplayList(gMasterGfxPos++, gPauseDLLabels[index]);
pause_draw_rect(x * 4, y * 4, (x + xOffset) * 4, (y + 16) * 4, 0, 0, 0, 0x400, 0x400);
}
BSS s8 gPauseBufferPal1[512];
BSS s8 gPauseBufferImg1[15752];
BSS s8 gPauseBufferPal2[512];
BSS s8 gPauseBufferImg2[15752];

View File

@ -1,14 +1,68 @@
#include "common.h"
#include "hud_element.h"
#include "pause_common.h"
struct struct8024F5C0 {
char unk00[0x10];
s32* unk10;
char unk14[0x10];
void pause_items_draw_contents(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening);
void pause_items_init(MenuPanel* panel);
void pause_items_handle_input(MenuPanel* panel);
void pause_items_update(MenuPanel* panel);
void pause_items_cleanup(MenuPanel* panel);
static s16 gPauseItemsItemIDs[100];
static s32 gPauseItemsCurrentPage;
static s32 D_802704CC;
static PauseItemPage gPauseItemsPages[20];
static s32 gPauseItemsSelectedIndex;
static u32 D_802705C4;
static s32 gPauseItemsSelectedItem;
static s16 gPauseItemsNumItems;
static s32 D_802705D0;
static s32 gPauseItemsCurrentScrollPos;
static s32 gPauseItemsTargetScrollPos;
static s32 gPauseItemsTargetScrollIndex;
static s32 gPauseItemsLevel;
static s32 gPauseItemsCurrentTab;
static s32 gPauseItemsIconIDs[20];
#define ITEM_NONE_STANDIN 0x7FFE
#define ITEM_INVALID 0x7FFF
HudScript* gPauseItemsElements[] = {
HudScript_StatBp, HudScript_StatBp, HudScript_StatBp, HudScript_StatBp, HudScript_StatBp,
HudScript_StatBp, HudScript_StatBp, HudScript_StatBp, HudScript_StatBp, HudScript_StatBp,
HudScript_StatBp, HudScript_StatBp, HudScript_StatBp, HudScript_StatBp, HudScript_StatBp,
HudScript_StatBp, HudScript_ListPrevPage, HudScript_ListNextPage, HudScript_Dash,
HudScript_StatusStar1
};
MenuWindowBP gPauseItemsWindowBPs[] = {
{
.windowID = WINDOW_ID_PAUSE_ITEMS,
.unk_01 = 0,
.pos = { .x = 3, .y = 16 },
.width = 289,
.height = 154,
.unk_0A = { 1, 0},
.fpDrawContents = &pause_items_draw_contents,
.tab = NULL,
.parentID = WINDOW_ID_PAUSE_MAIN,
.fpUpdate = { 2 },
.unk_1C = 0,
.style = &gPauseWS_19
}
};
MenuPanel gPausePanelItems = {
.initialized = FALSE,
.col = 0,
.row = 0,
.selected = 0,
.page = 0,
.numCols = 0,
.numRows = 0,
.numPages = 0,
.gridData = NULL,
.fpInit = &pause_items_init,
.fpHandleInput = &pause_items_handle_input,
.fpUpdate = &pause_items_update,
.fpCleanup = &pause_items_cleanup
};
extern struct struct8024F5C0 D_8024F5C0[1];
extern s32 D_8024F570[];
s32 pause_items_comparator(s16* a, s16* b) {
if (*a > *b) {
@ -35,25 +89,264 @@ s32 pause_items_get_row(s32 page, s32 itemIdx) {
}
s32 pause_items_is_visible(s32 y) {
if (y < gItemMenuCurrentScrollPos - 32) {
if (y < gPauseItemsCurrentScrollPos - 32) {
return FALSE;
}
return y < gItemMenuCurrentScrollPos + 128;
return y < gPauseItemsCurrentScrollPos + 128;
}
s32 pause_items_scroll_offset_y(s32 beforeY) {
return beforeY - gItemMenuCurrentScrollPos;
return beforeY - gPauseItemsCurrentScrollPos;
}
s32 pause_items_scroll_offset_x(s32 beforeX) {
return beforeX;
}
INCLUDE_ASM(s32, "pause/pause_items", pause_items_draw_contents);
void pause_items_draw_contents(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening) {
s32 i, pageIndex, itemIndex;
s32 totalItemIndex;
s32 currentItemRow;
s32 currentItemColumn;
s32 style;
s32 palette;
s32 posX, posY;
s32 sp6C;
s32 sp70;
s32 isNone;
s32* sp78;
PauseItemPage* page;
s32 x1, y1, x2, y2;
s16 itemID;
s32 isSelected, itemOffsetX, itemOffsetY;
s32* iconIDs;
s32 itemIcon;
s32 msg, msgX, msgY, opacity1;
s32 selectedPosX, selectedPosY;
s32 cursorOffsetX, cursorOffsetY;
extern u32 D_802705C4;
style = 1;
palette = 10;
currentItemColumn = gPauseItemsSelectedIndex / gPauseItemsPages[gPauseItemsCurrentPage].numCols;
currentItemRow = gPauseItemsSelectedIndex % gPauseItemsPages[gPauseItemsCurrentPage].numCols;
draw_box(4, &gPauseWS_18, baseX + 68, baseY, 0, width - 68, height, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 0);
x1 = baseX + 1;
y1 = baseY + 7;
x2 = baseX + width - 1;
y2 = baseY + height - 7;
if (x1 <= 0) {
x1 = 1;
}
if (y1 <= 0) {
y1 = 1;
}
if (x2 <= 0 || y2 <= 0 || x1 >= SCREEN_WIDTH - 1 || y1 >= SCREEN_HEIGHT - 1) {
return;
}
if (x2 >= SCREEN_WIDTH - 1) {
x2 = SCREEN_WIDTH - 1;
}
if (y2 >= SCREEN_HEIGHT - 1) {
y2 = SCREEN_HEIGHT - 1;
}
totalItemIndex = 0;
sp6C = baseX + 119;
sp70 = baseY + 17;
gDPSetScissor(gMasterGfxPos++, G_SC_NON_INTERLACE, x1, y1, x2, y2);
for (i = 0; i < 3; i++) {
for (pageIndex = 0; pageIndex < 20; pageIndex++) {
iconIDs = gPauseItemsIconIDs;
page = &gPauseItemsPages[pageIndex];
if (!page->enabled) {
break;
}
pause_items_get_pos_y(pageIndex, 0);
for (itemIndex = 0; itemIndex < page->count; itemIndex++) {
itemID = gPauseItemsItemIDs[page->startIndex + itemIndex];
isSelected = FALSE;
if (itemID == ITEM_INVALID) {
continue;
}
posX = pause_items_get_pos_x(pageIndex, itemIndex);
posY = pause_items_get_pos_y(pageIndex, itemIndex);
isNone = itemID == ITEM_NONE_STANDIN;
if (gPauseMenuCurrentTab == 3 &&
gPauseItemsLevel == 1 &&
pause_items_get_column(pageIndex, itemIndex) == currentItemRow &&
pause_items_get_row(pageIndex, itemIndex) == currentItemColumn) {
isSelected = TRUE;
}
itemOffsetX = 0;
itemOffsetY = 0;
if (isSelected) {
itemOffsetX = -1;
itemOffsetY = -1;
}
if (i == 0) {
style = 1;
palette = 10;
if (isSelected) {
style = 9;
}
}
if (!pause_items_is_visible(posY)) {
continue;
}
if (i == 0) {
if (isNone) {
draw_msg(pause_get_menu_msg(0x4E), sp6C + pause_items_scroll_offset_x(posX) + itemOffsetX,
sp70 + pause_items_scroll_offset_y(posY) + itemOffsetY, 255, palette, style);
} else {
if (gItemTable[itemID].nameMsg) {
if (gItemTable[itemID].nameMsg > 0) {
draw_msg(gItemTable[itemID].nameMsg, sp6C + pause_items_scroll_offset_x(posX) + itemOffsetX,
sp70 + pause_items_scroll_offset_y(posY) + itemOffsetY, 255, palette, style);
}
}
}
}
if (i == 1) {
itemIcon = iconIDs[totalItemIndex];
clear_hud_element_flags(itemIcon, 0x20000000);
set_hud_element_flags(itemIcon, 0x8000);
if (isNone) {
itemIcon = gPauseItemsIconIDs[19];
} else {
if (isSelected) {
set_hud_element_flags(itemIcon, 0x20000000);
gPauseCurrentDescIconScript = gItemHudScripts[gItemTable[itemID].iconID].enabled;
}
set_hud_element_anim(itemIcon, gItemHudScripts[gItemTable[itemID].iconID].enabled);
set_hud_element_scale(itemIcon, 0.670816f);
}
set_hud_element_render_pos(itemIcon, baseX + 105 + pause_items_scroll_offset_x(posX) + itemOffsetX,
baseY + 23 + pause_items_scroll_offset_y(posY) + itemOffsetY);
if (totalItemIndex == 0) {
draw_hud_element_3(itemIcon);
} else {
draw_hud_element_2(itemIcon);
}
totalItemIndex++;
}
}
}
}
x1 = baseX + 1;
y1 = baseY + 1;
x2 = baseX + width - 1;
y2 = baseY + height - 1;
gDPPipeSync(gMasterGfxPos++);
if (x1 <= 0) {
x1 = 1;
}
if (y1 <= 0) {
y1 = 1;
}
if (x2 <= 0 || y2 <= 0 || x1 >= SCREEN_WIDTH - 1 || y1 >= SCREEN_HEIGHT - 1) {
return;
}
if (x2 >= SCREEN_WIDTH - 1) {
x2 = SCREEN_WIDTH - 1;
}
if (y2 >= SCREEN_HEIGHT - 1) {
y2 = SCREEN_HEIGHT - 1;
}
gDPSetScissor(gMasterGfxPos++, G_SC_NON_INTERLACE, x1, y1, x2, y2);
if (gPauseMenuCurrentTab == 3 && gPauseItemsLevel == 1) {
if (gPauseItemsCurrentPage > 0) {
set_hud_element_render_pos(gPauseItemsIconIDs[16], baseX + 278, baseY + 14);
draw_hud_element_3(gPauseItemsIconIDs[16]);
}
if (gPauseItemsPages [gPauseItemsCurrentPage + 1].enabled) {
set_hud_element_render_pos(gPauseItemsIconIDs[17], baseX + 278, baseY + 146);
draw_hud_element_3(gPauseItemsIconIDs[17]);
}
}
draw_box(4, &gPauseWS_17, gPauseItemsCurrentTab == 0 ? baseX + 9 : baseX, baseY + 7, 0,
91, 34, 255, gPauseItemsCurrentTab == 1 ? 128 : 0, 0, 0,
0, 0, 0, 0, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 0);
msg = pause_get_menu_msg(0x4F);
msgX = baseX + 12;
if (gPauseItemsCurrentTab == 0) {
msgX = baseX + 21;
}
opacity1 = 255;
msgY = baseY + 17;
if (gPauseItemsCurrentTab == 1) {
opacity1 = 191;
}
draw_msg(msg, msgX, msgY, opacity1, 0, 1);
draw_box(4, &gPauseWS_17, gPauseItemsCurrentTab == 1 ? baseX + 9 : baseX, baseY + 39, 0,
91, 34, 255, gPauseItemsCurrentTab == 0 ? 128 : 0, 0, 0,
0, 0, 0, 0, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 0);
msg = pause_get_menu_msg(0x50);
msgX = baseX + 25;
if (gPauseItemsCurrentTab == 1) {
msgX = baseX + 34;
}
opacity1 = 255;
msgY = baseY + 49;
if (gPauseItemsCurrentTab == 0) {
opacity1 = 191;
}
draw_msg(msg, msgX, msgY, opacity1, 0, 1);
if (gPauseMenuCurrentTab == 3) {
if (gPauseItemsLevel == 0) {
pause_set_cursor_pos(WINDOW_ID_PAUSE_ITEMS, baseX + 12, baseY + 26 + gPauseItemsCurrentTab * 32);
} else {
selectedPosX = pause_items_get_pos_x(gPauseItemsCurrentPage, gPauseItemsSelectedIndex - gPauseItemsPages[gPauseItemsCurrentPage].listStart * gPauseItemsPages[gPauseItemsCurrentPage].numCols);
selectedPosY = pause_items_get_pos_y(gPauseItemsCurrentPage, gPauseItemsSelectedIndex - gPauseItemsPages[gPauseItemsCurrentPage].listStart * gPauseItemsPages[gPauseItemsCurrentPage].numCols);
cursorOffsetX = pause_items_scroll_offset_x(selectedPosX);
cursorOffsetY = pause_items_scroll_offset_y(selectedPosY);
if (cursorOffsetY < 0) {
cursorOffsetY = 0;
} else if (cursorOffsetY > 112) {
cursorOffsetY = 112;
}
if (gPauseItemsCurrentScrollPos != gPauseItemsTargetScrollPos) {
pause_set_cursor_pos_immediate(WINDOW_ID_PAUSE_ITEMS, baseX + 85 + cursorOffsetX, baseY + 23 + cursorOffsetY);
} else {
pause_set_cursor_pos(WINDOW_ID_PAUSE_ITEMS, baseX + 85 + cursorOffsetX, baseY + 23 + cursorOffsetY);
}
}
}
}
#ifdef NON_EQUIVALENT
void pause_items_load_items(s32 invItems) {
PlayerData* playerData = &gPlayerData;
s32 i;
@ -67,122 +360,233 @@ void pause_items_load_items(s32 invItems) {
D_802705D0 = 0;
if (invItems == TRUE) {
for (i = 0, itemIDs = &gItemMenuItemIDs; i < ARRAY_COUNT(playerData->invItems); i++) {
for (i = 0; i < ARRAY_COUNT(playerData->invItems); i++) {
if (playerData->invItems[i] != 0) {
itemIDs[totalItems] = playerData->invItems[i];
gPauseItemsItemIDs[totalItems] = playerData->invItems[i];
totalItems++;
}
}
} else {
for (i = 0, itemIDs = &gItemMenuItemIDs; i < ARRAY_COUNT(playerData->keyItems); i++) {
for (i = 0; i < ARRAY_COUNT(playerData->keyItems); i++) {
if (playerData->keyItems[i] != 0) {
itemIDs[totalItems] = playerData->keyItems[i];
gPauseItemsItemIDs[totalItems] = playerData->keyItems[i];
totalItems++;
}
}
}
if (totalItems == 0) {
gItemMenuItemIDs[0] = 0x7FFE;
gPauseItemsItemIDs[0] = ITEM_NONE_STANDIN;
totalItems = 1;
} else {
pause_sort_item_list(&gItemMenuItemIDs, totalItems, pause_items_comparator);
pause_sort_item_list(gPauseItemsItemIDs, totalItems, pause_items_comparator);
}
gItemMenuNumItems = totalItems;
gPauseItemsNumItems = totalItems;
for (items = totalItems; items < 100; items++) {
itemMenuItemIDs = &gItemMenuItemIDs;
itemMenuItemIDs[items] = 0x7FFF;
for (i = totalItems; i < ARRAY_COUNT(gPauseItemsItemIDs); i++) {
gPauseItemsItemIDs[i] = ITEM_INVALID;
}
page = &gItemMenuPages;
pageNum = 0;
itemMenuNumItems = &gItemMenuNumItems;
gItemMenuSelectedIndex = 0;
gItemMenuSelectedItemID = 0;
page = gPauseItemsPages;
gPauseItemsSelectedIndex = 0;
gPauseItemsSelectedItem = 0;
D_802705C4 = 0;
D_802705DC = 0;
gItemMenuCurrentPage = 0;
gPauseItemsTargetScrollIndex = 0;
gPauseItemsCurrentPage = 0;
while (pageNum < *itemMenuNumItems / 8) {
page->listStart = pageNum * 8;
for (i = 0; i < gPauseItemsNumItems / 8; i++, page++) {
page->listStart = i * 8;
page->numCols = 1;
page->numRows = 8;
page->enabled = 1;
page->startIndex = pageNum * 8;
page->enabled = TRUE;
page->startIndex = i * 8;
page->count = 8;
pageNum++;
page++;
}
if ((*itemMenuNumItems % 8) != 0) {
page->listStart = pageNum * 8;
if ((gPauseItemsNumItems % 8) != 0) {
page->listStart = i * 8;
page->numCols = 1;
page->enabled = 1;
page->startIndex = pageNum * 8;
page->count = *itemMenuNumItems % 8;
page->numRows = (u8) page->count;
pageNum++;
page->enabled = TRUE;
page->startIndex = i * 8;
page->count = gPauseItemsNumItems % 8;
page->numRows = page->count;
i++;
page++;
}
while (pageNum < ARRAY_COUNT(gItemMenuPages)) {
page->enabled = NULL;
pageNum++;
page++;
for (; i < ARRAY_COUNT(gPauseItemsPages); i++, page++) {
page->enabled = FALSE;
}
gItemMenuTargetScrollPos = gItemMenuCurrentScrollPos = pause_items_get_pos_y(0, 0);
gPauseItemsTargetScrollPos = gPauseItemsCurrentScrollPos = pause_items_get_pos_y(0, 0);
}
#else
INCLUDE_ASM(s32, "pause/pause_items", pause_items_load_items);
#endif
void pause_items_init(s8* arg0) {
void pause_items_init(MenuPanel* panel) {
s32 i;
gItemMenuLevel = 0;
gItemMenuCurrentTab = 0;
gPauseItemsLevel = 0;
gPauseItemsCurrentTab = 0;
pause_items_load_items(FALSE);
for (i = 0; i < ARRAY_COUNT(gItemIcons); i++) {
gItemIcons[i] = create_hud_element(D_8024F570[i]);
set_hud_element_flags(gItemIcons[i], 0x80);
for (i = 0; i < ARRAY_COUNT(gPauseItemsIconIDs); i++) {
gPauseItemsIconIDs[i] = create_hud_element(gPauseItemsElements[i]);
set_hud_element_flags(gPauseItemsIconIDs[i], 0x80);
}
for (i = 0; i < ARRAY_COUNT(D_8024F5C0); i++) {
D_8024F5C0[i].unk10 = arg0;
for (i = 0; i < ARRAY_COUNT(gPauseItemsWindowBPs); i++) {
gPauseItemsWindowBPs[i].tab = panel;
}
setup_pause_menu_tab(&D_8024F5C0, 1);
*arg0 = 1;
setup_pause_menu_tab(gPauseItemsWindowBPs, ARRAY_COUNT(gPauseItemsWindowBPs));
panel->initialized = TRUE;
}
INCLUDE_ASM(s32, "pause/pause_items", pause_items_handle_input);
void pause_items_handle_input(MenuPanel* panel) {
s32 oldTab;
s32 oldSelectedIndex = gPauseItemsSelectedIndex;
s32 row = gPauseItemsSelectedIndex / gPauseItemsPages[gPauseItemsCurrentPage].numCols;
s32 column = gPauseItemsSelectedIndex % gPauseItemsPages[gPauseItemsCurrentPage].numCols;
void pause_items_update(void) {
PauseItemPage* menuPage = &gItemMenuPages[gItemMenuCurrentPage];
s32 selectedIndex = (gItemMenuSelectedIndex / menuPage->numCols) - menuPage->listStart;
if (selectedIndex < 2 || menuPage->numRows < 9) {
D_802705DC = 0;
} else if (selectedIndex >= (menuPage->numRows - 2)) {
D_802705DC = menuPage->numRows - 8;
} else if ((selectedIndex - D_802705DC) > 6) {
D_802705DC = selectedIndex - 6;
} else if ((selectedIndex - D_802705DC) < 1) {
D_802705DC = selectedIndex - 1;
if ((gPausePressedButtons & BUTTON_A) && gPauseItemsLevel == 0) {
if (gPauseItemsItemIDs[gPauseItemsSelectedIndex] == ITEM_NONE_STANDIN) {
sfx_play_sound(SOUND_MENU_ERROR);
} else {
gPauseItemsLevel = 1;
sfx_play_sound(SOUND_MENU_NEXT);
}
return;
}
gItemMenuTargetScrollPos = pause_items_get_pos_y(gItemMenuCurrentPage, D_802705DC * menuPage->numCols);
gItemMenuCurrentScrollPos += pause_interp_vertical_scroll(gItemMenuTargetScrollPos - gItemMenuCurrentScrollPos);
if (gPauseItemsNumItems != 0) {
if (gPauseItemsLevel == 0) {
oldTab = gPauseItemsCurrentTab;
if (gPauseHeldButtons & (BUTTON_STICK_UP|BUTTON_STICK_DOWN)) {
gPauseItemsCurrentTab ^= 1;
}
if (oldTab != gPauseItemsCurrentTab) {
sfx_play_sound(SOUND_MENU_CHANGE_TAB);
pause_items_load_items(gPauseItemsCurrentTab);
}
} else {
if (gPauseHeldButtons & (BUTTON_STICK_UP|BUTTON_Z)) {
row--;
if (gPauseHeldButtons & BUTTON_STICK_UP) {
if (row < 0) {
row = 0;
}
if (row < gPauseItemsPages[gPauseItemsCurrentPage].listStart) {
gPauseItemsCurrentPage--;
}
} else {
gPauseItemsCurrentPage--;
if (gPauseItemsCurrentPage < 0) {
gPauseItemsCurrentPage = 0;
}
row = gPauseItemsPages[gPauseItemsCurrentPage].listStart;
}
}
if (gPauseHeldButtons & (BUTTON_STICK_DOWN|BUTTON_R)) {
if (gPauseHeldButtons & BUTTON_STICK_DOWN) {
row++;
if (row >= gPauseItemsPages[gPauseItemsCurrentPage].listStart + gPauseItemsPages[gPauseItemsCurrentPage].numRows) {
gPauseItemsCurrentPage++;
if (!gPauseItemsPages[gPauseItemsCurrentPage].enabled) {
gPauseItemsCurrentPage--;
row--;
}
}
} else {
gPauseItemsCurrentPage++;
if (!gPauseItemsPages[gPauseItemsCurrentPage].enabled) {
gPauseItemsCurrentPage--;
} else {
row = gPauseItemsPages[gPauseItemsCurrentPage].listStart;
}
}
}
if (gPauseItemsItemIDs[row * gPauseItemsPages[gPauseItemsCurrentPage].numCols] != ITEM_NONE_STANDIN) {
if (gPauseHeldButtons & BUTTON_STICK_LEFT) {
column--;
if (column < 0) {
column = gPauseItemsPages[gPauseItemsCurrentPage].numCols - 1;
}
} else if (gPauseHeldButtons & BUTTON_STICK_RIGHT) {
column++;
if (column >= gPauseItemsPages[gPauseItemsCurrentPage].numCols) {
column = 0;
}
}
} else {
column = 0;
}
gPauseItemsSelectedIndex = column + row * gPauseItemsPages[gPauseItemsCurrentPage].numCols;
if (gPauseItemsSelectedIndex != oldSelectedIndex) {
sfx_play_sound(SOUND_MENU_CHANGE_SELECTION);
}
gPauseItemsSelectedItem = gPauseItemsItemIDs[gPauseItemsSelectedIndex];
}
}
if (gPauseItemsLevel == 1) {
if (gPauseItemsSelectedItem != ITEM_NONE_STANDIN && gPauseItemsSelectedItem != ITEM_INVALID && gPauseItemsSelectedItem != 0) {
gPauseCurrentDescMsg = gItemTable[gPauseItemsSelectedItem].menuMsg;
} else {
gPauseCurrentDescMsg = 0;
gPauseCurrentDescIconScript = NULL;
}
} else {
if (gPauseItemsCurrentTab == 1) {
gPauseCurrentDescMsg = pause_get_menu_msg(0x51);
} else {
gPauseCurrentDescMsg = pause_get_menu_msg(0x52);
}
gPauseCurrentDescIconScript = NULL;
}
if (gPausePressedButtons & BUTTON_B) {
if (gPauseItemsLevel == 0) {
sfx_play_sound(SOUND_MENU_BACK);
gPauseMenuCurrentTab = 0;
} else {
sfx_play_sound(SOUND_MENU_BACK);
gPauseItemsLevel = 0;
}
}
}
void pause_items_cleanup(void) {
void pause_items_update(MenuPanel* panel) {
PauseItemPage* page = &gPauseItemsPages[gPauseItemsCurrentPage];
s32 selectedIndex = (gPauseItemsSelectedIndex / page->numCols) - page->listStart;
if (selectedIndex < 2 || page->numRows < 9) {
gPauseItemsTargetScrollIndex = 0;
} else if (selectedIndex >= page->numRows - 2) {
gPauseItemsTargetScrollIndex = page->numRows - 8;
} else if (selectedIndex - gPauseItemsTargetScrollIndex > 6) {
gPauseItemsTargetScrollIndex = selectedIndex - 6;
} else if (selectedIndex - gPauseItemsTargetScrollIndex < 1) {
gPauseItemsTargetScrollIndex = selectedIndex - 1;
}
gPauseItemsTargetScrollPos = pause_items_get_pos_y(gPauseItemsCurrentPage, gPauseItemsTargetScrollIndex * page->numCols);
gPauseItemsCurrentScrollPos += pause_interp_vertical_scroll(gPauseItemsTargetScrollPos - gPauseItemsCurrentScrollPos);
}
void pause_items_cleanup(MenuPanel* panel) {
s32 i;
for (i = 0; i < ARRAY_COUNT(gItemIcons); i++) {
free_hud_element(gItemIcons[i]);
for (i = 0; i < ARRAY_COUNT(gPauseItemsIconIDs); i++) {
free_hud_element(gPauseItemsIconIDs[i]);
}
}

873
src/pause/pause_main.c Normal file
View File

@ -0,0 +1,873 @@
#include "ld_addrs.h"
#include "sprite.h"
#include "pause_common.h"
#include "sprite/npc/goombaria.h"
#include "sprite/npc/world_goombario.h"
#include "sprite/npc/goompa.h"
extern MenuPanel gPausePanelTabs;
extern MenuPanel gPausePanelStats;
extern MenuPanel gPausePanelBadges;
extern MenuPanel gPausePanelItems;
extern MenuPanel gPausePanelPartners;
extern MenuPanel gPausePanelSpirits;
extern MenuPanel gPausePanelMap;
void pause_tutorial_draw_contents(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening);
void pause_main_draw_contents(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening);
void pause_textbox_draw_contents(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening);
void pause_draw_cursor(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening);
BSS s32 gPauseHeldButtons;
BSS s32 gPausePressedButtons;
BSS s32 gPauseCurrentDescMsg;
BSS HudScript* gPauseCurrentDescIconScript;
BSS s32 gPauseCursorIconID;
BSS s8 gPauseMenuCurrentTab;
BSS s8 D_802700D[7]; //padding
static s32 gPauseTutorialFrameCounter;
static s32 D_802700E4;
static s32 gPauseCommonIconIDs[8];
static s32 gPauseShownDescMsg;
static s32 gPauseDescTextMaxPos;
static s32 gPauseDescTextPos;
static s32 gPauseDescTextOffset;
static HudScript* gPauseShownDescIconScript;
static s32 gPauseTutorialSprites[3];
static HudScript* gPauseIconScripts[] = {
HudScript_AnimatedCursorHand, HudScript_DescMsgPrev, HudScript_DescMsgNext, HudScript_UnusedBadge,
HudScript_StickTapRight, HudScript_PressAButton, HudScript_PressStartButton, HudScript_StartButtonText
};
MenuPanel* gPausePanels[] = {
&gPausePanelTabs, &gPausePanelStats, &gPausePanelBadges, &gPausePanelItems, &gPausePanelPartners,
&gPausePanelSpirits, &gPausePanelMap
};
s32 gPauseCursorPosX = 160;
s32 gPauseCursorPosY = -120;
s32 gPauseCursorOpacity = 0;
s32 gPauseCursorTargetPosX = 160;
s32 gPauseCursorTargetPosY = -120;
s32 gPauseCursorTargetOpacity = 0;
u32 D_8024EFB4 = 1;
s16 D_8024EFB8[] = { -10, -25, -42, -60, -80 }; //unused
u8 gPauseWindowFlipUpFlags[] = { 1, 1, 1, 1, 1, 0, 0};
s16 gPauseWindowFlipUpAngles[] = { -80, -65, -38, -30, -10, 0 };
s16 gPauseWindowFlipUpAngles_2[] = { 80, 65, 38, 30, 10, 0 };
u8 gPauseWindowFlipDownFlags[] = { 1, 1, 1, 1, 1, 1, 0, 0 };
u8 D_8024EFEC[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x11, 0x00, 0x25, 0x00, 0x3C,
0x00, 0x55, 0x00, 0x6E }; //unused
s16 gPauseWindowFlipDownAngles[] = { -10, -25, -42, -60, -80};
s16 gPauseWindowFlipDownAngles_2[] = { 10, 25, 42, 60, 80 };
s32 gPauseTutorialState = -1;
s32 gPauseTutorialInputState = 3;
s32 gPauseTutorialButtons[] = { BUTTON_A, BUTTON_STICK_RIGHT, BUTTON_A, BUTTON_A, BUTTON_A, BUTTON_A, BUTTON_START };
s32 gPauseTutorialDescMessages[] = { 9, 10, 11, 12, 13, 14, 15 };
s32 gPauseTutorialCmdMessages[] = { 16, 17, 18, 19, 20, 21, 22 };
s32 D_8024F074[] = { 2, 3, 4, 5, 6, 7, 8 }; // unused
s32 gPauseTutorialIconIDs[] = { 5, 4, 5, 5, 5, 5, 6 };
u8 gPauseMenuTextScrollInterpEasingLUT[] = { 0, 1, 2, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8};
u8 gPauseMenuPageScrollInterpEasingLUT[] = { 0, 1, 2, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8};
s32 gPauseTutorialSpriteAnims[][4] = {
{
NPC_ANIM_goombaria_Palette_00_Anim_0,
NPC_ANIM_goombaria_Palette_00_Anim_1,
NPC_ANIM_goombaria_Palette_00_Anim_B,
ANIM_END
},
{
NPC_ANIM_world_goombario_normal_still,
NPC_ANIM_world_goombario_normal_idle,
NPC_ANIM_world_goombario_normal_talk,
ANIM_END
},
{
NPC_ANIM_goompa_Palette_00_Anim_0,
NPC_ANIM_goompa_Palette_00_Anim_1,
NPC_ANIM_goompa_Palette_00_Anim_8,
ANIM_END
}
};
Vp gPauseTutorialViewport = {
.vp = {
.vscale = { 640, 480, 511, 0 },
.vtrans = { 640, 480, 511, 0 },
}
};
s32 gPauseTutorialScrollPos = 0;
MenuWindowBP gPauseCommonWindowsBPs[] = {
{
.windowID = WINDOW_ID_PAUSE_MAIN,
.unk_01 = 0,
.pos = { .x = 12, .y = 20 },
.width = 296,
.height = 200,
.unk_0A = { 0, 0 },
.fpDrawContents = &pause_main_draw_contents,
.tab = NULL,
.parentID = WINDOW_ID_NONE,
.fpUpdate = { 1 },
.unk_1C = 0x40000000,
.style = &gPauseWS_0
},
{
.windowID = WINDOW_ID_PAUSE_TUTORIAL,
.unk_01 = 0,
.pos = { .x = 0, .y = 138 },
.width = 296,
.height = 63,
.unk_0A = { 0, 0 },
.fpDrawContents = &pause_tutorial_draw_contents,
.tab = NULL,
.parentID = WINDOW_ID_PAUSE_MAIN,
.fpUpdate = { 2 },
.unk_1C = 0,
.style = &gPauseWS_2
},
{
.windowID = WINDOW_ID_PAUSE_DECRIPTION,
.unk_01 = 0,
.pos = { .x = 20, .y = 164 },
.width = 256,
.height = 32,
.unk_0A = { 0, 0 },
.fpDrawContents = &pause_textbox_draw_contents,
.tab = NULL,
.parentID = WINDOW_ID_PAUSE_MAIN,
.fpUpdate = { .func = &basic_window_update },
.unk_1C = 0,
.style = &gPauseWS_1
},
{
.windowID = WINDOW_ID_PAUSE_CURSOR,
.unk_01 = 0,
.pos = { .x = 0, .y = 0 },
.width = SCREEN_WIDTH,
.height = SCREEN_HEIGHT,
.unk_0A = { 0, 0 },
.fpDrawContents = &pause_draw_cursor,
.tab = NULL,
.parentID = WINDOW_ID_NONE,
.fpUpdate = { 1 },
.unk_1C = 0,
.style = &gPauseWS_0
}
};
void pause_set_cursor_opacity(s32 val) {
gPauseCursorTargetOpacity = val;
}
void pause_set_cursor_pos_immediate(s32 windowID, s32 posX, s32 posY) {
Window* window = &gWindows[windowID];
if (D_8024EFB4 != 0
|| get_game_mode() == GAME_MODE_END_FILE_SELECT
|| get_game_mode() == GAME_MODE_END_LANGUAGE_SELECT) {
if (D_8024EFB4 != 0) {
s32 i;
for (i = WINDOW_ID_PAUSE_MAIN; i < WINDOW_ID_PAUSE_CURSOR; i++) {
Window* window = &gWindows[i];
s8 parent = window->parent;
if ((parent == WINDOW_ID_NONE || parent == WINDOW_ID_PAUSE_MAIN) && (window->flags & WINDOW_FLAGS_8)) {
break;
}
}
if (i >= WINDOW_ID_PAUSE_CURSOR) {
D_8024EFB4 = 0;
}
}
gPauseCursorTargetPosX = posX;
gPauseCursorPosX = posX;
gPauseCursorTargetPosY = posY;
gPauseCursorPosY = posY;
} else if ((window->flags & WINDOW_FLAGS_8) == 0 && (window->parent == -1 || !(gWindows[window->parent].flags & WINDOW_FLAGS_8))) {
gPauseCursorTargetPosX = posX;
gPauseCursorPosX = posX;
gPauseCursorTargetPosY = posY;
gPauseCursorPosY = posY;
}
}
void pause_set_cursor_pos(s32 windowID, s32 posX, s32 posY) {
Window* window = &gWindows[windowID];
if (D_8024EFB4 != 0
|| get_game_mode() == GAME_MODE_END_FILE_SELECT
|| get_game_mode() == GAME_MODE_END_LANGUAGE_SELECT) {
if (D_8024EFB4 != 0) {
s32 i;
for (i = WINDOW_ID_PAUSE_MAIN; i < WINDOW_ID_PAUSE_CURSOR; i++) {
Window* window = &gWindows[i];
s8 parent = window->parent;
if ((parent == -1 || parent == WINDOW_ID_PAUSE_MAIN) && (window->flags & WINDOW_FLAGS_8)) {
break;
}
}
if (i >= 44) {
D_8024EFB4 = 0;
}
}
gPauseCursorTargetPosX = posX;
gPauseCursorPosX = posX;
gPauseCursorTargetPosY = posY;
gPauseCursorPosY = posY;
} else if ((window->flags & WINDOW_FLAGS_8) == 0 && (window->parent == -1 || !(gWindows[window->parent].flags & WINDOW_FLAGS_8))) {
gPauseCursorTargetPosX = posX;
gPauseCursorTargetPosY = posY;
}
}
void pause_interp_cursor(void) {
s32 xDelta;
s32 yDelta;
s32* opacity;
xDelta = (gPauseCursorTargetPosX - gPauseCursorPosX) * 0.5;
yDelta = (gPauseCursorTargetPosY - gPauseCursorPosY) * 0.5;
if ((gPauseCursorTargetPosX != gPauseCursorPosX) || (gPauseCursorTargetPosY != gPauseCursorPosY)) {
if ((xDelta == 0) && (yDelta == 0)) {
gPauseCursorPosX = gPauseCursorTargetPosX;
gPauseCursorPosY = gPauseCursorTargetPosY;
}
}
gPauseCursorPosX += xDelta;
gPauseCursorPosY += yDelta;
if (gPauseCursorTargetOpacity == 0) {
gPauseCursorOpacity -= 128;
if (gPauseCursorOpacity < 0) {
gPauseCursorOpacity = 0;
}
} else {
gPauseCursorOpacity += 32;
if (gPauseCursorOpacity> 255) {
gPauseCursorOpacity = 255;
}
}
gPauseCursorTargetOpacity = 255;
}
void pause_update_tab_default(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, s32* scaleX, s32* scaleY,
f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity) {
Window* window = &gWindows[windowIndex];
*darkening = 160;
window->flags &= ~(WINDOW_FLAGS_4 | WINDOW_FLAGS_8);
}
void func_80242FBC(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, s32* scaleX, s32* scaleY,
f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity) {
Window* window = &gWindows[windowIndex];
*darkening = 160;
*opacity = 80;
window->flags &= ~(WINDOW_FLAGS_4 | WINDOW_FLAGS_8);
}
void pause_update_tab_inactive(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, s32* scaleX, s32* scaleY,
f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity) {
Window* window = &gWindows[windowIndex];
s32 updateCounter = window->updateCounter;
if (updateCounter == 0) {
window->flags &= ~WINDOW_FLAGS_4;
}
if (updateCounter == 5) {
update_window_hierarchy(windowIndex, window->unk_02);
}
if (updateCounter < 10) {
*darkening = (updateCounter + 1) * 16;
} else {
*darkening = 160;
window->flags &= ~WINDOW_FLAGS_8;
}
}
void pause_update_tab_active(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, s32* scaleX, s32* scaleY,
f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity) {
Window* window = &gWindows[windowIndex];
if (window->updateCounter == 0) {
update_window_hierarchy(windowIndex, window->unk_02);
*darkening = 0;
window->flags &= ~WINDOW_FLAGS_8;
}
}
void func_802430E4(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, s32* scaleX, s32* scaleY,
f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity) {
Window* window = &gWindows[windowIndex];
s32 updateCounter = window->updateCounter;
if (updateCounter == 0) {
window->flags &= ~WINDOW_FLAGS_4;
}
if (updateCounter < 16) {
*opacity = updateCounter * 16;
} else {
*opacity = 255;
window->flags &= ~WINDOW_FLAGS_8;
}
}
void func_8024313C(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, s32* scaleX, s32* scaleY,
f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity) {
Window* window = &gWindows[windowIndex];
s32 updateCounter = window->updateCounter;
if (updateCounter < 16) {
*opacity = 255 - (updateCounter * 16);
} else {
*opacity = 0;
window->flags &= ~WINDOW_FLAGS_8;
window->flags |= WINDOW_FLAGS_4;
}
}
void pause_update_page_active_2(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, s32* scaleX, s32* scaleY,
f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity) {
Window* window = &gWindows[windowIndex];
s32 updateCounter = window->updateCounter;
if (updateCounter == 0) {
window->flags &= ~WINDOW_FLAGS_4;
}
if (updateCounter < 7) {
*flags = gPauseWindowFlipUpFlags[updateCounter];
*rotX += gPauseWindowFlipUpAngles[updateCounter];
} else {
*flags = gPauseWindowFlipUpFlags[5];
*rotX += gPauseWindowFlipUpAngles[6];
window->flags &= ~WINDOW_FLAGS_8;
}
}
void pause_update_page_active_1(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, s32* scaleX, s32* scaleY,
f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity) {
Window* window = &gWindows[windowIndex];
s32 updateCounter = window->updateCounter;
if (updateCounter == 0) {
window->flags &= ~WINDOW_FLAGS_4;
}
if (updateCounter < 7) {
*flags = gPauseWindowFlipUpFlags[updateCounter];
*rotX += gPauseWindowFlipUpAngles_2[updateCounter];
} else {
*flags = gPauseWindowFlipUpFlags[5];
*rotX += gPauseWindowFlipUpAngles_2[6];
window->flags &= ~WINDOW_FLAGS_8;
}
}
void pause_update_page_inactive_1(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, s32* scaleX, s32* scaleY,
f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity) {
Window* window = &gWindows[windowIndex];
s32 updateCounter = window->updateCounter;
if (updateCounter < 5) {
*flags = gPauseWindowFlipDownFlags[updateCounter];
*rotX += gPauseWindowFlipDownAngles[updateCounter];
} else {
*flags = gPauseWindowFlipDownFlags[4];
*rotX += gPauseWindowFlipDownAngles[4];
window->flags &= ~WINDOW_FLAGS_8;
window->flags |= WINDOW_FLAGS_4;
}
}
void pause_update_page_inactive_2(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, s32* scaleX, s32* scaleY,
f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity) {
Window* window = &gWindows[windowIndex];
s32 updateCounter = window->updateCounter;
if (updateCounter < 5) {
*flags = gPauseWindowFlipDownFlags[updateCounter];
*rotX = gPauseWindowFlipDownAngles_2[updateCounter];
} else {
*flags = gPauseWindowFlipDownFlags[4];
*rotX = gPauseWindowFlipDownAngles_2[4];
window->flags &= ~WINDOW_FLAGS_8;
window->flags |= WINDOW_FLAGS_4;
}
}
s32 pause_interp_text_scroll(s32 deltaBefore) {
s32 val;
s32 db = abs(deltaBefore);
s32 s = sign(deltaBefore);
if (db >= 16) {
val = 8;
} else {
val = gPauseMenuTextScrollInterpEasingLUT[db];
}
return val * s;
}
s32 pause_interp_vertical_scroll(s32 deltaBefore) {
s32 val;
s32 db = abs(deltaBefore);
s32 s = sign(deltaBefore);
if (db >= 16) {
val = db / 2;
if (val > 20) {
val = 20;
}
} else {
val = gPauseMenuPageScrollInterpEasingLUT[db];
}
return val * s;
}
void pause_draw_cursor(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening) {
s32 currentOpacity;
pause_interp_cursor();
currentOpacity = gPauseCursorOpacity;
if (currentOpacity > 0) {
if (currentOpacity > 255) {
currentOpacity = 255;
}
set_hud_element_alpha(gPauseCommonIconIDs[0], currentOpacity);
set_hud_element_render_pos(gPauseCommonIconIDs[0], baseX + gPauseCursorPosX, baseY + gPauseCursorPosY);
draw_hud_element_3(gPauseCommonIconIDs[0]);
}
}
void pause_main_draw_contents(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening) {
}
void pause_textbox_draw_contents(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening) {
s32 msgID = gPauseShownDescMsg;
if (msgID == 0)
return;
if (gPauseDescTextPos != 0) {
set_hud_element_render_pos(gPauseCommonIconIDs[1], baseX + width - 4, baseY + 4);
draw_hud_element_3(gPauseCommonIconIDs[1]);
}
if (gPauseDescTextPos < gPauseDescTextMaxPos) {
set_hud_element_render_pos(gPauseCommonIconIDs[2], baseX + width - 4, baseY + height - 4);
draw_hud_element_3(gPauseCommonIconIDs[2]);
}
gDPPipeSync(gMasterGfxPos++);
gDPSetScissor(gMasterGfxPos++, G_SC_NON_INTERLACE, baseX + 1, baseY + 1, baseX + width - 1, baseY + height - 1);
draw_msg(msgID, baseX + 10, baseY - gPauseDescTextOffset, 255, 10, 0);
if (gPauseShownDescIconScript != 0) {
gDPSetScissor(gMasterGfxPos++, G_SC_NON_INTERLACE, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);
set_hud_element_render_pos(gPauseCommonIconIDs[3], baseX - 4, baseY + 16);
set_hud_element_anim(gPauseCommonIconIDs[3], gPauseShownDescIconScript);
set_hud_element_flags(gPauseCommonIconIDs[3], 0x20000000);
clear_hud_element_flags(gPauseCommonIconIDs[3], 0x8000);
set_hud_element_scale(gPauseCommonIconIDs[3], 1.0f);
draw_hud_element_3(gPauseCommonIconIDs[3]);
}
}
void pause_tutorial_draw_contents(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening) {
Matrix4f matrix1;
Matrix4f matrix2;
f32 (*matrix2ptr)[4];
s32 msgHeight;
s32 msgWidth;
s32 msgMaxLineChars;
s32 msgNumLines;
s32 msgMaxLinesPerPage;
s32 msgHeight2;
u32 msgWidth2;
s32 msgMaxLineChars2;
s32 msgNumLines2;
s32 msgMaxLinesPerPage2;
s32 i;
s32 margin, margin2;
s32 state;
if (evt_get_variable(NULL, EVT_SAVE_FLAG(94)) == FALSE) {
return;
}
gDPSetCycleType(gMasterGfxPos++, G_CYC_1CYCLE);
gDPSetRenderMode(gMasterGfxPos++, G_RM_CLD_SURF, G_RM_CLD_SURF2);
gDPSetCombineMode(gMasterGfxPos++, G_CC_PRIMITIVE, G_CC_PRIMITIVE);
gDPSetPrimColor(gMasterGfxPos++, 0, 0, 55, 55, 55, 255);
pause_draw_rect(baseX * 4, baseY * 4, (baseX + width) * 4, (baseY + 12) * 4, 0, 0, 0, 0, 0);
gDPPipeSync(gMasterGfxPos++);
gDPSetPrimColor(gMasterGfxPos++, 0, 0, 185, 185, 185, 255);
pause_draw_rect(baseX * 4, (baseY + 12) * 4, (baseX + width) * 4, (baseY + height) * 4, 0, 0, 0, 0, 0);
gDPPipeSync(gMasterGfxPos++);
gSPViewport(gMasterGfxPos++, &gPauseTutorialViewport);
guOrthoF(matrix1, 0.0f, 320.0f, 240.0f, 0.0f, -100.0f, 100.0f, 1.0f);
guMtxF2L(matrix1, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
for (i = 0; i < 3; i++) {
//needed to match
matrix2ptr = matrix2;
switch (i) {
case 0:
guTranslateF(matrix1, 40.0f, 223.0f, 0);
guScaleF(matrix2ptr, -0.8f, 0.8f, 1.0f);
break;
case 1:
guTranslateF(matrix1, 60.0f, 223.0f, 0);
guScaleF(matrix2ptr, -0.8f, 0.8f, 1.0f);
break;
default:
guTranslateF(matrix1, 280.0f, 223.0f, 0);
guScaleF(matrix2ptr, 0.8f, 0.8f, 1.0f);
break;
}
guMtxCatF(matrix2ptr, matrix1, matrix1);
guRotateF(matrix2ptr, 180.0f, 0.0f, 0.0f, 1.0f);
guMtxCatF(matrix2ptr, matrix1, matrix1);
guRotateF(matrix2ptr, 180.0f, 0.0f, 1.0f, 0.0f);
guMtxCatF(matrix2ptr, matrix1, matrix1);
guMtxF2L(matrix1, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
func_802DE894(gPauseTutorialSprites[i], 6, 255, 255, 255, 255, 64);
spr_draw_npc_sprite(gPauseTutorialSprites[i], 0, 0, 0, matrix1);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
}
get_msg_properties(pause_get_menu_msg(1), &msgHeight, &msgWidth, &msgMaxLineChars, &msgNumLines, &msgMaxLinesPerPage, NULL, 1);
margin = (s32)(width - msgWidth) >> 1;
draw_msg(pause_get_menu_msg(1), baseX + margin, baseY, 255, 0, 1);
gPauseTutorialScrollPos += pause_interp_text_scroll(gPauseTutorialState * 140 - gPauseTutorialScrollPos);
gDPSetScissor(gMasterGfxPos++, G_SC_NON_INTERLACE, baseX + 1, baseY + 1, baseX + width - 1, baseY + height - 1);
state = gPauseTutorialState;
get_msg_properties(pause_get_menu_msg(gPauseTutorialDescMessages[state]), &msgHeight2, &msgWidth2, &msgMaxLineChars2, &msgNumLines2, &msgMaxLinesPerPage2, NULL, 1);
margin2 = (s32)(width - msgWidth2) >> 1;
draw_msg(pause_get_menu_msg(gPauseTutorialDescMessages[state]), baseX + margin2, baseY + 13 + state * 140 - gPauseTutorialScrollPos, 255, 10, 1);
set_hud_element_render_pos(gPauseCommonIconIDs[gPauseTutorialIconIDs[gPauseTutorialState]], baseX + width / 2 - 2, baseY + 52);
set_hud_element_flags(gPauseCommonIconIDs[gPauseTutorialIconIDs[gPauseTutorialState]], 0x8000);
set_hud_element_scale(gPauseCommonIconIDs[gPauseTutorialIconIDs[gPauseTutorialState]], 0.5f);
draw_hud_element_3(gPauseCommonIconIDs[gPauseTutorialIconIDs[gPauseTutorialState]]);
if (gPauseTutorialIconIDs[gPauseTutorialState] == 6) {
set_hud_element_render_pos(gPauseCommonIconIDs[7], baseX + width / 2 + 1, baseY + 50);
draw_hud_element_3(gPauseCommonIconIDs[7]);
}
draw_msg(pause_get_menu_msg(gPauseTutorialCmdMessages[gPauseTutorialState]), baseX + width / 2 + 10, baseY + 44, 255, 10, 0);
}
void pause_init(void) {
s32 i;
s32 posX;
s32 x;
Window* pauseWindows;
MenuPanel** menuPanels;
dma_copy(_131340_ROM_START, _131340_ROM_END, _131340_VRAM);
for (i = 0; i < ARRAY_COUNT(gPauseIconScripts); i++) {
gPauseCommonIconIDs[i] = create_hud_element(gPauseIconScripts[i]);
if (gPauseIconScripts[i] == HudScript_AnimatedCursorHand) {
set_hud_element_flags(gPauseCommonIconIDs[i], 0x20000080);
} else {
set_hud_element_flags(gPauseCommonIconIDs[i], 0x80);
}
}
gPauseCursorIconID = gPauseCommonIconIDs[0];
setup_pause_menu_tab(gPauseCommonWindowsBPs, ARRAY_COUNT(gPauseCommonWindowsBPs));
gPauseShownDescMsg = 0;
gPauseDescTextPos = 0;
gPauseDescTextOffset = 0;
gPauseDescTextMaxPos = 0;
gPauseShownDescIconScript = 0;
gPauseCurrentDescMsg = 0;
gPauseCurrentDescIconScript = 0;
gPauseMenuCurrentTab = 0;
menuPanels = gPausePanels;
for (i = 0; i < ARRAY_COUNT(gPausePanels); menuPanels++, i++) {
if ((*menuPanels)->fpInit) {
(*menuPanels)->fpInit(*menuPanels);
}
}
posX = 225;
for (i = 6; i > 0; i--) {
if (!gPausePanels[i]->initialized) {
set_window_update(24 + i, 2);
} else {
gWindows[WINDOW_ID_PAUSE_TUTORIAL + i].pos.x = posX + 14;
posX -= 45;
}
}
pauseWindows = &gWindows[25];
x = pauseWindows[gPausePanels[0]->col].pos.x;
gWindows[WINDOW_ID_PAUSE_TAB_INVIS].pos.x = x + 6;
if (evt_get_variable(NULL, EVT_SAVE_FLAG(94))) {
for (i = 0; i < ARRAY_COUNT(gPauseTutorialSpriteAnims); i++) {
gPauseTutorialSprites[i] = spr_load_npc_sprite(gPauseTutorialSpriteAnims[i][0], gPauseTutorialSpriteAnims[i]);
}
set_window_update(WINDOW_ID_PAUSE_TUTORIAL, 1);
sfx_play_sound(SOUND_MENU_START_TUTORIAL);
}
update_window_hierarchy(WINDOW_ID_PAUSE_CURSOR, 0x40);
}
void pause_tutorial_input(s32 *pressed, s32 *held) {
s32 pressedOld = *pressed;
s32 pressedNew = *pressed;
s32 heldNew = *held;
switch (gPauseTutorialInputState) {
case 0:
heldNew = pressedNew = pressedNew & gPauseTutorialButtons[gPauseTutorialState];
if (pressedNew) {
gPauseTutorialInputState = 1;
}
if (pressedOld && pressedNew == 0) {
sfx_play_sound(541);
}
if (gPauseTutorialState == 0) {
pressedNew = 0;
heldNew = 0;
}
break;
case 1:
gPauseTutorialFrameCounter = 0;
gPauseTutorialInputState = 2;
pressedNew = 0;
heldNew = 0;
break;
case 2:
if (--gPauseTutorialFrameCounter <= 0) {
gPauseTutorialInputState = 3;
}
pressedNew = 0;
heldNew = 0;
break;
case 3:
gPauseTutorialFrameCounter = 16;
gPauseTutorialInputState = 4;
gPauseTutorialState += 1;
pressedNew = 0;
heldNew = 0;
break;
case 4:
if (--gPauseTutorialFrameCounter <= 0) {
gPauseTutorialInputState = 0;
}
pressedNew = 0;
heldNew = 0;
break;
}
*pressed = pressedNew;
*held = heldNew;
}
void pause_handle_input(s32 pressed, s32 held) {
s32 height;
s32 width;
s32 maxLineChars;
s32 numLines;
s32 i,j;
MenuPanel** menuPanels;
s32 currentDescMsg = gPauseCurrentDescMsg;
MenuPanel* currentPanel = gPausePanels[gPauseMenuCurrentTab];
if (evt_get_variable(NULL, EVT_SAVE_FLAG(94))) {
for (i = 0; i < ARRAY_COUNT(gPauseTutorialSprites); i++) {
spr_update_sprite(gPauseTutorialSprites[i], gPauseTutorialSpriteAnims[i][1], 1.0f);
}
}
gPausePressedButtons = pressed;
gPauseHeldButtons = held;
if (evt_get_variable(NULL, EVT_SAVE_FLAG(94))) {
pause_tutorial_input(&gPausePressedButtons, &gPauseHeldButtons);
}
if ((gPausePressedButtons & BUTTON_START) || (gPauseMenuCurrentTab == 0) && (gPausePressedButtons & BUTTON_B)) {
enforce_hpfp_limits();
sfx_play_sound(198);
set_game_mode(GAME_MODE_UNPAUSE);
return;
}
if (gPauseCurrentDescIconScript != gPauseShownDescIconScript) {
gPauseShownDescIconScript = gPauseCurrentDescIconScript;
}
if (currentDescMsg != gPauseShownDescMsg) {
gPauseShownDescMsg = currentDescMsg;
gPauseDescTextPos = 0;
gPauseDescTextOffset = 0;
if (currentDescMsg != 0) {
get_msg_properties(currentDescMsg, &height, &width, &maxLineChars, &numLines, NULL, NULL, 0);
if (numLines % 2) {
numLines++;
}
gPauseDescTextMaxPos = numLines - 2;
if (gPauseDescTextMaxPos < 0) {
gPauseDescTextMaxPos = 0;
}
} else {
gPauseDescTextMaxPos = 0;
}
}
if (gPauseHeldButtons & BUTTON_C_UP) {
gPauseDescTextPos -= 2;
if (gPauseDescTextPos < 0) {
gPauseDescTextPos = 0;
}
}
if (gPauseHeldButtons & BUTTON_C_DOWN) {
gPauseDescTextPos += 2;
if (gPauseDescTextPos > gPauseDescTextMaxPos) {
gPauseDescTextPos = gPauseDescTextMaxPos;
}
}
gPauseDescTextOffset += pause_interp_text_scroll(gPauseDescTextPos * 16 - gPauseDescTextOffset);
if (currentPanel->initialized) {
if (currentPanel->fpHandleInput) {
currentPanel->fpHandleInput(currentPanel);
}
}
menuPanels = gPausePanels;
for (i = 0; i < ARRAY_COUNT(gPausePanels); menuPanels++, i++) {
if ((*menuPanels)->initialized) {
if ((*menuPanels)->fpUpdate) {
(*menuPanels)->fpUpdate(*menuPanels);
}
}
}
}
void pause_cleanup(void) {
s32 i;
MenuPanel** menuPanels;
for (i = 0; i < ARRAY_COUNT(gPauseCommonIconIDs); i++) {
free_hud_element(gPauseCommonIconIDs[i]);
}
if (evt_get_variable(NULL, EVT_SAVE_FLAG(94))) {
for (i = 0; i < ARRAY_COUNT(gPauseTutorialSprites); i++) {
spr_free_sprite(gPauseTutorialSprites[i]);
}
}
menuPanels = gPausePanels;
for (i = 0; i < ARRAY_COUNT(gPausePanels); menuPanels++, i++) {
if ((*menuPanels)->initialized) {
if ((*menuPanels)->fpCleanup) {
(*menuPanels)->fpCleanup(*menuPanels);
}
}
}
for (i = WINDOW_ID_PAUSE_MAIN; i < WINDOW_ID_PAUSE_CURSOR; i++)
set_window_update(i, 2);
set_window_update(WINDOW_ID_PAUSE_CURSOR, 2);
}
s32 pause_get_total_equipped_bp_cost(void) {
s32 totalCost = 0;
s32 i;
for (i = 0; i < ARRAY_COUNT(gPlayerData.equippedBadges); i++) {
s16 itemID = gPlayerData.equippedBadges[i];
if (itemID != ITEM_NONE) {
s32 moveID = gItemTable[itemID].moveID;
totalCost += gMoveTable[moveID].costBP;
}
}
return totalCost;
}
void pause_draw_rect(s32 ulx, s32 uly, s32 lrx, s32 lry, s32 tileDescriptor, s32 uls, s32 ult, s32 dsdx, s32 dtdy) {
if (ulx <= -2688 || uly <= -2688 || lrx <= 0 || lry <= 0) {
return;
}
if (ulx >= 1280 || uly >= 960 || lrx >= 2688 || lry >= 2688) {
return;
}
gSPScisTextureRectangle(gMasterGfxPos++, ulx, uly, lrx, lry, tileDescriptor, uls, ult, dsdx, dtdy);
}
void pause_sort_item_list(s16* arr, s32 len, s32 (*compare)(s16*, s16 *)) {
if (len < 2) {
// Trivially sorted
return;
} else if (len == 2) {
// Trivial 2-element sort
if (compare(&arr[0], &arr[1]) > 0) {
s16 temp = arr[0];
arr[0] = arr[1];
arr[1] = temp;
}
} else {
// Nontrivial sort required, use shell sort
u32 gap = 1;
s16* end;
while (gap < len) {
gap = gap * 2 + 1;
}
end = &arr[len];
while ((gap /= 2) != 0) {
s16* window_end;
for (window_end = &arr[gap]; window_end < end; window_end++) {
s16* cur_elem = window_end - gap;
// This could be written simpler as a while loop, but the compiler figures out that it only needs to do
// the "cur_elem < end" check on the first iteration in that case
if (cur_elem >= arr && cur_elem < end) {
do {
s16* elem_a = cur_elem;
s16* elem_b = cur_elem + gap;
if (compare(elem_a, elem_b) > 0) {
s16 temp = *elem_a;
*elem_a = *elem_b;
*elem_b = temp;
cur_elem -= gap;
} else {
break;
}
} while (cur_elem >= arr && cur_elem < end);
}
}
}
}
}
static const f32 rodata_padding[] = {0.0f, 0.0f, 0.0f};

View File

@ -1,12 +1,160 @@
#include "common.h"
#include "hud_element.h"
#include "pause_common.h"
#include "message_ids.h"
void func_8024D930(PauseMapSpace* space) {
extern Gfx gPauseDLWorldMap[];
extern u8 pause_world_map_png[];
extern Gfx gPauseDLPathPoints[];
extern Gfx gPauseDLArrows[];
void pause_map_draw_contents(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening);
void pause_map_draw_title(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening);
void pause_map_init(MenuPanel* tab);
void pause_map_handle_input(MenuPanel* tab);
void pause_map_update(MenuPanel* tab);
void pause_map_cleanup(MenuPanel* tab);
static s32 gPauseMapIconIDs[1];
static f32 gPauseMapCameraX;
static f32 gPauseMapCameraY;
static s32 gPauseMapMarioX;
static s32 gPauseMapMarioY;
static f32 gPauseMapTargetX;
static f32 gPauseMapTargetY;
static s32 gPauseMapCursorCurrentOption;
static s32 gPauseMapCursorCurrentOptionCopy;
static s32 gPauseMapSpacesInSnapRange;
HudScript* gPauseMapIconScripts[] = { HudScript_MapWalk0 };
s32 D_8024FA34 = -1;
Vec2b gPauseMapPaths[][32] = {
{ { 1, -10 }, { 1, -8 }, { -9, -2 }, { -8, 0 }, { -8, 0 }, { -7, -3 }, { -5, -3 }, },
{ { -1, 24 }, { 1, -8 }, { 2, -7 } },
{ { -3, 7 }, { -7, 4 }, { -8, 2 } },
{ },
{ },
{ { -8, -3 }, { -7, 0 }, { -8, 1 }, { -7, 2 } },
{ { -9, 0 }, { -6, -1 }, { -7, 0 }, { -8, 1 }, { -1, 8 } },
{ { 1, 6 }, { -3, 6 } },
{ { -7, 1 }, { -7, 3 }, { -7, 3 }, { -7, 3 }, { -7, 1 }, { -7, 2 }, { -7, 0 } },
{ { -9, 3 }, { -8, 0 }, { -8, 0 }, { -9, -2 }, { -7, -4 }, { -7, -4 }, { -6, -5 }, { -5, -6 }, { -1, -7 }, { -3, -6 }, { -3, -6 }, { -7, -4 }, { -7, 0 }, { -8, 0 }, { -8, 0 }, { -8, 0 }, { -8, 0 }, { 0, -6 }, { 0, -6 } },
{ { -6, 5 }, { -6, 3 }, { -8, 0 }, { -8, -4 }, { -5, -5 }, { -8, -3 }, { -8, 1 }, { -5, 5 }, { -2, 7 }, { 2, 7 }, { 5, 5 }, { 6, 5 }, { 6, 3 } },
{ { -2, 6 }, { -4, 4 } },
{ { 4, 6 }, { 4, 5 } },
{ { -8, -1 }, { -10, -2 }, { -8, -2 }, { -9, -1 }, { -8, -1 }, { -10, 0 }, { -9, 0 } },
{ { 8, 6 } },
{ { -7, 4 }, { -7, 5 }, { -7, 4 }, { -7, 5 } },
{ { -8, 2 }, { -8, 3 }, { -8, 3 }, { -8, 3 } },
{ { 10, -1 } },
{ { 6, 6 }, { 6, 6 }, { 8, 2 }, { 7, -1 } },
{ { 11, 2 }, { 11, 0 }, { 11, -2 }, { 10, -3 }, { 7, -7 }, { 3, -8 }, { 0, -9 }, { -4, -7 }, { -9, -3 }, { -10, -2 }, { -9, -2 }, { -7, -6 }, { -2, -9 }, { 1, -9 }, { 0, -9 }, { -8, -5 }, { -9, -2 }, { 1, -8 }, { 9, -2 }, { 9, -2 }, { 8, -5 } },
{ { -9, 3 }, { -5, 5 } },
{ { -5, 6 }, { -2, 9 }, { 2, 8 }, { 7, 6 }, { 7, 4 } },
{ },
{ { -3, 6 }, { 0, 7 }, { 5, 6 }, { 1, 7 } },
{ },
{ { -9, -2 } },
{ { -11, 1 }, { -9, -2 } },
{ { -7, 3 }, { -6, 5 } },
{ { 0, 7 } },
{ { -9, 3 }, { -8, 1 }, { -7, 1 }, { -7, 4 }, { 2, 6 }, { 8, 3 } },
{ { -3, 6 }, { 2, 6 }, { 8, 3 }, { 6, 5 }, { -2, 6 }, { -6, 3 } },
{ { -6, 5 }, { -2, 7 }, { 2, 7 }, { 6, 6 }, { 8, 3 }, { 8, 0 }, { 8, -3 }, { 8, -5 }, { 6, -5 }, { 7, -4 }, { 8, -1 }, { 8, 3 }, { 2, 8 } },
{ { -3, 7 }, { 0, 6 }, { 4, 7 } },
{}
};
PauseMapSpace gPauseMapSpaces[] = {
{ .pos = { .x = 116, .y = 185 }, .parent = 0, .pathLength = 7, .path = gPauseMapPaths[ 0], .afterRequirement = STORY_EPILOGUE, .id = LOCATION_TOAD_TOWN },
{ .pos = { .x = 118, .y = 151 }, .parent = 0, .pathLength = 3, .path = gPauseMapPaths[ 1], .afterRequirement = STORY_EPILOGUE, .id = LOCATION_PEACH_CASTLE_GROUNDS },
{ .pos = { .x = 143, .y = 134 }, .parent = 1, .pathLength = 3, .path = gPauseMapPaths[ 2], .afterRequirement = STORY_CH0_BEGAN_PEACH_MISSION, .id = LOCATION_SHOOTING_STAR_SUMMIT },
{ .pos = { .x = 100, .y = 174 }, .parent = 0, .pathLength = 0, .path = gPauseMapPaths[ 3], .afterRequirement = STORY_61, .id = LOCATION_TOAD_TOWN_TUNNELS },
{ .pos = { .x = 36, .y = 157 }, .parent = 5, .pathLength = 0, .path = gPauseMapPaths[ 4], .afterRequirement = STORY_CH0_GOOMBARIO_JOINED_PARTY, .id = LOCATION_GOOMBA_VILLAGE },
{ .pos = { .x = 74, .y = 154 }, .parent = 0, .pathLength = 4, .path = gPauseMapPaths[ 5], .afterRequirement = STORY_CH0_ARRIVED_AT_TOAD_TOWN, .id = LOCATION_GOOMBA_ROAD },
{ .pos = { .x = 148, .y = 167 }, .parent = 0, .pathLength = 5, .path = gPauseMapPaths[ 6], .afterRequirement = STORY_CH1_STAR_SPRIT_DEPARTED, .id = LOCATION_PLEASANT_PATH },
{ .pos = { .x = 154, .y = 148 }, .parent = 6, .pathLength = 2, .path = gPauseMapPaths[ 7], .afterRequirement = STORY_CH1_KOOPER_JOINED_PARTY, .id = LOCATION_KOOPA_VILLAGE },
{ .pos = { .x = 205, .y = 152 }, .parent = 6, .pathLength = 7, .path = gPauseMapPaths[ 8], .afterRequirement = STORY_CH1_STAR_SPRIT_DEPARTED, .id = LOCATION_KOOPA_BROS_FORTRESS },
{ .pos = { .x = 227, .y = 243 }, .parent = 0, .pathLength = 19, .path = gPauseMapPaths[ 9], .afterRequirement = STORY_61, .id = LOCATION_MT_RUGGED },
{ .pos = { .x = 266, .y = 206 }, .parent = 9, .pathLength = 13, .path = gPauseMapPaths[10], .afterRequirement = STORY_CH2_UNCOVERED_DRY_DRY_RUINS, .id = LOCATION_DRY_DRY_DESERT },
{ .pos = { .x = 280, .y = 191 }, .parent = 10, .pathLength = 2, .path = gPauseMapPaths[11], .afterRequirement = STORY_61, .id = LOCATION_DRY_DRY_OUTPOST },
{ .pos = { .x = 252, .y = 188 }, .parent = 10, .pathLength = 2, .path = gPauseMapPaths[12], .afterRequirement = STORY_CH2_BEGAN_PEACH_MISSION, .id = LOCATION_DRY_DRY_RUINS },
{ .pos = { .x = 187, .y = 193 }, .parent = 0, .pathLength = 7, .path = gPauseMapPaths[13], .afterRequirement = STORY_CH3_ARRIVED_AT_BOOS_MANSION, .id = LOCATION_FOREVER_FOREST },
{ .pos = { .x = 170, .y = 180 }, .parent = 13, .pathLength = 1, .path = gPauseMapPaths[14], .afterRequirement = STORY_CH3_UNLOCKED_GUSTY_GULCH, .id = LOCATION_BOOS_MANSION },
{ .pos = { .x = 223, .y = 170 }, .parent = 13, .pathLength = 4, .path = gPauseMapPaths[15], .afterRequirement = STORY_CH3_BEGAN_PEACH_MISSION, .id = LOCATION_GUSTY_GULCH },
{ .pos = { .x = 263, .y = 156 }, .parent = 15, .pathLength = 4, .path = gPauseMapPaths[16], .afterRequirement = STORY_CH3_BEGAN_PEACH_MISSION, .id = LOCATION_TUBBAS_MANOR },
{ .pos = { .x = 203, .y = 171 }, .parent = 15, .pathLength = 1, .path = gPauseMapPaths[17], .afterRequirement = STORY_CH3_BEGAN_PEACH_MISSION, .id = LOCATION_WINDY_MILL },
{ .pos = { .x = 79, .y = 173 }, .parent = 0, .pathLength = 4, .path = gPauseMapPaths[18], .afterRequirement = STORY_CH4_STAR_SPRIT_DEPARTED, .id = LOCATION_SHY_GUYS_TOYBOX },
{ .pos = { .x = 66, .y = 289 }, .parent = 0, .pathLength = 21, .path = gPauseMapPaths[19], .afterRequirement = STORY_CH5_ZIP_LINE_READY, .id = LOCATION_JADE_JUNGLE },
{ .pos = { .x = 84, .y = 274 }, .parent = 19, .pathLength = 2, .path = gPauseMapPaths[20], .afterRequirement = STORY_61, .id = LOCATION_YOSHIS_VILLAGE },
{ .pos = { .x = 47, .y = 252 }, .parent = 19, .pathLength = 5, .path = gPauseMapPaths[21], .afterRequirement = STORY_CH5_BEGAN_PEACH_MISSION, .id = LOCATION_MT_LAVALAVA },
{ .pos = { .x = 59, .y = 126 }, .parent = 0, .pathLength = 0, .path = gPauseMapPaths[22], .afterRequirement = STORY_CH6_BEGAN_PEACH_MISSION, .id = LOCATION_FLOWER_FIELDS },
{ .pos = { .x = 58, .y = 92 }, .parent = 22, .pathLength = 4, .path = gPauseMapPaths[23], .afterRequirement = STORY_CH6_BEGAN_PEACH_MISSION, .id = LOCATION_CLOUDY_CLIMB },
{ .pos = { .x = 183, .y = 125 }, .parent = 3, .pathLength = 0, .path = gPauseMapPaths[24], .afterRequirement = STORY_CH7_MAYOR_MURDER_SOLVED, .id = LOCATION_SHIVER_CITY },
{ .pos = { .x = 203, .y = 126 }, .parent = 24, .pathLength = 1, .path = gPauseMapPaths[25], .afterRequirement = STORY_CH7_DEFEATED_MONSTAR, .id = LOCATION_SHIVER_SNOWFIELD },
{ .pos = { .x = 234, .y = 128 }, .parent = 25, .pathLength = 2, .path = gPauseMapPaths[26], .afterRequirement = STORY_CH7_GOT_SNOWMAN_SCARF, .id = LOCATION_STARBORN_VALLEY },
{ .pos = { .x = 220, .y = 112 }, .parent = 25, .pathLength = 2, .path = gPauseMapPaths[27], .afterRequirement = STORY_CH7_STAR_SPRIT_DEPARTED, .id = LOCATION_SHIVER_MOUNTAIN },
{ .pos = { .x = 223, .y = 99 }, .parent = 27, .pathLength = 1, .path = gPauseMapPaths[28], .afterRequirement = STORY_CH7_STAR_SPRIT_DEPARTED, .id = LOCATION_CRYSTAL_PALACE },
{ .pos = { .x = 158, .y = 110 }, .parent = 2, .pathLength = 6, .path = gPauseMapPaths[29], .afterRequirement = STORY_61, .id = LOCATION_STAR_WAY },
{ .pos = { .x = 163, .y = 78 }, .parent = 29, .pathLength = 6, .path = gPauseMapPaths[30], .afterRequirement = STORY_61, .id = LOCATION_STAR_HAVEN },
{ .pos = { .x = 96, .y = 49 }, .parent = 30, .pathLength = 13, .path = gPauseMapPaths[31], .afterRequirement = STORY_EPILOGUE, .id = LOCATION_BOWSERS_CASTLE },
{ .pos = { .x = 88, .y = 22 }, .parent = 31, .pathLength = 3, .path = gPauseMapPaths[32], .afterRequirement = STORY_EPILOGUE, .id = LOCATION_PEACHS_CASTLE },
{ .pos = { .x = 98, .y = 147 }, .parent = 0, .pathLength = 0, .path = gPauseMapPaths[33], .afterRequirement = STORY_61, .id = LOCATION_MARIOS_HOUSE }
};
s32 gPauseMapArrowWobble[] = { 0, 2, 3, 3, 4, 4, 4, 4, 3, 2, 1, 0 };
MenuWindowBP gPauseMapWindowBPs[] = {
{
.windowID = WINDOW_ID_PAUSE_MAP,
.unk_01 = 0,
.pos = { .x = 3, .y = 16 },
.width = 289,
.height = 154,
.unk_0A = { 1, 0 },
.fpDrawContents = &pause_map_draw_contents,
.tab = NULL,
.parentID = WINDOW_ID_PAUSE_MAIN,
.fpUpdate = { 2 },
.unk_1C = 0,
.style = &gPauseWS_26
},
{
.windowID = WINDOW_ID_PAUSE_MAP_TITLE,
.unk_01 = 0,
.pos = { .x = 56, .y = 124 },
.width = 180,
.height = 20,
.unk_0A = { 0, 0 },
.fpDrawContents = &pause_map_draw_title,
.tab = NULL,
.parentID = WINDOW_ID_PAUSE_MAP,
.fpUpdate = { 1 },
.unk_1C = 0,
.style = &gPauseWS_28
},
{ },
{ },
{ },
{ },
{ }
};
MenuPanel gPausePanelMap = {
.initialized = FALSE,
.col = 0,
.row = 0,
.selected = 0,
.page = 0,
.numCols = 0,
.numRows = 0,
.numPages = 0,
.gridData = NULL,
.fpInit = &pause_map_init,
.fpHandleInput = &pause_map_handle_input,
.fpUpdate = &pause_map_update,
.fpCleanup = &pause_map_cleanup
};
void pause_map_calc_path_points(PauseMapSpace* space) {
Vec2b* path = space->path;
s32 pathLength = space->pathLength;
s32 x1 = pause_map_spaces[space->parent].pos.x;
s32 y1 = pause_map_spaces[space->parent].pos.y;
s32 x1 = gPauseMapSpaces[space->parent].pos.x;
s32 y1 = gPauseMapSpaces[space->parent].pos.y;
s32 x2 = space->pos.x;
s32 y2 = space->pos.y;
s32 xThingPrev = 0;
@ -43,187 +191,361 @@ void pause_map_draw_border_arrows(s32 imageIndex, s32 x, s32 y) {
}
}
INCLUDE_ASM(s32, "pause/pause_map", pause_map_draw_contents);
void pause_map_draw_contents(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening) {
s32 cameraX = gPauseMapCameraX;
s32 cameraY = gPauseMapCameraY;
s32 i, j;
s32 tileHeight;
s32 x1, y1, x2, y2;
s32 x1a, y1a, x2a, y2a;
s32 posX, posY;
s32 ult;
PauseMapSpace* mapSpace;
s32 camX, camY;
s32 pathX, pathY;
s32 currentTab;
s32 offset, offsetLeft, offsetRight, offsetUp, offsetDown;
s32 mapULX, mapULY;
s32 bigPointX, bigPointY;
Vec2b* path;
s32 pathLength;
void pause_map_draw_title(s32* arg1, s32 arg2, s32 textOffsetY, s32 textOffsetX) {
gSPDisplayList(gMasterGfxPos++, gPauseDLWorldMap);
ult = -cameraX * 32;
for (i = 0; i < 60; i++) {
if (4 * i + 4 < 111) {
tileHeight = 4;
} else {
tileHeight = 111 - 4 * i;
}
gDPLoadTextureTile(gMasterGfxPos++, pause_world_map_png, G_IM_FMT_CI, G_IM_SIZ_8b, 320, 320,
0, i * 4 - cameraY, 319, i * 4 + tileHeight - 1 - cameraY, 0,
G_TX_CLAMP, G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
pause_draw_rect((baseX + 26) * 4, (baseY + 22 + 4 * i) * 4, (baseX + 260) * 4,
(baseY + 22 + i * 4 + tileHeight) * 4, 0, ult, (-cameraY + i * 4) * 32, 0x400, 0x400);
gDPPipeSync(gMasterGfxPos++);
if (4 * i + 4 >= 110) {
break;
}
}
gSPDisplayList(gMasterGfxPos++, gPauseDLPathPoints);
x1 = baseX + 26;
y1 = baseY + 22;
x2 = baseX + 260;
y2 = baseY + 132;
if (x1 <= 0) {
x1 = 1;
}
if (y1 <= 0) {
y1 = 1;
}
if (x2 <= 0 || y2 <= 0 || x1 >= SCREEN_WIDTH - 1 || y1 >= SCREEN_HEIGHT - 1) {
return;
}
if (x2 >= SCREEN_WIDTH - 1) {
x2 = SCREEN_WIDTH - 1;
}
if (y2 >= SCREEN_HEIGHT - 1) {
y2 = SCREEN_HEIGHT - 1;
}
gDPSetScissor(gMasterGfxPos++, G_SC_NON_INTERLACE, x1, y1, x2, y2);
mapSpace = gPauseMapSpaces;
camX = cameraX + baseX;
camY = cameraY + baseY;
for (i = 0; i < ARRAY_COUNT(gPauseMapSpaces); i++, mapSpace++) {
posX = mapSpace->pos.x;
posY = mapSpace->pos.y;
if (evt_get_variable(NULL, EVT_SAVE_FLAG(1962 + i)) == 0) {
continue;
}
if (i != gPauseMapCursorCurrentOption) {
gDPSetPrimColor(gMasterGfxPos++, 0, 0, 220, 80, 30, 255);
} else {
gDPSetPrimColor(gMasterGfxPos++, 0, 0, (gGameStatusPtr->frameCounter * 10) % 120 + 120,
(gGameStatusPtr->frameCounter * 10) % 120 + 120,
(gGameStatusPtr->frameCounter * 10) % 120, 255);
}
bigPointX = camX + 26 + posX;
bigPointY = camY + 22 + posY;
pause_draw_rect((bigPointX - 8) * 4, (bigPointY - 8) * 4, (bigPointX + 8) * 4, (bigPointY + 8) * 4, 0, 0, 0, 0x400, 0x400);
gDPPipeSync(gMasterGfxPos++);
gDPSetPrimColor(gMasterGfxPos++, 0, 0, 230, 190, 180, 255);
pathLength = mapSpace->pathLength;
path = mapSpace->path;
if (path) {
pathX = 0;
pathY = 0;
for (j = 0; j < pathLength; j++, path++) {
pathX += path->x;
pathY += path->y;
pause_draw_rect((camX + 26 + posX + pathX - 8) * 4, (camY + 22 + posY + pathY - 8) * 4, (camX + 26 + posX + pathX + 8) * 4, (camY + 22 + posY + pathY + 8) * 4, 1, 0, 0, 0x400, 0x400);
}
}
}
mapULX = baseX + 26 + cameraX;
mapULY = baseY + 22 + cameraY;
set_hud_element_render_pos(gPauseMapIconIDs[0], mapULX + gPauseMapMarioX, mapULY + gPauseMapMarioY - 7);
draw_hud_element_3(gPauseMapIconIDs[0]);
currentTab = gPauseMenuCurrentTab;
if (currentTab == 6) {
pause_set_cursor_pos(WINDOW_ID_PAUSE_MAP, mapULX + gPauseMapTargetX - 8.0f, mapULY + gPauseMapTargetY);
if (gPauseMenuCurrentTab == currentTab) {
offset = gPauseMapArrowWobble[gGameStatusPtr->frameCounter % 12];
offsetLeft = offset;
offsetRight = offset;
offsetUp = offset;
offsetDown = offset;
gSPDisplayList(gMasterGfxPos++, gPauseDLArrows);
if (!(gPauseMapCameraX < 0.0f)) {
offsetLeft = 0;
}
pause_map_draw_border_arrows(0, baseX + 26 - offsetLeft, baseY + height / 2 - 8);
if (!(gPauseMapCameraX > -86.0f)) {
offsetRight = 0;
}
pause_map_draw_border_arrows(1, baseX + width - 50 + offsetRight, baseY + height / 2 - 8);
if (!(gPauseMapCameraY < 0.0f)) {
offsetUp = 0;
}
pause_map_draw_border_arrows(2, baseX + width / 2 - 8, baseY + 24 - offsetUp);
if (!(gPauseMapCameraY > -210.0f)) {
offsetDown = 0;
}
pause_map_draw_border_arrows(3, baseX + width / 2 - 8, baseY + height - 44 + offsetDown);
}
}
{
s32 x1, y1, x2, y2;
x1 = baseX + 18;
y1 = baseY + 14;
x2 = baseX + 268;
y2 = baseY + 140;
if (x1 <= 0) {
x1 = 1;
}
if (y1 <= 0) {
y1 = 1;
}
if (x2 <= 0 || y2 <= 0 || x1 >= SCREEN_WIDTH - 1 || y1 >= SCREEN_HEIGHT - 1) {
return;
}
if (x2 >= SCREEN_WIDTH - 1) {
x2 = SCREEN_WIDTH - 1;
}
if (y2 >= SCREEN_HEIGHT - 1) {
y2 = SCREEN_HEIGHT - 1;
}
gDPSetScissor(gMasterGfxPos++, G_SC_NON_INTERLACE, x1, y1, x2, y2);
}
draw_box(0, &gPauseWS_27, baseX + 18, baseY + 14, 0, 250, 126, opacity, darkening, 1.0f, 1.0f, 0, 0, 0, 0, 0, 0, width, height, 0);
}
void pause_map_draw_title(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening) {
s32 msgWidth;
s32 msgID;
if (gPauseMenuCurrentTab == 6) {
if (pause_map_cursorCurrentOption != -1) {
msgWidth = get_msg_width(MSG_pause_map_location_0_name + (pause_map_cursorCurrentOption * 3), 0);
msgID = MSG_pause_map_location_0_name + (pause_map_cursorCurrentOption * 3);
draw_msg(msgID, arg2 + ((textOffsetX - msgWidth) >> 1), textOffsetY + 1, 255, 0, 0);
if (gPauseMapCursorCurrentOption != -1) {
msgWidth = get_msg_width(MSG_pause_map_location_0_name + (gPauseMapCursorCurrentOption * 3), 0);
msgID = MSG_pause_map_location_0_name + (gPauseMapCursorCurrentOption * 3);
draw_msg(msgID, baseX + ((width - msgWidth) >> 1), baseY + 1, 255, 0, 0);
}
}
}
void pause_map_init(MenuPanel* tab) {
s32 tempVar;
s32 currentLocation;
s32 i;
for (i = 0; i < ARRAY_COUNT(D_80270700); i++) {
D_80270700[i] = create_hud_element(D_8024FA30[i]);
set_hud_element_flags(D_80270700[i], 0x80);
for (i = 0; i < ARRAY_COUNT(gPauseMapIconScripts); i++) {
gPauseMapIconIDs[i] = create_hud_element(gPauseMapIconScripts[i]);
set_hud_element_flags(gPauseMapIconIDs[i], 0x80);
}
for (i = 0; i < ARRAY_COUNT(pause_map_windowBlueprints); i++) {
pause_map_windowBlueprints[i].tab = tab;
for (i = 0; i < ARRAY_COUNT(gPauseMapWindowBPs); i++) {
gPauseMapWindowBPs[i].tab = tab;
}
setup_pause_menu_tab(pause_map_windowBlueprints, ARRAY_COUNT(pause_map_windowBlueprints));
pause_map_cursorCurrentOption = -1;
pause_map_spacesInSnapRange = 0;
pause_map_cursorCurrentOptionCopy = -1;
tempVar = evt_get_variable(0, EVT_SAVE_VAR(425));
setup_pause_menu_tab(gPauseMapWindowBPs, ARRAY_COUNT(gPauseMapWindowBPs));
gPauseMapCursorCurrentOption = -1;
gPauseMapSpacesInSnapRange = 0;
gPauseMapCursorCurrentOptionCopy = -1;
currentLocation = evt_get_variable(0, EVT_SAVE_VAR(425));
for (i = 0; i < ARRAY_COUNT(pause_map_spaces); i++) {
if (pause_map_spaces[i].id == tempVar) {
for (i = 0; i < ARRAY_COUNT(gPauseMapSpaces); i++) {
if (gPauseMapSpaces[i].id == currentLocation) {
break;
}
}
if (i < ARRAY_COUNT(pause_map_spaces)) {
pause_map_marioX = pause_map_spaces[i].pos.x;
pause_map_marioY = pause_map_spaces[i].pos.y;
if (i < ARRAY_COUNT(gPauseMapSpaces)) {
gPauseMapMarioX = gPauseMapSpaces[i].pos.x;
gPauseMapMarioY = gPauseMapSpaces[i].pos.y;
} else {
pause_map_marioX = 0;
pause_map_marioY = 0;
gPauseMapMarioX = 0;
gPauseMapMarioY = 0;
}
pause_map_targetX = pause_map_marioX;
pause_map_targetY = pause_map_marioY;
gPauseMapTargetX = gPauseMapMarioX;
gPauseMapTargetY = gPauseMapMarioY;
pause_map_cameraX = 0.0f;
pause_map_cameraY = 0.0f;
pause_map_cameraX -= (s32)(pause_map_targetX + pause_map_cameraX - 117.0);
pause_map_cameraY -= (s32)(pause_map_targetY + pause_map_cameraY - 55.0);
gPauseMapCameraX = 0.0f;
gPauseMapCameraY = 0.0f;
gPauseMapCameraX -= (s32)(gPauseMapTargetX + gPauseMapCameraX - 117.0);
gPauseMapCameraY -= (s32)(gPauseMapTargetY + gPauseMapCameraY - 55.0);
if (pause_map_cameraX > 0) {
pause_map_cameraX = 0;
if (gPauseMapCameraX > 0) {
gPauseMapCameraX = 0;
}
if (pause_map_cameraY > 0) {
pause_map_cameraY = 0;
if (gPauseMapCameraY > 0) {
gPauseMapCameraY = 0;
}
if (pause_map_cameraX <= -86.0f) {
pause_map_cameraX = -85.0f;
if (gPauseMapCameraX <= -86.0f) {
gPauseMapCameraX = -85.0f;
}
if (pause_map_cameraY <= -210.0f) {
pause_map_cameraY = -209.0f;
if (gPauseMapCameraY <= -210.0f) {
gPauseMapCameraY = -209.0f;
}
tab->unk_00.c.initialized = TRUE;
tab->initialized = TRUE;
}
void pause_map_handle_input(void) {
void pause_map_handle_input(MenuPanel* tab) {
f32 xMovement = gGameStatusPtr->stickX * 0.05f;
f32 yMovement = -gGameStatusPtr->stickY * 0.05f;
f32 pause_map_targetYPosTemp = pause_map_targetY;
f32 pause_map_targetXPosTemp = pause_map_targetX;
f32 gPauseMapTargetYPosTemp = gPauseMapTargetY;
f32 gPauseMapTargetXPosTemp = gPauseMapTargetX;
s32 xTemp;
s32 yTemp;
if (xMovement == 0.0f && yMovement == 0.0f && pause_map_cursorCurrentOption != -1) {
PauseMapSpace* mapSpace = &pause_map_spaces[pause_map_cursorCurrentOption];
if (xMovement == 0.0f && yMovement == 0.0f && gPauseMapCursorCurrentOption != -1) {
PauseMapSpace* mapSpace = &gPauseMapSpaces[gPauseMapCursorCurrentOption];
xMovement = mapSpace->pos.x - pause_map_targetXPosTemp;
yMovement = mapSpace->pos.y - pause_map_targetYPosTemp;
xMovement = mapSpace->pos.x - gPauseMapTargetXPosTemp;
yMovement = mapSpace->pos.y - gPauseMapTargetYPosTemp;
xMovement *= 0.32;
yMovement *= 0.32;
}
pause_map_targetX += xMovement;
pause_map_targetY += yMovement;
gPauseMapTargetX += xMovement;
gPauseMapTargetY += yMovement;
if (pause_map_targetX < 16.0f) {
pause_map_targetX = 16.0f;
if (gPauseMapTargetX < 16.0f) {
gPauseMapTargetX = 16.0f;
}
if (pause_map_targetY < 8.0f) {
pause_map_targetY = 8.0f;
if (gPauseMapTargetY < 8.0f) {
gPauseMapTargetY = 8.0f;
}
if (pause_map_targetX >= 316.0f) {
pause_map_targetX = 315.0f;
if (gPauseMapTargetX >= 316.0f) {
gPauseMapTargetX = 315.0f;
}
if (pause_map_targetY >= 308.0f) {
pause_map_targetY = 307.0f;
if (gPauseMapTargetY >= 308.0f) {
gPauseMapTargetY = 307.0f;
}
xTemp = pause_map_targetX + pause_map_cameraX - 117.0;
yTemp = pause_map_targetY + pause_map_cameraY - 55.0;
xTemp = gPauseMapTargetX + gPauseMapCameraX - 117.0;
yTemp = gPauseMapTargetY + gPauseMapCameraY - 55.0;
if (xTemp >= 53.0) {
pause_map_cameraX -= xTemp - 53.0;
gPauseMapCameraX -= xTemp - 53.0;
}
if (xTemp <= -37.0) {
pause_map_cameraX -= xTemp + 37.0;
gPauseMapCameraX -= xTemp + 37.0;
}
if (yTemp >= 15.0) {
pause_map_cameraY -= yTemp - 15.0;
gPauseMapCameraY -= yTemp - 15.0;
}
if (yTemp <= -15.0) {
pause_map_cameraY -= yTemp + 15.0;
gPauseMapCameraY -= yTemp + 15.0;
}
if (pause_map_cameraX > 0.0f) {
pause_map_cameraX = 0.0f;
if (gPauseMapCameraX > 0.0f) {
gPauseMapCameraX = 0.0f;
}
if (pause_map_cameraY > 0.0f) {
pause_map_cameraY = 0.0f;
if (gPauseMapCameraY > 0.0f) {
gPauseMapCameraY = 0.0f;
}
if (pause_map_cameraX < -86.0f) {
pause_map_cameraX = -86.0f;
if (gPauseMapCameraX < -86.0f) {
gPauseMapCameraX = -86.0f;
}
if (pause_map_cameraY < -210.0f) {
pause_map_cameraY = -210.0f;
if (gPauseMapCameraY < -210.0f) {
gPauseMapCameraY = -210.0f;
}
if (gPauseMenuPressedButtons & B_BUTTON) {
if (gPausePressedButtons & B_BUTTON) {
sfx_play_sound(0xCA);
gPauseMenuCurrentTab = 0;
return;
}
gPauseMenuCurrentDescIconScript = 0;
if (pause_map_cursorCurrentOption == -1) {
gPauseMenuCurrentDescMsg = 0;
gPauseCurrentDescIconScript = 0;
if (gPauseMapCursorCurrentOption == -1) {
gPauseCurrentDescMsg = 0;
return;
}
gPauseMenuCurrentDescMsg = MSG_pause_map_location_0_before_desc + (pause_map_cursorCurrentOption * 3);
gPauseCurrentDescMsg = MSG_pause_map_location_0_before_desc + (gPauseMapCursorCurrentOption * 3);
// If the story has progressed enough, show the "after" description
if (evt_get_variable(0, EVT_STORY_PROGRESS) >= pause_map_spaces[pause_map_cursorCurrentOption].afterRequirement) {
gPauseMenuCurrentDescMsg++;
if (evt_get_variable(0, EVT_STORY_PROGRESS) >= gPauseMapSpaces[gPauseMapCursorCurrentOption].afterRequirement) {
gPauseCurrentDescMsg++;
}
}
void pause_map_update(void) {
PauseMapSpace* mapSpace = &pause_map_spaces[0];
void pause_map_update(MenuPanel* tab) {
PauseMapSpace* mapSpace = &gPauseMapSpaces[0];
f32 lowestSqSum = 10000.0f;
f32 cursorOption = -1.0f;
s32 i;
pause_map_cursorCurrentOption = -1;
pause_map_spacesInSnapRange = 0;
gPauseMapCursorCurrentOption = -1;
gPauseMapSpacesInSnapRange = 0;
for (i = 0; i < ARRAY_COUNT(pause_map_spaces); i++, mapSpace++) {
for (i = 0; i < ARRAY_COUNT(gPauseMapSpaces); i++, mapSpace++) {
if (evt_get_variable(0, EVT_SAVE_FLAG_PLACES_VISITED + i) != 0) {
f32 deltaX = pause_map_targetX - mapSpace->pos.x;
f32 deltaY = pause_map_targetY - mapSpace->pos.y;
f32 deltaX = gPauseMapTargetX - mapSpace->pos.x;
f32 deltaY = gPauseMapTargetY - mapSpace->pos.y;
f32 sqSum = SQ(deltaX) + SQ(deltaY);
if (sqSum < 400.0f) {
pause_map_spacesInSnapRange++;
gPauseMapSpacesInSnapRange++;
}
if (sqSum < lowestSqSum && sqSum < 200.0f) {
@ -233,14 +555,14 @@ void pause_map_update(void) {
}
}
pause_map_cursorCurrentOption = cursorOption;
pause_map_cursorCurrentOptionCopy = cursorOption;
gPauseMapCursorCurrentOption = cursorOption;
gPauseMapCursorCurrentOptionCopy = cursorOption;
}
void pause_map_cleanup(void) {
void pause_map_cleanup(MenuPanel* tab) {
s32 i;
for (i = 0; i < ARRAY_COUNT(D_80270700); i++) {
free_hud_element(D_80270700[i]);
for (i = 0; i < ARRAY_COUNT(gPauseMapIconIDs); i++) {
free_hud_element(gPauseMapIconIDs[i]);
}
}

699
src/pause/pause_partners.c Normal file
View File

@ -0,0 +1,699 @@
#include "pause_common.h"
#include "sprite.h"
#include "sprite/npc/world_goombario.h"
#include "sprite/npc/world_kooper.h"
#include "sprite/npc/world_bombette.h"
#include "sprite/npc/world_parakarry.h"
#include "sprite/npc/world_bow.h"
#include "sprite/npc/world_watt.h"
#include "sprite/npc/world_sushie.h"
#include "sprite/npc/world_lakilester.h"
extern s32 gPartnerPopupProperties[11][4];
extern s8 gPauseBufferPal1[512];
extern s8 gPauseBufferImg1[15752];
extern s8 gPauseBufferPal2[512];
extern s8 gPauseBufferImg2[15752];
void pause_partners_draw_contents(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening);
void pause_partners_draw_title(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening);
void pause_partners_draw_movelist(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening);
void pause_partners_draw_movelist_title(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening);
void pause_partners_draw_movelist_flower(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening);
void pause_partners_init(MenuPanel* panel);
void pause_partners_handle_input(MenuPanel* panel);
void pause_partners_update(MenuPanel* panel);
void pause_partners_cleanup(MenuPanel* panel);
static s32 gPausePartnersIconIDs[8];
static s32 gPausePartnersSpriteIDs[8];
static s32 gPausePartnersPartnerIdx[8];
static s32 gPausePartnersCurrentPartnerIdx;
static s32 gPausePartnersSelectedMove;
static f32 gPausePartnersRotAngle;
static s32 gPausePartnersLevel;
static s32 gPausePartnersNumPartners;
HudScript* gPausePartnersIconScripts[] = {
HudScript_FPCost, HudScript_StatFp_1, HudScript_PartnerRank, HudScript_PartnerRank,
HudScript_MoveDiamond, HudScript_MoveBlueOrb, HudScript_MoveGreenOrb, HudScript_MoveRedOrb
};
Vp gPausePartnersViewport = {
.vp = {
.vscale = { 640, 480, 511, 0 },
.vtrans = { 640, 480, 511, 0 },
}
};
s32 gPausePartnersSpriteAnims[][4] = {
{
NPC_ANIM_world_goombario_normal_still,
NPC_ANIM_world_goombario_normal_walk,
NPC_ANIM_world_goombario_normal_talk,
ANIM_END
},
{
NPC_ANIM_world_kooper_normal_still,
NPC_ANIM_world_kooper_normal_walk,
NPC_ANIM_world_kooper_normal_talk,
ANIM_END
},
{
NPC_ANIM_world_bombette_normal_still,
NPC_ANIM_world_bombette_normal_walk,
NPC_ANIM_world_bombette_normal_idle_fast,
ANIM_END
},
{
NPC_ANIM_world_parakarry_Palette_00_Anim_0,
NPC_ANIM_world_parakarry_Palette_00_Anim_2,
NPC_ANIM_world_parakarry_Palette_00_Anim_6,
ANIM_END
},
{
NPC_ANIM_world_bow_Palette_00_Anim_0,
NPC_ANIM_world_bow_Palette_00_Anim_2,
NPC_ANIM_world_bow_Palette_00_Anim_4,
ANIM_END
},
{
NPC_ANIM_world_watt_Palette_00_Anim_0,
NPC_ANIM_world_watt_Palette_00_Anim_2,
NPC_ANIM_world_watt_Palette_00_Anim_4,
ANIM_END
},
{
NPC_ANIM_world_sushie_Palette_00_Anim_0,
NPC_ANIM_world_sushie_Palette_00_Anim_2,
NPC_ANIM_world_sushie_Palette_00_Anim_4,
ANIM_END
},
{
NPC_ANIM_world_lakilester_Palette_00_Anim_0,
NPC_ANIM_world_lakilester_Palette_00_Anim_5,
NPC_ANIM_world_lakilester_Palette_00_Anim_9,
ANIM_END
}
};
s32 gPausePartnersPartnerIDs[] = { 1, 2, 3, 4, 9, 6, 7, 8};
s32 gPausePartnersMessages[] = {
MESSAGE_ID(0x28, 0x6), MESSAGE_ID(0x28, 0x13), MESSAGE_ID(0x28, 0x20), MESSAGE_ID(0x28, 0x2D),
MESSAGE_ID(0x28, 0x3A), MESSAGE_ID(0x28, 0x47), MESSAGE_ID(0x28, 0x54), MESSAGE_ID(0x28, 0x61)
};
s32 gPausePartnersMoveBase[] = { MOVE_HEADBONK1, MOVE_SHELL_TOSS1, MOVE_BODY_SLAM1, MOVE_SKY_DIVE1,
MOVE_SMACK1, MOVE_ELECTRO_DASH1, MOVE_BELLY_FLOP1, MOVE_SPINY_FLIP1 };
s8 gPausePartnersGridData[] = {
4, 5, 6, 7,
0, 1, 2, 3
};
char* gPausePartnersAssetNames[] = { "party_kurio", "party_kameki", "party_pinki", "party_pareta", "party_resa", "party_akari", "party_opuku", "party_pokopi", "letter_peach" };
s8* gPausePartnersImageBuffers[] = { gPauseBufferImg1, gPauseBufferImg2 };
s8* gPausePartnersPaletteBuffers[] = { gPauseBufferPal1, gPauseBufferPal2 };
s32 D_8024F74C = 0;
Gfx gPausePartnersDL[] = {
gsDPPipeSync(),
gsSPTexture(-1, -1, 0, G_TX_RENDERTILE, G_ON),
gsDPSetCycleType(G_CYC_1CYCLE),
gsDPSetTexturePersp(G_TP_NONE),
gsDPSetTextureDetail(G_TD_CLAMP),
gsDPSetTextureLOD(G_TL_TILE),
gsDPSetTextureLUT(G_TT_RGBA16),
gsDPSetTextureFilter(G_TF_POINT),
gsDPSetTextureConvert(G_TC_FILT),
gsDPSetRenderMode(G_RM_OPA_SURF, G_RM_OPA_SURF2),
gsDPSetCombineLERP(0, 0, 0, TEXEL0, 0, 0, 0, 1, 0, 0, 0, TEXEL0, 0, 0, 0, 1),
gsSPClearGeometryMode(G_LIGHTING),
gsSPSetGeometryMode(G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH),
gsSPEndDisplayList()
};
s32 gPausePartnersCurrentPortraitIndex = -1;
s32 gPausePartnersNextPortraitIndex = -1;
MenuWindowBP gPausePartnersWindowBPs[] = {
{
.windowID = WINDOW_ID_PAUSE_PARTNERS,
.unk_01 = 0,
.pos = { .x = 3, .y = 16 },
.width = 289,
.height = 154,
.unk_0A = { 1, 0},
.fpDrawContents = &pause_partners_draw_contents,
.tab = NULL,
.parentID = WINDOW_ID_PAUSE_MAIN,
.fpUpdate = { 2 },
.unk_1C = 0,
.style = &gPauseWS_20
}, {
.windowID = WINDOW_ID_PAUSE_PARTNERS_TITLE,
.unk_01 = 0,
.pos = { .x = 8, .y = 103 },
.width = 112,
.height = 20,
.unk_0A = { 0, 0},
.fpDrawContents = &pause_partners_draw_title,
.tab = NULL,
.parentID = WINDOW_ID_PAUSE_PARTNERS,
.fpUpdate = { 1 },
.unk_1C = 0,
.style = &gPauseWS_22
}, {
.windowID = WINDOW_ID_PAUSE_PARTNERS_MOVELIST,
.unk_01 = 0,
.pos = { .x = 133, .y = 36 },
.width = 140,
.height = 80,
.unk_0A = { 0, 0},
.fpDrawContents = &pause_partners_draw_movelist,
.tab = NULL,
.parentID = WINDOW_ID_PAUSE_PARTNERS,
.fpUpdate = { 2 },
.unk_1C = 0,
.style = (WindowStyleCustom*)-1
}, {
.windowID = WINDOW_ID_PAUSE_PARTNERS_MOVELIST_TITLE,
.unk_01 = 0,
.pos = { .x = 12, .y = -6 },
.width = 80,
.height = 16,
.unk_0A = { 0, 0},
.fpDrawContents = &pause_partners_draw_movelist_title,
.tab = NULL,
.parentID = WINDOW_ID_PAUSE_PARTNERS_MOVELIST,
.fpUpdate = { 1 },
.unk_1C = 0,
.style = (WindowStyleCustom*)-1
}, {
.windowID = WINDOW_ID_PAUSE_PARTNERS_MOVELIST_FLOWER,
.unk_01 = 0,
.pos = { .x = 102, .y = -12 },
.width = 32,
.height = 32,
.unk_0A = { 0, 0},
.fpDrawContents = &pause_partners_draw_movelist_flower,
.tab = NULL,
.parentID = WINDOW_ID_PAUSE_PARTNERS_MOVELIST,
.fpUpdate = { 1 },
.unk_1C = 0,
.style = (WindowStyleCustom*)-1
}
};
u8 gPausePartnersPortraitScrollInterpTable[] = {0, 1, 2, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8 };
MenuPanel gPausePanelPartners = {
.initialized = FALSE,
.col = 0,
.row = 1,
.selected = 0,
.page = 0,
.numCols = 4,
.numRows = 2,
.numPages = 0,
.gridData = gPausePartnersGridData,
.fpInit = &pause_partners_init,
.fpHandleInput = &pause_partners_handle_input,
.fpUpdate = &pause_partners_update,
.fpCleanup = &pause_partners_cleanup
};
typedef struct PartnerPosition {
/* 0x00 */ f32 pos;
/* 0x04 */ s32 index;
} PartnerPosition; // size = 0x8
void pause_partners_load_portrait(s32 index) {
s32 size;
void* asset;
if (gPausePartnersCurrentPortraitIndex != gPausePartnersPartnerIdx[index]) {
gPausePartnersCurrentPortraitIndex = gPausePartnersPartnerIdx[index];
asset = load_asset_by_name(gPausePartnersAssetNames[gPausePartnersCurrentPortraitIndex], &size);
decode_yay0(asset, gPausePartnersPaletteBuffers[0]);
general_heap_free(asset);
}
if (gPausePartnersNextPortraitIndex != gPausePartnersPartnerIdx[(index + 1) % gPausePartnersNumPartners]) {
gPausePartnersNextPortraitIndex = gPausePartnersPartnerIdx[(index + 1) % gPausePartnersNumPartners];
asset = load_asset_by_name(gPausePartnersAssetNames[gPausePartnersNextPortraitIndex], &size);
decode_yay0(asset, gPausePartnersPaletteBuffers[1]);
general_heap_free(asset);
}
}
void pause_partners_draw_contents(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening) {
Matrix4f matrix;
Matrix4f matrix2;
PartnerPosition partnerPositions[8];
s32 i, j, k, index;
s32 x1, y1, x2, y2;
f32 currentPos, angle, scale;
f32 offsetX, offsetY, offsetZ;
s32 a2;
s8 currentTab;
s32 portraitScrollPos;
s32 portraitScrollIndex;
s32 tileHeight;
s32 portraitOffsetX;
s32 portraitIndex;
gSPViewport(gMasterGfxPos++, &gPausePartnersViewport);
guOrthoF(matrix, 0.0f, 320.0f, 240.0f, 0.0f, -100.0f, 100.0f, 1.0f);
guMtxF2L(matrix, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
guTranslateF(matrix, 0.0f, 0.0f, 0.0f);
guMtxF2L(matrix, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
for (i = 0; i < gPausePartnersNumPartners; i++) {
currentPos = cos_deg(i * 360 / gPausePartnersNumPartners - gPausePartnersRotAngle) * 20.0f + 0.0f;
for (j = 0; j < i; j++) {
if (currentPos < partnerPositions[j].pos) {
break;
}
}
for (k = gPausePartnersNumPartners - 1; k > j; k--) {
partnerPositions[k] = partnerPositions[k-1];
}
partnerPositions[j].index = i;
partnerPositions[j].pos = currentPos;
}
for (j = 0; j < gPausePartnersNumPartners; j++) {
portraitIndex = gPausePartnersNumPartners;
index = partnerPositions[j].index;
angle = index * 360 / gPausePartnersNumPartners - gPausePartnersRotAngle;
offsetX = gPausePartnersNumPartners * 3 + 17;
offsetX *= sin_deg(angle);
offsetX += 42.0f;
offsetZ = 30.0f - cos_deg(angle) * 30.0f;
offsetY = cos_deg(angle) * 20.0f + 0.0f;
scale = 30.0 / (offsetZ + 60.0f) + 0.5;
guTranslateF(matrix, baseX + 22 + offsetX, baseY + 81 + offsetY, -offsetZ);
guRotateF(matrix2, 180.0f, 0.0f, 0.0f, 1.0f);
guMtxCatF(matrix2, matrix, matrix);
guScaleF(matrix2, scale, scale, 1.0f);
guMtxCatF(matrix2, matrix, matrix);
if (offsetZ > 8.0f) {
a2 = 160;
} else {
a2 = 255.0f - offsetZ * 95.0f * 0.125f;
}
func_802DE894(gPausePartnersSpriteIDs[gPausePartnersPartnerIdx[index]], 6, a2, a2, a2, 0xFF, 0x40);
spr_draw_npc_sprite(gPausePartnersSpriteIDs[gPausePartnersPartnerIdx[index]], 0, 0, NULL, matrix);
}
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
currentTab = gPauseMenuCurrentTab;
if (currentTab == 4) {
if (gPausePartnersLevel == 0) {
pause_set_cursor_pos(WINDOW_ID_PAUSE_PARTNERS, baseX + 42, baseY + 88);
}
if (gPauseMenuCurrentTab == currentTab && gPausePartnersLevel == 0) {
pause_draw_menu_label(8, 18, 158);
}
}
x1 = baseX + 130;
y1 = baseY + 24;
x2 = baseX + 280;
y2 = baseY + 129;
if (x1 <= 0) {
x1 = 1;
}
if (y1 <= 0) {
y1 = 1;
}
if (x2 <= 0 || y2 <= 0 || x1 >= SCREEN_WIDTH - 1 || y1 >= SCREEN_HEIGHT - 1) {
return;
}
if (x2 >= SCREEN_WIDTH - 1) {
x2 = SCREEN_WIDTH - 1;
}
if (y2 >= SCREEN_HEIGHT - 1) {
y2 = SCREEN_HEIGHT - 1;
}
portraitScrollPos = (gPausePartnersRotAngle + 360.0f) * 15000.0f * gPausePartnersNumPartners / 360.0f;
portraitScrollIndex = portraitScrollPos / 15000;
gDPSetScissor(gMasterGfxPos++, G_SC_NON_INTERLACE, x1, y1, x2, y2);
portraitOffsetX = (portraitScrollIndex * 15000 - portraitScrollPos);
portraitOffsetX *= 0.01;
portraitIndex = portraitScrollIndex;
pause_partners_load_portrait(portraitIndex % gPausePartnersNumPartners);
for (i = 0; i < 2; portraitOffsetX += 150, i++) {
gSPDisplayList(gMasterGfxPos++, &gPausePartnersDL);
gDPLoadTLUT_pal256(gMasterGfxPos++, gPausePartnersPaletteBuffers[i]);
for (index = 0; index < 20; index++) {
if (12 * index + 12 <= 105) {
tileHeight = 12;
} else {
tileHeight = 106 - 12 * index;
}
gDPLoadTextureTile(gMasterGfxPos++, gPausePartnersImageBuffers[i], G_IM_FMT_CI, G_IM_SIZ_8b, 150, 0,
0, 12 * index, 149, 12 * index + tileHeight - 1, 0,
G_TX_CLAMP, G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
pause_draw_rect((baseX + 130 + portraitOffsetX) * 4, (baseY + 24 + 12 * index) * 4, (baseX + 280 + portraitOffsetX) * 4, (baseY + 24 + 12 * index + tileHeight) * 4, 0, 0,
12 * index * 32, 0x400, 0x400);
gDPPipeSync(gMasterGfxPos++);
if (12 * index + 12 >= 105) {
break;
}
}
}
{
s32 x1, y1, x2, y2;
x1 = baseX + 122;
y1 = baseY + 16;
x2 = baseX + 288;
y2 = baseY + 137;
if (x1 <= 0) {
x1 = 1;
}
if (y1 <= 0) {
y1 = 1;
}
if (x2 <= 0 || y2 <= 0 || x1 >= SCREEN_WIDTH - 1 || y1 >= SCREEN_HEIGHT - 1) {
return;
}
if (x2 >= SCREEN_WIDTH - 1) {
x2 = SCREEN_WIDTH - 1;
}
if (y2 >= SCREEN_HEIGHT - 1) {
y2 = SCREEN_HEIGHT - 1;
}
gDPSetScissor(gMasterGfxPos++, G_SC_NON_INTERLACE, x1, y1, x2, y2);
}
draw_box(0, &gPauseWS_21, baseX + 122, baseY + 16, 0, 166, 121, opacity, darkening, 1.0f, 1.0f, 0, 0, 0, 0, 0, 0, width, height, 0);
}
void pause_partners_draw_title(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening) {
s32 msgID = gPartnerPopupProperties[gPausePartnersPartnerIDs[gPausePartnersPartnerIdx[gPausePartnersCurrentPartnerIdx]]][0];
s32 level = get_player_data()->partners[gPausePartnersPartnerIDs[gPausePartnersPartnerIdx[gPausePartnersCurrentPartnerIdx]]].level;
s32 msgWidth = get_msg_width(msgID, 0);
s32 offset = 16;
if (level != 1) {
offset = 0;
if (level == 2) {
offset = 20;
}
}
if (offset != 0) {
msgWidth += 4;
}
draw_msg(msgID, baseX + ((width - offset - msgWidth) >> 1), baseY + 1, 255, 0, 0);
if (level == 1) {
set_hud_element_render_pos(gPausePartnersIconIDs[2], baseX + 95, baseY + 10);
draw_hud_element_3(gPausePartnersIconIDs[2]);
} else if (level == 2) {
set_hud_element_render_pos(gPausePartnersIconIDs[2], baseX + 91, baseY + 10);
draw_hud_element_3(gPausePartnersIconIDs[2]);
set_hud_element_render_pos(gPausePartnersIconIDs[3], baseX + 101, baseY + 10);
draw_hud_element_3(gPausePartnersIconIDs[3]);
}
}
void pause_partners_draw_movelist(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening) {
s32 i;
s32 moveNameID;
s32 costFP;
s32 msgX, msgY;
s32 style;
s32 level = get_player_data()->partners[gPausePartnersPartnerIDs[gPausePartnersPartnerIdx[gPausePartnersCurrentPartnerIdx]]].level;
if (level == 2) {
level = 4;
} else if (level == 1) {
level = 3;
} else if (level == 0) {
level = 2;
}
for (i = 0; i < 4; i++) {
msgX = baseX + 21;
msgY = baseY + 22 + i * 13;
if (i >= level) {
continue;
}
style = 1;
if (i == 0) {
moveNameID = gMoveTable[gPausePartnersMoveBase[gPausePartnersPartnerIdx[gPausePartnersCurrentPartnerIdx]]].moveNameID;
} else {
moveNameID = gMoveTable[gPausePartnersMoveBase[gPausePartnersPartnerIdx[gPausePartnersCurrentPartnerIdx]] + 2 + i].moveNameID;
}
if (i > 0) {
costFP = gMoveTable[gPausePartnersMoveBase[gPausePartnersPartnerIdx[gPausePartnersCurrentPartnerIdx]] + 2 + i].costFP;
} else {
costFP = 0;
}
draw_msg(moveNameID, msgX, msgY, 255, 10, style);
set_hud_element_scale(gPausePartnersIconIDs[i + 4], 0.5f);
//TODO find better match
set_hud_element_render_pos(gPausePartnersIconIDs[i + 4], 12 - (-baseX), baseY + 28 + i * 13);
draw_hud_element_3(gPausePartnersIconIDs[i + 4]);
if (costFP != 0) {
draw_number(costFP, baseX + 125, baseY + 22 + i * 13, style, 10, 255, 3);
if (costFP > 0) {
set_hud_element_render_pos(gPausePartnersIconIDs[0], baseX + 134, baseY + 29 + i * 13);
draw_hud_element_3(gPausePartnersIconIDs[0]);
}
}
}
if (gPauseMenuCurrentTab == 4 && gPausePartnersLevel == 1) {
pause_set_cursor_pos(WINDOW_ID_PAUSE_PARTNERS_MOVELIST, baseX - 2, baseY + 28 + gPausePartnersSelectedMove * 13);
}
}
void pause_partners_draw_movelist_title(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening) {
draw_msg(pause_get_menu_msg(0x55), baseX + 12, baseY + 1, 255, -1, 1);
}
void pause_partners_draw_movelist_flower(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening) {
set_hud_element_render_pos(gPausePartnersIconIDs[1], baseX + 17, baseY + 16);
draw_hud_element_3(gPausePartnersIconIDs[1]);
}
void pause_partners_init(MenuPanel* panel) {
s32 i;
PlayerData* playerData = get_player_data();
gPausePartnersNumPartners = 0;
for (i = 0; i < ARRAY_COUNT(gPausePartnersPartnerIDs); i++) {
if (playerData->partners[gPausePartnersPartnerIDs[i]].enabled) {
gPausePartnersPartnerIdx[gPausePartnersNumPartners] = i;
gPausePartnersNumPartners++;
}
}
if (gPausePartnersNumPartners == 0) {
set_window_update(WINDOW_ID_PAUSE_PARTNERS, 2);
panel->initialized = FALSE;
return;
}
for (i = 0; i < ARRAY_COUNT(gPausePartnersSpriteAnims); i++) {
gPausePartnersSpriteIDs[i] = spr_load_npc_sprite(gPausePartnersSpriteAnims[i][0], gPausePartnersSpriteAnims[i]);
}
for (i = 0; i < ARRAY_COUNT(gPausePartnersIconScripts); i++) {
gPausePartnersIconIDs[i] = create_hud_element(gPausePartnersIconScripts[i]);
set_hud_element_flags(gPausePartnersIconIDs[i], 0x80);
}
for (i = 0; i < ARRAY_COUNT(gPausePartnersWindowBPs); i++) {
gPausePartnersWindowBPs[i].tab = panel;
}
setup_pause_menu_tab(gPausePartnersWindowBPs, ARRAY_COUNT(gPausePartnersWindowBPs));
gPausePartnersCurrentPartnerIdx = 0;
for (i = 0; i < gPausePartnersNumPartners; i++) {
if (playerData->currentPartner == gPausePartnersPartnerIDs[gPausePartnersPartnerIdx[i]]) {
gPausePartnersCurrentPartnerIdx = i;
break;
}
}
gPausePartnersSelectedMove = 0;
gPausePartnersLevel = 0;
gPausePartnersRotAngle = gPausePartnersCurrentPartnerIdx * 360 / gPausePartnersNumPartners;
pause_partners_load_portrait(0);
panel->initialized = TRUE;
}
void pause_partners_handle_input(MenuPanel* panel) {
s32 delta;
s32 level, level2;
s32 oldPos;
if (gPausePartnersNumPartners >= 2 && (gPausePartnersLevel == 0 || (gPauseHeldButtons & (BUTTON_Z | BUTTON_R)))) {
delta = 0;
if (gPauseHeldButtons & BUTTON_STICK_LEFT) {
delta = -1;
}
if (gPauseHeldButtons & BUTTON_STICK_RIGHT) {
delta++;
}
if (gPauseHeldButtons & BUTTON_Z) {
delta--;
}
if (gPauseHeldButtons & BUTTON_R) {
delta++;
}
if (delta) {
sfx_play_sound(SOUND_MENU_CHANGE_SELECTION);
gPausePartnersCurrentPartnerIdx += delta;
if (gPausePartnersCurrentPartnerIdx < 0) {
gPausePartnersCurrentPartnerIdx = gPausePartnersNumPartners - 1;
if (gPausePartnersRotAngle < 360.0f) {
gPausePartnersRotAngle += 360.0f;
}
} else if (gPausePartnersCurrentPartnerIdx >= gPausePartnersNumPartners) {
gPausePartnersCurrentPartnerIdx = 0;
if (gPausePartnersRotAngle > 0.0f) {
gPausePartnersRotAngle -= 360.0f;
}
}
gPausePartnersSelectedMove = 0;
}
}
level = get_player_data()->partners[gPausePartnersPartnerIDs[gPausePartnersPartnerIdx[gPausePartnersCurrentPartnerIdx]]].level;
if (level == 2) {
level = 4;
} else if (level == 1) {
level = 3;
} else if (level == 0) {
level = 2;
}
gWindows[WINDOW_ID_PAUSE_PARTNERS_MOVELIST].height = level * 13 + 30;
if (gPausePartnersLevel == 1) {
oldPos = gPausePartnersSelectedMove;
level2 = get_player_data()->partners[gPausePartnersPartnerIDs[gPausePartnersPartnerIdx[gPausePartnersCurrentPartnerIdx]]].level;
if (level2 == 2) {
level2 = 4;
} else if (level2 == 1) {
level2 = 3;
} else if (level2 == 0) {
level2 = 2;
}
if (gPauseHeldButtons & BUTTON_STICK_UP) {
gPausePartnersSelectedMove--;
}
if (gPauseHeldButtons & BUTTON_STICK_DOWN) {
gPausePartnersSelectedMove++;
}
if (gPausePartnersSelectedMove < 0) {
gPausePartnersSelectedMove = level2 - 1;
} else if (gPausePartnersSelectedMove >= level2) {
gPausePartnersSelectedMove = 0;
}
if (gPausePartnersSelectedMove != oldPos) {
sfx_play_sound(SOUND_MENU_CHANGE_SELECTION);
}
}
if ((gPausePressedButtons & BUTTON_A) && gPausePartnersLevel == 0) {
gPausePartnersLevel = 1;
sfx_play_sound(SOUND_MENU_NEXT);
set_window_update(WINDOW_ID_PAUSE_PARTNERS_MOVELIST, 1);
return;
}
if (gPausePressedButtons & BUTTON_B) {
if (gPausePartnersLevel == 0) {
gPauseMenuCurrentTab = 0;
sfx_play_sound(SOUND_MENU_BACK);
return;
} else {
gPausePartnersLevel = 0;
sfx_play_sound(SOUND_MENU_BACK);
set_window_update(WINDOW_ID_PAUSE_PARTNERS_MOVELIST, 2);
return;
}
}
gPauseCurrentDescIconScript = 0;
if (gPausePartnersLevel == 0) {
gPauseCurrentDescMsg = gPausePartnersMessages[gPausePartnersPartnerIdx[gPausePartnersCurrentPartnerIdx]];
} else if (gPausePartnersSelectedMove == 0) {
gPauseCurrentDescMsg = gMoveTable[gPausePartnersMoveBase[gPausePartnersPartnerIdx[gPausePartnersCurrentPartnerIdx]]].menuDescID;
} else {
gPauseCurrentDescMsg = gMoveTable[gPausePartnersMoveBase[gPausePartnersPartnerIdx[gPausePartnersCurrentPartnerIdx]] + 2 + gPausePartnersSelectedMove].menuDescID;
}
}
void pause_partners_update(MenuPanel* panel) {
s32 i;
f32 delta;
s32 absValue;
f32 deltaBefore;
s32 sgn;
deltaBefore = gPausePartnersCurrentPartnerIdx * 360 / gPausePartnersNumPartners - gPausePartnersRotAngle;
absValue = abs(deltaBefore);
sgn = sign(deltaBefore);
if (absValue >= 16) {
delta = deltaBefore * 0.3;
} else {
delta = sgn * gPausePartnersPortraitScrollInterpTable[absValue];
gPausePartnersRotAngle = (int)gPausePartnersRotAngle;
}
gPausePartnersRotAngle += delta;
for (i = 0; i < gPausePartnersNumPartners; i++) {
if (i == gPausePartnersCurrentPartnerIdx) {
spr_update_sprite(gPausePartnersSpriteIDs[gPausePartnersPartnerIdx[i]], gPausePartnersSpriteAnims[gPausePartnersPartnerIdx[i]][1], 1.0f);
} else {
spr_update_sprite(gPausePartnersSpriteIDs[gPausePartnersPartnerIdx[i]], gPausePartnersSpriteAnims[gPausePartnersPartnerIdx[i]][0], 1.0f);
}
}
}
void pause_partners_cleanup(MenuPanel* panel) {
s32 i;
for (i = 0; i < ARRAY_COUNT(gPausePartnersIconIDs); i++) {
free_hud_element(gPausePartnersIconIDs[i]);
}
for (i = 0; i < ARRAY_COUNT(gPausePartnersSpriteIDs); i++) {
spr_free_sprite(gPausePartnersSpriteIDs[i]);
}
}

401
src/pause/pause_spirits.c Normal file
View File

@ -0,0 +1,401 @@
#include "pause_common.h"
#include "sprite.h"
#include "sprite/npc/world_eldstar.h"
#include "sprite/npc/world_mamar.h"
#include "sprite/npc/world_skolar.h"
#include "sprite/npc/world_muskular.h"
#include "sprite/npc/world_misstar.h"
#include "sprite/npc/world_klevar.h"
#include "sprite/npc/world_kalmar.h"
extern Gfx gPauseDLSpiritsBg[];
extern s8 pause_spirits_bg_png[];
void pause_spirits_draw_contents(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening);
void pause_spirits_draw_title(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening);
void pause_spirits_init(MenuPanel* panel);
void pause_spirits_handle_input(MenuPanel* panel);
void pause_spirits_update(MenuPanel* panel);
void pause_spirits_cleanup(MenuPanel* panel);
static s32 gPauseSpiritsSpriteIDs[7];
static s32 D_802706DC;
static s32 gPauseSpiritsIndexes[7];
static s32 gPauseSpiritsNumSpirits;
Vp gPauseSpiritsViewport = {
.vp = {
.vscale = { 640, 480, 511, 0 },
.vtrans = { 640, 480, 511, 0 },
}
};
s32 gPauseSpiritsSpriteAnims[][4] = {
{
NPC_ANIM_world_eldstar_Palette_00_Anim_0,
NPC_ANIM_world_eldstar_Palette_00_Anim_1,
NPC_ANIM_world_eldstar_Palette_00_Anim_2,
ANIM_END
},
{
NPC_ANIM_world_mamar_Palette_00_Anim_0,
NPC_ANIM_world_mamar_Palette_00_Anim_1,
NPC_ANIM_world_mamar_Palette_00_Anim_2,
ANIM_END
},
{
NPC_ANIM_world_skolar_Palette_00_Anim_0,
NPC_ANIM_world_skolar_Palette_00_Anim_1,
NPC_ANIM_world_skolar_Palette_00_Anim_2,
ANIM_END
},
{
NPC_ANIM_world_muskular_Palette_00_Anim_0,
NPC_ANIM_world_muskular_Palette_00_Anim_1,
NPC_ANIM_world_muskular_Palette_00_Anim_2,
ANIM_END
},
{
NPC_ANIM_world_misstar_Palette_00_Anim_0,
NPC_ANIM_world_misstar_Palette_00_Anim_1,
NPC_ANIM_world_misstar_Palette_00_Anim_2,
ANIM_END
},
{
NPC_ANIM_world_klevar_Palette_00_Anim_0,
NPC_ANIM_world_klevar_Palette_00_Anim_1,
NPC_ANIM_world_klevar_Palette_00_Anim_3,
ANIM_END
},
{
NPC_ANIM_world_kalmar_Palette_00_Anim_0,
NPC_ANIM_world_kalmar_Palette_00_Anim_1,
NPC_ANIM_world_kalmar_Palette_00_Anim_2,
ANIM_END
}
};
s8 gPauseSpiritsGridData[] = {
5, 6, 0, 1, 2,
5, 4, 4, 3, 2
};
Vec2i gPauseSpiritsPositions[] = {
{ .x = 120, .y = -5 },
{ .x = 179, .y = -2 },
{ .x = 222, .y = 28 },
{ .x = 165, .y = 45 },
{ .x = 76, .y = 45 },
{ .x = 17, .y = 28 },
{ .x = 59, .y = -2 }
};
s32 gPauseSpiritsDrawOrder[] = { 6, 0, 1, 5, 2, 4, 3 };
Vec2i gPauseSpiritsCursorPositions[] = {
{ .x = 120, .y = 50 },
{ .x = 180, .y = 55 },
{ .x = 220, .y = 90 },
{ .x = 165, .y = 110 },
{ .x = 75, .y = 110 },
{ .x = 20, .y = 90 },
{ .x = 60, .y = 55 }
};
MenuWindowBP gPauseSpiritsWindowsBPs[] = {
{
.windowID = WINDOW_ID_PAUSE_SPIRITS,
.unk_01 = 0,
.pos = { .x = 3, .y = 16 },
.width = 289,
.height = 154,
.unk_0A = { 1, 0 },
.fpDrawContents = &pause_spirits_draw_contents,
.tab = NULL,
.parentID = WINDOW_ID_PAUSE_MAIN,
.fpUpdate = { 2 },
.unk_1C = 0,
.style = &gPauseWS_23
},
{
.windowID = WINDOW_ID_PAUSE_SPIRITS_TITLE,
.unk_01 = 0,
.pos = { .x = 86, .y = 124 },
.width = 120,
.height = 20,
.unk_0A = { 0, 0 },
.fpDrawContents = &pause_spirits_draw_title,
.tab = NULL,
.parentID = WINDOW_ID_PAUSE_SPIRITS,
.fpUpdate = { 1 },
.unk_1C = 0,
.style = &gPauseWS_24
}
};
MenuPanel gPausePanelSpirits = {
.initialized = FALSE,
.col = 2,
.row = 0,
.selected = 0,
.page = 0,
.numCols = 5,
.numRows = 2,
.numPages = 0,
.gridData = gPauseSpiritsGridData,
.fpInit = &pause_spirits_init,
.fpHandleInput = &pause_spirits_handle_input,
.fpUpdate = &pause_spirits_update,
.fpCleanup = &pause_spirits_cleanup
};
void pause_spirits_draw_contents(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening) {
Matrix4f matrix1;
Matrix4f matrix2;
s32 i, j;
s32 s0;
s32 s1;
s32 index;
f32 x, y;
f32 offsetY;
s32 x1, y1, x2, y2;
f32 frameCounter;
f32 scale;
PlayerData* playerData = get_player_data();
gDPPipeSync(gMasterGfxPos++);
gSPViewport(gMasterGfxPos++, &gPauseSpiritsViewport);
gSPDisplayList(gMasterGfxPos++, gPauseDLSpiritsBg);
for (i = 0; i < 5; i++) {
gDPLoadTextureTile_4b(gMasterGfxPos++, pause_spirits_bg_png, G_IM_FMT_CI, 128, 110,
0, i * 22, 127, i * 22 + 21, 0,
G_TX_MIRROR, G_TX_CLAMP, 7, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
pause_draw_rect((baseX + 15) * 4, (baseY + 22 + i * 22) * 4, (baseX + 271) * 4, (baseY + 22 + i * 22 + 22) * 4, 0, 16, 16 + i * 704, 0x400, 0x400);
gDPPipeSync(gMasterGfxPos++);
}
guOrthoF(matrix1, 0.0f, 320.0f, 240.0f, 0.0f, -1000.0f, 1000.0f, 1.0f);
guMtxF2L(matrix1, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
guTranslateF(matrix1, 0.0f, 0.0f, 0.0f);
guMtxF2L(matrix1, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
for (i = 0; i < gPauseSpiritsNumSpirits; i++) {
index = gPauseSpiritsDrawOrder[i];
frameCounter = gGameStatusPtr->frameCounter * 4;
x = gPauseSpiritsPositions[index].x;
y = gPauseSpiritsPositions[index].y;
if (playerData->maxStarPower < index + 1) {
s0 = 0;
s1 = 0x80;
offsetY = 0.0f;
} else {
s0 = 0xFF;
s1 = 0xFF;
offsetY = sin_deg(index * index * index + frameCounter * 0.4321 + frameCounter * (index * 0.02 + 0.1324))
* 5.0f
* sin_deg(index * 0.25 + frameCounter + frameCounter * (0.0432 - index * 0.01));
}
func_802DE894(gPauseSpiritsSpriteIDs[gPauseSpiritsIndexes[index]], 8, s0, s0, s0, s1, 0x40);
guTranslateF(matrix1, baseX + 22 + x, baseY + 77 + y + offsetY, 0.0f);
guRotateF(matrix2, 180.0f, 0.0f, 0.0f, 1.0f);
guMtxCatF(matrix2, matrix1, matrix1);
if (index == 1 || index == 2 || index == 3) {
guRotateF(matrix2, 180.0f, 0.0f, 1.0f, 0.0f);
guMtxCatF(matrix2, matrix1, matrix1);
}
guScaleF(matrix2, 0.9f, 0.9f, 0.9f);
guMtxCatF(matrix2, matrix1, matrix1);
spr_draw_npc_sprite(gPauseSpiritsSpriteIDs[gPauseSpiritsIndexes[index]], 0, 0, 0, matrix1);
}
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
x1 = baseX + 7;
y1 = baseY + 14;
x2 = baseX + 279;
y2 = baseY + 140;
if (x1 <= 0) {
x1 = 1;
}
if (y1 <= 0) {
y1 = 1;
}
if (x2 <= 0 || y2 <= 0 || x1 >= SCREEN_WIDTH - 1 || y1 >= SCREEN_HEIGHT - 1) {
return;
}
if (x2 >= SCREEN_WIDTH - 1) {
x2 = SCREEN_WIDTH - 1;
}
if (y2 >= SCREEN_HEIGHT - 1) {
y2 = SCREEN_HEIGHT - 1;
}
gDPSetScissor(gMasterGfxPos++, G_SC_NON_INTERLACE, x1, y1, x2, y2);
draw_box(0, &gPauseWS_25, baseX + 7, baseY + 14, 0, 272, 126, opacity, darkening, 1.0f, 1.0f, 0, 0, 0, 0, 0, 0, width, height, 0);
if (gPauseMenuCurrentTab == 5) {
pause_set_cursor_pos(WINDOW_ID_PAUSE_SPIRITS, baseX + gPauseSpiritsCursorPositions[menu->selected].x, baseY + gPauseSpiritsCursorPositions[menu->selected].y);
}
}
void pause_spirits_draw_title(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening) {
s32 msgID;
PlayerData* playerData = get_player_data();
if (gPauseMenuCurrentTab == 5) {
if (playerData->maxStarPower > gPauseSpiritsIndexes[menu->selected]) {
msgID = gPauseSpiritsIndexes[menu->selected] + MESSAGE_ID(0x1D, 0x2A);
} else {
msgID = pause_get_menu_msg(0x56);
}
draw_msg(msgID, baseX + ((width - get_msg_width(msgID, 0)) >> 1), baseY + 1, 255, 0, 0);
}
}
void pause_spirits_init(MenuPanel* panel) {
s32 i;
get_player_data();
gPauseSpiritsNumSpirits = 0;
for (i = 0; i < ARRAY_COUNT(gPauseSpiritsIndexes); i++) {
gPauseSpiritsIndexes[gPauseSpiritsNumSpirits] = i;
gPauseSpiritsNumSpirits++;
}
for (i = 0; i < ARRAY_COUNT(gPauseSpiritsSpriteAnims); i++) {
gPauseSpiritsSpriteIDs[i] = spr_load_npc_sprite(gPauseSpiritsSpriteAnims[i][0], gPauseSpiritsSpriteAnims[i]);
}
for (i = 0; i < ARRAY_COUNT(gPauseSpiritsWindowsBPs); i++) {
gPauseSpiritsWindowsBPs[i].tab = panel;
}
setup_pause_menu_tab(gPauseSpiritsWindowsBPs, ARRAY_COUNT(gPauseSpiritsWindowsBPs));
panel->initialized = TRUE;
}
void pause_spirits_handle_input(MenuPanel* panel) {
s32 oldSelected = panel->selected;
if (gPauseHeldButtons & BUTTON_STICK_LEFT) {
while (TRUE) {
panel->col--;
if (panel->col < 0) {
panel->col = 0;
break;
}
if (panel->selected != MENU_PANEL_SELECTED_GRID_DATA(panel)) {
break;
}
}
}
if (gPauseHeldButtons & BUTTON_STICK_RIGHT) {
while (TRUE) {
panel->col++;
if (panel->col >= panel->numCols) {
panel->col = panel->numCols - 1;
break;
}
if (panel->selected != MENU_PANEL_SELECTED_GRID_DATA(panel)) {
break;
}
}
}
if (gPauseHeldButtons & BUTTON_STICK_UP) {
if (panel->selected == 2) {
panel->col = 3;
panel->row = 0;
} else if (panel->selected == 5) {
panel->col = 1;
panel->row = 0;
} else {
while (TRUE) {
panel->row--;
if (panel->row < 0) {
panel->row = 0;
break;
}
if (panel->selected != MENU_PANEL_SELECTED_GRID_DATA(panel)) {
break;
}
}
}
}
if (gPauseHeldButtons & BUTTON_STICK_DOWN) {
if (panel->selected == 2) {
panel->col = 3;
panel->row = 1;
} else if (panel->selected == 5) {
panel->col = 1;
panel->row = 1;
} else {
while (TRUE) {
panel->row++;
if (panel->row >= panel->numRows) {
panel->row = panel->numRows - 1;
break;
}
if (panel->selected != MENU_PANEL_SELECTED_GRID_DATA(panel)) {
break;
}
}
}
}
panel->selected = MENU_PANEL_SELECTED_GRID_DATA(panel);
if (panel->selected == 4) {
panel->col = 1;
panel->row = 1;
}
if (panel->selected != oldSelected) {
sfx_play_sound(SOUND_MENU_CHANGE_SELECTION);
}
if (gPausePressedButtons & BUTTON_B) {
gPauseMenuCurrentTab = 0;
sfx_play_sound(SOUND_MENU_BACK);
return;
}
gPauseCurrentDescIconScript = 0;
if (get_player_data()->maxStarPower <= gPauseSpiritsIndexes[panel->selected]) {
gPauseCurrentDescMsg = pause_get_menu_msg(0x56);
} else {
gPauseCurrentDescMsg = MESSAGE_ID(0x1D, 0x31) + gPauseSpiritsIndexes[panel->selected];
}
}
void pause_spirits_update(MenuPanel* panel) {
PlayerData* playerData = get_player_data();
s32 i;
for (i = 0; i < gPauseSpiritsNumSpirits; i++) {
if (i < playerData->maxStarPower && gPauseMenuCurrentTab == 5 && i == panel->selected) {
spr_update_sprite(gPauseSpiritsSpriteIDs[i], gPauseSpiritsSpriteAnims[i][1], 1.0f);
} else {
//TODO find better match
do { spr_update_sprite(gPauseSpiritsSpriteIDs[i], gPauseSpiritsSpriteAnims[i][0], 1.0f); } while (0);
}
}
}
void pause_spirits_cleanup(MenuPanel* panel) {
s32 i;
for (i = 0; i < ARRAY_COUNT(gPauseSpiritsSpriteIDs); i++) {
spr_free_sprite(gPauseSpiritsSpriteIDs[i]);
}
}

225
src/pause/pause_stats.c Normal file
View File

@ -0,0 +1,225 @@
#include "pause_common.h"
void pause_stats_draw_contents(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening);
void pause_stats_init(MenuPanel* panel);
void pause_stats_handle_input(MenuPanel* panel);
void pause_stats_cleanup(MenuPanel* panel);
static s32 gPauseStatsIconIDs[12];
// Probably only used here, but could theoretically be used in the main menu too
typedef struct {
s32 cursorX;
s32 cursorY;
s32 baseMsgID;
} StatsEntryData; // size = 0xC
HudScript* gStatsMenuElements[] = { HudScript_MarioHeadSmall, HudScript_StatBoots0, HudScript_StatHammer0,
HudScript_StatusCoin, HudScript_StatusStarPoint, HudScript_StatStarPiece_1,
HudScript_Clock, HudScript_StatusHeart, HudScript_StatFp_1, HudScript_StatBp,
HudScript_StatusStar1, HudScript_StatTimes};
HudScript* gStatsBootsElements[] = { HudScript_StatBoots0, HudScript_StatBoots1, HudScript_StatBoots2, HudScript_StatBoots3 };
HudScript* gStatsHammerElements[] = { HudScript_StatHammer0, HudScript_StatHammer1, HudScript_StatHammer2, HudScript_StatHammer3 };
s32 gPauseStatsBootsMessages[] = { 59, 60, 61, 62 };
s32 gPauseStatsHammerMessages[] = { 63, 64, 65, 66 };
s8 gPauseStatsGridData[] = {
0, 4,
1, 5,
1, 6,
2, 7,
2, 8,
3, 9,
3, 10
};
StatsEntryData gStatsMenuEntries[] = {
{.cursorX = 9, .cursorY = 20, .baseMsgID = 33},
{.cursorX = 17, .cursorY = 55, .baseMsgID = 34},
{.cursorX = 17, .cursorY = 90, .baseMsgID = 35},
{.cursorX = 17, .cursorY = 124, .baseMsgID = 36},
{.cursorX = 138, .cursorY = 28, .baseMsgID = 37},
{.cursorX = 138, .cursorY = 53, .baseMsgID = 40},
{.cursorX = 132, .cursorY = 76, .baseMsgID = 44},
{.cursorX = 125, .cursorY = 91, .baseMsgID = 45},
{.cursorX = 125, .cursorY = 106, .baseMsgID = 46},
{.cursorX = 125, .cursorY = 121, .baseMsgID = 47},
{.cursorX = 125, .cursorY = 138, .baseMsgID = 49}
};
HudScript* gPauseStatsSPIncElements[] = { HudScript_StatusSPIncrement1, HudScript_StatusSPIncrement3,
HudScript_StatusSPIncrement2, HudScript_StatusSPIncrement4,
HudScript_StatusSPIncrement5, HudScript_StatusSPIncrement6,
HudScript_StatusSPIncrement7 };
HudScript* gPauseStatsStarElements[] = { HudScript_StatusStar1, HudScript_StatusStar3, HudScript_StatusStar2,
HudScript_StatusStar4, HudScript_StatusStar5, HudScript_StatusStar6,
HudScript_StatusStar7 };
// TODO replace with array when pause_stats_draw_contents is matched
s32 D_8024F46C = -1;
s32 D_8024F470 = 1;
s32 D_8024F474 = 2;
s32 D_8024F478 = 4;
s32 D_8024F47C = 5;
s32 D_8024F480 = 7;
s32 D_8024F484 = 8;
MenuWindowBP gStatsMenuWindowBPs[] = {
{
.windowID = WINDOW_ID_PAUSE_STATS,
.unk_01 = 0,
.pos = { .x = 3, .y = 16 },
.width = 289,
.height = 154,
.unk_0A = { 0, 0},
.fpDrawContents = &pause_stats_draw_contents,
.tab = NULL,
.parentID = WINDOW_ID_PAUSE_MAIN,
.fpUpdate = { 2 },
.unk_1C = 0,
.style = &gPauseWS_12
}
};
MenuPanel gPausePanelStats = {
.initialized = FALSE,
.col = 0,
.row = 0,
.selected = 0,
.page = 0,
.numCols = 2,
.numRows = 7,
.numPages = 0,
.gridData = gPauseStatsGridData,
.fpInit = &pause_stats_init,
.fpHandleInput = &pause_stats_handle_input,
.fpUpdate = NULL,
.fpCleanup = &pause_stats_cleanup
};
INCLUDE_ASM(s32, "pause/138CC0", pause_stats_draw_contents);
void pause_stats_init(MenuPanel* panel) {
s32 i;
for (i = 0; i < ARRAY_COUNT(gPauseStatsIconIDs); i++) {
s32 iconID = create_hud_element(gStatsMenuElements[i]);
gPauseStatsIconIDs[i] = iconID;
set_hud_element_flags(iconID, 0x80);
}
for (i = 0; i < ARRAY_COUNT(gStatsMenuWindowBPs); i++) {
gStatsMenuWindowBPs[i].tab = panel;
}
setup_pause_menu_tab(gStatsMenuWindowBPs, ARRAY_COUNT(gStatsMenuWindowBPs));
panel->initialized = TRUE;
}
void pause_stats_handle_input(MenuPanel* panel) {
s32 initialSelection = panel->selected;
s16 adjustedBootsLevel;
s16 adjustedHammerLevel;
s32 msgOffset;
if (gPauseHeldButtons & BUTTON_STICK_LEFT) {
while (1) {
panel->col--;
if (panel->col < 0) {
panel->col = 0;
break;
} else if (panel->selected != MENU_PANEL_SELECTED_GRID_DATA(panel)) {
break;
}
}
}
if (gPauseHeldButtons & BUTTON_STICK_RIGHT) {
while (1) {
panel->col++;
if (panel->col >= panel->numCols) {
panel->col = panel->numCols - 1;
break;
} else if (panel->selected != MENU_PANEL_SELECTED_GRID_DATA(panel)) {
break;
}
}
}
if (gPauseHeldButtons & BUTTON_STICK_UP) {
while (1) {
panel->row--;
if (panel->row < 0) {
panel->row = 0;
break;
} else if (panel->selected != MENU_PANEL_SELECTED_GRID_DATA(panel)) {
break;
}
}
}
if (gPauseHeldButtons & BUTTON_STICK_DOWN) {
while (1) {
panel->row++;
if (panel->row >= panel->numRows) {
panel->row = panel->numRows - 1;
break;
} else if (panel->selected != MENU_PANEL_SELECTED_GRID_DATA(panel)) {
break;
}
}
}
panel->selected = MENU_PANEL_SELECTED_GRID_DATA(panel);
if (panel->selected != initialSelection) {
sfx_play_sound(SOUND_MENU_CHANGE_SELECTION);
}
msgOffset = 0;
adjustedBootsLevel = gPlayerData.bootsLevel;
adjustedHammerLevel = gPlayerData.hammerLevel;
adjustedBootsLevel++;
if (adjustedBootsLevel < 0) {
adjustedBootsLevel = 0;
}
if (adjustedBootsLevel > 3) {
adjustedBootsLevel = 3;
}
adjustedHammerLevel++;
if (adjustedHammerLevel < 0) {
adjustedHammerLevel = 0;
}
if (adjustedHammerLevel > 3) {
adjustedHammerLevel = 3;
}
switch (gStatsMenuEntries[panel->selected].baseMsgID) {
case 0x25:
if (adjustedBootsLevel > 1) {
msgOffset = adjustedBootsLevel - 1;
}
break;
case 0x28:
msgOffset = adjustedHammerLevel;
break;
case 0x2F:
if (evt_get_variable(NULL, EVT_SAVE_FLAG_TUTORIAL_GOT_STAR_PIECE)) {
msgOffset = 1;
}
break;
}
gPauseCurrentDescMsg = pause_get_menu_msg(gStatsMenuEntries[panel->selected].baseMsgID + msgOffset);
gPauseCurrentDescIconScript = NULL;
if (gPausePressedButtons & BUTTON_B) {
sfx_play_sound(SOUND_MENU_BACK);
gPauseMenuCurrentTab = 0;
}
}
void pause_stats_cleanup(MenuPanel* panel) {
s32 i;
for (i = 0; i < ARRAY_COUNT(gPauseStatsIconIDs); i++) {
free_hud_element(gPauseStatsIconIDs[i]);
}
}

705
src/pause/pause_styles.c Normal file
View File

@ -0,0 +1,705 @@
#include "common.h"
extern s8 D_8010B460[];
extern s8 D_8010B360[];
extern s8 pause_image_1439F0_png[];
extern s8 pause_image_143BF0_png[];
extern s8 pause_image_143FF0_png[];
//TODO replace with array when pause_stats_draw_contents is matched
WindowStyleCustom gPauseWS_0 = {
.background = {
.imgData = NULL,
.packedTileFormat = 0x41,
.width = 0,
.height = 0,
.unk_07 = { 0, 0, 0, 0},
.size = 0
},
.corners = {
.imgData = NULL,
.packedTileFormat = 0,
.size1 = { .x = 0, .y = 0},
.size2 = { .x = 0, .y = 0},
.size3 = { .x = 0, .y = 0},
.size4 = { .x = 0, .y = 0},
.unk_0D = { 0, 0, 0}
},
.unk_1C = { 0, 0, 0, 0},
.opaqueCombineMode = gsDPSetCombineLERP(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
.transparentCombineMode = gsDPSetCombineLERP(PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, 0, 0, 0, PRIMITIVE, 0, 0, 0, COMBINED, 0, 0, 0, COMBINED),
.color1 = { 64, 92, 246, 255 },
.color2 = { 0, 0, 0, 0 },
};
WindowStyleCustom gPauseWS_1 = {
.background = {
.imgData = D_8010B460,
.packedTileFormat = 0x40,
.width = 16,
.height = 16,
.unk_07 = { 0, 0, 0, 0},
.size = 128
},
.corners = {
.imgData = D_8010B360,
.packedTileFormat = 0x31,
.size1 = { .x = 8, .y = 8},
.size2 = { .x = 8, .y = 8},
.size3 = { .x = 8, .y = 8},
.size4 = { .x = 8, .y = 8},
.unk_0D = { 0, 0, 0}
},
.unk_1C = { 0, 0, 0, 0},
.opaqueCombineMode = gsDPSetCombineLERP(PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, 0, 0, 0, TEXEL1, COMBINED, 0, TEXEL0, 0, 0, 0, 0, COMBINED),
.transparentCombineMode = gsDPSetCombineLERP(PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, PRIMITIVE, 0, TEXEL1, 0, COMBINED, 0, TEXEL0, 0, 0, 0, 0, COMBINED),
.color1 = { 226, 225, 216, 255 },
.color2 = { 217, 208, 201, 0 },
};
WindowStyleCustom gPauseWS_2 = {
.background = {
.imgData = NULL,
.packedTileFormat = 0x40,
.width = 16,
.height = 16,
.unk_07 = { 0, 0, 0, 0 },
.size = 128
},
.corners = {
.imgData = NULL,
.packedTileFormat = 0x31,
.size1 = { .x = 8, .y = 8 },
.size2 = { .x = 8, .y = 8 },
.size3 = { .x = 8, .y = 8 },
.size4 = { .x = 8, .y = 8 },
.unk_0D = { 0, 0, 0 },
},
.unk_1C = { 0, 0, 0, 0 },
.opaqueCombineMode = gsDPSetCombineLERP(PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, 0, 0, 0, TEXEL1, COMBINED, 0, TEXEL0, 0, 0, 0, 0, COMBINED),
.transparentCombineMode = gsDPSetCombineLERP(PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, PRIMITIVE, 0, TEXEL1, 0, COMBINED, 0, TEXEL0, 0, 0, 0, 0, COMBINED),
.color1 = { 226, 225, 216, 255 },
.color2 = { 217, 208, 201, 0 },
};
WindowStyleCustom gPauseWS_3 = {
.background = {
.imgData = NULL,
.packedTileFormat = 0x00,
.width = 0,
.height = 0,
.unk_07 = { 0, 0, 0, 0 },
.size = 0
},
.corners = {
.imgData = pause_image_1439F0_png,
.packedTileFormat = 0x31,
.size1 = { .x = 16, .y = 8 },
.size2 = { .x = 16, .y = 8 },
.size3 = { .x = 16, .y = 8 },
.size4 = { .x = 16, .y = 8 },
.unk_0D = { 0, 0, 0 },
},
.unk_1C = { 0, 0, 0, 0 },
.opaqueCombineMode = gsDPSetCombineLERP(PRIMITIVE, ENVIRONMENT, TEXEL1, ENVIRONMENT, 0, 0, 0, TEXEL1, 0, 0, 0, COMBINED, 0, 0, 0, COMBINED),
.transparentCombineMode = gsDPSetCombineLERP(PRIMITIVE, ENVIRONMENT, TEXEL1, ENVIRONMENT, PRIMITIVE, 0, TEXEL1, 0, 0, 0, 0, COMBINED, 0, 0, 0, COMBINED),
.color1 = { 240, 199, 78, 255 },
.color2 = { 127, 86, 23, 0 },
};
WindowStyleCustom gPauseWS_4 = {
.background = {
.imgData = NULL,
.packedTileFormat = 0x00,
.width = 0,
.height = 0,
.unk_07 = { 0, 0, 0, 0 },
.size = 0
},
.corners = {
.imgData = pause_image_1439F0_png,
.packedTileFormat = 0x31,
.size1 = { .x = 16, .y = 8 },
.size2 = { .x = 16, .y = 8 },
.size3 = { .x = 16, .y = 8 },
.size4 = { .x = 16, .y = 8 },
.unk_0D = { 0, 0, 0 },
},
.unk_1C = { 0, 0, 0, 0 },
.opaqueCombineMode = gsDPSetCombineLERP(PRIMITIVE, ENVIRONMENT, TEXEL1, ENVIRONMENT, 0, 0, 0, TEXEL1, 0, 0, 0, COMBINED, 0, 0, 0, COMBINED),
.transparentCombineMode = gsDPSetCombineLERP(PRIMITIVE, ENVIRONMENT, TEXEL1, ENVIRONMENT, PRIMITIVE, 0, TEXEL1, 0, 0, 0, 0, COMBINED, 0, 0, 0, COMBINED),
.color1 = { 0xFD, 0x74, 0x4A, 0xFF },
.color2 = { 0x74, 0x30, 0x1B, 0x00 },
};
WindowStyleCustom gPauseWS_5 = {
.background = {
.imgData = NULL,
.packedTileFormat = 0x00,
.width = 0,
.height = 0,
.unk_07 = { 0, 0, 0, 0 },
.size = 0
},
.corners = {
.imgData = pause_image_1439F0_png,
.packedTileFormat = 0x31,
.size1 = { .x = 16, .y = 8 },
.size2 = { .x = 16, .y = 8 },
.size3 = { .x = 16, .y = 8 },
.size4 = { .x = 16, .y = 8 },
.unk_0D = { 0, 0, 0 },
},
.unk_1C = { 0, 0, 0, 0 },
.opaqueCombineMode = gsDPSetCombineLERP(PRIMITIVE, ENVIRONMENT, TEXEL1, ENVIRONMENT, 0, 0, 0, TEXEL1, 0, 0, 0, COMBINED, 0, 0, 0, COMBINED),
.transparentCombineMode = gsDPSetCombineLERP(PRIMITIVE, ENVIRONMENT, TEXEL1, ENVIRONMENT, PRIMITIVE, 0, TEXEL1, 0, 0, 0, 0, COMBINED, 0, 0, 0, COMBINED),
.color1 = { 39, 72, 225, 255 },
.color2 = { 9, 26, 102, 0 },
};
WindowStyleCustom gPauseWS_6 = {
.background = {
.imgData = NULL,
.packedTileFormat = 0x00,
.width = 0,
.height = 0,
.unk_07 = { 0, 0, 0, 0 },
.size = 0
},
.corners = {
.imgData = pause_image_1439F0_png,
.packedTileFormat = 0x31,
.size1 = { .x = 16, .y = 8 },
.size2 = { .x = 16, .y = 8 },
.size3 = { .x = 16, .y = 8 },
.size4 = { .x = 16, .y = 8 },
.unk_0D = { 0, 0, 0 },
},
.unk_1C = { 0, 0, 0, 0 },
.opaqueCombineMode = gsDPSetCombineLERP(PRIMITIVE, ENVIRONMENT, TEXEL1, ENVIRONMENT, 0, 0, 0, TEXEL1, 0, 0, 0, COMBINED, 0, 0, 0, COMBINED),
.transparentCombineMode = gsDPSetCombineLERP(PRIMITIVE, ENVIRONMENT, TEXEL1, ENVIRONMENT, PRIMITIVE, 0, TEXEL1, 0, 0, 0, 0, COMBINED, 0, 0, 0, COMBINED),
.color1 = { 34, 238, 201, 255 },
.color2 = { 7, 109, 90, 0 },
};
WindowStyleCustom gPauseWS_7 = {
.background = {
.imgData = NULL,
.packedTileFormat = 0x00,
.width = 0,
.height = 0,
.unk_07 = { 0, 0, 0, 0 },
.size = 0
},
.corners = {
.imgData = pause_image_1439F0_png,
.packedTileFormat = 0x31,
.size1 = { .x = 16, .y = 8 },
.size2 = { .x = 16, .y = 8 },
.size3 = { .x = 16, .y = 8 },
.size4 = { .x = 16, .y = 8 },
.unk_0D = { 0, 0, 0 },
},
.unk_1C = { 0, 0, 0, 0 },
.opaqueCombineMode = gsDPSetCombineLERP(PRIMITIVE, ENVIRONMENT, TEXEL1, ENVIRONMENT, 0, 0, 0, TEXEL1, 0, 0, 0, COMBINED, 0, 0, 0, COMBINED),
.transparentCombineMode = gsDPSetCombineLERP(PRIMITIVE, ENVIRONMENT, TEXEL1, ENVIRONMENT, PRIMITIVE, 0, TEXEL1, 0, 0, 0, 0, COMBINED, 0, 0, 0, COMBINED),
.color1 = { 104, 255, 81, 255 },
.color2 = { 42, 121, 30, 0 },
};
WindowStyleCustom gPauseWS_8 = {
.background = {
.imgData = NULL,
.packedTileFormat = 0x00,
.width = 0,
.height = 0,
.unk_07 = { 0, 0, 0, 0 },
.size = 0
},
.corners = {
.imgData = pause_image_1439F0_png,
.packedTileFormat = 0x31,
.size1 = { .x = 16, .y = 8 },
.size2 = { .x = 16, .y = 8 },
.size3 = { .x = 16, .y = 8 },
.size4 = { .x = 16, .y = 8 },
.unk_0D = { 0, 0, 0 },
},
.unk_1C = { 0, 0, 0, 0 },
.opaqueCombineMode = gsDPSetCombineLERP(PRIMITIVE, ENVIRONMENT, TEXEL1, ENVIRONMENT, 0, 0, 0, TEXEL1, 0, 0, 0, COMBINED, 0, 0, 0, COMBINED),
.transparentCombineMode = gsDPSetCombineLERP(PRIMITIVE, ENVIRONMENT, TEXEL1, ENVIRONMENT, PRIMITIVE, 0, TEXEL1, 0, 0, 0, 0, COMBINED, 0, 0, 0, COMBINED),
.color1 = { 173, 114, 194, 255 },
.color2 = { 76, 47, 87, 0 },
};
WindowStyleCustom gPauseWS_9 = {
.background = {
.imgData = NULL,
.packedTileFormat = 0x00,
.width = 0,
.height = 0,
.unk_07 = { 0, 0, 0, 0 },
.size = 0
},
.corners = {
.imgData = NULL,
.packedTileFormat = 0x00,
.size1 = { .x = 0, .y = 0 },
.size2 = { .x = 0, .y = 0 },
.size3 = { .x = 0, .y = 0 },
.size4 = { .x = 0, .y = 0 },
.unk_0D = { 0, 0, 0 },
},
.unk_1C = { 0, 0, 0, 0 },
.opaqueCombineMode = gsDPNoOp(),
.transparentCombineMode = gsDPNoOp(),
.color1 = { 0, 0, 0, 0 },
.color2 = { 0, 0, 0, 0 },
};
WindowStyleCustom gPauseWS_10 = {
.background = {
.imgData = NULL,
.packedTileFormat = 0x00,
.width = 0,
.height = 0,
.unk_07 = { 0, 0, 0, 0 },
.size = 0
},
.corners = {
.imgData = pause_image_1439F0_png,
.packedTileFormat = 0x31,
.size1 = { .x = 16, .y = 8 },
.size2 = { .x = 16, .y = 8 },
.size3 = { .x = 16, .y = 8 },
.size4 = { .x = 16, .y = 8 },
.unk_0D = { 0, 0, 0 },
},
.unk_1C = { 0, 0, 0, 0 },
.opaqueCombineMode = gsDPSetCombineLERP(PRIMITIVE, ENVIRONMENT, TEXEL1, ENVIRONMENT, 0, 0, 0, TEXEL1, 0, 0, 0, COMBINED, 0, 0, 0, COMBINED),
.transparentCombineMode = gsDPSetCombineLERP(PRIMITIVE, ENVIRONMENT, TEXEL1, ENVIRONMENT, PRIMITIVE, 0, TEXEL1, 0, 0, 0, 0, COMBINED, 0, 0, 0, COMBINED),
.color1 = { 240, 199, 78, 255 },
.color2 = { 127, 86, 23, 0 },
};
WindowStyleCustom gPauseWS_11 = {
.background = {
.imgData = NULL,
.packedTileFormat = 0x00,
.width = 0,
.height = 0,
.unk_07 = { 0, 0, 0, 0 },
.size = 0
},
.corners = {
.imgData = pause_image_1439F0_png,
.packedTileFormat = 0x31,
.size1 = { .x = 16, .y = 8 },
.size2 = { .x = 16, .y = 8 },
.size3 = { .x = 16, .y = 8 },
.size4 = { .x = 16, .y = 8 },
.unk_0D = { 0, 0, 0 },
},
.unk_1C = { 0, 0, 0, 0 },
.opaqueCombineMode = gsDPSetCombineLERP(PRIMITIVE, ENVIRONMENT, TEXEL1, ENVIRONMENT, 0, 0, 0, TEXEL1, 0, 0, 0, COMBINED, 0, 0, 0, COMBINED),
.transparentCombineMode = gsDPSetCombineLERP(PRIMITIVE, ENVIRONMENT, TEXEL1, ENVIRONMENT, PRIMITIVE, 0, TEXEL1, 0, 0, 0, 0, COMBINED, 0, 0, 0, COMBINED),
.color1 = { 213, 165, 116, 255 },
.color2 = { 96, 72, 48, 96 },
};
WindowStyleCustom gPauseWS_12 = {
.background = {
.imgData = D_8010B460,
.packedTileFormat = 0x40,
.width = 16,
.height = 16,
.unk_07 = { 0, 0, 0, 0 },
.size = 128
},
.corners = {
.imgData = D_8010B360,
.packedTileFormat = 0x31,
.size1 = { .x = 8, .y = 8 },
.size2 = { .x = 8, .y = 8 },
.size3 = { .x = 8, .y = 8 },
.size4 = { .x = 8, .y = 8 },
.unk_0D = { 0, 0, 0 },
},
.unk_1C = { 0, 0, 0, 0 },
.opaqueCombineMode = gsDPSetCombineLERP(PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, 0, 0, 0, TEXEL1, COMBINED, 0, TEXEL0, 0, 0, 0, 0, COMBINED),
.transparentCombineMode = gsDPSetCombineLERP(PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, PRIMITIVE, 0, TEXEL1, 0, COMBINED, 0, TEXEL0, 0, 0, 0, 0, COMBINED),
.color1 = { 226, 216, 179, 255 },
.color2 = { 210, 192, 144, 0 },
};
WindowStyleCustom gPauseWS_13 = {
.background = {
.imgData = NULL,
.packedTileFormat = 0x00,
.width = 0,
.height = 0,
.unk_07 = { 0, 0, 0, 0 },
.size = 0
},
.corners = {
.imgData = pause_image_143BF0_png,
.packedTileFormat = 0x31,
.size1 = { .x = 16, .y = 16 },
.size2 = { .x = 16, .y = 16 },
.size3 = { .x = 16, .y = 16 },
.size4 = { .x = 16, .y = 16 },
.unk_0D = { 0, 0, 0 },
},
.unk_1C = { 0, 0, 0, 0 },
.opaqueCombineMode = gsDPSetCombineLERP(PRIMITIVE, ENVIRONMENT, TEXEL1, ENVIRONMENT, 0, 0, 0, TEXEL1, 0, 0, 0, COMBINED, 0, 0, 0, COMBINED),
.transparentCombineMode = gsDPSetCombineLERP(PRIMITIVE, ENVIRONMENT, TEXEL1, ENVIRONMENT, PRIMITIVE, 0, TEXEL1, 0, 0, 0, 0, COMBINED, 0, 0, 0, COMBINED),
.color1 = { 253, 116, 74, 255 },
.color2 = { 116, 48, 27, 0 },
};
WindowStyleCustom gPauseWS_14 = {
.background = {
.imgData = NULL,
.packedTileFormat = 0x00,
.width = 0,
.height = 0,
.unk_07 = { 0, 0, 0, 0 },
.size = 0
},
.corners = {
.imgData = pause_image_1439F0_png,
.packedTileFormat = 0x31,
.size1 = { .x = 16, .y = 8 },
.size2 = { .x = 16, .y = 8 },
.size3 = { .x = 16, .y = 8 },
.size4 = { .x = 16, .y = 8 },
.unk_0D = { 0, 0, 0 },
},
.unk_1C = { 0, 0, 0, 0 },
.opaqueCombineMode = gsDPSetCombineLERP(PRIMITIVE, ENVIRONMENT, TEXEL1, ENVIRONMENT, 0, 0, 0, TEXEL1, 0, 0, 0, COMBINED, 0, 0, 0, COMBINED),
.transparentCombineMode = gsDPSetCombineLERP(PRIMITIVE, ENVIRONMENT, TEXEL1, ENVIRONMENT, PRIMITIVE, 0, TEXEL1, 0, 0, 0, 0, COMBINED, 0, 0, 0, COMBINED),
.color1 = { 245, 185, 160, 255 },
.color2 = { 203, 153, 128, 255 },
};
WindowStyleCustom gPauseWS_15 = {
.background = {
.imgData = D_8010B460,
.packedTileFormat = 0x40,
.width = 16,
.height = 16,
.unk_07 = { 0, 0, 0, 0 },
.size = 128
},
.corners = {
.imgData = D_8010B360,
.packedTileFormat = 0x31,
.size1 = { .x = 8, .y = 8 },
.size2 = { .x = 8, .y = 8 },
.size3 = { .x = 8, .y = 8 },
.size4 = { .x = 8, .y = 8 },
.unk_0D = { 0, 0, 0 },
},
.unk_1C = { 0, 0, 0, 0 },
.opaqueCombineMode = gsDPSetCombineLERP(PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, 0, 0, 0, TEXEL1, COMBINED, 0, TEXEL0, 0, 0, 0, 0, COMBINED),
.transparentCombineMode = gsDPSetCombineLERP(PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, PRIMITIVE, 0, TEXEL1, 0, COMBINED, 0, TEXEL0, 0, 0, 0, 0, COMBINED),
.color1 = { 216, 191, 182, 255 },
.color2 = { 225, 209, 209, 0 },
};
WindowStyleCustom gPauseWS_16 = {
.background = {
.imgData = D_8010B460,
.packedTileFormat = 0x40,
.width = 16,
.height = 16,
.unk_07 = { 0, 0, 0, 0 },
.size = 128
},
.corners = {
.imgData = D_8010B360,
.packedTileFormat = 0x31,
.size1 = { .x = 8, .y = 8 },
.size2 = { .x = 8, .y = 8 },
.size3 = { .x = 8, .y = 8 },
.size4 = { .x = 8, .y = 8 },
.unk_0D = { 0, 0, 0 },
},
.unk_1C = { 0, 0, 0, 0 },
.opaqueCombineMode = gsDPSetCombineLERP(PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, 0, 0, 0, TEXEL1, COMBINED, 0, TEXEL0, 0, 0, 0, 0, COMBINED),
.transparentCombineMode = gsDPSetCombineLERP(PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, PRIMITIVE, 0, TEXEL1, 0, COMBINED, 0, TEXEL0, 0, 0, 0, 0, COMBINED),
.color1 = { 202, 170, 165, 255 },
.color2 = { 226, 200, 200, 0 },
};
WindowStyleCustom gPauseWS_17 = {
.background = {
.imgData = NULL,
.packedTileFormat = 0x00,
.width = 0,
.height = 0,
.unk_07 = { 0, 0, 0, 0 },
.size = 0
},
.corners = {
.imgData = pause_image_143BF0_png,
.packedTileFormat = 0x31,
.size1 = { .x = 16, .y = 16 },
.size2 = { .x = 16, .y = 16 },
.size3 = { .x = 16, .y = 16 },
.size4 = { .x = 16, .y = 16 },
.unk_0D = { 0, 0, 0 },
},
.unk_1C = { 0, 0, 0, 0 },
.opaqueCombineMode = gsDPSetCombineLERP(PRIMITIVE, ENVIRONMENT, TEXEL1, ENVIRONMENT, 0, 0, 0, TEXEL1, 0, 0, 0, COMBINED, 0, 0, 0, COMBINED),
.transparentCombineMode = gsDPSetCombineLERP(PRIMITIVE, ENVIRONMENT, TEXEL1, ENVIRONMENT, PRIMITIVE, 0, TEXEL1, 0, 0, 0, 0, COMBINED, 0, 0, 0, COMBINED),
.color1 = { 39, 72, 225, 255 },
.color2 = { 9, 26, 102, 0 },
};
WindowStyleCustom gPauseWS_18 = {
.background = {
.imgData = D_8010B460,
.packedTileFormat = 0x40,
.width = 16,
.height = 16,
.unk_07 = { 0, 0, 0, 0 },
.size = 128
},
.corners = {
.imgData = D_8010B360,
.packedTileFormat = 0x31,
.size1 = { .x = 8, .y = 8 },
.size2 = { .x = 8, .y = 8 },
.size3 = { .x = 8, .y = 8 },
.size4 = { .x = 8, .y = 8 },
.unk_0D = { 0, 0, 0 },
},
.unk_1C = { 0, 0, 0, 0 },
.opaqueCombineMode = gsDPSetCombineLERP(PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, 0, 0, 0, TEXEL1, COMBINED, 0, TEXEL0, 0, 0, 0, 0, COMBINED),
.transparentCombineMode = gsDPSetCombineLERP(PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, PRIMITIVE, 0, TEXEL1, 0, COMBINED, 0, TEXEL0, 0, 0, 0, 0, COMBINED),
.color1 = { 198, 207, 222, 255 },
.color2 = { 214, 223, 236, 0 },
};
WindowStyleCustom gPauseWS_19 = {
.background = {
.imgData = D_8010B460,
.packedTileFormat = 0x40,
.width = 16,
.height = 16,
.unk_07 = { 0, 0, 0, 0 },
.size = 128
},
.corners = {
.imgData = D_8010B360,
.packedTileFormat = 0x31,
.size1 = { .x = 8, .y = 8 },
.size2 = { .x = 8, .y = 8 },
.size3 = { .x = 8, .y = 8 },
.size4 = { .x = 8, .y = 8 },
.unk_0D = { 0, 0, 0 },
},
.unk_1C = { 0, 0, 0, 0 },
.opaqueCombineMode = gsDPSetCombineLERP(PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, 0, 0, 0, TEXEL1, COMBINED, 0, TEXEL0, 0, 0, 0, 0, COMBINED),
.transparentCombineMode = gsDPSetCombineLERP(PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, PRIMITIVE, 0, TEXEL1, 0, COMBINED, 0, TEXEL0, 0, 0, 0, 0, COMBINED),
.color1 = { 207, 210, 242, 255 },
.color2 = { 184, 190, 217, 0 },
};
WindowStyleCustom gPauseWS_20 = {
.background = {
.imgData = D_8010B460,
.packedTileFormat = 0x40,
.width = 16,
.height = 16,
.unk_07 = { 0, 0, 0, 0 },
.size = 128
},
.corners = {
.imgData = D_8010B360,
.packedTileFormat = 0x31,
.size1 = { .x = 8, .y = 8 },
.size2 = { .x = 8, .y = 8 },
.size3 = { .x = 8, .y = 8 },
.size4 = { .x = 8, .y = 8 },
.unk_0D = { 0, 0, 0 },
},
.unk_1C = { 0, 0, 0, 0 },
.opaqueCombineMode = gsDPSetCombineLERP(PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, 0, 0, 0, TEXEL1, COMBINED, 0, TEXEL0, 0, 0, 0, 0, COMBINED),
.transparentCombineMode = gsDPSetCombineLERP(PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, PRIMITIVE, 0, TEXEL1, 0, COMBINED, 0, TEXEL0, 0, 0, 0, 0, COMBINED),
.color1 = { 202, 217, 214, 255 },
.color2 = { 176, 206, 206, 0 },
};
WindowStyleCustom gPauseWS_21 = {
.background = {
.imgData = D_8010B460,
.packedTileFormat = 0x40,
.width = 16,
.height = 16,
.unk_07 = { 0, 0, 0, 0 },
.size = 128
},
.corners = {
.imgData = pause_image_143FF0_png,
.packedTileFormat = 0x31,
.size1 = { .x = 16, .y = 16 },
.size2 = { .x = 16, .y = 16 },
.size3 = { .x = 16, .y = 16 },
.size4 = { .x = 16, .y = 16 },
.unk_0D = { 0, 0, 0 },
},
.unk_1C = { 0, 0, 0, 0 },
.opaqueCombineMode = gsDPSetCombineLERP(PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, 0, 0, 0, TEXEL1, COMBINED, 0, TEXEL0, 0, 0, 0, 0, COMBINED),
.transparentCombineMode = gsDPSetCombineLERP(PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, PRIMITIVE, 0, TEXEL1, 0, COMBINED, 0, TEXEL0, 0, 0, 0, 0, COMBINED),
.color1 = { 222, 237, 234, 255 },
.color2 = { 196, 226, 226, 0 },
};
WindowStyleCustom gPauseWS_22 = {
.background = {
.imgData = NULL,
.packedTileFormat = 0x00,
.width = 0,
.height = 0,
.unk_07 = { 0, 0, 0, 0 },
.size = 0
},
.corners = {
.imgData = pause_image_1439F0_png,
.packedTileFormat = 0x31,
.size1 = { .x = 16, .y = 8 },
.size2 = { .x = 16, .y = 8 },
.size3 = { .x = 16, .y = 8 },
.size4 = { .x = 16, .y = 8 },
.unk_0D = { 0, 0, 0 },
},
.unk_1C = { 0, 0, 0, 0 },
.opaqueCombineMode = gsDPSetCombineLERP(PRIMITIVE, ENVIRONMENT, TEXEL1, ENVIRONMENT, 0, 0, 0, TEXEL1, 0, 0, 0, COMBINED, 0, 0, 0, COMBINED),
.transparentCombineMode = gsDPSetCombineLERP(PRIMITIVE, ENVIRONMENT, TEXEL1, ENVIRONMENT, PRIMITIVE, 0, TEXEL1, 0, 0, 0, 0, COMBINED, 0, 0, 0, COMBINED),
.color1 = { 14, 218, 181, 255 },
.color2 = { 127, 127, 127, 0 },
};
WindowStyleCustom gPauseWS_23 = {
.background = {
.imgData = D_8010B460,
.packedTileFormat = 0x40,
.width = 16,
.height = 16,
.unk_07 = { 0, 0, 0, 0 },
.size = 128
},
.corners = {
.imgData = D_8010B360,
.packedTileFormat = 0x31,
.size1 = { .x = 8, .y = 8 },
.size2 = { .x = 8, .y = 8 },
.size3 = { .x = 8, .y = 8 },
.size4 = { .x = 8, .y = 8 },
.unk_0D = { 0, 0, 0 },
},
.unk_1C = { 0, 0, 0, 0 },
.opaqueCombineMode = gsDPSetCombineLERP(PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, 0, 0, 0, TEXEL1, COMBINED, 0, TEXEL0, 0, 0, 0, 0, COMBINED),
.transparentCombineMode = gsDPSetCombineLERP(PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, PRIMITIVE, 0, TEXEL1, 0, COMBINED, 0, TEXEL0, 0, 0, 0, 0, COMBINED),
.color1 = { 193, 225, 193, 255 },
.color2 = { 169, 215, 169, 0 },
};
WindowStyleCustom gPauseWS_24 = {
.background = {
.imgData = 0x00000000,
.packedTileFormat = 0x00,
.width = 0,
.height = 0,
.unk_07 = { 0, 0, 0, 0 },
.size = 0
},
.corners = {
.imgData = pause_image_1439F0_png,
.packedTileFormat = 0x31,
.size1 = { .x = 16, .y = 8 },
.size2 = { .x = 16, .y = 8 },
.size3 = { .x = 16, .y = 8 },
.size4 = { .x = 16, .y = 8 },
.unk_0D = { 0, 0, 0 },
},
.unk_1C = { 0, 0, 0, 0 },
.opaqueCombineMode = gsDPSetCombineLERP(PRIMITIVE, ENVIRONMENT, TEXEL1, ENVIRONMENT, 0, 0, 0, TEXEL1, 0, 0, 0, COMBINED, 0, 0, 0, COMBINED),
.transparentCombineMode = gsDPSetCombineLERP(PRIMITIVE, ENVIRONMENT, TEXEL1, ENVIRONMENT, PRIMITIVE, 0, TEXEL1, 0, 0, 0, 0, COMBINED, 0, 0, 0, COMBINED),
.color1 = { 104, 255, 81, 255 },
.color2 = { 42, 121, 30, 0 },
};
WindowStyleCustom gPauseWS_25 = {
.background = {
.imgData = D_8010B460,
.packedTileFormat = 0x40,
.width = 16,
.height = 16,
.unk_07 = { 0, 0, 0, 0 },
.size = 128
},
.corners = {
.imgData = pause_image_143FF0_png,
.packedTileFormat = 0x31,
.size1 = { .x = 16, .y = 16 },
.size2 = { .x = 16, .y = 16 },
.size3 = { .x = 16, .y = 16 },
.size4 = { .x = 16, .y = 16 },
.unk_0D = { 0, 0, 0 },
},
.unk_1C = { 0, 0, 0, 0 },
.opaqueCombineMode = gsDPSetCombineLERP(PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, 0, 0, 0, TEXEL1, COMBINED, 0, TEXEL0, 0, 0, 0, 0, COMBINED),
.transparentCombineMode = gsDPSetCombineLERP(PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, PRIMITIVE, 0, TEXEL1, 0, COMBINED, 0, TEXEL0, 0, 0, 0, 0, COMBINED),
.color1 = { 207, 250, 200, 255 },
.color2 = { 206, 239, 192, 0 },
};
WindowStyleCustom gPauseWS_26 = {
.background = {
.imgData = D_8010B460,
.packedTileFormat = 0x40,
.width = 16,
.height = 16,
.unk_07 = { 0, 0, 0, 0 },
.size = 128
},
.corners = {
.imgData = D_8010B360,
.packedTileFormat = 0x31,
.size1 = { .x = 8, .y = 8 },
.size2 = { .x = 8, .y = 8 },
.size3 = { .x = 8, .y = 8 },
.size4 = { .x = 8, .y = 8 },
.unk_0D = { 0, 0, 0 },
},
.unk_1C = { 0, 0, 0, 0 },
.opaqueCombineMode = gsDPSetCombineLERP(PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, 0, 0, 0, TEXEL1, COMBINED, 0, TEXEL0, 0, 0, 0, 0, COMBINED),
.transparentCombineMode = gsDPSetCombineLERP(PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, PRIMITIVE, 0, TEXEL1, 0, COMBINED, 0, TEXEL0, 0, 0, 0, 0, COMBINED),
.color1 = { 216, 202, 219, 255 },
.color2 = { 205, 180, 209, 0 },
};
WindowStyleCustom gPauseWS_27 = {
.background = {
.imgData = D_8010B460,
.packedTileFormat = 0x40,
.width = 16,
.height = 16,
.unk_07 = { 0, 0, 0, 0 },
.size = 128
},
.corners = {
.imgData = pause_image_143FF0_png,
.packedTileFormat = 0x31,
.size1 = { .x = 16, .y = 16 },
.size2 = { .x = 16, .y = 16 },
.size3 = { .x = 16, .y = 16 },
.size4 = { .x = 16, .y = 16 },
.unk_0D = { 0, 0, 0 },
},
.unk_1C = { 0, 0, 0, 0 },
.opaqueCombineMode = gsDPSetCombineLERP(PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, 0, 0, 0, TEXEL1, COMBINED, 0, TEXEL0, 0, 0, 0, 0, COMBINED),
.transparentCombineMode = gsDPSetCombineLERP(PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, PRIMITIVE, 0, TEXEL1, 0, COMBINED, 0, TEXEL0, 0, 0, 0, 0, COMBINED),
.color1 = { 236, 222, 239, 255 },
.color2 = { 225, 200, 229, 0 },
};
WindowStyleCustom gPauseWS_28 = {
.background = {
.imgData = NULL,
.packedTileFormat = 0x00,
.width = 0,
.height = 0,
.unk_07 = { 0, 0, 0, 0 },
.size = 0
},
.corners = {
.imgData = pause_image_1439F0_png,
.packedTileFormat = 0x31,
.size1 = { .x = 16, .y = 8 },
.size2 = { .x = 16, .y = 8 },
.size3 = { .x = 16, .y = 8 },
.size4 = { .x = 16, .y = 8 },
.unk_0D = { 0, 0, 0 },
},
.unk_1C = { 0, 0, 0, 0 },
.opaqueCombineMode = gsDPSetCombineLERP(PRIMITIVE, ENVIRONMENT, TEXEL1, ENVIRONMENT, 0, 0, 0, TEXEL1, 0, 0, 0, COMBINED, 0, 0, 0, COMBINED),
.transparentCombineMode = gsDPSetCombineLERP(PRIMITIVE, ENVIRONMENT, TEXEL1, ENVIRONMENT, PRIMITIVE, 0, TEXEL1, 0, 0, 0, 0, COMBINED, 0, 0, 0, COMBINED),
.color1 = { 173, 114, 194, 255 },
.color2 = { 76, 47, 87, 0 },
};

405
src/pause/pause_tabs.c Normal file
View File

@ -0,0 +1,405 @@
#include "pause_common.h"
extern MenuPanel* gPausePanels[];
void pause_tabs_draw_stats(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening);
void pause_tabs_draw_badges(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening);
void pause_tabs_draw_items(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening);
void pause_tabs_draw_party(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening);
void pause_tabs_draw_spirits(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening);
void pause_tabs_draw_map(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening);
void pause_tabs_draw_invis(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening);
void pause_tabs_init(MenuPanel* tab);
void pause_tabs_handle_input(MenuPanel* tab);
void pause_tabs_update(MenuPanel* tab);
void pause_tabs_cleanup(MenuPanel* tab);
static s32 gPauseTabsIconIDs[6];
static s32 gPauseTabsPreviousTab;
static s32 gPauseTabsHorizScrollPos;
HudScript* gPauseTabsHudScripts[] = { HudScript_HeaderStats, HudScript_HeaderBadges, HudScript_HeaderItems,
HudScript_HeaderParty, HudScript_HeaderSpirits, HudScript_HeaderMap };
s8 gPauseTabsGridData[] = { 0, 1, 2, 3, 4, 5 };
u8 gPauseTabsPanelIDs[] = { 1, 2, 3, 4, 5, 6 };
u8 gPauseTabsWindowIDs[] = { WINDOW_ID_PAUSE_TAB_STATS, WINDOW_ID_PAUSE_TAB_BADGES, WINDOW_ID_PAUSE_TAB_ITEMS, WINDOW_ID_PAUSE_TAB_PARTY, WINDOW_ID_PAUSE_TAB_SPIRITS, WINDOW_ID_PAUSE_TAB_MAP };
u8 gPauseTabsPageWindowIDs[] = { WINDOW_ID_PAUSE_STATS, WINDOW_ID_PAUSE_BADGES, WINDOW_ID_PAUSE_ITEMS, WINDOW_ID_PAUSE_PARTNERS, WINDOW_ID_PAUSE_SPIRITS, WINDOW_ID_PAUSE_MAP };
MenuWindowBP gPauseTabsWindowBPs[] = {
{
.windowID = WINDOW_ID_PAUSE_TAB_STATS,
.unk_01 = 0,
.pos = { .x = 0, .y = 7 },
.width = 43,
.height = 15,
.unk_0A = { 64, 0 },
.fpDrawContents = &pause_tabs_draw_stats,
.tab = NULL,
.parentID = WINDOW_ID_PAUSE_MAIN,
.fpUpdate = { 1 },
.unk_1C = 0,
.style = &gPauseWS_3
},
{
.windowID = WINDOW_ID_PAUSE_TAB_BADGES,
.unk_01 = 0,
.pos = { .x = 0, .y = 7 },
.width = 43,
.height = 15,
.unk_0A = { 0, 0 },
.fpDrawContents = &pause_tabs_draw_badges,
.tab = NULL,
.parentID = WINDOW_ID_PAUSE_MAIN,
.fpUpdate = { .func = &pause_update_tab_default },
.unk_1C = 0,
.style = &gPauseWS_4
},
{
.windowID = WINDOW_ID_PAUSE_TAB_ITEMS,
.unk_01 = 0,
.pos = { .x = 0, .y = 7 },
.width = 43,
.height = 15,
.unk_0A = { 0, 0 },
.fpDrawContents = &pause_tabs_draw_items,
.tab = NULL,
.parentID = WINDOW_ID_PAUSE_MAIN,
.fpUpdate = { .func = &pause_update_tab_default },
.unk_1C = 0,
.style = &gPauseWS_5
},
{
.windowID = WINDOW_ID_PAUSE_TAB_PARTY,
.unk_01 = 0,
.pos = { .x = 0, .y = 7 },
.width = 43,
.height = 15,
.unk_0A = { 0, 0 },
.fpDrawContents = &pause_tabs_draw_party,
.tab = NULL,
.parentID = WINDOW_ID_PAUSE_MAIN,
.fpUpdate = { .func = &pause_update_tab_default },
.unk_1C = 0,
.style = &gPauseWS_6
},
{
.windowID = WINDOW_ID_PAUSE_TAB_SPIRITS,
.unk_01 = 0,
.pos = { .x = 0, .y = 7 },
.width = 43,
.height = 15,
.unk_0A = { 0, 0 },
.fpDrawContents = &pause_tabs_draw_spirits,
.tab = NULL,
.parentID = WINDOW_ID_PAUSE_MAIN,
.fpUpdate = { .func = &pause_update_tab_default },
.unk_1C = 0,
.style = &gPauseWS_7
},
{
.windowID = WINDOW_ID_PAUSE_TAB_MAP,
.unk_01 = 0,
.pos = { .x = 0, .y = 7 },
.width = 43,
.height = 15,
.unk_0A = { 0, 0 },
.fpDrawContents = &pause_tabs_draw_map,
.tab = NULL,
.parentID = WINDOW_ID_PAUSE_MAIN,
.fpUpdate = { .func = &pause_update_tab_default },
.unk_1C = 0,
.style = &gPauseWS_8
},
{
.windowID = WINDOW_ID_PAUSE_TAB_INVIS,
.unk_01 = 0,
.pos = { .x = 8, .y = 8 },
.width = 16,
.height = 16,
.unk_0A = { 64, 0 },
.fpDrawContents = &pause_tabs_draw_invis,
.tab = NULL,
.parentID = WINDOW_ID_NONE,
.fpUpdate = { 1 },
.unk_1C = 0,
.style = &gPauseWS_9
}
};
s32 gPauseTabsCurrentTab = 0;
s32 gPauseTabsMessages[] = { 27, 28, 29, 30, 31, 32 };
u8 gPauseTabsInterpTable[] = { 0, 1, 2, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8 };
s32 D_8024F310 = 1;
MenuPanel gPausePanelTabs = {
.initialized = FALSE,
.col = 0,
.row = 0,
.selected = 0,
.page = 0,
.numCols = 6,
.numRows = 1,
.numPages = 0,
.gridData = gPauseTabsGridData,
.fpInit = &pause_tabs_init,
.fpHandleInput = &pause_tabs_handle_input,
.fpUpdate = &pause_tabs_update,
.fpCleanup = &pause_tabs_cleanup
};
void pause_tabs_draw_invis(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening) {
}
void pause_tabs_draw_stats(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening) {
if (darkening != 0) {
set_hud_element_flags(gPauseTabsIconIDs[0], 0x20);
set_hud_element_alpha(gPauseTabsIconIDs[0], 255.0 - darkening * 0.5);
} else {
clear_hud_element_flags(gPauseTabsIconIDs[0], 0x20);
set_hud_element_alpha(gPauseTabsIconIDs[0], 255);
}
set_hud_element_render_pos(gPauseTabsIconIDs[0], baseX + 22, baseY + 7);
draw_hud_element_3(gPauseTabsIconIDs[0]);
if (gPauseMenuCurrentTab == 0) {
if (gPauseTabsWindowIDs[menu->col] == 25) {
pause_set_cursor_pos(gPauseTabsWindowIDs[menu->col], baseX, baseY + 6);
}
}
}
void pause_tabs_draw_badges(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening) {
if (darkening != 0) {
set_hud_element_flags(gPauseTabsIconIDs[1], 0x20);
set_hud_element_alpha(gPauseTabsIconIDs[1], 255.0 - darkening * 0.5);
} else {
clear_hud_element_flags(gPauseTabsIconIDs[1], 0x20);
set_hud_element_alpha(gPauseTabsIconIDs[1], 255);
}
set_hud_element_render_pos(gPauseTabsIconIDs[1], baseX + 22, baseY + 7);
draw_hud_element_3(gPauseTabsIconIDs[1]);
if (gPauseMenuCurrentTab == 0) {
if (gPauseTabsWindowIDs[menu->col] == 26) {
pause_set_cursor_pos(gPauseTabsWindowIDs[menu->col], baseX, baseY + 6);
}
}
}
void pause_tabs_draw_items(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening) {
if (darkening != 0) {
set_hud_element_flags(gPauseTabsIconIDs[2], 0x20);
set_hud_element_alpha(gPauseTabsIconIDs[2], 255.0 - darkening * 0.5);
} else {
clear_hud_element_flags(gPauseTabsIconIDs[2], 0x20);
set_hud_element_alpha(gPauseTabsIconIDs[2], 255);
}
set_hud_element_render_pos(gPauseTabsIconIDs[2], baseX + 22, baseY + 7);
draw_hud_element_3(gPauseTabsIconIDs[2]);
if (gPauseMenuCurrentTab == 0) {
if (gPauseTabsWindowIDs[menu->col] == 27) {
pause_set_cursor_pos(gPauseTabsWindowIDs[menu->col], baseX, baseY + 6);
}
}
}
void pause_tabs_draw_party(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening) {
if (darkening != 0) {
set_hud_element_flags(gPauseTabsIconIDs[3], 0x20);
set_hud_element_alpha(gPauseTabsIconIDs[3], 255.0 - darkening * 0.5);
} else {
clear_hud_element_flags(gPauseTabsIconIDs[3], 0x20);
set_hud_element_alpha(gPauseTabsIconIDs[3], 255);
}
set_hud_element_render_pos(gPauseTabsIconIDs[3], baseX + 22, baseY + 7);
draw_hud_element_3(gPauseTabsIconIDs[3]);
if (gPauseMenuCurrentTab == 0) {
if (gPauseTabsWindowIDs[menu->col] == 28) {
pause_set_cursor_pos(gPauseTabsWindowIDs[menu->col], baseX, baseY + 6);
}
}
}
void pause_tabs_draw_spirits(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening) {
if (darkening != 0) {
set_hud_element_flags(gPauseTabsIconIDs[4], 0x20);
set_hud_element_alpha(gPauseTabsIconIDs[4], 255.0 - darkening * 0.5);
} else {
clear_hud_element_flags(gPauseTabsIconIDs[4], 0x20);
set_hud_element_alpha(gPauseTabsIconIDs[4], 255);
}
set_hud_element_render_pos(gPauseTabsIconIDs[4], baseX + 22, baseY + 7);
draw_hud_element_3(gPauseTabsIconIDs[4]);
if (gPauseMenuCurrentTab == 0) {
if (gPauseTabsWindowIDs[menu->col] == 29) {
pause_set_cursor_pos(gPauseTabsWindowIDs[menu->col], baseX, baseY + 6);
}
}
}
void pause_tabs_draw_map(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening) {
if (darkening != 0) {
set_hud_element_flags(gPauseTabsIconIDs[5], 0x20);
set_hud_element_alpha(gPauseTabsIconIDs[5], 255.0 - darkening * 0.5);
} else {
clear_hud_element_flags(gPauseTabsIconIDs[5], 0x20);
set_hud_element_alpha(gPauseTabsIconIDs[5], 255);
}
set_hud_element_render_pos(gPauseTabsIconIDs[5], baseX + 23, baseY + 7);
draw_hud_element_3(gPauseTabsIconIDs[5]);
if (gPauseMenuCurrentTab == 0) {
if (gPauseTabsWindowIDs[menu->col] == 30) {
pause_set_cursor_pos(gPauseTabsWindowIDs[menu->col], baseX, baseY + 6);
}
}
}
void pause_tabs_init(MenuPanel* tab) {
s32 i;
for (i = 0; i < ARRAY_COUNT(gPauseTabsHudScripts); i++) {
gPauseTabsIconIDs[i] = create_hud_element(gPauseTabsHudScripts[i]);
set_hud_element_flags(gPauseTabsIconIDs[i], 0x80);
}
for (i = 0; i < ARRAY_COUNT(gPauseTabsWindowBPs); i++) {
gPauseTabsWindowBPs[i].tab = tab;
}
setup_pause_menu_tab(gPauseTabsWindowBPs, ARRAY_COUNT(gPauseTabsWindowBPs));
gWindows[WINDOW_ID_PAUSE_TAB_INVIS].pos.y = 25;
gPauseTabsHorizScrollPos = 0;
tab->initialized = TRUE;
gPauseTabsPreviousTab = 5;
}
void pause_tabs_handle_input(MenuPanel* tab) {
Window* pauseWindows;
s32 x;
if (gPauseHeldButtons & (BUTTON_STICK_LEFT | BUTTON_Z)) {
do {
if (--tab->col < 0) {
tab->col = 5;
if (gPauseTabsHorizScrollPos < 1800) {
gPauseTabsHorizScrollPos += 1800;
}
}
} while (gPausePanels[gPauseTabsPanelIDs[tab->col]]->initialized == FALSE);
}
if (gPauseHeldButtons & (BUTTON_STICK_RIGHT | BUTTON_R)) {
do {
if (++tab->col >= 6) {
tab->col = 0;
if (gPauseTabsHorizScrollPos > 0) {
gPauseTabsHorizScrollPos -= 1800;
}
}
} while (gPausePanels[gPauseTabsPanelIDs[tab->col]]->initialized == FALSE);
}
if (tab->col != gPauseTabsCurrentTab) {
replace_window_update(gPauseTabsWindowIDs[tab->col], 0x40, pause_update_tab_active);
replace_window_update(gPauseTabsWindowIDs[gPauseTabsCurrentTab], 0x40, pause_update_tab_inactive);
pauseWindows = &gWindows[WINDOW_ID_PAUSE_TAB_STATS];
x = pauseWindows[tab->col].pos.x;
gWindows[WINDOW_ID_PAUSE_TAB_INVIS].pos.x = x + 6;
gWindows[WINDOW_ID_PAUSE_TAB_INVIS].pos.y = 25;
gPauseTabsPreviousTab = gPauseTabsCurrentTab;
gPauseTabsCurrentTab = tab->col;
sfx_play_sound(SOUND_MENU_CHANGE_TAB);
}
if ((gPausePressedButtons & BUTTON_A) && gPausePanels[gPauseTabsPanelIDs[tab->col]]->initialized == TRUE) {
sfx_play_sound(SOUND_MENU_NEXT);
gPauseMenuCurrentTab = gPauseTabsPanelIDs[tab->col];
}
gPauseCurrentDescMsg = pause_get_menu_msg(gPauseTabsMessages[tab->col]);
gPauseCurrentDescIconScript = NULL;
}
void pause_tabs_update(MenuPanel* tab) {
s32 absValue;
f32 delta;
f32 deltaBefore;
f32 f7;
void (*fpUpdateInactive)(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, s32* scaleX, s32* scaleY,
f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity);
void (*fpUpdateActive)(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, s32* scaleX, s32* scaleY,
f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity);
WindowUpdateFunc fpUpdate;
s32 i;
s32 flag;
s32 sgn;
deltaBefore = tab->col * 300 - gPauseTabsHorizScrollPos;
absValue = abs(deltaBefore);
sgn = sign(deltaBefore);
if (absValue >= 16) {
delta = absValue * 0.5;
if (delta > 32.0f) {
delta = 32.0f;
}
} else {
delta = gPauseTabsInterpTable[absValue];
}
delta = delta * sgn;
gPauseTabsHorizScrollPos += delta;
if ((gPauseTabsPreviousTab != 0 || tab->col != 5) && (gPauseTabsPreviousTab < tab->col || gPauseTabsPreviousTab == 5 && tab->col == 0)) {
fpUpdateActive = &pause_update_page_active_1;
fpUpdateInactive = &pause_update_page_inactive_1;
} else {
fpUpdateActive = &pause_update_page_active_2;
fpUpdateInactive = &pause_update_page_inactive_2;
}
flag = FALSE;
for (i = 0; i < ARRAY_COUNT(gPauseTabsPanelIDs); i++) {
if (gPausePanels[gPauseTabsPanelIDs[i]]->initialized && (gWindows[gPauseTabsPageWindowIDs[i]].flags & 8)) {
flag = TRUE;
break;
}
}
if (!flag) {
for (i = 0; i < ARRAY_COUNT(gPauseTabsPanelIDs); i++) {
if (gPausePanels[gPauseTabsPanelIDs[i]]->initialized) {
fpUpdate = gWindows[gPauseTabsPageWindowIDs[i]].fpUpdate;
if (i != tab->col && (fpUpdate.func == pause_update_page_active_1 ||
fpUpdate.func == pause_update_page_active_2 ||
fpUpdate.func == basic_window_update ||
fpUpdate.i == 1)) {
set_window_update(gPauseTabsPageWindowIDs[i], fpUpdateInactive);
flag = TRUE;
}
}
}
if (!flag) {
if (gWindows[gPauseTabsPageWindowIDs[tab->col]].fpUpdate.func == pause_update_page_inactive_1 ||
gWindows[gPauseTabsPageWindowIDs[tab->col]].fpUpdate.func == pause_update_page_inactive_2 ||
gWindows[gPauseTabsPageWindowIDs[tab->col]].fpUpdate.i == 2) {
if (D_8024F310 != 0) {
fpUpdateActive = &basic_window_update;
D_8024F310 = 0;
}
set_window_update(gPauseTabsPageWindowIDs[tab->col], fpUpdateActive);
}
}
}
}
void pause_tabs_cleanup(MenuPanel* tab) {
s32 i;
for (i = 0; i < ARRAY_COUNT(gPauseTabsIconIDs); i++) {
free_hud_element(gPauseTabsIconIDs[i]);
}
}

View File

@ -168,9 +168,9 @@ void spr_get_player_raster_info(SpriteRasterInfo* out, s32 playerSpriteID, s32 r
s16** spr_get_player_palettes(s32 spriteIndex);
/// @param animID - Set MSB for tail allocation (i.e. `0x80XXYYZZ`)
s32 spr_load_npc_sprite(s32 animID, s32** extraAnimList);
s32 spr_load_npc_sprite(s32 animID, s32* extraAnimList);
void spr_update_sprite(s32 spriteInstanceID, s32 animID, f32 timeScale);
s32 spr_update_sprite(s32 spriteInstanceID, s32 animID, f32 timeScale);
s32 spr_draw_npc_sprite(s32 spriteInstanceID, s32 yaw, s32 arg2, s16** paletteList, Matrix4f mtx);

View File

@ -1148,7 +1148,7 @@ EvtScript N(802468F8) = {
EVT_ELSE
EVT_CALL(SetNpcAnimation, 10, NPC_ANIM_chuck_quizmo_Palette_00_Anim_9)
EVT_SET(EVT_ARRAY(4), 2)
EVT_CALL(PlaySound, SOUND_MENU_BADGE_ERROR)
EVT_CALL(PlaySound, SOUND_MENU_ERROR)
EVT_CALL(PlaySound, 139)
EVT_EXEC_GET_TID(N(80246848), EVT_VAR(1))
EVT_CALL(GetPlayerPos, EVT_VAR(2), EVT_VAR(3), EVT_VAR(4))

View File

@ -58,7 +58,10 @@ static f32 N(D_8024EF84);
static s32 N(D_8024EF88);
static s8 N(pad_D_8024EF8C)[0x4];
static N(temp)* N(D_8024EF90)[4]; // possibly bigger?
static s8 N(pad_D_8024EF94)[0x18];
static s32 N(D_8024EFA0);
static s32 N(pad_D_8024EFA4);
static s32 N(D_8024EFA8);
static s32 N(pad_D_8024EFAC)[3];
static s32 N(D_8024EFB8);
static s8 N(pad_D_8024EFBC)[0x4];
static EffectInstance* N(D_8024EFC0);
@ -1062,7 +1065,7 @@ EvtScript N(80246520) = {
EVT_ELSE
EVT_CALL(SetNpcAnimation, 10, NPC_ANIM_chuck_quizmo_Palette_00_Anim_9)
EVT_SET(EVT_ARRAY(4), 2)
EVT_CALL(PlaySound, SOUND_MENU_BADGE_ERROR)
EVT_CALL(PlaySound, SOUND_MENU_ERROR)
EVT_CALL(PlaySound, 0x8B)
EVT_EXEC_GET_TID(N(80246470), EVT_VAR(1))
EVT_CALL(GetPlayerPos, EVT_VAR(2), EVT_VAR(3), EVT_VAR(4))
@ -1112,7 +1115,7 @@ EvtScript N(80247250) = {
};
EvtScript N(802472C4) = {
EVT_USE_ARRAY(EVT_PTR(gPauseMenuTargetPosX))
EVT_USE_ARRAY(EVT_PTR(N(D_8024EFA8)))
EVT_SET(EVT_SAVE_FLAG(1769), 1)
EVT_CALL(DisablePlayerPhysics, TRUE)
EVT_CALL(SetPlayerFlagBits, 4194304, 1)
@ -3157,7 +3160,7 @@ ApiStatus N(func_80240C88_969E48)(Evt* script, s32 isInitialCall) {
if (effectPtr->unk_18 <= 0) {
effectPtr->unk_18 = 0;
remove_effect(N(D_8024EFC0));
free_generic_entity(gPauseMenuCursorPosY);
free_generic_entity(N(D_8024EFA0));
return ApiStatus_DONE2;
}
@ -3229,7 +3232,7 @@ void N(func_802412F8_96A4B8)(void) {
}
ApiStatus N(func_80241364_96A524)(Evt* script, s32 isInitialCall) {
gPauseMenuCursorPosY = create_generic_entity_frontUI(NULL, N(func_802412F8_96A4B8));
N(D_8024EFA0) = create_generic_entity_frontUI(NULL, N(func_802412F8_96A4B8));
return ApiStatus_DONE2;
}

View File

@ -556,7 +556,7 @@ s32 partner_use_ability(void) {
wPartner != NULL &&
(wPartner->canUseAbility == NULL || wPartner->canUseAbility(wPartnerNpc))) {
if ((gGameStatusPtr->unk_81 != 0) && (actionStatus->currentButtons & BUTTON_B)) {
sfx_play_sound(SOUND_MENU_BADGE_ERROR);
sfx_play_sound(SOUND_MENU_ERROR);
} else if (D_8010CFD8 != 0) {
D_8010CFE0 = 1;
D_8010CFE8 = 8;

File diff suppressed because one or more lines are too long

View File

@ -1,183 +0,0 @@
.include "macro.inc"
.section .data
dlabel D_8026EB30
.word 0xE7000000, 0x00000000, 0xD7000002, 0xFFFFFFFF, 0xE3000A01, 0x00000000, 0xE3000C00, 0x00000000, 0xE3000D01, 0x00000000, 0xE3000F00, 0x00000000, 0xE3001201, 0x00000000, 0xE3001402, 0x00000C00, 0xE3001001, 0x00008000, 0xFD100000, 0x8026C830, 0xE8000000, 0x00000000, 0xF5000100, 0x07000000, 0xE6000000, 0x00000000, 0xF0000000, 0x0703C000, 0xE7000000, 0x00000000, 0xFD48001F, 0x8026C630, 0xF5480800, 0x07010060, 0xE6000000, 0x00000000, 0xF4000000, 0x0707E03C, 0xE7000000, 0x00000000, 0xF5400800, 0x00010060, 0xF2000000, 0x000FC03C, 0xE200001C, 0x00551208, 0xFCFFFFFF, 0xFFFCF279, 0xD9FDFFFF, 0x00000000, 0xD9FFFFFF, 0x00200404, 0xDF000000, 0x00000000
dlabel D_8026EC08
.word 0xE7000000, 0x00000000, 0xD7000002, 0xFFFFFFFF, 0xE3000A01, 0x00000000, 0xE3000C00, 0x00000000, 0xE3000D01, 0x00000000, 0xE3000F00, 0x00000000, 0xE3001201, 0x00000000, 0xE3001402, 0x00000C00, 0xE3001001, 0x00008000, 0xFD100000, 0x8026CC30, 0xE8000000, 0x00000000, 0xF5000100, 0x07000000, 0xE6000000, 0x00000000, 0xF0000000, 0x0703C000, 0xE7000000, 0x00000000, 0xFD48001F, 0x8026CA30, 0xF5480800, 0x07010060, 0xE6000000, 0x00000000, 0xF4000000, 0x0707E03C, 0xE7000000, 0x00000000, 0xF5400800, 0x00010060, 0xF2000000, 0x000FC03C, 0xE200001C, 0x00551208, 0xFCFFFFFF, 0xFFFCF279, 0xD9FDFFFF, 0x00000000, 0xD9FFFFFF, 0x00200404, 0xDF000000, 0x00000000
dlabel D_8026ECE0
.word 0xE7000000, 0x00000000, 0xD7000002, 0xFFFFFFFF, 0xE3000A01, 0x00000000, 0xE3000C00, 0x00000000, 0xE3000D01, 0x00000000, 0xE3000F00, 0x00000000, 0xE3001201, 0x00000000, 0xE3001402, 0x00000C00, 0xE3001001, 0x00008000, 0xFD100000, 0x8026D030, 0xE8000000, 0x00000000, 0xF5000100, 0x07000000, 0xE6000000, 0x00000000, 0xF0000000, 0x0703C000, 0xE7000000, 0x00000000, 0xFD48001F, 0x8026CE30, 0xF5480800, 0x07010060, 0xE6000000, 0x00000000, 0xF4000000, 0x0707E03C, 0xE7000000, 0x00000000, 0xF5400800, 0x00010060, 0xF2000000, 0x000FC03C, 0xE200001C, 0x00551208, 0xFCFFFFFF, 0xFFFCF279, 0xD9FDFFFF, 0x00000000, 0xD9FFFFFF, 0x00200404, 0xDF000000, 0x00000000
dlabel D_8026EDB8
.word 0xE7000000, 0x00000000, 0xD7000002, 0xFFFFFFFF, 0xE3000A01, 0x00000000, 0xE3000C00, 0x00000000, 0xE3000D01, 0x00000000, 0xE3000F00, 0x00000000, 0xE3001201, 0x00000000, 0xE3001402, 0x00000C00, 0xE3001001, 0x00008000, 0xFD100000, 0x8026D3B0, 0xE8000000, 0x00000000, 0xF5000100, 0x07000000, 0xE6000000, 0x00000000, 0xF0000000, 0x0703C000, 0xE7000000, 0x00000000, 0xFD480017, 0x8026D230, 0xF5480600, 0x07010060, 0xE6000000, 0x00000000, 0xF4000000, 0x0705E03C, 0xE7000000, 0x00000000, 0xF5400600, 0x00010060, 0xF2000000, 0x000BC03C, 0xE200001C, 0x00551208, 0xFCFFFFFF, 0xFFFCF279, 0xD9FDFFFF, 0x00000000, 0xD9FFFFFF, 0x00200404, 0xDF000000, 0x00000000
dlabel D_8026EE90
.word 0xE7000000, 0x00000000, 0xD7000002, 0xFFFFFFFF, 0xE3000A01, 0x00000000, 0xE3000C00, 0x00000000, 0xE3000D01, 0x00000000, 0xE3000F00, 0x00000000, 0xE3001201, 0x00000000, 0xE3001402, 0x00000C00, 0xE3001001, 0x00008000, 0xFD100000, 0x8026D730, 0xE8000000, 0x00000000, 0xF5000100, 0x07000000, 0xE6000000, 0x00000000, 0xF0000000, 0x0703C000, 0xE7000000, 0x00000000, 0xFD480017, 0x8026D5B0, 0xF5480600, 0x07010060, 0xE6000000, 0x00000000, 0xF4000000, 0x0705E03C, 0xE7000000, 0x00000000, 0xF5400600, 0x00010060, 0xF2000000, 0x000BC03C, 0xE200001C, 0x00551208, 0xFCFFFFFF, 0xFFFCF279, 0xD9FDFFFF, 0x00000000, 0xD9FFFFFF, 0x00200404, 0xDF000000, 0x00000000
dlabel D_8026EF68
.word 0xE7000000, 0x00000000, 0xD7000002, 0xFFFFFFFF, 0xE3000A01, 0x00000000, 0xE3000C00, 0x00000000, 0xE3000D01, 0x00000000, 0xE3000F00, 0x00000000, 0xE3001201, 0x00000000, 0xE3001402, 0x00000C00, 0xE3001001, 0x00008000, 0xFD100000, 0x8026DAB0, 0xE8000000, 0x00000000, 0xF5000100, 0x07000000, 0xE6000000, 0x00000000, 0xF0000000, 0x0703C000, 0xE7000000, 0x00000000, 0xFD480017, 0x8026D930, 0xF5480600, 0x07010060, 0xE6000000, 0x00000000, 0xF4000000, 0x0705E03C, 0xE7000000, 0x00000000, 0xF5400600, 0x00010060, 0xF2000000, 0x000BC03C, 0xE200001C, 0x00551208, 0xFCFFFFFF, 0xFFFCF279, 0xD9FDFFFF, 0x00000000, 0xD9FFFFFF, 0x00200404, 0xDF000000, 0x00000000
dlabel D_8026F040
.word 0xE7000000, 0x00000000, 0xD7000002, 0xFFFFFFFF, 0xE3000A01, 0x00000000, 0xE3000C00, 0x00000000, 0xE3000D01, 0x00000000, 0xE3000F00, 0x00000000, 0xE3001201, 0x00000000, 0xE3001402, 0x00000C00, 0xE3001001, 0x00008000, 0xFD100000, 0x8026E930, 0xE8000000, 0x00000000, 0xF5000100, 0x07000000, 0xE6000000, 0x00000000, 0xF0000000, 0x0703C000, 0xE7000000, 0x00000000, 0xFD48004F, 0x8026E6B0, 0xF5481400, 0x0704C280, 0xE6000000, 0x00000000, 0xF4000000, 0x0713E01C, 0xE7000000, 0x00000000, 0xF5401400, 0x0004C280, 0xF2000000, 0x0027C01C, 0xE200001C, 0x00551208, 0xFCFFFFFF, 0xFFFCF279, 0xD9FDFFFF, 0x00000000, 0xD9FFFFFF, 0x00200404, 0xDF000000, 0x00000000
dlabel D_8026F118
.word 0xE7000000, 0x00000000, 0xD7000002, 0xFFFFFFFF, 0xE3000A01, 0x00000000, 0xE3000C00, 0x00000000, 0xE3000D01, 0x00000000, 0xE3000F00, 0x00000000, 0xE3001001, 0x00008000, 0xE3001201, 0x00000000, 0xE3001402, 0x00000C00, 0xFD100000, 0x8026A0B0, 0xE8000000, 0x00000000, 0xF5000100, 0x07000000, 0xE6000000, 0x00000000, 0xF0000000, 0x073FC000, 0xE7000000, 0x00000000, 0xE200001C, 0x0F0A4000, 0xFCFFFFFF, 0xFFFCF279, 0xD9FDF9FF, 0x00000000, 0xD9FFFFFF, 0x00200004, 0xDF000000, 0x00000000
dlabel D_8026F1B8
.word 0xE7000000, 0x00000000, 0xD7000002, 0xFFFFFFFF, 0xE3000A01, 0x00000000, 0xE3000C00, 0x00000000, 0xE3000D01, 0x00000000, 0xE3000F00, 0x00000000, 0xE3001201, 0x00000000, 0xE3001402, 0x00000C00, 0xE200001C, 0x00504340, 0xFC30B261, 0xFF67FFFF, 0xE3001001, 0x00000000, 0xFD68000F, 0x8026C230, 0xF5680400, 0x07090240, 0xE6000000, 0x00000000, 0xF4000000, 0x0703C03C, 0xE7000000, 0x00000000, 0xF5680400, 0x00090240, 0xF2000000, 0x0003C03C, 0xE3001001, 0x00000000, 0xFD68000F, 0x8026C330, 0xF5680500, 0x07090240, 0xE6000000, 0x00000000, 0xF4000000, 0x0703C03C, 0xE7000000, 0x00000000, 0xF5680500, 0x01090240, 0xF2000000, 0x0103C03C, 0xD9FDFFFF, 0x00000000, 0xD9FFFFFF, 0x00200404, 0xDF000000, 0x00000000
dlabel D_8026F2A0
.word 0xE7000000, 0x00000000, 0xD7000002, 0xFFFFFFFF, 0xE3000A01, 0x00000000, 0xE3000C00, 0x00000000, 0xE3000D01, 0x00000000, 0xE3000F00, 0x00000000, 0xE3001201, 0x00000000, 0xE3001402, 0x00000C00, 0xE3001001, 0x00000000, 0xFD680007, 0x8026C430, 0xF5680200, 0x07098240, 0xE6000000, 0x00000000, 0xF4000000, 0x0701E0FC, 0xE7000000, 0x00000000, 0xF5600200, 0x00098240, 0xF2000000, 0x0003C0FC, 0xE200001C, 0x00551208, 0xFCFFFFFF, 0xFFFCF279, 0xD9FDFFFF, 0x00000000, 0xD9FFFFFF, 0x00200404, 0xDF000000, 0x00000000
dlabel D_8026F348
.word 0xE7000000, 0x00000000, 0xD7000002, 0xFFFFFFFF, 0xE3000A01, 0x00000000, 0xE3000C00, 0x00000000, 0xE3000D01, 0x00000000, 0xE3000F00, 0x00000000, 0xE3001201, 0x00000000, 0xE3001402, 0x00000C00, 0xE3001001, 0x00000000, 0xFD100007, 0x8026C030, 0xF5100400, 0x07014030, 0xE6000000, 0x00000000, 0xF4000000, 0x0701C07C, 0xE7000000, 0x00000000, 0xF5100400, 0x00014030, 0xF2000000, 0x0001C07C, 0xE200001C, 0x00551208, 0xFCFFB3FF, 0xFF64FE7F, 0xD9FDFFFF, 0x00000000, 0xD9FFFFFF, 0x00200404, 0xDF000000, 0x00000000
dlabel D_8026F3F0
.word 0xE7000000, 0x00000000, 0xD7000002, 0xFFFFFFFF, 0xE3000A01, 0x00000000, 0xE3000C00, 0x00000000, 0xE3000D01, 0x00000000, 0xE3000F00, 0x00000000, 0xE3001201, 0x00000000, 0xE3001402, 0x00000C00, 0xE3001001, 0x00008000, 0xFD100000, 0x8026DEB0, 0xE8000000, 0x00000000, 0xF5000100, 0x07000000, 0xE6000000, 0x00000000, 0xF0000000, 0x0703C000, 0xE7000000, 0x00000000, 0xFD48001F, 0x8026DCB0, 0xF5480800, 0x07010060, 0xE6000000, 0x00000000, 0xF4000000, 0x0707E03C, 0xE7000000, 0x00000000, 0xF5400800, 0x00010060, 0xF2000000, 0x000FC03C, 0xE200001C, 0x00551208, 0xFCFFFFFF, 0xFFFCF279, 0xD9FDFFFF, 0x00000000, 0xD9FFFFFF, 0x00200404, 0xDF000000, 0x00000000
dlabel D_8026F4C8
.word 0xE7000000, 0x00000000, 0xD7000002, 0xFFFFFFFF, 0xE3000A01, 0x00000000, 0xE3000C00, 0x00000000, 0xE3000D01, 0x00000000, 0xE3000F00, 0x00000000, 0xE3001201, 0x00000000, 0xE3001402, 0x00000C00, 0xE3001001, 0x00008000, 0xFD100000, 0x8026E4B0, 0xE8000000, 0x00000000, 0xF5000100, 0x07000000, 0xE6000000, 0x00000000, 0xF0000000, 0x0703C000, 0xE7000000, 0x00000000, 0xFD48003F, 0x8026E0B0, 0xF5481000, 0x07010070, 0xE6000000, 0x00000000, 0xF4000000, 0x070FE03C, 0xE7000000, 0x00000000, 0xF5401000, 0x00010070, 0xF2000000, 0x001FC03C, 0xE200001C, 0x00551208, 0xFCFFFFFF, 0xFFFCF279, 0xD9FDFFFF, 0x00000000, 0xD9FFFFFF, 0x00200404, 0xDF000000, 0x00000000
dlabel D_8026F5A0
.word 0xE7000000, 0x00000000, 0xD7000002, 0xFFFFFFFF, 0xE3000A01, 0x00000000, 0xE3000C00, 0x00000000, 0xE3000D01, 0x00000000, 0xE3000F00, 0x00000000, 0xE3001001, 0x00008000, 0xE3001201, 0x00003000, 0xE3001402, 0x00000C00, 0xFD100000, 0x8026BE30, 0xE8000000, 0x00000000, 0xF5000100, 0x07000000, 0xE6000000, 0x00000000, 0xF0000000, 0x0703C000, 0xE7000000, 0x00000000, 0xE200001C, 0x0F0A4000, 0xFCFFFFFF, 0xFFFCF279, 0xD9FDF9FF, 0x00000000, 0xD9FFFFFF, 0x00200004, 0xDF000000, 0x00000000
dlabel D_8026F640
.word 0x33544154, 0x53FD0000
dlabel D_8026F648
.word 0x22414447, 0x45FD0000
dlabel D_8026F650
.word 0x2954454D, 0x53FD0000
dlabel D_8026F658
.word 0x30415254, 0x59FD0000
dlabel D_8026F660
.word 0x234F494E, 0x53FD0000
dlabel D_8026F668
.word 0x33544152, 0xF7304F49, 0x4E5453FD
dlabel D_8026F674
.word 0x33544152, 0xF7304945, 0x434553FD
dlabel D_8026F680
.word 0x304C4159, 0xF734494D, 0x45FD0000
dlabel D_8026F68C
.word 0x2830FD00
dlabel D_8026F690
.word 0x2630FD00
dlabel D_8026F694
.word 0x2230FD00
dlabel D_8026F698
.word 0x0FFD0000
dlabel D_8026F69C
.word 0x0EFD0000
dlabel D_8026F6A0
.word 0x2E4F4E45, 0xFD000000
dlabel D_8026F6A8
.word 0x224F4F54, 0x53FD0000
dlabel D_8026F6B0
.word 0x33555045, 0x52F7224F, 0x4F5453FD
dlabel D_8026F6BC
.word 0x354C5452, 0x41F7224F, 0x4F5453FD
dlabel D_8026F6C8
.word 0x2E4F4E45, 0xFD000000
dlabel D_8026F6D0
.word 0x28414D4D, 0x4552FD00
dlabel D_8026F6D8
.word 0x33555045, 0x52F72841, 0x4D4D4552, 0xFD000000
dlabel D_8026F6E8
.word 0x354C5452, 0x41F72841, 0x4D4D4552, 0xFD000000
dlabel D_8026F6F8
.word 0x2D415249, 0x4FFD0000
dlabel D_8026F700
.word 0x2C455645, 0x4CFD0000
dlabel D_8026F708
.word 0x2230FD00
dlabel D_8026F70C
.word 0x214C4CF7, 0x22414447, 0x4553FD00
dlabel D_8026F718
.word 0x21435449, 0x5645FD00
dlabel D_8026F720
.word 0x22414447, 0x4553FD00
dlabel D_8026F728
.word 0x2E4F54F7, 0x454E4F55, 0x4748F722, 0x30FD0000
dlabel D_8026F738
.word 0x244F4E07, 0x54F75745, 0x4152F74D, 0x4F524501, 0xFD000000
dlabel D_8026F74C
.word 0x2954454D, 0x53FD0000
dlabel D_8026F754
.word 0x2B4559F7, 0x2954454D, 0x53FD0000
dlabel D_8026F760
.word 0x2830FD00
dlabel D_8026F764
.word 0x2630FD00
dlabel D_8026F768
.word 0x2142494C, 0x49544945, 0x53FD0000
dlabel D_8026F774
.word 0x1F1F1FFD
dlabel D_8026F778
.word 0x00000000, 0x001F001C, 0x001F002B, 0x001F002C, 0x001F002D, 0x001F002E, 0x001F002F, 0x001F0030, 0x001F0031, 0x001F001D, 0x001F001E, 0x001F001F, 0x001F0020, 0x001F0021, 0x001F0022, 0x001F0023, 0x001F0024, 0x001F0025, 0x001F0026, 0x001F0027, 0x001F0028, 0x001F0029, 0x001F002A, D_8026F640, D_8026F648, D_8026F650, D_8026F658, 0x001F0001, 0x001F0002, 0x001F0003, 0x001F0004, 0x001F0005, 0x001F0006, 0x001F0007, 0x001F0008, 0x001F0009, 0x001F000A, 0x001F000B, 0x001F000C, 0x001F000D, 0x001F000E, 0x001F000F, 0x001F0010, 0x001F0011, 0x001F0012, 0x001F0013, 0x001F0014, 0x001F0015, 0x001F0016, 0x001F0017, D_8026F660, D_8026F668, D_8026F674, D_8026F680, D_8026F68C, D_8026F690, D_8026F694, D_8026F698, D_8026F69C, D_8026F6A0, D_8026F6A8, D_8026F6B0, D_8026F6BC, D_8026F6C8, D_8026F6D0, D_8026F6D8, D_8026F6E8, D_8026F6F8, D_8026F700, 0x001F0000, D_8026F708, D_8026F70C, D_8026F718, D_8026F720, D_8026F728, D_8026F738, 0x001F001A, 0x001F001B, 0x001F0000, D_8026F754, D_8026F74C, 0x001F0019, 0x001F0018, D_8026F760, D_8026F764, D_8026F768, D_8026F774
dlabel D_8026F8D4
.word D_8026EB30, D_8026EC08, D_8026ECE0, D_8026EDB8, D_8026EE90, D_8026EF68, D_8026F040, D_8026F3F0, D_8026F4C8, 0x00000000, 0x00000000, 0x00000000, 0x41000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFCFFFFFF, 0xFFFFFFFF, 0xFC30FFFF, 0x5FFEF638, 0x405CF6FF, 0x00000000, D_8010B460, 0x40101000, 0x00000080, D_8010B360, 0x31080808, 0x08080808, 0x08000000, 0x00000000, 0xFC30FE01, 0x5FFEF5F8, 0xFC30B401, 0x5FFEFFF8, 0xE2E1D8FF, 0xD9D0C900, 0x00000000, 0x40101000, 0x00000080, 0x00000000, 0x31080808, 0x08080808, 0x08000000, 0x00000000, 0xFC30FE01, 0x5FFEF5F8, 0xFC30B401, 0x5FFEFFF8, 0xE2E1D8FF, 0xD9D0C900, 0x00000000, 0x00000000, 0x00000000, 0x802506B0, 0x31100810, 0x08100810, 0x08000000, 0x00000000, 0xFC317FFF, 0x5FFEF438, 0xFC3135FF, 0x5FFEFE38, 0xF0C74EFF, 0x7F561700, 0x00000000, 0x00000000, 0x00000000, 0x802506B0, 0x31100810, 0x08100810, 0x08000000, 0x00000000, 0xFC317FFF, 0x5FFEF438, 0xFC3135FF, 0x5FFEFE38, 0xFD744AFF, 0x74301B00, 0x00000000, 0x00000000, 0x00000000, 0x802506B0, 0x31100810, 0x08100810, 0x08000000, 0x00000000, 0xFC317FFF, 0x5FFEF438, 0xFC3135FF, 0x5FFEFE38, 0x2748E1FF, 0x091A6600, 0x00000000, 0x00000000, 0x00000000, 0x802506B0, 0x31100810, 0x08100810, 0x08000000, 0x00000000, 0xFC317FFF, 0x5FFEF438, 0xFC3135FF, 0x5FFEFE38, 0x22EEC9FF, 0x076D5A00, 0x00000000, 0x00000000, 0x00000000, 0x802506B0, 0x31100810, 0x08100810, 0x08000000, 0x00000000, 0xFC317FFF, 0x5FFEF438, 0xFC3135FF, 0x5FFEFE38, 0x68FF51FF, 0x2A791E00, 0x00000000, 0x00000000, 0x00000000, 0x802506B0, 0x31100810, 0x08100810, 0x08000000, 0x00000000, 0xFC317FFF, 0x5FFEF438, 0xFC3135FF, 0x5FFEFE38, 0xAD72C2FF, 0x4C2F5700, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000
dlabel D_8026FB30
.word 0x00000000, 0x00000000, 0x00000000, 0x802506B0, 0x31100810, 0x08100810, 0x08000000, 0x00000000, 0xFC317FFF, 0x5FFEF438, 0xFC3135FF, 0x5FFEFE38, 0xF0C74EFF, 0x7F561700, 0x00000000, 0x00000000, 0x00000000, 0x802506B0, 0x31100810, 0x08100810, 0x08000000, 0x00000000, 0xFC317FFF, 0x5FFEF438, 0xFC3135FF, 0x5FFEFE38, 0xD5A574FF, 0x60483060, D_8010B460, 0x40101000, 0x00000080, D_8010B360, 0x31080808, 0x08080808, 0x08000000, 0x00000000, 0xFC30FE01, 0x5FFEF5F8, 0xFC30B401, 0x5FFEFFF8, 0xE2D8B3FF, 0xD2C09000
dlabel D_8026FBD8
.word 0x00000000, 0x00000000, 0x00000000, 0x802508B0, 0x31101010, 0x10101010, 0x10000000, 0x00000000, 0xFC317FFF, 0x5FFEF438, 0xFC3135FF, 0x5FFEFE38, 0xFD744AFF, 0x74301B00
dlabel D_8026FC10
.word 0x00000000, 0x00000000, 0x00000000, 0x802506B0, 0x31100810, 0x08100810, 0x08000000, 0x00000000, 0xFC317FFF, 0x5FFEF438, 0xFC3135FF, 0x5FFEFE38, 0xF5B9A0FF, 0xCB9980FF
dlabel D_8026FC48
.word D_8010B460, 0x40101000, 0x00000080, D_8010B360, 0x31080808, 0x08080808, 0x08000000, 0x00000000, 0xFC30FE01, 0x5FFEF5F8, 0xFC30B401, 0x5FFEFFF8, 0xD8BFB6FF, 0xE1D1D100, D_8010B460, 0x40101000, 0x00000080, D_8010B360, 0x31080808, 0x08080808, 0x08000000, 0x00000000, 0xFC30FE01, 0x5FFEF5F8, 0xFC30B401, 0x5FFEFFF8, 0xCAAAA5FF, 0xE2C8C800
dlabel D_8026FCB8
.word 0x00000000, 0x00000000, 0x00000000, 0x802508B0, 0x31101010, 0x10101010, 0x10000000, 0x00000000, 0xFC317FFF, 0x5FFEF438, 0xFC3135FF, 0x5FFEFE38, 0x2748E1FF, 0x091A6600
dlabel D_8026FCF0
.word D_8010B460, 0x40101000, 0x00000080, D_8010B360, 0x31080808, 0x08080808, 0x08000000, 0x00000000, 0xFC30FE01, 0x5FFEF5F8, 0xFC30B401, 0x5FFEFFF8, 0xC6CFDEFF, 0xD6DFEC00, D_8010B460, 0x40101000, 0x00000080, D_8010B360, 0x31080808, 0x08080808, 0x08000000, 0x00000000, 0xFC30FE01, 0x5FFEF5F8, 0xFC30B401, 0x5FFEFFF8, 0xCFD2F2FF, 0xB8BED900, D_8010B460, 0x40101000, 0x00000080, D_8010B360, 0x31080808, 0x08080808, 0x08000000, 0x00000000, 0xFC30FE01, 0x5FFEF5F8, 0xFC30B401, 0x5FFEFFF8, 0xCAD9D6FF, 0xB0CECE00
dlabel D_8026FD98
.word D_8010B460, 0x40101000, 0x00000080, 0x80250CB0, 0x31101010, 0x10101010, 0x10000000, 0x00000000, 0xFC30FE01, 0x5FFEF5F8, 0xFC30B401, 0x5FFEFFF8, 0xDEEDEAFF, 0xC4E2E200, 0x00000000, 0x00000000, 0x00000000, 0x802506B0, 0x31100810, 0x08100810, 0x08000000, 0x00000000, 0xFC317FFF, 0x5FFEF438, 0xFC3135FF, 0x5FFEFE38, 0x0EDAB5FF, 0x7F7F7F00, D_8010B460, 0x40101000, 0x00000080, D_8010B360, 0x31080808, 0x08080808, 0x08000000, 0x00000000, 0xFC30FE01, 0x5FFEF5F8, 0xFC30B401, 0x5FFEFFF8, 0xC1E1C1FF, 0xA9D7A900, 0x00000000, 0x00000000, 0x00000000, 0x802506B0, 0x31100810, 0x08100810, 0x08000000, 0x00000000, 0xFC317FFF, 0x5FFEF438, 0xFC3135FF, 0x5FFEFE38, 0x68FF51FF, 0x2A791E00
dlabel D_8026FE78
.word D_8010B460, 0x40101000, 0x00000080, 0x80250CB0, 0x31101010, 0x10101010, 0x10000000, 0x00000000, 0xFC30FE01, 0x5FFEF5F8, 0xFC30B401, 0x5FFEFFF8, 0xCFFAC8FF, 0xCEEFC000, D_8010B460, 0x40101000, 0x00000080, D_8010B360, 0x31080808, 0x08080808, 0x08000000, 0x00000000, 0xFC30FE01, 0x5FFEF5F8, 0xFC30B401, 0x5FFEFFF8, 0xD8CADBFF, 0xCDB4D100
dlabel D_8026FEE8
.word D_8010B460, 0x40101000, 0x00000080, 0x80250CB0, 0x31101010, 0x10101010, 0x10000000, 0x00000000, 0xFC30FE01, 0x5FFEF5F8, 0xFC30B401, 0x5FFEFFF8, 0xECDEEFFF, 0xE1C8E500, 0x00000000, 0x00000000, 0x00000000, 0x802506B0, 0x31100810, 0x08100810, 0x08000000, 0x00000000, 0xFC317FFF, 0x5FFEF438, 0xFC3135FF, 0x5FFEFE38, 0xAD72C2FF, 0x4C2F5700, 0x00000000, 0x00000000

View File

@ -1,99 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80242BAC
/* 135EEC 80242BAC 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 135EF0 80242BB0 AFB10014 */ sw $s1, 0x14($sp)
/* 135EF4 80242BB4 00A0882D */ daddu $s1, $a1, $zero
/* 135EF8 80242BB8 AFB3001C */ sw $s3, 0x1c($sp)
/* 135EFC 80242BBC 00C0982D */ daddu $s3, $a2, $zero
/* 135F00 80242BC0 AFB40020 */ sw $s4, 0x20($sp)
/* 135F04 80242BC4 3C148016 */ lui $s4, %hi(gWindows)
/* 135F08 80242BC8 26949D50 */ addiu $s4, $s4, %lo(gWindows)
/* 135F0C 80242BCC 00042140 */ sll $a0, $a0, 5
/* 135F10 80242BD0 AFB20018 */ sw $s2, 0x18($sp)
/* 135F14 80242BD4 3C128025 */ lui $s2, %hi(D_8024EFB4)
/* 135F18 80242BD8 2652EFB4 */ addiu $s2, $s2, %lo(D_8024EFB4)
/* 135F1C 80242BDC AFBF0024 */ sw $ra, 0x24($sp)
/* 135F20 80242BE0 AFB00010 */ sw $s0, 0x10($sp)
/* 135F24 80242BE4 8E420000 */ lw $v0, ($s2)
/* 135F28 80242BE8 14400012 */ bnez $v0, .L80242C34
/* 135F2C 80242BEC 00948021 */ addu $s0, $a0, $s4
/* 135F30 80242BF0 0C00CD4A */ jal get_game_mode
/* 135F34 80242BF4 00000000 */ nop
/* 135F38 80242BF8 00021400 */ sll $v0, $v0, 0x10
/* 135F3C 80242BFC 00021403 */ sra $v0, $v0, 0x10
/* 135F40 80242C00 2403000F */ addiu $v1, $zero, 0xf
/* 135F44 80242C04 10430008 */ beq $v0, $v1, .L80242C28
/* 135F48 80242C08 00000000 */ nop
/* 135F4C 80242C0C 0C00CD4A */ jal get_game_mode
/* 135F50 80242C10 00000000 */ nop
/* 135F54 80242C14 00021400 */ sll $v0, $v0, 0x10
/* 135F58 80242C18 00021403 */ sra $v0, $v0, 0x10
/* 135F5C 80242C1C 2403000D */ addiu $v1, $zero, 0xd
/* 135F60 80242C20 1443001C */ bne $v0, $v1, .L80242C94
/* 135F64 80242C24 00000000 */ nop
.L80242C28:
/* 135F68 80242C28 8E420000 */ lw $v0, ($s2)
/* 135F6C 80242C2C 10400025 */ beqz $v0, .L80242CC4
/* 135F70 80242C30 00000000 */ nop
.L80242C34:
/* 135F74 80242C34 24040016 */ addiu $a0, $zero, 0x16
/* 135F78 80242C38 2406FFFF */ addiu $a2, $zero, -1
/* 135F7C 80242C3C 0080282D */ daddu $a1, $a0, $zero
/* 135F80 80242C40 3C038016 */ lui $v1, %hi(D_8015A010)
/* 135F84 80242C44 2463A010 */ addiu $v1, $v1, %lo(D_8015A010)
.L80242C48:
/* 135F88 80242C48 80620003 */ lb $v0, 3($v1)
/* 135F8C 80242C4C 10460003 */ beq $v0, $a2, .L80242C5C
/* 135F90 80242C50 00000000 */ nop
/* 135F94 80242C54 54450006 */ bnel $v0, $a1, .L80242C70
/* 135F98 80242C58 24840001 */ addiu $a0, $a0, 1
.L80242C5C:
/* 135F9C 80242C5C 90620000 */ lbu $v0, ($v1)
/* 135FA0 80242C60 30420008 */ andi $v0, $v0, 8
/* 135FA4 80242C64 14400006 */ bnez $v0, .L80242C80
/* 135FA8 80242C68 2882002C */ slti $v0, $a0, 0x2c
/* 135FAC 80242C6C 24840001 */ addiu $a0, $a0, 1
.L80242C70:
/* 135FB0 80242C70 2882002C */ slti $v0, $a0, 0x2c
/* 135FB4 80242C74 1440FFF4 */ bnez $v0, .L80242C48
/* 135FB8 80242C78 24630020 */ addiu $v1, $v1, 0x20
/* 135FBC 80242C7C 2882002C */ slti $v0, $a0, 0x2c
.L80242C80:
/* 135FC0 80242C80 14400010 */ bnez $v0, .L80242CC4
/* 135FC4 80242C84 00000000 */ nop
/* 135FC8 80242C88 3C018025 */ lui $at, %hi(D_8024EFB4)
/* 135FCC 80242C8C 08090B31 */ j .L80242CC4
/* 135FD0 80242C90 AC20EFB4 */ sw $zero, %lo(D_8024EFB4)($at)
.L80242C94:
/* 135FD4 80242C94 92020000 */ lbu $v0, ($s0)
/* 135FD8 80242C98 30420008 */ andi $v0, $v0, 8
/* 135FDC 80242C9C 14400011 */ bnez $v0, .L80242CE4
/* 135FE0 80242CA0 2402FFFF */ addiu $v0, $zero, -1
/* 135FE4 80242CA4 82040003 */ lb $a0, 3($s0)
/* 135FE8 80242CA8 10820006 */ beq $a0, $v0, .L80242CC4
/* 135FEC 80242CAC 00041140 */ sll $v0, $a0, 5
/* 135FF0 80242CB0 00541021 */ addu $v0, $v0, $s4
/* 135FF4 80242CB4 90420000 */ lbu $v0, ($v0)
/* 135FF8 80242CB8 30420008 */ andi $v0, $v0, 8
/* 135FFC 80242CBC 14400009 */ bnez $v0, .L80242CE4
/* 136000 80242CC0 00000000 */ nop
.L80242CC4:
/* 136004 80242CC4 3C018025 */ lui $at, %hi(gPauseMenuTargetPosX)
/* 136008 80242CC8 AC31EFA8 */ sw $s1, %lo(gPauseMenuTargetPosX)($at)
/* 13600C 80242CCC 3C018025 */ lui $at, %hi(gPauseMenuCursorPosX)
/* 136010 80242CD0 AC31EF9C */ sw $s1, %lo(gPauseMenuCursorPosX)($at)
/* 136014 80242CD4 3C018025 */ lui $at, %hi(gPauseMenuTargetPosY)
/* 136018 80242CD8 AC33EFAC */ sw $s3, %lo(gPauseMenuTargetPosY)($at)
/* 13601C 80242CDC 3C018025 */ lui $at, %hi(gPauseMenuCursorPosY)
/* 136020 80242CE0 AC33EFA0 */ sw $s3, %lo(gPauseMenuCursorPosY)($at)
.L80242CE4:
/* 136024 80242CE4 8FBF0024 */ lw $ra, 0x24($sp)
/* 136028 80242CE8 8FB40020 */ lw $s4, 0x20($sp)
/* 13602C 80242CEC 8FB3001C */ lw $s3, 0x1c($sp)
/* 136030 80242CF0 8FB20018 */ lw $s2, 0x18($sp)
/* 136034 80242CF4 8FB10014 */ lw $s1, 0x14($sp)
/* 136038 80242CF8 8FB00010 */ lw $s0, 0x10($sp)
/* 13603C 80242CFC 03E00008 */ jr $ra
/* 136040 80242D00 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -1,104 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80242D04
/* 136044 80242D04 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 136048 80242D08 AFB20018 */ sw $s2, 0x18($sp)
/* 13604C 80242D0C 00A0902D */ daddu $s2, $a1, $zero
/* 136050 80242D10 AFB3001C */ sw $s3, 0x1c($sp)
/* 136054 80242D14 00C0982D */ daddu $s3, $a2, $zero
/* 136058 80242D18 AFB40020 */ sw $s4, 0x20($sp)
/* 13605C 80242D1C 3C148016 */ lui $s4, %hi(gWindows)
/* 136060 80242D20 26949D50 */ addiu $s4, $s4, %lo(gWindows)
/* 136064 80242D24 00042140 */ sll $a0, $a0, 5
/* 136068 80242D28 AFB10014 */ sw $s1, 0x14($sp)
/* 13606C 80242D2C 3C118025 */ lui $s1, %hi(D_8024EFB4)
/* 136070 80242D30 2631EFB4 */ addiu $s1, $s1, %lo(D_8024EFB4)
/* 136074 80242D34 AFBF0024 */ sw $ra, 0x24($sp)
/* 136078 80242D38 AFB00010 */ sw $s0, 0x10($sp)
/* 13607C 80242D3C 8E220000 */ lw $v0, ($s1)
/* 136080 80242D40 14400012 */ bnez $v0, .L80242D8C
/* 136084 80242D44 00948021 */ addu $s0, $a0, $s4
/* 136088 80242D48 0C00CD4A */ jal get_game_mode
/* 13608C 80242D4C 00000000 */ nop
/* 136090 80242D50 00021400 */ sll $v0, $v0, 0x10
/* 136094 80242D54 00021403 */ sra $v0, $v0, 0x10
/* 136098 80242D58 2403000F */ addiu $v1, $zero, 0xf
/* 13609C 80242D5C 10430008 */ beq $v0, $v1, .L80242D80
/* 1360A0 80242D60 00000000 */ nop
/* 1360A4 80242D64 0C00CD4A */ jal get_game_mode
/* 1360A8 80242D68 00000000 */ nop
/* 1360AC 80242D6C 00021400 */ sll $v0, $v0, 0x10
/* 1360B0 80242D70 00021403 */ sra $v0, $v0, 0x10
/* 1360B4 80242D74 2403000D */ addiu $v1, $zero, 0xd
/* 1360B8 80242D78 14430024 */ bne $v0, $v1, .L80242E0C
/* 1360BC 80242D7C 00000000 */ nop
.L80242D80:
/* 1360C0 80242D80 8E220000 */ lw $v0, ($s1)
/* 1360C4 80242D84 10400018 */ beqz $v0, .L80242DE8
/* 1360C8 80242D88 00000000 */ nop
.L80242D8C:
/* 1360CC 80242D8C 24040016 */ addiu $a0, $zero, 0x16
/* 1360D0 80242D90 2406FFFF */ addiu $a2, $zero, -1
/* 1360D4 80242D94 0080282D */ daddu $a1, $a0, $zero
/* 1360D8 80242D98 3C038016 */ lui $v1, %hi(D_8015A010)
/* 1360DC 80242D9C 2463A010 */ addiu $v1, $v1, %lo(D_8015A010)
.L80242DA0:
/* 1360E0 80242DA0 80620003 */ lb $v0, 3($v1)
/* 1360E4 80242DA4 10460003 */ beq $v0, $a2, .L80242DB4
/* 1360E8 80242DA8 00000000 */ nop
/* 1360EC 80242DAC 54450006 */ bnel $v0, $a1, .L80242DC8
/* 1360F0 80242DB0 24840001 */ addiu $a0, $a0, 1
.L80242DB4:
/* 1360F4 80242DB4 90620000 */ lbu $v0, ($v1)
/* 1360F8 80242DB8 30420008 */ andi $v0, $v0, 8
/* 1360FC 80242DBC 14400006 */ bnez $v0, .L80242DD8
/* 136100 80242DC0 2882002C */ slti $v0, $a0, 0x2c
/* 136104 80242DC4 24840001 */ addiu $a0, $a0, 1
.L80242DC8:
/* 136108 80242DC8 2882002C */ slti $v0, $a0, 0x2c
/* 13610C 80242DCC 1440FFF4 */ bnez $v0, .L80242DA0
/* 136110 80242DD0 24630020 */ addiu $v1, $v1, 0x20
/* 136114 80242DD4 2882002C */ slti $v0, $a0, 0x2c
.L80242DD8:
/* 136118 80242DD8 14400003 */ bnez $v0, .L80242DE8
/* 13611C 80242DDC 00000000 */ nop
/* 136120 80242DE0 3C018025 */ lui $at, %hi(D_8024EFB4)
/* 136124 80242DE4 AC20EFB4 */ sw $zero, %lo(D_8024EFB4)($at)
.L80242DE8:
/* 136128 80242DE8 3C018025 */ lui $at, %hi(gPauseMenuTargetPosX)
/* 13612C 80242DEC AC32EFA8 */ sw $s2, %lo(gPauseMenuTargetPosX)($at)
/* 136130 80242DF0 3C018025 */ lui $at, %hi(gPauseMenuCursorPosX)
/* 136134 80242DF4 AC32EF9C */ sw $s2, %lo(gPauseMenuCursorPosX)($at)
/* 136138 80242DF8 3C018025 */ lui $at, %hi(gPauseMenuTargetPosY)
/* 13613C 80242DFC AC33EFAC */ sw $s3, %lo(gPauseMenuTargetPosY)($at)
/* 136140 80242E00 3C018025 */ lui $at, %hi(gPauseMenuCursorPosY)
/* 136144 80242E04 08090B93 */ j .L80242E4C
/* 136148 80242E08 AC33EFA0 */ sw $s3, %lo(gPauseMenuCursorPosY)($at)
.L80242E0C:
/* 13614C 80242E0C 92020000 */ lbu $v0, ($s0)
/* 136150 80242E10 30420008 */ andi $v0, $v0, 8
/* 136154 80242E14 1440000D */ bnez $v0, .L80242E4C
/* 136158 80242E18 2402FFFF */ addiu $v0, $zero, -1
/* 13615C 80242E1C 82040003 */ lb $a0, 3($s0)
/* 136160 80242E20 10820006 */ beq $a0, $v0, .L80242E3C
/* 136164 80242E24 00041140 */ sll $v0, $a0, 5
/* 136168 80242E28 00541021 */ addu $v0, $v0, $s4
/* 13616C 80242E2C 90420000 */ lbu $v0, ($v0)
/* 136170 80242E30 30420008 */ andi $v0, $v0, 8
/* 136174 80242E34 14400005 */ bnez $v0, .L80242E4C
/* 136178 80242E38 00000000 */ nop
.L80242E3C:
/* 13617C 80242E3C 3C018025 */ lui $at, %hi(gPauseMenuTargetPosX)
/* 136180 80242E40 AC32EFA8 */ sw $s2, %lo(gPauseMenuTargetPosX)($at)
/* 136184 80242E44 3C018025 */ lui $at, %hi(gPauseMenuTargetPosY)
/* 136188 80242E48 AC33EFAC */ sw $s3, %lo(gPauseMenuTargetPosY)($at)
.L80242E4C:
/* 13618C 80242E4C 8FBF0024 */ lw $ra, 0x24($sp)
/* 136190 80242E50 8FB40020 */ lw $s4, 0x20($sp)
/* 136194 80242E54 8FB3001C */ lw $s3, 0x1c($sp)
/* 136198 80242E58 8FB20018 */ lw $s2, 0x18($sp)
/* 13619C 80242E5C 8FB10014 */ lw $s1, 0x14($sp)
/* 1361A0 80242E60 8FB00010 */ lw $s0, 0x10($sp)
/* 1361A4 80242E64 03E00008 */ jr $ra
/* 1361A8 80242E68 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -1,15 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80242F90
/* 1362D0 80242F90 240200A0 */ addiu $v0, $zero, 0xa0
/* 1362D4 80242F94 8FA30028 */ lw $v1, 0x28($sp)
/* 1362D8 80242F98 00042140 */ sll $a0, $a0, 5
/* 1362DC 80242F9C AC620000 */ sw $v0, ($v1)
/* 1362E0 80242FA0 3C028016 */ lui $v0, %hi(gWindows)
/* 1362E4 80242FA4 24429D50 */ addiu $v0, $v0, %lo(gWindows)
/* 1362E8 80242FA8 00822021 */ addu $a0, $a0, $v0
/* 1362EC 80242FAC 90820000 */ lbu $v0, ($a0)
/* 1362F0 80242FB0 304200F3 */ andi $v0, $v0, 0xf3
/* 1362F4 80242FB4 03E00008 */ jr $ra
/* 1362F8 80242FB8 A0820000 */ sb $v0, ($a0)

View File

@ -1,18 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80242FBC
/* 1362FC 80242FBC 240200A0 */ addiu $v0, $zero, 0xa0
/* 136300 80242FC0 8FA30028 */ lw $v1, 0x28($sp)
/* 136304 80242FC4 8FA5002C */ lw $a1, 0x2c($sp)
/* 136308 80242FC8 00042140 */ sll $a0, $a0, 5
/* 13630C 80242FCC AC620000 */ sw $v0, ($v1)
/* 136310 80242FD0 24020050 */ addiu $v0, $zero, 0x50
/* 136314 80242FD4 ACA20000 */ sw $v0, ($a1)
/* 136318 80242FD8 3C028016 */ lui $v0, %hi(gWindows)
/* 13631C 80242FDC 24429D50 */ addiu $v0, $v0, %lo(gWindows)
/* 136320 80242FE0 00822021 */ addu $a0, $a0, $v0
/* 136324 80242FE4 90820000 */ lbu $v0, ($a0)
/* 136328 80242FE8 304200F3 */ andi $v0, $v0, 0xf3
/* 13632C 80242FEC 03E00008 */ jr $ra
/* 136330 80242FF0 A0820000 */ sb $v0, ($a0)

View File

@ -1,47 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80242FF4
/* 136334 80242FF4 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 136338 80242FF8 3C038016 */ lui $v1, %hi(gWindows)
/* 13633C 80242FFC 24639D50 */ addiu $v1, $v1, %lo(gWindows)
/* 136340 80243000 00041140 */ sll $v0, $a0, 5
/* 136344 80243004 AFB00010 */ sw $s0, 0x10($sp)
/* 136348 80243008 00438021 */ addu $s0, $v0, $v1
/* 13634C 8024300C AFBF001C */ sw $ra, 0x1c($sp)
/* 136350 80243010 AFB20018 */ sw $s2, 0x18($sp)
/* 136354 80243014 AFB10014 */ sw $s1, 0x14($sp)
/* 136358 80243018 9211001C */ lbu $s1, 0x1c($s0)
/* 13635C 8024301C 8FB20048 */ lw $s2, 0x48($sp)
/* 136360 80243020 16200005 */ bnez $s1, .L80243038
/* 136364 80243024 24020005 */ addiu $v0, $zero, 5
/* 136368 80243028 92020000 */ lbu $v0, ($s0)
/* 13636C 8024302C 304200FB */ andi $v0, $v0, 0xfb
/* 136370 80243030 A2020000 */ sb $v0, ($s0)
/* 136374 80243034 24020005 */ addiu $v0, $zero, 5
.L80243038:
/* 136378 80243038 16220005 */ bne $s1, $v0, .L80243050
/* 13637C 8024303C 2A22000A */ slti $v0, $s1, 0xa
/* 136380 80243040 92050002 */ lbu $a1, 2($s0)
/* 136384 80243044 0C051F5C */ jal update_window_hierarchy
/* 136388 80243048 00000000 */ nop
/* 13638C 8024304C 2A22000A */ slti $v0, $s1, 0xa
.L80243050:
/* 136390 80243050 10400004 */ beqz $v0, .L80243064
/* 136394 80243054 26220001 */ addiu $v0, $s1, 1
/* 136398 80243058 00021100 */ sll $v0, $v0, 4
/* 13639C 8024305C 08090C1E */ j .L80243078
/* 1363A0 80243060 AE420000 */ sw $v0, ($s2)
.L80243064:
/* 1363A4 80243064 240200A0 */ addiu $v0, $zero, 0xa0
/* 1363A8 80243068 AE420000 */ sw $v0, ($s2)
/* 1363AC 8024306C 92020000 */ lbu $v0, ($s0)
/* 1363B0 80243070 304200F7 */ andi $v0, $v0, 0xf7
/* 1363B4 80243074 A2020000 */ sb $v0, ($s0)
.L80243078:
/* 1363B8 80243078 8FBF001C */ lw $ra, 0x1c($sp)
/* 1363BC 8024307C 8FB20018 */ lw $s2, 0x18($sp)
/* 1363C0 80243080 8FB10014 */ lw $s1, 0x14($sp)
/* 1363C4 80243084 8FB00010 */ lw $s0, 0x10($sp)
/* 1363C8 80243088 03E00008 */ jr $ra
/* 1363CC 8024308C 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,26 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80243090
/* 1363D0 80243090 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 1363D4 80243094 3C028016 */ lui $v0, %hi(gWindows)
/* 1363D8 80243098 24429D50 */ addiu $v0, $v0, %lo(gWindows)
/* 1363DC 8024309C 00041940 */ sll $v1, $a0, 5
/* 1363E0 802430A0 AFB00010 */ sw $s0, 0x10($sp)
/* 1363E4 802430A4 00628021 */ addu $s0, $v1, $v0
/* 1363E8 802430A8 AFBF0014 */ sw $ra, 0x14($sp)
/* 1363EC 802430AC 9202001C */ lbu $v0, 0x1c($s0)
/* 1363F0 802430B0 14400008 */ bnez $v0, .L802430D4
/* 1363F4 802430B4 00000000 */ nop
/* 1363F8 802430B8 0C051F5C */ jal update_window_hierarchy
/* 1363FC 802430BC 92050002 */ lbu $a1, 2($s0)
/* 136400 802430C0 8FA20040 */ lw $v0, 0x40($sp)
/* 136404 802430C4 AC400000 */ sw $zero, ($v0)
/* 136408 802430C8 92020000 */ lbu $v0, ($s0)
/* 13640C 802430CC 304200F7 */ andi $v0, $v0, 0xf7
/* 136410 802430D0 A2020000 */ sb $v0, ($s0)
.L802430D4:
/* 136414 802430D4 8FBF0014 */ lw $ra, 0x14($sp)
/* 136418 802430D8 8FB00010 */ lw $s0, 0x10($sp)
/* 13641C 802430DC 03E00008 */ jr $ra
/* 136420 802430E0 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,28 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802430E4
/* 136424 802430E4 3C028016 */ lui $v0, %hi(gWindows)
/* 136428 802430E8 24429D50 */ addiu $v0, $v0, %lo(gWindows)
/* 13642C 802430EC 00042140 */ sll $a0, $a0, 5
/* 136430 802430F0 00822021 */ addu $a0, $a0, $v0
/* 136434 802430F4 9083001C */ lbu $v1, 0x1c($a0)
/* 136438 802430F8 8FA5002C */ lw $a1, 0x2c($sp)
/* 13643C 802430FC 14600005 */ bnez $v1, .L80243114
/* 136440 80243100 28620010 */ slti $v0, $v1, 0x10
/* 136444 80243104 90820000 */ lbu $v0, ($a0)
/* 136448 80243108 304200FB */ andi $v0, $v0, 0xfb
/* 13644C 8024310C A0820000 */ sb $v0, ($a0)
/* 136450 80243110 28620010 */ slti $v0, $v1, 0x10
.L80243114:
/* 136454 80243114 10400004 */ beqz $v0, .L80243128
/* 136458 80243118 240200FF */ addiu $v0, $zero, 0xff
/* 13645C 8024311C 00031100 */ sll $v0, $v1, 4
/* 136460 80243120 03E00008 */ jr $ra
/* 136464 80243124 ACA20000 */ sw $v0, ($a1)
.L80243128:
/* 136468 80243128 ACA20000 */ sw $v0, ($a1)
/* 13646C 8024312C 90820000 */ lbu $v0, ($a0)
/* 136470 80243130 304200F7 */ andi $v0, $v0, 0xf7
/* 136474 80243134 03E00008 */ jr $ra
/* 136478 80243138 A0820000 */ sb $v0, ($a0)

View File

@ -1,24 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8024313C
/* 13647C 8024313C 3C028016 */ lui $v0, %hi(gWindows)
/* 136480 80243140 24429D50 */ addiu $v0, $v0, %lo(gWindows)
/* 136484 80243144 00042140 */ sll $a0, $a0, 5
/* 136488 80243148 00822021 */ addu $a0, $a0, $v0
/* 13648C 8024314C 9083001C */ lbu $v1, 0x1c($a0)
/* 136490 80243150 8FA5002C */ lw $a1, 0x2c($sp)
/* 136494 80243154 28620010 */ slti $v0, $v1, 0x10
/* 136498 80243158 50400006 */ beql $v0, $zero, .L80243174
/* 13649C 8024315C ACA00000 */ sw $zero, ($a1)
/* 1364A0 80243160 00031900 */ sll $v1, $v1, 4
/* 1364A4 80243164 240200FF */ addiu $v0, $zero, 0xff
/* 1364A8 80243168 00431023 */ subu $v0, $v0, $v1
/* 1364AC 8024316C 03E00008 */ jr $ra
/* 1364B0 80243170 ACA20000 */ sw $v0, ($a1)
.L80243174:
/* 1364B4 80243174 90820000 */ lbu $v0, ($a0)
/* 1364B8 80243178 304200F7 */ andi $v0, $v0, 0xf7
/* 1364BC 8024317C 34420004 */ ori $v0, $v0, 4
/* 1364C0 80243180 03E00008 */ jr $ra
/* 1364C4 80243184 A0820000 */ sb $v0, ($a0)

View File

@ -1,50 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80243188
/* 1364C8 80243188 3C028016 */ lui $v0, %hi(gWindows)
/* 1364CC 8024318C 24429D50 */ addiu $v0, $v0, %lo(gWindows)
/* 1364D0 80243190 00042140 */ sll $a0, $a0, 5
/* 1364D4 80243194 00822021 */ addu $a0, $a0, $v0
/* 1364D8 80243198 9083001C */ lbu $v1, 0x1c($a0)
/* 1364DC 8024319C 8FA6001C */ lw $a2, 0x1c($sp)
/* 1364E0 802431A0 14600005 */ bnez $v1, .L802431B8
/* 1364E4 802431A4 28620007 */ slti $v0, $v1, 7
/* 1364E8 802431A8 90820000 */ lbu $v0, ($a0)
/* 1364EC 802431AC 304200FB */ andi $v0, $v0, 0xfb
/* 1364F0 802431B0 A0820000 */ sb $v0, ($a0)
/* 1364F4 802431B4 28620007 */ slti $v0, $v1, 7
.L802431B8:
/* 1364F8 802431B8 10400010 */ beqz $v0, .L802431FC
/* 1364FC 802431BC 00000000 */ nop
/* 136500 802431C0 3C028025 */ lui $v0, %hi(D_8024EFC4)
/* 136504 802431C4 00431021 */ addu $v0, $v0, $v1
/* 136508 802431C8 9042EFC4 */ lbu $v0, %lo(D_8024EFC4)($v0)
/* 13650C 802431CC ACA20000 */ sw $v0, ($a1)
/* 136510 802431D0 00031040 */ sll $v0, $v1, 1
/* 136514 802431D4 3C018025 */ lui $at, %hi(D_8024EFCC)
/* 136518 802431D8 00220821 */ addu $at, $at, $v0
/* 13651C 802431DC 8422EFCC */ lh $v0, %lo(D_8024EFCC)($at)
/* 136520 802431E0 C4C00000 */ lwc1 $f0, ($a2)
/* 136524 802431E4 44821000 */ mtc1 $v0, $f2
/* 136528 802431E8 00000000 */ nop
/* 13652C 802431EC 468010A0 */ cvt.s.w $f2, $f2
/* 136530 802431F0 46020000 */ add.s $f0, $f0, $f2
/* 136534 802431F4 03E00008 */ jr $ra
/* 136538 802431F8 E4C00000 */ swc1 $f0, ($a2)
.L802431FC:
/* 13653C 802431FC 3C028025 */ lui $v0, %hi(D_8024EFC9)
/* 136540 80243200 9042EFC9 */ lbu $v0, %lo(D_8024EFC9)($v0)
/* 136544 80243204 ACA20000 */ sw $v0, ($a1)
/* 136548 80243208 3C028025 */ lui $v0, %hi(D_8024EFD8)
/* 13654C 8024320C 8442EFD8 */ lh $v0, %lo(D_8024EFD8)($v0)
/* 136550 80243210 C4C00000 */ lwc1 $f0, ($a2)
/* 136554 80243214 44821000 */ mtc1 $v0, $f2
/* 136558 80243218 00000000 */ nop
/* 13655C 8024321C 468010A0 */ cvt.s.w $f2, $f2
/* 136560 80243220 46020000 */ add.s $f0, $f0, $f2
/* 136564 80243224 E4C00000 */ swc1 $f0, ($a2)
/* 136568 80243228 90820000 */ lbu $v0, ($a0)
/* 13656C 8024322C 304200F7 */ andi $v0, $v0, 0xf7
/* 136570 80243230 03E00008 */ jr $ra
/* 136574 80243234 A0820000 */ sb $v0, ($a0)

View File

@ -1,50 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80243238
/* 136578 80243238 3C028016 */ lui $v0, %hi(gWindows)
/* 13657C 8024323C 24429D50 */ addiu $v0, $v0, %lo(gWindows)
/* 136580 80243240 00042140 */ sll $a0, $a0, 5
/* 136584 80243244 00822021 */ addu $a0, $a0, $v0
/* 136588 80243248 9083001C */ lbu $v1, 0x1c($a0)
/* 13658C 8024324C 8FA6001C */ lw $a2, 0x1c($sp)
/* 136590 80243250 14600005 */ bnez $v1, .L80243268
/* 136594 80243254 28620007 */ slti $v0, $v1, 7
/* 136598 80243258 90820000 */ lbu $v0, ($a0)
/* 13659C 8024325C 304200FB */ andi $v0, $v0, 0xfb
/* 1365A0 80243260 A0820000 */ sb $v0, ($a0)
/* 1365A4 80243264 28620007 */ slti $v0, $v1, 7
.L80243268:
/* 1365A8 80243268 10400010 */ beqz $v0, .L802432AC
/* 1365AC 8024326C 00000000 */ nop
/* 1365B0 80243270 3C028025 */ lui $v0, %hi(D_8024EFC4)
/* 1365B4 80243274 00431021 */ addu $v0, $v0, $v1
/* 1365B8 80243278 9042EFC4 */ lbu $v0, %lo(D_8024EFC4)($v0)
/* 1365BC 8024327C ACA20000 */ sw $v0, ($a1)
/* 1365C0 80243280 00031040 */ sll $v0, $v1, 1
/* 1365C4 80243284 3C018025 */ lui $at, %hi(D_8024EFD8)
/* 1365C8 80243288 00220821 */ addu $at, $at, $v0
/* 1365CC 8024328C 8422EFD8 */ lh $v0, %lo(D_8024EFD8)($at)
/* 1365D0 80243290 C4C00000 */ lwc1 $f0, ($a2)
/* 1365D4 80243294 44821000 */ mtc1 $v0, $f2
/* 1365D8 80243298 00000000 */ nop
/* 1365DC 8024329C 468010A0 */ cvt.s.w $f2, $f2
/* 1365E0 802432A0 46020000 */ add.s $f0, $f0, $f2
/* 1365E4 802432A4 03E00008 */ jr $ra
/* 1365E8 802432A8 E4C00000 */ swc1 $f0, ($a2)
.L802432AC:
/* 1365EC 802432AC 3C028025 */ lui $v0, %hi(D_8024EFC9)
/* 1365F0 802432B0 9042EFC9 */ lbu $v0, %lo(D_8024EFC9)($v0)
/* 1365F4 802432B4 ACA20000 */ sw $v0, ($a1)
/* 1365F8 802432B8 3C028025 */ lui $v0, %hi(D_8024EFE4)
/* 1365FC 802432BC 8442EFE4 */ lh $v0, %lo(D_8024EFE4)($v0)
/* 136600 802432C0 C4C00000 */ lwc1 $f0, ($a2)
/* 136604 802432C4 44821000 */ mtc1 $v0, $f2
/* 136608 802432C8 00000000 */ nop
/* 13660C 802432CC 468010A0 */ cvt.s.w $f2, $f2
/* 136610 802432D0 46020000 */ add.s $f0, $f0, $f2
/* 136614 802432D4 E4C00000 */ swc1 $f0, ($a2)
/* 136618 802432D8 90820000 */ lbu $v0, ($a0)
/* 13661C 802432DC 304200F7 */ andi $v0, $v0, 0xf7
/* 136620 802432E0 03E00008 */ jr $ra
/* 136624 802432E4 A0820000 */ sb $v0, ($a0)

View File

@ -1,45 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802432E8
/* 136628 802432E8 3C028016 */ lui $v0, %hi(gWindows)
/* 13662C 802432EC 24429D50 */ addiu $v0, $v0, %lo(gWindows)
/* 136630 802432F0 00042140 */ sll $a0, $a0, 5
/* 136634 802432F4 00822021 */ addu $a0, $a0, $v0
/* 136638 802432F8 9083001C */ lbu $v1, 0x1c($a0)
/* 13663C 802432FC 8FA6001C */ lw $a2, 0x1c($sp)
/* 136640 80243300 28620005 */ slti $v0, $v1, 5
/* 136644 80243304 10400010 */ beqz $v0, .L80243348
/* 136648 80243308 00000000 */ nop
/* 13664C 8024330C 3C028025 */ lui $v0, %hi(D_8024EFE4)
/* 136650 80243310 00431021 */ addu $v0, $v0, $v1
/* 136654 80243314 9042EFE4 */ lbu $v0, %lo(D_8024EFE4)($v0)
/* 136658 80243318 ACA20000 */ sw $v0, ($a1)
/* 13665C 8024331C 00031040 */ sll $v0, $v1, 1
/* 136660 80243320 3C018025 */ lui $at, %hi(D_8024F000)
/* 136664 80243324 00220821 */ addu $at, $at, $v0
/* 136668 80243328 8422F000 */ lh $v0, %lo(D_8024F000)($at)
/* 13666C 8024332C C4C00000 */ lwc1 $f0, ($a2)
/* 136670 80243330 44821000 */ mtc1 $v0, $f2
/* 136674 80243334 00000000 */ nop
/* 136678 80243338 468010A0 */ cvt.s.w $f2, $f2
/* 13667C 8024333C 46020000 */ add.s $f0, $f0, $f2
/* 136680 80243340 03E00008 */ jr $ra
/* 136684 80243344 E4C00000 */ swc1 $f0, ($a2)
.L80243348:
/* 136688 80243348 3C028025 */ lui $v0, %hi(D_8024EFE8)
/* 13668C 8024334C 9042EFE8 */ lbu $v0, %lo(D_8024EFE8)($v0)
/* 136690 80243350 ACA20000 */ sw $v0, ($a1)
/* 136694 80243354 3C028025 */ lui $v0, %hi(D_8024F008)
/* 136698 80243358 8442F008 */ lh $v0, %lo(D_8024F008)($v0)
/* 13669C 8024335C C4C00000 */ lwc1 $f0, ($a2)
/* 1366A0 80243360 44821000 */ mtc1 $v0, $f2
/* 1366A4 80243364 00000000 */ nop
/* 1366A8 80243368 468010A0 */ cvt.s.w $f2, $f2
/* 1366AC 8024336C 46020000 */ add.s $f0, $f0, $f2
/* 1366B0 80243370 E4C00000 */ swc1 $f0, ($a2)
/* 1366B4 80243374 90820000 */ lbu $v0, ($a0)
/* 1366B8 80243378 304200F7 */ andi $v0, $v0, 0xf7
/* 1366BC 8024337C 34420004 */ ori $v0, $v0, 4
/* 1366C0 80243380 03E00008 */ jr $ra
/* 1366C4 80243384 A0820000 */ sb $v0, ($a0)

View File

@ -1,41 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80243388
/* 1366C8 80243388 3C028016 */ lui $v0, %hi(gWindows)
/* 1366CC 8024338C 24429D50 */ addiu $v0, $v0, %lo(gWindows)
/* 1366D0 80243390 00042140 */ sll $a0, $a0, 5
/* 1366D4 80243394 00822021 */ addu $a0, $a0, $v0
/* 1366D8 80243398 9083001C */ lbu $v1, 0x1c($a0)
/* 1366DC 8024339C 8FA6001C */ lw $a2, 0x1c($sp)
/* 1366E0 802433A0 28620005 */ slti $v0, $v1, 5
/* 1366E4 802433A4 1040000E */ beqz $v0, .L802433E0
/* 1366E8 802433A8 00000000 */ nop
/* 1366EC 802433AC 3C028025 */ lui $v0, %hi(D_8024EFE4)
/* 1366F0 802433B0 00431021 */ addu $v0, $v0, $v1
/* 1366F4 802433B4 9042EFE4 */ lbu $v0, %lo(D_8024EFE4)($v0)
/* 1366F8 802433B8 ACA20000 */ sw $v0, ($a1)
/* 1366FC 802433BC 00031040 */ sll $v0, $v1, 1
/* 136700 802433C0 3C018025 */ lui $at, %hi(D_8024F00C)
/* 136704 802433C4 00220821 */ addu $at, $at, $v0
/* 136708 802433C8 8422F00C */ lh $v0, %lo(D_8024F00C)($at)
/* 13670C 802433CC 44820000 */ mtc1 $v0, $f0
/* 136710 802433D0 00000000 */ nop
/* 136714 802433D4 46800020 */ cvt.s.w $f0, $f0
/* 136718 802433D8 03E00008 */ jr $ra
/* 13671C 802433DC E4C00000 */ swc1 $f0, ($a2)
.L802433E0:
/* 136720 802433E0 3C028025 */ lui $v0, %hi(D_8024EFE8)
/* 136724 802433E4 9042EFE8 */ lbu $v0, %lo(D_8024EFE8)($v0)
/* 136728 802433E8 ACA20000 */ sw $v0, ($a1)
/* 13672C 802433EC 3C028025 */ lui $v0, %hi(D_8024F014)
/* 136730 802433F0 8442F014 */ lh $v0, %lo(D_8024F014)($v0)
/* 136734 802433F4 44820000 */ mtc1 $v0, $f0
/* 136738 802433F8 00000000 */ nop
/* 13673C 802433FC 46800020 */ cvt.s.w $f0, $f0
/* 136740 80243400 E4C00000 */ swc1 $f0, ($a2)
/* 136744 80243404 90820000 */ lbu $v0, ($a0)
/* 136748 80243408 304200F7 */ andi $v0, $v0, 0xf7
/* 13674C 8024340C 34420004 */ ori $v0, $v0, 4
/* 136750 80243410 03E00008 */ jr $ra
/* 136754 80243414 A0820000 */ sb $v0, ($a0)

View File

@ -1,69 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel pause_cleanup
/* 137A48 80244708 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 137A4C 8024470C AFB00010 */ sw $s0, 0x10($sp)
/* 137A50 80244710 0000802D */ daddu $s0, $zero, $zero
/* 137A54 80244714 AFB10014 */ sw $s1, 0x14($sp)
/* 137A58 80244718 3C118027 */ lui $s1, %hi(gPauseMenuCommonIconIDs)
/* 137A5C 8024471C 263100E8 */ addiu $s1, $s1, %lo(gPauseMenuCommonIconIDs)
/* 137A60 80244720 AFBF0018 */ sw $ra, 0x18($sp)
.L80244724:
/* 137A64 80244724 8E240000 */ lw $a0, ($s1)
/* 137A68 80244728 26310004 */ addiu $s1, $s1, 4
/* 137A6C 8024472C 0C05123D */ jal free_hud_element
/* 137A70 80244730 26100001 */ addiu $s0, $s0, 1
/* 137A74 80244734 2A020008 */ slti $v0, $s0, 8
/* 137A78 80244738 1440FFFA */ bnez $v0, .L80244724
/* 137A7C 8024473C 0000202D */ daddu $a0, $zero, $zero
/* 137A80 80244740 3C05F840 */ lui $a1, 0xf840
/* 137A84 80244744 0C0B1EAF */ jal evt_get_variable
/* 137A88 80244748 34A55BDE */ ori $a1, $a1, 0x5bde
/* 137A8C 8024474C 1040000A */ beqz $v0, .L80244778
/* 137A90 80244750 0000802D */ daddu $s0, $zero, $zero
/* 137A94 80244754 3C118027 */ lui $s1, %hi(D_8027011C)
/* 137A98 80244758 2631011C */ addiu $s1, $s1, %lo(D_8027011C)
.L8024475C:
/* 137A9C 8024475C 8E240000 */ lw $a0, ($s1)
/* 137AA0 80244760 26310004 */ addiu $s1, $s1, 4
/* 137AA4 80244764 0C0B797A */ jal spr_free_sprite
/* 137AA8 80244768 26100001 */ addiu $s0, $s0, 1
/* 137AAC 8024476C 2A020003 */ slti $v0, $s0, 3
/* 137AB0 80244770 1440FFFA */ bnez $v0, .L8024475C
/* 137AB4 80244774 00000000 */ nop
.L80244778:
/* 137AB8 80244778 3C118025 */ lui $s1, %hi(gPauseMenuPanels)
/* 137ABC 8024477C 2631EF80 */ addiu $s1, $s1, %lo(gPauseMenuPanels)
/* 137AC0 80244780 0000802D */ daddu $s0, $zero, $zero
.L80244784:
/* 137AC4 80244784 8E240000 */ lw $a0, ($s1)
/* 137AC8 80244788 90820000 */ lbu $v0, ($a0)
/* 137ACC 8024478C 10400006 */ beqz $v0, .L802447A8
/* 137AD0 80244790 26100001 */ addiu $s0, $s0, 1
/* 137AD4 80244794 8C820018 */ lw $v0, 0x18($a0)
/* 137AD8 80244798 10400003 */ beqz $v0, .L802447A8
/* 137ADC 8024479C 00000000 */ nop
/* 137AE0 802447A0 0040F809 */ jalr $v0
/* 137AE4 802447A4 00000000 */ nop
.L802447A8:
/* 137AE8 802447A8 2A020007 */ slti $v0, $s0, 7
/* 137AEC 802447AC 1440FFF5 */ bnez $v0, .L80244784
/* 137AF0 802447B0 26310004 */ addiu $s1, $s1, 4
/* 137AF4 802447B4 24100016 */ addiu $s0, $zero, 0x16
/* 137AF8 802447B8 0200202D */ daddu $a0, $s0, $zero
.L802447BC:
/* 137AFC 802447BC 0C051F9F */ jal set_window_update
/* 137B00 802447C0 24050002 */ addiu $a1, $zero, 2
/* 137B04 802447C4 26100001 */ addiu $s0, $s0, 1
/* 137B08 802447C8 2A02002C */ slti $v0, $s0, 0x2c
/* 137B0C 802447CC 1440FFFB */ bnez $v0, .L802447BC
/* 137B10 802447D0 0200202D */ daddu $a0, $s0, $zero
/* 137B14 802447D4 2404002C */ addiu $a0, $zero, 0x2c
/* 137B18 802447D8 0C051F9F */ jal set_window_update
/* 137B1C 802447DC 24050002 */ addiu $a1, $zero, 2
/* 137B20 802447E0 8FBF0018 */ lw $ra, 0x18($sp)
/* 137B24 802447E4 8FB10014 */ lw $s1, 0x14($sp)
/* 137B28 802447E8 8FB00010 */ lw $s0, 0x10($sp)
/* 137B2C 802447EC 03E00008 */ jr $ra
/* 137B30 802447F0 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,204 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel pause_handle_input
/* 137764 80244424 27BDFFB0 */ addiu $sp, $sp, -0x50
/* 137768 80244428 AFB50044 */ sw $s5, 0x44($sp)
/* 13776C 8024442C 0080A82D */ daddu $s5, $a0, $zero
/* 137770 80244430 AFB60048 */ sw $s6, 0x48($sp)
/* 137774 80244434 00A0B02D */ daddu $s6, $a1, $zero
/* 137778 80244438 0000202D */ daddu $a0, $zero, $zero
/* 13777C 8024443C 3C028027 */ lui $v0, %hi(gPauseMenuCurrentTab)
/* 137780 80244440 804200D4 */ lb $v0, %lo(gPauseMenuCurrentTab)($v0)
/* 137784 80244444 3C05F840 */ lui $a1, 0xf840
/* 137788 80244448 AFB3003C */ sw $s3, 0x3c($sp)
/* 13778C 8024444C 3C138027 */ lui $s3, %hi(gPauseMenuCurrentDescMsg)
/* 137790 80244450 8E7300C8 */ lw $s3, %lo(gPauseMenuCurrentDescMsg)($s3)
/* 137794 80244454 AFBF004C */ sw $ra, 0x4c($sp)
/* 137798 80244458 AFB40040 */ sw $s4, 0x40($sp)
/* 13779C 8024445C AFB20038 */ sw $s2, 0x38($sp)
/* 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, %hi(gPauseMenuPanels)
/* 1377B0 80244470 0282A021 */ addu $s4, $s4, $v0
/* 1377B4 80244474 8E94EF80 */ lw $s4, %lo(gPauseMenuPanels)($s4)
/* 1377B8 80244478 0C0B1EAF */ jal evt_get_variable
/* 1377BC 8024447C 34A55BDE */ ori $a1, $a1, 0x5bde
/* 1377C0 80244480 1040000F */ beqz $v0, .L802444C0
/* 1377C4 80244484 0000802D */ daddu $s0, $zero, $zero
/* 1377C8 80244488 3C128027 */ lui $s2, %hi(D_8027011C)
/* 1377CC 8024448C 2652011C */ addiu $s2, $s2, %lo(D_8027011C)
/* 1377D0 80244490 3C118025 */ lui $s1, %hi(D_8024F0CC)
/* 1377D4 80244494 2631F0CC */ addiu $s1, $s1, %lo(D_8024F0CC)
.L80244498:
/* 1377D8 80244498 8E440000 */ lw $a0, ($s2)
/* 1377DC 8024449C 26520004 */ addiu $s2, $s2, 4
/* 1377E0 802444A0 8E250004 */ lw $a1, 4($s1)
/* 1377E4 802444A4 26310010 */ addiu $s1, $s1, 0x10
/* 1377E8 802444A8 3C063F80 */ lui $a2, 0x3f80
/* 1377EC 802444AC 0C0B78AB */ jal spr_update_sprite
/* 1377F0 802444B0 26100001 */ addiu $s0, $s0, 1
/* 1377F4 802444B4 2A020003 */ slti $v0, $s0, 3
/* 1377F8 802444B8 1440FFF7 */ bnez $v0, .L80244498
/* 1377FC 802444BC 00000000 */ nop
.L802444C0:
/* 137800 802444C0 0000202D */ daddu $a0, $zero, $zero
/* 137804 802444C4 3C05F840 */ lui $a1, 0xf840
/* 137808 802444C8 34A55BDE */ ori $a1, $a1, 0x5bde
/* 13780C 802444CC 3C108027 */ lui $s0, %hi(gPauseMenuPressedButtons)
/* 137810 802444D0 261000C4 */ addiu $s0, $s0, %lo(gPauseMenuPressedButtons)
/* 137814 802444D4 3C118027 */ lui $s1, %hi(gPauseMenuHeldButtons)
/* 137818 802444D8 263100C0 */ addiu $s1, $s1, %lo(gPauseMenuHeldButtons)
/* 13781C 802444DC AE150000 */ sw $s5, ($s0)
/* 137820 802444E0 0C0B1EAF */ jal evt_get_variable
/* 137824 802444E4 AE360000 */ sw $s6, ($s1)
/* 137828 802444E8 10400003 */ beqz $v0, .L802444F8
/* 13782C 802444EC 0200202D */ daddu $a0, $s0, $zero
/* 137830 802444F0 0C0910A8 */ jal pause_tutorial_input
/* 137834 802444F4 0220282D */ daddu $a1, $s1, $zero
.L802444F8:
/* 137838 802444F8 8E040000 */ lw $a0, ($s0)
/* 13783C 802444FC 30821000 */ andi $v0, $a0, 0x1000
/* 137840 80244500 14400007 */ bnez $v0, .L80244520
/* 137844 80244504 00000000 */ nop
/* 137848 80244508 3C028027 */ lui $v0, %hi(gPauseMenuCurrentTab)
/* 13784C 8024450C 804200D4 */ lb $v0, %lo(gPauseMenuCurrentTab)($v0)
/* 137850 80244510 1440000B */ bnez $v0, .L80244540
/* 137854 80244514 30824000 */ andi $v0, $a0, 0x4000
/* 137858 80244518 10400009 */ beqz $v0, .L80244540
/* 13785C 8024451C 00000000 */ nop
.L80244520:
/* 137860 80244520 0C039E1B */ jal enforce_hpfp_limits
/* 137864 80244524 00000000 */ nop
/* 137868 80244528 0C05272D */ jal sfx_play_sound
/* 13786C 8024452C 240400C6 */ addiu $a0, $zero, 0xc6
/* 137870 80244530 0C00CD3C */ jal set_game_mode
/* 137874 80244534 2404000B */ addiu $a0, $zero, 0xb
/* 137878 80244538 080911B8 */ j .L802446E0
/* 13787C 8024453C 00000000 */ nop
.L80244540:
/* 137880 80244540 3C048027 */ lui $a0, %hi(D_80270118)
/* 137884 80244544 24840118 */ addiu $a0, $a0, %lo(D_80270118)
/* 137888 80244548 3C038027 */ lui $v1, %hi(gPauseMenuCurrentDescIconScript)
/* 13788C 8024454C 8C6300CC */ lw $v1, %lo(gPauseMenuCurrentDescIconScript)($v1)
/* 137890 80244550 8C820000 */ lw $v0, ($a0)
/* 137894 80244554 54620001 */ bnel $v1, $v0, .L8024455C
/* 137898 80244558 AC830000 */ sw $v1, ($a0)
.L8024455C:
/* 13789C 8024455C 3C038027 */ lui $v1, %hi(D_80270108)
/* 1378A0 80244560 24630108 */ addiu $v1, $v1, %lo(D_80270108)
/* 1378A4 80244564 8C620000 */ lw $v0, ($v1)
/* 1378A8 80244568 12620020 */ beq $s3, $v0, .L802445EC
/* 1378AC 8024456C 00000000 */ nop
/* 1378B0 80244570 AC730000 */ sw $s3, ($v1)
/* 1378B4 80244574 3C018027 */ lui $at, %hi(D_80270110)
/* 1378B8 80244578 AC200110 */ sw $zero, %lo(D_80270110)($at)
/* 1378BC 8024457C 3C018027 */ lui $at, %hi(D_80270114)
/* 1378C0 80244580 AC200114 */ sw $zero, %lo(D_80270114)($at)
/* 1378C4 80244584 12600017 */ beqz $s3, .L802445E4
/* 1378C8 80244588 0260202D */ daddu $a0, $s3, $zero
/* 1378CC 8024458C 27A50020 */ addiu $a1, $sp, 0x20
/* 1378D0 80244590 27A60024 */ addiu $a2, $sp, 0x24
/* 1378D4 80244594 27A2002C */ addiu $v0, $sp, 0x2c
/* 1378D8 80244598 27A70028 */ addiu $a3, $sp, 0x28
/* 1378DC 8024459C AFA20010 */ sw $v0, 0x10($sp)
/* 1378E0 802445A0 AFA00014 */ sw $zero, 0x14($sp)
/* 1378E4 802445A4 AFA00018 */ sw $zero, 0x18($sp)
/* 1378E8 802445A8 0C0497DA */ jal get_msg_properties
/* 1378EC 802445AC AFA0001C */ sw $zero, 0x1c($sp)
/* 1378F0 802445B0 8FA3002C */ lw $v1, 0x2c($sp)
/* 1378F4 802445B4 30620001 */ andi $v0, $v1, 1
/* 1378F8 802445B8 10400002 */ beqz $v0, .L802445C4
/* 1378FC 802445BC 24620001 */ addiu $v0, $v1, 1
/* 137900 802445C0 AFA2002C */ sw $v0, 0x2c($sp)
.L802445C4:
/* 137904 802445C4 8FA2002C */ lw $v0, 0x2c($sp)
/* 137908 802445C8 3C038027 */ lui $v1, %hi(D_8027010C)
/* 13790C 802445CC 2463010C */ addiu $v1, $v1, %lo(D_8027010C)
/* 137910 802445D0 2442FFFE */ addiu $v0, $v0, -2
/* 137914 802445D4 04410005 */ bgez $v0, .L802445EC
/* 137918 802445D8 AC620000 */ sw $v0, ($v1)
/* 13791C 802445DC 0809117B */ j .L802445EC
/* 137920 802445E0 AC600000 */ sw $zero, ($v1)
.L802445E4:
/* 137924 802445E4 3C018027 */ lui $at, %hi(D_8027010C)
/* 137928 802445E8 AC20010C */ sw $zero, %lo(D_8027010C)($at)
.L802445EC:
/* 13792C 802445EC 3C028027 */ lui $v0, %hi(gPauseMenuHeldButtons)
/* 137930 802445F0 8C4200C0 */ lw $v0, %lo(gPauseMenuHeldButtons)($v0)
/* 137934 802445F4 30420008 */ andi $v0, $v0, 8
/* 137938 802445F8 10400008 */ beqz $v0, .L8024461C
/* 13793C 802445FC 00000000 */ nop
/* 137940 80244600 3C038027 */ lui $v1, %hi(D_80270110)
/* 137944 80244604 24630110 */ addiu $v1, $v1, %lo(D_80270110)
/* 137948 80244608 8C620000 */ lw $v0, ($v1)
/* 13794C 8024460C 2442FFFE */ addiu $v0, $v0, -2
/* 137950 80244610 04410002 */ bgez $v0, .L8024461C
/* 137954 80244614 AC620000 */ sw $v0, ($v1)
/* 137958 80244618 AC600000 */ sw $zero, ($v1)
.L8024461C:
/* 13795C 8024461C 3C028027 */ lui $v0, %hi(gPauseMenuHeldButtons)
/* 137960 80244620 8C4200C0 */ lw $v0, %lo(gPauseMenuHeldButtons)($v0)
/* 137964 80244624 30420004 */ andi $v0, $v0, 4
/* 137968 80244628 1040000B */ beqz $v0, .L80244658
/* 13796C 8024462C 00000000 */ nop
/* 137970 80244630 3C038027 */ lui $v1, %hi(D_80270110)
/* 137974 80244634 24630110 */ addiu $v1, $v1, %lo(D_80270110)
/* 137978 80244638 8C620000 */ lw $v0, ($v1)
/* 13797C 8024463C 3C048027 */ lui $a0, %hi(D_8027010C)
/* 137980 80244640 8C84010C */ lw $a0, %lo(D_8027010C)($a0)
/* 137984 80244644 24420002 */ addiu $v0, $v0, 2
/* 137988 80244648 AC620000 */ sw $v0, ($v1)
/* 13798C 8024464C 0082102A */ slt $v0, $a0, $v0
/* 137990 80244650 54400001 */ bnel $v0, $zero, .L80244658
/* 137994 80244654 AC640000 */ sw $a0, ($v1)
.L80244658:
/* 137998 80244658 3C108027 */ lui $s0, %hi(D_80270114)
/* 13799C 8024465C 26100114 */ addiu $s0, $s0, %lo(D_80270114)
/* 1379A0 80244660 3C048027 */ lui $a0, %hi(D_80270110)
/* 1379A4 80244664 8C840110 */ lw $a0, %lo(D_80270110)($a0)
/* 1379A8 80244668 8E020000 */ lw $v0, ($s0)
/* 1379AC 8024466C 00042100 */ sll $a0, $a0, 4
/* 1379B0 80244670 0C090D06 */ jal pause_interp_text_scroll
/* 1379B4 80244674 00822023 */ subu $a0, $a0, $v0
/* 1379B8 80244678 8E030000 */ lw $v1, ($s0)
/* 1379BC 8024467C 00621821 */ addu $v1, $v1, $v0
/* 1379C0 80244680 AE030000 */ sw $v1, ($s0)
/* 1379C4 80244684 92820000 */ lbu $v0, ($s4)
/* 1379C8 80244688 10400006 */ beqz $v0, .L802446A4
/* 1379CC 8024468C 00000000 */ nop
/* 1379D0 80244690 8E820010 */ lw $v0, 0x10($s4)
/* 1379D4 80244694 10400003 */ beqz $v0, .L802446A4
/* 1379D8 80244698 00000000 */ nop
/* 1379DC 8024469C 0040F809 */ jalr $v0
/* 1379E0 802446A0 0280202D */ daddu $a0, $s4, $zero
.L802446A4:
/* 1379E4 802446A4 3C118025 */ lui $s1, %hi(gPauseMenuPanels)
/* 1379E8 802446A8 2631EF80 */ addiu $s1, $s1, %lo(gPauseMenuPanels)
/* 1379EC 802446AC 0000802D */ daddu $s0, $zero, $zero
.L802446B0:
/* 1379F0 802446B0 8E240000 */ lw $a0, ($s1)
/* 1379F4 802446B4 90820000 */ lbu $v0, ($a0)
/* 1379F8 802446B8 10400006 */ beqz $v0, .L802446D4
/* 1379FC 802446BC 26100001 */ addiu $s0, $s0, 1
/* 137A00 802446C0 8C820014 */ lw $v0, 0x14($a0)
/* 137A04 802446C4 10400003 */ beqz $v0, .L802446D4
/* 137A08 802446C8 00000000 */ nop
/* 137A0C 802446CC 0040F809 */ jalr $v0
/* 137A10 802446D0 00000000 */ nop
.L802446D4:
/* 137A14 802446D4 2A020007 */ slti $v0, $s0, 7
/* 137A18 802446D8 1440FFF5 */ bnez $v0, .L802446B0
/* 137A1C 802446DC 26310004 */ addiu $s1, $s1, 4
.L802446E0:
/* 137A20 802446E0 8FBF004C */ lw $ra, 0x4c($sp)
/* 137A24 802446E4 8FB60048 */ lw $s6, 0x48($sp)
/* 137A28 802446E8 8FB50044 */ lw $s5, 0x44($sp)
/* 137A2C 802446EC 8FB40040 */ lw $s4, 0x40($sp)
/* 137A30 802446F0 8FB3003C */ lw $s3, 0x3c($sp)
/* 137A34 802446F4 8FB20038 */ lw $s2, 0x38($sp)
/* 137A38 802446F8 8FB10034 */ lw $s1, 0x34($sp)
/* 137A3C 802446FC 8FB00030 */ lw $s0, 0x30($sp)
/* 137A40 80244700 03E00008 */ jr $ra
/* 137A44 80244704 27BD0050 */ addiu $sp, $sp, 0x50

View File

@ -1,157 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel pause_init
/* 1373A0 80244060 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 1373A4 80244064 3C040013 */ lui $a0, 0x13
/* 1373A8 80244068 24841340 */ addiu $a0, $a0, 0x1340
/* 1373AC 8024406C 3C050013 */ lui $a1, 0x13
/* 1373B0 80244070 24A55EE0 */ addiu $a1, $a1, 0x5ee0
/* 1373B4 80244074 3C068024 */ lui $a2, %hi(get_dpad_input_radial)
/* 1373B8 80244078 24C6E000 */ addiu $a2, $a2, %lo(get_dpad_input_radial)
/* 1373BC 8024407C AFBF0028 */ sw $ra, 0x28($sp)
/* 1373C0 80244080 AFB50024 */ sw $s5, 0x24($sp)
/* 1373C4 80244084 AFB40020 */ sw $s4, 0x20($sp)
/* 1373C8 80244088 AFB3001C */ sw $s3, 0x1c($sp)
/* 1373CC 8024408C AFB20018 */ sw $s2, 0x18($sp)
/* 1373D0 80244090 AFB10014 */ sw $s1, 0x14($sp)
/* 1373D4 80244094 0C00A5CF */ jal dma_copy
/* 1373D8 80244098 AFB00010 */ sw $s0, 0x10($sp)
/* 1373DC 8024409C 0000882D */ daddu $s1, $zero, $zero
/* 1373E0 802440A0 3C138024 */ lui $s3, %hi(D_80241ECC)
/* 1373E4 802440A4 26731ECC */ addiu $s3, $s3, %lo(D_80241ECC)
/* 1373E8 802440A8 3C108025 */ lui $s0, %hi(gPauseMenuIconScripts)
/* 1373EC 802440AC 2610EF60 */ addiu $s0, $s0, %lo(gPauseMenuIconScripts)
/* 1373F0 802440B0 3C128027 */ lui $s2, %hi(gPauseMenuCommonIconIDs)
/* 1373F4 802440B4 265200E8 */ addiu $s2, $s2, %lo(gPauseMenuCommonIconIDs)
.L802440B8:
/* 1373F8 802440B8 0C050529 */ jal create_hud_element
/* 1373FC 802440BC 8E040000 */ lw $a0, ($s0)
/* 137400 802440C0 0040202D */ daddu $a0, $v0, $zero
/* 137404 802440C4 AE440000 */ sw $a0, ($s2)
/* 137408 802440C8 8E020000 */ lw $v0, ($s0)
/* 13740C 802440CC 54530003 */ bnel $v0, $s3, .L802440DC
/* 137410 802440D0 24050080 */ addiu $a1, $zero, 0x80
/* 137414 802440D4 3C052000 */ lui $a1, 0x2000
/* 137418 802440D8 34A50080 */ ori $a1, $a1, 0x80
.L802440DC:
/* 13741C 802440DC 0C051280 */ jal set_hud_element_flags
/* 137420 802440E0 26100004 */ addiu $s0, $s0, 4
/* 137424 802440E4 26310001 */ addiu $s1, $s1, 1
/* 137428 802440E8 2A220008 */ slti $v0, $s1, 8
/* 13742C 802440EC 1440FFF2 */ bnez $v0, .L802440B8
/* 137430 802440F0 26520004 */ addiu $s2, $s2, 4
/* 137434 802440F4 3C048025 */ lui $a0, %hi(D_8024F114)
/* 137438 802440F8 2484F114 */ addiu $a0, $a0, %lo(D_8024F114)
/* 13743C 802440FC 24050004 */ addiu $a1, $zero, 4
/* 137440 80244100 3C108025 */ lui $s0, %hi(gPauseMenuPanels)
/* 137444 80244104 2610EF80 */ addiu $s0, $s0, %lo(gPauseMenuPanels)
/* 137448 80244108 3C028027 */ lui $v0, %hi(gPauseMenuCommonIconIDs)
/* 13744C 8024410C 8C4200E8 */ lw $v0, %lo(gPauseMenuCommonIconIDs)($v0)
/* 137450 80244110 3C018027 */ lui $at, %hi(D_802700D0)
/* 137454 80244114 AC2200D0 */ sw $v0, %lo(D_802700D0)($at)
/* 137458 80244118 0C051FCC */ jal setup_pause_menu_tab
/* 13745C 8024411C 0000882D */ daddu $s1, $zero, $zero
/* 137460 80244120 3C018027 */ lui $at, %hi(D_80270108)
/* 137464 80244124 AC200108 */ sw $zero, %lo(D_80270108)($at)
/* 137468 80244128 3C018027 */ lui $at, %hi(D_80270110)
/* 13746C 8024412C AC200110 */ sw $zero, %lo(D_80270110)($at)
/* 137470 80244130 3C018027 */ lui $at, %hi(D_80270114)
/* 137474 80244134 AC200114 */ sw $zero, %lo(D_80270114)($at)
/* 137478 80244138 3C018027 */ lui $at, %hi(D_8027010C)
/* 13747C 8024413C AC20010C */ sw $zero, %lo(D_8027010C)($at)
/* 137480 80244140 3C018027 */ lui $at, %hi(D_80270118)
/* 137484 80244144 AC200118 */ sw $zero, %lo(D_80270118)($at)
/* 137488 80244148 3C018027 */ lui $at, %hi(gPauseMenuCurrentDescMsg)
/* 13748C 8024414C AC2000C8 */ sw $zero, %lo(gPauseMenuCurrentDescMsg)($at)
/* 137490 80244150 3C018027 */ lui $at, %hi(gPauseMenuCurrentDescIconScript)
/* 137494 80244154 AC2000CC */ sw $zero, %lo(gPauseMenuCurrentDescIconScript)($at)
/* 137498 80244158 3C018027 */ lui $at, %hi(gPauseMenuCurrentTab)
/* 13749C 8024415C A02000D4 */ sb $zero, %lo(gPauseMenuCurrentTab)($at)
.L80244160:
/* 1374A0 80244160 8E040000 */ lw $a0, ($s0)
/* 1374A4 80244164 8C82000C */ lw $v0, 0xc($a0)
/* 1374A8 80244168 10400003 */ beqz $v0, .L80244178
/* 1374AC 8024416C 26310001 */ addiu $s1, $s1, 1
/* 1374B0 80244170 0040F809 */ jalr $v0
/* 1374B4 80244174 00000000 */ nop
.L80244178:
/* 1374B8 80244178 2A220007 */ slti $v0, $s1, 7
/* 1374BC 8024417C 1440FFF8 */ bnez $v0, .L80244160
/* 1374C0 80244180 26100004 */ addiu $s0, $s0, 4
/* 1374C4 80244184 241400E1 */ addiu $s4, $zero, 0xe1
/* 1374C8 80244188 24110006 */ addiu $s1, $zero, 6
/* 1374CC 8024418C 3C158016 */ lui $s5, %hi(gWindows)
/* 1374D0 80244190 26B59D50 */ addiu $s5, $s5, %lo(gWindows)
/* 1374D4 80244194 241303C0 */ addiu $s3, $zero, 0x3c0
/* 1374D8 80244198 2412001E */ addiu $s2, $zero, 0x1e
/* 1374DC 8024419C 3C108025 */ lui $s0, %hi(D_8024EF98)
/* 1374E0 802441A0 2610EF98 */ addiu $s0, $s0, %lo(D_8024EF98)
.L802441A4:
/* 1374E4 802441A4 8E020000 */ lw $v0, ($s0)
/* 1374E8 802441A8 90420000 */ lbu $v0, ($v0)
/* 1374EC 802441AC 14400006 */ bnez $v0, .L802441C8
/* 1374F0 802441B0 02751821 */ addu $v1, $s3, $s5
/* 1374F4 802441B4 0240202D */ daddu $a0, $s2, $zero
/* 1374F8 802441B8 0C051F9F */ jal set_window_update
/* 1374FC 802441BC 24050002 */ addiu $a1, $zero, 2
/* 137500 802441C0 08091076 */ j .L802441D8
/* 137504 802441C4 2673FFE0 */ addiu $s3, $s3, -0x20
.L802441C8:
/* 137508 802441C8 2682000E */ addiu $v0, $s4, 0xe
/* 13750C 802441CC A462000C */ sh $v0, 0xc($v1)
/* 137510 802441D0 2694FFD3 */ addiu $s4, $s4, -0x2d
/* 137514 802441D4 2673FFE0 */ addiu $s3, $s3, -0x20
.L802441D8:
/* 137518 802441D8 2652FFFF */ addiu $s2, $s2, -1
/* 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, %hi(gPauseMenuPanels)
/* 13752C 802441EC 8C42EF80 */ lw $v0, %lo(gPauseMenuPanels)($v0)
/* 137530 802441F0 0000202D */ daddu $a0, $zero, $zero
/* 137534 802441F4 80420001 */ lb $v0, 1($v0)
/* 137538 802441F8 3C05F840 */ lui $a1, 0xf840
/* 13753C 802441FC 00021140 */ sll $v0, $v0, 5
/* 137540 80244200 3C018016 */ lui $at, %hi(D_8015A07C)
/* 137544 80244204 00220821 */ addu $at, $at, $v0
/* 137548 80244208 8422A07C */ lh $v0, %lo(D_8015A07C)($at)
/* 13754C 8024420C 24420006 */ addiu $v0, $v0, 6
/* 137550 80244210 3C018016 */ lui $at, %hi(D_8015A2BC)
/* 137554 80244214 A422A2BC */ sh $v0, %lo(D_8015A2BC)($at)
/* 137558 80244218 0C0B1EAF */ jal evt_get_variable
/* 13755C 8024421C 34A55BDE */ ori $a1, $a1, 0x5bde
/* 137560 80244220 10400013 */ beqz $v0, .L80244270
/* 137564 80244224 0000882D */ daddu $s1, $zero, $zero
/* 137568 80244228 3C128027 */ lui $s2, %hi(D_8027011C)
/* 13756C 8024422C 2652011C */ addiu $s2, $s2, %lo(D_8027011C)
/* 137570 80244230 3C108025 */ lui $s0, %hi(D_8024F0CC)
/* 137574 80244234 2610F0CC */ addiu $s0, $s0, %lo(D_8024F0CC)
.L80244238:
/* 137578 80244238 0200282D */ daddu $a1, $s0, $zero
/* 13757C 8024423C 8E040000 */ lw $a0, ($s0)
/* 137580 80244240 26100010 */ addiu $s0, $s0, 0x10
/* 137584 80244244 0C0B783B */ jal spr_load_npc_sprite
/* 137588 80244248 26310001 */ addiu $s1, $s1, 1
/* 13758C 8024424C AE420000 */ sw $v0, ($s2)
/* 137590 80244250 2A220003 */ slti $v0, $s1, 3
/* 137594 80244254 1440FFF8 */ bnez $v0, .L80244238
/* 137598 80244258 26520004 */ addiu $s2, $s2, 4
/* 13759C 8024425C 24040018 */ addiu $a0, $zero, 0x18
/* 1375A0 80244260 0C051F9F */ jal set_window_update
/* 1375A4 80244264 24050001 */ addiu $a1, $zero, 1
/* 1375A8 80244268 0C05272D */ jal sfx_play_sound
/* 1375AC 8024426C 24040009 */ addiu $a0, $zero, 9
.L80244270:
/* 1375B0 80244270 2404002C */ addiu $a0, $zero, 0x2c
/* 1375B4 80244274 0C051F5C */ jal update_window_hierarchy
/* 1375B8 80244278 24050040 */ addiu $a1, $zero, 0x40
/* 1375BC 8024427C 8FBF0028 */ lw $ra, 0x28($sp)
/* 1375C0 80244280 8FB50024 */ lw $s5, 0x24($sp)
/* 1375C4 80244284 8FB40020 */ lw $s4, 0x20($sp)
/* 1375C8 80244288 8FB3001C */ lw $s3, 0x1c($sp)
/* 1375CC 8024428C 8FB20018 */ lw $s2, 0x18($sp)
/* 1375D0 80244290 8FB10014 */ lw $s1, 0x14($sp)
/* 1375D4 80244294 8FB00010 */ lw $s0, 0x10($sp)
/* 1375D8 80244298 03E00008 */ jr $ra
/* 1375DC 8024429C 27BD0030 */ addiu $sp, $sp, 0x30

View File

@ -1,82 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel pause_interp_cursor
/* 1361AC 80242E6C 3C0A8025 */ lui $t2, %hi(gPauseMenuCursorPosX)
/* 1361B0 80242E70 254AEF9C */ addiu $t2, $t2, %lo(gPauseMenuCursorPosX)
/* 1361B4 80242E74 3C058025 */ lui $a1, %hi(gPauseMenuTargetPosX)
/* 1361B8 80242E78 8CA5EFA8 */ lw $a1, %lo(gPauseMenuTargetPosX)($a1)
/* 1361BC 80242E7C 8D430000 */ lw $v1, ($t2)
/* 1361C0 80242E80 3C013FE0 */ lui $at, 0x3fe0
/* 1361C4 80242E84 44812800 */ mtc1 $at, $f5
/* 1361C8 80242E88 44802000 */ mtc1 $zero, $f4
/* 1361CC 80242E8C 00A31023 */ subu $v0, $a1, $v1
/* 1361D0 80242E90 44821000 */ mtc1 $v0, $f2
/* 1361D4 80242E94 00000000 */ nop
/* 1361D8 80242E98 468010A1 */ cvt.d.w $f2, $f2
/* 1361DC 80242E9C 46241082 */ mul.d $f2, $f2, $f4
/* 1361E0 80242EA0 00000000 */ nop
/* 1361E4 80242EA4 3C098025 */ lui $t1, %hi(gPauseMenuCursorPosY)
/* 1361E8 80242EA8 2529EFA0 */ addiu $t1, $t1, %lo(gPauseMenuCursorPosY)
/* 1361EC 80242EAC 3C048025 */ lui $a0, %hi(gPauseMenuTargetPosY)
/* 1361F0 80242EB0 8C84EFAC */ lw $a0, %lo(gPauseMenuTargetPosY)($a0)
/* 1361F4 80242EB4 8D260000 */ lw $a2, ($t1)
/* 1361F8 80242EB8 00861023 */ subu $v0, $a0, $a2
/* 1361FC 80242EBC 44820000 */ mtc1 $v0, $f0
/* 136200 80242EC0 00000000 */ nop
/* 136204 80242EC4 46800021 */ cvt.d.w $f0, $f0
/* 136208 80242EC8 46240002 */ mul.d $f0, $f0, $f4
/* 13620C 80242ECC 00000000 */ nop
/* 136210 80242ED0 4620118D */ trunc.w.d $f6, $f2
/* 136214 80242ED4 44073000 */ mfc1 $a3, $f6
/* 136218 80242ED8 4620018D */ trunc.w.d $f6, $f0
/* 13621C 80242EDC 44083000 */ mfc1 $t0, $f6
/* 136220 80242EE0 14A30003 */ bne $a1, $v1, .L80242EF0
/* 136224 80242EE4 00000000 */ nop
/* 136228 80242EE8 10860007 */ beq $a0, $a2, .L80242F08
/* 13622C 80242EEC 00000000 */ nop
.L80242EF0:
/* 136230 80242EF0 14E00005 */ bnez $a3, .L80242F08
/* 136234 80242EF4 00000000 */ nop
/* 136238 80242EF8 15000003 */ bnez $t0, .L80242F08
/* 13623C 80242EFC 00000000 */ nop
/* 136240 80242F00 AD450000 */ sw $a1, ($t2)
/* 136244 80242F04 AD240000 */ sw $a0, ($t1)
.L80242F08:
/* 136248 80242F08 3C038025 */ lui $v1, %hi(gPauseMenuCursorPosX)
/* 13624C 80242F0C 2463EF9C */ addiu $v1, $v1, %lo(gPauseMenuCursorPosX)
/* 136250 80242F10 8C620000 */ lw $v0, ($v1)
/* 136254 80242F14 00471021 */ addu $v0, $v0, $a3
/* 136258 80242F18 AC620000 */ sw $v0, ($v1)
/* 13625C 80242F1C 3C038025 */ lui $v1, %hi(gPauseMenuCursorPosY)
/* 136260 80242F20 2463EFA0 */ addiu $v1, $v1, %lo(gPauseMenuCursorPosY)
/* 136264 80242F24 8C620000 */ lw $v0, ($v1)
/* 136268 80242F28 3C048025 */ lui $a0, %hi(gPauseMenuCursorTargetOpacity)
/* 13626C 80242F2C 8C84EFB0 */ lw $a0, %lo(gPauseMenuCursorTargetOpacity)($a0)
/* 136270 80242F30 00481021 */ addu $v0, $v0, $t0
/* 136274 80242F34 14800009 */ bnez $a0, .L80242F5C
/* 136278 80242F38 AC620000 */ sw $v0, ($v1)
/* 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
/* 136290 80242F50 AC620000 */ sw $v0, ($v1)
/* 136294 80242F54 08090BE0 */ j .L80242F80
/* 136298 80242F58 AC600000 */ sw $zero, ($v1)
.L80242F5C:
/* 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)
/* 1362B0 80242F70 28420100 */ slti $v0, $v0, 0x100
/* 1362B4 80242F74 14400003 */ bnez $v0, .L80242F84
/* 1362B8 80242F78 240200FF */ addiu $v0, $zero, 0xff
/* 1362BC 80242F7C AC620000 */ sw $v0, ($v1)
.L80242F80:
/* 1362C0 80242F80 240200FF */ addiu $v0, $zero, 0xff
.L80242F84:
/* 1362C4 80242F84 3C018025 */ lui $at, %hi(gPauseMenuCursorTargetOpacity)
/* 1362C8 80242F88 03E00008 */ jr $ra
/* 1362CC 80242F8C AC22EFB0 */ sw $v0, %lo(gPauseMenuCursorTargetOpacity)($at)

View File

@ -1,27 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel pause_interp_text_scroll
/* 136758 80243418 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 13675C 8024341C AFB00010 */ sw $s0, 0x10($sp)
/* 136760 80243420 04810002 */ bgez $a0, .L8024342C
/* 136764 80243424 0080802D */ daddu $s0, $a0, $zero
/* 136768 80243428 00108023 */ negu $s0, $s0
.L8024342C:
/* 13676C 8024342C AFBF0014 */ sw $ra, 0x14($sp)
/* 136770 80243430 0C00A52C */ jal sign
/* 136774 80243434 00000000 */ nop
/* 136778 80243438 0040182D */ daddu $v1, $v0, $zero
/* 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, %hi(gPauseMenuTextScrollInterpEasingLUT)
/* 13678C 8024344C 00501021 */ addu $v0, $v0, $s0
/* 136790 80243450 9042F0AC */ lbu $v0, %lo(gPauseMenuTextScrollInterpEasingLUT)($v0)
.L80243454:
/* 136794 80243454 00430018 */ mult $v0, $v1
/* 136798 80243458 8FBF0014 */ lw $ra, 0x14($sp)
/* 13679C 8024345C 8FB00010 */ lw $s0, 0x10($sp)
/* 1367A0 80243460 00001012 */ mflo $v0
/* 1367A4 80243464 03E00008 */ jr $ra
/* 1367A8 80243468 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,7 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel pause_set_cursor_opacity
/* 135EE0 80242BA0 3C018025 */ lui $at, %hi(gPauseMenuCursorTargetOpacity)
/* 135EE4 80242BA4 03E00008 */ jr $ra
/* 135EE8 80242BA8 AC24EFB0 */ sw $a0, %lo(gPauseMenuCursorTargetOpacity)($at)

View File

@ -1,168 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel pause_textbox_draw_contents
/* 1368B0 80243570 27BDFFC8 */ addiu $sp, $sp, -0x38
/* 1368B4 80243574 AFB20020 */ sw $s2, 0x20($sp)
/* 1368B8 80243578 3C128027 */ lui $s2, %hi(D_80270108)
/* 1368BC 8024357C 8E520108 */ lw $s2, %lo(D_80270108)($s2)
/* 1368C0 80243580 AFB60030 */ sw $s6, 0x30($sp)
/* 1368C4 80243584 8FB60048 */ lw $s6, 0x48($sp)
/* 1368C8 80243588 AFB30024 */ sw $s3, 0x24($sp)
/* 1368CC 8024358C 00A0982D */ daddu $s3, $a1, $zero
/* 1368D0 80243590 AFB40028 */ sw $s4, 0x28($sp)
/* 1368D4 80243594 00C0A02D */ daddu $s4, $a2, $zero
/* 1368D8 80243598 AFB5002C */ sw $s5, 0x2c($sp)
/* 1368DC 8024359C 00E0A82D */ daddu $s5, $a3, $zero
/* 1368E0 802435A0 AFBF0034 */ sw $ra, 0x34($sp)
/* 1368E4 802435A4 AFB1001C */ sw $s1, 0x1c($sp)
/* 1368E8 802435A8 12400088 */ beqz $s2, .L802437CC
/* 1368EC 802435AC AFB00018 */ sw $s0, 0x18($sp)
/* 1368F0 802435B0 3C118027 */ lui $s1, %hi(D_80270110)
/* 1368F4 802435B4 26310110 */ addiu $s1, $s1, %lo(D_80270110)
/* 1368F8 802435B8 8E220000 */ lw $v0, ($s1)
/* 1368FC 802435BC 1040000B */ beqz $v0, .L802435EC
/* 136900 802435C0 02752821 */ addu $a1, $s3, $s5
/* 136904 802435C4 24A5FFFC */ addiu $a1, $a1, -4
/* 136908 802435C8 3C108027 */ lui $s0, %hi(gPauseMenuCommonIconIDs)
/* 13690C 802435CC 261000E8 */ addiu $s0, $s0, %lo(gPauseMenuCommonIconIDs)
/* 136910 802435D0 8E040004 */ lw $a0, 4($s0)
/* 136914 802435D4 0C051261 */ jal set_hud_element_render_pos
/* 136918 802435D8 26860004 */ addiu $a2, $s4, 4
/* 13691C 802435DC 8E040004 */ lw $a0, 4($s0)
/* 136920 802435E0 0C0511F8 */ jal draw_hud_element_3
/* 136924 802435E4 00000000 */ nop
/* 136928 802435E8 8E220000 */ lw $v0, ($s1)
.L802435EC:
/* 13692C 802435EC 3C038027 */ lui $v1, %hi(D_8027010C)
/* 136930 802435F0 8C63010C */ lw $v1, %lo(D_8027010C)($v1)
/* 136934 802435F4 0043102A */ slt $v0, $v0, $v1
/* 136938 802435F8 1040000B */ beqz $v0, .L80243628
/* 13693C 802435FC 02752821 */ addu $a1, $s3, $s5
/* 136940 80243600 24A5FFFC */ addiu $a1, $a1, -4
/* 136944 80243604 3C108027 */ lui $s0, %hi(gPauseMenuCommonIconIDs)
/* 136948 80243608 261000E8 */ addiu $s0, $s0, %lo(gPauseMenuCommonIconIDs)
/* 13694C 8024360C 02963021 */ addu $a2, $s4, $s6
/* 136950 80243610 8E040008 */ lw $a0, 8($s0)
/* 136954 80243614 0C051261 */ jal set_hud_element_render_pos
/* 136958 80243618 24C6FFFC */ addiu $a2, $a2, -4
/* 13695C 8024361C 8E040008 */ lw $a0, 8($s0)
/* 136960 80243620 0C0511F8 */ jal draw_hud_element_3
/* 136964 80243624 00000000 */ nop
.L80243628:
/* 136968 80243628 0240202D */ daddu $a0, $s2, $zero
/* 13696C 8024362C 3C11800A */ lui $s1, %hi(gMasterGfxPos)
/* 136970 80243630 2631A66C */ addiu $s1, $s1, %lo(gMasterGfxPos)
/* 136974 80243634 2665000A */ addiu $a1, $s3, 0xa
/* 136978 80243638 3C02E700 */ lui $v0, 0xe700
/* 13697C 8024363C 3C10ED00 */ lui $s0, 0xed00
/* 136980 80243640 8E280000 */ lw $t0, ($s1)
/* 136984 80243644 3C068027 */ lui $a2, %hi(D_80270114)
/* 136988 80243648 8CC60114 */ lw $a2, %lo(D_80270114)($a2)
/* 13698C 8024364C 3C014080 */ lui $at, 0x4080
/* 136990 80243650 44812000 */ mtc1 $at, $f4
/* 136994 80243654 0100182D */ daddu $v1, $t0, $zero
/* 136998 80243658 25080008 */ addiu $t0, $t0, 8
/* 13699C 8024365C 02863023 */ subu $a2, $s4, $a2
/* 1369A0 80243660 AE280000 */ sw $t0, ($s1)
/* 1369A4 80243664 AC620000 */ sw $v0, ($v1)
/* 1369A8 80243668 26620001 */ addiu $v0, $s3, 1
/* 1369AC 8024366C 44821000 */ mtc1 $v0, $f2
/* 1369B0 80243670 00000000 */ nop
/* 1369B4 80243674 468010A0 */ cvt.s.w $f2, $f2
/* 1369B8 80243678 AC600004 */ sw $zero, 4($v1)
/* 1369BC 8024367C 25030008 */ addiu $v1, $t0, 8
/* 1369C0 80243680 46041082 */ mul.s $f2, $f2, $f4
/* 1369C4 80243684 00000000 */ nop
/* 1369C8 80243688 26820001 */ addiu $v0, $s4, 1
/* 1369CC 8024368C 44820000 */ mtc1 $v0, $f0
/* 1369D0 80243690 00000000 */ nop
/* 1369D4 80243694 46800020 */ cvt.s.w $f0, $f0
/* 1369D8 80243698 02751021 */ addu $v0, $s3, $s5
/* 1369DC 8024369C 2442FFFF */ addiu $v0, $v0, -1
/* 1369E0 802436A0 46040002 */ mul.s $f0, $f0, $f4
/* 1369E4 802436A4 00000000 */ nop
/* 1369E8 802436A8 AE230000 */ sw $v1, ($s1)
/* 1369EC 802436AC 4600118D */ trunc.w.s $f6, $f2
/* 1369F0 802436B0 44033000 */ mfc1 $v1, $f6
/* 1369F4 802436B4 00000000 */ nop
/* 1369F8 802436B8 30630FFF */ andi $v1, $v1, 0xfff
/* 1369FC 802436BC 00031B00 */ sll $v1, $v1, 0xc
/* 136A00 802436C0 4600018D */ trunc.w.s $f6, $f0
/* 136A04 802436C4 44073000 */ mfc1 $a3, $f6
/* 136A08 802436C8 00000000 */ nop
/* 136A0C 802436CC 30E70FFF */ andi $a3, $a3, 0xfff
/* 136A10 802436D0 00F03825 */ or $a3, $a3, $s0
/* 136A14 802436D4 44821000 */ mtc1 $v0, $f2
/* 136A18 802436D8 00000000 */ nop
/* 136A1C 802436DC 468010A0 */ cvt.s.w $f2, $f2
/* 136A20 802436E0 00671825 */ or $v1, $v1, $a3
/* 136A24 802436E4 46041082 */ mul.s $f2, $f2, $f4
/* 136A28 802436E8 00000000 */ nop
/* 136A2C 802436EC 02961021 */ addu $v0, $s4, $s6
/* 136A30 802436F0 2442FFFF */ addiu $v0, $v0, -1
/* 136A34 802436F4 44820000 */ mtc1 $v0, $f0
/* 136A38 802436F8 00000000 */ nop
/* 136A3C 802436FC 46800020 */ cvt.s.w $f0, $f0
/* 136A40 80243700 240700FF */ addiu $a3, $zero, 0xff
/* 136A44 80243704 46040002 */ mul.s $f0, $f0, $f4
/* 136A48 80243708 00000000 */ nop
/* 136A4C 8024370C AD030000 */ sw $v1, ($t0)
/* 136A50 80243710 4600118D */ trunc.w.s $f6, $f2
/* 136A54 80243714 44023000 */ mfc1 $v0, $f6
/* 136A58 80243718 00000000 */ nop
/* 136A5C 8024371C 30420FFF */ andi $v0, $v0, 0xfff
/* 136A60 80243720 00021300 */ sll $v0, $v0, 0xc
/* 136A64 80243724 4600018D */ trunc.w.s $f6, $f0
/* 136A68 80243728 44033000 */ mfc1 $v1, $f6
/* 136A6C 8024372C 00000000 */ nop
/* 136A70 80243730 30630FFF */ andi $v1, $v1, 0xfff
/* 136A74 80243734 00431025 */ or $v0, $v0, $v1
/* 136A78 80243738 AD020004 */ sw $v0, 4($t0)
/* 136A7C 8024373C 2402000A */ addiu $v0, $zero, 0xa
/* 136A80 80243740 AFA20010 */ sw $v0, 0x10($sp)
/* 136A84 80243744 0C04993B */ jal draw_msg
/* 136A88 80243748 AFA00014 */ sw $zero, 0x14($sp)
/* 136A8C 8024374C 3C128027 */ lui $s2, %hi(D_80270118)
/* 136A90 80243750 26520118 */ addiu $s2, $s2, %lo(D_80270118)
/* 136A94 80243754 8E420000 */ lw $v0, ($s2)
/* 136A98 80243758 1040001C */ beqz $v0, .L802437CC
/* 136A9C 8024375C 3C040050 */ lui $a0, 0x50
/* 136AA0 80243760 348403C0 */ ori $a0, $a0, 0x3c0
/* 136AA4 80243764 2665FFFC */ addiu $a1, $s3, -4
/* 136AA8 80243768 8E230000 */ lw $v1, ($s1)
/* 136AAC 8024376C 26860010 */ addiu $a2, $s4, 0x10
/* 136AB0 80243770 0060102D */ daddu $v0, $v1, $zero
/* 136AB4 80243774 AC500000 */ sw $s0, ($v0)
/* 136AB8 80243778 3C108027 */ lui $s0, %hi(gPauseMenuCommonIconIDs)
/* 136ABC 8024377C 261000E8 */ addiu $s0, $s0, %lo(gPauseMenuCommonIconIDs)
/* 136AC0 80243780 AC440004 */ sw $a0, 4($v0)
/* 136AC4 80243784 8E04000C */ lw $a0, 0xc($s0)
/* 136AC8 80243788 24630008 */ addiu $v1, $v1, 8
/* 136ACC 8024378C 0C051261 */ jal set_hud_element_render_pos
/* 136AD0 80243790 AE230000 */ sw $v1, ($s1)
/* 136AD4 80243794 8E04000C */ lw $a0, 0xc($s0)
/* 136AD8 80243798 0C0511FF */ jal set_hud_element_anim
/* 136ADC 8024379C 8E450000 */ lw $a1, ($s2)
/* 136AE0 802437A0 8E04000C */ lw $a0, 0xc($s0)
/* 136AE4 802437A4 0C051280 */ jal set_hud_element_flags
/* 136AE8 802437A8 3C052000 */ lui $a1, 0x2000
/* 136AEC 802437AC 8E04000C */ lw $a0, 0xc($s0)
/* 136AF0 802437B0 0C05128B */ jal clear_hud_element_flags
/* 136AF4 802437B4 34058000 */ ori $a1, $zero, 0x8000
/* 136AF8 802437B8 8E04000C */ lw $a0, 0xc($s0)
/* 136AFC 802437BC 0C051308 */ jal set_hud_element_scale
/* 136B00 802437C0 3C053F80 */ lui $a1, 0x3f80
/* 136B04 802437C4 0C0511F8 */ jal draw_hud_element_3
/* 136B08 802437C8 8E04000C */ lw $a0, 0xc($s0)
.L802437CC:
/* 136B0C 802437CC 8FBF0034 */ lw $ra, 0x34($sp)
/* 136B10 802437D0 8FB60030 */ lw $s6, 0x30($sp)
/* 136B14 802437D4 8FB5002C */ lw $s5, 0x2c($sp)
/* 136B18 802437D8 8FB40028 */ lw $s4, 0x28($sp)
/* 136B1C 802437DC 8FB30024 */ lw $s3, 0x24($sp)
/* 136B20 802437E0 8FB20020 */ lw $s2, 0x20($sp)
/* 136B24 802437E4 8FB1001C */ lw $s1, 0x1c($sp)
/* 136B28 802437E8 8FB00018 */ lw $s0, 0x18($sp)
/* 136B2C 802437EC 03E00008 */ jr $ra
/* 136B30 802437F0 27BD0038 */ addiu $sp, $sp, 0x38

View File

@ -1,550 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel pause_tutorial_draw_contents
/* 136B34 802437F4 27BDFEE0 */ addiu $sp, $sp, -0x120
/* 136B38 802437F8 0000202D */ daddu $a0, $zero, $zero
/* 136B3C 802437FC AFA50124 */ sw $a1, 0x124($sp)
/* 136B40 80243800 3C05F840 */ lui $a1, 0xf840
/* 136B44 80243804 34A55BDE */ ori $a1, $a1, 0x5bde
/* 136B48 80243808 AFBF00FC */ sw $ra, 0xfc($sp)
/* 136B4C 8024380C AFBE00F8 */ sw $fp, 0xf8($sp)
/* 136B50 80243810 AFB700F4 */ sw $s7, 0xf4($sp)
/* 136B54 80243814 AFB600F0 */ sw $s6, 0xf0($sp)
/* 136B58 80243818 AFB500EC */ sw $s5, 0xec($sp)
/* 136B5C 8024381C AFB400E8 */ sw $s4, 0xe8($sp)
/* 136B60 80243820 AFB300E4 */ sw $s3, 0xe4($sp)
/* 136B64 80243824 AFB200E0 */ sw $s2, 0xe0($sp)
/* 136B68 80243828 AFB100DC */ sw $s1, 0xdc($sp)
/* 136B6C 8024382C AFB000D8 */ sw $s0, 0xd8($sp)
/* 136B70 80243830 F7BA0118 */ sdc1 $f26, 0x118($sp)
/* 136B74 80243834 F7B80110 */ sdc1 $f24, 0x110($sp)
/* 136B78 80243838 F7B60108 */ sdc1 $f22, 0x108($sp)
/* 136B7C 8024383C F7B40100 */ sdc1 $f20, 0x100($sp)
/* 136B80 80243840 AFA60128 */ sw $a2, 0x128($sp)
/* 136B84 80243844 0C0B1EAF */ jal evt_get_variable
/* 136B88 80243848 AFA7012C */ sw $a3, 0x12c($sp)
/* 136B8C 8024384C 104001F4 */ beqz $v0, .L80244020
/* 136B90 80243850 3C08E300 */ lui $t0, 0xe300
/* 136B94 80243854 35080A01 */ ori $t0, $t0, 0xa01
/* 136B98 80243858 3C0BE200 */ lui $t3, 0xe200
/* 136B9C 8024385C 356B001C */ ori $t3, $t3, 0x1c
/* 136BA0 80243860 3C090050 */ lui $t1, 0x50
/* 136BA4 80243864 35294340 */ ori $t1, $t1, 0x4340
/* 136BA8 80243868 3C0CFCFF */ lui $t4, 0xfcff
/* 136BAC 8024386C 358CFFFF */ ori $t4, $t4, 0xffff
/* 136BB0 80243870 3C0AFFFD */ lui $t2, 0xfffd
/* 136BB4 80243874 354AF6FB */ ori $t2, $t2, 0xf6fb
/* 136BB8 80243878 3C0D3737 */ lui $t5, 0x3737
/* 136BBC 8024387C 35AD37FF */ ori $t5, $t5, 0x37ff
/* 136BC0 80243880 3C140001 */ lui $s4, 1
/* 136BC4 80243884 36941630 */ ori $s4, $s4, 0x1630
/* 136BC8 80243888 0000B82D */ daddu $s7, $zero, $zero
/* 136BCC 8024388C 27B50068 */ addiu $s5, $sp, 0x68
/* 136BD0 80243890 3C028007 */ lui $v0, %hi(gMatrixListPos)
/* 136BD4 80243894 244241F0 */ addiu $v0, $v0, %lo(gMatrixListPos)
/* 136BD8 80243898 0040F02D */ daddu $fp, $v0, $zero
/* 136BDC 8024389C 3C02800A */ lui $v0, %hi(gMasterGfxPos)
/* 136BE0 802438A0 2442A66C */ addiu $v0, $v0, %lo(gMasterGfxPos)
/* 136BE4 802438A4 0040B02D */ daddu $s6, $v0, $zero
/* 136BE8 802438A8 3C12FA00 */ lui $s2, 0xfa00
/* 136BEC 802438AC 8FAE0124 */ lw $t6, 0x124($sp)
/* 136BF0 802438B0 8FAF0128 */ lw $t7, 0x128($sp)
/* 136BF4 802438B4 3C013F4C */ lui $at, 0x3f4c
/* 136BF8 802438B8 3421CCCD */ ori $at, $at, 0xcccd
/* 136BFC 802438BC 4481D000 */ mtc1 $at, $f26
/* 136C00 802438C0 3C014334 */ lui $at, 0x4334
/* 136C04 802438C4 4481C000 */ mtc1 $at, $f24
/* 136C08 802438C8 000E9880 */ sll $s3, $t6, 2
/* 136C0C 802438CC 000F2880 */ sll $a1, $t7, 2
/* 136C10 802438D0 8FAF012C */ lw $t7, 0x12c($sp)
/* 136C14 802438D4 0260202D */ daddu $a0, $s3, $zero
/* 136C18 802438D8 01CF8821 */ addu $s1, $t6, $t7
/* 136C1C 802438DC 00118880 */ sll $s1, $s1, 2
/* 136C20 802438E0 0220302D */ daddu $a2, $s1, $zero
/* 136C24 802438E4 3C0F0001 */ lui $t7, 1
/* 136C28 802438E8 8FAE0128 */ lw $t6, 0x128($sp)
/* 136C2C 802438EC 35EF1630 */ ori $t7, $t7, 0x1630
/* 136C30 802438F0 AFAF00D0 */ sw $t7, 0xd0($sp)
/* 136C34 802438F4 8EC20000 */ lw $v0, ($s6)
/* 136C38 802438F8 25D0000C */ addiu $s0, $t6, 0xc
/* 136C3C 802438FC 00108080 */ sll $s0, $s0, 2
/* 136C40 80243900 0200382D */ daddu $a3, $s0, $zero
/* 136C44 80243904 0040182D */ daddu $v1, $v0, $zero
/* 136C48 80243908 24420008 */ addiu $v0, $v0, 8
/* 136C4C 8024390C AEC20000 */ sw $v0, ($s6)
/* 136C50 80243910 AC680000 */ sw $t0, ($v1)
/* 136C54 80243914 AC600004 */ sw $zero, 4($v1)
/* 136C58 80243918 24430008 */ addiu $v1, $v0, 8
/* 136C5C 8024391C AEC30000 */ sw $v1, ($s6)
/* 136C60 80243920 24430010 */ addiu $v1, $v0, 0x10
/* 136C64 80243924 AC4B0000 */ sw $t3, ($v0)
/* 136C68 80243928 AC490004 */ sw $t1, 4($v0)
/* 136C6C 8024392C AEC30000 */ sw $v1, ($s6)
/* 136C70 80243930 24430018 */ addiu $v1, $v0, 0x18
/* 136C74 80243934 AC4C0008 */ sw $t4, 8($v0)
/* 136C78 80243938 AC4A000C */ sw $t2, 0xc($v0)
/* 136C7C 8024393C AEC30000 */ sw $v1, ($s6)
/* 136C80 80243940 AC520010 */ sw $s2, 0x10($v0)
/* 136C84 80243944 AC4D0014 */ sw $t5, 0x14($v0)
/* 136C88 80243948 AFA00010 */ sw $zero, 0x10($sp)
/* 136C8C 8024394C AFA00014 */ sw $zero, 0x14($sp)
/* 136C90 80243950 AFA00018 */ sw $zero, 0x18($sp)
/* 136C94 80243954 AFA0001C */ sw $zero, 0x1c($sp)
/* 136C98 80243958 0C091216 */ jal pause_draw_rect
/* 136C9C 8024395C AFA00020 */ sw $zero, 0x20($sp)
/* 136CA0 80243960 3C08B9B9 */ lui $t0, 0xb9b9
/* 136CA4 80243964 3508B9FF */ ori $t0, $t0, 0xb9ff
/* 136CA8 80243968 0260202D */ daddu $a0, $s3, $zero
/* 136CAC 8024396C 0200282D */ daddu $a1, $s0, $zero
/* 136CB0 80243970 0220302D */ daddu $a2, $s1, $zero
/* 136CB4 80243974 3C10E700 */ lui $s0, 0xe700
/* 136CB8 80243978 8FAE0128 */ lw $t6, 0x128($sp)
/* 136CBC 8024397C 8FAF0130 */ lw $t7, 0x130($sp)
/* 136CC0 80243980 44800000 */ mtc1 $zero, $f0
/* 136CC4 80243984 8EC20000 */ lw $v0, ($s6)
/* 136CC8 80243988 01CF3821 */ addu $a3, $t6, $t7
/* 136CCC 8024398C 00073880 */ sll $a3, $a3, 2
/* 136CD0 80243990 46000506 */ mov.s $f20, $f0
/* 136CD4 80243994 0040182D */ daddu $v1, $v0, $zero
/* 136CD8 80243998 3C013F80 */ lui $at, 0x3f80
/* 136CDC 8024399C 44810000 */ mtc1 $at, $f0
/* 136CE0 802439A0 24420008 */ addiu $v0, $v0, 8
/* 136CE4 802439A4 AEC20000 */ sw $v0, ($s6)
/* 136CE8 802439A8 AC700000 */ sw $s0, ($v1)
/* 136CEC 802439AC AC600004 */ sw $zero, 4($v1)
/* 136CF0 802439B0 24430008 */ addiu $v1, $v0, 8
/* 136CF4 802439B4 AEC30000 */ sw $v1, ($s6)
/* 136CF8 802439B8 AC520000 */ sw $s2, ($v0)
/* 136CFC 802439BC AC480004 */ sw $t0, 4($v0)
/* 136D00 802439C0 AFA00010 */ sw $zero, 0x10($sp)
/* 136D04 802439C4 AFA00014 */ sw $zero, 0x14($sp)
/* 136D08 802439C8 AFA00018 */ sw $zero, 0x18($sp)
/* 136D0C 802439CC AFA0001C */ sw $zero, 0x1c($sp)
/* 136D10 802439D0 AFA00020 */ sw $zero, 0x20($sp)
/* 136D14 802439D4 0C091216 */ jal pause_draw_rect
/* 136D18 802439D8 46000586 */ mov.s $f22, $f0
/* 136D1C 802439DC 3C08DC08 */ lui $t0, 0xdc08
/* 136D20 802439E0 35080008 */ ori $t0, $t0, 8
/* 136D24 802439E4 27A40028 */ addiu $a0, $sp, 0x28
/* 136D28 802439E8 8EC30000 */ lw $v1, ($s6)
/* 136D2C 802439EC 4405A000 */ mfc1 $a1, $f20
/* 136D30 802439F0 3C0643A0 */ lui $a2, 0x43a0
/* 136D34 802439F4 3C074370 */ lui $a3, 0x4370
/* 136D38 802439F8 3C01C2C8 */ lui $at, 0xc2c8
/* 136D3C 802439FC 44810000 */ mtc1 $at, $f0
/* 136D40 80243A00 3C0142C8 */ lui $at, 0x42c8
/* 136D44 80243A04 44811000 */ mtc1 $at, $f2
/* 136D48 80243A08 0060102D */ daddu $v0, $v1, $zero
/* 136D4C 80243A0C 24630008 */ addiu $v1, $v1, 8
/* 136D50 80243A10 AEC30000 */ sw $v1, ($s6)
/* 136D54 80243A14 AC500000 */ sw $s0, ($v0)
/* 136D58 80243A18 AC400004 */ sw $zero, 4($v0)
/* 136D5C 80243A1C 24620008 */ addiu $v0, $v1, 8
/* 136D60 80243A20 AEC20000 */ sw $v0, ($s6)
/* 136D64 80243A24 3C028025 */ lui $v0, %hi(D_8024F100)
/* 136D68 80243A28 2442F100 */ addiu $v0, $v0, %lo(D_8024F100)
/* 136D6C 80243A2C AC680000 */ sw $t0, ($v1)
/* 136D70 80243A30 AC620004 */ sw $v0, 4($v1)
/* 136D74 80243A34 E7B40010 */ swc1 $f20, 0x10($sp)
/* 136D78 80243A38 E7A00014 */ swc1 $f0, 0x14($sp)
/* 136D7C 80243A3C E7A20018 */ swc1 $f2, 0x18($sp)
/* 136D80 80243A40 0C018E44 */ jal guOrthoF
/* 136D84 80243A44 E7B6001C */ swc1 $f22, 0x1c($sp)
/* 136D88 80243A48 27A40028 */ addiu $a0, $sp, 0x28
/* 136D8C 80243A4C 97C50000 */ lhu $a1, ($fp)
/* 136D90 80243A50 3C02800A */ lui $v0, %hi(gDisplayContext)
/* 136D94 80243A54 8C42A674 */ lw $v0, %lo(gDisplayContext)($v0)
/* 136D98 80243A58 00052980 */ sll $a1, $a1, 6
/* 136D9C 80243A5C 00B42821 */ addu $a1, $a1, $s4
/* 136DA0 80243A60 0C019D40 */ jal guMtxF2L
/* 136DA4 80243A64 00452821 */ addu $a1, $v0, $a1
/* 136DA8 80243A68 3C04DA38 */ lui $a0, 0xda38
/* 136DAC 80243A6C 34840007 */ ori $a0, $a0, 7
/* 136DB0 80243A70 8EC30000 */ lw $v1, ($s6)
/* 136DB4 80243A74 97C20000 */ lhu $v0, ($fp)
/* 136DB8 80243A78 0060282D */ daddu $a1, $v1, $zero
/* 136DBC 80243A7C 24630008 */ addiu $v1, $v1, 8
/* 136DC0 80243A80 AEC30000 */ sw $v1, ($s6)
/* 136DC4 80243A84 24430001 */ addiu $v1, $v0, 1
/* 136DC8 80243A88 3042FFFF */ andi $v0, $v0, 0xffff
/* 136DCC 80243A8C 00021180 */ sll $v0, $v0, 6
/* 136DD0 80243A90 ACA40000 */ sw $a0, ($a1)
/* 136DD4 80243A94 A7C30000 */ sh $v1, ($fp)
/* 136DD8 80243A98 3C03800A */ lui $v1, %hi(gDisplayContext)
/* 136DDC 80243A9C 8C63A674 */ lw $v1, %lo(gDisplayContext)($v1)
/* 136DE0 80243AA0 00541021 */ addu $v0, $v0, $s4
/* 136DE4 80243AA4 00621821 */ addu $v1, $v1, $v0
/* 136DE8 80243AA8 ACA30004 */ sw $v1, 4($a1)
.L80243AAC:
/* 136DEC 80243AAC 12E00005 */ beqz $s7, .L80243AC4
/* 136DF0 80243AB0 24020001 */ addiu $v0, $zero, 1
/* 136DF4 80243AB4 12E2000B */ beq $s7, $v0, .L80243AE4
/* 136DF8 80243AB8 27A40028 */ addiu $a0, $sp, 0x28
/* 136DFC 80243ABC 08090EC0 */ j .L80243B00
/* 136E00 80243AC0 00000000 */ nop
.L80243AC4:
/* 136E04 80243AC4 27A40028 */ addiu $a0, $sp, 0x28
/* 136E08 80243AC8 3C054220 */ lui $a1, 0x4220
/* 136E0C 80243ACC 3C06435F */ lui $a2, 0x435f
/* 136E10 80243AD0 0C019E40 */ jal guTranslateF
/* 136E14 80243AD4 0000382D */ daddu $a3, $zero, $zero
/* 136E18 80243AD8 3C05BF4C */ lui $a1, 0xbf4c
/* 136E1C 80243ADC 08090EC5 */ j .L80243B14
/* 136E20 80243AE0 34A5CCCD */ ori $a1, $a1, 0xcccd
.L80243AE4:
/* 136E24 80243AE4 3C054270 */ lui $a1, 0x4270
/* 136E28 80243AE8 3C06435F */ lui $a2, 0x435f
/* 136E2C 80243AEC 0C019E40 */ jal guTranslateF
/* 136E30 80243AF0 0000382D */ daddu $a3, $zero, $zero
/* 136E34 80243AF4 3C05BF4C */ lui $a1, 0xbf4c
/* 136E38 80243AF8 08090EC5 */ j .L80243B14
/* 136E3C 80243AFC 34A5CCCD */ ori $a1, $a1, 0xcccd
.L80243B00:
/* 136E40 80243B00 3C05438C */ lui $a1, 0x438c
/* 136E44 80243B04 3C06435F */ lui $a2, 0x435f
/* 136E48 80243B08 0C019E40 */ jal guTranslateF
/* 136E4C 80243B0C 0000382D */ daddu $a3, $zero, $zero
/* 136E50 80243B10 4405D000 */ mfc1 $a1, $f26
.L80243B14:
/* 136E54 80243B14 3C063F4C */ lui $a2, 0x3f4c
/* 136E58 80243B18 34C6CCCD */ ori $a2, $a2, 0xcccd
/* 136E5C 80243B1C 3C073F80 */ lui $a3, 0x3f80
/* 136E60 80243B20 0C019DF0 */ jal guScaleF
/* 136E64 80243B24 02A0202D */ daddu $a0, $s5, $zero
/* 136E68 80243B28 02A0202D */ daddu $a0, $s5, $zero
/* 136E6C 80243B2C 27A50028 */ addiu $a1, $sp, 0x28
/* 136E70 80243B30 0C019D80 */ jal guMtxCatF
/* 136E74 80243B34 00A0302D */ daddu $a2, $a1, $zero
/* 136E78 80243B38 4405C000 */ mfc1 $a1, $f24
/* 136E7C 80243B3C 4406A000 */ mfc1 $a2, $f20
/* 136E80 80243B40 4407A000 */ mfc1 $a3, $f20
/* 136E84 80243B44 02A0202D */ daddu $a0, $s5, $zero
/* 136E88 80243B48 0C019EC8 */ jal guRotateF
/* 136E8C 80243B4C E7B60010 */ swc1 $f22, 0x10($sp)
/* 136E90 80243B50 02A0202D */ daddu $a0, $s5, $zero
/* 136E94 80243B54 27A50028 */ addiu $a1, $sp, 0x28
/* 136E98 80243B58 0C019D80 */ jal guMtxCatF
/* 136E9C 80243B5C 00A0302D */ daddu $a2, $a1, $zero
/* 136EA0 80243B60 4405C000 */ mfc1 $a1, $f24
/* 136EA4 80243B64 4406A000 */ mfc1 $a2, $f20
/* 136EA8 80243B68 4407B000 */ mfc1 $a3, $f22
/* 136EAC 80243B6C 02A0202D */ daddu $a0, $s5, $zero
/* 136EB0 80243B70 0C019EC8 */ jal guRotateF
/* 136EB4 80243B74 E7B40010 */ swc1 $f20, 0x10($sp)
/* 136EB8 80243B78 02A0202D */ daddu $a0, $s5, $zero
/* 136EBC 80243B7C 27A50028 */ addiu $a1, $sp, 0x28
/* 136EC0 80243B80 0C019D80 */ jal guMtxCatF
/* 136EC4 80243B84 00A0302D */ daddu $a2, $a1, $zero
/* 136EC8 80243B88 27A40028 */ addiu $a0, $sp, 0x28
/* 136ECC 80243B8C 97C50000 */ lhu $a1, ($fp)
/* 136ED0 80243B90 3C02800A */ lui $v0, %hi(gDisplayContext)
/* 136ED4 80243B94 8C42A674 */ lw $v0, %lo(gDisplayContext)($v0)
/* 136ED8 80243B98 8FAE00D0 */ lw $t6, 0xd0($sp)
/* 136EDC 80243B9C 00052980 */ sll $a1, $a1, 6
/* 136EE0 80243BA0 00AE2821 */ addu $a1, $a1, $t6
/* 136EE4 80243BA4 0C019D40 */ jal guMtxF2L
/* 136EE8 80243BA8 00452821 */ addu $a1, $v0, $a1
/* 136EEC 80243BAC 3C02DA38 */ lui $v0, 0xda38
/* 136EF0 80243BB0 34420002 */ ori $v0, $v0, 2
/* 136EF4 80243BB4 24050006 */ addiu $a1, $zero, 6
/* 136EF8 80243BB8 240600FF */ addiu $a2, $zero, 0xff
/* 136EFC 80243BBC 00C0382D */ daddu $a3, $a2, $zero
/* 136F00 80243BC0 00178080 */ sll $s0, $s7, 2
/* 136F04 80243BC4 26F70001 */ addiu $s7, $s7, 1
/* 136F08 80243BC8 8EC80000 */ lw $t0, ($s6)
/* 136F0C 80243BCC 97C90000 */ lhu $t1, ($fp)
/* 136F10 80243BD0 3C03800A */ lui $v1, %hi(gDisplayContext)
/* 136F14 80243BD4 8C63A674 */ lw $v1, %lo(gDisplayContext)($v1)
/* 136F18 80243BD8 0100202D */ daddu $a0, $t0, $zero
/* 136F1C 80243BDC AC820000 */ sw $v0, ($a0)
/* 136F20 80243BE0 3122FFFF */ andi $v0, $t1, 0xffff
/* 136F24 80243BE4 00A21004 */ sllv $v0, $v0, $a1
/* 136F28 80243BE8 8FAF00D0 */ lw $t7, 0xd0($sp)
/* 136F2C 80243BEC 25080008 */ addiu $t0, $t0, 8
/* 136F30 80243BF0 004F1021 */ addu $v0, $v0, $t7
/* 136F34 80243BF4 00621821 */ addu $v1, $v1, $v0
/* 136F38 80243BF8 00C0102D */ daddu $v0, $a2, $zero
/* 136F3C 80243BFC AC830004 */ sw $v1, 4($a0)
/* 136F40 80243C00 240E0040 */ addiu $t6, $zero, 0x40
/* 136F44 80243C04 AFA20010 */ sw $v0, 0x10($sp)
/* 136F48 80243C08 AFA20014 */ sw $v0, 0x14($sp)
/* 136F4C 80243C0C 3C028027 */ lui $v0, %hi(D_8027011C)
/* 136F50 80243C10 2442011C */ addiu $v0, $v0, %lo(D_8027011C)
/* 136F54 80243C14 02028021 */ addu $s0, $s0, $v0
/* 136F58 80243C18 AFAE0018 */ sw $t6, 0x18($sp)
/* 136F5C 80243C1C 8E040000 */ lw $a0, ($s0)
/* 136F60 80243C20 25290001 */ addiu $t1, $t1, 1
/* 136F64 80243C24 AEC80000 */ sw $t0, ($s6)
/* 136F68 80243C28 0C0B7A25 */ jal func_802DE894
/* 136F6C 80243C2C A7C90000 */ sh $t1, ($fp)
/* 136F70 80243C30 0000282D */ daddu $a1, $zero, $zero
/* 136F74 80243C34 00A0302D */ daddu $a2, $a1, $zero
/* 136F78 80243C38 27A20028 */ addiu $v0, $sp, 0x28
/* 136F7C 80243C3C AFA20010 */ sw $v0, 0x10($sp)
/* 136F80 80243C40 8E040000 */ lw $a0, ($s0)
/* 136F84 80243C44 0C0B78F6 */ jal spr_draw_npc_sprite
/* 136F88 80243C48 00A0382D */ daddu $a3, $a1, $zero
/* 136F8C 80243C4C 3C04D838 */ lui $a0, 0xd838
/* 136F90 80243C50 8EC20000 */ lw $v0, ($s6)
/* 136F94 80243C54 34840002 */ ori $a0, $a0, 2
/* 136F98 80243C58 0040182D */ daddu $v1, $v0, $zero
/* 136F9C 80243C5C 24420008 */ addiu $v0, $v0, 8
/* 136FA0 80243C60 240F0040 */ addiu $t7, $zero, 0x40
/* 136FA4 80243C64 AEC20000 */ sw $v0, ($s6)
/* 136FA8 80243C68 2AE20003 */ slti $v0, $s7, 3
/* 136FAC 80243C6C AC640000 */ sw $a0, ($v1)
/* 136FB0 80243C70 1440FF8E */ bnez $v0, .L80243AAC
/* 136FB4 80243C74 AC6F0004 */ sw $t7, 4($v1)
/* 136FB8 80243C78 0C093BA0 */ jal pause_get_menu_msg
/* 136FBC 80243C7C 24040001 */ addiu $a0, $zero, 1
/* 136FC0 80243C80 0040202D */ daddu $a0, $v0, $zero
/* 136FC4 80243C84 27A500A8 */ addiu $a1, $sp, 0xa8
/* 136FC8 80243C88 27A600AC */ addiu $a2, $sp, 0xac
/* 136FCC 80243C8C 27A700B0 */ addiu $a3, $sp, 0xb0
/* 136FD0 80243C90 27A200B4 */ addiu $v0, $sp, 0xb4
/* 136FD4 80243C94 AFA20010 */ sw $v0, 0x10($sp)
/* 136FD8 80243C98 27A200B8 */ addiu $v0, $sp, 0xb8
/* 136FDC 80243C9C 24140001 */ addiu $s4, $zero, 1
/* 136FE0 80243CA0 AFA20014 */ sw $v0, 0x14($sp)
/* 136FE4 80243CA4 AFA00018 */ sw $zero, 0x18($sp)
/* 136FE8 80243CA8 0C0497DA */ jal get_msg_properties
/* 136FEC 80243CAC AFB4001C */ sw $s4, 0x1c($sp)
/* 136FF0 80243CB0 8FB000AC */ lw $s0, 0xac($sp)
/* 136FF4 80243CB4 8FAE012C */ lw $t6, 0x12c($sp)
/* 136FF8 80243CB8 0280202D */ daddu $a0, $s4, $zero
/* 136FFC 80243CBC 01D08023 */ subu $s0, $t6, $s0
/* 137000 80243CC0 0C093BA0 */ jal pause_get_menu_msg
/* 137004 80243CC4 02908007 */ srav $s0, $s0, $s4
/* 137008 80243CC8 0040202D */ daddu $a0, $v0, $zero
/* 13700C 80243CCC 8FAF0124 */ lw $t7, 0x124($sp)
/* 137010 80243CD0 8FA60128 */ lw $a2, 0x128($sp)
/* 137014 80243CD4 240700FF */ addiu $a3, $zero, 0xff
/* 137018 80243CD8 AFA00010 */ sw $zero, 0x10($sp)
/* 13701C 80243CDC AFB40014 */ sw $s4, 0x14($sp)
/* 137020 80243CE0 0C04993B */ jal draw_msg
/* 137024 80243CE4 01F02821 */ addu $a1, $t7, $s0
/* 137028 80243CE8 3C158025 */ lui $s5, %hi(D_8024F018)
/* 13702C 80243CEC 26B5F018 */ addiu $s5, $s5, %lo(D_8024F018)
/* 137030 80243CF0 8EA20000 */ lw $v0, ($s5)
/* 137034 80243CF4 3C138025 */ lui $s3, %hi(D_8024F110)
/* 137038 80243CF8 2673F110 */ addiu $s3, $s3, %lo(D_8024F110)
/* 13703C 80243CFC 000220C0 */ sll $a0, $v0, 3
/* 137040 80243D00 00822021 */ addu $a0, $a0, $v0
/* 137044 80243D04 00042080 */ sll $a0, $a0, 2
/* 137048 80243D08 00822023 */ subu $a0, $a0, $v0
/* 13704C 80243D0C 8E620000 */ lw $v0, ($s3)
/* 137050 80243D10 00042080 */ sll $a0, $a0, 2
/* 137054 80243D14 0C090D06 */ jal pause_interp_text_scroll
/* 137058 80243D18 00822023 */ subu $a0, $a0, $v0
/* 13705C 80243D1C 3C08800A */ lui $t0, %hi(gMasterGfxPos)
/* 137060 80243D20 2508A66C */ addiu $t0, $t0, %lo(gMasterGfxPos)
/* 137064 80243D24 8D060000 */ lw $a2, ($t0)
/* 137068 80243D28 8FAE0124 */ lw $t6, 0x124($sp)
/* 13706C 80243D2C 3C014080 */ lui $at, 0x4080
/* 137070 80243D30 44812000 */ mtc1 $at, $f4
/* 137074 80243D34 8FAF0128 */ lw $t7, 0x128($sp)
/* 137078 80243D38 01D41821 */ addu $v1, $t6, $s4
/* 13707C 80243D3C 44831000 */ mtc1 $v1, $f2
/* 137080 80243D40 00000000 */ nop
/* 137084 80243D44 468010A0 */ cvt.s.w $f2, $f2
/* 137088 80243D48 00C0382D */ daddu $a3, $a2, $zero
/* 13708C 80243D4C 46041082 */ mul.s $f2, $f2, $f4
/* 137090 80243D50 00000000 */ nop
/* 137094 80243D54 01F41821 */ addu $v1, $t7, $s4
/* 137098 80243D58 44830000 */ mtc1 $v1, $f0
/* 13709C 80243D5C 00000000 */ nop
/* 1370A0 80243D60 46800020 */ cvt.s.w $f0, $f0
/* 1370A4 80243D64 24C60008 */ addiu $a2, $a2, 8
/* 1370A8 80243D68 3C03ED00 */ lui $v1, 0xed00
/* 1370AC 80243D6C 46040002 */ mul.s $f0, $f0, $f4
/* 1370B0 80243D70 00000000 */ nop
/* 1370B4 80243D74 8FAF0124 */ lw $t7, 0x124($sp)
/* 1370B8 80243D78 4600118D */ trunc.w.s $f6, $f2
/* 1370BC 80243D7C 44043000 */ mfc1 $a0, $f6
/* 1370C0 80243D80 00000000 */ nop
/* 1370C4 80243D84 30840FFF */ andi $a0, $a0, 0xfff
/* 1370C8 80243D88 00042300 */ sll $a0, $a0, 0xc
/* 1370CC 80243D8C 4600018D */ trunc.w.s $f6, $f0
/* 1370D0 80243D90 44053000 */ mfc1 $a1, $f6
/* 1370D4 80243D94 00000000 */ nop
/* 1370D8 80243D98 30A50FFF */ andi $a1, $a1, 0xfff
/* 1370DC 80243D9C 8FAE012C */ lw $t6, 0x12c($sp)
/* 1370E0 80243DA0 00A32825 */ or $a1, $a1, $v1
/* 1370E4 80243DA4 01EE1821 */ addu $v1, $t7, $t6
/* 1370E8 80243DA8 2463FFFF */ addiu $v1, $v1, -1
/* 1370EC 80243DAC 44831000 */ mtc1 $v1, $f2
/* 1370F0 80243DB0 00000000 */ nop
/* 1370F4 80243DB4 468010A0 */ cvt.s.w $f2, $f2
/* 1370F8 80243DB8 46041082 */ mul.s $f2, $f2, $f4
/* 1370FC 80243DBC 00000000 */ nop
/* 137100 80243DC0 8FAF0128 */ lw $t7, 0x128($sp)
/* 137104 80243DC4 8FAE0130 */ lw $t6, 0x130($sp)
/* 137108 80243DC8 00852025 */ or $a0, $a0, $a1
/* 13710C 80243DCC 01EE1821 */ addu $v1, $t7, $t6
/* 137110 80243DD0 2463FFFF */ addiu $v1, $v1, -1
/* 137114 80243DD4 44830000 */ mtc1 $v1, $f0
/* 137118 80243DD8 00000000 */ nop
/* 13711C 80243DDC 46800020 */ cvt.s.w $f0, $f0
/* 137120 80243DE0 46040002 */ mul.s $f0, $f0, $f4
/* 137124 80243DE4 00000000 */ nop
/* 137128 80243DE8 ACE40000 */ sw $a0, ($a3)
/* 13712C 80243DEC 4600118D */ trunc.w.s $f6, $f2
/* 137130 80243DF0 44033000 */ mfc1 $v1, $f6
/* 137134 80243DF4 00000000 */ nop
/* 137138 80243DF8 30630FFF */ andi $v1, $v1, 0xfff
/* 13713C 80243DFC 00031B00 */ sll $v1, $v1, 0xc
/* 137140 80243E00 4600018D */ trunc.w.s $f6, $f0
/* 137144 80243E04 44043000 */ mfc1 $a0, $f6
/* 137148 80243E08 00000000 */ nop
/* 13714C 80243E0C 30840FFF */ andi $a0, $a0, 0xfff
/* 137150 80243E10 00641825 */ or $v1, $v1, $a0
/* 137154 80243E14 ACE30004 */ sw $v1, 4($a3)
/* 137158 80243E18 8EB20000 */ lw $s2, ($s5)
/* 13715C 80243E1C 3C038025 */ lui $v1, %hi(D_8024F03C)
/* 137160 80243E20 2463F03C */ addiu $v1, $v1, %lo(D_8024F03C)
/* 137164 80243E24 00128880 */ sll $s1, $s2, 2
/* 137168 80243E28 02238821 */ addu $s1, $s1, $v1
/* 13716C 80243E2C 8E630000 */ lw $v1, ($s3)
/* 137170 80243E30 8E240000 */ lw $a0, ($s1)
/* 137174 80243E34 00621821 */ addu $v1, $v1, $v0
/* 137178 80243E38 AE630000 */ sw $v1, ($s3)
/* 13717C 80243E3C 0C093BA0 */ jal pause_get_menu_msg
/* 137180 80243E40 AD060000 */ sw $a2, ($t0)
/* 137184 80243E44 0040202D */ daddu $a0, $v0, $zero
/* 137188 80243E48 27A500BC */ addiu $a1, $sp, 0xbc
/* 13718C 80243E4C 27A600C0 */ addiu $a2, $sp, 0xc0
/* 137190 80243E50 27A700C4 */ addiu $a3, $sp, 0xc4
/* 137194 80243E54 27A200C8 */ addiu $v0, $sp, 0xc8
/* 137198 80243E58 AFA20010 */ sw $v0, 0x10($sp)
/* 13719C 80243E5C 27A200CC */ addiu $v0, $sp, 0xcc
/* 1371A0 80243E60 AFA20014 */ sw $v0, 0x14($sp)
/* 1371A4 80243E64 AFA00018 */ sw $zero, 0x18($sp)
/* 1371A8 80243E68 0C0497DA */ jal get_msg_properties
/* 1371AC 80243E6C AFB4001C */ sw $s4, 0x1c($sp)
/* 1371B0 80243E70 8FB000C0 */ lw $s0, 0xc0($sp)
/* 1371B4 80243E74 8FAF012C */ lw $t7, 0x12c($sp)
/* 1371B8 80243E78 8E240000 */ lw $a0, ($s1)
/* 1371BC 80243E7C 01F08023 */ subu $s0, $t7, $s0
/* 1371C0 80243E80 0C093BA0 */ jal pause_get_menu_msg
/* 1371C4 80243E84 02908007 */ srav $s0, $s0, $s4
/* 1371C8 80243E88 0040202D */ daddu $a0, $v0, $zero
/* 1371CC 80243E8C 240700FF */ addiu $a3, $zero, 0xff
/* 1371D0 80243E90 2416000A */ addiu $s6, $zero, 0xa
/* 1371D4 80243E94 001230C0 */ sll $a2, $s2, 3
/* 1371D8 80243E98 00D23021 */ addu $a2, $a2, $s2
/* 1371DC 80243E9C 00063080 */ sll $a2, $a2, 2
/* 1371E0 80243EA0 00D23023 */ subu $a2, $a2, $s2
/* 1371E4 80243EA4 00063080 */ sll $a2, $a2, 2
/* 1371E8 80243EA8 8FAE0124 */ lw $t6, 0x124($sp)
/* 1371EC 80243EAC 24C6000D */ addiu $a2, $a2, 0xd
/* 1371F0 80243EB0 AFB60010 */ sw $s6, 0x10($sp)
/* 1371F4 80243EB4 AFB40014 */ sw $s4, 0x14($sp)
/* 1371F8 80243EB8 8E620000 */ lw $v0, ($s3)
/* 1371FC 80243EBC 8FAF0128 */ lw $t7, 0x128($sp)
/* 137200 80243EC0 01D02821 */ addu $a1, $t6, $s0
/* 137204 80243EC4 01E63021 */ addu $a2, $t7, $a2
/* 137208 80243EC8 0C04993B */ jal draw_msg
/* 13720C 80243ECC 00C23023 */ subu $a2, $a2, $v0
/* 137210 80243ED0 8EA30000 */ lw $v1, ($s5)
/* 137214 80243ED4 8FAE012C */ lw $t6, 0x12c($sp)
/* 137218 80243ED8 8FAF0124 */ lw $t7, 0x124($sp)
/* 13721C 80243EDC 00031880 */ sll $v1, $v1, 2
/* 137220 80243EE0 000E17C2 */ srl $v0, $t6, 0x1f
/* 137224 80243EE4 01C21021 */ addu $v0, $t6, $v0
/* 137228 80243EE8 02821007 */ srav $v0, $v0, $s4
/* 13722C 80243EEC 01E28821 */ addu $s1, $t7, $v0
/* 137230 80243EF0 2625FFFE */ addiu $a1, $s1, -2
/* 137234 80243EF4 3C028025 */ lui $v0, %hi(D_8024F090)
/* 137238 80243EF8 00431021 */ addu $v0, $v0, $v1
/* 13723C 80243EFC 8C42F090 */ lw $v0, %lo(D_8024F090)($v0)
/* 137240 80243F00 8FAE0128 */ lw $t6, 0x128($sp)
/* 137244 80243F04 00021080 */ sll $v0, $v0, 2
/* 137248 80243F08 3C048027 */ lui $a0, %hi(gPauseMenuCommonIconIDs)
/* 13724C 80243F0C 00822021 */ addu $a0, $a0, $v0
/* 137250 80243F10 8C8400E8 */ lw $a0, %lo(gPauseMenuCommonIconIDs)($a0)
/* 137254 80243F14 0C051261 */ jal set_hud_element_render_pos
/* 137258 80243F18 25C60034 */ addiu $a2, $t6, 0x34
/* 13725C 80243F1C 8EA20000 */ lw $v0, ($s5)
/* 137260 80243F20 00021080 */ sll $v0, $v0, 2
/* 137264 80243F24 3C018025 */ lui $at, %hi(D_8024F090)
/* 137268 80243F28 00220821 */ addu $at, $at, $v0
/* 13726C 80243F2C 8C22F090 */ lw $v0, %lo(D_8024F090)($at)
/* 137270 80243F30 00021080 */ sll $v0, $v0, 2
/* 137274 80243F34 3C048027 */ lui $a0, %hi(gPauseMenuCommonIconIDs)
/* 137278 80243F38 00822021 */ addu $a0, $a0, $v0
/* 13727C 80243F3C 8C8400E8 */ lw $a0, %lo(gPauseMenuCommonIconIDs)($a0)
/* 137280 80243F40 0C051280 */ jal set_hud_element_flags
/* 137284 80243F44 34058000 */ ori $a1, $zero, 0x8000
/* 137288 80243F48 8EA20000 */ lw $v0, ($s5)
/* 13728C 80243F4C 00021080 */ sll $v0, $v0, 2
/* 137290 80243F50 3C018025 */ lui $at, %hi(D_8024F090)
/* 137294 80243F54 00220821 */ addu $at, $at, $v0
/* 137298 80243F58 8C22F090 */ lw $v0, %lo(D_8024F090)($at)
/* 13729C 80243F5C 3C053F00 */ lui $a1, 0x3f00
/* 1372A0 80243F60 00021080 */ sll $v0, $v0, 2
/* 1372A4 80243F64 3C048027 */ lui $a0, %hi(gPauseMenuCommonIconIDs)
/* 1372A8 80243F68 00822021 */ addu $a0, $a0, $v0
/* 1372AC 80243F6C 8C8400E8 */ lw $a0, %lo(gPauseMenuCommonIconIDs)($a0)
/* 1372B0 80243F70 0C051308 */ jal set_hud_element_scale
/* 1372B4 80243F74 00000000 */ nop
/* 1372B8 80243F78 8EA20000 */ lw $v0, ($s5)
/* 1372BC 80243F7C 00021080 */ sll $v0, $v0, 2
/* 1372C0 80243F80 3C018025 */ lui $at, %hi(D_8024F090)
/* 1372C4 80243F84 00220821 */ addu $at, $at, $v0
/* 1372C8 80243F88 8C22F090 */ lw $v0, %lo(D_8024F090)($at)
/* 1372CC 80243F8C 00021080 */ sll $v0, $v0, 2
/* 1372D0 80243F90 3C048027 */ lui $a0, %hi(gPauseMenuCommonIconIDs)
/* 1372D4 80243F94 00822021 */ addu $a0, $a0, $v0
/* 1372D8 80243F98 8C8400E8 */ lw $a0, %lo(gPauseMenuCommonIconIDs)($a0)
/* 1372DC 80243F9C 0C0511F8 */ jal draw_hud_element_3
/* 1372E0 80243FA0 00000000 */ nop
/* 1372E4 80243FA4 8EA20000 */ lw $v0, ($s5)
/* 1372E8 80243FA8 3C108027 */ lui $s0, %hi(gPauseMenuCommonIconIDs)
/* 1372EC 80243FAC 261000E8 */ addiu $s0, $s0, %lo(gPauseMenuCommonIconIDs)
/* 1372F0 80243FB0 00021080 */ sll $v0, $v0, 2
/* 1372F4 80243FB4 3C038025 */ lui $v1, %hi(D_8024F090)
/* 1372F8 80243FB8 00621821 */ addu $v1, $v1, $v0
/* 1372FC 80243FBC 8C63F090 */ lw $v1, %lo(D_8024F090)($v1)
/* 137300 80243FC0 24020006 */ addiu $v0, $zero, 6
/* 137304 80243FC4 14620008 */ bne $v1, $v0, .L80243FE8
/* 137308 80243FC8 02342821 */ addu $a1, $s1, $s4
/* 13730C 80243FCC 8FAF0128 */ lw $t7, 0x128($sp)
/* 137310 80243FD0 8E04001C */ lw $a0, 0x1c($s0)
/* 137314 80243FD4 0C051261 */ jal set_hud_element_render_pos
/* 137318 80243FD8 25E60032 */ addiu $a2, $t7, 0x32
/* 13731C 80243FDC 8E04001C */ lw $a0, 0x1c($s0)
/* 137320 80243FE0 0C0511F8 */ jal draw_hud_element_3
/* 137324 80243FE4 00000000 */ nop
.L80243FE8:
/* 137328 80243FE8 8EA20000 */ lw $v0, ($s5)
/* 13732C 80243FEC 00021080 */ sll $v0, $v0, 2
/* 137330 80243FF0 3C048025 */ lui $a0, %hi(D_8024F058)
/* 137334 80243FF4 00822021 */ addu $a0, $a0, $v0
/* 137338 80243FF8 0C093BA0 */ jal pause_get_menu_msg
/* 13733C 80243FFC 8C84F058 */ lw $a0, %lo(D_8024F058)($a0)
/* 137340 80244000 0040202D */ daddu $a0, $v0, $zero
/* 137344 80244004 2625000A */ addiu $a1, $s1, 0xa
/* 137348 80244008 8FAE0128 */ lw $t6, 0x128($sp)
/* 13734C 8024400C 240700FF */ addiu $a3, $zero, 0xff
/* 137350 80244010 AFB60010 */ sw $s6, 0x10($sp)
/* 137354 80244014 AFA00014 */ sw $zero, 0x14($sp)
/* 137358 80244018 0C04993B */ jal draw_msg
/* 13735C 8024401C 25C6002C */ addiu $a2, $t6, 0x2c
.L80244020:
/* 137360 80244020 8FBF00FC */ lw $ra, 0xfc($sp)
/* 137364 80244024 8FBE00F8 */ lw $fp, 0xf8($sp)
/* 137368 80244028 8FB700F4 */ lw $s7, 0xf4($sp)
/* 13736C 8024402C 8FB600F0 */ lw $s6, 0xf0($sp)
/* 137370 80244030 8FB500EC */ lw $s5, 0xec($sp)
/* 137374 80244034 8FB400E8 */ lw $s4, 0xe8($sp)
/* 137378 80244038 8FB300E4 */ lw $s3, 0xe4($sp)
/* 13737C 8024403C 8FB200E0 */ lw $s2, 0xe0($sp)
/* 137380 80244040 8FB100DC */ lw $s1, 0xdc($sp)
/* 137384 80244044 8FB000D8 */ lw $s0, 0xd8($sp)
/* 137388 80244048 D7BA0118 */ ldc1 $f26, 0x118($sp)
/* 13738C 8024404C D7B80110 */ ldc1 $f24, 0x110($sp)
/* 137390 80244050 D7B60108 */ ldc1 $f22, 0x108($sp)
/* 137394 80244054 D7B40100 */ ldc1 $f20, 0x100($sp)
/* 137398 80244058 03E00008 */ jr $ra
/* 13739C 8024405C 27BD0120 */ addiu $sp, $sp, 0x120

View File

@ -1,119 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel jtbl_8026FF60
.word .L802442F4_137634, .L80244354_137694, .L80244374_1376B4, .L802443A0_1376E0, .L802443D8_137718, 0, 0, 0
.section .text
glabel pause_tutorial_input
/* 1375E0 802442A0 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 1375E4 802442A4 AFB20018 */ sw $s2, 0x18($sp)
/* 1375E8 802442A8 0080902D */ daddu $s2, $a0, $zero
/* 1375EC 802442AC AFB3001C */ sw $s3, 0x1c($sp)
/* 1375F0 802442B0 00A0982D */ daddu $s3, $a1, $zero
/* 1375F4 802442B4 AFBF0020 */ sw $ra, 0x20($sp)
/* 1375F8 802442B8 AFB10014 */ sw $s1, 0x14($sp)
/* 1375FC 802442BC AFB00010 */ sw $s0, 0x10($sp)
/* 137600 802442C0 8E510000 */ lw $s1, ($s2)
/* 137604 802442C4 8E700000 */ lw $s0, ($s3)
/* 137608 802442C8 3C038025 */ lui $v1, %hi(D_8024F01C)
/* 13760C 802442CC 8C63F01C */ lw $v1, %lo(D_8024F01C)($v1)
/* 137610 802442D0 2C620005 */ sltiu $v0, $v1, 5
/* 137614 802442D4 1040004A */ beqz $v0, .L80244400
/* 137618 802442D8 0220202D */ daddu $a0, $s1, $zero
/* 13761C 802442DC 00031080 */ sll $v0, $v1, 2
/* 137620 802442E0 3C018027 */ lui $at, %hi(jtbl_8026FF60)
/* 137624 802442E4 00220821 */ addu $at, $at, $v0
/* 137628 802442E8 8C22FF60 */ lw $v0, %lo(jtbl_8026FF60)($at)
/* 13762C 802442EC 00400008 */ jr $v0
/* 137630 802442F0 00000000 */ nop
.L802442F4_137634:
/* 137634 802442F4 3C028025 */ lui $v0, %hi(D_8024F018)
/* 137638 802442F8 8C42F018 */ lw $v0, %lo(D_8024F018)($v0)
/* 13763C 802442FC 00021080 */ sll $v0, $v0, 2
/* 137640 80244300 3C018025 */ lui $at, %hi(D_8024F020)
/* 137644 80244304 00220821 */ addu $at, $at, $v0
/* 137648 80244308 8C22F020 */ lw $v0, %lo(D_8024F020)($at)
/* 13764C 8024430C 02228024 */ and $s0, $s1, $v0
/* 137650 80244310 12000004 */ beqz $s0, .L80244324
/* 137654 80244314 0200882D */ daddu $s1, $s0, $zero
/* 137658 80244318 24020001 */ addiu $v0, $zero, 1
/* 13765C 8024431C 3C018025 */ lui $at, %hi(D_8024F01C)
/* 137660 80244320 AC22F01C */ sw $v0, %lo(D_8024F01C)($at)
.L80244324:
/* 137664 80244324 10800005 */ beqz $a0, .L8024433C
/* 137668 80244328 00000000 */ nop
/* 13766C 8024432C 16000003 */ bnez $s0, .L8024433C
/* 137670 80244330 00000000 */ nop
/* 137674 80244334 0C05272D */ jal sfx_play_sound
/* 137678 80244338 2404021D */ addiu $a0, $zero, 0x21d
.L8024433C:
/* 13767C 8024433C 3C028025 */ lui $v0, %hi(D_8024F018)
/* 137680 80244340 8C42F018 */ lw $v0, %lo(D_8024F018)($v0)
/* 137684 80244344 5440002F */ bnel $v0, $zero, .L80244404
/* 137688 80244348 AE510000 */ sw $s1, ($s2)
/* 13768C 8024434C 080910FF */ j .L802443FC
/* 137690 80244350 0000882D */ daddu $s1, $zero, $zero
.L80244354_137694:
/* 137694 80244354 0000882D */ daddu $s1, $zero, $zero
/* 137698 80244358 24020002 */ addiu $v0, $zero, 2
/* 13769C 8024435C 3C018027 */ lui $at, %hi(D_802700E0)
/* 1376A0 80244360 AC2000E0 */ sw $zero, %lo(D_802700E0)($at)
/* 1376A4 80244364 3C018025 */ lui $at, %hi(D_8024F01C)
/* 1376A8 80244368 AC22F01C */ sw $v0, %lo(D_8024F01C)($at)
/* 1376AC 8024436C 08091100 */ j .L80244400
/* 1376B0 80244370 0220802D */ daddu $s0, $s1, $zero
.L80244374_1376B4:
/* 1376B4 80244374 3C038027 */ lui $v1, %hi(D_802700E0)
/* 1376B8 80244378 246300E0 */ addiu $v1, $v1, %lo(D_802700E0)
/* 1376BC 8024437C 8C620000 */ lw $v0, ($v1)
/* 1376C0 80244380 2442FFFF */ addiu $v0, $v0, -1
/* 1376C4 80244384 1C40001C */ bgtz $v0, .L802443F8
/* 1376C8 80244388 AC620000 */ sw $v0, ($v1)
/* 1376CC 8024438C 24020003 */ addiu $v0, $zero, 3
/* 1376D0 80244390 3C018025 */ lui $at, %hi(D_8024F01C)
/* 1376D4 80244394 AC22F01C */ sw $v0, %lo(D_8024F01C)($at)
/* 1376D8 80244398 080910FF */ j .L802443FC
/* 1376DC 8024439C 0000882D */ daddu $s1, $zero, $zero
.L802443A0_1376E0:
/* 1376E0 802443A0 0000882D */ daddu $s1, $zero, $zero
/* 1376E4 802443A4 0220802D */ daddu $s0, $s1, $zero
/* 1376E8 802443A8 24020010 */ addiu $v0, $zero, 0x10
/* 1376EC 802443AC 3C048025 */ lui $a0, %hi(D_8024F018)
/* 1376F0 802443B0 2484F018 */ addiu $a0, $a0, %lo(D_8024F018)
/* 1376F4 802443B4 3C018027 */ lui $at, %hi(D_802700E0)
/* 1376F8 802443B8 AC2200E0 */ sw $v0, %lo(D_802700E0)($at)
/* 1376FC 802443BC 8C820000 */ lw $v0, ($a0)
/* 137700 802443C0 24030004 */ addiu $v1, $zero, 4
/* 137704 802443C4 3C018025 */ lui $at, %hi(D_8024F01C)
/* 137708 802443C8 AC23F01C */ sw $v1, %lo(D_8024F01C)($at)
/* 13770C 802443CC 24420001 */ addiu $v0, $v0, 1
/* 137710 802443D0 08091100 */ j .L80244400
/* 137714 802443D4 AC820000 */ sw $v0, ($a0)
.L802443D8_137718:
/* 137718 802443D8 3C038027 */ lui $v1, %hi(D_802700E0)
/* 13771C 802443DC 246300E0 */ addiu $v1, $v1, %lo(D_802700E0)
/* 137720 802443E0 8C620000 */ lw $v0, ($v1)
/* 137724 802443E4 2442FFFF */ addiu $v0, $v0, -1
/* 137728 802443E8 1C400003 */ bgtz $v0, .L802443F8
/* 13772C 802443EC AC620000 */ sw $v0, ($v1)
/* 137730 802443F0 3C018025 */ lui $at, %hi(D_8024F01C)
/* 137734 802443F4 AC20F01C */ sw $zero, %lo(D_8024F01C)($at)
.L802443F8:
/* 137738 802443F8 0000882D */ daddu $s1, $zero, $zero
.L802443FC:
/* 13773C 802443FC 0220802D */ daddu $s0, $s1, $zero
.L80244400:
/* 137740 80244400 AE510000 */ sw $s1, ($s2)
.L80244404:
/* 137744 80244404 AE700000 */ sw $s0, ($s3)
/* 137748 80244408 8FBF0020 */ lw $ra, 0x20($sp)
/* 13774C 8024440C 8FB3001C */ lw $s3, 0x1c($sp)
/* 137750 80244410 8FB20018 */ lw $s2, 0x18($sp)
/* 137754 80244414 8FB10014 */ lw $s1, 0x14($sp)
/* 137758 80244418 8FB00010 */ lw $s0, 0x10($sp)
/* 13775C 8024441C 03E00008 */ jr $ra
/* 137760 80244420 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -1,88 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_8026FF88
.double 255.0
.section .text
glabel pause_tabs_draw_badges
/* 138000 80244CC0 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 138004 80244CC4 AFB10014 */ sw $s1, 0x14($sp)
/* 138008 80244CC8 8FB10040 */ lw $s1, 0x40($sp)
/* 13800C 80244CCC AFB40020 */ sw $s4, 0x20($sp)
/* 138010 80244CD0 0080A02D */ daddu $s4, $a0, $zero
/* 138014 80244CD4 AFB20018 */ sw $s2, 0x18($sp)
/* 138018 80244CD8 00A0902D */ daddu $s2, $a1, $zero
/* 13801C 80244CDC AFB3001C */ sw $s3, 0x1c($sp)
/* 138020 80244CE0 00C0982D */ daddu $s3, $a2, $zero
/* 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, %hi(gPauseMenuTabIconIDs)
/* 138034 80244CF4 26100130 */ addiu $s0, $s0, %lo(gPauseMenuTabIconIDs)
/* 138038 80244CF8 8E040004 */ lw $a0, 4($s0)
/* 13803C 80244CFC 0C051280 */ jal set_hud_element_flags
/* 138040 80244D00 24050020 */ addiu $a1, $zero, 0x20
/* 138044 80244D04 3C013FE0 */ lui $at, 0x3fe0
/* 138048 80244D08 44811800 */ mtc1 $at, $f3
/* 13804C 80244D0C 44801000 */ mtc1 $zero, $f2
/* 138050 80244D10 44910000 */ mtc1 $s1, $f0
/* 138054 80244D14 00000000 */ nop
/* 138058 80244D18 46800021 */ cvt.d.w $f0, $f0
/* 13805C 80244D1C 46220002 */ mul.d $f0, $f0, $f2
/* 138060 80244D20 00000000 */ nop
/* 138064 80244D24 3C018027 */ lui $at, %hi(D_8026FF88)
/* 138068 80244D28 D422FF88 */ ldc1 $f2, %lo(D_8026FF88)($at)
/* 13806C 80244D2C 46201081 */ sub.d $f2, $f2, $f0
/* 138070 80244D30 8E040004 */ lw $a0, 4($s0)
/* 138074 80244D34 4620110D */ trunc.w.d $f4, $f2
/* 138078 80244D38 44052000 */ mfc1 $a1, $f4
/* 13807C 80244D3C 08091358 */ j .L80244D60
/* 138080 80244D40 00000000 */ nop
.L80244D44:
/* 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_hud_element_flags
/* 138094 80244D54 24050020 */ addiu $a1, $zero, 0x20
/* 138098 80244D58 8E040004 */ lw $a0, 4($s0)
/* 13809C 80244D5C 240500FF */ addiu $a1, $zero, 0xff
.L80244D60:
/* 1380A0 80244D60 0C0513AC */ jal set_hud_element_alpha
/* 1380A4 80244D64 00000000 */ nop
/* 1380A8 80244D68 26450016 */ addiu $a1, $s2, 0x16
/* 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_hud_element_render_pos
/* 1380BC 80244D7C 26660007 */ addiu $a2, $s3, 7
/* 1380C0 80244D80 8E040004 */ lw $a0, 4($s0)
/* 1380C4 80244D84 0C0511F8 */ jal draw_hud_element_3
/* 1380C8 80244D88 00000000 */ nop
/* 1380CC 80244D8C 3C028027 */ lui $v0, %hi(gPauseMenuCurrentTab)
/* 1380D0 80244D90 804200D4 */ lb $v0, %lo(gPauseMenuCurrentTab)($v0)
/* 1380D4 80244D94 1440000C */ bnez $v0, .L80244DC8
/* 1380D8 80244D98 00000000 */ nop
/* 1380DC 80244D9C 82830001 */ lb $v1, 1($s4)
/* 1380E0 80244DA0 3C028025 */ lui $v0, %hi(D_8024F1D8)
/* 1380E4 80244DA4 2442F1D8 */ addiu $v0, $v0, %lo(D_8024F1D8)
/* 1380E8 80244DA8 00622021 */ addu $a0, $v1, $v0
/* 1380EC 80244DAC 90830000 */ lbu $v1, ($a0)
/* 1380F0 80244DB0 2402001A */ addiu $v0, $zero, 0x1a
/* 1380F4 80244DB4 14620004 */ bne $v1, $v0, .L80244DC8
/* 1380F8 80244DB8 0060202D */ daddu $a0, $v1, $zero
/* 1380FC 80244DBC 0240282D */ daddu $a1, $s2, $zero
/* 138100 80244DC0 0C090B41 */ jal func_80242D04
/* 138104 80244DC4 26660006 */ addiu $a2, $s3, 6
.L80244DC8:
/* 138108 80244DC8 8FBF0024 */ lw $ra, 0x24($sp)
/* 13810C 80244DCC 8FB40020 */ lw $s4, 0x20($sp)
/* 138110 80244DD0 8FB3001C */ lw $s3, 0x1c($sp)
/* 138114 80244DD4 8FB20018 */ lw $s2, 0x18($sp)
/* 138118 80244DD8 8FB10014 */ lw $s1, 0x14($sp)
/* 13811C 80244DDC 8FB00010 */ lw $s0, 0x10($sp)
/* 138120 80244DE0 03E00008 */ jr $ra
/* 138124 80244DE4 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -1,88 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_8026FF90
.double 255.0
.section .text
glabel pause_tabs_draw_items
/* 138128 80244DE8 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 13812C 80244DEC AFB10014 */ sw $s1, 0x14($sp)
/* 138130 80244DF0 8FB10040 */ lw $s1, 0x40($sp)
/* 138134 80244DF4 AFB40020 */ sw $s4, 0x20($sp)
/* 138138 80244DF8 0080A02D */ daddu $s4, $a0, $zero
/* 13813C 80244DFC AFB20018 */ sw $s2, 0x18($sp)
/* 138140 80244E00 00A0902D */ daddu $s2, $a1, $zero
/* 138144 80244E04 AFB3001C */ sw $s3, 0x1c($sp)
/* 138148 80244E08 00C0982D */ daddu $s3, $a2, $zero
/* 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, %hi(gPauseMenuTabIconIDs)
/* 13815C 80244E1C 26100130 */ addiu $s0, $s0, %lo(gPauseMenuTabIconIDs)
/* 138160 80244E20 8E040008 */ lw $a0, 8($s0)
/* 138164 80244E24 0C051280 */ jal set_hud_element_flags
/* 138168 80244E28 24050020 */ addiu $a1, $zero, 0x20
/* 13816C 80244E2C 3C013FE0 */ lui $at, 0x3fe0
/* 138170 80244E30 44811800 */ mtc1 $at, $f3
/* 138174 80244E34 44801000 */ mtc1 $zero, $f2
/* 138178 80244E38 44910000 */ mtc1 $s1, $f0
/* 13817C 80244E3C 00000000 */ nop
/* 138180 80244E40 46800021 */ cvt.d.w $f0, $f0
/* 138184 80244E44 46220002 */ mul.d $f0, $f0, $f2
/* 138188 80244E48 00000000 */ nop
/* 13818C 80244E4C 3C018027 */ lui $at, %hi(D_8026FF90)
/* 138190 80244E50 D422FF90 */ ldc1 $f2, %lo(D_8026FF90)($at)
/* 138194 80244E54 46201081 */ sub.d $f2, $f2, $f0
/* 138198 80244E58 8E040008 */ lw $a0, 8($s0)
/* 13819C 80244E5C 4620110D */ trunc.w.d $f4, $f2
/* 1381A0 80244E60 44052000 */ mfc1 $a1, $f4
/* 1381A4 80244E64 080913A2 */ j .L80244E88
/* 1381A8 80244E68 00000000 */ nop
.L80244E6C:
/* 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_hud_element_flags
/* 1381BC 80244E7C 24050020 */ addiu $a1, $zero, 0x20
/* 1381C0 80244E80 8E040008 */ lw $a0, 8($s0)
/* 1381C4 80244E84 240500FF */ addiu $a1, $zero, 0xff
.L80244E88:
/* 1381C8 80244E88 0C0513AC */ jal set_hud_element_alpha
/* 1381CC 80244E8C 00000000 */ nop
/* 1381D0 80244E90 26450016 */ addiu $a1, $s2, 0x16
/* 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_hud_element_render_pos
/* 1381E4 80244EA4 26660007 */ addiu $a2, $s3, 7
/* 1381E8 80244EA8 8E040008 */ lw $a0, 8($s0)
/* 1381EC 80244EAC 0C0511F8 */ jal draw_hud_element_3
/* 1381F0 80244EB0 00000000 */ nop
/* 1381F4 80244EB4 3C028027 */ lui $v0, %hi(gPauseMenuCurrentTab)
/* 1381F8 80244EB8 804200D4 */ lb $v0, %lo(gPauseMenuCurrentTab)($v0)
/* 1381FC 80244EBC 1440000C */ bnez $v0, .L80244EF0
/* 138200 80244EC0 00000000 */ nop
/* 138204 80244EC4 82830001 */ lb $v1, 1($s4)
/* 138208 80244EC8 3C028025 */ lui $v0, %hi(D_8024F1D8)
/* 13820C 80244ECC 2442F1D8 */ addiu $v0, $v0, %lo(D_8024F1D8)
/* 138210 80244ED0 00622021 */ addu $a0, $v1, $v0
/* 138214 80244ED4 90830000 */ lbu $v1, ($a0)
/* 138218 80244ED8 2402001B */ addiu $v0, $zero, 0x1b
/* 13821C 80244EDC 14620004 */ bne $v1, $v0, .L80244EF0
/* 138220 80244EE0 0060202D */ daddu $a0, $v1, $zero
/* 138224 80244EE4 0240282D */ daddu $a1, $s2, $zero
/* 138228 80244EE8 0C090B41 */ jal func_80242D04
/* 13822C 80244EEC 26660006 */ addiu $a2, $s3, 6
.L80244EF0:
/* 138230 80244EF0 8FBF0024 */ lw $ra, 0x24($sp)
/* 138234 80244EF4 8FB40020 */ lw $s4, 0x20($sp)
/* 138238 80244EF8 8FB3001C */ lw $s3, 0x1c($sp)
/* 13823C 80244EFC 8FB20018 */ lw $s2, 0x18($sp)
/* 138240 80244F00 8FB10014 */ lw $s1, 0x14($sp)
/* 138244 80244F04 8FB00010 */ lw $s0, 0x10($sp)
/* 138248 80244F08 03E00008 */ jr $ra
/* 13824C 80244F0C 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -1,88 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_8026FFA8
.double 255.0
.section .text
glabel pause_tabs_draw_map
/* 1384A0 80245160 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 1384A4 80245164 AFB10014 */ sw $s1, 0x14($sp)
/* 1384A8 80245168 8FB10040 */ lw $s1, 0x40($sp)
/* 1384AC 8024516C AFB40020 */ sw $s4, 0x20($sp)
/* 1384B0 80245170 0080A02D */ daddu $s4, $a0, $zero
/* 1384B4 80245174 AFB20018 */ sw $s2, 0x18($sp)
/* 1384B8 80245178 00A0902D */ daddu $s2, $a1, $zero
/* 1384BC 8024517C AFB3001C */ sw $s3, 0x1c($sp)
/* 1384C0 80245180 00C0982D */ daddu $s3, $a2, $zero
/* 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, %hi(gPauseMenuTabIconIDs)
/* 1384D4 80245194 26100130 */ addiu $s0, $s0, %lo(gPauseMenuTabIconIDs)
/* 1384D8 80245198 8E040014 */ lw $a0, 0x14($s0)
/* 1384DC 8024519C 0C051280 */ jal set_hud_element_flags
/* 1384E0 802451A0 24050020 */ addiu $a1, $zero, 0x20
/* 1384E4 802451A4 3C013FE0 */ lui $at, 0x3fe0
/* 1384E8 802451A8 44811800 */ mtc1 $at, $f3
/* 1384EC 802451AC 44801000 */ mtc1 $zero, $f2
/* 1384F0 802451B0 44910000 */ mtc1 $s1, $f0
/* 1384F4 802451B4 00000000 */ nop
/* 1384F8 802451B8 46800021 */ cvt.d.w $f0, $f0
/* 1384FC 802451BC 46220002 */ mul.d $f0, $f0, $f2
/* 138500 802451C0 00000000 */ nop
/* 138504 802451C4 3C018027 */ lui $at, %hi(D_8026FFA8)
/* 138508 802451C8 D422FFA8 */ ldc1 $f2, %lo(D_8026FFA8)($at)
/* 13850C 802451CC 46201081 */ sub.d $f2, $f2, $f0
/* 138510 802451D0 8E040014 */ lw $a0, 0x14($s0)
/* 138514 802451D4 4620110D */ trunc.w.d $f4, $f2
/* 138518 802451D8 44052000 */ mfc1 $a1, $f4
/* 13851C 802451DC 08091480 */ j .L80245200
/* 138520 802451E0 00000000 */ nop
.L802451E4:
/* 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_hud_element_flags
/* 138534 802451F4 24050020 */ addiu $a1, $zero, 0x20
/* 138538 802451F8 8E040014 */ lw $a0, 0x14($s0)
/* 13853C 802451FC 240500FF */ addiu $a1, $zero, 0xff
.L80245200:
/* 138540 80245200 0C0513AC */ jal set_hud_element_alpha
/* 138544 80245204 00000000 */ nop
/* 138548 80245208 26450017 */ addiu $a1, $s2, 0x17
/* 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_hud_element_render_pos
/* 13855C 8024521C 26660007 */ addiu $a2, $s3, 7
/* 138560 80245220 8E040014 */ lw $a0, 0x14($s0)
/* 138564 80245224 0C0511F8 */ jal draw_hud_element_3
/* 138568 80245228 00000000 */ nop
/* 13856C 8024522C 3C028027 */ lui $v0, %hi(gPauseMenuCurrentTab)
/* 138570 80245230 804200D4 */ lb $v0, %lo(gPauseMenuCurrentTab)($v0)
/* 138574 80245234 1440000C */ bnez $v0, .L80245268
/* 138578 80245238 00000000 */ nop
/* 13857C 8024523C 82830001 */ lb $v1, 1($s4)
/* 138580 80245240 3C028025 */ lui $v0, %hi(D_8024F1D8)
/* 138584 80245244 2442F1D8 */ addiu $v0, $v0, %lo(D_8024F1D8)
/* 138588 80245248 00622021 */ addu $a0, $v1, $v0
/* 13858C 8024524C 90830000 */ lbu $v1, ($a0)
/* 138590 80245250 2402001E */ addiu $v0, $zero, 0x1e
/* 138594 80245254 14620004 */ bne $v1, $v0, .L80245268
/* 138598 80245258 0060202D */ daddu $a0, $v1, $zero
/* 13859C 8024525C 0240282D */ daddu $a1, $s2, $zero
/* 1385A0 80245260 0C090B41 */ jal func_80242D04
/* 1385A4 80245264 26660006 */ addiu $a2, $s3, 6
.L80245268:
/* 1385A8 80245268 8FBF0024 */ lw $ra, 0x24($sp)
/* 1385AC 8024526C 8FB40020 */ lw $s4, 0x20($sp)
/* 1385B0 80245270 8FB3001C */ lw $s3, 0x1c($sp)
/* 1385B4 80245274 8FB20018 */ lw $s2, 0x18($sp)
/* 1385B8 80245278 8FB10014 */ lw $s1, 0x14($sp)
/* 1385BC 8024527C 8FB00010 */ lw $s0, 0x10($sp)
/* 1385C0 80245280 03E00008 */ jr $ra
/* 1385C4 80245284 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -1,88 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_8026FF98
.double 255.0
.section .text
glabel pause_tabs_draw_party
/* 138250 80244F10 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 138254 80244F14 AFB10014 */ sw $s1, 0x14($sp)
/* 138258 80244F18 8FB10040 */ lw $s1, 0x40($sp)
/* 13825C 80244F1C AFB40020 */ sw $s4, 0x20($sp)
/* 138260 80244F20 0080A02D */ daddu $s4, $a0, $zero
/* 138264 80244F24 AFB20018 */ sw $s2, 0x18($sp)
/* 138268 80244F28 00A0902D */ daddu $s2, $a1, $zero
/* 13826C 80244F2C AFB3001C */ sw $s3, 0x1c($sp)
/* 138270 80244F30 00C0982D */ daddu $s3, $a2, $zero
/* 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, %hi(gPauseMenuTabIconIDs)
/* 138284 80244F44 26100130 */ addiu $s0, $s0, %lo(gPauseMenuTabIconIDs)
/* 138288 80244F48 8E04000C */ lw $a0, 0xc($s0)
/* 13828C 80244F4C 0C051280 */ jal set_hud_element_flags
/* 138290 80244F50 24050020 */ addiu $a1, $zero, 0x20
/* 138294 80244F54 3C013FE0 */ lui $at, 0x3fe0
/* 138298 80244F58 44811800 */ mtc1 $at, $f3
/* 13829C 80244F5C 44801000 */ mtc1 $zero, $f2
/* 1382A0 80244F60 44910000 */ mtc1 $s1, $f0
/* 1382A4 80244F64 00000000 */ nop
/* 1382A8 80244F68 46800021 */ cvt.d.w $f0, $f0
/* 1382AC 80244F6C 46220002 */ mul.d $f0, $f0, $f2
/* 1382B0 80244F70 00000000 */ nop
/* 1382B4 80244F74 3C018027 */ lui $at, %hi(D_8026FF98)
/* 1382B8 80244F78 D422FF98 */ ldc1 $f2, %lo(D_8026FF98)($at)
/* 1382BC 80244F7C 46201081 */ sub.d $f2, $f2, $f0
/* 1382C0 80244F80 8E04000C */ lw $a0, 0xc($s0)
/* 1382C4 80244F84 4620110D */ trunc.w.d $f4, $f2
/* 1382C8 80244F88 44052000 */ mfc1 $a1, $f4
/* 1382CC 80244F8C 080913EC */ j .L80244FB0
/* 1382D0 80244F90 00000000 */ nop
.L80244F94:
/* 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_hud_element_flags
/* 1382E4 80244FA4 24050020 */ addiu $a1, $zero, 0x20
/* 1382E8 80244FA8 8E04000C */ lw $a0, 0xc($s0)
/* 1382EC 80244FAC 240500FF */ addiu $a1, $zero, 0xff
.L80244FB0:
/* 1382F0 80244FB0 0C0513AC */ jal set_hud_element_alpha
/* 1382F4 80244FB4 00000000 */ nop
/* 1382F8 80244FB8 26450016 */ addiu $a1, $s2, 0x16
/* 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_hud_element_render_pos
/* 13830C 80244FCC 26660007 */ addiu $a2, $s3, 7
/* 138310 80244FD0 8E04000C */ lw $a0, 0xc($s0)
/* 138314 80244FD4 0C0511F8 */ jal draw_hud_element_3
/* 138318 80244FD8 00000000 */ nop
/* 13831C 80244FDC 3C028027 */ lui $v0, %hi(gPauseMenuCurrentTab)
/* 138320 80244FE0 804200D4 */ lb $v0, %lo(gPauseMenuCurrentTab)($v0)
/* 138324 80244FE4 1440000C */ bnez $v0, .L80245018
/* 138328 80244FE8 00000000 */ nop
/* 13832C 80244FEC 82830001 */ lb $v1, 1($s4)
/* 138330 80244FF0 3C028025 */ lui $v0, %hi(D_8024F1D8)
/* 138334 80244FF4 2442F1D8 */ addiu $v0, $v0, %lo(D_8024F1D8)
/* 138338 80244FF8 00622021 */ addu $a0, $v1, $v0
/* 13833C 80244FFC 90830000 */ lbu $v1, ($a0)
/* 138340 80245000 2402001C */ addiu $v0, $zero, 0x1c
/* 138344 80245004 14620004 */ bne $v1, $v0, .L80245018
/* 138348 80245008 0060202D */ daddu $a0, $v1, $zero
/* 13834C 8024500C 0240282D */ daddu $a1, $s2, $zero
/* 138350 80245010 0C090B41 */ jal func_80242D04
/* 138354 80245014 26660006 */ addiu $a2, $s3, 6
.L80245018:
/* 138358 80245018 8FBF0024 */ lw $ra, 0x24($sp)
/* 13835C 8024501C 8FB40020 */ lw $s4, 0x20($sp)
/* 138360 80245020 8FB3001C */ lw $s3, 0x1c($sp)
/* 138364 80245024 8FB20018 */ lw $s2, 0x18($sp)
/* 138368 80245028 8FB10014 */ lw $s1, 0x14($sp)
/* 13836C 8024502C 8FB00010 */ lw $s0, 0x10($sp)
/* 138370 80245030 03E00008 */ jr $ra
/* 138374 80245034 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -1,88 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_8026FFA0
.double 255.0
.section .text
glabel pause_tabs_draw_spirits
/* 138378 80245038 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 13837C 8024503C AFB10014 */ sw $s1, 0x14($sp)
/* 138380 80245040 8FB10040 */ lw $s1, 0x40($sp)
/* 138384 80245044 AFB40020 */ sw $s4, 0x20($sp)
/* 138388 80245048 0080A02D */ daddu $s4, $a0, $zero
/* 13838C 8024504C AFB20018 */ sw $s2, 0x18($sp)
/* 138390 80245050 00A0902D */ daddu $s2, $a1, $zero
/* 138394 80245054 AFB3001C */ sw $s3, 0x1c($sp)
/* 138398 80245058 00C0982D */ daddu $s3, $a2, $zero
/* 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, %hi(gPauseMenuTabIconIDs)
/* 1383AC 8024506C 26100130 */ addiu $s0, $s0, %lo(gPauseMenuTabIconIDs)
/* 1383B0 80245070 8E040010 */ lw $a0, 0x10($s0)
/* 1383B4 80245074 0C051280 */ jal set_hud_element_flags
/* 1383B8 80245078 24050020 */ addiu $a1, $zero, 0x20
/* 1383BC 8024507C 3C013FE0 */ lui $at, 0x3fe0
/* 1383C0 80245080 44811800 */ mtc1 $at, $f3
/* 1383C4 80245084 44801000 */ mtc1 $zero, $f2
/* 1383C8 80245088 44910000 */ mtc1 $s1, $f0
/* 1383CC 8024508C 00000000 */ nop
/* 1383D0 80245090 46800021 */ cvt.d.w $f0, $f0
/* 1383D4 80245094 46220002 */ mul.d $f0, $f0, $f2
/* 1383D8 80245098 00000000 */ nop
/* 1383DC 8024509C 3C018027 */ lui $at, %hi(D_8026FFA0)
/* 1383E0 802450A0 D422FFA0 */ ldc1 $f2, %lo(D_8026FFA0)($at)
/* 1383E4 802450A4 46201081 */ sub.d $f2, $f2, $f0
/* 1383E8 802450A8 8E040010 */ lw $a0, 0x10($s0)
/* 1383EC 802450AC 4620110D */ trunc.w.d $f4, $f2
/* 1383F0 802450B0 44052000 */ mfc1 $a1, $f4
/* 1383F4 802450B4 08091436 */ j .L802450D8
/* 1383F8 802450B8 00000000 */ nop
.L802450BC:
/* 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_hud_element_flags
/* 13840C 802450CC 24050020 */ addiu $a1, $zero, 0x20
/* 138410 802450D0 8E040010 */ lw $a0, 0x10($s0)
/* 138414 802450D4 240500FF */ addiu $a1, $zero, 0xff
.L802450D8:
/* 138418 802450D8 0C0513AC */ jal set_hud_element_alpha
/* 13841C 802450DC 00000000 */ nop
/* 138420 802450E0 26450016 */ addiu $a1, $s2, 0x16
/* 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_hud_element_render_pos
/* 138434 802450F4 26660007 */ addiu $a2, $s3, 7
/* 138438 802450F8 8E040010 */ lw $a0, 0x10($s0)
/* 13843C 802450FC 0C0511F8 */ jal draw_hud_element_3
/* 138440 80245100 00000000 */ nop
/* 138444 80245104 3C028027 */ lui $v0, %hi(gPauseMenuCurrentTab)
/* 138448 80245108 804200D4 */ lb $v0, %lo(gPauseMenuCurrentTab)($v0)
/* 13844C 8024510C 1440000C */ bnez $v0, .L80245140
/* 138450 80245110 00000000 */ nop
/* 138454 80245114 82830001 */ lb $v1, 1($s4)
/* 138458 80245118 3C028025 */ lui $v0, %hi(D_8024F1D8)
/* 13845C 8024511C 2442F1D8 */ addiu $v0, $v0, %lo(D_8024F1D8)
/* 138460 80245120 00622021 */ addu $a0, $v1, $v0
/* 138464 80245124 90830000 */ lbu $v1, ($a0)
/* 138468 80245128 2402001D */ addiu $v0, $zero, 0x1d
/* 13846C 8024512C 14620004 */ bne $v1, $v0, .L80245140
/* 138470 80245130 0060202D */ daddu $a0, $v1, $zero
/* 138474 80245134 0240282D */ daddu $a1, $s2, $zero
/* 138478 80245138 0C090B41 */ jal func_80242D04
/* 13847C 8024513C 26660006 */ addiu $a2, $s3, 6
.L80245140:
/* 138480 80245140 8FBF0024 */ lw $ra, 0x24($sp)
/* 138484 80245144 8FB40020 */ lw $s4, 0x20($sp)
/* 138488 80245148 8FB3001C */ lw $s3, 0x1c($sp)
/* 13848C 8024514C 8FB20018 */ lw $s2, 0x18($sp)
/* 138490 80245150 8FB10014 */ lw $s1, 0x14($sp)
/* 138494 80245154 8FB00010 */ lw $s0, 0x10($sp)
/* 138498 80245158 03E00008 */ jr $ra
/* 13849C 8024515C 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -1,88 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_8026FF80
.double 255.0
.section .text
glabel pause_tabs_draw_stats
/* 137ED8 80244B98 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 137EDC 80244B9C AFB10014 */ sw $s1, 0x14($sp)
/* 137EE0 80244BA0 8FB10040 */ lw $s1, 0x40($sp)
/* 137EE4 80244BA4 AFB40020 */ sw $s4, 0x20($sp)
/* 137EE8 80244BA8 0080A02D */ daddu $s4, $a0, $zero
/* 137EEC 80244BAC AFB20018 */ sw $s2, 0x18($sp)
/* 137EF0 80244BB0 00A0902D */ daddu $s2, $a1, $zero
/* 137EF4 80244BB4 AFB3001C */ sw $s3, 0x1c($sp)
/* 137EF8 80244BB8 00C0982D */ daddu $s3, $a2, $zero
/* 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, %hi(gPauseMenuTabIconIDs)
/* 137F0C 80244BCC 26100130 */ addiu $s0, $s0, %lo(gPauseMenuTabIconIDs)
/* 137F10 80244BD0 8E040000 */ lw $a0, ($s0)
/* 137F14 80244BD4 0C051280 */ jal set_hud_element_flags
/* 137F18 80244BD8 24050020 */ addiu $a1, $zero, 0x20
/* 137F1C 80244BDC 3C013FE0 */ lui $at, 0x3fe0
/* 137F20 80244BE0 44811800 */ mtc1 $at, $f3
/* 137F24 80244BE4 44801000 */ mtc1 $zero, $f2
/* 137F28 80244BE8 44910000 */ mtc1 $s1, $f0
/* 137F2C 80244BEC 00000000 */ nop
/* 137F30 80244BF0 46800021 */ cvt.d.w $f0, $f0
/* 137F34 80244BF4 46220002 */ mul.d $f0, $f0, $f2
/* 137F38 80244BF8 00000000 */ nop
/* 137F3C 80244BFC 3C018027 */ lui $at, %hi(D_8026FF80)
/* 137F40 80244C00 D422FF80 */ ldc1 $f2, %lo(D_8026FF80)($at)
/* 137F44 80244C04 46201081 */ sub.d $f2, $f2, $f0
/* 137F48 80244C08 8E040000 */ lw $a0, ($s0)
/* 137F4C 80244C0C 4620110D */ trunc.w.d $f4, $f2
/* 137F50 80244C10 44052000 */ mfc1 $a1, $f4
/* 137F54 80244C14 0809130E */ j .L80244C38
/* 137F58 80244C18 00000000 */ nop
.L80244C1C:
/* 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_hud_element_flags
/* 137F6C 80244C2C 24050020 */ addiu $a1, $zero, 0x20
/* 137F70 80244C30 8E040000 */ lw $a0, ($s0)
/* 137F74 80244C34 240500FF */ addiu $a1, $zero, 0xff
.L80244C38:
/* 137F78 80244C38 0C0513AC */ jal set_hud_element_alpha
/* 137F7C 80244C3C 00000000 */ nop
/* 137F80 80244C40 26450016 */ addiu $a1, $s2, 0x16
/* 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_hud_element_render_pos
/* 137F94 80244C54 26660007 */ addiu $a2, $s3, 7
/* 137F98 80244C58 8E040000 */ lw $a0, ($s0)
/* 137F9C 80244C5C 0C0511F8 */ jal draw_hud_element_3
/* 137FA0 80244C60 00000000 */ nop
/* 137FA4 80244C64 3C028027 */ lui $v0, %hi(gPauseMenuCurrentTab)
/* 137FA8 80244C68 804200D4 */ lb $v0, %lo(gPauseMenuCurrentTab)($v0)
/* 137FAC 80244C6C 1440000C */ bnez $v0, .L80244CA0
/* 137FB0 80244C70 00000000 */ nop
/* 137FB4 80244C74 82830001 */ lb $v1, 1($s4)
/* 137FB8 80244C78 3C028025 */ lui $v0, %hi(D_8024F1D8)
/* 137FBC 80244C7C 2442F1D8 */ addiu $v0, $v0, %lo(D_8024F1D8)
/* 137FC0 80244C80 00622021 */ addu $a0, $v1, $v0
/* 137FC4 80244C84 90830000 */ lbu $v1, ($a0)
/* 137FC8 80244C88 24020019 */ addiu $v0, $zero, 0x19
/* 137FCC 80244C8C 14620004 */ bne $v1, $v0, .L80244CA0
/* 137FD0 80244C90 0060202D */ daddu $a0, $v1, $zero
/* 137FD4 80244C94 0240282D */ daddu $a1, $s2, $zero
/* 137FD8 80244C98 0C090B41 */ jal func_80242D04
/* 137FDC 80244C9C 26660006 */ addiu $a2, $s3, 6
.L80244CA0:
/* 137FE0 80244CA0 8FBF0024 */ lw $ra, 0x24($sp)
/* 137FE4 80244CA4 8FB40020 */ lw $s4, 0x20($sp)
/* 137FE8 80244CA8 8FB3001C */ lw $s3, 0x1c($sp)
/* 137FEC 80244CAC 8FB20018 */ lw $s2, 0x18($sp)
/* 137FF0 80244CB0 8FB10014 */ lw $s1, 0x14($sp)
/* 137FF4 80244CB4 8FB00010 */ lw $s0, 0x10($sp)
/* 137FF8 80244CB8 03E00008 */ jr $ra
/* 137FFC 80244CBC 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -1,166 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel pause_tabs_handle_input
/* 138694 80245354 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 138698 80245358 AFB00010 */ sw $s0, 0x10($sp)
/* 13869C 8024535C 0080802D */ daddu $s0, $a0, $zero
/* 1386A0 80245360 3C030004 */ lui $v1, 4
/* 1386A4 80245364 3C028027 */ lui $v0, %hi(gPauseMenuHeldButtons)
/* 1386A8 80245368 8C4200C0 */ lw $v0, %lo(gPauseMenuHeldButtons)($v0)
/* 1386AC 8024536C 34632000 */ ori $v1, $v1, 0x2000
/* 1386B0 80245370 AFBF0018 */ sw $ra, 0x18($sp)
/* 1386B4 80245374 00431024 */ and $v0, $v0, $v1
/* 1386B8 80245378 1040001D */ beqz $v0, .L802453F0
/* 1386BC 8024537C AFB10014 */ sw $s1, 0x14($sp)
/* 1386C0 80245380 24070005 */ addiu $a3, $zero, 5
/* 1386C4 80245384 3C048027 */ lui $a0, %hi(D_8027014C)
/* 1386C8 80245388 2484014C */ addiu $a0, $a0, %lo(D_8027014C)
/* 1386CC 8024538C 3C068025 */ lui $a2, %hi(gPauseMenuPanels)
/* 1386D0 80245390 24C6EF80 */ addiu $a2, $a2, %lo(gPauseMenuPanels)
/* 1386D4 80245394 3C058025 */ lui $a1, %hi(D_8024F1D0)
/* 1386D8 80245398 24A5F1D0 */ addiu $a1, $a1, %lo(D_8024F1D0)
.L8024539C:
/* 1386DC 8024539C 92020001 */ lbu $v0, 1($s0)
/* 1386E0 802453A0 2442FFFF */ addiu $v0, $v0, -1
/* 1386E4 802453A4 A2020001 */ sb $v0, 1($s0)
/* 1386E8 802453A8 00021600 */ sll $v0, $v0, 0x18
/* 1386EC 802453AC 04410007 */ bgez $v0, .L802453CC
/* 1386F0 802453B0 00000000 */ nop
/* 1386F4 802453B4 A2070001 */ sb $a3, 1($s0)
/* 1386F8 802453B8 8C830000 */ lw $v1, ($a0)
/* 1386FC 802453BC 28620708 */ slti $v0, $v1, 0x708
/* 138700 802453C0 10400002 */ beqz $v0, .L802453CC
/* 138704 802453C4 24620708 */ addiu $v0, $v1, 0x708
/* 138708 802453C8 AC820000 */ sw $v0, ($a0)
.L802453CC:
/* 13870C 802453CC 82020001 */ lb $v0, 1($s0)
/* 138710 802453D0 00451021 */ addu $v0, $v0, $a1
/* 138714 802453D4 90420000 */ lbu $v0, ($v0)
/* 138718 802453D8 00021080 */ sll $v0, $v0, 2
/* 13871C 802453DC 00461021 */ addu $v0, $v0, $a2
/* 138720 802453E0 8C420000 */ lw $v0, ($v0)
/* 138724 802453E4 90420000 */ lbu $v0, ($v0)
/* 138728 802453E8 1040FFEC */ beqz $v0, .L8024539C
/* 13872C 802453EC 00000000 */ nop
.L802453F0:
/* 138730 802453F0 3C030008 */ lui $v1, 8
/* 138734 802453F4 3C028027 */ lui $v0, %hi(gPauseMenuHeldButtons)
/* 138738 802453F8 8C4200C0 */ lw $v0, %lo(gPauseMenuHeldButtons)($v0)
/* 13873C 802453FC 34630010 */ ori $v1, $v1, 0x10
/* 138740 80245400 00431024 */ and $v0, $v0, $v1
/* 138744 80245404 1040001D */ beqz $v0, .L8024547C
/* 138748 80245408 00000000 */ nop
/* 13874C 8024540C 3C038027 */ lui $v1, %hi(D_8027014C)
/* 138750 80245410 2463014C */ addiu $v1, $v1, %lo(D_8027014C)
/* 138754 80245414 3C058025 */ lui $a1, %hi(gPauseMenuPanels)
/* 138758 80245418 24A5EF80 */ addiu $a1, $a1, %lo(gPauseMenuPanels)
/* 13875C 8024541C 3C048025 */ lui $a0, %hi(D_8024F1D0)
/* 138760 80245420 2484F1D0 */ addiu $a0, $a0, %lo(D_8024F1D0)
.L80245424:
/* 138764 80245424 92020001 */ lbu $v0, 1($s0)
/* 138768 80245428 24420001 */ addiu $v0, $v0, 1
/* 13876C 8024542C A2020001 */ sb $v0, 1($s0)
/* 138770 80245430 00021600 */ sll $v0, $v0, 0x18
/* 138774 80245434 00021603 */ sra $v0, $v0, 0x18
/* 138778 80245438 28420006 */ slti $v0, $v0, 6
/* 13877C 8024543C 14400006 */ bnez $v0, .L80245458
/* 138780 80245440 00000000 */ nop
/* 138784 80245444 A2000001 */ sb $zero, 1($s0)
/* 138788 80245448 8C620000 */ lw $v0, ($v1)
/* 13878C 8024544C 18400002 */ blez $v0, .L80245458
/* 138790 80245450 2442F8F8 */ addiu $v0, $v0, -0x708
/* 138794 80245454 AC620000 */ sw $v0, ($v1)
.L80245458:
/* 138798 80245458 82020001 */ lb $v0, 1($s0)
/* 13879C 8024545C 00441021 */ addu $v0, $v0, $a0
/* 1387A0 80245460 90420000 */ lbu $v0, ($v0)
/* 1387A4 80245464 00021080 */ sll $v0, $v0, 2
/* 1387A8 80245468 00451021 */ addu $v0, $v0, $a1
/* 1387AC 8024546C 8C420000 */ lw $v0, ($v0)
/* 1387B0 80245470 90420000 */ lbu $v0, ($v0)
/* 1387B4 80245474 1040FFEB */ beqz $v0, .L80245424
/* 1387B8 80245478 00000000 */ nop
.L8024547C:
/* 1387BC 8024547C 3C118025 */ lui $s1, %hi(D_8024F2E4)
/* 1387C0 80245480 2631F2E4 */ addiu $s1, $s1, %lo(D_8024F2E4)
/* 1387C4 80245484 82030001 */ lb $v1, 1($s0)
/* 1387C8 80245488 8E220000 */ lw $v0, ($s1)
/* 1387CC 8024548C 10620022 */ beq $v1, $v0, .L80245518
/* 1387D0 80245490 00000000 */ nop
/* 1387D4 80245494 3C048025 */ lui $a0, %hi(D_8024F1D8)
/* 1387D8 80245498 00832021 */ addu $a0, $a0, $v1
/* 1387DC 8024549C 9084F1D8 */ lbu $a0, %lo(D_8024F1D8)($a0)
/* 1387E0 802454A0 3C068024 */ lui $a2, %hi(func_80243090)
/* 1387E4 802454A4 24C63090 */ addiu $a2, $a2, %lo(func_80243090)
/* 1387E8 802454A8 0C051F92 */ jal replace_window_update
/* 1387EC 802454AC 24050040 */ addiu $a1, $zero, 0x40
/* 1387F0 802454B0 8E220000 */ lw $v0, ($s1)
/* 1387F4 802454B4 3C048025 */ lui $a0, %hi(D_8024F1D8)
/* 1387F8 802454B8 00822021 */ addu $a0, $a0, $v0
/* 1387FC 802454BC 9084F1D8 */ lbu $a0, %lo(D_8024F1D8)($a0)
/* 138800 802454C0 3C068024 */ lui $a2, %hi(func_80242FF4)
/* 138804 802454C4 24C62FF4 */ addiu $a2, $a2, %lo(func_80242FF4)
/* 138808 802454C8 0C051F92 */ jal replace_window_update
/* 13880C 802454CC 24050040 */ addiu $a1, $zero, 0x40
/* 138810 802454D0 3C048016 */ lui $a0, %hi(D_8015A070)
/* 138814 802454D4 2484A070 */ addiu $a0, $a0, %lo(D_8015A070)
/* 138818 802454D8 82020001 */ lb $v0, 1($s0)
/* 13881C 802454DC 8E250000 */ lw $a1, ($s1)
/* 138820 802454E0 00021140 */ sll $v0, $v0, 5
/* 138824 802454E4 3C038016 */ lui $v1, %hi(D_8015A07C)
/* 138828 802454E8 00621821 */ addu $v1, $v1, $v0
/* 13882C 802454EC 8463A07C */ lh $v1, %lo(D_8015A07C)($v1)
/* 138830 802454F0 24020019 */ addiu $v0, $zero, 0x19
/* 138834 802454F4 A482024E */ sh $v0, 0x24e($a0)
/* 138838 802454F8 3C018027 */ lui $at, %hi(D_80270148)
/* 13883C 802454FC AC250148 */ sw $a1, %lo(D_80270148)($at)
/* 138840 80245500 24630006 */ addiu $v1, $v1, 6
/* 138844 80245504 A483024C */ sh $v1, 0x24c($a0)
/* 138848 80245508 82020001 */ lb $v0, 1($s0)
/* 13884C 8024550C 240400C8 */ addiu $a0, $zero, 0xc8
/* 138850 80245510 0C05272D */ jal sfx_play_sound
/* 138854 80245514 AE220000 */ sw $v0, ($s1)
.L80245518:
/* 138858 80245518 3C028027 */ lui $v0, %hi(gPauseMenuPressedButtons)
/* 13885C 8024551C 8C4200C4 */ lw $v0, %lo(gPauseMenuPressedButtons)($v0)
/* 138860 80245520 30428000 */ andi $v0, $v0, 0x8000
/* 138864 80245524 10400016 */ beqz $v0, .L80245580
/* 138868 80245528 00000000 */ nop
/* 13886C 8024552C 82020001 */ lb $v0, 1($s0)
/* 138870 80245530 3C018025 */ lui $at, %hi(D_8024F1D0)
/* 138874 80245534 00220821 */ addu $at, $at, $v0
/* 138878 80245538 9022F1D0 */ lbu $v0, %lo(D_8024F1D0)($at)
/* 13887C 8024553C 00021080 */ sll $v0, $v0, 2
/* 138880 80245540 3C018025 */ lui $at, %hi(gPauseMenuPanels)
/* 138884 80245544 00220821 */ addu $at, $at, $v0
/* 138888 80245548 8C22EF80 */ lw $v0, %lo(gPauseMenuPanels)($at)
/* 13888C 8024554C 3C118025 */ lui $s1, %hi(D_8024F1D0)
/* 138890 80245550 2631F1D0 */ addiu $s1, $s1, %lo(D_8024F1D0)
/* 138894 80245554 90430000 */ lbu $v1, ($v0)
/* 138898 80245558 24020001 */ addiu $v0, $zero, 1
/* 13889C 8024555C 14620008 */ bne $v1, $v0, .L80245580
/* 1388A0 80245560 00000000 */ nop
/* 1388A4 80245564 0C05272D */ jal sfx_play_sound
/* 1388A8 80245568 240400C9 */ addiu $a0, $zero, 0xc9
/* 1388AC 8024556C 82020001 */ lb $v0, 1($s0)
/* 1388B0 80245570 00511021 */ addu $v0, $v0, $s1
/* 1388B4 80245574 90420000 */ lbu $v0, ($v0)
/* 1388B8 80245578 3C018027 */ lui $at, %hi(gPauseMenuCurrentTab)
/* 1388BC 8024557C A02200D4 */ sb $v0, %lo(gPauseMenuCurrentTab)($at)
.L80245580:
/* 1388C0 80245580 82020001 */ lb $v0, 1($s0)
/* 1388C4 80245584 00021080 */ sll $v0, $v0, 2
/* 1388C8 80245588 3C048025 */ lui $a0, %hi(D_8024F2E8)
/* 1388CC 8024558C 00822021 */ addu $a0, $a0, $v0
/* 1388D0 80245590 0C093BA0 */ jal pause_get_menu_msg
/* 1388D4 80245594 8C84F2E8 */ lw $a0, %lo(D_8024F2E8)($a0)
/* 1388D8 80245598 8FBF0018 */ lw $ra, 0x18($sp)
/* 1388DC 8024559C 8FB10014 */ lw $s1, 0x14($sp)
/* 1388E0 802455A0 8FB00010 */ lw $s0, 0x10($sp)
/* 1388E4 802455A4 3C018027 */ lui $at, %hi(gPauseMenuCurrentDescMsg)
/* 1388E8 802455A8 AC2200C8 */ sw $v0, %lo(gPauseMenuCurrentDescMsg)($at)
/* 1388EC 802455AC 3C018027 */ lui $at, %hi(gPauseMenuCurrentDescIconScript)
/* 1388F0 802455B0 AC2000CC */ sw $zero, %lo(gPauseMenuCurrentDescIconScript)($at)
/* 1388F4 802455B4 03E00008 */ jr $ra
/* 1388F8 802455B8 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,57 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel pause_tabs_init
/* 1385C8 80245288 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 1385CC 8024528C AFB3001C */ sw $s3, 0x1c($sp)
/* 1385D0 80245290 0080982D */ daddu $s3, $a0, $zero
/* 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, %hi(gPauseMenuTabIconIDs)
/* 1385E4 802452A4 26520130 */ addiu $s2, $s2, %lo(gPauseMenuTabIconIDs)
/* 1385E8 802452A8 AFB10014 */ sw $s1, 0x14($sp)
/* 1385EC 802452AC 3C118025 */ lui $s1, %hi(D_8024F1B0)
/* 1385F0 802452B0 2631F1B0 */ addiu $s1, $s1, %lo(D_8024F1B0)
/* 1385F4 802452B4 AFBF0020 */ sw $ra, 0x20($sp)
.L802452B8:
/* 1385F8 802452B8 8E240000 */ lw $a0, ($s1)
/* 1385FC 802452BC 26310004 */ addiu $s1, $s1, 4
/* 138600 802452C0 0C050529 */ jal create_hud_element
/* 138604 802452C4 26100001 */ addiu $s0, $s0, 1
/* 138608 802452C8 0040202D */ daddu $a0, $v0, $zero
/* 13860C 802452CC 24050080 */ addiu $a1, $zero, 0x80
/* 138610 802452D0 0C051280 */ jal set_hud_element_flags
/* 138614 802452D4 AE440000 */ sw $a0, ($s2)
/* 138618 802452D8 2A020006 */ slti $v0, $s0, 6
/* 13861C 802452DC 1440FFF6 */ bnez $v0, .L802452B8
/* 138620 802452E0 26520004 */ addiu $s2, $s2, 4
/* 138624 802452E4 24100006 */ addiu $s0, $zero, 6
/* 138628 802452E8 3C028025 */ lui $v0, %hi(D_8024F2C0)
/* 13862C 802452EC 2442F2C0 */ addiu $v0, $v0, %lo(D_8024F2C0)
.L802452F0:
/* 138630 802452F0 AC530010 */ sw $s3, 0x10($v0)
/* 138634 802452F4 2610FFFF */ addiu $s0, $s0, -1
/* 138638 802452F8 0601FFFD */ bgez $s0, .L802452F0
/* 13863C 802452FC 2442FFDC */ addiu $v0, $v0, -0x24
/* 138640 80245300 3C048025 */ lui $a0, %hi(D_8024F1E8)
/* 138644 80245304 2484F1E8 */ addiu $a0, $a0, %lo(D_8024F1E8)
/* 138648 80245308 0C051FCC */ jal setup_pause_menu_tab
/* 13864C 8024530C 24050007 */ addiu $a1, $zero, 7
/* 138650 80245310 24020019 */ addiu $v0, $zero, 0x19
/* 138654 80245314 3C018016 */ lui $at, %hi(D_8015A2BE)
/* 138658 80245318 A422A2BE */ sh $v0, %lo(D_8015A2BE)($at)
/* 13865C 8024531C 24020001 */ addiu $v0, $zero, 1
/* 138660 80245320 3C018027 */ lui $at, %hi(D_8027014C)
/* 138664 80245324 AC20014C */ sw $zero, %lo(D_8027014C)($at)
/* 138668 80245328 A2620000 */ sb $v0, ($s3)
/* 13866C 8024532C 8FBF0020 */ lw $ra, 0x20($sp)
/* 138670 80245330 8FB3001C */ lw $s3, 0x1c($sp)
/* 138674 80245334 8FB20018 */ lw $s2, 0x18($sp)
/* 138678 80245338 8FB10014 */ lw $s1, 0x14($sp)
/* 13867C 8024533C 8FB00010 */ lw $s0, 0x10($sp)
/* 138680 80245340 24020005 */ addiu $v0, $zero, 5
/* 138684 80245344 3C018027 */ lui $at, %hi(D_80270148)
/* 138688 80245348 AC220148 */ sw $v0, %lo(D_80270148)($at)
/* 13868C 8024534C 03E00008 */ jr $ra
/* 138690 80245350 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -1,242 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel pause_tabs_update
/* 1388FC 802455BC 27BDFFC8 */ addiu $sp, $sp, -0x38
/* 138900 802455C0 AFB3001C */ sw $s3, 0x1c($sp)
/* 138904 802455C4 0080982D */ daddu $s3, $a0, $zero
/* 138908 802455C8 AFBF0034 */ sw $ra, 0x34($sp)
/* 13890C 802455CC AFBE0030 */ sw $fp, 0x30($sp)
/* 138910 802455D0 AFB7002C */ sw $s7, 0x2c($sp)
/* 138914 802455D4 AFB60028 */ sw $s6, 0x28($sp)
/* 138918 802455D8 AFB50024 */ sw $s5, 0x24($sp)
/* 13891C 802455DC AFB40020 */ sw $s4, 0x20($sp)
/* 138920 802455E0 AFB20018 */ sw $s2, 0x18($sp)
/* 138924 802455E4 AFB10014 */ sw $s1, 0x14($sp)
/* 138928 802455E8 AFB00010 */ sw $s0, 0x10($sp)
/* 13892C 802455EC 82620001 */ lb $v0, 1($s3)
/* 138930 802455F0 00021880 */ sll $v1, $v0, 2
/* 138934 802455F4 00621821 */ addu $v1, $v1, $v0
/* 138938 802455F8 00031100 */ sll $v0, $v1, 4
/* 13893C 802455FC 00431023 */ subu $v0, $v0, $v1
/* 138940 80245600 3C038027 */ lui $v1, %hi(D_8027014C)
/* 138944 80245604 8C63014C */ lw $v1, %lo(D_8027014C)($v1)
/* 138948 80245608 00021080 */ sll $v0, $v0, 2
/* 13894C 8024560C 00431023 */ subu $v0, $v0, $v1
/* 138950 80245610 44820000 */ mtc1 $v0, $f0
/* 138954 80245614 00000000 */ nop
/* 138958 80245618 46800020 */ cvt.s.w $f0, $f0
/* 13895C 8024561C 4600018D */ trunc.w.s $f6, $f0
/* 138960 80245620 44043000 */ mfc1 $a0, $f6
/* 138964 80245624 00000000 */ nop
/* 138968 80245628 04810002 */ bgez $a0, .L80245634
/* 13896C 8024562C 0080802D */ daddu $s0, $a0, $zero
/* 138970 80245630 00108023 */ negu $s0, $s0
.L80245634:
/* 138974 80245634 0C00A52C */ jal sign
/* 138978 80245638 00000000 */ nop
/* 13897C 8024563C 0040182D */ daddu $v1, $v0, $zero
/* 138980 80245640 2A020010 */ slti $v0, $s0, 0x10
/* 138984 80245644 14400012 */ bnez $v0, .L80245690
/* 138988 80245648 00000000 */ nop
/* 13898C 8024564C 3C013FE0 */ lui $at, 0x3fe0
/* 138990 80245650 44811800 */ mtc1 $at, $f3
/* 138994 80245654 44801000 */ mtc1 $zero, $f2
/* 138998 80245658 44900000 */ mtc1 $s0, $f0
/* 13899C 8024565C 00000000 */ nop
/* 1389A0 80245660 46800021 */ cvt.d.w $f0, $f0
/* 1389A4 80245664 46220002 */ mul.d $f0, $f0, $f2
/* 1389A8 80245668 00000000 */ nop
/* 1389AC 8024566C 3C014200 */ lui $at, 0x4200
/* 1389B0 80245670 44812000 */ mtc1 $at, $f4
/* 1389B4 80245674 462000A0 */ cvt.s.d $f2, $f0
/* 1389B8 80245678 4602203C */ c.lt.s $f4, $f2
/* 1389BC 8024567C 00000000 */ nop
/* 1389C0 80245680 45030009 */ bc1tl .L802456A8
/* 1389C4 80245684 46002086 */ mov.s $f2, $f4
/* 1389C8 80245688 080915AA */ j .L802456A8
/* 1389CC 8024568C 00000000 */ nop
.L80245690:
/* 1389D0 80245690 3C028025 */ lui $v0, %hi(D_8024F300)
/* 1389D4 80245694 00501021 */ addu $v0, $v0, $s0
/* 1389D8 80245698 9042F300 */ lbu $v0, %lo(D_8024F300)($v0)
/* 1389DC 8024569C 44821000 */ mtc1 $v0, $f2
/* 1389E0 802456A0 00000000 */ nop
/* 1389E4 802456A4 468010A0 */ cvt.s.w $f2, $f2
.L802456A8:
/* 1389E8 802456A8 44830000 */ mtc1 $v1, $f0
/* 1389EC 802456AC 00000000 */ nop
/* 1389F0 802456B0 46800020 */ cvt.s.w $f0, $f0
/* 1389F4 802456B4 46001082 */ mul.s $f2, $f2, $f0
/* 1389F8 802456B8 00000000 */ nop
/* 1389FC 802456BC 3C028027 */ lui $v0, %hi(D_8027014C)
/* 138A00 802456C0 2442014C */ addiu $v0, $v0, %lo(D_8027014C)
/* 138A04 802456C4 C4400000 */ lwc1 $f0, ($v0)
/* 138A08 802456C8 46800020 */ cvt.s.w $f0, $f0
/* 138A0C 802456CC 46020000 */ add.s $f0, $f0, $f2
/* 138A10 802456D0 3C048027 */ lui $a0, %hi(D_80270148)
/* 138A14 802456D4 8C840148 */ lw $a0, %lo(D_80270148)($a0)
/* 138A18 802456D8 4600018D */ trunc.w.s $f6, $f0
/* 138A1C 802456DC E4460000 */ swc1 $f6, ($v0)
/* 138A20 802456E0 14800004 */ bnez $a0, .L802456F4
/* 138A24 802456E4 24020005 */ addiu $v0, $zero, 5
/* 138A28 802456E8 82630001 */ lb $v1, 1($s3)
/* 138A2C 802456EC 10620011 */ beq $v1, $v0, .L80245734
/* 138A30 802456F0 00000000 */ nop
.L802456F4:
/* 138A34 802456F4 82630001 */ lb $v1, 1($s3)
/* 138A38 802456F8 0083102A */ slt $v0, $a0, $v1
/* 138A3C 802456FC 14400005 */ bnez $v0, .L80245714
/* 138A40 80245700 24020005 */ addiu $v0, $zero, 5
/* 138A44 80245704 1482000B */ bne $a0, $v0, .L80245734
/* 138A48 80245708 00000000 */ nop
/* 138A4C 8024570C 14600009 */ bnez $v1, .L80245734
/* 138A50 80245710 00000000 */ nop
.L80245714:
/* 138A54 80245714 3C148024 */ lui $s4, %hi(func_80243238)
/* 138A58 80245718 26943238 */ addiu $s4, $s4, %lo(func_80243238)
/* 138A5C 8024571C 3C128024 */ lui $s2, %hi(func_802432E8)
/* 138A60 80245720 265232E8 */ addiu $s2, $s2, %lo(func_802432E8)
/* 138A64 80245724 080915D2 */ j .L80245748
/* 138A68 80245728 0000202D */ daddu $a0, $zero, $zero
.L8024572C:
/* 138A6C 8024572C 080915EE */ j .L802457B8
/* 138A70 80245730 24040001 */ addiu $a0, $zero, 1
.L80245734:
/* 138A74 80245734 3C148024 */ lui $s4, %hi(func_80243188)
/* 138A78 80245738 26943188 */ addiu $s4, $s4, %lo(func_80243188)
/* 138A7C 8024573C 3C128024 */ lui $s2, %hi(func_80243388)
/* 138A80 80245740 26523388 */ addiu $s2, $s2, %lo(func_80243388)
/* 138A84 80245744 0000202D */ daddu $a0, $zero, $zero
.L80245748:
/* 138A88 80245748 0080802D */ daddu $s0, $a0, $zero
/* 138A8C 8024574C 3C078025 */ lui $a3, %hi(gPauseMenuPanels)
/* 138A90 80245750 24E7EF80 */ addiu $a3, $a3, %lo(gPauseMenuPanels)
/* 138A94 80245754 3C068025 */ lui $a2, %hi(D_8024F1D0)
/* 138A98 80245758 24C6F1D0 */ addiu $a2, $a2, %lo(D_8024F1D0)
/* 138A9C 8024575C 3C058016 */ lui $a1, %hi(gWindows)
/* 138AA0 80245760 24A59D50 */ addiu $a1, $a1, %lo(gWindows)
/* 138AA4 80245764 3C038025 */ lui $v1, %hi(D_8024F1E0)
/* 138AA8 80245768 2463F1E0 */ addiu $v1, $v1, %lo(D_8024F1E0)
/* 138AAC 8024576C 02061021 */ addu $v0, $s0, $a2
.L80245770:
/* 138AB0 80245770 90420000 */ lbu $v0, ($v0)
/* 138AB4 80245774 00021080 */ sll $v0, $v0, 2
/* 138AB8 80245778 00471021 */ addu $v0, $v0, $a3
/* 138ABC 8024577C 8C420000 */ lw $v0, ($v0)
/* 138AC0 80245780 90420000 */ lbu $v0, ($v0)
/* 138AC4 80245784 50400009 */ beql $v0, $zero, .L802457AC
/* 138AC8 80245788 26100001 */ addiu $s0, $s0, 1
/* 138ACC 8024578C 02031021 */ addu $v0, $s0, $v1
/* 138AD0 80245790 90420000 */ lbu $v0, ($v0)
/* 138AD4 80245794 00021140 */ sll $v0, $v0, 5
/* 138AD8 80245798 00451021 */ addu $v0, $v0, $a1
/* 138ADC 8024579C 90420000 */ lbu $v0, ($v0)
/* 138AE0 802457A0 30420008 */ andi $v0, $v0, 8
/* 138AE4 802457A4 1440FFE1 */ bnez $v0, .L8024572C
/* 138AE8 802457A8 26100001 */ addiu $s0, $s0, 1
.L802457AC:
/* 138AEC 802457AC 2A020006 */ slti $v0, $s0, 6
/* 138AF0 802457B0 1440FFEF */ bnez $v0, .L80245770
/* 138AF4 802457B4 02061021 */ addu $v0, $s0, $a2
.L802457B8:
/* 138AF8 802457B8 14800051 */ bnez $a0, .L80245900
/* 138AFC 802457BC 0000802D */ daddu $s0, $zero, $zero
/* 138B00 802457C0 3C1E8024 */ lui $fp, %hi(func_80243238)
/* 138B04 802457C4 27DE3238 */ addiu $fp, $fp, %lo(func_80243238)
/* 138B08 802457C8 3C178024 */ lui $s7, %hi(func_80243188)
/* 138B0C 802457CC 26F73188 */ addiu $s7, $s7, %lo(func_80243188)
/* 138B10 802457D0 3C168014 */ lui $s6, %hi(basic_window_update)
/* 138B14 802457D4 26D67474 */ addiu $s6, $s6, %lo(basic_window_update)
/* 138B18 802457D8 24150001 */ addiu $s5, $zero, 1
/* 138B1C 802457DC 3C118025 */ lui $s1, %hi(D_8024F1E0)
/* 138B20 802457E0 2631F1E0 */ addiu $s1, $s1, %lo(D_8024F1E0)
.L802457E4:
/* 138B24 802457E4 3C088025 */ lui $t0, %hi(D_8024F1D0)
/* 138B28 802457E8 2508F1D0 */ addiu $t0, $t0, %lo(D_8024F1D0)
/* 138B2C 802457EC 02081021 */ addu $v0, $s0, $t0
/* 138B30 802457F0 90420000 */ lbu $v0, ($v0)
/* 138B34 802457F4 3C088025 */ lui $t0, %hi(gPauseMenuPanels)
/* 138B38 802457F8 2508EF80 */ addiu $t0, $t0, %lo(gPauseMenuPanels)
/* 138B3C 802457FC 00021080 */ sll $v0, $v0, 2
/* 138B40 80245800 00481021 */ addu $v0, $v0, $t0
/* 138B44 80245804 8C420000 */ lw $v0, ($v0)
/* 138B48 80245808 90420000 */ lbu $v0, ($v0)
/* 138B4C 8024580C 50400017 */ beql $v0, $zero, .L8024586C
/* 138B50 80245810 26100001 */ addiu $s0, $s0, 1
/* 138B54 80245814 3C088016 */ lui $t0, %hi(gWindows)
/* 138B58 80245818 25089D50 */ addiu $t0, $t0, %lo(gWindows)
/* 138B5C 8024581C 92220000 */ lbu $v0, ($s1)
/* 138B60 80245820 82630001 */ lb $v1, 1($s3)
/* 138B64 80245824 00021140 */ sll $v0, $v0, 5
/* 138B68 80245828 00481021 */ addu $v0, $v0, $t0
/* 138B6C 8024582C 8C420004 */ lw $v0, 4($v0)
/* 138B70 80245830 5203000E */ beql $s0, $v1, .L8024586C
/* 138B74 80245834 26100001 */ addiu $s0, $s0, 1
/* 138B78 80245838 105E0007 */ beq $v0, $fp, .L80245858
/* 138B7C 8024583C 00000000 */ nop
/* 138B80 80245840 10570005 */ beq $v0, $s7, .L80245858
/* 138B84 80245844 00000000 */ nop
/* 138B88 80245848 10560003 */ beq $v0, $s6, .L80245858
/* 138B8C 8024584C 00000000 */ nop
/* 138B90 80245850 54550006 */ bnel $v0, $s5, .L8024586C
/* 138B94 80245854 26100001 */ addiu $s0, $s0, 1
.L80245858:
/* 138B98 80245858 92240000 */ lbu $a0, ($s1)
/* 138B9C 8024585C 0C051F9F */ jal set_window_update
/* 138BA0 80245860 0240282D */ daddu $a1, $s2, $zero
/* 138BA4 80245864 24040001 */ addiu $a0, $zero, 1
/* 138BA8 80245868 26100001 */ addiu $s0, $s0, 1
.L8024586C:
/* 138BAC 8024586C 2A020006 */ slti $v0, $s0, 6
/* 138BB0 80245870 1440FFDC */ bnez $v0, .L802457E4
/* 138BB4 80245874 26310001 */ addiu $s1, $s1, 1
/* 138BB8 80245878 14800021 */ bnez $a0, .L80245900
/* 138BBC 8024587C 00000000 */ nop
/* 138BC0 80245880 82620001 */ lb $v0, 1($s3)
/* 138BC4 80245884 3C018025 */ lui $at, %hi(D_8024F1E0)
/* 138BC8 80245888 00220821 */ addu $at, $at, $v0
/* 138BCC 8024588C 9022F1E0 */ lbu $v0, %lo(D_8024F1E0)($at)
/* 138BD0 80245890 00021140 */ sll $v0, $v0, 5
/* 138BD4 80245894 3C038016 */ lui $v1, %hi(D_80159D54)
/* 138BD8 80245898 00621821 */ addu $v1, $v1, $v0
/* 138BDC 8024589C 8C639D54 */ lw $v1, %lo(D_80159D54)($v1)
/* 138BE0 802458A0 3C028024 */ lui $v0, %hi(func_802432E8)
/* 138BE4 802458A4 244232E8 */ addiu $v0, $v0, %lo(func_802432E8)
/* 138BE8 802458A8 10620007 */ beq $v1, $v0, .L802458C8
/* 138BEC 802458AC 00000000 */ nop
/* 138BF0 802458B0 3C028024 */ lui $v0, %hi(func_80243388)
/* 138BF4 802458B4 24423388 */ addiu $v0, $v0, %lo(func_80243388)
/* 138BF8 802458B8 10620003 */ beq $v1, $v0, .L802458C8
/* 138BFC 802458BC 24020002 */ addiu $v0, $zero, 2
/* 138C00 802458C0 1462000F */ bne $v1, $v0, .L80245900
/* 138C04 802458C4 00000000 */ nop
.L802458C8:
/* 138C08 802458C8 3C038025 */ lui $v1, %hi(D_8024F310)
/* 138C0C 802458CC 2463F310 */ addiu $v1, $v1, %lo(D_8024F310)
/* 138C10 802458D0 8C620000 */ lw $v0, ($v1)
/* 138C14 802458D4 10400004 */ beqz $v0, .L802458E8
/* 138C18 802458D8 00000000 */ nop
/* 138C1C 802458DC 3C148014 */ lui $s4, %hi(basic_window_update)
/* 138C20 802458E0 26947474 */ addiu $s4, $s4, %lo(basic_window_update)
/* 138C24 802458E4 AC600000 */ sw $zero, ($v1)
.L802458E8:
/* 138C28 802458E8 82620001 */ lb $v0, 1($s3)
/* 138C2C 802458EC 3C048025 */ lui $a0, %hi(D_8024F1E0)
/* 138C30 802458F0 00822021 */ addu $a0, $a0, $v0
/* 138C34 802458F4 9084F1E0 */ lbu $a0, %lo(D_8024F1E0)($a0)
/* 138C38 802458F8 0C051F9F */ jal set_window_update
/* 138C3C 802458FC 0280282D */ daddu $a1, $s4, $zero
.L80245900:
/* 138C40 80245900 8FBF0034 */ lw $ra, 0x34($sp)
/* 138C44 80245904 8FBE0030 */ lw $fp, 0x30($sp)
/* 138C48 80245908 8FB7002C */ lw $s7, 0x2c($sp)
/* 138C4C 8024590C 8FB60028 */ lw $s6, 0x28($sp)
/* 138C50 80245910 8FB50024 */ lw $s5, 0x24($sp)
/* 138C54 80245914 8FB40020 */ lw $s4, 0x20($sp)
/* 138C58 80245918 8FB3001C */ lw $s3, 0x1c($sp)
/* 138C5C 8024591C 8FB20018 */ lw $s2, 0x18($sp)
/* 138C60 80245920 8FB10014 */ lw $s1, 0x14($sp)
/* 138C64 80245924 8FB00010 */ lw $s0, 0x10($sp)
/* 138C68 80245928 03E00008 */ jr $ra
/* 138C6C 8024592C 27BD0038 */ addiu $sp, $sp, 0x38

View File

@ -9,8 +9,8 @@ glabel pause_stats_draw_contents
/* 138CD0 80245990 24A8008F */ addiu $t0, $a1, 0x8f
/* 138CD4 80245994 0100282D */ daddu $a1, $t0, $zero
/* 138CD8 80245998 AFB1005C */ sw $s1, 0x5c($sp)
/* 138CDC 8024599C 3C118027 */ lui $s1, %hi(gStatsMenuIconIDs)
/* 138CE0 802459A0 26310150 */ addiu $s1, $s1, %lo(gStatsMenuIconIDs)
/* 138CDC 8024599C 3C118027 */ lui $s1, %hi(gPauseStatsIconIDs)
/* 138CE0 802459A0 26310150 */ addiu $s1, $s1, %lo(gPauseStatsIconIDs)
/* 138CE4 802459A4 AFBF007C */ sw $ra, 0x7c($sp)
/* 138CE8 802459A8 AFB70074 */ sw $s7, 0x74($sp)
/* 138CEC 802459AC AFB60070 */ sw $s6, 0x70($sp)
@ -447,8 +447,8 @@ glabel pause_stats_draw_contents
.L80246060:
/* 1393A0 80246060 AFA20014 */ sw $v0, 0x14($sp)
/* 1393A4 80246064 24040004 */ addiu $a0, $zero, 4
/* 1393A8 80246068 3C058027 */ lui $a1, %hi(D_8026FB30)
/* 1393AC 8024606C 24A5FB30 */ addiu $a1, $a1, %lo(D_8026FB30)
/* 1393A8 80246068 3C058027 */ lui $a1, %hi(gPauseWS_10)
/* 1393AC 8024606C 24A5FB30 */ addiu $a1, $a1, %lo(gPauseWS_10)
/* 1393B0 80246070 24020011 */ addiu $v0, $zero, 0x11
/* 1393B4 80246074 241100FF */ addiu $s1, $zero, 0xff
/* 1393B8 80246078 AFA20018 */ sw $v0, 0x18($sp)
@ -468,8 +468,8 @@ glabel pause_stats_draw_contents
/* 1393F0 802460B0 AFA20048 */ sw $v0, 0x48($sp)
/* 1393F4 802460B4 0C03D4B8 */ jal draw_box
/* 1393F8 802460B8 AFA0004C */ sw $zero, 0x4c($sp)
/* 1393FC 802460BC 3C168027 */ lui $s6, %hi(gStatsMenuIconIDs)
/* 139400 802460C0 26D60150 */ addiu $s6, $s6, %lo(gStatsMenuIconIDs)
/* 1393FC 802460BC 3C168027 */ lui $s6, %hi(gPauseStatsIconIDs)
/* 139400 802460C0 26D60150 */ addiu $s6, $s6, %lo(gPauseStatsIconIDs)
/* 139404 802460C4 27C60015 */ addiu $a2, $fp, 0x15
/* 139408 802460C8 8FA80084 */ lw $t0, 0x84($sp)
/* 13940C 802460CC 8EC40000 */ lw $a0, ($s6)
@ -547,9 +547,9 @@ glabel pause_stats_draw_contents
/* 13951C 802461DC 00128400 */ sll $s0, $s2, 0x10
/* 139520 802461E0 00108383 */ sra $s0, $s0, 0xe
/* 139524 802461E4 8EC40004 */ lw $a0, 4($s6)
/* 139528 802461E8 3C058025 */ lui $a1, %hi(D_8024F360)
/* 139528 802461E8 3C058025 */ lui $a1, %hi(gStatsBootsElements)
/* 13952C 802461EC 00B02821 */ addu $a1, $a1, $s0
/* 139530 802461F0 8CA5F360 */ lw $a1, %lo(D_8024F360)($a1)
/* 139530 802461F0 8CA5F360 */ lw $a1, %lo(gStatsBootsElements)($a1)
/* 139534 802461F4 0C0511FF */ jal set_hud_element_anim
/* 139538 802461F8 24140001 */ addiu $s4, $zero, 1
/* 13953C 802461FC 27C6001D */ addiu $a2, $fp, 0x1d
@ -561,9 +561,9 @@ glabel pause_stats_draw_contents
/* 139554 80246214 8EC40004 */ lw $a0, 4($s6)
/* 139558 80246218 0C0511F8 */ jal draw_hud_element_3
/* 13955C 8024621C 00000000 */ nop
/* 139560 80246220 3C048025 */ lui $a0, %hi(D_8024F380)
/* 139560 80246220 3C048025 */ lui $a0, %hi(gPauseStatsBootsMessages)
/* 139564 80246224 00902021 */ addu $a0, $a0, $s0
/* 139568 80246228 8C84F380 */ lw $a0, %lo(D_8024F380)($a0)
/* 139568 80246228 8C84F380 */ lw $a0, %lo(gPauseStatsBootsMessages)($a0)
/* 13956C 8024622C 0C093BA0 */ jal pause_get_menu_msg
/* 139570 80246230 00138400 */ sll $s0, $s3, 0x10
/* 139574 80246234 0040202D */ daddu $a0, $v0, $zero
@ -577,9 +577,9 @@ glabel pause_stats_draw_contents
/* 139594 80246254 0240282D */ daddu $a1, $s2, $zero
/* 139598 80246258 00108383 */ sra $s0, $s0, 0xe
/* 13959C 8024625C 8EC40008 */ lw $a0, 8($s6)
/* 1395A0 80246260 3C058025 */ lui $a1, %hi(D_8024F370)
/* 1395A0 80246260 3C058025 */ lui $a1, %hi(gStatsHammerElements)
/* 1395A4 80246264 00B02821 */ addu $a1, $a1, $s0
/* 1395A8 80246268 8CA5F370 */ lw $a1, %lo(D_8024F370)($a1)
/* 1395A8 80246268 8CA5F370 */ lw $a1, %lo(gStatsHammerElements)($a1)
/* 1395AC 8024626C 0C0511FF */ jal set_hud_element_anim
/* 1395B0 80246270 0000982D */ daddu $s3, $zero, $zero
/* 1395B4 80246274 0220282D */ daddu $a1, $s1, $zero
@ -589,10 +589,10 @@ glabel pause_stats_draw_contents
/* 1395C4 80246284 8EC40008 */ lw $a0, 8($s6)
/* 1395C8 80246288 0C0511F8 */ jal draw_hud_element_3
/* 1395CC 8024628C 0260A82D */ daddu $s5, $s3, $zero
/* 1395D0 80246290 3C048025 */ lui $a0, %hi(D_8024F390)
/* 1395D0 80246290 3C048025 */ lui $a0, %hi(gPauseStatsHammerMessages)
/* 1395D4 80246294 00902021 */ addu $a0, $a0, $s0
/* 1395D8 80246298 0C093BA0 */ jal pause_get_menu_msg
/* 1395DC 8024629C 8C84F390 */ lw $a0, %lo(D_8024F390)($a0)
/* 1395DC 8024629C 8C84F390 */ lw $a0, %lo(gPauseStatsHammerMessages)($a0)
/* 1395E0 802462A0 0040202D */ daddu $a0, $v0, $zero
/* 1395E4 802462A4 0240282D */ daddu $a1, $s2, $zero
/* 1395E8 802462A8 27C60030 */ addiu $a2, $fp, 0x30
@ -638,9 +638,9 @@ glabel pause_stats_draw_contents
.L80246340:
/* 139680 80246340 26730001 */ addiu $s3, $s3, 1
/* 139684 80246344 00158080 */ sll $s0, $s5, 2
/* 139688 80246348 3C058025 */ lui $a1, %hi(D_8024F434)
/* 139688 80246348 3C058025 */ lui $a1, %hi(gPauseStatsSPIncElements)
/* 13968C 8024634C 00B02821 */ addu $a1, $a1, $s0
/* 139690 80246350 8CA5F434 */ lw $a1, %lo(D_8024F434)($a1)
/* 139690 80246350 8CA5F434 */ lw $a1, %lo(gPauseStatsSPIncElements)($a1)
/* 139694 80246354 0C0511FF */ jal set_hud_element_anim
/* 139698 80246358 0220202D */ daddu $a0, $s1, $zero
/* 13969C 8024635C 0220202D */ daddu $a0, $s1, $zero
@ -669,9 +669,9 @@ glabel pause_stats_draw_contents
/* 1396F0 802463B0 26520001 */ addiu $s2, $s2, 1
/* 1396F4 802463B4 26730001 */ addiu $s3, $s3, 1
/* 1396F8 802463B8 00158080 */ sll $s0, $s5, 2
/* 1396FC 802463BC 3C058025 */ lui $a1, %hi(D_8024F434)
/* 1396FC 802463BC 3C058025 */ lui $a1, %hi(gPauseStatsSPIncElements)
/* 139700 802463C0 00B02821 */ addu $a1, $a1, $s0
/* 139704 802463C4 8CA5F434 */ lw $a1, %lo(D_8024F434)($a1)
/* 139704 802463C4 8CA5F434 */ lw $a1, %lo(gPauseStatsSPIncElements)($a1)
/* 139708 802463C8 0C0511FF */ jal set_hud_element_anim
/* 13970C 802463CC 0220202D */ daddu $a0, $s1, $zero
/* 139710 802463D0 0220202D */ daddu $a0, $s1, $zero
@ -700,9 +700,9 @@ glabel pause_stats_draw_contents
/* 139764 80246424 26520001 */ addiu $s2, $s2, 1
/* 139768 80246428 26730001 */ addiu $s3, $s3, 1
/* 13976C 8024642C 00158080 */ sll $s0, $s5, 2
/* 139770 80246430 3C058025 */ lui $a1, %hi(D_8024F434)
/* 139770 80246430 3C058025 */ lui $a1, %hi(gPauseStatsSPIncElements)
/* 139774 80246434 00B02821 */ addu $a1, $a1, $s0
/* 139778 80246438 8CA5F434 */ lw $a1, %lo(D_8024F434)($a1)
/* 139778 80246438 8CA5F434 */ lw $a1, %lo(gPauseStatsSPIncElements)($a1)
/* 13977C 8024643C 0C0511FF */ jal set_hud_element_anim
/* 139780 80246440 0220202D */ daddu $a0, $s1, $zero
/* 139784 80246444 0220202D */ daddu $a0, $s1, $zero
@ -731,9 +731,9 @@ glabel pause_stats_draw_contents
/* 1397D8 80246498 26520001 */ addiu $s2, $s2, 1
/* 1397DC 8024649C 26730001 */ addiu $s3, $s3, 1
/* 1397E0 802464A0 00158080 */ sll $s0, $s5, 2
/* 1397E4 802464A4 3C058025 */ lui $a1, %hi(D_8024F434)
/* 1397E4 802464A4 3C058025 */ lui $a1, %hi(gPauseStatsSPIncElements)
/* 1397E8 802464A8 00B02821 */ addu $a1, $a1, $s0
/* 1397EC 802464AC 8CA5F434 */ lw $a1, %lo(D_8024F434)($a1)
/* 1397EC 802464AC 8CA5F434 */ lw $a1, %lo(gPauseStatsSPIncElements)($a1)
/* 1397F0 802464B0 0C0511FF */ jal set_hud_element_anim
/* 1397F4 802464B4 0220202D */ daddu $a0, $s1, $zero
/* 1397F8 802464B8 0220202D */ daddu $a0, $s1, $zero
@ -762,9 +762,9 @@ glabel pause_stats_draw_contents
/* 13984C 8024650C 26520001 */ addiu $s2, $s2, 1
/* 139850 80246510 26730001 */ addiu $s3, $s3, 1
/* 139854 80246514 00158080 */ sll $s0, $s5, 2
/* 139858 80246518 3C058025 */ lui $a1, %hi(D_8024F434)
/* 139858 80246518 3C058025 */ lui $a1, %hi(gPauseStatsSPIncElements)
/* 13985C 8024651C 00B02821 */ addu $a1, $a1, $s0
/* 139860 80246520 8CA5F434 */ lw $a1, %lo(D_8024F434)($a1)
/* 139860 80246520 8CA5F434 */ lw $a1, %lo(gPauseStatsSPIncElements)($a1)
/* 139864 80246524 0C0511FF */ jal set_hud_element_anim
/* 139868 80246528 0220202D */ daddu $a0, $s1, $zero
/* 13986C 8024652C 0220202D */ daddu $a0, $s1, $zero
@ -793,9 +793,9 @@ glabel pause_stats_draw_contents
/* 1398C0 80246580 26520001 */ addiu $s2, $s2, 1
/* 1398C4 80246584 26730001 */ addiu $s3, $s3, 1
/* 1398C8 80246588 00158080 */ sll $s0, $s5, 2
/* 1398CC 8024658C 3C058025 */ lui $a1, %hi(D_8024F434)
/* 1398CC 8024658C 3C058025 */ lui $a1, %hi(gPauseStatsSPIncElements)
/* 1398D0 80246590 00B02821 */ addu $a1, $a1, $s0
/* 1398D4 80246594 8CA5F434 */ lw $a1, %lo(D_8024F434)($a1)
/* 1398D4 80246594 8CA5F434 */ lw $a1, %lo(gPauseStatsSPIncElements)($a1)
/* 1398D8 80246598 0C0511FF */ jal set_hud_element_anim
/* 1398DC 8024659C 0220202D */ daddu $a0, $s1, $zero
/* 1398E0 802465A0 0220202D */ daddu $a0, $s1, $zero
@ -824,9 +824,9 @@ glabel pause_stats_draw_contents
/* 139934 802465F4 26520001 */ addiu $s2, $s2, 1
/* 139938 802465F8 26730001 */ addiu $s3, $s3, 1
/* 13993C 802465FC 00158080 */ sll $s0, $s5, 2
/* 139940 80246600 3C058025 */ lui $a1, %hi(D_8024F434)
/* 139940 80246600 3C058025 */ lui $a1, %hi(gPauseStatsSPIncElements)
/* 139944 80246604 00B02821 */ addu $a1, $a1, $s0
/* 139948 80246608 8CA5F434 */ lw $a1, %lo(D_8024F434)($a1)
/* 139948 80246608 8CA5F434 */ lw $a1, %lo(gPauseStatsSPIncElements)($a1)
/* 13994C 8024660C 0C0511FF */ jal set_hud_element_anim
/* 139950 80246610 0220202D */ daddu $a0, $s1, $zero
/* 139954 80246614 0220202D */ daddu $a0, $s1, $zero
@ -855,9 +855,9 @@ glabel pause_stats_draw_contents
/* 1399A8 80246668 26520001 */ addiu $s2, $s2, 1
/* 1399AC 8024666C 26730001 */ addiu $s3, $s3, 1
/* 1399B0 80246670 00158080 */ sll $s0, $s5, 2
/* 1399B4 80246674 3C058025 */ lui $a1, %hi(D_8024F450)
/* 1399B4 80246674 3C058025 */ lui $a1, %hi(gPauseStatsStarElements)
/* 1399B8 80246678 00B02821 */ addu $a1, $a1, $s0
/* 1399BC 8024667C 8CA5F450 */ lw $a1, %lo(D_8024F450)($a1)
/* 1399BC 8024667C 8CA5F450 */ lw $a1, %lo(gPauseStatsStarElements)($a1)
/* 1399C0 80246680 0C0511FF */ jal set_hud_element_anim
/* 1399C4 80246684 0220202D */ daddu $a0, $s1, $zero
/* 1399C8 80246688 0220202D */ daddu $a0, $s1, $zero
@ -1147,7 +1147,7 @@ glabel pause_stats_draw_contents
/* 139DC4 80246A84 8C450000 */ lw $a1, ($v0)
/* 139DC8 80246A88 8C460004 */ lw $a2, 4($v0)
/* 139DCC 80246A8C 01052821 */ addu $a1, $t0, $a1
/* 139DD0 80246A90 0C090B41 */ jal func_80242D04
/* 139DD0 80246A90 0C090B41 */ jal pause_set_cursor_pos
/* 139DD4 80246A94 03C63021 */ addu $a2, $fp, $a2
.L80246A98:
/* 139DD8 80246A98 8FBF007C */ lw $ra, 0x7c($sp)

View File

@ -1,37 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel pause_partners_cleanup
/* 13FCC4 8024C984 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 13FCC8 8024C988 AFB00010 */ sw $s0, 0x10($sp)
/* 13FCCC 8024C98C 0000802D */ daddu $s0, $zero, $zero
/* 13FCD0 8024C990 AFB10014 */ sw $s1, 0x14($sp)
/* 13FCD4 8024C994 3C118027 */ lui $s1, %hi(D_80270640)
/* 13FCD8 8024C998 26310640 */ addiu $s1, $s1, %lo(D_80270640)
/* 13FCDC 8024C99C AFBF0018 */ sw $ra, 0x18($sp)
.L8024C9A0:
/* 13FCE0 8024C9A0 8E240000 */ lw $a0, ($s1)
/* 13FCE4 8024C9A4 26310004 */ addiu $s1, $s1, 4
/* 13FCE8 8024C9A8 0C05123D */ jal free_hud_element
/* 13FCEC 8024C9AC 26100001 */ addiu $s0, $s0, 1
/* 13FCF0 8024C9B0 2A020008 */ slti $v0, $s0, 8
/* 13FCF4 8024C9B4 1440FFFA */ bnez $v0, .L8024C9A0
/* 13FCF8 8024C9B8 00000000 */ nop
/* 13FCFC 8024C9BC 0000802D */ daddu $s0, $zero, $zero
/* 13FD00 8024C9C0 3C118027 */ lui $s1, %hi(D_80270660)
/* 13FD04 8024C9C4 26310660 */ addiu $s1, $s1, %lo(D_80270660)
.L8024C9C8:
/* 13FD08 8024C9C8 8E240000 */ lw $a0, ($s1)
/* 13FD0C 8024C9CC 26310004 */ addiu $s1, $s1, 4
/* 13FD10 8024C9D0 0C0B797A */ jal spr_free_sprite
/* 13FD14 8024C9D4 26100001 */ addiu $s0, $s0, 1
/* 13FD18 8024C9D8 2A020008 */ slti $v0, $s0, 8
/* 13FD1C 8024C9DC 1440FFFA */ bnez $v0, .L8024C9C8
/* 13FD20 8024C9E0 00000000 */ nop
/* 13FD24 8024C9E4 8FBF0018 */ lw $ra, 0x18($sp)
/* 13FD28 8024C9E8 8FB10014 */ lw $s1, 0x14($sp)
/* 13FD2C 8024C9EC 8FB00010 */ lw $s0, 0x10($sp)
/* 13FD30 8024C9F0 03E00008 */ jr $ra
/* 13FD34 8024C9F4 27BD0020 */ addiu $sp, $sp, 0x20
/* 13FD38 8024C9F8 00000000 */ nop
/* 13FD3C 8024C9FC 00000000 */ nop

View File

@ -1,854 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_80270040
.double 0.01
.section .text
glabel pause_partners_draw_contents
/* 13E238 8024AEF8 27BDFE78 */ addiu $sp, $sp, -0x188
/* 13E23C 8024AEFC 3C08DC08 */ lui $t0, 0xdc08
/* 13E240 8024AF00 35080008 */ ori $t0, $t0, 8
/* 13E244 8024AF04 27A40050 */ addiu $a0, $sp, 0x50
/* 13E248 8024AF08 AFB30144 */ sw $s3, 0x144($sp)
/* 13E24C 8024AF0C 3C130001 */ lui $s3, 1
/* 13E250 8024AF10 36731630 */ ori $s3, $s3, 0x1630
/* 13E254 8024AF14 AFB1013C */ sw $s1, 0x13c($sp)
/* 13E258 8024AF18 3C11800A */ lui $s1, %hi(gMasterGfxPos)
/* 13E25C 8024AF1C 2631A66C */ addiu $s1, $s1, %lo(gMasterGfxPos)
/* 13E260 8024AF20 AFBF015C */ sw $ra, 0x15c($sp)
/* 13E264 8024AF24 AFBE0158 */ sw $fp, 0x158($sp)
/* 13E268 8024AF28 AFB70154 */ sw $s7, 0x154($sp)
/* 13E26C 8024AF2C AFB60150 */ sw $s6, 0x150($sp)
/* 13E270 8024AF30 AFB5014C */ sw $s5, 0x14c($sp)
/* 13E274 8024AF34 AFB40148 */ sw $s4, 0x148($sp)
/* 13E278 8024AF38 AFB20140 */ sw $s2, 0x140($sp)
/* 13E27C 8024AF3C AFB00138 */ sw $s0, 0x138($sp)
/* 13E280 8024AF40 F7BC0180 */ sdc1 $f28, 0x180($sp)
/* 13E284 8024AF44 F7BA0178 */ sdc1 $f26, 0x178($sp)
/* 13E288 8024AF48 F7B80170 */ sdc1 $f24, 0x170($sp)
/* 13E28C 8024AF4C F7B60168 */ sdc1 $f22, 0x168($sp)
/* 13E290 8024AF50 F7B40160 */ sdc1 $f20, 0x160($sp)
/* 13E294 8024AF54 AFA5018C */ sw $a1, 0x18c($sp)
/* 13E298 8024AF58 AFA60190 */ sw $a2, 0x190($sp)
/* 13E29C 8024AF5C AFA70194 */ sw $a3, 0x194($sp)
/* 13E2A0 8024AF60 8E220000 */ lw $v0, ($s1)
/* 13E2A4 8024AF64 3C0643A0 */ lui $a2, 0x43a0
/* 13E2A8 8024AF68 4480A000 */ mtc1 $zero, $f20
/* 13E2AC 8024AF6C 3C074370 */ lui $a3, 0x4370
/* 13E2B0 8024AF70 3C01C2C8 */ lui $at, 0xc2c8
/* 13E2B4 8024AF74 44810000 */ mtc1 $at, $f0
/* 13E2B8 8024AF78 3C0142C8 */ lui $at, 0x42c8
/* 13E2BC 8024AF7C 44811000 */ mtc1 $at, $f2
/* 13E2C0 8024AF80 3C013F80 */ lui $at, 0x3f80
/* 13E2C4 8024AF84 44812000 */ mtc1 $at, $f4
/* 13E2C8 8024AF88 0040182D */ daddu $v1, $v0, $zero
/* 13E2CC 8024AF8C 4405A000 */ mfc1 $a1, $f20
/* 13E2D0 8024AF90 24420008 */ addiu $v0, $v0, 8
/* 13E2D4 8024AF94 AE220000 */ sw $v0, ($s1)
/* 13E2D8 8024AF98 3C028025 */ lui $v0, %hi(D_8024F620)
/* 13E2DC 8024AF9C 2442F620 */ addiu $v0, $v0, %lo(D_8024F620)
/* 13E2E0 8024AFA0 AC680000 */ sw $t0, ($v1)
/* 13E2E4 8024AFA4 AC620004 */ sw $v0, 4($v1)
/* 13E2E8 8024AFA8 E7B40010 */ swc1 $f20, 0x10($sp)
/* 13E2EC 8024AFAC E7A00014 */ swc1 $f0, 0x14($sp)
/* 13E2F0 8024AFB0 E7A20018 */ swc1 $f2, 0x18($sp)
/* 13E2F4 8024AFB4 0C018E44 */ jal guOrthoF
/* 13E2F8 8024AFB8 E7A4001C */ swc1 $f4, 0x1c($sp)
/* 13E2FC 8024AFBC 27A40050 */ addiu $a0, $sp, 0x50
/* 13E300 8024AFC0 3C108007 */ lui $s0, %hi(gMatrixListPos)
/* 13E304 8024AFC4 261041F0 */ addiu $s0, $s0, %lo(gMatrixListPos)
/* 13E308 8024AFC8 3C12800A */ lui $s2, %hi(gDisplayContext)
/* 13E30C 8024AFCC 2652A674 */ addiu $s2, $s2, %lo(gDisplayContext)
/* 13E310 8024AFD0 96050000 */ lhu $a1, ($s0)
/* 13E314 8024AFD4 8E420000 */ lw $v0, ($s2)
/* 13E318 8024AFD8 00052980 */ sll $a1, $a1, 6
/* 13E31C 8024AFDC 00B32821 */ addu $a1, $a1, $s3
/* 13E320 8024AFE0 0C019D40 */ jal guMtxF2L
/* 13E324 8024AFE4 00452821 */ addu $a1, $v0, $a1
/* 13E328 8024AFE8 3C09DA38 */ lui $t1, 0xda38
/* 13E32C 8024AFEC 35290007 */ ori $t1, $t1, 7
/* 13E330 8024AFF0 27A40050 */ addiu $a0, $sp, 0x50
/* 13E334 8024AFF4 8E230000 */ lw $v1, ($s1)
/* 13E338 8024AFF8 4405A000 */ mfc1 $a1, $f20
/* 13E33C 8024AFFC 4406A000 */ mfc1 $a2, $f20
/* 13E340 8024B000 4407A000 */ mfc1 $a3, $f20
/* 13E344 8024B004 96020000 */ lhu $v0, ($s0)
/* 13E348 8024B008 0060402D */ daddu $t0, $v1, $zero
/* 13E34C 8024B00C 24630008 */ addiu $v1, $v1, 8
/* 13E350 8024B010 AE230000 */ sw $v1, ($s1)
/* 13E354 8024B014 24430001 */ addiu $v1, $v0, 1
/* 13E358 8024B018 3042FFFF */ andi $v0, $v0, 0xffff
/* 13E35C 8024B01C 00021180 */ sll $v0, $v0, 6
/* 13E360 8024B020 AD090000 */ sw $t1, ($t0)
/* 13E364 8024B024 A6030000 */ sh $v1, ($s0)
/* 13E368 8024B028 8E430000 */ lw $v1, ($s2)
/* 13E36C 8024B02C 00531021 */ addu $v0, $v0, $s3
/* 13E370 8024B030 00621821 */ addu $v1, $v1, $v0
/* 13E374 8024B034 0C019E40 */ jal guTranslateF
/* 13E378 8024B038 AD030004 */ sw $v1, 4($t0)
/* 13E37C 8024B03C 27A40050 */ addiu $a0, $sp, 0x50
/* 13E380 8024B040 96050000 */ lhu $a1, ($s0)
/* 13E384 8024B044 8E420000 */ lw $v0, ($s2)
/* 13E388 8024B048 00052980 */ sll $a1, $a1, 6
/* 13E38C 8024B04C 00B32821 */ addu $a1, $a1, $s3
/* 13E390 8024B050 0C019D40 */ jal guMtxF2L
/* 13E394 8024B054 00452821 */ addu $a1, $v0, $a1
/* 13E398 8024B058 3C04DA38 */ lui $a0, 0xda38
/* 13E39C 8024B05C 34840002 */ ori $a0, $a0, 2
/* 13E3A0 8024B060 3C068027 */ lui $a2, %hi(D_802706B0)
/* 13E3A4 8024B064 24C606B0 */ addiu $a2, $a2, %lo(D_802706B0)
/* 13E3A8 8024B068 8E230000 */ lw $v1, ($s1)
/* 13E3AC 8024B06C 96020000 */ lhu $v0, ($s0)
/* 13E3B0 8024B070 0060282D */ daddu $a1, $v1, $zero
/* 13E3B4 8024B074 24630008 */ addiu $v1, $v1, 8
/* 13E3B8 8024B078 AE230000 */ sw $v1, ($s1)
/* 13E3BC 8024B07C 24430001 */ addiu $v1, $v0, 1
/* 13E3C0 8024B080 3042FFFF */ andi $v0, $v0, 0xffff
/* 13E3C4 8024B084 00021180 */ sll $v0, $v0, 6
/* 13E3C8 8024B088 ACA40000 */ sw $a0, ($a1)
/* 13E3CC 8024B08C A6030000 */ sh $v1, ($s0)
/* 13E3D0 8024B090 8E430000 */ lw $v1, ($s2)
/* 13E3D4 8024B094 00531021 */ addu $v0, $v0, $s3
/* 13E3D8 8024B098 00621821 */ addu $v1, $v1, $v0
/* 13E3DC 8024B09C ACA30004 */ sw $v1, 4($a1)
/* 13E3E0 8024B0A0 8CC20000 */ lw $v0, ($a2)
/* 13E3E4 8024B0A4 18400042 */ blez $v0, .L8024B1B0
/* 13E3E8 8024B0A8 0000802D */ daddu $s0, $zero, $zero
/* 13E3EC 8024B0AC 3C0141A0 */ lui $at, 0x41a0
/* 13E3F0 8024B0B0 4481B000 */ mtc1 $at, $f22
/* 13E3F4 8024B0B4 27B200D0 */ addiu $s2, $sp, 0xd0
/* 13E3F8 8024B0B8 0200982D */ daddu $s3, $s0, $zero
.L8024B0BC:
/* 13E3FC 8024B0BC 8CC20000 */ lw $v0, ($a2)
/* 13E400 8024B0C0 14400002 */ bnez $v0, .L8024B0CC
/* 13E404 8024B0C4 0262001A */ div $zero, $s3, $v0
/* 13E408 8024B0C8 0007000D */ break 7
.L8024B0CC:
/* 13E40C 8024B0CC 2401FFFF */ addiu $at, $zero, -1
/* 13E410 8024B0D0 14410004 */ bne $v0, $at, .L8024B0E4
/* 13E414 8024B0D4 3C018000 */ lui $at, 0x8000
/* 13E418 8024B0D8 16610002 */ bne $s3, $at, .L8024B0E4
/* 13E41C 8024B0DC 00000000 */ nop
/* 13E420 8024B0E0 0006000D */ break 6
.L8024B0E4:
/* 13E424 8024B0E4 00001012 */ mflo $v0
/* 13E428 8024B0E8 3C018027 */ lui $at, %hi(D_802706A8)
/* 13E42C 8024B0EC C42006A8 */ lwc1 $f0, %lo(D_802706A8)($at)
/* 13E430 8024B0F0 44826000 */ mtc1 $v0, $f12
/* 13E434 8024B0F4 00000000 */ nop
/* 13E438 8024B0F8 46806320 */ cvt.s.w $f12, $f12
/* 13E43C 8024B0FC 0C00A8D4 */ jal cos_deg
/* 13E440 8024B100 46006301 */ sub.s $f12, $f12, $f0
/* 13E444 8024B104 46160002 */ mul.s $f0, $f0, $f22
/* 13E448 8024B108 00000000 */ nop
/* 13E44C 8024B10C 0000882D */ daddu $s1, $zero, $zero
/* 13E450 8024B110 1A00000B */ blez $s0, .L8024B140
/* 13E454 8024B114 46140080 */ add.s $f2, $f0, $f20
/* 13E458 8024B118 0240182D */ daddu $v1, $s2, $zero
.L8024B11C:
/* 13E45C 8024B11C C4600000 */ lwc1 $f0, ($v1)
/* 13E460 8024B120 4600103C */ c.lt.s $f2, $f0
/* 13E464 8024B124 00000000 */ nop
/* 13E468 8024B128 45010005 */ bc1t .L8024B140
/* 13E46C 8024B12C 00000000 */ nop
/* 13E470 8024B130 26310001 */ addiu $s1, $s1, 1
/* 13E474 8024B134 0230102A */ slt $v0, $s1, $s0
/* 13E478 8024B138 1440FFF8 */ bnez $v0, .L8024B11C
/* 13E47C 8024B13C 24630008 */ addiu $v1, $v1, 8
.L8024B140:
/* 13E480 8024B140 3C028027 */ lui $v0, %hi(D_802706B0)
/* 13E484 8024B144 8C4206B0 */ lw $v0, %lo(D_802706B0)($v0)
/* 13E488 8024B148 2444FFFF */ addiu $a0, $v0, -1
/* 13E48C 8024B14C 0224102A */ slt $v0, $s1, $a0
/* 13E490 8024B150 1040000C */ beqz $v0, .L8024B184
/* 13E494 8024B154 000418C0 */ sll $v1, $a0, 3
.L8024B158:
/* 13E498 8024B158 02431821 */ addu $v1, $s2, $v1
/* 13E49C 8024B15C 2484FFFF */ addiu $a0, $a0, -1
/* 13E4A0 8024B160 000410C0 */ sll $v0, $a0, 3
/* 13E4A4 8024B164 02421021 */ addu $v0, $s2, $v0
/* 13E4A8 8024B168 8C4C0000 */ lw $t4, ($v0)
/* 13E4AC 8024B16C 8C4D0004 */ lw $t5, 4($v0)
/* 13E4B0 8024B170 AC6C0000 */ sw $t4, ($v1)
/* 13E4B4 8024B174 AC6D0004 */ sw $t5, 4($v1)
/* 13E4B8 8024B178 0224102A */ slt $v0, $s1, $a0
/* 13E4BC 8024B17C 1440FFF6 */ bnez $v0, .L8024B158
/* 13E4C0 8024B180 000418C0 */ sll $v1, $a0, 3
.L8024B184:
/* 13E4C4 8024B184 3C068027 */ lui $a2, %hi(D_802706B0)
/* 13E4C8 8024B188 24C606B0 */ addiu $a2, $a2, %lo(D_802706B0)
/* 13E4CC 8024B18C 001110C0 */ sll $v0, $s1, 3
/* 13E4D0 8024B190 02421021 */ addu $v0, $s2, $v0
/* 13E4D4 8024B194 AC500004 */ sw $s0, 4($v0)
/* 13E4D8 8024B198 E4420000 */ swc1 $f2, ($v0)
/* 13E4DC 8024B19C 8CC20000 */ lw $v0, ($a2)
/* 13E4E0 8024B1A0 26100001 */ addiu $s0, $s0, 1
/* 13E4E4 8024B1A4 0202102A */ slt $v0, $s0, $v0
/* 13E4E8 8024B1A8 1440FFC4 */ bnez $v0, .L8024B0BC
/* 13E4EC 8024B1AC 26730168 */ addiu $s3, $s3, 0x168
.L8024B1B0:
/* 13E4F0 8024B1B0 3C048027 */ lui $a0, %hi(D_802706B0)
/* 13E4F4 8024B1B4 248406B0 */ addiu $a0, $a0, %lo(D_802706B0)
/* 13E4F8 8024B1B8 8C820000 */ lw $v0, ($a0)
/* 13E4FC 8024B1BC 184000A8 */ blez $v0, .L8024B460
/* 13E500 8024B1C0 0000882D */ daddu $s1, $zero, $zero
/* 13E504 8024B1C4 27B20090 */ addiu $s2, $sp, 0x90
/* 13E508 8024B1C8 3C138027 */ lui $s3, %hi(D_80270660)
/* 13E50C 8024B1CC 26730660 */ addiu $s3, $s3, %lo(D_80270660)
/* 13E510 8024B1D0 4480D000 */ mtc1 $zero, $f26
/* 13E514 8024B1D4 3C013F80 */ lui $at, 0x3f80
/* 13E518 8024B1D8 4481E000 */ mtc1 $at, $f28
/* 13E51C 8024B1DC 001118C0 */ sll $v1, $s1, 3
.L8024B1E0:
/* 13E520 8024B1E0 27A200D0 */ addiu $v0, $sp, 0xd0
/* 13E524 8024B1E4 00431021 */ addu $v0, $v0, $v1
/* 13E528 8024B1E8 8C500004 */ lw $s0, 4($v0)
/* 13E52C 8024B1EC 8C840000 */ lw $a0, ($a0)
/* 13E530 8024B1F0 00101840 */ sll $v1, $s0, 1
/* 13E534 8024B1F4 00701821 */ addu $v1, $v1, $s0
/* 13E538 8024B1F8 00031100 */ sll $v0, $v1, 4
/* 13E53C 8024B1FC 00431023 */ subu $v0, $v0, $v1
/* 13E540 8024B200 000210C0 */ sll $v0, $v0, 3
/* 13E544 8024B204 14800002 */ bnez $a0, .L8024B210
/* 13E548 8024B208 0044001A */ div $zero, $v0, $a0
/* 13E54C 8024B20C 0007000D */ break 7
.L8024B210:
/* 13E550 8024B210 2401FFFF */ addiu $at, $zero, -1
/* 13E554 8024B214 14810004 */ bne $a0, $at, .L8024B228
/* 13E558 8024B218 3C018000 */ lui $at, 0x8000
/* 13E55C 8024B21C 14410002 */ bne $v0, $at, .L8024B228
/* 13E560 8024B220 00000000 */ nop
/* 13E564 8024B224 0006000D */ break 6
.L8024B228:
/* 13E568 8024B228 00001012 */ mflo $v0
/* 13E56C 8024B22C 3C018027 */ lui $at, %hi(D_802706A8)
/* 13E570 8024B230 C42006A8 */ lwc1 $f0, %lo(D_802706A8)($at)
/* 13E574 8024B234 4482A000 */ mtc1 $v0, $f20
/* 13E578 8024B238 00000000 */ nop
/* 13E57C 8024B23C 4680A520 */ cvt.s.w $f20, $f20
/* 13E580 8024B240 00041040 */ sll $v0, $a0, 1
/* 13E584 8024B244 00441021 */ addu $v0, $v0, $a0
/* 13E588 8024B248 4600A501 */ sub.s $f20, $f20, $f0
/* 13E58C 8024B24C 24420011 */ addiu $v0, $v0, 0x11
/* 13E590 8024B250 4482B000 */ mtc1 $v0, $f22
/* 13E594 8024B254 00000000 */ nop
/* 13E598 8024B258 4680B5A0 */ cvt.s.w $f22, $f22
/* 13E59C 8024B25C 0C00A8BB */ jal sin_deg
/* 13E5A0 8024B260 4600A306 */ mov.s $f12, $f20
/* 13E5A4 8024B264 4600B582 */ mul.s $f22, $f22, $f0
/* 13E5A8 8024B268 00000000 */ nop
/* 13E5AC 8024B26C 3C014228 */ lui $at, 0x4228
/* 13E5B0 8024B270 44810000 */ mtc1 $at, $f0
/* 13E5B4 8024B274 4600A306 */ mov.s $f12, $f20
/* 13E5B8 8024B278 0C00A8D4 */ jal cos_deg
/* 13E5BC 8024B27C 4600B580 */ add.s $f22, $f22, $f0
/* 13E5C0 8024B280 3C0141F0 */ lui $at, 0x41f0
/* 13E5C4 8024B284 44811000 */ mtc1 $at, $f2
/* 13E5C8 8024B288 00000000 */ nop
/* 13E5CC 8024B28C 46020002 */ mul.s $f0, $f0, $f2
/* 13E5D0 8024B290 00000000 */ nop
/* 13E5D4 8024B294 4600A306 */ mov.s $f12, $f20
/* 13E5D8 8024B298 0C00A8D4 */ jal cos_deg
/* 13E5DC 8024B29C 46001601 */ sub.s $f24, $f2, $f0
/* 13E5E0 8024B2A0 3C0141A0 */ lui $at, 0x41a0
/* 13E5E4 8024B2A4 44811000 */ mtc1 $at, $f2
/* 13E5E8 8024B2A8 00000000 */ nop
/* 13E5EC 8024B2AC 46020002 */ mul.s $f0, $f0, $f2
/* 13E5F0 8024B2B0 00000000 */ nop
/* 13E5F4 8024B2B4 8FAC018C */ lw $t4, 0x18c($sp)
/* 13E5F8 8024B2B8 25820016 */ addiu $v0, $t4, 0x16
/* 13E5FC 8024B2BC 44821000 */ mtc1 $v0, $f2
/* 13E600 8024B2C0 00000000 */ nop
/* 13E604 8024B2C4 468010A0 */ cvt.s.w $f2, $f2
/* 13E608 8024B2C8 46161080 */ add.s $f2, $f2, $f22
/* 13E60C 8024B2CC 44051000 */ mfc1 $a1, $f2
/* 13E610 8024B2D0 3C014270 */ lui $at, 0x4270
/* 13E614 8024B2D4 44811000 */ mtc1 $at, $f2
/* 13E618 8024B2D8 27A40050 */ addiu $a0, $sp, 0x50
/* 13E61C 8024B2DC 4602C080 */ add.s $f2, $f24, $f2
/* 13E620 8024B2E0 8FAD0190 */ lw $t5, 0x190($sp)
/* 13E624 8024B2E4 3C01403E */ lui $at, 0x403e
/* 13E628 8024B2E8 4481A800 */ mtc1 $at, $f21
/* 13E62C 8024B2EC 4480A000 */ mtc1 $zero, $f20
/* 13E630 8024B2F0 461A0000 */ add.s $f0, $f0, $f26
/* 13E634 8024B2F4 25A20051 */ addiu $v0, $t5, 0x51
/* 13E638 8024B2F8 44822000 */ mtc1 $v0, $f4
/* 13E63C 8024B2FC 00000000 */ nop
/* 13E640 8024B300 46802120 */ cvt.s.w $f4, $f4
/* 13E644 8024B304 4600C287 */ neg.s $f10, $f24
/* 13E648 8024B308 460010A1 */ cvt.d.s $f2, $f2
/* 13E64C 8024B30C 46002100 */ add.s $f4, $f4, $f0
/* 13E650 8024B310 3C013FE0 */ lui $at, 0x3fe0
/* 13E654 8024B314 44810800 */ mtc1 $at, $f1
/* 13E658 8024B318 44800000 */ mtc1 $zero, $f0
/* 13E65C 8024B31C 4622A503 */ div.d $f20, $f20, $f2
/* 13E660 8024B320 4620A500 */ add.d $f20, $f20, $f0
/* 13E664 8024B324 44075000 */ mfc1 $a3, $f10
/* 13E668 8024B328 44062000 */ mfc1 $a2, $f4
/* 13E66C 8024B32C 0C019E40 */ jal guTranslateF
/* 13E670 8024B330 4620A520 */ cvt.s.d $f20, $f20
/* 13E674 8024B334 3C054334 */ lui $a1, 0x4334
/* 13E678 8024B338 4406D000 */ mfc1 $a2, $f26
/* 13E67C 8024B33C 4407D000 */ mfc1 $a3, $f26
/* 13E680 8024B340 0240202D */ daddu $a0, $s2, $zero
/* 13E684 8024B344 0C019EC8 */ jal guRotateF
/* 13E688 8024B348 E7BC0010 */ swc1 $f28, 0x10($sp)
/* 13E68C 8024B34C 0240202D */ daddu $a0, $s2, $zero
/* 13E690 8024B350 27A50050 */ addiu $a1, $sp, 0x50
/* 13E694 8024B354 0C019D80 */ jal guMtxCatF
/* 13E698 8024B358 00A0302D */ daddu $a2, $a1, $zero
/* 13E69C 8024B35C 0240202D */ daddu $a0, $s2, $zero
/* 13E6A0 8024B360 4405A000 */ mfc1 $a1, $f20
/* 13E6A4 8024B364 4407E000 */ mfc1 $a3, $f28
/* 13E6A8 8024B368 0C019DF0 */ jal guScaleF
/* 13E6AC 8024B36C 00A0302D */ daddu $a2, $a1, $zero
/* 13E6B0 8024B370 0240202D */ daddu $a0, $s2, $zero
/* 13E6B4 8024B374 27A50050 */ addiu $a1, $sp, 0x50
/* 13E6B8 8024B378 0C019D80 */ jal guMtxCatF
/* 13E6BC 8024B37C 00A0302D */ daddu $a2, $a1, $zero
/* 13E6C0 8024B380 3C014100 */ lui $at, 0x4100
/* 13E6C4 8024B384 44810000 */ mtc1 $at, $f0
/* 13E6C8 8024B388 00000000 */ nop
/* 13E6CC 8024B38C 4618003C */ c.lt.s $f0, $f24
/* 13E6D0 8024B390 00000000 */ nop
/* 13E6D4 8024B394 45010011 */ bc1t .L8024B3DC
/* 13E6D8 8024B398 240600A0 */ addiu $a2, $zero, 0xa0
/* 13E6DC 8024B39C 3C0142BE */ lui $at, 0x42be
/* 13E6E0 8024B3A0 44811000 */ mtc1 $at, $f2
/* 13E6E4 8024B3A4 00000000 */ nop
/* 13E6E8 8024B3A8 4602C082 */ mul.s $f2, $f24, $f2
/* 13E6EC 8024B3AC 00000000 */ nop
/* 13E6F0 8024B3B0 3C013E00 */ lui $at, 0x3e00
/* 13E6F4 8024B3B4 44810000 */ mtc1 $at, $f0
/* 13E6F8 8024B3B8 00000000 */ nop
/* 13E6FC 8024B3BC 46001082 */ mul.s $f2, $f2, $f0
/* 13E700 8024B3C0 00000000 */ nop
/* 13E704 8024B3C4 3C01437F */ lui $at, 0x437f
/* 13E708 8024B3C8 44810000 */ mtc1 $at, $f0
/* 13E70C 8024B3CC 00000000 */ nop
/* 13E710 8024B3D0 46020001 */ sub.s $f0, $f0, $f2
/* 13E714 8024B3D4 4600028D */ trunc.w.s $f10, $f0
/* 13E718 8024B3D8 44065000 */ mfc1 $a2, $f10
.L8024B3DC:
/* 13E71C 8024B3DC 24050006 */ addiu $a1, $zero, 6
/* 13E720 8024B3E0 3C028027 */ lui $v0, %hi(D_80270680)
/* 13E724 8024B3E4 24420680 */ addiu $v0, $v0, %lo(D_80270680)
/* 13E728 8024B3E8 00108080 */ sll $s0, $s0, 2
/* 13E72C 8024B3EC 02028021 */ addu $s0, $s0, $v0
/* 13E730 8024B3F0 8E030000 */ lw $v1, ($s0)
/* 13E734 8024B3F4 240200FF */ addiu $v0, $zero, 0xff
/* 13E738 8024B3F8 AFA20014 */ sw $v0, 0x14($sp)
/* 13E73C 8024B3FC 24020040 */ addiu $v0, $zero, 0x40
/* 13E740 8024B400 AFA60010 */ sw $a2, 0x10($sp)
/* 13E744 8024B404 AFA20018 */ sw $v0, 0x18($sp)
/* 13E748 8024B408 00031880 */ sll $v1, $v1, 2
/* 13E74C 8024B40C 00731821 */ addu $v1, $v1, $s3
/* 13E750 8024B410 8C640000 */ lw $a0, ($v1)
/* 13E754 8024B414 0C0B7A25 */ jal func_802DE894
/* 13E758 8024B418 00C0382D */ daddu $a3, $a2, $zero
/* 13E75C 8024B41C 0000282D */ daddu $a1, $zero, $zero
/* 13E760 8024B420 00A0302D */ daddu $a2, $a1, $zero
/* 13E764 8024B424 8E030000 */ lw $v1, ($s0)
/* 13E768 8024B428 27A20050 */ addiu $v0, $sp, 0x50
/* 13E76C 8024B42C AFA20010 */ sw $v0, 0x10($sp)
/* 13E770 8024B430 00031880 */ sll $v1, $v1, 2
/* 13E774 8024B434 00731821 */ addu $v1, $v1, $s3
/* 13E778 8024B438 8C640000 */ lw $a0, ($v1)
/* 13E77C 8024B43C 0C0B78F6 */ jal spr_draw_npc_sprite
/* 13E780 8024B440 00A0382D */ daddu $a3, $a1, $zero
/* 13E784 8024B444 3C048027 */ lui $a0, %hi(D_802706B0)
/* 13E788 8024B448 248406B0 */ addiu $a0, $a0, %lo(D_802706B0)
/* 13E78C 8024B44C 8C820000 */ lw $v0, ($a0)
/* 13E790 8024B450 26310001 */ addiu $s1, $s1, 1
/* 13E794 8024B454 0222102A */ slt $v0, $s1, $v0
/* 13E798 8024B458 1440FF61 */ bnez $v0, .L8024B1E0
/* 13E79C 8024B45C 001118C0 */ sll $v1, $s1, 3
.L8024B460:
/* 13E7A0 8024B460 3C05D838 */ lui $a1, 0xd838
/* 13E7A4 8024B464 3C03800A */ lui $v1, %hi(gMasterGfxPos)
/* 13E7A8 8024B468 2463A66C */ addiu $v1, $v1, %lo(gMasterGfxPos)
/* 13E7AC 8024B46C 34A50002 */ ori $a1, $a1, 2
/* 13E7B0 8024B470 8C620000 */ lw $v0, ($v1)
/* 13E7B4 8024B474 3C128027 */ lui $s2, %hi(gPauseMenuCurrentTab)
/* 13E7B8 8024B478 265200D4 */ addiu $s2, $s2, %lo(gPauseMenuCurrentTab)
/* 13E7BC 8024B47C 0040202D */ daddu $a0, $v0, $zero
/* 13E7C0 8024B480 24420008 */ addiu $v0, $v0, 8
/* 13E7C4 8024B484 AC620000 */ sw $v0, ($v1)
/* 13E7C8 8024B488 24020040 */ addiu $v0, $zero, 0x40
/* 13E7CC 8024B48C AC850000 */ sw $a1, ($a0)
/* 13E7D0 8024B490 AC820004 */ sw $v0, 4($a0)
/* 13E7D4 8024B494 82500000 */ lb $s0, ($s2)
/* 13E7D8 8024B498 24020004 */ addiu $v0, $zero, 4
/* 13E7DC 8024B49C 16020014 */ bne $s0, $v0, .L8024B4F0
/* 13E7E0 8024B4A0 00000000 */ nop
/* 13E7E4 8024B4A4 3C118027 */ lui $s1, %hi(D_802706AC)
/* 13E7E8 8024B4A8 263106AC */ addiu $s1, $s1, %lo(D_802706AC)
/* 13E7EC 8024B4AC 8E220000 */ lw $v0, ($s1)
/* 13E7F0 8024B4B0 14400006 */ bnez $v0, .L8024B4CC
/* 13E7F4 8024B4B4 24040022 */ addiu $a0, $zero, 0x22
/* 13E7F8 8024B4B8 8FAD018C */ lw $t5, 0x18c($sp)
/* 13E7FC 8024B4BC 8FAF0190 */ lw $t7, 0x190($sp)
/* 13E800 8024B4C0 25A5002A */ addiu $a1, $t5, 0x2a
/* 13E804 8024B4C4 0C090B41 */ jal func_80242D04
/* 13E808 8024B4C8 25E60058 */ addiu $a2, $t7, 0x58
.L8024B4CC:
/* 13E80C 8024B4CC 82420000 */ lb $v0, ($s2)
/* 13E810 8024B4D0 14500007 */ bne $v0, $s0, .L8024B4F0
/* 13E814 8024B4D4 00000000 */ nop
/* 13E818 8024B4D8 8E220000 */ lw $v0, ($s1)
/* 13E81C 8024B4DC 14400004 */ bnez $v0, .L8024B4F0
/* 13E820 8024B4E0 24040008 */ addiu $a0, $zero, 8
/* 13E824 8024B4E4 24050012 */ addiu $a1, $zero, 0x12
/* 13E828 8024B4E8 0C093BA5 */ jal pause_draw_menu_label
/* 13E82C 8024B4EC 2406009E */ addiu $a2, $zero, 0x9e
.L8024B4F0:
/* 13E830 8024B4F0 8FB8018C */ lw $t8, 0x18c($sp)
/* 13E834 8024B4F4 8FAC0190 */ lw $t4, 0x190($sp)
/* 13E838 8024B4F8 27050082 */ addiu $a1, $t8, 0x82
/* 13E83C 8024B4FC 25890018 */ addiu $t1, $t4, 0x18
/* 13E840 8024B500 270A0118 */ addiu $t2, $t8, 0x118
/* 13E844 8024B504 1CA00002 */ bgtz $a1, .L8024B510
/* 13E848 8024B508 258B0081 */ addiu $t3, $t4, 0x81
/* 13E84C 8024B50C 24050001 */ addiu $a1, $zero, 1
.L8024B510:
/* 13E850 8024B510 59200001 */ blezl $t1, .L8024B518
/* 13E854 8024B514 24090001 */ addiu $t1, $zero, 1
.L8024B518:
/* 13E858 8024B518 19400193 */ blez $t2, .L8024BB68
/* 13E85C 8024B51C 00000000 */ nop
/* 13E860 8024B520 19600191 */ blez $t3, .L8024BB68
/* 13E864 8024B524 28A2013F */ slti $v0, $a1, 0x13f
/* 13E868 8024B528 1040018F */ beqz $v0, .L8024BB68
/* 13E86C 8024B52C 292200EF */ slti $v0, $t1, 0xef
/* 13E870 8024B530 1040018D */ beqz $v0, .L8024BB68
/* 13E874 8024B534 2942013F */ slti $v0, $t2, 0x13f
/* 13E878 8024B538 50400001 */ beql $v0, $zero, .L8024B540
/* 13E87C 8024B53C 240A013F */ addiu $t2, $zero, 0x13f
.L8024B540:
/* 13E880 8024B540 296200EF */ slti $v0, $t3, 0xef
/* 13E884 8024B544 50400001 */ beql $v0, $zero, .L8024B54C
/* 13E888 8024B548 240B00EF */ addiu $t3, $zero, 0xef
.L8024B54C:
/* 13E88C 8024B54C 3C018027 */ lui $at, %hi(D_802706A8)
/* 13E890 8024B550 C42006A8 */ lwc1 $f0, %lo(D_802706A8)($at)
/* 13E894 8024B554 3C0143B4 */ lui $at, 0x43b4
/* 13E898 8024B558 44812000 */ mtc1 $at, $f4
/* 13E89C 8024B55C 00000000 */ nop
/* 13E8A0 8024B560 46040000 */ add.s $f0, $f0, $f4
/* 13E8A4 8024B564 3C01466A */ lui $at, 0x466a
/* 13E8A8 8024B568 34216000 */ ori $at, $at, 0x6000
/* 13E8AC 8024B56C 44811000 */ mtc1 $at, $f2
/* 13E8B0 8024B570 00000000 */ nop
/* 13E8B4 8024B574 46020002 */ mul.s $f0, $f0, $f2
/* 13E8B8 8024B578 00000000 */ nop
/* 13E8BC 8024B57C 3C038027 */ lui $v1, %hi(D_802706B0)
/* 13E8C0 8024B580 8C6306B0 */ lw $v1, %lo(D_802706B0)($v1)
/* 13E8C4 8024B584 44831000 */ mtc1 $v1, $f2
/* 13E8C8 8024B588 00000000 */ nop
/* 13E8CC 8024B58C 468010A0 */ cvt.s.w $f2, $f2
/* 13E8D0 8024B590 46020002 */ mul.s $f0, $f0, $f2
/* 13E8D4 8024B594 00000000 */ nop
/* 13E8D8 8024B598 3C0245E7 */ lui $v0, 0x45e7
/* 13E8DC 8024B59C 3442B273 */ ori $v0, $v0, 0xb273
/* 13E8E0 8024B5A0 46040003 */ div.s $f0, $f0, $f4
/* 13E8E4 8024B5A4 4600028D */ trunc.w.s $f10, $f0
/* 13E8E8 8024B5A8 44075000 */ mfc1 $a3, $f10
/* 13E8EC 8024B5AC 00000000 */ nop
/* 13E8F0 8024B5B0 00E20018 */ mult $a3, $v0
/* 13E8F4 8024B5B4 000717C3 */ sra $v0, $a3, 0x1f
/* 13E8F8 8024B5B8 00004010 */ mfhi $t0
/* 13E8FC 8024B5BC 00083303 */ sra $a2, $t0, 0xc
/* 13E900 8024B5C0 00C23023 */ subu $a2, $a2, $v0
/* 13E904 8024B5C4 14600002 */ bnez $v1, .L8024B5D0
/* 13E908 8024B5C8 00C3001A */ div $zero, $a2, $v1
/* 13E90C 8024B5CC 0007000D */ break 7
.L8024B5D0:
/* 13E910 8024B5D0 2401FFFF */ addiu $at, $zero, -1
/* 13E914 8024B5D4 14610004 */ bne $v1, $at, .L8024B5E8
/* 13E918 8024B5D8 3C018000 */ lui $at, 0x8000
/* 13E91C 8024B5DC 14C10002 */ bne $a2, $at, .L8024B5E8
/* 13E920 8024B5E0 00000000 */ nop
/* 13E924 8024B5E4 0006000D */ break 6
.L8024B5E8:
/* 13E928 8024B5E8 00002010 */ mfhi $a0
/* 13E92C 8024B5EC 3C014080 */ lui $at, 0x4080
/* 13E930 8024B5F0 44814000 */ mtc1 $at, $f8
/* 13E934 8024B5F4 448B3000 */ mtc1 $t3, $f6
/* 13E938 8024B5F8 00000000 */ nop
/* 13E93C 8024B5FC 468031A0 */ cvt.s.w $f6, $f6
/* 13E940 8024B600 46083182 */ mul.s $f6, $f6, $f8
/* 13E944 8024B604 00000000 */ nop
/* 13E948 8024B608 3C19E700 */ lui $t9, 0xe700
/* 13E94C 8024B60C 3C1E8025 */ lui $fp, %hi(D_8024F73C)
/* 13E950 8024B610 27DEF73C */ addiu $fp, $fp, %lo(D_8024F73C)
/* 13E954 8024B614 44851000 */ mtc1 $a1, $f2
/* 13E958 8024B618 00000000 */ nop
/* 13E95C 8024B61C 468010A0 */ cvt.s.w $f2, $f2
/* 13E960 8024B620 3C05ED00 */ lui $a1, 0xed00
/* 13E964 8024B624 46081082 */ mul.s $f2, $f2, $f8
/* 13E968 8024B628 00000000 */ nop
/* 13E96C 8024B62C 3C0CF548 */ lui $t4, 0xf548
/* 13E970 8024B630 358C2600 */ ori $t4, $t4, 0x2600
/* 13E974 8024B634 44890000 */ mtc1 $t1, $f0
/* 13E978 8024B638 00000000 */ nop
/* 13E97C 8024B63C 46800020 */ cvt.s.w $f0, $f0
/* 13E980 8024B640 448A2000 */ mtc1 $t2, $f4
/* 13E984 8024B644 00000000 */ nop
/* 13E988 8024B648 46802120 */ cvt.s.w $f4, $f4
/* 13E98C 8024B64C 46080002 */ mul.s $f0, $f0, $f8
/* 13E990 8024B650 00000000 */ nop
/* 13E994 8024B654 AFAC0110 */ sw $t4, 0x110($sp)
/* 13E998 8024B658 3C02800A */ lui $v0, %hi(gMasterGfxPos)
/* 13E99C 8024B65C 2442A66C */ addiu $v0, $v0, %lo(gMasterGfxPos)
/* 13E9A0 8024B660 0040882D */ daddu $s1, $v0, $zero
/* 13E9A4 8024B664 8E220000 */ lw $v0, ($s1)
/* 13E9A8 8024B668 46082102 */ mul.s $f4, $f4, $f8
/* 13E9AC 8024B66C 00000000 */ nop
/* 13E9B0 8024B670 AFA00114 */ sw $zero, 0x114($sp)
/* 13E9B4 8024B674 0040402D */ daddu $t0, $v0, $zero
/* 13E9B8 8024B678 24420008 */ addiu $v0, $v0, 8
/* 13E9BC 8024B67C AE220000 */ sw $v0, ($s1)
/* 13E9C0 8024B680 4600128D */ trunc.w.s $f10, $f2
/* 13E9C4 8024B684 44025000 */ mfc1 $v0, $f10
/* 13E9C8 8024B688 00000000 */ nop
/* 13E9CC 8024B68C 30420FFF */ andi $v0, $v0, 0xfff
/* 13E9D0 8024B690 00021300 */ sll $v0, $v0, 0xc
/* 13E9D4 8024B694 4600028D */ trunc.w.s $f10, $f0
/* 13E9D8 8024B698 44035000 */ mfc1 $v1, $f10
/* 13E9DC 8024B69C 00000000 */ nop
/* 13E9E0 8024B6A0 30630FFF */ andi $v1, $v1, 0xfff
/* 13E9E4 8024B6A4 00651825 */ or $v1, $v1, $a1
/* 13E9E8 8024B6A8 00431025 */ or $v0, $v0, $v1
/* 13E9EC 8024B6AC AD020000 */ sw $v0, ($t0)
/* 13E9F0 8024B6B0 00061140 */ sll $v0, $a2, 5
/* 13E9F4 8024B6B4 00461023 */ subu $v0, $v0, $a2
/* 13E9F8 8024B6B8 00021080 */ sll $v0, $v0, 2
/* 13E9FC 8024B6BC 00461021 */ addu $v0, $v0, $a2
/* 13EA00 8024B6C0 00021900 */ sll $v1, $v0, 4
/* 13EA04 8024B6C4 00621823 */ subu $v1, $v1, $v0
/* 13EA08 8024B6C8 000318C0 */ sll $v1, $v1, 3
/* 13EA0C 8024B6CC 0067B823 */ subu $s7, $v1, $a3
/* 13EA10 8024B6D0 44971000 */ mtc1 $s7, $f2
/* 13EA14 8024B6D4 00000000 */ nop
/* 13EA18 8024B6D8 468010A1 */ cvt.d.w $f2, $f2
/* 13EA1C 8024B6DC 3C018027 */ lui $at, %hi(D_80270040)
/* 13EA20 8024B6E0 D4200040 */ ldc1 $f0, %lo(D_80270040)($at)
/* 13EA24 8024B6E4 4600228D */ trunc.w.s $f10, $f4
/* 13EA28 8024B6E8 44025000 */ mfc1 $v0, $f10
/* 13EA2C 8024B6EC 46201082 */ mul.d $f2, $f2, $f0
/* 13EA30 8024B6F0 00000000 */ nop
/* 13EA34 8024B6F4 30420FFF */ andi $v0, $v0, 0xfff
/* 13EA38 8024B6F8 00021300 */ sll $v0, $v0, 0xc
/* 13EA3C 8024B6FC 4600328D */ trunc.w.s $f10, $f6
/* 13EA40 8024B700 44035000 */ mfc1 $v1, $f10
/* 13EA44 8024B704 00000000 */ nop
/* 13EA48 8024B708 30630FFF */ andi $v1, $v1, 0xfff
/* 13EA4C 8024B70C 00431025 */ or $v0, $v0, $v1
/* 13EA50 8024B710 AD020004 */ sw $v0, 4($t0)
/* 13EA54 8024B714 4620128D */ trunc.w.d $f10, $f2
/* 13EA58 8024B718 44175000 */ mfc1 $s7, $f10
/* 13EA5C 8024B71C 0C092B78 */ jal pause_partners_load_portrait
/* 13EA60 8024B720 AFB90120 */ sw $t9, 0x120($sp)
/* 13EA64 8024B724 8FB90120 */ lw $t9, 0x120($sp)
.L8024B728:
/* 13EA68 8024B728 3C05F500 */ lui $a1, 0xf500
/* 13EA6C 8024B72C 34A50100 */ ori $a1, $a1, 0x100
/* 13EA70 8024B730 3C06073F */ lui $a2, 0x73f
/* 13EA74 8024B734 34C6C000 */ ori $a2, $a2, 0xc000
/* 13EA78 8024B738 0000802D */ daddu $s0, $zero, $zero
/* 13EA7C 8024B73C 26E20082 */ addiu $v0, $s7, 0x82
/* 13EA80 8024B740 2413000C */ addiu $s3, $zero, 0xc
/* 13EA84 8024B744 0200B02D */ daddu $s6, $s0, $zero
/* 13EA88 8024B748 24150018 */ addiu $s5, $zero, 0x18
/* 13EA8C 8024B74C 8FAD018C */ lw $t5, 0x18c($sp)
/* 13EA90 8024B750 0200A02D */ daddu $s4, $s0, $zero
/* 13EA94 8024B754 01A21021 */ addu $v0, $t5, $v0
/* 13EA98 8024B758 AFA20128 */ sw $v0, 0x128($sp)
/* 13EA9C 8024B75C 26E20118 */ addiu $v0, $s7, 0x118
/* 13EAA0 8024B760 01A21021 */ addu $v0, $t5, $v0
/* 13EAA4 8024B764 AFA20124 */ sw $v0, 0x124($sp)
/* 13EAA8 8024B768 8E230000 */ lw $v1, ($s1)
/* 13EAAC 8024B76C 3C02DE00 */ lui $v0, 0xde00
/* 13EAB0 8024B770 0060202D */ daddu $a0, $v1, $zero
/* 13EAB4 8024B774 24630008 */ addiu $v1, $v1, 8
/* 13EAB8 8024B778 AE230000 */ sw $v1, ($s1)
/* 13EABC 8024B77C AC820000 */ sw $v0, ($a0)
/* 13EAC0 8024B780 3C028025 */ lui $v0, %hi(D_8024F750)
/* 13EAC4 8024B784 2442F750 */ addiu $v0, $v0, %lo(D_8024F750)
/* 13EAC8 8024B788 AC820004 */ sw $v0, 4($a0)
/* 13EACC 8024B78C 24620008 */ addiu $v0, $v1, 8
/* 13EAD0 8024B790 AE220000 */ sw $v0, ($s1)
/* 13EAD4 8024B794 3C02FD10 */ lui $v0, 0xfd10
/* 13EAD8 8024B798 AC620000 */ sw $v0, ($v1)
/* 13EADC 8024B79C 24620010 */ addiu $v0, $v1, 0x10
/* 13EAE0 8024B7A0 AE220000 */ sw $v0, ($s1)
/* 13EAE4 8024B7A4 8FAF0114 */ lw $t7, 0x114($sp)
/* 13EAE8 8024B7A8 0200902D */ daddu $s2, $s0, $zero
/* 13EAEC 8024B7AC 3C048025 */ lui $a0, %hi(D_8024F744)
/* 13EAF0 8024B7B0 008F2021 */ addu $a0, $a0, $t7
/* 13EAF4 8024B7B4 8C84F744 */ lw $a0, %lo(D_8024F744)($a0)
/* 13EAF8 8024B7B8 3C02E800 */ lui $v0, 0xe800
/* 13EAFC 8024B7BC AC620008 */ sw $v0, 8($v1)
/* 13EB00 8024B7C0 00751021 */ addu $v0, $v1, $s5
/* 13EB04 8024B7C4 AC60000C */ sw $zero, 0xc($v1)
/* 13EB08 8024B7C8 AE220000 */ sw $v0, ($s1)
/* 13EB0C 8024B7CC 3C020700 */ lui $v0, 0x700
/* 13EB10 8024B7D0 AC620014 */ sw $v0, 0x14($v1)
/* 13EB14 8024B7D4 24620020 */ addiu $v0, $v1, 0x20
/* 13EB18 8024B7D8 3C18E600 */ lui $t8, 0xe600
/* 13EB1C 8024B7DC AC650010 */ sw $a1, 0x10($v1)
/* 13EB20 8024B7E0 AE220000 */ sw $v0, ($s1)
/* 13EB24 8024B7E4 24620028 */ addiu $v0, $v1, 0x28
/* 13EB28 8024B7E8 AC780018 */ sw $t8, 0x18($v1)
/* 13EB2C 8024B7EC AC60001C */ sw $zero, 0x1c($v1)
/* 13EB30 8024B7F0 AE220000 */ sw $v0, ($s1)
/* 13EB34 8024B7F4 3C02F000 */ lui $v0, 0xf000
/* 13EB38 8024B7F8 AC620020 */ sw $v0, 0x20($v1)
/* 13EB3C 8024B7FC 24620030 */ addiu $v0, $v1, 0x30
/* 13EB40 8024B800 AC660024 */ sw $a2, 0x24($v1)
/* 13EB44 8024B804 AE220000 */ sw $v0, ($s1)
/* 13EB48 8024B808 AC790028 */ sw $t9, 0x28($v1)
/* 13EB4C 8024B80C AC60002C */ sw $zero, 0x2c($v1)
/* 13EB50 8024B810 AC640004 */ sw $a0, 4($v1)
.L8024B814:
/* 13EB54 8024B814 2A62006A */ slti $v0, $s3, 0x6a
/* 13EB58 8024B818 14400003 */ bnez $v0, .L8024B828
/* 13EB5C 8024B81C 240E000C */ addiu $t6, $zero, 0xc
/* 13EB60 8024B820 2402006A */ addiu $v0, $zero, 0x6a
/* 13EB64 8024B824 00527023 */ subu $t6, $v0, $s2
.L8024B828:
/* 13EB68 8024B828 3C02FD48 */ lui $v0, 0xfd48
/* 13EB6C 8024B82C 34420095 */ ori $v0, $v0, 0x95
/* 13EB70 8024B830 3C0B0708 */ lui $t3, 0x708
/* 13EB74 8024B834 356B0200 */ ori $t3, $t3, 0x200
/* 13EB78 8024B838 3C0A0725 */ lui $t2, 0x725
/* 13EB7C 8024B83C 354A4000 */ ori $t2, $t2, 0x4000
/* 13EB80 8024B840 3C0C0008 */ lui $t4, 8
/* 13EB84 8024B844 358C0200 */ ori $t4, $t4, 0x200
/* 13EB88 8024B848 8FAF0128 */ lw $t7, 0x128($sp)
/* 13EB8C 8024B84C 8FB80190 */ lw $t8, 0x190($sp)
/* 13EB90 8024B850 3C0D0025 */ lui $t5, 0x25
/* 13EB94 8024B854 AFAC012C */ sw $t4, 0x12c($sp)
/* 13EB98 8024B858 8FAC0124 */ lw $t4, 0x124($sp)
/* 13EB9C 8024B85C 35AD4000 */ ori $t5, $t5, 0x4000
/* 13EBA0 8024B860 AFAD0130 */ sw $t5, 0x130($sp)
/* 13EBA4 8024B864 8E280000 */ lw $t0, ($s1)
/* 13EBA8 8024B868 000F2080 */ sll $a0, $t7, 2
/* 13EBAC 8024B86C 03153821 */ addu $a3, $t8, $s5
/* 13EBB0 8024B870 00072880 */ sll $a1, $a3, 2
/* 13EBB4 8024B874 000C3080 */ sll $a2, $t4, 2
/* 13EBB8 8024B878 00EE3821 */ addu $a3, $a3, $t6
/* 13EBBC 8024B87C 00073880 */ sll $a3, $a3, 2
/* 13EBC0 8024B880 0100482D */ daddu $t1, $t0, $zero
/* 13EBC4 8024B884 25080008 */ addiu $t0, $t0, 8
/* 13EBC8 8024B888 AE280000 */ sw $t0, ($s1)
/* 13EBCC 8024B88C AD220000 */ sw $v0, ($t1)
/* 13EBD0 8024B890 25020008 */ addiu $v0, $t0, 8
/* 13EBD4 8024B894 AE220000 */ sw $v0, ($s1)
/* 13EBD8 8024B898 25020010 */ addiu $v0, $t0, 0x10
/* 13EBDC 8024B89C AE220000 */ sw $v0, ($s1)
/* 13EBE0 8024B8A0 25020018 */ addiu $v0, $t0, 0x18
/* 13EBE4 8024B8A4 AE220000 */ sw $v0, ($s1)
/* 13EBE8 8024B8A8 25020020 */ addiu $v0, $t0, 0x20
/* 13EBEC 8024B8AC AE220000 */ sw $v0, ($s1)
/* 13EBF0 8024B8B0 25020028 */ addiu $v0, $t0, 0x28
/* 13EBF4 8024B8B4 AE220000 */ sw $v0, ($s1)
/* 13EBF8 8024B8B8 8FC30000 */ lw $v1, ($fp)
/* 13EBFC 8024B8BC 25020030 */ addiu $v0, $t0, 0x30
/* 13EC00 8024B8C0 AE220000 */ sw $v0, ($s1)
/* 13EC04 8024B8C4 3C02F400 */ lui $v0, 0xf400
/* 13EC08 8024B8C8 AD230004 */ sw $v1, 4($t1)
/* 13EC0C 8024B8CC 3C0FE600 */ lui $t7, 0xe600
/* 13EC10 8024B8D0 32890FFF */ andi $t1, $s4, 0xfff
/* 13EC14 8024B8D4 01221025 */ or $v0, $t1, $v0
/* 13EC18 8024B8D8 024E1821 */ addu $v1, $s2, $t6
/* 13EC1C 8024B8DC 2463FFFF */ addiu $v1, $v1, -1
/* 13EC20 8024B8E0 00031880 */ sll $v1, $v1, 2
/* 13EC24 8024B8E4 30630FFF */ andi $v1, $v1, 0xfff
/* 13EC28 8024B8E8 8FAD0110 */ lw $t5, 0x110($sp)
/* 13EC2C 8024B8EC 006A5025 */ or $t2, $v1, $t2
/* 13EC30 8024B8F0 AD020010 */ sw $v0, 0x10($t0)
/* 13EC34 8024B8F4 3C02F200 */ lui $v0, 0xf200
/* 13EC38 8024B8F8 AD0B0004 */ sw $t3, 4($t0)
/* 13EC3C 8024B8FC AD0F0008 */ sw $t7, 8($t0)
/* 13EC40 8024B900 AD00000C */ sw $zero, 0xc($t0)
/* 13EC44 8024B904 AD0A0014 */ sw $t2, 0x14($t0)
/* 13EC48 8024B908 AD190018 */ sw $t9, 0x18($t0)
/* 13EC4C 8024B90C AD00001C */ sw $zero, 0x1c($t0)
/* 13EC50 8024B910 AD0D0000 */ sw $t5, ($t0)
/* 13EC54 8024B914 AD0D0020 */ sw $t5, 0x20($t0)
/* 13EC58 8024B918 8FB8012C */ lw $t8, 0x12c($sp)
/* 13EC5C 8024B91C 01224825 */ or $t1, $t1, $v0
/* 13EC60 8024B920 AD180024 */ sw $t8, 0x24($t0)
/* 13EC64 8024B924 AD090028 */ sw $t1, 0x28($t0)
/* 13EC68 8024B928 8FAC0130 */ lw $t4, 0x130($sp)
/* 13EC6C 8024B92C 24020400 */ addiu $v0, $zero, 0x400
/* 13EC70 8024B930 006C1825 */ or $v1, $v1, $t4
/* 13EC74 8024B934 AD03002C */ sw $v1, 0x2c($t0)
/* 13EC78 8024B938 AFA00010 */ sw $zero, 0x10($sp)
/* 13EC7C 8024B93C AFA00014 */ sw $zero, 0x14($sp)
/* 13EC80 8024B940 AFB60018 */ sw $s6, 0x18($sp)
/* 13EC84 8024B944 AFA2001C */ sw $v0, 0x1c($sp)
/* 13EC88 8024B948 AFA20020 */ sw $v0, 0x20($sp)
/* 13EC8C 8024B94C 0C091216 */ jal pause_draw_rect
/* 13EC90 8024B950 AFB90120 */ sw $t9, 0x120($sp)
/* 13EC94 8024B954 8E220000 */ lw $v0, ($s1)
/* 13EC98 8024B958 0040182D */ daddu $v1, $v0, $zero
/* 13EC9C 8024B95C 24420008 */ addiu $v0, $v0, 8
/* 13ECA0 8024B960 AE220000 */ sw $v0, ($s1)
/* 13ECA4 8024B964 8FB90120 */ lw $t9, 0x120($sp)
/* 13ECA8 8024B968 2A620069 */ slti $v0, $s3, 0x69
/* 13ECAC 8024B96C AC600004 */ sw $zero, 4($v1)
/* 13ECB0 8024B970 10400009 */ beqz $v0, .L8024B998
/* 13ECB4 8024B974 AC790000 */ sw $t9, ($v1)
/* 13ECB8 8024B978 2673000C */ addiu $s3, $s3, 0xc
/* 13ECBC 8024B97C 26D60180 */ addiu $s6, $s6, 0x180
/* 13ECC0 8024B980 26B5000C */ addiu $s5, $s5, 0xc
/* 13ECC4 8024B984 26940030 */ addiu $s4, $s4, 0x30
/* 13ECC8 8024B988 26100001 */ addiu $s0, $s0, 1
/* 13ECCC 8024B98C 2A020014 */ slti $v0, $s0, 0x14
/* 13ECD0 8024B990 1440FFA0 */ bnez $v0, .L8024B814
/* 13ECD4 8024B994 2652000C */ addiu $s2, $s2, 0xc
.L8024B998:
/* 13ECD8 8024B998 26F70096 */ addiu $s7, $s7, 0x96
/* 13ECDC 8024B99C 27DE0004 */ addiu $fp, $fp, 4
/* 13ECE0 8024B9A0 3C0F8025 */ lui $t7, %hi(D_8024F73C)
/* 13ECE4 8024B9A4 25EFF73C */ addiu $t7, $t7, %lo(D_8024F73C)
/* 13ECE8 8024B9A8 25E20008 */ addiu $v0, $t7, 8
/* 13ECEC 8024B9AC 8FAD0114 */ lw $t5, 0x114($sp)
/* 13ECF0 8024B9B0 03C2102A */ slt $v0, $fp, $v0
/* 13ECF4 8024B9B4 25AD0004 */ addiu $t5, $t5, 4
/* 13ECF8 8024B9B8 1440FF5B */ bnez $v0, .L8024B728
/* 13ECFC 8024B9BC AFAD0114 */ sw $t5, 0x114($sp)
/* 13ED00 8024B9C0 8FB8018C */ lw $t8, 0x18c($sp)
/* 13ED04 8024B9C4 8FAC0190 */ lw $t4, 0x190($sp)
/* 13ED08 8024B9C8 2707007A */ addiu $a3, $t8, 0x7a
/* 13ED0C 8024B9CC 25880010 */ addiu $t0, $t4, 0x10
/* 13ED10 8024B9D0 270A0120 */ addiu $t2, $t8, 0x120
/* 13ED14 8024B9D4 1CE00002 */ bgtz $a3, .L8024B9E0
/* 13ED18 8024B9D8 258B0089 */ addiu $t3, $t4, 0x89
/* 13ED1C 8024B9DC 24070001 */ addiu $a3, $zero, 1
.L8024B9E0:
/* 13ED20 8024B9E0 59000001 */ blezl $t0, .L8024B9E8
/* 13ED24 8024B9E4 24080001 */ addiu $t0, $zero, 1
.L8024B9E8:
/* 13ED28 8024B9E8 1940005F */ blez $t2, .L8024BB68
/* 13ED2C 8024B9EC 00000000 */ nop
/* 13ED30 8024B9F0 1960005D */ blez $t3, .L8024BB68
/* 13ED34 8024B9F4 28E2013F */ slti $v0, $a3, 0x13f
/* 13ED38 8024B9F8 1040005B */ beqz $v0, .L8024BB68
/* 13ED3C 8024B9FC 290200EF */ slti $v0, $t0, 0xef
/* 13ED40 8024BA00 10400059 */ beqz $v0, .L8024BB68
/* 13ED44 8024BA04 2942013F */ slti $v0, $t2, 0x13f
/* 13ED48 8024BA08 50400001 */ beql $v0, $zero, .L8024BA10
/* 13ED4C 8024BA0C 240A013F */ addiu $t2, $zero, 0x13f
.L8024BA10:
/* 13ED50 8024BA10 296200EF */ slti $v0, $t3, 0xef
/* 13ED54 8024BA14 50400001 */ beql $v0, $zero, .L8024BA1C
/* 13ED58 8024BA18 240B00EF */ addiu $t3, $zero, 0xef
.L8024BA1C:
/* 13ED5C 8024BA1C 3C03800A */ lui $v1, %hi(gMasterGfxPos)
/* 13ED60 8024BA20 2463A66C */ addiu $v1, $v1, %lo(gMasterGfxPos)
/* 13ED64 8024BA24 44871000 */ mtc1 $a3, $f2
/* 13ED68 8024BA28 00000000 */ nop
/* 13ED6C 8024BA2C 468010A0 */ cvt.s.w $f2, $f2
/* 13ED70 8024BA30 44880000 */ mtc1 $t0, $f0
/* 13ED74 8024BA34 00000000 */ nop
/* 13ED78 8024BA38 46800020 */ cvt.s.w $f0, $f0
/* 13ED7C 8024BA3C 3C08ED00 */ lui $t0, 0xed00
/* 13ED80 8024BA40 8FAD018C */ lw $t5, 0x18c($sp)
/* 13ED84 8024BA44 8C620000 */ lw $v0, ($v1)
/* 13ED88 8024BA48 3C014080 */ lui $at, 0x4080
/* 13ED8C 8024BA4C 44812000 */ mtc1 $at, $f4
/* 13ED90 8024BA50 8FAF0190 */ lw $t7, 0x190($sp)
/* 13ED94 8024BA54 46041082 */ mul.s $f2, $f2, $f4
/* 13ED98 8024BA58 00000000 */ nop
/* 13ED9C 8024BA5C 25A6007A */ addiu $a2, $t5, 0x7a
/* 13EDA0 8024BA60 25E70010 */ addiu $a3, $t7, 0x10
/* 13EDA4 8024BA64 0040482D */ daddu $t1, $v0, $zero
/* 13EDA8 8024BA68 24420008 */ addiu $v0, $v0, 8
/* 13EDAC 8024BA6C 46040002 */ mul.s $f0, $f0, $f4
/* 13EDB0 8024BA70 00000000 */ nop
/* 13EDB4 8024BA74 AC620000 */ sw $v0, ($v1)
/* 13EDB8 8024BA78 4600128D */ trunc.w.s $f10, $f2
/* 13EDBC 8024BA7C 44025000 */ mfc1 $v0, $f10
/* 13EDC0 8024BA80 00000000 */ nop
/* 13EDC4 8024BA84 30420FFF */ andi $v0, $v0, 0xfff
/* 13EDC8 8024BA88 00021300 */ sll $v0, $v0, 0xc
/* 13EDCC 8024BA8C 4600028D */ trunc.w.s $f10, $f0
/* 13EDD0 8024BA90 44035000 */ mfc1 $v1, $f10
/* 13EDD4 8024BA94 448A1000 */ mtc1 $t2, $f2
/* 13EDD8 8024BA98 00000000 */ nop
/* 13EDDC 8024BA9C 468010A0 */ cvt.s.w $f2, $f2
/* 13EDE0 8024BAA0 46041082 */ mul.s $f2, $f2, $f4
/* 13EDE4 8024BAA4 00000000 */ nop
/* 13EDE8 8024BAA8 30630FFF */ andi $v1, $v1, 0xfff
/* 13EDEC 8024BAAC 00681825 */ or $v1, $v1, $t0
/* 13EDF0 8024BAB0 00431025 */ or $v0, $v0, $v1
/* 13EDF4 8024BAB4 448B0000 */ mtc1 $t3, $f0
/* 13EDF8 8024BAB8 00000000 */ nop
/* 13EDFC 8024BABC 46800020 */ cvt.s.w $f0, $f0
/* 13EE00 8024BAC0 46040002 */ mul.s $f0, $f0, $f4
/* 13EE04 8024BAC4 00000000 */ nop
/* 13EE08 8024BAC8 AD220000 */ sw $v0, ($t1)
/* 13EE0C 8024BACC 4600128D */ trunc.w.s $f10, $f2
/* 13EE10 8024BAD0 44025000 */ mfc1 $v0, $f10
/* 13EE14 8024BAD4 00000000 */ nop
/* 13EE18 8024BAD8 30420FFF */ andi $v0, $v0, 0xfff
/* 13EE1C 8024BADC 00021300 */ sll $v0, $v0, 0xc
/* 13EE20 8024BAE0 4600028D */ trunc.w.s $f10, $f0
/* 13EE24 8024BAE4 44035000 */ mfc1 $v1, $f10
/* 13EE28 8024BAE8 00000000 */ nop
/* 13EE2C 8024BAEC 30630FFF */ andi $v1, $v1, 0xfff
/* 13EE30 8024BAF0 00431025 */ or $v0, $v0, $v1
/* 13EE34 8024BAF4 AD220004 */ sw $v0, 4($t1)
/* 13EE38 8024BAF8 240200A6 */ addiu $v0, $zero, 0xa6
/* 13EE3C 8024BAFC AFA20014 */ sw $v0, 0x14($sp)
/* 13EE40 8024BB00 24020079 */ addiu $v0, $zero, 0x79
/* 13EE44 8024BB04 AFA20018 */ sw $v0, 0x18($sp)
/* 13EE48 8024BB08 93A2019F */ lbu $v0, 0x19f($sp)
/* 13EE4C 8024BB0C 3C013F80 */ lui $at, 0x3f80
/* 13EE50 8024BB10 44810000 */ mtc1 $at, $f0
/* 13EE54 8024BB14 8FAD0194 */ lw $t5, 0x194($sp)
/* 13EE58 8024BB18 AFA2001C */ sw $v0, 0x1c($sp)
/* 13EE5C 8024BB1C 93A201A3 */ lbu $v0, 0x1a3($sp)
/* 13EE60 8024BB20 0000202D */ daddu $a0, $zero, $zero
/* 13EE64 8024BB24 AFA20020 */ sw $v0, 0x20($sp)
/* 13EE68 8024BB28 8FA20198 */ lw $v0, 0x198($sp)
/* 13EE6C 8024BB2C 3C058027 */ lui $a1, %hi(D_8026FD98)
/* 13EE70 8024BB30 24A5FD98 */ addiu $a1, $a1, %lo(D_8026FD98)
/* 13EE74 8024BB34 AFA00010 */ sw $zero, 0x10($sp)
/* 13EE78 8024BB38 AFA0002C */ sw $zero, 0x2c($sp)
/* 13EE7C 8024BB3C AFA00030 */ sw $zero, 0x30($sp)
/* 13EE80 8024BB40 AFA00034 */ sw $zero, 0x34($sp)
/* 13EE84 8024BB44 AFA00038 */ sw $zero, 0x38($sp)
/* 13EE88 8024BB48 AFA0003C */ sw $zero, 0x3c($sp)
/* 13EE8C 8024BB4C AFA00040 */ sw $zero, 0x40($sp)
/* 13EE90 8024BB50 AFA0004C */ sw $zero, 0x4c($sp)
/* 13EE94 8024BB54 E7A00024 */ swc1 $f0, 0x24($sp)
/* 13EE98 8024BB58 E7A00028 */ swc1 $f0, 0x28($sp)
/* 13EE9C 8024BB5C AFAD0044 */ sw $t5, 0x44($sp)
/* 13EEA0 8024BB60 0C03D4B8 */ jal draw_box
/* 13EEA4 8024BB64 AFA20048 */ sw $v0, 0x48($sp)
.L8024BB68:
/* 13EEA8 8024BB68 8FBF015C */ lw $ra, 0x15c($sp)
/* 13EEAC 8024BB6C 8FBE0158 */ lw $fp, 0x158($sp)
/* 13EEB0 8024BB70 8FB70154 */ lw $s7, 0x154($sp)
/* 13EEB4 8024BB74 8FB60150 */ lw $s6, 0x150($sp)
/* 13EEB8 8024BB78 8FB5014C */ lw $s5, 0x14c($sp)
/* 13EEBC 8024BB7C 8FB40148 */ lw $s4, 0x148($sp)
/* 13EEC0 8024BB80 8FB30144 */ lw $s3, 0x144($sp)
/* 13EEC4 8024BB84 8FB20140 */ lw $s2, 0x140($sp)
/* 13EEC8 8024BB88 8FB1013C */ lw $s1, 0x13c($sp)
/* 13EECC 8024BB8C 8FB00138 */ lw $s0, 0x138($sp)
/* 13EED0 8024BB90 D7BC0180 */ ldc1 $f28, 0x180($sp)
/* 13EED4 8024BB94 D7BA0178 */ ldc1 $f26, 0x178($sp)
/* 13EED8 8024BB98 D7B80170 */ ldc1 $f24, 0x170($sp)
/* 13EEDC 8024BB9C D7B60168 */ ldc1 $f22, 0x168($sp)
/* 13EEE0 8024BBA0 D7B40160 */ ldc1 $f20, 0x160($sp)
/* 13EEE4 8024BBA4 03E00008 */ jr $ra
/* 13EEE8 8024BBA8 27BD0188 */ addiu $sp, $sp, 0x188

View File

@ -1,210 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel pause_partners_draw_movelist
/* 13F078 8024BD38 27BDFFB0 */ addiu $sp, $sp, -0x50
/* 13F07C 8024BD3C AFBE0048 */ sw $fp, 0x48($sp)
/* 13F080 8024BD40 00C0F02D */ daddu $fp, $a2, $zero
/* 13F084 8024BD44 AFBF004C */ sw $ra, 0x4c($sp)
/* 13F088 8024BD48 AFB70044 */ sw $s7, 0x44($sp)
/* 13F08C 8024BD4C AFB60040 */ sw $s6, 0x40($sp)
/* 13F090 8024BD50 AFB5003C */ sw $s5, 0x3c($sp)
/* 13F094 8024BD54 AFB40038 */ sw $s4, 0x38($sp)
/* 13F098 8024BD58 AFB30034 */ sw $s3, 0x34($sp)
/* 13F09C 8024BD5C AFB20030 */ sw $s2, 0x30($sp)
/* 13F0A0 8024BD60 AFB1002C */ sw $s1, 0x2c($sp)
/* 13F0A4 8024BD64 AFB00028 */ sw $s0, 0x28($sp)
/* 13F0A8 8024BD68 0C039D59 */ jal get_player_data
/* 13F0AC 8024BD6C AFA50054 */ sw $a1, 0x54($sp)
/* 13F0B0 8024BD70 3C038027 */ lui $v1, %hi(D_802706A0)
/* 13F0B4 8024BD74 8C6306A0 */ lw $v1, %lo(D_802706A0)($v1)
/* 13F0B8 8024BD78 00031880 */ sll $v1, $v1, 2
/* 13F0BC 8024BD7C 3C018027 */ lui $at, %hi(D_80270680)
/* 13F0C0 8024BD80 00230821 */ addu $at, $at, $v1
/* 13F0C4 8024BD84 8C230680 */ lw $v1, %lo(D_80270680)($at)
/* 13F0C8 8024BD88 00031880 */ sll $v1, $v1, 2
/* 13F0CC 8024BD8C 3C018025 */ lui $at, %hi(D_8024F6B0)
/* 13F0D0 8024BD90 00230821 */ addu $at, $at, $v1
/* 13F0D4 8024BD94 8C23F6B0 */ lw $v1, %lo(D_8024F6B0)($at)
/* 13F0D8 8024BD98 000318C0 */ sll $v1, $v1, 3
/* 13F0DC 8024BD9C 00431021 */ addu $v0, $v0, $v1
/* 13F0E0 8024BDA0 80550015 */ lb $s5, 0x15($v0)
/* 13F0E4 8024BDA4 24020002 */ addiu $v0, $zero, 2
/* 13F0E8 8024BDA8 16A20003 */ bne $s5, $v0, .L8024BDB8
/* 13F0EC 8024BDAC 24020001 */ addiu $v0, $zero, 1
/* 13F0F0 8024BDB0 08092F74 */ j .L8024BDD0
/* 13F0F4 8024BDB4 24150004 */ addiu $s5, $zero, 4
.L8024BDB8:
/* 13F0F8 8024BDB8 16A20003 */ bne $s5, $v0, .L8024BDC8
/* 13F0FC 8024BDBC 00000000 */ nop
/* 13F100 8024BDC0 08092F74 */ j .L8024BDD0
/* 13F104 8024BDC4 24150003 */ addiu $s5, $zero, 3
.L8024BDC8:
/* 13F108 8024BDC8 52A00001 */ beql $s5, $zero, .L8024BDD0
/* 13F10C 8024BDCC 24150002 */ addiu $s5, $zero, 2
.L8024BDD0:
/* 13F110 8024BDD0 0000902D */ daddu $s2, $zero, $zero
/* 13F114 8024BDD4 2417001D */ addiu $s7, $zero, 0x1d
/* 13F118 8024BDD8 24140016 */ addiu $s4, $zero, 0x16
/* 13F11C 8024BDDC 2416001C */ addiu $s6, $zero, 0x1c
/* 13F120 8024BDE0 8FA80054 */ lw $t0, 0x54($sp)
/* 13F124 8024BDE4 24130002 */ addiu $s3, $zero, 2
/* 13F128 8024BDE8 25080015 */ addiu $t0, $t0, 0x15
/* 13F12C 8024BDEC AFA80020 */ sw $t0, 0x20($sp)
.L8024BDF0:
/* 13F130 8024BDF0 0255102A */ slt $v0, $s2, $s5
/* 13F134 8024BDF4 1040006D */ beqz $v0, .L8024BFAC
/* 13F138 8024BDF8 03D43021 */ addu $a2, $fp, $s4
/* 13F13C 8024BDFC 16400011 */ bnez $s2, .L8024BE44
/* 13F140 8024BE00 00000000 */ nop
/* 13F144 8024BE04 3C028027 */ lui $v0, %hi(D_802706A0)
/* 13F148 8024BE08 8C4206A0 */ lw $v0, %lo(D_802706A0)($v0)
/* 13F14C 8024BE0C 3C088027 */ lui $t0, %hi(D_80270680)
/* 13F150 8024BE10 25080680 */ addiu $t0, $t0, %lo(D_80270680)
/* 13F154 8024BE14 00021080 */ sll $v0, $v0, 2
/* 13F158 8024BE18 00481021 */ addu $v0, $v0, $t0
/* 13F15C 8024BE1C 8C420000 */ lw $v0, ($v0)
/* 13F160 8024BE20 3C088025 */ lui $t0, %hi(D_8024F6F0)
/* 13F164 8024BE24 2508F6F0 */ addiu $t0, $t0, %lo(D_8024F6F0)
/* 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(gMoveTable)
/* 13F178 8024BE38 2508F060 */ addiu $t0, $t0, %lo(gMoveTable)
/* 13F17C 8024BE3C 08092FA1 */ j .L8024BE84
/* 13F180 8024BE40 00031080 */ sll $v0, $v1, 2
.L8024BE44:
/* 13F184 8024BE44 3C028027 */ lui $v0, %hi(D_802706A0)
/* 13F188 8024BE48 8C4206A0 */ lw $v0, %lo(D_802706A0)($v0)
/* 13F18C 8024BE4C 3C088027 */ lui $t0, %hi(D_80270680)
/* 13F190 8024BE50 25080680 */ addiu $t0, $t0, %lo(D_80270680)
/* 13F194 8024BE54 00021080 */ sll $v0, $v0, 2
/* 13F198 8024BE58 00481021 */ addu $v0, $v0, $t0
/* 13F19C 8024BE5C 8C420000 */ lw $v0, ($v0)
/* 13F1A0 8024BE60 3C088025 */ lui $t0, %hi(D_8024F6F0)
/* 13F1A4 8024BE64 2508F6F0 */ addiu $t0, $t0, %lo(D_8024F6F0)
/* 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(gMoveTable)
/* 13F1B8 8024BE78 2508F060 */ addiu $t0, $t0, %lo(gMoveTable)
/* 13F1BC 8024BE7C 00731821 */ addu $v1, $v1, $s3
/* 13F1C0 8024BE80 00031080 */ sll $v0, $v1, 2
.L8024BE84:
/* 13F1C4 8024BE84 00431021 */ addu $v0, $v0, $v1
/* 13F1C8 8024BE88 00021080 */ sll $v0, $v0, 2
/* 13F1CC 8024BE8C 00481021 */ addu $v0, $v0, $t0
/* 13F1D0 8024BE90 8C440000 */ lw $a0, ($v0)
/* 13F1D4 8024BE94 1A400016 */ blez $s2, .L8024BEF0
/* 13F1D8 8024BE98 240700FF */ addiu $a3, $zero, 0xff
/* 13F1DC 8024BE9C 3C028027 */ lui $v0, %hi(D_802706A0)
/* 13F1E0 8024BEA0 8C4206A0 */ lw $v0, %lo(D_802706A0)($v0)
/* 13F1E4 8024BEA4 3C088027 */ lui $t0, %hi(D_80270680)
/* 13F1E8 8024BEA8 25080680 */ addiu $t0, $t0, %lo(D_80270680)
/* 13F1EC 8024BEAC 00021080 */ sll $v0, $v0, 2
/* 13F1F0 8024BEB0 00481021 */ addu $v0, $v0, $t0
/* 13F1F4 8024BEB4 8C420000 */ lw $v0, ($v0)
/* 13F1F8 8024BEB8 3C088025 */ lui $t0, %hi(D_8024F6F0)
/* 13F1FC 8024BEBC 2508F6F0 */ addiu $t0, $t0, %lo(D_8024F6F0)
/* 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(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
/* 13F220 8024BEE0 00021080 */ sll $v0, $v0, 2
/* 13F224 8024BEE4 00481021 */ addu $v0, $v0, $t0
/* 13F228 8024BEE8 08092FBD */ j .L8024BEF4
/* 13F22C 8024BEEC 80510011 */ lb $s1, 0x11($v0)
.L8024BEF0:
/* 13F230 8024BEF0 0000882D */ daddu $s1, $zero, $zero
.L8024BEF4:
/* 13F234 8024BEF4 8FA50020 */ lw $a1, 0x20($sp)
/* 13F238 8024BEF8 2408000A */ addiu $t0, $zero, 0xa
/* 13F23C 8024BEFC AFA80010 */ sw $t0, 0x10($sp)
/* 13F240 8024BF00 24080001 */ addiu $t0, $zero, 1
/* 13F244 8024BF04 0C04993B */ jal draw_msg
/* 13F248 8024BF08 AFA80014 */ sw $t0, 0x14($sp)
/* 13F24C 8024BF0C 26500004 */ addiu $s0, $s2, 4
/* 13F250 8024BF10 00108080 */ sll $s0, $s0, 2
/* 13F254 8024BF14 3C088027 */ lui $t0, %hi(D_80270640)
/* 13F258 8024BF18 25080640 */ addiu $t0, $t0, %lo(D_80270640)
/* 13F25C 8024BF1C 02088021 */ addu $s0, $s0, $t0
/* 13F260 8024BF20 8E040000 */ lw $a0, ($s0)
/* 13F264 8024BF24 0C051308 */ jal set_hud_element_scale
/* 13F268 8024BF28 3C053F00 */ lui $a1, 0x3f00
/* 13F26C 8024BF2C 03D63021 */ addu $a2, $fp, $s6
/* 13F270 8024BF30 8FA80054 */ lw $t0, 0x54($sp)
/* 13F274 8024BF34 8E040000 */ lw $a0, ($s0)
/* 13F278 8024BF38 0C051261 */ jal set_hud_element_render_pos
/* 13F27C 8024BF3C 2505000C */ addiu $a1, $t0, 0xc
/* 13F280 8024BF40 8E040000 */ lw $a0, ($s0)
/* 13F284 8024BF44 0C0511F8 */ jal draw_hud_element_3
/* 13F288 8024BF48 00000000 */ nop
/* 13F28C 8024BF4C 12200017 */ beqz $s1, .L8024BFAC
/* 13F290 8024BF50 0220202D */ daddu $a0, $s1, $zero
/* 13F294 8024BF54 03D43021 */ addu $a2, $fp, $s4
/* 13F298 8024BF58 24070001 */ addiu $a3, $zero, 1
/* 13F29C 8024BF5C 8FA80054 */ lw $t0, 0x54($sp)
/* 13F2A0 8024BF60 240200FF */ addiu $v0, $zero, 0xff
/* 13F2A4 8024BF64 AFA20014 */ sw $v0, 0x14($sp)
/* 13F2A8 8024BF68 24020003 */ addiu $v0, $zero, 3
/* 13F2AC 8024BF6C AFA20018 */ sw $v0, 0x18($sp)
/* 13F2B0 8024BF70 2505007D */ addiu $a1, $t0, 0x7d
/* 13F2B4 8024BF74 2408000A */ addiu $t0, $zero, 0xa
/* 13F2B8 8024BF78 0C049DA7 */ jal draw_number
/* 13F2BC 8024BF7C AFA80010 */ sw $t0, 0x10($sp)
/* 13F2C0 8024BF80 1A20000A */ blez $s1, .L8024BFAC
/* 13F2C4 8024BF84 03D73021 */ addu $a2, $fp, $s7
/* 13F2C8 8024BF88 8FA80054 */ lw $t0, 0x54($sp)
/* 13F2CC 8024BF8C 3C048027 */ lui $a0, %hi(D_80270640)
/* 13F2D0 8024BF90 8C840640 */ lw $a0, %lo(D_80270640)($a0)
/* 13F2D4 8024BF94 0C051261 */ jal set_hud_element_render_pos
/* 13F2D8 8024BF98 25050086 */ addiu $a1, $t0, 0x86
/* 13F2DC 8024BF9C 3C048027 */ lui $a0, %hi(D_80270640)
/* 13F2E0 8024BFA0 8C840640 */ lw $a0, %lo(D_80270640)($a0)
/* 13F2E4 8024BFA4 0C0511F8 */ jal draw_hud_element_3
/* 13F2E8 8024BFA8 00000000 */ nop
.L8024BFAC:
/* 13F2EC 8024BFAC 26F7000D */ addiu $s7, $s7, 0xd
/* 13F2F0 8024BFB0 2694000D */ addiu $s4, $s4, 0xd
/* 13F2F4 8024BFB4 26D6000D */ addiu $s6, $s6, 0xd
/* 13F2F8 8024BFB8 26520001 */ addiu $s2, $s2, 1
/* 13F2FC 8024BFBC 2A420004 */ slti $v0, $s2, 4
/* 13F300 8024BFC0 1440FF8B */ bnez $v0, .L8024BDF0
/* 13F304 8024BFC4 26730001 */ addiu $s3, $s3, 1
/* 13F308 8024BFC8 3C038027 */ lui $v1, %hi(gPauseMenuCurrentTab)
/* 13F30C 8024BFCC 806300D4 */ lb $v1, %lo(gPauseMenuCurrentTab)($v1)
/* 13F310 8024BFD0 24020004 */ addiu $v0, $zero, 4
/* 13F314 8024BFD4 14620010 */ bne $v1, $v0, .L8024C018
/* 13F318 8024BFD8 24020001 */ addiu $v0, $zero, 1
/* 13F31C 8024BFDC 3C038027 */ lui $v1, %hi(D_802706AC)
/* 13F320 8024BFE0 8C6306AC */ lw $v1, %lo(D_802706AC)($v1)
/* 13F324 8024BFE4 1462000C */ bne $v1, $v0, .L8024C018
/* 13F328 8024BFE8 24040024 */ addiu $a0, $zero, 0x24
/* 13F32C 8024BFEC 8FA80054 */ lw $t0, 0x54($sp)
/* 13F330 8024BFF0 3C028027 */ lui $v0, %hi(D_802706A4)
/* 13F334 8024BFF4 8C4206A4 */ lw $v0, %lo(D_802706A4)($v0)
/* 13F338 8024BFF8 2505FFFE */ addiu $a1, $t0, -2
/* 13F33C 8024BFFC 00023040 */ sll $a2, $v0, 1
/* 13F340 8024C000 00C23021 */ addu $a2, $a2, $v0
/* 13F344 8024C004 00063080 */ sll $a2, $a2, 2
/* 13F348 8024C008 00C23021 */ addu $a2, $a2, $v0
/* 13F34C 8024C00C 24C6001C */ addiu $a2, $a2, 0x1c
/* 13F350 8024C010 0C090B41 */ jal func_80242D04
/* 13F354 8024C014 03C63021 */ addu $a2, $fp, $a2
.L8024C018:
/* 13F358 8024C018 8FBF004C */ lw $ra, 0x4c($sp)
/* 13F35C 8024C01C 8FBE0048 */ lw $fp, 0x48($sp)
/* 13F360 8024C020 8FB70044 */ lw $s7, 0x44($sp)
/* 13F364 8024C024 8FB60040 */ lw $s6, 0x40($sp)
/* 13F368 8024C028 8FB5003C */ lw $s5, 0x3c($sp)
/* 13F36C 8024C02C 8FB40038 */ lw $s4, 0x38($sp)
/* 13F370 8024C030 8FB30034 */ lw $s3, 0x34($sp)
/* 13F374 8024C034 8FB20030 */ lw $s2, 0x30($sp)
/* 13F378 8024C038 8FB1002C */ lw $s1, 0x2c($sp)
/* 13F37C 8024C03C 8FB00028 */ lw $s0, 0x28($sp)
/* 13F380 8024C040 03E00008 */ jr $ra
/* 13F384 8024C044 27BD0050 */ addiu $sp, $sp, 0x50

View File

@ -1,108 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel pause_partners_draw_title
/* 13EEEC 8024BBAC 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 13EEF0 8024BBB0 AFB00018 */ sw $s0, 0x18($sp)
/* 13EEF4 8024BBB4 3C108027 */ lui $s0, %hi(D_802706A0)
/* 13EEF8 8024BBB8 261006A0 */ addiu $s0, $s0, %lo(D_802706A0)
/* 13EEFC 8024BBBC AFBF002C */ sw $ra, 0x2c($sp)
/* 13EF00 8024BBC0 AFB40028 */ sw $s4, 0x28($sp)
/* 13EF04 8024BBC4 AFB30024 */ sw $s3, 0x24($sp)
/* 13EF08 8024BBC8 AFB20020 */ sw $s2, 0x20($sp)
/* 13EF0C 8024BBCC AFB1001C */ sw $s1, 0x1c($sp)
/* 13EF10 8024BBD0 8E020000 */ lw $v0, ($s0)
/* 13EF14 8024BBD4 00A0902D */ daddu $s2, $a1, $zero
/* 13EF18 8024BBD8 00021080 */ sll $v0, $v0, 2
/* 13EF1C 8024BBDC 3C018027 */ lui $at, %hi(D_80270680)
/* 13EF20 8024BBE0 00220821 */ addu $at, $at, $v0
/* 13EF24 8024BBE4 8C220680 */ lw $v0, %lo(D_80270680)($at)
/* 13EF28 8024BBE8 00C0982D */ daddu $s3, $a2, $zero
/* 13EF2C 8024BBEC 00021080 */ sll $v0, $v0, 2
/* 13EF30 8024BBF0 3C018025 */ lui $at, %hi(D_8024F6B0)
/* 13EF34 8024BBF4 00220821 */ addu $at, $at, $v0
/* 13EF38 8024BBF8 8C22F6B0 */ lw $v0, %lo(D_8024F6B0)($at)
/* 13EF3C 8024BBFC 00021100 */ sll $v0, $v0, 4
/* 13EF40 8024BC00 3C118009 */ lui $s1, %hi(gPartnerPopupProperties)
/* 13EF44 8024BC04 02228821 */ addu $s1, $s1, $v0
/* 13EF48 8024BC08 8E31EF20 */ lw $s1, %lo(gPartnerPopupProperties)($s1)
/* 13EF4C 8024BC0C 0C039D59 */ jal get_player_data
/* 13EF50 8024BC10 00E0A02D */ daddu $s4, $a3, $zero
/* 13EF54 8024BC14 8E030000 */ lw $v1, ($s0)
/* 13EF58 8024BC18 00031880 */ sll $v1, $v1, 2
/* 13EF5C 8024BC1C 3C018027 */ lui $at, %hi(D_80270680)
/* 13EF60 8024BC20 00230821 */ addu $at, $at, $v1
/* 13EF64 8024BC24 8C230680 */ lw $v1, %lo(D_80270680)($at)
/* 13EF68 8024BC28 0000282D */ daddu $a1, $zero, $zero
/* 13EF6C 8024BC2C 00031880 */ sll $v1, $v1, 2
/* 13EF70 8024BC30 3C018025 */ lui $at, %hi(D_8024F6B0)
/* 13EF74 8024BC34 00230821 */ addu $at, $at, $v1
/* 13EF78 8024BC38 8C23F6B0 */ lw $v1, %lo(D_8024F6B0)($at)
/* 13EF7C 8024BC3C 000318C0 */ sll $v1, $v1, 3
/* 13EF80 8024BC40 00431021 */ addu $v0, $v0, $v1
/* 13EF84 8024BC44 80500015 */ lb $s0, 0x15($v0)
/* 13EF88 8024BC48 0C04991D */ jal get_msg_width
/* 13EF8C 8024BC4C 0220202D */ daddu $a0, $s1, $zero
/* 13EF90 8024BC50 0040302D */ daddu $a2, $v0, $zero
/* 13EF94 8024BC54 24020001 */ addiu $v0, $zero, 1
/* 13EF98 8024BC58 12020005 */ beq $s0, $v0, .L8024BC70
/* 13EF9C 8024BC5C 24030010 */ addiu $v1, $zero, 0x10
/* 13EFA0 8024BC60 24020002 */ addiu $v0, $zero, 2
/* 13EFA4 8024BC64 16020002 */ bne $s0, $v0, .L8024BC70
/* 13EFA8 8024BC68 0000182D */ daddu $v1, $zero, $zero
/* 13EFAC 8024BC6C 24030014 */ addiu $v1, $zero, 0x14
.L8024BC70:
/* 13EFB0 8024BC70 54600001 */ bnel $v1, $zero, .L8024BC78
/* 13EFB4 8024BC74 24C60004 */ addiu $a2, $a2, 4
.L8024BC78:
/* 13EFB8 8024BC78 0220202D */ daddu $a0, $s1, $zero
/* 13EFBC 8024BC7C 02832823 */ subu $a1, $s4, $v1
/* 13EFC0 8024BC80 00A62823 */ subu $a1, $a1, $a2
/* 13EFC4 8024BC84 00052843 */ sra $a1, $a1, 1
/* 13EFC8 8024BC88 02452821 */ addu $a1, $s2, $a1
/* 13EFCC 8024BC8C 26660001 */ addiu $a2, $s3, 1
/* 13EFD0 8024BC90 240700FF */ addiu $a3, $zero, 0xff
/* 13EFD4 8024BC94 AFA00010 */ sw $zero, 0x10($sp)
/* 13EFD8 8024BC98 0C04993B */ jal draw_msg
/* 13EFDC 8024BC9C AFA00014 */ sw $zero, 0x14($sp)
/* 13EFE0 8024BCA0 24020001 */ addiu $v0, $zero, 1
/* 13EFE4 8024BCA4 1602000A */ bne $s0, $v0, .L8024BCD0
/* 13EFE8 8024BCA8 24020002 */ addiu $v0, $zero, 2
/* 13EFEC 8024BCAC 2645005F */ addiu $a1, $s2, 0x5f
/* 13EFF0 8024BCB0 3C108027 */ lui $s0, %hi(D_80270640)
/* 13EFF4 8024BCB4 26100640 */ addiu $s0, $s0, %lo(D_80270640)
/* 13EFF8 8024BCB8 8E040008 */ lw $a0, 8($s0)
/* 13EFFC 8024BCBC 0C051261 */ jal set_hud_element_render_pos
/* 13F000 8024BCC0 2666000A */ addiu $a2, $s3, 0xa
/* 13F004 8024BCC4 8E040008 */ lw $a0, 8($s0)
/* 13F008 8024BCC8 08092F44 */ j .L8024BD10
/* 13F00C 8024BCCC 00000000 */ nop
.L8024BCD0:
/* 13F010 8024BCD0 16020011 */ bne $s0, $v0, .L8024BD18
/* 13F014 8024BCD4 2645005B */ addiu $a1, $s2, 0x5b
/* 13F018 8024BCD8 3C108027 */ lui $s0, %hi(D_80270640)
/* 13F01C 8024BCDC 26100640 */ addiu $s0, $s0, %lo(D_80270640)
/* 13F020 8024BCE0 2671000A */ addiu $s1, $s3, 0xa
/* 13F024 8024BCE4 8E040008 */ lw $a0, 8($s0)
/* 13F028 8024BCE8 0C051261 */ jal set_hud_element_render_pos
/* 13F02C 8024BCEC 0220302D */ daddu $a2, $s1, $zero
/* 13F030 8024BCF0 8E040008 */ lw $a0, 8($s0)
/* 13F034 8024BCF4 0C0511F8 */ jal draw_hud_element_3
/* 13F038 8024BCF8 00000000 */ nop
/* 13F03C 8024BCFC 26450065 */ addiu $a1, $s2, 0x65
/* 13F040 8024BD00 8E04000C */ lw $a0, 0xc($s0)
/* 13F044 8024BD04 0C051261 */ jal set_hud_element_render_pos
/* 13F048 8024BD08 0220302D */ daddu $a2, $s1, $zero
/* 13F04C 8024BD0C 8E04000C */ lw $a0, 0xc($s0)
.L8024BD10:
/* 13F050 8024BD10 0C0511F8 */ jal draw_hud_element_3
/* 13F054 8024BD14 00000000 */ nop
.L8024BD18:
/* 13F058 8024BD18 8FBF002C */ lw $ra, 0x2c($sp)
/* 13F05C 8024BD1C 8FB40028 */ lw $s4, 0x28($sp)
/* 13F060 8024BD20 8FB30024 */ lw $s3, 0x24($sp)
/* 13F064 8024BD24 8FB20020 */ lw $s2, 0x20($sp)
/* 13F068 8024BD28 8FB1001C */ lw $s1, 0x1c($sp)
/* 13F06C 8024BD2C 8FB00018 */ lw $s0, 0x18($sp)
/* 13F070 8024BD30 03E00008 */ jr $ra
/* 13F074 8024BD34 27BD0030 */ addiu $sp, $sp, 0x30

View File

@ -1,314 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel pause_partners_handle_input
/* 13F678 8024C338 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 13F67C 8024C33C AFB10014 */ sw $s1, 0x14($sp)
/* 13F680 8024C340 3C118027 */ lui $s1, %hi(D_802706B0)
/* 13F684 8024C344 263106B0 */ addiu $s1, $s1, %lo(D_802706B0)
/* 13F688 8024C348 AFBF0018 */ sw $ra, 0x18($sp)
/* 13F68C 8024C34C AFB00010 */ sw $s0, 0x10($sp)
/* 13F690 8024C350 8E220000 */ lw $v0, ($s1)
/* 13F694 8024C354 28420002 */ slti $v0, $v0, 2
/* 13F698 8024C358 14400047 */ bnez $v0, .L8024C478
/* 13F69C 8024C35C 00000000 */ nop
/* 13F6A0 8024C360 3C028027 */ lui $v0, %hi(D_802706AC)
/* 13F6A4 8024C364 8C4206AC */ lw $v0, %lo(D_802706AC)($v0)
/* 13F6A8 8024C368 10400006 */ beqz $v0, .L8024C384
/* 13F6AC 8024C36C 00000000 */ nop
/* 13F6B0 8024C370 3C028027 */ lui $v0, %hi(gPauseMenuHeldButtons)
/* 13F6B4 8024C374 8C4200C0 */ lw $v0, %lo(gPauseMenuHeldButtons)($v0)
/* 13F6B8 8024C378 30422010 */ andi $v0, $v0, 0x2010
/* 13F6BC 8024C37C 1040003E */ beqz $v0, .L8024C478
/* 13F6C0 8024C380 00000000 */ nop
.L8024C384:
/* 13F6C4 8024C384 3C038027 */ lui $v1, %hi(gPauseMenuHeldButtons)
/* 13F6C8 8024C388 8C6300C0 */ lw $v1, %lo(gPauseMenuHeldButtons)($v1)
/* 13F6CC 8024C38C 3C020004 */ lui $v0, 4
/* 13F6D0 8024C390 00621024 */ and $v0, $v1, $v0
/* 13F6D4 8024C394 10400002 */ beqz $v0, .L8024C3A0
/* 13F6D8 8024C398 0000802D */ daddu $s0, $zero, $zero
/* 13F6DC 8024C39C 2410FFFF */ addiu $s0, $zero, -1
.L8024C3A0:
/* 13F6E0 8024C3A0 3C020008 */ lui $v0, 8
/* 13F6E4 8024C3A4 00621024 */ and $v0, $v1, $v0
/* 13F6E8 8024C3A8 54400001 */ bnel $v0, $zero, .L8024C3B0
/* 13F6EC 8024C3AC 26100001 */ addiu $s0, $s0, 1
.L8024C3B0:
/* 13F6F0 8024C3B0 30622000 */ andi $v0, $v1, 0x2000
/* 13F6F4 8024C3B4 54400001 */ bnel $v0, $zero, .L8024C3BC
/* 13F6F8 8024C3B8 2610FFFF */ addiu $s0, $s0, -1
.L8024C3BC:
/* 13F6FC 8024C3BC 30620010 */ andi $v0, $v1, 0x10
/* 13F700 8024C3C0 54400001 */ bnel $v0, $zero, .L8024C3C8
/* 13F704 8024C3C4 26100001 */ addiu $s0, $s0, 1
.L8024C3C8:
/* 13F708 8024C3C8 1200002B */ beqz $s0, .L8024C478
/* 13F70C 8024C3CC 00000000 */ nop
/* 13F710 8024C3D0 0C05272D */ jal sfx_play_sound
/* 13F714 8024C3D4 240400C7 */ addiu $a0, $zero, 0xc7
/* 13F718 8024C3D8 3C048027 */ lui $a0, %hi(D_802706A0)
/* 13F71C 8024C3DC 248406A0 */ addiu $a0, $a0, %lo(D_802706A0)
/* 13F720 8024C3E0 8C820000 */ lw $v0, ($a0)
/* 13F724 8024C3E4 00501821 */ addu $v1, $v0, $s0
/* 13F728 8024C3E8 0461000F */ bgez $v1, .L8024C428
/* 13F72C 8024C3EC AC830000 */ sw $v1, ($a0)
/* 13F730 8024C3F0 3C038027 */ lui $v1, %hi(D_802706A8)
/* 13F734 8024C3F4 246306A8 */ addiu $v1, $v1, %lo(D_802706A8)
/* 13F738 8024C3F8 C4600000 */ lwc1 $f0, ($v1)
/* 13F73C 8024C3FC 8E220000 */ lw $v0, ($s1)
/* 13F740 8024C400 3C0143B4 */ lui $at, 0x43b4
/* 13F744 8024C404 44811000 */ mtc1 $at, $f2
/* 13F748 8024C408 2442FFFF */ addiu $v0, $v0, -1
/* 13F74C 8024C40C 4602003C */ c.lt.s $f0, $f2
/* 13F750 8024C410 00000000 */ nop
/* 13F754 8024C414 45000016 */ bc1f .L8024C470
/* 13F758 8024C418 AC820000 */ sw $v0, ($a0)
/* 13F75C 8024C41C 46020000 */ add.s $f0, $f0, $f2
/* 13F760 8024C420 0809311C */ j .L8024C470
/* 13F764 8024C424 E4600000 */ swc1 $f0, ($v1)
.L8024C428:
/* 13F768 8024C428 8E220000 */ lw $v0, ($s1)
/* 13F76C 8024C42C 0062102A */ slt $v0, $v1, $v0
/* 13F770 8024C430 1440000F */ bnez $v0, .L8024C470
/* 13F774 8024C434 00000000 */ nop
/* 13F778 8024C438 3C028027 */ lui $v0, %hi(D_802706A8)
/* 13F77C 8024C43C 244206A8 */ addiu $v0, $v0, %lo(D_802706A8)
/* 13F780 8024C440 C4420000 */ lwc1 $f2, ($v0)
/* 13F784 8024C444 44800000 */ mtc1 $zero, $f0
/* 13F788 8024C448 00000000 */ nop
/* 13F78C 8024C44C 4602003C */ c.lt.s $f0, $f2
/* 13F790 8024C450 00000000 */ nop
/* 13F794 8024C454 45000006 */ bc1f .L8024C470
/* 13F798 8024C458 AC800000 */ sw $zero, ($a0)
/* 13F79C 8024C45C 3C0143B4 */ lui $at, 0x43b4
/* 13F7A0 8024C460 44810000 */ mtc1 $at, $f0
/* 13F7A4 8024C464 00000000 */ nop
/* 13F7A8 8024C468 46001001 */ sub.s $f0, $f2, $f0
/* 13F7AC 8024C46C E4400000 */ swc1 $f0, ($v0)
.L8024C470:
/* 13F7B0 8024C470 3C018027 */ lui $at, %hi(D_802706A4)
/* 13F7B4 8024C474 AC2006A4 */ sw $zero, %lo(D_802706A4)($at)
.L8024C478:
/* 13F7B8 8024C478 0C039D59 */ jal get_player_data
/* 13F7BC 8024C47C 00000000 */ nop
/* 13F7C0 8024C480 3C038027 */ lui $v1, %hi(D_802706A0)
/* 13F7C4 8024C484 8C6306A0 */ lw $v1, %lo(D_802706A0)($v1)
/* 13F7C8 8024C488 00031880 */ sll $v1, $v1, 2
/* 13F7CC 8024C48C 3C018027 */ lui $at, %hi(D_80270680)
/* 13F7D0 8024C490 00230821 */ addu $at, $at, $v1
/* 13F7D4 8024C494 8C230680 */ lw $v1, %lo(D_80270680)($at)
/* 13F7D8 8024C498 00031880 */ sll $v1, $v1, 2
/* 13F7DC 8024C49C 3C018025 */ lui $at, %hi(D_8024F6B0)
/* 13F7E0 8024C4A0 00230821 */ addu $at, $at, $v1
/* 13F7E4 8024C4A4 8C23F6B0 */ lw $v1, %lo(D_8024F6B0)($at)
/* 13F7E8 8024C4A8 000318C0 */ sll $v1, $v1, 3
/* 13F7EC 8024C4AC 00431021 */ addu $v0, $v0, $v1
/* 13F7F0 8024C4B0 80430015 */ lb $v1, 0x15($v0)
/* 13F7F4 8024C4B4 24020002 */ addiu $v0, $zero, 2
/* 13F7F8 8024C4B8 14620003 */ bne $v1, $v0, .L8024C4C8
/* 13F7FC 8024C4BC 24020001 */ addiu $v0, $zero, 1
/* 13F800 8024C4C0 08093138 */ j .L8024C4E0
/* 13F804 8024C4C4 24030004 */ addiu $v1, $zero, 4
.L8024C4C8:
/* 13F808 8024C4C8 14620003 */ bne $v1, $v0, .L8024C4D8
/* 13F80C 8024C4CC 00000000 */ nop
/* 13F810 8024C4D0 08093138 */ j .L8024C4E0
/* 13F814 8024C4D4 24030003 */ addiu $v1, $zero, 3
.L8024C4D8:
/* 13F818 8024C4D8 50600001 */ beql $v1, $zero, .L8024C4E0
/* 13F81C 8024C4DC 24030002 */ addiu $v1, $zero, 2
.L8024C4E0:
/* 13F820 8024C4E0 00031040 */ sll $v0, $v1, 1
/* 13F824 8024C4E4 00431021 */ addu $v0, $v0, $v1
/* 13F828 8024C4E8 00021080 */ sll $v0, $v0, 2
/* 13F82C 8024C4EC 00431021 */ addu $v0, $v0, $v1
/* 13F830 8024C4F0 3C108027 */ lui $s0, %hi(D_802706AC)
/* 13F834 8024C4F4 8E1006AC */ lw $s0, %lo(D_802706AC)($s0)
/* 13F838 8024C4F8 2442001E */ addiu $v0, $v0, 0x1e
/* 13F83C 8024C4FC 3C018016 */ lui $at, %hi(D_8015A1E2)
/* 13F840 8024C500 A422A1E2 */ sh $v0, %lo(D_8015A1E2)($at)
/* 13F844 8024C504 24020001 */ addiu $v0, $zero, 1
/* 13F848 8024C508 16020043 */ bne $s0, $v0, .L8024C618
/* 13F84C 8024C50C 00000000 */ nop
/* 13F850 8024C510 3C118027 */ lui $s1, %hi(D_802706A4)
/* 13F854 8024C514 8E3106A4 */ lw $s1, %lo(D_802706A4)($s1)
/* 13F858 8024C518 0C039D59 */ jal get_player_data
/* 13F85C 8024C51C 00000000 */ nop
/* 13F860 8024C520 3C038027 */ lui $v1, %hi(D_802706A0)
/* 13F864 8024C524 8C6306A0 */ lw $v1, %lo(D_802706A0)($v1)
/* 13F868 8024C528 00031880 */ sll $v1, $v1, 2
/* 13F86C 8024C52C 3C018027 */ lui $at, %hi(D_80270680)
/* 13F870 8024C530 00230821 */ addu $at, $at, $v1
/* 13F874 8024C534 8C230680 */ lw $v1, %lo(D_80270680)($at)
/* 13F878 8024C538 00031880 */ sll $v1, $v1, 2
/* 13F87C 8024C53C 3C018025 */ lui $at, %hi(D_8024F6B0)
/* 13F880 8024C540 00230821 */ addu $at, $at, $v1
/* 13F884 8024C544 8C23F6B0 */ lw $v1, %lo(D_8024F6B0)($at)
/* 13F888 8024C548 000318C0 */ sll $v1, $v1, 3
/* 13F88C 8024C54C 00431021 */ addu $v0, $v0, $v1
/* 13F890 8024C550 80440015 */ lb $a0, 0x15($v0)
/* 13F894 8024C554 24020002 */ addiu $v0, $zero, 2
/* 13F898 8024C558 14820003 */ bne $a0, $v0, .L8024C568
/* 13F89C 8024C55C 00000000 */ nop
/* 13F8A0 8024C560 08093160 */ j .L8024C580
/* 13F8A4 8024C564 24040004 */ addiu $a0, $zero, 4
.L8024C568:
/* 13F8A8 8024C568 14900003 */ bne $a0, $s0, .L8024C578
/* 13F8AC 8024C56C 00000000 */ nop
/* 13F8B0 8024C570 08093160 */ j .L8024C580
/* 13F8B4 8024C574 24040003 */ addiu $a0, $zero, 3
.L8024C578:
/* 13F8B8 8024C578 50800001 */ beql $a0, $zero, .L8024C580
/* 13F8BC 8024C57C 24040002 */ addiu $a0, $zero, 2
.L8024C580:
/* 13F8C0 8024C580 3C058027 */ lui $a1, %hi(gPauseMenuHeldButtons)
/* 13F8C4 8024C584 24A500C0 */ addiu $a1, $a1, %lo(gPauseMenuHeldButtons)
/* 13F8C8 8024C588 8CA20000 */ lw $v0, ($a1)
/* 13F8CC 8024C58C 3C030001 */ lui $v1, 1
/* 13F8D0 8024C590 00431024 */ and $v0, $v0, $v1
/* 13F8D4 8024C594 10400006 */ beqz $v0, .L8024C5B0
/* 13F8D8 8024C598 00000000 */ nop
/* 13F8DC 8024C59C 3C038027 */ lui $v1, %hi(D_802706A4)
/* 13F8E0 8024C5A0 246306A4 */ addiu $v1, $v1, %lo(D_802706A4)
/* 13F8E4 8024C5A4 8C620000 */ lw $v0, ($v1)
/* 13F8E8 8024C5A8 2442FFFF */ addiu $v0, $v0, -1
/* 13F8EC 8024C5AC AC620000 */ sw $v0, ($v1)
.L8024C5B0:
/* 13F8F0 8024C5B0 8CA20000 */ lw $v0, ($a1)
/* 13F8F4 8024C5B4 3C030002 */ lui $v1, 2
/* 13F8F8 8024C5B8 00431024 */ and $v0, $v0, $v1
/* 13F8FC 8024C5BC 10400006 */ beqz $v0, .L8024C5D8
/* 13F900 8024C5C0 00000000 */ nop
/* 13F904 8024C5C4 3C038027 */ lui $v1, %hi(D_802706A4)
/* 13F908 8024C5C8 246306A4 */ addiu $v1, $v1, %lo(D_802706A4)
/* 13F90C 8024C5CC 8C620000 */ lw $v0, ($v1)
/* 13F910 8024C5D0 24420001 */ addiu $v0, $v0, 1
/* 13F914 8024C5D4 AC620000 */ sw $v0, ($v1)
.L8024C5D8:
/* 13F918 8024C5D8 3C038027 */ lui $v1, %hi(D_802706A4)
/* 13F91C 8024C5DC 246306A4 */ addiu $v1, $v1, %lo(D_802706A4)
/* 13F920 8024C5E0 8C620000 */ lw $v0, ($v1)
/* 13F924 8024C5E4 04410004 */ bgez $v0, .L8024C5F8
/* 13F928 8024C5E8 0044102A */ slt $v0, $v0, $a0
/* 13F92C 8024C5EC 2482FFFF */ addiu $v0, $a0, -1
/* 13F930 8024C5F0 08093180 */ j .L8024C600
/* 13F934 8024C5F4 AC620000 */ sw $v0, ($v1)
.L8024C5F8:
/* 13F938 8024C5F8 50400001 */ beql $v0, $zero, .L8024C600
/* 13F93C 8024C5FC AC600000 */ sw $zero, ($v1)
.L8024C600:
/* 13F940 8024C600 3C028027 */ lui $v0, %hi(D_802706A4)
/* 13F944 8024C604 8C4206A4 */ lw $v0, %lo(D_802706A4)($v0)
/* 13F948 8024C608 10510003 */ beq $v0, $s1, .L8024C618
/* 13F94C 8024C60C 00000000 */ nop
/* 13F950 8024C610 0C05272D */ jal sfx_play_sound
/* 13F954 8024C614 240400C7 */ addiu $a0, $zero, 0xc7
.L8024C618:
/* 13F958 8024C618 3C028027 */ lui $v0, %hi(gPauseMenuPressedButtons)
/* 13F95C 8024C61C 8C4200C4 */ lw $v0, %lo(gPauseMenuPressedButtons)($v0)
/* 13F960 8024C620 30428000 */ andi $v0, $v0, 0x8000
/* 13F964 8024C624 1040000E */ beqz $v0, .L8024C660
/* 13F968 8024C628 00000000 */ nop
/* 13F96C 8024C62C 3C038027 */ lui $v1, %hi(D_802706AC)
/* 13F970 8024C630 246306AC */ addiu $v1, $v1, %lo(D_802706AC)
/* 13F974 8024C634 8C620000 */ lw $v0, ($v1)
/* 13F978 8024C638 14400009 */ bnez $v0, .L8024C660
/* 13F97C 8024C63C 24020001 */ addiu $v0, $zero, 1
/* 13F980 8024C640 AC620000 */ sw $v0, ($v1)
/* 13F984 8024C644 0C05272D */ jal sfx_play_sound
/* 13F988 8024C648 240400C9 */ addiu $a0, $zero, 0xc9
/* 13F98C 8024C64C 24040024 */ addiu $a0, $zero, 0x24
/* 13F990 8024C650 0C051F9F */ jal set_window_update
/* 13F994 8024C654 24050001 */ addiu $a1, $zero, 1
/* 13F998 8024C658 080931E4 */ j .L8024C790
/* 13F99C 8024C65C 00000000 */ nop
.L8024C660:
/* 13F9A0 8024C660 3C028027 */ lui $v0, %hi(gPauseMenuPressedButtons)
/* 13F9A4 8024C664 8C4200C4 */ lw $v0, %lo(gPauseMenuPressedButtons)($v0)
/* 13F9A8 8024C668 30424000 */ andi $v0, $v0, 0x4000
/* 13F9AC 8024C66C 10400013 */ beqz $v0, .L8024C6BC
/* 13F9B0 8024C670 00000000 */ nop
/* 13F9B4 8024C674 3C038027 */ lui $v1, %hi(D_802706AC)
/* 13F9B8 8024C678 246306AC */ addiu $v1, $v1, %lo(D_802706AC)
/* 13F9BC 8024C67C 8C620000 */ lw $v0, ($v1)
/* 13F9C0 8024C680 54400007 */ bnel $v0, $zero, .L8024C6A0
/* 13F9C4 8024C684 AC600000 */ sw $zero, ($v1)
/* 13F9C8 8024C688 3C018027 */ lui $at, %hi(gPauseMenuCurrentTab)
/* 13F9CC 8024C68C A02000D4 */ sb $zero, %lo(gPauseMenuCurrentTab)($at)
/* 13F9D0 8024C690 0C05272D */ jal sfx_play_sound
/* 13F9D4 8024C694 240400CA */ addiu $a0, $zero, 0xca
/* 13F9D8 8024C698 080931E4 */ j .L8024C790
/* 13F9DC 8024C69C 00000000 */ nop
.L8024C6A0:
/* 13F9E0 8024C6A0 0C05272D */ jal sfx_play_sound
/* 13F9E4 8024C6A4 240400CA */ addiu $a0, $zero, 0xca
/* 13F9E8 8024C6A8 24040024 */ addiu $a0, $zero, 0x24
/* 13F9EC 8024C6AC 0C051F9F */ jal set_window_update
/* 13F9F0 8024C6B0 24050002 */ addiu $a1, $zero, 2
/* 13F9F4 8024C6B4 080931E4 */ j .L8024C790
/* 13F9F8 8024C6B8 00000000 */ nop
.L8024C6BC:
/* 13F9FC 8024C6BC 3C028027 */ lui $v0, %hi(D_802706AC)
/* 13FA00 8024C6C0 8C4206AC */ lw $v0, %lo(D_802706AC)($v0)
/* 13FA04 8024C6C4 3C018027 */ lui $at, %hi(gPauseMenuCurrentDescIconScript)
/* 13FA08 8024C6C8 AC2000CC */ sw $zero, %lo(gPauseMenuCurrentDescIconScript)($at)
/* 13FA0C 8024C6CC 1440000C */ bnez $v0, .L8024C700
/* 13FA10 8024C6D0 00000000 */ nop
/* 13FA14 8024C6D4 3C028027 */ lui $v0, %hi(D_802706A0)
/* 13FA18 8024C6D8 8C4206A0 */ lw $v0, %lo(D_802706A0)($v0)
/* 13FA1C 8024C6DC 00021080 */ sll $v0, $v0, 2
/* 13FA20 8024C6E0 3C018027 */ lui $at, %hi(D_80270680)
/* 13FA24 8024C6E4 00220821 */ addu $at, $at, $v0
/* 13FA28 8024C6E8 8C220680 */ lw $v0, %lo(D_80270680)($at)
/* 13FA2C 8024C6EC 00021080 */ sll $v0, $v0, 2
/* 13FA30 8024C6F0 3C018025 */ lui $at, %hi(D_8024F6D0)
/* 13FA34 8024C6F4 00220821 */ addu $at, $at, $v0
/* 13FA38 8024C6F8 080931E2 */ j .L8024C788
/* 13FA3C 8024C6FC 8C22F6D0 */ lw $v0, %lo(D_8024F6D0)($at)
.L8024C700:
/* 13FA40 8024C700 3C048027 */ lui $a0, %hi(D_802706A4)
/* 13FA44 8024C704 8C8406A4 */ lw $a0, %lo(D_802706A4)($a0)
/* 13FA48 8024C708 1480000D */ bnez $a0, .L8024C740
/* 13FA4C 8024C70C 00000000 */ nop
/* 13FA50 8024C710 3C028027 */ lui $v0, %hi(D_802706A0)
/* 13FA54 8024C714 8C4206A0 */ lw $v0, %lo(D_802706A0)($v0)
/* 13FA58 8024C718 00021080 */ sll $v0, $v0, 2
/* 13FA5C 8024C71C 3C018027 */ lui $at, %hi(D_80270680)
/* 13FA60 8024C720 00220821 */ addu $at, $at, $v0
/* 13FA64 8024C724 8C220680 */ lw $v0, %lo(D_80270680)($at)
/* 13FA68 8024C728 00021080 */ sll $v0, $v0, 2
/* 13FA6C 8024C72C 3C038025 */ lui $v1, %hi(D_8024F6F0)
/* 13FA70 8024C730 00621821 */ addu $v1, $v1, $v0
/* 13FA74 8024C734 8C63F6F0 */ lw $v1, %lo(D_8024F6F0)($v1)
/* 13FA78 8024C738 080931DD */ j .L8024C774
/* 13FA7C 8024C73C 00031080 */ sll $v0, $v1, 2
.L8024C740:
/* 13FA80 8024C740 3C028027 */ lui $v0, %hi(D_802706A0)
/* 13FA84 8024C744 8C4206A0 */ lw $v0, %lo(D_802706A0)($v0)
/* 13FA88 8024C748 00021080 */ sll $v0, $v0, 2
/* 13FA8C 8024C74C 3C018027 */ lui $at, %hi(D_80270680)
/* 13FA90 8024C750 00220821 */ addu $at, $at, $v0
/* 13FA94 8024C754 8C220680 */ lw $v0, %lo(D_80270680)($at)
/* 13FA98 8024C758 00021080 */ sll $v0, $v0, 2
/* 13FA9C 8024C75C 3C038025 */ lui $v1, %hi(D_8024F6F0)
/* 13FAA0 8024C760 00621821 */ addu $v1, $v1, $v0
/* 13FAA4 8024C764 8C63F6F0 */ lw $v1, %lo(D_8024F6F0)($v1)
/* 13FAA8 8024C768 24820002 */ addiu $v0, $a0, 2
/* 13FAAC 8024C76C 00621821 */ addu $v1, $v1, $v0
/* 13FAB0 8024C770 00031080 */ sll $v0, $v1, 2
.L8024C774:
/* 13FAB4 8024C774 00431021 */ addu $v0, $v0, $v1
/* 13FAB8 8024C778 00021080 */ sll $v0, $v0, 2
/* 13FABC 8024C77C 3C018009 */ lui $at, %hi(D_8008F06C)
/* 13FAC0 8024C780 00220821 */ addu $at, $at, $v0
/* 13FAC4 8024C784 8C22F06C */ lw $v0, %lo(D_8008F06C)($at)
.L8024C788:
/* 13FAC8 8024C788 3C018027 */ lui $at, %hi(gPauseMenuCurrentDescMsg)
/* 13FACC 8024C78C AC2200C8 */ sw $v0, %lo(gPauseMenuCurrentDescMsg)($at)
.L8024C790:
/* 13FAD0 8024C790 8FBF0018 */ lw $ra, 0x18($sp)
/* 13FAD4 8024C794 8FB10014 */ lw $s1, 0x14($sp)
/* 13FAD8 8024C798 8FB00010 */ lw $s0, 0x10($sp)
/* 13FADC 8024C79C 03E00008 */ jr $ra
/* 13FAE0 8024C7A0 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,166 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel pause_partners_init
/* 13F420 8024C0E0 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 13F424 8024C0E4 AFB40020 */ sw $s4, 0x20($sp)
/* 13F428 8024C0E8 0080A02D */ daddu $s4, $a0, $zero
/* 13F42C 8024C0EC AFBF0024 */ sw $ra, 0x24($sp)
/* 13F430 8024C0F0 AFB3001C */ sw $s3, 0x1c($sp)
/* 13F434 8024C0F4 AFB20018 */ sw $s2, 0x18($sp)
/* 13F438 8024C0F8 AFB10014 */ sw $s1, 0x14($sp)
/* 13F43C 8024C0FC 0C039D59 */ jal get_player_data
/* 13F440 8024C100 AFB00010 */ sw $s0, 0x10($sp)
/* 13F444 8024C104 0040982D */ daddu $s3, $v0, $zero
/* 13F448 8024C108 3C028027 */ lui $v0, %hi(D_802706B0)
/* 13F44C 8024C10C 244206B0 */ addiu $v0, $v0, %lo(D_802706B0)
/* 13F450 8024C110 0000802D */ daddu $s0, $zero, $zero
/* 13F454 8024C114 3C068027 */ lui $a2, %hi(D_80270680)
/* 13F458 8024C118 24C60680 */ addiu $a2, $a2, %lo(D_80270680)
/* 13F45C 8024C11C 0040282D */ daddu $a1, $v0, $zero
/* 13F460 8024C120 3C048025 */ lui $a0, %hi(D_8024F6B0)
/* 13F464 8024C124 2484F6B0 */ addiu $a0, $a0, %lo(D_8024F6B0)
/* 13F468 8024C128 AC400000 */ sw $zero, ($v0)
.L8024C12C:
/* 13F46C 8024C12C 8C820000 */ lw $v0, ($a0)
/* 13F470 8024C130 000210C0 */ sll $v0, $v0, 3
/* 13F474 8024C134 02621021 */ addu $v0, $s3, $v0
/* 13F478 8024C138 90420014 */ lbu $v0, 0x14($v0)
/* 13F47C 8024C13C 50400008 */ beql $v0, $zero, .L8024C160
/* 13F480 8024C140 26100001 */ addiu $s0, $s0, 1
/* 13F484 8024C144 8CA30000 */ lw $v1, ($a1)
/* 13F488 8024C148 00031080 */ sll $v0, $v1, 2
/* 13F48C 8024C14C 00461021 */ addu $v0, $v0, $a2
/* 13F490 8024C150 24630001 */ addiu $v1, $v1, 1
/* 13F494 8024C154 AC500000 */ sw $s0, ($v0)
/* 13F498 8024C158 ACA30000 */ sw $v1, ($a1)
/* 13F49C 8024C15C 26100001 */ addiu $s0, $s0, 1
.L8024C160:
/* 13F4A0 8024C160 2A020008 */ slti $v0, $s0, 8
/* 13F4A4 8024C164 1440FFF1 */ bnez $v0, .L8024C12C
/* 13F4A8 8024C168 24840004 */ addiu $a0, $a0, 4
/* 13F4AC 8024C16C 3C028027 */ lui $v0, %hi(D_802706B0)
/* 13F4B0 8024C170 8C4206B0 */ lw $v0, %lo(D_802706B0)($v0)
/* 13F4B4 8024C174 1440000A */ bnez $v0, .L8024C1A0
/* 13F4B8 8024C178 0000802D */ daddu $s0, $zero, $zero
/* 13F4BC 8024C17C 24040022 */ addiu $a0, $zero, 0x22
/* 13F4C0 8024C180 0C051F9F */ jal set_window_update
/* 13F4C4 8024C184 24050002 */ addiu $a1, $zero, 2
/* 13F4C8 8024C188 080930C6 */ j .L8024C318
/* 13F4CC 8024C18C A2800000 */ sb $zero, ($s4)
.L8024C190:
/* 13F4D0 8024C190 3C018027 */ lui $at, %hi(D_802706A0)
/* 13F4D4 8024C194 AC3006A0 */ sw $s0, %lo(D_802706A0)($at)
/* 13F4D8 8024C198 080930A6 */ j .L8024C298
/* 13F4DC 8024C19C 00000000 */ nop
.L8024C1A0:
/* 13F4E0 8024C1A0 3C128027 */ lui $s2, %hi(D_80270660)
/* 13F4E4 8024C1A4 26520660 */ addiu $s2, $s2, %lo(D_80270660)
/* 13F4E8 8024C1A8 3C118025 */ lui $s1, %hi(D_8024F630)
/* 13F4EC 8024C1AC 2631F630 */ addiu $s1, $s1, %lo(D_8024F630)
.L8024C1B0:
/* 13F4F0 8024C1B0 0220282D */ daddu $a1, $s1, $zero
/* 13F4F4 8024C1B4 8E240000 */ lw $a0, ($s1)
/* 13F4F8 8024C1B8 26310010 */ addiu $s1, $s1, 0x10
/* 13F4FC 8024C1BC 0C0B783B */ jal spr_load_npc_sprite
/* 13F500 8024C1C0 26100001 */ addiu $s0, $s0, 1
/* 13F504 8024C1C4 AE420000 */ sw $v0, ($s2)
/* 13F508 8024C1C8 2A020008 */ slti $v0, $s0, 8
/* 13F50C 8024C1CC 1440FFF8 */ bnez $v0, .L8024C1B0
/* 13F510 8024C1D0 26520004 */ addiu $s2, $s2, 4
/* 13F514 8024C1D4 0000802D */ daddu $s0, $zero, $zero
/* 13F518 8024C1D8 3C128027 */ lui $s2, %hi(D_80270640)
/* 13F51C 8024C1DC 26520640 */ addiu $s2, $s2, %lo(D_80270640)
/* 13F520 8024C1E0 3C118025 */ lui $s1, %hi(D_8024F600)
/* 13F524 8024C1E4 2631F600 */ addiu $s1, $s1, %lo(D_8024F600)
.L8024C1E8:
/* 13F528 8024C1E8 8E240000 */ lw $a0, ($s1)
/* 13F52C 8024C1EC 26310004 */ addiu $s1, $s1, 4
/* 13F530 8024C1F0 0C050529 */ jal create_hud_element
/* 13F534 8024C1F4 26100001 */ addiu $s0, $s0, 1
/* 13F538 8024C1F8 0040202D */ daddu $a0, $v0, $zero
/* 13F53C 8024C1FC 24050080 */ addiu $a1, $zero, 0x80
/* 13F540 8024C200 0C051280 */ jal set_hud_element_flags
/* 13F544 8024C204 AE440000 */ sw $a0, ($s2)
/* 13F548 8024C208 2A020008 */ slti $v0, $s0, 8
/* 13F54C 8024C20C 1440FFF6 */ bnez $v0, .L8024C1E8
/* 13F550 8024C210 26520004 */ addiu $s2, $s2, 4
/* 13F554 8024C214 24100004 */ addiu $s0, $zero, 4
/* 13F558 8024C218 3C028025 */ lui $v0, %hi(D_8024F858)
/* 13F55C 8024C21C 2442F858 */ addiu $v0, $v0, %lo(D_8024F858)
.L8024C220:
/* 13F560 8024C220 AC540010 */ sw $s4, 0x10($v0)
/* 13F564 8024C224 2610FFFF */ addiu $s0, $s0, -1
/* 13F568 8024C228 0601FFFD */ bgez $s0, .L8024C220
/* 13F56C 8024C22C 2442FFDC */ addiu $v0, $v0, -0x24
/* 13F570 8024C230 3C048025 */ lui $a0, %hi(D_8024F7C8)
/* 13F574 8024C234 2484F7C8 */ addiu $a0, $a0, %lo(D_8024F7C8)
/* 13F578 8024C238 0C051FCC */ jal setup_pause_menu_tab
/* 13F57C 8024C23C 24050005 */ addiu $a1, $zero, 5
/* 13F580 8024C240 3C028027 */ lui $v0, %hi(D_802706B0)
/* 13F584 8024C244 8C4206B0 */ lw $v0, %lo(D_802706B0)($v0)
/* 13F588 8024C248 3C018027 */ lui $at, %hi(D_802706A0)
/* 13F58C 8024C24C AC2006A0 */ sw $zero, %lo(D_802706A0)($at)
/* 13F590 8024C250 18400011 */ blez $v0, .L8024C298
/* 13F594 8024C254 0000802D */ daddu $s0, $zero, $zero
/* 13F598 8024C258 82650012 */ lb $a1, 0x12($s3)
/* 13F59C 8024C25C 3C068025 */ lui $a2, %hi(D_8024F6B0)
/* 13F5A0 8024C260 24C6F6B0 */ addiu $a2, $a2, %lo(D_8024F6B0)
/* 13F5A4 8024C264 0040202D */ daddu $a0, $v0, $zero
/* 13F5A8 8024C268 3C038027 */ lui $v1, %hi(D_80270680)
/* 13F5AC 8024C26C 24630680 */ addiu $v1, $v1, %lo(D_80270680)
.L8024C270:
/* 13F5B0 8024C270 8C620000 */ lw $v0, ($v1)
/* 13F5B4 8024C274 00021080 */ sll $v0, $v0, 2
/* 13F5B8 8024C278 00461021 */ addu $v0, $v0, $a2
/* 13F5BC 8024C27C 8C420000 */ lw $v0, ($v0)
/* 13F5C0 8024C280 10A2FFC3 */ beq $a1, $v0, .L8024C190
/* 13F5C4 8024C284 00000000 */ nop
/* 13F5C8 8024C288 26100001 */ addiu $s0, $s0, 1
/* 13F5CC 8024C28C 0204102A */ slt $v0, $s0, $a0
/* 13F5D0 8024C290 1440FFF7 */ bnez $v0, .L8024C270
/* 13F5D4 8024C294 24630004 */ addiu $v1, $v1, 4
.L8024C298:
/* 13F5D8 8024C298 3C028027 */ lui $v0, %hi(D_802706A0)
/* 13F5DC 8024C29C 8C4206A0 */ lw $v0, %lo(D_802706A0)($v0)
/* 13F5E0 8024C2A0 00021840 */ sll $v1, $v0, 1
/* 13F5E4 8024C2A4 00621821 */ addu $v1, $v1, $v0
/* 13F5E8 8024C2A8 00031100 */ sll $v0, $v1, 4
/* 13F5EC 8024C2AC 00431023 */ subu $v0, $v0, $v1
/* 13F5F0 8024C2B0 3C038027 */ lui $v1, %hi(D_802706B0)
/* 13F5F4 8024C2B4 8C6306B0 */ lw $v1, %lo(D_802706B0)($v1)
/* 13F5F8 8024C2B8 000210C0 */ sll $v0, $v0, 3
/* 13F5FC 8024C2BC 14600002 */ bnez $v1, .L8024C2C8
/* 13F600 8024C2C0 0043001A */ div $zero, $v0, $v1
/* 13F604 8024C2C4 0007000D */ break 7
.L8024C2C8:
/* 13F608 8024C2C8 2401FFFF */ addiu $at, $zero, -1
/* 13F60C 8024C2CC 14610004 */ bne $v1, $at, .L8024C2E0
/* 13F610 8024C2D0 3C018000 */ lui $at, 0x8000
/* 13F614 8024C2D4 14410002 */ bne $v0, $at, .L8024C2E0
/* 13F618 8024C2D8 00000000 */ nop
/* 13F61C 8024C2DC 0006000D */ break 6
.L8024C2E0:
/* 13F620 8024C2E0 00001012 */ mflo $v0
/* 13F624 8024C2E4 3C018027 */ lui $at, %hi(D_802706A4)
/* 13F628 8024C2E8 AC2006A4 */ sw $zero, %lo(D_802706A4)($at)
/* 13F62C 8024C2EC 3C018027 */ lui $at, %hi(D_802706AC)
/* 13F630 8024C2F0 AC2006AC */ sw $zero, %lo(D_802706AC)($at)
/* 13F634 8024C2F4 44820000 */ mtc1 $v0, $f0
/* 13F638 8024C2F8 00000000 */ nop
/* 13F63C 8024C2FC 46800020 */ cvt.s.w $f0, $f0
/* 13F640 8024C300 3C018027 */ lui $at, %hi(D_802706A8)
/* 13F644 8024C304 E42006A8 */ swc1 $f0, %lo(D_802706A8)($at)
/* 13F648 8024C308 0C092B78 */ jal pause_partners_load_portrait
/* 13F64C 8024C30C 0000202D */ daddu $a0, $zero, $zero
/* 13F650 8024C310 24020001 */ addiu $v0, $zero, 1
/* 13F654 8024C314 A2820000 */ sb $v0, ($s4)
.L8024C318:
/* 13F658 8024C318 8FBF0024 */ lw $ra, 0x24($sp)
/* 13F65C 8024C31C 8FB40020 */ lw $s4, 0x20($sp)
/* 13F660 8024C320 8FB3001C */ lw $s3, 0x1c($sp)
/* 13F664 8024C324 8FB20018 */ lw $s2, 0x18($sp)
/* 13F668 8024C328 8FB10014 */ lw $s1, 0x14($sp)
/* 13F66C 8024C32C 8FB00010 */ lw $s0, 0x10($sp)
/* 13F670 8024C330 03E00008 */ jr $ra
/* 13F674 8024C334 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -1,78 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel pause_partners_load_portrait
/* 13E120 8024ADE0 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 13E124 8024ADE4 AFB20020 */ sw $s2, 0x20($sp)
/* 13E128 8024ADE8 0080902D */ daddu $s2, $a0, $zero
/* 13E12C 8024ADEC 3C078025 */ lui $a3, %hi(D_8024F7C0)
/* 13E130 8024ADF0 24E7F7C0 */ addiu $a3, $a3, %lo(D_8024F7C0)
/* 13E134 8024ADF4 00121080 */ sll $v0, $s2, 2
/* 13E138 8024ADF8 AFBF0024 */ sw $ra, 0x24($sp)
/* 13E13C 8024ADFC AFB1001C */ sw $s1, 0x1c($sp)
/* 13E140 8024AE00 AFB00018 */ sw $s0, 0x18($sp)
/* 13E144 8024AE04 8CE30000 */ lw $v1, ($a3)
/* 13E148 8024AE08 3C068027 */ lui $a2, %hi(D_80270680)
/* 13E14C 8024AE0C 00C23021 */ addu $a2, $a2, $v0
/* 13E150 8024AE10 8CC60680 */ lw $a2, %lo(D_80270680)($a2)
/* 13E154 8024AE14 3C118027 */ lui $s1, %hi(D_80270680)
/* 13E158 8024AE18 26310680 */ addiu $s1, $s1, %lo(D_80270680)
/* 13E15C 8024AE1C 1066000E */ beq $v1, $a2, .L8024AE58
/* 13E160 8024AE20 00061080 */ sll $v0, $a2, 2
/* 13E164 8024AE24 3C048025 */ lui $a0, %hi(D_8024F718)
/* 13E168 8024AE28 00822021 */ addu $a0, $a0, $v0
/* 13E16C 8024AE2C 8C84F718 */ lw $a0, %lo(D_8024F718)($a0)
/* 13E170 8024AE30 27A50010 */ addiu $a1, $sp, 0x10
/* 13E174 8024AE34 0C016B3A */ jal load_asset_by_name
/* 13E178 8024AE38 ACE60000 */ sw $a2, ($a3)
/* 13E17C 8024AE3C 0040802D */ daddu $s0, $v0, $zero
/* 13E180 8024AE40 3C058025 */ lui $a1, %hi(D_8024F744)
/* 13E184 8024AE44 8CA5F744 */ lw $a1, %lo(D_8024F744)($a1)
/* 13E188 8024AE48 0C01BB7C */ jal decode_yay0
/* 13E18C 8024AE4C 0200202D */ daddu $a0, $s0, $zero
/* 13E190 8024AE50 0C00AB1E */ jal general_heap_free
/* 13E194 8024AE54 0200202D */ daddu $a0, $s0, $zero
.L8024AE58:
/* 13E198 8024AE58 3C038027 */ lui $v1, %hi(D_802706B0)
/* 13E19C 8024AE5C 8C6306B0 */ lw $v1, %lo(D_802706B0)($v1)
/* 13E1A0 8024AE60 26420001 */ addiu $v0, $s2, 1
/* 13E1A4 8024AE64 14600002 */ bnez $v1, .L8024AE70
/* 13E1A8 8024AE68 0043001A */ div $zero, $v0, $v1
/* 13E1AC 8024AE6C 0007000D */ break 7
.L8024AE70:
/* 13E1B0 8024AE70 2401FFFF */ addiu $at, $zero, -1
/* 13E1B4 8024AE74 14610004 */ bne $v1, $at, .L8024AE88
/* 13E1B8 8024AE78 3C018000 */ lui $at, 0x8000
/* 13E1BC 8024AE7C 14410002 */ bne $v0, $at, .L8024AE88
/* 13E1C0 8024AE80 00000000 */ nop
/* 13E1C4 8024AE84 0006000D */ break 6
.L8024AE88:
/* 13E1C8 8024AE88 00001810 */ mfhi $v1
/* 13E1CC 8024AE8C 3C068025 */ lui $a2, %hi(D_8024F7C4)
/* 13E1D0 8024AE90 24C6F7C4 */ addiu $a2, $a2, %lo(D_8024F7C4)
/* 13E1D4 8024AE94 8CC20000 */ lw $v0, ($a2)
/* 13E1D8 8024AE98 00031880 */ sll $v1, $v1, 2
/* 13E1DC 8024AE9C 00711821 */ addu $v1, $v1, $s1
/* 13E1E0 8024AEA0 8C630000 */ lw $v1, ($v1)
/* 13E1E4 8024AEA4 1043000E */ beq $v0, $v1, .L8024AEE0
/* 13E1E8 8024AEA8 00031080 */ sll $v0, $v1, 2
/* 13E1EC 8024AEAC 3C048025 */ lui $a0, %hi(D_8024F718)
/* 13E1F0 8024AEB0 00822021 */ addu $a0, $a0, $v0
/* 13E1F4 8024AEB4 8C84F718 */ lw $a0, %lo(D_8024F718)($a0)
/* 13E1F8 8024AEB8 27A50010 */ addiu $a1, $sp, 0x10
/* 13E1FC 8024AEBC 0C016B3A */ jal load_asset_by_name
/* 13E200 8024AEC0 ACC30000 */ sw $v1, ($a2)
/* 13E204 8024AEC4 0040802D */ daddu $s0, $v0, $zero
/* 13E208 8024AEC8 3C058025 */ lui $a1, %hi(D_8024F748)
/* 13E20C 8024AECC 8CA5F748 */ lw $a1, %lo(D_8024F748)($a1)
/* 13E210 8024AED0 0C01BB7C */ jal decode_yay0
/* 13E214 8024AED4 0200202D */ daddu $a0, $s0, $zero
/* 13E218 8024AED8 0C00AB1E */ jal general_heap_free
/* 13E21C 8024AEDC 0200202D */ daddu $a0, $s0, $zero
.L8024AEE0:
/* 13E220 8024AEE0 8FBF0024 */ lw $ra, 0x24($sp)
/* 13E224 8024AEE4 8FB20020 */ lw $s2, 0x20($sp)
/* 13E228 8024AEE8 8FB1001C */ lw $s1, 0x1c($sp)
/* 13E22C 8024AEEC 8FB00018 */ lw $s0, 0x18($sp)
/* 13E230 8024AEF0 03E00008 */ jr $ra
/* 13E234 8024AEF4 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -1,140 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_80270048
.double 0.3
.section .text
glabel pause_partners_update
/* 13FAE4 8024C7A4 3C028027 */ lui $v0, %hi(D_802706A0)
/* 13FAE8 8024C7A8 8C4206A0 */ lw $v0, %lo(D_802706A0)($v0)
/* 13FAEC 8024C7AC 00021840 */ sll $v1, $v0, 1
/* 13FAF0 8024C7B0 00621821 */ addu $v1, $v1, $v0
/* 13FAF4 8024C7B4 00031100 */ sll $v0, $v1, 4
/* 13FAF8 8024C7B8 00431023 */ subu $v0, $v0, $v1
/* 13FAFC 8024C7BC 3C038027 */ lui $v1, %hi(D_802706B0)
/* 13FB00 8024C7C0 8C6306B0 */ lw $v1, %lo(D_802706B0)($v1)
/* 13FB04 8024C7C4 000210C0 */ sll $v0, $v0, 3
/* 13FB08 8024C7C8 14600002 */ bnez $v1, .L8024C7D4
/* 13FB0C 8024C7CC 0043001A */ div $zero, $v0, $v1
/* 13FB10 8024C7D0 0007000D */ break 7
.L8024C7D4:
/* 13FB14 8024C7D4 2401FFFF */ addiu $at, $zero, -1
/* 13FB18 8024C7D8 14610004 */ bne $v1, $at, .L8024C7EC
/* 13FB1C 8024C7DC 3C018000 */ lui $at, 0x8000
/* 13FB20 8024C7E0 14410002 */ bne $v0, $at, .L8024C7EC
/* 13FB24 8024C7E4 00000000 */ nop
/* 13FB28 8024C7E8 0006000D */ break 6
.L8024C7EC:
/* 13FB2C 8024C7EC 00001012 */ mflo $v0
/* 13FB30 8024C7F0 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 13FB34 8024C7F4 AFB10014 */ sw $s1, 0x14($sp)
/* 13FB38 8024C7F8 3C118027 */ lui $s1, %hi(D_802706A8)
/* 13FB3C 8024C7FC 263106A8 */ addiu $s1, $s1, %lo(D_802706A8)
/* 13FB40 8024C800 AFBF0020 */ sw $ra, 0x20($sp)
/* 13FB44 8024C804 AFB3001C */ sw $s3, 0x1c($sp)
/* 13FB48 8024C808 AFB20018 */ sw $s2, 0x18($sp)
/* 13FB4C 8024C80C AFB00010 */ sw $s0, 0x10($sp)
/* 13FB50 8024C810 F7B40028 */ sdc1 $f20, 0x28($sp)
/* 13FB54 8024C814 C6220000 */ lwc1 $f2, ($s1)
/* 13FB58 8024C818 44820000 */ mtc1 $v0, $f0
/* 13FB5C 8024C81C 00000000 */ nop
/* 13FB60 8024C820 46800020 */ cvt.s.w $f0, $f0
/* 13FB64 8024C824 46020501 */ sub.s $f20, $f0, $f2
/* 13FB68 8024C828 4600A10D */ trunc.w.s $f4, $f20
/* 13FB6C 8024C82C 44042000 */ mfc1 $a0, $f4
/* 13FB70 8024C830 00000000 */ nop
/* 13FB74 8024C834 04810002 */ bgez $a0, .L8024C840
/* 13FB78 8024C838 0080802D */ daddu $s0, $a0, $zero
/* 13FB7C 8024C83C 00108023 */ negu $s0, $s0
.L8024C840:
/* 13FB80 8024C840 0C00A52C */ jal sign
/* 13FB84 8024C844 00000000 */ nop
/* 13FB88 8024C848 0040182D */ daddu $v1, $v0, $zero
/* 13FB8C 8024C84C 2A020010 */ slti $v0, $s0, 0x10
/* 13FB90 8024C850 14400008 */ bnez $v0, .L8024C874
/* 13FB94 8024C854 00000000 */ nop
/* 13FB98 8024C858 3C018027 */ lui $at, %hi(D_80270048)
/* 13FB9C 8024C85C D4220048 */ ldc1 $f2, %lo(D_80270048)($at)
/* 13FBA0 8024C860 4600A021 */ cvt.d.s $f0, $f20
/* 13FBA4 8024C864 46220002 */ mul.d $f0, $f0, $f2
/* 13FBA8 8024C868 00000000 */ nop
/* 13FBAC 8024C86C 0809322D */ j .L8024C8B4
/* 13FBB0 8024C870 462000A0 */ cvt.s.d $f2, $f0
.L8024C874:
/* 13FBB4 8024C874 3C028025 */ lui $v0, %hi(D_8024F87C)
/* 13FBB8 8024C878 00501021 */ addu $v0, $v0, $s0
/* 13FBBC 8024C87C 9042F87C */ lbu $v0, %lo(D_8024F87C)($v0)
/* 13FBC0 8024C880 C6200000 */ lwc1 $f0, ($s1)
/* 13FBC4 8024C884 00620018 */ mult $v1, $v0
/* 13FBC8 8024C888 4600010D */ trunc.w.s $f4, $f0
/* 13FBCC 8024C88C 44022000 */ mfc1 $v0, $f4
/* 13FBD0 8024C890 00000000 */ nop
/* 13FBD4 8024C894 44820000 */ mtc1 $v0, $f0
/* 13FBD8 8024C898 00000000 */ nop
/* 13FBDC 8024C89C 46800020 */ cvt.s.w $f0, $f0
/* 13FBE0 8024C8A0 E6200000 */ swc1 $f0, ($s1)
/* 13FBE4 8024C8A4 00003812 */ mflo $a3
/* 13FBE8 8024C8A8 44871000 */ mtc1 $a3, $f2
/* 13FBEC 8024C8AC 00000000 */ nop
/* 13FBF0 8024C8B0 468010A0 */ cvt.s.w $f2, $f2
.L8024C8B4:
/* 13FBF4 8024C8B4 3C028027 */ lui $v0, %hi(D_802706A8)
/* 13FBF8 8024C8B8 244206A8 */ addiu $v0, $v0, %lo(D_802706A8)
/* 13FBFC 8024C8BC C4400000 */ lwc1 $f0, ($v0)
/* 13FC00 8024C8C0 46020000 */ add.s $f0, $f0, $f2
/* 13FC04 8024C8C4 3C038027 */ lui $v1, %hi(D_802706B0)
/* 13FC08 8024C8C8 8C6306B0 */ lw $v1, %lo(D_802706B0)($v1)
/* 13FC0C 8024C8CC 0000882D */ daddu $s1, $zero, $zero
/* 13FC10 8024C8D0 18600024 */ blez $v1, .L8024C964
/* 13FC14 8024C8D4 E4400000 */ swc1 $f0, ($v0)
/* 13FC18 8024C8D8 3C138027 */ lui $s3, %hi(D_80270660)
/* 13FC1C 8024C8DC 26730660 */ addiu $s3, $s3, %lo(D_80270660)
/* 13FC20 8024C8E0 3C128025 */ lui $s2, %hi(D_8024F630)
/* 13FC24 8024C8E4 2652F630 */ addiu $s2, $s2, %lo(D_8024F630)
/* 13FC28 8024C8E8 3C108027 */ lui $s0, %hi(D_80270680)
/* 13FC2C 8024C8EC 26100680 */ addiu $s0, $s0, %lo(D_80270680)
.L8024C8F0:
/* 13FC30 8024C8F0 3C028027 */ lui $v0, %hi(D_802706A0)
/* 13FC34 8024C8F4 8C4206A0 */ lw $v0, %lo(D_802706A0)($v0)
/* 13FC38 8024C8F8 1622000A */ bne $s1, $v0, .L8024C924
/* 13FC3C 8024C8FC 00000000 */ nop
/* 13FC40 8024C900 8E030000 */ lw $v1, ($s0)
/* 13FC44 8024C904 3C063F80 */ lui $a2, 0x3f80
/* 13FC48 8024C908 00031080 */ sll $v0, $v1, 2
/* 13FC4C 8024C90C 00531021 */ addu $v0, $v0, $s3
/* 13FC50 8024C910 00031900 */ sll $v1, $v1, 4
/* 13FC54 8024C914 00721821 */ addu $v1, $v1, $s2
/* 13FC58 8024C918 8C440000 */ lw $a0, ($v0)
/* 13FC5C 8024C91C 08093251 */ j .L8024C944
/* 13FC60 8024C920 8C650004 */ lw $a1, 4($v1)
.L8024C924:
/* 13FC64 8024C924 8E030000 */ lw $v1, ($s0)
/* 13FC68 8024C928 3C063F80 */ lui $a2, 0x3f80
/* 13FC6C 8024C92C 00031080 */ sll $v0, $v1, 2
/* 13FC70 8024C930 00531021 */ addu $v0, $v0, $s3
/* 13FC74 8024C934 00031900 */ sll $v1, $v1, 4
/* 13FC78 8024C938 00721821 */ addu $v1, $v1, $s2
/* 13FC7C 8024C93C 8C440000 */ lw $a0, ($v0)
/* 13FC80 8024C940 8C650000 */ lw $a1, ($v1)
.L8024C944:
/* 13FC84 8024C944 0C0B78AB */ jal spr_update_sprite
/* 13FC88 8024C948 26100004 */ addiu $s0, $s0, 4
/* 13FC8C 8024C94C 3C028027 */ lui $v0, %hi(D_802706B0)
/* 13FC90 8024C950 8C4206B0 */ lw $v0, %lo(D_802706B0)($v0)
/* 13FC94 8024C954 26310001 */ addiu $s1, $s1, 1
/* 13FC98 8024C958 0222102A */ slt $v0, $s1, $v0
/* 13FC9C 8024C95C 1440FFE4 */ bnez $v0, .L8024C8F0
/* 13FCA0 8024C960 00000000 */ nop
.L8024C964:
/* 13FCA4 8024C964 8FBF0020 */ lw $ra, 0x20($sp)
/* 13FCA8 8024C968 8FB3001C */ lw $s3, 0x1c($sp)
/* 13FCAC 8024C96C 8FB20018 */ lw $s2, 0x18($sp)
/* 13FCB0 8024C970 8FB10014 */ lw $s1, 0x14($sp)
/* 13FCB4 8024C974 8FB00010 */ lw $s0, 0x10($sp)
/* 13FCB8 8024C978 D7B40028 */ ldc1 $f20, 0x28($sp)
/* 13FCBC 8024C97C 03E00008 */ jr $ra
/* 13FCC0 8024C980 27BD0030 */ addiu $sp, $sp, 0x30

View File

@ -1,27 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel pause_spirits_cleanup
/* 140C18 8024D8D8 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 140C1C 8024D8DC AFB10014 */ sw $s1, 0x14($sp)
/* 140C20 8024D8E0 0000882D */ daddu $s1, $zero, $zero
/* 140C24 8024D8E4 AFB00010 */ sw $s0, 0x10($sp)
/* 140C28 8024D8E8 3C108027 */ lui $s0, %hi(D_802706C0)
/* 140C2C 8024D8EC 261006C0 */ addiu $s0, $s0, %lo(D_802706C0)
/* 140C30 8024D8F0 AFBF0018 */ sw $ra, 0x18($sp)
.L8024D8F4:
/* 140C34 8024D8F4 8E040000 */ lw $a0, ($s0)
/* 140C38 8024D8F8 26100004 */ addiu $s0, $s0, 4
/* 140C3C 8024D8FC 0C0B797A */ jal spr_free_sprite
/* 140C40 8024D900 26310001 */ addiu $s1, $s1, 1
/* 140C44 8024D904 2A220007 */ slti $v0, $s1, 7
/* 140C48 8024D908 1440FFFA */ bnez $v0, .L8024D8F4
/* 140C4C 8024D90C 00000000 */ nop
/* 140C50 8024D910 8FBF0018 */ lw $ra, 0x18($sp)
/* 140C54 8024D914 8FB10014 */ lw $s1, 0x14($sp)
/* 140C58 8024D918 8FB00010 */ lw $s0, 0x10($sp)
/* 140C5C 8024D91C 03E00008 */ jr $ra
/* 140C60 8024D920 27BD0020 */ addiu $sp, $sp, 0x20
/* 140C64 8024D924 00000000 */ nop
/* 140C68 8024D928 00000000 */ nop
/* 140C6C 8024D92C 00000000 */ nop

View File

@ -1,583 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_80270050
.double 0.4321
dlabel D_80270058
.double 0.02
dlabel D_80270060
.double 0.1324
dlabel D_80270068
.double 0.01
dlabel D_80270070
.double 0.0432, 0.0
.section .text
glabel pause_spirits_draw_contents
/* 13FD40 8024CA00 27BDFED0 */ addiu $sp, $sp, -0x130
/* 13FD44 8024CA04 AFBF00FC */ sw $ra, 0xfc($sp)
/* 13FD48 8024CA08 AFBE00F8 */ sw $fp, 0xf8($sp)
/* 13FD4C 8024CA0C AFB700F4 */ sw $s7, 0xf4($sp)
/* 13FD50 8024CA10 AFB600F0 */ sw $s6, 0xf0($sp)
/* 13FD54 8024CA14 AFB500EC */ sw $s5, 0xec($sp)
/* 13FD58 8024CA18 AFB400E8 */ sw $s4, 0xe8($sp)
/* 13FD5C 8024CA1C AFB300E4 */ sw $s3, 0xe4($sp)
/* 13FD60 8024CA20 AFB200E0 */ sw $s2, 0xe0($sp)
/* 13FD64 8024CA24 AFB100DC */ sw $s1, 0xdc($sp)
/* 13FD68 8024CA28 AFB000D8 */ sw $s0, 0xd8($sp)
/* 13FD6C 8024CA2C F7BE0128 */ sdc1 $f30, 0x128($sp)
/* 13FD70 8024CA30 F7BC0120 */ sdc1 $f28, 0x120($sp)
/* 13FD74 8024CA34 F7BA0118 */ sdc1 $f26, 0x118($sp)
/* 13FD78 8024CA38 F7B80110 */ sdc1 $f24, 0x110($sp)
/* 13FD7C 8024CA3C F7B60108 */ sdc1 $f22, 0x108($sp)
/* 13FD80 8024CA40 F7B40100 */ sdc1 $f20, 0x100($sp)
/* 13FD84 8024CA44 AFA40130 */ sw $a0, 0x130($sp)
/* 13FD88 8024CA48 AFA50134 */ sw $a1, 0x134($sp)
/* 13FD8C 8024CA4C AFA60138 */ sw $a2, 0x138($sp)
/* 13FD90 8024CA50 0C039D59 */ jal get_player_data
/* 13FD94 8024CA54 AFA7013C */ sw $a3, 0x13c($sp)
/* 13FD98 8024CA58 3C05DC08 */ lui $a1, 0xdc08
/* 13FD9C 8024CA5C 34A50008 */ ori $a1, $a1, 8
/* 13FDA0 8024CA60 0000A02D */ daddu $s4, $zero, $zero
/* 13FDA4 8024CA64 AFA200D0 */ sw $v0, 0xd0($sp)
/* 13FDA8 8024CA68 3C02800A */ lui $v0, %hi(gMasterGfxPos)
/* 13FDAC 8024CA6C 2442A66C */ addiu $v0, $v0, %lo(gMasterGfxPos)
/* 13FDB0 8024CA70 0040882D */ daddu $s1, $v0, $zero
/* 13FDB4 8024CA74 3C1EE700 */ lui $fp, 0xe700
/* 13FDB8 8024CA78 24170400 */ addiu $s7, $zero, 0x400
/* 13FDBC 8024CA7C 24160010 */ addiu $s6, $zero, 0x10
/* 13FDC0 8024CA80 24150016 */ addiu $s5, $zero, 0x16
/* 13FDC4 8024CA84 24130054 */ addiu $s3, $zero, 0x54
/* 13FDC8 8024CA88 0280902D */ daddu $s2, $s4, $zero
/* 13FDCC 8024CA8C 8E230000 */ lw $v1, ($s1)
/* 13FDD0 8024CA90 03C0102D */ daddu $v0, $fp, $zero
/* 13FDD4 8024CA94 0060202D */ daddu $a0, $v1, $zero
/* 13FDD8 8024CA98 24630008 */ addiu $v1, $v1, 8
/* 13FDDC 8024CA9C AE230000 */ sw $v1, ($s1)
/* 13FDE0 8024CAA0 AC820000 */ sw $v0, ($a0)
/* 13FDE4 8024CAA4 24620008 */ addiu $v0, $v1, 8
/* 13FDE8 8024CAA8 AC800004 */ sw $zero, 4($a0)
/* 13FDEC 8024CAAC AE220000 */ sw $v0, ($s1)
/* 13FDF0 8024CAB0 3C028025 */ lui $v0, %hi(D_8024F8B0)
/* 13FDF4 8024CAB4 2442F8B0 */ addiu $v0, $v0, %lo(D_8024F8B0)
/* 13FDF8 8024CAB8 AC620004 */ sw $v0, 4($v1)
/* 13FDFC 8024CABC 00761021 */ addu $v0, $v1, $s6
/* 13FE00 8024CAC0 AC650000 */ sw $a1, ($v1)
/* 13FE04 8024CAC4 AE220000 */ sw $v0, ($s1)
/* 13FE08 8024CAC8 3C02DE00 */ lui $v0, 0xde00
/* 13FE0C 8024CACC AC620008 */ sw $v0, 8($v1)
/* 13FE10 8024CAD0 3C028027 */ lui $v0, %hi(D_8026F5A0)
/* 13FE14 8024CAD4 2442F5A0 */ addiu $v0, $v0, %lo(D_8026F5A0)
/* 13FE18 8024CAD8 AC62000C */ sw $v0, 0xc($v1)
.L8024CADC:
/* 13FE1C 8024CADC 3C02FD48 */ lui $v0, 0xfd48
/* 13FE20 8024CAE0 3442003F */ ori $v0, $v0, 0x3f
/* 13FE24 8024CAE4 3C0DF548 */ lui $t5, 0xf548
/* 13FE28 8024CAE8 35AD1000 */ ori $t5, $t5, 0x1000
/* 13FE2C 8024CAEC 3C0C0708 */ lui $t4, 0x708
/* 13FE30 8024CAF0 358C0170 */ ori $t4, $t4, 0x170
/* 13FE34 8024CAF4 3C0B070F */ lui $t3, 0x70f
/* 13FE38 8024CAF8 356BE000 */ ori $t3, $t3, 0xe000
/* 13FE3C 8024CAFC 3C0FF540 */ lui $t7, 0xf540
/* 13FE40 8024CB00 35EF1000 */ ori $t7, $t7, 0x1000
/* 13FE44 8024CB04 3C0E0008 */ lui $t6, 8
/* 13FE48 8024CB08 35CE0170 */ ori $t6, $t6, 0x170
/* 13FE4C 8024CB0C 3C10001F */ lui $s0, 0x1f
/* 13FE50 8024CB10 3610C000 */ ori $s0, $s0, 0xc000
/* 13FE54 8024CB14 326A0FFF */ andi $t2, $s3, 0xfff
/* 13FE58 8024CB18 26730058 */ addiu $s3, $s3, 0x58
/* 13FE5C 8024CB1C 32490FFF */ andi $t1, $s2, 0xfff
/* 13FE60 8024CB20 26520058 */ addiu $s2, $s2, 0x58
/* 13FE64 8024CB24 26940001 */ addiu $s4, $s4, 1
/* 13FE68 8024CB28 014B5825 */ or $t3, $t2, $t3
/* 13FE6C 8024CB2C 01505025 */ or $t2, $t2, $s0
/* 13FE70 8024CB30 8FB80134 */ lw $t8, 0x134($sp)
/* 13FE74 8024CB34 8E230000 */ lw $v1, ($s1)
/* 13FE78 8024CB38 2704000F */ addiu $a0, $t8, 0xf
/* 13FE7C 8024CB3C 00042080 */ sll $a0, $a0, 2
/* 13FE80 8024CB40 0060402D */ daddu $t0, $v1, $zero
/* 13FE84 8024CB44 8FB80138 */ lw $t8, 0x138($sp)
/* 13FE88 8024CB48 24630008 */ addiu $v1, $v1, 8
/* 13FE8C 8024CB4C 03153821 */ addu $a3, $t8, $s5
/* 13FE90 8024CB50 00072880 */ sll $a1, $a3, 2
/* 13FE94 8024CB54 24E70016 */ addiu $a3, $a3, 0x16
/* 13FE98 8024CB58 00073880 */ sll $a3, $a3, 2
/* 13FE9C 8024CB5C 8FB80134 */ lw $t8, 0x134($sp)
/* 13FEA0 8024CB60 26B50016 */ addiu $s5, $s5, 0x16
/* 13FEA4 8024CB64 AE230000 */ sw $v1, ($s1)
/* 13FEA8 8024CB68 AD020000 */ sw $v0, ($t0)
/* 13FEAC 8024CB6C 3C028027 */ lui $v0, %hi(D_8026A2B0)
/* 13FEB0 8024CB70 2442A2B0 */ addiu $v0, $v0, %lo(D_8026A2B0)
/* 13FEB4 8024CB74 AD020004 */ sw $v0, 4($t0)
/* 13FEB8 8024CB78 24620008 */ addiu $v0, $v1, 8
/* 13FEBC 8024CB7C AE220000 */ sw $v0, ($s1)
/* 13FEC0 8024CB80 24620010 */ addiu $v0, $v1, 0x10
/* 13FEC4 8024CB84 AC6D0000 */ sw $t5, ($v1)
/* 13FEC8 8024CB88 AC6C0004 */ sw $t4, 4($v1)
/* 13FECC 8024CB8C AE220000 */ sw $v0, ($s1)
/* 13FED0 8024CB90 3C02E600 */ lui $v0, 0xe600
/* 13FED4 8024CB94 AC620008 */ sw $v0, 8($v1)
/* 13FED8 8024CB98 24620018 */ addiu $v0, $v1, 0x18
/* 13FEDC 8024CB9C AC60000C */ sw $zero, 0xc($v1)
/* 13FEE0 8024CBA0 AE220000 */ sw $v0, ($s1)
/* 13FEE4 8024CBA4 3C02F400 */ lui $v0, 0xf400
/* 13FEE8 8024CBA8 01221025 */ or $v0, $t1, $v0
/* 13FEEC 8024CBAC AC620010 */ sw $v0, 0x10($v1)
/* 13FEF0 8024CBB0 24620020 */ addiu $v0, $v1, 0x20
/* 13FEF4 8024CBB4 AC6B0014 */ sw $t3, 0x14($v1)
/* 13FEF8 8024CBB8 AE220000 */ sw $v0, ($s1)
/* 13FEFC 8024CBBC 24620028 */ addiu $v0, $v1, 0x28
/* 13FF00 8024CBC0 AC7E0018 */ sw $fp, 0x18($v1)
/* 13FF04 8024CBC4 AC60001C */ sw $zero, 0x1c($v1)
/* 13FF08 8024CBC8 AE220000 */ sw $v0, ($s1)
/* 13FF0C 8024CBCC 24620030 */ addiu $v0, $v1, 0x30
/* 13FF10 8024CBD0 AC6F0020 */ sw $t7, 0x20($v1)
/* 13FF14 8024CBD4 AC6E0024 */ sw $t6, 0x24($v1)
/* 13FF18 8024CBD8 AE220000 */ sw $v0, ($s1)
/* 13FF1C 8024CBDC 3C02F200 */ lui $v0, 0xf200
/* 13FF20 8024CBE0 01224825 */ or $t1, $t1, $v0
/* 13FF24 8024CBE4 24020010 */ addiu $v0, $zero, 0x10
/* 13FF28 8024CBE8 AC690028 */ sw $t1, 0x28($v1)
/* 13FF2C 8024CBEC AC6A002C */ sw $t2, 0x2c($v1)
/* 13FF30 8024CBF0 AFA00010 */ sw $zero, 0x10($sp)
/* 13FF34 8024CBF4 AFA20014 */ sw $v0, 0x14($sp)
/* 13FF38 8024CBF8 AFB60018 */ sw $s6, 0x18($sp)
/* 13FF3C 8024CBFC AFB7001C */ sw $s7, 0x1c($sp)
/* 13FF40 8024CC00 AFB70020 */ sw $s7, 0x20($sp)
/* 13FF44 8024CC04 2706010F */ addiu $a2, $t8, 0x10f
/* 13FF48 8024CC08 0C091216 */ jal pause_draw_rect
/* 13FF4C 8024CC0C 00063080 */ sll $a2, $a2, 2
/* 13FF50 8024CC10 8E220000 */ lw $v0, ($s1)
/* 13FF54 8024CC14 26D602C0 */ addiu $s6, $s6, 0x2c0
/* 13FF58 8024CC18 0040182D */ daddu $v1, $v0, $zero
/* 13FF5C 8024CC1C 24420008 */ addiu $v0, $v0, 8
/* 13FF60 8024CC20 AE220000 */ sw $v0, ($s1)
/* 13FF64 8024CC24 2A820005 */ slti $v0, $s4, 5
/* 13FF68 8024CC28 AC7E0000 */ sw $fp, ($v1)
/* 13FF6C 8024CC2C 1440FFAB */ bnez $v0, .L8024CADC
/* 13FF70 8024CC30 AC600004 */ sw $zero, 4($v1)
/* 13FF74 8024CC34 4480A000 */ mtc1 $zero, $f20
/* 13FF78 8024CC38 3C130001 */ lui $s3, 1
/* 13FF7C 8024CC3C 36731630 */ ori $s3, $s3, 0x1630
/* 13FF80 8024CC40 0000A02D */ daddu $s4, $zero, $zero
/* 13FF84 8024CC44 3C0643A0 */ lui $a2, 0x43a0
/* 13FF88 8024CC48 3C074370 */ lui $a3, 0x4370
/* 13FF8C 8024CC4C 3C01C47A */ lui $at, 0xc47a
/* 13FF90 8024CC50 44810000 */ mtc1 $at, $f0
/* 13FF94 8024CC54 3C01447A */ lui $at, 0x447a
/* 13FF98 8024CC58 44811000 */ mtc1 $at, $f2
/* 13FF9C 8024CC5C 3C013F80 */ lui $at, 0x3f80
/* 13FFA0 8024CC60 4481B000 */ mtc1 $at, $f22
/* 13FFA4 8024CC64 4405A000 */ mfc1 $a1, $f20
/* 13FFA8 8024CC68 27A40050 */ addiu $a0, $sp, 0x50
/* 13FFAC 8024CC6C E7B40010 */ swc1 $f20, 0x10($sp)
/* 13FFB0 8024CC70 E7A00014 */ swc1 $f0, 0x14($sp)
/* 13FFB4 8024CC74 E7A20018 */ swc1 $f2, 0x18($sp)
/* 13FFB8 8024CC78 0C018E44 */ jal guOrthoF
/* 13FFBC 8024CC7C E7B6001C */ swc1 $f22, 0x1c($sp)
/* 13FFC0 8024CC80 27A40050 */ addiu $a0, $sp, 0x50
/* 13FFC4 8024CC84 3C118007 */ lui $s1, %hi(gMatrixListPos)
/* 13FFC8 8024CC88 263141F0 */ addiu $s1, $s1, %lo(gMatrixListPos)
/* 13FFCC 8024CC8C 3C12800A */ lui $s2, %hi(gDisplayContext)
/* 13FFD0 8024CC90 2652A674 */ addiu $s2, $s2, %lo(gDisplayContext)
/* 13FFD4 8024CC94 96250000 */ lhu $a1, ($s1)
/* 13FFD8 8024CC98 8E420000 */ lw $v0, ($s2)
/* 13FFDC 8024CC9C 00052980 */ sll $a1, $a1, 6
/* 13FFE0 8024CCA0 00B32821 */ addu $a1, $a1, $s3
/* 13FFE4 8024CCA4 0C019D40 */ jal guMtxF2L
/* 13FFE8 8024CCA8 00452821 */ addu $a1, $v0, $a1
/* 13FFEC 8024CCAC 3C09DA38 */ lui $t1, 0xda38
/* 13FFF0 8024CCB0 35290007 */ ori $t1, $t1, 7
/* 13FFF4 8024CCB4 27A40050 */ addiu $a0, $sp, 0x50
/* 13FFF8 8024CCB8 3C10800A */ lui $s0, %hi(gMasterGfxPos)
/* 13FFFC 8024CCBC 2610A66C */ addiu $s0, $s0, %lo(gMasterGfxPos)
/* 140000 8024CCC0 8E030000 */ lw $v1, ($s0)
/* 140004 8024CCC4 4405A000 */ mfc1 $a1, $f20
/* 140008 8024CCC8 4406A000 */ mfc1 $a2, $f20
/* 14000C 8024CCCC 4407A000 */ mfc1 $a3, $f20
/* 140010 8024CCD0 96220000 */ lhu $v0, ($s1)
/* 140014 8024CCD4 0060402D */ daddu $t0, $v1, $zero
/* 140018 8024CCD8 24630008 */ addiu $v1, $v1, 8
/* 14001C 8024CCDC AE030000 */ sw $v1, ($s0)
/* 140020 8024CCE0 24430001 */ addiu $v1, $v0, 1
/* 140024 8024CCE4 3042FFFF */ andi $v0, $v0, 0xffff
/* 140028 8024CCE8 00021180 */ sll $v0, $v0, 6
/* 14002C 8024CCEC AD090000 */ sw $t1, ($t0)
/* 140030 8024CCF0 A6230000 */ sh $v1, ($s1)
/* 140034 8024CCF4 8E430000 */ lw $v1, ($s2)
/* 140038 8024CCF8 00531021 */ addu $v0, $v0, $s3
/* 14003C 8024CCFC 00621821 */ addu $v1, $v1, $v0
/* 140040 8024CD00 0C019E40 */ jal guTranslateF
/* 140044 8024CD04 AD030004 */ sw $v1, 4($t0)
/* 140048 8024CD08 27A40050 */ addiu $a0, $sp, 0x50
/* 14004C 8024CD0C 96250000 */ lhu $a1, ($s1)
/* 140050 8024CD10 8E420000 */ lw $v0, ($s2)
/* 140054 8024CD14 00052980 */ sll $a1, $a1, 6
/* 140058 8024CD18 00B32821 */ addu $a1, $a1, $s3
/* 14005C 8024CD1C 0C019D40 */ jal guMtxF2L
/* 140060 8024CD20 00452821 */ addu $a1, $v0, $a1
/* 140064 8024CD24 3C04DA38 */ lui $a0, 0xda38
/* 140068 8024CD28 34840002 */ ori $a0, $a0, 2
/* 14006C 8024CD2C 8E020000 */ lw $v0, ($s0)
/* 140070 8024CD30 96230000 */ lhu $v1, ($s1)
/* 140074 8024CD34 0040282D */ daddu $a1, $v0, $zero
/* 140078 8024CD38 24420008 */ addiu $v0, $v0, 8
/* 14007C 8024CD3C AE020000 */ sw $v0, ($s0)
/* 140080 8024CD40 24620001 */ addiu $v0, $v1, 1
/* 140084 8024CD44 3063FFFF */ andi $v1, $v1, 0xffff
/* 140088 8024CD48 00031980 */ sll $v1, $v1, 6
/* 14008C 8024CD4C 00731821 */ addu $v1, $v1, $s3
/* 140090 8024CD50 ACA40000 */ sw $a0, ($a1)
/* 140094 8024CD54 A6220000 */ sh $v0, ($s1)
/* 140098 8024CD58 8E420000 */ lw $v0, ($s2)
/* 14009C 8024CD5C 3C048027 */ lui $a0, %hi(D_802706FC)
/* 1400A0 8024CD60 8C8406FC */ lw $a0, %lo(D_802706FC)($a0)
/* 1400A4 8024CD64 00431021 */ addu $v0, $v0, $v1
/* 1400A8 8024CD68 188000B3 */ blez $a0, .L8024D038
/* 1400AC 8024CD6C ACA20004 */ sw $v0, 4($a1)
/* 1400B0 8024CD70 3C168027 */ lui $s6, %hi(D_802706C0)
/* 1400B4 8024CD74 26D606C0 */ addiu $s6, $s6, %lo(D_802706C0)
/* 1400B8 8024CD78 4600A686 */ mov.s $f26, $f20
/* 1400BC 8024CD7C 27B30090 */ addiu $s3, $sp, 0x90
/* 1400C0 8024CD80 3C013F66 */ lui $at, 0x3f66
/* 1400C4 8024CD84 34216666 */ ori $at, $at, 0x6666
/* 1400C8 8024CD88 4481F000 */ mtc1 $at, $f30
/* 1400CC 8024CD8C 00141880 */ sll $v1, $s4, 2
.L8024CD90:
/* 1400D0 8024CD90 3C028007 */ lui $v0, %hi(gGameStatusPtr)
/* 1400D4 8024CD94 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0)
/* 1400D8 8024CD98 3C128025 */ lui $s2, %hi(D_8024F974)
/* 1400DC 8024CD9C 02439021 */ addu $s2, $s2, $v1
/* 1400E0 8024CDA0 8E52F974 */ lw $s2, %lo(D_8024F974)($s2)
/* 1400E4 8024CDA4 3C038025 */ lui $v1, %hi(D_8024F93C)
/* 1400E8 8024CDA8 2463F93C */ addiu $v1, $v1, %lo(D_8024F93C)
/* 1400EC 8024CDAC 94420134 */ lhu $v0, 0x134($v0)
/* 1400F0 8024CDB0 8FB800D0 */ lw $t8, 0xd0($sp)
/* 1400F4 8024CDB4 00021080 */ sll $v0, $v0, 2
/* 1400F8 8024CDB8 4482B000 */ mtc1 $v0, $f22
/* 1400FC 8024CDBC 00000000 */ nop
/* 140100 8024CDC0 4680B5A0 */ cvt.s.w $f22, $f22
/* 140104 8024CDC4 001210C0 */ sll $v0, $s2, 3
/* 140108 8024CDC8 00431021 */ addu $v0, $v0, $v1
/* 14010C 8024CDCC C4580000 */ lwc1 $f24, ($v0)
/* 140110 8024CDD0 4680C620 */ cvt.s.w $f24, $f24
/* 140114 8024CDD4 C45C0004 */ lwc1 $f28, 4($v0)
/* 140118 8024CDD8 4680E720 */ cvt.s.w $f28, $f28
/* 14011C 8024CDDC 8302028E */ lb $v0, 0x28e($t8)
/* 140120 8024CDE0 26430001 */ addiu $v1, $s2, 1
/* 140124 8024CDE4 0043102A */ slt $v0, $v0, $v1
/* 140128 8024CDE8 10400004 */ beqz $v0, .L8024CDFC
/* 14012C 8024CDEC 0000802D */ daddu $s0, $zero, $zero
/* 140130 8024CDF0 4480A000 */ mtc1 $zero, $f20
/* 140134 8024CDF4 080933BA */ j .L8024CEE8
/* 140138 8024CDF8 24110080 */ addiu $s1, $zero, 0x80
.L8024CDFC:
/* 14013C 8024CDFC 3C018027 */ lui $at, %hi(D_80270050)
/* 140140 8024CE00 D4240050 */ ldc1 $f4, %lo(D_80270050)($at)
/* 140144 8024CE04 4600B5A1 */ cvt.d.s $f22, $f22
/* 140148 8024CE08 4624B102 */ mul.d $f4, $f22, $f4
/* 14014C 8024CE0C 00000000 */ nop
/* 140150 8024CE10 3C018027 */ lui $at, %hi(D_80270058)
/* 140154 8024CE14 D4220058 */ ldc1 $f2, %lo(D_80270058)($at)
/* 140158 8024CE18 4492A000 */ mtc1 $s2, $f20
/* 14015C 8024CE1C 00000000 */ nop
/* 140160 8024CE20 4680A521 */ cvt.d.w $f20, $f20
/* 140164 8024CE24 4622A082 */ mul.d $f2, $f20, $f2
/* 140168 8024CE28 00000000 */ nop
/* 14016C 8024CE2C 3C018027 */ lui $at, %hi(D_80270060)
/* 140170 8024CE30 D4200060 */ ldc1 $f0, %lo(D_80270060)($at)
/* 140174 8024CE34 46201080 */ add.d $f2, $f2, $f0
/* 140178 8024CE38 4622B082 */ mul.d $f2, $f22, $f2
/* 14017C 8024CE3C 00000000 */ nop
/* 140180 8024CE40 02520018 */ mult $s2, $s2
/* 140184 8024CE44 0000C012 */ mflo $t8
/* 140188 8024CE48 00000000 */ nop
/* 14018C 8024CE4C 00000000 */ nop
/* 140190 8024CE50 03120018 */ mult $t8, $s2
/* 140194 8024CE54 0000C012 */ mflo $t8
/* 140198 8024CE58 44986000 */ mtc1 $t8, $f12
/* 14019C 8024CE5C 00000000 */ nop
/* 1401A0 8024CE60 46806321 */ cvt.d.w $f12, $f12
/* 1401A4 8024CE64 46246300 */ add.d $f12, $f12, $f4
/* 1401A8 8024CE68 46226300 */ add.d $f12, $f12, $f2
/* 1401AC 8024CE6C 0C00A8BB */ jal sin_deg
/* 1401B0 8024CE70 46206320 */ cvt.s.d $f12, $f12
/* 1401B4 8024CE74 3C013FD0 */ lui $at, 0x3fd0
/* 1401B8 8024CE78 44816800 */ mtc1 $at, $f13
/* 1401BC 8024CE7C 44806000 */ mtc1 $zero, $f12
/* 1401C0 8024CE80 00000000 */ nop
/* 1401C4 8024CE84 462CA302 */ mul.d $f12, $f20, $f12
/* 1401C8 8024CE88 00000000 */ nop
/* 1401CC 8024CE8C 3C018027 */ lui $at, %hi(D_80270068)
/* 1401D0 8024CE90 D4220068 */ ldc1 $f2, %lo(D_80270068)($at)
/* 1401D4 8024CE94 4622A502 */ mul.d $f20, $f20, $f2
/* 1401D8 8024CE98 00000000 */ nop
/* 1401DC 8024CE9C 3C018027 */ lui $at, %hi(D_80270070)
/* 1401E0 8024CEA0 D4220070 */ ldc1 $f2, %lo(D_80270070)($at)
/* 1401E4 8024CEA4 46341081 */ sub.d $f2, $f2, $f20
/* 1401E8 8024CEA8 4622B082 */ mul.d $f2, $f22, $f2
/* 1401EC 8024CEAC 00000000 */ nop
/* 1401F0 8024CEB0 46366300 */ add.d $f12, $f12, $f22
/* 1401F4 8024CEB4 46226300 */ add.d $f12, $f12, $f2
/* 1401F8 8024CEB8 46000506 */ mov.s $f20, $f0
/* 1401FC 8024CEBC 0C00A8BB */ jal sin_deg
/* 140200 8024CEC0 46206320 */ cvt.s.d $f12, $f12
/* 140204 8024CEC4 3C0140A0 */ lui $at, 0x40a0
/* 140208 8024CEC8 44811000 */ mtc1 $at, $f2
/* 14020C 8024CECC 00000000 */ nop
/* 140210 8024CED0 4602A502 */ mul.s $f20, $f20, $f2
/* 140214 8024CED4 00000000 */ nop
/* 140218 8024CED8 241000FF */ addiu $s0, $zero, 0xff
/* 14021C 8024CEDC 0200882D */ daddu $s1, $s0, $zero
/* 140220 8024CEE0 4600A502 */ mul.s $f20, $f20, $f0
/* 140224 8024CEE4 00000000 */ nop
.L8024CEE8:
/* 140228 8024CEE8 24050008 */ addiu $a1, $zero, 8
/* 14022C 8024CEEC 3C038027 */ lui $v1, %hi(D_802706E0)
/* 140230 8024CEF0 246306E0 */ addiu $v1, $v1, %lo(D_802706E0)
/* 140234 8024CEF4 00121080 */ sll $v0, $s2, 2
/* 140238 8024CEF8 0043A821 */ addu $s5, $v0, $v1
/* 14023C 8024CEFC 0200302D */ daddu $a2, $s0, $zero
/* 140240 8024CF00 8EA30000 */ lw $v1, ($s5)
/* 140244 8024CF04 24020040 */ addiu $v0, $zero, 0x40
/* 140248 8024CF08 AFA60010 */ sw $a2, 0x10($sp)
/* 14024C 8024CF0C AFB10014 */ sw $s1, 0x14($sp)
/* 140250 8024CF10 AFA20018 */ sw $v0, 0x18($sp)
/* 140254 8024CF14 00031880 */ sll $v1, $v1, 2
/* 140258 8024CF18 00761821 */ addu $v1, $v1, $s6
/* 14025C 8024CF1C 8C640000 */ lw $a0, ($v1)
/* 140260 8024CF20 0C0B7A25 */ jal func_802DE894
/* 140264 8024CF24 00C0382D */ daddu $a3, $a2, $zero
/* 140268 8024CF28 8FB80134 */ lw $t8, 0x134($sp)
/* 14026C 8024CF2C 27020016 */ addiu $v0, $t8, 0x16
/* 140270 8024CF30 44820000 */ mtc1 $v0, $f0
/* 140274 8024CF34 00000000 */ nop
/* 140278 8024CF38 46800020 */ cvt.s.w $f0, $f0
/* 14027C 8024CF3C 46180000 */ add.s $f0, $f0, $f24
/* 140280 8024CF40 8FB80138 */ lw $t8, 0x138($sp)
/* 140284 8024CF44 2702004D */ addiu $v0, $t8, 0x4d
/* 140288 8024CF48 44050000 */ mfc1 $a1, $f0
/* 14028C 8024CF4C 44820000 */ mtc1 $v0, $f0
/* 140290 8024CF50 00000000 */ nop
/* 140294 8024CF54 46800020 */ cvt.s.w $f0, $f0
/* 140298 8024CF58 461C0000 */ add.s $f0, $f0, $f28
/* 14029C 8024CF5C 46140000 */ add.s $f0, $f0, $f20
/* 1402A0 8024CF60 4407D000 */ mfc1 $a3, $f26
/* 1402A4 8024CF64 44060000 */ mfc1 $a2, $f0
/* 1402A8 8024CF68 0C019E40 */ jal guTranslateF
/* 1402AC 8024CF6C 27A40050 */ addiu $a0, $sp, 0x50
/* 1402B0 8024CF70 3C054334 */ lui $a1, 0x4334
/* 1402B4 8024CF74 4406D000 */ mfc1 $a2, $f26
/* 1402B8 8024CF78 4407D000 */ mfc1 $a3, $f26
/* 1402BC 8024CF7C 3C013F80 */ lui $at, 0x3f80
/* 1402C0 8024CF80 44813000 */ mtc1 $at, $f6
/* 1402C4 8024CF84 0260202D */ daddu $a0, $s3, $zero
/* 1402C8 8024CF88 0C019EC8 */ jal guRotateF
/* 1402CC 8024CF8C E7A60010 */ swc1 $f6, 0x10($sp)
/* 1402D0 8024CF90 0260202D */ daddu $a0, $s3, $zero
/* 1402D4 8024CF94 27A50050 */ addiu $a1, $sp, 0x50
/* 1402D8 8024CF98 0C019D80 */ jal guMtxCatF
/* 1402DC 8024CF9C 00A0302D */ daddu $a2, $a1, $zero
/* 1402E0 8024CFA0 2642FFFF */ addiu $v0, $s2, -1
/* 1402E4 8024CFA4 2C420003 */ sltiu $v0, $v0, 3
/* 1402E8 8024CFA8 1040000A */ beqz $v0, .L8024CFD4
/* 1402EC 8024CFAC 0260202D */ daddu $a0, $s3, $zero
/* 1402F0 8024CFB0 3C054334 */ lui $a1, 0x4334
/* 1402F4 8024CFB4 4406D000 */ mfc1 $a2, $f26
/* 1402F8 8024CFB8 3C073F80 */ lui $a3, 0x3f80
/* 1402FC 8024CFBC 0C019EC8 */ jal guRotateF
/* 140300 8024CFC0 E7BA0010 */ swc1 $f26, 0x10($sp)
/* 140304 8024CFC4 0260202D */ daddu $a0, $s3, $zero
/* 140308 8024CFC8 27A50050 */ addiu $a1, $sp, 0x50
/* 14030C 8024CFCC 0C019D80 */ jal guMtxCatF
/* 140310 8024CFD0 00A0302D */ daddu $a2, $a1, $zero
.L8024CFD4:
/* 140314 8024CFD4 4405F000 */ mfc1 $a1, $f30
/* 140318 8024CFD8 4406F000 */ mfc1 $a2, $f30
/* 14031C 8024CFDC 4407F000 */ mfc1 $a3, $f30
/* 140320 8024CFE0 0C019DF0 */ jal guScaleF
/* 140324 8024CFE4 0260202D */ daddu $a0, $s3, $zero
/* 140328 8024CFE8 0260202D */ daddu $a0, $s3, $zero
/* 14032C 8024CFEC 27A50050 */ addiu $a1, $sp, 0x50
/* 140330 8024CFF0 0C019D80 */ jal guMtxCatF
/* 140334 8024CFF4 00A0302D */ daddu $a2, $a1, $zero
/* 140338 8024CFF8 0000282D */ daddu $a1, $zero, $zero
/* 14033C 8024CFFC 00A0302D */ daddu $a2, $a1, $zero
/* 140340 8024D000 8EA20000 */ lw $v0, ($s5)
/* 140344 8024D004 27A30050 */ addiu $v1, $sp, 0x50
/* 140348 8024D008 AFA30010 */ sw $v1, 0x10($sp)
/* 14034C 8024D00C 00021080 */ sll $v0, $v0, 2
/* 140350 8024D010 00561021 */ addu $v0, $v0, $s6
/* 140354 8024D014 8C440000 */ lw $a0, ($v0)
/* 140358 8024D018 0C0B78F6 */ jal spr_draw_npc_sprite
/* 14035C 8024D01C 00A0382D */ daddu $a3, $a1, $zero
/* 140360 8024D020 3C028027 */ lui $v0, %hi(D_802706FC)
/* 140364 8024D024 8C4206FC */ lw $v0, %lo(D_802706FC)($v0)
/* 140368 8024D028 26940001 */ addiu $s4, $s4, 1
/* 14036C 8024D02C 0282102A */ slt $v0, $s4, $v0
/* 140370 8024D030 1440FF57 */ bnez $v0, .L8024CD90
/* 140374 8024D034 00141880 */ sll $v1, $s4, 2
.L8024D038:
/* 140378 8024D038 3C02D838 */ lui $v0, 0xd838
/* 14037C 8024D03C 34420002 */ ori $v0, $v0, 2
/* 140380 8024D040 8FB80134 */ lw $t8, 0x134($sp)
/* 140384 8024D044 3C0C800A */ lui $t4, %hi(gMasterGfxPos)
/* 140388 8024D048 258CA66C */ addiu $t4, $t4, %lo(gMasterGfxPos)
/* 14038C 8024D04C 27060007 */ addiu $a2, $t8, 7
/* 140390 8024D050 8FB80138 */ lw $t8, 0x138($sp)
/* 140394 8024D054 8D890000 */ lw $t1, ($t4)
/* 140398 8024D058 2708000E */ addiu $t0, $t8, 0xe
/* 14039C 8024D05C 8FB80134 */ lw $t8, 0x134($sp)
/* 1403A0 8024D060 0120182D */ daddu $v1, $t1, $zero
/* 1403A4 8024D064 270A0117 */ addiu $t2, $t8, 0x117
/* 1403A8 8024D068 8FB80138 */ lw $t8, 0x138($sp)
/* 1403AC 8024D06C 25290008 */ addiu $t1, $t1, 8
/* 1403B0 8024D070 AD890000 */ sw $t1, ($t4)
/* 1403B4 8024D074 AC620000 */ sw $v0, ($v1)
/* 1403B8 8024D078 24020040 */ addiu $v0, $zero, 0x40
/* 1403BC 8024D07C AC620004 */ sw $v0, 4($v1)
/* 1403C0 8024D080 1CC00002 */ bgtz $a2, .L8024D08C
/* 1403C4 8024D084 270B008C */ addiu $t3, $t8, 0x8c
/* 1403C8 8024D088 24060001 */ addiu $a2, $zero, 1
.L8024D08C:
/* 1403CC 8024D08C 59000001 */ blezl $t0, .L8024D094
/* 1403D0 8024D090 24080001 */ addiu $t0, $zero, 1
.L8024D094:
/* 1403D4 8024D094 1940006D */ blez $t2, .L8024D24C
/* 1403D8 8024D098 00000000 */ nop
/* 1403DC 8024D09C 1960006B */ blez $t3, .L8024D24C
/* 1403E0 8024D0A0 28C2013F */ slti $v0, $a2, 0x13f
/* 1403E4 8024D0A4 10400069 */ beqz $v0, .L8024D24C
/* 1403E8 8024D0A8 290200EF */ slti $v0, $t0, 0xef
/* 1403EC 8024D0AC 10400067 */ beqz $v0, .L8024D24C
/* 1403F0 8024D0B0 2942013F */ slti $v0, $t2, 0x13f
/* 1403F4 8024D0B4 50400001 */ beql $v0, $zero, .L8024D0BC
/* 1403F8 8024D0B8 240A013F */ addiu $t2, $zero, 0x13f
.L8024D0BC:
/* 1403FC 8024D0BC 296200EF */ slti $v0, $t3, 0xef
/* 140400 8024D0C0 50400001 */ beql $v0, $zero, .L8024D0C8
/* 140404 8024D0C4 240B00EF */ addiu $t3, $zero, 0xef
.L8024D0C8:
/* 140408 8024D0C8 44861000 */ mtc1 $a2, $f2
/* 14040C 8024D0CC 00000000 */ nop
/* 140410 8024D0D0 468010A0 */ cvt.s.w $f2, $f2
/* 140414 8024D0D4 25220008 */ addiu $v0, $t1, 8
/* 140418 8024D0D8 3C014080 */ lui $at, 0x4080
/* 14041C 8024D0DC 44812000 */ mtc1 $at, $f4
/* 140420 8024D0E0 44880000 */ mtc1 $t0, $f0
/* 140424 8024D0E4 00000000 */ nop
/* 140428 8024D0E8 46800020 */ cvt.s.w $f0, $f0
/* 14042C 8024D0EC 46041082 */ mul.s $f2, $f2, $f4
/* 140430 8024D0F0 00000000 */ nop
/* 140434 8024D0F4 8FB80134 */ lw $t8, 0x134($sp)
/* 140438 8024D0F8 3C08ED00 */ lui $t0, 0xed00
/* 14043C 8024D0FC 27060007 */ addiu $a2, $t8, 7
/* 140440 8024D100 8FB80138 */ lw $t8, 0x138($sp)
/* 140444 8024D104 46040002 */ mul.s $f0, $f0, $f4
/* 140448 8024D108 00000000 */ nop
/* 14044C 8024D10C AD820000 */ sw $v0, ($t4)
/* 140450 8024D110 2707000E */ addiu $a3, $t8, 0xe
/* 140454 8024D114 4600118D */ trunc.w.s $f6, $f2
/* 140458 8024D118 44023000 */ mfc1 $v0, $f6
/* 14045C 8024D11C 00000000 */ nop
/* 140460 8024D120 30420FFF */ andi $v0, $v0, 0xfff
/* 140464 8024D124 00021300 */ sll $v0, $v0, 0xc
/* 140468 8024D128 4600018D */ trunc.w.s $f6, $f0
/* 14046C 8024D12C 44033000 */ mfc1 $v1, $f6
/* 140470 8024D130 448A1000 */ mtc1 $t2, $f2
/* 140474 8024D134 00000000 */ nop
/* 140478 8024D138 468010A0 */ cvt.s.w $f2, $f2
/* 14047C 8024D13C 46041082 */ mul.s $f2, $f2, $f4
/* 140480 8024D140 00000000 */ nop
/* 140484 8024D144 30630FFF */ andi $v1, $v1, 0xfff
/* 140488 8024D148 00681825 */ or $v1, $v1, $t0
/* 14048C 8024D14C 00431025 */ or $v0, $v0, $v1
/* 140490 8024D150 448B0000 */ mtc1 $t3, $f0
/* 140494 8024D154 00000000 */ nop
/* 140498 8024D158 46800020 */ cvt.s.w $f0, $f0
/* 14049C 8024D15C 46040002 */ mul.s $f0, $f0, $f4
/* 1404A0 8024D160 00000000 */ nop
/* 1404A4 8024D164 AD220000 */ sw $v0, ($t1)
/* 1404A8 8024D168 4600118D */ trunc.w.s $f6, $f2
/* 1404AC 8024D16C 44023000 */ mfc1 $v0, $f6
/* 1404B0 8024D170 00000000 */ nop
/* 1404B4 8024D174 30420FFF */ andi $v0, $v0, 0xfff
/* 1404B8 8024D178 00021300 */ sll $v0, $v0, 0xc
/* 1404BC 8024D17C 4600018D */ trunc.w.s $f6, $f0
/* 1404C0 8024D180 44033000 */ mfc1 $v1, $f6
/* 1404C4 8024D184 00000000 */ nop
/* 1404C8 8024D188 30630FFF */ andi $v1, $v1, 0xfff
/* 1404CC 8024D18C 00431025 */ or $v0, $v0, $v1
/* 1404D0 8024D190 AD220004 */ sw $v0, 4($t1)
/* 1404D4 8024D194 24020110 */ addiu $v0, $zero, 0x110
/* 1404D8 8024D198 AFA20014 */ sw $v0, 0x14($sp)
/* 1404DC 8024D19C 2402007E */ addiu $v0, $zero, 0x7e
/* 1404E0 8024D1A0 AFA20018 */ sw $v0, 0x18($sp)
/* 1404E4 8024D1A4 93A20147 */ lbu $v0, 0x147($sp)
/* 1404E8 8024D1A8 3C013F80 */ lui $at, 0x3f80
/* 1404EC 8024D1AC 44810000 */ mtc1 $at, $f0
/* 1404F0 8024D1B0 8FB8013C */ lw $t8, 0x13c($sp)
/* 1404F4 8024D1B4 AFA2001C */ sw $v0, 0x1c($sp)
/* 1404F8 8024D1B8 93A2014B */ lbu $v0, 0x14b($sp)
/* 1404FC 8024D1BC 0000202D */ daddu $a0, $zero, $zero
/* 140500 8024D1C0 AFA20020 */ sw $v0, 0x20($sp)
/* 140504 8024D1C4 8FA20140 */ lw $v0, 0x140($sp)
/* 140508 8024D1C8 3C058027 */ lui $a1, %hi(D_8026FE78)
/* 14050C 8024D1CC 24A5FE78 */ addiu $a1, $a1, %lo(D_8026FE78)
/* 140510 8024D1D0 AFA00010 */ sw $zero, 0x10($sp)
/* 140514 8024D1D4 AFA0002C */ sw $zero, 0x2c($sp)
/* 140518 8024D1D8 AFA00030 */ sw $zero, 0x30($sp)
/* 14051C 8024D1DC AFA00034 */ sw $zero, 0x34($sp)
/* 140520 8024D1E0 AFA00038 */ sw $zero, 0x38($sp)
/* 140524 8024D1E4 AFA0003C */ sw $zero, 0x3c($sp)
/* 140528 8024D1E8 AFA00040 */ sw $zero, 0x40($sp)
/* 14052C 8024D1EC AFA0004C */ sw $zero, 0x4c($sp)
/* 140530 8024D1F0 E7A00024 */ swc1 $f0, 0x24($sp)
/* 140534 8024D1F4 E7A00028 */ swc1 $f0, 0x28($sp)
/* 140538 8024D1F8 AFB80044 */ sw $t8, 0x44($sp)
/* 14053C 8024D1FC 0C03D4B8 */ jal draw_box
/* 140540 8024D200 AFA20048 */ sw $v0, 0x48($sp)
/* 140544 8024D204 3C038027 */ lui $v1, %hi(gPauseMenuCurrentTab)
/* 140548 8024D208 806300D4 */ lb $v1, %lo(gPauseMenuCurrentTab)($v1)
/* 14054C 8024D20C 24020005 */ addiu $v0, $zero, 5
/* 140550 8024D210 1462000E */ bne $v1, $v0, .L8024D24C
/* 140554 8024D214 24040027 */ addiu $a0, $zero, 0x27
/* 140558 8024D218 8FB80130 */ lw $t8, 0x130($sp)
/* 14055C 8024D21C 3C038025 */ lui $v1, %hi(D_8024F990)
/* 140560 8024D220 2463F990 */ addiu $v1, $v1, %lo(D_8024F990)
/* 140564 8024D224 93020003 */ lbu $v0, 3($t8)
/* 140568 8024D228 8FB80134 */ lw $t8, 0x134($sp)
/* 14056C 8024D22C 000210C0 */ sll $v0, $v0, 3
/* 140570 8024D230 00431021 */ addu $v0, $v0, $v1
/* 140574 8024D234 8C450000 */ lw $a1, ($v0)
/* 140578 8024D238 8C460004 */ lw $a2, 4($v0)
/* 14057C 8024D23C 03052821 */ addu $a1, $t8, $a1
/* 140580 8024D240 8FB80138 */ lw $t8, 0x138($sp)
/* 140584 8024D244 0C090B41 */ jal func_80242D04
/* 140588 8024D248 03063021 */ addu $a2, $t8, $a2
.L8024D24C:
/* 14058C 8024D24C 8FBF00FC */ lw $ra, 0xfc($sp)
/* 140590 8024D250 8FBE00F8 */ lw $fp, 0xf8($sp)
/* 140594 8024D254 8FB700F4 */ lw $s7, 0xf4($sp)
/* 140598 8024D258 8FB600F0 */ lw $s6, 0xf0($sp)
/* 14059C 8024D25C 8FB500EC */ lw $s5, 0xec($sp)
/* 1405A0 8024D260 8FB400E8 */ lw $s4, 0xe8($sp)
/* 1405A4 8024D264 8FB300E4 */ lw $s3, 0xe4($sp)
/* 1405A8 8024D268 8FB200E0 */ lw $s2, 0xe0($sp)
/* 1405AC 8024D26C 8FB100DC */ lw $s1, 0xdc($sp)
/* 1405B0 8024D270 8FB000D8 */ lw $s0, 0xd8($sp)
/* 1405B4 8024D274 D7BE0128 */ ldc1 $f30, 0x128($sp)
/* 1405B8 8024D278 D7BC0120 */ ldc1 $f28, 0x120($sp)
/* 1405BC 8024D27C D7BA0118 */ ldc1 $f26, 0x118($sp)
/* 1405C0 8024D280 D7B80110 */ ldc1 $f24, 0x110($sp)
/* 1405C4 8024D284 D7B60108 */ ldc1 $f22, 0x108($sp)
/* 1405C8 8024D288 D7B40100 */ ldc1 $f20, 0x100($sp)
/* 1405CC 8024D28C 03E00008 */ jr $ra
/* 1405D0 8024D290 27BD0130 */ addiu $sp, $sp, 0x130

View File

@ -1,58 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel pause_spirits_draw_title
/* 1405D4 8024D294 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 1405D8 8024D298 AFB00018 */ sw $s0, 0x18($sp)
/* 1405DC 8024D29C 0080802D */ daddu $s0, $a0, $zero
/* 1405E0 8024D2A0 AFB20020 */ sw $s2, 0x20($sp)
/* 1405E4 8024D2A4 00A0902D */ daddu $s2, $a1, $zero
/* 1405E8 8024D2A8 AFB30024 */ sw $s3, 0x24($sp)
/* 1405EC 8024D2AC 00C0982D */ daddu $s3, $a2, $zero
/* 1405F0 8024D2B0 AFB1001C */ sw $s1, 0x1c($sp)
/* 1405F4 8024D2B4 AFBF0028 */ sw $ra, 0x28($sp)
/* 1405F8 8024D2B8 0C039D59 */ jal get_player_data
/* 1405FC 8024D2BC 00E0882D */ daddu $s1, $a3, $zero
/* 140600 8024D2C0 0040202D */ daddu $a0, $v0, $zero
/* 140604 8024D2C4 3C038027 */ lui $v1, %hi(gPauseMenuCurrentTab)
/* 140608 8024D2C8 806300D4 */ lb $v1, %lo(gPauseMenuCurrentTab)($v1)
/* 14060C 8024D2CC 24020005 */ addiu $v0, $zero, 5
/* 140610 8024D2D0 1462001C */ bne $v1, $v0, .L8024D344
/* 140614 8024D2D4 00000000 */ nop
/* 140618 8024D2D8 92020003 */ lbu $v0, 3($s0)
/* 14061C 8024D2DC 8083028E */ lb $v1, 0x28e($a0)
/* 140620 8024D2E0 00021080 */ sll $v0, $v0, 2
/* 140624 8024D2E4 3C048027 */ lui $a0, %hi(D_802706E0)
/* 140628 8024D2E8 00822021 */ addu $a0, $a0, $v0
/* 14062C 8024D2EC 8C8406E0 */ lw $a0, %lo(D_802706E0)($a0)
/* 140630 8024D2F0 0083182A */ slt $v1, $a0, $v1
/* 140634 8024D2F4 10600004 */ beqz $v1, .L8024D308
/* 140638 8024D2F8 3C02001D */ lui $v0, 0x1d
/* 14063C 8024D2FC 3442002A */ ori $v0, $v0, 0x2a
/* 140640 8024D300 080934C5 */ j .L8024D314
/* 140644 8024D304 00828021 */ addu $s0, $a0, $v0
.L8024D308:
/* 140648 8024D308 0C093BA0 */ jal pause_get_menu_msg
/* 14064C 8024D30C 24040056 */ addiu $a0, $zero, 0x56
/* 140650 8024D310 0040802D */ daddu $s0, $v0, $zero
.L8024D314:
/* 140654 8024D314 0200202D */ daddu $a0, $s0, $zero
/* 140658 8024D318 0C04991D */ jal get_msg_width
/* 14065C 8024D31C 0000282D */ daddu $a1, $zero, $zero
/* 140660 8024D320 0200202D */ daddu $a0, $s0, $zero
/* 140664 8024D324 02221023 */ subu $v0, $s1, $v0
/* 140668 8024D328 00021043 */ sra $v0, $v0, 1
/* 14066C 8024D32C 02422821 */ addu $a1, $s2, $v0
/* 140670 8024D330 26660001 */ addiu $a2, $s3, 1
/* 140674 8024D334 240700FF */ addiu $a3, $zero, 0xff
/* 140678 8024D338 AFA00010 */ sw $zero, 0x10($sp)
/* 14067C 8024D33C 0C04993B */ jal draw_msg
/* 140680 8024D340 AFA00014 */ sw $zero, 0x14($sp)
.L8024D344:
/* 140684 8024D344 8FBF0028 */ lw $ra, 0x28($sp)
/* 140688 8024D348 8FB30024 */ lw $s3, 0x24($sp)
/* 14068C 8024D34C 8FB20020 */ lw $s2, 0x20($sp)
/* 140690 8024D350 8FB1001C */ lw $s1, 0x1c($sp)
/* 140694 8024D354 8FB00018 */ lw $s0, 0x18($sp)
/* 140698 8024D358 03E00008 */ jr $ra
/* 14069C 8024D35C 27BD0030 */ addiu $sp, $sp, 0x30

View File

@ -1,261 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel pause_spirits_handle_input
/* 14078C 8024D44C 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 140790 8024D450 AFB00010 */ sw $s0, 0x10($sp)
/* 140794 8024D454 0080802D */ daddu $s0, $a0, $zero
/* 140798 8024D458 3C028027 */ lui $v0, %hi(gPauseMenuHeldButtons)
/* 14079C 8024D45C 8C4200C0 */ lw $v0, %lo(gPauseMenuHeldButtons)($v0)
/* 1407A0 8024D460 3C030004 */ lui $v1, 4
/* 1407A4 8024D464 AFBF0014 */ sw $ra, 0x14($sp)
/* 1407A8 8024D468 92070003 */ lbu $a3, 3($s0)
/* 1407AC 8024D46C 00431024 */ and $v0, $v0, $v1
/* 1407B0 8024D470 1040001C */ beqz $v0, .L8024D4E4
/* 1407B4 8024D474 00000000 */ nop
.L8024D478:
/* 1407B8 8024D478 92020001 */ lbu $v0, 1($s0)
/* 1407BC 8024D47C 2442FFFF */ addiu $v0, $v0, -1
/* 1407C0 8024D480 A2020001 */ sb $v0, 1($s0)
/* 1407C4 8024D484 00021600 */ sll $v0, $v0, 0x18
/* 1407C8 8024D488 00022E03 */ sra $a1, $v0, 0x18
/* 1407CC 8024D48C 04A20015 */ bltzl $a1, .L8024D4E4
/* 1407D0 8024D490 A2000001 */ sb $zero, 1($s0)
/* 1407D4 8024D494 82020004 */ lb $v0, 4($s0)
/* 1407D8 8024D498 82030005 */ lb $v1, 5($s0)
/* 1407DC 8024D49C 00430018 */ mult $v0, $v1
/* 1407E0 8024D4A0 00003012 */ mflo $a2
/* 1407E4 8024D4A4 82020006 */ lb $v0, 6($s0)
/* 1407E8 8024D4A8 00000000 */ nop
/* 1407EC 8024D4AC 00C20018 */ mult $a2, $v0
/* 1407F0 8024D4B0 00002012 */ mflo $a0
/* 1407F4 8024D4B4 82020002 */ lb $v0, 2($s0)
/* 1407F8 8024D4B8 00000000 */ nop
/* 1407FC 8024D4BC 00620018 */ mult $v1, $v0
/* 140800 8024D4C0 00001812 */ mflo $v1
/* 140804 8024D4C4 00831021 */ addu $v0, $a0, $v1
/* 140808 8024D4C8 00451021 */ addu $v0, $v0, $a1
/* 14080C 8024D4CC 8E030008 */ lw $v1, 8($s0)
/* 140810 8024D4D0 92040003 */ lbu $a0, 3($s0)
/* 140814 8024D4D4 00621821 */ addu $v1, $v1, $v0
/* 140818 8024D4D8 90620000 */ lbu $v0, ($v1)
/* 14081C 8024D4DC 1082FFE6 */ beq $a0, $v0, .L8024D478
/* 140820 8024D4E0 00000000 */ nop
.L8024D4E4:
/* 140824 8024D4E4 3C028027 */ lui $v0, %hi(gPauseMenuHeldButtons)
/* 140828 8024D4E8 8C4200C0 */ lw $v0, %lo(gPauseMenuHeldButtons)($v0)
/* 14082C 8024D4EC 3C030008 */ lui $v1, 8
/* 140830 8024D4F0 00431024 */ and $v0, $v0, $v1
/* 140834 8024D4F4 1040001E */ beqz $v0, .L8024D570
/* 140838 8024D4F8 00000000 */ nop
/* 14083C 8024D4FC 92060005 */ lbu $a2, 5($s0)
/* 140840 8024D500 82050005 */ lb $a1, 5($s0)
.L8024D504:
/* 140844 8024D504 92020001 */ lbu $v0, 1($s0)
/* 140848 8024D508 24420001 */ addiu $v0, $v0, 1
/* 14084C 8024D50C A2020001 */ sb $v0, 1($s0)
/* 140850 8024D510 00021600 */ sll $v0, $v0, 0x18
/* 140854 8024D514 00022603 */ sra $a0, $v0, 0x18
/* 140858 8024D518 0085102A */ slt $v0, $a0, $a1
/* 14085C 8024D51C 1040001F */ beqz $v0, .L8024D59C
/* 140860 8024D520 24C2FFFF */ addiu $v0, $a2, -1
/* 140864 8024D524 82020004 */ lb $v0, 4($s0)
/* 140868 8024D528 00450018 */ mult $v0, $a1
/* 14086C 8024D52C 00001812 */ mflo $v1
/* 140870 8024D530 82020006 */ lb $v0, 6($s0)
/* 140874 8024D534 00000000 */ nop
/* 140878 8024D538 00620018 */ mult $v1, $v0
/* 14087C 8024D53C 00001812 */ mflo $v1
/* 140880 8024D540 82020002 */ lb $v0, 2($s0)
/* 140884 8024D544 00000000 */ nop
/* 140888 8024D548 00A20018 */ mult $a1, $v0
/* 14088C 8024D54C 00004812 */ mflo $t1
/* 140890 8024D550 00691021 */ addu $v0, $v1, $t1
/* 140894 8024D554 00441021 */ addu $v0, $v0, $a0
/* 140898 8024D558 8E030008 */ lw $v1, 8($s0)
/* 14089C 8024D55C 92040003 */ lbu $a0, 3($s0)
/* 1408A0 8024D560 00621821 */ addu $v1, $v1, $v0
/* 1408A4 8024D564 90620000 */ lbu $v0, ($v1)
/* 1408A8 8024D568 1082FFE6 */ beq $a0, $v0, .L8024D504
/* 1408AC 8024D56C 00000000 */ nop
.L8024D570:
/* 1408B0 8024D570 3C028027 */ lui $v0, %hi(gPauseMenuHeldButtons)
/* 1408B4 8024D574 8C4200C0 */ lw $v0, %lo(gPauseMenuHeldButtons)($v0)
/* 1408B8 8024D578 3C030001 */ lui $v1, 1
/* 1408BC 8024D57C 00431024 */ and $v0, $v0, $v1
/* 1408C0 8024D580 10400029 */ beqz $v0, .L8024D628
/* 1408C4 8024D584 24020002 */ addiu $v0, $zero, 2
/* 1408C8 8024D588 92030003 */ lbu $v1, 3($s0)
/* 1408CC 8024D58C 14620005 */ bne $v1, $v0, .L8024D5A4
/* 1408D0 8024D590 24020005 */ addiu $v0, $zero, 5
/* 1408D4 8024D594 0809356B */ j .L8024D5AC
/* 1408D8 8024D598 24020003 */ addiu $v0, $zero, 3
.L8024D59C:
/* 1408DC 8024D59C 0809355C */ j .L8024D570
/* 1408E0 8024D5A0 A2020001 */ sb $v0, 1($s0)
.L8024D5A4:
/* 1408E4 8024D5A4 14620004 */ bne $v1, $v0, .L8024D5B8
/* 1408E8 8024D5A8 24020001 */ addiu $v0, $zero, 1
.L8024D5AC:
/* 1408EC 8024D5AC A2020001 */ sb $v0, 1($s0)
/* 1408F0 8024D5B0 0809358A */ j .L8024D628
/* 1408F4 8024D5B4 A2000002 */ sb $zero, 2($s0)
.L8024D5B8:
/* 1408F8 8024D5B8 92020002 */ lbu $v0, 2($s0)
/* 1408FC 8024D5BC 2442FFFF */ addiu $v0, $v0, -1
/* 140900 8024D5C0 A2020002 */ sb $v0, 2($s0)
/* 140904 8024D5C4 00021600 */ sll $v0, $v0, 0x18
/* 140908 8024D5C8 00022603 */ sra $a0, $v0, 0x18
/* 14090C 8024D5CC 04820016 */ bltzl $a0, .L8024D628
/* 140910 8024D5D0 A2000002 */ sb $zero, 2($s0)
/* 140914 8024D5D4 82020004 */ lb $v0, 4($s0)
/* 140918 8024D5D8 82030005 */ lb $v1, 5($s0)
/* 14091C 8024D5DC 00430018 */ mult $v0, $v1
/* 140920 8024D5E0 00002812 */ mflo $a1
/* 140924 8024D5E4 82020006 */ lb $v0, 6($s0)
/* 140928 8024D5E8 00000000 */ nop
/* 14092C 8024D5EC 00A20018 */ mult $a1, $v0
/* 140930 8024D5F0 00001012 */ mflo $v0
/* 140934 8024D5F4 00000000 */ nop
/* 140938 8024D5F8 00000000 */ nop
/* 14093C 8024D5FC 00640018 */ mult $v1, $a0
/* 140940 8024D600 82040001 */ lb $a0, 1($s0)
/* 140944 8024D604 00001812 */ mflo $v1
/* 140948 8024D608 00431021 */ addu $v0, $v0, $v1
/* 14094C 8024D60C 00441021 */ addu $v0, $v0, $a0
/* 140950 8024D610 8E030008 */ lw $v1, 8($s0)
/* 140954 8024D614 92040003 */ lbu $a0, 3($s0)
/* 140958 8024D618 00621821 */ addu $v1, $v1, $v0
/* 14095C 8024D61C 90620000 */ lbu $v0, ($v1)
/* 140960 8024D620 1082FFE5 */ beq $a0, $v0, .L8024D5B8
/* 140964 8024D624 00000000 */ nop
.L8024D628:
/* 140968 8024D628 3C028027 */ lui $v0, %hi(gPauseMenuHeldButtons)
/* 14096C 8024D62C 8C4200C0 */ lw $v0, %lo(gPauseMenuHeldButtons)($v0)
/* 140970 8024D630 3C030002 */ lui $v1, 2
/* 140974 8024D634 00431024 */ and $v0, $v0, $v1
/* 140978 8024D638 1040002F */ beqz $v0, .L8024D6F8
/* 14097C 8024D63C 24020002 */ addiu $v0, $zero, 2
/* 140980 8024D640 92030003 */ lbu $v1, 3($s0)
/* 140984 8024D644 14620006 */ bne $v1, $v0, .L8024D660
/* 140988 8024D648 24020005 */ addiu $v0, $zero, 5
/* 14098C 8024D64C 24020003 */ addiu $v0, $zero, 3
/* 140990 8024D650 A2020001 */ sb $v0, 1($s0)
/* 140994 8024D654 24020001 */ addiu $v0, $zero, 1
/* 140998 8024D658 080935BE */ j .L8024D6F8
/* 14099C 8024D65C A2020002 */ sb $v0, 2($s0)
.L8024D660:
/* 1409A0 8024D660 14620006 */ bne $v1, $v0, .L8024D67C
/* 1409A4 8024D664 24020001 */ addiu $v0, $zero, 1
/* 1409A8 8024D668 A2020001 */ sb $v0, 1($s0)
/* 1409AC 8024D66C 080935BE */ j .L8024D6F8
/* 1409B0 8024D670 A2020002 */ sb $v0, 2($s0)
.L8024D674:
/* 1409B4 8024D674 080935BE */ j .L8024D6F8
/* 1409B8 8024D678 A2020002 */ sb $v0, 2($s0)
.L8024D67C:
/* 1409BC 8024D67C 92060006 */ lbu $a2, 6($s0)
/* 1409C0 8024D680 82050006 */ lb $a1, 6($s0)
.L8024D684:
/* 1409C4 8024D684 92020002 */ lbu $v0, 2($s0)
/* 1409C8 8024D688 24420001 */ addiu $v0, $v0, 1
/* 1409CC 8024D68C A2020002 */ sb $v0, 2($s0)
/* 1409D0 8024D690 00021600 */ sll $v0, $v0, 0x18
/* 1409D4 8024D694 00022603 */ sra $a0, $v0, 0x18
/* 1409D8 8024D698 0085102A */ slt $v0, $a0, $a1
/* 1409DC 8024D69C 1040FFF5 */ beqz $v0, .L8024D674
/* 1409E0 8024D6A0 24C2FFFF */ addiu $v0, $a2, -1
/* 1409E4 8024D6A4 82020004 */ lb $v0, 4($s0)
/* 1409E8 8024D6A8 82030005 */ lb $v1, 5($s0)
/* 1409EC 8024D6AC 00430018 */ mult $v0, $v1
/* 1409F0 8024D6B0 00004812 */ mflo $t1
/* 1409F4 8024D6B4 00000000 */ nop
/* 1409F8 8024D6B8 00000000 */ nop
/* 1409FC 8024D6BC 01250018 */ mult $t1, $a1
/* 140A00 8024D6C0 00001012 */ mflo $v0
/* 140A04 8024D6C4 00000000 */ nop
/* 140A08 8024D6C8 00000000 */ nop
/* 140A0C 8024D6CC 00640018 */ mult $v1, $a0
/* 140A10 8024D6D0 82040001 */ lb $a0, 1($s0)
/* 140A14 8024D6D4 00001812 */ mflo $v1
/* 140A18 8024D6D8 00431021 */ addu $v0, $v0, $v1
/* 140A1C 8024D6DC 00441021 */ addu $v0, $v0, $a0
/* 140A20 8024D6E0 8E030008 */ lw $v1, 8($s0)
/* 140A24 8024D6E4 92040003 */ lbu $a0, 3($s0)
/* 140A28 8024D6E8 00621821 */ addu $v1, $v1, $v0
/* 140A2C 8024D6EC 90620000 */ lbu $v0, ($v1)
/* 140A30 8024D6F0 1082FFE4 */ beq $a0, $v0, .L8024D684
/* 140A34 8024D6F4 00000000 */ nop
.L8024D6F8:
/* 140A38 8024D6F8 82020004 */ lb $v0, 4($s0)
/* 140A3C 8024D6FC 82030005 */ lb $v1, 5($s0)
/* 140A40 8024D700 00430018 */ mult $v0, $v1
/* 140A44 8024D704 00002812 */ mflo $a1
/* 140A48 8024D708 82020006 */ lb $v0, 6($s0)
/* 140A4C 8024D70C 00000000 */ nop
/* 140A50 8024D710 00A20018 */ mult $a1, $v0
/* 140A54 8024D714 00002012 */ mflo $a0
/* 140A58 8024D718 82020002 */ lb $v0, 2($s0)
/* 140A5C 8024D71C 00000000 */ nop
/* 140A60 8024D720 00620018 */ mult $v1, $v0
/* 140A64 8024D724 00001812 */ mflo $v1
/* 140A68 8024D728 00831821 */ addu $v1, $a0, $v1
/* 140A6C 8024D72C 82040001 */ lb $a0, 1($s0)
/* 140A70 8024D730 8E020008 */ lw $v0, 8($s0)
/* 140A74 8024D734 00641821 */ addu $v1, $v1, $a0
/* 140A78 8024D738 00431021 */ addu $v0, $v0, $v1
/* 140A7C 8024D73C 90420000 */ lbu $v0, ($v0)
/* 140A80 8024D740 24030004 */ addiu $v1, $zero, 4
/* 140A84 8024D744 A2020003 */ sb $v0, 3($s0)
/* 140A88 8024D748 304200FF */ andi $v0, $v0, 0xff
/* 140A8C 8024D74C 14430003 */ bne $v0, $v1, .L8024D75C
/* 140A90 8024D750 24020001 */ addiu $v0, $zero, 1
/* 140A94 8024D754 A2020001 */ sb $v0, 1($s0)
/* 140A98 8024D758 A2020002 */ sb $v0, 2($s0)
.L8024D75C:
/* 140A9C 8024D75C 92020003 */ lbu $v0, 3($s0)
/* 140AA0 8024D760 10470003 */ beq $v0, $a3, .L8024D770
/* 140AA4 8024D764 00000000 */ nop
/* 140AA8 8024D768 0C05272D */ jal sfx_play_sound
/* 140AAC 8024D76C 240400C7 */ addiu $a0, $zero, 0xc7
.L8024D770:
/* 140AB0 8024D770 3C028027 */ lui $v0, %hi(gPauseMenuPressedButtons)
/* 140AB4 8024D774 8C4200C4 */ lw $v0, %lo(gPauseMenuPressedButtons)($v0)
/* 140AB8 8024D778 30424000 */ andi $v0, $v0, 0x4000
/* 140ABC 8024D77C 10400007 */ beqz $v0, .L8024D79C
/* 140AC0 8024D780 00000000 */ nop
/* 140AC4 8024D784 3C018027 */ lui $at, %hi(gPauseMenuCurrentTab)
/* 140AC8 8024D788 A02000D4 */ sb $zero, %lo(gPauseMenuCurrentTab)($at)
/* 140ACC 8024D78C 0C05272D */ jal sfx_play_sound
/* 140AD0 8024D790 240400CA */ addiu $a0, $zero, 0xca
/* 140AD4 8024D794 080935FC */ j .L8024D7F0
/* 140AD8 8024D798 00000000 */ nop
.L8024D79C:
/* 140ADC 8024D79C 3C018027 */ lui $at, %hi(gPauseMenuCurrentDescIconScript)
/* 140AE0 8024D7A0 AC2000CC */ sw $zero, %lo(gPauseMenuCurrentDescIconScript)($at)
/* 140AE4 8024D7A4 0C039D59 */ jal get_player_data
/* 140AE8 8024D7A8 00000000 */ nop
/* 140AEC 8024D7AC 92030003 */ lbu $v1, 3($s0)
/* 140AF0 8024D7B0 8042028E */ lb $v0, 0x28e($v0)
/* 140AF4 8024D7B4 00031880 */ sll $v1, $v1, 2
/* 140AF8 8024D7B8 3C018027 */ lui $at, %hi(D_802706E0)
/* 140AFC 8024D7BC 00230821 */ addu $at, $at, $v1
/* 140B00 8024D7C0 8C2306E0 */ lw $v1, %lo(D_802706E0)($at)
/* 140B04 8024D7C4 0062102A */ slt $v0, $v1, $v0
/* 140B08 8024D7C8 14400005 */ bnez $v0, .L8024D7E0
/* 140B0C 8024D7CC 3C02001D */ lui $v0, 0x1d
/* 140B10 8024D7D0 0C093BA0 */ jal pause_get_menu_msg
/* 140B14 8024D7D4 24040056 */ addiu $a0, $zero, 0x56
/* 140B18 8024D7D8 080935FA */ j .L8024D7E8
/* 140B1C 8024D7DC 00000000 */ nop
.L8024D7E0:
/* 140B20 8024D7E0 34420031 */ ori $v0, $v0, 0x31
/* 140B24 8024D7E4 00621021 */ addu $v0, $v1, $v0
.L8024D7E8:
/* 140B28 8024D7E8 3C018027 */ lui $at, %hi(gPauseMenuCurrentDescMsg)
/* 140B2C 8024D7EC AC2200C8 */ sw $v0, %lo(gPauseMenuCurrentDescMsg)($at)
.L8024D7F0:
/* 140B30 8024D7F0 8FBF0014 */ lw $ra, 0x14($sp)
/* 140B34 8024D7F4 8FB00010 */ lw $s0, 0x10($sp)
/* 140B38 8024D7F8 03E00008 */ jr $ra
/* 140B3C 8024D7FC 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,66 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel pause_spirits_init
/* 1406A0 8024D360 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 1406A4 8024D364 AFB3001C */ sw $s3, 0x1c($sp)
/* 1406A8 8024D368 0080982D */ daddu $s3, $a0, $zero
/* 1406AC 8024D36C AFBF0020 */ sw $ra, 0x20($sp)
/* 1406B0 8024D370 AFB20018 */ sw $s2, 0x18($sp)
/* 1406B4 8024D374 AFB10014 */ sw $s1, 0x14($sp)
/* 1406B8 8024D378 0C039D59 */ jal get_player_data
/* 1406BC 8024D37C AFB00010 */ sw $s0, 0x10($sp)
/* 1406C0 8024D380 3C028027 */ lui $v0, %hi(D_802706FC)
/* 1406C4 8024D384 244206FC */ addiu $v0, $v0, %lo(D_802706FC)
/* 1406C8 8024D388 0000802D */ daddu $s0, $zero, $zero
/* 1406CC 8024D38C 3C058027 */ lui $a1, %hi(D_802706E0)
/* 1406D0 8024D390 24A506E0 */ addiu $a1, $a1, %lo(D_802706E0)
/* 1406D4 8024D394 0040202D */ daddu $a0, $v0, $zero
/* 1406D8 8024D398 AC400000 */ sw $zero, ($v0)
.L8024D39C:
/* 1406DC 8024D39C 8C820000 */ lw $v0, ($a0)
/* 1406E0 8024D3A0 00021880 */ sll $v1, $v0, 2
/* 1406E4 8024D3A4 00651821 */ addu $v1, $v1, $a1
/* 1406E8 8024D3A8 AC700000 */ sw $s0, ($v1)
/* 1406EC 8024D3AC 26100001 */ addiu $s0, $s0, 1
/* 1406F0 8024D3B0 24420001 */ addiu $v0, $v0, 1
/* 1406F4 8024D3B4 AC820000 */ sw $v0, ($a0)
/* 1406F8 8024D3B8 2A020007 */ slti $v0, $s0, 7
/* 1406FC 8024D3BC 1440FFF7 */ bnez $v0, .L8024D39C
/* 140700 8024D3C0 00000000 */ nop
/* 140704 8024D3C4 0000802D */ daddu $s0, $zero, $zero
/* 140708 8024D3C8 3C128027 */ lui $s2, %hi(D_802706C0)
/* 14070C 8024D3CC 265206C0 */ addiu $s2, $s2, %lo(D_802706C0)
/* 140710 8024D3D0 3C118025 */ lui $s1, %hi(D_8024F8C0)
/* 140714 8024D3D4 2631F8C0 */ addiu $s1, $s1, %lo(D_8024F8C0)
.L8024D3D8:
/* 140718 8024D3D8 0220282D */ daddu $a1, $s1, $zero
/* 14071C 8024D3DC 8E240000 */ lw $a0, ($s1)
/* 140720 8024D3E0 26310010 */ addiu $s1, $s1, 0x10
/* 140724 8024D3E4 0C0B783B */ jal spr_load_npc_sprite
/* 140728 8024D3E8 26100001 */ addiu $s0, $s0, 1
/* 14072C 8024D3EC AE420000 */ sw $v0, ($s2)
/* 140730 8024D3F0 2A020007 */ slti $v0, $s0, 7
/* 140734 8024D3F4 1440FFF8 */ bnez $v0, .L8024D3D8
/* 140738 8024D3F8 26520004 */ addiu $s2, $s2, 4
/* 14073C 8024D3FC 24100001 */ addiu $s0, $zero, 1
/* 140740 8024D400 3C028025 */ lui $v0, %hi(D_8024F9EC)
/* 140744 8024D404 2442F9EC */ addiu $v0, $v0, %lo(D_8024F9EC)
.L8024D408:
/* 140748 8024D408 AC530010 */ sw $s3, 0x10($v0)
/* 14074C 8024D40C 2610FFFF */ addiu $s0, $s0, -1
/* 140750 8024D410 0601FFFD */ bgez $s0, .L8024D408
/* 140754 8024D414 2442FFDC */ addiu $v0, $v0, -0x24
/* 140758 8024D418 3C048025 */ lui $a0, %hi(D_8024F9C8)
/* 14075C 8024D41C 2484F9C8 */ addiu $a0, $a0, %lo(D_8024F9C8)
/* 140760 8024D420 0C051FCC */ jal setup_pause_menu_tab
/* 140764 8024D424 24050002 */ addiu $a1, $zero, 2
/* 140768 8024D428 24020001 */ addiu $v0, $zero, 1
/* 14076C 8024D42C A2620000 */ sb $v0, ($s3)
/* 140770 8024D430 8FBF0020 */ lw $ra, 0x20($sp)
/* 140774 8024D434 8FB3001C */ lw $s3, 0x1c($sp)
/* 140778 8024D438 8FB20018 */ lw $s2, 0x18($sp)
/* 14077C 8024D43C 8FB10014 */ lw $s1, 0x14($sp)
/* 140780 8024D440 8FB00010 */ lw $s0, 0x10($sp)
/* 140784 8024D444 03E00008 */ jr $ra
/* 140788 8024D448 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -1,62 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel pause_spirits_update
/* 140B40 8024D800 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 140B44 8024D804 AFB50024 */ sw $s5, 0x24($sp)
/* 140B48 8024D808 0080A82D */ daddu $s5, $a0, $zero
/* 140B4C 8024D80C AFBF0028 */ sw $ra, 0x28($sp)
/* 140B50 8024D810 AFB40020 */ sw $s4, 0x20($sp)
/* 140B54 8024D814 AFB3001C */ sw $s3, 0x1c($sp)
/* 140B58 8024D818 AFB20018 */ sw $s2, 0x18($sp)
/* 140B5C 8024D81C AFB10014 */ sw $s1, 0x14($sp)
/* 140B60 8024D820 0C039D59 */ jal get_player_data
/* 140B64 8024D824 AFB00010 */ sw $s0, 0x10($sp)
/* 140B68 8024D828 0000902D */ daddu $s2, $zero, $zero
/* 140B6C 8024D82C 3C038027 */ lui $v1, %hi(D_802706FC)
/* 140B70 8024D830 8C6306FC */ lw $v1, %lo(D_802706FC)($v1)
/* 140B74 8024D834 1860001F */ blez $v1, .L8024D8B4
/* 140B78 8024D838 0040982D */ daddu $s3, $v0, $zero
/* 140B7C 8024D83C 24140005 */ addiu $s4, $zero, 5
/* 140B80 8024D840 3C118025 */ lui $s1, %hi(D_8024F8C0)
/* 140B84 8024D844 2631F8C0 */ addiu $s1, $s1, %lo(D_8024F8C0)
/* 140B88 8024D848 3C108027 */ lui $s0, %hi(D_802706C0)
/* 140B8C 8024D84C 261006C0 */ addiu $s0, $s0, %lo(D_802706C0)
.L8024D850:
/* 140B90 8024D850 8262028E */ lb $v0, 0x28e($s3)
/* 140B94 8024D854 0242102A */ slt $v0, $s2, $v0
/* 140B98 8024D858 1040000B */ beqz $v0, .L8024D888
/* 140B9C 8024D85C 00000000 */ nop
/* 140BA0 8024D860 3C028027 */ lui $v0, %hi(gPauseMenuCurrentTab)
/* 140BA4 8024D864 804200D4 */ lb $v0, %lo(gPauseMenuCurrentTab)($v0)
/* 140BA8 8024D868 14540007 */ bne $v0, $s4, .L8024D888
/* 140BAC 8024D86C 00000000 */ nop
/* 140BB0 8024D870 92A20003 */ lbu $v0, 3($s5)
/* 140BB4 8024D874 16420004 */ bne $s2, $v0, .L8024D888
/* 140BB8 8024D878 00000000 */ nop
/* 140BBC 8024D87C 8E040000 */ lw $a0, ($s0)
/* 140BC0 8024D880 08093624 */ j .L8024D890
/* 140BC4 8024D884 8E250004 */ lw $a1, 4($s1)
.L8024D888:
/* 140BC8 8024D888 8E040000 */ lw $a0, ($s0)
/* 140BCC 8024D88C 8E250000 */ lw $a1, ($s1)
.L8024D890:
/* 140BD0 8024D890 3C063F80 */ lui $a2, 0x3f80
/* 140BD4 8024D894 0C0B78AB */ jal spr_update_sprite
/* 140BD8 8024D898 26310010 */ addiu $s1, $s1, 0x10
/* 140BDC 8024D89C 3C028027 */ lui $v0, %hi(D_802706FC)
/* 140BE0 8024D8A0 8C4206FC */ lw $v0, %lo(D_802706FC)($v0)
/* 140BE4 8024D8A4 26520001 */ addiu $s2, $s2, 1
/* 140BE8 8024D8A8 0242102A */ slt $v0, $s2, $v0
/* 140BEC 8024D8AC 1440FFE8 */ bnez $v0, .L8024D850
/* 140BF0 8024D8B0 26100004 */ addiu $s0, $s0, 4
.L8024D8B4:
/* 140BF4 8024D8B4 8FBF0028 */ lw $ra, 0x28($sp)
/* 140BF8 8024D8B8 8FB50024 */ lw $s5, 0x24($sp)
/* 140BFC 8024D8BC 8FB40020 */ lw $s4, 0x20($sp)
/* 140C00 8024D8C0 8FB3001C */ lw $s3, 0x1c($sp)
/* 140C04 8024D8C4 8FB20018 */ lw $s2, 0x18($sp)
/* 140C08 8024D8C8 8FB10014 */ lw $s1, 0x14($sp)
/* 140C0C 8024D8CC 8FB00010 */ lw $s0, 0x10($sp)
/* 140C10 8024D8D0 03E00008 */ jr $ra
/* 140C14 8024D8D4 27BD0030 */ addiu $sp, $sp, 0x30

View File

@ -1,9 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel pause_get_menu_msg
/* 1421C0 8024EE80 00042080 */ sll $a0, $a0, 2
/* 1421C4 8024EE84 3C028027 */ lui $v0, %hi(gPauseMenuMsgs)
/* 1421C8 8024EE88 00441021 */ addu $v0, $v0, $a0
/* 1421CC 8024EE8C 03E00008 */ jr $ra
/* 1421D0 8024EE90 8C42F778 */ lw $v0, %lo(gPauseMenuMsgs)($v0)

View File

@ -1,780 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel pause_items_draw_contents
/* 13CCB0 80249970 27BDFF58 */ addiu $sp, $sp, -0xa8
/* 13CCB4 80249974 3C038027 */ lui $v1, %hi(gItemMenuCurrentPage)
/* 13CCB8 80249978 8C6304C8 */ lw $v1, %lo(gItemMenuCurrentPage)($v1)
/* 13CCBC 8024997C 240A0001 */ addiu $t2, $zero, 1
/* 13CCC0 80249980 AFA500AC */ sw $a1, 0xac($sp)
/* 13CCC4 80249984 AFAA0060 */ sw $t2, 0x60($sp)
/* 13CCC8 80249988 8FAA00AC */ lw $t2, 0xac($sp)
/* 13CCCC 8024998C AFA600B0 */ sw $a2, 0xb0($sp)
/* 13CCD0 80249990 AFA700B4 */ sw $a3, 0xb4($sp)
/* 13CCD4 80249994 8FA700B0 */ lw $a3, 0xb0($sp)
/* 13CCD8 80249998 240B000A */ addiu $t3, $zero, 0xa
/* 13CCDC 8024999C AFAB0064 */ sw $t3, 0x64($sp)
/* 13CCE0 802499A0 8FAB00B4 */ lw $t3, 0xb4($sp)
/* 13CCE4 802499A4 AFBF00A4 */ sw $ra, 0xa4($sp)
/* 13CCE8 802499A8 AFBE00A0 */ sw $fp, 0xa0($sp)
/* 13CCEC 802499AC AFB7009C */ sw $s7, 0x9c($sp)
/* 13CCF0 802499B0 AFB60098 */ sw $s6, 0x98($sp)
/* 13CCF4 802499B4 AFB50094 */ sw $s5, 0x94($sp)
/* 13CCF8 802499B8 AFB40090 */ sw $s4, 0x90($sp)
/* 13CCFC 802499BC AFB3008C */ sw $s3, 0x8c($sp)
/* 13CD00 802499C0 AFB20088 */ sw $s2, 0x88($sp)
/* 13CD04 802499C4 AFB10084 */ sw $s1, 0x84($sp)
/* 13CD08 802499C8 AFB00080 */ sw $s0, 0x80($sp)
/* 13CD0C 802499CC 25460044 */ addiu $a2, $t2, 0x44
/* 13CD10 802499D0 00031040 */ sll $v0, $v1, 1
/* 13CD14 802499D4 00431021 */ addu $v0, $v0, $v1
/* 13CD18 802499D8 00021080 */ sll $v0, $v0, 2
/* 13CD1C 802499DC 3C088027 */ lui $t0, %hi(D_802704D2)
/* 13CD20 802499E0 01024021 */ addu $t0, $t0, $v0
/* 13CD24 802499E4 910804D2 */ lbu $t0, %lo(D_802704D2)($t0)
/* 13CD28 802499E8 8FAA00B8 */ lw $t2, 0xb8($sp)
/* 13CD2C 802499EC 2562FFBC */ addiu $v0, $t3, -0x44
/* 13CD30 802499F0 AFA20014 */ sw $v0, 0x14($sp)
/* 13CD34 802499F4 240200FF */ addiu $v0, $zero, 0xff
/* 13CD38 802499F8 AFA00010 */ sw $zero, 0x10($sp)
/* 13CD3C 802499FC AFA2001C */ sw $v0, 0x1c($sp)
/* 13CD40 80249A00 AFA00020 */ sw $zero, 0x20($sp)
/* 13CD44 80249A04 AFA00024 */ sw $zero, 0x24($sp)
/* 13CD48 80249A08 AFA00028 */ sw $zero, 0x28($sp)
/* 13CD4C 80249A0C AFA0002C */ sw $zero, 0x2c($sp)
/* 13CD50 80249A10 AFA00030 */ sw $zero, 0x30($sp)
/* 13CD54 80249A14 AFA00034 */ sw $zero, 0x34($sp)
/* 13CD58 80249A18 AFA00038 */ sw $zero, 0x38($sp)
/* 13CD5C 80249A1C AFA0003C */ sw $zero, 0x3c($sp)
/* 13CD60 80249A20 AFAA0018 */ sw $t2, 0x18($sp)
/* 13CD64 80249A24 AFA00040 */ sw $zero, 0x40($sp)
/* 13CD68 80249A28 3C038027 */ lui $v1, %hi(gItemMenuSelectedIndex)
/* 13CD6C 80249A2C 8C6305C0 */ lw $v1, %lo(gItemMenuSelectedIndex)($v1)
/* 13CD70 80249A30 15000002 */ bnez $t0, .L80249A3C
/* 13CD74 80249A34 0068001A */ div $zero, $v1, $t0
/* 13CD78 80249A38 0007000D */ break 7
.L80249A3C:
/* 13CD7C 80249A3C 2401FFFF */ addiu $at, $zero, -1
/* 13CD80 80249A40 15010004 */ bne $t0, $at, .L80249A54
/* 13CD84 80249A44 3C018000 */ lui $at, 0x8000
/* 13CD88 80249A48 14610002 */ bne $v1, $at, .L80249A54
/* 13CD8C 80249A4C 00000000 */ nop
/* 13CD90 80249A50 0006000D */ break 6
.L80249A54:
/* 13CD94 80249A54 00005012 */ mflo $t2
/* 13CD98 80249A58 00005810 */ mfhi $t3
/* 13CD9C 80249A5C 24040004 */ addiu $a0, $zero, 4
/* 13CDA0 80249A60 3C058027 */ lui $a1, %hi(D_8026FCF0)
/* 13CDA4 80249A64 24A5FCF0 */ addiu $a1, $a1, %lo(D_8026FCF0)
/* 13CDA8 80249A68 24020140 */ addiu $v0, $zero, 0x140
/* 13CDAC 80249A6C AFA20044 */ sw $v0, 0x44($sp)
/* 13CDB0 80249A70 240200F0 */ addiu $v0, $zero, 0xf0
/* 13CDB4 80249A74 AFA20048 */ sw $v0, 0x48($sp)
/* 13CDB8 80249A78 AFA0004C */ sw $zero, 0x4c($sp)
/* 13CDBC 80249A7C AFAA005C */ sw $t2, 0x5c($sp)
/* 13CDC0 80249A80 0C03D4B8 */ jal draw_box
/* 13CDC4 80249A84 AFAB0058 */ sw $t3, 0x58($sp)
/* 13CDC8 80249A88 3C108027 */ lui $s0, %hi(gItemMenuPages)
/* 13CDCC 80249A8C 261004D0 */ addiu $s0, $s0, %lo(gItemMenuPages)
/* 13CDD0 80249A90 8FAB00B0 */ lw $t3, 0xb0($sp)
/* 13CDD4 80249A94 8FAA00AC */ lw $t2, 0xac($sp)
/* 13CDD8 80249A98 25660007 */ addiu $a2, $t3, 7
/* 13CDDC 80249A9C 8FAB00B4 */ lw $t3, 0xb4($sp)
/* 13CDE0 80249AA0 25440001 */ addiu $a0, $t2, 1
/* 13CDE4 80249AA4 014B1021 */ addu $v0, $t2, $t3
/* 13CDE8 80249AA8 8FAA00B0 */ lw $t2, 0xb0($sp)
/* 13CDEC 80249AAC 8FAB00B8 */ lw $t3, 0xb8($sp)
/* 13CDF0 80249AB0 2447FFFF */ addiu $a3, $v0, -1
/* 13CDF4 80249AB4 014B1021 */ addu $v0, $t2, $t3
/* 13CDF8 80249AB8 1C800002 */ bgtz $a0, .L80249AC4
/* 13CDFC 80249ABC 2448FFF9 */ addiu $t0, $v0, -7
/* 13CE00 80249AC0 24040001 */ addiu $a0, $zero, 1
.L80249AC4:
/* 13CE04 80249AC4 58C00001 */ blezl $a2, .L80249ACC
/* 13CE08 80249AC8 24060001 */ addiu $a2, $zero, 1
.L80249ACC:
/* 13CE0C 80249ACC 18E00277 */ blez $a3, .L8024A4AC
/* 13CE10 80249AD0 00000000 */ nop
/* 13CE14 80249AD4 19000275 */ blez $t0, .L8024A4AC
/* 13CE18 80249AD8 2882013F */ slti $v0, $a0, 0x13f
/* 13CE1C 80249ADC 10400273 */ beqz $v0, .L8024A4AC
/* 13CE20 80249AE0 28C200EF */ slti $v0, $a2, 0xef
/* 13CE24 80249AE4 10400271 */ beqz $v0, .L8024A4AC
/* 13CE28 80249AE8 28E2013F */ slti $v0, $a3, 0x13f
/* 13CE2C 80249AEC 50400001 */ beql $v0, $zero, .L80249AF4
/* 13CE30 80249AF0 2407013F */ addiu $a3, $zero, 0x13f
.L80249AF4:
/* 13CE34 80249AF4 290200EF */ slti $v0, $t0, 0xef
/* 13CE38 80249AF8 50400001 */ beql $v0, $zero, .L80249B00
/* 13CE3C 80249AFC 240800EF */ addiu $t0, $zero, 0xef
.L80249B00:
/* 13CE40 80249B00 3C03800A */ lui $v1, %hi(gMasterGfxPos)
/* 13CE44 80249B04 2463A66C */ addiu $v1, $v1, %lo(gMasterGfxPos)
/* 13CE48 80249B08 44841000 */ mtc1 $a0, $f2
/* 13CE4C 80249B0C 00000000 */ nop
/* 13CE50 80249B10 468010A0 */ cvt.s.w $f2, $f2
/* 13CE54 80249B14 44860000 */ mtc1 $a2, $f0
/* 13CE58 80249B18 00000000 */ nop
/* 13CE5C 80249B1C 46800020 */ cvt.s.w $f0, $f0
/* 13CE60 80249B20 8FAA00AC */ lw $t2, 0xac($sp)
/* 13CE64 80249B24 8FAB00B0 */ lw $t3, 0xb0($sp)
/* 13CE68 80249B28 3C014080 */ lui $at, 0x4080
/* 13CE6C 80249B2C 44812000 */ mtc1 $at, $f4
/* 13CE70 80249B30 3C04ED00 */ lui $a0, 0xed00
/* 13CE74 80249B34 AFA00054 */ sw $zero, 0x54($sp)
/* 13CE78 80249B38 AFA00050 */ sw $zero, 0x50($sp)
/* 13CE7C 80249B3C 254A0077 */ addiu $t2, $t2, 0x77
/* 13CE80 80249B40 46041082 */ mul.s $f2, $f2, $f4
/* 13CE84 80249B44 00000000 */ nop
/* 13CE88 80249B48 256B0011 */ addiu $t3, $t3, 0x11
/* 13CE8C 80249B4C AFAA006C */ sw $t2, 0x6c($sp)
/* 13CE90 80249B50 AFAB0070 */ sw $t3, 0x70($sp)
/* 13CE94 80249B54 8C620000 */ lw $v0, ($v1)
/* 13CE98 80249B58 46040002 */ mul.s $f0, $f0, $f4
/* 13CE9C 80249B5C 00000000 */ nop
/* 13CEA0 80249B60 0040282D */ daddu $a1, $v0, $zero
/* 13CEA4 80249B64 24420008 */ addiu $v0, $v0, 8
/* 13CEA8 80249B68 AC620000 */ sw $v0, ($v1)
/* 13CEAC 80249B6C 4600118D */ trunc.w.s $f6, $f2
/* 13CEB0 80249B70 44023000 */ mfc1 $v0, $f6
/* 13CEB4 80249B74 00000000 */ nop
/* 13CEB8 80249B78 30420FFF */ andi $v0, $v0, 0xfff
/* 13CEBC 80249B7C 00021300 */ sll $v0, $v0, 0xc
/* 13CEC0 80249B80 4600018D */ trunc.w.s $f6, $f0
/* 13CEC4 80249B84 44033000 */ mfc1 $v1, $f6
/* 13CEC8 80249B88 44871000 */ mtc1 $a3, $f2
/* 13CECC 80249B8C 00000000 */ nop
/* 13CED0 80249B90 468010A0 */ cvt.s.w $f2, $f2
/* 13CED4 80249B94 46041082 */ mul.s $f2, $f2, $f4
/* 13CED8 80249B98 00000000 */ nop
/* 13CEDC 80249B9C 30630FFF */ andi $v1, $v1, 0xfff
/* 13CEE0 80249BA0 00641825 */ or $v1, $v1, $a0
/* 13CEE4 80249BA4 00431025 */ or $v0, $v0, $v1
/* 13CEE8 80249BA8 44880000 */ mtc1 $t0, $f0
/* 13CEEC 80249BAC 00000000 */ nop
/* 13CEF0 80249BB0 46800020 */ cvt.s.w $f0, $f0
/* 13CEF4 80249BB4 46040002 */ mul.s $f0, $f0, $f4
/* 13CEF8 80249BB8 00000000 */ nop
/* 13CEFC 80249BBC ACA20000 */ sw $v0, ($a1)
/* 13CF00 80249BC0 4600118D */ trunc.w.s $f6, $f2
/* 13CF04 80249BC4 44023000 */ mfc1 $v0, $f6
/* 13CF08 80249BC8 00000000 */ nop
/* 13CF0C 80249BCC 30420FFF */ andi $v0, $v0, 0xfff
/* 13CF10 80249BD0 00021300 */ sll $v0, $v0, 0xc
/* 13CF14 80249BD4 4600018D */ trunc.w.s $f6, $f0
/* 13CF18 80249BD8 44033000 */ mfc1 $v1, $f6
/* 13CF1C 80249BDC 00000000 */ nop
/* 13CF20 80249BE0 30630FFF */ andi $v1, $v1, 0xfff
/* 13CF24 80249BE4 00431025 */ or $v0, $v0, $v1
/* 13CF28 80249BE8 ACA20004 */ sw $v0, 4($a1)
.L80249BEC:
/* 13CF2C 80249BEC 0000F02D */ daddu $fp, $zero, $zero
/* 13CF30 80249BF0 3C0B8027 */ lui $t3, %hi(gItemMenuPages)
/* 13CF34 80249BF4 256B04D0 */ addiu $t3, $t3, %lo(gItemMenuPages)
/* 13CF38 80249BF8 AFAB007C */ sw $t3, 0x7c($sp)
.L80249BFC:
/* 13CF3C 80249BFC 8FAA007C */ lw $t2, 0x7c($sp)
/* 13CF40 80249C00 91420000 */ lbu $v0, ($t2)
/* 13CF44 80249C04 104000E2 */ beqz $v0, .L80249F90
/* 13CF48 80249C08 00000000 */ nop
/* 13CF4C 80249C0C 03C0202D */ daddu $a0, $fp, $zero
/* 13CF50 80249C10 0C09260A */ jal pause_items_get_pos_y
/* 13CF54 80249C14 0000282D */ daddu $a1, $zero, $zero
/* 13CF58 80249C18 8FAB007C */ lw $t3, 0x7c($sp)
/* 13CF5C 80249C1C 8D620008 */ lw $v0, 8($t3)
/* 13CF60 80249C20 184000D5 */ blez $v0, .L80249F78
/* 13CF64 80249C24 0000902D */ daddu $s2, $zero, $zero
/* 13CF68 80249C28 8FAA0054 */ lw $t2, 0x54($sp)
/* 13CF6C 80249C2C 3C0B8027 */ lui $t3, %hi(gItemIcons)
/* 13CF70 80249C30 256B05E8 */ addiu $t3, $t3, %lo(gItemIcons)
/* 13CF74 80249C34 000A1080 */ sll $v0, $t2, 2
/* 13CF78 80249C38 004B5821 */ addu $t3, $v0, $t3
/* 13CF7C 80249C3C AFAB0078 */ sw $t3, 0x78($sp)
.L80249C40:
/* 13CF80 80249C40 8FAA007C */ lw $t2, 0x7c($sp)
/* 13CF84 80249C44 3C0B8027 */ lui $t3, %hi(gItemMenuItemIDs)
/* 13CF88 80249C48 256B0400 */ addiu $t3, $t3, %lo(gItemMenuItemIDs)
/* 13CF8C 80249C4C 8D420004 */ lw $v0, 4($t2)
/* 13CF90 80249C50 24037FFF */ addiu $v1, $zero, 0x7fff
/* 13CF94 80249C54 00521021 */ addu $v0, $v0, $s2
/* 13CF98 80249C58 00021040 */ sll $v0, $v0, 1
/* 13CF9C 80249C5C 004B1021 */ addu $v0, $v0, $t3
/* 13CFA0 80249C60 84500000 */ lh $s0, ($v0)
/* 13CFA4 80249C64 94560000 */ lhu $s6, ($v0)
/* 13CFA8 80249C68 120300BD */ beq $s0, $v1, .L80249F60
/* 13CFAC 80249C6C 0000982D */ daddu $s3, $zero, $zero
/* 13CFB0 80249C70 03C0202D */ daddu $a0, $fp, $zero
/* 13CFB4 80249C74 0C0925F4 */ jal pause_items_get_pos_x
/* 13CFB8 80249C78 0240282D */ daddu $a1, $s2, $zero
/* 13CFBC 80249C7C 03C0202D */ daddu $a0, $fp, $zero
/* 13CFC0 80249C80 0240282D */ daddu $a1, $s2, $zero
/* 13CFC4 80249C84 0C09260A */ jal pause_items_get_pos_y
/* 13CFC8 80249C88 AFA20068 */ sw $v0, 0x68($sp)
/* 13CFCC 80249C8C 0040B82D */ daddu $s7, $v0, $zero
/* 13CFD0 80249C90 3A027FFE */ xori $v0, $s0, 0x7ffe
/* 13CFD4 80249C94 3C038027 */ lui $v1, %hi(gPauseMenuCurrentTab)
/* 13CFD8 80249C98 806300D4 */ lb $v1, %lo(gPauseMenuCurrentTab)($v1)
/* 13CFDC 80249C9C 2C420001 */ sltiu $v0, $v0, 1
/* 13CFE0 80249CA0 AFA20074 */ sw $v0, 0x74($sp)
/* 13CFE4 80249CA4 24020003 */ addiu $v0, $zero, 3
/* 13CFE8 80249CA8 14620012 */ bne $v1, $v0, .L80249CF4
/* 13CFEC 80249CAC 0000A02D */ daddu $s4, $zero, $zero
/* 13CFF0 80249CB0 3C028027 */ lui $v0, %hi(gItemMenuLevel)
/* 13CFF4 80249CB4 8C4205E0 */ lw $v0, %lo(gItemMenuLevel)($v0)
/* 13CFF8 80249CB8 240A0001 */ addiu $t2, $zero, 1
/* 13CFFC 80249CBC 144A000D */ bne $v0, $t2, .L80249CF4
/* 13D000 80249CC0 03C0202D */ daddu $a0, $fp, $zero
/* 13D004 80249CC4 0C092626 */ jal pause_items_get_column
/* 13D008 80249CC8 0240282D */ daddu $a1, $s2, $zero
/* 13D00C 80249CCC 8FAB0058 */ lw $t3, 0x58($sp)
/* 13D010 80249CD0 144B0008 */ bne $v0, $t3, .L80249CF4
/* 13D014 80249CD4 0000A02D */ daddu $s4, $zero, $zero
/* 13D018 80249CD8 03C0202D */ daddu $a0, $fp, $zero
/* 13D01C 80249CDC 0C092638 */ jal pause_items_get_row
/* 13D020 80249CE0 0240282D */ daddu $a1, $s2, $zero
/* 13D024 80249CE4 8FAA005C */ lw $t2, 0x5c($sp)
/* 13D028 80249CE8 004A1026 */ xor $v0, $v0, $t2
/* 13D02C 80249CEC 2C530001 */ sltiu $s3, $v0, 1
/* 13D030 80249CF0 0000A02D */ daddu $s4, $zero, $zero
.L80249CF4:
/* 13D034 80249CF4 12600003 */ beqz $s3, .L80249D04
/* 13D038 80249CF8 0280A82D */ daddu $s5, $s4, $zero
/* 13D03C 80249CFC 2414FFFF */ addiu $s4, $zero, -1
/* 13D040 80249D00 0280A82D */ daddu $s5, $s4, $zero
.L80249D04:
/* 13D044 80249D04 8FAB0050 */ lw $t3, 0x50($sp)
/* 13D048 80249D08 15600007 */ bnez $t3, .L80249D28
/* 13D04C 80249D0C 240A0001 */ addiu $t2, $zero, 1
/* 13D050 80249D10 240B000A */ addiu $t3, $zero, 0xa
/* 13D054 80249D14 AFAA0060 */ sw $t2, 0x60($sp)
/* 13D058 80249D18 12600003 */ beqz $s3, .L80249D28
/* 13D05C 80249D1C AFAB0064 */ sw $t3, 0x64($sp)
/* 13D060 80249D20 240A0009 */ addiu $t2, $zero, 9
/* 13D064 80249D24 AFAA0060 */ sw $t2, 0x60($sp)
.L80249D28:
/* 13D068 80249D28 0C09264C */ jal pause_items_is_visible
/* 13D06C 80249D2C 02E0202D */ daddu $a0, $s7, $zero
/* 13D070 80249D30 1040008B */ beqz $v0, .L80249F60
/* 13D074 80249D34 00000000 */ nop
/* 13D078 80249D38 8FAB0050 */ lw $t3, 0x50($sp)
/* 13D07C 80249D3C 15600035 */ bnez $t3, .L80249E14
/* 13D080 80249D40 00000000 */ nop
/* 13D084 80249D44 8FAA0074 */ lw $t2, 0x74($sp)
/* 13D088 80249D48 11400016 */ beqz $t2, .L80249DA4
/* 13D08C 80249D4C 00161400 */ sll $v0, $s6, 0x10
/* 13D090 80249D50 0C093BA0 */ jal pause_get_menu_msg
/* 13D094 80249D54 2404004E */ addiu $a0, $zero, 0x4e
/* 13D098 80249D58 8FA40068 */ lw $a0, 0x68($sp)
/* 13D09C 80249D5C 0C09265A */ jal pause_items_scroll_offset_x
/* 13D0A0 80249D60 0040882D */ daddu $s1, $v0, $zero
/* 13D0A4 80249D64 8FAB006C */ lw $t3, 0x6c($sp)
/* 13D0A8 80249D68 02E0202D */ daddu $a0, $s7, $zero
/* 13D0AC 80249D6C 01628021 */ addu $s0, $t3, $v0
/* 13D0B0 80249D70 0C092656 */ jal pause_items_scroll_offset_y
/* 13D0B4 80249D74 02148021 */ addu $s0, $s0, $s4
/* 13D0B8 80249D78 0220202D */ daddu $a0, $s1, $zero
/* 13D0BC 80249D7C 0200282D */ daddu $a1, $s0, $zero
/* 13D0C0 80249D80 240700FF */ addiu $a3, $zero, 0xff
/* 13D0C4 80249D84 8FAA0070 */ lw $t2, 0x70($sp)
/* 13D0C8 80249D88 8FAB0064 */ lw $t3, 0x64($sp)
/* 13D0CC 80249D8C 01421021 */ addu $v0, $t2, $v0
/* 13D0D0 80249D90 8FAA0060 */ lw $t2, 0x60($sp)
/* 13D0D4 80249D94 00553021 */ addu $a2, $v0, $s5
/* 13D0D8 80249D98 AFAB0010 */ sw $t3, 0x10($sp)
/* 13D0DC 80249D9C 08092783 */ j .L80249E0C
/* 13D0E0 80249DA0 AFAA0014 */ sw $t2, 0x14($sp)
.L80249DA4:
/* 13D0E4 80249DA4 000212C3 */ sra $v0, $v0, 0xb
/* 13D0E8 80249DA8 3C0B8008 */ lui $t3, %hi(gItemTable)
/* 13D0EC 80249DAC 256B78E0 */ addiu $t3, $t3, %lo(gItemTable)
/* 13D0F0 80249DB0 004B8821 */ addu $s1, $v0, $t3
/* 13D0F4 80249DB4 8E220000 */ lw $v0, ($s1)
/* 13D0F8 80249DB8 10400016 */ beqz $v0, .L80249E14
/* 13D0FC 80249DBC 00000000 */ nop
/* 13D100 80249DC0 18400014 */ blez $v0, .L80249E14
/* 13D104 80249DC4 00000000 */ nop
/* 13D108 80249DC8 0C09265A */ jal pause_items_scroll_offset_x
/* 13D10C 80249DCC 8FA40068 */ lw $a0, 0x68($sp)
/* 13D110 80249DD0 8FAA006C */ lw $t2, 0x6c($sp)
/* 13D114 80249DD4 02E0202D */ daddu $a0, $s7, $zero
/* 13D118 80249DD8 01428021 */ addu $s0, $t2, $v0
/* 13D11C 80249DDC 0C092656 */ jal pause_items_scroll_offset_y
/* 13D120 80249DE0 02148021 */ addu $s0, $s0, $s4
/* 13D124 80249DE4 0200282D */ daddu $a1, $s0, $zero
/* 13D128 80249DE8 8FAB0070 */ lw $t3, 0x70($sp)
/* 13D12C 80249DEC 8FAA0064 */ lw $t2, 0x64($sp)
/* 13D130 80249DF0 01621021 */ addu $v0, $t3, $v0
/* 13D134 80249DF4 8FAB0060 */ lw $t3, 0x60($sp)
/* 13D138 80249DF8 240700FF */ addiu $a3, $zero, 0xff
/* 13D13C 80249DFC AFAA0010 */ sw $t2, 0x10($sp)
/* 13D140 80249E00 AFAB0014 */ sw $t3, 0x14($sp)
/* 13D144 80249E04 8E240000 */ lw $a0, ($s1)
/* 13D148 80249E08 00553021 */ addu $a2, $v0, $s5
.L80249E0C:
/* 13D14C 80249E0C 0C04993B */ jal draw_msg
/* 13D150 80249E10 00000000 */ nop
.L80249E14:
/* 13D154 80249E14 8FAA0050 */ lw $t2, 0x50($sp)
/* 13D158 80249E18 240B0001 */ addiu $t3, $zero, 1
/* 13D15C 80249E1C 154B0050 */ bne $t2, $t3, .L80249F60
/* 13D160 80249E20 3C052000 */ lui $a1, 0x2000
/* 13D164 80249E24 8FAA0078 */ lw $t2, 0x78($sp)
/* 13D168 80249E28 8D510000 */ lw $s1, ($t2)
/* 13D16C 80249E2C 0C05128B */ jal clear_hud_element_flags
/* 13D170 80249E30 0220202D */ daddu $a0, $s1, $zero
/* 13D174 80249E34 0220202D */ daddu $a0, $s1, $zero
/* 13D178 80249E38 0C051280 */ jal set_hud_element_flags
/* 13D17C 80249E3C 34058000 */ ori $a1, $zero, 0x8000
/* 13D180 80249E40 8FAB0074 */ lw $t3, 0x74($sp)
/* 13D184 80249E44 11600005 */ beqz $t3, .L80249E5C
/* 13D188 80249E48 00000000 */ nop
/* 13D18C 80249E4C 3C118027 */ lui $s1, %hi(D_80270634)
/* 13D190 80249E50 8E310634 */ lw $s1, %lo(D_80270634)($s1)
/* 13D194 80249E54 080927B9 */ j .L80249EE4
/* 13D198 80249E58 00000000 */ nop
.L80249E5C:
/* 13D19C 80249E5C 12600010 */ beqz $s3, .L80249EA0
/* 13D1A0 80249E60 0220202D */ daddu $a0, $s1, $zero
/* 13D1A4 80249E64 0C051280 */ jal set_hud_element_flags
/* 13D1A8 80249E68 3C052000 */ lui $a1, 0x2000
/* 13D1AC 80249E6C 00161400 */ sll $v0, $s6, 0x10
/* 13D1B0 80249E70 000212C3 */ sra $v0, $v0, 0xb
/* 13D1B4 80249E74 3C0A8008 */ lui $t2, %hi(gItemTable)
/* 13D1B8 80249E78 254A78E0 */ addiu $t2, $t2, %lo(gItemTable)
/* 13D1BC 80249E7C 004A1021 */ addu $v0, $v0, $t2
/* 13D1C0 80249E80 84420004 */ lh $v0, 4($v0)
/* 13D1C4 80249E84 3C0B8009 */ lui $t3, %hi(gItemHudScripts)
/* 13D1C8 80249E88 256BA680 */ addiu $t3, $t3, %lo(gItemHudScripts)
/* 13D1CC 80249E8C 000210C0 */ sll $v0, $v0, 3
/* 13D1D0 80249E90 004B1021 */ addu $v0, $v0, $t3
/* 13D1D4 80249E94 8C420000 */ lw $v0, ($v0)
/* 13D1D8 80249E98 3C018027 */ lui $at, %hi(gPauseMenuCurrentDescIconScript)
/* 13D1DC 80249E9C AC2200CC */ sw $v0, %lo(gPauseMenuCurrentDescIconScript)($at)
.L80249EA0:
/* 13D1E0 80249EA0 00161400 */ sll $v0, $s6, 0x10
/* 13D1E4 80249EA4 000212C3 */ sra $v0, $v0, 0xb
/* 13D1E8 80249EA8 3C0A8008 */ lui $t2, %hi(gItemTable)
/* 13D1EC 80249EAC 254A78E0 */ addiu $t2, $t2, %lo(gItemTable)
/* 13D1F0 80249EB0 004A1021 */ addu $v0, $v0, $t2
/* 13D1F4 80249EB4 84420004 */ lh $v0, 4($v0)
/* 13D1F8 80249EB8 3C0B8009 */ lui $t3, %hi(gItemHudScripts)
/* 13D1FC 80249EBC 256BA680 */ addiu $t3, $t3, %lo(gItemHudScripts)
/* 13D200 80249EC0 000210C0 */ sll $v0, $v0, 3
/* 13D204 80249EC4 004B1021 */ addu $v0, $v0, $t3
/* 13D208 80249EC8 8C450000 */ lw $a1, ($v0)
/* 13D20C 80249ECC 0C0511FF */ jal set_hud_element_anim
/* 13D210 80249ED0 0220202D */ daddu $a0, $s1, $zero
/* 13D214 80249ED4 3C053F2B */ lui $a1, 0x3f2b
/* 13D218 80249ED8 34A5BA99 */ ori $a1, $a1, 0xba99
/* 13D21C 80249EDC 0C051308 */ jal set_hud_element_scale
/* 13D220 80249EE0 0220202D */ daddu $a0, $s1, $zero
.L80249EE4:
/* 13D224 80249EE4 8FA40068 */ lw $a0, 0x68($sp)
/* 13D228 80249EE8 0C09265A */ jal pause_items_scroll_offset_x
/* 13D22C 80249EEC 00000000 */ nop
/* 13D230 80249EF0 02E0202D */ daddu $a0, $s7, $zero
/* 13D234 80249EF4 8FAA00AC */ lw $t2, 0xac($sp)
/* 13D238 80249EF8 24500069 */ addiu $s0, $v0, 0x69
/* 13D23C 80249EFC 01508021 */ addu $s0, $t2, $s0
/* 13D240 80249F00 0C092656 */ jal pause_items_scroll_offset_y
/* 13D244 80249F04 02148021 */ addu $s0, $s0, $s4
/* 13D248 80249F08 0220202D */ daddu $a0, $s1, $zero
/* 13D24C 80249F0C 0200282D */ daddu $a1, $s0, $zero
/* 13D250 80249F10 8FAB00B0 */ lw $t3, 0xb0($sp)
/* 13D254 80249F14 24420017 */ addiu $v0, $v0, 0x17
/* 13D258 80249F18 01621021 */ addu $v0, $t3, $v0
/* 13D25C 80249F1C 0C051261 */ jal set_hud_element_render_pos
/* 13D260 80249F20 00553021 */ addu $a2, $v0, $s5
/* 13D264 80249F24 8FAA0054 */ lw $t2, 0x54($sp)
/* 13D268 80249F28 15400005 */ bnez $t2, .L80249F40
/* 13D26C 80249F2C 00000000 */ nop
/* 13D270 80249F30 0C0511F8 */ jal draw_hud_element_3
/* 13D274 80249F34 0220202D */ daddu $a0, $s1, $zero
/* 13D278 80249F38 080927D2 */ j .L80249F48
/* 13D27C 80249F3C 00000000 */ nop
.L80249F40:
/* 13D280 80249F40 0C0511F1 */ jal draw_hud_element_2
/* 13D284 80249F44 0220202D */ daddu $a0, $s1, $zero
.L80249F48:
/* 13D288 80249F48 8FAB0078 */ lw $t3, 0x78($sp)
/* 13D28C 80249F4C 8FAA0054 */ lw $t2, 0x54($sp)
/* 13D290 80249F50 256B0004 */ addiu $t3, $t3, 4
/* 13D294 80249F54 254A0001 */ addiu $t2, $t2, 1
/* 13D298 80249F58 AFAB0078 */ sw $t3, 0x78($sp)
/* 13D29C 80249F5C AFAA0054 */ sw $t2, 0x54($sp)
.L80249F60:
/* 13D2A0 80249F60 8FAB007C */ lw $t3, 0x7c($sp)
/* 13D2A4 80249F64 8D620008 */ lw $v0, 8($t3)
/* 13D2A8 80249F68 26520001 */ addiu $s2, $s2, 1
/* 13D2AC 80249F6C 0242102A */ slt $v0, $s2, $v0
/* 13D2B0 80249F70 1440FF33 */ bnez $v0, .L80249C40
/* 13D2B4 80249F74 00000000 */ nop
.L80249F78:
/* 13D2B8 80249F78 27DE0001 */ addiu $fp, $fp, 1
/* 13D2BC 80249F7C 8FAA007C */ lw $t2, 0x7c($sp)
/* 13D2C0 80249F80 2BC20014 */ slti $v0, $fp, 0x14
/* 13D2C4 80249F84 254A000C */ addiu $t2, $t2, 0xc
/* 13D2C8 80249F88 1440FF1C */ bnez $v0, .L80249BFC
/* 13D2CC 80249F8C AFAA007C */ sw $t2, 0x7c($sp)
.L80249F90:
/* 13D2D0 80249F90 8FAB0050 */ lw $t3, 0x50($sp)
/* 13D2D4 80249F94 256B0001 */ addiu $t3, $t3, 1
/* 13D2D8 80249F98 29620003 */ slti $v0, $t3, 3
/* 13D2DC 80249F9C 1440FF13 */ bnez $v0, .L80249BEC
/* 13D2E0 80249FA0 AFAB0050 */ sw $t3, 0x50($sp)
/* 13D2E4 80249FA4 3C09800A */ lui $t1, %hi(gMasterGfxPos)
/* 13D2E8 80249FA8 2529A66C */ addiu $t1, $t1, %lo(gMasterGfxPos)
/* 13D2EC 80249FAC 8FAA00AC */ lw $t2, 0xac($sp)
/* 13D2F0 80249FB0 8FAB00B0 */ lw $t3, 0xb0($sp)
/* 13D2F4 80249FB4 8D250000 */ lw $a1, ($t1)
/* 13D2F8 80249FB8 25440001 */ addiu $a0, $t2, 1
/* 13D2FC 80249FBC 25660001 */ addiu $a2, $t3, 1
/* 13D300 80249FC0 00A0182D */ daddu $v1, $a1, $zero
/* 13D304 80249FC4 8FAB00B4 */ lw $t3, 0xb4($sp)
/* 13D308 80249FC8 24A50008 */ addiu $a1, $a1, 8
/* 13D30C 80249FCC 014B1021 */ addu $v0, $t2, $t3
/* 13D310 80249FD0 8FAA00B0 */ lw $t2, 0xb0($sp)
/* 13D314 80249FD4 8FAB00B8 */ lw $t3, 0xb8($sp)
/* 13D318 80249FD8 2447FFFF */ addiu $a3, $v0, -1
/* 13D31C 80249FDC 014B1021 */ addu $v0, $t2, $t3
/* 13D320 80249FE0 2448FFFF */ addiu $t0, $v0, -1
/* 13D324 80249FE4 3C02E700 */ lui $v0, 0xe700
/* 13D328 80249FE8 AD250000 */ sw $a1, ($t1)
/* 13D32C 80249FEC AC620000 */ sw $v0, ($v1)
/* 13D330 80249FF0 1C800002 */ bgtz $a0, .L80249FFC
/* 13D334 80249FF4 AC600004 */ sw $zero, 4($v1)
/* 13D338 80249FF8 24040001 */ addiu $a0, $zero, 1
.L80249FFC:
/* 13D33C 80249FFC 58C00001 */ blezl $a2, .L8024A004
/* 13D340 8024A000 24060001 */ addiu $a2, $zero, 1
.L8024A004:
/* 13D344 8024A004 18E00129 */ blez $a3, .L8024A4AC
/* 13D348 8024A008 00000000 */ nop
/* 13D34C 8024A00C 19000127 */ blez $t0, .L8024A4AC
/* 13D350 8024A010 2882013F */ slti $v0, $a0, 0x13f
/* 13D354 8024A014 10400125 */ beqz $v0, .L8024A4AC
/* 13D358 8024A018 28C200EF */ slti $v0, $a2, 0xef
/* 13D35C 8024A01C 10400123 */ beqz $v0, .L8024A4AC
/* 13D360 8024A020 28E2013F */ slti $v0, $a3, 0x13f
/* 13D364 8024A024 50400001 */ beql $v0, $zero, .L8024A02C
/* 13D368 8024A028 2407013F */ addiu $a3, $zero, 0x13f
.L8024A02C:
/* 13D36C 8024A02C 290200EF */ slti $v0, $t0, 0xef
/* 13D370 8024A030 50400001 */ beql $v0, $zero, .L8024A038
/* 13D374 8024A034 240800EF */ addiu $t0, $zero, 0xef
.L8024A038:
/* 13D378 8024A038 3C014080 */ lui $at, 0x4080
/* 13D37C 8024A03C 44812000 */ mtc1 $at, $f4
/* 13D380 8024A040 44840000 */ mtc1 $a0, $f0
/* 13D384 8024A044 00000000 */ nop
/* 13D388 8024A048 46800020 */ cvt.s.w $f0, $f0
/* 13D38C 8024A04C 46040002 */ mul.s $f0, $f0, $f4
/* 13D390 8024A050 00000000 */ nop
/* 13D394 8024A054 24A20008 */ addiu $v0, $a1, 8
/* 13D398 8024A058 44861000 */ mtc1 $a2, $f2
/* 13D39C 8024A05C 00000000 */ nop
/* 13D3A0 8024A060 468010A0 */ cvt.s.w $f2, $f2
/* 13D3A4 8024A064 3C04ED00 */ lui $a0, 0xed00
/* 13D3A8 8024A068 46041082 */ mul.s $f2, $f2, $f4
/* 13D3AC 8024A06C 00000000 */ nop
/* 13D3B0 8024A070 AD220000 */ sw $v0, ($t1)
/* 13D3B4 8024A074 4600018D */ trunc.w.s $f6, $f0
/* 13D3B8 8024A078 44023000 */ mfc1 $v0, $f6
/* 13D3BC 8024A07C 00000000 */ nop
/* 13D3C0 8024A080 30420FFF */ andi $v0, $v0, 0xfff
/* 13D3C4 8024A084 00021300 */ sll $v0, $v0, 0xc
/* 13D3C8 8024A088 4600118D */ trunc.w.s $f6, $f2
/* 13D3CC 8024A08C 44033000 */ mfc1 $v1, $f6
/* 13D3D0 8024A090 44871000 */ mtc1 $a3, $f2
/* 13D3D4 8024A094 00000000 */ nop
/* 13D3D8 8024A098 468010A0 */ cvt.s.w $f2, $f2
/* 13D3DC 8024A09C 46041082 */ mul.s $f2, $f2, $f4
/* 13D3E0 8024A0A0 00000000 */ nop
/* 13D3E4 8024A0A4 30630FFF */ andi $v1, $v1, 0xfff
/* 13D3E8 8024A0A8 00641825 */ or $v1, $v1, $a0
/* 13D3EC 8024A0AC 00431025 */ or $v0, $v0, $v1
/* 13D3F0 8024A0B0 44880000 */ mtc1 $t0, $f0
/* 13D3F4 8024A0B4 00000000 */ nop
/* 13D3F8 8024A0B8 46800020 */ cvt.s.w $f0, $f0
/* 13D3FC 8024A0BC 46040002 */ mul.s $f0, $f0, $f4
/* 13D400 8024A0C0 00000000 */ nop
/* 13D404 8024A0C4 ACA20000 */ sw $v0, ($a1)
/* 13D408 8024A0C8 4600118D */ trunc.w.s $f6, $f2
/* 13D40C 8024A0CC 44023000 */ mfc1 $v0, $f6
/* 13D410 8024A0D0 00000000 */ nop
/* 13D414 8024A0D4 30420FFF */ andi $v0, $v0, 0xfff
/* 13D418 8024A0D8 00021300 */ sll $v0, $v0, 0xc
/* 13D41C 8024A0DC 4600018D */ trunc.w.s $f6, $f0
/* 13D420 8024A0E0 44033000 */ mfc1 $v1, $f6
/* 13D424 8024A0E4 00000000 */ nop
/* 13D428 8024A0E8 30630FFF */ andi $v1, $v1, 0xfff
/* 13D42C 8024A0EC 00431025 */ or $v0, $v0, $v1
/* 13D430 8024A0F0 3C038027 */ lui $v1, %hi(gPauseMenuCurrentTab)
/* 13D434 8024A0F4 806300D4 */ lb $v1, %lo(gPauseMenuCurrentTab)($v1)
/* 13D438 8024A0F8 ACA20004 */ sw $v0, 4($a1)
/* 13D43C 8024A0FC 24020003 */ addiu $v0, $zero, 3
/* 13D440 8024A100 1462002A */ bne $v1, $v0, .L8024A1AC
/* 13D444 8024A104 24020001 */ addiu $v0, $zero, 1
/* 13D448 8024A108 3C038027 */ lui $v1, %hi(gItemMenuLevel)
/* 13D44C 8024A10C 8C6305E0 */ lw $v1, %lo(gItemMenuLevel)($v1)
/* 13D450 8024A110 14620026 */ bne $v1, $v0, .L8024A1AC
/* 13D454 8024A114 00000000 */ nop
/* 13D458 8024A118 3C118027 */ lui $s1, %hi(gItemMenuCurrentPage)
/* 13D45C 8024A11C 263104C8 */ addiu $s1, $s1, %lo(gItemMenuCurrentPage)
/* 13D460 8024A120 8E220000 */ lw $v0, ($s1)
/* 13D464 8024A124 1840000E */ blez $v0, .L8024A160
/* 13D468 8024A128 24420001 */ addiu $v0, $v0, 1
/* 13D46C 8024A12C 3C108027 */ lui $s0, %hi(gItemIcons)
/* 13D470 8024A130 261005E8 */ addiu $s0, $s0, %lo(gItemIcons)
/* 13D474 8024A134 8FAB00AC */ lw $t3, 0xac($sp)
/* 13D478 8024A138 8E040040 */ lw $a0, 0x40($s0)
/* 13D47C 8024A13C 8FAA00B0 */ lw $t2, 0xb0($sp)
/* 13D480 8024A140 25650116 */ addiu $a1, $t3, 0x116
/* 13D484 8024A144 0C051261 */ jal set_hud_element_render_pos
/* 13D488 8024A148 2546000E */ addiu $a2, $t2, 0xe
/* 13D48C 8024A14C 8E040040 */ lw $a0, 0x40($s0)
/* 13D490 8024A150 0C0511F8 */ jal draw_hud_element_3
/* 13D494 8024A154 00000000 */ nop
/* 13D498 8024A158 8E220000 */ lw $v0, ($s1)
/* 13D49C 8024A15C 24420001 */ addiu $v0, $v0, 1
.L8024A160:
/* 13D4A0 8024A160 00021840 */ sll $v1, $v0, 1
/* 13D4A4 8024A164 00621821 */ addu $v1, $v1, $v0
/* 13D4A8 8024A168 00031880 */ sll $v1, $v1, 2
/* 13D4AC 8024A16C 3C028027 */ lui $v0, %hi(gItemMenuPages)
/* 13D4B0 8024A170 00431021 */ addu $v0, $v0, $v1
/* 13D4B4 8024A174 904204D0 */ lbu $v0, %lo(gItemMenuPages)($v0)
/* 13D4B8 8024A178 1040000C */ beqz $v0, .L8024A1AC
/* 13D4BC 8024A17C 00000000 */ nop
/* 13D4C0 8024A180 3C108027 */ lui $s0, %hi(gItemIcons)
/* 13D4C4 8024A184 261005E8 */ addiu $s0, $s0, %lo(gItemIcons)
/* 13D4C8 8024A188 8FAB00AC */ lw $t3, 0xac($sp)
/* 13D4CC 8024A18C 8E040044 */ lw $a0, 0x44($s0)
/* 13D4D0 8024A190 8FAA00B0 */ lw $t2, 0xb0($sp)
/* 13D4D4 8024A194 25650116 */ addiu $a1, $t3, 0x116
/* 13D4D8 8024A198 0C051261 */ jal set_hud_element_render_pos
/* 13D4DC 8024A19C 25460092 */ addiu $a2, $t2, 0x92
/* 13D4E0 8024A1A0 8E040044 */ lw $a0, 0x44($s0)
/* 13D4E4 8024A1A4 0C0511F8 */ jal draw_hud_element_3
/* 13D4E8 8024A1A8 00000000 */ nop
.L8024A1AC:
/* 13D4EC 8024A1AC 3C038027 */ lui $v1, %hi(gItemMenuCurrentTab)
/* 13D4F0 8024A1B0 8C6305E4 */ lw $v1, %lo(gItemMenuCurrentTab)($v1)
/* 13D4F4 8024A1B4 8FA600AC */ lw $a2, 0xac($sp)
/* 13D4F8 8024A1B8 50600001 */ beql $v1, $zero, .L8024A1C0
/* 13D4FC 8024A1BC 24C60009 */ addiu $a2, $a2, 9
.L8024A1C0:
/* 13D500 8024A1C0 8FAB00B0 */ lw $t3, 0xb0($sp)
/* 13D504 8024A1C4 2402005B */ addiu $v0, $zero, 0x5b
/* 13D508 8024A1C8 AFA20014 */ sw $v0, 0x14($sp)
/* 13D50C 8024A1CC 24020022 */ addiu $v0, $zero, 0x22
/* 13D510 8024A1D0 AFA20018 */ sw $v0, 0x18($sp)
/* 13D514 8024A1D4 240200FF */ addiu $v0, $zero, 0xff
/* 13D518 8024A1D8 AFA2001C */ sw $v0, 0x1c($sp)
/* 13D51C 8024A1DC 24020001 */ addiu $v0, $zero, 1
/* 13D520 8024A1E0 AFA00010 */ sw $zero, 0x10($sp)
/* 13D524 8024A1E4 14620004 */ bne $v1, $v0, .L8024A1F8
/* 13D528 8024A1E8 25670007 */ addiu $a3, $t3, 7
/* 13D52C 8024A1EC 24020080 */ addiu $v0, $zero, 0x80
/* 13D530 8024A1F0 0809287F */ j .L8024A1FC
/* 13D534 8024A1F4 AFA20020 */ sw $v0, 0x20($sp)
.L8024A1F8:
/* 13D538 8024A1F8 AFA00020 */ sw $zero, 0x20($sp)
.L8024A1FC:
/* 13D53C 8024A1FC 24040004 */ addiu $a0, $zero, 4
/* 13D540 8024A200 3C058027 */ lui $a1, %hi(D_8026FCB8)
/* 13D544 8024A204 24A5FCB8 */ addiu $a1, $a1, %lo(D_8026FCB8)
/* 13D548 8024A208 24020140 */ addiu $v0, $zero, 0x140
/* 13D54C 8024A20C AFA20044 */ sw $v0, 0x44($sp)
/* 13D550 8024A210 240200F0 */ addiu $v0, $zero, 0xf0
/* 13D554 8024A214 AFA00024 */ sw $zero, 0x24($sp)
/* 13D558 8024A218 AFA00028 */ sw $zero, 0x28($sp)
/* 13D55C 8024A21C AFA0002C */ sw $zero, 0x2c($sp)
/* 13D560 8024A220 AFA00030 */ sw $zero, 0x30($sp)
/* 13D564 8024A224 AFA00034 */ sw $zero, 0x34($sp)
/* 13D568 8024A228 AFA00038 */ sw $zero, 0x38($sp)
/* 13D56C 8024A22C AFA0003C */ sw $zero, 0x3c($sp)
/* 13D570 8024A230 AFA00040 */ sw $zero, 0x40($sp)
/* 13D574 8024A234 AFA20048 */ sw $v0, 0x48($sp)
/* 13D578 8024A238 0C03D4B8 */ jal draw_box
/* 13D57C 8024A23C AFA0004C */ sw $zero, 0x4c($sp)
/* 13D580 8024A240 0C093BA0 */ jal pause_get_menu_msg
/* 13D584 8024A244 2404004F */ addiu $a0, $zero, 0x4f
/* 13D588 8024A248 3C118027 */ lui $s1, %hi(gItemMenuCurrentTab)
/* 13D58C 8024A24C 263105E4 */ addiu $s1, $s1, %lo(gItemMenuCurrentTab)
/* 13D590 8024A250 8FAA00AC */ lw $t2, 0xac($sp)
/* 13D594 8024A254 8E230000 */ lw $v1, ($s1)
/* 13D598 8024A258 14600002 */ bnez $v1, .L8024A264
/* 13D59C 8024A25C 2545000C */ addiu $a1, $t2, 0xc
/* 13D5A0 8024A260 25450015 */ addiu $a1, $t2, 0x15
.L8024A264:
/* 13D5A4 8024A264 240700FF */ addiu $a3, $zero, 0xff
/* 13D5A8 8024A268 8FAB00B0 */ lw $t3, 0xb0($sp)
/* 13D5AC 8024A26C 24100001 */ addiu $s0, $zero, 1
/* 13D5B0 8024A270 14700002 */ bne $v1, $s0, .L8024A27C
/* 13D5B4 8024A274 25660011 */ addiu $a2, $t3, 0x11
/* 13D5B8 8024A278 240700BF */ addiu $a3, $zero, 0xbf
.L8024A27C:
/* 13D5BC 8024A27C 0040202D */ daddu $a0, $v0, $zero
/* 13D5C0 8024A280 AFA00010 */ sw $zero, 0x10($sp)
/* 13D5C4 8024A284 0C04993B */ jal draw_msg
/* 13D5C8 8024A288 AFB00014 */ sw $s0, 0x14($sp)
/* 13D5CC 8024A28C 8E230000 */ lw $v1, ($s1)
/* 13D5D0 8024A290 8FA600AC */ lw $a2, 0xac($sp)
/* 13D5D4 8024A294 50700001 */ beql $v1, $s0, .L8024A29C
/* 13D5D8 8024A298 24C60009 */ addiu $a2, $a2, 9
.L8024A29C:
/* 13D5DC 8024A29C 8FAA00B0 */ lw $t2, 0xb0($sp)
/* 13D5E0 8024A2A0 2402005B */ addiu $v0, $zero, 0x5b
/* 13D5E4 8024A2A4 AFA20014 */ sw $v0, 0x14($sp)
/* 13D5E8 8024A2A8 24020022 */ addiu $v0, $zero, 0x22
/* 13D5EC 8024A2AC AFA20018 */ sw $v0, 0x18($sp)
/* 13D5F0 8024A2B0 240200FF */ addiu $v0, $zero, 0xff
/* 13D5F4 8024A2B4 AFA00010 */ sw $zero, 0x10($sp)
/* 13D5F8 8024A2B8 AFA2001C */ sw $v0, 0x1c($sp)
/* 13D5FC 8024A2BC 14600004 */ bnez $v1, .L8024A2D0
/* 13D600 8024A2C0 25470027 */ addiu $a3, $t2, 0x27
/* 13D604 8024A2C4 24020080 */ addiu $v0, $zero, 0x80
/* 13D608 8024A2C8 080928B5 */ j .L8024A2D4
/* 13D60C 8024A2CC AFA20020 */ sw $v0, 0x20($sp)
.L8024A2D0:
/* 13D610 8024A2D0 AFA00020 */ sw $zero, 0x20($sp)
.L8024A2D4:
/* 13D614 8024A2D4 24040004 */ addiu $a0, $zero, 4
/* 13D618 8024A2D8 3C058027 */ lui $a1, %hi(D_8026FCB8)
/* 13D61C 8024A2DC 24A5FCB8 */ addiu $a1, $a1, %lo(D_8026FCB8)
/* 13D620 8024A2E0 24020140 */ addiu $v0, $zero, 0x140
/* 13D624 8024A2E4 AFA20044 */ sw $v0, 0x44($sp)
/* 13D628 8024A2E8 240200F0 */ addiu $v0, $zero, 0xf0
/* 13D62C 8024A2EC AFA00024 */ sw $zero, 0x24($sp)
/* 13D630 8024A2F0 AFA00028 */ sw $zero, 0x28($sp)
/* 13D634 8024A2F4 AFA0002C */ sw $zero, 0x2c($sp)
/* 13D638 8024A2F8 AFA00030 */ sw $zero, 0x30($sp)
/* 13D63C 8024A2FC AFA00034 */ sw $zero, 0x34($sp)
/* 13D640 8024A300 AFA00038 */ sw $zero, 0x38($sp)
/* 13D644 8024A304 AFA0003C */ sw $zero, 0x3c($sp)
/* 13D648 8024A308 AFA00040 */ sw $zero, 0x40($sp)
/* 13D64C 8024A30C AFA20048 */ sw $v0, 0x48($sp)
/* 13D650 8024A310 0C03D4B8 */ jal draw_box
/* 13D654 8024A314 AFA0004C */ sw $zero, 0x4c($sp)
/* 13D658 8024A318 0C093BA0 */ jal pause_get_menu_msg
/* 13D65C 8024A31C 24040050 */ addiu $a0, $zero, 0x50
/* 13D660 8024A320 3C108027 */ lui $s0, %hi(gItemMenuCurrentTab)
/* 13D664 8024A324 261005E4 */ addiu $s0, $s0, %lo(gItemMenuCurrentTab)
/* 13D668 8024A328 24080001 */ addiu $t0, $zero, 1
/* 13D66C 8024A32C 8FAB00AC */ lw $t3, 0xac($sp)
/* 13D670 8024A330 8E030000 */ lw $v1, ($s0)
/* 13D674 8024A334 14680002 */ bne $v1, $t0, .L8024A340
/* 13D678 8024A338 25650019 */ addiu $a1, $t3, 0x19
/* 13D67C 8024A33C 25650022 */ addiu $a1, $t3, 0x22
.L8024A340:
/* 13D680 8024A340 8FAA00B0 */ lw $t2, 0xb0($sp)
/* 13D684 8024A344 240700FF */ addiu $a3, $zero, 0xff
/* 13D688 8024A348 14600002 */ bnez $v1, .L8024A354
/* 13D68C 8024A34C 25460031 */ addiu $a2, $t2, 0x31
/* 13D690 8024A350 240700BF */ addiu $a3, $zero, 0xbf
.L8024A354:
/* 13D694 8024A354 0040202D */ daddu $a0, $v0, $zero
/* 13D698 8024A358 AFA00010 */ sw $zero, 0x10($sp)
/* 13D69C 8024A35C 0C04993B */ jal draw_msg
/* 13D6A0 8024A360 AFA80014 */ sw $t0, 0x14($sp)
/* 13D6A4 8024A364 3C038027 */ lui $v1, %hi(gPauseMenuCurrentTab)
/* 13D6A8 8024A368 806300D4 */ lb $v1, %lo(gPauseMenuCurrentTab)($v1)
/* 13D6AC 8024A36C 24020003 */ addiu $v0, $zero, 3
/* 13D6B0 8024A370 1462004E */ bne $v1, $v0, .L8024A4AC
/* 13D6B4 8024A374 00000000 */ nop
/* 13D6B8 8024A378 3C028027 */ lui $v0, %hi(gItemMenuLevel)
/* 13D6BC 8024A37C 8C4205E0 */ lw $v0, %lo(gItemMenuLevel)($v0)
/* 13D6C0 8024A380 14400008 */ bnez $v0, .L8024A3A4
/* 13D6C4 8024A384 24040021 */ addiu $a0, $zero, 0x21
/* 13D6C8 8024A388 8E060000 */ lw $a2, ($s0)
/* 13D6CC 8024A38C 8FAB00AC */ lw $t3, 0xac($sp)
/* 13D6D0 8024A390 8FAA00B0 */ lw $t2, 0xb0($sp)
/* 13D6D4 8024A394 2565000C */ addiu $a1, $t3, 0xc
/* 13D6D8 8024A398 00063140 */ sll $a2, $a2, 5
/* 13D6DC 8024A39C 08092929 */ j .L8024A4A4
/* 13D6E0 8024A3A0 24C6001A */ addiu $a2, $a2, 0x1a
.L8024A3A4:
/* 13D6E4 8024A3A4 3C118027 */ lui $s1, %hi(gItemMenuCurrentPage)
/* 13D6E8 8024A3A8 263104C8 */ addiu $s1, $s1, %lo(gItemMenuCurrentPage)
/* 13D6EC 8024A3AC 8E240000 */ lw $a0, ($s1)
/* 13D6F0 8024A3B0 3C128027 */ lui $s2, %hi(gItemMenuPages)
/* 13D6F4 8024A3B4 265204D0 */ addiu $s2, $s2, %lo(gItemMenuPages)
/* 13D6F8 8024A3B8 00041040 */ sll $v0, $a0, 1
/* 13D6FC 8024A3BC 00441021 */ addu $v0, $v0, $a0
/* 13D700 8024A3C0 00021080 */ sll $v0, $v0, 2
/* 13D704 8024A3C4 00521021 */ addu $v0, $v0, $s2
/* 13D708 8024A3C8 90430001 */ lbu $v1, 1($v0)
/* 13D70C 8024A3CC 90420002 */ lbu $v0, 2($v0)
/* 13D710 8024A3D0 00620018 */ mult $v1, $v0
/* 13D714 8024A3D4 3C108027 */ lui $s0, %hi(gItemMenuSelectedIndex)
/* 13D718 8024A3D8 261005C0 */ addiu $s0, $s0, %lo(gItemMenuSelectedIndex)
/* 13D71C 8024A3DC 8E050000 */ lw $a1, ($s0)
/* 13D720 8024A3E0 00005012 */ mflo $t2
/* 13D724 8024A3E4 0C0925F4 */ jal pause_items_get_pos_x
/* 13D728 8024A3E8 00AA2823 */ subu $a1, $a1, $t2
/* 13D72C 8024A3EC 8E240000 */ lw $a0, ($s1)
/* 13D730 8024A3F0 00041840 */ sll $v1, $a0, 1
/* 13D734 8024A3F4 00641821 */ addu $v1, $v1, $a0
/* 13D738 8024A3F8 00031880 */ sll $v1, $v1, 2
/* 13D73C 8024A3FC 00721821 */ addu $v1, $v1, $s2
/* 13D740 8024A400 90650001 */ lbu $a1, 1($v1)
/* 13D744 8024A404 90630002 */ lbu $v1, 2($v1)
/* 13D748 8024A408 00A30018 */ mult $a1, $v1
/* 13D74C 8024A40C 8E050000 */ lw $a1, ($s0)
/* 13D750 8024A410 0040802D */ daddu $s0, $v0, $zero
/* 13D754 8024A414 00005012 */ mflo $t2
/* 13D758 8024A418 0C09260A */ jal pause_items_get_pos_y
/* 13D75C 8024A41C 00AA2823 */ subu $a1, $a1, $t2
/* 13D760 8024A420 0200202D */ daddu $a0, $s0, $zero
/* 13D764 8024A424 0C09265A */ jal pause_items_scroll_offset_x
/* 13D768 8024A428 0040802D */ daddu $s0, $v0, $zero
/* 13D76C 8024A42C 0200202D */ daddu $a0, $s0, $zero
/* 13D770 8024A430 0C092656 */ jal pause_items_scroll_offset_y
/* 13D774 8024A434 0040802D */ daddu $s0, $v0, $zero
/* 13D778 8024A438 0040302D */ daddu $a2, $v0, $zero
/* 13D77C 8024A43C 04C10003 */ bgez $a2, .L8024A44C
/* 13D780 8024A440 28C20071 */ slti $v0, $a2, 0x71
/* 13D784 8024A444 08092915 */ j .L8024A454
/* 13D788 8024A448 0000302D */ daddu $a2, $zero, $zero
.L8024A44C:
/* 13D78C 8024A44C 50400001 */ beql $v0, $zero, .L8024A454
/* 13D790 8024A450 24060070 */ addiu $a2, $zero, 0x70
.L8024A454:
/* 13D794 8024A454 3C038027 */ lui $v1, %hi(gItemMenuCurrentScrollPos)
/* 13D798 8024A458 8C6305D4 */ lw $v1, %lo(gItemMenuCurrentScrollPos)($v1)
/* 13D79C 8024A45C 3C028027 */ lui $v0, %hi(gItemMenuTargetScrollPos)
/* 13D7A0 8024A460 8C4205D8 */ lw $v0, %lo(gItemMenuTargetScrollPos)($v0)
/* 13D7A4 8024A464 1062000A */ beq $v1, $v0, .L8024A490
/* 13D7A8 8024A468 24040021 */ addiu $a0, $zero, 0x21
/* 13D7AC 8024A46C 26050055 */ addiu $a1, $s0, 0x55
/* 13D7B0 8024A470 24C60017 */ addiu $a2, $a2, 0x17
/* 13D7B4 8024A474 8FAB00AC */ lw $t3, 0xac($sp)
/* 13D7B8 8024A478 8FAA00B0 */ lw $t2, 0xb0($sp)
/* 13D7BC 8024A47C 01652821 */ addu $a1, $t3, $a1
/* 13D7C0 8024A480 0C090AEB */ jal func_80242BAC
/* 13D7C4 8024A484 01463021 */ addu $a2, $t2, $a2
/* 13D7C8 8024A488 0809292B */ j .L8024A4AC
/* 13D7CC 8024A48C 00000000 */ nop
.L8024A490:
/* 13D7D0 8024A490 26050055 */ addiu $a1, $s0, 0x55
/* 13D7D4 8024A494 24C60017 */ addiu $a2, $a2, 0x17
/* 13D7D8 8024A498 8FAB00AC */ lw $t3, 0xac($sp)
/* 13D7DC 8024A49C 8FAA00B0 */ lw $t2, 0xb0($sp)
/* 13D7E0 8024A4A0 01652821 */ addu $a1, $t3, $a1
.L8024A4A4:
/* 13D7E4 8024A4A4 0C090B41 */ jal func_80242D04
/* 13D7E8 8024A4A8 01463021 */ addu $a2, $t2, $a2
.L8024A4AC:
/* 13D7EC 8024A4AC 8FBF00A4 */ lw $ra, 0xa4($sp)
/* 13D7F0 8024A4B0 8FBE00A0 */ lw $fp, 0xa0($sp)
/* 13D7F4 8024A4B4 8FB7009C */ lw $s7, 0x9c($sp)
/* 13D7F8 8024A4B8 8FB60098 */ lw $s6, 0x98($sp)
/* 13D7FC 8024A4BC 8FB50094 */ lw $s5, 0x94($sp)
/* 13D800 8024A4C0 8FB40090 */ lw $s4, 0x90($sp)
/* 13D804 8024A4C4 8FB3008C */ lw $s3, 0x8c($sp)
/* 13D808 8024A4C8 8FB20088 */ lw $s2, 0x88($sp)
/* 13D80C 8024A4CC 8FB10084 */ lw $s1, 0x84($sp)
/* 13D810 8024A4D0 8FB00080 */ lw $s0, 0x80($sp)
/* 13D814 8024A4D4 03E00008 */ jr $ra
/* 13D818 8024A4D8 27BD00A8 */ addiu $sp, $sp, 0xa8

View File

@ -1,316 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel pause_items_handle_input
/* 13DB18 8024A7D8 3C038027 */ lui $v1, %hi(gItemMenuCurrentPage)
/* 13DB1C 8024A7DC 8C6304C8 */ lw $v1, %lo(gItemMenuCurrentPage)($v1)
/* 13DB20 8024A7E0 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 13DB24 8024A7E4 AFBF0014 */ sw $ra, 0x14($sp)
/* 13DB28 8024A7E8 AFB00010 */ sw $s0, 0x10($sp)
/* 13DB2C 8024A7EC 00031040 */ sll $v0, $v1, 1
/* 13DB30 8024A7F0 00431021 */ addu $v0, $v0, $v1
/* 13DB34 8024A7F4 00021080 */ sll $v0, $v0, 2
/* 13DB38 8024A7F8 3C038027 */ lui $v1, %hi(D_802704D2)
/* 13DB3C 8024A7FC 00621821 */ addu $v1, $v1, $v0
/* 13DB40 8024A800 906304D2 */ lbu $v1, %lo(D_802704D2)($v1)
/* 13DB44 8024A804 3C028027 */ lui $v0, %hi(gPauseMenuPressedButtons)
/* 13DB48 8024A808 8C4200C4 */ lw $v0, %lo(gPauseMenuPressedButtons)($v0)
/* 13DB4C 8024A80C 3C098027 */ lui $t1, %hi(gItemMenuSelectedIndex)
/* 13DB50 8024A810 8D2905C0 */ lw $t1, %lo(gItemMenuSelectedIndex)($t1)
/* 13DB54 8024A814 30428000 */ andi $v0, $v0, 0x8000
/* 13DB58 8024A818 14600002 */ bnez $v1, .L8024A824
/* 13DB5C 8024A81C 0123001A */ div $zero, $t1, $v1
/* 13DB60 8024A820 0007000D */ break 7
.L8024A824:
/* 13DB64 8024A824 2401FFFF */ addiu $at, $zero, -1
/* 13DB68 8024A828 14610004 */ bne $v1, $at, .L8024A83C
/* 13DB6C 8024A82C 3C018000 */ lui $at, 0x8000
/* 13DB70 8024A830 15210002 */ bne $t1, $at, .L8024A83C
/* 13DB74 8024A834 00000000 */ nop
/* 13DB78 8024A838 0006000D */ break 6
.L8024A83C:
/* 13DB7C 8024A83C 00002812 */ mflo $a1
/* 13DB80 8024A840 00004010 */ mfhi $t0
/* 13DB84 8024A844 10400015 */ beqz $v0, .L8024A89C
/* 13DB88 8024A848 00000000 */ nop
/* 13DB8C 8024A84C 3C048027 */ lui $a0, %hi(gItemMenuLevel)
/* 13DB90 8024A850 248405E0 */ addiu $a0, $a0, %lo(gItemMenuLevel)
/* 13DB94 8024A854 8C820000 */ lw $v0, ($a0)
/* 13DB98 8024A858 14400010 */ bnez $v0, .L8024A89C
/* 13DB9C 8024A85C 00091040 */ sll $v0, $t1, 1
/* 13DBA0 8024A860 3C038027 */ lui $v1, %hi(gItemMenuItemIDs)
/* 13DBA4 8024A864 00621821 */ addu $v1, $v1, $v0
/* 13DBA8 8024A868 84630400 */ lh $v1, %lo(gItemMenuItemIDs)($v1)
/* 13DBAC 8024A86C 24027FFE */ addiu $v0, $zero, 0x7ffe
/* 13DBB0 8024A870 14620005 */ bne $v1, $v0, .L8024A888
/* 13DBB4 8024A874 24020001 */ addiu $v0, $zero, 1
/* 13DBB8 8024A878 0C05272D */ jal sfx_play_sound
/* 13DBBC 8024A87C 2404021D */ addiu $a0, $zero, 0x21d
/* 13DBC0 8024A880 08092B11 */ j .L8024AC44
/* 13DBC4 8024A884 00000000 */ nop
.L8024A888:
/* 13DBC8 8024A888 AC820000 */ sw $v0, ($a0)
/* 13DBCC 8024A88C 0C05272D */ jal sfx_play_sound
/* 13DBD0 8024A890 240400C9 */ addiu $a0, $zero, 0xc9
/* 13DBD4 8024A894 08092B11 */ j .L8024AC44
/* 13DBD8 8024A898 00000000 */ nop
.L8024A89C:
/* 13DBDC 8024A89C 3C028027 */ lui $v0, %hi(gItemMenuNumItems)
/* 13DBE0 8024A8A0 844205CC */ lh $v0, %lo(gItemMenuNumItems)($v0)
/* 13DBE4 8024A8A4 104000B1 */ beqz $v0, .L8024AB6C
/* 13DBE8 8024A8A8 00000000 */ nop
/* 13DBEC 8024A8AC 3C028027 */ lui $v0, %hi(gItemMenuLevel)
/* 13DBF0 8024A8B0 8C4205E0 */ lw $v0, %lo(gItemMenuLevel)($v0)
/* 13DBF4 8024A8B4 14400015 */ bnez $v0, .L8024A90C
/* 13DBF8 8024A8B8 3C020001 */ lui $v0, 1
/* 13DBFC 8024A8BC 3C108027 */ lui $s0, %hi(gItemMenuCurrentTab)
/* 13DC00 8024A8C0 261005E4 */ addiu $s0, $s0, %lo(gItemMenuCurrentTab)
/* 13DC04 8024A8C4 3C028027 */ lui $v0, %hi(gPauseMenuHeldButtons)
/* 13DC08 8024A8C8 8C4200C0 */ lw $v0, %lo(gPauseMenuHeldButtons)($v0)
/* 13DC0C 8024A8CC 3C030003 */ lui $v1, 3
/* 13DC10 8024A8D0 00431024 */ and $v0, $v0, $v1
/* 13DC14 8024A8D4 8E030000 */ lw $v1, ($s0)
/* 13DC18 8024A8D8 10400002 */ beqz $v0, .L8024A8E4
/* 13DC1C 8024A8DC 38620001 */ xori $v0, $v1, 1
/* 13DC20 8024A8E0 AE020000 */ sw $v0, ($s0)
.L8024A8E4:
/* 13DC24 8024A8E4 8E020000 */ lw $v0, ($s0)
/* 13DC28 8024A8E8 106200A0 */ beq $v1, $v0, .L8024AB6C
/* 13DC2C 8024A8EC 00000000 */ nop
/* 13DC30 8024A8F0 0C05272D */ jal sfx_play_sound
/* 13DC34 8024A8F4 240400C8 */ addiu $a0, $zero, 0xc8
/* 13DC38 8024A8F8 8E040000 */ lw $a0, ($s0)
/* 13DC3C 8024A8FC 0C092937 */ jal pause_items_load_items
/* 13DC40 8024A900 00000000 */ nop
/* 13DC44 8024A904 08092ADB */ j .L8024AB6C
/* 13DC48 8024A908 00000000 */ nop
.L8024A90C:
/* 13DC4C 8024A90C 3C038027 */ lui $v1, %hi(gPauseMenuHeldButtons)
/* 13DC50 8024A910 8C6300C0 */ lw $v1, %lo(gPauseMenuHeldButtons)($v1)
/* 13DC54 8024A914 34422000 */ ori $v0, $v0, 0x2000
/* 13DC58 8024A918 00621024 */ and $v0, $v1, $v0
/* 13DC5C 8024A91C 10400022 */ beqz $v0, .L8024A9A8
/* 13DC60 8024A920 3C020001 */ lui $v0, 1
/* 13DC64 8024A924 00621024 */ and $v0, $v1, $v0
/* 13DC68 8024A928 10400011 */ beqz $v0, .L8024A970
/* 13DC6C 8024A92C 24A5FFFF */ addiu $a1, $a1, -1
/* 13DC70 8024A930 04A20001 */ bltzl $a1, .L8024A938
/* 13DC74 8024A934 0000282D */ daddu $a1, $zero, $zero
.L8024A938:
/* 13DC78 8024A938 3C048027 */ lui $a0, %hi(gItemMenuCurrentPage)
/* 13DC7C 8024A93C 248404C8 */ addiu $a0, $a0, %lo(gItemMenuCurrentPage)
/* 13DC80 8024A940 8C830000 */ lw $v1, ($a0)
/* 13DC84 8024A944 00031040 */ sll $v0, $v1, 1
/* 13DC88 8024A948 00431021 */ addu $v0, $v0, $v1
/* 13DC8C 8024A94C 00021080 */ sll $v0, $v0, 2
/* 13DC90 8024A950 3C018027 */ lui $at, %hi(D_802704D1)
/* 13DC94 8024A954 00220821 */ addu $at, $at, $v0
/* 13DC98 8024A958 902204D1 */ lbu $v0, %lo(D_802704D1)($at)
/* 13DC9C 8024A95C 00A2102A */ slt $v0, $a1, $v0
/* 13DCA0 8024A960 10400011 */ beqz $v0, .L8024A9A8
/* 13DCA4 8024A964 2462FFFF */ addiu $v0, $v1, -1
/* 13DCA8 8024A968 08092A6A */ j .L8024A9A8
/* 13DCAC 8024A96C AC820000 */ sw $v0, ($a0)
.L8024A970:
/* 13DCB0 8024A970 3C038027 */ lui $v1, %hi(gItemMenuCurrentPage)
/* 13DCB4 8024A974 246304C8 */ addiu $v1, $v1, %lo(gItemMenuCurrentPage)
/* 13DCB8 8024A978 8C620000 */ lw $v0, ($v1)
/* 13DCBC 8024A97C 2442FFFF */ addiu $v0, $v0, -1
/* 13DCC0 8024A980 04410002 */ bgez $v0, .L8024A98C
/* 13DCC4 8024A984 AC620000 */ sw $v0, ($v1)
/* 13DCC8 8024A988 AC600000 */ sw $zero, ($v1)
.L8024A98C:
/* 13DCCC 8024A98C 8C630000 */ lw $v1, ($v1)
/* 13DCD0 8024A990 00031040 */ sll $v0, $v1, 1
/* 13DCD4 8024A994 00431021 */ addu $v0, $v0, $v1
/* 13DCD8 8024A998 00021080 */ sll $v0, $v0, 2
/* 13DCDC 8024A99C 3C058027 */ lui $a1, %hi(D_802704D1)
/* 13DCE0 8024A9A0 00A22821 */ addu $a1, $a1, $v0
/* 13DCE4 8024A9A4 90A504D1 */ lbu $a1, %lo(D_802704D1)($a1)
.L8024A9A8:
/* 13DCE8 8024A9A8 3C020002 */ lui $v0, 2
/* 13DCEC 8024A9AC 3C038027 */ lui $v1, %hi(gPauseMenuHeldButtons)
/* 13DCF0 8024A9B0 8C6300C0 */ lw $v1, %lo(gPauseMenuHeldButtons)($v1)
/* 13DCF4 8024A9B4 34420010 */ ori $v0, $v0, 0x10
/* 13DCF8 8024A9B8 00621024 */ and $v0, $v1, $v0
/* 13DCFC 8024A9BC 10400030 */ beqz $v0, .L8024AA80
/* 13DD00 8024A9C0 3C020002 */ lui $v0, 2
/* 13DD04 8024A9C4 00621024 */ and $v0, $v1, $v0
/* 13DD08 8024A9C8 1040001C */ beqz $v0, .L8024AA3C
/* 13DD0C 8024A9CC 00000000 */ nop
/* 13DD10 8024A9D0 3C068027 */ lui $a2, %hi(gItemMenuCurrentPage)
/* 13DD14 8024A9D4 24C604C8 */ addiu $a2, $a2, %lo(gItemMenuCurrentPage)
/* 13DD18 8024A9D8 8CC40000 */ lw $a0, ($a2)
/* 13DD1C 8024A9DC 3C078027 */ lui $a3, %hi(gItemMenuPages)
/* 13DD20 8024A9E0 24E704D0 */ addiu $a3, $a3, %lo(gItemMenuPages)
/* 13DD24 8024A9E4 00041040 */ sll $v0, $a0, 1
/* 13DD28 8024A9E8 00441021 */ addu $v0, $v0, $a0
/* 13DD2C 8024A9EC 00021080 */ sll $v0, $v0, 2
/* 13DD30 8024A9F0 00471021 */ addu $v0, $v0, $a3
/* 13DD34 8024A9F4 90430001 */ lbu $v1, 1($v0)
/* 13DD38 8024A9F8 90420003 */ lbu $v0, 3($v0)
/* 13DD3C 8024A9FC 24A50001 */ addiu $a1, $a1, 1
/* 13DD40 8024AA00 00621821 */ addu $v1, $v1, $v0
/* 13DD44 8024AA04 00A3182A */ slt $v1, $a1, $v1
/* 13DD48 8024AA08 1460001D */ bnez $v1, .L8024AA80
/* 13DD4C 8024AA0C 24820001 */ addiu $v0, $a0, 1
/* 13DD50 8024AA10 00021840 */ sll $v1, $v0, 1
/* 13DD54 8024AA14 00621821 */ addu $v1, $v1, $v0
/* 13DD58 8024AA18 00031880 */ sll $v1, $v1, 2
/* 13DD5C 8024AA1C 00671821 */ addu $v1, $v1, $a3
/* 13DD60 8024AA20 ACC20000 */ sw $v0, ($a2)
/* 13DD64 8024AA24 90620000 */ lbu $v0, ($v1)
/* 13DD68 8024AA28 14400015 */ bnez $v0, .L8024AA80
/* 13DD6C 8024AA2C 00000000 */ nop
/* 13DD70 8024AA30 ACC40000 */ sw $a0, ($a2)
/* 13DD74 8024AA34 08092AA0 */ j .L8024AA80
/* 13DD78 8024AA38 24A5FFFF */ addiu $a1, $a1, -1
.L8024AA3C:
/* 13DD7C 8024AA3C 3C068027 */ lui $a2, %hi(gItemMenuCurrentPage)
/* 13DD80 8024AA40 24C604C8 */ addiu $a2, $a2, %lo(gItemMenuCurrentPage)
/* 13DD84 8024AA44 8CC70000 */ lw $a3, ($a2)
/* 13DD88 8024AA48 3C048027 */ lui $a0, %hi(gItemMenuPages)
/* 13DD8C 8024AA4C 248404D0 */ addiu $a0, $a0, %lo(gItemMenuPages)
/* 13DD90 8024AA50 24E30001 */ addiu $v1, $a3, 1
/* 13DD94 8024AA54 00031040 */ sll $v0, $v1, 1
/* 13DD98 8024AA58 00431021 */ addu $v0, $v0, $v1
/* 13DD9C 8024AA5C 00021080 */ sll $v0, $v0, 2
/* 13DDA0 8024AA60 ACC30000 */ sw $v1, ($a2)
/* 13DDA4 8024AA64 00441821 */ addu $v1, $v0, $a0
/* 13DDA8 8024AA68 90620000 */ lbu $v0, ($v1)
/* 13DDAC 8024AA6C 14400003 */ bnez $v0, .L8024AA7C
/* 13DDB0 8024AA70 00000000 */ nop
/* 13DDB4 8024AA74 08092AA0 */ j .L8024AA80
/* 13DDB8 8024AA78 ACC70000 */ sw $a3, ($a2)
.L8024AA7C:
/* 13DDBC 8024AA7C 90650001 */ lbu $a1, 1($v1)
.L8024AA80:
/* 13DDC0 8024AA80 3C038027 */ lui $v1, %hi(gItemMenuCurrentPage)
/* 13DDC4 8024AA84 8C6304C8 */ lw $v1, %lo(gItemMenuCurrentPage)($v1)
/* 13DDC8 8024AA88 00031040 */ sll $v0, $v1, 1
/* 13DDCC 8024AA8C 00431021 */ addu $v0, $v0, $v1
/* 13DDD0 8024AA90 00021080 */ sll $v0, $v0, 2
/* 13DDD4 8024AA94 3C048027 */ lui $a0, %hi(D_802704D2)
/* 13DDD8 8024AA98 00822021 */ addu $a0, $a0, $v0
/* 13DDDC 8024AA9C 908404D2 */ lbu $a0, %lo(D_802704D2)($a0)
/* 13DDE0 8024AAA0 00A40018 */ mult $a1, $a0
/* 13DDE4 8024AAA4 00005012 */ mflo $t2
/* 13DDE8 8024AAA8 000A1040 */ sll $v0, $t2, 1
/* 13DDEC 8024AAAC 3C038027 */ lui $v1, %hi(gItemMenuItemIDs)
/* 13DDF0 8024AAB0 00621821 */ addu $v1, $v1, $v0
/* 13DDF4 8024AAB4 84630400 */ lh $v1, %lo(gItemMenuItemIDs)($v1)
/* 13DDF8 8024AAB8 24027FFE */ addiu $v0, $zero, 0x7ffe
/* 13DDFC 8024AABC 10620012 */ beq $v1, $v0, .L8024AB08
/* 13DE00 8024AAC0 3C020004 */ lui $v0, 4
/* 13DE04 8024AAC4 3C038027 */ lui $v1, %hi(gPauseMenuHeldButtons)
/* 13DE08 8024AAC8 8C6300C0 */ lw $v1, %lo(gPauseMenuHeldButtons)($v1)
/* 13DE0C 8024AACC 00621024 */ and $v0, $v1, $v0
/* 13DE10 8024AAD0 10400006 */ beqz $v0, .L8024AAEC
/* 13DE14 8024AAD4 3C020008 */ lui $v0, 8
/* 13DE18 8024AAD8 2508FFFF */ addiu $t0, $t0, -1
/* 13DE1C 8024AADC 0502000B */ bltzl $t0, .L8024AB0C
/* 13DE20 8024AAE0 2488FFFF */ addiu $t0, $a0, -1
/* 13DE24 8024AAE4 08092AC3 */ j .L8024AB0C
/* 13DE28 8024AAE8 00000000 */ nop
.L8024AAEC:
/* 13DE2C 8024AAEC 00621024 */ and $v0, $v1, $v0
/* 13DE30 8024AAF0 10400006 */ beqz $v0, .L8024AB0C
/* 13DE34 8024AAF4 00000000 */ nop
/* 13DE38 8024AAF8 25080001 */ addiu $t0, $t0, 1
/* 13DE3C 8024AAFC 0104102A */ slt $v0, $t0, $a0
/* 13DE40 8024AB00 14400002 */ bnez $v0, .L8024AB0C
/* 13DE44 8024AB04 00000000 */ nop
.L8024AB08:
/* 13DE48 8024AB08 0000402D */ daddu $t0, $zero, $zero
.L8024AB0C:
/* 13DE4C 8024AB0C 3C038027 */ lui $v1, %hi(gItemMenuCurrentPage)
/* 13DE50 8024AB10 8C6304C8 */ lw $v1, %lo(gItemMenuCurrentPage)($v1)
/* 13DE54 8024AB14 00031040 */ sll $v0, $v1, 1
/* 13DE58 8024AB18 00431021 */ addu $v0, $v0, $v1
/* 13DE5C 8024AB1C 00021080 */ sll $v0, $v0, 2
/* 13DE60 8024AB20 3C018027 */ lui $at, %hi(D_802704D2)
/* 13DE64 8024AB24 00220821 */ addu $at, $at, $v0
/* 13DE68 8024AB28 902204D2 */ lbu $v0, %lo(D_802704D2)($at)
/* 13DE6C 8024AB2C 00A20018 */ mult $a1, $v0
/* 13DE70 8024AB30 3C108027 */ lui $s0, %hi(gItemMenuSelectedIndex)
/* 13DE74 8024AB34 261005C0 */ addiu $s0, $s0, %lo(gItemMenuSelectedIndex)
/* 13DE78 8024AB38 00005012 */ mflo $t2
/* 13DE7C 8024AB3C 010A1021 */ addu $v0, $t0, $t2
/* 13DE80 8024AB40 10490003 */ beq $v0, $t1, .L8024AB50
/* 13DE84 8024AB44 AE020000 */ sw $v0, ($s0)
/* 13DE88 8024AB48 0C05272D */ jal sfx_play_sound
/* 13DE8C 8024AB4C 240400C7 */ addiu $a0, $zero, 0xc7
.L8024AB50:
/* 13DE90 8024AB50 8E020000 */ lw $v0, ($s0)
/* 13DE94 8024AB54 00021040 */ sll $v0, $v0, 1
/* 13DE98 8024AB58 3C018027 */ lui $at, %hi(gItemMenuItemIDs)
/* 13DE9C 8024AB5C 00220821 */ addu $at, $at, $v0
/* 13DEA0 8024AB60 84220400 */ lh $v0, %lo(gItemMenuItemIDs)($at)
/* 13DEA4 8024AB64 3C018027 */ lui $at, %hi(gItemMenuSelectedItemID)
/* 13DEA8 8024AB68 AC2205C8 */ sw $v0, %lo(gItemMenuSelectedItemID)($at)
.L8024AB6C:
/* 13DEAC 8024AB6C 3C028027 */ lui $v0, %hi(gItemMenuLevel)
/* 13DEB0 8024AB70 8C4205E0 */ lw $v0, %lo(gItemMenuLevel)($v0)
/* 13DEB4 8024AB74 24030001 */ addiu $v1, $zero, 1
/* 13DEB8 8024AB78 14430014 */ bne $v0, $v1, .L8024ABCC
/* 13DEBC 8024AB7C 00000000 */ nop
/* 13DEC0 8024AB80 3C038027 */ lui $v1, %hi(gItemMenuSelectedItemID)
/* 13DEC4 8024AB84 8C6305C8 */ lw $v1, %lo(gItemMenuSelectedItemID)($v1)
/* 13DEC8 8024AB88 24628002 */ addiu $v0, $v1, -0x7ffe
/* 13DECC 8024AB8C 2C420002 */ sltiu $v0, $v0, 2
/* 13DED0 8024AB90 1440000A */ bnez $v0, .L8024ABBC
/* 13DED4 8024AB94 00000000 */ nop
/* 13DED8 8024AB98 10600008 */ beqz $v1, .L8024ABBC
/* 13DEDC 8024AB9C 00031140 */ sll $v0, $v1, 5
/* 13DEE0 8024ABA0 3C018008 */ lui $at, %hi(gItemTable+0x10)
/* 13DEE4 8024ABA4 00220821 */ addu $at, $at, $v0
/* 13DEE8 8024ABA8 8C2278F0 */ lw $v0, %lo(gItemTable+0x10)($at)
/* 13DEEC 8024ABAC 3C018027 */ lui $at, %hi(gPauseMenuCurrentDescMsg)
/* 13DEF0 8024ABB0 AC2200C8 */ sw $v0, %lo(gPauseMenuCurrentDescMsg)($at)
/* 13DEF4 8024ABB4 08092AFE */ j .L8024ABF8
/* 13DEF8 8024ABB8 00000000 */ nop
.L8024ABBC:
/* 13DEFC 8024ABBC 3C018027 */ lui $at, %hi(gPauseMenuCurrentDescMsg)
/* 13DF00 8024ABC0 AC2000C8 */ sw $zero, %lo(gPauseMenuCurrentDescMsg)($at)
/* 13DF04 8024ABC4 08092AFC */ j .L8024ABF0
/* 13DF08 8024ABC8 00000000 */ nop
.L8024ABCC:
/* 13DF0C 8024ABCC 3C028027 */ lui $v0, %hi(gItemMenuCurrentTab)
/* 13DF10 8024ABD0 8C4205E4 */ lw $v0, %lo(gItemMenuCurrentTab)($v0)
/* 13DF14 8024ABD4 14430002 */ bne $v0, $v1, .L8024ABE0
/* 13DF18 8024ABD8 24040052 */ addiu $a0, $zero, 0x52
/* 13DF1C 8024ABDC 24040051 */ addiu $a0, $zero, 0x51
.L8024ABE0:
/* 13DF20 8024ABE0 0C093BA0 */ jal pause_get_menu_msg
/* 13DF24 8024ABE4 00000000 */ nop
/* 13DF28 8024ABE8 3C018027 */ lui $at, %hi(gPauseMenuCurrentDescMsg)
/* 13DF2C 8024ABEC AC2200C8 */ sw $v0, %lo(gPauseMenuCurrentDescMsg)($at)
.L8024ABF0:
/* 13DF30 8024ABF0 3C018027 */ lui $at, %hi(gPauseMenuCurrentDescIconScript)
/* 13DF34 8024ABF4 AC2000CC */ sw $zero, %lo(gPauseMenuCurrentDescIconScript)($at)
.L8024ABF8:
/* 13DF38 8024ABF8 3C028027 */ lui $v0, %hi(gPauseMenuPressedButtons)
/* 13DF3C 8024ABFC 8C4200C4 */ lw $v0, %lo(gPauseMenuPressedButtons)($v0)
/* 13DF40 8024AC00 30424000 */ andi $v0, $v0, 0x4000
/* 13DF44 8024AC04 1040000F */ beqz $v0, .L8024AC44
/* 13DF48 8024AC08 00000000 */ nop
/* 13DF4C 8024AC0C 3C108027 */ lui $s0, %hi(gItemMenuLevel)
/* 13DF50 8024AC10 261005E0 */ addiu $s0, $s0, %lo(gItemMenuLevel)
/* 13DF54 8024AC14 8E020000 */ lw $v0, ($s0)
/* 13DF58 8024AC18 14400007 */ bnez $v0, .L8024AC38
/* 13DF5C 8024AC1C 00000000 */ nop
/* 13DF60 8024AC20 0C05272D */ jal sfx_play_sound
/* 13DF64 8024AC24 240400CA */ addiu $a0, $zero, 0xca
/* 13DF68 8024AC28 3C018027 */ lui $at, %hi(gPauseMenuCurrentTab)
/* 13DF6C 8024AC2C A02000D4 */ sb $zero, %lo(gPauseMenuCurrentTab)($at)
/* 13DF70 8024AC30 08092B11 */ j .L8024AC44
/* 13DF74 8024AC34 00000000 */ nop
.L8024AC38:
/* 13DF78 8024AC38 0C05272D */ jal sfx_play_sound
/* 13DF7C 8024AC3C 240400CA */ addiu $a0, $zero, 0xca
/* 13DF80 8024AC40 AE000000 */ sw $zero, ($s0)
.L8024AC44:
/* 13DF84 8024AC44 8FBF0014 */ lw $ra, 0x14($sp)
/* 13DF88 8024AC48 8FB00010 */ lw $s0, 0x10($sp)
/* 13DF8C 8024AC4C 03E00008 */ jr $ra
/* 13DF90 8024AC50 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,163 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel pause_items_load_items
/* 13D81C 8024A4DC 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 13D820 8024A4E0 AFB00010 */ sw $s0, 0x10($sp)
/* 13D824 8024A4E4 3C038011 */ lui $v1, %hi(gPlayerData)
/* 13D828 8024A4E8 2463F290 */ addiu $v1, $v1, %lo(gPlayerData)
/* 13D82C 8024A4EC 24020001 */ addiu $v0, $zero, 1
/* 13D830 8024A4F0 AFBF0014 */ sw $ra, 0x14($sp)
/* 13D834 8024A4F4 3C018027 */ lui $at, %hi(D_802705D0)
/* 13D838 8024A4F8 AC2005D0 */ sw $zero, %lo(D_802705D0)($at)
/* 13D83C 8024A4FC 14820011 */ bne $a0, $v0, .L8024A544
/* 13D840 8024A500 0000802D */ daddu $s0, $zero, $zero
/* 13D844 8024A504 0200202D */ daddu $a0, $s0, $zero
/* 13D848 8024A508 0060302D */ daddu $a2, $v1, $zero
/* 13D84C 8024A50C 3C058027 */ lui $a1, %hi(gItemMenuItemIDs)
/* 13D850 8024A510 24A50400 */ addiu $a1, $a1, %lo(gItemMenuItemIDs)
.L8024A514:
/* 13D854 8024A514 84C201B4 */ lh $v0, 0x1b4($a2)
/* 13D858 8024A518 94C301B4 */ lhu $v1, 0x1b4($a2)
/* 13D85C 8024A51C 10400004 */ beqz $v0, .L8024A530
/* 13D860 8024A520 24840001 */ addiu $a0, $a0, 1
/* 13D864 8024A524 A4A30000 */ sh $v1, ($a1)
/* 13D868 8024A528 24A50002 */ addiu $a1, $a1, 2
/* 13D86C 8024A52C 26100001 */ addiu $s0, $s0, 1
.L8024A530:
/* 13D870 8024A530 2882000A */ slti $v0, $a0, 0xa
/* 13D874 8024A534 1440FFF7 */ bnez $v0, .L8024A514
/* 13D878 8024A538 24C60002 */ addiu $a2, $a2, 2
/* 13D87C 8024A53C 0809295F */ j .L8024A57C
/* 13D880 8024A540 00000000 */ nop
.L8024A544:
/* 13D884 8024A544 0000202D */ daddu $a0, $zero, $zero
/* 13D888 8024A548 0060302D */ daddu $a2, $v1, $zero
/* 13D88C 8024A54C 3C058027 */ lui $a1, %hi(gItemMenuItemIDs)
/* 13D890 8024A550 24A50400 */ addiu $a1, $a1, %lo(gItemMenuItemIDs)
.L8024A554:
/* 13D894 8024A554 84C20074 */ lh $v0, 0x74($a2)
/* 13D898 8024A558 94C30074 */ lhu $v1, 0x74($a2)
/* 13D89C 8024A55C 10400004 */ beqz $v0, .L8024A570
/* 13D8A0 8024A560 24840001 */ addiu $a0, $a0, 1
/* 13D8A4 8024A564 A4A30000 */ sh $v1, ($a1)
/* 13D8A8 8024A568 24A50002 */ addiu $a1, $a1, 2
/* 13D8AC 8024A56C 26100001 */ addiu $s0, $s0, 1
.L8024A570:
/* 13D8B0 8024A570 28820020 */ slti $v0, $a0, 0x20
/* 13D8B4 8024A574 1440FFF7 */ bnez $v0, .L8024A554
/* 13D8B8 8024A578 24C60002 */ addiu $a2, $a2, 2
.L8024A57C:
/* 13D8BC 8024A57C 16000005 */ bnez $s0, .L8024A594
/* 13D8C0 8024A580 24027FFE */ addiu $v0, $zero, 0x7ffe
/* 13D8C4 8024A584 3C018027 */ lui $at, %hi(gItemMenuItemIDs)
/* 13D8C8 8024A588 A4220400 */ sh $v0, %lo(gItemMenuItemIDs)($at)
/* 13D8CC 8024A58C 0809296B */ j .L8024A5AC
/* 13D8D0 8024A590 24100001 */ addiu $s0, $zero, 1
.L8024A594:
/* 13D8D4 8024A594 3C048027 */ lui $a0, %hi(gItemMenuItemIDs)
/* 13D8D8 8024A598 24840400 */ addiu $a0, $a0, %lo(gItemMenuItemIDs)
/* 13D8DC 8024A59C 3C068025 */ lui $a2, %hi(pause_items_comparator)
/* 13D8E0 8024A5A0 24C697B0 */ addiu $a2, $a2, %lo(pause_items_comparator)
/* 13D8E4 8024A5A4 0C091293 */ jal pause_sort_item_list
/* 13D8E8 8024A5A8 0200282D */ daddu $a1, $s0, $zero
.L8024A5AC:
/* 13D8EC 8024A5AC 3C018027 */ lui $at, %hi(gItemMenuNumItems)
/* 13D8F0 8024A5B0 A43005CC */ sh $s0, %lo(gItemMenuNumItems)($at)
/* 13D8F4 8024A5B4 0200202D */ daddu $a0, $s0, $zero
/* 13D8F8 8024A5B8 28820064 */ slti $v0, $a0, 0x64
/* 13D8FC 8024A5BC 1040000A */ beqz $v0, .L8024A5E8
/* 13D900 8024A5C0 24057FFF */ addiu $a1, $zero, 0x7fff
/* 13D904 8024A5C4 3C038027 */ lui $v1, %hi(gItemMenuItemIDs)
/* 13D908 8024A5C8 24630400 */ addiu $v1, $v1, %lo(gItemMenuItemIDs)
/* 13D90C 8024A5CC 00041040 */ sll $v0, $a0, 1
/* 13D910 8024A5D0 00431821 */ addu $v1, $v0, $v1
.L8024A5D4:
/* 13D914 8024A5D4 A4650000 */ sh $a1, ($v1)
/* 13D918 8024A5D8 24840001 */ addiu $a0, $a0, 1
/* 13D91C 8024A5DC 28820064 */ slti $v0, $a0, 0x64
/* 13D920 8024A5E0 1440FFFC */ bnez $v0, .L8024A5D4
/* 13D924 8024A5E4 24630002 */ addiu $v1, $v1, 2
.L8024A5E8:
/* 13D928 8024A5E8 3C058027 */ lui $a1, %hi(gItemMenuPages)
/* 13D92C 8024A5EC 24A504D0 */ addiu $a1, $a1, %lo(gItemMenuPages)
/* 13D930 8024A5F0 0000202D */ daddu $a0, $zero, $zero
/* 13D934 8024A5F4 3C078027 */ lui $a3, %hi(gItemMenuNumItems)
/* 13D938 8024A5F8 24E705CC */ addiu $a3, $a3, %lo(gItemMenuNumItems)
/* 13D93C 8024A5FC 24060001 */ addiu $a2, $zero, 1
/* 13D940 8024A600 24090008 */ addiu $t1, $zero, 8
/* 13D944 8024A604 24080008 */ addiu $t0, $zero, 8
/* 13D948 8024A608 00A81821 */ addu $v1, $a1, $t0
/* 13D94C 8024A60C 3C018027 */ lui $at, %hi(gItemMenuSelectedIndex)
/* 13D950 8024A610 AC2005C0 */ sw $zero, %lo(gItemMenuSelectedIndex)($at)
/* 13D954 8024A614 3C018027 */ lui $at, %hi(gItemMenuSelectedItemID)
/* 13D958 8024A618 AC2005C8 */ sw $zero, %lo(gItemMenuSelectedItemID)($at)
/* 13D95C 8024A61C 3C018027 */ lui $at, %hi(D_802705C4)
/* 13D960 8024A620 AC2005C4 */ sw $zero, %lo(D_802705C4)($at)
/* 13D964 8024A624 3C018027 */ lui $at, %hi(D_802705DC)
/* 13D968 8024A628 AC2005DC */ sw $zero, %lo(D_802705DC)($at)
/* 13D96C 8024A62C 3C018027 */ lui $at, %hi(gItemMenuCurrentPage)
/* 13D970 8024A630 AC2004C8 */ sw $zero, %lo(gItemMenuCurrentPage)($at)
.L8024A634:
/* 13D974 8024A634 84E20000 */ lh $v0, ($a3)
/* 13D978 8024A638 04420001 */ bltzl $v0, .L8024A640
/* 13D97C 8024A63C 24420007 */ addiu $v0, $v0, 7
.L8024A640:
/* 13D980 8024A640 000210C3 */ sra $v0, $v0, 3
/* 13D984 8024A644 0082102A */ slt $v0, $a0, $v0
/* 13D988 8024A648 1040000B */ beqz $v0, .L8024A678
/* 13D98C 8024A64C 000410C0 */ sll $v0, $a0, 3
/* 13D990 8024A650 24840001 */ addiu $a0, $a0, 1
/* 13D994 8024A654 A062FFF9 */ sb $v0, -7($v1)
/* 13D998 8024A658 A066FFFA */ sb $a2, -6($v1)
/* 13D99C 8024A65C A069FFFB */ sb $t1, -5($v1)
/* 13D9A0 8024A660 A0A60000 */ sb $a2, ($a1)
/* 13D9A4 8024A664 AC62FFFC */ sw $v0, -4($v1)
/* 13D9A8 8024A668 AC680000 */ sw $t0, ($v1)
/* 13D9AC 8024A66C 2463000C */ addiu $v1, $v1, 0xc
/* 13D9B0 8024A670 0809298D */ j .L8024A634
/* 13D9B4 8024A674 24A5000C */ addiu $a1, $a1, 0xc
.L8024A678:
/* 13D9B8 8024A678 94E20000 */ lhu $v0, ($a3)
/* 13D9BC 8024A67C 30420007 */ andi $v0, $v0, 7
/* 13D9C0 8024A680 10400016 */ beqz $v0, .L8024A6DC
/* 13D9C4 8024A684 000418C0 */ sll $v1, $a0, 3
/* 13D9C8 8024A688 24020001 */ addiu $v0, $zero, 1
/* 13D9CC 8024A68C A0A30001 */ sb $v1, 1($a1)
/* 13D9D0 8024A690 A0A20002 */ sb $v0, 2($a1)
/* 13D9D4 8024A694 A0A20000 */ sb $v0, ($a1)
/* 13D9D8 8024A698 84E60000 */ lh $a2, ($a3)
/* 13D9DC 8024A69C ACA30004 */ sw $v1, 4($a1)
/* 13D9E0 8024A6A0 04C10002 */ bgez $a2, .L8024A6AC
/* 13D9E4 8024A6A4 00C0102D */ daddu $v0, $a2, $zero
/* 13D9E8 8024A6A8 24C20007 */ addiu $v0, $a2, 7
.L8024A6AC:
/* 13D9EC 8024A6AC 000210C3 */ sra $v0, $v0, 3
/* 13D9F0 8024A6B0 000210C0 */ sll $v0, $v0, 3
/* 13D9F4 8024A6B4 00C21023 */ subu $v0, $a2, $v0
/* 13D9F8 8024A6B8 00021400 */ sll $v0, $v0, 0x10
/* 13D9FC 8024A6BC 00021403 */ sra $v0, $v0, 0x10
/* 13DA00 8024A6C0 ACA20008 */ sw $v0, 8($a1)
/* 13DA04 8024A6C4 90A2000B */ lbu $v0, 0xb($a1)
/* 13DA08 8024A6C8 24840001 */ addiu $a0, $a0, 1
/* 13DA0C 8024A6CC 080929B6 */ j .L8024A6D8
/* 13DA10 8024A6D0 A0A20003 */ sb $v0, 3($a1)
.L8024A6D4:
/* 13DA14 8024A6D4 24840001 */ addiu $a0, $a0, 1
.L8024A6D8:
/* 13DA18 8024A6D8 24A5000C */ addiu $a1, $a1, 0xc
.L8024A6DC:
/* 13DA1C 8024A6DC 28820014 */ slti $v0, $a0, 0x14
/* 13DA20 8024A6E0 5440FFFC */ bnel $v0, $zero, .L8024A6D4
/* 13DA24 8024A6E4 A0A00000 */ sb $zero, ($a1)
/* 13DA28 8024A6E8 0000202D */ daddu $a0, $zero, $zero
/* 13DA2C 8024A6EC 0C09260A */ jal pause_items_get_pos_y
/* 13DA30 8024A6F0 0080282D */ daddu $a1, $a0, $zero
/* 13DA34 8024A6F4 8FBF0014 */ lw $ra, 0x14($sp)
/* 13DA38 8024A6F8 8FB00010 */ lw $s0, 0x10($sp)
/* 13DA3C 8024A6FC 3C018027 */ lui $at, %hi(gItemMenuCurrentScrollPos)
/* 13DA40 8024A700 AC2205D4 */ sw $v0, %lo(gItemMenuCurrentScrollPos)($at)
/* 13DA44 8024A704 3C018027 */ lui $at, %hi(gItemMenuTargetScrollPos)
/* 13DA48 8024A708 AC2205D8 */ sw $v0, %lo(gItemMenuTargetScrollPos)($at)
/* 13DA4C 8024A70C 03E00008 */ jr $ra
/* 13DA50 8024A710 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,679 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel pause_map_draw_contents
/* 140E5C 8024DB1C 27BDFF60 */ addiu $sp, $sp, -0xa0
/* 140E60 8024DB20 AFB7008C */ sw $s7, 0x8c($sp)
/* 140E64 8024DB24 0000B82D */ daddu $s7, $zero, $zero
/* 140E68 8024DB28 3C02800A */ lui $v0, %hi(gMasterGfxPos)
/* 140E6C 8024DB2C 2442A66C */ addiu $v0, $v0, %lo(gMasterGfxPos)
/* 140E70 8024DB30 AFB10074 */ sw $s1, 0x74($sp)
/* 140E74 8024DB34 0040882D */ daddu $s1, $v0, $zero
/* 140E78 8024DB38 AFB40080 */ sw $s4, 0x80($sp)
/* 140E7C 8024DB3C 3C14F548 */ lui $s4, 0xf548
/* 140E80 8024DB40 3C018027 */ lui $at, %hi(pause_map_cameraY)
/* 140E84 8024DB44 C4200708 */ lwc1 $f0, %lo(pause_map_cameraY)($at)
/* 140E88 8024DB48 36945000 */ ori $s4, $s4, 0x5000
/* 140E8C 8024DB4C AFBE0090 */ sw $fp, 0x90($sp)
/* 140E90 8024DB50 3C1EE700 */ lui $fp, 0xe700
/* 140E94 8024DB54 AFB50084 */ sw $s5, 0x84($sp)
/* 140E98 8024DB58 AFA500A4 */ sw $a1, 0xa4($sp)
/* 140E9C 8024DB5C 24B5001A */ addiu $s5, $a1, 0x1a
/* 140EA0 8024DB60 AFB60088 */ sw $s6, 0x88($sp)
/* 140EA4 8024DB64 24B60104 */ addiu $s6, $a1, 0x104
/* 140EA8 8024DB68 AFB20078 */ sw $s2, 0x78($sp)
/* 140EAC 8024DB6C 24120004 */ addiu $s2, $zero, 4
/* 140EB0 8024DB70 AFB3007C */ sw $s3, 0x7c($sp)
/* 140EB4 8024DB74 24130016 */ addiu $s3, $zero, 0x16
/* 140EB8 8024DB78 AFB00070 */ sw $s0, 0x70($sp)
/* 140EBC 8024DB7C 02E0802D */ daddu $s0, $s7, $zero
/* 140EC0 8024DB80 AFBF0094 */ sw $ra, 0x94($sp)
/* 140EC4 8024DB84 F7B40098 */ sdc1 $f20, 0x98($sp)
/* 140EC8 8024DB88 AFA600A8 */ sw $a2, 0xa8($sp)
/* 140ECC 8024DB8C AFA700AC */ sw $a3, 0xac($sp)
/* 140ED0 8024DB90 8E220000 */ lw $v0, ($s1)
/* 140ED4 8024DB94 4600018D */ trunc.w.s $f6, $f0
/* 140ED8 8024DB98 E7A60054 */ swc1 $f6, 0x54($sp)
/* 140EDC 8024DB9C 3C018027 */ lui $at, %hi(pause_map_cameraX)
/* 140EE0 8024DBA0 C4200704 */ lwc1 $f0, %lo(pause_map_cameraX)($at)
/* 140EE4 8024DBA4 0040202D */ daddu $a0, $v0, $zero
/* 140EE8 8024DBA8 4600018D */ trunc.w.s $f6, $f0
/* 140EEC 8024DBAC E7A60050 */ swc1 $f6, 0x50($sp)
/* 140EF0 8024DBB0 8FAF0050 */ lw $t7, 0x50($sp)
/* 140EF4 8024DBB4 24420008 */ addiu $v0, $v0, 8
/* 140EF8 8024DBB8 000F1823 */ negu $v1, $t7
/* 140EFC 8024DBBC 00031940 */ sll $v1, $v1, 5
/* 140F00 8024DBC0 AFA30058 */ sw $v1, 0x58($sp)
/* 140F04 8024DBC4 AE220000 */ sw $v0, ($s1)
/* 140F08 8024DBC8 3C02DE00 */ lui $v0, 0xde00
/* 140F0C 8024DBCC AC820000 */ sw $v0, ($a0)
/* 140F10 8024DBD0 3C028027 */ lui $v0, %hi(D_8026F118)
/* 140F14 8024DBD4 2442F118 */ addiu $v0, $v0, %lo(D_8026F118)
/* 140F18 8024DBD8 AC820004 */ sw $v0, 4($a0)
.L8024DBDC:
/* 140F1C 8024DBDC 2A42006F */ slti $v0, $s2, 0x6f
/* 140F20 8024DBE0 14400003 */ bnez $v0, .L8024DBF0
/* 140F24 8024DBE4 240D0004 */ addiu $t5, $zero, 4
/* 140F28 8024DBE8 2402006F */ addiu $v0, $zero, 0x6f
/* 140F2C 8024DBEC 00506823 */ subu $t5, $v0, $s0
.L8024DBF0:
/* 140F30 8024DBF0 3C02FD48 */ lui $v0, 0xfd48
/* 140F34 8024DBF4 3442013F */ ori $v0, $v0, 0x13f
/* 140F38 8024DBF8 3C090708 */ lui $t1, 0x708
/* 140F3C 8024DBFC 35290200 */ ori $t1, $t1, 0x200
/* 140F40 8024DC00 3C0A074F */ lui $t2, 0x74f
/* 140F44 8024DC04 354AC000 */ ori $t2, $t2, 0xc000
/* 140F48 8024DC08 3C0B0008 */ lui $t3, 8
/* 140F4C 8024DC0C 356B0200 */ ori $t3, $t3, 0x200
/* 140F50 8024DC10 3C0C004F */ lui $t4, 0x4f
/* 140F54 8024DC14 358CC000 */ ori $t4, $t4, 0xc000
/* 140F58 8024DC18 00152080 */ sll $a0, $s5, 2
/* 140F5C 8024DC1C 00163080 */ sll $a2, $s6, 2
/* 140F60 8024DC20 8FAE00A8 */ lw $t6, 0xa8($sp)
/* 140F64 8024DC24 8E230000 */ lw $v1, ($s1)
/* 140F68 8024DC28 01D33821 */ addu $a3, $t6, $s3
/* 140F6C 8024DC2C 00072880 */ sll $a1, $a3, 2
/* 140F70 8024DC30 00ED3821 */ addu $a3, $a3, $t5
/* 140F74 8024DC34 00073880 */ sll $a3, $a3, 2
/* 140F78 8024DC38 0060402D */ daddu $t0, $v1, $zero
/* 140F7C 8024DC3C 24630008 */ addiu $v1, $v1, 8
/* 140F80 8024DC40 AE230000 */ sw $v1, ($s1)
/* 140F84 8024DC44 AD020000 */ sw $v0, ($t0)
/* 140F88 8024DC48 3C028025 */ lui $v0, %hi(D_802510B0)
/* 140F8C 8024DC4C 244210B0 */ addiu $v0, $v0, %lo(D_802510B0)
/* 140F90 8024DC50 AD020004 */ sw $v0, 4($t0)
/* 140F94 8024DC54 24620008 */ addiu $v0, $v1, 8
/* 140F98 8024DC58 AE220000 */ sw $v0, ($s1)
/* 140F9C 8024DC5C 24620010 */ addiu $v0, $v1, 0x10
/* 140FA0 8024DC60 AC740000 */ sw $s4, ($v1)
/* 140FA4 8024DC64 AC690004 */ sw $t1, 4($v1)
/* 140FA8 8024DC68 AE220000 */ sw $v0, ($s1)
/* 140FAC 8024DC6C 3C02E600 */ lui $v0, 0xe600
/* 140FB0 8024DC70 AC620008 */ sw $v0, 8($v1)
/* 140FB4 8024DC74 24620018 */ addiu $v0, $v1, 0x18
/* 140FB8 8024DC78 AC60000C */ sw $zero, 0xc($v1)
/* 140FBC 8024DC7C AE220000 */ sw $v0, ($s1)
/* 140FC0 8024DC80 3C02F400 */ lui $v0, 0xf400
/* 140FC4 8024DC84 8FAF0054 */ lw $t7, 0x54($sp)
/* 140FC8 8024DC88 020D4021 */ addu $t0, $s0, $t5
/* 140FCC 8024DC8C 020F4823 */ subu $t1, $s0, $t7
/* 140FD0 8024DC90 00094880 */ sll $t1, $t1, 2
/* 140FD4 8024DC94 31290FFF */ andi $t1, $t1, 0xfff
/* 140FD8 8024DC98 01221025 */ or $v0, $t1, $v0
/* 140FDC 8024DC9C AC620010 */ sw $v0, 0x10($v1)
/* 140FE0 8024DCA0 25E20001 */ addiu $v0, $t7, 1
/* 140FE4 8024DCA4 01024023 */ subu $t0, $t0, $v0
/* 140FE8 8024DCA8 00084080 */ sll $t0, $t0, 2
/* 140FEC 8024DCAC 31080FFF */ andi $t0, $t0, 0xfff
/* 140FF0 8024DCB0 010A5025 */ or $t2, $t0, $t2
/* 140FF4 8024DCB4 24620020 */ addiu $v0, $v1, 0x20
/* 140FF8 8024DCB8 AC6A0014 */ sw $t2, 0x14($v1)
/* 140FFC 8024DCBC AE220000 */ sw $v0, ($s1)
/* 141000 8024DCC0 24620028 */ addiu $v0, $v1, 0x28
/* 141004 8024DCC4 AC7E0018 */ sw $fp, 0x18($v1)
/* 141008 8024DCC8 AC60001C */ sw $zero, 0x1c($v1)
/* 14100C 8024DCCC AE220000 */ sw $v0, ($s1)
/* 141010 8024DCD0 24620030 */ addiu $v0, $v1, 0x30
/* 141014 8024DCD4 AC740020 */ sw $s4, 0x20($v1)
/* 141018 8024DCD8 AC6B0024 */ sw $t3, 0x24($v1)
/* 14101C 8024DCDC AE220000 */ sw $v0, ($s1)
/* 141020 8024DCE0 3C02F200 */ lui $v0, 0xf200
/* 141024 8024DCE4 01224825 */ or $t1, $t1, $v0
/* 141028 8024DCE8 010C4025 */ or $t0, $t0, $t4
/* 14102C 8024DCEC 020F1023 */ subu $v0, $s0, $t7
/* 141030 8024DCF0 AC690028 */ sw $t1, 0x28($v1)
/* 141034 8024DCF4 AC68002C */ sw $t0, 0x2c($v1)
/* 141038 8024DCF8 8FAE0058 */ lw $t6, 0x58($sp)
/* 14103C 8024DCFC 00021140 */ sll $v0, $v0, 5
/* 141040 8024DD00 AFA20018 */ sw $v0, 0x18($sp)
/* 141044 8024DD04 24020400 */ addiu $v0, $zero, 0x400
/* 141048 8024DD08 AFA00010 */ sw $zero, 0x10($sp)
/* 14104C 8024DD0C AFA2001C */ sw $v0, 0x1c($sp)
/* 141050 8024DD10 AFA20020 */ sw $v0, 0x20($sp)
/* 141054 8024DD14 0C091216 */ jal pause_draw_rect
/* 141058 8024DD18 AFAE0014 */ sw $t6, 0x14($sp)
/* 14105C 8024DD1C 8E250000 */ lw $a1, ($s1)
/* 141060 8024DD20 00A0102D */ daddu $v0, $a1, $zero
/* 141064 8024DD24 24A50008 */ addiu $a1, $a1, 8
/* 141068 8024DD28 AE250000 */ sw $a1, ($s1)
/* 14106C 8024DD2C AC5E0000 */ sw $fp, ($v0)
/* 141070 8024DD30 AC400004 */ sw $zero, 4($v0)
/* 141074 8024DD34 2A42006E */ slti $v0, $s2, 0x6e
/* 141078 8024DD38 10400008 */ beqz $v0, .L8024DD5C
/* 14107C 8024DD3C 02A0202D */ daddu $a0, $s5, $zero
/* 141080 8024DD40 26520004 */ addiu $s2, $s2, 4
/* 141084 8024DD44 26730004 */ addiu $s3, $s3, 4
/* 141088 8024DD48 26F70001 */ addiu $s7, $s7, 1
/* 14108C 8024DD4C 2AE2003C */ slti $v0, $s7, 0x3c
/* 141090 8024DD50 1440FFA2 */ bnez $v0, .L8024DBDC
/* 141094 8024DD54 26100004 */ addiu $s0, $s0, 4
/* 141098 8024DD58 02A0202D */ daddu $a0, $s5, $zero
.L8024DD5C:
/* 14109C 8024DD5C 02C0302D */ daddu $a2, $s6, $zero
/* 1410A0 8024DD60 8FAF00A8 */ lw $t7, 0xa8($sp)
/* 1410A4 8024DD64 24A20008 */ addiu $v0, $a1, 8
/* 1410A8 8024DD68 AE220000 */ sw $v0, ($s1)
/* 1410AC 8024DD6C 3C02DE00 */ lui $v0, 0xde00
/* 1410B0 8024DD70 ACA20000 */ sw $v0, ($a1)
/* 1410B4 8024DD74 3C028027 */ lui $v0, %hi(D_8026F1B8)
/* 1410B8 8024DD78 2442F1B8 */ addiu $v0, $v0, %lo(D_8026F1B8)
/* 1410BC 8024DD7C ACA20004 */ sw $v0, 4($a1)
/* 1410C0 8024DD80 25E30016 */ addiu $v1, $t7, 0x16
/* 1410C4 8024DD84 1C800002 */ bgtz $a0, .L8024DD90
/* 1410C8 8024DD88 25E70084 */ addiu $a3, $t7, 0x84
/* 1410CC 8024DD8C 24040001 */ addiu $a0, $zero, 1
.L8024DD90:
/* 1410D0 8024DD90 58600001 */ blezl $v1, .L8024DD98
/* 1410D4 8024DD94 24030001 */ addiu $v1, $zero, 1
.L8024DD98:
/* 1410D8 8024DD98 18C001DF */ blez $a2, .L8024E518
/* 1410DC 8024DD9C 00000000 */ nop
/* 1410E0 8024DDA0 18E001DD */ blez $a3, .L8024E518
/* 1410E4 8024DDA4 2882013F */ slti $v0, $a0, 0x13f
/* 1410E8 8024DDA8 104001DB */ beqz $v0, .L8024E518
/* 1410EC 8024DDAC 286200EF */ slti $v0, $v1, 0xef
/* 1410F0 8024DDB0 104001D9 */ beqz $v0, .L8024E518
/* 1410F4 8024DDB4 28C2013F */ slti $v0, $a2, 0x13f
/* 1410F8 8024DDB8 50400001 */ beql $v0, $zero, .L8024DDC0
/* 1410FC 8024DDBC 2406013F */ addiu $a2, $zero, 0x13f
.L8024DDC0:
/* 141100 8024DDC0 28E200EF */ slti $v0, $a3, 0xef
/* 141104 8024DDC4 50400001 */ beql $v0, $zero, .L8024DDCC
/* 141108 8024DDC8 240700EF */ addiu $a3, $zero, 0xef
.L8024DDCC:
/* 14110C 8024DDCC 3C0E8025 */ lui $t6, %hi(pause_map_spaces)
/* 141110 8024DDD0 25CE02B8 */ addiu $t6, $t6, %lo(pause_map_spaces)
/* 141114 8024DDD4 0000B82D */ daddu $s7, $zero, $zero
/* 141118 8024DDD8 3C08800A */ lui $t0, %hi(gMasterGfxPos)
/* 14111C 8024DDDC 2508A66C */ addiu $t0, $t0, %lo(gMasterGfxPos)
/* 141120 8024DDE0 44841000 */ mtc1 $a0, $f2
/* 141124 8024DDE4 00000000 */ nop
/* 141128 8024DDE8 468010A0 */ cvt.s.w $f2, $f2
/* 14112C 8024DDEC 24A20010 */ addiu $v0, $a1, 0x10
/* 141130 8024DDF0 8FAF0050 */ lw $t7, 0x50($sp)
/* 141134 8024DDF4 44830000 */ mtc1 $v1, $f0
/* 141138 8024DDF8 00000000 */ nop
/* 14113C 8024DDFC 46800020 */ cvt.s.w $f0, $f0
/* 141140 8024DE00 AFAE005C */ sw $t6, 0x5c($sp)
/* 141144 8024DE04 8FAE00A4 */ lw $t6, 0xa4($sp)
/* 141148 8024DE08 3C014080 */ lui $at, 0x4080
/* 14114C 8024DE0C 44812000 */ mtc1 $at, $f4
/* 141150 8024DE10 01EE7821 */ addu $t7, $t7, $t6
/* 141154 8024DE14 46041082 */ mul.s $f2, $f2, $f4
/* 141158 8024DE18 00000000 */ nop
/* 14115C 8024DE1C AFAF0060 */ sw $t7, 0x60($sp)
/* 141160 8024DE20 8FAF0054 */ lw $t7, 0x54($sp)
/* 141164 8024DE24 8FAE00A8 */ lw $t6, 0xa8($sp)
/* 141168 8024DE28 3C04ED00 */ lui $a0, 0xed00
/* 14116C 8024DE2C 01EE7821 */ addu $t7, $t7, $t6
/* 141170 8024DE30 AFAF0064 */ sw $t7, 0x64($sp)
/* 141174 8024DE34 8FAF005C */ lw $t7, 0x5c($sp)
/* 141178 8024DE38 46040002 */ mul.s $f0, $f0, $f4
/* 14117C 8024DE3C 00000000 */ nop
/* 141180 8024DE40 AE220000 */ sw $v0, ($s1)
/* 141184 8024DE44 25FE0008 */ addiu $fp, $t7, 8
/* 141188 8024DE48 4600118D */ trunc.w.s $f6, $f2
/* 14118C 8024DE4C 44023000 */ mfc1 $v0, $f6
/* 141190 8024DE50 00000000 */ nop
/* 141194 8024DE54 30420FFF */ andi $v0, $v0, 0xfff
/* 141198 8024DE58 00021300 */ sll $v0, $v0, 0xc
/* 14119C 8024DE5C 4600018D */ trunc.w.s $f6, $f0
/* 1411A0 8024DE60 44033000 */ mfc1 $v1, $f6
/* 1411A4 8024DE64 44861000 */ mtc1 $a2, $f2
/* 1411A8 8024DE68 00000000 */ nop
/* 1411AC 8024DE6C 468010A0 */ cvt.s.w $f2, $f2
/* 1411B0 8024DE70 46041082 */ mul.s $f2, $f2, $f4
/* 1411B4 8024DE74 00000000 */ nop
/* 1411B8 8024DE78 30630FFF */ andi $v1, $v1, 0xfff
/* 1411BC 8024DE7C 00641825 */ or $v1, $v1, $a0
/* 1411C0 8024DE80 00431025 */ or $v0, $v0, $v1
/* 1411C4 8024DE84 44870000 */ mtc1 $a3, $f0
/* 1411C8 8024DE88 00000000 */ nop
/* 1411CC 8024DE8C 46800020 */ cvt.s.w $f0, $f0
/* 1411D0 8024DE90 46040002 */ mul.s $f0, $f0, $f4
/* 1411D4 8024DE94 00000000 */ nop
/* 1411D8 8024DE98 ACA20008 */ sw $v0, 8($a1)
/* 1411DC 8024DE9C 4600118D */ trunc.w.s $f6, $f2
/* 1411E0 8024DEA0 44023000 */ mfc1 $v0, $f6
/* 1411E4 8024DEA4 00000000 */ nop
/* 1411E8 8024DEA8 30420FFF */ andi $v0, $v0, 0xfff
/* 1411EC 8024DEAC 00021300 */ sll $v0, $v0, 0xc
/* 1411F0 8024DEB0 4600018D */ trunc.w.s $f6, $f0
/* 1411F4 8024DEB4 44033000 */ mfc1 $v1, $f6
/* 1411F8 8024DEB8 00000000 */ nop
/* 1411FC 8024DEBC 30630FFF */ andi $v1, $v1, 0xfff
/* 141200 8024DEC0 00431025 */ or $v0, $v0, $v1
/* 141204 8024DEC4 ACA2000C */ sw $v0, 0xc($a1)
.L8024DEC8:
/* 141208 8024DEC8 3C05F840 */ lui $a1, 0xf840
/* 14120C 8024DECC 34A5632A */ ori $a1, $a1, 0x632a
/* 141210 8024DED0 0000202D */ daddu $a0, $zero, $zero
/* 141214 8024DED4 8FAF005C */ lw $t7, 0x5c($sp)
/* 141218 8024DED8 87D1FFFA */ lh $s1, -6($fp)
/* 14121C 8024DEDC 85F00000 */ lh $s0, ($t7)
/* 141220 8024DEE0 02E52821 */ addu $a1, $s7, $a1
/* 141224 8024DEE4 0C0B1EAF */ jal evt_get_variable
/* 141228 8024DEE8 AFA80068 */ sw $t0, 0x68($sp)
/* 14122C 8024DEEC 8FA80068 */ lw $t0, 0x68($sp)
/* 141230 8024DEF0 5040007D */ beql $v0, $zero, .L8024E0E8
/* 141234 8024DEF4 26F70001 */ addiu $s7, $s7, 1
/* 141238 8024DEF8 3C028027 */ lui $v0, %hi(pause_map_cursorCurrentOption)
/* 14123C 8024DEFC 8C42071C */ lw $v0, %lo(pause_map_cursorCurrentOption)($v0)
/* 141240 8024DF00 12E2000A */ beq $s7, $v0, .L8024DF2C
/* 141244 8024DF04 3C02DC50 */ lui $v0, 0xdc50
/* 141248 8024DF08 8D030000 */ lw $v1, ($t0)
/* 14124C 8024DF0C 34421EFF */ ori $v0, $v0, 0x1eff
/* 141250 8024DF10 0060202D */ daddu $a0, $v1, $zero
/* 141254 8024DF14 24630008 */ addiu $v1, $v1, 8
/* 141258 8024DF18 3C0EFA00 */ lui $t6, 0xfa00
/* 14125C 8024DF1C AD030000 */ sw $v1, ($t0)
/* 141260 8024DF20 AC8E0000 */ sw $t6, ($a0)
/* 141264 8024DF24 080937ED */ j .L8024DFB4
/* 141268 8024DF28 AC820004 */ sw $v0, 4($a0)
.L8024DF2C:
/* 14126C 8024DF2C 3C058888 */ lui $a1, 0x8888
/* 141270 8024DF30 8D030000 */ lw $v1, ($t0)
/* 141274 8024DF34 3C028007 */ lui $v0, %hi(gGameStatusPtr)
/* 141278 8024DF38 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0)
/* 14127C 8024DF3C 0060302D */ daddu $a2, $v1, $zero
/* 141280 8024DF40 3C0FFA00 */ lui $t7, 0xfa00
/* 141284 8024DF44 ACCF0000 */ sw $t7, ($a2)
/* 141288 8024DF48 94420134 */ lhu $v0, 0x134($v0)
/* 14128C 8024DF4C 34A58889 */ ori $a1, $a1, 0x8889
/* 141290 8024DF50 00022080 */ sll $a0, $v0, 2
/* 141294 8024DF54 00822021 */ addu $a0, $a0, $v0
/* 141298 8024DF58 00042040 */ sll $a0, $a0, 1
/* 14129C 8024DF5C 00850018 */ mult $a0, $a1
/* 1412A0 8024DF60 24630008 */ addiu $v1, $v1, 8
/* 1412A4 8024DF64 AD030000 */ sw $v1, ($t0)
/* 1412A8 8024DF68 000417C3 */ sra $v0, $a0, 0x1f
/* 1412AC 8024DF6C 00007010 */ mfhi $t6
/* 1412B0 8024DF70 01C41821 */ addu $v1, $t6, $a0
/* 1412B4 8024DF74 00031983 */ sra $v1, $v1, 6
/* 1412B8 8024DF78 00621823 */ subu $v1, $v1, $v0
/* 1412BC 8024DF7C 00031100 */ sll $v0, $v1, 4
/* 1412C0 8024DF80 00431023 */ subu $v0, $v0, $v1
/* 1412C4 8024DF84 000210C0 */ sll $v0, $v0, 3
/* 1412C8 8024DF88 00822023 */ subu $a0, $a0, $v0
/* 1412CC 8024DF8C 24820078 */ addiu $v0, $a0, 0x78
/* 1412D0 8024DF90 304200FF */ andi $v0, $v0, 0xff
/* 1412D4 8024DF94 00021E00 */ sll $v1, $v0, 0x18
/* 1412D8 8024DF98 00021400 */ sll $v0, $v0, 0x10
/* 1412DC 8024DF9C 00621825 */ or $v1, $v1, $v0
/* 1412E0 8024DFA0 308400FF */ andi $a0, $a0, 0xff
/* 1412E4 8024DFA4 00042200 */ sll $a0, $a0, 8
/* 1412E8 8024DFA8 00641825 */ or $v1, $v1, $a0
/* 1412EC 8024DFAC 346300FF */ ori $v1, $v1, 0xff
/* 1412F0 8024DFB0 ACC30004 */ sw $v1, 4($a2)
.L8024DFB4:
/* 1412F4 8024DFB4 8FAF0060 */ lw $t7, 0x60($sp)
/* 1412F8 8024DFB8 8FAE0064 */ lw $t6, 0x64($sp)
/* 1412FC 8024DFBC 2602001A */ addiu $v0, $s0, 0x1a
/* 141300 8024DFC0 AFA00010 */ sw $zero, 0x10($sp)
/* 141304 8024DFC4 AFA00014 */ sw $zero, 0x14($sp)
/* 141308 8024DFC8 AFA00018 */ sw $zero, 0x18($sp)
/* 14130C 8024DFCC AFA80068 */ sw $t0, 0x68($sp)
/* 141310 8024DFD0 01E2A821 */ addu $s5, $t7, $v0
/* 141314 8024DFD4 26A4FFF8 */ addiu $a0, $s5, -8
/* 141318 8024DFD8 00042080 */ sll $a0, $a0, 2
/* 14131C 8024DFDC 26220016 */ addiu $v0, $s1, 0x16
/* 141320 8024DFE0 01C2A021 */ addu $s4, $t6, $v0
/* 141324 8024DFE4 2685FFF8 */ addiu $a1, $s4, -8
/* 141328 8024DFE8 00052880 */ sll $a1, $a1, 2
/* 14132C 8024DFEC 26A60008 */ addiu $a2, $s5, 8
/* 141330 8024DFF0 00063080 */ sll $a2, $a2, 2
/* 141334 8024DFF4 26870008 */ addiu $a3, $s4, 8
/* 141338 8024DFF8 00073880 */ sll $a3, $a3, 2
/* 14133C 8024DFFC 240F0400 */ addiu $t7, $zero, 0x400
/* 141340 8024E000 01E0702D */ daddu $t6, $t7, $zero
/* 141344 8024E004 AFAF001C */ sw $t7, 0x1c($sp)
/* 141348 8024E008 0C091216 */ jal pause_draw_rect
/* 14134C 8024E00C AFAE0020 */ sw $t6, 0x20($sp)
/* 141350 8024E010 3C05E6BE */ lui $a1, 0xe6be
/* 141354 8024E014 8FA80068 */ lw $t0, 0x68($sp)
/* 141358 8024E018 34A5B4FF */ ori $a1, $a1, 0xb4ff
/* 14135C 8024E01C 8D030000 */ lw $v1, ($t0)
/* 141360 8024E020 3C02E700 */ lui $v0, 0xe700
/* 141364 8024E024 0060202D */ daddu $a0, $v1, $zero
/* 141368 8024E028 24630008 */ addiu $v1, $v1, 8
/* 14136C 8024E02C AC820000 */ sw $v0, ($a0)
/* 141370 8024E030 AC800004 */ sw $zero, 4($a0)
/* 141374 8024E034 3C0FFA00 */ lui $t7, 0xfa00
/* 141378 8024E038 AC6F0000 */ sw $t7, ($v1)
/* 14137C 8024E03C AC650004 */ sw $a1, 4($v1)
/* 141380 8024E040 8FD00000 */ lw $s0, ($fp)
/* 141384 8024E044 AD030000 */ sw $v1, ($t0)
/* 141388 8024E048 24630008 */ addiu $v1, $v1, 8
/* 14138C 8024E04C AD030000 */ sw $v1, ($t0)
/* 141390 8024E050 93D6FFFD */ lbu $s6, -3($fp)
/* 141394 8024E054 52000024 */ beql $s0, $zero, .L8024E0E8
/* 141398 8024E058 26F70001 */ addiu $s7, $s7, 1
/* 14139C 8024E05C 0000982D */ daddu $s3, $zero, $zero
/* 1413A0 8024E060 0260902D */ daddu $s2, $s3, $zero
/* 1413A4 8024E064 12C0001F */ beqz $s6, .L8024E0E4
/* 1413A8 8024E068 0260882D */ daddu $s1, $s3, $zero
/* 1413AC 8024E06C 26310001 */ addiu $s1, $s1, 1
.L8024E070:
/* 1413B0 8024E070 82020000 */ lb $v0, ($s0)
/* 1413B4 8024E074 82030001 */ lb $v1, 1($s0)
/* 1413B8 8024E078 26100002 */ addiu $s0, $s0, 2
/* 1413BC 8024E07C 240E0001 */ addiu $t6, $zero, 1
/* 1413C0 8024E080 240F0400 */ addiu $t7, $zero, 0x400
/* 1413C4 8024E084 AFAE0010 */ sw $t6, 0x10($sp)
/* 1413C8 8024E088 01E0702D */ daddu $t6, $t7, $zero
/* 1413CC 8024E08C AFA00014 */ sw $zero, 0x14($sp)
/* 1413D0 8024E090 AFA00018 */ sw $zero, 0x18($sp)
/* 1413D4 8024E094 AFAF001C */ sw $t7, 0x1c($sp)
/* 1413D8 8024E098 AFAE0020 */ sw $t6, 0x20($sp)
/* 1413DC 8024E09C AFA80068 */ sw $t0, 0x68($sp)
/* 1413E0 8024E0A0 02629821 */ addu $s3, $s3, $v0
/* 1413E4 8024E0A4 02439021 */ addu $s2, $s2, $v1
/* 1413E8 8024E0A8 02B33021 */ addu $a2, $s5, $s3
/* 1413EC 8024E0AC 24C4FFF8 */ addiu $a0, $a2, -8
/* 1413F0 8024E0B0 00042080 */ sll $a0, $a0, 2
/* 1413F4 8024E0B4 02923821 */ addu $a3, $s4, $s2
/* 1413F8 8024E0B8 24E5FFF8 */ addiu $a1, $a3, -8
/* 1413FC 8024E0BC 00052880 */ sll $a1, $a1, 2
/* 141400 8024E0C0 24C60008 */ addiu $a2, $a2, 8
/* 141404 8024E0C4 00063080 */ sll $a2, $a2, 2
/* 141408 8024E0C8 24E70008 */ addiu $a3, $a3, 8
/* 14140C 8024E0CC 0C091216 */ jal pause_draw_rect
/* 141410 8024E0D0 00073880 */ sll $a3, $a3, 2
/* 141414 8024E0D4 0236102A */ slt $v0, $s1, $s6
/* 141418 8024E0D8 8FA80068 */ lw $t0, 0x68($sp)
/* 14141C 8024E0DC 1440FFE4 */ bnez $v0, .L8024E070
/* 141420 8024E0E0 26310001 */ addiu $s1, $s1, 1
.L8024E0E4:
/* 141424 8024E0E4 26F70001 */ addiu $s7, $s7, 1
.L8024E0E8:
/* 141428 8024E0E8 27DE0014 */ addiu $fp, $fp, 0x14
/* 14142C 8024E0EC 8FAF005C */ lw $t7, 0x5c($sp)
/* 141430 8024E0F0 2AE20022 */ slti $v0, $s7, 0x22
/* 141434 8024E0F4 25EF0014 */ addiu $t7, $t7, 0x14
/* 141438 8024E0F8 1440FF73 */ bnez $v0, .L8024DEC8
/* 14143C 8024E0FC AFAF005C */ sw $t7, 0x5c($sp)
/* 141440 8024E100 3C108027 */ lui $s0, %hi(D_80270700)
/* 141444 8024E104 26100700 */ addiu $s0, $s0, %lo(D_80270700)
/* 141448 8024E108 8E040000 */ lw $a0, ($s0)
/* 14144C 8024E10C 8FAE0050 */ lw $t6, 0x50($sp)
/* 141450 8024E110 3C058027 */ lui $a1, %hi(pause_map_marioX)
/* 141454 8024E114 8CA5070C */ lw $a1, %lo(pause_map_marioX)($a1)
/* 141458 8024E118 8FAF00A4 */ lw $t7, 0xa4($sp)
/* 14145C 8024E11C 3C068027 */ lui $a2, %hi(pause_map_marioY)
/* 141460 8024E120 8CC60710 */ lw $a2, %lo(pause_map_marioY)($a2)
/* 141464 8024E124 25C2001A */ addiu $v0, $t6, 0x1a
/* 141468 8024E128 01E29021 */ addu $s2, $t7, $v0
/* 14146C 8024E12C 02452821 */ addu $a1, $s2, $a1
/* 141470 8024E130 8FAE0054 */ lw $t6, 0x54($sp)
/* 141474 8024E134 8FAF00A8 */ lw $t7, 0xa8($sp)
/* 141478 8024E138 25C20016 */ addiu $v0, $t6, 0x16
/* 14147C 8024E13C 01E28821 */ addu $s1, $t7, $v0
/* 141480 8024E140 02263021 */ addu $a2, $s1, $a2
/* 141484 8024E144 0C051261 */ jal set_hud_element_render_pos
/* 141488 8024E148 24C6FFF9 */ addiu $a2, $a2, -7
/* 14148C 8024E14C 8E040000 */ lw $a0, ($s0)
/* 141490 8024E150 0C0511F8 */ jal draw_hud_element_3
/* 141494 8024E154 00000000 */ nop
/* 141498 8024E158 3C138027 */ lui $s3, %hi(gPauseMenuCurrentTab)
/* 14149C 8024E15C 267300D4 */ addiu $s3, $s3, %lo(gPauseMenuCurrentTab)
/* 1414A0 8024E160 82700000 */ lb $s0, ($s3)
/* 1414A4 8024E164 24020006 */ addiu $v0, $zero, 6
/* 1414A8 8024E168 16020081 */ bne $s0, $v0, .L8024E370
/* 1414AC 8024E16C 00000000 */ nop
/* 1414B0 8024E170 3C018027 */ lui $at, %hi(pause_map_targetX)
/* 1414B4 8024E174 C4200714 */ lwc1 $f0, %lo(pause_map_targetX)($at)
/* 1414B8 8024E178 44922000 */ mtc1 $s2, $f4
/* 1414BC 8024E17C 00000000 */ nop
/* 1414C0 8024E180 46802120 */ cvt.s.w $f4, $f4
/* 1414C4 8024E184 46002100 */ add.s $f4, $f4, $f0
/* 1414C8 8024E188 3C018027 */ lui $at, %hi(pause_map_targetY)
/* 1414CC 8024E18C C4200718 */ lwc1 $f0, %lo(pause_map_targetY)($at)
/* 1414D0 8024E190 44911000 */ mtc1 $s1, $f2
/* 1414D4 8024E194 00000000 */ nop
/* 1414D8 8024E198 468010A0 */ cvt.s.w $f2, $f2
/* 1414DC 8024E19C 46001080 */ add.s $f2, $f2, $f0
/* 1414E0 8024E1A0 3C014100 */ lui $at, 0x4100
/* 1414E4 8024E1A4 44810000 */ mtc1 $at, $f0
/* 1414E8 8024E1A8 00000000 */ nop
/* 1414EC 8024E1AC 46002101 */ sub.s $f4, $f4, $f0
/* 1414F0 8024E1B0 4600118D */ trunc.w.s $f6, $f2
/* 1414F4 8024E1B4 44063000 */ mfc1 $a2, $f6
/* 1414F8 8024E1B8 4600218D */ trunc.w.s $f6, $f4
/* 1414FC 8024E1BC 44053000 */ mfc1 $a1, $f6
/* 141500 8024E1C0 0C090B41 */ jal func_80242D04
/* 141504 8024E1C4 24040029 */ addiu $a0, $zero, 0x29
/* 141508 8024E1C8 82620000 */ lb $v0, ($s3)
/* 14150C 8024E1CC 14500068 */ bne $v0, $s0, .L8024E370
/* 141510 8024E1D0 00000000 */ nop
/* 141514 8024E1D4 3C06800A */ lui $a2, %hi(gMasterGfxPos)
/* 141518 8024E1D8 24C6A66C */ addiu $a2, $a2, %lo(gMasterGfxPos)
/* 14151C 8024E1DC 3C05AAAA */ lui $a1, 0xaaaa
/* 141520 8024E1E0 34A5AAAB */ ori $a1, $a1, 0xaaab
/* 141524 8024E1E4 3C028007 */ lui $v0, %hi(gGameStatusPtr)
/* 141528 8024E1E8 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0)
/* 14152C 8024E1EC 3C148027 */ lui $s4, %hi(pause_map_cameraX)
/* 141530 8024E1F0 26940704 */ addiu $s4, $s4, %lo(pause_map_cameraX)
/* 141534 8024E1F4 94430134 */ lhu $v1, 0x134($v0)
/* 141538 8024E1F8 8CC40000 */ lw $a0, ($a2)
/* 14153C 8024E1FC 00650019 */ multu $v1, $a1
/* 141540 8024E200 C6800000 */ lwc1 $f0, ($s4)
/* 141544 8024E204 4480A000 */ mtc1 $zero, $f20
/* 141548 8024E208 0080382D */ daddu $a3, $a0, $zero
/* 14154C 8024E20C 24840008 */ addiu $a0, $a0, 8
/* 141550 8024E210 4614003C */ c.lt.s $f0, $f20
/* 141554 8024E214 ACC40000 */ sw $a0, ($a2)
/* 141558 8024E218 00007010 */ mfhi $t6
/* 14155C 8024E21C 000E20C2 */ srl $a0, $t6, 3
/* 141560 8024E220 00041040 */ sll $v0, $a0, 1
/* 141564 8024E224 00441021 */ addu $v0, $v0, $a0
/* 141568 8024E228 00021080 */ sll $v0, $v0, 2
/* 14156C 8024E22C 00621823 */ subu $v1, $v1, $v0
/* 141570 8024E230 3063FFFF */ andi $v1, $v1, 0xffff
/* 141574 8024E234 00031880 */ sll $v1, $v1, 2
/* 141578 8024E238 3C118025 */ lui $s1, %hi(D_80250560)
/* 14157C 8024E23C 02238821 */ addu $s1, $s1, $v1
/* 141580 8024E240 8E310560 */ lw $s1, %lo(D_80250560)($s1)
/* 141584 8024E244 3C02DE00 */ lui $v0, 0xde00
/* 141588 8024E248 ACE20000 */ sw $v0, ($a3)
/* 14158C 8024E24C 3C028027 */ lui $v0, %hi(D_8026F2A0)
/* 141590 8024E250 2442F2A0 */ addiu $v0, $v0, %lo(D_8026F2A0)
/* 141594 8024E254 ACE20004 */ sw $v0, 4($a3)
/* 141598 8024E258 0220282D */ daddu $a1, $s1, $zero
/* 14159C 8024E25C 0220902D */ daddu $s2, $s1, $zero
/* 1415A0 8024E260 45010002 */ bc1t .L8024E26C
/* 1415A4 8024E264 0220982D */ daddu $s3, $s1, $zero
/* 1415A8 8024E268 0000282D */ daddu $a1, $zero, $zero
.L8024E26C:
/* 1415AC 8024E26C 0000202D */ daddu $a0, $zero, $zero
/* 1415B0 8024E270 24A5FFE6 */ addiu $a1, $a1, -0x1a
/* 1415B4 8024E274 8FAF00A4 */ lw $t7, 0xa4($sp)
/* 1415B8 8024E278 8FAE00B0 */ lw $t6, 0xb0($sp)
/* 1415BC 8024E27C 01E52823 */ subu $a1, $t7, $a1
/* 1415C0 8024E280 000E17C2 */ srl $v0, $t6, 0x1f
/* 1415C4 8024E284 01C21021 */ addu $v0, $t6, $v0
/* 1415C8 8024E288 8FAF00A8 */ lw $t7, 0xa8($sp)
/* 1415CC 8024E28C 00021043 */ sra $v0, $v0, 1
/* 1415D0 8024E290 01E21021 */ addu $v0, $t7, $v0
/* 1415D4 8024E294 2450FFF8 */ addiu $s0, $v0, -8
/* 1415D8 8024E298 0C09368A */ jal pause_map_draw_border_arrows
/* 1415DC 8024E29C 0200302D */ daddu $a2, $s0, $zero
/* 1415E0 8024E2A0 C6820000 */ lwc1 $f2, ($s4)
/* 1415E4 8024E2A4 3C01C2AC */ lui $at, 0xc2ac
/* 1415E8 8024E2A8 44810000 */ mtc1 $at, $f0
/* 1415EC 8024E2AC 00000000 */ nop
/* 1415F0 8024E2B0 4602003C */ c.lt.s $f0, $f2
/* 1415F4 8024E2B4 00000000 */ nop
/* 1415F8 8024E2B8 45020001 */ bc1fl .L8024E2C0
/* 1415FC 8024E2BC 0000902D */ daddu $s2, $zero, $zero
.L8024E2C0:
/* 141600 8024E2C0 24040001 */ addiu $a0, $zero, 1
/* 141604 8024E2C4 2645FFCE */ addiu $a1, $s2, -0x32
/* 141608 8024E2C8 8FAE00A4 */ lw $t6, 0xa4($sp)
/* 14160C 8024E2CC 8FAF00AC */ lw $t7, 0xac($sp)
/* 141610 8024E2D0 0200302D */ daddu $a2, $s0, $zero
/* 141614 8024E2D4 01CF1021 */ addu $v0, $t6, $t7
/* 141618 8024E2D8 0C09368A */ jal pause_map_draw_border_arrows
/* 14161C 8024E2DC 00452821 */ addu $a1, $v0, $a1
/* 141620 8024E2E0 3C128027 */ lui $s2, %hi(pause_map_cameraY)
/* 141624 8024E2E4 26520708 */ addiu $s2, $s2, %lo(pause_map_cameraY)
/* 141628 8024E2E8 C6400000 */ lwc1 $f0, ($s2)
/* 14162C 8024E2EC 4614003C */ c.lt.s $f0, $f20
/* 141630 8024E2F0 00000000 */ nop
/* 141634 8024E2F4 45020001 */ bc1fl .L8024E2FC
/* 141638 8024E2F8 0000982D */ daddu $s3, $zero, $zero
.L8024E2FC:
/* 14163C 8024E2FC 24040002 */ addiu $a0, $zero, 2
/* 141640 8024E300 2666FFE8 */ addiu $a2, $s3, -0x18
/* 141644 8024E304 8FAE00AC */ lw $t6, 0xac($sp)
/* 141648 8024E308 8FAF00A4 */ lw $t7, 0xa4($sp)
/* 14164C 8024E30C 000E17C2 */ srl $v0, $t6, 0x1f
/* 141650 8024E310 01C21021 */ addu $v0, $t6, $v0
/* 141654 8024E314 00021043 */ sra $v0, $v0, 1
/* 141658 8024E318 01E21021 */ addu $v0, $t7, $v0
/* 14165C 8024E31C 2450FFF8 */ addiu $s0, $v0, -8
/* 141660 8024E320 8FAE00A8 */ lw $t6, 0xa8($sp)
/* 141664 8024E324 0200282D */ daddu $a1, $s0, $zero
/* 141668 8024E328 0C09368A */ jal pause_map_draw_border_arrows
/* 14166C 8024E32C 01C63023 */ subu $a2, $t6, $a2
/* 141670 8024E330 C6420000 */ lwc1 $f2, ($s2)
/* 141674 8024E334 3C01C352 */ lui $at, 0xc352
/* 141678 8024E338 44810000 */ mtc1 $at, $f0
/* 14167C 8024E33C 00000000 */ nop
/* 141680 8024E340 4602003C */ c.lt.s $f0, $f2
/* 141684 8024E344 00000000 */ nop
/* 141688 8024E348 45020001 */ bc1fl .L8024E350
/* 14168C 8024E34C 0000882D */ daddu $s1, $zero, $zero
.L8024E350:
/* 141690 8024E350 24040003 */ addiu $a0, $zero, 3
/* 141694 8024E354 0200282D */ daddu $a1, $s0, $zero
/* 141698 8024E358 8FAF00A8 */ lw $t7, 0xa8($sp)
/* 14169C 8024E35C 8FAE00B0 */ lw $t6, 0xb0($sp)
/* 1416A0 8024E360 2626FFD4 */ addiu $a2, $s1, -0x2c
/* 1416A4 8024E364 01EE1021 */ addu $v0, $t7, $t6
/* 1416A8 8024E368 0C09368A */ jal pause_map_draw_border_arrows
/* 1416AC 8024E36C 00463021 */ addu $a2, $v0, $a2
.L8024E370:
/* 1416B0 8024E370 8FAF00A4 */ lw $t7, 0xa4($sp)
/* 1416B4 8024E374 8FAE00A8 */ lw $t6, 0xa8($sp)
/* 1416B8 8024E378 25E70012 */ addiu $a3, $t7, 0x12
/* 1416BC 8024E37C 25C8000E */ addiu $t0, $t6, 0xe
/* 1416C0 8024E380 25EA010C */ addiu $t2, $t7, 0x10c
/* 1416C4 8024E384 1CE00002 */ bgtz $a3, .L8024E390
/* 1416C8 8024E388 25CB008C */ addiu $t3, $t6, 0x8c
/* 1416CC 8024E38C 24070001 */ addiu $a3, $zero, 1
.L8024E390:
/* 1416D0 8024E390 59000001 */ blezl $t0, .L8024E398
/* 1416D4 8024E394 24080001 */ addiu $t0, $zero, 1
.L8024E398:
/* 1416D8 8024E398 1940005F */ blez $t2, .L8024E518
/* 1416DC 8024E39C 00000000 */ nop
/* 1416E0 8024E3A0 1960005D */ blez $t3, .L8024E518
/* 1416E4 8024E3A4 28E2013F */ slti $v0, $a3, 0x13f
/* 1416E8 8024E3A8 1040005B */ beqz $v0, .L8024E518
/* 1416EC 8024E3AC 290200EF */ slti $v0, $t0, 0xef
/* 1416F0 8024E3B0 10400059 */ beqz $v0, .L8024E518
/* 1416F4 8024E3B4 2942013F */ slti $v0, $t2, 0x13f
/* 1416F8 8024E3B8 50400001 */ beql $v0, $zero, .L8024E3C0
/* 1416FC 8024E3BC 240A013F */ addiu $t2, $zero, 0x13f
.L8024E3C0:
/* 141700 8024E3C0 296200EF */ slti $v0, $t3, 0xef
/* 141704 8024E3C4 50400001 */ beql $v0, $zero, .L8024E3CC
/* 141708 8024E3C8 240B00EF */ addiu $t3, $zero, 0xef
.L8024E3CC:
/* 14170C 8024E3CC 3C03800A */ lui $v1, %hi(gMasterGfxPos)
/* 141710 8024E3D0 2463A66C */ addiu $v1, $v1, %lo(gMasterGfxPos)
/* 141714 8024E3D4 44871000 */ mtc1 $a3, $f2
/* 141718 8024E3D8 00000000 */ nop
/* 14171C 8024E3DC 468010A0 */ cvt.s.w $f2, $f2
/* 141720 8024E3E0 44880000 */ mtc1 $t0, $f0
/* 141724 8024E3E4 00000000 */ nop
/* 141728 8024E3E8 46800020 */ cvt.s.w $f0, $f0
/* 14172C 8024E3EC 3C08ED00 */ lui $t0, 0xed00
/* 141730 8024E3F0 8FAF00A4 */ lw $t7, 0xa4($sp)
/* 141734 8024E3F4 8C620000 */ lw $v0, ($v1)
/* 141738 8024E3F8 3C014080 */ lui $at, 0x4080
/* 14173C 8024E3FC 44812000 */ mtc1 $at, $f4
/* 141740 8024E400 8FAE00A8 */ lw $t6, 0xa8($sp)
/* 141744 8024E404 46041082 */ mul.s $f2, $f2, $f4
/* 141748 8024E408 00000000 */ nop
/* 14174C 8024E40C 25E60012 */ addiu $a2, $t7, 0x12
/* 141750 8024E410 25C7000E */ addiu $a3, $t6, 0xe
/* 141754 8024E414 0040482D */ daddu $t1, $v0, $zero
/* 141758 8024E418 24420008 */ addiu $v0, $v0, 8
/* 14175C 8024E41C 46040002 */ mul.s $f0, $f0, $f4
/* 141760 8024E420 00000000 */ nop
/* 141764 8024E424 AC620000 */ sw $v0, ($v1)
/* 141768 8024E428 4600118D */ trunc.w.s $f6, $f2
/* 14176C 8024E42C 44023000 */ mfc1 $v0, $f6
/* 141770 8024E430 00000000 */ nop
/* 141774 8024E434 30420FFF */ andi $v0, $v0, 0xfff
/* 141778 8024E438 00021300 */ sll $v0, $v0, 0xc
/* 14177C 8024E43C 4600018D */ trunc.w.s $f6, $f0
/* 141780 8024E440 44033000 */ mfc1 $v1, $f6
/* 141784 8024E444 448A1000 */ mtc1 $t2, $f2
/* 141788 8024E448 00000000 */ nop
/* 14178C 8024E44C 468010A0 */ cvt.s.w $f2, $f2
/* 141790 8024E450 46041082 */ mul.s $f2, $f2, $f4
/* 141794 8024E454 00000000 */ nop
/* 141798 8024E458 30630FFF */ andi $v1, $v1, 0xfff
/* 14179C 8024E45C 00681825 */ or $v1, $v1, $t0
/* 1417A0 8024E460 00431025 */ or $v0, $v0, $v1
/* 1417A4 8024E464 448B0000 */ mtc1 $t3, $f0
/* 1417A8 8024E468 00000000 */ nop
/* 1417AC 8024E46C 46800020 */ cvt.s.w $f0, $f0
/* 1417B0 8024E470 46040002 */ mul.s $f0, $f0, $f4
/* 1417B4 8024E474 00000000 */ nop
/* 1417B8 8024E478 AD220000 */ sw $v0, ($t1)
/* 1417BC 8024E47C 4600118D */ trunc.w.s $f6, $f2
/* 1417C0 8024E480 44023000 */ mfc1 $v0, $f6
/* 1417C4 8024E484 00000000 */ nop
/* 1417C8 8024E488 30420FFF */ andi $v0, $v0, 0xfff
/* 1417CC 8024E48C 00021300 */ sll $v0, $v0, 0xc
/* 1417D0 8024E490 4600018D */ trunc.w.s $f6, $f0
/* 1417D4 8024E494 44033000 */ mfc1 $v1, $f6
/* 1417D8 8024E498 00000000 */ nop
/* 1417DC 8024E49C 30630FFF */ andi $v1, $v1, 0xfff
/* 1417E0 8024E4A0 00431025 */ or $v0, $v0, $v1
/* 1417E4 8024E4A4 AD220004 */ sw $v0, 4($t1)
/* 1417E8 8024E4A8 240200FA */ addiu $v0, $zero, 0xfa
/* 1417EC 8024E4AC AFA20014 */ sw $v0, 0x14($sp)
/* 1417F0 8024E4B0 2402007E */ addiu $v0, $zero, 0x7e
/* 1417F4 8024E4B4 AFA20018 */ sw $v0, 0x18($sp)
/* 1417F8 8024E4B8 93A200B7 */ lbu $v0, 0xb7($sp)
/* 1417FC 8024E4BC 3C013F80 */ lui $at, 0x3f80
/* 141800 8024E4C0 44810000 */ mtc1 $at, $f0
/* 141804 8024E4C4 8FAF00AC */ lw $t7, 0xac($sp)
/* 141808 8024E4C8 8FAE00B0 */ lw $t6, 0xb0($sp)
/* 14180C 8024E4CC 0000202D */ daddu $a0, $zero, $zero
/* 141810 8024E4D0 AFA2001C */ sw $v0, 0x1c($sp)
/* 141814 8024E4D4 93A200BB */ lbu $v0, 0xbb($sp)
/* 141818 8024E4D8 3C058027 */ lui $a1, %hi(D_8026FEE8)
/* 14181C 8024E4DC 24A5FEE8 */ addiu $a1, $a1, %lo(D_8026FEE8)
/* 141820 8024E4E0 AFA00010 */ sw $zero, 0x10($sp)
/* 141824 8024E4E4 AFA0002C */ sw $zero, 0x2c($sp)
/* 141828 8024E4E8 AFA00030 */ sw $zero, 0x30($sp)
/* 14182C 8024E4EC AFA00034 */ sw $zero, 0x34($sp)
/* 141830 8024E4F0 AFA00038 */ sw $zero, 0x38($sp)
/* 141834 8024E4F4 AFA0003C */ sw $zero, 0x3c($sp)
/* 141838 8024E4F8 AFA00040 */ sw $zero, 0x40($sp)
/* 14183C 8024E4FC AFA0004C */ sw $zero, 0x4c($sp)
/* 141840 8024E500 E7A00024 */ swc1 $f0, 0x24($sp)
/* 141844 8024E504 E7A00028 */ swc1 $f0, 0x28($sp)
/* 141848 8024E508 AFAF0044 */ sw $t7, 0x44($sp)
/* 14184C 8024E50C AFAE0048 */ sw $t6, 0x48($sp)
/* 141850 8024E510 0C03D4B8 */ jal draw_box
/* 141854 8024E514 AFA20020 */ sw $v0, 0x20($sp)
.L8024E518:
/* 141858 8024E518 8FBF0094 */ lw $ra, 0x94($sp)
/* 14185C 8024E51C 8FBE0090 */ lw $fp, 0x90($sp)
/* 141860 8024E520 8FB7008C */ lw $s7, 0x8c($sp)
/* 141864 8024E524 8FB60088 */ lw $s6, 0x88($sp)
/* 141868 8024E528 8FB50084 */ lw $s5, 0x84($sp)
/* 14186C 8024E52C 8FB40080 */ lw $s4, 0x80($sp)
/* 141870 8024E530 8FB3007C */ lw $s3, 0x7c($sp)
/* 141874 8024E534 8FB20078 */ lw $s2, 0x78($sp)
/* 141878 8024E538 8FB10074 */ lw $s1, 0x74($sp)
/* 14187C 8024E53C 8FB00070 */ lw $s0, 0x70($sp)
/* 141880 8024E540 D7B40098 */ ldc1 $f20, 0x98($sp)
/* 141884 8024E544 03E00008 */ jr $ra
/* 141888 8024E548 27BD00A0 */ addiu $sp, $sp, 0xa0

View File

@ -497,8 +497,8 @@ glabel dro_02_func_8024240C_96B5CC
/* 96BCDC 80242B1C 3C013F80 */ lui $at, 0x3f80
/* 96BCE0 80242B20 44810000 */ mtc1 $at, $f0
/* 96BCE4 80242B24 27A20054 */ addiu $v0, $sp, 0x54
/* 96BCE8 80242B28 3C018025 */ lui $at, %hi(gPauseMenuPanels)
/* 96BCEC 80242B2C AC20EF80 */ sw $zero, %lo(gPauseMenuPanels)($at)
/* 96BCE8 80242B28 3C018025 */ lui $at, %hi(dro_02_pad_D_8024EF80)
/* 96BCEC 80242B2C AC20EF80 */ sw $zero, %lo(dro_02_pad_D_8024EF80)($at)
/* 96BCF0 80242B30 AFA20010 */ sw $v0, 0x10($sp)
/* 96BCF4 80242B34 3C018025 */ lui $at, %hi(D_8024EF84)
/* 96BCF8 80242B38 E420EF84 */ swc1 $f0, %lo(D_8024EF84)($at)
@ -646,8 +646,8 @@ glabel dro_02_func_8024240C_96B5CC
/* 96BF10 80242D50 00000000 */ nop
/* 96BF14 80242D54 3C108025 */ lui $s0, %hi(D_8024F010)
/* 96BF18 80242D58 2610F010 */ addiu $s0, $s0, %lo(D_8024F010)
/* 96BF1C 80242D5C 3C048025 */ lui $a0, %hi(gPauseMenuPanels)
/* 96BF20 80242D60 2484EF80 */ addiu $a0, $a0, %lo(gPauseMenuPanels)
/* 96BF1C 80242D5C 3C048025 */ lui $a0, %hi(dro_02_pad_D_8024EF80)
/* 96BF20 80242D60 2484EF80 */ addiu $a0, $a0, %lo(dro_02_pad_D_8024EF80)
/* 96BF24 80242D64 3C038025 */ lui $v1, %hi(D_8024EF84)
/* 96BF28 80242D68 2463EF84 */ addiu $v1, $v1, %lo(D_8024EF84)
/* 96BF2C 80242D6C 3C078025 */ lui $a3, %hi(D_8024EF88)

View File

@ -97,8 +97,8 @@ glabel func_80240020_9AE720
/* 9AE890 80240190 AC500048 */ sw $s0, 0x48($v0)
/* 9AE894 80240194 AC43004C */ sw $v1, 0x4c($v0)
/* 9AE898 80240198 AC530050 */ sw $s3, 0x50($v0)
/* 9AE89C 8024019C 3C138024 */ lui $s3, %hi(func_80243090)
/* 9AE8A0 802401A0 26733090 */ addiu $s3, $s3, %lo(func_80243090)
/* 9AE89C 8024019C 3C138024 */ lui $s3, %hi(D_80243090)
/* 9AE8A0 802401A0 26733090 */ addiu $s3, $s3, %lo(D_80243090)
/* 9AE8A4 802401A4 24430058 */ addiu $v1, $v0, 0x58
/* 9AE8A8 802401A8 AC400054 */ sw $zero, 0x54($v0)
/* 9AE8AC 802401AC AC540058 */ sw $s4, 0x58($v0)

View File

@ -23,8 +23,8 @@ glabel func_80240404_9AEB04
/* 9AEB30 80240430 46201082 */ mul.d $f2, $f2, $f0
/* 9AEB34 80240434 00000000 */ nop
/* 9AEB38 80240438 24040001 */ addiu $a0, $zero, 1
/* 9AEB3C 8024043C 3C108024 */ lui $s0, %hi(func_80243090)
/* 9AEB40 80240440 26103090 */ addiu $s0, $s0, %lo(func_80243090)
/* 9AEB3C 8024043C 3C108024 */ lui $s0, %hi(D_80243090)
/* 9AEB40 80240440 26103090 */ addiu $s0, $s0, %lo(D_80243090)
/* 9AEB44 80240444 C44A0028 */ lwc1 $f10, 0x28($v0)
/* 9AEB48 80240448 3C013FE0 */ lui $at, 0x3fe0
/* 9AEB4C 8024044C 44812800 */ mtc1 $at, $f5

View File

@ -4,8 +4,8 @@
glabel func_802404D0_9AEBD0
/* 9AEBD0 802404D0 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 9AEBD4 802404D4 AFB00010 */ sw $s0, 0x10($sp)
/* 9AEBD8 802404D8 3C108024 */ lui $s0, %hi(func_80243090)
/* 9AEBDC 802404DC 26103090 */ addiu $s0, $s0, %lo(func_80243090)
/* 9AEBD8 802404D8 3C108024 */ lui $s0, %hi(D_80243090)
/* 9AEBDC 802404DC 26103090 */ addiu $s0, $s0, %lo(D_80243090)
/* 9AEBE0 802404E0 AFBF0014 */ sw $ra, 0x14($sp)
/* 9AEBE4 802404E4 0C04EA15 */ jal func_8013A854
/* 9AEBE8 802404E8 8E040000 */ lw $a0, ($s0)

View File

@ -50,8 +50,8 @@ glabel func_80240508_9AEC08
/* 9AECA0 802405A0 44900000 */ mtc1 $s0, $f0
/* 9AECA4 802405A4 00000000 */ nop
/* 9AECA8 802405A8 46800021 */ cvt.d.w $f0, $f0
/* 9AECAC 802405AC 3C028024 */ lui $v0, %hi(func_80243090)
/* 9AECB0 802405B0 24423090 */ addiu $v0, $v0, %lo(func_80243090)
/* 9AECAC 802405AC 3C028024 */ lui $v0, %hi(D_80243090)
/* 9AECB0 802405B0 24423090 */ addiu $v0, $v0, %lo(D_80243090)
/* 9AECB4 802405B4 44921000 */ mtc1 $s2, $f2
/* 9AECB8 802405B8 00000000 */ nop
/* 9AECBC 802405BC 468010A0 */ cvt.s.w $f2, $f2

View File

@ -31,8 +31,8 @@ glabel func_802405FC_9AECFC
/* 9AED64 80240664 0220202D */ daddu $a0, $s1, $zero
/* 9AED68 80240668 4600020D */ trunc.w.s $f8, $f0
/* 9AED6C 8024066C 44044000 */ mfc1 $a0, $f8
/* 9AED70 80240670 3C028024 */ lui $v0, %hi(func_80243090)
/* 9AED74 80240674 24423090 */ addiu $v0, $v0, %lo(func_80243090)
/* 9AED70 80240670 3C028024 */ lui $v0, %hi(D_80243090)
/* 9AED74 80240674 24423090 */ addiu $v0, $v0, %lo(D_80243090)
/* 9AED78 80240678 1640000E */ bnez $s2, .L802406B4
/* 9AED7C 8024067C 0040182D */ daddu $v1, $v0, $zero
/* 9AED80 80240680 44930000 */ mtc1 $s3, $f0

View File

@ -926,45 +926,58 @@ segments:
start: 0x135EE0
vram: 0x80242BA0
subsegments:
- [0x135EE0, c]
- [0x137ED0, c]
- [0x138CC0, c]
- [0x135EE0, c, pause_main]
- [0x137ED0, c, pause_tabs]
- [0x138CC0, c, pause_stats]
- [0x13A320, c, pause_badges]
- [0x13CAF0, c, pause_items]
- [0x13E120, c]
- [0x13FD40, c]
- [0x13E120, c, pause_partners]
- [0x13FD40, c, pause_spirits]
- [0x140C70, c, pause_map]
- [0x1421C0, c]
- [0x1422A0, data]
- [0x1443F0, ci8, world_map, 320, 320]
- [0x15D3F0, palette, world_map]
- [0x15D5F0, ci4, spirits_bg, 128, 110]
- [0x15F170, palette, spirits_bg]
- [0x15F370, rgba16, filled_pip, 8, 8]
- [0x15F3F0, rgba16, empty_pip, 8, 8]
- [0x15F470, rgba16, red_pip, 8, 8]
- [0x15F4F0, bin]
- [0x15F570, ia8, image_15F570, 16, 16]
- [0x15F670, ia8, image_15F670, 16, 16]
- [0x15F770, ia8, arrows, 16, 32]
- [0x15F970, ci4, banner_hp, 64, 16]
- [0x15FB70, palette, banner_hp]
- [0x15FD70, ci4, banner_fp, 64, 16]
- [0x15FF70, palette, banner_fp]
- [0x160170, ci4, banner_bp, 64, 16]
- [0x160370, palette, banner_bp]
- [0x160570, ci4, banner_boots, 48, 16]
- [0x1606F0, palette, banner_boots]
- [0x1608F0, ci4, banner_hammer, 48, 16]
- [0x160A70, palette, banner_hammer]
- [0x160C70, ci4, banner_star_energy, 48, 16]
- [0x160DF0, palette, banner_star_energy]
- [0x160FF0, ci4, available, 64, 16]
- [0x1611F0, palette, available]
- [0x1613F0, ci4, prompt_check_abilities, 128, 16]
- [0x1617F0, palette, prompt_check_abilities]
- [0x1619F0, ci4, stats_bar, 160, 8]
- [0x161C70, palette, stats_bar]
- [0x161E70, data]
- [0x1421C0, c, pause_gfx]
- [0x1422A0, .data, pause_main]
- [0x1424F0, .data, pause_tabs]
- [0x142670, .data, pause_stats]
- [0x142810, .data, pause_badges]
- [0x1428B0, .data, pause_items]
- [0x142940, .data, pause_partners]
- [0x142BF0, .data, pause_spirits]
- [0x142D70, .data, pause_map]
- start: 0x1439F0
type: .data
name: pause_gfx
subsegments:
- [0x1439F0, ia8, image_1439F0, 16, 32]
- [0x143BF0, ia8, image_143BF0, 16, 64]
- [0x143FF0, ia8, image_143FF0, 16, 64]
- [0x1443F0, ci8, world_map, 320, 320]
- [0x15D3F0, palette, world_map]
- [0x15D5F0, ci4, spirits_bg, 128, 110]
- [0x15F170, palette, spirits_bg]
- [0x15F370, rgba16, orbs, 8, 32]
- [0x15F570, ia8, image_15F570, 16, 16]
- [0x15F670, ia8, image_15F670, 16, 16]
- [0x15F770, ia4, arrows, 16, 64]
- [0x15F970, ci4, banner_hp, 64, 16]
- [0x15FB70, palette, banner_hp]
- [0x15FD70, ci4, banner_fp, 64, 16]
- [0x15FF70, palette, banner_fp]
- [0x160170, ci4, banner_bp, 64, 16]
- [0x160370, palette, banner_bp]
- [0x160570, ci4, banner_boots, 48, 16]
- [0x1606F0, palette, banner_boots]
- [0x1608F0, ci4, banner_hammer, 48, 16]
- [0x160A70, palette, banner_hammer]
- [0x160C70, ci4, banner_star_energy, 48, 16]
- [0x160DF0, palette, banner_star_energy]
- [0x160FF0, ci4, available, 64, 16]
- [0x1611F0, palette, available]
- [0x1613F0, ci4, prompt_check_abilities, 128, 16]
- [0x1617F0, palette, prompt_check_abilities]
- [0x1619F0, ci4, stats_bar, 160, 8]
- [0x161C70, palette, stats_bar]
- [0x161E70, .data, pause_gfx]
- [0x162D30, .data, pause_styles]
- [0x1632A0]
- type: code
start: 0x163400

View File

@ -4494,23 +4494,23 @@ HudScript_StatTimes = 0x80242B24; // type:data rom:0x135E64
HudScript_PartnerRank = 0x80242B4C; // type:data rom:0x135E8C
HudScript_134F60_135120 = 0x80242B74; // type:data rom:0x135EB4
pause_set_cursor_opacity = 0x80242BA0; // type:func rom:0x135EE0
func_80242BAC = 0x80242BAC; // type:func rom:0x135EEC
func_80242D04 = 0x80242D04; // type:func rom:0x136044
pause_set_cursor_pos_immediate = 0x80242BAC; // type:func rom:0x135EEC
pause_set_cursor_pos = 0x80242D04; // type:func rom:0x136044
pause_interp_cursor = 0x80242E6C; // type:func rom:0x1361AC
func_80242F90 = 0x80242F90; // type:func rom:0x1362D0
pause_update_tab_default = 0x80242F90; // type:func rom:0x1362D0
func_80242FBC = 0x80242FBC; // type:func rom:0x1362FC
func_80242FF4 = 0x80242FF4; // type:func rom:0x136334
func_80243090 = 0x80243090; // type:func rom:0x1363D0
pause_update_tab_inactive = 0x80242FF4; // type:func rom:0x136334
pause_update_tab_active = 0x80243090; // type:func rom:0x1363D0
func_802430E4 = 0x802430E4; // type:func rom:0x136424
func_8024313C = 0x8024313C; // type:func rom:0x13647C
func_80243188 = 0x80243188; // type:func rom:0x1364C8
func_80243238 = 0x80243238; // type:func rom:0x136578
func_802432E8 = 0x802432E8; // type:func rom:0x136628
func_80243388 = 0x80243388; // type:func rom:0x1366C8
pause_update_page_active_2 = 0x80243188; // type:func rom:0x1364C8
pause_update_page_active_1 = 0x80243238; // type:func rom:0x136578
pause_update_page_inactive_1 = 0x802432E8; // type:func rom:0x136628
pause_update_page_inactive_2 = 0x80243388; // type:func rom:0x1366C8
pause_interp_text_scroll = 0x80243418; // type:func rom:0x136758
pause_interp_vertical_scroll = 0x8024346C; // type:func rom:0x1367AC
pause_update_cursor = 0x802434DC; // type:func rom:0x13681C
func_80243568 = 0x80243568; // type:func rom:0x1368A8
pause_draw_cursor = 0x802434DC; // type:func rom:0x13681C
pause_main_draw_contents = 0x80243568; // type:func rom:0x1368A8
pause_textbox_draw_contents = 0x80243570; // type:func rom:0x1368B0
pause_tutorial_draw_contents = 0x802437F4; // type:func rom:0x136B34
pause_init = 0x80244060; // type:func rom:0x1373A0
@ -4584,7 +4584,7 @@ pause_spirits_init = 0x8024D360; // type:func rom:0x1406A0
pause_spirits_handle_input = 0x8024D44C; // type:func rom:0x14078C
pause_spirits_update = 0x8024D800; // type:func rom:0x140B40
pause_spirits_cleanup = 0x8024D8D8; // type:func rom:0x140C18
func_8024D930 = 0x8024D930; // type:func rom:0x140C70
pause_map_calc_path_points = 0x8024D930; // type:func rom:0x140C70
pause_map_draw_border_arrows = 0x8024DA28; // type:func rom:0x140D68
pause_map_draw_contents = 0x8024DB1C; // type:func rom:0x140E5C
pause_map_draw_title = 0x8024E54C; // type:func rom:0x14188C
@ -4594,12 +4594,25 @@ pause_map_update = 0x8024ECB0; // type:func rom:0x141FF0
pause_map_cleanup = 0x8024EE2C; // type:func rom:0x14216C
pause_get_menu_msg = 0x8024EE80; // type:func rom:0x1421C0
pause_draw_menu_label = 0x8024EE94; // type:func rom:0x1421D4
gPauseMenuIconScripts = 0x8024EF60; // type:data rom:0x1422A0
gPauseMenuCursorPosX = 0x8024EF9C; // rom:0x1422DC
gPauseMenuCursorOpacity = 0x8024EFA4; // rom:0x1422E4
gPauseMenuTargetPosX = 0x8024EFA8; // rom:0x1422E8
gPauseMenuTargetPosY = 0x8024EFAC; // rom:0x1422EC
gPauseMenuCursorTargetOpacity = 0x8024EFB0; // rom:0x1422F0
gPauseIconScripts = 0x8024EF60; // type:data rom:0x1422A0
gPausePanels = 0x8024EF80; // type:data rom:0x1422C0
D_8024EF98 = 0x8024EF98; // type:data rom:0x1422D8
gPauseCursorPosX = 0x8024EF9C; // rom:0x1422DC
gPauseCursorPosX = 0x8024EFA0; // rom:0x1422E0
gPauseCursorOpacity = 0x8024EFA4; // rom:0x1422E4
gPauseCursorTargetPosX = 0x8024EFA8; // rom:0x1422E8
gPauseCursorTargetPosY = 0x8024EFAC; // rom:0x1422EC
gPauseCursorTargetOpacity = 0x8024EFB0; // rom:0x1422F0
D_8024EFB4 = 0x8024EFB4; // rom:0x1422F4
D_8024EFC4 = 0x8024EFC4; // rom:0x142304
D_8024EFCC = 0x8024EFCC; // rom:0x14230C
D_8024EFD8 = 0x8024EFD8; // rom:0x142318
D_8024EFE4 = 0x8024EFE4; // rom:0x142324
D_8024EFE8 = 0x8024EFE8; // rom:0x142328
D_8024F000 = 0x8024F000; // rom:0x142340
D_8024F00C = 0x8024F00C; // rom:0x14234C
gPauseTutorialState = 0x8024F018; // rom:0x142358
gPauseTutorialInputState = 0x8024F01C; // rom:0x14235C
gPauseMenuTextScrollInterpEasingLUT = 0x8024F0AC; // rom:0x1423EC
gPauseMenuPageScrollInterpEasingLUT = 0x8024F0BC; // rom:0x1423FC
D_8026FF80 = 0x8026FF80; // type:data rom:0x1632C0
@ -4617,13 +4630,13 @@ D_80270060 = 0x80270060; // type:data rom:0x1633A0
D_80270068 = 0x80270068; // type:data rom:0x1633A8
D_80270070 = 0x80270070; // type:data rom:0x1633B0
mainmenu_draw_rect = 0x80242BA0; // type:func rom:0x163400
gPauseMenuPressedButtons = 0x802700C4; // type:data rom:0x163404
gPauseMenuCurrentDescMsg = 0x802700C8; // type:data rom:0x163408
gPauseMenuCurrentDescIconScript = 0x802700CC; // type:data rom:0x16340C
D_802700D0 = 0x802700D0; // type:data rom:0x163410
gPauseMenuCurrentTab = 0x802700D4; // type:data rom:0x163414
gPausePressedButtons = 0x802700C4; // type:data rom:0x163404
gPauseCurrentDescMsg = 0x802700C8; // type:data rom:0x163408
gPauseCurrentDescIconScript = 0x802700CC; // type:data rom:0x16340C
gPauseCursorIconID = 0x802700D0; // type:data rom:0x163410
//gPauseMenuCurrentTab = 0x802700D4; // type:data rom:0x163414
D_802700D = 0x802700D8; // type:data rom:0x163418
D_802700E0 = 0x802700E0; // type:data rom:0x163420
gPauseTutorialFrameCounter = 0x802700E0; // type:data rom:0x163420
filemenu_set_selected = 0x80242D94; // type:func rom:0x1635F4
filemenu_set_cursor_alpha = 0x80242DEC; // type:func rom:0x16364C
filemenu_set_cursor_goal_pos = 0x80242E00; // type:func rom:0x163660
@ -20266,7 +20279,7 @@ D_8024EA10 = 0x8024EA10; // type:data
D_8024EA14 = 0x8024EA14; // type:data
D_8024EA18 = 0x8024EA18; // type:data
dro_02_pad_D_8024EF80 = 0x8024EF80; // type:data
gPauseMenuPanels = 0x8024EF80; //
gPausePanels = 0x8024EF80; //
D_8024EF84 = 0x8024EF84; // type:data
dro_02_D_8024EF84 = 0x8024EF84; // type:data
D_8024EF88 = 0x8024EF88; // type:data
@ -20275,7 +20288,8 @@ dro_02_pad_D_8024EF8C = 0x8024EF8C; // type:data
D_8024EF90 = 0x8024EF90; // type:data
dro_02_D_8024EF90 = 0x8024EF90; // type:data
dro_02_pad_D_8024EF94 = 0x8024EFA0; // type:data
gPauseMenuCursorPosY = 0x8024EFA0; //
gPauseCursorPosY = 0x8024EFA0; //
dro_02_8024EFA8 = 0x8024EFA8; // type:data
D_8024EFB8 = 0x8024EFB8; // type:data
dro_02_D_8024EFB8 = 0x8024EFB8; // type:data
dro_02_pad_D_8024EFBC = 0x8024EFBC; // type:data
@ -20473,14 +20487,14 @@ D_80262F68 = 0x80262F68; // type:data
StartRumbleWithParams = 0x80267D9C; //
heap_collisionHead = 0x80268000; // type:data
D_8026A2B0 = 0x8026A2B0; // type:data
D_8026F118 = 0x8026F118; // type:data
D_8026F1B8 = 0x8026F1B8; // type:data
D_8026F2A0 = 0x8026F2A0; // type:data
D_8026F348 = 0x8026F348; // type:data
D_8026F5A0 = 0x8026F5A0; // type:data
gPauseDLWorldMap = 0x8026F118; // type:data
gPauseDLPathPoints = 0x8026F1B8; // type:data
gPauseDLArrows = 0x8026F2A0; // type:data
gPauseDLOrbs = 0x8026F348; // type:data
gPauseDLSpiritsBg = 0x8026F5A0; // type:data
D_8026F778 = 0x8026F778; // type:data
gPauseMenuMsgs = 0x8026F778; // type:data
D_8026F8D4 = 0x8026F8D4; // type:data
gPauseMessages = 0x8026F778; // type:data
gPauseDLLabels = 0x8026F8D4; // type:data
D_8026FB30 = 0x8026FB30; // type:data
D_8026FBD8 = 0x8026FBD8; // type:data
D_8026FC10 = 0x8026FC10; // type:data
@ -20491,75 +20505,75 @@ D_8026FD98 = 0x8026FD98; // type:data
D_8026FE78 = 0x8026FE78; // type:data
D_8026FEE8 = 0x8026FEE8; // type:data
D_8026FF60 = 0x8026FF60; // type:data
gPauseMenuHeldButtons = 0x802700C0; // type:data
gPauseHeldButtons = 0x802700C0; // type:data
bss = 0x802700E4; // type:data
gPauseMenuCommonIconIDs = 0x802700E8; // type:data
D_80270108 = 0x80270108; // type:data
D_8027010C = 0x8027010C; // type:data
D_80270110 = 0x80270110; // type:data
D_80270114 = 0x80270114; // type:data
D_80270118 = 0x80270118; // type:data
D_8027011C = 0x8027011C; // type:data
gPauseMenuTabIconIDs = 0x80270130; // type:data
D_80270148 = 0x80270148; // type:data
D_8027014C = 0x8027014C; // type:data
gStatsMenuIconIDs = 0x80270150; // type:data
gBadgeMenuItemIDs = 0x80270180; // type:data
gBadgeMenuCurrentPage = 0x80270280; // type:data
gBadgeMenuPages = 0x80270288; // type:data
gPauseCommonIconIDs = 0x802700E8; // type:data
gPauseShownDescMsg = 0x80270108; // type:data
gPauseDescTextMaxPos = 0x8027010C; // type:data
gPauseDescTextPos = 0x80270110; // type:data
gPauseDescTextOffset = 0x80270114; // type:data
gPauseShownDescIconScript = 0x80270118; // type:data
gPauseTutorialSprites = 0x8027011C; // type:data
gPauseTabsIconIDs = 0x80270130; // type:data
gPauseTabsPreviousTab = 0x80270148; // type:data
gPauseTabsHorizScrollPos = 0x8027014C; // type:data
gPauseStatsIconIDs = 0x80270150; // type:data
gPauseBadgesItemIds = 0x80270180; // type:data
gPauseBadgesCurrentPage = 0x80270280; // type:data
gPauseBadgesPages = 0x80270288; // type:data
D_80270289 = 0x80270289; // type:data
D_8027028A = 0x8027028A; // type:data
gBadgeMenuSelectedIndex = 0x80270378; // type:data
gPauseBadgesSelectedIndex = 0x80270378; // type:data
D_8027037C = 0x8027037C; // type:data
gBadgeMenuSelectedItemID = 0x80270380; // type:data
gBadgeMenuNumItems = 0x80270384; // type:data
gPauseBadgesSelectedItem = 0x80270380; // type:data
gPauseBadgesNumItems = 0x80270384; // type:data
D_80270388 = 0x80270388; // type:data
gBadgeMenuCurrentScrollPos = 0x8027038C; // type:data
gBadgeMenuTargetScrollPos = 0x80270390; // type:data
gPauseBadgesCurrentScrollPos = 0x8027038C; // type:data
gPauseBadgesTargetScrollPos = 0x80270390; // type:data
D_80270394 = 0x80270394; // type:data
gBadgeMenuLevel = 0x80270398; // type:data
gBadgeMenuCurrentTab = 0x8027039C; // type:data
gBadgeMenuBShowNotEnoughBP = 0x802703A0; // type:data
gBadgeMenuIconIDs = 0x802703A8; // type:data
gPauseBadgesLevel = 0x80270398; // type:data
gPauseBadgesCurrentTab = 0x8027039C; // type:data
gPauseBadgesBShowNotEnoughBP = 0x802703A0; // type:data
gPauseBadgesIconIDs = 0x802703A8; // type:data
D_802703FC = 0x802703FC; // type:data
gItemMenuItemIDs = 0x80270400; // type:data
gItemMenuCurrentPage = 0x802704C8; // type:data
gItemMenuPages = 0x802704D0; // type:data
gPauseItemsItemIDs = 0x80270400; // type:data
gPauseItemsCurrentPage = 0x802704C8; // type:data
gPauseItemsPages = 0x802704D0; // type:data
D_802704D1 = 0x802704D1; // type:data
D_802704D2 = 0x802704D2; // type:data
gItemMenuSelectedIndex = 0x802705C0; // type:data
gPauseItemsSelectedIndex = 0x802705C0; // type:data
D_802705C4 = 0x802705C4; // type:data
gItemMenuSelectedItemID = 0x802705C8; // type:data
gItemMenuNumItems = 0x802705CC; // type:data
gPauseItemsSelectedItem = 0x802705C8; // type:data
gPauseItemsNumItems = 0x802705CC; // type:data
D_802705D0 = 0x802705D0; // type:data
gItemMenuCurrentScrollPos = 0x802705D4; // type:data
gItemMenuTargetScrollPos = 0x802705D8; // type:data
D_802705DC = 0x802705DC; // type:data
gItemMenuLevel = 0x802705E0; // type:data
gItemMenuCurrentTab = 0x802705E4; // type:data
gItemIcons = 0x802705E8; // type:data
gPauseItemsCurrentScrollPos = 0x802705D4; // type:data
gPauseItemsTargetScrollPos = 0x802705D8; // type:data
gPauseItemsTargetScrollIndex = 0x802705DC; // type:data
gPauseItemsLevel = 0x802705E0; // type:data
gPauseItemsCurrentTab = 0x802705E4; // type:data
gPauseItemsIconIDs = 0x802705E8; // type:data
D_80270634 = 0x80270634; // type:data
D_80270640 = 0x80270640; // type:data
D_80270660 = 0x80270660; // type:data
D_80270680 = 0x80270680; // type:data
D_802706A0 = 0x802706A0; // type:data
D_802706A4 = 0x802706A4; // type:data
D_802706A8 = 0x802706A8; // type:data
D_802706AC = 0x802706AC; // type:data
D_802706B0 = 0x802706B0; // type:data
D_802706C0 = 0x802706C0; // type:data
D_802706E0 = 0x802706E0; // type:data
D_802706FC = 0x802706FC; // type:data
D_80270700 = 0x80270700; // type:data
pause_map_cameraX = 0x80270704; // type:data
pause_map_cameraY = 0x80270708; // type:data
pause_map_marioX = 0x8027070C; // type:data
pause_map_marioY = 0x80270710; // type:data
pause_map_targetX = 0x80270714; // type:data
pause_map_targetY = 0x80270718; // type:data
pause_map_cursorCurrentOption = 0x8027071C; // type:data
pause_map_cursorCurrentOptionCopy = 0x80270720; // type:data
pause_map_spacesInSnapRange = 0x80270724; // type:data
gPausePartnersIconIDs = 0x80270640; // type:data
gPausePartnersSpriteIDs = 0x80270660; // type:data
gPausePartnersPartnerIdx = 0x80270680; // type:data
gPausePartnersCurrentPartnerIdx = 0x802706A0; // type:data
gPausePartnersSelectedMove = 0x802706A4; // type:data
gPausePartnersRotAngle = 0x802706A8; // type:data
gPausePartnersLevel = 0x802706AC; // type:data
gPausePartnersNumPartners = 0x802706B0; // type:data
gPauseSpiritsSpriteIDs = 0x802706C0; // type:data
gPauseSpiritsIndexes = 0x802706E0; // type:data
gPauseSpiritsNumSpirits = 0x802706FC; // type:data
gPauseMapIconIDs = 0x80270700; // type:data
gPauseMapCameraX = 0x80270704; // type:data
gPauseMapCameraY = 0x80270708; // type:data
gPauseMapMarioX = 0x8027070C; // type:data
gPauseMapMarioY = 0x80270710; // type:data
gPauseMapTargetX = 0x80270714; // type:data
gPauseMapTargetY = 0x80270718; // type:data
gPauseMapCursorCurrentOption = 0x8027071C; // type:data
gPauseMapCursorCurrentOptionCopy = 0x80270720; // type:data
gPauseMapSpacesInSnapRange = 0x80270724; // type:data
D_80280000 = 0x80280000; // type:data
D_80281104 = 0x80281104; // type:data
D_80282EE9 = 0x80282EE9; // type:data

View File

@ -304,7 +304,6 @@ func_80242040_8B20B0 = 0x80242040;
spiked_goomba = 0x8021B0AC;
paragoomba = 0x8021CD00;
D_802C05CC = 0x802C05CC;
gPauseMenuMsgs = 0x8026F778;
D_802442D0 = 0x802442D0;
D_802AB513 = 0x802AB513;
D_802E99DC = 0x802E99DC;
@ -395,6 +394,7 @@ D_802423B0 = 0x802423B0;
D_802429BC = 0x802429BC;
D_802429E0 = 0x802429E0;
D_80242FB0 = 0x80242FB0;
D_80243090 = 0x80243090;
D_80243190 = 0x80243190;
D_80243374 = 0x80243374;
D_80243720 = 0x80243720;
@ -539,14 +539,13 @@ D_8024E960 = 0x8024E960;
D_8024EA10 = 0x8024EA10;
D_8024EA14 = 0x8024EA14;
D_8024EA18 = 0x8024EA18;
gPauseMenuPanels = 0x8024EF80;
D_8024EF84 = 0x8024EF84;
D_8024EF88 = 0x8024EF88;
D_8024EF90 = 0x8024EF90;
gPauseMenuCursorPosY = 0x8024EFA0;
D_8024EFB8 = 0x8024EFB8;
D_8024EFC0 = 0x8024EFC0;
D_8024EFC8 = 0x8024EFC8;
D_8024EFCC = 0x8024EFCC;
D_8024F010 = 0x8024F010;
D_8024F080 = 0x8024F080;
D_8024F248 = 0x8024F248;
@ -568,16 +567,20 @@ D_8024F2B8 = 0x8024F2B8;
D_8024F2BB = 0x8024F2BB;
D_8024F2BC = 0x8024F2BC;
D_8024F2BF = 0x8024F2BF;
D_8024F2C0 = 0x8024F2C0;
D_8024F2C4 = 0x8024F2C4;
D_8024F2C8 = 0x8024F2C8;
D_8024F2CC = 0x8024F2CC;
D_8024F2D8 = 0x8024F2D8;
D_8024F2DC = 0x8024F2DC;
D_8024F2E0 = 0x8024F2E0;
D_8024F2E4 = 0x8024F2E4;
D_8024F2E8 = 0x8024F2E8;
D_8024F2EC = 0x8024F2EC;
D_8024F2F4 = 0x8024F2F4;
D_8024F2F8 = 0x8024F2F8;
D_8024F2FC = 0x8024F2FC;
D_8024F300 = 0x8024F300;
D_8024F304 = 0x8024F304;
D_8024F308 = 0x8024F308;
D_8024F30C = 0x8024F30C;
@ -586,10 +589,13 @@ D_8024F338 = 0x8024F338;
D_8024F358 = 0x8024F358;
D_8024F374 = 0x8024F374;
D_8024F378 = 0x8024F378;
D_8024F380 = 0x8024F380;
D_8024F3F8 = 0x8024F3F8;
D_8024F448 = 0x8024F448;
D_8024F498 = 0x8024F498;
D_8024F4E8 = 0x8024F4E8;
D_8024F570 = 0x8024F570;
D_8024F5C0 = 0x8024F5C0;
D_8024F581 = 0x8024F581;
D_8024F582 = 0x8024F582;
D_8024F583 = 0x8024F583;
@ -706,71 +712,15 @@ D_80262C34 = 0x80262C34;
D_80262C38 = 0x80262C38;
D_80262F68 = 0x80262F68;
heap_collisionHead = 0x80268000;
gPauseMenuCommonIconIDs = 0x802700E8;
D_80270108 = 0x80270108;
D_8027010C = 0x8027010C;
D_80270110 = 0x80270110;
D_80270114 = 0x80270114;
D_80270118 = 0x80270118;
D_8027011C = 0x8027011C;
gPauseMenuTabIconIDs = 0x80270130;
D_80270148 = 0x80270148;
D_8027014C = 0x8027014C;
gStatsMenuIconIDs = 0x80270150;
gBadgeMenuItemIDs = 0x80270180;
gBadgeMenuCurrentPage = 0x80270280;
gBadgeMenuPages = 0x80270288;
gBadgeMenuSelectedIndex = 0x80270378;
D_8027037C = 0x8027037C;
gBadgeMenuSelectedItemID = 0x80270380;
gBadgeMenuNumItems = 0x80270384;
D_80270388 = 0x80270388;
gBadgeMenuCurrentScrollPos = 0x8027038C;
gBadgeMenuTargetScrollPos = 0x80270390;
D_80270394 = 0x80270394;
gBadgeMenuLevel = 0x80270398;
gBadgeMenuCurrentTab = 0x8027039C;
gBadgeMenuBShowNotEnoughBP = 0x802703A0;
gBadgeMenuIconIDs = 0x802703A8;
D_802703FC = 0x802703FC;
gItemMenuItemIDs = 0x80270400;
gItemMenuCurrentPage = 0x802704C8;
gItemMenuPages = 0x802704D0;
D_802704D1 = 0x802704D1;
D_802704D2 = 0x802704D2;
gItemMenuSelectedIndex = 0x802705C0;
D_802705C4 = 0x802705C4;
gItemMenuSelectedItemID = 0x802705C8;
gItemMenuNumItems = 0x802705CC;
D_802705D0 = 0x802705D0;
gItemMenuCurrentScrollPos = 0x802705D4;
gItemMenuTargetScrollPos = 0x802705D8;
D_802705DC = 0x802705DC;
gItemMenuLevel = 0x802705E0;
gItemMenuCurrentTab = 0x802705E4;
gItemIcons = 0x802705E8;
D_80270634 = 0x80270634;
D_80270640 = 0x80270640;
D_80270660 = 0x80270660;
D_80270680 = 0x80270680;
D_802706A0 = 0x802706A0;
D_802706A4 = 0x802706A4;
D_802706A8 = 0x802706A8;
D_802706AC = 0x802706AC;
D_802706B0 = 0x802706B0;
D_802706C0 = 0x802706C0;
D_802706E0 = 0x802706E0;
D_802706FC = 0x802706FC;
D_80270700 = 0x80270700;
pause_map_cameraX = 0x80270704;
pause_map_cameraY = 0x80270708;
pause_map_marioX = 0x8027070C;
pause_map_marioY = 0x80270710;
pause_map_targetX = 0x80270714;
pause_map_targetY = 0x80270718;
pause_map_cursorCurrentOption = 0x8027071C;
pause_map_cursorCurrentOptionCopy = 0x80270720;
pause_map_spacesInSnapRange = 0x80270724;
D_80282EE9 = 0x80282EE9;
D_80282EEA = 0x80282EEA;
bMarioHideAnims = 0x80283370;
@ -1181,7 +1131,5 @@ D_802F4560 = 0x802F4560;
heap_generalHead = 0x802FB800;
gSpriteHeapPtr = 0x8034F800;
heap_battleHead = 0x803DA800;
D_802510B0 = 0x802510B0;
D_8026A2B0 = 0x8026A2B0;
D_80248380_kzn_19 = 0x80248380;
D_8024854C_kzn_19 = 0x8024854C;