Files
goldeneye_src/src/game/mainmenu.c
T
2021-03-08 12:58:16 -06:00

30067 lines
1.3 MiB
Plaintext

#include "ultra64.h"
#include "bondgame.h"
#include "bondconstants.h"
#include "boss.h"
#include "game/spectrum.h"
#include "game/mainmenu.h"
#include "game/unk_093880.h"
#include "music.h"
#include "game/textrelated.h"
#include "game/lvl.h"
#include "game/bond.h"
#include "game/chrobjdata.h"
#include "joy.h"
#include "video.h"
struct point {
f32 x;
f32 y;
f32 z;
};
// bss
//CODE.bss:800695A0
f32 flt_CODE_bss_800695A0;
//CODE.bss:800695A4
f32 flt_CODE_bss_800695A4;
//CODE.bss:800695A8
f32 flt_CODE_bss_800695A8;
//CODE.bss:800695AC
f32 flt_CODE_bss_800695AC;
//CODE.bss:800695B0
f32 flt_CODE_bss_800695B0;
//CODE.bss:800695B4
f32 flt_CODE_bss_800695B4;
//CODE.bss:800695B8
f32 flt_CODE_bss_800695B8;
//CODE.bss:800695BC
f32 flt_CODE_bss_800695BC;
//CODE.bss:800695C0
f32 flt_CODE_bss_800695C0;
//CODE.bss:800695C4
f32 flt_CODE_bss_800695C4;
//CODE.bss:800695C8
f32 flt_CODE_bss_800695C8;
//CODE.bss:800695CC
f32 flt_CODE_bss_800695CC;
//CODE.bss:800695D0
f32 flt_CODE_bss_800695D0;
//CODE.bss:800695D4
f32 flt_CODE_bss_800695D4;
//CODE.bss:800695D8
f32 flt_CODE_bss_800695D8;
//CODE.bss:800695DC
f32 flt_CODE_bss_800695DC;
//CODE.bss:800695E0
f32 flt_CODE_bss_800695E0;
//CODE.bss:800695E4
f32 flt_CODE_bss_800695E4;
//CODE.bss:800695E8
f32 flt_CODE_bss_800695E8;
//CODE.bss:800695EC
f32 flt_CODE_bss_800695EC;
//CODE.bss:800695F0
f32 flt_CODE_bss_800695F0;
//CODE.bss:800695F4
f32 flt_CODE_bss_800695F4;
//CODE.bss:800695F8
f32 flt_CODE_bss_800695F8;
//CODE.bss:800695FC
f32 flt_CODE_bss_800695FC;
//CODE.bss:80069600
f32 flt_CODE_bss_80069600;
//CODE.bss:80069604
f32 flt_CODE_bss_80069604;
//CODE.bss:80069608
f32 flt_CODE_bss_80069608;
//CODE.bss:8006960C
f32 flt_CODE_bss_8006960C;
//CODE.bss:80069610
f32 flt_CODE_bss_80069610;
//CODE.bss:80069614
f32 flt_CODE_bss_80069614;
//CODE.bss:80069618
f32 flt_CODE_bss_80069618;
//CODE.bss:8006961C
f32 flt_CODE_bss_8006961C;
//CODE.bss:80069620
char dword_CODE_bss_80069620[0x30];
//CODE.bss:80069650
u8 CHEAT_80069650;
//CODE.bss:80069651
u8 cheat_available;
//CODE.bss:80069652
u8 CHEAT_AVAILABLE_INVINCIBLE;
//CODE.bss:80069653
u8 CHEAT_AVAILABLE_ALLGUNS;
//CODE.bss:80069654
u8 CHEAT_80069654;
//CODE.bss:80069655
u8 CHEAT_80069655;
//CODE.bss:80069656
u8 CHEAT_80069656;
//CODE.bss:80069657
u8 CHEAT_AVAILABLE_LINEMODE;
//CODE.bss:80069658
u8 CHEAT_AVAILABLE_2X_HEALTH;
//CODE.bss:80069659
u8 CHEAT_AVAILABLE_2X_ARMOR;
//CODE.bss:8006965A
u8 CHEAT_AVAILABLE_BOND_INVIS;
//CODE.bss:8006965B
u8 CHEAT_AVAILABLE_INFINITE_AMMO;
//CODE.bss:8006965C
u8 CHEAT_AVAILABLE_DK_MODE;
//CODE.bss:8006965D
u8 CHEAT_AVAILABLE_EXTRA_WEAPONS;
//CODE.bss:8006965E
u8 CHEAT_AVAILABLE_TINY_BOND;
//CODE.bss:8006965F
u8 CHEAT_AVAILABLE_PAINTBALL;
//CODE.bss:80069660
u8 CHEAT_AVAILABLE_10X_HEALTH;
//CODE.bss:80069661
u8 CHEAT_AVAILABLE_MAGNUM;
//CODE.bss:80069662
u8 CHEAT_AVAILABLE_LASER;
//CODE.bss:80069663
u8 CHEAT_AVAILABLE_GOLDENGUN;
//CODE.bss:80069664
u8 CHEAT_AVAILABLE_SILVERPP7;
//CODE.bss:80069665
u8 CHEAT_AVAILABLE_GOLDPP7;
//CODE.bss:80069666
u8 CHEAT_AVAILABLE_MP_INVINCIBILITY;
//CODE.bss:80069667
u8 CHEAT_AVAILABLE_NO_MP_RADAR;
//CODE.bss:80069668
u8 CHEAT_AVAILABLE_TURBO;
//CODE.bss:80069669
u8 CHEAT_AVAILABLE_DEBUG_MODE;
//CODE.bss:8006966A
u8 CHEAT_AVAILABLE_FAST_ANI;
//CODE.bss:8006966B
u8 CHEAT_AVAILABLE_SLOW_ANI;
//CODE.bss:8006966C
u8 CHEAT_AVAILABLE_ENMY_ROCKETS;
//CODE.bss:8006966D
u8 CHEAT_AVAILABLE_2X_ROCKET;
//CODE.bss:8006966E
u8 CHEAT_AVAILABLE_2X_GRENADE_LAUNCHER;
//CODE.bss:8006966F
u8 CHEAT_AVAILABLE_2X_RCP90;
//CODE.bss:80069670
u8 CHEAT_AVAILABLE_2X_THROWING_KNIVES;
//CODE.bss:80069671
u8 CHEAT_AVAILABLE_2X_HUNTING_KNIVES;
//CODE.bss:80069672
u8 CHEAT_AVAILABLE_2X_LASER;
//CODE.bss:80069673
u8 CHEAT_80069673;
//CODE.bss:80069674
u8 CHEAT_80069674;
u8 CHEAT_80069675;
u8 CHEAT_80069676;
u8 CHEAT_80069677;
u8 CHEAT_80069678[0x28];
//CODE.bss:800696A0
u8 cheat_activated;
//CODE.bss:800696A1
u8 CHEAT_AVAILABLE_EXTRA_CHARS;
//CODE.bss:800696A2
u8 cheat_activated_1;
//CODE.bss:800696A3
u8 cheat_activated_2;
//CODE.bss:800696A4
u8 CHEAT_AVAILABLE_MAX_AMMO;
//CODE.bss:800696A5
u8 cheat_activated_4;
//CODE.bss:800696A6
u8 cheat_activated_5;
//CODE.bss:800696A7
u8 cheat_activated_6;
//CODE.bss:800696A8
u8 cheat_activated_7;
//CODE.bss:800696A9
u8 cheat_activated_8;
//CODE.bss:800696AA
u8 cheat_activated_9;
//CODE.bss:800696AB
u8 cheat_activated_10;
//CODE.bss:800696AC
u8 cheat_activated_11;
//CODE.bss:800696AD
u8 cheat_activated_12;
//CODE.bss:800696AE
u8 cheat_activated_13;
//CODE.bss:800696AF
u8 cheat_activated_14;
//CODE.bss:800696B0
u8 cheat_activated_15;
//CODE.bss:800696B1
u8 cheat_activated_16;
//CODE.bss:800696B2
u8 cheat_activated_17;
//CODE.bss:800696B3
u8 cheat_activated_18;
//CODE.bss:800696B4
u8 cheat_activated_19;
//CODE.bss:800696B5
u8 cheat_activated_20;
//CODE.bss:800696B6
u8 cheat_activated_21;
//CODE.bss:800696B7
u8 cheat_activated_22;
//CODE.bss:800696B8
u8 cheat_activated_23;
//CODE.bss:800696B9
u8 cheat_activated_24;
//CODE.bss:800696BA
u8 cheat_activated_25;
//CODE.bss:800696BB
u8 cheat_activated_26;
//CODE.bss:800696BC
u8 cheat_activated_27;
//CODE.bss:800696BD
u8 cheat_activated_28;
//CODE.bss:800696BE
u8 cheat_activated_29;
//CODE.bss:800696BF
u8 cheat_activated_30;
//CODE.bss:800696C0
u8 cheat_activated_31;
//CODE.bss:800696C1
u8 cheat_activated_32;
//CODE.bss:800696C2
u8 cheat_activated_33;
//CODE.bss:800696C3
u8 cheat_activated_34;
//CODE.bss:800696C4
u8 cheat_activated_35;
//CODE.bss:800696C5
u8 cheat_activated_36;
//CODE.bss:800696C6
u8 cheat_activated_37;
//CODE.bss:800696C7
u8 cheat_activated_38;
//CODE.bss:800696C8
u8 cheat_activated_39;
//CODE.bss:800696C9
u8 cheat_activated_40;
//CODE.bss:800696CA
u8 cheat_activated_41;
//CODE.bss:800696CB
u8 cheat_activated_42;
//CODE.bss:800696CC
u8 cheat_activated_43;
//CODE.bss:800696CD
u8 cheat_activated_44;
//CODE.bss:800696CE
u8 cheat_activated_45;
//CODE.bss:800696CF
u8 cheat_activated_46;
//CODE.bss:800696D0
u8 cheat_activated_47;
//CODE.bss:800696D1
u8 cheat_activated_48;
//CODE.bss:800696D2
u8 cheat_activated_49;
//CODE.bss:800696D3
u8 cheat_activated_50;
//CODE.bss:800696D4
u8 cheat_activated_51;
//CODE.bss:800696D5
u8 cheat_activated_52;
//CODE.bss:800696D6
u8 cheat_activated_53;
//CODE.bss:800696D7
u8 cheat_activated_54;
//CODE.bss:800696D8
u8 cheat_activated_55;
//CODE.bss:800696D9
u8 cheat_activated_56;
//CODE.bss:800696DA
u8 cheat_activated_57;
//CODE.bss:800696DB
u8 cheat_activated_58;
//CODE.bss:800696DC
u8 cheat_activated_59;
//CODE.bss:800696DD
u8 cheat_activated_60;
//CODE.bss:800696DE
u8 cheat_activated_61;
//CODE.bss:800696DF
u8 cheat_activated_62;
//CODE.bss:800696E0
u8 cheat_activated_63;
//CODE.bss:800696E1
u8 cheat_activated_64;
//CODE.bss:800696E2
u8 cheat_activated_65;
//CODE.bss:800696E3
u8 cheat_activated_66;
//CODE.bss:800696E4
u8 cheat_activated_67;
//CODE.bss:800696E5
u8 cheat_activated_68;
//CODE.bss:800696E6
u8 cheat_activated_69;
//CODE.bss:800696E7
u8 cheat_activated_70;
//CODE.bss:800696E8
u8 cheat_activated_71;
//CODE.bss:800696E9
u8 cheat_activated_72;
//CODE.bss:800696EA
u8 cheat_activated_73;
//CODE.bss:800696EB
u8 cheat_activated_74;
//CODE.bss:800696EC
u8 cheat_activated_75;
//CODE.bss:800696ED
u8 cheat_activated_76;
//CODE.bss:800696EE
u8 cheat_activated_77;
//CODE.bss:800696EF
u8 cheat_activated_78;
//CODE.bss:800696F0
s32 array_favweapon[4][2];
//CODE.bss:80069710
s32 mp_char_cur_select_player[4];
//CODE.bss:80069720
s32 mp_char_prev_select_player[4];
//CODE.bss:80069730
s32 dword_CODE_bss_80069730[4];
//CODE.bss:80069740
s32 has_selected_char_player1;
//CODE.bss:80069744
s32 has_selected_char_player2;
//CODE.bss:80069748
s32 has_selected_char_player3;
//CODE.bss:8006974C
s32 has_selected_char_player4;
//CODE.bss:80069750
s32 size_mp_select_image_player1;
//CODE.bss:80069754
s32 size_mp_select_image_player2;
//CODE.bss:80069758
s32 size_mp_select_image_player3;
//CODE.bss:8006975C
s32 size_mp_select_image_player4;
//CODE.bss:80069760
s32 dword_CODE_bss_80069760;
//CODE.bss:80069764
s32 dword_CODE_bss_80069764;
//CODE.bss:80069768
s32 dword_CODE_bss_80069768;
//CODE.bss:8006976C
s32 dword_CODE_bss_8006976C;
//CODE.bss:80069770
s32 dword_CODE_bss_80069770;
//CODE.bss:80069774
s32 dword_CODE_bss_80069774;
//CODE.bss:80069778
s32 dword_CODE_bss_80069778;
//CODE.bss:8006977C
s32 current_mp_stage_highlighted;
//CODE.bss:80069780
s32 dword_CODE_bss_80069780;
//CODE.bss:80069784
s32 mission_difficulty_highlighted;
//CODE.bss:80069788
s32 teamsize;
//CODE.bss:8006978C
s32 ptrbriefingdata;
//CODE.bss:80069790
s32 newcheatunlocked;
//CODE.bss:80069794
s32 highlight_enemy_reaction;
//CODE.bss:80069798
s32 highlight_enemy_health;
//CODE.bss:8006979C
s32 highlight_enemy_accuracy;
//CODE.bss:800697A0
s32 highlight_enemy_damage;
//CODE.bss:800697A4
s32 dword_CODE_bss_800697A4;
//CODE.bss:800697A8
s32 handicap_player1;
//CODE.bss:800697AC
s32 handicap_player2;
//CODE.bss:800697B0
s32 handicap_player3;
//CODE.bss:800697B4
s32 handicap_player4;
//CODE.bss:800697B8
u32 controlstyle_player[4];
//CODE.bss:800697C8
s32 highlight_players;
//CODE.bss:800697CC
s32 highlight_scenario;
//CODE.bss:800697D0
s32 highlight_gameselect;
//CODE.bss:800697D4
s32 highlight_gamelength;
//CODE.bss:800697D8
s32 highlight_character;
//CODE.bss:800697DC
s32 highlight_weaponselect;
//CODE.bss:800697E0
s32 highlight_health;
//CODE.bss:800697E4
s32 highlight_controlstyle;
//CODE.bss:800697E8
s32 highlight_aimadjustment;
//CODE.bss:800697EC .align 4
//CODE.bss:800697F0
char dword_CODE_bss_800697F0[0x130];
MENU current_menu = MENU_INVALID;
MENU menu_update = MENU_INVALID;
MENU maybe_prev_menu = MENU_INVALID;
s32 menu_timer = 0;
s32 tab_1_selected = FALSE;
s32 tab_2_selected = FALSE;
s32 tab_3_selected = FALSE;
s32 tab_1_highlight = FALSE;
s32 tab_2_highlight = FALSE;
s32 tab_3_highlight = FALSE;
s32 selected_folder_num = 0;
s32 selected_folder_num_copy = 0;
GAMEMODE gamemode = GAMEMODE_INTRO;
s32 selected_stage = -1;
s32 briefingpage = -1;
DIFFICULTY selected_difficulty = DIFFICULTY_MULTI;
s32 append_cheat_sp = FALSE;
s32 append_cheat_mp = FALSE;
f32 cursor_h_pos = 220.0;
f32 cursor_v_pos = 165.0;
s32 final_menu_briefing_page = 2;
s32 current_menu_briefing_page = 0;
s32 folder_selection_screen_option_icon = 0;
s32 folder_selected_for_deletion = -1;
s32 folder_selected_for_deletion_choice = 1;
s32 mission_failed_or_aborted = FALSE;
s32 mission_kia_flag = FALSE;
s32 is_first_time_on_legal_screen = TRUE;
s32 is_first_time_on_main_menu = TRUE;
s32 prev_keypresses = 0;
s32 D_8002A938 = 0;
s32 maybe_is_in_menu = TRUE;
s32 screen_size = SCREEN_SIZE_320x240;
s32 spectrum_related_flag = 0;
s32 is_emulating_spectrum = FALSE;
s32 is_cheat_menu_available = FALSE;
Gfx * ptr_logo_and_walletbond_DL = 0;
u8 * ptr_menu_videobuffer = 0;
s32 something_legalscreen_constructor = 0;
struct object_standard * ptr_folder_object_instance = 0;
s32 set0_never_used = 0;
s32 set0_never_used_0 = 0;
s32 D_8002A968 = 0;
s32 D_8002A96C = 0;
struct rgba_val D_8002A970 = {0x96, 0x96, 0x96, 0};
struct rgba_val D_8002A974 = {0x96, 0x96, 0x96, 0};
struct rgba_val D_8002A978 = {0xFF, 0xFF, 0xFF, 0};
struct rgba_val D_8002A97C = {0xFF, 0xFF, 0xFF, 0};
struct rgba_val D_8002A980 = {0x4D, 0x4D, 0x2E, 0};
struct rgba_val D_8002A984 = {0};
struct rgba_val D_8002A988 = {0xFF, 0xFF, 0xFF, 0};
struct rgba_val D_8002A98C = {0xFF, 0xFF, 0xFF, 0};
u32 D_8002A990 = 0;
u32 D_8002A994 = 0;
u32 D_8002A998 = 0;
u32 D_8002A99C = 0;
f32 slider_007_mode_reaction = 0.0f;
f32 slider_007_mode_health = 1.0f;
f32 slider_007_mode_accuracy = 1.0f;
f32 slider_007_mode_damage = 1.0f;
u32 D_8002A9B0 = 0xA0000000;
u32 D_8002A9B4 = 0x96000000;
u32 D_8002A9B8 = 0x28000000;
u32 D_8002A9BC = 0x8C000000;
struct point D_8002A9C0 = {0.0f, 0.0f, 0.0f};
struct legal_screen_text D_8002A9CC[] = {
{220, 30, 1, 1, TEXT(LTITLE, 0x07), 0},
{ 34, 83, 0, 1, TEXT(LTITLE, 0x08), 0},
{226, 84, 0, 1, TEXT(LTITLE, 0x09), 0},
{226, 97, 0, 1, TEXT(LTITLE, 0x0A), 0},
{226, 110, 0, 1, TEXT(LTITLE, 0x0B), 0},
{226, 122, 0, 1, TEXT(LTITLE, 0x0C), 0},
{227, 134, 0, 1, TEXT(LTITLE, 0x0D), 0},
{219, 211, 0, 1, TEXT(LTITLE, 0x0E), 0},
{ 60, 169, 0, 1, TEXT(LTITLE, 0x0F), 0},
{ 60, 201, 0, 1, TEXT(LTITLE, 0x10), 0},
{ 99, 266, 0, 1, TEXT(LTITLE, 0x11), 0},
{ 80, 280, 0, 1, TEXT(LTITLE, 0x12), 0}
};
u32 D_8002AABC = 0;
u32 D_8002AAC0 = 1;
u32 D_8002AAC4 = 3;
u32 D_8002AAC8 = 0;
u32 D_8002AACC = 0;
u32 D_8002AAD0 = 0;
u32 D_8002AAD4 = 0;
u32 D_8002AAD8 = 0;
u32 D_8002AADC = 0;
u32 D_8002AAE0 = 0;
u32 D_8002AAE4 = 0;
u32 D_8002AAE8 = 0;
u32 D_8002AAEC = 0;
u32 D_8002AAF0 = 0;
u32 D_8002AAF4 = 0;
u32 D_8002AAF8 = 0;
u32 D_8002AAFC = 0;
u32 D_8002AB00 = 0;
u32 D_8002AB04 = 0;
u32 D_8002AB08 = 0;
u32 D_8002AB0C = 1;
u32 D_8002AB10 = 3;
u32 D_8002AB14 = 0;
u32 D_8002AB18 = 0;
u32 D_8002AB1C = 0;
u32 D_8002AB20 = 0;
u32 D_8002AB24 = 0;
u32 D_8002AB28 = 0;
u32 D_8002AB2C = 0;
u32 D_8002AB30 = 0;
u32 D_8002AB34 = 0;
u32 D_8002AB38 = 0;
u32 D_8002AB3C = 0;
u32 D_8002AB40 = 0;
u32 D_8002AB44 = 0;
u32 D_8002AB48 = 0;
u32 D_8002AB4C = 0;
u32 D_8002AB50 = 0;
u32 D_8002AB54 = 0;
u32 D_8002AB58 = 1;
u32 D_8002AB5C = 3;
u32 D_8002AB60 = 0;
u32 D_8002AB64 = 0;
u32 D_8002AB68 = 0;
u32 D_8002AB6C = 0;
u32 D_8002AB70 = 0;
u32 D_8002AB74 = 0;
u32 D_8002AB78 = 0;
u32 D_8002AB7C = 0;
u32 D_8002AB80 = 0;
u32 D_8002AB84 = 0;
u32 D_8002AB88 = 0;
u32 D_8002AB8C = 0;
u32 D_8002AB90 = 0;
f32 D_8002AB94 = -900.0f;
f32 D_8002AB98 = 800.0f;
f32 D_8002AB9C = 0.0f;
f32 D_8002ABA0 = 1800.0f;
f32 D_8002ABA4 = 800.0f;
f32 D_8002ABA8 = 0.0f;
f32 D_8002ABAC = -1800.0f;
f32 D_8002ABB0 = -200.0f;
f32 D_8002ABB4 = 0.0f;
f32 D_8002ABB8 = 900.0f;
f32 D_8002ABBC = -200.0f;
f32 D_8002ABC0 = 0.0f;
f32 folder_option_COPY_left_bound = 0.0f;
f32 folder_option_COPY_upper_bound = 0.0f;
f32 folder_option_COPY_right_bound = 0.0f;
f32 folder_option_COPY_lower_bound = 0.0f;
f32 folder_option_ERASE_left_bound = 0.0f;
f32 folder_option_ERASE_upper_bound = 0.0f;
f32 folder_option_ERASE_right_bound = 0.0f;
f32 folder_option_ERASE_lower_bound = 0.0f;
struct mission_folder_setup mission_folder_setup_entries[] = {
{"1", TEXT(LTITLE, 0x78), 0, LEVELID_NONE, 0, MISSION_HEADER, -1, 0},
{"i", TEXT(LTITLE, 0x79), 0, LEVELID_DAM, 0, MISSION_PART, 0, "UbriefdamZ"},
{"ii", TEXT(LTITLE, 0x7A), 0, LEVELID_FACILITY, 0, MISSION_PART, 1, "UbriefarkZ"},
{"iii", TEXT(LTITLE, 0x7B), 0, LEVELID_RUNWAY, 0, MISSION_PART, 2, "UbriefrunZ"},
{"2", TEXT(LTITLE, 0x7C), 0, LEVELID_NONE, 0, MISSION_HEADER, -1, 0},
{"i", TEXT(LTITLE, 0x7D), 0, LEVELID_SURFACE, 0, MISSION_PART, 3, "UbriefsevxZ"},
{"ii", TEXT(LTITLE, 0x7E), 0, LEVELID_BUNKER1, 0, MISSION_PART, 4, "UbriefsevbunkerZ"},
{"3", TEXT(LTITLE, 0x7F), 0, LEVELID_NONE, 1, MISSION_HEADER, -1, 0},
{"i", TEXT(LTITLE, 0x80), TEXT(LTITLE, 0x81), LEVELID_SILO, 1, MISSION_PART, 5, "UbriefsiloZ"},
{"4", TEXT(LTITLE, 0x82), 0, LEVELID_NONE, 1, MISSION_HEADER, -1, 0},
{"i", TEXT(LTITLE, 0x83), 0, LEVELID_FRIGATE, 1, MISSION_PART, 6, "UbriefdestZ"},
{"5", TEXT(LTITLE, 0x7C), 0, LEVELID_NONE, 1, MISSION_HEADER, -1, 0},
{"i", TEXT(LTITLE, 0x7D), 0, LEVELID_SURFACE2, 1, MISSION_PART, 7, "UbriefsevxbZ"},
{"ii", TEXT(LTITLE, 0x7E), 0, LEVELID_BUNKER2, 1, MISSION_PART, 8, "UbriefsevbZ"},
{"6", TEXT(LTITLE, 0x84), 0, LEVELID_NONE, 2, MISSION_HEADER, -1, 0},
{"i", TEXT(LTITLE, 0x85), TEXT(LTITLE, 0x86), LEVELID_STATUE, 2, MISSION_PART, 9, "UbriefstatueZ"},
{"ii", TEXT(LTITLE, 0x87), TEXT(LTITLE, 0x88), LEVELID_ARCHIVES, 2, MISSION_PART, 0xA, "UbriefarchZ"},
{"iii", TEXT(LTITLE, 0x89), 0, LEVELID_STREETS, 2, MISSION_PART, 0xB, "UbriefpeteZ"},
{"iv", TEXT(LTITLE, 0x8A), 0, LEVELID_DEPOT, 2, MISSION_PART, 0xC, "UbriefdepoZ"},
{"v", TEXT(LTITLE, 0x8B), 0, LEVELID_TRAIN, 2, MISSION_PART, 0xD, "UbrieftraZ"},
{"7", TEXT(LTITLE, 0x8C), 0, LEVELID_NONE, 3, MISSION_HEADER, -1, 0},
{"i", TEXT(LTITLE, 0x8D), 0, LEVELID_JUNGLE, 3, MISSION_PART, 0xE, "UbriefjunZ"},
{"ii", TEXT(LTITLE, 0x8E), TEXT(LTITLE, 0x8F), LEVELID_CONTROL, 3, MISSION_PART, 0xF, "UbriefcontrolZ"},
{"iii", TEXT(LTITLE, 0x90), TEXT(LTITLE, 0x91), LEVELID_CAVERNS, 3, MISSION_PART, 0x10, "UbriefcaveZ"},
{"iv", TEXT(LTITLE, 0x92), TEXT(LTITLE, 0x93), LEVELID_CRADLE, 3, MISSION_PART, 0x11, "UbriefcradZ"},
{"8", TEXT(LTITLE, 0x94), 0, LEVELID_NONE, 4, MISSION_HEADER, -1, 0},
{"i", TEXT(LTITLE, 0x95), TEXT(LTITLE, 0x96), LEVELID_AZTEC, 4, MISSION_PART, 0x12, "UbriefaztZ"},
{"9", TEXT(LTITLE, 0x97), 0, LEVELID_NONE, 4, MISSION_HEADER, -1, 0},
{"i", TEXT(LTITLE, 0x98), TEXT(LTITLE, 0x99), LEVELID_EGYPT, 4, MISSION_PART, 0x13, "UbriefcrypZ"},
{NULL, 0, 0, LEVELID_NONE, -1, MISSION_PART, -1, 0}
};
u32 unknown_folderselect_constructor = 0x14;
u32 D_8002AF30 = 0x14;
u32 D_8002AF34 = 0x14;
u32 unknown_folderselect_constructor_0 = 0x32;
u32 D_8002AF3C = 0x32;
u32 D_8002AF40 = 0x32;
u32 unknown_folderselect[] = {
0, 1, 3, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0,
0, 0
};
u32 D_8002AF84[] = {
0, 1, 3, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0,
0
};
u32 D_8002AFC0 = 0;
u32 D_8002AFC4 = 0;
f32 D_8002AFC8 = 190.0;
f32 D_8002AFCC = -3300.0;
u32 cursor_xpos_table_mission_select[] = {73, 142, 212, 282, 352};
u32 cursor_ypos_table_mission_select[] = {62, 131, 201, 270};
struct MP_game_length_settings multi_game_lengths[] = {
{TEXT(LTITLE, 0x2D), 0, 0, 0}, /* unlimited */
{TEXT(LTITLE, 0x2E), 0, MINS_TO_TIMER60(5), 0}, /* 5 minutes */
{TEXT(LTITLE, 0x2F), 0, MINS_TO_TIMER60(10), 0}, /* 10 minutes */
{TEXT(LTITLE, 0x30), 0, MINS_TO_TIMER60(20), 0}, /* 20 minutes */
{TEXT(LTITLE, 0x31), 0, 0, 5}, /* first to 5 points */
{TEXT(LTITLE, 0x32), 0, 0, 10}, /* first to 10 points */
{TEXT(LTITLE, 0x33), 0, 0, 20}, /* first to 20 points */
{TEXT(LTITLE, 0x34), 0, 0, 0} /* last person alive wins */
};
struct mp_stage_playercount mp_player_counts[] = {
{TEXT(LTITLE, 0x35), 2, 4},
{TEXT(LTITLE, 0x36), 2, 4},
{TEXT(LTITLE, 0x37), 2, 4},
{TEXT(LTITLE, 0x38), 2, 4},
{TEXT(LTITLE, 0x39), 2, 4},
{TEXT(LTITLE, 0x3A), 4, 4},
{TEXT(LTITLE, 0x3B), 4, 4},
{TEXT(LTITLE, 0x3C), 3, 3}
};
struct mp_stage_setup multi_stage_setups[] = {
/* unlocked by default */
{TEXT(LTITLE, 0x9A), TEXT(LTITLE, 0x9B), 16, LEVELID_NONE, -1, 1, 4},
{TEXT(LTITLE, 0x9C), TEXT(LTITLE, 0x9D), 12, LEVELID_TEMPLE, -1, 1, 4},
{TEXT(LTITLE, 0x9E), TEXT(LTITLE, 0x9F), 14, LEVELID_COMPLEX, -1, 1, 4},
{TEXT(LTITLE, 0xA2), TEXT(LTITLE, 0xA3), 15, LEVELID_CAVES, -1, 1, 4},
{TEXT(LTITLE, 0xA0), TEXT(LTITLE, 0xA1), 13, LEVELID_LIBRARY, -1, 1, 4},
{TEXT(LTITLE, 0x10D), TEXT(LTITLE, 0x10E), 13, LEVELID_BASEMENT, -1, 1, 4},
{TEXT(LTITLE, 0x10F), TEXT(LTITLE, 0x110), 13, LEVELID_STACK, -1, 1, 4},
/* unlocked on level progression */
{TEXT(LTITLE, 0xA4), TEXT(LTITLE, 0xA5), 04, LEVELID_FACILITY, SP_LEVEL_DAM, 1, 4},
{TEXT(LTITLE, 0xA6), TEXT(LTITLE, 0xA7), 00, LEVELID_BUNKER2, SP_LEVEL_SURFACE2, 1, 3},
{TEXT(LTITLE, 0xA8), TEXT(LTITLE, 0xA9), 02, LEVELID_ARCHIVES, SP_LEVEL_STATUE, 1, 3},
{TEXT(LTITLE, 0xAA), TEXT(LTITLE, 0xAB), 01, LEVELID_CAVERNS, SP_LEVEL_CONTROL, 1, 3},
{TEXT(LTITLE, 0xAC), TEXT(LTITLE, 0xAD), 10, LEVELID_EGYPT, SP_LEVEL_AZTEC, 1, 2}
};
u32 num_chars_selectable_mp = 8;
#ifdef VERSION_US
struct MP_selectable_chars mp_chr_setup[] = {
{TEXT(LTITLE, 0xB8), MALE, 0, BODY_Tuxedo, HEAD_Male_Pierce_Bond_Tuxedo_DEFAULT, 1.0},
{TEXT(LTITLE, 0xBF), FEMALE, 9, BODY_Natalya_Skirt, HEAD_Male_Pierce_Bond_Tuxedo_DEFAULT, 0.96609998},
{TEXT(LTITLE, 0xBC), MALE, 6, BODY_Trevelyan_Janus, HEAD_Male_Pierce_Bond_Tuxedo_DEFAULT, 1.0},
{TEXT(LTITLE, 0xBE), FEMALE, 8, BODY_Xenia, HEAD_Male_Pierce_Bond_Tuxedo_DEFAULT, 1.0},
{TEXT(LTITLE, 0xBB), MALE, 5, BODY_Ourumov, HEAD_Male_Pierce_Bond_Tuxedo_DEFAULT, 1.0778},
{TEXT(LTITLE, 0xBA), MALE, 4, BODY_Boris, HEAD_Male_Pierce_Bond_Tuxedo_DEFAULT, 0.9702},
{TEXT(LTITLE, 0xBD), MALE, 7, BODY_Valentin_, HEAD_Male_Pierce_Bond_Tuxedo_DEFAULT, 0.93239999},
{TEXT(LTITLE, 0xB9), MALE, 0xF, BODY_Siberian_Guard_1_Mishkin, HEAD_Male_Mishkin, 1.0},
{TEXT(LTITLE, 0xC2), FEMALE, 0xC, BODY_Mayday, HEAD_Male_Pierce_Bond_Tuxedo_DEFAULT, 1.0},
{TEXT(LTITLE, 0xC1), MALE, 0xB, BODY_Jaws, HEAD_Male_Pierce_Bond_Tuxedo_DEFAULT, 1.199},
{TEXT(LTITLE, 0xC3), MALE, 0xD, BODY_Oddjob, HEAD_Male_Pierce_Bond_Tuxedo_DEFAULT,0.78780001},
{TEXT(LTITLE, 0xC0), MALE, 0xA, BODY_Baron_Samedi, HEAD_Male_Pierce_Bond_Tuxedo_DEFAULT, 1.0},
{TEXT(LTITLE, 0xFD), MALE, 0xE, BODY_Russian_Soldier, HEAD_Male_Mark, 1.0},
{TEXT(LTITLE, 0xFC), MALE, 0xE, BODY_Russian_Infantry, HEAD_Male_Karl, 1.0},
{TEXT(LTITLE, 0x107), MALE, 0xE, BODY_Scientist_1_Male, HEAD_Male_Dave_Dr_Doak, 1.0},
{TEXT(LTITLE, 0x107), FEMALE, 0xE, BODY_Scientist_2_Female, HEAD_Female_Sally, 1.0},
{TEXT(LTITLE, 0x100), MALE, 0xE, BODY_Russian_Commandant, HEAD_Male_Martin, 1.0},
{TEXT(LTITLE, 0xFE), MALE, 0xE, BODY_Janus_Marine, HEAD_Male_Steve_Ellis, 1.0},
{TEXT(LTITLE, 0x101), MALE, 0xE, BODY_Naval_Officer, HEAD_Male_Duncan, 1.0},
{TEXT(LTITLE, 0x106), MALE, 0xE, BODY_Helicopter_Pilot, HEAD_Male_Pete, 1.0},
{TEXT(LTITLE, 0xFB), MALE, 0xE, BODY_St_Petersburg_Guard, HEAD_Male_Ken, 1.0},
{TEXT(LTITLE, 0x108), FEMALE, 0xE, BODY_Civilian_1_Female, HEAD_Female_Marion_Rosika, 1.0},
{TEXT(LTITLE, 0x108), MALE, 0xE, BODY_Civilian_2, HEAD_Male_Graeme, 1.0},
{TEXT(LTITLE, 0x108), MALE, 0xE, BODY_Civilian_3, HEAD_Male_Grant, 1.0},
{TEXT(LTITLE, 0x108), MALE, 0xE, BODY_Civilian_4, HEAD_Male_Dwayne, 1.0},
{TEXT(LTITLE, 0x102), MALE, 0xE, BODY_Siberian_Guard_1_Mishkin, HEAD_Male_Lee, 1.0},
{TEXT(LTITLE, 0x103), MALE, 0xE, BODY_Arctic_Commando, HEAD_Male_Chris, 1.0},
{TEXT(LTITLE, 0x102), MALE, 0xE, BODY_Siberian_Guard_2, HEAD_Male_Scott, 1.0},
{TEXT(LTITLE, 0x104), MALE, 0xE, BODY_Siberian_Special_Forces, HEAD_Male_Alan, 1.0},
{TEXT(LTITLE, 0xFA), MALE, 0xE, BODY_Jungle_Commando, HEAD_Male_Joel, 1.0},
{TEXT(LTITLE, 0xFF), MALE, 0xE, BODY_Janus_Special_Forces, HEAD_Male_B, 1.0},
{TEXT(LTITLE, 0x105), MALE, 0xE, BODY_Moonraker_Elite_1_Male, HEAD_Male_Neil, 1.0},
{TEXT(LTITLE, 0x105), FEMALE, 0xE, BODY_Moonraker_Elite_2_Female, HEAD_Female_Vivien, 1.0},
{TEXT(LTITLE, 0xC4), FEMALE, 0xE, BODY_Rosika, HEAD_Female_Marion_Rosika, 0.88529998},
{TEXT(LTITLE, 0xC5), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Karl, 1.0446},
{TEXT(LTITLE, 0xC6), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Martin, 1.0446},
{TEXT(LTITLE, 0xC7), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Mark, 1.0446},
{TEXT(LTITLE, 0xC8), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Dave_Dr_Doak, 1.0446},
{TEXT(LTITLE, 0xC9), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Duncan, 1.0446},
{TEXT(LTITLE, 0xCA), FEMALE, 0xE, BODY_Tuxedo, HEAD_Male_B, 1.0446},
{TEXT(LTITLE, 0xCB), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Steve_Ellis, 1.0446},
{TEXT(LTITLE, 0xCC), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Grant, 1.0446},
{TEXT(LTITLE, 0xCD), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Graeme, 1.0446},
{TEXT(LTITLE, 0xCE), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Ken, 1.0446},
{TEXT(LTITLE, 0xCF), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Alan, 1.0446},
{TEXT(LTITLE, 0xD0), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Pete, 1.0446},
{TEXT(LTITLE, 0xD1), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Shaun, 1.0446},
{TEXT(LTITLE, 0xD2), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Dwayne, 1.0446},
{TEXT(LTITLE, 0xD3), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Des, 1.0446},
{TEXT(LTITLE, 0xD4), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Chris, 1.0446},
{TEXT(LTITLE, 0xD5), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Lee, 1.0446},
{TEXT(LTITLE, 0xD6), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Neil, 1.0446},
{TEXT(LTITLE, 0xD7), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Jim, 1.0446},
{TEXT(LTITLE, 0xD8), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Robin, 1.0446},
{TEXT(LTITLE, 0xD9), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Steve_H, 1.0446},
{TEXT(LTITLE, 0xDA), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Terrorist, 1.0446},
{TEXT(LTITLE, 0xDB), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Biker, 1.0446},
{TEXT(LTITLE, 0xDC), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Joel, 1.0446},
{TEXT(LTITLE, 0xDD), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Scott, 1.0446},
{TEXT(LTITLE, 0xDE), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Joe, 1.0446},
{TEXT(LTITLE, 0xDF), FEMALE, 0xE, BODY_Tuxedo, HEAD_Female_Sally, 1.0446},
{TEXT(LTITLE, 0xE0), FEMALE, 0xE, BODY_Tuxedo, HEAD_Female_Marion_Rosika, 1.0446},
{TEXT(LTITLE, 0xE1), FEMALE, 0xE, BODY_Tuxedo, HEAD_Female_Mandy, 1.0446},
{TEXT(LTITLE, 0xE2), FEMALE, 0xE, BODY_Tuxedo, HEAD_Female_Vivien, 1.0446}
};
#endif
#ifdef VERSION_JP
struct MP_selectable_chars mp_chr_setup[] = {
{TEXT(LTITLE, 0xB8), MALE, 0, BODY_Tuxedo, HEAD_Male_Pierce_Bond_Tuxedo_DEFAULT, 1.0},
{TEXT(LTITLE, 0xBF), FEMALE, 9, BODY_Natalya_Skirt, HEAD_Male_Pierce_Bond_Tuxedo_DEFAULT, 0.96609998},
{TEXT(LTITLE, 0xBC), MALE, 6, BODY_Trevelyan_Janus, HEAD_Male_Pierce_Bond_Tuxedo_DEFAULT, 1.0},
{TEXT(LTITLE, 0xBE), FEMALE, 8, BODY_Xenia, HEAD_Male_Pierce_Bond_Tuxedo_DEFAULT, 1.0},
{TEXT(LTITLE, 0xBB), MALE, 5, BODY_Ourumov, HEAD_Male_Pierce_Bond_Tuxedo_DEFAULT, 1.0778},
{TEXT(LTITLE, 0xBA), MALE, 4, BODY_Boris, HEAD_Male_Pierce_Bond_Tuxedo_DEFAULT, 0.9702},
{TEXT(LTITLE, 0xBD), MALE, 7, BODY_Valentin_, HEAD_Male_Pierce_Bond_Tuxedo_DEFAULT, 0.93239999},
{TEXT(LTITLE, 0xB9), MALE, 0xF, BODY_Siberian_Guard_1_Mishkin, HEAD_Male_Mishkin, 1.0},
{TEXT(LTITLE, 0xC2), FEMALE, 0xC, BODY_Mayday, HEAD_Male_Pierce_Bond_Tuxedo_DEFAULT, 1.0},
{TEXT(LTITLE, 0xC1), MALE, 0xB, BODY_Jaws, HEAD_Male_Pierce_Bond_Tuxedo_DEFAULT, 1.199},
{TEXT(LTITLE, 0xC3), MALE, 0xD, BODY_Oddjob, HEAD_Male_Pierce_Bond_Tuxedo_DEFAULT,0.78780001},
{TEXT(LTITLE, 0xC0), MALE, 0xA, BODY_Baron_Samedi, HEAD_Male_Pierce_Bond_Tuxedo_DEFAULT, 1.0},
{TEXT(LTITLE, 0x11F), MALE, 0xE, BODY_Russian_Soldier, HEAD_Male_Mark, 1.0},
{TEXT(LTITLE, 0x120), MALE, 0xE, BODY_Russian_Infantry, HEAD_Male_Karl, 1.0},
{TEXT(LTITLE, 0x121), MALE, 0xE, BODY_Scientist_1_Male, HEAD_Male_Dave_Dr_Doak, 1.0},
{TEXT(LTITLE, 0x121), FEMALE, 0xE, BODY_Scientist_2_Female, HEAD_Female_Sally, 1.0},
{TEXT(LTITLE, 0x122), MALE, 0xE, BODY_Russian_Commandant, HEAD_Male_Martin, 1.0},
{TEXT(LTITLE, 0x123), MALE, 0xE, BODY_Janus_Marine, HEAD_Male_Steve_Ellis, 1.0},
{TEXT(LTITLE, 0x124), MALE, 0xE, BODY_Naval_Officer, HEAD_Male_Duncan, 1.0},
{TEXT(LTITLE, 0x125), MALE, 0xE, BODY_Helicopter_Pilot, HEAD_Male_Pete, 1.0},
{TEXT(LTITLE, 0x126), MALE, 0xE, BODY_St_Petersburg_Guard, HEAD_Male_Ken, 1.0},
{TEXT(LTITLE, 0x127), FEMALE, 0xE, BODY_Civilian_1_Female, HEAD_Female_Marion_Rosika, 1.0},
{TEXT(LTITLE, 0x127), MALE, 0xE, BODY_Civilian_2, HEAD_Male_Graeme, 1.0},
{TEXT(LTITLE, 0x127), MALE, 0xE, BODY_Civilian_3, HEAD_Male_Grant, 1.0},
{TEXT(LTITLE, 0x127), MALE, 0xE, BODY_Civilian_4, HEAD_Male_Dwayne, 1.0},
{TEXT(LTITLE, 0x128), MALE, 0xE, BODY_Siberian_Guard_1_Mishkin, HEAD_Male_Lee, 1.0},
{TEXT(LTITLE, 0x129), MALE, 0xE, BODY_Arctic_Commando, HEAD_Male_Chris, 1.0},
{TEXT(LTITLE, 0x128), MALE, 0xE, BODY_Siberian_Guard_2, HEAD_Male_Scott, 1.0},
{TEXT(LTITLE, 0x12A), MALE, 0xE, BODY_Siberian_Special_Forces, HEAD_Male_Alan, 1.0},
{TEXT(LTITLE, 0x12B), MALE, 0xE, BODY_Jungle_Commando, HEAD_Male_Joel, 1.0},
{TEXT(LTITLE, 0x12C), MALE, 0xE, BODY_Janus_Special_Forces, HEAD_Male_B, 1.0},
{TEXT(LTITLE, 0x12D), MALE, 0xE, BODY_Moonraker_Elite_1_Male, HEAD_Male_Neil, 1.0},
{TEXT(LTITLE, 0x12D), FEMALE, 0xE, BODY_Moonraker_Elite_2_Female, HEAD_Female_Vivien, 1.0},
{TEXT(LTITLE, 0xC4), FEMALE, 0xE, BODY_Rosika, HEAD_Female_Marion_Rosika, 0.88529998},
{TEXT(LTITLE, 0xC5), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Karl, 1.0446},
{TEXT(LTITLE, 0xC6), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Martin, 1.0446},
{TEXT(LTITLE, 0xC7), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Mark, 1.0446},
{TEXT(LTITLE, 0xC8), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Dave_Dr_Doak, 1.0446},
{TEXT(LTITLE, 0xC9), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Duncan, 1.0446},
{TEXT(LTITLE, 0xCA), FEMALE, 0xE, BODY_Tuxedo, HEAD_Male_B, 1.0446},
{TEXT(LTITLE, 0xCB), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Steve_Ellis, 1.0446},
{TEXT(LTITLE, 0xCC), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Grant, 1.0446},
{TEXT(LTITLE, 0xCD), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Graeme, 1.0446},
{TEXT(LTITLE, 0xCE), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Ken, 1.0446},
{TEXT(LTITLE, 0xCF), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Alan, 1.0446},
{TEXT(LTITLE, 0xD0), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Pete, 1.0446},
{TEXT(LTITLE, 0xD1), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Shaun, 1.0446},
{TEXT(LTITLE, 0xD2), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Dwayne, 1.0446},
{TEXT(LTITLE, 0xD3), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Des, 1.0446},
{TEXT(LTITLE, 0xD4), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Chris, 1.0446},
{TEXT(LTITLE, 0xD5), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Lee, 1.0446},
{TEXT(LTITLE, 0xD6), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Neil, 1.0446},
{TEXT(LTITLE, 0xD7), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Jim, 1.0446},
{TEXT(LTITLE, 0xD8), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Robin, 1.0446},
{TEXT(LTITLE, 0xD9), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Steve_H, 1.0446},
{TEXT(LTITLE, 0xDA), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Terrorist, 1.0446},
{TEXT(LTITLE, 0xDB), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Biker, 1.0446},
{TEXT(LTITLE, 0xDC), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Joel, 1.0446},
{TEXT(LTITLE, 0xDD), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Scott, 1.0446},
{TEXT(LTITLE, 0xDE), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Joe, 1.0446},
{TEXT(LTITLE, 0xDF), FEMALE, 0xE, BODY_Tuxedo, HEAD_Female_Sally, 1.0446},
{TEXT(LTITLE, 0xE0), FEMALE, 0xE, BODY_Tuxedo, HEAD_Female_Marion_Rosika, 1.0446},
{TEXT(LTITLE, 0xE1), FEMALE, 0xE, BODY_Tuxedo, HEAD_Female_Mandy, 1.0446},
{TEXT(LTITLE, 0xE2), FEMALE, 0xE, BODY_Tuxedo, HEAD_Female_Vivien, 1.0446}
};
#endif
#ifdef VERSION_EU
struct MP_selectable_chars mp_chr_setup[] = {
{TEXT(LTITLE, 0xB8), MALE, 0, BODY_Tuxedo, HEAD_Male_Pierce_Bond_Tuxedo_DEFAULT, 1.0},
{TEXT(LTITLE, 0xBF), FEMALE, 9, BODY_Natalya_Skirt, HEAD_Male_Pierce_Bond_Tuxedo_DEFAULT, 0.96609998},
{TEXT(LTITLE, 0xBC), MALE, 6, BODY_Trevelyan_Janus, HEAD_Male_Pierce_Bond_Tuxedo_DEFAULT, 1.0},
{TEXT(LTITLE, 0xBE), FEMALE, 8, BODY_Xenia, HEAD_Male_Pierce_Bond_Tuxedo_DEFAULT, 1.0},
{TEXT(LTITLE, 0xBB), MALE, 5, BODY_Ourumov, HEAD_Male_Pierce_Bond_Tuxedo_DEFAULT, 1.0778},
{TEXT(LTITLE, 0xBA), MALE, 4, BODY_Boris, HEAD_Male_Pierce_Bond_Tuxedo_DEFAULT, 0.9702},
{TEXT(LTITLE, 0xBD), MALE, 7, BODY_Valentin_, HEAD_Male_Pierce_Bond_Tuxedo_DEFAULT, 0.93239999},
{TEXT(LTITLE, 0xB9), MALE, 0xF, BODY_Siberian_Guard_1_Mishkin, HEAD_Male_Mishkin, 1.0},
{TEXT(LTITLE, 0xC2), FEMALE, 0xC, BODY_Mayday, HEAD_Male_Pierce_Bond_Tuxedo_DEFAULT, 1.0},
{TEXT(LTITLE, 0xC1), MALE, 0xB, BODY_Jaws, HEAD_Male_Pierce_Bond_Tuxedo_DEFAULT, 1.199},
{TEXT(LTITLE, 0xC3), MALE, 0xD, BODY_Oddjob, HEAD_Male_Pierce_Bond_Tuxedo_DEFAULT,0.78780001},
{TEXT(LTITLE, 0xC0), MALE, 0xA, BODY_Baron_Samedi, HEAD_Male_Pierce_Bond_Tuxedo_DEFAULT, 1.0},
{TEXT(LTITLE, 0x11F), MALE, 0xE, BODY_Russian_Soldier, HEAD_Male_Mark, 1.0},
{TEXT(LTITLE, 0x120), MALE, 0xE, BODY_Russian_Infantry, HEAD_Male_Karl, 1.0},
{TEXT(LTITLE, 0x121), MALE, 0xE, BODY_Scientist_1_Male, HEAD_Male_Dave_Dr_Doak, 1.0},
{TEXT(LTITLE, 0x121), FEMALE, 0xE, BODY_Scientist_2_Female, HEAD_Female_Sally, 1.0},
{TEXT(LTITLE, 0x122), MALE, 0xE, BODY_Russian_Commandant, HEAD_Male_Martin, 1.0},
{TEXT(LTITLE, 0x123), MALE, 0xE, BODY_Janus_Marine, HEAD_Male_Steve_Ellis, 1.0},
{TEXT(LTITLE, 0x124), MALE, 0xE, BODY_Naval_Officer, HEAD_Male_Duncan, 1.0},
{TEXT(LTITLE, 0x125), MALE, 0xE, BODY_Helicopter_Pilot, HEAD_Male_Pete, 1.0},
{TEXT(LTITLE, 0x126), MALE, 0xE, BODY_St_Petersburg_Guard, HEAD_Male_Ken, 1.0},
{TEXT(LTITLE, 0x127), FEMALE, 0xE, BODY_Civilian_1_Female, HEAD_Female_Marion_Rosika, 1.0},
{TEXT(LTITLE, 0x127), MALE, 0xE, BODY_Civilian_2, HEAD_Male_Graeme, 1.0},
{TEXT(LTITLE, 0x127), MALE, 0xE, BODY_Civilian_3, HEAD_Male_Grant, 1.0},
{TEXT(LTITLE, 0x127), MALE, 0xE, BODY_Civilian_4, HEAD_Male_Dwayne, 1.0},
{TEXT(LTITLE, 0x128), MALE, 0xE, BODY_Siberian_Guard_1_Mishkin, HEAD_Male_Lee, 1.0},
{TEXT(LTITLE, 0x129), MALE, 0xE, BODY_Arctic_Commando, HEAD_Male_Chris, 1.0},
{TEXT(LTITLE, 0x128), MALE, 0xE, BODY_Siberian_Guard_2, HEAD_Male_Scott, 1.0},
{TEXT(LTITLE, 0x12A), MALE, 0xE, BODY_Siberian_Special_Forces, HEAD_Male_Alan, 1.0},
{TEXT(LTITLE, 0x12B), MALE, 0xE, BODY_Jungle_Commando, HEAD_Male_Joel, 1.0},
{TEXT(LTITLE, 0x12C), MALE, 0xE, BODY_Janus_Special_Forces, HEAD_Male_B, 1.0},
{TEXT(LTITLE, 0x12D), MALE, 0xE, BODY_Moonraker_Elite_1_Male, HEAD_Male_Neil, 1.0},
{TEXT(LTITLE, 0x12D), FEMALE, 0xE, BODY_Moonraker_Elite_2_Female, HEAD_Female_Vivien, 1.0},
{TEXT(LTITLE, 0xC4), FEMALE, 0xE, BODY_Rosika, HEAD_Female_Marion_Rosika, 0.88529998},
{TEXT(LTITLE, 0xC5), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Karl, 1.0446},
{TEXT(LTITLE, 0xC6), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Martin, 1.0446},
{TEXT(LTITLE, 0xC7), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Mark, 1.0446},
{TEXT(LTITLE, 0xC8), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Dave_Dr_Doak, 1.0446},
{TEXT(LTITLE, 0xC9), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Duncan, 1.0446},
{TEXT(LTITLE, 0xCA), FEMALE, 0xE, BODY_Tuxedo, HEAD_Male_B, 1.0446},
{TEXT(LTITLE, 0xCB), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Steve_Ellis, 1.0446},
{TEXT(LTITLE, 0xCC), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Grant, 1.0446},
{TEXT(LTITLE, 0xCD), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Graeme, 1.0446},
{TEXT(LTITLE, 0xCE), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Ken, 1.0446},
{TEXT(LTITLE, 0xCF), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Alan, 1.0446},
{TEXT(LTITLE, 0xD0), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Pete, 1.0446},
{TEXT(LTITLE, 0xD1), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Shaun, 1.0446},
{TEXT(LTITLE, 0xD2), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Dwayne, 1.0446},
{TEXT(LTITLE, 0xD3), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Des, 1.0446},
{TEXT(LTITLE, 0xD4), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Chris, 1.0446},
{TEXT(LTITLE, 0xD5), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Lee, 1.0446},
{TEXT(LTITLE, 0xD6), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Neil, 1.0446},
{TEXT(LTITLE, 0xD7), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Jim, 1.0446},
{TEXT(LTITLE, 0xD8), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Robin, 1.0446},
{TEXT(LTITLE, 0xD9), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Steve_H, 1.0446},
{TEXT(LTITLE, 0xDA), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Terrorist, 1.0446},
{TEXT(LTITLE, 0xDB), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Biker, 1.0446},
{TEXT(LTITLE, 0xDC), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Joel, 1.0446},
{TEXT(LTITLE, 0xDD), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Scott, 1.0446},
{TEXT(LTITLE, 0xDE), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Joe, 1.0446},
{TEXT(LTITLE, 0xDF), FEMALE, 0xE, BODY_Tuxedo, HEAD_Female_Sally, 1.0446},
{TEXT(LTITLE, 0xE0), FEMALE, 0xE, BODY_Tuxedo, HEAD_Female_Marion_Rosika, 1.0446},
{TEXT(LTITLE, 0xE1), FEMALE, 0xE, BODY_Tuxedo, HEAD_Female_Mandy, 1.0446},
{TEXT(LTITLE, 0xE2), FEMALE, 0xE, BODY_Tuxedo, HEAD_Female_Vivien, 1.0446}
};
#endif
struct MP_handicap_menu MP_handicap_table[] = {
{TEXT(LTITLE, 0x3D), 0, 10.0},
{TEXT(LTITLE, 0x3E), 0, 2.8560996},
{TEXT(LTITLE, 0x3F), 0, 2.1969998},
{TEXT(LTITLE, 0x40), 0, 1.6899998},
{TEXT(LTITLE, 0x41), 0, 1.3},
{TEXT(LTITLE, 0x42), 0, 1.0},
{TEXT(LTITLE, 0x43), 0, 0.76923078},
{TEXT(LTITLE, 0x44), 0, 0.59171599},
{TEXT(LTITLE, 0x45), 0, 0.45516616},
{TEXT(LTITLE, 0x46), 0, 0.35012782},
{TEXT(LTITLE, 0x47), 0, 0.1}
};
struct MP_controller_configuration_menu MP_controller_configuration_table[] = {
{0x9D, 0x15, 0, 1},
{0x9D, 0x16, 1, 1},
{0x9D, 0x17, 2, 1},
{0x9D, 0x18, 3, 1},
{0x9D, 0x19, 4, 2},
{0x9D, 0x1A, 5, 2},
{0x9D, 0x1B, 6, 2},
{0x9D, 0x1C, 7, 2}
};
struct MP_sight_aim_settings mp_sight_adjust_table[] = {
{0x9C, 0x48, 0, 0},
{0x9C, 0x49, 1, 0},
{0x9C, 0x4A, 0, 1},
{0x9C, 0x4B, 1, 1}
};
s32 selected_num_players = 0;
s32 player_1_char = -1;
s32 player_2_char = -1;
s32 player_3_char = -1;
s32 player_4_char = -1;
s32 MP_stage_selected = MP_STAGE_TEMPLE;
s32 game_length = 2;
s32 aim_sight_adjustment = 3;
s32 scenario = SCENARIO_NORMAL;
s32 unlock_stage_select = 1;
s32 unlock_game_length = 1;
s32 unlock_chars = 1;
s32 unlock_weapon_select = 1;
s32 unlock_handicap = 1;
s32 unlock_control_style = 1;
s32 unlock_aim_sight = 1;
u32 D_8002B560 = 0;
struct solo_target_times solo_target_time_array[] = {
{0, 160, 0},
{0, 0, 125},
{300, 0, 0},
{0, 210, 0},
{0, 0, 240},
{180, 0, 0},
{0, 270, 0},
{0, 0, 255},
{90, 0, 0},
{0, 195, 0},
{0, 0, 80},
{105, 0, 0},
{0, 100, 0},
{0, 0, 325},
{225, 0, 0},
{0, 600, 0},
{0, 0, 570},
{135, 0, 0},
{0, 540, 0},
{0, 0, 360}
};
u32 D_8002B5DC = 0;
u32 D_8002B5E0 = 0;
u32 MP_menu_selected_option = 0;
u32 do_not_play_intro_movie = 0;
u32 randomly_selected_intro_animation = 0;
u32 intro_animation_count = 0;
u32 objinstance = 0;
u32 ptrobjinstance = 0;
u32 full_actor_intro = 0;
struct intro_char intro_char_table[] = {
{BODY_Tuxedo, 0x4E, TEXT(LTITLE, 0xE3), TEXT(LTITLE, 0xE4), TEXT(LTITLE, 0xE3), 0, 1},
{BODY_Special_Operations_Uniform, 0x4A, TEXT(LTITLE, 0xE5), TEXT(LTITLE, 0xE8), TEXT(LTITLE, 0xE9), 0, 0},
{BODY_Natalya_Skirt, 0xFFFFFFFF, TEXT(LTITLE, 0xE5), TEXT(LTITLE, 0xEA), TEXT(LTITLE, 0xE3), 0, 0},
{BODY_Trevelyan_006, 0xFFFFFFFF, TEXT(LTITLE, 0xE5), TEXT(LTITLE, 0xEB), TEXT(LTITLE, 0xEC), 0, 0},
{BODY_Xenia, 0xFFFFFFFF, TEXT(LTITLE, 0xE6), TEXT(LTITLE, 0xED), TEXT(LTITLE, 0xEE), 0, 0},
{BODY_Ourumov, 0xFFFFFFFF, TEXT(LTITLE, 0xE6), TEXT(LTITLE, 0xEF), TEXT(LTITLE, 0xF0), 0, 0},
{BODY_Boris, 0xFFFFFFFF, TEXT(LTITLE, 0xE6), TEXT(LTITLE, 0xF1), TEXT(LTITLE, 0xE3), 0, 0},
{BODY_Valentin_, 0xFFFFFFFF, TEXT(LTITLE, 0xE6), TEXT(LTITLE, 0xF2), TEXT(LTITLE, 0xF3), 0, 0},
{BODY_Siberian_Guard_1_Mishkin, 0x45, TEXT(LTITLE, 0xE6), TEXT(LTITLE, 0xF4), TEXT(LTITLE, 0xF5), 0, 0},
{BODY_Russian_Soldier, 0xFFFFFF9F, TEXT(LTITLE, 0xE3), TEXT(LTITLE, 0xFD), TEXT(LTITLE, 0xE3), 0, 1},
{BODY_Russian_Infantry, 0xFFFFFF9F, TEXT(LTITLE, 0xE3), TEXT(LTITLE, 0xFC), TEXT(LTITLE, 0xE3), 0, 1},
{BODY_Scientist_1_Male, 0xFFFFFF9F, TEXT(LTITLE, 0xE3), TEXT(LTITLE, 0x107), TEXT(LTITLE, 0xE3), 0, 1},
{BODY_Scientist_2_Female, 0xFFFFFF9F, TEXT(LTITLE, 0xE3), TEXT(LTITLE, 0x107), TEXT(LTITLE, 0xE3), 0, 1},
{BODY_Russian_Commandant, 0xFFFFFF9F, TEXT(LTITLE, 0xE3), TEXT(LTITLE, 0x100), TEXT(LTITLE, 0xE3), 0, 1},
{BODY_Janus_Marine, 0xFFFFFF9F, TEXT(LTITLE, 0xE3), TEXT(LTITLE, 0xFE), TEXT(LTITLE, 0xE3), 0, 1},
{BODY_Naval_Officer, 0xFFFFFF9F, TEXT(LTITLE, 0xE3), TEXT(LTITLE, 0x101), TEXT(LTITLE, 0xE3), 0, 1},
{BODY_Helicopter_Pilot, 0xFFFFFFFF, TEXT(LTITLE, 0xE3), TEXT(LTITLE, 0x106), TEXT(LTITLE, 0xE3), 0, 1},
{BODY_St_Petersburg_Guard, 0xFFFFFF9F, TEXT(LTITLE, 0xE3), TEXT(LTITLE, 0xFB), TEXT(LTITLE, 0xE3), 0, 1},
{BODY_Civilian_1_Female, 0xFFFFFF9F, TEXT(LTITLE, 0xE3), TEXT(LTITLE, 0x108), TEXT(LTITLE, 0xE3), 0, 1},
{BODY_Civilian_2, 0xFFFFFF9F, TEXT(LTITLE, 0xE3), TEXT(LTITLE, 0x108), TEXT(LTITLE, 0xE3), 0, 1},
{BODY_Civilian_3, 0xFFFFFF9F, TEXT(LTITLE, 0xE3), TEXT(LTITLE, 0x108), TEXT(LTITLE, 0xE3), 0, 1},
{BODY_Civilian_4, 0xFFFFFF9F, TEXT(LTITLE, 0xE3), TEXT(LTITLE, 0x108), TEXT(LTITLE, 0xE3), 0, 1},
{BODY_Siberian_Guard_1_Mishkin, 0xFFFFFF9F, TEXT(LTITLE, 0xE3), TEXT(LTITLE, 0x102), TEXT(LTITLE, 0xE3), 0, 1},
{BODY_Arctic_Commando, 0xFFFFFF9F, TEXT(LTITLE, 0xE3), TEXT(LTITLE, 0x103), TEXT(LTITLE, 0xE3), 0, 1},
{BODY_Siberian_Guard_2, 0xFFFFFF9F, TEXT(LTITLE, 0xE3), TEXT(LTITLE, 0x102), TEXT(LTITLE, 0xE3), 0, 1},
{BODY_Siberian_Special_Forces, 0xFFFFFFFF, TEXT(LTITLE, 0xE3), TEXT(LTITLE, 0x104), TEXT(LTITLE, 0xE3), 0, 1},
{BODY_Jungle_Commando, 0xFFFFFF9F, TEXT(LTITLE, 0xE3), TEXT(LTITLE, 0xFA), TEXT(LTITLE, 0xE3), 0, 1},
{BODY_Janus_Special_Forces, 0xFFFFFF9F, TEXT(LTITLE, 0xE3), TEXT(LTITLE, 0xFF), TEXT(LTITLE, 0xE3), 0, 1},
{BODY_Moonraker_Elite_1_Male, 0xFFFFFF9F, TEXT(LTITLE, 0xE3), TEXT(LTITLE, 0x105), TEXT(LTITLE, 0xE3), 0, 1},
{BODY_Moonraker_Elite_2_Female, 0xFFFFFF9F, TEXT(LTITLE, 0xE3), TEXT(LTITLE, 0x105), TEXT(LTITLE, 0xE3), 0, 1},
{BODY_Mayday, 0xFFFFFFFF, TEXT(LTITLE, 0xE7), TEXT(LTITLE, 0xF6), TEXT(LTITLE, 0xE3), 0, 0},
{BODY_Jaws, 0xFFFFFFFF, TEXT(LTITLE, 0xE7), TEXT(LTITLE, 0xF7), TEXT(LTITLE, 0xE3), 0, 0},
{BODY_Oddjob, 0xFFFFFFFF, TEXT(LTITLE, 0xE7), TEXT(LTITLE, 0xF8), TEXT(LTITLE, 0xE3), 0, 0},
{BODY_Baron_Samedi, 0xFFFFFFFF, TEXT(LTITLE, 0xE7), TEXT(LTITLE, 0xF9), TEXT(LTITLE, 0xE3), 0, 0},
{0xFFFFFFFF, 0, 0, 0, 0, 0, 0}
};
struct intro_animation intro_animation_table[] = {
{0x3F, 98.0, 1.0, 0},
{0x42, 21.0, 1.0, 1},
{0x43, 26.0, 1.0, 1},
{0x48, 0.0, 1.0, 1},
{0x4C, 0.0, 1.0, 1},
{0x59, 0.0, 0.91000003, 1},
{0x62, 31.0, 1.0, 1},
{0x63, 0.0, 1.0, 1},
{0x64, 0.0, 1.0, 1},
{0x66, 0.0, 1.0, 1},
{0x67, 0.0, 1.0, 1},
{0x99, 248.0, 1.0, 0},
{0xA3, 150.0, 1.0, 0},
{0x46, 0.0, 0.89999998, 1},
{0x4A, 0.0, 0.89999998, 1},
{0x50, 0.0, 0.89999998, 1},
{0x61, 51.0, 1.0, 1},
{0x96, 0.0, 0.89999998, 1},
{0x97, 0.0, 0.89999998, 1},
{0x98, 37.0, 1.0, 2},
{0xA1, 300.0, 1.0, 2},
{0xA0, 120.0, 1.0, 2},
{0xFFFFFFFF, 0.0, 0.0, 0}
};
u32 D_8002BA2C = 0;
u32 D_8002BA30 = 0;
u32 D_8002BA34 = 0;
PROPS random_rifles_in_intro[] =
{
PROP_chrkalash,
PROP_chrm16,
PROP_chrfnp90,
PROP_chrautoshot,
PROP_chrgrenadelaunch,
PROP_chrsniperrifle
};
PROPS random_pistols_in_intro[] =
{
PROP_chrwppk,
PROP_chrwppksil,
PROP_chrskorpion,
PROP_chruzi,
PROP_chruzi,
PROP_chrtt33,
PROP_chrtt33,
PROP_chrruger,
PROP_chrlaser,
PROP_chrgolden
};
f32 D_8002BA78 = 0.0f;
f32 D_8002BA7C = 0.0f;
f32 D_8002BA80 = 1.0f;
f32 D_8002BA84 = 0.0f;
f32 D_8002BA88 = 0.0f;
f32 D_8002BA8C = 0.0f;
f32 D_8002BA90 = 0.0f;
f32 D_8002BA94 = 1.0f;
f32 D_8002BA98 = 0.0f;
u32 D_8002BA9C = 0;
u32 D_8002BAA0 = 1;
u32 D_8002BAA4 = 3;
u32 D_8002BAA8 = 0;
u32 D_8002BAAC = 0;
u32 D_8002BAB0 = 0;
u32 D_8002BAB4 = 0;
u32 D_8002BAB8 = 0;
u32 D_8002BABC = 0;
u32 D_8002BAC0 = 0;
u32 D_8002BAC4 = 0;
u32 D_8002BAC8 = 0;
u32 D_8002BACC = 0;
u32 D_8002BAD0 = 0;
u32 D_8002BAD4 = 0;
u32 D_8002BAD8 = 0;
u32 D_8002BADC = 0;
f32 D_8002BAE0 = 40.0f;
f32 D_8002BAE4 = 25.0f;
u32 D_8002BAE8 = 0;
u32 D_8002BAEC = 1;
u16 color_palette_entries_50_percent[] = {1, 0x1F, 0x3C1, 0x3DF, 0x7801, 0x781F, 0x7BC1, 0x7BDF};
#ifdef NONMATCHING
s32 write_text_at_abs_coord(s32 arg12, s32 arg13, s32 arg14, s32 arg15, s32 arg16, s32 arg17, s32 arg18) {
// Node 0
if (j_text_trigger != 0)
{
// Node 1
jp_text_write_stuff(arg12, arg13, arg14, (s32) ((((D_8002A9B0 << 0x18) | (D_8002A9B4 << 0x10)) | (D_8002A9B8 << 8)) | D_8002A9BC), arg15, arg16, arg17, arg18);
return;
// (possible return value: en_text_write_stuff(arg12, arg13, arg14, arg15, arg16, arg17, arg18))
}
// Node 2
en_text_write_stuff(arg12, arg13, arg14, arg15, arg16, arg17, arg18);
return;
// (possible return value: en_text_write_stuff(arg12, arg13, arg14, arg15, arg16, arg17, arg18))
}
#else
GLOBAL_ASM(
.text
glabel write_text_at_abs_coord
/* 03E290 7F009760 3C0E8005 */ lui $t6, %hi(j_text_trigger)
/* 03E294 7F009764 8DCE84D0 */ lw $t6, %lo(j_text_trigger)($t6)
/* 03E298 7F009768 27BDFFC8 */ addiu $sp, $sp, -0x38
/* 03E29C 7F00976C AFBF0034 */ sw $ra, 0x34($sp)
/* 03E2A0 7F009770 11C00021 */ beqz $t6, .L7F0097F8
/* 03E2A4 7F009774 8FAD0048 */ lw $t5, 0x48($sp)
/* 03E2A8 7F009778 3C088003 */ lui $t0, %hi(D_8002A9B0)
/* 03E2AC 7F00977C 3C0A8003 */ lui $t2, %hi(D_8002A9B4)
/* 03E2B0 7F009780 914AA9B4 */ lbu $t2, %lo(D_8002A9B4)($t2)
/* 03E2B4 7F009784 9108A9B0 */ lbu $t0, %lo(D_8002A9B0)($t0)
/* 03E2B8 7F009788 8FB8004C */ lw $t8, 0x4c($sp)
/* 03E2BC 7F00978C 3C0D8003 */ lui $t5, %hi(D_8002A9B8)
/* 03E2C0 7F009790 91ADA9B8 */ lbu $t5, %lo(D_8002A9B8)($t5)
/* 03E2C4 7F009794 8FAF0048 */ lw $t7, 0x48($sp)
/* 03E2C8 7F009798 000A5C00 */ sll $t3, $t2, 0x10
/* 03E2CC 7F00979C 00084E00 */ sll $t1, $t0, 0x18
/* 03E2D0 7F0097A0 AFB80014 */ sw $t8, 0x14($sp)
/* 03E2D4 7F0097A4 8FB90050 */ lw $t9, 0x50($sp)
/* 03E2D8 7F0097A8 3C188003 */ lui $t8, %hi(D_8002A9BC)
/* 03E2DC 7F0097AC 012B6025 */ or $t4, $t1, $t3
/* 03E2E0 7F0097B0 9318A9BC */ lbu $t8, %lo(D_8002A9BC)($t8)
/* 03E2E4 7F0097B4 000D7200 */ sll $t6, $t5, 8
/* 03E2E8 7F0097B8 AFAF0010 */ sw $t7, 0x10($sp)
/* 03E2EC 7F0097BC 8FAB0060 */ lw $t3, 0x60($sp)
/* 03E2F0 7F0097C0 8FA9005C */ lw $t1, 0x5c($sp)
/* 03E2F4 7F0097C4 8FA80054 */ lw $t0, 0x54($sp)
/* 03E2F8 7F0097C8 8FAA0058 */ lw $t2, 0x58($sp)
/* 03E2FC 7F0097CC 018E7825 */ or $t7, $t4, $t6
/* 03E300 7F0097D0 AFB90018 */ sw $t9, 0x18($sp)
/* 03E304 7F0097D4 01F8C825 */ or $t9, $t7, $t8
/* 03E308 7F0097D8 AFB9001C */ sw $t9, 0x1c($sp)
/* 03E30C 7F0097DC AFAB002C */ sw $t3, 0x2c($sp)
/* 03E310 7F0097E0 AFA90028 */ sw $t1, 0x28($sp)
/* 03E314 7F0097E4 AFA80020 */ sw $t0, 0x20($sp)
/* 03E318 7F0097E8 0FC2B9BB */ jal jp_text_write_stuff
/* 03E31C 7F0097EC AFAA0024 */ sw $t2, 0x24($sp)
/* 03E320 7F0097F0 10000010 */ b .L7F009834
/* 03E324 7F0097F4 00402025 */ move $a0, $v0
.L7F0097F8:
/* 03E328 7F0097F8 8FAC004C */ lw $t4, 0x4c($sp)
/* 03E32C 7F0097FC 8FAE0050 */ lw $t6, 0x50($sp)
/* 03E330 7F009800 8FAF0054 */ lw $t7, 0x54($sp)
/* 03E334 7F009804 8FB80058 */ lw $t8, 0x58($sp)
/* 03E338 7F009808 8FB9005C */ lw $t9, 0x5c($sp)
/* 03E33C 7F00980C 8FA80060 */ lw $t0, 0x60($sp)
/* 03E340 7F009810 AFAD0010 */ sw $t5, 0x10($sp)
/* 03E344 7F009814 AFAC0014 */ sw $t4, 0x14($sp)
/* 03E348 7F009818 AFAE0018 */ sw $t6, 0x18($sp)
/* 03E34C 7F00981C AFAF001C */ sw $t7, 0x1c($sp)
/* 03E350 7F009820 AFB80020 */ sw $t8, 0x20($sp)
/* 03E354 7F009824 AFB90024 */ sw $t9, 0x24($sp)
/* 03E358 7F009828 0FC2B6AF */ jal en_text_write_stuff
/* 03E35C 7F00982C AFA80028 */ sw $t0, 0x28($sp)
/* 03E360 7F009830 00402025 */ move $a0, $v0
.L7F009834:
/* 03E364 7F009834 8FBF0034 */ lw $ra, 0x34($sp)
/* 03E368 7F009838 27BD0038 */ addiu $sp, $sp, 0x38
/* 03E36C 7F00983C 00801025 */ move $v0, $a0
/* 03E370 7F009840 03E00008 */ jr $ra
/* 03E374 7F009844 00000000 */ nop
)
#endif
s32 check_if_cheat_available(s32 cheat)
{
switch(cheat)
{
case 1:
case 4:
case 5:
case 6:
case 7:
case 8:
case 9:
case 0xd:
case 0x10:
case 0x16:
case 0x19:
case 0x23:
case 0x24:
case 0x25:
case 0x26:
case 0x27:
case 0x28:
case 0x29:
case 0x2a:
case 0x2b:
case 0x2c:
case 0x2d:
case 0x2e:
case 0x2f:
case 0x30:
case 0x31:
case 0x32:
case 0x33:
case 0x34:
case 0x35:
case 0x36:
case 0x37:
case 0x38:
case 0x39:
case 0x3a:
case 0x3b:
case 0x3c:
case 0x3d:
case 0x3e:
case 0x3f:
case 0x40:
case 0x41:
case 0x42:
case 0x43:
case 0x44:
case 0x45:
case 0x46:
case 0x47:
case 0x48:
case 0x49:
case 0x4a:
return 0;
case 2:
return check_if_cheat_unlocked(get_save_folder_ptr(selected_folder_num),1);
case 3:
return check_if_cheat_unlocked(get_save_folder_ptr(selected_folder_num),0x13);
case 0x17:
return check_if_cheat_unlocked(get_save_folder_ptr(selected_folder_num),6);
case 0x1a:
return check_if_cheat_unlocked(get_save_folder_ptr(selected_folder_num),9);
case 10:
return check_if_cheat_unlocked(get_save_folder_ptr(selected_folder_num),10);
case 0xb:
return check_if_cheat_unlocked(get_save_folder_ptr(selected_folder_num),0xf);
case 0xc:
return check_if_cheat_unlocked(get_save_folder_ptr(selected_folder_num),2);
case 0xe:
return check_if_cheat_unlocked(get_save_folder_ptr(selected_folder_num),7);
case 0x1b:
return check_if_cheat_unlocked(get_save_folder_ptr(selected_folder_num),0xc);
case 0xf:
return check_if_cheat_unlocked(get_save_folder_ptr(selected_folder_num),0);
case 0x14:
return check_if_cheat_unlocked(get_save_folder_ptr(selected_folder_num),0xd);
case 0x15:
return check_if_cheat_unlocked(get_save_folder_ptr(selected_folder_num),0x11);
case 0x1c:
return check_if_cheat_unlocked(get_save_folder_ptr(selected_folder_num),0xb);
case 0x1d:
return check_if_cheat_unlocked(get_save_folder_ptr(selected_folder_num),4);
case 0x1e:
return check_if_cheat_unlocked(get_save_folder_ptr(selected_folder_num),3);
case 0x1f:
return check_if_cheat_unlocked(get_save_folder_ptr(selected_folder_num),0x10);
case 0x20:
return check_if_cheat_unlocked(get_save_folder_ptr(selected_folder_num),8);
case 0x21:
return check_if_cheat_unlocked(get_save_folder_ptr(selected_folder_num),0xe);
case 0x22:
return check_if_cheat_unlocked(get_save_folder_ptr(selected_folder_num),0x12);
case 0x18:
return check_if_cheat_unlocked(get_save_folder_ptr(selected_folder_num),5);
case 0x11:
return check_cradle_completed_in_folder(selected_folder_num);
case 0x12:
return check_aztec_completed_in_folder_secret_00(selected_folder_num);
case 0x13:
return check_egypt_completed_in_folder_00(selected_folder_num);
default:
do {
/* WARNING: Do nothing block with infinite loop */
} while( 1 );
}
}
int getplayerfavoredweapon(int player,int hand) {
return get_ptr_long_watch_text_for_item(array_favweapon[player][hand]);
}
#ifdef NONMATCHING
void menu_control_stick_tracking(void) {
f32 sp18;
s8 sp1E;
s8 sp1F;
s32 temp_t2;
// Node 0
sp1F = joyGetStickX(0);
temp_t2 = ((s32) (-joyGetStickY(0) << 0x18) >> 0x18);
if (sp1F < -5)
{
// Node 1
}
else
{
// Node 2
if (sp1F >= 6)
{
// Node 3
}
else
{
// Node 4
}
}
// Node 5
if (0 >= 0x47)
{
// Node 6
}
else
{
// Node 7
if (0 < -0x46)
{
// Node 8
}
}
// Node 9
if (temp_t2 < -5)
{
// Node 10
}
else
{
// Node 11
if (temp_t2 >= 6)
{
// Node 12
}
}
// Node 13
if ((u8)0 >= 0x47)
{
// Node 14
}
else
{
// Node 15
if ((u8)0 < -0x46)
{
// Node 16
}
}
// Node 17
if (0 > 0)
{
// Node 18
cursor_h_pos = (f32) (cursor_h_pos + ((((f32) 0 * folder_menu_x_dim) + 0.5f) * global_timer_delta));
}
else
{
// Node 19
if (0 < 0)
{
// Node 20
cursor_h_pos = (f32) (cursor_h_pos + ((((f32) 0 * folder_menu_z_dim) - 0.5f) * global_timer_delta));
}
}
// Node 21
sp1E = (u8)0;
sp18 = getPlayer_c_screenleft(0);
if (((getPlayer_c_screenwidth() + sp18) - 20.0f) < cursor_h_pos)
{
// Node 22
sp1E = sp1E;
sp18 = getPlayer_c_screenleft();
cursor_h_pos = (f32) ((getPlayer_c_screenwidth() + sp18) - 20.0f);
}
else
{
// Node 23
sp1E = sp1E;
if (cursor_h_pos < (getPlayer_c_screenleft() + 20.0f))
{
// Node 24
sp1E = sp1E;
cursor_h_pos = (f32) (getPlayer_c_screenleft() + 20.0f);
}
}
// Node 25
if (sp1E > 0)
{
// Node 26
cursor_v_pos = (f32) (cursor_v_pos + ((((f32) sp1E * D_800519D0) + 0.5f) * global_timer_delta));
}
else
{
// Node 27
if (sp1E < 0)
{
// Node 28
cursor_v_pos = (f32) (cursor_v_pos + ((((f32) sp1E * D_800519D4) - 0.5f) * global_timer_delta));
}
}
// Node 29
sp18 = getPlayer_c_screentop();
if (((getPlayer_c_screenheight() + sp18) - 20.0f) < cursor_v_pos)
{
// Node 30
sp18 = getPlayer_c_screentop();
cursor_v_pos = (f32) ((getPlayer_c_screenheight() + sp18) - 20.0f);
return;
// (possible return value: getPlayer_c_screenheight())
}
// Node 31
if (cursor_v_pos < (getPlayer_c_screentop() + 20.0f))
{
// Node 32
cursor_v_pos = (f32) (getPlayer_c_screentop() + 20.0f);
return;
// (possible return value: getPlayer_c_screentop())
}
// (possible return value: getPlayer_c_screentop())
}
#else
#ifdef VERSION_US
GLOBAL_ASM(
.late_rodata
glabel folder_menu_x_dim
.word 0x3D99999A /* 0.075000003;*/
glabel folder_menu_z_dim
.word 0x3D99999A /* 0.075000003;*/
glabel D_800519D0
.word 0x3D99999A /* 0.075000003;*/
glabel D_800519D4
.word 0x3D99999A /* 0.075000003;*/
.text
glabel menu_control_stick_tracking
/* 03E6B4 7F009B84 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 03E6B8 7F009B88 AFBF0014 */ sw $ra, 0x14($sp)
/* 03E6BC 7F009B8C 0C00303B */ jal joyGetStickX
/* 03E6C0 7F009B90 00002025 */ move $a0, $zero
/* 03E6C4 7F009B94 00002025 */ move $a0, $zero
/* 03E6C8 7F009B98 0C00307F */ jal joyGetStickY
/* 03E6CC 7F009B9C A3A2001F */ sb $v0, 0x1f($sp)
/* 03E6D0 7F009BA0 83A5001F */ lb $a1, 0x1f($sp)
/* 03E6D4 7F009BA4 00021823 */ negu $v1, $v0
/* 03E6D8 7F009BA8 00034E00 */ sll $t1, $v1, 0x18
/* 03E6DC 7F009BAC 28A1FFFB */ slti $at, $a1, -5
/* 03E6E0 7F009BB0 10200005 */ beqz $at, .L7F009BC8
/* 03E6E4 7F009BB4 00095603 */ sra $t2, $t1, 0x18
/* 03E6E8 7F009BB8 24A50005 */ addiu $a1, $a1, 5
/* 03E6EC 7F009BBC 00057E00 */ sll $t7, $a1, 0x18
/* 03E6F0 7F009BC0 10000008 */ b .L7F009BE4
/* 03E6F4 7F009BC4 000F2E03 */ sra $a1, $t7, 0x18
.L7F009BC8:
/* 03E6F8 7F009BC8 28A10006 */ slti $at, $a1, 6
/* 03E6FC 7F009BCC 14200004 */ bnez $at, .L7F009BE0
/* 03E700 7F009BD0 24A5FFFB */ addiu $a1, $a1, -5
/* 03E704 7F009BD4 0005CE00 */ sll $t9, $a1, 0x18
/* 03E708 7F009BD8 10000002 */ b .L7F009BE4
/* 03E70C 7F009BDC 00192E03 */ sra $a1, $t9, 0x18
.L7F009BE0:
/* 03E710 7F009BE0 00002825 */ move $a1, $zero
.L7F009BE4:
/* 03E714 7F009BE4 28A10047 */ slti $at, $a1, 0x47
/* 03E718 7F009BE8 54200004 */ bnezl $at, .L7F009BFC
/* 03E71C 7F009BEC 28A1FFBA */ slti $at, $a1, -0x46
/* 03E720 7F009BF0 10000005 */ b .L7F009C08
/* 03E724 7F009BF4 24050046 */ li $a1, 70
/* 03E728 7F009BF8 28A1FFBA */ slti $at, $a1, -0x46
.L7F009BFC:
/* 03E72C 7F009BFC 50200003 */ beql $at, $zero, .L7F009C0C
/* 03E730 7F009C00 2941FFFB */ slti $at, $t2, -5
/* 03E734 7F009C04 2405FFBA */ li $a1, -70
.L7F009C08:
/* 03E738 7F009C08 2941FFFB */ slti $at, $t2, -5
.L7F009C0C:
/* 03E73C 7F009C0C 10200005 */ beqz $at, .L7F009C24
/* 03E740 7F009C10 01401825 */ move $v1, $t2
/* 03E744 7F009C14 25420005 */ addiu $v0, $t2, 5
/* 03E748 7F009C18 00025E00 */ sll $t3, $v0, 0x18
/* 03E74C 7F009C1C 10000008 */ b .L7F009C40
/* 03E750 7F009C20 000B1603 */ sra $v0, $t3, 0x18
.L7F009C24:
/* 03E754 7F009C24 28610006 */ slti $at, $v1, 6
/* 03E758 7F009C28 14200005 */ bnez $at, .L7F009C40
/* 03E75C 7F009C2C 00001025 */ move $v0, $zero
/* 03E760 7F009C30 2462FFFB */ addiu $v0, $v1, -5
/* 03E764 7F009C34 00026E00 */ sll $t5, $v0, 0x18
/* 03E768 7F009C38 10000001 */ b .L7F009C40
/* 03E76C 7F009C3C 000D1603 */ sra $v0, $t5, 0x18
.L7F009C40:
/* 03E770 7F009C40 28410047 */ slti $at, $v0, 0x47
/* 03E774 7F009C44 54200004 */ bnezl $at, .L7F009C58
/* 03E778 7F009C48 2841FFBA */ slti $at, $v0, -0x46
/* 03E77C 7F009C4C 10000005 */ b .L7F009C64
/* 03E780 7F009C50 24020046 */ li $v0, 70
/* 03E784 7F009C54 2841FFBA */ slti $at, $v0, -0x46
.L7F009C58:
/* 03E788 7F009C58 10200002 */ beqz $at, .L7F009C64
/* 03E78C 7F009C5C 00000000 */ nop
/* 03E790 7F009C60 2402FFBA */ li $v0, -70
.L7F009C64:
/* 03E794 7F009C64 18A00011 */ blez $a1, .L7F009CAC
/* 03E798 7F009C68 00000000 */ nop
/* 03E79C 7F009C6C 44852000 */ mtc1 $a1, $f4
/* 03E7A0 7F009C70 3C018005 */ lui $at, %hi(folder_menu_x_dim)
/* 03E7A4 7F009C74 C42819C8 */ lwc1 $f8, %lo(folder_menu_x_dim)($at)
/* 03E7A8 7F009C78 468021A0 */ cvt.s.w $f6, $f4
/* 03E7AC 7F009C7C 3C013F00 */ li $at, 0x3F000000 # 0.500000
/* 03E7B0 7F009C80 44818000 */ mtc1 $at, $f16
/* 03E7B4 7F009C84 3C018005 */ lui $at, %hi(global_timer_delta)
/* 03E7B8 7F009C88 C4248378 */ lwc1 $f4, %lo(global_timer_delta)($at)
/* 03E7BC 7F009C8C 3C018003 */ lui $at, %hi(cursor_h_pos)
/* 03E7C0 7F009C90 46083282 */ mul.s $f10, $f6, $f8
/* 03E7C4 7F009C94 C428A908 */ lwc1 $f8, %lo(cursor_h_pos)($at)
/* 03E7C8 7F009C98 46105480 */ add.s $f18, $f10, $f16
/* 03E7CC 7F009C9C 46049182 */ mul.s $f6, $f18, $f4
/* 03E7D0 7F009CA0 46064280 */ add.s $f10, $f8, $f6
/* 03E7D4 7F009CA4 10000012 */ b .L7F009CF0
/* 03E7D8 7F009CA8 E42AA908 */ swc1 $f10, %lo(cursor_h_pos)($at)
.L7F009CAC:
/* 03E7DC 7F009CAC 04A10010 */ bgez $a1, .L7F009CF0
/* 03E7E0 7F009CB0 00000000 */ nop
/* 03E7E4 7F009CB4 44858000 */ mtc1 $a1, $f16
/* 03E7E8 7F009CB8 3C018005 */ lui $at, %hi(folder_menu_z_dim)
/* 03E7EC 7F009CBC C42419CC */ lwc1 $f4, %lo(folder_menu_z_dim)($at)
/* 03E7F0 7F009CC0 468084A0 */ cvt.s.w $f18, $f16
/* 03E7F4 7F009CC4 3C013F00 */ li $at, 0x3F000000 # 0.500000
/* 03E7F8 7F009CC8 44813000 */ mtc1 $at, $f6
/* 03E7FC 7F009CCC 3C018005 */ lui $at, %hi(global_timer_delta)
/* 03E800 7F009CD0 C4308378 */ lwc1 $f16, %lo(global_timer_delta)($at)
/* 03E804 7F009CD4 3C018003 */ lui $at, %hi(cursor_h_pos)
/* 03E808 7F009CD8 46049202 */ mul.s $f8, $f18, $f4
/* 03E80C 7F009CDC C424A908 */ lwc1 $f4, %lo(cursor_h_pos)($at)
/* 03E810 7F009CE0 46064281 */ sub.s $f10, $f8, $f6
/* 03E814 7F009CE4 46105482 */ mul.s $f18, $f10, $f16
/* 03E818 7F009CE8 46122200 */ add.s $f8, $f4, $f18
/* 03E81C 7F009CEC E428A908 */ swc1 $f8, %lo(cursor_h_pos)($at)
.L7F009CF0:
/* 03E820 7F009CF0 0FC1E131 */ jal getPlayer_c_screenleft
/* 03E824 7F009CF4 A3A2001E */ sb $v0, 0x1e($sp)
/* 03E828 7F009CF8 0FC1E129 */ jal getPlayer_c_screenwidth
/* 03E82C 7F009CFC E7A00018 */ swc1 $f0, 0x18($sp)
/* 03E830 7F009D00 C7A60018 */ lwc1 $f6, 0x18($sp)
/* 03E834 7F009D04 3C0141A0 */ li $at, 0x41A00000 # 20.000000
/* 03E838 7F009D08 44818000 */ mtc1 $at, $f16
/* 03E83C 7F009D0C 46060280 */ add.s $f10, $f0, $f6
/* 03E840 7F009D10 3C018003 */ lui $at, %hi(cursor_h_pos)
/* 03E844 7F009D14 C432A908 */ lwc1 $f18, %lo(cursor_h_pos)($at)
/* 03E848 7F009D18 83A2001E */ lb $v0, 0x1e($sp)
/* 03E84C 7F009D1C 46105101 */ sub.s $f4, $f10, $f16
/* 03E850 7F009D20 4612203C */ c.lt.s $f4, $f18
/* 03E854 7F009D24 00000000 */ nop
/* 03E858 7F009D28 4500000E */ bc1f .L7F009D64
/* 03E85C 7F009D2C 00000000 */ nop
/* 03E860 7F009D30 0FC1E131 */ jal getPlayer_c_screenleft
/* 03E864 7F009D34 A3A2001E */ sb $v0, 0x1e($sp)
/* 03E868 7F009D38 0FC1E129 */ jal getPlayer_c_screenwidth
/* 03E86C 7F009D3C E7A00018 */ swc1 $f0, 0x18($sp)
/* 03E870 7F009D40 C7A80018 */ lwc1 $f8, 0x18($sp)
/* 03E874 7F009D44 3C0141A0 */ li $at, 0x41A00000 # 20.000000
/* 03E878 7F009D48 44815000 */ mtc1 $at, $f10
/* 03E87C 7F009D4C 46080180 */ add.s $f6, $f0, $f8
/* 03E880 7F009D50 3C018003 */ lui $at, %hi(cursor_h_pos)
/* 03E884 7F009D54 83A2001E */ lb $v0, 0x1e($sp)
/* 03E888 7F009D58 460A3401 */ sub.s $f16, $f6, $f10
/* 03E88C 7F009D5C 10000015 */ b .L7F009DB4
/* 03E890 7F009D60 E430A908 */ swc1 $f16, %lo(cursor_h_pos)($at)
.L7F009D64:
/* 03E894 7F009D64 0FC1E131 */ jal getPlayer_c_screenleft
/* 03E898 7F009D68 A3A2001E */ sb $v0, 0x1e($sp)
/* 03E89C 7F009D6C 3C018003 */ lui $at, %hi(cursor_h_pos)
/* 03E8A0 7F009D70 C424A908 */ lwc1 $f4, %lo(cursor_h_pos)($at)
/* 03E8A4 7F009D74 3C0141A0 */ li $at, 0x41A00000 # 20.000000
/* 03E8A8 7F009D78 44819000 */ mtc1 $at, $f18
/* 03E8AC 7F009D7C 83A2001E */ lb $v0, 0x1e($sp)
/* 03E8B0 7F009D80 46120200 */ add.s $f8, $f0, $f18
/* 03E8B4 7F009D84 4608203C */ c.lt.s $f4, $f8
/* 03E8B8 7F009D88 00000000 */ nop
/* 03E8BC 7F009D8C 45000009 */ bc1f .L7F009DB4
/* 03E8C0 7F009D90 00000000 */ nop
/* 03E8C4 7F009D94 0FC1E131 */ jal getPlayer_c_screenleft
/* 03E8C8 7F009D98 A3A2001E */ sb $v0, 0x1e($sp)
/* 03E8CC 7F009D9C 3C0141A0 */ li $at, 0x41A00000 # 20.000000
/* 03E8D0 7F009DA0 44813000 */ mtc1 $at, $f6
/* 03E8D4 7F009DA4 3C018003 */ lui $at, %hi(cursor_h_pos)
/* 03E8D8 7F009DA8 83A2001E */ lb $v0, 0x1e($sp)
/* 03E8DC 7F009DAC 46060280 */ add.s $f10, $f0, $f6
/* 03E8E0 7F009DB0 E42AA908 */ swc1 $f10, %lo(cursor_h_pos)($at)
.L7F009DB4:
/* 03E8E4 7F009DB4 18400011 */ blez $v0, .L7F009DFC
/* 03E8E8 7F009DB8 00000000 */ nop
/* 03E8EC 7F009DBC 44828000 */ mtc1 $v0, $f16
/* 03E8F0 7F009DC0 3C018005 */ lui $at, %hi(D_800519D0)
/* 03E8F4 7F009DC4 C42419D0 */ lwc1 $f4, %lo(D_800519D0)($at)
/* 03E8F8 7F009DC8 468084A0 */ cvt.s.w $f18, $f16
/* 03E8FC 7F009DCC 3C013F00 */ li $at, 0x3F000000 # 0.500000
/* 03E900 7F009DD0 44813000 */ mtc1 $at, $f6
/* 03E904 7F009DD4 3C018005 */ lui $at, %hi(global_timer_delta)
/* 03E908 7F009DD8 C4308378 */ lwc1 $f16, %lo(global_timer_delta)($at)
/* 03E90C 7F009DDC 3C018003 */ lui $at, %hi(cursor_v_pos)
/* 03E910 7F009DE0 46049202 */ mul.s $f8, $f18, $f4
/* 03E914 7F009DE4 C424A90C */ lwc1 $f4, %lo(cursor_v_pos)($at)
/* 03E918 7F009DE8 46064280 */ add.s $f10, $f8, $f6
/* 03E91C 7F009DEC 46105482 */ mul.s $f18, $f10, $f16
/* 03E920 7F009DF0 46122200 */ add.s $f8, $f4, $f18
/* 03E924 7F009DF4 10000012 */ b .L7F009E40
/* 03E928 7F009DF8 E428A90C */ swc1 $f8, %lo(cursor_v_pos)($at)
.L7F009DFC:
/* 03E92C 7F009DFC 04410010 */ bgez $v0, .L7F009E40
/* 03E930 7F009E00 00000000 */ nop
/* 03E934 7F009E04 44823000 */ mtc1 $v0, $f6
/* 03E938 7F009E08 3C018005 */ lui $at, %hi(D_800519D4)
/* 03E93C 7F009E0C C43019D4 */ lwc1 $f16, %lo(D_800519D4)($at)
/* 03E940 7F009E10 468032A0 */ cvt.s.w $f10, $f6
/* 03E944 7F009E14 3C013F00 */ li $at, 0x3F000000 # 0.500000
/* 03E948 7F009E18 44819000 */ mtc1 $at, $f18
/* 03E94C 7F009E1C 3C018005 */ lui $at, %hi(global_timer_delta)
/* 03E950 7F009E20 C4268378 */ lwc1 $f6, %lo(global_timer_delta)($at)
/* 03E954 7F009E24 3C018003 */ lui $at, %hi(cursor_v_pos)
/* 03E958 7F009E28 46105102 */ mul.s $f4, $f10, $f16
/* 03E95C 7F009E2C C430A90C */ lwc1 $f16, %lo(cursor_v_pos)($at)
/* 03E960 7F009E30 46122201 */ sub.s $f8, $f4, $f18
/* 03E964 7F009E34 46064282 */ mul.s $f10, $f8, $f6
/* 03E968 7F009E38 460A8100 */ add.s $f4, $f16, $f10
/* 03E96C 7F009E3C E424A90C */ swc1 $f4, %lo(cursor_v_pos)($at)
.L7F009E40:
/* 03E970 7F009E40 0FC1E135 */ jal getPlayer_c_screentop
/* 03E974 7F009E44 00000000 */ nop
/* 03E978 7F009E48 0FC1E12D */ jal getPlayer_c_screenheight
/* 03E97C 7F009E4C E7A00018 */ swc1 $f0, 0x18($sp)
/* 03E980 7F009E50 C7B20018 */ lwc1 $f18, 0x18($sp)
/* 03E984 7F009E54 3C0141A0 */ li $at, 0x41A00000 # 20.000000
/* 03E988 7F009E58 44813000 */ mtc1 $at, $f6
/* 03E98C 7F009E5C 46120200 */ add.s $f8, $f0, $f18
/* 03E990 7F009E60 3C018003 */ lui $at, %hi(cursor_v_pos)
/* 03E994 7F009E64 C42AA90C */ lwc1 $f10, %lo(cursor_v_pos)($at)
/* 03E998 7F009E68 46064401 */ sub.s $f16, $f8, $f6
/* 03E99C 7F009E6C 460A803C */ c.lt.s $f16, $f10
/* 03E9A0 7F009E70 00000000 */ nop
/* 03E9A4 7F009E74 4500000D */ bc1f .L7F009EAC
/* 03E9A8 7F009E78 00000000 */ nop
/* 03E9AC 7F009E7C 0FC1E135 */ jal getPlayer_c_screentop
/* 03E9B0 7F009E80 00000000 */ nop
/* 03E9B4 7F009E84 0FC1E12D */ jal getPlayer_c_screenheight
/* 03E9B8 7F009E88 E7A00018 */ swc1 $f0, 0x18($sp)
/* 03E9BC 7F009E8C C7A40018 */ lwc1 $f4, 0x18($sp)
/* 03E9C0 7F009E90 3C0141A0 */ li $at, 0x41A00000 # 20.000000
/* 03E9C4 7F009E94 44814000 */ mtc1 $at, $f8
/* 03E9C8 7F009E98 46040480 */ add.s $f18, $f0, $f4
/* 03E9CC 7F009E9C 3C018003 */ lui $at, %hi(cursor_v_pos)
/* 03E9D0 7F009EA0 46089181 */ sub.s $f6, $f18, $f8
/* 03E9D4 7F009EA4 10000014 */ b .L7F009EF8
/* 03E9D8 7F009EA8 E426A90C */ swc1 $f6, %lo(cursor_v_pos)($at)
.L7F009EAC:
/* 03E9DC 7F009EAC 0FC1E135 */ jal getPlayer_c_screentop
/* 03E9E0 7F009EB0 00000000 */ nop
/* 03E9E4 7F009EB4 3C018003 */ lui $at, %hi(cursor_v_pos)
/* 03E9E8 7F009EB8 C430A90C */ lwc1 $f16, %lo(cursor_v_pos)($at)
/* 03E9EC 7F009EBC 3C0141A0 */ li $at, 0x41A00000 # 20.000000
/* 03E9F0 7F009EC0 44815000 */ mtc1 $at, $f10
/* 03E9F4 7F009EC4 00000000 */ nop
/* 03E9F8 7F009EC8 460A0100 */ add.s $f4, $f0, $f10
/* 03E9FC 7F009ECC 4604803C */ c.lt.s $f16, $f4
/* 03EA00 7F009ED0 00000000 */ nop
/* 03EA04 7F009ED4 45020009 */ bc1fl .L7F009EFC
/* 03EA08 7F009ED8 8FBF0014 */ lw $ra, 0x14($sp)
/* 03EA0C 7F009EDC 0FC1E135 */ jal getPlayer_c_screentop
/* 03EA10 7F009EE0 00000000 */ nop
/* 03EA14 7F009EE4 3C0141A0 */ li $at, 0x41A00000 # 20.000000
/* 03EA18 7F009EE8 44819000 */ mtc1 $at, $f18
/* 03EA1C 7F009EEC 3C018003 */ lui $at, %hi(cursor_v_pos)
/* 03EA20 7F009EF0 46120200 */ add.s $f8, $f0, $f18
/* 03EA24 7F009EF4 E428A90C */ swc1 $f8, %lo(cursor_v_pos)($at)
.L7F009EF8:
/* 03EA28 7F009EF8 8FBF0014 */ lw $ra, 0x14($sp)
.L7F009EFC:
/* 03EA2C 7F009EFC 27BD0020 */ addiu $sp, $sp, 0x20
/* 03EA30 7F009F00 03E00008 */ jr $ra
/* 03EA34 7F009F04 00000000 */ nop
)
#endif
#ifdef VERSION_JP
GLOBAL_ASM(
.late_rodata
glabel folder_menu_x_dim
.word 0x3D99999A /* 0.075000003;*/
glabel folder_menu_z_dim
.word 0x3D99999A /* 0.075000003;*/
glabel D_800519D0
.word 0x3D99999A /* 0.075000003;*/
glabel D_800519D4
.word 0x3D99999A /* 0.075000003;*/
.text
glabel menu_control_stick_tracking
/* 03E714 7F009BA4 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 03E718 7F009BA8 AFBF0014 */ sw $ra, 0x14($sp)
/* 03E71C 7F009BAC 0C003054 */ jal joyGetStickX
/* 03E720 7F009BB0 00002025 */ move $a0, $zero
/* 03E724 7F009BB4 00002025 */ move $a0, $zero
/* 03E728 7F009BB8 0C003098 */ jal joyGetStickY
/* 03E72C 7F009BBC A3A2001F */ sb $v0, 0x1f($sp)
/* 03E730 7F009BC0 83A5001F */ lb $a1, 0x1f($sp)
/* 03E734 7F009BC4 00021823 */ negu $v1, $v0
/* 03E738 7F009BC8 00034E00 */ sll $t1, $v1, 0x18
/* 03E73C 7F009BCC 28A1FFFB */ slti $at, $a1, -5
/* 03E740 7F009BD0 10200005 */ beqz $at, .L7F009BE8
/* 03E744 7F009BD4 00095603 */ sra $t2, $t1, 0x18
/* 03E748 7F009BD8 24A50005 */ addiu $a1, $a1, 5
/* 03E74C 7F009BDC 00057E00 */ sll $t7, $a1, 0x18
/* 03E750 7F009BE0 10000008 */ b .L7F009C04
/* 03E754 7F009BE4 000F2E03 */ sra $a1, $t7, 0x18
.L7F009BE8:
/* 03E758 7F009BE8 28A10006 */ slti $at, $a1, 6
/* 03E75C 7F009BEC 14200004 */ bnez $at, .L7F009C00
/* 03E760 7F009BF0 24A5FFFB */ addiu $a1, $a1, -5
/* 03E764 7F009BF4 0005CE00 */ sll $t9, $a1, 0x18
/* 03E768 7F009BF8 10000002 */ b .L7F009C04
/* 03E76C 7F009BFC 00192E03 */ sra $a1, $t9, 0x18
.L7F009C00:
/* 03E770 7F009C00 00002825 */ move $a1, $zero
.L7F009C04:
/* 03E774 7F009C04 28A10047 */ slti $at, $a1, 0x47
/* 03E778 7F009C08 54200004 */ bnezl $at, .L7F009C1C
/* 03E77C 7F009C0C 28A1FFBA */ slti $at, $a1, -0x46
/* 03E780 7F009C10 10000005 */ b .L7F009C28
/* 03E784 7F009C14 24050046 */ li $a1, 70
/* 03E788 7F009C18 28A1FFBA */ slti $at, $a1, -0x46
.L7F009C1C:
/* 03E78C 7F009C1C 50200003 */ beql $at, $zero, .L7F009C2C
/* 03E790 7F009C20 2941FFFB */ slti $at, $t2, -5
/* 03E794 7F009C24 2405FFBA */ li $a1, -70
.L7F009C28:
/* 03E798 7F009C28 2941FFFB */ slti $at, $t2, -5
.L7F009C2C:
/* 03E79C 7F009C2C 10200005 */ beqz $at, .L7F009C44
/* 03E7A0 7F009C30 01401825 */ move $v1, $t2
/* 03E7A4 7F009C34 25420005 */ addiu $v0, $t2, 5
/* 03E7A8 7F009C38 00025E00 */ sll $t3, $v0, 0x18
/* 03E7AC 7F009C3C 10000008 */ b .L7F009C60
/* 03E7B0 7F009C40 000B1603 */ sra $v0, $t3, 0x18
.L7F009C44:
/* 03E7B4 7F009C44 28610006 */ slti $at, $v1, 6
/* 03E7B8 7F009C48 14200005 */ bnez $at, .L7F009C60
/* 03E7BC 7F009C4C 00001025 */ move $v0, $zero
/* 03E7C0 7F009C50 2462FFFB */ addiu $v0, $v1, -5
/* 03E7C4 7F009C54 00026E00 */ sll $t5, $v0, 0x18
/* 03E7C8 7F009C58 10000001 */ b .L7F009C60
/* 03E7CC 7F009C5C 000D1603 */ sra $v0, $t5, 0x18
.L7F009C60:
/* 03E7D0 7F009C60 28410047 */ slti $at, $v0, 0x47
/* 03E7D4 7F009C64 54200004 */ bnezl $at, .L7F009C78
/* 03E7D8 7F009C68 2841FFBA */ slti $at, $v0, -0x46
/* 03E7DC 7F009C6C 10000005 */ b .L7F009C84
/* 03E7E0 7F009C70 24020046 */ li $v0, 70
/* 03E7E4 7F009C74 2841FFBA */ slti $at, $v0, -0x46
.L7F009C78:
/* 03E7E8 7F009C78 10200002 */ beqz $at, .L7F009C84
/* 03E7EC 7F009C7C 00000000 */ nop
/* 03E7F0 7F009C80 2402FFBA */ li $v0, -70
.L7F009C84:
/* 03E7F4 7F009C84 18A00011 */ blez $a1, .L7F009CCC
/* 03E7F8 7F009C88 00000000 */ nop
/* 03E7FC 7F009C8C 44852000 */ mtc1 $a1, $f4
/* 03E800 7F009C90 3C018005 */ lui $at, %hi(folder_menu_x_dim) # $at, 0x8005
/* 03E804 7F009C94 C42819F8 */ lwc1 $f8, %lo(folder_menu_x_dim)($at)
/* 03E808 7F009C98 468021A0 */ cvt.s.w $f6, $f4
/* 03E80C 7F009C9C 3C013F00 */ li $at, 0x3F000000 # 0.500000
/* 03E810 7F009CA0 44818000 */ mtc1 $at, $f16
/* 03E814 7F009CA4 3C018005 */ lui $at, %hi(global_timer_delta) # $at, 0x8005
/* 03E818 7F009CA8 C42483B4 */ lwc1 $f4, %lo(global_timer_delta)($at)
/* 03E81C 7F009CAC 3C018003 */ lui $at, %hi(cursor_h_pos) # $at, 0x8003
/* 03E820 7F009CB0 46083282 */ mul.s $f10, $f6, $f8
/* 03E824 7F009CB4 C428A948 */ lwc1 $f8, %lo(cursor_h_pos)($at)
/* 03E828 7F009CB8 46105480 */ add.s $f18, $f10, $f16
/* 03E82C 7F009CBC 46049182 */ mul.s $f6, $f18, $f4
/* 03E830 7F009CC0 46064280 */ add.s $f10, $f8, $f6
/* 03E834 7F009CC4 10000012 */ b .L7F009D10
/* 03E838 7F009CC8 E42AA948 */ swc1 $f10, %lo(cursor_h_pos)($at)
.L7F009CCC:
/* 03E83C 7F009CCC 04A10010 */ bgez $a1, .L7F009D10
/* 03E840 7F009CD0 00000000 */ nop
/* 03E844 7F009CD4 44858000 */ mtc1 $a1, $f16
/* 03E848 7F009CD8 3C018005 */ lui $at, %hi(folder_menu_z_dim) # $at, 0x8005
/* 03E84C 7F009CDC C42419FC */ lwc1 $f4, %lo(folder_menu_z_dim)($at)
/* 03E850 7F009CE0 468084A0 */ cvt.s.w $f18, $f16
/* 03E854 7F009CE4 3C013F00 */ li $at, 0x3F000000 # 0.500000
/* 03E858 7F009CE8 44813000 */ mtc1 $at, $f6
/* 03E85C 7F009CEC 3C018005 */ lui $at, %hi(global_timer_delta) # $at, 0x8005
/* 03E860 7F009CF0 C43083B4 */ lwc1 $f16, %lo(global_timer_delta)($at)
/* 03E864 7F009CF4 3C018003 */ lui $at, %hi(cursor_h_pos) # $at, 0x8003
/* 03E868 7F009CF8 46049202 */ mul.s $f8, $f18, $f4
/* 03E86C 7F009CFC C424A948 */ lwc1 $f4, %lo(cursor_h_pos)($at)
/* 03E870 7F009D00 46064281 */ sub.s $f10, $f8, $f6
/* 03E874 7F009D04 46105482 */ mul.s $f18, $f10, $f16
/* 03E878 7F009D08 46122200 */ add.s $f8, $f4, $f18
/* 03E87C 7F009D0C E428A948 */ swc1 $f8, %lo(cursor_h_pos)($at)
.L7F009D10:
/* 03E880 7F009D10 0FC1E2AD */ jal getPlayer_c_screenleft
/* 03E884 7F009D14 A3A2001E */ sb $v0, 0x1e($sp)
/* 03E888 7F009D18 0FC1E2A5 */ jal getPlayer_c_screenwidth
/* 03E88C 7F009D1C E7A00018 */ swc1 $f0, 0x18($sp)
/* 03E890 7F009D20 C7A60018 */ lwc1 $f6, 0x18($sp)
/* 03E894 7F009D24 3C0141A0 */ li $at, 0x41A00000 # 20.000000
/* 03E898 7F009D28 44818000 */ mtc1 $at, $f16
/* 03E89C 7F009D2C 46060280 */ add.s $f10, $f0, $f6
/* 03E8A0 7F009D30 3C018003 */ lui $at, %hi(cursor_h_pos) # $at, 0x8003
/* 03E8A4 7F009D34 C432A948 */ lwc1 $f18, %lo(cursor_h_pos)($at)
/* 03E8A8 7F009D38 83A2001E */ lb $v0, 0x1e($sp)
/* 03E8AC 7F009D3C 46105101 */ sub.s $f4, $f10, $f16
/* 03E8B0 7F009D40 4612203C */ c.lt.s $f4, $f18
/* 03E8B4 7F009D44 00000000 */ nop
/* 03E8B8 7F009D48 4500000E */ bc1f .L7F009D84
/* 03E8BC 7F009D4C 00000000 */ nop
/* 03E8C0 7F009D50 0FC1E2AD */ jal getPlayer_c_screenleft
/* 03E8C4 7F009D54 A3A2001E */ sb $v0, 0x1e($sp)
/* 03E8C8 7F009D58 0FC1E2A5 */ jal getPlayer_c_screenwidth
/* 03E8CC 7F009D5C E7A00018 */ swc1 $f0, 0x18($sp)
/* 03E8D0 7F009D60 C7A80018 */ lwc1 $f8, 0x18($sp)
/* 03E8D4 7F009D64 3C0141A0 */ li $at, 0x41A00000 # 20.000000
/* 03E8D8 7F009D68 44815000 */ mtc1 $at, $f10
/* 03E8DC 7F009D6C 46080180 */ add.s $f6, $f0, $f8
/* 03E8E0 7F009D70 3C018003 */ lui $at, %hi(cursor_h_pos) # $at, 0x8003
/* 03E8E4 7F009D74 83A2001E */ lb $v0, 0x1e($sp)
/* 03E8E8 7F009D78 460A3401 */ sub.s $f16, $f6, $f10
/* 03E8EC 7F009D7C 10000015 */ b .L7F009DD4
/* 03E8F0 7F009D80 E430A948 */ swc1 $f16, %lo(cursor_h_pos)($at)
.L7F009D84:
/* 03E8F4 7F009D84 0FC1E2AD */ jal getPlayer_c_screenleft
/* 03E8F8 7F009D88 A3A2001E */ sb $v0, 0x1e($sp)
/* 03E8FC 7F009D8C 3C018003 */ lui $at, %hi(cursor_h_pos) # $at, 0x8003
/* 03E900 7F009D90 C424A948 */ lwc1 $f4, %lo(cursor_h_pos)($at)
/* 03E904 7F009D94 3C0141A0 */ li $at, 0x41A00000 # 20.000000
/* 03E908 7F009D98 44819000 */ mtc1 $at, $f18
/* 03E90C 7F009D9C 83A2001E */ lb $v0, 0x1e($sp)
/* 03E910 7F009DA0 46120200 */ add.s $f8, $f0, $f18
/* 03E914 7F009DA4 4608203C */ c.lt.s $f4, $f8
/* 03E918 7F009DA8 00000000 */ nop
/* 03E91C 7F009DAC 45000009 */ bc1f .L7F009DD4
/* 03E920 7F009DB0 00000000 */ nop
/* 03E924 7F009DB4 0FC1E2AD */ jal getPlayer_c_screenleft
/* 03E928 7F009DB8 A3A2001E */ sb $v0, 0x1e($sp)
/* 03E92C 7F009DBC 3C0141A0 */ li $at, 0x41A00000 # 20.000000
/* 03E930 7F009DC0 44813000 */ mtc1 $at, $f6
/* 03E934 7F009DC4 3C018003 */ lui $at, %hi(cursor_h_pos) # $at, 0x8003
/* 03E938 7F009DC8 83A2001E */ lb $v0, 0x1e($sp)
/* 03E93C 7F009DCC 46060280 */ add.s $f10, $f0, $f6
/* 03E940 7F009DD0 E42AA948 */ swc1 $f10, %lo(cursor_h_pos)($at)
.L7F009DD4:
/* 03E944 7F009DD4 18400011 */ blez $v0, .L7F009E1C
/* 03E948 7F009DD8 00000000 */ nop
/* 03E94C 7F009DDC 44828000 */ mtc1 $v0, $f16
/* 03E950 7F009DE0 3C018005 */ lui $at, %hi(D_800519D0) # $at, 0x8005
/* 03E954 7F009DE4 C4241A00 */ lwc1 $f4, %lo(D_800519D0)($at)
/* 03E958 7F009DE8 468084A0 */ cvt.s.w $f18, $f16
/* 03E95C 7F009DEC 3C013F00 */ li $at, 0x3F000000 # 0.500000
/* 03E960 7F009DF0 44813000 */ mtc1 $at, $f6
/* 03E964 7F009DF4 3C018005 */ lui $at, %hi(global_timer_delta) # $at, 0x8005
/* 03E968 7F009DF8 C43083B4 */ lwc1 $f16, %lo(global_timer_delta)($at)
/* 03E96C 7F009DFC 3C018003 */ lui $at, %hi(cursor_v_pos) # $at, 0x8003
/* 03E970 7F009E00 46049202 */ mul.s $f8, $f18, $f4
/* 03E974 7F009E04 C424A94C */ lwc1 $f4, %lo(cursor_v_pos)($at)
/* 03E978 7F009E08 46064280 */ add.s $f10, $f8, $f6
/* 03E97C 7F009E0C 46105482 */ mul.s $f18, $f10, $f16
/* 03E980 7F009E10 46122200 */ add.s $f8, $f4, $f18
/* 03E984 7F009E14 10000012 */ b .L7F009E60
/* 03E988 7F009E18 E428A94C */ swc1 $f8, %lo(cursor_v_pos)($at)
.L7F009E1C:
/* 03E98C 7F009E1C 04410010 */ bgez $v0, .L7F009E60
/* 03E990 7F009E20 00000000 */ nop
/* 03E994 7F009E24 44823000 */ mtc1 $v0, $f6
/* 03E998 7F009E28 3C018005 */ lui $at, %hi(D_800519D4) # $at, 0x8005
/* 03E99C 7F009E2C C4301A04 */ lwc1 $f16, %lo(D_800519D4)($at)
/* 03E9A0 7F009E30 468032A0 */ cvt.s.w $f10, $f6
/* 03E9A4 7F009E34 3C013F00 */ li $at, 0x3F000000 # 0.500000
/* 03E9A8 7F009E38 44819000 */ mtc1 $at, $f18
/* 03E9AC 7F009E3C 3C018005 */ lui $at, %hi(global_timer_delta) # $at, 0x8005
/* 03E9B0 7F009E40 C42683B4 */ lwc1 $f6, %lo(global_timer_delta)($at)
/* 03E9B4 7F009E44 3C018003 */ lui $at, %hi(cursor_v_pos) # $at, 0x8003
/* 03E9B8 7F009E48 46105102 */ mul.s $f4, $f10, $f16
/* 03E9BC 7F009E4C C430A94C */ lwc1 $f16, %lo(cursor_v_pos)($at)
/* 03E9C0 7F009E50 46122201 */ sub.s $f8, $f4, $f18
/* 03E9C4 7F009E54 46064282 */ mul.s $f10, $f8, $f6
/* 03E9C8 7F009E58 460A8100 */ add.s $f4, $f16, $f10
/* 03E9CC 7F009E5C E424A94C */ swc1 $f4, %lo(cursor_v_pos)($at)
.L7F009E60:
/* 03E9D0 7F009E60 0FC1E2B1 */ jal getPlayer_c_screentop
/* 03E9D4 7F009E64 00000000 */ nop
/* 03E9D8 7F009E68 0FC1E2A9 */ jal getPlayer_c_screenheight
/* 03E9DC 7F009E6C E7A00018 */ swc1 $f0, 0x18($sp)
/* 03E9E0 7F009E70 C7B20018 */ lwc1 $f18, 0x18($sp)
/* 03E9E4 7F009E74 3C0141A0 */ li $at, 0x41A00000 # 20.000000
/* 03E9E8 7F009E78 44813000 */ mtc1 $at, $f6
/* 03E9EC 7F009E7C 46120200 */ add.s $f8, $f0, $f18
/* 03E9F0 7F009E80 3C018003 */ lui $at, %hi(cursor_v_pos) # $at, 0x8003
/* 03E9F4 7F009E84 C42AA94C */ lwc1 $f10, %lo(cursor_v_pos)($at)
/* 03E9F8 7F009E88 46064401 */ sub.s $f16, $f8, $f6
/* 03E9FC 7F009E8C 460A803C */ c.lt.s $f16, $f10
/* 03EA00 7F009E90 00000000 */ nop
/* 03EA04 7F009E94 4500000D */ bc1f .L7F009ECC
/* 03EA08 7F009E98 00000000 */ nop
/* 03EA0C 7F009E9C 0FC1E2B1 */ jal getPlayer_c_screentop
/* 03EA10 7F009EA0 00000000 */ nop
/* 03EA14 7F009EA4 0FC1E2A9 */ jal getPlayer_c_screenheight
/* 03EA18 7F009EA8 E7A00018 */ swc1 $f0, 0x18($sp)
/* 03EA1C 7F009EAC C7A40018 */ lwc1 $f4, 0x18($sp)
/* 03EA20 7F009EB0 3C0141A0 */ li $at, 0x41A00000 # 20.000000
/* 03EA24 7F009EB4 44814000 */ mtc1 $at, $f8
/* 03EA28 7F009EB8 46040480 */ add.s $f18, $f0, $f4
/* 03EA2C 7F009EBC 3C018003 */ lui $at, %hi(cursor_v_pos) # $at, 0x8003
/* 03EA30 7F009EC0 46089181 */ sub.s $f6, $f18, $f8
/* 03EA34 7F009EC4 10000014 */ b .L7F009F18
/* 03EA38 7F009EC8 E426A94C */ swc1 $f6, %lo(cursor_v_pos)($at)
.L7F009ECC:
/* 03EA3C 7F009ECC 0FC1E2B1 */ jal getPlayer_c_screentop
/* 03EA40 7F009ED0 00000000 */ nop
/* 03EA44 7F009ED4 3C018003 */ lui $at, %hi(cursor_v_pos) # $at, 0x8003
/* 03EA48 7F009ED8 C430A94C */ lwc1 $f16, %lo(cursor_v_pos)($at)
/* 03EA4C 7F009EDC 3C0141A0 */ li $at, 0x41A00000 # 20.000000
/* 03EA50 7F009EE0 44815000 */ mtc1 $at, $f10
/* 03EA54 7F009EE4 00000000 */ nop
/* 03EA58 7F009EE8 460A0100 */ add.s $f4, $f0, $f10
/* 03EA5C 7F009EEC 4604803C */ c.lt.s $f16, $f4
/* 03EA60 7F009EF0 00000000 */ nop
/* 03EA64 7F009EF4 45020009 */ bc1fl .L7F009F1C
/* 03EA68 7F009EF8 8FBF0014 */ lw $ra, 0x14($sp)
/* 03EA6C 7F009EFC 0FC1E2B1 */ jal getPlayer_c_screentop
/* 03EA70 7F009F00 00000000 */ nop
/* 03EA74 7F009F04 3C0141A0 */ li $at, 0x41A00000 # 20.000000
/* 03EA78 7F009F08 44819000 */ mtc1 $at, $f18
/* 03EA7C 7F009F0C 3C018003 */ lui $at, %hi(cursor_v_pos) # $at, 0x8003
/* 03EA80 7F009F10 46120200 */ add.s $f8, $f0, $f18
/* 03EA84 7F009F14 E428A94C */ swc1 $f8, %lo(cursor_v_pos)($at)
.L7F009F18:
/* 03EA88 7F009F18 8FBF0014 */ lw $ra, 0x14($sp)
.L7F009F1C:
/* 03EA8C 7F009F1C 27BD0020 */ addiu $sp, $sp, 0x20
/* 03EA90 7F009F20 03E00008 */ jr $ra
/* 03EA94 7F009F24 00000000 */ nop
)
#endif
#ifdef VERSION_EU
GLOBAL_ASM(
.late_rodata
glabel folder_menu_x_dim
.word 0x3D99999A /* 0.075000003;*/
glabel folder_menu_z_dim
.word 0x3D99999A /* 0.075000003;*/
glabel D_800519D0
.word 0x3D99999A /* 0.075000003;*/
glabel D_800519D4
.word 0x3D99999A /* 0.075000003;*/
.text
glabel menu_control_stick_tracking
/* 03E6B4 7F009B84 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 03E6B8 7F009B88 AFBF0014 */ sw $ra, 0x14($sp)
/* 03E6BC 7F009B8C 0C00303B */ jal joyGetStickX
/* 03E6C0 7F009B90 00002025 */ move $a0, $zero
/* 03E6C4 7F009B94 00002025 */ move $a0, $zero
/* 03E6C8 7F009B98 0C00307F */ jal joyGetStickY
/* 03E6CC 7F009B9C A3A2001F */ sb $v0, 0x1f($sp)
/* 03E6D0 7F009BA0 83A5001F */ lb $a1, 0x1f($sp)
/* 03E6D4 7F009BA4 00021823 */ negu $v1, $v0
/* 03E6D8 7F009BA8 00034E00 */ sll $t1, $v1, 0x18
/* 03E6DC 7F009BAC 28A1FFFB */ slti $at, $a1, -5
/* 03E6E0 7F009BB0 10200005 */ beqz $at, .L7F009BC8
/* 03E6E4 7F009BB4 00095603 */ sra $t2, $t1, 0x18
/* 03E6E8 7F009BB8 24A50005 */ addiu $a1, $a1, 5
/* 03E6EC 7F009BBC 00057E00 */ sll $t7, $a1, 0x18
/* 03E6F0 7F009BC0 10000008 */ b .L7F009BE4
/* 03E6F4 7F009BC4 000F2E03 */ sra $a1, $t7, 0x18
.L7F009BC8:
/* 03E6F8 7F009BC8 28A10006 */ slti $at, $a1, 6
/* 03E6FC 7F009BCC 14200004 */ bnez $at, .L7F009BE0
/* 03E700 7F009BD0 24A5FFFB */ addiu $a1, $a1, -5
/* 03E704 7F009BD4 0005CE00 */ sll $t9, $a1, 0x18
/* 03E708 7F009BD8 10000002 */ b .L7F009BE4
/* 03E70C 7F009BDC 00192E03 */ sra $a1, $t9, 0x18
.L7F009BE0:
/* 03E710 7F009BE0 00002825 */ move $a1, $zero
.L7F009BE4:
/* 03E714 7F009BE4 28A10047 */ slti $at, $a1, 0x47
/* 03E718 7F009BE8 54200004 */ bnezl $at, .L7F009BFC
/* 03E71C 7F009BEC 28A1FFBA */ slti $at, $a1, -0x46
/* 03E720 7F009BF0 10000005 */ b .L7F009C08
/* 03E724 7F009BF4 24050046 */ li $a1, 70
/* 03E728 7F009BF8 28A1FFBA */ slti $at, $a1, -0x46
.L7F009BFC:
/* 03E72C 7F009BFC 50200003 */ beql $at, $zero, .L7F009C0C
/* 03E730 7F009C00 2941FFFB */ slti $at, $t2, -5
/* 03E734 7F009C04 2405FFBA */ li $a1, -70
.L7F009C08:
/* 03E738 7F009C08 2941FFFB */ slti $at, $t2, -5
.L7F009C0C:
/* 03E73C 7F009C0C 10200005 */ beqz $at, .L7F009C24
/* 03E740 7F009C10 01401825 */ move $v1, $t2
/* 03E744 7F009C14 25420005 */ addiu $v0, $t2, 5
/* 03E748 7F009C18 00025E00 */ sll $t3, $v0, 0x18
/* 03E74C 7F009C1C 10000008 */ b .L7F009C40
/* 03E750 7F009C20 000B1603 */ sra $v0, $t3, 0x18
.L7F009C24:
/* 03E754 7F009C24 28610006 */ slti $at, $v1, 6
/* 03E758 7F009C28 14200005 */ bnez $at, .L7F009C40
/* 03E75C 7F009C2C 00001025 */ move $v0, $zero
/* 03E760 7F009C30 2462FFFB */ addiu $v0, $v1, -5
/* 03E764 7F009C34 00026E00 */ sll $t5, $v0, 0x18
/* 03E768 7F009C38 10000001 */ b .L7F009C40
/* 03E76C 7F009C3C 000D1603 */ sra $v0, $t5, 0x18
.L7F009C40:
/* 03E770 7F009C40 28410047 */ slti $at, $v0, 0x47
/* 03E774 7F009C44 54200004 */ bnezl $at, .L7F009C58
/* 03E778 7F009C48 2841FFBA */ slti $at, $v0, -0x46
/* 03E77C 7F009C4C 10000005 */ b .L7F009C64
/* 03E780 7F009C50 24020046 */ li $v0, 70
/* 03E784 7F009C54 2841FFBA */ slti $at, $v0, -0x46
.L7F009C58:
/* 03E788 7F009C58 10200002 */ beqz $at, .L7F009C64
/* 03E78C 7F009C5C 00000000 */ nop
/* 03E790 7F009C60 2402FFBA */ li $v0, -70
.L7F009C64:
/* 03E794 7F009C64 18A00011 */ blez $a1, .L7F009CAC
/* 03E798 7F009C68 00000000 */ nop
/* 03E79C 7F009C6C 44852000 */ mtc1 $a1, $f4
/* 03E7A0 7F009C70 3C018005 */ lui $at, %hi(folder_menu_x_dim)
/* 03E7A4 7F009C74 C42819C8 */ lwc1 $f8, %lo(folder_menu_x_dim)($at)
/* 03E7A8 7F009C78 468021A0 */ cvt.s.w $f6, $f4
/* 03E7AC 7F009C7C 3C013F00 */ li $at, 0x3F000000 # 0.500000
/* 03E7B0 7F009C80 44818000 */ mtc1 $at, $f16
/* 03E7B4 7F009C84 3C018005 */ lui $at, %hi(global_timer_delta)
/* 03E7B8 7F009C88 C4248378 */ lwc1 $f4, %lo(global_timer_delta)($at)
/* 03E7BC 7F009C8C 3C018003 */ lui $at, %hi(cursor_h_pos)
/* 03E7C0 7F009C90 46083282 */ mul.s $f10, $f6, $f8
/* 03E7C4 7F009C94 C428A908 */ lwc1 $f8, %lo(cursor_h_pos)($at)
/* 03E7C8 7F009C98 46105480 */ add.s $f18, $f10, $f16
/* 03E7CC 7F009C9C 46049182 */ mul.s $f6, $f18, $f4
/* 03E7D0 7F009CA0 46064280 */ add.s $f10, $f8, $f6
/* 03E7D4 7F009CA4 10000012 */ b .L7F009CF0
/* 03E7D8 7F009CA8 E42AA908 */ swc1 $f10, %lo(cursor_h_pos)($at)
.L7F009CAC:
/* 03E7DC 7F009CAC 04A10010 */ bgez $a1, .L7F009CF0
/* 03E7E0 7F009CB0 00000000 */ nop
/* 03E7E4 7F009CB4 44858000 */ mtc1 $a1, $f16
/* 03E7E8 7F009CB8 3C018005 */ lui $at, %hi(folder_menu_z_dim)
/* 03E7EC 7F009CBC C42419CC */ lwc1 $f4, %lo(folder_menu_z_dim)($at)
/* 03E7F0 7F009CC0 468084A0 */ cvt.s.w $f18, $f16
/* 03E7F4 7F009CC4 3C013F00 */ li $at, 0x3F000000 # 0.500000
/* 03E7F8 7F009CC8 44813000 */ mtc1 $at, $f6
/* 03E7FC 7F009CCC 3C018005 */ lui $at, %hi(global_timer_delta)
/* 03E800 7F009CD0 C4308378 */ lwc1 $f16, %lo(global_timer_delta)($at)
/* 03E804 7F009CD4 3C018003 */ lui $at, %hi(cursor_h_pos)
/* 03E808 7F009CD8 46049202 */ mul.s $f8, $f18, $f4
/* 03E80C 7F009CDC C424A908 */ lwc1 $f4, %lo(cursor_h_pos)($at)
/* 03E810 7F009CE0 46064281 */ sub.s $f10, $f8, $f6
/* 03E814 7F009CE4 46105482 */ mul.s $f18, $f10, $f16
/* 03E818 7F009CE8 46122200 */ add.s $f8, $f4, $f18
/* 03E81C 7F009CEC E428A908 */ swc1 $f8, %lo(cursor_h_pos)($at)
.L7F009CF0:
/* 03E820 7F009CF0 0FC1E131 */ jal getPlayer_c_screenleft
/* 03E824 7F009CF4 A3A2001E */ sb $v0, 0x1e($sp)
/* 03E828 7F009CF8 0FC1E129 */ jal getPlayer_c_screenwidth
/* 03E82C 7F009CFC E7A00018 */ swc1 $f0, 0x18($sp)
/* 03E830 7F009D00 C7A60018 */ lwc1 $f6, 0x18($sp)
/* 03E834 7F009D04 3C0141A0 */ li $at, 0x41A00000 # 20.000000
/* 03E838 7F009D08 44818000 */ mtc1 $at, $f16
/* 03E83C 7F009D0C 46060280 */ add.s $f10, $f0, $f6
/* 03E840 7F009D10 3C018003 */ lui $at, %hi(cursor_h_pos)
/* 03E844 7F009D14 C432A908 */ lwc1 $f18, %lo(cursor_h_pos)($at)
/* 03E848 7F009D18 83A2001E */ lb $v0, 0x1e($sp)
/* 03E84C 7F009D1C 46105101 */ sub.s $f4, $f10, $f16
/* 03E850 7F009D20 4612203C */ c.lt.s $f4, $f18
/* 03E854 7F009D24 00000000 */ nop
/* 03E858 7F009D28 4500000E */ bc1f .L7F009D64
/* 03E85C 7F009D2C 00000000 */ nop
/* 03E860 7F009D30 0FC1E131 */ jal getPlayer_c_screenleft
/* 03E864 7F009D34 A3A2001E */ sb $v0, 0x1e($sp)
/* 03E868 7F009D38 0FC1E129 */ jal getPlayer_c_screenwidth
/* 03E86C 7F009D3C E7A00018 */ swc1 $f0, 0x18($sp)
/* 03E870 7F009D40 C7A80018 */ lwc1 $f8, 0x18($sp)
/* 03E874 7F009D44 3C0141A0 */ li $at, 0x41A00000 # 20.000000
/* 03E878 7F009D48 44815000 */ mtc1 $at, $f10
/* 03E87C 7F009D4C 46080180 */ add.s $f6, $f0, $f8
/* 03E880 7F009D50 3C018003 */ lui $at, %hi(cursor_h_pos)
/* 03E884 7F009D54 83A2001E */ lb $v0, 0x1e($sp)
/* 03E888 7F009D58 460A3401 */ sub.s $f16, $f6, $f10
/* 03E88C 7F009D5C 10000015 */ b .L7F009DB4
/* 03E890 7F009D60 E430A908 */ swc1 $f16, %lo(cursor_h_pos)($at)
.L7F009D64:
/* 03E894 7F009D64 0FC1E131 */ jal getPlayer_c_screenleft
/* 03E898 7F009D68 A3A2001E */ sb $v0, 0x1e($sp)
/* 03E89C 7F009D6C 3C018003 */ lui $at, %hi(cursor_h_pos)
/* 03E8A0 7F009D70 C424A908 */ lwc1 $f4, %lo(cursor_h_pos)($at)
/* 03E8A4 7F009D74 3C0141A0 */ li $at, 0x41A00000 # 20.000000
/* 03E8A8 7F009D78 44819000 */ mtc1 $at, $f18
/* 03E8AC 7F009D7C 83A2001E */ lb $v0, 0x1e($sp)
/* 03E8B0 7F009D80 46120200 */ add.s $f8, $f0, $f18
/* 03E8B4 7F009D84 4608203C */ c.lt.s $f4, $f8
/* 03E8B8 7F009D88 00000000 */ nop
/* 03E8BC 7F009D8C 45000009 */ bc1f .L7F009DB4
/* 03E8C0 7F009D90 00000000 */ nop
/* 03E8C4 7F009D94 0FC1E131 */ jal getPlayer_c_screenleft
/* 03E8C8 7F009D98 A3A2001E */ sb $v0, 0x1e($sp)
/* 03E8CC 7F009D9C 3C0141A0 */ li $at, 0x41A00000 # 20.000000
/* 03E8D0 7F009DA0 44813000 */ mtc1 $at, $f6
/* 03E8D4 7F009DA4 3C018003 */ lui $at, %hi(cursor_h_pos)
/* 03E8D8 7F009DA8 83A2001E */ lb $v0, 0x1e($sp)
/* 03E8DC 7F009DAC 46060280 */ add.s $f10, $f0, $f6
/* 03E8E0 7F009DB0 E42AA908 */ swc1 $f10, %lo(cursor_h_pos)($at)
.L7F009DB4:
/* 03E8E4 7F009DB4 18400011 */ blez $v0, .L7F009DFC
/* 03E8E8 7F009DB8 00000000 */ nop
/* 03E8EC 7F009DBC 44828000 */ mtc1 $v0, $f16
/* 03E8F0 7F009DC0 3C018005 */ lui $at, %hi(D_800519D0)
/* 03E8F4 7F009DC4 C42419D0 */ lwc1 $f4, %lo(D_800519D0)($at)
/* 03E8F8 7F009DC8 468084A0 */ cvt.s.w $f18, $f16
/* 03E8FC 7F009DCC 3C013F00 */ li $at, 0x3F000000 # 0.500000
/* 03E900 7F009DD0 44813000 */ mtc1 $at, $f6
/* 03E904 7F009DD4 3C018005 */ lui $at, %hi(global_timer_delta)
/* 03E908 7F009DD8 C4308378 */ lwc1 $f16, %lo(global_timer_delta)($at)
/* 03E90C 7F009DDC 3C018003 */ lui $at, %hi(cursor_v_pos)
/* 03E910 7F009DE0 46049202 */ mul.s $f8, $f18, $f4
/* 03E914 7F009DE4 C424A90C */ lwc1 $f4, %lo(cursor_v_pos)($at)
/* 03E918 7F009DE8 46064280 */ add.s $f10, $f8, $f6
/* 03E91C 7F009DEC 46105482 */ mul.s $f18, $f10, $f16
/* 03E920 7F009DF0 46122200 */ add.s $f8, $f4, $f18
/* 03E924 7F009DF4 10000012 */ b .L7F009E40
/* 03E928 7F009DF8 E428A90C */ swc1 $f8, %lo(cursor_v_pos)($at)
.L7F009DFC:
/* 03E92C 7F009DFC 04410010 */ bgez $v0, .L7F009E40
/* 03E930 7F009E00 00000000 */ nop
/* 03E934 7F009E04 44823000 */ mtc1 $v0, $f6
/* 03E938 7F009E08 3C018005 */ lui $at, %hi(D_800519D4)
/* 03E93C 7F009E0C C43019D4 */ lwc1 $f16, %lo(D_800519D4)($at)
/* 03E940 7F009E10 468032A0 */ cvt.s.w $f10, $f6
/* 03E944 7F009E14 3C013F00 */ li $at, 0x3F000000 # 0.500000
/* 03E948 7F009E18 44819000 */ mtc1 $at, $f18
/* 03E94C 7F009E1C 3C018005 */ lui $at, %hi(global_timer_delta)
/* 03E950 7F009E20 C4268378 */ lwc1 $f6, %lo(global_timer_delta)($at)
/* 03E954 7F009E24 3C018003 */ lui $at, %hi(cursor_v_pos)
/* 03E958 7F009E28 46105102 */ mul.s $f4, $f10, $f16
/* 03E95C 7F009E2C C430A90C */ lwc1 $f16, %lo(cursor_v_pos)($at)
/* 03E960 7F009E30 46122201 */ sub.s $f8, $f4, $f18
/* 03E964 7F009E34 46064282 */ mul.s $f10, $f8, $f6
/* 03E968 7F009E38 460A8100 */ add.s $f4, $f16, $f10
/* 03E96C 7F009E3C E424A90C */ swc1 $f4, %lo(cursor_v_pos)($at)
.L7F009E40:
/* 03E970 7F009E40 0FC1E135 */ jal getPlayer_c_screentop
/* 03E974 7F009E44 00000000 */ nop
/* 03E978 7F009E48 0FC1E12D */ jal getPlayer_c_screenheight
/* 03E97C 7F009E4C E7A00018 */ swc1 $f0, 0x18($sp)
/* 03E980 7F009E50 C7B20018 */ lwc1 $f18, 0x18($sp)
/* 03E984 7F009E54 3C0141A0 */ li $at, 0x41A00000 # 20.000000
/* 03E988 7F009E58 44813000 */ mtc1 $at, $f6
/* 03E98C 7F009E5C 46120200 */ add.s $f8, $f0, $f18
/* 03E990 7F009E60 3C018003 */ lui $at, %hi(cursor_v_pos)
/* 03E994 7F009E64 C42AA90C */ lwc1 $f10, %lo(cursor_v_pos)($at)
/* 03E998 7F009E68 46064401 */ sub.s $f16, $f8, $f6
/* 03E99C 7F009E6C 460A803C */ c.lt.s $f16, $f10
/* 03E9A0 7F009E70 00000000 */ nop
/* 03E9A4 7F009E74 4500000D */ bc1f .L7F009EAC
/* 03E9A8 7F009E78 00000000 */ nop
/* 03E9AC 7F009E7C 0FC1E135 */ jal getPlayer_c_screentop
/* 03E9B0 7F009E80 00000000 */ nop
/* 03E9B4 7F009E84 0FC1E12D */ jal getPlayer_c_screenheight
/* 03E9B8 7F009E88 E7A00018 */ swc1 $f0, 0x18($sp)
/* 03E9BC 7F009E8C C7A40018 */ lwc1 $f4, 0x18($sp)
/* 03E9C0 7F009E90 3C0141A0 */ li $at, 0x41A00000 # 20.000000
/* 03E9C4 7F009E94 44814000 */ mtc1 $at, $f8
/* 03E9C8 7F009E98 46040480 */ add.s $f18, $f0, $f4
/* 03E9CC 7F009E9C 3C018003 */ lui $at, %hi(cursor_v_pos)
/* 03E9D0 7F009EA0 46089181 */ sub.s $f6, $f18, $f8
/* 03E9D4 7F009EA4 10000014 */ b .L7F009EF8
/* 03E9D8 7F009EA8 E426A90C */ swc1 $f6, %lo(cursor_v_pos)($at)
.L7F009EAC:
/* 03E9DC 7F009EAC 0FC1E135 */ jal getPlayer_c_screentop
/* 03E9E0 7F009EB0 00000000 */ nop
/* 03E9E4 7F009EB4 3C018003 */ lui $at, %hi(cursor_v_pos)
/* 03E9E8 7F009EB8 C430A90C */ lwc1 $f16, %lo(cursor_v_pos)($at)
/* 03E9EC 7F009EBC 3C0141A0 */ li $at, 0x41A00000 # 20.000000
/* 03E9F0 7F009EC0 44815000 */ mtc1 $at, $f10
/* 03E9F4 7F009EC4 00000000 */ nop
/* 03E9F8 7F009EC8 460A0100 */ add.s $f4, $f0, $f10
/* 03E9FC 7F009ECC 4604803C */ c.lt.s $f16, $f4
/* 03EA00 7F009ED0 00000000 */ nop
/* 03EA04 7F009ED4 45020009 */ bc1fl .L7F009EFC
/* 03EA08 7F009ED8 8FBF0014 */ lw $ra, 0x14($sp)
/* 03EA0C 7F009EDC 0FC1E135 */ jal getPlayer_c_screentop
/* 03EA10 7F009EE0 00000000 */ nop
/* 03EA14 7F009EE4 3C0141A0 */ li $at, 0x41A00000 # 20.000000
/* 03EA18 7F009EE8 44819000 */ mtc1 $at, $f18
/* 03EA1C 7F009EEC 3C018003 */ lui $at, %hi(cursor_v_pos)
/* 03EA20 7F009EF0 46120200 */ add.s $f8, $f0, $f18
/* 03EA24 7F009EF4 E428A90C */ swc1 $f8, %lo(cursor_v_pos)($at)
.L7F009EF8:
/* 03EA28 7F009EF8 8FBF0014 */ lw $ra, 0x14($sp)
.L7F009EFC:
/* 03EA2C 7F009EFC 27BD0020 */ addiu $sp, $sp, 0x20
/* 03EA30 7F009F00 03E00008 */ jr $ra
/* 03EA34 7F009F04 00000000 */ nop
)
#endif
#endif
#ifdef NONMATCHING
void load_draw_selected_icon_folder_select(s32 arg0, s32 arg1A) {
f32 sp58;
f32 sp5C;
f32 sp60;
f32 sp64;
// Node 0
if (folder_selection_screen_option_icon == 0)
{
// Node 1
}
else
{
// Node 2
if (folder_selection_screen_option_icon == 1)
{
// Node 3
}
else
{
// Node 4
if (folder_selection_screen_option_icon == 2)
{
// Node 5
}
}
}
// Node 6
likely_generate_DL_for_image_declaration(&arg1A, sp54, 4, 0, 0);
sp60 = truncf((cursor_h_pos + 0.5f));
sp64 = truncf((cursor_v_pos + 0.5f));
sp58 = (f32) ((f32) (u32) sp54->unk4 * 0.5f);
if (sp54->unk5 < 0)
{
// Node 7
}
// Node 8
sp5C = (f32) ((f32) sp54->unk5 * 0.5f);
display_image_at_on_screen_coord(&arg1A, &sp60, &sp58, sp54->unk4, (s32) sp54->unk5, 0, 0, 1, 0xff, 0xff, 0xff, 0xdc, (s32) (0 < sp54->unk6), 0);
return;
// (possible return value: arg1A)
}
#else
GLOBAL_ASM(
.text
glabel load_draw_selected_icon_folder_select
/* 03EA38 7F009F08 3C028003 */ lui $v0, %hi(folder_selection_screen_option_icon)
/* 03EA3C 7F009F0C 8C42A918 */ lw $v0, %lo(folder_selection_screen_option_icon)($v0)
/* 03EA40 7F009F10 27BDFF98 */ addiu $sp, $sp, -0x68
/* 03EA44 7F009F14 AFBF0044 */ sw $ra, 0x44($sp)
/* 03EA48 7F009F18 AFB00040 */ sw $s0, 0x40($sp)
/* 03EA4C 7F009F1C 14400005 */ bnez $v0, .L7F009F34
/* 03EA50 7F009F20 AFA40068 */ sw $a0, 0x68($sp)
/* 03EA54 7F009F24 3C108009 */ lui $s0, %hi(crosshairimage)
/* 03EA58 7F009F28 8E10D114 */ lw $s0, %lo(crosshairimage)($s0)
/* 03EA5C 7F009F2C 1000000D */ b .L7F009F64
/* 03EA60 7F009F30 AFB00054 */ sw $s0, 0x54($sp)
.L7F009F34:
/* 03EA64 7F009F34 24010001 */ li $at, 1
/* 03EA68 7F009F38 14410004 */ bne $v0, $at, .L7F009F4C
/* 03EA6C 7F009F3C 3C108009 */ lui $s0, %hi(mainfolderimages)
/* 03EA70 7F009F40 8E10D128 */ lw $s0, %lo(mainfolderimages)($s0)
/* 03EA74 7F009F44 10000007 */ b .L7F009F64
/* 03EA78 7F009F48 AFB00054 */ sw $s0, 0x54($sp)
.L7F009F4C:
/* 03EA7C 7F009F4C 24010002 */ li $at, 2
/* 03EA80 7F009F50 14410004 */ bne $v0, $at, .L7F009F64
/* 03EA84 7F009F54 3C108009 */ lui $s0, %hi(mainfolderimages)
/* 03EA88 7F009F58 8E10D128 */ lw $s0, %lo(mainfolderimages)($s0)
/* 03EA8C 7F009F5C 2610000C */ addiu $s0, $s0, 0xc
/* 03EA90 7F009F60 AFB00054 */ sw $s0, 0x54($sp)
.L7F009F64:
/* 03EA94 7F009F64 8FB00054 */ lw $s0, 0x54($sp)
/* 03EA98 7F009F68 27A40068 */ addiu $a0, $sp, 0x68
/* 03EA9C 7F009F6C 24060004 */ li $a2, 4
/* 03EAA0 7F009F70 00003825 */ move $a3, $zero
/* 03EAA4 7F009F74 AFA00010 */ sw $zero, 0x10($sp)
/* 03EAA8 7F009F78 0FC1DB5A */ jal likely_generate_DL_for_image_declaration
/* 03EAAC 7F009F7C 02002825 */ move $a1, $s0
/* 03EAB0 7F009F80 3C018003 */ lui $at, %hi(cursor_h_pos)
/* 03EAB4 7F009F84 C424A908 */ lwc1 $f4, %lo(cursor_h_pos)($at)
/* 03EAB8 7F009F88 3C013F00 */ li $at, 0x3F000000 # 0.500000
/* 03EABC 7F009F8C 44813000 */ mtc1 $at, $f6
/* 03EAC0 7F009F90 0FC170D8 */ jal truncf
/* 03EAC4 7F009F94 46062300 */ add.s $f12, $f4, $f6
/* 03EAC8 7F009F98 3C018003 */ lui $at, %hi(cursor_v_pos)
/* 03EACC 7F009F9C C428A90C */ lwc1 $f8, %lo(cursor_v_pos)($at)
/* 03EAD0 7F009FA0 3C013F00 */ li $at, 0x3F000000 # 0.500000
/* 03EAD4 7F009FA4 44815000 */ mtc1 $at, $f10
/* 03EAD8 7F009FA8 E7A00060 */ swc1 $f0, 0x60($sp)
/* 03EADC 7F009FAC 0FC170D8 */ jal truncf
/* 03EAE0 7F009FB0 460A4300 */ add.s $f12, $f8, $f10
/* 03EAE4 7F009FB4 E7A00064 */ swc1 $f0, 0x64($sp)
/* 03EAE8 7F009FB8 920E0004 */ lbu $t6, 4($s0)
/* 03EAEC 7F009FBC 3C013F00 */ li $at, 0x3F000000 # 0.500000
/* 03EAF0 7F009FC0 44811000 */ mtc1 $at, $f2
/* 03EAF4 7F009FC4 448E8000 */ mtc1 $t6, $f16
/* 03EAF8 7F009FC8 27A40068 */ addiu $a0, $sp, 0x68
/* 03EAFC 7F009FCC 05C10005 */ bgez $t6, .L7F009FE4
/* 03EB00 7F009FD0 468084A0 */ cvt.s.w $f18, $f16
/* 03EB04 7F009FD4 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000
/* 03EB08 7F009FD8 44812000 */ mtc1 $at, $f4
/* 03EB0C 7F009FDC 00000000 */ nop
/* 03EB10 7F009FE0 46049480 */ add.s $f18, $f18, $f4
.L7F009FE4:
/* 03EB14 7F009FE4 46029182 */ mul.s $f6, $f18, $f2
/* 03EB18 7F009FE8 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000
/* 03EB1C 7F009FEC E7A60058 */ swc1 $f6, 0x58($sp)
/* 03EB20 7F009FF0 920F0005 */ lbu $t7, 5($s0)
/* 03EB24 7F009FF4 448F4000 */ mtc1 $t7, $f8
/* 03EB28 7F009FF8 05E10004 */ bgez $t7, .L7F00A00C
/* 03EB2C 7F009FFC 468042A0 */ cvt.s.w $f10, $f8
/* 03EB30 7F00A000 44818000 */ mtc1 $at, $f16
/* 03EB34 7F00A004 00000000 */ nop
/* 03EB38 7F00A008 46105280 */ add.s $f10, $f10, $f16
.L7F00A00C:
/* 03EB3C 7F00A00C 46025102 */ mul.s $f4, $f10, $f2
/* 03EB40 7F00A010 24190001 */ li $t9, 1
/* 03EB44 7F00A014 240800FF */ li $t0, 255
/* 03EB48 7F00A018 240900FF */ li $t1, 255
/* 03EB4C 7F00A01C 240A00FF */ li $t2, 255
/* 03EB50 7F00A020 240B00DC */ li $t3, 220
/* 03EB54 7F00A024 27A50060 */ addiu $a1, $sp, 0x60
/* 03EB58 7F00A028 E7A4005C */ swc1 $f4, 0x5c($sp)
/* 03EB5C 7F00A02C 92180005 */ lbu $t8, 5($s0)
/* 03EB60 7F00A030 92070004 */ lbu $a3, 4($s0)
/* 03EB64 7F00A034 AFAB002C */ sw $t3, 0x2c($sp)
/* 03EB68 7F00A038 AFAA0028 */ sw $t2, 0x28($sp)
/* 03EB6C 7F00A03C AFA90024 */ sw $t1, 0x24($sp)
/* 03EB70 7F00A040 AFA80020 */ sw $t0, 0x20($sp)
/* 03EB74 7F00A044 AFB9001C */ sw $t9, 0x1c($sp)
/* 03EB78 7F00A048 AFA00018 */ sw $zero, 0x18($sp)
/* 03EB7C 7F00A04C AFA00014 */ sw $zero, 0x14($sp)
/* 03EB80 7F00A050 AFB80010 */ sw $t8, 0x10($sp)
/* 03EB84 7F00A054 920C0006 */ lbu $t4, 6($s0)
/* 03EB88 7F00A058 AFA00034 */ sw $zero, 0x34($sp)
/* 03EB8C 7F00A05C 27A60058 */ addiu $a2, $sp, 0x58
/* 03EB90 7F00A060 000C682A */ slt $t5, $zero, $t4
/* 03EB94 7F00A064 0FC1ABFA */ jal display_image_at_on_screen_coord
/* 03EB98 7F00A068 AFAD0030 */ sw $t5, 0x30($sp)
/* 03EB9C 7F00A06C 8FBF0044 */ lw $ra, 0x44($sp)
/* 03EBA0 7F00A070 8FA20068 */ lw $v0, 0x68($sp)
/* 03EBA4 7F00A074 8FB00040 */ lw $s0, 0x40($sp)
/* 03EBA8 7F00A078 03E00008 */ jr $ra
/* 03EBAC 7F00A07C 27BD0068 */ addiu $sp, $sp, 0x68
)
#endif
#ifdef NONMATCHING
s32 add_tab1_start(s32 arg0) {
s16 sp44;
s32 sp48;
s32 sp4C;
s32 sp50;
s32 sp54;
s32 temp_a3;
// Node 0
dword_CODE_bss_80069770 = get_textptr_for_textID(TEXT(LTITLE, 0x04));
setTextSpacingInverted(1);
sp48 = 0;
sp4C = 0;
sub_GAME_7F0AE98C(&sp4C, &sp48, dword_CODE_bss_80069770, ptrSecondFontTableSmall, (s32) ptrFirstFontTableSmall, 0);
sp54 = 0x33;
if (sp4C < 0)
{
// Node 1
}
// Node 2
temp_a3 = (0x19b - (sp4C >> 1));
if (tab_1_highlight != 0)
{
// Node 3
microcode_constructor_related_to_menus(arg0, ((temp_a3 - sp4C) + 1), 0x33, temp_a3, 0x75, 0x32);
}
// Node 4
setTextOrientation(1, temp_a3);
if (sp48 < 0)
{
// Node 5
}
// Node 6
sp54 = (s32) (0x54 - (sp48 >> 1));
sp44 = viGetY();
en_text_write_stuff(arg0, &sp54, &sp50, dword_CODE_bss_80069770, (s32) ptrSecondFontTableSmall, (s32) ptrFirstFontTableSmall, 0xff, sp44, viGetX(), 0, 0);
setTextOrientation(0);
setTextSpacingInverted(0);
return;
// (possible return value: en_text_write_stuff(arg0, &sp54, &sp50, dword_CODE_bss_80069770, (s32) ptrSecondFontTableSmall, (s32) ptrFirstFontTableSmall, 0xff, sp44, viGetX(), 0, 0))
}
#else
GLOBAL_ASM(
.text
glabel add_tab1_start
/* 03EBB0 7F00A080 27BDFFA8 */ addiu $sp, $sp, -0x58
/* 03EBB4 7F00A084 AFB00038 */ sw $s0, 0x38($sp)
/* 03EBB8 7F00A088 00808025 */ move $s0, $a0
/* 03EBBC 7F00A08C AFBF003C */ sw $ra, 0x3c($sp)
/* 03EBC0 7F00A090 0FC30776 */ jal get_textptr_for_textID
/* 03EBC4 7F00A094 34049C04 */ li $a0, 39940
/* 03EBC8 7F00A098 3C018007 */ lui $at, %hi(dword_CODE_bss_80069770)
/* 03EBCC 7F00A09C AC229770 */ sw $v0, %lo(dword_CODE_bss_80069770)($at)
/* 03EBD0 7F00A0A0 0FC2B2DE */ jal setTextSpacingInverted
/* 03EBD4 7F00A0A4 24040001 */ li $a0, 1
/* 03EBD8 7F00A0A8 3C0E8004 */ lui $t6, %hi(ptrFirstFontTableSmall)
/* 03EBDC 7F00A0AC 8DCE0EAC */ lw $t6, %lo(ptrFirstFontTableSmall)($t6)
/* 03EBE0 7F00A0B0 3C068007 */ lui $a2, %hi(dword_CODE_bss_80069770)
/* 03EBE4 7F00A0B4 3C078004 */ lui $a3, %hi(ptrSecondFontTableSmall)
/* 03EBE8 7F00A0B8 AFA00048 */ sw $zero, 0x48($sp)
/* 03EBEC 7F00A0BC AFA0004C */ sw $zero, 0x4c($sp)
/* 03EBF0 7F00A0C0 8CE70EB0 */ lw $a3, %lo(ptrSecondFontTableSmall)($a3)
/* 03EBF4 7F00A0C4 8CC69770 */ lw $a2, %lo(dword_CODE_bss_80069770)($a2)
/* 03EBF8 7F00A0C8 27A4004C */ addiu $a0, $sp, 0x4c
/* 03EBFC 7F00A0CC 27A50048 */ addiu $a1, $sp, 0x48
/* 03EC00 7F00A0D0 AFA00014 */ sw $zero, 0x14($sp)
/* 03EC04 7F00A0D4 0FC2BA63 */ jal sub_GAME_7F0AE98C
/* 03EC08 7F00A0D8 AFAE0010 */ sw $t6, 0x10($sp)
/* 03EC0C 7F00A0DC 8FB8004C */ lw $t8, 0x4c($sp)
/* 03EC10 7F00A0E0 3C098003 */ lui $t1, %hi(tab_1_highlight)
/* 03EC14 7F00A0E4 8D29A8DC */ lw $t1, %lo(tab_1_highlight)($t1)
/* 03EC18 7F00A0E8 2408019B */ li $t0, 411
/* 03EC1C 7F00A0EC 240F0033 */ li $t7, 51
/* 03EC20 7F00A0F0 AFAF0054 */ sw $t7, 0x54($sp)
/* 03EC24 7F00A0F4 07010003 */ bgez $t8, .L7F00A104
/* 03EC28 7F00A0F8 0018C843 */ sra $t9, $t8, 1
/* 03EC2C 7F00A0FC 27010001 */ addiu $at, $t8, 1
/* 03EC30 7F00A100 0001C843 */ sra $t9, $at, 1
.L7F00A104:
/* 03EC34 7F00A104 01193823 */ subu $a3, $t0, $t9
/* 03EC38 7F00A108 1120000C */ beqz $t1, .L7F00A13C
/* 03EC3C 7F00A10C AFA70050 */ sw $a3, 0x50($sp)
/* 03EC40 7F00A110 00F82823 */ subu $a1, $a3, $t8
/* 03EC44 7F00A114 240A0075 */ li $t2, 117
/* 03EC48 7F00A118 240B0032 */ li $t3, 50
/* 03EC4C 7F00A11C AFAB0014 */ sw $t3, 0x14($sp)
/* 03EC50 7F00A120 AFAA0010 */ sw $t2, 0x10($sp)
/* 03EC54 7F00A124 24A50001 */ addiu $a1, $a1, 1
/* 03EC58 7F00A128 02002025 */ move $a0, $s0
/* 03EC5C 7F00A12C 24060033 */ li $a2, 51
/* 03EC60 7F00A130 0FC2B405 */ jal microcode_constructor_related_to_menus
/* 03EC64 7F00A134 AFA70050 */ sw $a3, 0x50($sp)
/* 03EC68 7F00A138 00408025 */ move $s0, $v0
.L7F00A13C:
/* 03EC6C 7F00A13C 0FC2B2E2 */ jal setTextOrientation
/* 03EC70 7F00A140 24040001 */ li $a0, 1
/* 03EC74 7F00A144 8FAC0048 */ lw $t4, 0x48($sp)
/* 03EC78 7F00A148 240E0054 */ li $t6, 84
/* 03EC7C 7F00A14C 05810003 */ bgez $t4, .L7F00A15C
/* 03EC80 7F00A150 000C6843 */ sra $t5, $t4, 1
/* 03EC84 7F00A154 25810001 */ addiu $at, $t4, 1
/* 03EC88 7F00A158 00016843 */ sra $t5, $at, 1
.L7F00A15C:
/* 03EC8C 7F00A15C 01CD7823 */ subu $t7, $t6, $t5
/* 03EC90 7F00A160 0C00110B */ jal viGetY
/* 03EC94 7F00A164 AFAF0054 */ sw $t7, 0x54($sp)
/* 03EC98 7F00A168 0C001107 */ jal viGetX
/* 03EC9C 7F00A16C A7A20044 */ sh $v0, 0x44($sp)
/* 03ECA0 7F00A170 3C088004 */ lui $t0, %hi(ptrSecondFontTableSmall)
/* 03ECA4 7F00A174 3C198004 */ lui $t9, %hi(ptrFirstFontTableSmall)
/* 03ECA8 7F00A178 8F390EAC */ lw $t9, %lo(ptrFirstFontTableSmall)($t9)
/* 03ECAC 7F00A17C 8D080EB0 */ lw $t0, %lo(ptrSecondFontTableSmall)($t0)
/* 03ECB0 7F00A180 87B80044 */ lh $t8, 0x44($sp)
/* 03ECB4 7F00A184 3C078007 */ lui $a3, %hi(dword_CODE_bss_80069770)
/* 03ECB8 7F00A188 240900FF */ li $t1, 255
/* 03ECBC 7F00A18C AFA90018 */ sw $t1, 0x18($sp)
/* 03ECC0 7F00A190 8CE79770 */ lw $a3, %lo(dword_CODE_bss_80069770)($a3)
/* 03ECC4 7F00A194 02002025 */ move $a0, $s0
/* 03ECC8 7F00A198 27A50054 */ addiu $a1, $sp, 0x54
/* 03ECCC 7F00A19C 27A60050 */ addiu $a2, $sp, 0x50
/* 03ECD0 7F00A1A0 AFA20020 */ sw $v0, 0x20($sp)
/* 03ECD4 7F00A1A4 AFA00024 */ sw $zero, 0x24($sp)
/* 03ECD8 7F00A1A8 AFA00028 */ sw $zero, 0x28($sp)
/* 03ECDC 7F00A1AC AFB90014 */ sw $t9, 0x14($sp)
/* 03ECE0 7F00A1B0 AFA80010 */ sw $t0, 0x10($sp)
/* 03ECE4 7F00A1B4 0FC2B6AF */ jal en_text_write_stuff
/* 03ECE8 7F00A1B8 AFB8001C */ sw $t8, 0x1c($sp)
/* 03ECEC 7F00A1BC 00408025 */ move $s0, $v0
/* 03ECF0 7F00A1C0 0FC2B2E2 */ jal setTextOrientation
/* 03ECF4 7F00A1C4 00002025 */ move $a0, $zero
/* 03ECF8 7F00A1C8 0FC2B2DE */ jal setTextSpacingInverted
/* 03ECFC 7F00A1CC 00002025 */ move $a0, $zero
/* 03ED00 7F00A1D0 8FBF003C */ lw $ra, 0x3c($sp)
/* 03ED04 7F00A1D4 02001025 */ move $v0, $s0
/* 03ED08 7F00A1D8 8FB00038 */ lw $s0, 0x38($sp)
/* 03ED0C 7F00A1DC 03E00008 */ jr $ra
/* 03ED10 7F00A1E0 27BD0058 */ addiu $sp, $sp, 0x58
)
#endif
s32 isontab1(void) {
if ((390.00000000f < cursor_h_pos) && (cursor_v_pos <= 130.5f)) {
return TRUE;
}
return FALSE;
}
#ifdef NONMATCHING
s32 add_tab3_previous(s32 arg0) {
s16 sp44;
s32 sp48;
s32 sp4C;
s32 sp50;
s32 sp54;
s32 temp_a3;
// Node 0
dword_CODE_bss_80069778 = get_textptr_for_textID(TEXT(LTITLE, 0x06));
setTextSpacingInverted(1);
sp48 = 0;
sp4C = 0;
sub_GAME_7F0AE98C(&sp4C, &sp48, dword_CODE_bss_80069778, ptrSecondFontTableSmall, (s32) ptrFirstFontTableSmall, 0);
sp54 = 0xec;
if (sp4C < 0)
{
// Node 1
}
// Node 2
temp_a3 = (0x19b - (sp4C >> 1));
if (tab_3_highlight != 0)
{
// Node 3
microcode_constructor_related_to_menus(arg0, ((temp_a3 - sp4C) + 1), 0xec, temp_a3, 0x12e, 0x32);
}
// Node 4
setTextOrientation(1, temp_a3);
if (sp48 < 0)
{
// Node 5
}
// Node 6
sp54 = (s32) (0x10d - (sp48 >> 1));
sp44 = viGetY();
en_text_write_stuff(arg0, &sp54, &sp50, dword_CODE_bss_80069778, (s32) ptrSecondFontTableSmall, (s32) ptrFirstFontTableSmall, 0xff, sp44, viGetX(), 0, 0);
setTextOrientation(0);
setTextSpacingInverted(0);
return;
// (possible return value: en_text_write_stuff(arg0, &sp54, &sp50, dword_CODE_bss_80069778, (s32) ptrSecondFontTableSmall, (s32) ptrFirstFontTableSmall, 0xff, sp44, viGetX(), 0, 0))
}
#else
GLOBAL_ASM(
.text
glabel add_tab3_previous
/* 03ED68 7F00A238 27BDFFA8 */ addiu $sp, $sp, -0x58
/* 03ED6C 7F00A23C AFB00038 */ sw $s0, 0x38($sp)
/* 03ED70 7F00A240 00808025 */ move $s0, $a0
/* 03ED74 7F00A244 AFBF003C */ sw $ra, 0x3c($sp)
/* 03ED78 7F00A248 0FC30776 */ jal get_textptr_for_textID
/* 03ED7C 7F00A24C 34049C06 */ li $a0, 39942
/* 03ED80 7F00A250 3C018007 */ lui $at, %hi(dword_CODE_bss_80069778)
/* 03ED84 7F00A254 AC229778 */ sw $v0, %lo(dword_CODE_bss_80069778)($at)
/* 03ED88 7F00A258 0FC2B2DE */ jal setTextSpacingInverted
/* 03ED8C 7F00A25C 24040001 */ li $a0, 1
/* 03ED90 7F00A260 3C0E8004 */ lui $t6, %hi(ptrFirstFontTableSmall)
/* 03ED94 7F00A264 8DCE0EAC */ lw $t6, %lo(ptrFirstFontTableSmall)($t6)
/* 03ED98 7F00A268 3C068007 */ lui $a2, %hi(dword_CODE_bss_80069778)
/* 03ED9C 7F00A26C 3C078004 */ lui $a3, %hi(ptrSecondFontTableSmall)
/* 03EDA0 7F00A270 AFA00048 */ sw $zero, 0x48($sp)
/* 03EDA4 7F00A274 AFA0004C */ sw $zero, 0x4c($sp)
/* 03EDA8 7F00A278 8CE70EB0 */ lw $a3, %lo(ptrSecondFontTableSmall)($a3)
/* 03EDAC 7F00A27C 8CC69778 */ lw $a2, %lo(dword_CODE_bss_80069778)($a2)
/* 03EDB0 7F00A280 27A4004C */ addiu $a0, $sp, 0x4c
/* 03EDB4 7F00A284 27A50048 */ addiu $a1, $sp, 0x48
/* 03EDB8 7F00A288 AFA00014 */ sw $zero, 0x14($sp)
/* 03EDBC 7F00A28C 0FC2BA63 */ jal sub_GAME_7F0AE98C
/* 03EDC0 7F00A290 AFAE0010 */ sw $t6, 0x10($sp)
/* 03EDC4 7F00A294 8FB8004C */ lw $t8, 0x4c($sp)
/* 03EDC8 7F00A298 3C098003 */ lui $t1, %hi(tab_3_highlight)
/* 03EDCC 7F00A29C 8D29A8E4 */ lw $t1, %lo(tab_3_highlight)($t1)
/* 03EDD0 7F00A2A0 2408019B */ li $t0, 411
/* 03EDD4 7F00A2A4 240F00EC */ li $t7, 236
/* 03EDD8 7F00A2A8 AFAF0054 */ sw $t7, 0x54($sp)
/* 03EDDC 7F00A2AC 07010003 */ bgez $t8, .L7F00A2BC
/* 03EDE0 7F00A2B0 0018C843 */ sra $t9, $t8, 1
/* 03EDE4 7F00A2B4 27010001 */ addiu $at, $t8, 1
/* 03EDE8 7F00A2B8 0001C843 */ sra $t9, $at, 1
.L7F00A2BC:
/* 03EDEC 7F00A2BC 01193823 */ subu $a3, $t0, $t9
/* 03EDF0 7F00A2C0 1120000C */ beqz $t1, .L7F00A2F4
/* 03EDF4 7F00A2C4 AFA70050 */ sw $a3, 0x50($sp)
/* 03EDF8 7F00A2C8 00F82823 */ subu $a1, $a3, $t8
/* 03EDFC 7F00A2CC 240A012E */ li $t2, 302
/* 03EE00 7F00A2D0 240B0032 */ li $t3, 50
/* 03EE04 7F00A2D4 AFAB0014 */ sw $t3, 0x14($sp)
/* 03EE08 7F00A2D8 AFAA0010 */ sw $t2, 0x10($sp)
/* 03EE0C 7F00A2DC 24A50001 */ addiu $a1, $a1, 1
/* 03EE10 7F00A2E0 02002025 */ move $a0, $s0
/* 03EE14 7F00A2E4 240600EC */ li $a2, 236
/* 03EE18 7F00A2E8 0FC2B405 */ jal microcode_constructor_related_to_menus
/* 03EE1C 7F00A2EC AFA70050 */ sw $a3, 0x50($sp)
/* 03EE20 7F00A2F0 00408025 */ move $s0, $v0
.L7F00A2F4:
/* 03EE24 7F00A2F4 0FC2B2E2 */ jal setTextOrientation
/* 03EE28 7F00A2F8 24040001 */ li $a0, 1
/* 03EE2C 7F00A2FC 8FAC0048 */ lw $t4, 0x48($sp)
/* 03EE30 7F00A300 240E010D */ li $t6, 269
/* 03EE34 7F00A304 05810003 */ bgez $t4, .L7F00A314
/* 03EE38 7F00A308 000C6843 */ sra $t5, $t4, 1
/* 03EE3C 7F00A30C 25810001 */ addiu $at, $t4, 1
/* 03EE40 7F00A310 00016843 */ sra $t5, $at, 1
.L7F00A314:
/* 03EE44 7F00A314 01CD7823 */ subu $t7, $t6, $t5
/* 03EE48 7F00A318 0C00110B */ jal viGetY
/* 03EE4C 7F00A31C AFAF0054 */ sw $t7, 0x54($sp)
/* 03EE50 7F00A320 0C001107 */ jal viGetX
/* 03EE54 7F00A324 A7A20044 */ sh $v0, 0x44($sp)
/* 03EE58 7F00A328 3C088004 */ lui $t0, %hi(ptrSecondFontTableSmall)
/* 03EE5C 7F00A32C 3C198004 */ lui $t9, %hi(ptrFirstFontTableSmall)
/* 03EE60 7F00A330 8F390EAC */ lw $t9, %lo(ptrFirstFontTableSmall)($t9)
/* 03EE64 7F00A334 8D080EB0 */ lw $t0, %lo(ptrSecondFontTableSmall)($t0)
/* 03EE68 7F00A338 87B80044 */ lh $t8, 0x44($sp)
/* 03EE6C 7F00A33C 3C078007 */ lui $a3, %hi(dword_CODE_bss_80069778)
/* 03EE70 7F00A340 240900FF */ li $t1, 255
/* 03EE74 7F00A344 AFA90018 */ sw $t1, 0x18($sp)
/* 03EE78 7F00A348 8CE79778 */ lw $a3, %lo(dword_CODE_bss_80069778)($a3)
/* 03EE7C 7F00A34C 02002025 */ move $a0, $s0
/* 03EE80 7F00A350 27A50054 */ addiu $a1, $sp, 0x54
/* 03EE84 7F00A354 27A60050 */ addiu $a2, $sp, 0x50
/* 03EE88 7F00A358 AFA20020 */ sw $v0, 0x20($sp)
/* 03EE8C 7F00A35C AFA00024 */ sw $zero, 0x24($sp)
/* 03EE90 7F00A360 AFA00028 */ sw $zero, 0x28($sp)
/* 03EE94 7F00A364 AFB90014 */ sw $t9, 0x14($sp)
/* 03EE98 7F00A368 AFA80010 */ sw $t0, 0x10($sp)
/* 03EE9C 7F00A36C 0FC2B6AF */ jal en_text_write_stuff
/* 03EEA0 7F00A370 AFB8001C */ sw $t8, 0x1c($sp)
/* 03EEA4 7F00A374 00408025 */ move $s0, $v0
/* 03EEA8 7F00A378 0FC2B2E2 */ jal setTextOrientation
/* 03EEAC 7F00A37C 00002025 */ move $a0, $zero
/* 03EEB0 7F00A380 0FC2B2DE */ jal setTextSpacingInverted
/* 03EEB4 7F00A384 00002025 */ move $a0, $zero
/* 03EEB8 7F00A388 8FBF003C */ lw $ra, 0x3c($sp)
/* 03EEBC 7F00A38C 02001025 */ move $v0, $s0
/* 03EEC0 7F00A390 8FB00038 */ lw $s0, 0x38($sp)
/* 03EEC4 7F00A394 03E00008 */ jr $ra
/* 03EEC8 7F00A398 27BD0058 */ addiu $sp, $sp, 0x58
)
#endif
u32 isontab3(void)
{
if ((390.0f < cursor_h_pos) && (223.0f < cursor_v_pos)) {
return 1;
}
else {
return 0;
}
}
void set_cursor_pos_tab2(void)
{
cursor_h_pos = 399.0f;
cursor_v_pos = 144.0f;
}
#ifdef NONMATCHING
s32 add_tab2_next(s32 arg0) {
s16 sp44;
s32 sp48;
s32 sp4C;
s32 sp50;
s32 sp54;
s32 temp_a3;
// Node 0
dword_CODE_bss_80069774 = get_textptr_for_textID(TEXT(LTITLE, 0x05));
setTextSpacingInverted(1);
sp48 = 0;
sp4C = 0;
sub_GAME_7F0AE98C(&sp4C, &sp48, dword_CODE_bss_80069774, ptrSecondFontTableSmall, (s32) ptrFirstFontTableSmall, 0);
sp54 = 0x90;
if (sp4C < 0)
{
// Node 1
}
// Node 2
temp_a3 = (0x19b - (sp4C >> 1));
if (tab_2_highlight != 0)
{
// Node 3
microcode_constructor_related_to_menus(arg0, ((temp_a3 - sp4C) + 1), 0x90, temp_a3, 0xd2, 0x32);
}
// Node 4
setTextOrientation(1, temp_a3);
if (sp48 < 0)
{
// Node 5
}
// Node 6
sp54 = (s32) (0xb1 - (sp48 >> 1));
sp44 = viGetY();
en_text_write_stuff(arg0, &sp54, &sp50, dword_CODE_bss_80069774, (s32) ptrSecondFontTableSmall, (s32) ptrFirstFontTableSmall, 0xff, sp44, viGetX(), 0, 0);
setTextOrientation(0);
setTextSpacingInverted(0);
return;
// (possible return value: en_text_write_stuff(arg0, &sp54, &sp50, dword_CODE_bss_80069774, (s32) ptrSecondFontTableSmall, (s32) ptrFirstFontTableSmall, 0xff, sp44, viGetX(), 0, 0))
}
#else
GLOBAL_ASM(
.text
glabel add_tab2_next
/* 03EF44 7F00A414 27BDFFA8 */ addiu $sp, $sp, -0x58
/* 03EF48 7F00A418 AFB00038 */ sw $s0, 0x38($sp)
/* 03EF4C 7F00A41C 00808025 */ move $s0, $a0
/* 03EF50 7F00A420 AFBF003C */ sw $ra, 0x3c($sp)
/* 03EF54 7F00A424 0FC30776 */ jal get_textptr_for_textID
/* 03EF58 7F00A428 34049C05 */ li $a0, 39941
/* 03EF5C 7F00A42C 3C018007 */ lui $at, %hi(dword_CODE_bss_80069774)
/* 03EF60 7F00A430 AC229774 */ sw $v0, %lo(dword_CODE_bss_80069774)($at)
/* 03EF64 7F00A434 0FC2B2DE */ jal setTextSpacingInverted
/* 03EF68 7F00A438 24040001 */ li $a0, 1
/* 03EF6C 7F00A43C 3C0E8004 */ lui $t6, %hi(ptrFirstFontTableSmall)
/* 03EF70 7F00A440 8DCE0EAC */ lw $t6, %lo(ptrFirstFontTableSmall)($t6)
/* 03EF74 7F00A444 3C068007 */ lui $a2, %hi(dword_CODE_bss_80069774)
/* 03EF78 7F00A448 3C078004 */ lui $a3, %hi(ptrSecondFontTableSmall)
/* 03EF7C 7F00A44C AFA00048 */ sw $zero, 0x48($sp)
/* 03EF80 7F00A450 AFA0004C */ sw $zero, 0x4c($sp)
/* 03EF84 7F00A454 8CE70EB0 */ lw $a3, %lo(ptrSecondFontTableSmall)($a3)
/* 03EF88 7F00A458 8CC69774 */ lw $a2, %lo(dword_CODE_bss_80069774)($a2)
/* 03EF8C 7F00A45C 27A4004C */ addiu $a0, $sp, 0x4c
/* 03EF90 7F00A460 27A50048 */ addiu $a1, $sp, 0x48
/* 03EF94 7F00A464 AFA00014 */ sw $zero, 0x14($sp)
/* 03EF98 7F00A468 0FC2BA63 */ jal sub_GAME_7F0AE98C
/* 03EF9C 7F00A46C AFAE0010 */ sw $t6, 0x10($sp)
/* 03EFA0 7F00A470 8FB8004C */ lw $t8, 0x4c($sp)
/* 03EFA4 7F00A474 3C098003 */ lui $t1, %hi(tab_2_highlight)
/* 03EFA8 7F00A478 8D29A8E0 */ lw $t1, %lo(tab_2_highlight)($t1)
/* 03EFAC 7F00A47C 2408019B */ li $t0, 411
/* 03EFB0 7F00A480 240F0090 */ li $t7, 144
/* 03EFB4 7F00A484 AFAF0054 */ sw $t7, 0x54($sp)
/* 03EFB8 7F00A488 07010003 */ bgez $t8, .L7F00A498
/* 03EFBC 7F00A48C 0018C843 */ sra $t9, $t8, 1
/* 03EFC0 7F00A490 27010001 */ addiu $at, $t8, 1
/* 03EFC4 7F00A494 0001C843 */ sra $t9, $at, 1
.L7F00A498:
/* 03EFC8 7F00A498 01193823 */ subu $a3, $t0, $t9
/* 03EFCC 7F00A49C 1120000C */ beqz $t1, .L7F00A4D0
/* 03EFD0 7F00A4A0 AFA70050 */ sw $a3, 0x50($sp)
/* 03EFD4 7F00A4A4 00F82823 */ subu $a1, $a3, $t8
/* 03EFD8 7F00A4A8 240A00D2 */ li $t2, 210
/* 03EFDC 7F00A4AC 240B0032 */ li $t3, 50
/* 03EFE0 7F00A4B0 AFAB0014 */ sw $t3, 0x14($sp)
/* 03EFE4 7F00A4B4 AFAA0010 */ sw $t2, 0x10($sp)
/* 03EFE8 7F00A4B8 24A50001 */ addiu $a1, $a1, 1
/* 03EFEC 7F00A4BC 02002025 */ move $a0, $s0
/* 03EFF0 7F00A4C0 24060090 */ li $a2, 144
/* 03EFF4 7F00A4C4 0FC2B405 */ jal microcode_constructor_related_to_menus
/* 03EFF8 7F00A4C8 AFA70050 */ sw $a3, 0x50($sp)
/* 03EFFC 7F00A4CC 00408025 */ move $s0, $v0
.L7F00A4D0:
/* 03F000 7F00A4D0 0FC2B2E2 */ jal setTextOrientation
/* 03F004 7F00A4D4 24040001 */ li $a0, 1
/* 03F008 7F00A4D8 8FAC0048 */ lw $t4, 0x48($sp)
/* 03F00C 7F00A4DC 240E00B1 */ li $t6, 177
/* 03F010 7F00A4E0 05810003 */ bgez $t4, .L7F00A4F0
/* 03F014 7F00A4E4 000C6843 */ sra $t5, $t4, 1
/* 03F018 7F00A4E8 25810001 */ addiu $at, $t4, 1
/* 03F01C 7F00A4EC 00016843 */ sra $t5, $at, 1
.L7F00A4F0:
/* 03F020 7F00A4F0 01CD7823 */ subu $t7, $t6, $t5
/* 03F024 7F00A4F4 0C00110B */ jal viGetY
/* 03F028 7F00A4F8 AFAF0054 */ sw $t7, 0x54($sp)
/* 03F02C 7F00A4FC 0C001107 */ jal viGetX
/* 03F030 7F00A500 A7A20044 */ sh $v0, 0x44($sp)
/* 03F034 7F00A504 3C088004 */ lui $t0, %hi(ptrSecondFontTableSmall)
/* 03F038 7F00A508 3C198004 */ lui $t9, %hi(ptrFirstFontTableSmall)
/* 03F03C 7F00A50C 8F390EAC */ lw $t9, %lo(ptrFirstFontTableSmall)($t9)
/* 03F040 7F00A510 8D080EB0 */ lw $t0, %lo(ptrSecondFontTableSmall)($t0)
/* 03F044 7F00A514 87B80044 */ lh $t8, 0x44($sp)
/* 03F048 7F00A518 3C078007 */ lui $a3, %hi(dword_CODE_bss_80069774)
/* 03F04C 7F00A51C 240900FF */ li $t1, 255
/* 03F050 7F00A520 AFA90018 */ sw $t1, 0x18($sp)
/* 03F054 7F00A524 8CE79774 */ lw $a3, %lo(dword_CODE_bss_80069774)($a3)
/* 03F058 7F00A528 02002025 */ move $a0, $s0
/* 03F05C 7F00A52C 27A50054 */ addiu $a1, $sp, 0x54
/* 03F060 7F00A530 27A60050 */ addiu $a2, $sp, 0x50
/* 03F064 7F00A534 AFA20020 */ sw $v0, 0x20($sp)
/* 03F068 7F00A538 AFA00024 */ sw $zero, 0x24($sp)
/* 03F06C 7F00A53C AFA00028 */ sw $zero, 0x28($sp)
/* 03F070 7F00A540 AFB90014 */ sw $t9, 0x14($sp)
/* 03F074 7F00A544 AFA80010 */ sw $t0, 0x10($sp)
/* 03F078 7F00A548 0FC2B6AF */ jal en_text_write_stuff
/* 03F07C 7F00A54C AFB8001C */ sw $t8, 0x1c($sp)
/* 03F080 7F00A550 00408025 */ move $s0, $v0
/* 03F084 7F00A554 0FC2B2E2 */ jal setTextOrientation
/* 03F088 7F00A558 00002025 */ move $a0, $zero
/* 03F08C 7F00A55C 0FC2B2DE */ jal setTextSpacingInverted
/* 03F090 7F00A560 00002025 */ move $a0, $zero
/* 03F094 7F00A564 8FBF003C */ lw $ra, 0x3c($sp)
/* 03F098 7F00A568 02001025 */ move $v0, $s0
/* 03F09C 7F00A56C 8FB00038 */ lw $s0, 0x38($sp)
/* 03F0A0 7F00A570 03E00008 */ jr $ra
/* 03F0A4 7F00A574 27BD0058 */ addiu $sp, $sp, 0x58
)
#endif
u32 isontab2(void)
{
if (((390.0f < cursor_h_pos) && (130.5f < cursor_v_pos)) && (cursor_v_pos <= 223.00000000f)) {
return TRUE;
}
return FALSE;
}
#ifdef NONMATCHING
//
void init_menu00_legalscreen(void)
{
struct point sp20;
musicTrack1Stop();
maybe_is_in_menu = 1;
menu_timer = 0;
sp20.x = D_8002A9C0.x;
sp20.y = D_8002A9C0.y;
sp20.z = D_8002A9C0.z;
load_object_fill_header(&PitemZ_entries[319].header, &PitemZ_entries[319].filename, ptr_logo_and_walletbond_DL, 0x3c000, 0);
set_objuse_flag_compute_grp_nums_set_obj_loaded(&PitemZ_entries[319].header);
something_legalscreen_constructor = get_obj_instance_controller_for_header(&PitemZ_entries[319].header);
set_obj_instance_controller_scale(something_legalscreen_constructor, 1.0f);
setsuboffset(something_legalscreen_constructor, &sp20);
sub_GAME_7F01DF90();
}
#else
GLOBAL_ASM(
.text
glabel init_menu00_legalscreen
/* 03F118 7F00A5E8 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 03F11C 7F00A5EC AFBF001C */ sw $ra, 0x1c($sp)
/* 03F120 7F00A5F0 0C001BF4 */ jal musicTrack1Stop
/* 03F124 7F00A5F4 00000000 */ nop
/* 03F128 7F00A5F8 240E0001 */ li $t6, 1
/* 03F12C 7F00A5FC 3C018003 */ lui $at, %hi(maybe_is_in_menu)
/* 03F130 7F00A600 AC2EA93C */ sw $t6, %lo(maybe_is_in_menu)($at)
/* 03F134 7F00A604 3C018003 */ lui $at, %hi(menu_timer)
/* 03F138 7F00A608 3C188003 */ lui $t8, %hi(D_8002A9C0)
/* 03F13C 7F00A60C AC20A8CC */ sw $zero, %lo(menu_timer)($at)
/* 03F140 7F00A610 2718A9C0 */ addiu $t8, %lo(D_8002A9C0) # addiu $t8, $t8, -0x5640
/* 03F144 7F00A614 8F010000 */ lw $at, ($t8)
/* 03F148 7F00A618 27AF0020 */ addiu $t7, $sp, 0x20
/* 03F14C 7F00A61C 8F090004 */ lw $t1, 4($t8)
/* 03F150 7F00A620 ADE10000 */ sw $at, ($t7)
/* 03F154 7F00A624 8F010008 */ lw $at, 8($t8)
/* 03F158 7F00A628 ADE90004 */ sw $t1, 4($t7)
/* 03F15C 7F00A62C 3C028004 */ lui $v0, %hi(PitemZ_entries)
/* 03F160 7F00A630 ADE10008 */ sw $at, 8($t7)
/* 03F164 7F00A634 2442A228 */ addiu $v0, %lo(PitemZ_entries) # addiu $v0, $v0, -0x5dd8
/* 03F168 7F00A638 3C068003 */ lui $a2, %hi(ptr_logo_and_walletbond_DL)
/* 03F16C 7F00A63C 3C070003 */ lui $a3, (0x0003C000 >> 16) # lui $a3, 3
/* 03F170 7F00A640 34E7C000 */ ori $a3, (0x0003C000 & 0xFFFF) # ori $a3, $a3, 0xc000
/* 03F174 7F00A644 8CC6A950 */ lw $a2, %lo(ptr_logo_and_walletbond_DL)($a2)
/* 03F178 7F00A648 8C440EF4 */ lw $a0, 0xef4($v0)
/* 03F17C 7F00A64C 8C450EF8 */ lw $a1, 0xef8($v0)
/* 03F180 7F00A650 0FC1D929 */ jal load_object_fill_header
/* 03F184 7F00A654 AFA00010 */ sw $zero, 0x10($sp)
/* 03F188 7F00A658 3C048004 */ lui $a0, %hi(PitemZ_entries+0xEF4)
/* 03F18C 7F00A65C 0FC1D73D */ jal set_objuse_flag_compute_grp_nums_set_obj_loaded
/* 03F190 7F00A660 8C84B11C */ lw $a0, %lo(PitemZ_entries+0xEF4)($a0)
/* 03F194 7F00A664 3C048004 */ lui $a0, %hi(PitemZ_entries+0xEF4)
/* 03F198 7F00A668 0FC1B025 */ jal get_obj_instance_controller_for_header
/* 03F19C 7F00A66C 8C84B11C */ lw $a0, %lo(PitemZ_entries+0xEF4)($a0)
/* 03F1A0 7F00A670 3C038003 */ lui $v1, %hi(something_legalscreen_constructor)
/* 03F1A4 7F00A674 2463A958 */ addiu $v1, %lo(something_legalscreen_constructor) # addiu $v1, $v1, -0x56a8
/* 03F1A8 7F00A678 AC620000 */ sw $v0, ($v1)
/* 03F1AC 7F00A67C 00402025 */ move $a0, $v0
/* 03F1B0 7F00A680 0FC1B39E */ jal set_obj_instance_controller_scale
/* 03F1B4 7F00A684 3C053F80 */ lui $a1, 0x3f80
/* 03F1B8 7F00A688 3C048003 */ lui $a0, %hi(something_legalscreen_constructor)
/* 03F1BC 7F00A68C 8C84A958 */ lw $a0, %lo(something_legalscreen_constructor)($a0)
/* 03F1C0 7F00A690 0FC1B303 */ jal setsuboffset
/* 03F1C4 7F00A694 27A50020 */ addiu $a1, $sp, 0x20
/* 03F1C8 7F00A698 0FC077E4 */ jal sub_GAME_7F01DF90
/* 03F1CC 7F00A69C 00000000 */ nop
/* 03F1D0 7F00A6A0 8FBF001C */ lw $ra, 0x1c($sp)
/* 03F1D4 7F00A6A4 27BD0030 */ addiu $sp, $sp, 0x30
/* 03F1D8 7F00A6A8 03E00008 */ jr $ra
/* 03F1DC 7F00A6AC 00000000 */ nop
)
#endif
void update_menu00_legalscreen(void)
{
is_first_time_on_legal_screen = FALSE;
set_obj_instance_scale_to_zero(something_legalscreen_constructor);
}
void interface_menu00_legalscreen(void)
{
viSetFovY(60.0f);
viSetAspect(1.3333334f);
viSetZRange(100.0f, 10000.0f);
viSetUseZBuf(0);
menu_timer += clock_timer;
if (menu_timer >= 0xF1)
{
if ((joyGetControllerCount() < 1) && (is_first_time_on_legal_screen))
{
set_menu_to_mode(MENU_NO_CONTROLLERS,1);
return;
}
set_menu_to_mode(MENU_NINTENDO_LOGO,1);
return;
}
if (joyGetButtonsPressedThisFrame(0, ANY_BUTTON) && (is_first_time_on_legal_screen == 0))
{
if (is_first_time_on_main_menu == 0)
{
set_menu_to_mode(MENU_FILE_SELECT,1);
return;
}
set_menu_to_mode(MENU_NINTENDO_LOGO,1);
}
}
#ifdef NONMATCHING
void display_aligned_white_text_to_screen(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7)
{
s32 sp4C;
s32 sp48;
s32 sp44;
s32 sp40;
s16 sp3C;
s32 temp_lo;
s32 temp_lo_2;
s32 phi_t0;
s32 phi_t6;
sp48 = 0;
sp4C = 0;
sub_GAME_7F0AE98C(&sp4C, &sp48, arg5, ptrSecondFontTableLarge, (s32) ptrFirstFontTableLarge, 0);
temp_lo = arg3 * sp48;
phi_t0 = temp_lo >> 1;
if (temp_lo < 0)
{
phi_t0 = (s32) (temp_lo + 1) >> 1;
}
temp_lo_2 = arg4 * sp4C;
sp44 = (s32) (arg1 - phi_t0);
phi_t6 = temp_lo_2 >> 1;
if (temp_lo_2 < 0)
{
phi_t6 = (s32) (temp_lo_2 + 1) >> 1;
}
sp40 = (s32) (arg2 - phi_t6);
sp3C = viGetX();
en_text_write_stuff(arg0, &sp44, &sp40, arg5, arg6, arg7, -1, sp3C, viGetY(), 0, 0);
}
#else
GLOBAL_ASM(
.text
glabel display_aligned_white_text_to_screen
/* 03F314 7F00A7E4 27BDFFB0 */ addiu $sp, $sp, -0x50
/* 03F318 7F00A7E8 3C0E8004 */ lui $t6, %hi(ptrFirstFontTableLarge)
/* 03F31C 7F00A7EC 8DCE0EB4 */ lw $t6, %lo(ptrFirstFontTableLarge)($t6)
/* 03F320 7F00A7F0 AFA7005C */ sw $a3, 0x5c($sp)
/* 03F324 7F00A7F4 AFBF0034 */ sw $ra, 0x34($sp)
/* 03F328 7F00A7F8 AFA40050 */ sw $a0, 0x50($sp)
/* 03F32C 7F00A7FC AFA50054 */ sw $a1, 0x54($sp)
/* 03F330 7F00A800 AFA60058 */ sw $a2, 0x58($sp)
/* 03F334 7F00A804 3C078004 */ lui $a3, %hi(ptrSecondFontTableLarge)
/* 03F338 7F00A808 AFA00048 */ sw $zero, 0x48($sp)
/* 03F33C 7F00A80C AFA0004C */ sw $zero, 0x4c($sp)
/* 03F340 7F00A810 8CE70EB8 */ lw $a3, %lo(ptrSecondFontTableLarge)($a3)
/* 03F344 7F00A814 8FA60064 */ lw $a2, 0x64($sp)
/* 03F348 7F00A818 27A50048 */ addiu $a1, $sp, 0x48
/* 03F34C 7F00A81C 27A4004C */ addiu $a0, $sp, 0x4c
/* 03F350 7F00A820 AFA00014 */ sw $zero, 0x14($sp)
/* 03F354 7F00A824 0FC2BA63 */ jal sub_GAME_7F0AE98C
/* 03F358 7F00A828 AFAE0010 */ sw $t6, 0x10($sp)
/* 03F35C 7F00A82C 8FAF005C */ lw $t7, 0x5c($sp)
/* 03F360 7F00A830 8FB80048 */ lw $t8, 0x48($sp)
/* 03F364 7F00A834 8FAB0060 */ lw $t3, 0x60($sp)
/* 03F368 7F00A838 8FAC004C */ lw $t4, 0x4c($sp)
/* 03F36C 7F00A83C 01F80019 */ multu $t7, $t8
/* 03F370 7F00A840 8FA90054 */ lw $t1, 0x54($sp)
/* 03F374 7F00A844 8FAF0058 */ lw $t7, 0x58($sp)
/* 03F378 7F00A848 0000C812 */ mflo $t9
/* 03F37C 7F00A84C 07210003 */ bgez $t9, .L7F00A85C
/* 03F380 7F00A850 00194043 */ sra $t0, $t9, 1
/* 03F384 7F00A854 27210001 */ addiu $at, $t9, 1
/* 03F388 7F00A858 00014043 */ sra $t0, $at, 1
.L7F00A85C:
/* 03F38C 7F00A85C 016C0019 */ multu $t3, $t4
/* 03F390 7F00A860 01285023 */ subu $t2, $t1, $t0
/* 03F394 7F00A864 AFAA0044 */ sw $t2, 0x44($sp)
/* 03F398 7F00A868 00006812 */ mflo $t5
/* 03F39C 7F00A86C 05A10003 */ bgez $t5, .L7F00A87C
/* 03F3A0 7F00A870 000D7043 */ sra $t6, $t5, 1
/* 03F3A4 7F00A874 25A10001 */ addiu $at, $t5, 1
/* 03F3A8 7F00A878 00017043 */ sra $t6, $at, 1
.L7F00A87C:
/* 03F3AC 7F00A87C 01EEC023 */ subu $t8, $t7, $t6
/* 03F3B0 7F00A880 0C001107 */ jal viGetX
/* 03F3B4 7F00A884 AFB80040 */ sw $t8, 0x40($sp)
/* 03F3B8 7F00A888 0C00110B */ jal viGetY
/* 03F3BC 7F00A88C A7A2003C */ sh $v0, 0x3c($sp)
/* 03F3C0 7F00A890 8FB90068 */ lw $t9, 0x68($sp)
/* 03F3C4 7F00A894 8FA9006C */ lw $t1, 0x6c($sp)
/* 03F3C8 7F00A898 87AA003C */ lh $t2, 0x3c($sp)
/* 03F3CC 7F00A89C 2408FFFF */ li $t0, -1
/* 03F3D0 7F00A8A0 AFA80018 */ sw $t0, 0x18($sp)
/* 03F3D4 7F00A8A4 8FA40050 */ lw $a0, 0x50($sp)
/* 03F3D8 7F00A8A8 27A50044 */ addiu $a1, $sp, 0x44
/* 03F3DC 7F00A8AC 27A60040 */ addiu $a2, $sp, 0x40
/* 03F3E0 7F00A8B0 8FA70064 */ lw $a3, 0x64($sp)
/* 03F3E4 7F00A8B4 AFA20020 */ sw $v0, 0x20($sp)
/* 03F3E8 7F00A8B8 AFA00024 */ sw $zero, 0x24($sp)
/* 03F3EC 7F00A8BC AFA00028 */ sw $zero, 0x28($sp)
/* 03F3F0 7F00A8C0 AFB90010 */ sw $t9, 0x10($sp)
/* 03F3F4 7F00A8C4 AFA90014 */ sw $t1, 0x14($sp)
/* 03F3F8 7F00A8C8 0FC2B6AF */ jal en_text_write_stuff
/* 03F3FC 7F00A8CC AFAA001C */ sw $t2, 0x1c($sp)
/* 03F400 7F00A8D0 8FBF0034 */ lw $ra, 0x34($sp)
/* 03F404 7F00A8D4 27BD0050 */ addiu $sp, $sp, 0x50
/* 03F408 7F00A8D8 03E00008 */ jr $ra
/* 03F40C 7F00A8DC 00000000 */ nop
)
#endif
#ifdef NONMATCHING
void constructor_menu00_legalscreen(s32 arg0)
{
s32 spF4;
s32 spEC;
s32 spE8;
s32 spE4;
s32 spA0;
s32 sp58;
s32 temp_ret;
s32 temp_s0;
u32 temp_s0_2;
void *temp_t0;
void *temp_t6;
void *phi_t6;
void *phi_t0;
s32 phi_s1;
s32 phi_s0;
void *phi_s0_2;
s32 phi_s4;
phi_t6 = &D_8002AABC;
phi_t0 = &spE4;
loop_1:
temp_t6 = phi_t6 + 0xc;
temp_t0 = phi_t0 + 0xc;
temp_t0->unk-C = (s32) *phi_t6;
temp_t0->unk-8 = (s32) temp_t6->unk-8;
temp_t0->unk-4 = (s32) temp_t6->unk-4;
phi_t6 = temp_t6;
phi_t0 = temp_t0;
if (temp_t6 != (&D_8002AABC + 0x3c))
{
goto loop_1;
}
temp_t0->unk0 = (s32) temp_t6->unk0;
insert_imageDL(arg0);
matrix_4x4_7F059694(&spA0, 0.0f, 0.0f, 0x457a0000, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f);
temp_ret = dynAllocate(something_legalscreen_constructor->unk8->unkE << 6);
spF4 = temp_ret;
matrix_4x4_copy(&spA0, temp_ret);
something_legalscreen_constructor->unkC = spF4;
sub_GAME_7F06EFC4(something_legalscreen_constructor);
spEC = 3;
spE8 = 0;
subdraw(&spE4, something_legalscreen_constructor);
phi_s1 = 0;
phi_s0 = 0;
if (something_legalscreen_constructor->unk8->unkE > 0)
{
loop_3:
matrix_4x4_copy(something_legalscreen_constructor->unkC + phi_s1, &sp58);
sub_GAME_7F058C9C(&sp58, something_legalscreen_constructor->unkC + (phi_s0 << 6));
temp_s0 = phi_s0 + 1;
phi_s1 = phi_s1 + 0x40;
phi_s0 = temp_s0;
if (temp_s0 < something_legalscreen_constructor->unk8->unkE)
{
goto loop_3;
}
}
phi_s0_2 = &D_8002A9CC;
phi_s4 = microcode_constructor(spF0);
loop_5:
temp_s0_2 = phi_s0_2 + 0x14;
phi_s0_2 = temp_s0_2;
phi_s4 = display_aligned_white_text_to_screen(phi_s4, phi_s0_2->unk0, phi_s0_2->unk4, phi_s0_2->unk8, (s32) phi_s0_2->unkC, get_textptr_for_textID(phi_s0_2->unk10), (s32) ptrSecondFontTableLarge, (s32) ptrFirstFontTableLarge);
if (temp_s0_2 < &D_8002AABC)
{
goto loop_5;
}
}
#else
GLOBAL_ASM(
.text
glabel constructor_menu00_legalscreen
/* 03F410 7F00A8E0 27BDFED8 */ addiu $sp, $sp, -0x128
/* 03F414 7F00A8E4 AFB10034 */ sw $s1, 0x34($sp)
/* 03F418 7F00A8E8 3C0E8003 */ lui $t6, %hi(D_8002AABC)
/* 03F41C 7F00A8EC 27B100E4 */ addiu $s1, $sp, 0xe4
/* 03F420 7F00A8F0 AFB40040 */ sw $s4, 0x40($sp)
/* 03F424 7F00A8F4 25CEAABC */ addiu $t6, %lo(D_8002AABC) # addiu $t6, $t6, -0x5544
/* 03F428 7F00A8F8 0080A025 */ move $s4, $a0
/* 03F42C 7F00A8FC AFBF0044 */ sw $ra, 0x44($sp)
/* 03F430 7F00A900 AFB3003C */ sw $s3, 0x3c($sp)
/* 03F434 7F00A904 AFB20038 */ sw $s2, 0x38($sp)
/* 03F438 7F00A908 AFB00030 */ sw $s0, 0x30($sp)
/* 03F43C 7F00A90C 25D9003C */ addiu $t9, $t6, 0x3c
/* 03F440 7F00A910 02204025 */ move $t0, $s1
.L7F00A914:
/* 03F444 7F00A914 8DC10000 */ lw $at, ($t6)
/* 03F448 7F00A918 25CE000C */ addiu $t6, $t6, 0xc
/* 03F44C 7F00A91C 2508000C */ addiu $t0, $t0, 0xc
/* 03F450 7F00A920 AD01FFF4 */ sw $at, -0xc($t0)
/* 03F454 7F00A924 8DC1FFF8 */ lw $at, -8($t6)
/* 03F458 7F00A928 AD01FFF8 */ sw $at, -8($t0)
/* 03F45C 7F00A92C 8DC1FFFC */ lw $at, -4($t6)
/* 03F460 7F00A930 15D9FFF8 */ bne $t6, $t9, .L7F00A914
/* 03F464 7F00A934 AD01FFFC */ sw $at, -4($t0)
/* 03F468 7F00A938 8DC10000 */ lw $at, ($t6)
/* 03F46C 7F00A93C 02802025 */ move $a0, $s4
/* 03F470 7F00A940 0FC07034 */ jal insert_imageDL
/* 03F474 7F00A944 AD010000 */ sw $at, ($t0)
/* 03F478 7F00A948 44800000 */ mtc1 $zero, $f0
/* 03F47C 7F00A94C 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 03F480 7F00A950 44812000 */ mtc1 $at, $f4
/* 03F484 7F00A954 27B000A0 */ addiu $s0, $sp, 0xa0
/* 03F488 7F00A958 44050000 */ mfc1 $a1, $f0
/* 03F48C 7F00A95C 44060000 */ mfc1 $a2, $f0
/* 03F490 7F00A960 0040A025 */ move $s4, $v0
/* 03F494 7F00A964 02002025 */ move $a0, $s0
/* 03F498 7F00A968 3C07457A */ lui $a3, 0x457a
/* 03F49C 7F00A96C E7A00010 */ swc1 $f0, 0x10($sp)
/* 03F4A0 7F00A970 E7A00014 */ swc1 $f0, 0x14($sp)
/* 03F4A4 7F00A974 E7A00018 */ swc1 $f0, 0x18($sp)
/* 03F4A8 7F00A978 E7A0001C */ swc1 $f0, 0x1c($sp)
/* 03F4AC 7F00A97C E7A00024 */ swc1 $f0, 0x24($sp)
/* 03F4B0 7F00A980 0FC165A5 */ jal matrix_4x4_7F059694
/* 03F4B4 7F00A984 E7A40020 */ swc1 $f4, 0x20($sp)
/* 03F4B8 7F00A988 3C138003 */ lui $s3, %hi(something_legalscreen_constructor)
/* 03F4BC 7F00A98C 2673A958 */ addiu $s3, %lo(something_legalscreen_constructor) # addiu $s3, $s3, -0x56a8
/* 03F4C0 7F00A990 8E690000 */ lw $t1, ($s3)
/* 03F4C4 7F00A994 AFB000E4 */ sw $s0, 0xe4($sp)
/* 03F4C8 7F00A998 8D2A0008 */ lw $t2, 8($t1)
/* 03F4CC 7F00A99C 8544000E */ lh $a0, 0xe($t2)
/* 03F4D0 7F00A9A0 00045980 */ sll $t3, $a0, 6
/* 03F4D4 7F00A9A4 0FC2F5C5 */ jal dynAllocate
/* 03F4D8 7F00A9A8 01602025 */ move $a0, $t3
/* 03F4DC 7F00A9AC AFA200F4 */ sw $v0, 0xf4($sp)
/* 03F4E0 7F00A9B0 02002025 */ move $a0, $s0
/* 03F4E4 7F00A9B4 0FC16008 */ jal matrix_4x4_copy
/* 03F4E8 7F00A9B8 00402825 */ move $a1, $v0
/* 03F4EC 7F00A9BC 8FAC00F4 */ lw $t4, 0xf4($sp)
/* 03F4F0 7F00A9C0 8E6D0000 */ lw $t5, ($s3)
/* 03F4F4 7F00A9C4 ADAC000C */ sw $t4, 0xc($t5)
/* 03F4F8 7F00A9C8 0FC1BBF1 */ jal sub_GAME_7F06EFC4
/* 03F4FC 7F00A9CC 8E640000 */ lw $a0, ($s3)
/* 03F500 7F00A9D0 24180003 */ li $t8, 3
/* 03F504 7F00A9D4 AFB800EC */ sw $t8, 0xec($sp)
/* 03F508 7F00A9D8 AFA000E8 */ sw $zero, 0xe8($sp)
/* 03F50C 7F00A9DC AFB400F0 */ sw $s4, 0xf0($sp)
/* 03F510 7F00A9E0 02202025 */ move $a0, $s1
/* 03F514 7F00A9E4 0FC1D1A1 */ jal subdraw
/* 03F518 7F00A9E8 8E650000 */ lw $a1, ($s3)
/* 03F51C 7F00A9EC 8E620000 */ lw $v0, ($s3)
/* 03F520 7F00A9F0 8FB400F0 */ lw $s4, 0xf0($sp)
/* 03F524 7F00A9F4 00008025 */ move $s0, $zero
/* 03F528 7F00A9F8 8C4F0008 */ lw $t7, 8($v0)
/* 03F52C 7F00A9FC 00008825 */ move $s1, $zero
/* 03F530 7F00AA00 27B20058 */ addiu $s2, $sp, 0x58
/* 03F534 7F00AA04 85F9000E */ lh $t9, 0xe($t7)
/* 03F538 7F00AA08 1B200013 */ blez $t9, .L7F00AA58
/* 03F53C 7F00AA0C 00000000 */ nop
/* 03F540 7F00AA10 8C4E000C */ lw $t6, 0xc($v0)
.L7F00AA14:
/* 03F544 7F00AA14 02402825 */ move $a1, $s2
/* 03F548 7F00AA18 0FC16008 */ jal matrix_4x4_copy
/* 03F54C 7F00AA1C 01D12021 */ addu $a0, $t6, $s1
/* 03F550 7F00AA20 8E680000 */ lw $t0, ($s3)
/* 03F554 7F00AA24 00105180 */ sll $t2, $s0, 6
/* 03F558 7F00AA28 02402025 */ move $a0, $s2
/* 03F55C 7F00AA2C 8D09000C */ lw $t1, 0xc($t0)
/* 03F560 7F00AA30 0FC16327 */ jal sub_GAME_7F058C9C
/* 03F564 7F00AA34 012A2821 */ addu $a1, $t1, $t2
/* 03F568 7F00AA38 8E620000 */ lw $v0, ($s3)
/* 03F56C 7F00AA3C 26100001 */ addiu $s0, $s0, 1
/* 03F570 7F00AA40 26310040 */ addiu $s1, $s1, 0x40
/* 03F574 7F00AA44 8C4B0008 */ lw $t3, 8($v0)
/* 03F578 7F00AA48 856C000E */ lh $t4, 0xe($t3)
/* 03F57C 7F00AA4C 020C082A */ slt $at, $s0, $t4
/* 03F580 7F00AA50 5420FFF0 */ bnezl $at, .L7F00AA14
/* 03F584 7F00AA54 8C4E000C */ lw $t6, 0xc($v0)
.L7F00AA58:
/* 03F588 7F00AA58 0FC2B366 */ jal microcode_constructor
/* 03F58C 7F00AA5C 02802025 */ move $a0, $s4
/* 03F590 7F00AA60 3C108003 */ lui $s0, %hi(D_8002A9CC)
/* 03F594 7F00AA64 3C118003 */ lui $s1, %hi(D_8002AABC)
/* 03F598 7F00AA68 3C138004 */ lui $s3, %hi(ptrFirstFontTableLarge)
/* 03F59C 7F00AA6C 3C128004 */ lui $s2, %hi(ptrSecondFontTableLarge)
/* 03F5A0 7F00AA70 0040A025 */ move $s4, $v0
/* 03F5A4 7F00AA74 2610A9CC */ addiu $s0, %lo(D_8002A9CC) # addiu $s0, $s0, -0x5634
/* 03F5A8 7F00AA78 2631AABC */ addiu $s1, %lo(D_8002AABC) # addiu $s1, $s1, -0x5544
/* 03F5AC 7F00AA7C 26520EB8 */ addiu $s2, %lo(ptrSecondFontTableLarge) # addiu $s2, $s2, 0xeb8
/* 03F5B0 7F00AA80 26730EB4 */ addiu $s3, %lo(ptrFirstFontTableLarge) # addiu $s3, $s3, 0xeb4
.L7F00AA84:
/* 03F5B4 7F00AA84 0FC30776 */ jal get_textptr_for_textID
/* 03F5B8 7F00AA88 96040010 */ lhu $a0, 0x10($s0)
/* 03F5BC 7F00AA8C 8E0D000C */ lw $t5, 0xc($s0)
/* 03F5C0 7F00AA90 8E050000 */ lw $a1, ($s0)
/* 03F5C4 7F00AA94 8E060004 */ lw $a2, 4($s0)
/* 03F5C8 7F00AA98 8E070008 */ lw $a3, 8($s0)
/* 03F5CC 7F00AA9C 8E580000 */ lw $t8, ($s2)
/* 03F5D0 7F00AAA0 8E6F0000 */ lw $t7, ($s3)
/* 03F5D4 7F00AAA4 AFA20014 */ sw $v0, 0x14($sp)
/* 03F5D8 7F00AAA8 02802025 */ move $a0, $s4
/* 03F5DC 7F00AAAC AFAD0010 */ sw $t5, 0x10($sp)
/* 03F5E0 7F00AAB0 AFB80018 */ sw $t8, 0x18($sp)
/* 03F5E4 7F00AAB4 0FC029F9 */ jal display_aligned_white_text_to_screen
/* 03F5E8 7F00AAB8 AFAF001C */ sw $t7, 0x1c($sp)
/* 03F5EC 7F00AABC 26100014 */ addiu $s0, $s0, 0x14
/* 03F5F0 7F00AAC0 0211082B */ sltu $at, $s0, $s1
/* 03F5F4 7F00AAC4 1420FFEF */ bnez $at, .L7F00AA84
/* 03F5F8 7F00AAC8 0040A025 */ move $s4, $v0
/* 03F5FC 7F00AACC 8FBF0044 */ lw $ra, 0x44($sp)
/* 03F600 7F00AAD0 8FB00030 */ lw $s0, 0x30($sp)
/* 03F604 7F00AAD4 8FB10034 */ lw $s1, 0x34($sp)
/* 03F608 7F00AAD8 8FB20038 */ lw $s2, 0x38($sp)
/* 03F60C 7F00AADC 8FB3003C */ lw $s3, 0x3c($sp)
/* 03F610 7F00AAE0 8FB40040 */ lw $s4, 0x40($sp)
/* 03F614 7F00AAE4 03E00008 */ jr $ra
/* 03F618 7F00AAE8 27BD0128 */ addiu $sp, $sp, 0x128
)
#endif
void reset_menutimer(void) {
menu_timer = 0;
}
void dummy7F00AAF8(void) {
// (function likely stub)
}
void interface_menu17_switchscreens(void)
{
viSetFovY(60.0f);
viSetAspect(1.3333334f);
viSetZRange(100.0f, 10000.0f);
viSetUseZBuf(0);
menu_timer++;
if ((menu_timer >= 4) && (spectrum_related_flag == 0) && (is_emulating_spectrum == 0))
{
maybe_prev_menu = menu_update;
menu_update = -1;
}
}
void constructor_menu17_switchscreens(Gfx * DL)
{
insert_imageDL(DL);
}
#ifdef NONMATCHING
void init_menu01_nintendo(void)
{
struct coord local_c;
menu_timer = 0;
local_c.x = xyzpoint_8002aafc.x;
local_c.y = xyzpoint_8002aafc.y;
local_c.z = xyzpoint_8002aafc.z;
load_object_fill_header(PitemZ_entries[276].header, PitemZ_entries[276].filename, ptr_logo_and_walletbond_DL,0x3c000,0);
set_objuse_flag_compute_grp_nums_set_obj_loaded(PitemZ_entries[276].header);
something_screen_constructor = get_obj_instance_controller_for_header(PitemZ_entries[276].header);
set_obj_instance_controller_scale(something_screen_constructor, 1.0f);
setsuboffset(something_screen_constructor, &local_c);
musicTrack1Play(M_INTROSWOOSH);
maybe_is_in_menu = TRUE;
flt_CODE_bss_80069614 = D_800519F4;
flt_CODE_bss_80069618 = D_800519F8;
}
#else
GLOBAL_ASM(
.late_rodata
glabel D_800519F4
.word 0xBFB2B8C3 /* -1.3962635;*/
glabel D_800519F8
.word 0x3C962FC9 /* 0.018333333;*/
.text
glabel init_menu01_nintendo
/* 03F6F8 7F00ABC8 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 03F6FC 7F00ABCC 3C018003 */ lui $at, %hi(menu_timer)
/* 03F700 7F00ABD0 3C0F8003 */ lui $t7, %hi(D_8002AAFC)
/* 03F704 7F00ABD4 AFBF001C */ sw $ra, 0x1c($sp)
/* 03F708 7F00ABD8 AC20A8CC */ sw $zero, %lo(menu_timer)($at)
/* 03F70C 7F00ABDC 25EFAAFC */ addiu $t7, %lo(D_8002AAFC) # addiu $t7, $t7, -0x5504
/* 03F710 7F00ABE0 8DE10000 */ lw $at, ($t7)
/* 03F714 7F00ABE4 27AE0024 */ addiu $t6, $sp, 0x24
/* 03F718 7F00ABE8 8DE80004 */ lw $t0, 4($t7)
/* 03F71C 7F00ABEC ADC10000 */ sw $at, ($t6)
/* 03F720 7F00ABF0 8DE10008 */ lw $at, 8($t7)
/* 03F724 7F00ABF4 ADC80004 */ sw $t0, 4($t6)
/* 03F728 7F00ABF8 3C028004 */ lui $v0, %hi(PitemZ_entries)
/* 03F72C 7F00ABFC ADC10008 */ sw $at, 8($t6)
/* 03F730 7F00AC00 2442A228 */ addiu $v0, %lo(PitemZ_entries) # addiu $v0, $v0, -0x5dd8
/* 03F734 7F00AC04 3C068003 */ lui $a2, %hi(ptr_logo_and_walletbond_DL)
/* 03F738 7F00AC08 3C070003 */ lui $a3, (0x0003C000 >> 16) # lui $a3, 3
/* 03F73C 7F00AC0C 34E7C000 */ ori $a3, (0x0003C000 & 0xFFFF) # ori $a3, $a3, 0xc000
/* 03F740 7F00AC10 8CC6A950 */ lw $a2, %lo(ptr_logo_and_walletbond_DL)($a2)
/* 03F744 7F00AC14 8C440CF0 */ lw $a0, 0xcf0($v0)
/* 03F748 7F00AC18 8C450CF4 */ lw $a1, 0xcf4($v0)
/* 03F74C 7F00AC1C 0FC1D929 */ jal load_object_fill_header
/* 03F750 7F00AC20 AFA00010 */ sw $zero, 0x10($sp)
/* 03F754 7F00AC24 3C048004 */ lui $a0, %hi(PitemZ_entries+0xCF0)
/* 03F758 7F00AC28 0FC1D73D */ jal set_objuse_flag_compute_grp_nums_set_obj_loaded
/* 03F75C 7F00AC2C 8C84AF18 */ lw $a0, %lo(PitemZ_entries+0xCF0)($a0)
/* 03F760 7F00AC30 3C048004 */ lui $a0, %hi(PitemZ_entries+0xCF0)
/* 03F764 7F00AC34 0FC1B025 */ jal get_obj_instance_controller_for_header
/* 03F768 7F00AC38 8C84AF18 */ lw $a0, %lo(PitemZ_entries+0xCF0)($a0)
/* 03F76C 7F00AC3C 3C038003 */ lui $v1, %hi(something_legalscreen_constructor)
/* 03F770 7F00AC40 2463A958 */ addiu $v1, %lo(something_legalscreen_constructor) # addiu $v1, $v1, -0x56a8
/* 03F774 7F00AC44 AC620000 */ sw $v0, ($v1)
/* 03F778 7F00AC48 00402025 */ move $a0, $v0
/* 03F77C 7F00AC4C 0FC1B39E */ jal set_obj_instance_controller_scale
/* 03F780 7F00AC50 3C053F80 */ lui $a1, 0x3f80
/* 03F784 7F00AC54 3C048003 */ lui $a0, %hi(something_legalscreen_constructor)
/* 03F788 7F00AC58 8C84A958 */ lw $a0, %lo(something_legalscreen_constructor)($a0)
/* 03F78C 7F00AC5C 0FC1B303 */ jal setsuboffset
/* 03F790 7F00AC60 27A50024 */ addiu $a1, $sp, 0x24
/* 03F794 7F00AC64 0C001B9F */ jal musicTrack1Play
/* 03F798 7F00AC68 2404002C */ li $a0, 44
/* 03F79C 7F00AC6C 24090001 */ li $t1, 1
/* 03F7A0 7F00AC70 3C018003 */ lui $at, %hi(maybe_is_in_menu)
/* 03F7A4 7F00AC74 AC29A93C */ sw $t1, %lo(maybe_is_in_menu)($at)
/* 03F7A8 7F00AC78 3C018005 */ lui $at, %hi(D_800519F4)
/* 03F7AC 7F00AC7C C42419F4 */ lwc1 $f4, %lo(D_800519F4)($at)
/* 03F7B0 7F00AC80 3C018007 */ lui $at, %hi(flt_CODE_bss_80069614)
/* 03F7B4 7F00AC84 8FBF001C */ lw $ra, 0x1c($sp)
/* 03F7B8 7F00AC88 E4249614 */ swc1 $f4, %lo(flt_CODE_bss_80069614)($at)
/* 03F7BC 7F00AC8C 3C018005 */ lui $at, %hi(D_800519F8)
/* 03F7C0 7F00AC90 C42619F8 */ lwc1 $f6, %lo(D_800519F8)($at)
/* 03F7C4 7F00AC94 3C018007 */ lui $at, %hi(flt_CODE_bss_80069618)
/* 03F7C8 7F00AC98 27BD0030 */ addiu $sp, $sp, 0x30
/* 03F7CC 7F00AC9C 03E00008 */ jr $ra
/* 03F7D0 7F00ACA0 E4269618 */ swc1 $f6, %lo(flt_CODE_bss_80069618)($at)
)
#endif
void update_menu01_nintendo(void)
{
set_obj_instance_scale_to_zero(something_legalscreen_constructor);
}
void interface_menu01_nintendo(void)
{
viSetFovY(60.0f);
viSetAspect(1.3333334f);
viSetZRange(100.0f, 10000.0f);
viSetUseZBuf(0);
menu_timer = menu_timer + clock_timer;
if (menu_timer >= 0x1F5)
{
set_menu_to_mode(MENU_RAREWARE_LOGO, 1);
return;
}
if (joyGetButtonsPressedThisFrame(0, ANY_BUTTON))
{
if (is_first_time_on_main_menu == 0)
{
set_menu_to_mode(MENU_FILE_SELECT, 1);
return;
}
prev_keypresses = 1;
set_menu_to_mode(MENU_RAREWARE_LOGO, 1);
}
}
#ifdef NONMATCHING
s32 constructor_menu01_nintendo(s32 arg0)
{
s32 sp138;
s32 sp134;
s32 sp130;
s32 sp12C;
s32 sp128;
s32 spE0;
s32 sp90;
s32 sp50;
s32 temp_ret;
s32 temp_ret_2;
s32 temp_s0;
s8 temp_v1;
void *temp_t0;
void *temp_t6;
void *phi_t6;
void *phi_t0;
s8 phi_v1;
s8 phi_v1_2;
s32 phi_s1;
s32 phi_s0;
phi_t6 = &D_8002AB08;
phi_t0 = &sp128;
loop_1:
temp_t6 = phi_t6 + 0xc;
temp_t0 = phi_t0 + 0xc;
temp_t0->unk-C = (s32) *phi_t6;
temp_t0->unk-8 = (s32) temp_t6->unk-8;
temp_t0->unk-4 = (s32) temp_t6->unk-4;
phi_t6 = temp_t6;
phi_t0 = temp_t0;
if (temp_t6 != (&D_8002AB08 + 0x3c))
{
goto loop_1;
}
temp_t0->unk0 = (s32) temp_t6->unk0;
temp_ret = insert_imageDL();
temp_ret->unk0 = 0xbc000002;
temp_ret->unk4 = 0x80000040;
temp_ret->unk8 = 0x3860010;
temp_ret->unkC = &D_8002A990;
arg0 = (s32) (temp_ret + 0x18);
temp_ret->unk10 = 0x3880010;
temp_ret->unk14 = &D_8002A988;
temp_v1 = 0xff - ((s32) ((menu_timer * 0xff) + 0xfffe8f72) / 0x64);
phi_v1 = temp_v1;
if (temp_v1 >= 0x100)
{
phi_v1 = (u8)0xff;
}
phi_v1_2 = phi_v1;
if (phi_v1 < 0)
{
phi_v1_2 = (u8)0;
}
D_8002A988.unk6 = (s8) phi_v1_2;
D_8002A988.unk5 = (s8) phi_v1_2;
D_8002A988.unk4 = (s8) phi_v1_2;
D_8002A988.unk2 = (s8) phi_v1_2;
D_8002A988.unk1 = (s8) phi_v1_2;
D_8002A988.unk0 = (s8) phi_v1_2;
flt_CODE_bss_80069614 = (f32) (flt_CODE_bss_80069614 + D_80051A04);
matrix_4x4_set_rotation_around_y(flt_CODE_bss_80069614, &D_8002A988, &sp90);
matrix_scalar_multiply_3(flt_CODE_bss_80069618, &sp90);
flt_CODE_bss_80069618 = (f32) (flt_CODE_bss_80069618 * D_80051A0C);
if (D_80051A08 < flt_CODE_bss_80069618)
{
flt_CODE_bss_80069618 = (f32) D_80051A08;
}
matrix_4x4_7F059694(&spE0, 0.0f, 0.0f, 0x457a0000, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f);
matrix_4x4_multiply_in_place(&spE0, &sp90);
matrix_4x4_copy(&sp90, &spE0);
temp_ret_2 = dynAllocate(something_legalscreen_constructor->unk8->unkE << 6);
sp138 = temp_ret_2;
matrix_4x4_copy(&spE0, temp_ret_2);
something_legalscreen_constructor->unkC = sp138;
sub_GAME_7F06EFC4(something_legalscreen_constructor);
sp130 = 3;
sp12C = 0;
sp134 = arg0;
subdraw(&sp128, something_legalscreen_constructor);
arg0 = sp134;
phi_s1 = 0;
phi_s0 = 0;
if (something_legalscreen_constructor->unk8->unkE > 0)
{
loop_9:
matrix_4x4_copy(something_legalscreen_constructor->unkC + phi_s1, &sp50);
sub_GAME_7F058C9C(&sp50, something_legalscreen_constructor->unkC + (phi_s0 << 6));
temp_s0 = phi_s0 + 1;
phi_s1 = phi_s1 + 0x40;
phi_s0 = temp_s0;
if (temp_s0 < something_legalscreen_constructor->unk8->unkE)
{
goto loop_9;
}
}
return arg0;
}
#else
GLOBAL_ASM(
.late_rodata
glabel D_80051A04
.word 0x3C8EFA35 /* 0.017453292;*/
glabel D_80051A08
.word 0x3F8CCCCD /* 1.1;*/
glabel D_80051A0C
.word 0x3F8A35E7 /* 1.07977;*/
.text
glabel constructor_menu01_nintendo
/* 03F8C8 7F00AD98 27BDFE98 */ addiu $sp, $sp, -0x168
/* 03F8CC 7F00AD9C AFB20034 */ sw $s2, 0x34($sp)
/* 03F8D0 7F00ADA0 3C0E8003 */ lui $t6, %hi(D_8002AB08)
/* 03F8D4 7F00ADA4 27B20128 */ addiu $s2, $sp, 0x128
/* 03F8D8 7F00ADA8 25CEAB08 */ addiu $t6, %lo(D_8002AB08) # addiu $t6, $t6, -0x54f8
/* 03F8DC 7F00ADAC AFBF003C */ sw $ra, 0x3c($sp)
/* 03F8E0 7F00ADB0 AFB30038 */ sw $s3, 0x38($sp)
/* 03F8E4 7F00ADB4 AFB10030 */ sw $s1, 0x30($sp)
/* 03F8E8 7F00ADB8 AFB0002C */ sw $s0, 0x2c($sp)
/* 03F8EC 7F00ADBC 25D9003C */ addiu $t9, $t6, 0x3c
/* 03F8F0 7F00ADC0 02404025 */ move $t0, $s2
.L7F00ADC4:
/* 03F8F4 7F00ADC4 8DC10000 */ lw $at, ($t6)
/* 03F8F8 7F00ADC8 25CE000C */ addiu $t6, $t6, 0xc
/* 03F8FC 7F00ADCC 2508000C */ addiu $t0, $t0, 0xc
/* 03F900 7F00ADD0 AD01FFF4 */ sw $at, -0xc($t0)
/* 03F904 7F00ADD4 8DC1FFF8 */ lw $at, -8($t6)
/* 03F908 7F00ADD8 AD01FFF8 */ sw $at, -8($t0)
/* 03F90C 7F00ADDC 8DC1FFFC */ lw $at, -4($t6)
/* 03F910 7F00ADE0 15D9FFF8 */ bne $t6, $t9, .L7F00ADC4
/* 03F914 7F00ADE4 AD01FFFC */ sw $at, -4($t0)
/* 03F918 7F00ADE8 8DC10000 */ lw $at, ($t6)
/* 03F91C 7F00ADEC 0FC07034 */ jal insert_imageDL
/* 03F920 7F00ADF0 AD010000 */ sw $at, ($t0)
/* 03F924 7F00ADF4 3C09BC00 */ lui $t1, (0xBC000002 >> 16) # lui $t1, 0xbc00
/* 03F928 7F00ADF8 3C0A8000 */ lui $t2, (0x80000040 >> 16) # lui $t2, 0x8000
/* 03F92C 7F00ADFC 3C0B0386 */ lui $t3, (0x03860010 >> 16) # lui $t3, 0x386
/* 03F930 7F00AE00 3C0C8003 */ lui $t4, %hi(D_8002A990)
/* 03F934 7F00AE04 258CA990 */ addiu $t4, %lo(D_8002A990) # addiu $t4, $t4, -0x5670
/* 03F938 7F00AE08 356B0010 */ ori $t3, (0x03860010 & 0xFFFF) # ori $t3, $t3, 0x10
/* 03F93C 7F00AE0C 354A0040 */ ori $t2, (0x80000040 & 0xFFFF) # ori $t2, $t2, 0x40
/* 03F940 7F00AE10 35290002 */ ori $t1, (0xBC000002 & 0xFFFF) # ori $t1, $t1, 2
/* 03F944 7F00AE14 AC490000 */ sw $t1, ($v0)
/* 03F948 7F00AE18 AC4A0004 */ sw $t2, 4($v0)
/* 03F94C 7F00AE1C AC4B0008 */ sw $t3, 8($v0)
/* 03F950 7F00AE20 AC4C000C */ sw $t4, 0xc($v0)
/* 03F954 7F00AE24 244D0018 */ addiu $t5, $v0, 0x18
/* 03F958 7F00AE28 3C048003 */ lui $a0, %hi(D_8002A988)
/* 03F95C 7F00AE2C AFAD0168 */ sw $t5, 0x168($sp)
/* 03F960 7F00AE30 3C180388 */ lui $t8, (0x03880010 >> 16) # lui $t8, 0x388
/* 03F964 7F00AE34 2484A988 */ addiu $a0, %lo(D_8002A988) # addiu $a0, $a0, -0x5678
/* 03F968 7F00AE38 37180010 */ ori $t8, (0x03880010 & 0xFFFF) # ori $t8, $t8, 0x10
/* 03F96C 7F00AE3C AC580010 */ sw $t8, 0x10($v0)
/* 03F970 7F00AE40 AC440014 */ sw $a0, 0x14($v0)
/* 03F974 7F00AE44 3C0F8003 */ lui $t7, %hi(menu_timer)
/* 03F978 7F00AE48 8DEFA8CC */ lw $t7, %lo(menu_timer)($t7)
/* 03F97C 7F00AE4C 240500FF */ li $a1, 255
/* 03F980 7F00AE50 3C01FFFE */ lui $at, (0xFFFE8F72 >> 16) # lui $at, 0xfffe
/* 03F984 7F00AE54 01E50019 */ multu $t7, $a1
/* 03F988 7F00AE58 34218F72 */ ori $at, (0xFFFE8F72 & 0xFFFF) # ori $at, $at, 0x8f72
/* 03F98C 7F00AE5C 3C028007 */ lui $v0, %hi(flt_CODE_bss_80069614)
/* 03F990 7F00AE60 24429614 */ addiu $v0, %lo(flt_CODE_bss_80069614) # addiu $v0, $v0, -0x69ec
/* 03F994 7F00AE64 0000C812 */ mflo $t9
/* 03F998 7F00AE68 03217021 */ addu $t6, $t9, $at
/* 03F99C 7F00AE6C 24010064 */ li $at, 100
/* 03F9A0 7F00AE70 01C1001A */ div $zero, $t6, $at
/* 03F9A4 7F00AE74 00004012 */ mflo $t0
/* 03F9A8 7F00AE78 00A81823 */ subu $v1, $a1, $t0
/* 03F9AC 7F00AE7C 28610100 */ slti $at, $v1, 0x100
/* 03F9B0 7F00AE80 14200002 */ bnez $at, .L7F00AE8C
/* 03F9B4 7F00AE84 00000000 */ nop
/* 03F9B8 7F00AE88 240300FF */ li $v1, 255
.L7F00AE8C:
/* 03F9BC 7F00AE8C 04610002 */ bgez $v1, .L7F00AE98
/* 03F9C0 7F00AE90 3C018005 */ lui $at, %hi(D_80051A04)
/* 03F9C4 7F00AE94 00001825 */ move $v1, $zero
.L7F00AE98:
/* 03F9C8 7F00AE98 A0830006 */ sb $v1, 6($a0)
/* 03F9CC 7F00AE9C A0830005 */ sb $v1, 5($a0)
/* 03F9D0 7F00AEA0 A0830004 */ sb $v1, 4($a0)
/* 03F9D4 7F00AEA4 A0830002 */ sb $v1, 2($a0)
/* 03F9D8 7F00AEA8 A0830001 */ sb $v1, 1($a0)
/* 03F9DC 7F00AEAC A0830000 */ sb $v1, ($a0)
/* 03F9E0 7F00AEB0 C4261A04 */ lwc1 $f6, %lo(D_80051A04)($at)
/* 03F9E4 7F00AEB4 C4440000 */ lwc1 $f4, ($v0)
/* 03F9E8 7F00AEB8 27B10090 */ addiu $s1, $sp, 0x90
/* 03F9EC 7F00AEBC 02202825 */ move $a1, $s1
/* 03F9F0 7F00AEC0 46062200 */ add.s $f8, $f4, $f6
/* 03F9F4 7F00AEC4 E4480000 */ swc1 $f8, ($v0)
/* 03F9F8 7F00AEC8 0FC1617F */ jal matrix_4x4_set_rotation_around_y
/* 03F9FC 7F00AECC C44C0000 */ lwc1 $f12, ($v0)
/* 03FA00 7F00AED0 3C108007 */ lui $s0, %hi(flt_CODE_bss_80069618)
/* 03FA04 7F00AED4 26109618 */ addiu $s0, %lo(flt_CODE_bss_80069618) # addiu $s0, $s0, -0x69e8
/* 03FA08 7F00AED8 C60C0000 */ lwc1 $f12, ($s0)
/* 03FA0C 7F00AEDC 0FC162EE */ jal matrix_scalar_multiply_3
/* 03FA10 7F00AEE0 02202825 */ move $a1, $s1
/* 03FA14 7F00AEE4 3C018005 */ lui $at, %hi(D_80051A08)
/* 03FA18 7F00AEE8 C4201A08 */ lwc1 $f0, %lo(D_80051A08)($at)
/* 03FA1C 7F00AEEC 3C018005 */ lui $at, %hi(D_80051A0C)
/* 03FA20 7F00AEF0 C4301A0C */ lwc1 $f16, %lo(D_80051A0C)($at)
/* 03FA24 7F00AEF4 C60A0000 */ lwc1 $f10, ($s0)
/* 03FA28 7F00AEF8 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 03FA2C 7F00AEFC 44813000 */ mtc1 $at, $f6
/* 03FA30 7F00AF00 46105482 */ mul.s $f18, $f10, $f16
/* 03FA34 7F00AF04 3C07457A */ lui $a3, 0x457a
/* 03FA38 7F00AF08 E6120000 */ swc1 $f18, ($s0)
/* 03FA3C 7F00AF0C C6040000 */ lwc1 $f4, ($s0)
/* 03FA40 7F00AF10 4604003C */ c.lt.s $f0, $f4
/* 03FA44 7F00AF14 00000000 */ nop
/* 03FA48 7F00AF18 45020003 */ bc1fl .L7F00AF28
/* 03FA4C 7F00AF1C 44800000 */ mtc1 $zero, $f0
/* 03FA50 7F00AF20 E6000000 */ swc1 $f0, ($s0)
/* 03FA54 7F00AF24 44800000 */ mtc1 $zero, $f0
.L7F00AF28:
/* 03FA58 7F00AF28 27B000E0 */ addiu $s0, $sp, 0xe0
/* 03FA5C 7F00AF2C 02002025 */ move $a0, $s0
/* 03FA60 7F00AF30 44050000 */ mfc1 $a1, $f0
/* 03FA64 7F00AF34 44060000 */ mfc1 $a2, $f0
/* 03FA68 7F00AF38 E7A60020 */ swc1 $f6, 0x20($sp)
/* 03FA6C 7F00AF3C E7A00010 */ swc1 $f0, 0x10($sp)
/* 03FA70 7F00AF40 E7A00014 */ swc1 $f0, 0x14($sp)
/* 03FA74 7F00AF44 E7A00018 */ swc1 $f0, 0x18($sp)
/* 03FA78 7F00AF48 E7A0001C */ swc1 $f0, 0x1c($sp)
/* 03FA7C 7F00AF4C 0FC165A5 */ jal matrix_4x4_7F059694
/* 03FA80 7F00AF50 E7A00024 */ swc1 $f0, 0x24($sp)
/* 03FA84 7F00AF54 02002025 */ move $a0, $s0
/* 03FA88 7F00AF58 0FC1601A */ jal matrix_4x4_multiply_in_place
/* 03FA8C 7F00AF5C 02202825 */ move $a1, $s1
/* 03FA90 7F00AF60 02202025 */ move $a0, $s1
/* 03FA94 7F00AF64 0FC16008 */ jal matrix_4x4_copy
/* 03FA98 7F00AF68 02002825 */ move $a1, $s0
/* 03FA9C 7F00AF6C 3C138003 */ lui $s3, %hi(something_legalscreen_constructor)
/* 03FAA0 7F00AF70 2673A958 */ addiu $s3, %lo(something_legalscreen_constructor) # addiu $s3, $s3, -0x56a8
/* 03FAA4 7F00AF74 8E690000 */ lw $t1, ($s3)
/* 03FAA8 7F00AF78 AFB00128 */ sw $s0, 0x128($sp)
/* 03FAAC 7F00AF7C 8D2A0008 */ lw $t2, 8($t1)
/* 03FAB0 7F00AF80 8544000E */ lh $a0, 0xe($t2)
/* 03FAB4 7F00AF84 00045980 */ sll $t3, $a0, 6
/* 03FAB8 7F00AF88 0FC2F5C5 */ jal dynAllocate
/* 03FABC 7F00AF8C 01602025 */ move $a0, $t3
/* 03FAC0 7F00AF90 AFA20138 */ sw $v0, 0x138($sp)
/* 03FAC4 7F00AF94 02002025 */ move $a0, $s0
/* 03FAC8 7F00AF98 0FC16008 */ jal matrix_4x4_copy
/* 03FACC 7F00AF9C 00402825 */ move $a1, $v0
/* 03FAD0 7F00AFA0 8FAC0138 */ lw $t4, 0x138($sp)
/* 03FAD4 7F00AFA4 8E6D0000 */ lw $t5, ($s3)
/* 03FAD8 7F00AFA8 ADAC000C */ sw $t4, 0xc($t5)
/* 03FADC 7F00AFAC 0FC1BBF1 */ jal sub_GAME_7F06EFC4
/* 03FAE0 7F00AFB0 8E640000 */ lw $a0, ($s3)
/* 03FAE4 7F00AFB4 8FAF0168 */ lw $t7, 0x168($sp)
/* 03FAE8 7F00AFB8 24180003 */ li $t8, 3
/* 03FAEC 7F00AFBC AFB80130 */ sw $t8, 0x130($sp)
/* 03FAF0 7F00AFC0 AFA0012C */ sw $zero, 0x12c($sp)
/* 03FAF4 7F00AFC4 02402025 */ move $a0, $s2
/* 03FAF8 7F00AFC8 8E650000 */ lw $a1, ($s3)
/* 03FAFC 7F00AFCC 0FC1D1A1 */ jal subdraw
/* 03FB00 7F00AFD0 AFAF0134 */ sw $t7, 0x134($sp)
/* 03FB04 7F00AFD4 8FB90134 */ lw $t9, 0x134($sp)
/* 03FB08 7F00AFD8 8E620000 */ lw $v0, ($s3)
/* 03FB0C 7F00AFDC 00008025 */ move $s0, $zero
/* 03FB10 7F00AFE0 AFB90168 */ sw $t9, 0x168($sp)
/* 03FB14 7F00AFE4 8C4E0008 */ lw $t6, 8($v0)
/* 03FB18 7F00AFE8 00008825 */ move $s1, $zero
/* 03FB1C 7F00AFEC 27B20050 */ addiu $s2, $sp, 0x50
/* 03FB20 7F00AFF0 85C8000E */ lh $t0, 0xe($t6)
/* 03FB24 7F00AFF4 59000014 */ blezl $t0, .L7F00B048
/* 03FB28 7F00AFF8 8FBF003C */ lw $ra, 0x3c($sp)
/* 03FB2C 7F00AFFC 8C49000C */ lw $t1, 0xc($v0)
.L7F00B000:
/* 03FB30 7F00B000 02402825 */ move $a1, $s2
/* 03FB34 7F00B004 0FC16008 */ jal matrix_4x4_copy
/* 03FB38 7F00B008 01312021 */ addu $a0, $t1, $s1
/* 03FB3C 7F00B00C 8E6A0000 */ lw $t2, ($s3)
/* 03FB40 7F00B010 00106180 */ sll $t4, $s0, 6
/* 03FB44 7F00B014 02402025 */ move $a0, $s2
/* 03FB48 7F00B018 8D4B000C */ lw $t3, 0xc($t2)
/* 03FB4C 7F00B01C 0FC16327 */ jal sub_GAME_7F058C9C
/* 03FB50 7F00B020 016C2821 */ addu $a1, $t3, $t4
/* 03FB54 7F00B024 8E620000 */ lw $v0, ($s3)
/* 03FB58 7F00B028 26100001 */ addiu $s0, $s0, 1
/* 03FB5C 7F00B02C 26310040 */ addiu $s1, $s1, 0x40
/* 03FB60 7F00B030 8C4D0008 */ lw $t5, 8($v0)
/* 03FB64 7F00B034 85B8000E */ lh $t8, 0xe($t5)
/* 03FB68 7F00B038 0218082A */ slt $at, $s0, $t8
/* 03FB6C 7F00B03C 5420FFF0 */ bnezl $at, .L7F00B000
/* 03FB70 7F00B040 8C49000C */ lw $t1, 0xc($v0)
/* 03FB74 7F00B044 8FBF003C */ lw $ra, 0x3c($sp)
.L7F00B048:
/* 03FB78 7F00B048 8FA20168 */ lw $v0, 0x168($sp)
/* 03FB7C 7F00B04C 8FB0002C */ lw $s0, 0x2c($sp)
/* 03FB80 7F00B050 8FB10030 */ lw $s1, 0x30($sp)
/* 03FB84 7F00B054 8FB20034 */ lw $s2, 0x34($sp)
/* 03FB88 7F00B058 8FB30038 */ lw $s3, 0x38($sp)
/* 03FB8C 7F00B05C 03E00008 */ jr $ra
/* 03FB90 7F00B060 27BD0168 */ addiu $sp, $sp, 0x168
)
#endif
void init_menu02_rarelogo(void)
{
sub_GAME_7F008B58(ptr_logo_and_walletbond_DL, 0x78000);
play_sfx_a1(g_musicSfxBufferPtr, 0x102, 0);
}
void update_menu02_rareware(void) {
return;
}
void interface_menu02_rareware(void)
{
viSetUseZBuf(0);
if (sub_GAME_7F008DD0() != 0)
{
set_menu_to_mode(MENU_EYE_INTRO, 1);
return;
}
if (joyGetButtonsPressedThisFrame(0, ANY_BUTTON) != 0)
{
if (is_first_time_on_main_menu == 0)
{
set_menu_to_mode(MENU_FILE_SELECT, 1);
return;
}
prev_keypresses = 1;
set_menu_to_mode(MENU_EYE_INTRO, 1);
}
}
void constructor_menu02_rareware(Gfx * DL) {
retrieve_display_rareware_logo(DL);
}
void init_menu03_eyeintro(void) {
sub_GAME_7F008E80(ptr_logo_and_walletbond_DL, 0x78000);
musicTrack1Play(M_INTRO);
maybe_is_in_menu = 1;
}
void update_menu_03_eye(void) {
sub_GAME_7F00920C();
}
void interface_menu03_eye(void) {
viSetUseZBuf(0);
if (sub_GAME_7F009744() != 0) {
set_menu_to_mode(MENU_GOLDENEYE_LOGO, 1);
return;
}
if (joyGetButtonsPressedThisFrame(0, ANY_BUTTON) != 0) {
if (is_first_time_on_main_menu == 0) {
set_menu_to_mode(MENU_FILE_SELECT, 1);
return;
}
prev_keypresses = 1;
set_menu_to_mode(MENU_GOLDENEYE_LOGO, 1);
}
}
void constructor_menu03_eye(Gfx * DL) {
sub_GAME_7F009254(DL);
}
#ifdef NONMATCHING
void init_menu04_goldeneyelogo(void)
{
s32 sp24;
s32 temp_ret;
menu_timer = 0;
sp24.unk0 = (s32) D_8002AB48.unk0;
sp24.unk4 = (s32) D_8002AB48.unk4;
sp24.unk8 = (s32) D_8002AB48.unk8;
load_object_fill_header(PitemZ_entries.unkCFC, PitemZ_entries.unkD00, ptr_logo_and_walletbond_DL, 0x3c000, 0);
set_objuse_flag_compute_grp_nums_set_obj_loaded(PgoldeneyelogoZ_header);
temp_ret = get_obj_instance_controller_for_header(PgoldeneyelogoZ_header);
something_legalscreen_constructor = temp_ret;
set_obj_instance_controller_scale(temp_ret, 0x3f800000);
setsuboffset(something_legalscreen_constructor, &sp24);
}
#else
GLOBAL_ASM(
.text
glabel init_menu04_goldeneyelogo
/* 03FD88 7F00B258 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 03FD8C 7F00B25C 3C018003 */ lui $at, %hi(menu_timer)
/* 03FD90 7F00B260 3C0F8003 */ lui $t7, %hi(D_8002AB48)
/* 03FD94 7F00B264 AFBF001C */ sw $ra, 0x1c($sp)
/* 03FD98 7F00B268 AC20A8CC */ sw $zero, %lo(menu_timer)($at)
/* 03FD9C 7F00B26C 25EFAB48 */ addiu $t7, %lo(D_8002AB48) # addiu $t7, $t7, -0x54b8
/* 03FDA0 7F00B270 8DE10000 */ lw $at, ($t7)
/* 03FDA4 7F00B274 27AE0024 */ addiu $t6, $sp, 0x24
/* 03FDA8 7F00B278 8DE80004 */ lw $t0, 4($t7)
/* 03FDAC 7F00B27C ADC10000 */ sw $at, ($t6)
/* 03FDB0 7F00B280 8DE10008 */ lw $at, 8($t7)
/* 03FDB4 7F00B284 ADC80004 */ sw $t0, 4($t6)
/* 03FDB8 7F00B288 3C028004 */ lui $v0, %hi(PitemZ_entries)
/* 03FDBC 7F00B28C ADC10008 */ sw $at, 8($t6)
/* 03FDC0 7F00B290 2442A228 */ addiu $v0, %lo(PitemZ_entries) # addiu $v0, $v0, -0x5dd8
/* 03FDC4 7F00B294 3C068003 */ lui $a2, %hi(ptr_logo_and_walletbond_DL)
/* 03FDC8 7F00B298 3C070003 */ lui $a3, (0x0003C000 >> 16) # lui $a3, 3
/* 03FDCC 7F00B29C 34E7C000 */ ori $a3, (0x0003C000 & 0xFFFF) # ori $a3, $a3, 0xc000
/* 03FDD0 7F00B2A0 8CC6A950 */ lw $a2, %lo(ptr_logo_and_walletbond_DL)($a2)
/* 03FDD4 7F00B2A4 8C440CFC */ lw $a0, 0xcfc($v0)
/* 03FDD8 7F00B2A8 8C450D00 */ lw $a1, 0xd00($v0)
/* 03FDDC 7F00B2AC 0FC1D929 */ jal load_object_fill_header
/* 03FDE0 7F00B2B0 AFA00010 */ sw $zero, 0x10($sp)
/* 03FDE4 7F00B2B4 3C048004 */ lui $a0, %hi(PitemZ_entries+0xCFC)
/* 03FDE8 7F00B2B8 0FC1D73D */ jal set_objuse_flag_compute_grp_nums_set_obj_loaded
/* 03FDEC 7F00B2BC 8C84AF24 */ lw $a0, %lo(PitemZ_entries+0xCFC)($a0)
/* 03FDF0 7F00B2C0 3C048004 */ lui $a0, %hi(PitemZ_entries+0xCFC)
/* 03FDF4 7F00B2C4 0FC1B025 */ jal get_obj_instance_controller_for_header
/* 03FDF8 7F00B2C8 8C84AF24 */ lw $a0, %lo(PitemZ_entries+0xCFC)($a0)
/* 03FDFC 7F00B2CC 3C038003 */ lui $v1, %hi(something_legalscreen_constructor)
/* 03FE00 7F00B2D0 2463A958 */ addiu $v1, %lo(something_legalscreen_constructor) # addiu $v1, $v1, -0x56a8
/* 03FE04 7F00B2D4 AC620000 */ sw $v0, ($v1)
/* 03FE08 7F00B2D8 00402025 */ move $a0, $v0
/* 03FE0C 7F00B2DC 0FC1B39E */ jal set_obj_instance_controller_scale
/* 03FE10 7F00B2E0 3C053F80 */ lui $a1, 0x3f80
/* 03FE14 7F00B2E4 3C048003 */ lui $a0, %hi(something_legalscreen_constructor)
/* 03FE18 7F00B2E8 8C84A958 */ lw $a0, %lo(something_legalscreen_constructor)($a0)
/* 03FE1C 7F00B2EC 0FC1B303 */ jal setsuboffset
/* 03FE20 7F00B2F0 27A50024 */ addiu $a1, $sp, 0x24
/* 03FE24 7F00B2F4 8FBF001C */ lw $ra, 0x1c($sp)
/* 03FE28 7F00B2F8 27BD0030 */ addiu $sp, $sp, 0x30
/* 03FE2C 7F00B2FC 03E00008 */ jr $ra
/* 03FE30 7F00B300 00000000 */ nop
)
#endif
void update_menu04_goldeneye(void) {
is_first_time_on_main_menu = 0;
set_obj_instance_scale_to_zero(something_legalscreen_constructor);
}
#ifdef NONMATCHING
void interface_menu04_goldeneyelogo(void)
{
u32 uVar1;
viSetFovY(60.00000000);
viSetAspect(menu04_aspect);
viSetZRange(100.00000000,(f32)menu04_pageheight);
viSetUseZBuf(0);
menu_timer += clock_timer;
if (((is_first_time_on_main_menu == FALSE) || (0xb4 < menu_timer)) ||
((ge_logo_bool != FALSE && (0x5a < menu_timer)))) {
if (menu_timer < 0xb5) {
uVar1 = joyGetButtonsPressedThisFrame
('\0',R_CBUTTONS|L_CBUTTONS|D_CBUTTONS|U_CBUTTONS|R_TRIG|L_TRIG|
DUMMY_2|DUMMY_1|R_JPAD|L_JPAD|D_JPAD|U_JPAD|START_BUTTON|Z_TRIG|
B_BUTTON|A_BUTTON);
if ((uVar1 != 0) || ((is_first_time_on_main_menu != FALSE && (ge_logo_bool != FALSE))))
{
set_menu_to_mode(MENU_FILE_SELECT,1);
}
}
else {
if (prev_keypresses == 0) {
do_extended_cast_display(0);
set_menu_to_mode(MENU_DISPLAY_CAST,1);
}
else {
set_menu_to_mode(MENU_FILE_SELECT,1);
}
}
}
else {
uVar1 = joyGetButtonsPressedThisFrame
('\0',R_CBUTTONS|L_CBUTTONS|D_CBUTTONS|U_CBUTTONS|R_TRIG|L_TRIG|DUMMY_2|
DUMMY_1|R_JPAD|L_JPAD|D_JPAD|U_JPAD|START_BUTTON|Z_TRIG|B_BUTTON|
A_BUTTON);
if (uVar1 != 0) {
ge_logo_bool = TRUE;
}
}
return;
}
#else
GLOBAL_ASM(
.late_rodata
glabel D_80051A10
.word 0x3FAAAAAB /* 1.3333334;*/
glabel D_80051A14
.word 0x461C4000 /* 10000.0;*/
.text
glabel interface_menu04_goldeneyelogo
/* 03FE60 7F00B330 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 03FE64 7F00B334 3C014270 */ li $at, 0x42700000 # 60.000000
/* 03FE68 7F00B338 AFBF0014 */ sw $ra, 0x14($sp)
/* 03FE6C 7F00B33C 44816000 */ mtc1 $at, $f12
/* 03FE70 7F00B340 0C001151 */ jal viSetFovY
/* 03FE74 7F00B344 00000000 */ nop
/* 03FE78 7F00B348 3C018005 */ lui $at, %hi(D_80051A10)
/* 03FE7C 7F00B34C 0C001164 */ jal viSetAspect
/* 03FE80 7F00B350 C42C1A10 */ lwc1 $f12, %lo(D_80051A10)($at)
/* 03FE84 7F00B354 3C0142C8 */ li $at, 0x42C80000 # 100.000000
/* 03FE88 7F00B358 44816000 */ mtc1 $at, $f12
/* 03FE8C 7F00B35C 3C018005 */ lui $at, %hi(D_80051A14)
/* 03FE90 7F00B360 0C001194 */ jal viSetZRange
/* 03FE94 7F00B364 C42E1A14 */ lwc1 $f14, %lo(D_80051A14)($at)
/* 03FE98 7F00B368 0C00114D */ jal viSetUseZBuf
/* 03FE9C 7F00B36C 00002025 */ move $a0, $zero
/* 03FEA0 7F00B370 3C038003 */ lui $v1, %hi(menu_timer)
/* 03FEA4 7F00B374 2463A8CC */ addiu $v1, %lo(menu_timer) # addiu $v1, $v1, -0x5734
/* 03FEA8 7F00B378 3C0F8005 */ lui $t7, %hi(clock_timer)
/* 03FEAC 7F00B37C 8DEF8374 */ lw $t7, %lo(clock_timer)($t7)
/* 03FEB0 7F00B380 8C6E0000 */ lw $t6, ($v1)
/* 03FEB4 7F00B384 3C198003 */ lui $t9, %hi(is_first_time_on_main_menu)
/* 03FEB8 7F00B388 01CFC021 */ addu $t8, $t6, $t7
/* 03FEBC 7F00B38C AC780000 */ sw $t8, ($v1)
/* 03FEC0 7F00B390 8F39A930 */ lw $t9, %lo(is_first_time_on_main_menu)($t9)
/* 03FEC4 7F00B394 2B0100B5 */ slti $at, $t8, 0xb5
/* 03FEC8 7F00B398 5320000B */ beql $t9, $zero, .L7F00B3C8
/* 03FECC 7F00B39C 8C690000 */ lw $t1, ($v1)
/* 03FED0 7F00B3A0 10200008 */ beqz $at, .L7F00B3C4
/* 03FED4 7F00B3A4 3C088003 */ lui $t0, %hi(D_8002A938)
/* 03FED8 7F00B3A8 8D08A938 */ lw $t0, %lo(D_8002A938)($t0)
/* 03FEDC 7F00B3AC 2B01005B */ slti $at, $t8, 0x5b
/* 03FEE0 7F00B3B0 00002025 */ move $a0, $zero
/* 03FEE4 7F00B3B4 11000027 */ beqz $t0, .L7F00B454
/* 03FEE8 7F00B3B8 00000000 */ nop
/* 03FEEC 7F00B3BC 14200025 */ bnez $at, .L7F00B454
/* 03FEF0 7F00B3C0 00000000 */ nop
.L7F00B3C4:
/* 03FEF4 7F00B3C4 8C690000 */ lw $t1, ($v1)
.L7F00B3C8:
/* 03FEF8 7F00B3C8 3C0A8003 */ lui $t2, %hi(prev_keypresses)
/* 03FEFC 7F00B3CC 00002025 */ move $a0, $zero
/* 03FF00 7F00B3D0 292100B5 */ slti $at, $t1, 0xb5
/* 03FF04 7F00B3D4 14200010 */ bnez $at, .L7F00B418
/* 03FF08 7F00B3D8 00000000 */ nop
/* 03FF0C 7F00B3DC 8D4AA934 */ lw $t2, %lo(prev_keypresses)($t2)
/* 03FF10 7F00B3E0 24040005 */ li $a0, 5
/* 03FF14 7F00B3E4 11400005 */ beqz $t2, .L7F00B3FC
/* 03FF18 7F00B3E8 00000000 */ nop
/* 03FF1C 7F00B3EC 0FC06975 */ jal set_menu_to_mode
/* 03FF20 7F00B3F0 24050001 */ li $a1, 1
/* 03FF24 7F00B3F4 1000001E */ b .L7F00B470
/* 03FF28 7F00B3F8 8FBF0014 */ lw $ra, 0x14($sp)
.L7F00B3FC:
/* 03FF2C 7F00B3FC 0FC0619C */ jal do_extended_cast_display
/* 03FF30 7F00B400 00002025 */ move $a0, $zero
/* 03FF34 7F00B404 24040018 */ li $a0, 24
/* 03FF38 7F00B408 0FC06975 */ jal set_menu_to_mode
/* 03FF3C 7F00B40C 24050001 */ li $a1, 1
/* 03FF40 7F00B410 10000017 */ b .L7F00B470
/* 03FF44 7F00B414 8FBF0014 */ lw $ra, 0x14($sp)
.L7F00B418:
/* 03FF48 7F00B418 0C0030EB */ jal joyGetButtonsPressedThisFrame
/* 03FF4C 7F00B41C 3405FFFF */ li $a1, 65535
/* 03FF50 7F00B420 14400007 */ bnez $v0, .L7F00B440
/* 03FF54 7F00B424 3C0B8003 */ lui $t3, %hi(is_first_time_on_main_menu)
/* 03FF58 7F00B428 8D6BA930 */ lw $t3, %lo(is_first_time_on_main_menu)($t3)
/* 03FF5C 7F00B42C 3C0C8003 */ lui $t4, %hi(D_8002A938)
/* 03FF60 7F00B430 5160000F */ beql $t3, $zero, .L7F00B470
/* 03FF64 7F00B434 8FBF0014 */ lw $ra, 0x14($sp)
/* 03FF68 7F00B438 8D8CA938 */ lw $t4, %lo(D_8002A938)($t4)
/* 03FF6C 7F00B43C 1180000B */ beqz $t4, .L7F00B46C
.L7F00B440:
/* 03FF70 7F00B440 24040005 */ li $a0, 5
/* 03FF74 7F00B444 0FC06975 */ jal set_menu_to_mode
/* 03FF78 7F00B448 24050001 */ li $a1, 1
/* 03FF7C 7F00B44C 10000008 */ b .L7F00B470
/* 03FF80 7F00B450 8FBF0014 */ lw $ra, 0x14($sp)
.L7F00B454:
/* 03FF84 7F00B454 0C0030EB */ jal joyGetButtonsPressedThisFrame
/* 03FF88 7F00B458 3405FFFF */ li $a1, 65535
/* 03FF8C 7F00B45C 10400003 */ beqz $v0, .L7F00B46C
/* 03FF90 7F00B460 240D0001 */ li $t5, 1
/* 03FF94 7F00B464 3C018003 */ lui $at, %hi(D_8002A938)
/* 03FF98 7F00B468 AC2DA938 */ sw $t5, %lo(D_8002A938)($at)
.L7F00B46C:
/* 03FF9C 7F00B46C 8FBF0014 */ lw $ra, 0x14($sp)
.L7F00B470:
/* 03FFA0 7F00B470 27BD0018 */ addiu $sp, $sp, 0x18
/* 03FFA4 7F00B474 03E00008 */ jr $ra
/* 03FFA8 7F00B478 00000000 */ nop
)
#endif
#ifdef NONMATCHING
s32 constructor_menu04_goldeneyelogo(s32 arg0)
{
s32 sp150;
s32 sp148;
s32 sp144;
s32 sp140;
s32 spF8;
s32 spB0;
s32 sp5C;
s32 temp_a0;
s32 temp_ret;
s32 temp_s0;
s32 temp_s0_2;
s32 temp_s4;
s32 temp_v0;
s32 temp_v1;
void *temp_t1;
void *temp_t6;
void *phi_t6;
void *phi_t1;
s32 phi_s1;
s32 phi_s0;
phi_t6 = &D_8002AB54;
phi_t1 = &sp140;
loop_1:
temp_t6 = phi_t6 + 0xc;
temp_t1 = phi_t1 + 0xc;
temp_t1->unk-C = (s32) *phi_t6;
temp_t1->unk-8 = (s32) temp_t6->unk-8;
temp_t1->unk-4 = (s32) temp_t6->unk-4;
phi_t6 = temp_t6;
phi_t1 = temp_t1;
if (temp_t6 != (&D_8002AB54 + 0x3c))
{
goto loop_1;
}
temp_t1->unk0 = (s32) temp_t6->unk0;
temp_s4 = viFillScreen(viSetFillColor(arg0, 0, 0, 0));
temp_ret = dynAllocate7F0BD6F8(2);
temp_s0 = temp_ret;
guLookAtReflect(&spB0, temp_ret, 0.0f, 0.0f, 4000.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f);
temp_v0 = temp_s4;
temp_s4 = temp_s4 + 8;
temp_v1 = temp_s4;
temp_s4 = temp_s4 + 8;
temp_v0->unk0 = 0xbc000002;
temp_v0->unk4 = 0x80000040;
temp_a0 = temp_s4;
temp_s4 = temp_s4 + 8;
temp_v1->unk0 = 0x3860010;
temp_v1->unk4 = &D_8002A978;
temp_a0->unk0 = 0x3880010;
temp_a0->unk4 = &D_8002A970;
temp_s4->unk0 = 0x3840010;
temp_s4->unk4 = temp_s0;
temp_s4 = temp_s4 + 8;
temp_s4->unk4 = (s32) (temp_s0 + 0x10);
temp_s4->unk0 = 0x3820010;
matrix_4x4_7F059694(&spF8, 0.0f, 0.0f, 0x453b8000, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f);
sp150 = dynAllocate(something_legalscreen_constructor->unk8->unkE << 6);
matrix_scalar_multiply(D_80051A18, &spF8);
matrix_4x4_copy(&spF8, sp150);
something_legalscreen_constructor->unkC = sp150;
sub_GAME_7F06EFC4(something_legalscreen_constructor);
sp148 = 3;
sp144 = 0;
subdraw(&sp140, something_legalscreen_constructor);
phi_s1 = 0;
phi_s0 = 0;
if (something_legalscreen_constructor->unk8->unkE > 0)
{
loop_3:
matrix_4x4_copy(something_legalscreen_constructor->unkC + phi_s1, &sp5C);
sub_GAME_7F058C9C(&sp5C, something_legalscreen_constructor->unkC + (phi_s0 << 6));
temp_s0_2 = phi_s0 + 1;
phi_s1 = phi_s1 + 0x40;
phi_s0 = temp_s0_2;
if (temp_s0_2 < something_legalscreen_constructor->unk8->unkE)
{
goto loop_3;
}
}
return sp14C;
}
#else
GLOBAL_ASM(
.late_rodata
glabel D_80051A18
.word 0x3F99999A /* 1.2;*/
.text
glabel constructor_menu04_goldeneyelogo
/* 03FFAC 7F00B47C 27BDFE80 */ addiu $sp, $sp, -0x180
/* 03FFB0 7F00B480 AFB20040 */ sw $s2, 0x40($sp)
/* 03FFB4 7F00B484 3C0E8003 */ lui $t6, %hi(D_8002AB54)
/* 03FFB8 7F00B488 27B20140 */ addiu $s2, $sp, 0x140
/* 03FFBC 7F00B48C AFB40048 */ sw $s4, 0x48($sp)
/* 03FFC0 7F00B490 25CEAB54 */ addiu $t6, %lo(D_8002AB54) # addiu $t6, $t6, -0x54ac
/* 03FFC4 7F00B494 0080A025 */ move $s4, $a0
/* 03FFC8 7F00B498 AFBF004C */ sw $ra, 0x4c($sp)
/* 03FFCC 7F00B49C AFB30044 */ sw $s3, 0x44($sp)
/* 03FFD0 7F00B4A0 AFB1003C */ sw $s1, 0x3c($sp)
/* 03FFD4 7F00B4A4 AFB00038 */ sw $s0, 0x38($sp)
/* 03FFD8 7F00B4A8 25D9003C */ addiu $t9, $t6, 0x3c
/* 03FFDC 7F00B4AC 02404825 */ move $t1, $s2
.L7F00B4B0:
/* 03FFE0 7F00B4B0 8DC10000 */ lw $at, ($t6)
/* 03FFE4 7F00B4B4 25CE000C */ addiu $t6, $t6, 0xc
/* 03FFE8 7F00B4B8 2529000C */ addiu $t1, $t1, 0xc
/* 03FFEC 7F00B4BC AD21FFF4 */ sw $at, -0xc($t1)
/* 03FFF0 7F00B4C0 8DC1FFF8 */ lw $at, -8($t6)
/* 03FFF4 7F00B4C4 AD21FFF8 */ sw $at, -8($t1)
/* 03FFF8 7F00B4C8 8DC1FFFC */ lw $at, -4($t6)
/* 03FFFC 7F00B4CC 15D9FFF8 */ bne $t6, $t9, .L7F00B4B0
/* 040000 7F00B4D0 AD21FFFC */ sw $at, -4($t1)
/* 040004 7F00B4D4 8DC10000 */ lw $at, ($t6)
/* 040008 7F00B4D8 02802025 */ move $a0, $s4
/* 04000C 7F00B4DC 00002825 */ move $a1, $zero
/* 040010 7F00B4E0 00003025 */ move $a2, $zero
/* 040014 7F00B4E4 00003825 */ move $a3, $zero
/* 040018 7F00B4E8 0C0011B4 */ jal viSetFillColor
/* 04001C 7F00B4EC AD210000 */ sw $at, ($t1)
/* 040020 7F00B4F0 0C000FBE */ jal viFillScreen
/* 040024 7F00B4F4 00402025 */ move $a0, $v0
/* 040028 7F00B4F8 0040A025 */ move $s4, $v0
/* 04002C 7F00B4FC 0FC2F5BE */ jal dynAllocate7F0BD6F8
/* 040030 7F00B500 24040002 */ li $a0, 2
/* 040034 7F00B504 44800000 */ mtc1 $zero, $f0
/* 040038 7F00B508 3C01457A */ li $at, 0x457A0000 # 4000.000000
/* 04003C 7F00B50C 44812000 */ mtc1 $at, $f4
/* 040040 7F00B510 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 040044 7F00B514 44813000 */ mtc1 $at, $f6
/* 040048 7F00B518 44060000 */ mfc1 $a2, $f0
/* 04004C 7F00B51C 44070000 */ mfc1 $a3, $f0
/* 040050 7F00B520 00408025 */ move $s0, $v0
/* 040054 7F00B524 27A400B0 */ addiu $a0, $sp, 0xb0
/* 040058 7F00B528 00402825 */ move $a1, $v0
/* 04005C 7F00B52C E7A00014 */ swc1 $f0, 0x14($sp)
/* 040060 7F00B530 E7A00018 */ swc1 $f0, 0x18($sp)
/* 040064 7F00B534 E7A0001C */ swc1 $f0, 0x1c($sp)
/* 040068 7F00B538 E7A00020 */ swc1 $f0, 0x20($sp)
/* 04006C 7F00B53C E7A00028 */ swc1 $f0, 0x28($sp)
/* 040070 7F00B540 E7A40010 */ swc1 $f4, 0x10($sp)
/* 040074 7F00B544 0C005CDC */ jal guLookAtReflect
/* 040078 7F00B548 E7A60024 */ swc1 $f6, 0x24($sp)
/* 04007C 7F00B54C 02801025 */ move $v0, $s4
/* 040080 7F00B550 26940008 */ addiu $s4, $s4, 8
/* 040084 7F00B554 3C0ABC00 */ lui $t2, (0xBC000002 >> 16) # lui $t2, 0xbc00
/* 040088 7F00B558 3C0B8000 */ lui $t3, (0x80000040 >> 16) # lui $t3, 0x8000
/* 04008C 7F00B55C 356B0040 */ ori $t3, (0x80000040 & 0xFFFF) # ori $t3, $t3, 0x40
/* 040090 7F00B560 354A0002 */ ori $t2, (0xBC000002 & 0xFFFF) # ori $t2, $t2, 2
/* 040094 7F00B564 02801825 */ move $v1, $s4
/* 040098 7F00B568 26940008 */ addiu $s4, $s4, 8
/* 04009C 7F00B56C AC4A0000 */ sw $t2, ($v0)
/* 0400A0 7F00B570 AC4B0004 */ sw $t3, 4($v0)
/* 0400A4 7F00B574 3C0C0386 */ lui $t4, (0x03860010 >> 16) # lui $t4, 0x386
/* 0400A8 7F00B578 3C0D8003 */ lui $t5, %hi(D_8002A978)
/* 0400AC 7F00B57C 25ADA978 */ addiu $t5, %lo(D_8002A978) # addiu $t5, $t5, -0x5688
/* 0400B0 7F00B580 358C0010 */ ori $t4, (0x03860010 & 0xFFFF) # ori $t4, $t4, 0x10
/* 0400B4 7F00B584 02802025 */ move $a0, $s4
/* 0400B8 7F00B588 26940008 */ addiu $s4, $s4, 8
/* 0400BC 7F00B58C AC6C0000 */ sw $t4, ($v1)
/* 0400C0 7F00B590 AC6D0004 */ sw $t5, 4($v1)
/* 0400C4 7F00B594 3C180388 */ lui $t8, (0x03880010 >> 16) # lui $t8, 0x388
/* 0400C8 7F00B598 3C0F8003 */ lui $t7, %hi(D_8002A970)
/* 0400CC 7F00B59C 25EFA970 */ addiu $t7, %lo(D_8002A970) # addiu $t7, $t7, -0x5690
/* 0400D0 7F00B5A0 37180010 */ ori $t8, (0x03880010 & 0xFFFF) # ori $t8, $t8, 0x10
/* 0400D4 7F00B5A4 02802825 */ move $a1, $s4
/* 0400D8 7F00B5A8 AC980000 */ sw $t8, ($a0)
/* 0400DC 7F00B5AC AC8F0004 */ sw $t7, 4($a0)
/* 0400E0 7F00B5B0 3C190384 */ lui $t9, (0x03840010 >> 16) # lui $t9, 0x384
/* 0400E4 7F00B5B4 37390010 */ ori $t9, (0x03840010 & 0xFFFF) # ori $t9, $t9, 0x10
/* 0400E8 7F00B5B8 44800000 */ mtc1 $zero, $f0
/* 0400EC 7F00B5BC ACB90000 */ sw $t9, ($a1)
/* 0400F0 7F00B5C0 ACB00004 */ sw $s0, 4($a1)
/* 0400F4 7F00B5C4 26940008 */ addiu $s4, $s4, 8
/* 0400F8 7F00B5C8 02804025 */ move $t0, $s4
/* 0400FC 7F00B5CC 3C0E0382 */ lui $t6, (0x03820010 >> 16) # lui $t6, 0x382
/* 040100 7F00B5D0 35CE0010 */ ori $t6, (0x03820010 & 0xFFFF) # ori $t6, $t6, 0x10
/* 040104 7F00B5D4 26090010 */ addiu $t1, $s0, 0x10
/* 040108 7F00B5D8 AD090004 */ sw $t1, 4($t0)
/* 04010C 7F00B5DC AD0E0000 */ sw $t6, ($t0)
/* 040110 7F00B5E0 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 040114 7F00B5E4 44814000 */ mtc1 $at, $f8
/* 040118 7F00B5E8 27B100F8 */ addiu $s1, $sp, 0xf8
/* 04011C 7F00B5EC 3C07453B */ lui $a3, (0x453B8000 >> 16) # lui $a3, 0x453b
/* 040120 7F00B5F0 44050000 */ mfc1 $a1, $f0
/* 040124 7F00B5F4 44060000 */ mfc1 $a2, $f0
/* 040128 7F00B5F8 26940008 */ addiu $s4, $s4, 8
/* 04012C 7F00B5FC 34E78000 */ ori $a3, (0x453B8000 & 0xFFFF) # ori $a3, $a3, 0x8000
/* 040130 7F00B600 02202025 */ move $a0, $s1
/* 040134 7F00B604 E7A00024 */ swc1 $f0, 0x24($sp)
/* 040138 7F00B608 E7A0001C */ swc1 $f0, 0x1c($sp)
/* 04013C 7F00B60C E7A00018 */ swc1 $f0, 0x18($sp)
/* 040140 7F00B610 E7A00014 */ swc1 $f0, 0x14($sp)
/* 040144 7F00B614 E7A00010 */ swc1 $f0, 0x10($sp)
/* 040148 7F00B618 0FC165A5 */ jal matrix_4x4_7F059694
/* 04014C 7F00B61C E7A80020 */ swc1 $f8, 0x20($sp)
/* 040150 7F00B620 3C138003 */ lui $s3, %hi(something_legalscreen_constructor)
/* 040154 7F00B624 2673A958 */ addiu $s3, %lo(something_legalscreen_constructor) # addiu $s3, $s3, -0x56a8
/* 040158 7F00B628 8E6A0000 */ lw $t2, ($s3)
/* 04015C 7F00B62C AFB10140 */ sw $s1, 0x140($sp)
/* 040160 7F00B630 8D4B0008 */ lw $t3, 8($t2)
/* 040164 7F00B634 8564000E */ lh $a0, 0xe($t3)
/* 040168 7F00B638 00046180 */ sll $t4, $a0, 6
/* 04016C 7F00B63C 0FC2F5C5 */ jal dynAllocate
/* 040170 7F00B640 01802025 */ move $a0, $t4
/* 040174 7F00B644 3C018005 */ lui $at, %hi(D_80051A18)
/* 040178 7F00B648 AFA20150 */ sw $v0, 0x150($sp)
/* 04017C 7F00B64C C42C1A18 */ lwc1 $f12, %lo(D_80051A18)($at)
/* 040180 7F00B650 0FC1629F */ jal matrix_scalar_multiply
/* 040184 7F00B654 02202825 */ move $a1, $s1
/* 040188 7F00B658 02202025 */ move $a0, $s1
/* 04018C 7F00B65C 0FC16008 */ jal matrix_4x4_copy
/* 040190 7F00B660 8FA50150 */ lw $a1, 0x150($sp)
/* 040194 7F00B664 8FAD0150 */ lw $t5, 0x150($sp)
/* 040198 7F00B668 8E780000 */ lw $t8, ($s3)
/* 04019C 7F00B66C AF0D000C */ sw $t5, 0xc($t8)
/* 0401A0 7F00B670 0FC1BBF1 */ jal sub_GAME_7F06EFC4
/* 0401A4 7F00B674 8E640000 */ lw $a0, ($s3)
/* 0401A8 7F00B678 240F0003 */ li $t7, 3
/* 0401AC 7F00B67C AFAF0148 */ sw $t7, 0x148($sp)
/* 0401B0 7F00B680 AFA00144 */ sw $zero, 0x144($sp)
/* 0401B4 7F00B684 AFB4014C */ sw $s4, 0x14c($sp)
/* 0401B8 7F00B688 02402025 */ move $a0, $s2
/* 0401BC 7F00B68C 0FC1D1A1 */ jal subdraw
/* 0401C0 7F00B690 8E650000 */ lw $a1, ($s3)
/* 0401C4 7F00B694 8E620000 */ lw $v0, ($s3)
/* 0401C8 7F00B698 8FB4014C */ lw $s4, 0x14c($sp)
/* 0401CC 7F00B69C 00008025 */ move $s0, $zero
/* 0401D0 7F00B6A0 8C590008 */ lw $t9, 8($v0)
/* 0401D4 7F00B6A4 00008825 */ move $s1, $zero
/* 0401D8 7F00B6A8 27B2005C */ addiu $s2, $sp, 0x5c
/* 0401DC 7F00B6AC 872E000E */ lh $t6, 0xe($t9)
/* 0401E0 7F00B6B0 59C00014 */ blezl $t6, .L7F00B704
/* 0401E4 7F00B6B4 8FBF004C */ lw $ra, 0x4c($sp)
/* 0401E8 7F00B6B8 8C49000C */ lw $t1, 0xc($v0)
.L7F00B6BC:
/* 0401EC 7F00B6BC 02402825 */ move $a1, $s2
/* 0401F0 7F00B6C0 0FC16008 */ jal matrix_4x4_copy
/* 0401F4 7F00B6C4 01312021 */ addu $a0, $t1, $s1
/* 0401F8 7F00B6C8 8E6A0000 */ lw $t2, ($s3)
/* 0401FC 7F00B6CC 00106180 */ sll $t4, $s0, 6
/* 040200 7F00B6D0 02402025 */ move $a0, $s2
/* 040204 7F00B6D4 8D4B000C */ lw $t3, 0xc($t2)
/* 040208 7F00B6D8 0FC16327 */ jal sub_GAME_7F058C9C
/* 04020C 7F00B6DC 016C2821 */ addu $a1, $t3, $t4
/* 040210 7F00B6E0 8E620000 */ lw $v0, ($s3)
/* 040214 7F00B6E4 26100001 */ addiu $s0, $s0, 1
/* 040218 7F00B6E8 26310040 */ addiu $s1, $s1, 0x40
/* 04021C 7F00B6EC 8C4D0008 */ lw $t5, 8($v0)
/* 040220 7F00B6F0 85B8000E */ lh $t8, 0xe($t5)
/* 040224 7F00B6F4 0218082A */ slt $at, $s0, $t8
/* 040228 7F00B6F8 5420FFF0 */ bnezl $at, .L7F00B6BC
/* 04022C 7F00B6FC 8C49000C */ lw $t1, 0xc($v0)
/* 040230 7F00B700 8FBF004C */ lw $ra, 0x4c($sp)
.L7F00B704:
/* 040234 7F00B704 02801025 */ move $v0, $s4
/* 040238 7F00B708 8FB40048 */ lw $s4, 0x48($sp)
/* 04023C 7F00B70C 8FB00038 */ lw $s0, 0x38($sp)
/* 040240 7F00B710 8FB1003C */ lw $s1, 0x3c($sp)
/* 040244 7F00B714 8FB20040 */ lw $s2, 0x40($sp)
/* 040248 7F00B718 8FB30044 */ lw $s3, 0x44($sp)
/* 04024C 7F00B71C 03E00008 */ jr $ra
/* 040250 7F00B720 27BD0180 */ addiu $sp, $sp, 0x180
)
#endif
#ifdef NONMATCHING
void disable_all_switches(void *arg0)
{
s32 temp_s0;
void *temp_t7;
void *phi_v1;
s32 phi_s1;
s32 phi_a2;
s32 phi_s0;
s32 phi_a2_2;
phi_v1 = arg0->unk8;
phi_s1 = 0;
phi_a2 = arg0->unk8->unkC;
phi_s0 = 0;
if (arg0->unk8->unkC > 0)
{
loop_1:
temp_t7 = phi_v1->unk8 + phi_s1;
phi_a2_2 = phi_a2;
phi_v1 = phi_v1;
if (*temp_t7 != 0)
{
phi_a2_2 = phi_a2;
phi_v1 = phi_v1;
if (0x12 == (**temp_t7 & 0xff))
{
*extract_id_from_object_structure_microcode(arg0, *temp_t7, phi_a2) = 0;
phi_a2_2 = arg0->unk8->unkC;
phi_v1 = arg0->unk8;
}
}
temp_s0 = phi_s0 + 1;
phi_s1 = phi_s1 + 4;
phi_a2 = phi_a2_2;
phi_s0 = temp_s0;
if (temp_s0 < phi_a2_2)
{
goto loop_1;
}
}
}
#else
GLOBAL_ASM(
.text
glabel disable_all_switches
/* 040254 7F00B724 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 040258 7F00B728 AFBF0024 */ sw $ra, 0x24($sp)
/* 04025C 7F00B72C AFB30020 */ sw $s3, 0x20($sp)
/* 040260 7F00B730 AFB2001C */ sw $s2, 0x1c($sp)
/* 040264 7F00B734 AFB10018 */ sw $s1, 0x18($sp)
/* 040268 7F00B738 AFB00014 */ sw $s0, 0x14($sp)
/* 04026C 7F00B73C 8C830008 */ lw $v1, 8($a0)
/* 040270 7F00B740 00809025 */ move $s2, $a0
/* 040274 7F00B744 00008025 */ move $s0, $zero
/* 040278 7F00B748 8466000C */ lh $a2, 0xc($v1)
/* 04027C 7F00B74C 00008825 */ move $s1, $zero
/* 040280 7F00B750 24130012 */ li $s3, 18
/* 040284 7F00B754 58C00014 */ blezl $a2, .L7F00B7A8
/* 040288 7F00B758 8FBF0024 */ lw $ra, 0x24($sp)
.L7F00B75C:
/* 04028C 7F00B75C 8C6E0008 */ lw $t6, 8($v1)
/* 040290 7F00B760 01D17821 */ addu $t7, $t6, $s1
/* 040294 7F00B764 8DE50000 */ lw $a1, ($t7)
/* 040298 7F00B768 50A0000B */ beql $a1, $zero, .L7F00B798
/* 04029C 7F00B76C 26100001 */ addiu $s0, $s0, 1
/* 0402A0 7F00B770 94B80000 */ lhu $t8, ($a1)
/* 0402A4 7F00B774 331900FF */ andi $t9, $t8, 0xff
/* 0402A8 7F00B778 56790007 */ bnel $s3, $t9, .L7F00B798
/* 0402AC 7F00B77C 26100001 */ addiu $s0, $s0, 1
/* 0402B0 7F00B780 0FC1B1E7 */ jal extract_id_from_object_structure_microcode
/* 0402B4 7F00B784 02402025 */ move $a0, $s2
/* 0402B8 7F00B788 AC400000 */ sw $zero, ($v0)
/* 0402BC 7F00B78C 8E430008 */ lw $v1, 8($s2)
/* 0402C0 7F00B790 8466000C */ lh $a2, 0xc($v1)
/* 0402C4 7F00B794 26100001 */ addiu $s0, $s0, 1
.L7F00B798:
/* 0402C8 7F00B798 0206082A */ slt $at, $s0, $a2
/* 0402CC 7F00B79C 1420FFEF */ bnez $at, .L7F00B75C
/* 0402D0 7F00B7A0 26310004 */ addiu $s1, $s1, 4
/* 0402D4 7F00B7A4 8FBF0024 */ lw $ra, 0x24($sp)
.L7F00B7A8:
/* 0402D8 7F00B7A8 8FB00014 */ lw $s0, 0x14($sp)
/* 0402DC 7F00B7AC 8FB10018 */ lw $s1, 0x18($sp)
/* 0402E0 7F00B7B0 8FB2001C */ lw $s2, 0x1c($sp)
/* 0402E4 7F00B7B4 8FB30020 */ lw $s3, 0x20($sp)
/* 0402E8 7F00B7B8 03E00008 */ jr $ra
/* 0402EC 7F00B7BC 27BD0028 */ addiu $sp, $sp, 0x28
)
#endif
#ifdef NONMATCHING
void set_item_visibility_in_objinstance(void *arg0, s32 arg1, s32 arg2)
{
void *temp_t9;
temp_t9 = arg0->unk8->unk8 + (arg1 * 4);
if (*temp_t9 != 0)
{
*extract_id_from_object_structure_microcode(*temp_t9, *temp_t9) = arg2;
}
}
#else
GLOBAL_ASM(
.text
glabel set_item_visibility_in_objinstance
/* 0402F0 7F00B7C0 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 0402F4 7F00B7C4 AFBF0014 */ sw $ra, 0x14($sp)
/* 0402F8 7F00B7C8 AFA60020 */ sw $a2, 0x20($sp)
/* 0402FC 7F00B7CC 8C8E0008 */ lw $t6, 8($a0)
/* 040300 7F00B7D0 0005C080 */ sll $t8, $a1, 2
/* 040304 7F00B7D4 8DCF0008 */ lw $t7, 8($t6)
/* 040308 7F00B7D8 01F8C821 */ addu $t9, $t7, $t8
/* 04030C 7F00B7DC 8F270000 */ lw $a3, ($t9)
/* 040310 7F00B7E0 50E00006 */ beql $a3, $zero, .L7F00B7FC
/* 040314 7F00B7E4 8FBF0014 */ lw $ra, 0x14($sp)
/* 040318 7F00B7E8 0FC1B1E7 */ jal extract_id_from_object_structure_microcode
/* 04031C 7F00B7EC 00E02825 */ move $a1, $a3
/* 040320 7F00B7F0 8FA80020 */ lw $t0, 0x20($sp)
/* 040324 7F00B7F4 AC480000 */ sw $t0, ($v0)
/* 040328 7F00B7F8 8FBF0014 */ lw $ra, 0x14($sp)
.L7F00B7FC:
/* 04032C 7F00B7FC 27BD0018 */ addiu $sp, $sp, 0x18
/* 040330 7F00B800 03E00008 */ jr $ra
/* 040334 7F00B804 00000000 */ nop
)
#endif
void select_load_bond_picture(s32 *objinstance,u32 bondID) {
set_item_visibility_in_objinstance(objinstance,8,1);
set_item_visibility_in_objinstance(objinstance,9,0);
set_item_visibility_in_objinstance(objinstance,10,0);
set_item_visibility_in_objinstance(objinstance,0xb,0);
set_item_visibility_in_objinstance(objinstance,0xf,1);
set_item_visibility_in_objinstance(objinstance,0x10,0);
set_item_visibility_in_objinstance(objinstance,0x11,0);
set_item_visibility_in_objinstance(objinstance,0x12,0);
}
#ifdef NONMATCHING
void load_walletbond(void)
{
s32 temp_ret;
void *temp_s0;
void *phi_s0;
if (ptr_folder_object_instance == 0)
{
load_object_fill_header(PitemZ_entries.unkD08, PitemZ_entries.unkD0C, ptr_logo_and_walletbond_DL, 0xa000, 0);
set_objuse_flag_compute_grp_nums_set_obj_loaded(PitemZ_entries.unkD08);
phi_s0 = &ptr_folder_object_instance;
loop_2:
temp_ret = get_aircraft_obj_instance_controller(PitemZ_entries.unkD08);
*phi_s0 = temp_ret;
set_obj_instance_controller_scale(temp_ret, 0x3f800000);
temp_s0 = phi_s0 + 4;
phi_s0 = temp_s0;
if (temp_s0 != &D_8002A96C)
{
goto loop_2;
}
if (PitemZ_entries.unkD08->unk8->unk54 != 0)
{
sub_GAME_7F0BA640(PitemZ_entries.unkD08->unk8->unk54->unk4->unk1C + (PitemZ_entries.unkD08->unk8->unk54->unk4->unk0 & 0xffffff), 0, 8);
}
}
}
#else
GLOBAL_ASM(
.text
glabel load_walletbond
/* 0403DC 7F00B8AC 27BDFFC8 */ addiu $sp, $sp, -0x38
/* 0403E0 7F00B8B0 3C0E8003 */ lui $t6, %hi(ptr_folder_object_instance)
/* 0403E4 7F00B8B4 8DCEA95C */ lw $t6, %lo(ptr_folder_object_instance)($t6)
/* 0403E8 7F00B8B8 AFBF0034 */ sw $ra, 0x34($sp)
/* 0403EC 7F00B8BC AFB20030 */ sw $s2, 0x30($sp)
/* 0403F0 7F00B8C0 AFB1002C */ sw $s1, 0x2c($sp)
/* 0403F4 7F00B8C4 AFB00028 */ sw $s0, 0x28($sp)
/* 0403F8 7F00B8C8 15C0002A */ bnez $t6, .L7F00B974
/* 0403FC 7F00B8CC F7B40020 */ sdc1 $f20, 0x20($sp)
/* 040400 7F00B8D0 3C128004 */ lui $s2, %hi(PitemZ_entries)
/* 040404 7F00B8D4 2652A228 */ addiu $s2, %lo(PitemZ_entries) # addiu $s2, $s2, -0x5dd8
/* 040408 7F00B8D8 3C068003 */ lui $a2, %hi(ptr_logo_and_walletbond_DL)
/* 04040C 7F00B8DC 8CC6A950 */ lw $a2, %lo(ptr_logo_and_walletbond_DL)($a2)
/* 040410 7F00B8E0 8E440D08 */ lw $a0, 0xd08($s2)
/* 040414 7F00B8E4 8E450D0C */ lw $a1, 0xd0c($s2)
/* 040418 7F00B8E8 3407A000 */ li $a3, 40960
/* 04041C 7F00B8EC 0FC1D929 */ jal load_object_fill_header
/* 040420 7F00B8F0 AFA00010 */ sw $zero, 0x10($sp)
/* 040424 7F00B8F4 0FC1D73D */ jal set_objuse_flag_compute_grp_nums_set_obj_loaded
/* 040428 7F00B8F8 8E440D08 */ lw $a0, 0xd08($s2)
/* 04042C 7F00B8FC 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 040430 7F00B900 3C108003 */ lui $s0, %hi(ptr_folder_object_instance)
/* 040434 7F00B904 3C118003 */ lui $s1, %hi(D_8002A96C)
/* 040438 7F00B908 4481A000 */ mtc1 $at, $f20
/* 04043C 7F00B90C 2631A96C */ addiu $s1, %lo(D_8002A96C) # addiu $s1, $s1, -0x5694
/* 040440 7F00B910 2610A95C */ addiu $s0, %lo(ptr_folder_object_instance) # addiu $s0, $s0, -0x56a4
.L7F00B914:
/* 040444 7F00B914 0FC1B08F */ jal get_aircraft_obj_instance_controller
/* 040448 7F00B918 8E440D08 */ lw $a0, 0xd08($s2)
/* 04044C 7F00B91C 4405A000 */ mfc1 $a1, $f20
/* 040450 7F00B920 AE020000 */ sw $v0, ($s0)
/* 040454 7F00B924 0FC1B39E */ jal set_obj_instance_controller_scale
/* 040458 7F00B928 00402025 */ move $a0, $v0
/* 04045C 7F00B92C 26100004 */ addiu $s0, $s0, 4
/* 040460 7F00B930 1611FFF8 */ bne $s0, $s1, .L7F00B914
/* 040464 7F00B934 00000000 */ nop
/* 040468 7F00B938 8E4F0D08 */ lw $t7, 0xd08($s2)
/* 04046C 7F00B93C 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff
/* 040470 7F00B940 8DF80008 */ lw $t8, 8($t7)
/* 040474 7F00B944 8F030054 */ lw $v1, 0x54($t8)
/* 040478 7F00B948 5060000B */ beql $v1, $zero, .L7F00B978
/* 04047C 7F00B94C 8FBF0034 */ lw $ra, 0x34($sp)
/* 040480 7F00B950 8C620004 */ lw $v0, 4($v1)
/* 040484 7F00B954 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff
/* 040488 7F00B958 00002825 */ move $a1, $zero
/* 04048C 7F00B95C 8C480000 */ lw $t0, ($v0)
/* 040490 7F00B960 8C59001C */ lw $t9, 0x1c($v0)
/* 040494 7F00B964 24060008 */ li $a2, 8
/* 040498 7F00B968 01014824 */ and $t1, $t0, $at
/* 04049C 7F00B96C 0FC2E990 */ jal sub_GAME_7F0BA640
/* 0404A0 7F00B970 03292021 */ addu $a0, $t9, $t1
.L7F00B974:
/* 0404A4 7F00B974 8FBF0034 */ lw $ra, 0x34($sp)
.L7F00B978:
/* 0404A8 7F00B978 D7B40020 */ ldc1 $f20, 0x20($sp)
/* 0404AC 7F00B97C 8FB00028 */ lw $s0, 0x28($sp)
/* 0404B0 7F00B980 8FB1002C */ lw $s1, 0x2c($sp)
/* 0404B4 7F00B984 8FB20030 */ lw $s2, 0x30($sp)
/* 0404B8 7F00B988 03E00008 */ jr $ra
/* 0404BC 7F00B98C 27BD0038 */ addiu $sp, $sp, 0x38
)
#endif
#ifdef NONMATCHING
void sub_GAME_7F00B990(void)
{
s32 temp_a0;
void *temp_s0;
void *phi_s0;
phi_s0 = &ptr_folder_object_instance;
loop_1:
temp_a0 = *phi_s0;
if (temp_a0 != 0)
{
set_aircraft_obj_inst_scale_to_zero(temp_a0);
*phi_s0 = 0;
}
temp_s0 = phi_s0 + 4;
phi_s0 = temp_s0;
if (temp_s0 != &D_8002A96C)
{
goto loop_1;
}
}
#else
GLOBAL_ASM(
.text
glabel sub_GAME_7F00B990
/* 0404C0 7F00B990 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 0404C4 7F00B994 AFB10018 */ sw $s1, 0x18($sp)
/* 0404C8 7F00B998 AFB00014 */ sw $s0, 0x14($sp)
/* 0404CC 7F00B99C 3C108003 */ lui $s0, %hi(ptr_folder_object_instance)
/* 0404D0 7F00B9A0 3C118003 */ lui $s1, %hi(D_8002A96C)
/* 0404D4 7F00B9A4 AFBF001C */ sw $ra, 0x1c($sp)
/* 0404D8 7F00B9A8 2631A96C */ addiu $s1, %lo(D_8002A96C) # addiu $s1, $s1, -0x5694
/* 0404DC 7F00B9AC 2610A95C */ addiu $s0, %lo(ptr_folder_object_instance) # addiu $s0, $s0, -0x56a4
/* 0404E0 7F00B9B0 8E040000 */ lw $a0, ($s0)
.L7F00B9B4:
/* 0404E4 7F00B9B4 50800005 */ beql $a0, $zero, .L7F00B9CC
/* 0404E8 7F00B9B8 26100004 */ addiu $s0, $s0, 4
/* 0404EC 7F00B9BC 0FC1B0FE */ jal set_aircraft_obj_inst_scale_to_zero
/* 0404F0 7F00B9C0 00000000 */ nop
/* 0404F4 7F00B9C4 AE000000 */ sw $zero, ($s0)
/* 0404F8 7F00B9C8 26100004 */ addiu $s0, $s0, 4
.L7F00B9CC:
/* 0404FC 7F00B9CC 5611FFF9 */ bnel $s0, $s1, .L7F00B9B4
/* 040500 7F00B9D0 8E040000 */ lw $a0, ($s0)
/* 040504 7F00B9D4 8FBF001C */ lw $ra, 0x1c($sp)
/* 040508 7F00B9D8 8FB00014 */ lw $s0, 0x14($sp)
/* 04050C 7F00B9DC 8FB10018 */ lw $s1, 0x18($sp)
/* 040510 7F00B9E0 03E00008 */ jr $ra
/* 040514 7F00B9E4 27BD0020 */ addiu $sp, $sp, 0x20
)
#endif
#ifdef NONMATCHING
void *init_menu05_fileselect(void)
{
s32 sp24;
s32 sp20;
void *temp_v0;
void *phi_v0;
prev_keypresses = 0;
sp24 = 0x6e000;
sp20 = (s32) (ptr_logo_and_walletbond_DL + 0xa000);
if (selected_folder_num < 0)
{
selected_folder_num = 0;
}
tab_2_selected = 0;
tab_3_selected = 0;
folder_selected_for_deletion = -1;
folder_selected_for_deletion_choice = 1;
sub_GAME_7F008DE4(&sp20, &sp24);
load_walletbond();
if (maybe_is_in_menu != 0)
{
musicTrack1Play(M_FOLDERS);
maybe_is_in_menu = 0;
}
menu_timer = 0;
cheat_activated_1 = (u8)0;
cheat_activated_1 = (u8)0;
phi_v0 = &cheat_activated_2;
loop_5:
temp_v0 = phi_v0 + 4;
temp_v0->unk-3 = (u8)0;
temp_v0->unk-2 = (u8)0;
temp_v0->unk-1 = (u8)0;
temp_v0->unk-4 = (u8)0;
phi_v0 = temp_v0;
if (temp_v0 != &cheat_activated_74)
{
goto loop_5;
}
append_cheat_sp = 0;
append_cheat_mp = 0;
return temp_v0;
}
#else
GLOBAL_ASM(
.text
glabel init_menu05_fileselect
/* 040518 7F00B9E8 3C0F8003 */ lui $t7, %hi(ptr_logo_and_walletbond_DL)
/* 04051C 7F00B9EC 8DEFA950 */ lw $t7, %lo(ptr_logo_and_walletbond_DL)($t7)
/* 040520 7F00B9F0 3401A000 */ li $at, 40960
/* 040524 7F00B9F4 3C028003 */ lui $v0, %hi(selected_folder_num)
/* 040528 7F00B9F8 01E1C021 */ addu $t8, $t7, $at
/* 04052C 7F00B9FC 3C018003 */ lui $at, %hi(prev_keypresses)
/* 040530 7F00BA00 2442A8E8 */ addiu $v0, %lo(selected_folder_num) # addiu $v0, $v0, -0x5718
/* 040534 7F00BA04 AC20A934 */ sw $zero, %lo(prev_keypresses)($at)
/* 040538 7F00BA08 8C590000 */ lw $t9, ($v0)
/* 04053C 7F00BA0C 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 040540 7F00BA10 3C0E0006 */ lui $t6, (0x0006E000 >> 16) # lui $t6, 6
/* 040544 7F00BA14 35CEE000 */ ori $t6, (0x0006E000 & 0xFFFF) # ori $t6, $t6, 0xe000
/* 040548 7F00BA18 AFBF0014 */ sw $ra, 0x14($sp)
/* 04054C 7F00BA1C AFAE0024 */ sw $t6, 0x24($sp)
/* 040550 7F00BA20 07210002 */ bgez $t9, .L7F00BA2C
/* 040554 7F00BA24 AFB80020 */ sw $t8, 0x20($sp)
/* 040558 7F00BA28 AC400000 */ sw $zero, ($v0)
.L7F00BA2C:
/* 04055C 7F00BA2C 3C018003 */ lui $at, %hi(tab_2_selected)
/* 040560 7F00BA30 AC20A8D4 */ sw $zero, %lo(tab_2_selected)($at)
/* 040564 7F00BA34 3C018003 */ lui $at, %hi(tab_3_selected)
/* 040568 7F00BA38 AC20A8D8 */ sw $zero, %lo(tab_3_selected)($at)
/* 04056C 7F00BA3C 3C018003 */ lui $at, %hi(folder_selected_for_deletion)
/* 040570 7F00BA40 2408FFFF */ li $t0, -1
/* 040574 7F00BA44 AC28A91C */ sw $t0, %lo(folder_selected_for_deletion)($at)
/* 040578 7F00BA48 3C018003 */ lui $at, %hi(folder_selected_for_deletion_choice)
/* 04057C 7F00BA4C 24090001 */ li $t1, 1
/* 040580 7F00BA50 AC29A920 */ sw $t1, %lo(folder_selected_for_deletion_choice)($at)
/* 040584 7F00BA54 27A40020 */ addiu $a0, $sp, 0x20
/* 040588 7F00BA58 0FC02379 */ jal sub_GAME_7F008DE4
/* 04058C 7F00BA5C 27A50024 */ addiu $a1, $sp, 0x24
/* 040590 7F00BA60 0FC02E2B */ jal load_walletbond
/* 040594 7F00BA64 00000000 */ nop
/* 040598 7F00BA68 3C0A8003 */ lui $t2, %hi(maybe_is_in_menu)
/* 04059C 7F00BA6C 8D4AA93C */ lw $t2, %lo(maybe_is_in_menu)($t2)
/* 0405A0 7F00BA70 11400005 */ beqz $t2, .L7F00BA88
/* 0405A4 7F00BA74 00000000 */ nop
/* 0405A8 7F00BA78 0C001B9F */ jal musicTrack1Play
/* 0405AC 7F00BA7C 24040017 */ li $a0, 23
/* 0405B0 7F00BA80 3C018003 */ lui $at, %hi(maybe_is_in_menu)
/* 0405B4 7F00BA84 AC20A93C */ sw $zero, %lo(maybe_is_in_menu)($at)
.L7F00BA88:
/* 0405B8 7F00BA88 3C018003 */ lui $at, %hi(menu_timer)
/* 0405BC 7F00BA8C AC20A8CC */ sw $zero, %lo(menu_timer)($at)
/* 0405C0 7F00BA90 3C018007 */ lui $at, %hi(cheat_activated_1)
/* 0405C4 7F00BA94 3C028007 */ lui $v0, %hi(cheat_activated_2)
/* 0405C8 7F00BA98 3C038007 */ lui $v1, %hi(cheat_activated_74)
/* 0405CC 7F00BA9C 246396EB */ addiu $v1, %lo(cheat_activated_74) # addiu $v1, $v1, -0x6915
/* 0405D0 7F00BAA0 244296A3 */ addiu $v0, %lo(cheat_activated_2) # addiu $v0, $v0, -0x695d
/* 0405D4 7F00BAA4 A02096A1 */ sb $zero, %lo(CHEAT_AVAILABLE_EXTRA_CHARS)($at)
/* 0405D8 7F00BAA8 A02096A2 */ sb $zero, %lo(cheat_activated_1)($at)
.L7F00BAAC:
/* 0405DC 7F00BAAC 24420004 */ addiu $v0, $v0, 4
/* 0405E0 7F00BAB0 A040FFFD */ sb $zero, -3($v0)
/* 0405E4 7F00BAB4 A040FFFE */ sb $zero, -2($v0)
/* 0405E8 7F00BAB8 A040FFFF */ sb $zero, -1($v0)
/* 0405EC 7F00BABC 1443FFFB */ bne $v0, $v1, .L7F00BAAC
/* 0405F0 7F00BAC0 A040FFFC */ sb $zero, -4($v0)
/* 0405F4 7F00BAC4 8FBF0014 */ lw $ra, 0x14($sp)
/* 0405F8 7F00BAC8 3C018003 */ lui $at, %hi(append_cheat_sp)
/* 0405FC 7F00BACC AC20A900 */ sw $zero, %lo(append_cheat_sp)($at)
/* 040600 7F00BAD0 3C018003 */ lui $at, %hi(append_cheat_mp)
/* 040604 7F00BAD4 AC20A904 */ sw $zero, %lo(append_cheat_mp)($at)
/* 040608 7F00BAD8 03E00008 */ jr $ra
/* 04060C 7F00BADC 27BD0028 */ addiu $sp, $sp, 0x28
)
#endif
void update_menu05_filesel(void) {
if ((menu_update == 0) || (maybe_prev_menu == 0)) {
sub_GAME_7F00B990();
}
}
#ifdef NONMATCHING
s32 get_chapter_briefing_entry(s32 arg0)
{
s32 temp_v1;
void *phi_v0;
s32 phi_v1;
if (arg0 >= 0)
{
phi_v0 = (arg0 * 0x1c) + &mission_folder_setup_entries;
phi_v1 = arg0;
loop_2:
if (phi_v0->unk10 != 0)
{
return phi_v1;
}
temp_v1 = phi_v1 + -1;
phi_v0 = phi_v0 + -0x1c;
phi_v1 = temp_v1;
if (temp_v1 >= 0)
{
goto loop_2;
}
}
return -1;
}
#else
GLOBAL_ASM(
.text
glabel get_chapter_briefing_entry
/* 04064C 7F00BB1C 0480000F */ bltz $a0, .L7F00BB5C
/* 040650 7F00BB20 00801825 */ move $v1, $a0
/* 040654 7F00BB24 000470C0 */ sll $t6, $a0, 3
/* 040658 7F00BB28 01C47023 */ subu $t6, $t6, $a0
/* 04065C 7F00BB2C 3C0F8003 */ lui $t7, %hi(mission_folder_setup_entries)
/* 040660 7F00BB30 25EFABE4 */ addiu $t7, %lo(mission_folder_setup_entries) # addiu $t7, $t7, -0x541c
/* 040664 7F00BB34 000E7080 */ sll $t6, $t6, 2
/* 040668 7F00BB38 01CF1021 */ addu $v0, $t6, $t7
.L7F00BB3C:
/* 04066C 7F00BB3C 8C580010 */ lw $t8, 0x10($v0)
/* 040670 7F00BB40 53000004 */ beql $t8, $zero, .L7F00BB54
/* 040674 7F00BB44 2463FFFF */ addiu $v1, $v1, -1
/* 040678 7F00BB48 03E00008 */ jr $ra
/* 04067C 7F00BB4C 00601025 */ move $v0, $v1
/* 040680 7F00BB50 2463FFFF */ addiu $v1, $v1, -1
.L7F00BB54:
/* 040684 7F00BB54 0461FFF9 */ bgez $v1, .L7F00BB3C
/* 040688 7F00BB58 2442FFE4 */ addiu $v0, $v0, -0x1c
.L7F00BB5C:
/* 04068C 7F00BB5C 2402FFFF */ li $v0, -1
/* 040690 7F00BB60 03E00008 */ jr $ra
/* 040694 7F00BB64 00000000 */ nop
)
#endif
#ifdef NONMATCHING
void toggle_deletion_menu_for_folder(s32 arg0)
{
f32 sp18;
sub_GAME_7F077FF4((arg0 * 0xc) + &dword_CODE_bss_80069620, &sp18);
cursor_h_pos = (f32) (sp18 + -1.0f);
cursor_v_pos = (f32) (sp1C + 20.0f);
}
#else
GLOBAL_ASM(
.text
glabel toggle_deletion_menu_for_folder
/* 040698 7F00BB68 00047080 */ sll $t6, $a0, 2
/* 04069C 7F00BB6C 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 0406A0 7F00BB70 01C47023 */ subu $t6, $t6, $a0
/* 0406A4 7F00BB74 3C0F8007 */ lui $t7, %hi(dword_CODE_bss_80069620)
/* 0406A8 7F00BB78 AFBF0014 */ sw $ra, 0x14($sp)
/* 0406AC 7F00BB7C 25EF9620 */ addiu $t7, %lo(dword_CODE_bss_80069620) # addiu $t7, $t7, -0x69e0
/* 0406B0 7F00BB80 000E7080 */ sll $t6, $t6, 2
/* 0406B4 7F00BB84 01CF2021 */ addu $a0, $t6, $t7
/* 0406B8 7F00BB88 0FC1DFFD */ jal sub_GAME_7F077FF4
/* 0406BC 7F00BB8C 27A50018 */ addiu $a1, $sp, 0x18
/* 0406C0 7F00BB90 3C01BF80 */ li $at, 0xBF800000 # -1.000000
/* 0406C4 7F00BB94 44813000 */ mtc1 $at, $f6
/* 0406C8 7F00BB98 C7A40018 */ lwc1 $f4, 0x18($sp)
/* 0406CC 7F00BB9C 3C018003 */ lui $at, %hi(cursor_h_pos)
/* 0406D0 7F00BBA0 C7AA001C */ lwc1 $f10, 0x1c($sp)
/* 0406D4 7F00BBA4 46062200 */ add.s $f8, $f4, $f6
/* 0406D8 7F00BBA8 8FBF0014 */ lw $ra, 0x14($sp)
/* 0406DC 7F00BBAC 27BD0020 */ addiu $sp, $sp, 0x20
/* 0406E0 7F00BBB0 E428A908 */ swc1 $f8, %lo(cursor_h_pos)($at)
/* 0406E4 7F00BBB4 3C0141A0 */ li $at, 0x41A00000 # 20.000000
/* 0406E8 7F00BBB8 44818000 */ mtc1 $at, $f16
/* 0406EC 7F00BBBC 3C018003 */ lui $at, %hi(cursor_v_pos)
/* 0406F0 7F00BBC0 46105480 */ add.s $f18, $f10, $f16
/* 0406F4 7F00BBC4 03E00008 */ jr $ra
/* 0406F8 7F00BBC8 E432A90C */ swc1 $f18, %lo(cursor_v_pos)($at)
)
#endif
#ifdef NONMATCHING
s32 interface_menu05_fileselect(void)
{
s32 spC8;
s32 sp88;
s32 sp80;
s32 sp7C;
s32 sp78;
s32 sp74;
f32 sp6C;
f32 sp64;
s32 sp60;
s32 sp5C;
void *sp54;
s32 temp_ret;
s32 temp_s2;
s32 temp_s2_2;
void *temp_a0;
void *phi_s0;
void *phi_s1;
s32 phi_s2;
s32 phi_a0;
s32 phi_a0_2;
void *phi_s0_2;
void *phi_s1_2;
s32 phi_s2_2;
s32 phi_return;
if (((((joyGetButtonsPressedThisFrame(0, ANY_BUTTON) != 0) || (joyGetStickX(0) < -5)) || (joyGetStickX(0) >= 6)) || (joyGetStickY(0) < -5)) || (joyGetStickY(0) >= 6))
{
menu_timer = 0;
}
else
{
menu_timer = (s32) (menu_timer + clock_timer);
}
viSetFovY(0x42700000);
viSetAspect(D_80051A1C);
viSetZRange(0x42c80000, D_80051A20);
viSetUseZBuf(0);
sp54 = &D_8002AB94;
phi_s0 = &ptr_folder_object_instance;
phi_s1 = &dword_CODE_bss_80069620;
phi_s2 = 0;
loop_8:
matrix_4x4_7F059694(&spC8, 0, 0, 0x457a0000, 1.0f);
matrix_4x4_set_identity_and_position(sp54, &sp88);
matrix_scalar_multiply(D_80051A24, &sp88);
matrix_4x4_multiply_in_place(&spC8, &sp88);
(*phi_s0)->unkC = dynAllocate((*phi_s0)->unk8->unkE << 6);
matrix_4x4_copy(&sp88, (*phi_s0)->unkC);
temp_a0 = *phi_s0;
phi_s1->unk0 = (f32) temp_a0->unkC->unk30;
phi_s1->unk4 = (f32) temp_a0->unkC->unk34;
phi_s1->unk8 = (f32) temp_a0->unkC->unk38;
disable_all_switches(temp_a0);
select_load_bond_picture(*phi_s0, removed_would_have_returned_bond_for_folder_num(phi_s2));
set_item_visibility_in_objinstance(*phi_s0, 0xe, 1);
set_item_visibility_in_objinstance(*phi_s0, 0xd, 1);
temp_s2 = phi_s2 + 1;
sp54 = (void *) (sp54 + 0xc);
phi_s0 = phi_s0 + 4;
phi_s1 = phi_s1 + 0xc;
phi_s2 = temp_s2;
if (temp_s2 != 4)
{
goto loop_8;
}
if (selected_folder_num >= 0)
{
phi_a0 = selected_folder_num;
if (selected_folder_num == 0x64)
{
selected_folder_num = (s32) selected_folder_num_copy;
phi_a0 = selected_folder_num_copy;
}
if ((phi_a0 < 0) || (phi_a0 >= 4))
{
selected_folder_num = 0;
phi_a0_2 = 0;
}
else
{
}
toggle_deletion_menu_for_folder(phi_a0_2);
selected_folder_num = -1;
}
if (folder_selected_for_deletion >= 0)
{
if ((joyGetButtonsPressedThisFrame(0, 0x222) != 0) && (folder_selected_for_deletion_choice == 0))
{
folder_selected_for_deletion_choice = 1;
play_sfx_a1(g_musicSfxBufferPtr, 0x12, 0);
}
else
{
if (joyGetButtonsPressedThisFrame(0, 0x111) != 0)
{
if (folder_selected_for_deletion_choice != 0)
{
folder_selected_for_deletion_choice = 0;
play_sfx_a1(g_musicSfxBufferPtr, 0x12, 0);
}
}
}
if ((joyGetStickX(0) < -0x2d) && (*&folder_selected_for_deletion_choice == 0))
{
*&folder_selected_for_deletion_choice = 1;
play_sfx_a1(g_musicSfxBufferPtr, 0x12, 0);
}
else
{
if (joyGetStickX(0) >= 0x2e)
{
if (*&folder_selected_for_deletion_choice != 0)
{
*&folder_selected_for_deletion_choice = 0;
play_sfx_a1(g_musicSfxBufferPtr, 0x12, 0);
}
}
}
if (joyGetButtonsPressedThisFrame(0, 0xb000) != 0)
{
if (*&folder_selected_for_deletion_choice == 0)
{
delete_eeprom_folder(folder_selected_for_deletion, 0x76, 0);
play_sfx_a1(g_musicSfxBufferPtr, 0x76, 0);
}
else
{
play_sfx_a1(g_musicSfxBufferPtr, 0x76, 0);
}
folder_selected_for_deletion = -1;
phi_return = toggle_deletion_menu_for_folder(folder_selected_for_deletion);
}
else
{
temp_ret = joyGetButtonsPressedThisFrame(0, 0x4000);
phi_return = temp_ret;
if (temp_ret != 0)
{
toggle_deletion_menu_for_folder(folder_selected_for_deletion);
folder_selected_for_deletion = -1;
phi_return = play_sfx_a1(g_musicSfxBufferPtr, 0x76, 0);
}
}
}
else
{
phi_s0_2 = 0x80030000 + -0x56a4;
phi_s1_2 = &dword_CODE_bss_80069620;
phi_s2_2 = 0;
loop_38:
sub_GAME_7F03F90C(*phi_s0_2, &sp80, &sp7C, &sp78, &sp74);
sub_GAME_7F03F948(phi_s1_2, &sp7C, &sp74, &sp6C, &sp64);
if (((((sp6C <= cursor_h_pos) && (cursor_h_pos <= sp64)) && (sp70 <= cursor_v_pos)) && (cursor_v_pos <= sp68)) && (joyGetButtonsPressedThisFrame(0, 0xb000) != 0))
{
if (folder_selection_screen_option_icon == 0)
{
selected_folder_num = (s32) phi_s2_2;
play_sfx_a1(g_musicSfxBufferPtr, 0x4d, 0);
}
else
{
if (folder_selection_screen_option_icon == 1)
{
sub_GAME_7F01EDA0(phi_s2_2);
folder_selection_screen_option_icon = 0;
play_sfx_a1(g_musicSfxBufferPtr, 0x4f, 0);
}
else
{
if (folder_selection_screen_option_icon == 2)
{
if (sp60 >= 0)
{
if (sp5C >= 0)
{
folder_selected_for_deletion = (s32) phi_s2_2;
folder_selected_for_deletion_choice = 1;
}
}
folder_selection_screen_option_icon = 0;
play_sfx_a1(g_musicSfxBufferPtr, 0x12, 0);
}
}
}
}
else
{
temp_s2_2 = phi_s2_2 + 1;
phi_s0_2 = phi_s0_2 + 4;
phi_s1_2 = phi_s1_2 + 0xc;
phi_s2_2 = temp_s2_2;
if (temp_s2_2 != 4)
{
goto loop_38;
}
}
if (joyGetButtonsPressedThisFrame(0, 0xb000) != 0)
{
if ((((folder_option_COPY_left_bound.unk0 <= cursor_h_pos) && (cursor_h_pos <= folder_option_COPY_left_bound.unk8)) && (folder_option_COPY_left_bound.unk4 <= cursor_v_pos)) && (cursor_v_pos <= folder_option_COPY_left_bound.unkC))
{
*&folder_selection_screen_option_icon = 1;
play_sfx_a1(*&g_musicSfxBufferPtr, 0xde, 0);
}
else
{
if ((((folder_option_ERASE_left_bound.unk0 <= cursor_h_pos) && (cursor_h_pos <= folder_option_ERASE_left_bound.unk8)) && (folder_option_ERASE_left_bound.unk4 <= cursor_v_pos)) && (cursor_v_pos <= folder_option_ERASE_left_bound.unkC))
{
*&folder_selection_screen_option_icon = 2;
play_sfx_a1(*&g_musicSfxBufferPtr, 0xde, 0);
}
else
{
if (*&folder_selection_screen_option_icon != 0)
{
*&folder_selection_screen_option_icon = 0;
play_sfx_a1(*&g_musicSfxBufferPtr, 0x76, 0);
}
}
}
}
else
{
if (joyGetButtonsPressedThisFrame(0, 0x4000) != 0)
{
if (*&folder_selection_screen_option_icon != 0)
{
*&folder_selection_screen_option_icon = 0;
play_sfx_a1(*&g_musicSfxBufferPtr, 0x76, 0);
}
}
}
phi_return = menu_control_stick_tracking();
}
if (selected_folder_num >= 0)
{
set_menu_to_mode(MENU_MODE_SELECT, 0);
return setCursorPOSforMode(0);
}
if (menu_timer >= 0x709)
{
phi_return = set_menu_to_mode(MENU_LEGAL_SCREEN, 1);
}
return phi_return;
}
#else
GLOBAL_ASM(
.late_rodata
glabel D_80051A1C
.word 0x3FAAAAAB /* 1.3333334;*/
glabel D_80051A20
.word 0x461C4000 /* 10000.0;*/
glabel D_80051A24
.word 0x3EBD70A4 /* 0.37;*/
.text
glabel interface_menu05_fileselect
/* 0406FC 7F00BBCC 27BDFEF0 */ addiu $sp, $sp, -0x110
/* 040700 7F00BBD0 AFBF0044 */ sw $ra, 0x44($sp)
/* 040704 7F00BBD4 AFB30040 */ sw $s3, 0x40($sp)
/* 040708 7F00BBD8 AFB2003C */ sw $s2, 0x3c($sp)
/* 04070C 7F00BBDC AFB10038 */ sw $s1, 0x38($sp)
/* 040710 7F00BBE0 AFB00034 */ sw $s0, 0x34($sp)
/* 040714 7F00BBE4 F7B40028 */ sdc1 $f20, 0x28($sp)
/* 040718 7F00BBE8 00002025 */ move $a0, $zero
/* 04071C 7F00BBEC 0C0030EB */ jal joyGetButtonsPressedThisFrame
/* 040720 7F00BBF0 3405FFFF */ li $a1, 65535
/* 040724 7F00BBF4 14400015 */ bnez $v0, .L7F00BC4C
/* 040728 7F00BBF8 00000000 */ nop
/* 04072C 7F00BBFC 0C00303B */ jal joyGetStickX
/* 040730 7F00BC00 00002025 */ move $a0, $zero
/* 040734 7F00BC04 2841FFFB */ slti $at, $v0, -5
/* 040738 7F00BC08 14200010 */ bnez $at, .L7F00BC4C
/* 04073C 7F00BC0C 00000000 */ nop
/* 040740 7F00BC10 0C00303B */ jal joyGetStickX
/* 040744 7F00BC14 00002025 */ move $a0, $zero
/* 040748 7F00BC18 28410006 */ slti $at, $v0, 6
/* 04074C 7F00BC1C 1020000B */ beqz $at, .L7F00BC4C
/* 040750 7F00BC20 00000000 */ nop
/* 040754 7F00BC24 0C00307F */ jal joyGetStickY
/* 040758 7F00BC28 00002025 */ move $a0, $zero
/* 04075C 7F00BC2C 2841FFFB */ slti $at, $v0, -5
/* 040760 7F00BC30 14200006 */ bnez $at, .L7F00BC4C
/* 040764 7F00BC34 00000000 */ nop
/* 040768 7F00BC38 0C00307F */ jal joyGetStickY
/* 04076C 7F00BC3C 00002025 */ move $a0, $zero
/* 040770 7F00BC40 28410006 */ slti $at, $v0, 6
/* 040774 7F00BC44 14200004 */ bnez $at, .L7F00BC58
/* 040778 7F00BC48 3C0E8003 */ lui $t6, %hi(menu_timer)
.L7F00BC4C:
/* 04077C 7F00BC4C 3C018003 */ lui $at, %hi(menu_timer)
/* 040780 7F00BC50 10000007 */ b .L7F00BC70
/* 040784 7F00BC54 AC20A8CC */ sw $zero, %lo(menu_timer)($at)
.L7F00BC58:
/* 040788 7F00BC58 3C0F8005 */ lui $t7, %hi(clock_timer)
/* 04078C 7F00BC5C 8DEF8374 */ lw $t7, %lo(clock_timer)($t7)
/* 040790 7F00BC60 8DCEA8CC */ lw $t6, %lo(menu_timer)($t6)
/* 040794 7F00BC64 3C018003 */ lui $at, %hi(menu_timer)
/* 040798 7F00BC68 01CFC021 */ addu $t8, $t6, $t7
/* 04079C 7F00BC6C AC38A8CC */ sw $t8, %lo(menu_timer)($at)
.L7F00BC70:
/* 0407A0 7F00BC70 3C014270 */ li $at, 0x42700000 # 60.000000
/* 0407A4 7F00BC74 44816000 */ mtc1 $at, $f12
/* 0407A8 7F00BC78 0C001151 */ jal viSetFovY
/* 0407AC 7F00BC7C 00000000 */ nop
/* 0407B0 7F00BC80 3C018005 */ lui $at, %hi(D_80051A1C)
/* 0407B4 7F00BC84 0C001164 */ jal viSetAspect
/* 0407B8 7F00BC88 C42C1A1C */ lwc1 $f12, %lo(D_80051A1C)($at)
/* 0407BC 7F00BC8C 3C0142C8 */ li $at, 0x42C80000 # 100.000000
/* 0407C0 7F00BC90 44816000 */ mtc1 $at, $f12
/* 0407C4 7F00BC94 3C018005 */ lui $at, %hi(D_80051A20)
/* 0407C8 7F00BC98 0C001194 */ jal viSetZRange
/* 0407CC 7F00BC9C C42E1A20 */ lwc1 $f14, %lo(D_80051A20)($at)
/* 0407D0 7F00BCA0 0C00114D */ jal viSetUseZBuf
/* 0407D4 7F00BCA4 00002025 */ move $a0, $zero
/* 0407D8 7F00BCA8 3C198003 */ lui $t9, %hi(D_8002AB94)
/* 0407DC 7F00BCAC 2739AB94 */ addiu $t9, %lo(D_8002AB94) # addiu $t9, $t9, -0x546c
/* 0407E0 7F00BCB0 3C108003 */ lui $s0, %hi(ptr_folder_object_instance)
/* 0407E4 7F00BCB4 3C118007 */ lui $s1, %hi(dword_CODE_bss_80069620)
/* 0407E8 7F00BCB8 4480A000 */ mtc1 $zero, $f20
/* 0407EC 7F00BCBC 26319620 */ addiu $s1, %lo(dword_CODE_bss_80069620) # addiu $s1, $s1, -0x69e0
/* 0407F0 7F00BCC0 2610A95C */ addiu $s0, %lo(ptr_folder_object_instance) # addiu $s0, $s0, -0x56a4
/* 0407F4 7F00BCC4 AFB90054 */ sw $t9, 0x54($sp)
/* 0407F8 7F00BCC8 00009025 */ move $s2, $zero
/* 0407FC 7F00BCCC 27B30088 */ addiu $s3, $sp, 0x88
.L7F00BCD0:
/* 040800 7F00BCD0 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 040804 7F00BCD4 44812000 */ mtc1 $at, $f4
/* 040808 7F00BCD8 4405A000 */ mfc1 $a1, $f20
/* 04080C 7F00BCDC 4406A000 */ mfc1 $a2, $f20
/* 040810 7F00BCE0 27A400C8 */ addiu $a0, $sp, 0xc8
/* 040814 7F00BCE4 3C07457A */ lui $a3, 0x457a
/* 040818 7F00BCE8 E7B40010 */ swc1 $f20, 0x10($sp)
/* 04081C 7F00BCEC E7B40014 */ swc1 $f20, 0x14($sp)
/* 040820 7F00BCF0 E7B40018 */ swc1 $f20, 0x18($sp)
/* 040824 7F00BCF4 E7B4001C */ swc1 $f20, 0x1c($sp)
/* 040828 7F00BCF8 E7B40024 */ swc1 $f20, 0x24($sp)
/* 04082C 7F00BCFC 0FC165A5 */ jal matrix_4x4_7F059694
/* 040830 7F00BD00 E7A40020 */ swc1 $f4, 0x20($sp)
/* 040834 7F00BD04 8FA40054 */ lw $a0, 0x54($sp)
/* 040838 7F00BD08 0FC16259 */ jal matrix_4x4_set_identity_and_position
/* 04083C 7F00BD0C 02602825 */ move $a1, $s3
/* 040840 7F00BD10 3C018005 */ lui $at, %hi(D_80051A24)
/* 040844 7F00BD14 C42C1A24 */ lwc1 $f12, %lo(D_80051A24)($at)
/* 040848 7F00BD18 0FC1629F */ jal matrix_scalar_multiply
/* 04084C 7F00BD1C 02602825 */ move $a1, $s3
/* 040850 7F00BD20 27A400C8 */ addiu $a0, $sp, 0xc8
/* 040854 7F00BD24 0FC1601A */ jal matrix_4x4_multiply_in_place
/* 040858 7F00BD28 02602825 */ move $a1, $s3
/* 04085C 7F00BD2C 8E080000 */ lw $t0, ($s0)
/* 040860 7F00BD30 8D090008 */ lw $t1, 8($t0)
/* 040864 7F00BD34 8524000E */ lh $a0, 0xe($t1)
/* 040868 7F00BD38 00045180 */ sll $t2, $a0, 6
/* 04086C 7F00BD3C 0FC2F5C5 */ jal dynAllocate
/* 040870 7F00BD40 01402025 */ move $a0, $t2
/* 040874 7F00BD44 8E0B0000 */ lw $t3, ($s0)
/* 040878 7F00BD48 02602025 */ move $a0, $s3
/* 04087C 7F00BD4C AD62000C */ sw $v0, 0xc($t3)
/* 040880 7F00BD50 8E0C0000 */ lw $t4, ($s0)
/* 040884 7F00BD54 0FC16008 */ jal matrix_4x4_copy
/* 040888 7F00BD58 8D85000C */ lw $a1, 0xc($t4)
/* 04088C 7F00BD5C 8E040000 */ lw $a0, ($s0)
/* 040890 7F00BD60 8C8D000C */ lw $t5, 0xc($a0)
/* 040894 7F00BD64 C5A60030 */ lwc1 $f6, 0x30($t5)
/* 040898 7F00BD68 E6260000 */ swc1 $f6, ($s1)
/* 04089C 7F00BD6C 8C8E000C */ lw $t6, 0xc($a0)
/* 0408A0 7F00BD70 C5C80034 */ lwc1 $f8, 0x34($t6)
/* 0408A4 7F00BD74 E6280004 */ swc1 $f8, 4($s1)
/* 0408A8 7F00BD78 8C8F000C */ lw $t7, 0xc($a0)
/* 0408AC 7F00BD7C C5EA0038 */ lwc1 $f10, 0x38($t7)
/* 0408B0 7F00BD80 0FC02DC9 */ jal disable_all_switches
/* 0408B4 7F00BD84 E62A0008 */ swc1 $f10, 8($s1)
/* 0408B8 7F00BD88 0FC07AF0 */ jal removed_would_have_returned_bond_for_folder_num
/* 0408BC 7F00BD8C 02402025 */ move $a0, $s2
/* 0408C0 7F00BD90 8E040000 */ lw $a0, ($s0)
/* 0408C4 7F00BD94 0FC02E02 */ jal select_load_bond_picture
/* 0408C8 7F00BD98 00402825 */ move $a1, $v0
/* 0408CC 7F00BD9C 8E040000 */ lw $a0, ($s0)
/* 0408D0 7F00BDA0 2405000E */ li $a1, 14
/* 0408D4 7F00BDA4 0FC02DF0 */ jal set_item_visibility_in_objinstance
/* 0408D8 7F00BDA8 24060001 */ li $a2, 1
/* 0408DC 7F00BDAC 8E040000 */ lw $a0, ($s0)
/* 0408E0 7F00BDB0 2405000D */ li $a1, 13
/* 0408E4 7F00BDB4 0FC02DF0 */ jal set_item_visibility_in_objinstance
/* 0408E8 7F00BDB8 24060001 */ li $a2, 1
/* 0408EC 7F00BDBC 8FB80054 */ lw $t8, 0x54($sp)
/* 0408F0 7F00BDC0 26520001 */ addiu $s2, $s2, 1
/* 0408F4 7F00BDC4 24010004 */ li $at, 4
/* 0408F8 7F00BDC8 2719000C */ addiu $t9, $t8, 0xc
/* 0408FC 7F00BDCC AFB90054 */ sw $t9, 0x54($sp)
/* 040900 7F00BDD0 26100004 */ addiu $s0, $s0, 4
/* 040904 7F00BDD4 1641FFBE */ bne $s2, $at, .L7F00BCD0
/* 040908 7F00BDD8 2631000C */ addiu $s1, $s1, 0xc
/* 04090C 7F00BDDC 3C028003 */ lui $v0, %hi(selected_folder_num)
/* 040910 7F00BDE0 2442A8E8 */ addiu $v0, %lo(selected_folder_num) # addiu $v0, $v0, -0x5718
/* 040914 7F00BDE4 8C440000 */ lw $a0, ($v0)
/* 040918 7F00BDE8 24010064 */ li $at, 100
/* 04091C 7F00BDEC 04800010 */ bltz $a0, .L7F00BE30
/* 040920 7F00BDF0 00000000 */ nop
/* 040924 7F00BDF4 14810003 */ bne $a0, $at, .L7F00BE04
/* 040928 7F00BDF8 3C088003 */ lui $t0, %hi(selected_folder_num_copy)
/* 04092C 7F00BDFC 8D04A8EC */ lw $a0, %lo(selected_folder_num_copy)($t0)
/* 040930 7F00BE00 AC440000 */ sw $a0, ($v0)
.L7F00BE04:
/* 040934 7F00BE04 04800003 */ bltz $a0, .L7F00BE14
/* 040938 7F00BE08 28810004 */ slti $at, $a0, 4
/* 04093C 7F00BE0C 14200003 */ bnez $at, .L7F00BE1C
/* 040940 7F00BE10 00000000 */ nop
.L7F00BE14:
/* 040944 7F00BE14 AC400000 */ sw $zero, ($v0)
/* 040948 7F00BE18 00002025 */ move $a0, $zero
.L7F00BE1C:
/* 04094C 7F00BE1C 0FC02EDA */ jal toggle_deletion_menu_for_folder
/* 040950 7F00BE20 00000000 */ nop
/* 040954 7F00BE24 2411FFFF */ li $s1, -1
/* 040958 7F00BE28 3C018003 */ lui $at, %hi(selected_folder_num)
/* 04095C 7F00BE2C AC31A8E8 */ sw $s1, %lo(selected_folder_num)($at)
.L7F00BE30:
/* 040960 7F00BE30 3C098003 */ lui $t1, %hi(folder_selected_for_deletion)
/* 040964 7F00BE34 8D29A91C */ lw $t1, %lo(folder_selected_for_deletion)($t1)
/* 040968 7F00BE38 2411FFFF */ li $s1, -1
/* 04096C 7F00BE3C 00009025 */ move $s2, $zero
/* 040970 7F00BE40 0520006A */ bltz $t1, .L7F00BFEC
/* 040974 7F00BE44 3C108003 */ lui $s0, %hi(ptr_folder_object_instance)
/* 040978 7F00BE48 00002025 */ move $a0, $zero
/* 04097C 7F00BE4C 0C0030EB */ jal joyGetButtonsPressedThisFrame
/* 040980 7F00BE50 24050222 */ li $a1, 546
/* 040984 7F00BE54 1040000E */ beqz $v0, .L7F00BE90
/* 040988 7F00BE58 3C108003 */ lui $s0, %hi(folder_selected_for_deletion_choice)
/* 04098C 7F00BE5C 2610A920 */ addiu $s0, %lo(folder_selected_for_deletion_choice) # addiu $s0, $s0, -0x56e0
/* 040990 7F00BE60 8E0A0000 */ lw $t2, ($s0)
/* 040994 7F00BE64 3C138006 */ lui $s3, %hi(g_musicSfxBufferPtr)
/* 040998 7F00BE68 26733720 */ addiu $s3, %lo(g_musicSfxBufferPtr) # addiu $s3, $s3, 0x3720
/* 04099C 7F00BE6C 15400008 */ bnez $t2, .L7F00BE90
/* 0409A0 7F00BE70 240B0001 */ li $t3, 1
/* 0409A4 7F00BE74 AE0B0000 */ sw $t3, ($s0)
/* 0409A8 7F00BE78 8E640000 */ lw $a0, ($s3)
/* 0409AC 7F00BE7C 24050012 */ li $a1, 18
/* 0409B0 7F00BE80 0C002382 */ jal play_sfx_a1
/* 0409B4 7F00BE84 00003025 */ move $a2, $zero
/* 0409B8 7F00BE88 10000011 */ b .L7F00BED0
/* 0409BC 7F00BE8C 00000000 */ nop
.L7F00BE90:
/* 0409C0 7F00BE90 3C108003 */ lui $s0, %hi(folder_selected_for_deletion_choice)
/* 0409C4 7F00BE94 2610A920 */ addiu $s0, %lo(folder_selected_for_deletion_choice) # addiu $s0, $s0, -0x56e0
/* 0409C8 7F00BE98 00002025 */ move $a0, $zero
/* 0409CC 7F00BE9C 0C0030EB */ jal joyGetButtonsPressedThisFrame
/* 0409D0 7F00BEA0 24050111 */ li $a1, 273
/* 0409D4 7F00BEA4 1040000A */ beqz $v0, .L7F00BED0
/* 0409D8 7F00BEA8 00000000 */ nop
/* 0409DC 7F00BEAC 8E0C0000 */ lw $t4, ($s0)
/* 0409E0 7F00BEB0 3C138006 */ lui $s3, %hi(g_musicSfxBufferPtr)
/* 0409E4 7F00BEB4 26733720 */ addiu $s3, %lo(g_musicSfxBufferPtr) # addiu $s3, $s3, 0x3720
/* 0409E8 7F00BEB8 11800005 */ beqz $t4, .L7F00BED0
/* 0409EC 7F00BEBC 24050012 */ li $a1, 18
/* 0409F0 7F00BEC0 AE000000 */ sw $zero, ($s0)
/* 0409F4 7F00BEC4 8E640000 */ lw $a0, ($s3)
/* 0409F8 7F00BEC8 0C002382 */ jal play_sfx_a1
/* 0409FC 7F00BECC 00003025 */ move $a2, $zero
.L7F00BED0:
/* 040A00 7F00BED0 3C138006 */ lui $s3, %hi(g_musicSfxBufferPtr)
/* 040A04 7F00BED4 26733720 */ addiu $s3, %lo(g_musicSfxBufferPtr) # addiu $s3, $s3, 0x3720
/* 040A08 7F00BED8 0C00303B */ jal joyGetStickX
/* 040A0C 7F00BEDC 00002025 */ move $a0, $zero
/* 040A10 7F00BEE0 2841FFD3 */ slti $at, $v0, -0x2d
/* 040A14 7F00BEE4 1020000B */ beqz $at, .L7F00BF14
/* 040A18 7F00BEE8 00000000 */ nop
/* 040A1C 7F00BEEC 8E0D0000 */ lw $t5, ($s0)
/* 040A20 7F00BEF0 240E0001 */ li $t6, 1
/* 040A24 7F00BEF4 24050012 */ li $a1, 18
/* 040A28 7F00BEF8 15A00006 */ bnez $t5, .L7F00BF14
/* 040A2C 7F00BEFC 00003025 */ move $a2, $zero
/* 040A30 7F00BF00 AE0E0000 */ sw $t6, ($s0)
/* 040A34 7F00BF04 0C002382 */ jal play_sfx_a1
/* 040A38 7F00BF08 8E640000 */ lw $a0, ($s3)
/* 040A3C 7F00BF0C 1000000F */ b .L7F00BF4C
/* 040A40 7F00BF10 00002025 */ move $a0, $zero
.L7F00BF14:
/* 040A44 7F00BF14 0C00303B */ jal joyGetStickX
/* 040A48 7F00BF18 00002025 */ move $a0, $zero
/* 040A4C 7F00BF1C 2841002E */ slti $at, $v0, 0x2e
/* 040A50 7F00BF20 5420000A */ bnezl $at, .L7F00BF4C
/* 040A54 7F00BF24 00002025 */ move $a0, $zero
/* 040A58 7F00BF28 8E0F0000 */ lw $t7, ($s0)
/* 040A5C 7F00BF2C 24050012 */ li $a1, 18
/* 040A60 7F00BF30 00003025 */ move $a2, $zero
/* 040A64 7F00BF34 51E00005 */ beql $t7, $zero, .L7F00BF4C
/* 040A68 7F00BF38 00002025 */ move $a0, $zero
/* 040A6C 7F00BF3C AE000000 */ sw $zero, ($s0)
/* 040A70 7F00BF40 0C002382 */ jal play_sfx_a1
/* 040A74 7F00BF44 8E640000 */ lw $a0, ($s3)
/* 040A78 7F00BF48 00002025 */ move $a0, $zero
.L7F00BF4C:
/* 040A7C 7F00BF4C 0C0030EB */ jal joyGetButtonsPressedThisFrame
/* 040A80 7F00BF50 3405B000 */ li $a1, 45056
/* 040A84 7F00BF54 50400017 */ beql $v0, $zero, .L7F00BFB4
/* 040A88 7F00BF58 00002025 */ move $a0, $zero
/* 040A8C 7F00BF5C 8E180000 */ lw $t8, ($s0)
/* 040A90 7F00BF60 3C048003 */ lui $a0, %hi(folder_selected_for_deletion)
/* 040A94 7F00BF64 24050076 */ li $a1, 118
/* 040A98 7F00BF68 17000009 */ bnez $t8, .L7F00BF90
/* 040A9C 7F00BF6C 00003025 */ move $a2, $zero
/* 040AA0 7F00BF70 0FC07B01 */ jal delete_eeprom_folder
/* 040AA4 7F00BF74 8C84A91C */ lw $a0, %lo(folder_selected_for_deletion)($a0)
/* 040AA8 7F00BF78 8E640000 */ lw $a0, ($s3)
/* 040AAC 7F00BF7C 24050076 */ li $a1, 118
/* 040AB0 7F00BF80 0C002382 */ jal play_sfx_a1
/* 040AB4 7F00BF84 00003025 */ move $a2, $zero
/* 040AB8 7F00BF88 10000003 */ b .L7F00BF98
/* 040ABC 7F00BF8C 00000000 */ nop
.L7F00BF90:
/* 040AC0 7F00BF90 0C002382 */ jal play_sfx_a1
/* 040AC4 7F00BF94 8E640000 */ lw $a0, ($s3)
.L7F00BF98:
/* 040AC8 7F00BF98 3C048003 */ lui $a0, %hi(folder_selected_for_deletion)
/* 040ACC 7F00BF9C 0FC02EDA */ jal toggle_deletion_menu_for_folder
/* 040AD0 7F00BFA0 8C84A91C */ lw $a0, %lo(folder_selected_for_deletion)($a0)
/* 040AD4 7F00BFA4 3C018003 */ lui $at, %hi(folder_selected_for_deletion)
/* 040AD8 7F00BFA8 100000DC */ b .L7F00C31C
/* 040ADC 7F00BFAC AC31A91C */ sw $s1, %lo(folder_selected_for_deletion)($at)
/* 040AE0 7F00BFB0 00002025 */ move $a0, $zero
.L7F00BFB4:
/* 040AE4 7F00BFB4 0C0030EB */ jal joyGetButtonsPressedThisFrame
/* 040AE8 7F00BFB8 24054000 */ li $a1, 16384
/* 040AEC 7F00BFBC 104000D7 */ beqz $v0, .L7F00C31C
/* 040AF0 7F00BFC0 3C048003 */ lui $a0, %hi(folder_selected_for_deletion)
/* 040AF4 7F00BFC4 0FC02EDA */ jal toggle_deletion_menu_for_folder
/* 040AF8 7F00BFC8 8C84A91C */ lw $a0, %lo(folder_selected_for_deletion)($a0)
/* 040AFC 7F00BFCC 3C018003 */ lui $at, %hi(folder_selected_for_deletion)
/* 040B00 7F00BFD0 AC31A91C */ sw $s1, %lo(folder_selected_for_deletion)($at)
/* 040B04 7F00BFD4 8E640000 */ lw $a0, ($s3)
/* 040B08 7F00BFD8 24050076 */ li $a1, 118
/* 040B0C 7F00BFDC 0C002382 */ jal play_sfx_a1
/* 040B10 7F00BFE0 00003025 */ move $a2, $zero
/* 040B14 7F00BFE4 100000CD */ b .L7F00C31C
/* 040B18 7F00BFE8 00000000 */ nop
.L7F00BFEC:
/* 040B1C 7F00BFEC 3C118007 */ lui $s1, %hi(dword_CODE_bss_80069620)
/* 040B20 7F00BFF0 26319620 */ addiu $s1, %lo(dword_CODE_bss_80069620) # addiu $s1, $s1, -0x69e0
/* 040B24 7F00BFF4 2610A95C */ addiu $s0, $s0, %lo(ptr_folder_object_instance)
/* 040B28 7F00BFF8 27B3007C */ addiu $s3, $sp, 0x7c
.L7F00BFFC:
/* 040B2C 7F00BFFC 27B90074 */ addiu $t9, $sp, 0x74
/* 040B30 7F00C000 AFB90010 */ sw $t9, 0x10($sp)
/* 040B34 7F00C004 8E040000 */ lw $a0, ($s0)
/* 040B38 7F00C008 27A50080 */ addiu $a1, $sp, 0x80
/* 040B3C 7F00C00C 02603025 */ move $a2, $s3
/* 040B40 7F00C010 0FC0FE43 */ jal sub_GAME_7F03F90C
/* 040B44 7F00C014 27A70078 */ addiu $a3, $sp, 0x78
/* 040B48 7F00C018 27A80064 */ addiu $t0, $sp, 0x64
/* 040B4C 7F00C01C AFA80010 */ sw $t0, 0x10($sp)
/* 040B50 7F00C020 02202025 */ move $a0, $s1
/* 040B54 7F00C024 02602825 */ move $a1, $s3
/* 040B58 7F00C028 27A60074 */ addiu $a2, $sp, 0x74
/* 040B5C 7F00C02C 0FC0FE52 */ jal sub_GAME_7F03F948
/* 040B60 7F00C030 27A7006C */ addiu $a3, $sp, 0x6c
/* 040B64 7F00C034 3C018003 */ lui $at, %hi(cursor_h_pos)
/* 040B68 7F00C038 C422A908 */ lwc1 $f2, %lo(cursor_h_pos)($at)
/* 040B6C 7F00C03C C7B0006C */ lwc1 $f16, 0x6c($sp)
/* 040B70 7F00C040 C7B20064 */ lwc1 $f18, 0x64($sp)
/* 040B74 7F00C044 4602803E */ c.le.s $f16, $f2
/* 040B78 7F00C048 00000000 */ nop
/* 040B7C 7F00C04C 4502004E */ bc1fl .L7F00C188
/* 040B80 7F00C050 26520001 */ addiu $s2, $s2, 1
/* 040B84 7F00C054 4612103E */ c.le.s $f2, $f18
/* 040B88 7F00C058 3C018003 */ lui $at, %hi(cursor_v_pos)
/* 040B8C 7F00C05C C7A40070 */ lwc1 $f4, 0x70($sp)
/* 040B90 7F00C060 45020049 */ bc1fl .L7F00C188
/* 040B94 7F00C064 26520001 */ addiu $s2, $s2, 1
/* 040B98 7F00C068 C420A90C */ lwc1 $f0, %lo(cursor_v_pos)($at)
/* 040B9C 7F00C06C C7A60068 */ lwc1 $f6, 0x68($sp)
/* 040BA0 7F00C070 4600203E */ c.le.s $f4, $f0
/* 040BA4 7F00C074 00000000 */ nop
/* 040BA8 7F00C078 45020043 */ bc1fl .L7F00C188
/* 040BAC 7F00C07C 26520001 */ addiu $s2, $s2, 1
/* 040BB0 7F00C080 4606003E */ c.le.s $f0, $f6
/* 040BB4 7F00C084 02402025 */ move $a0, $s2
/* 040BB8 7F00C088 27A50060 */ addiu $a1, $sp, 0x60
/* 040BBC 7F00C08C 4502003E */ bc1fl .L7F00C188
/* 040BC0 7F00C090 26520001 */ addiu $s2, $s2, 1
/* 040BC4 7F00C094 0FC07A1D */ jal get_highest_stage_difficulty_completed_in_folder
/* 040BC8 7F00C098 27A6005C */ addiu $a2, $sp, 0x5c
/* 040BCC 7F00C09C 00002025 */ move $a0, $zero
/* 040BD0 7F00C0A0 0C0030EB */ jal joyGetButtonsPressedThisFrame
/* 040BD4 7F00C0A4 3405B000 */ li $a1, 45056
/* 040BD8 7F00C0A8 50400037 */ beql $v0, $zero, .L7F00C188
/* 040BDC 7F00C0AC 26520001 */ addiu $s2, $s2, 1
/* 040BE0 7F00C0B0 3C118003 */ lui $s1, %hi(folder_selection_screen_option_icon)
/* 040BE4 7F00C0B4 2631A918 */ addiu $s1, %lo(folder_selection_screen_option_icon) # addiu $s1, $s1, -0x56e8
/* 040BE8 7F00C0B8 8E220000 */ lw $v0, ($s1)
/* 040BEC 7F00C0BC 3C138006 */ lui $s3, %hi(g_musicSfxBufferPtr)
/* 040BF0 7F00C0C0 26733720 */ addiu $s3, %lo(g_musicSfxBufferPtr) # addiu $s3, $s3, 0x3720
/* 040BF4 7F00C0C4 14400009 */ bnez $v0, .L7F00C0EC
/* 040BF8 7F00C0C8 3C018003 */ lui $at, %hi(selected_folder_num)
/* 040BFC 7F00C0CC AC32A8E8 */ sw $s2, %lo(selected_folder_num)($at)
/* 040C00 7F00C0D0 8E640000 */ lw $a0, ($s3)
/* 040C04 7F00C0D4 2405004D */ li $a1, 77
/* 040C08 7F00C0D8 0C002382 */ jal play_sfx_a1
/* 040C0C 7F00C0DC 00003025 */ move $a2, $zero
/* 040C10 7F00C0E0 3C138006 */ lui $s3, %hi(g_musicSfxBufferPtr)
/* 040C14 7F00C0E4 10000030 */ b .L7F00C1A8
/* 040C18 7F00C0E8 26733720 */ addiu $s3, %lo(g_musicSfxBufferPtr) # addiu $s3, $s3, 0x3720
.L7F00C0EC:
/* 040C1C 7F00C0EC 24010001 */ li $at, 1
/* 040C20 7F00C0F0 5441000E */ bnel $v0, $at, .L7F00C12C
/* 040C24 7F00C0F4 24010002 */ li $at, 2
/* 040C28 7F00C0F8 0FC07B68 */ jal sub_GAME_7F01EDA0
/* 040C2C 7F00C0FC 02402025 */ move $a0, $s2
/* 040C30 7F00C100 3C138006 */ lui $s3, %hi(g_musicSfxBufferPtr)
/* 040C34 7F00C104 26733720 */ addiu $s3, %lo(g_musicSfxBufferPtr) # addiu $s3, $s3, 0x3720
/* 040C38 7F00C108 AE200000 */ sw $zero, ($s1)
/* 040C3C 7F00C10C 8E640000 */ lw $a0, ($s3)
/* 040C40 7F00C110 2405004F */ li $a1, 79
/* 040C44 7F00C114 0C002382 */ jal play_sfx_a1
/* 040C48 7F00C118 00003025 */ move $a2, $zero
/* 040C4C 7F00C11C 3C138006 */ lui $s3, %hi(g_musicSfxBufferPtr)
/* 040C50 7F00C120 10000021 */ b .L7F00C1A8
/* 040C54 7F00C124 26733720 */ addiu $s3, %lo(g_musicSfxBufferPtr) # addiu $s3, $s3, 0x3720
/* 040C58 7F00C128 24010002 */ li $at, 2
.L7F00C12C:
/* 040C5C 7F00C12C 14410012 */ bne $v0, $at, .L7F00C178
/* 040C60 7F00C130 00000000 */ nop
/* 040C64 7F00C134 8FA90060 */ lw $t1, 0x60($sp)
/* 040C68 7F00C138 3C138006 */ lui $s3, %hi(g_musicSfxBufferPtr)
/* 040C6C 7F00C13C 26733720 */ addiu $s3, %lo(g_musicSfxBufferPtr) # addiu $s3, $s3, 0x3720
/* 040C70 7F00C140 05200009 */ bltz $t1, .L7F00C168
/* 040C74 7F00C144 24050012 */ li $a1, 18
/* 040C78 7F00C148 8FAA005C */ lw $t2, 0x5c($sp)
/* 040C7C 7F00C14C 3C108003 */ lui $s0, %hi(folder_selected_for_deletion_choice)
/* 040C80 7F00C150 2610A920 */ addiu $s0, %lo(folder_selected_for_deletion_choice) # addiu $s0, $s0, -0x56e0
/* 040C84 7F00C154 05400004 */ bltz $t2, .L7F00C168
/* 040C88 7F00C158 3C018003 */ lui $at, %hi(folder_selected_for_deletion)
/* 040C8C 7F00C15C AC32A91C */ sw $s2, %lo(folder_selected_for_deletion)($at)
/* 040C90 7F00C160 240B0001 */ li $t3, 1
/* 040C94 7F00C164 AE0B0000 */ sw $t3, ($s0)
.L7F00C168:
/* 040C98 7F00C168 AE200000 */ sw $zero, ($s1)
/* 040C9C 7F00C16C 8E640000 */ lw $a0, ($s3)
/* 040CA0 7F00C170 0C002382 */ jal play_sfx_a1
/* 040CA4 7F00C174 00003025 */ move $a2, $zero
.L7F00C178:
/* 040CA8 7F00C178 3C138006 */ lui $s3, %hi(g_musicSfxBufferPtr)
/* 040CAC 7F00C17C 1000000A */ b .L7F00C1A8
/* 040CB0 7F00C180 26733720 */ addiu $s3, %lo(g_musicSfxBufferPtr) # addiu $s3, $s3, 0x3720
/* 040CB4 7F00C184 26520001 */ addiu $s2, $s2, 1
.L7F00C188:
/* 040CB8 7F00C188 24010004 */ li $at, 4
/* 040CBC 7F00C18C 26100004 */ addiu $s0, $s0, 4
/* 040CC0 7F00C190 1641FF9A */ bne $s2, $at, .L7F00BFFC
/* 040CC4 7F00C194 2631000C */ addiu $s1, $s1, 0xc
/* 040CC8 7F00C198 3C138006 */ lui $s3, %hi(g_musicSfxBufferPtr)
/* 040CCC 7F00C19C 3C118003 */ lui $s1, %hi(folder_selection_screen_option_icon)
/* 040CD0 7F00C1A0 2631A918 */ addiu $s1, %lo(folder_selection_screen_option_icon) # addiu $s1, $s1, -0x56e8
/* 040CD4 7F00C1A4 26733720 */ addiu $s3, %lo(g_musicSfxBufferPtr) # addiu $s3, $s3, 0x3720
.L7F00C1A8:
/* 040CD8 7F00C1A8 00002025 */ move $a0, $zero
/* 040CDC 7F00C1AC 0C0030EB */ jal joyGetButtonsPressedThisFrame
/* 040CE0 7F00C1B0 3405B000 */ li $a1, 45056
/* 040CE4 7F00C1B4 1040004A */ beqz $v0, .L7F00C2E0
/* 040CE8 7F00C1B8 3C028003 */ lui $v0, %hi(folder_option_COPY_left_bound)
/* 040CEC 7F00C1BC 2442ABC4 */ addiu $v0, %lo(folder_option_COPY_left_bound) # addiu $v0, $v0, -0x543c
/* 040CF0 7F00C1C0 3C018003 */ lui $at, %hi(cursor_h_pos)
/* 040CF4 7F00C1C4 C422A908 */ lwc1 $f2, %lo(cursor_h_pos)($at)
/* 040CF8 7F00C1C8 C4480000 */ lwc1 $f8, ($v0)
/* 040CFC 7F00C1CC 4602403E */ c.le.s $f8, $f2
/* 040D00 7F00C1D0 00000000 */ nop
/* 040D04 7F00C1D4 45000019 */ bc1f .L7F00C23C
/* 040D08 7F00C1D8 00000000 */ nop
/* 040D0C 7F00C1DC C44A0008 */ lwc1 $f10, 8($v0)
/* 040D10 7F00C1E0 3C018003 */ lui $at, %hi(cursor_v_pos)
/* 040D14 7F00C1E4 460A103E */ c.le.s $f2, $f10
/* 040D18 7F00C1E8 00000000 */ nop
/* 040D1C 7F00C1EC 45000013 */ bc1f .L7F00C23C
/* 040D20 7F00C1F0 00000000 */ nop
/* 040D24 7F00C1F4 C420A90C */ lwc1 $f0, %lo(cursor_v_pos)($at)
/* 040D28 7F00C1F8 C4500004 */ lwc1 $f16, 4($v0)
/* 040D2C 7F00C1FC 4600803E */ c.le.s $f16, $f0
/* 040D30 7F00C200 00000000 */ nop
/* 040D34 7F00C204 4500000D */ bc1f .L7F00C23C
/* 040D38 7F00C208 00000000 */ nop
/* 040D3C 7F00C20C C452000C */ lwc1 $f18, 0xc($v0)
/* 040D40 7F00C210 240C0001 */ li $t4, 1
/* 040D44 7F00C214 240500DE */ li $a1, 222
/* 040D48 7F00C218 4612003E */ c.le.s $f0, $f18
/* 040D4C 7F00C21C 00003025 */ move $a2, $zero
/* 040D50 7F00C220 45000006 */ bc1f .L7F00C23C
/* 040D54 7F00C224 00000000 */ nop
/* 040D58 7F00C228 AE2C0000 */ sw $t4, ($s1)
/* 040D5C 7F00C22C 0C002382 */ jal play_sfx_a1
/* 040D60 7F00C230 8E640000 */ lw $a0, ($s3)
/* 040D64 7F00C234 10000037 */ b .L7F00C314
/* 040D68 7F00C238 00000000 */ nop
.L7F00C23C:
/* 040D6C 7F00C23C 3C028003 */ lui $v0, %hi(folder_option_ERASE_left_bound)
/* 040D70 7F00C240 2442ABD4 */ addiu $v0, %lo(folder_option_ERASE_left_bound) # addiu $v0, $v0, -0x542c
/* 040D74 7F00C244 C4440000 */ lwc1 $f4, ($v0)
/* 040D78 7F00C248 4602203E */ c.le.s $f4, $f2
/* 040D7C 7F00C24C 00000000 */ nop
/* 040D80 7F00C250 4502001A */ bc1fl .L7F00C2BC
/* 040D84 7F00C254 8E2E0000 */ lw $t6, ($s1)
/* 040D88 7F00C258 C4460008 */ lwc1 $f6, 8($v0)
/* 040D8C 7F00C25C 3C018003 */ lui $at, %hi(cursor_v_pos)
/* 040D90 7F00C260 4606103E */ c.le.s $f2, $f6
/* 040D94 7F00C264 00000000 */ nop
/* 040D98 7F00C268 45020014 */ bc1fl .L7F00C2BC
/* 040D9C 7F00C26C 8E2E0000 */ lw $t6, ($s1)
/* 040DA0 7F00C270 C420A90C */ lwc1 $f0, %lo(cursor_v_pos)($at)
/* 040DA4 7F00C274 C4480004 */ lwc1 $f8, 4($v0)
/* 040DA8 7F00C278 4600403E */ c.le.s $f8, $f0
/* 040DAC 7F00C27C 00000000 */ nop
/* 040DB0 7F00C280 4502000E */ bc1fl .L7F00C2BC
/* 040DB4 7F00C284 8E2E0000 */ lw $t6, ($s1)
/* 040DB8 7F00C288 C44A000C */ lwc1 $f10, 0xc($v0)
/* 040DBC 7F00C28C 240D0002 */ li $t5, 2
/* 040DC0 7F00C290 240500DE */ li $a1, 222
/* 040DC4 7F00C294 460A003E */ c.le.s $f0, $f10
/* 040DC8 7F00C298 00003025 */ move $a2, $zero
/* 040DCC 7F00C29C 45020007 */ bc1fl .L7F00C2BC
/* 040DD0 7F00C2A0 8E2E0000 */ lw $t6, ($s1)
/* 040DD4 7F00C2A4 AE2D0000 */ sw $t5, ($s1)
/* 040DD8 7F00C2A8 0C002382 */ jal play_sfx_a1
/* 040DDC 7F00C2AC 8E640000 */ lw $a0, ($s3)
/* 040DE0 7F00C2B0 10000018 */ b .L7F00C314
/* 040DE4 7F00C2B4 00000000 */ nop
/* 040DE8 7F00C2B8 8E2E0000 */ lw $t6, ($s1)
.L7F00C2BC:
/* 040DEC 7F00C2BC 24050076 */ li $a1, 118
/* 040DF0 7F00C2C0 00003025 */ move $a2, $zero
/* 040DF4 7F00C2C4 11C00013 */ beqz $t6, .L7F00C314
/* 040DF8 7F00C2C8 00000000 */ nop
/* 040DFC 7F00C2CC AE200000 */ sw $zero, ($s1)
/* 040E00 7F00C2D0 0C002382 */ jal play_sfx_a1
/* 040E04 7F00C2D4 8E640000 */ lw $a0, ($s3)
/* 040E08 7F00C2D8 1000000E */ b .L7F00C314
/* 040E0C 7F00C2DC 00000000 */ nop
.L7F00C2E0:
/* 040E10 7F00C2E0 00002025 */ move $a0, $zero
/* 040E14 7F00C2E4 0C0030EB */ jal joyGetButtonsPressedThisFrame
/* 040E18 7F00C2E8 24054000 */ li $a1, 16384
/* 040E1C 7F00C2EC 10400009 */ beqz $v0, .L7F00C314
/* 040E20 7F00C2F0 00000000 */ nop
/* 040E24 7F00C2F4 8E2F0000 */ lw $t7, ($s1)
/* 040E28 7F00C2F8 24050076 */ li $a1, 118
/* 040E2C 7F00C2FC 00003025 */ move $a2, $zero
/* 040E30 7F00C300 11E00004 */ beqz $t7, .L7F00C314
/* 040E34 7F00C304 00000000 */ nop
/* 040E38 7F00C308 AE200000 */ sw $zero, ($s1)
/* 040E3C 7F00C30C 0C002382 */ jal play_sfx_a1
/* 040E40 7F00C310 8E640000 */ lw $a0, ($s3)
.L7F00C314:
/* 040E44 7F00C314 0FC026E1 */ jal menu_control_stick_tracking
/* 040E48 7F00C318 00000000 */ nop
.L7F00C31C:
/* 040E4C 7F00C31C 3C188003 */ lui $t8, %hi(selected_folder_num)
/* 040E50 7F00C320 8F18A8E8 */ lw $t8, %lo(selected_folder_num)($t8)
/* 040E54 7F00C324 07000007 */ bltz $t8, .L7F00C344
/* 040E58 7F00C328 24040006 */ li $a0, 6
/* 040E5C 7F00C32C 0FC06975 */ jal set_menu_to_mode
/* 040E60 7F00C330 00002825 */ move $a1, $zero
/* 040E64 7F00C334 0FC035FF */ jal setCursorPOSforMode
/* 040E68 7F00C338 00002025 */ move $a0, $zero
/* 040E6C 7F00C33C 1000000A */ b .L7F00C368
/* 040E70 7F00C340 8FBF0044 */ lw $ra, 0x44($sp)
.L7F00C344:
/* 040E74 7F00C344 3C198003 */ lui $t9, %hi(menu_timer)
/* 040E78 7F00C348 8F39A8CC */ lw $t9, %lo(menu_timer)($t9)
/* 040E7C 7F00C34C 00002025 */ move $a0, $zero
/* 040E80 7F00C350 2B210709 */ slti $at, $t9, 0x709
/* 040E84 7F00C354 54200004 */ bnezl $at, .L7F00C368
/* 040E88 7F00C358 8FBF0044 */ lw $ra, 0x44($sp)
/* 040E8C 7F00C35C 0FC06975 */ jal set_menu_to_mode
/* 040E90 7F00C360 24050001 */ li $a1, 1
/* 040E94 7F00C364 8FBF0044 */ lw $ra, 0x44($sp)
.L7F00C368:
/* 040E98 7F00C368 D7B40028 */ ldc1 $f20, 0x28($sp)
/* 040E9C 7F00C36C 8FB00034 */ lw $s0, 0x34($sp)
/* 040EA0 7F00C370 8FB10038 */ lw $s1, 0x38($sp)
/* 040EA4 7F00C374 8FB2003C */ lw $s2, 0x3c($sp)
/* 040EA8 7F00C378 8FB30040 */ lw $s3, 0x40($sp)
/* 040EAC 7F00C37C 03E00008 */ jr $ra
/* 040EB0 7F00C380 27BD0110 */ addiu $sp, $sp, 0x110
)
#endif
#ifdef NONMATCHING
int get_ptr_difficulty_name(s32 difficulty)
{
u8 *return;
return = NULL;
if (difficulty == 0) {
return = get_textptr_for_textID(TEXT(LTITLE, 0x13));
}
else {
if (difficulty == 1) {
return = get_textptr_for_textID(TEXT(LTITLE, 0x14));
}
else {
if (difficulty == 2) {
return = get_textptr_for_textID(TEXT(LTITLE, 0x15));
}
else {
if (difficulty == 3) {
return = get_textptr_for_textID(TEXT(LTITLE, 0x16));
}
}
}
}
return (int)return;
}
#else
GLOBAL_ASM(
.text
glabel get_ptr_difficulty_name
/* 040EB4 7F00C384 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 040EB8 7F00C388 AFBF0014 */ sw $ra, 0x14($sp)
/* 040EBC 7F00C38C 1080000A */ beqz $a0, .L7F00C3B8
/* 040EC0 7F00C390 00001825 */ move $v1, $zero
/* 040EC4 7F00C394 24010001 */ li $at, 1
/* 040EC8 7F00C398 1081000B */ beq $a0, $at, .L7F00C3C8
/* 040ECC 7F00C39C 24010002 */ li $at, 2
/* 040ED0 7F00C3A0 1081000D */ beq $a0, $at, .L7F00C3D8
/* 040ED4 7F00C3A4 24010003 */ li $at, 3
/* 040ED8 7F00C3A8 1081000F */ beq $a0, $at, .L7F00C3E8
/* 040EDC 7F00C3AC 00000000 */ nop
/* 040EE0 7F00C3B0 10000011 */ b .L7F00C3F8
/* 040EE4 7F00C3B4 8FBF0014 */ lw $ra, 0x14($sp)
.L7F00C3B8:
/* 040EE8 7F00C3B8 0FC30776 */ jal get_textptr_for_textID
/* 040EEC 7F00C3BC 34049C13 */ li $a0, 39955
/* 040EF0 7F00C3C0 1000000C */ b .L7F00C3F4
/* 040EF4 7F00C3C4 00401825 */ move $v1, $v0
.L7F00C3C8:
/* 040EF8 7F00C3C8 0FC30776 */ jal get_textptr_for_textID
/* 040EFC 7F00C3CC 34049C14 */ li $a0, 39956
/* 040F00 7F00C3D0 10000008 */ b .L7F00C3F4
/* 040F04 7F00C3D4 00401825 */ move $v1, $v0
.L7F00C3D8:
/* 040F08 7F00C3D8 0FC30776 */ jal get_textptr_for_textID
/* 040F0C 7F00C3DC 34049C15 */ li $a0, 39957
/* 040F10 7F00C3E0 10000004 */ b .L7F00C3F4
/* 040F14 7F00C3E4 00401825 */ move $v1, $v0
.L7F00C3E8:
/* 040F18 7F00C3E8 0FC30776 */ jal get_textptr_for_textID
/* 040F1C 7F00C3EC 34049C16 */ li $a0, 39958
/* 040F20 7F00C3F0 00401825 */ move $v1, $v0
.L7F00C3F4:
/* 040F24 7F00C3F4 8FBF0014 */ lw $ra, 0x14($sp)
.L7F00C3F8:
/* 040F28 7F00C3F8 27BD0018 */ addiu $sp, $sp, 0x18
/* 040F2C 7F00C3FC 00601025 */ move $v0, $v1
/* 040F30 7F00C400 03E00008 */ jr $ra
/* 040F34 7F00C404 00000000 */ nop
)
#endif
#ifdef NONMATCHING
void *constructor_menu05_fileselect(void *arg0)
{
s32 sp1B4;
s32 sp1A8;
s32 sp19C;
void *sp158;
s32 sp154;
s32 sp150;
s32 sp14C;
s32 sp108;
s32 sp100;
s32 spFC;
s32 spF8;
s32 spF4;
s32 spF0;
s32 spEC;
s32 spE4;
s32 spD0;
s32 spBC;
f32 spB0;
f32 spAC;
f32 spA8;
f32 spA4;
f32 spA0;
f32 sp9C;
f32 sp98;
f32 sp94;
f32 sp90;
f32 sp8C;
f32 sp88;
f32 sp84;
void *sp74;
f32 temp_f10;
f32 temp_f10_2;
f32 temp_f18;
f32 temp_f6;
f32 temp_f6_2;
s32 temp_a2;
s32 temp_ret;
s32 temp_ret_2;
s32 temp_ret_3;
s32 temp_ret_4;
s32 temp_ret_5;
s32 temp_s1;
s32 temp_s1_2;
s32 temp_s1_3;
s32 temp_s1_4;
s32 temp_t0;
s32 temp_v0;
s32 temp_v0_2;
u32 temp_s2;
void *temp_a0;
void *temp_a0_2;
void *temp_a1;
void *temp_a1_2;
void *temp_t2;
void *temp_t4;
void *temp_t7;
void *temp_t9;
void *temp_v0_3;
void *phi_t9;
void *phi_t2;
void *phi_s2;
s32 phi_s0;
s32 phi_s1;
void *phi_s0_2;
s32 phi_s1_2;
s32 phi_s2_2;
s32 phi_s1_3;
f32 phi_f6;
f32 phi_f18;
f32 phi_f6_2;
f32 phi_f10;
sp1A8.unk0 = (s32) unknown_folderselect_constructor.unk0;
sp1A8.unk4 = (s32) unknown_folderselect_constructor.unk4;
sp1A8.unk8 = (s32) unknown_folderselect_constructor.unk8;
sp19C.unk0 = (s32) unknown_folderselect_constructor_0.unk0;
sp19C.unk4 = (s32) unknown_folderselect_constructor_0.unk4;
sp19C.unk8 = (s32) unknown_folderselect_constructor_0.unk8;
temp_ret = insert_imageDL(arg0);
arg0 = (void *) (temp_ret + 8);
temp_v0 = temp_ret;
temp_v0->unk0 = 0xfc167e2c;
temp_v0->unk4 = 0x33fdf6fb;
temp_t7 = arg0;
arg0 = (void *) (temp_t7 + 8);
temp_t7->unk4 = -0xec;
temp_t7->unk0 = &0xFB00000C;
temp_ret_2 = sub_GAME_7F007CC8(arg0, (s32) truncf(((f32) viGetX() * -80.0f) / 1280.0f), &sp1A8, &sp19C);
arg0 = (void *) (temp_ret_2 + 8);
temp_v0_2 = temp_ret_2;
temp_v0_2->unk4 = 0x1000000;
temp_v0_2->unk0 = 0x6000000;
temp_t4 = arg0;
arg0 = (void *) (temp_t4 + 8);
temp_t4->unk4 = &D_01000040;
temp_t4->unk0 = 0x6000000;
phi_s2 = &D_8002A968;
loop_1:
phi_t9 = &unknown_folderselect;
phi_t2 = &sp14C;
loop_2:
temp_t9 = phi_t9;
temp_t2 = phi_t2 + 0xc;
temp_t2->unk-C = (s32) phi_t9->unk0;
temp_t2->unk-8 = (s32) temp_t9->unk-8;
temp_t2->unk-4 = (s32) temp_t9->unk-4;
phi_t9 = temp_t9;
phi_t2 = temp_t2;
if (temp_t9 != (&unknown_folderselect + 0x3c))
{
goto loop_2;
}
temp_t2->unk0 = (s32) temp_t9->unk0;
sp154 = 3;
sp150 = 0;
sp158 = arg0;
subdraw(&sp14C, *phi_s2);
arg0 = sp158;
phi_s0 = 0;
phi_s1 = 0;
if ((*phi_s2)->unk8->unkE > 0)
{
loop_4:
matrix_4x4_copy(temp_v0_3->unkC + phi_s0, &sp108);
sub_GAME_7F058C9C(&sp108, (*phi_s2)->unkC + (phi_s1 << 6));
temp_v0_3 = *phi_s2;
temp_s1 = phi_s1 + 1;
phi_s0 = phi_s0 + 0x40;
phi_s1 = temp_s1;
if (temp_s1 < temp_v0_3->unk8->unkE)
{
goto loop_4;
}
}
temp_s2 = phi_s2 + -4;
phi_s2 = temp_s2;
if (temp_s2 >= &ptr_folder_object_instance)
{
goto loop_1;
}
arg0 = microcode_constructor(arg0);
setTextSpacingInverted(0);
sp74 = &dword_CODE_bss_80069620;
sp1B4 = 0;
loop_7:
sub_GAME_7F077FF4(sp74, &spE4);
if (sp1B4 == folder_selected_for_deletion)
{
truncf(spE4, sp1B4, &spF0);
temp_a2 = (s32) truncf(spE8) + 0x19;
arg0 = microcode_constructor_related_to_menus(arg0, sp100, temp_a2, sp100 + 0x63, (s32) (temp_a2 + 0x2a), 0x32);
truncf(spE4);
truncf(spE8);
viGetX();
arg0 = en_text_write_stuff(arg0, &sp100, &spFC, get_textptr_for_textID(TEXT(LTITLE, 0x17)), (s32) ptrSecondFontTableLarge, (s32) ptrFirstFontTableLarge, viGetY(), 0, 0);
temp_s1_2 = get_textptr_for_textID(TEXT(LTITLE, 0x18));
truncf(spE4);
truncf(spE8);
temp_a0 = &spF8;
temp_a1 = &spF4;
if (folder_selected_for_deletion_choice != 0)
{
spF4 = 0;
spF8 = 0;
sub_GAME_7F0AE98C(temp_a0, temp_a1, temp_s1_2, ptrSecondFontTableLarge, (s32) ptrFirstFontTableLarge, 0);
arg0 = microcode_constructor_related_to_menus(arg0, sp100 + -1, spFC + -1, (sp100 + spF4) + 3, (s32) (spFC + spF8), 0x32);
viGetX();
arg0 = en_text_write_stuff(arg0, &sp100, &spFC, temp_s1_2, (s32) ptrSecondFontTableLarge, (s32) ptrFirstFontTableLarge, -1, viGetY(), 0, 0);
}
else
{
viGetX(temp_a0, temp_a1, temp_s1_2);
arg0 = en_text_write_stuff(arg0, &sp100, &spFC, temp_s1_2, (s32) ptrSecondFontTableLarge, (s32) ptrFirstFontTableLarge, viGetY(), 0, 0);
}
temp_s1_3 = get_textptr_for_textID(TEXT(LTITLE, 0x19));
truncf(spE4);
if (j_text_trigger != 0)
{
}
truncf(spE8);
temp_a0_2 = &spF8;
temp_a1_2 = &spF4;
if (folder_selected_for_deletion_choice != 0)
{
viGetX(temp_a0_2, temp_a1_2, temp_s1_3);
arg0 = en_text_write_stuff(arg0, &sp100, &spFC, temp_s1_3, (s32) ptrSecondFontTableLarge, (s32) ptrFirstFontTableLarge, viGetY(), 0, 0);
}
else
{
spF4 = 0;
spF8 = 0;
sub_GAME_7F0AE98C(temp_a0_2, temp_a1_2, temp_s1_3, ptrSecondFontTableLarge, (s32) ptrFirstFontTableLarge, 0);
arg0 = microcode_constructor_related_to_menus(arg0, sp100 + -1, spFC + -1, (sp100 + spF4) + 3, (s32) (spFC + spF8), 0x32);
viGetX();
arg0 = en_text_write_stuff(arg0, &sp100, &spFC, temp_s1_3, (s32) ptrSecondFontTableLarge, (s32) ptrFirstFontTableLarge, -1, viGetY(), 0, 0);
}
}
else
{
get_highest_stage_difficulty_completed_in_folder(sp1B4, &spF0, &spEC);
if (spF0 >= 0)
{
if (spEC >= 0)
{
temp_ret_3 = get_ptr_difficulty_name(spEC);
if (temp_ret_3 != 0)
{
strcpy(&spD0, temp_ret_3);
strcat(&spD0, &asc_D_8004F488);
spF4 = 0;
spF8 = 0;
sub_GAME_7F0AE98C(&spF8, &spF4, &spD0, ptrSecondFontTableLarge, (s32) ptrFirstFontTableLarge, 0);
truncf(spE4);
if (spF4 < 0)
{
}
truncf(spE8);
viGetX();
arg0 = en_text_write_stuff(arg0, &sp100, &spFC, &spD0, (s32) ptrSecondFontTableLarge, (s32) ptrFirstFontTableLarge, viGetY(), 0, 0);
}
if (spEC != 3)
{
strcpy(&spBC, get_textptr_for_textID(TEXT(LTITLE, 0x1a));
phi_s0_2 = &mission_folder_setup_entries;
phi_s1_2 = 0;
phi_s2_2 = -1;
phi_s1_3 = 0;
if (D_8002ABE8 != 0)
{
loop_24:
if (spF0 == phi_s0_2->unk14)
{
phi_s2_2 = get_chapter_briefing_entry(phi_s1_2);
phi_s1_3 = phi_s1_2;
}
else
{
temp_s1_4 = phi_s1_2 + 1;
phi_s0_2 = phi_s0_2 + 0x1c;
phi_s1_2 = temp_s1_4;
phi_s2_2 = -1;
phi_s1_3 = temp_s1_4;
if (phi_s0_2->unk20 != 0)
{
goto loop_24;
}
}
}
if (phi_s2_2 >= 0)
{
strcat(&spBC, *((((phi_s2_2 * 8) - phi_s2_2) * 4) + &mission_folder_setup_entries));
strcat(&spBC, &a_);
}
strcat(&spBC, *((((phi_s1_3 * 8) - phi_s1_3) * 4) + &mission_folder_setup_entries));
strcat(&spBC, &asc_D_8004F490);
spF4 = 0;
spF8 = 0;
sub_GAME_7F0AE98C(&spF8, &spF4, &spBC, ptrSecondFontTableLarge, (s32) ptrFirstFontTableLarge, 0);
truncf(spE4);
if (spF4 < 0)
{
}
truncf(spE8);
viGetX();
arg0 = en_text_write_stuff(arg0, &sp100, &spFC, &spBC, (s32) ptrSecondFontTableLarge, (s32) ptrFirstFontTableLarge, viGetY(), 0, 0);
}
}
}
}
temp_t0 = sp1B4 + 1;
sp74 = (void *) (sp74 + 0xc);
sp1B4 = temp_t0;
if (temp_t0 != 4)
{
goto loop_7;
}
setTextSpacingInverted(0);
temp_ret_4 = get_textptr_for_textID(TEXT(LTITLE, 0x1b));
spF4 = 0;
spF8 = 0;
sub_GAME_7F0AE98C(&spF8, &spF4, temp_ret_4, ptrSecondFontTableLarge, (s32) ptrFirstFontTableLarge, 0);
if (spF8 < 0)
{
}
viGetX();
arg0 = en_text_write_stuff(arg0, &sp100, &spFC, temp_ret_4, (s32) ptrSecondFontTableLarge, (s32) ptrFirstFontTableLarge, -1, viGetY(), 0, 0);
folder_option_COPY_left_bound.unk8 = (f32) (sp100 + spF4);
temp_ret_5 = get_textptr_for_textID(TEXT(LTITLE, 0x1c));
spF4 = 0;
spF8 = 0;
sub_GAME_7F0AE98C(&spF8, &spF4, temp_ret_5, ptrSecondFontTableLarge, (s32) ptrFirstFontTableLarge, 0);
if (spF8 < 0)
{
}
viGetX();
folder_option_ERASE_left_bound.unk8 = (f32) (sp100 + spF4);
arg0 = en_text_write_stuff(arg0, &sp100, &spFC, temp_ret_5, (s32) ptrSecondFontTableLarge, (s32) ptrFirstFontTableLarge, -1, viGetY(), 0, 0);
spAC = 225.0f;
spB0 = (f32) D_80051A28;
temp_f10 = (f32) (u32) mainfolderimages->unk4 * 0.5f;
spA4 = temp_f10;
spA8 = (f32) ((f32) (u32) mainfolderimages->unk5 * 0.5f);
likely_generate_DL_for_image_declaration(&arg0, mainfolderimages, 4, 0, 0);
display_image_at_on_screen_coord(&arg0, &spAC, &spA4, mainfolderimages->unk4, (s32) mainfolderimages->unk5, 0, 0, 1, 0xff, 0xff, 0xff, 0xff, (s32) (0 < mainfolderimages->unk6), 0);
folder_option_COPY_left_bound.unk0 = (f32) (spAC - temp_f10);
folder_option_COPY_left_bound.unk4 = (f32) (spB0 - spA8);
folder_option_COPY_left_bound.unkC = (f32) (spA8 + spB0);
sp9C = (f32) D_80051A2C;
spA0 = (f32) D_80051A30;
temp_f6 = (f32) mainfolderimages->unk10;
phi_f6 = temp_f6;
if (mainfolderimages->unk10 < 0)
{
phi_f6 = temp_f6 + 4294967296.0f;
}
sp94 = (f32) (phi_f6 * 0.5f);
temp_f18 = (f32) mainfolderimages->unk11;
phi_f18 = temp_f18;
if (mainfolderimages->unk11 < 0)
{
phi_f18 = temp_f18 + 4294967296.0f;
}
sp98 = (f32) (phi_f18 * 0.5f);
likely_generate_DL_for_image_declaration(&arg0, mainfolderimages + 0xc, 4, 0, 0);
display_image_at_on_screen_coord(&arg0, &sp9C, &sp94, mainfolderimages->unk10, (s32) mainfolderimages->unk11, 0, 0, 1, 0xff, 0xff, 0xff, 0xff, (s32) (0 < mainfolderimages->unk12), 0);
folder_option_ERASE_left_bound.unk0 = (f32) (sp9C - sp94);
folder_option_ERASE_left_bound.unk4 = (f32) (spA0 - sp98);
folder_option_ERASE_left_bound.unkC = (f32) (sp98 + spA0);
sp8C = 110.0f;
sp90 = (f32) D_80051A34;
temp_f6_2 = (f32) mainfolderimages->unk1C;
phi_f6_2 = temp_f6_2;
if (mainfolderimages->unk1C < 0)
{
phi_f6_2 = temp_f6_2 + 4294967296.0f;
}
sp84 = (f32) (phi_f6_2 * 0.5f);
temp_f10_2 = (f32) mainfolderimages->unk1D;
phi_f10 = temp_f10_2;
if (mainfolderimages->unk1D < 0)
{
phi_f10 = temp_f10_2 + 4294967296.0f;
}
sp88 = (f32) (phi_f10 * 0.5f);
likely_generate_DL_for_image_declaration(&arg0, mainfolderimages + 0x18, 4, 0, 0);
display_image_at_on_screen_coord(&arg0, &sp8C, &sp84, mainfolderimages->unk1C, (s32) mainfolderimages->unk1D, 0, 0, 1, 0xff, 0xff, 0xff, 0xff, (s32) (0 < mainfolderimages->unk1E), 0);
if (folder_selected_for_deletion < 0)
{
arg0 = load_draw_selected_icon_folder_select(arg0);
}
return arg0;
}
#else
const char asc_D_8004F488[] = "\n";
const char a_[] = ".";
const char asc_D_8004F490[] = "\n";
GLOBAL_ASM(
.rdata
.late_rodata
glabel D_80051A28
.word 0x438E8000 /* 285.0;*/
glabel D_80051A2C
.word 0x43A78000 /* 335.0;*/
glabel D_80051A30
.word 0x438E8000 /* 285.0;*/
glabel D_80051A34
.word 0x438E8000 /* 285.0;*/
.text
glabel constructor_menu05_fileselect
/* 040F38 7F00C408 27BDFE48 */ addiu $sp, $sp, -0x1b8
/* 040F3C 7F00C40C 3C0E8003 */ lui $t6, %hi(unknown_folderselect_constructor)
/* 040F40 7F00C410 AFBF0064 */ sw $ra, 0x64($sp)
/* 040F44 7F00C414 AFBE0060 */ sw $fp, 0x60($sp)
/* 040F48 7F00C418 AFB7005C */ sw $s7, 0x5c($sp)
/* 040F4C 7F00C41C AFB60058 */ sw $s6, 0x58($sp)
/* 040F50 7F00C420 AFB50054 */ sw $s5, 0x54($sp)
/* 040F54 7F00C424 AFB40050 */ sw $s4, 0x50($sp)
/* 040F58 7F00C428 AFB3004C */ sw $s3, 0x4c($sp)
/* 040F5C 7F00C42C AFB20048 */ sw $s2, 0x48($sp)
/* 040F60 7F00C430 AFB10044 */ sw $s1, 0x44($sp)
/* 040F64 7F00C434 AFB00040 */ sw $s0, 0x40($sp)
/* 040F68 7F00C438 AFA401B8 */ sw $a0, 0x1b8($sp)
/* 040F6C 7F00C43C 25CEAF2C */ addiu $t6, %lo(unknown_folderselect_constructor) # addiu $t6, $t6, -0x50d4
/* 040F70 7F00C440 8DC10000 */ lw $at, ($t6)
/* 040F74 7F00C444 27B001A8 */ addiu $s0, $sp, 0x1a8
/* 040F78 7F00C448 3C088003 */ lui $t0, %hi(unknown_folderselect_constructor_0)
/* 040F7C 7F00C44C AE010000 */ sw $at, ($s0)
/* 040F80 7F00C450 8DD90004 */ lw $t9, 4($t6)
/* 040F84 7F00C454 2508AF38 */ addiu $t0, %lo(unknown_folderselect_constructor_0) # addiu $t0, $t0, -0x50c8
/* 040F88 7F00C458 27B1019C */ addiu $s1, $sp, 0x19c
/* 040F8C 7F00C45C AE190004 */ sw $t9, 4($s0)
/* 040F90 7F00C460 8DC10008 */ lw $at, 8($t6)
/* 040F94 7F00C464 AE010008 */ sw $at, 8($s0)
/* 040F98 7F00C468 8D010000 */ lw $at, ($t0)
/* 040F9C 7F00C46C AE210000 */ sw $at, ($s1)
/* 040FA0 7F00C470 8D0B0004 */ lw $t3, 4($t0)
/* 040FA4 7F00C474 AE2B0004 */ sw $t3, 4($s1)
/* 040FA8 7F00C478 8D010008 */ lw $at, 8($t0)
/* 040FAC 7F00C47C AE210008 */ sw $at, 8($s1)
/* 040FB0 7F00C480 0FC07034 */ jal insert_imageDL
/* 040FB4 7F00C484 8FA401B8 */ lw $a0, 0x1b8($sp)
/* 040FB8 7F00C488 244C0008 */ addiu $t4, $v0, 8
/* 040FBC 7F00C48C AFAC01B8 */ sw $t4, 0x1b8($sp)
/* 040FC0 7F00C490 3C0DFC16 */ lui $t5, (0xFC167E2C >> 16) # lui $t5, 0xfc16
/* 040FC4 7F00C494 3C1833FD */ lui $t8, (0x33FDF6FB >> 16) # lui $t8, 0x33fd
/* 040FC8 7F00C498 3718F6FB */ ori $t8, (0x33FDF6FB & 0xFFFF) # ori $t8, $t8, 0xf6fb
/* 040FCC 7F00C49C 35AD7E2C */ ori $t5, (0xFC167E2C & 0xFFFF) # ori $t5, $t5, 0x7e2c
/* 040FD0 7F00C4A0 AC4D0000 */ sw $t5, ($v0)
/* 040FD4 7F00C4A4 AC580004 */ sw $t8, 4($v0)
/* 040FD8 7F00C4A8 8FAF01B8 */ lw $t7, 0x1b8($sp)
/* 040FDC 7F00C4AC 3C19FB00 */ lui $t9, %hi(0xFB00000C) # $t9, 0xfb00
/* 040FE0 7F00C4B0 240AFF14 */ li $t2, -236
/* 040FE4 7F00C4B4 25EE0008 */ addiu $t6, $t7, 8
/* 040FE8 7F00C4B8 AFAE01B8 */ sw $t6, 0x1b8($sp)
/* 040FEC 7F00C4BC ADEA0004 */ sw $t2, 4($t7)
/* 040FF0 7F00C4C0 0C001107 */ jal viGetX
/* 040FF4 7F00C4C4 ADF90000 */ sw $t9, ($t7)
/* 040FF8 7F00C4C8 44822000 */ mtc1 $v0, $f4
/* 040FFC 7F00C4CC 3C01C2A0 */ li $at, 0xC2A00000 # -80.000000
/* 041000 7F00C4D0 44814000 */ mtc1 $at, $f8
/* 041004 7F00C4D4 468021A0 */ cvt.s.w $f6, $f4
/* 041008 7F00C4D8 3C0144A0 */ li $at, 0x44A00000 # 1280.000000
/* 04100C 7F00C4DC 44818000 */ mtc1 $at, $f16
/* 041010 7F00C4E0 46083282 */ mul.s $f10, $f6, $f8
/* 041014 7F00C4E4 0FC170D8 */ jal truncf
/* 041018 7F00C4E8 46105303 */ div.s $f12, $f10, $f16
/* 04101C 7F00C4EC 4600048D */ trunc.w.s $f18, $f0
/* 041020 7F00C4F0 8FA401B8 */ lw $a0, 0x1b8($sp)
/* 041024 7F00C4F4 02003025 */ move $a2, $s0
/* 041028 7F00C4F8 02203825 */ move $a3, $s1
/* 04102C 7F00C4FC 44059000 */ mfc1 $a1, $f18
/* 041030 7F00C500 0FC01F32 */ jal sub_GAME_7F007CC8
/* 041034 7F00C504 00000000 */ nop
/* 041038 7F00C508 24480008 */ addiu $t0, $v0, 8
/* 04103C 7F00C50C AFA801B8 */ sw $t0, 0x1b8($sp)
/* 041040 7F00C510 3C0B0100 */ lui $t3, 0x100
/* 041044 7F00C514 3C050600 */ lui $a1, 0x600
/* 041048 7F00C518 256B0000 */ addiu $t3, $t3, 0
/* 04104C 7F00C51C AC4B0004 */ sw $t3, 4($v0)
/* 041050 7F00C520 AC450000 */ sw $a1, ($v0)
/* 041054 7F00C524 8FAC01B8 */ lw $t4, 0x1b8($sp)
/* 041058 7F00C528 3C180100 */ lui $t8, 0x100
/* 04105C 7F00C52C 27180040 */ addiu $t8, $t8, 0x40
/* 041060 7F00C530 258D0008 */ addiu $t5, $t4, 8
/* 041064 7F00C534 AFAD01B8 */ sw $t5, 0x1b8($sp)
/* 041068 7F00C538 3C128003 */ lui $s2, %hi(D_8002A968)
/* 04106C 7F00C53C 3C148003 */ lui $s4, %hi(unknown_folderselect)
/* 041070 7F00C540 2694AF44 */ addiu $s4, %lo(unknown_folderselect) # addiu $s4, $s4, -0x50bc
/* 041074 7F00C544 2652A968 */ addiu $s2, %lo(D_8002A968) # addiu $s2, $s2, -0x5698
/* 041078 7F00C548 27B30108 */ addiu $s3, $sp, 0x108
/* 04107C 7F00C54C AD980004 */ sw $t8, 4($t4)
/* 041080 7F00C550 AD850000 */ sw $a1, ($t4)
/* 041084 7F00C554 27A4014C */ addiu $a0, $sp, 0x14c
.L7F00C558:
/* 041088 7F00C558 00805025 */ move $t2, $a0
/* 04108C 7F00C55C 0280C825 */ move $t9, $s4
/* 041090 7F00C560 268E003C */ addiu $t6, $s4, 0x3c
.L7F00C564:
/* 041094 7F00C564 8F210000 */ lw $at, ($t9)
/* 041098 7F00C568 2739000C */ addiu $t9, %lo(0xFB00000C) # addiu $t9, $t9, 0xc
/* 04109C 7F00C56C 254A000C */ addiu $t2, $t2, 0xc
/* 0410A0 7F00C570 AD41FFF4 */ sw $at, -0xc($t2)
/* 0410A4 7F00C574 8F21FFF8 */ lw $at, -8($t9)
/* 0410A8 7F00C578 AD41FFF8 */ sw $at, -8($t2)
/* 0410AC 7F00C57C 8F21FFFC */ lw $at, -4($t9)
/* 0410B0 7F00C580 172EFFF8 */ bne $t9, $t6, .L7F00C564
/* 0410B4 7F00C584 AD41FFFC */ sw $at, -4($t2)
/* 0410B8 7F00C588 8F210000 */ lw $at, ($t9)
/* 0410BC 7F00C58C 24090003 */ li $t1, 3
/* 0410C0 7F00C590 00008825 */ move $s1, $zero
/* 0410C4 7F00C594 AD410000 */ sw $at, ($t2)
/* 0410C8 7F00C598 8FA801B8 */ lw $t0, 0x1b8($sp)
/* 0410CC 7F00C59C AFA90154 */ sw $t1, 0x154($sp)
/* 0410D0 7F00C5A0 AFA00150 */ sw $zero, 0x150($sp)
/* 0410D4 7F00C5A4 8E450000 */ lw $a1, ($s2)
/* 0410D8 7F00C5A8 0FC1D1A1 */ jal subdraw
/* 0410DC 7F00C5AC AFA80158 */ sw $t0, 0x158($sp)
/* 0410E0 7F00C5B0 8FAB0158 */ lw $t3, 0x158($sp)
/* 0410E4 7F00C5B4 8E420000 */ lw $v0, ($s2)
/* 0410E8 7F00C5B8 00008025 */ move $s0, $zero
/* 0410EC 7F00C5BC AFAB01B8 */ sw $t3, 0x1b8($sp)
/* 0410F0 7F00C5C0 8C4C0008 */ lw $t4, 8($v0)
/* 0410F4 7F00C5C4 858D000E */ lh $t5, 0xe($t4)
/* 0410F8 7F00C5C8 19A00013 */ blez $t5, .L7F00C618
/* 0410FC 7F00C5CC 00000000 */ nop
/* 041100 7F00C5D0 8C58000C */ lw $t8, 0xc($v0)
.L7F00C5D4:
/* 041104 7F00C5D4 02602825 */ move $a1, $s3
/* 041108 7F00C5D8 0FC16008 */ jal matrix_4x4_copy
/* 04110C 7F00C5DC 03102021 */ addu $a0, $t8, $s0
/* 041110 7F00C5E0 8E4F0000 */ lw $t7, ($s2)
/* 041114 7F00C5E4 0011C980 */ sll $t9, $s1, 6
/* 041118 7F00C5E8 02602025 */ move $a0, $s3
/* 04111C 7F00C5EC 8DEE000C */ lw $t6, 0xc($t7)
/* 041120 7F00C5F0 0FC16327 */ jal sub_GAME_7F058C9C
/* 041124 7F00C5F4 01D92821 */ addu $a1, $t6, $t9
/* 041128 7F00C5F8 8E420000 */ lw $v0, ($s2)
/* 04112C 7F00C5FC 26310001 */ addiu $s1, $s1, 1
/* 041130 7F00C600 26100040 */ addiu $s0, $s0, 0x40
/* 041134 7F00C604 8C4A0008 */ lw $t2, 8($v0)
/* 041138 7F00C608 8549000E */ lh $t1, 0xe($t2)
/* 04113C 7F00C60C 0229082A */ slt $at, $s1, $t1
/* 041140 7F00C610 5420FFF0 */ bnezl $at, .L7F00C5D4
/* 041144 7F00C614 8C58000C */ lw $t8, 0xc($v0)
.L7F00C618:
/* 041148 7F00C618 3C088003 */ lui $t0, %hi(ptr_folder_object_instance)
/* 04114C 7F00C61C 2508A95C */ addiu $t0, %lo(ptr_folder_object_instance) # addiu $t0, $t0, -0x56a4
/* 041150 7F00C620 2652FFFC */ addiu $s2, $s2, -4
/* 041154 7F00C624 0248082B */ sltu $at, $s2, $t0
/* 041158 7F00C628 5020FFCB */ beql $at, $zero, .L7F00C558
/* 04115C 7F00C62C 27A4014C */ addiu $a0, $sp, 0x14c
/* 041160 7F00C630 0FC2B366 */ jal microcode_constructor
/* 041164 7F00C634 8FA401B8 */ lw $a0, 0x1b8($sp)
/* 041168 7F00C638 AFA201B8 */ sw $v0, 0x1b8($sp)
/* 04116C 7F00C63C 0FC2B2DE */ jal setTextSpacingInverted
/* 041170 7F00C640 00002025 */ move $a0, $zero
/* 041174 7F00C644 3C0B8007 */ lui $t3, %hi(dword_CODE_bss_80069620)
/* 041178 7F00C648 256B9620 */ addiu $t3, %lo(dword_CODE_bss_80069620) # addiu $t3, $t3, -0x69e0
/* 04117C 7F00C64C 3C1EEBD8 */ lui $fp, (0xEBD879FF >> 16) # lui $fp, 0xebd8
/* 041180 7F00C650 3C148004 */ lui $s4, %hi(ptrFirstFontTableLarge)
/* 041184 7F00C654 3C138004 */ lui $s3, %hi(ptrSecondFontTableLarge)
/* 041188 7F00C658 26730EB8 */ addiu $s3, %lo(ptrSecondFontTableLarge) # addiu $s3, $s3, 0xeb8
/* 04118C 7F00C65C 26940EB4 */ addiu $s4, %lo(ptrFirstFontTableLarge) # addiu $s4, $s4, 0xeb4
/* 041190 7F00C660 37DE79FF */ ori $fp, (0xEBD879FF & 0xFFFF) # ori $fp, $fp, 0x79ff
/* 041194 7F00C664 AFAB0074 */ sw $t3, 0x74($sp)
/* 041198 7F00C668 AFA001B4 */ sw $zero, 0x1b4($sp)
/* 04119C 7F00C66C 27B700FC */ addiu $s7, $sp, 0xfc
/* 0411A0 7F00C670 27B60100 */ addiu $s6, $sp, 0x100
/* 0411A4 7F00C674 27B500BC */ addiu $s5, $sp, 0xbc
.L7F00C678:
/* 0411A8 7F00C678 8FA40074 */ lw $a0, 0x74($sp)
/* 0411AC 7F00C67C 0FC1DFFD */ jal sub_GAME_7F077FF4
/* 0411B0 7F00C680 27A500E4 */ addiu $a1, $sp, 0xe4
/* 0411B4 7F00C684 3C0C8003 */ lui $t4, %hi(folder_selected_for_deletion)
/* 0411B8 7F00C688 8FA401B4 */ lw $a0, 0x1b4($sp)
/* 0411BC 7F00C68C 8D8CA91C */ lw $t4, %lo(folder_selected_for_deletion)($t4)
/* 0411C0 7F00C690 27A500F0 */ addiu $a1, $sp, 0xf0
/* 0411C4 7F00C694 148C00F2 */ bne $a0, $t4, .L7F00CA60
/* 0411C8 7F00C698 00000000 */ nop
/* 0411CC 7F00C69C 0FC170D8 */ jal truncf
/* 0411D0 7F00C6A0 C7AC00E4 */ lwc1 $f12, 0xe4($sp)
/* 0411D4 7F00C6A4 4600010D */ trunc.w.s $f4, $f0
/* 0411D8 7F00C6A8 C7AC00E8 */ lwc1 $f12, 0xe8($sp)
/* 0411DC 7F00C6AC 44122000 */ mfc1 $s2, $f4
/* 0411E0 7F00C6B0 00000000 */ nop
/* 0411E4 7F00C6B4 2652FFCF */ addiu $s2, $s2, -0x31
/* 0411E8 7F00C6B8 0FC170D8 */ jal truncf
/* 0411EC 7F00C6BC AFB20100 */ sw $s2, 0x100($sp)
/* 0411F0 7F00C6C0 4600018D */ trunc.w.s $f6, $f0
/* 0411F4 7F00C6C4 8FA50100 */ lw $a1, 0x100($sp)
/* 0411F8 7F00C6C8 240E0032 */ li $t6, 50
/* 0411FC 7F00C6CC AFAE0014 */ sw $t6, 0x14($sp)
/* 041200 7F00C6D0 44103000 */ mfc1 $s0, $f6
/* 041204 7F00C6D4 8FA401B8 */ lw $a0, 0x1b8($sp)
/* 041208 7F00C6D8 24A70063 */ addiu $a3, $a1, 0x63
/* 04120C 7F00C6DC 26060019 */ addiu $a2, $s0, 0x19
/* 041210 7F00C6E0 24CF002A */ addiu $t7, $a2, 0x2a
/* 041214 7F00C6E4 AFAF0010 */ sw $t7, 0x10($sp)
/* 041218 7F00C6E8 0FC2B405 */ jal microcode_constructor_related_to_menus
/* 04121C 7F00C6EC AFA600FC */ sw $a2, 0xfc($sp)
/* 041220 7F00C6F0 AFA201B8 */ sw $v0, 0x1b8($sp)
/* 041224 7F00C6F4 0FC30776 */ jal get_textptr_for_textID
/* 041228 7F00C6F8 34049C17 */ li $a0, 39959
/* 04122C 7F00C6FC 00408825 */ move $s1, $v0
/* 041230 7F00C700 0FC170D8 */ jal truncf
/* 041234 7F00C704 C7AC00E4 */ lwc1 $f12, 0xe4($sp)
/* 041238 7F00C708 4600020D */ trunc.w.s $f8, $f0
/* 04123C 7F00C70C C7AC00E8 */ lwc1 $f12, 0xe8($sp)
/* 041240 7F00C710 44124000 */ mfc1 $s2, $f8
/* 041244 7F00C714 00000000 */ nop
/* 041248 7F00C718 2652FFD1 */ addiu $s2, $s2, -0x2f
/* 04124C 7F00C71C 0FC170D8 */ jal truncf
/* 041250 7F00C720 AFB20100 */ sw $s2, 0x100($sp)
/* 041254 7F00C724 4600028D */ trunc.w.s $f10, $f0
/* 041258 7F00C728 44105000 */ mfc1 $s0, $f10
/* 04125C 7F00C72C 00000000 */ nop
/* 041260 7F00C730 2610001E */ addiu $s0, $s0, 0x1e
/* 041264 7F00C734 0C001107 */ jal viGetX
/* 041268 7F00C738 AFB000FC */ sw $s0, 0xfc($sp)
/* 04126C 7F00C73C 00028400 */ sll $s0, $v0, 0x10
/* 041270 7F00C740 00104C03 */ sra $t1, $s0, 0x10
/* 041274 7F00C744 0C00110B */ jal viGetY
/* 041278 7F00C748 01208025 */ move $s0, $t1
/* 04127C 7F00C74C 8E680000 */ lw $t0, ($s3)
/* 041280 7F00C750 8E8B0000 */ lw $t3, ($s4)
/* 041284 7F00C754 8FA401B8 */ lw $a0, 0x1b8($sp)
/* 041288 7F00C758 02C02825 */ move $a1, $s6
/* 04128C 7F00C75C 02E03025 */ move $a2, $s7
/* 041290 7F00C760 02203825 */ move $a3, $s1
/* 041294 7F00C764 AFBE0018 */ sw $fp, 0x18($sp)
/* 041298 7F00C768 AFB0001C */ sw $s0, 0x1c($sp)
/* 04129C 7F00C76C AFA20020 */ sw $v0, 0x20($sp)
/* 0412A0 7F00C770 AFA00024 */ sw $zero, 0x24($sp)
/* 0412A4 7F00C774 AFA00028 */ sw $zero, 0x28($sp)
/* 0412A8 7F00C778 AFA80010 */ sw $t0, 0x10($sp)
/* 0412AC 7F00C77C 0FC2B6AF */ jal en_text_write_stuff
/* 0412B0 7F00C780 AFAB0014 */ sw $t3, 0x14($sp)
/* 0412B4 7F00C784 AFA201B8 */ sw $v0, 0x1b8($sp)
/* 0412B8 7F00C788 0FC30776 */ jal get_textptr_for_textID
/* 0412BC 7F00C78C 34049C18 */ li $a0, 39960
/* 0412C0 7F00C790 00408825 */ move $s1, $v0
/* 0412C4 7F00C794 0FC170D8 */ jal truncf
/* 0412C8 7F00C798 C7AC00E4 */ lwc1 $f12, 0xe4($sp)
/* 0412CC 7F00C79C 4600040D */ trunc.w.s $f16, $f0
/* 0412D0 7F00C7A0 C7AC00E8 */ lwc1 $f12, 0xe8($sp)
/* 0412D4 7F00C7A4 44128000 */ mfc1 $s2, $f16
/* 0412D8 7F00C7A8 00000000 */ nop
/* 0412DC 7F00C7AC 2652FFD1 */ addiu $s2, $s2, -0x2f
/* 0412E0 7F00C7B0 0FC170D8 */ jal truncf
/* 0412E4 7F00C7B4 AFB20100 */ sw $s2, 0x100($sp)
/* 0412E8 7F00C7B8 4600048D */ trunc.w.s $f18, $f0
/* 0412EC 7F00C7BC 3C188003 */ lui $t8, %hi(folder_selected_for_deletion_choice)
/* 0412F0 7F00C7C0 8F18A920 */ lw $t8, %lo(folder_selected_for_deletion_choice)($t8)
/* 0412F4 7F00C7C4 27A400F8 */ addiu $a0, $sp, 0xf8
/* 0412F8 7F00C7C8 44109000 */ mfc1 $s0, $f18
/* 0412FC 7F00C7CC 27A500F4 */ addiu $a1, $sp, 0xf4
/* 041300 7F00C7D0 02203025 */ move $a2, $s1
/* 041304 7F00C7D4 26100032 */ addiu $s0, $s0, 0x32
/* 041308 7F00C7D8 1300002D */ beqz $t8, .L7F00C890
/* 04130C 7F00C7DC AFB000FC */ sw $s0, 0xfc($sp)
/* 041310 7F00C7E0 8E8F0000 */ lw $t7, ($s4)
/* 041314 7F00C7E4 AFA000F4 */ sw $zero, 0xf4($sp)
/* 041318 7F00C7E8 AFA000F8 */ sw $zero, 0xf8($sp)
/* 04131C 7F00C7EC 8E670000 */ lw $a3, ($s3)
/* 041320 7F00C7F0 AFA00014 */ sw $zero, 0x14($sp)
/* 041324 7F00C7F4 0FC2BA63 */ jal sub_GAME_7F0AE98C
/* 041328 7F00C7F8 AFAF0010 */ sw $t7, 0x10($sp)
/* 04132C 7F00C7FC 8FB000FC */ lw $s0, 0xfc($sp)
/* 041330 7F00C800 8FB20100 */ lw $s2, 0x100($sp)
/* 041334 7F00C804 8FAE00F4 */ lw $t6, 0xf4($sp)
/* 041338 7F00C808 8FB900F8 */ lw $t9, 0xf8($sp)
/* 04133C 7F00C80C 24090032 */ li $t1, 50
/* 041340 7F00C810 024E3821 */ addu $a3, $s2, $t6
/* 041344 7F00C814 02195021 */ addu $t2, $s0, $t9
/* 041348 7F00C818 AFAA0010 */ sw $t2, 0x10($sp)
/* 04134C 7F00C81C 24E70003 */ addiu $a3, $a3, 3
/* 041350 7F00C820 AFA90014 */ sw $t1, 0x14($sp)
/* 041354 7F00C824 8FA401B8 */ lw $a0, 0x1b8($sp)
/* 041358 7F00C828 2606FFFF */ addiu $a2, $s0, -1
/* 04135C 7F00C82C 0FC2B405 */ jal microcode_constructor_related_to_menus
/* 041360 7F00C830 2645FFFF */ addiu $a1, $s2, -1
/* 041364 7F00C834 0C001107 */ jal viGetX
/* 041368 7F00C838 AFA201B8 */ sw $v0, 0x1b8($sp)
/* 04136C 7F00C83C 00028400 */ sll $s0, $v0, 0x10
/* 041370 7F00C840 00104403 */ sra $t0, $s0, 0x10
/* 041374 7F00C844 0C00110B */ jal viGetY
/* 041378 7F00C848 01008025 */ move $s0, $t0
/* 04137C 7F00C84C 8E6B0000 */ lw $t3, ($s3)
/* 041380 7F00C850 8E8C0000 */ lw $t4, ($s4)
/* 041384 7F00C854 240DFFFF */ li $t5, -1
/* 041388 7F00C858 AFAD0018 */ sw $t5, 0x18($sp)
/* 04138C 7F00C85C 8FA401B8 */ lw $a0, 0x1b8($sp)
/* 041390 7F00C860 02C02825 */ move $a1, $s6
/* 041394 7F00C864 02E03025 */ move $a2, $s7
/* 041398 7F00C868 02203825 */ move $a3, $s1
/* 04139C 7F00C86C AFB0001C */ sw $s0, 0x1c($sp)
/* 0413A0 7F00C870 AFA20020 */ sw $v0, 0x20($sp)
/* 0413A4 7F00C874 AFA00024 */ sw $zero, 0x24($sp)
/* 0413A8 7F00C878 AFA00028 */ sw $zero, 0x28($sp)
/* 0413AC 7F00C87C AFAB0010 */ sw $t3, 0x10($sp)
/* 0413B0 7F00C880 0FC2B6AF */ jal en_text_write_stuff
/* 0413B4 7F00C884 AFAC0014 */ sw $t4, 0x14($sp)
/* 0413B8 7F00C888 10000016 */ b .L7F00C8E4
/* 0413BC 7F00C88C AFA201B8 */ sw $v0, 0x1b8($sp)
.L7F00C890:
/* 0413C0 7F00C890 0C001107 */ jal viGetX
/* 0413C4 7F00C894 00000000 */ nop
/* 0413C8 7F00C898 00028400 */ sll $s0, $v0, 0x10
/* 0413CC 7F00C89C 0010C403 */ sra $t8, $s0, 0x10
/* 0413D0 7F00C8A0 0C00110B */ jal viGetY
/* 0413D4 7F00C8A4 03008025 */ move $s0, $t8
/* 0413D8 7F00C8A8 8E6F0000 */ lw $t7, ($s3)
/* 0413DC 7F00C8AC 8E8E0000 */ lw $t6, ($s4)
/* 0413E0 7F00C8B0 8FA401B8 */ lw $a0, 0x1b8($sp)
/* 0413E4 7F00C8B4 02C02825 */ move $a1, $s6
/* 0413E8 7F00C8B8 02E03025 */ move $a2, $s7
/* 0413EC 7F00C8BC 02203825 */ move $a3, $s1
/* 0413F0 7F00C8C0 AFBE0018 */ sw $fp, 0x18($sp)
/* 0413F4 7F00C8C4 AFB0001C */ sw $s0, 0x1c($sp)
/* 0413F8 7F00C8C8 AFA20020 */ sw $v0, 0x20($sp)
/* 0413FC 7F00C8CC AFA00024 */ sw $zero, 0x24($sp)
/* 041400 7F00C8D0 AFA00028 */ sw $zero, 0x28($sp)
/* 041404 7F00C8D4 AFAF0010 */ sw $t7, 0x10($sp)
/* 041408 7F00C8D8 0FC2B6AF */ jal en_text_write_stuff
/* 04140C 7F00C8DC AFAE0014 */ sw $t6, 0x14($sp)
/* 041410 7F00C8E0 AFA201B8 */ sw $v0, 0x1b8($sp)
.L7F00C8E4:
/* 041414 7F00C8E4 0FC30776 */ jal get_textptr_for_textID
/* 041418 7F00C8E8 34049C19 */ li $a0, 39961
/* 04141C 7F00C8EC 00408825 */ move $s1, $v0
/* 041420 7F00C8F0 0FC170D8 */ jal truncf
/* 041424 7F00C8F4 C7AC00E4 */ lwc1 $f12, 0xe4($sp)
/* 041428 7F00C8F8 3C198005 */ lui $t9, %hi(j_text_trigger)
/* 04142C 7F00C8FC 8F3984D0 */ lw $t9, %lo(j_text_trigger)($t9)
/* 041430 7F00C900 46000086 */ mov.s $f2, $f0
/* 041434 7F00C904 4600110D */ trunc.w.s $f4, $f2
/* 041438 7F00C908 13200003 */ beqz $t9, .L7F00C918
/* 04143C 7F00C90C 2402FFFF */ li $v0, -1
/* 041440 7F00C910 10000001 */ b .L7F00C918
/* 041444 7F00C914 24020017 */ li $v0, 23
.L7F00C918:
/* 041448 7F00C918 44092000 */ mfc1 $t1, $f4
/* 04144C 7F00C91C C7AC00E8 */ lwc1 $f12, 0xe8($sp)
/* 041450 7F00C920 00499021 */ addu $s2, $v0, $t1
/* 041454 7F00C924 2652FFFF */ addiu $s2, $s2, -1
/* 041458 7F00C928 0FC170D8 */ jal truncf
/* 04145C 7F00C92C AFB20100 */ sw $s2, 0x100($sp)
/* 041460 7F00C930 4600018D */ trunc.w.s $f6, $f0
/* 041464 7F00C934 3C0B8003 */ lui $t3, %hi(folder_selected_for_deletion_choice)
/* 041468 7F00C938 8D6BA920 */ lw $t3, %lo(folder_selected_for_deletion_choice)($t3)
/* 04146C 7F00C93C 27A400F8 */ addiu $a0, $sp, 0xf8
/* 041470 7F00C940 44103000 */ mfc1 $s0, $f6
/* 041474 7F00C944 27A500F4 */ addiu $a1, $sp, 0xf4
/* 041478 7F00C948 02203025 */ move $a2, $s1
/* 04147C 7F00C94C 26100032 */ addiu $s0, $s0, 0x32
/* 041480 7F00C950 11600017 */ beqz $t3, .L7F00C9B0
/* 041484 7F00C954 AFB000FC */ sw $s0, 0xfc($sp)
/* 041488 7F00C958 0C001107 */ jal viGetX
/* 04148C 7F00C95C 00000000 */ nop
/* 041490 7F00C960 00028400 */ sll $s0, $v0, 0x10
/* 041494 7F00C964 00106403 */ sra $t4, $s0, 0x10
/* 041498 7F00C968 0C00110B */ jal viGetY
/* 04149C 7F00C96C 01808025 */ move $s0, $t4
/* 0414A0 7F00C970 8E6D0000 */ lw $t5, ($s3)
/* 0414A4 7F00C974 8E980000 */ lw $t8, ($s4)
/* 0414A8 7F00C978 8FA401B8 */ lw $a0, 0x1b8($sp)
/* 0414AC 7F00C97C 02C02825 */ move $a1, $s6
/* 0414B0 7F00C980 02E03025 */ move $a2, $s7
/* 0414B4 7F00C984 02203825 */ move $a3, $s1
/* 0414B8 7F00C988 AFBE0018 */ sw $fp, 0x18($sp)
/* 0414BC 7F00C98C AFB0001C */ sw $s0, 0x1c($sp)
/* 0414C0 7F00C990 AFA20020 */ sw $v0, 0x20($sp)
/* 0414C4 7F00C994 AFA00024 */ sw $zero, 0x24($sp)
/* 0414C8 7F00C998 AFA00028 */ sw $zero, 0x28($sp)
/* 0414CC 7F00C99C AFAD0010 */ sw $t5, 0x10($sp)
/* 0414D0 7F00C9A0 0FC2B6AF */ jal en_text_write_stuff
/* 0414D4 7F00C9A4 AFB80014 */ sw $t8, 0x14($sp)
/* 0414D8 7F00C9A8 100000D6 */ b .L7F00CD04
/* 0414DC 7F00C9AC AFA201B8 */ sw $v0, 0x1b8($sp)
.L7F00C9B0:
/* 0414E0 7F00C9B0 8E8F0000 */ lw $t7, ($s4)
/* 0414E4 7F00C9B4 AFA000F4 */ sw $zero, 0xf4($sp)
/* 0414E8 7F00C9B8 AFA000F8 */ sw $zero, 0xf8($sp)
/* 0414EC 7F00C9BC 8E670000 */ lw $a3, ($s3)
/* 0414F0 7F00C9C0 AFA00014 */ sw $zero, 0x14($sp)
/* 0414F4 7F00C9C4 0FC2BA63 */ jal sub_GAME_7F0AE98C
/* 0414F8 7F00C9C8 AFAF0010 */ sw $t7, 0x10($sp)
/* 0414FC 7F00C9CC 8FB000FC */ lw $s0, 0xfc($sp)
/* 041500 7F00C9D0 8FB20100 */ lw $s2, 0x100($sp)
/* 041504 7F00C9D4 8FAE00F4 */ lw $t6, 0xf4($sp)
/* 041508 7F00C9D8 8FB900F8 */ lw $t9, 0xf8($sp)
/* 04150C 7F00C9DC 24090032 */ li $t1, 50
/* 041510 7F00C9E0 024E3821 */ addu $a3, $s2, $t6
/* 041514 7F00C9E4 02195021 */ addu $t2, $s0, $t9
/* 041518 7F00C9E8 AFAA0010 */ sw $t2, 0x10($sp)
/* 04151C 7F00C9EC 24E70003 */ addiu $a3, $a3, 3
/* 041520 7F00C9F0 AFA90014 */ sw $t1, 0x14($sp)
/* 041524 7F00C9F4 8FA401B8 */ lw $a0, 0x1b8($sp)
/* 041528 7F00C9F8 2606FFFF */ addiu $a2, $s0, -1
/* 04152C 7F00C9FC 0FC2B405 */ jal microcode_constructor_related_to_menus
/* 041530 7F00CA00 2645FFFF */ addiu $a1, $s2, -1
/* 041534 7F00CA04 0C001107 */ jal viGetX
/* 041538 7F00CA08 AFA201B8 */ sw $v0, 0x1b8($sp)
/* 04153C 7F00CA0C 00028400 */ sll $s0, $v0, 0x10
/* 041540 7F00CA10 00104403 */ sra $t0, $s0, 0x10
/* 041544 7F00CA14 0C00110B */ jal viGetY
/* 041548 7F00CA18 01008025 */ move $s0, $t0
/* 04154C 7F00CA1C 8E6B0000 */ lw $t3, ($s3)
/* 041550 7F00CA20 8E8C0000 */ lw $t4, ($s4)
/* 041554 7F00CA24 240DFFFF */ li $t5, -1
/* 041558 7F00CA28 AFAD0018 */ sw $t5, 0x18($sp)
/* 04155C 7F00CA2C 8FA401B8 */ lw $a0, 0x1b8($sp)
/* 041560 7F00CA30 02C02825 */ move $a1, $s6
/* 041564 7F00CA34 02E03025 */ move $a2, $s7
/* 041568 7F00CA38 02203825 */ move $a3, $s1
/* 04156C 7F00CA3C AFB0001C */ sw $s0, 0x1c($sp)
/* 041570 7F00CA40 AFA20020 */ sw $v0, 0x20($sp)
/* 041574 7F00CA44 AFA00024 */ sw $zero, 0x24($sp)
/* 041578 7F00CA48 AFA00028 */ sw $zero, 0x28($sp)
/* 04157C 7F00CA4C AFAB0010 */ sw $t3, 0x10($sp)
/* 041580 7F00CA50 0FC2B6AF */ jal en_text_write_stuff
/* 041584 7F00CA54 AFAC0014 */ sw $t4, 0x14($sp)
/* 041588 7F00CA58 100000AA */ b .L7F00CD04
/* 04158C 7F00CA5C AFA201B8 */ sw $v0, 0x1b8($sp)
.L7F00CA60:
/* 041590 7F00CA60 0FC07A1D */ jal get_highest_stage_difficulty_completed_in_folder
/* 041594 7F00CA64 27A600EC */ addiu $a2, $sp, 0xec
/* 041598 7F00CA68 8FA200F0 */ lw $v0, 0xf0($sp)
/* 04159C 7F00CA6C 8FA400EC */ lw $a0, 0xec($sp)
/* 0415A0 7F00CA70 044200A5 */ bltzl $v0, .L7F00CD08
/* 0415A4 7F00CA74 8FA901B4 */ lw $t1, 0x1b4($sp)
/* 0415A8 7F00CA78 048200A3 */ bltzl $a0, .L7F00CD08
/* 0415AC 7F00CA7C 8FA901B4 */ lw $t1, 0x1b4($sp)
/* 0415B0 7F00CA80 0FC030E1 */ jal get_ptr_difficulty_name
/* 0415B4 7F00CA84 00000000 */ nop
/* 0415B8 7F00CA88 10400038 */ beqz $v0, .L7F00CB6C
/* 0415BC 7F00CA8C 27A400D0 */ addiu $a0, $sp, 0xd0
/* 0415C0 7F00CA90 0C0029DC */ jal strcpy
/* 0415C4 7F00CA94 00402825 */ move $a1, $v0
/* 0415C8 7F00CA98 3C058005 */ lui $a1, %hi(asc_D_8004F488)
/* 0415CC 7F00CA9C 24A5F488 */ addiu $a1, %lo(asc_D_8004F488) # addiu $a1, $a1, -0xb78
/* 0415D0 7F00CAA0 0C0029FF */ jal strcat
/* 0415D4 7F00CAA4 27A400D0 */ addiu $a0, $sp, 0xd0
/* 0415D8 7F00CAA8 8E980000 */ lw $t8, ($s4)
/* 0415DC 7F00CAAC AFA000F4 */ sw $zero, 0xf4($sp)
/* 0415E0 7F00CAB0 AFA000F8 */ sw $zero, 0xf8($sp)
/* 0415E4 7F00CAB4 27A400F8 */ addiu $a0, $sp, 0xf8
/* 0415E8 7F00CAB8 27A500F4 */ addiu $a1, $sp, 0xf4
/* 0415EC 7F00CABC 27A600D0 */ addiu $a2, $sp, 0xd0
/* 0415F0 7F00CAC0 8E670000 */ lw $a3, ($s3)
/* 0415F4 7F00CAC4 AFA00014 */ sw $zero, 0x14($sp)
/* 0415F8 7F00CAC8 0FC2BA63 */ jal sub_GAME_7F0AE98C
/* 0415FC 7F00CACC AFB80010 */ sw $t8, 0x10($sp)
/* 041600 7F00CAD0 0FC170D8 */ jal truncf
/* 041604 7F00CAD4 C7AC00E4 */ lwc1 $f12, 0xe4($sp)
/* 041608 7F00CAD8 4600020D */ trunc.w.s $f8, $f0
/* 04160C 7F00CADC 8FB900F4 */ lw $t9, 0xf4($sp)
/* 041610 7F00CAE0 C7AC00E8 */ lwc1 $f12, 0xe8($sp)
/* 041614 7F00CAE4 440E4000 */ mfc1 $t6, $f8
/* 041618 7F00CAE8 07210003 */ bgez $t9, .L7F00CAF8
/* 04161C 7F00CAEC 00195043 */ sra $t2, $t9, 1
/* 041620 7F00CAF0 27210001 */ addiu $at, $t9, 1
/* 041624 7F00CAF4 00015043 */ sra $t2, $at, 1
.L7F00CAF8:
/* 041628 7F00CAF8 01CA9023 */ subu $s2, $t6, $t2
/* 04162C 7F00CAFC 2652FFFF */ addiu $s2, $s2, -1
/* 041630 7F00CB00 0FC170D8 */ jal truncf
/* 041634 7F00CB04 AFB20100 */ sw $s2, 0x100($sp)
/* 041638 7F00CB08 4600028D */ trunc.w.s $f10, $f0
/* 04163C 7F00CB0C 44105000 */ mfc1 $s0, $f10
/* 041640 7F00CB10 00000000 */ nop
/* 041644 7F00CB14 26100015 */ addiu $s0, $s0, 0x15
/* 041648 7F00CB18 0C001107 */ jal viGetX
/* 04164C 7F00CB1C AFB000FC */ sw $s0, 0xfc($sp)
/* 041650 7F00CB20 00028400 */ sll $s0, $v0, 0x10
/* 041654 7F00CB24 00104403 */ sra $t0, $s0, 0x10
/* 041658 7F00CB28 0C00110B */ jal viGetY
/* 04165C 7F00CB2C 01008025 */ move $s0, $t0
/* 041660 7F00CB30 8E6B0000 */ lw $t3, ($s3)
/* 041664 7F00CB34 8E8C0000 */ lw $t4, ($s4)
/* 041668 7F00CB38 8FA401B8 */ lw $a0, 0x1b8($sp)
/* 04166C 7F00CB3C 02C02825 */ move $a1, $s6
/* 041670 7F00CB40 02E03025 */ move $a2, $s7
/* 041674 7F00CB44 27A700D0 */ addiu $a3, $sp, 0xd0
/* 041678 7F00CB48 AFBE0018 */ sw $fp, 0x18($sp)
/* 04167C 7F00CB4C AFB0001C */ sw $s0, 0x1c($sp)
/* 041680 7F00CB50 AFA20020 */ sw $v0, 0x20($sp)
/* 041684 7F00CB54 AFA00024 */ sw $zero, 0x24($sp)
/* 041688 7F00CB58 AFA00028 */ sw $zero, 0x28($sp)
/* 04168C 7F00CB5C AFAB0010 */ sw $t3, 0x10($sp)
/* 041690 7F00CB60 0FC2B6AF */ jal en_text_write_stuff
/* 041694 7F00CB64 AFAC0014 */ sw $t4, 0x14($sp)
/* 041698 7F00CB68 AFA201B8 */ sw $v0, 0x1b8($sp)
.L7F00CB6C:
/* 04169C 7F00CB6C 8FA400EC */ lw $a0, 0xec($sp)
/* 0416A0 7F00CB70 24010003 */ li $at, 3
/* 0416A4 7F00CB74 2412FFFF */ li $s2, -1
/* 0416A8 7F00CB78 10810062 */ beq $a0, $at, .L7F00CD04
/* 0416AC 7F00CB7C 00008825 */ move $s1, $zero
/* 0416B0 7F00CB80 0FC30776 */ jal get_textptr_for_textID
/* 0416B4 7F00CB84 34049C1A */ li $a0, 39962
/* 0416B8 7F00CB88 02A02025 */ move $a0, $s5
/* 0416BC 7F00CB8C 0C0029DC */ jal strcpy
/* 0416C0 7F00CB90 00402825 */ move $a1, $v0
/* 0416C4 7F00CB94 3C0D8003 */ lui $t5, %hi(mission_folder_setup_entries+0x4)
/* 0416C8 7F00CB98 95ADABE8 */ lhu $t5, %lo(mission_folder_setup_entries+0x4)($t5)
/* 0416CC 7F00CB9C 3C108003 */ lui $s0, %hi(mission_folder_setup_entries)
/* 0416D0 7F00CBA0 2610ABE4 */ addiu $s0, %lo(mission_folder_setup_entries) # addiu $s0, $s0, -0x541c
/* 0416D4 7F00CBA4 11A0000D */ beqz $t5, .L7F00CBDC
/* 0416D8 7F00CBA8 8FA200F0 */ lw $v0, 0xf0($sp)
/* 0416DC 7F00CBAC 8E180014 */ lw $t8, 0x14($s0)
.L7F00CBB0:
/* 0416E0 7F00CBB0 54580006 */ bnel $v0, $t8, .L7F00CBCC
/* 0416E4 7F00CBB4 960F0020 */ lhu $t7, 0x20($s0)
/* 0416E8 7F00CBB8 0FC02EC7 */ jal get_chapter_briefing_entry
/* 0416EC 7F00CBBC 02202025 */ move $a0, $s1
/* 0416F0 7F00CBC0 10000006 */ b .L7F00CBDC
/* 0416F4 7F00CBC4 00409025 */ move $s2, $v0
/* 0416F8 7F00CBC8 960F0020 */ lhu $t7, 0x20($s0)
.L7F00CBCC:
/* 0416FC 7F00CBCC 26310001 */ addiu $s1, $s1, 1
/* 041700 7F00CBD0 2610001C */ addiu $s0, $s0, 0x1c
/* 041704 7F00CBD4 55E0FFF6 */ bnezl $t7, .L7F00CBB0
/* 041708 7F00CBD8 8E180014 */ lw $t8, 0x14($s0)
.L7F00CBDC:
/* 04170C 7F00CBDC 0011C8C0 */ sll $t9, $s1, 3
/* 041710 7F00CBE0 0331C823 */ subu $t9, $t9, $s1
/* 041714 7F00CBE4 3C0E8003 */ lui $t6, %hi(mission_folder_setup_entries)
/* 041718 7F00CBE8 25CEABE4 */ addiu $t6, %lo(mission_folder_setup_entries) # addiu $t6, $t6, -0x541c
/* 04171C 7F00CBEC 0019C880 */ sll $t9, $t9, 2
/* 041720 7F00CBF0 0640000C */ bltz $s2, .L7F00CC24
/* 041724 7F00CBF4 032E8021 */ addu $s0, $t9, $t6
/* 041728 7F00CBF8 001250C0 */ sll $t2, $s2, 3
/* 04172C 7F00CBFC 01525023 */ subu $t2, $t2, $s2
/* 041730 7F00CC00 000A5080 */ sll $t2, $t2, 2
/* 041734 7F00CC04 014E4821 */ addu $t1, $t2, $t6
/* 041738 7F00CC08 8D250000 */ lw $a1, ($t1)
/* 04173C 7F00CC0C 0C0029FF */ jal strcat
/* 041740 7F00CC10 02A02025 */ move $a0, $s5
/* 041744 7F00CC14 3C058005 */ lui $a1, %hi(a_)
/* 041748 7F00CC18 24A5F48C */ addiu $a1, %lo(a_) # addiu $a1, $a1, -0xb74
/* 04174C 7F00CC1C 0C0029FF */ jal strcat
/* 041750 7F00CC20 02A02025 */ move $a0, $s5
.L7F00CC24:
/* 041754 7F00CC24 02A02025 */ move $a0, $s5
/* 041758 7F00CC28 0C0029FF */ jal strcat
/* 04175C 7F00CC2C 8E050000 */ lw $a1, ($s0)
/* 041760 7F00CC30 3C058005 */ lui $a1, %hi(asc_D_8004F490)
/* 041764 7F00CC34 24A5F490 */ addiu $a1, %lo(asc_D_8004F490) # addiu $a1, $a1, -0xb70
/* 041768 7F00CC38 0C0029FF */ jal strcat
/* 04176C 7F00CC3C 02A02025 */ move $a0, $s5
/* 041770 7F00CC40 8E880000 */ lw $t0, ($s4)
/* 041774 7F00CC44 AFA000F4 */ sw $zero, 0xf4($sp)
/* 041778 7F00CC48 AFA000F8 */ sw $zero, 0xf8($sp)
/* 04177C 7F00CC4C 27A400F8 */ addiu $a0, $sp, 0xf8
/* 041780 7F00CC50 27A500F4 */ addiu $a1, $sp, 0xf4
/* 041784 7F00CC54 02A03025 */ move $a2, $s5
/* 041788 7F00CC58 8E670000 */ lw $a3, ($s3)
/* 04178C 7F00CC5C AFA00014 */ sw $zero, 0x14($sp)
/* 041790 7F00CC60 0FC2BA63 */ jal sub_GAME_7F0AE98C
/* 041794 7F00CC64 AFA80010 */ sw $t0, 0x10($sp)
/* 041798 7F00CC68 0FC170D8 */ jal truncf
/* 04179C 7F00CC6C C7AC00E4 */ lwc1 $f12, 0xe4($sp)
/* 0417A0 7F00CC70 4600040D */ trunc.w.s $f16, $f0
/* 0417A4 7F00CC74 8FAD00F4 */ lw $t5, 0xf4($sp)
/* 0417A8 7F00CC78 C7AC00E8 */ lwc1 $f12, 0xe8($sp)
/* 0417AC 7F00CC7C 440C8000 */ mfc1 $t4, $f16
/* 0417B0 7F00CC80 05A10003 */ bgez $t5, .L7F00CC90
/* 0417B4 7F00CC84 000DC043 */ sra $t8, $t5, 1
/* 0417B8 7F00CC88 25A10001 */ addiu $at, $t5, 1
/* 0417BC 7F00CC8C 0001C043 */ sra $t8, $at, 1
.L7F00CC90:
/* 0417C0 7F00CC90 01989023 */ subu $s2, $t4, $t8
/* 0417C4 7F00CC94 2652FFFF */ addiu $s2, $s2, -1
/* 0417C8 7F00CC98 0FC170D8 */ jal truncf
/* 0417CC 7F00CC9C AFB20100 */ sw $s2, 0x100($sp)
/* 0417D0 7F00CCA0 4600048D */ trunc.w.s $f18, $f0
/* 0417D4 7F00CCA4 44109000 */ mfc1 $s0, $f18
/* 0417D8 7F00CCA8 00000000 */ nop
/* 0417DC 7F00CCAC 2610002D */ addiu $s0, $s0, 0x2d
/* 0417E0 7F00CCB0 0C001107 */ jal viGetX
/* 0417E4 7F00CCB4 AFB000FC */ sw $s0, 0xfc($sp)
/* 0417E8 7F00CCB8 00028400 */ sll $s0, $v0, 0x10
/* 0417EC 7F00CCBC 0010CC03 */ sra $t9, $s0, 0x10
/* 0417F0 7F00CCC0 0C00110B */ jal viGetY
/* 0417F4 7F00CCC4 03208025 */ move $s0, $t9
/* 0417F8 7F00CCC8 8E6A0000 */ lw $t2, ($s3)
/* 0417FC 7F00CCCC 8E8E0000 */ lw $t6, ($s4)
/* 041800 7F00CCD0 8FA401B8 */ lw $a0, 0x1b8($sp)
/* 041804 7F00CCD4 02C02825 */ move $a1, $s6
/* 041808 7F00CCD8 02E03025 */ move $a2, $s7
/* 04180C 7F00CCDC 02A03825 */ move $a3, $s5
/* 041810 7F00CCE0 AFBE0018 */ sw $fp, 0x18($sp)
/* 041814 7F00CCE4 AFB0001C */ sw $s0, 0x1c($sp)
/* 041818 7F00CCE8 AFA20020 */ sw $v0, 0x20($sp)
/* 04181C 7F00CCEC AFA00024 */ sw $zero, 0x24($sp)
/* 041820 7F00CCF0 AFA00028 */ sw $zero, 0x28($sp)
/* 041824 7F00CCF4 AFAA0010 */ sw $t2, 0x10($sp)
/* 041828 7F00CCF8 0FC2B6AF */ jal en_text_write_stuff
/* 04182C 7F00CCFC AFAE0014 */ sw $t6, 0x14($sp)
/* 041830 7F00CD00 AFA201B8 */ sw $v0, 0x1b8($sp)
.L7F00CD04:
/* 041834 7F00CD04 8FA901B4 */ lw $t1, 0x1b4($sp)
.L7F00CD08:
/* 041838 7F00CD08 8FAB0074 */ lw $t3, 0x74($sp)
/* 04183C 7F00CD0C 24010004 */ li $at, 4
/* 041840 7F00CD10 25280001 */ addiu $t0, $t1, 1
/* 041844 7F00CD14 256D000C */ addiu $t5, $t3, 0xc
/* 041848 7F00CD18 AFAD0074 */ sw $t5, 0x74($sp)
/* 04184C 7F00CD1C 1501FE56 */ bne $t0, $at, .L7F00C678
/* 041850 7F00CD20 AFA801B4 */ sw $t0, 0x1b4($sp)
/* 041854 7F00CD24 0FC2B2DE */ jal setTextSpacingInverted
/* 041858 7F00CD28 00002025 */ move $a0, $zero
/* 04185C 7F00CD2C 0FC30776 */ jal get_textptr_for_textID
/* 041860 7F00CD30 34049C1B */ li $a0, 39963
/* 041864 7F00CD34 8E8C0000 */ lw $t4, ($s4)
/* 041868 7F00CD38 00408825 */ move $s1, $v0
/* 04186C 7F00CD3C AFA000F4 */ sw $zero, 0xf4($sp)
/* 041870 7F00CD40 AFA000F8 */ sw $zero, 0xf8($sp)
/* 041874 7F00CD44 27A400F8 */ addiu $a0, $sp, 0xf8
/* 041878 7F00CD48 27A500F4 */ addiu $a1, $sp, 0xf4
/* 04187C 7F00CD4C 00403025 */ move $a2, $v0
/* 041880 7F00CD50 8E670000 */ lw $a3, ($s3)
/* 041884 7F00CD54 AFA00014 */ sw $zero, 0x14($sp)
/* 041888 7F00CD58 0FC2BA63 */ jal sub_GAME_7F0AE98C
/* 04188C 7F00CD5C AFAC0010 */ sw $t4, 0x10($sp)
/* 041890 7F00CD60 8FB800F8 */ lw $t8, 0xf8($sp)
/* 041894 7F00CD64 241E011D */ li $fp, 285
/* 041898 7F00CD68 241200F7 */ li $s2, 247
/* 04189C 7F00CD6C 07010003 */ bgez $t8, .L7F00CD7C
/* 0418A0 7F00CD70 00187843 */ sra $t7, $t8, 1
/* 0418A4 7F00CD74 27010001 */ addiu $at, $t8, 1
/* 0418A8 7F00CD78 00017843 */ sra $t7, $at, 1
.L7F00CD7C:
/* 0418AC 7F00CD7C 03CF8023 */ subu $s0, $fp, $t7
/* 0418B0 7F00CD80 AFB000FC */ sw $s0, 0xfc($sp)
/* 0418B4 7F00CD84 0C001107 */ jal viGetX
/* 0418B8 7F00CD88 AFB20100 */ sw $s2, 0x100($sp)
/* 0418BC 7F00CD8C 00028400 */ sll $s0, $v0, 0x10
/* 0418C0 7F00CD90 0010CC03 */ sra $t9, $s0, 0x10
/* 0418C4 7F00CD94 0C00110B */ jal viGetY
/* 0418C8 7F00CD98 03208025 */ move $s0, $t9
/* 0418CC 7F00CD9C 8E6A0000 */ lw $t2, ($s3)
/* 0418D0 7F00CDA0 8E8E0000 */ lw $t6, ($s4)
/* 0418D4 7F00CDA4 2409FFFF */ li $t1, -1
/* 0418D8 7F00CDA8 AFA90018 */ sw $t1, 0x18($sp)
/* 0418DC 7F00CDAC 8FA401B8 */ lw $a0, 0x1b8($sp)
/* 0418E0 7F00CDB0 02C02825 */ move $a1, $s6
/* 0418E4 7F00CDB4 02E03025 */ move $a2, $s7
/* 0418E8 7F00CDB8 02203825 */ move $a3, $s1
/* 0418EC 7F00CDBC AFB0001C */ sw $s0, 0x1c($sp)
/* 0418F0 7F00CDC0 AFA20020 */ sw $v0, 0x20($sp)
/* 0418F4 7F00CDC4 AFA00024 */ sw $zero, 0x24($sp)
/* 0418F8 7F00CDC8 AFA00028 */ sw $zero, 0x28($sp)
/* 0418FC 7F00CDCC AFAA0010 */ sw $t2, 0x10($sp)
/* 041900 7F00CDD0 0FC2B6AF */ jal en_text_write_stuff
/* 041904 7F00CDD4 AFAE0014 */ sw $t6, 0x14($sp)
/* 041908 7F00CDD8 8FB20100 */ lw $s2, 0x100($sp)
/* 04190C 7F00CDDC 8FAB00F4 */ lw $t3, 0xf4($sp)
/* 041910 7F00CDE0 3C158003 */ lui $s5, %hi(folder_option_COPY_left_bound)
/* 041914 7F00CDE4 26B5ABC4 */ addiu $s5, %lo(folder_option_COPY_left_bound) # addiu $s5, $s5, -0x543c
/* 041918 7F00CDE8 024B6821 */ addu $t5, $s2, $t3
/* 04191C 7F00CDEC 448D2000 */ mtc1 $t5, $f4
/* 041920 7F00CDF0 AFA201B8 */ sw $v0, 0x1b8($sp)
/* 041924 7F00CDF4 34049C1C */ li $a0, 39964
/* 041928 7F00CDF8 468021A0 */ cvt.s.w $f6, $f4
/* 04192C 7F00CDFC 0FC30776 */ jal get_textptr_for_textID
/* 041930 7F00CE00 E6A60008 */ swc1 $f6, 8($s5)
/* 041934 7F00CE04 8E880000 */ lw $t0, ($s4)
/* 041938 7F00CE08 00408825 */ move $s1, $v0
/* 04193C 7F00CE0C AFA000F4 */ sw $zero, 0xf4($sp)
/* 041940 7F00CE10 AFA000F8 */ sw $zero, 0xf8($sp)
/* 041944 7F00CE14 27A400F8 */ addiu $a0, $sp, 0xf8
/* 041948 7F00CE18 27A500F4 */ addiu $a1, $sp, 0xf4
/* 04194C 7F00CE1C 00403025 */ move $a2, $v0
/* 041950 7F00CE20 8E670000 */ lw $a3, ($s3)
/* 041954 7F00CE24 AFA00014 */ sw $zero, 0x14($sp)
/* 041958 7F00CE28 0FC2BA63 */ jal sub_GAME_7F0AE98C
/* 04195C 7F00CE2C AFA80010 */ sw $t0, 0x10($sp)
/* 041960 7F00CE30 8FAC00F8 */ lw $t4, 0xf8($sp)
/* 041964 7F00CE34 24120165 */ li $s2, 357
/* 041968 7F00CE38 AFB20100 */ sw $s2, 0x100($sp)
/* 04196C 7F00CE3C 05810003 */ bgez $t4, .L7F00CE4C
/* 041970 7F00CE40 000CC043 */ sra $t8, $t4, 1
/* 041974 7F00CE44 25810001 */ addiu $at, $t4, 1
/* 041978 7F00CE48 0001C043 */ sra $t8, $at, 1
.L7F00CE4C:
/* 04197C 7F00CE4C 03D88023 */ subu $s0, $fp, $t8
/* 041980 7F00CE50 0C001107 */ jal viGetX
/* 041984 7F00CE54 AFB000FC */ sw $s0, 0xfc($sp)
/* 041988 7F00CE58 00028400 */ sll $s0, $v0, 0x10
/* 04198C 7F00CE5C 00107C03 */ sra $t7, $s0, 0x10
/* 041990 7F00CE60 0C00110B */ jal viGetY
/* 041994 7F00CE64 01E08025 */ move $s0, $t7
/* 041998 7F00CE68 8E790000 */ lw $t9, ($s3)
/* 04199C 7F00CE6C 8E8A0000 */ lw $t2, ($s4)
/* 0419A0 7F00CE70 240EFFFF */ li $t6, -1
/* 0419A4 7F00CE74 AFAE0018 */ sw $t6, 0x18($sp)
/* 0419A8 7F00CE78 8FA401B8 */ lw $a0, 0x1b8($sp)
/* 0419AC 7F00CE7C 02C02825 */ move $a1, $s6
/* 0419B0 7F00CE80 02E03025 */ move $a2, $s7
/* 0419B4 7F00CE84 02203825 */ move $a3, $s1
/* 0419B8 7F00CE88 AFB0001C */ sw $s0, 0x1c($sp)
/* 0419BC 7F00CE8C AFA20020 */ sw $v0, 0x20($sp)
/* 0419C0 7F00CE90 AFA00024 */ sw $zero, 0x24($sp)
/* 0419C4 7F00CE94 AFA00028 */ sw $zero, 0x28($sp)
/* 0419C8 7F00CE98 AFB90010 */ sw $t9, 0x10($sp)
/* 0419CC 7F00CE9C 0FC2B6AF */ jal en_text_write_stuff
/* 0419D0 7F00CEA0 AFAA0014 */ sw $t2, 0x14($sp)
/* 0419D4 7F00CEA4 8FA90100 */ lw $t1, 0x100($sp)
/* 0419D8 7F00CEA8 8FAB00F4 */ lw $t3, 0xf4($sp)
/* 0419DC 7F00CEAC 3C013F00 */ li $at, 0x3F000000 # 0.500000
/* 0419E0 7F00CEB0 44810000 */ mtc1 $at, $f0
/* 0419E4 7F00CEB4 012B6821 */ addu $t5, $t1, $t3
/* 0419E8 7F00CEB8 448D4000 */ mtc1 $t5, $f8
/* 0419EC 7F00CEBC 3C138003 */ lui $s3, %hi(folder_option_ERASE_left_bound)
/* 0419F0 7F00CEC0 3C014361 */ li $at, 0x43610000 # 225.000000
/* 0419F4 7F00CEC4 468042A0 */ cvt.s.w $f10, $f8
/* 0419F8 7F00CEC8 44818000 */ mtc1 $at, $f16
/* 0419FC 7F00CECC 2673ABD4 */ addiu $s3, %lo(folder_option_ERASE_left_bound) # addiu $s3, $s3, -0x542c
/* 041A00 7F00CED0 3C118009 */ lui $s1, %hi(mainfolderimages)
/* 041A04 7F00CED4 3C018005 */ lui $at, %hi(D_80051A28)
/* 041A08 7F00CED8 2631D128 */ addiu $s1, %lo(mainfolderimages) # addiu $s1, $s1, -0x2ed8
/* 041A0C 7F00CEDC E66A0008 */ swc1 $f10, 8($s3)
/* 041A10 7F00CEE0 C4321A28 */ lwc1 $f18, %lo(D_80051A28)($at)
/* 041A14 7F00CEE4 8E300000 */ lw $s0, ($s1)
/* 041A18 7F00CEE8 AFA201B8 */ sw $v0, 0x1b8($sp)
/* 041A1C 7F00CEEC E7B000AC */ swc1 $f16, 0xac($sp)
/* 041A20 7F00CEF0 E7B200B0 */ swc1 $f18, 0xb0($sp)
/* 041A24 7F00CEF4 92080004 */ lbu $t0, 4($s0)
/* 041A28 7F00CEF8 27B201B8 */ addiu $s2, $sp, 0x1b8
/* 041A2C 7F00CEFC 44882000 */ mtc1 $t0, $f4
/* 041A30 7F00CF00 05010005 */ bgez $t0, .L7F00CF18
/* 041A34 7F00CF04 468021A0 */ cvt.s.w $f6, $f4
/* 041A38 7F00CF08 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000
/* 041A3C 7F00CF0C 44814000 */ mtc1 $at, $f8
/* 041A40 7F00CF10 00000000 */ nop
/* 041A44 7F00CF14 46083180 */ add.s $f6, $f6, $f8
.L7F00CF18:
/* 041A48 7F00CF18 46003282 */ mul.s $f10, $f6, $f0
/* 041A4C 7F00CF1C E7AA00A4 */ swc1 $f10, 0xa4($sp)
/* 041A50 7F00CF20 920C0005 */ lbu $t4, 5($s0)
/* 041A54 7F00CF24 448C8000 */ mtc1 $t4, $f16
/* 041A58 7F00CF28 05810005 */ bgez $t4, .L7F00CF40
/* 041A5C 7F00CF2C 468084A0 */ cvt.s.w $f18, $f16
/* 041A60 7F00CF30 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000
/* 041A64 7F00CF34 44812000 */ mtc1 $at, $f4
/* 041A68 7F00CF38 00000000 */ nop
/* 041A6C 7F00CF3C 46049480 */ add.s $f18, $f18, $f4
.L7F00CF40:
/* 041A70 7F00CF40 46009202 */ mul.s $f8, $f18, $f0
/* 041A74 7F00CF44 02402025 */ move $a0, $s2
/* 041A78 7F00CF48 02002825 */ move $a1, $s0
/* 041A7C 7F00CF4C 24060004 */ li $a2, 4
/* 041A80 7F00CF50 00003825 */ move $a3, $zero
/* 041A84 7F00CF54 AFA00010 */ sw $zero, 0x10($sp)
/* 041A88 7F00CF58 0FC1DB5A */ jal likely_generate_DL_for_image_declaration
/* 041A8C 7F00CF5C E7A800A8 */ swc1 $f8, 0xa8($sp)
/* 041A90 7F00CF60 8E300000 */ lw $s0, ($s1)
/* 041A94 7F00CF64 240F0001 */ li $t7, 1
/* 041A98 7F00CF68 241900FF */ li $t9, 255
/* 041A9C 7F00CF6C 92180005 */ lbu $t8, 5($s0)
/* 041AA0 7F00CF70 92070004 */ lbu $a3, 4($s0)
/* 041AA4 7F00CF74 240A00FF */ li $t2, 255
/* 041AA8 7F00CF78 240E00FF */ li $t6, 255
/* 041AAC 7F00CF7C 240900FF */ li $t1, 255
/* 041AB0 7F00CF80 AFA9002C */ sw $t1, 0x2c($sp)
/* 041AB4 7F00CF84 AFAE0028 */ sw $t6, 0x28($sp)
/* 041AB8 7F00CF88 AFAA0024 */ sw $t2, 0x24($sp)
/* 041ABC 7F00CF8C AFB90020 */ sw $t9, 0x20($sp)
/* 041AC0 7F00CF90 AFAF001C */ sw $t7, 0x1c($sp)
/* 041AC4 7F00CF94 AFA00018 */ sw $zero, 0x18($sp)
/* 041AC8 7F00CF98 AFA00014 */ sw $zero, 0x14($sp)
/* 041ACC 7F00CF9C AFB80010 */ sw $t8, 0x10($sp)
/* 041AD0 7F00CFA0 920B0006 */ lbu $t3, 6($s0)
/* 041AD4 7F00CFA4 AFA00034 */ sw $zero, 0x34($sp)
/* 041AD8 7F00CFA8 02402025 */ move $a0, $s2
/* 041ADC 7F00CFAC 000B682A */ slt $t5, $zero, $t3
/* 041AE0 7F00CFB0 AFAD0030 */ sw $t5, 0x30($sp)
/* 041AE4 7F00CFB4 27A500AC */ addiu $a1, $sp, 0xac
/* 041AE8 7F00CFB8 0FC1ABFA */ jal display_image_at_on_screen_coord
/* 041AEC 7F00CFBC 27A600A4 */ addiu $a2, $sp, 0xa4
/* 041AF0 7F00CFC0 C7A600AC */ lwc1 $f6, 0xac($sp)
/* 041AF4 7F00CFC4 C7AA00A4 */ lwc1 $f10, 0xa4($sp)
/* 041AF8 7F00CFC8 C7A400B0 */ lwc1 $f4, 0xb0($sp)
/* 041AFC 7F00CFCC C7B200A8 */ lwc1 $f18, 0xa8($sp)
/* 041B00 7F00CFD0 460A3401 */ sub.s $f16, $f6, $f10
/* 041B04 7F00CFD4 C7AA00B0 */ lwc1 $f10, 0xb0($sp)
/* 041B08 7F00CFD8 C7A600A8 */ lwc1 $f6, 0xa8($sp)
/* 041B0C 7F00CFDC 46122201 */ sub.s $f8, $f4, $f18
/* 041B10 7F00CFE0 E6B00000 */ swc1 $f16, ($s5)
/* 041B14 7F00CFE4 3C013F00 */ li $at, 0x3F000000 # 0.500000
/* 041B18 7F00CFE8 460A3400 */ add.s $f16, $f6, $f10
/* 041B1C 7F00CFEC 44810000 */ mtc1 $at, $f0
/* 041B20 7F00CFF0 E6A80004 */ swc1 $f8, 4($s5)
/* 041B24 7F00CFF4 3C018005 */ lui $at, %hi(D_80051A2C)
/* 041B28 7F00CFF8 E6B0000C */ swc1 $f16, 0xc($s5)
/* 041B2C 7F00CFFC C4241A2C */ lwc1 $f4, %lo(D_80051A2C)($at)
/* 041B30 7F00D000 3C018005 */ lui $at, %hi(D_80051A30)
/* 041B34 7F00D004 C4321A30 */ lwc1 $f18, %lo(D_80051A30)($at)
/* 041B38 7F00D008 8E300000 */ lw $s0, ($s1)
/* 041B3C 7F00D00C E7A4009C */ swc1 $f4, 0x9c($sp)
/* 041B40 7F00D010 E7B200A0 */ swc1 $f18, 0xa0($sp)
/* 041B44 7F00D014 92080010 */ lbu $t0, 0x10($s0)
/* 041B48 7F00D018 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000
/* 041B4C 7F00D01C 44884000 */ mtc1 $t0, $f8
/* 041B50 7F00D020 05010004 */ bgez $t0, .L7F00D034
/* 041B54 7F00D024 468041A0 */ cvt.s.w $f6, $f8
/* 041B58 7F00D028 44815000 */ mtc1 $at, $f10
/* 041B5C 7F00D02C 00000000 */ nop
/* 041B60 7F00D030 460A3180 */ add.s $f6, $f6, $f10
.L7F00D034:
/* 041B64 7F00D034 46003402 */ mul.s $f16, $f6, $f0
/* 041B68 7F00D038 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000
/* 041B6C 7F00D03C E7B00094 */ swc1 $f16, 0x94($sp)
/* 041B70 7F00D040 920C0011 */ lbu $t4, 0x11($s0)
/* 041B74 7F00D044 448C2000 */ mtc1 $t4, $f4
/* 041B78 7F00D048 05810004 */ bgez $t4, .L7F00D05C
/* 041B7C 7F00D04C 468024A0 */ cvt.s.w $f18, $f4
/* 041B80 7F00D050 44814000 */ mtc1 $at, $f8
/* 041B84 7F00D054 00000000 */ nop
/* 041B88 7F00D058 46089480 */ add.s $f18, $f18, $f8
.L7F00D05C:
/* 041B8C 7F00D05C 46009282 */ mul.s $f10, $f18, $f0
/* 041B90 7F00D060 02402025 */ move $a0, $s2
/* 041B94 7F00D064 2605000C */ addiu $a1, $s0, 0xc
/* 041B98 7F00D068 24060004 */ li $a2, 4
/* 041B9C 7F00D06C 00003825 */ move $a3, $zero
/* 041BA0 7F00D070 AFA00010 */ sw $zero, 0x10($sp)
/* 041BA4 7F00D074 0FC1DB5A */ jal likely_generate_DL_for_image_declaration
/* 041BA8 7F00D078 E7AA0098 */ swc1 $f10, 0x98($sp)
/* 041BAC 7F00D07C 8E300000 */ lw $s0, ($s1)
/* 041BB0 7F00D080 240F0001 */ li $t7, 1
/* 041BB4 7F00D084 241900FF */ li $t9, 255
/* 041BB8 7F00D088 92180011 */ lbu $t8, 0x11($s0)
/* 041BBC 7F00D08C 92070010 */ lbu $a3, 0x10($s0)
/* 041BC0 7F00D090 240A00FF */ li $t2, 255
/* 041BC4 7F00D094 240E00FF */ li $t6, 255
/* 041BC8 7F00D098 240900FF */ li $t1, 255
/* 041BCC 7F00D09C AFA9002C */ sw $t1, 0x2c($sp)
/* 041BD0 7F00D0A0 AFAE0028 */ sw $t6, 0x28($sp)
/* 041BD4 7F00D0A4 AFAA0024 */ sw $t2, 0x24($sp)
/* 041BD8 7F00D0A8 AFB90020 */ sw $t9, 0x20($sp)
/* 041BDC 7F00D0AC AFAF001C */ sw $t7, 0x1c($sp)
/* 041BE0 7F00D0B0 AFA00018 */ sw $zero, 0x18($sp)
/* 041BE4 7F00D0B4 AFA00014 */ sw $zero, 0x14($sp)
/* 041BE8 7F00D0B8 AFB80010 */ sw $t8, 0x10($sp)
/* 041BEC 7F00D0BC 920B0012 */ lbu $t3, 0x12($s0)
/* 041BF0 7F00D0C0 AFA00034 */ sw $zero, 0x34($sp)
/* 041BF4 7F00D0C4 02402025 */ move $a0, $s2
/* 041BF8 7F00D0C8 000B682A */ slt $t5, $zero, $t3
/* 041BFC 7F00D0CC AFAD0030 */ sw $t5, 0x30($sp)
/* 041C00 7F00D0D0 27A5009C */ addiu $a1, $sp, 0x9c
/* 041C04 7F00D0D4 0FC1ABFA */ jal display_image_at_on_screen_coord
/* 041C08 7F00D0D8 27A60094 */ addiu $a2, $sp, 0x94
/* 041C0C 7F00D0DC C7A6009C */ lwc1 $f6, 0x9c($sp)
/* 041C10 7F00D0E0 C7B00094 */ lwc1 $f16, 0x94($sp)
/* 041C14 7F00D0E4 C7A800A0 */ lwc1 $f8, 0xa0($sp)
/* 041C18 7F00D0E8 C7B20098 */ lwc1 $f18, 0x98($sp)
/* 041C1C 7F00D0EC 46103101 */ sub.s $f4, $f6, $f16
/* 041C20 7F00D0F0 C7B000A0 */ lwc1 $f16, 0xa0($sp)
/* 041C24 7F00D0F4 C7A60098 */ lwc1 $f6, 0x98($sp)
/* 041C28 7F00D0F8 46124281 */ sub.s $f10, $f8, $f18
/* 041C2C 7F00D0FC E6640000 */ swc1 $f4, ($s3)
/* 041C30 7F00D100 3C0142DC */ li $at, 0x42DC0000 # 110.000000
/* 041C34 7F00D104 46103100 */ add.s $f4, $f6, $f16
/* 041C38 7F00D108 44814000 */ mtc1 $at, $f8
/* 041C3C 7F00D10C E66A0004 */ swc1 $f10, 4($s3)
/* 041C40 7F00D110 3C018005 */ lui $at, %hi(D_80051A34)
/* 041C44 7F00D114 E664000C */ swc1 $f4, 0xc($s3)
/* 041C48 7F00D118 C4321A34 */ lwc1 $f18, %lo(D_80051A34)($at)
/* 041C4C 7F00D11C 8E300000 */ lw $s0, ($s1)
/* 041C50 7F00D120 E7A8008C */ swc1 $f8, 0x8c($sp)
/* 041C54 7F00D124 E7B20090 */ swc1 $f18, 0x90($sp)
/* 041C58 7F00D128 9208001C */ lbu $t0, 0x1c($s0)
/* 041C5C 7F00D12C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000
/* 041C60 7F00D130 44885000 */ mtc1 $t0, $f10
/* 041C64 7F00D134 05010004 */ bgez $t0, .L7F00D148
/* 041C68 7F00D138 468051A0 */ cvt.s.w $f6, $f10
/* 041C6C 7F00D13C 44818000 */ mtc1 $at, $f16
/* 041C70 7F00D140 00000000 */ nop
/* 041C74 7F00D144 46103180 */ add.s $f6, $f6, $f16
.L7F00D148:
/* 041C78 7F00D148 3C013F00 */ li $at, 0x3F000000 # 0.500000
/* 041C7C 7F00D14C 44812000 */ mtc1 $at, $f4
/* 041C80 7F00D150 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000
/* 041C84 7F00D154 46043202 */ mul.s $f8, $f6, $f4
/* 041C88 7F00D158 E7A80084 */ swc1 $f8, 0x84($sp)
/* 041C8C 7F00D15C 920C001D */ lbu $t4, 0x1d($s0)
/* 041C90 7F00D160 448C9000 */ mtc1 $t4, $f18
/* 041C94 7F00D164 05810004 */ bgez $t4, .L7F00D178
/* 041C98 7F00D168 468092A0 */ cvt.s.w $f10, $f18
/* 041C9C 7F00D16C 44818000 */ mtc1 $at, $f16
/* 041CA0 7F00D170 00000000 */ nop
/* 041CA4 7F00D174 46105280 */ add.s $f10, $f10, $f16
.L7F00D178:
/* 041CA8 7F00D178 3C013F00 */ li $at, 0x3F000000 # 0.500000
/* 041CAC 7F00D17C 44813000 */ mtc1 $at, $f6
/* 041CB0 7F00D180 02402025 */ move $a0, $s2
/* 041CB4 7F00D184 26050018 */ addiu $a1, $s0, 0x18
/* 041CB8 7F00D188 46065102 */ mul.s $f4, $f10, $f6
/* 041CBC 7F00D18C 24060004 */ li $a2, 4
/* 041CC0 7F00D190 00003825 */ move $a3, $zero
/* 041CC4 7F00D194 AFA00010 */ sw $zero, 0x10($sp)
/* 041CC8 7F00D198 0FC1DB5A */ jal likely_generate_DL_for_image_declaration
/* 041CCC 7F00D19C E7A40088 */ swc1 $f4, 0x88($sp)
/* 041CD0 7F00D1A0 8E300000 */ lw $s0, ($s1)
/* 041CD4 7F00D1A4 240F0001 */ li $t7, 1
/* 041CD8 7F00D1A8 241900FF */ li $t9, 255
/* 041CDC 7F00D1AC 9218001D */ lbu $t8, 0x1d($s0)
/* 041CE0 7F00D1B0 9207001C */ lbu $a3, 0x1c($s0)
/* 041CE4 7F00D1B4 240A00FF */ li $t2, 255
/* 041CE8 7F00D1B8 240E00FF */ li $t6, 255
/* 041CEC 7F00D1BC 240900FF */ li $t1, 255
/* 041CF0 7F00D1C0 AFA9002C */ sw $t1, 0x2c($sp)
/* 041CF4 7F00D1C4 AFAE0028 */ sw $t6, 0x28($sp)
/* 041CF8 7F00D1C8 AFAA0024 */ sw $t2, 0x24($sp)
/* 041CFC 7F00D1CC AFB90020 */ sw $t9, 0x20($sp)
/* 041D00 7F00D1D0 AFAF001C */ sw $t7, 0x1c($sp)
/* 041D04 7F00D1D4 AFA00018 */ sw $zero, 0x18($sp)
/* 041D08 7F00D1D8 AFA00014 */ sw $zero, 0x14($sp)
/* 041D0C 7F00D1DC AFB80010 */ sw $t8, 0x10($sp)
/* 041D10 7F00D1E0 920B001E */ lbu $t3, 0x1e($s0)
/* 041D14 7F00D1E4 AFA00034 */ sw $zero, 0x34($sp)
/* 041D18 7F00D1E8 02402025 */ move $a0, $s2
/* 041D1C 7F00D1EC 000B682A */ slt $t5, $zero, $t3
/* 041D20 7F00D1F0 AFAD0030 */ sw $t5, 0x30($sp)
/* 041D24 7F00D1F4 27A5008C */ addiu $a1, $sp, 0x8c
/* 041D28 7F00D1F8 0FC1ABFA */ jal display_image_at_on_screen_coord
/* 041D2C 7F00D1FC 27A60084 */ addiu $a2, $sp, 0x84
/* 041D30 7F00D200 3C088003 */ lui $t0, %hi(folder_selected_for_deletion)
/* 041D34 7F00D204 8D08A91C */ lw $t0, %lo(folder_selected_for_deletion)($t0)
/* 041D38 7F00D208 05030005 */ bgezl $t0, .L7F00D220
/* 041D3C 7F00D20C 8FBF0064 */ lw $ra, 0x64($sp)
/* 041D40 7F00D210 0FC027C2 */ jal load_draw_selected_icon_folder_select
/* 041D44 7F00D214 8FA401B8 */ lw $a0, 0x1b8($sp)
/* 041D48 7F00D218 AFA201B8 */ sw $v0, 0x1b8($sp)
/* 041D4C 7F00D21C 8FBF0064 */ lw $ra, 0x64($sp)
.L7F00D220:
/* 041D50 7F00D220 8FA201B8 */ lw $v0, 0x1b8($sp)
/* 041D54 7F00D224 8FB00040 */ lw $s0, 0x40($sp)
/* 041D58 7F00D228 8FB10044 */ lw $s1, 0x44($sp)
/* 041D5C 7F00D22C 8FB20048 */ lw $s2, 0x48($sp)
/* 041D60 7F00D230 8FB3004C */ lw $s3, 0x4c($sp)
/* 041D64 7F00D234 8FB40050 */ lw $s4, 0x50($sp)
/* 041D68 7F00D238 8FB50054 */ lw $s5, 0x54($sp)
/* 041D6C 7F00D23C 8FB60058 */ lw $s6, 0x58($sp)
/* 041D70 7F00D240 8FB7005C */ lw $s7, 0x5c($sp)
/* 041D74 7F00D244 8FBE0060 */ lw $fp, 0x60($sp)
/* 041D78 7F00D248 03E00008 */ jr $ra
/* 041D7C 7F00D24C 27BD01B8 */ addiu $sp, $sp, 0x1b8
)
#endif
void init_menu06_modeselect(void)
{
gamemode = -1;
tab_2_selected = 0;
tab_3_selected = 0;
load_walletbond();
copyCurrentEEPROMtoStack();
}
void update_menu06_modesel(void) {
return;
}
#ifdef NONMATCHING
void interface_menu06_modesel(void)
{
u32 i;
is_cheat_menu_available = FALSE;
for (i=1; i != 0x4b; i++)
{
if (check_if_cheat_available(i) == 0)
{
cheat_available[i] = FALSE;
}
else
{
cheat_available[i] = TRUE;
is_cheat_menu_available = TRUE;
}
}
viSetFovY(60.f);
viSetAspect(1.333333f);
viSetZRange(100.0f, 10000.0f);
viSetUseZBuf(0);
disable_all_switches(ptr_folder_object_instance);
select_load_bond_picture(ptr_folder_object_instance, removed_would_have_returned_bond_for_folder_num(selected_folder_num));
set_item_visibility_in_objinstance(ptr_folder_object_instance, 0, 1);
set_item_visibility_in_objinstance(ptr_folder_object_instance, 1, 1);
set_item_visibility_in_objinstance(ptr_folder_object_instance, 3, 1);
set_item_visibility_in_objinstance(ptr_folder_object_instance, 7, 1);
set_item_visibility_in_objinstance(ptr_folder_object_instance, 2, 1);
tab_3_highlight = 0;
mission_difficulty_highlighted = -1;
if (isontab3() != 0)
{
tab_3_highlight = 1;
if (joyGetButtonsPressedThisFrame(0, START_BUTTON|Z_TRIG|A_BUTTON) != 0)
{
tab_3_selected = 1;
play_sfx_a1(g_musicSfxBufferPtr, 0xC7, 0);
}
}
else if ((is_cheat_menu_available != 0) && (275.0f <= cursor_v_pos))
{
mission_difficulty_highlighted = 2;
if (joyGetButtonsPressedThisFrame(0, START_BUTTON|Z_TRIG|A_BUTTON) != 0)
{
gamemode = 2;
play_sfx_a1(g_musicSfxBufferPtr, 0xC5, 0);
}
}
else if ((243.0f <= cursor_v_pos) && (joyGetControllerCount() >= 2))
{
mission_difficulty_highlighted = 1;
if (joyGetButtonsPressedThisFrame(0, START_BUTTON|Z_TRIG|A_BUTTON) != 0)
{
gamemode = 1;
play_sfx_a1(g_musicSfxBufferPtr, 0xC5, 0);
}
}
else
{
mission_difficulty_highlighted = 0;
if (joyGetButtonsPressedThisFrame(0, START_BUTTON|Z_TRIG|A_BUTTON) != 0)
{
gamemode = 0;
play_sfx_a1(g_musicSfxBufferPtr, 0xC5, 0);
}
}
if (joyGetButtonsPressedThisFrame(0, B_BUTTON) != 0)
{
tab_3_selected = 1;
play_sfx_a1(g_musicSfxBufferPtr, 0xC7, 0);
}
menu_control_stick_tracking();
if (gamemode == GAMEMODE_SOLO)
{
set_menu_to_mode(MENU_MISSION_SELECT, 0);
set_cursor_to_stage_solo(0);
return;
}
if (gamemode == GAMEMODE_MULTI)
{
set_menu_to_mode(MENU_MP_OPTIONS, 0);
return;
}
if (gamemode == GAMEMODE_CHEATS)
{
set_menu_to_mode(MENU_CHEAT, 0);
return;
}
if (tab_3_selected != 0)
{
set_menu_to_mode(MENU_FILE_SELECT, 0);
}
}
#else
GLOBAL_ASM(
.late_rodata
glabel D_80051A38
.word 0x3FAAAAAB /* 1.3333334;*/
glabel D_80051A3C
.word 0x461C4000 /* 10000.0;*/
glabel D_80051A40
.word 0x43898000 /* 275.0;*/
.text
glabel interface_menu06_modesel
/* 041DC8 7F00D298 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 041DCC 7F00D29C AFB00018 */ sw $s0, 0x18($sp)
/* 041DD0 7F00D2A0 3C018003 */ lui $at, %hi(is_cheat_menu_available)
/* 041DD4 7F00D2A4 3C038007 */ lui $v1, %hi(cheat_available)
/* 041DD8 7F00D2A8 AFBF001C */ sw $ra, 0x1c($sp)
/* 041DDC 7F00D2AC AC20A94C */ sw $zero, %lo(is_cheat_menu_available)($at)
/* 041DE0 7F00D2B0 24639651 */ addiu $v1, %lo(cheat_available) # addiu $v1, $v1, -0x69af
/* 041DE4 7F00D2B4 24100001 */ li $s0, 1
.L7F00D2B8:
/* 041DE8 7F00D2B8 02002025 */ move $a0, $s0
/* 041DEC 7F00D2BC 0FC02612 */ jal check_if_cheat_available
/* 041DF0 7F00D2C0 AFA30024 */ sw $v1, 0x24($sp)
/* 041DF4 7F00D2C4 10400007 */ beqz $v0, .L7F00D2E4
/* 041DF8 7F00D2C8 8FA30024 */ lw $v1, 0x24($sp)
/* 041DFC 7F00D2CC 240E0001 */ li $t6, 1
/* 041E00 7F00D2D0 A06E0000 */ sb $t6, ($v1)
/* 041E04 7F00D2D4 240F0001 */ li $t7, 1
/* 041E08 7F00D2D8 3C018003 */ lui $at, %hi(is_cheat_menu_available)
/* 041E0C 7F00D2DC 10000002 */ b .L7F00D2E8
/* 041E10 7F00D2E0 AC2FA94C */ sw $t7, %lo(is_cheat_menu_available)($at)
.L7F00D2E4:
/* 041E14 7F00D2E4 A0600000 */ sb $zero, ($v1)
.L7F00D2E8:
/* 041E18 7F00D2E8 26100001 */ addiu $s0, $s0, 1
/* 041E1C 7F00D2EC 2401004B */ li $at, 75
/* 041E20 7F00D2F0 1601FFF1 */ bne $s0, $at, .L7F00D2B8
/* 041E24 7F00D2F4 24630001 */ addiu $v1, $v1, 1
/* 041E28 7F00D2F8 3C014270 */ li $at, 0x42700000 # 60.000000
/* 041E2C 7F00D2FC 44816000 */ mtc1 $at, $f12
/* 041E30 7F00D300 0C001151 */ jal viSetFovY
/* 041E34 7F00D304 00000000 */ nop
/* 041E38 7F00D308 3C018005 */ lui $at, %hi(D_80051A38)
/* 041E3C 7F00D30C 0C001164 */ jal viSetAspect
/* 041E40 7F00D310 C42C1A38 */ lwc1 $f12, %lo(D_80051A38)($at)
/* 041E44 7F00D314 3C0142C8 */ li $at, 0x42C80000 # 100.000000
/* 041E48 7F00D318 44816000 */ mtc1 $at, $f12
/* 041E4C 7F00D31C 3C018005 */ lui $at, %hi(D_80051A3C)
/* 041E50 7F00D320 0C001194 */ jal viSetZRange
/* 041E54 7F00D324 C42E1A3C */ lwc1 $f14, %lo(D_80051A3C)($at)
/* 041E58 7F00D328 0C00114D */ jal viSetUseZBuf
/* 041E5C 7F00D32C 00002025 */ move $a0, $zero
/* 041E60 7F00D330 3C108003 */ lui $s0, %hi(ptr_folder_object_instance)
/* 041E64 7F00D334 2610A95C */ addiu $s0, %lo(ptr_folder_object_instance) # addiu $s0, $s0, -0x56a4
/* 041E68 7F00D338 0FC02DC9 */ jal disable_all_switches
/* 041E6C 7F00D33C 8E040000 */ lw $a0, ($s0)
/* 041E70 7F00D340 3C048003 */ lui $a0, %hi(selected_folder_num)
/* 041E74 7F00D344 0FC07AF0 */ jal removed_would_have_returned_bond_for_folder_num
/* 041E78 7F00D348 8C84A8E8 */ lw $a0, %lo(selected_folder_num)($a0)
/* 041E7C 7F00D34C 8E040000 */ lw $a0, ($s0)
/* 041E80 7F00D350 0FC02E02 */ jal select_load_bond_picture
/* 041E84 7F00D354 00402825 */ move $a1, $v0
/* 041E88 7F00D358 8E040000 */ lw $a0, ($s0)
/* 041E8C 7F00D35C 00002825 */ move $a1, $zero
/* 041E90 7F00D360 0FC02DF0 */ jal set_item_visibility_in_objinstance
/* 041E94 7F00D364 24060001 */ li $a2, 1
/* 041E98 7F00D368 8E040000 */ lw $a0, ($s0)
/* 041E9C 7F00D36C 24050001 */ li $a1, 1
/* 041EA0 7F00D370 0FC02DF0 */ jal set_item_visibility_in_objinstance
/* 041EA4 7F00D374 24060001 */ li $a2, 1
/* 041EA8 7F00D378 8E040000 */ lw $a0, ($s0)
/* 041EAC 7F00D37C 24050003 */ li $a1, 3
/* 041EB0 7F00D380 0FC02DF0 */ jal set_item_visibility_in_objinstance
/* 041EB4 7F00D384 24060001 */ li $a2, 1
/* 041EB8 7F00D388 8E040000 */ lw $a0, ($s0)
/* 041EBC 7F00D38C 24050007 */ li $a1, 7
/* 041EC0 7F00D390 0FC02DF0 */ jal set_item_visibility_in_objinstance
/* 041EC4 7F00D394 24060001 */ li $a2, 1
/* 041EC8 7F00D398 8E040000 */ lw $a0, ($s0)
/* 041ECC 7F00D39C 24050002 */ li $a1, 2
/* 041ED0 7F00D3A0 0FC02DF0 */ jal set_item_visibility_in_objinstance
/* 041ED4 7F00D3A4 24060001 */ li $a2, 1
/* 041ED8 7F00D3A8 3C108007 */ lui $s0, %hi(mission_difficulty_highlighted)
/* 041EDC 7F00D3AC 3C018003 */ lui $at, %hi(tab_3_highlight)
/* 041EE0 7F00D3B0 26109784 */ addiu $s0, %lo(mission_difficulty_highlighted) # addiu $s0, $s0, -0x687c
/* 041EE4 7F00D3B4 AC20A8E4 */ sw $zero, %lo(tab_3_highlight)($at)
/* 041EE8 7F00D3B8 2418FFFF */ li $t8, -1
/* 041EEC 7F00D3BC 0FC028E7 */ jal isontab3
/* 041EF0 7F00D3C0 AE180000 */ sw $t8, ($s0)
/* 041EF4 7F00D3C4 10400012 */ beqz $v0, .L7F00D410
/* 041EF8 7F00D3C8 3C098003 */ lui $t1, %hi(is_cheat_menu_available)
/* 041EFC 7F00D3CC 24190001 */ li $t9, 1
/* 041F00 7F00D3D0 3C018003 */ lui $at, %hi(tab_3_highlight)
/* 041F04 7F00D3D4 AC39A8E4 */ sw $t9, %lo(tab_3_highlight)($at)
/* 041F08 7F00D3D8 00002025 */ move $a0, $zero
/* 041F0C 7F00D3DC 0C0030EB */ jal joyGetButtonsPressedThisFrame
/* 041F10 7F00D3E0 3405B000 */ li $a1, 45056
/* 041F14 7F00D3E4 1040004D */ beqz $v0, .L7F00D51C
/* 041F18 7F00D3E8 24080001 */ li $t0, 1
/* 041F1C 7F00D3EC 3C018003 */ lui $at, %hi(tab_3_selected)
/* 041F20 7F00D3F0 3C048006 */ lui $a0, %hi(g_musicSfxBufferPtr)
/* 041F24 7F00D3F4 AC28A8D8 */ sw $t0, %lo(tab_3_selected)($at)
/* 041F28 7F00D3F8 8C843720 */ lw $a0, %lo(g_musicSfxBufferPtr)($a0)
/* 041F2C 7F00D3FC 240500C7 */ li $a1, 199
/* 041F30 7F00D400 0C002382 */ jal play_sfx_a1
/* 041F34 7F00D404 00003025 */ move $a2, $zero
/* 041F38 7F00D408 10000045 */ b .L7F00D520
/* 041F3C 7F00D40C 00002025 */ move $a0, $zero
.L7F00D410:
/* 041F40 7F00D410 8D29A94C */ lw $t1, %lo(is_cheat_menu_available)($t1)
/* 041F44 7F00D414 3C018003 */ lui $at, %hi(cursor_v_pos)
/* 041F48 7F00D418 11200017 */ beqz $t1, .L7F00D478
/* 041F4C 7F00D41C 00000000 */ nop
/* 041F50 7F00D420 C424A90C */ lwc1 $f4, %lo(cursor_v_pos)($at)
/* 041F54 7F00D424 3C018005 */ lui $at, %hi(D_80051A40)
/* 041F58 7F00D428 C4261A40 */ lwc1 $f6, %lo(D_80051A40)($at)
/* 041F5C 7F00D42C 240A0002 */ li $t2, 2
/* 041F60 7F00D430 00002025 */ move $a0, $zero
/* 041F64 7F00D434 4604303E */ c.le.s $f6, $f4
/* 041F68 7F00D438 3405B000 */ li $a1, 45056
/* 041F6C 7F00D43C 4500000E */ bc1f .L7F00D478
/* 041F70 7F00D440 00000000 */ nop
/* 041F74 7F00D444 0C0030EB */ jal joyGetButtonsPressedThisFrame
/* 041F78 7F00D448 AE0A0000 */ sw $t2, ($s0)
/* 041F7C 7F00D44C 10400033 */ beqz $v0, .L7F00D51C
/* 041F80 7F00D450 240B0002 */ li $t3, 2
/* 041F84 7F00D454 3C018003 */ lui $at, %hi(gamemode)
/* 041F88 7F00D458 3C048006 */ lui $a0, %hi(g_musicSfxBufferPtr)
/* 041F8C 7F00D45C AC2BA8F0 */ sw $t3, %lo(gamemode)($at)
/* 041F90 7F00D460 8C843720 */ lw $a0, %lo(g_musicSfxBufferPtr)($a0)
/* 041F94 7F00D464 240500C5 */ li $a1, 197
/* 041F98 7F00D468 0C002382 */ jal play_sfx_a1
/* 041F9C 7F00D46C 00003025 */ move $a2, $zero
/* 041FA0 7F00D470 1000002B */ b .L7F00D520
/* 041FA4 7F00D474 00002025 */ move $a0, $zero
.L7F00D478:
/* 041FA8 7F00D478 3C018003 */ lui $at, %hi(cursor_v_pos)
/* 041FAC 7F00D47C C428A90C */ lwc1 $f8, %lo(cursor_v_pos)($at)
/* 041FB0 7F00D480 3C014373 */ li $at, 0x43730000 # 243.000000
/* 041FB4 7F00D484 44815000 */ mtc1 $at, $f10
/* 041FB8 7F00D488 00000000 */ nop
/* 041FBC 7F00D48C 4608503E */ c.le.s $f10, $f8
/* 041FC0 7F00D490 00000000 */ nop
/* 041FC4 7F00D494 45020016 */ bc1fl .L7F00D4F0
/* 041FC8 7F00D498 AE000000 */ sw $zero, ($s0)
/* 041FCC 7F00D49C 0C002E7E */ jal joyGetControllerCount
/* 041FD0 7F00D4A0 00000000 */ nop
/* 041FD4 7F00D4A4 28410002 */ slti $at, $v0, 2
/* 041FD8 7F00D4A8 14200010 */ bnez $at, .L7F00D4EC
/* 041FDC 7F00D4AC 240C0001 */ li $t4, 1
/* 041FE0 7F00D4B0 AE0C0000 */ sw $t4, ($s0)
/* 041FE4 7F00D4B4 00002025 */ move $a0, $zero
/* 041FE8 7F00D4B8 0C0030EB */ jal joyGetButtonsPressedThisFrame
/* 041FEC 7F00D4BC 3405B000 */ li $a1, 45056
/* 041FF0 7F00D4C0 10400016 */ beqz $v0, .L7F00D51C
/* 041FF4 7F00D4C4 240D0001 */ li $t5, 1
/* 041FF8 7F00D4C8 3C018003 */ lui $at, %hi(gamemode)
/* 041FFC 7F00D4CC 3C048006 */ lui $a0, %hi(g_musicSfxBufferPtr)
/* 042000 7F00D4D0 AC2DA8F0 */ sw $t5, %lo(gamemode)($at)
/* 042004 7F00D4D4 8C843720 */ lw $a0, %lo(g_musicSfxBufferPtr)($a0)
/* 042008 7F00D4D8 240500C5 */ li $a1, 197
/* 04200C 7F00D4DC 0C002382 */ jal play_sfx_a1
/* 042010 7F00D4E0 00003025 */ move $a2, $zero
/* 042014 7F00D4E4 1000000E */ b .L7F00D520
/* 042018 7F00D4E8 00002025 */ move $a0, $zero
.L7F00D4EC:
/* 04201C 7F00D4EC AE000000 */ sw $zero, ($s0)
.L7F00D4F0:
/* 042020 7F00D4F0 00002025 */ move $a0, $zero
/* 042024 7F00D4F4 0C0030EB */ jal joyGetButtonsPressedThisFrame
/* 042028 7F00D4F8 3405B000 */ li $a1, 45056
/* 04202C 7F00D4FC 10400007 */ beqz $v0, .L7F00D51C
/* 042030 7F00D500 3C018003 */ lui $at, %hi(gamemode)
/* 042034 7F00D504 3C048006 */ lui $a0, %hi(g_musicSfxBufferPtr)
/* 042038 7F00D508 AC20A8F0 */ sw $zero, %lo(gamemode)($at)
/* 04203C 7F00D50C 8C843720 */ lw $a0, %lo(g_musicSfxBufferPtr)($a0)
/* 042040 7F00D510 240500C5 */ li $a1, 197
/* 042044 7F00D514 0C002382 */ jal play_sfx_a1
/* 042048 7F00D518 00003025 */ move $a2, $zero
.L7F00D51C:
/* 04204C 7F00D51C 00002025 */ move $a0, $zero
.L7F00D520:
/* 042050 7F00D520 0C0030EB */ jal joyGetButtonsPressedThisFrame
/* 042054 7F00D524 24054000 */ li $a1, 16384
/* 042058 7F00D528 10400008 */ beqz $v0, .L7F00D54C
/* 04205C 7F00D52C 240E0001 */ li $t6, 1
/* 042060 7F00D530 3C018003 */ lui $at, %hi(tab_3_selected)
/* 042064 7F00D534 3C048006 */ lui $a0, %hi(g_musicSfxBufferPtr)
/* 042068 7F00D538 AC2EA8D8 */ sw $t6, %lo(tab_3_selected)($at)
/* 04206C 7F00D53C 8C843720 */ lw $a0, %lo(g_musicSfxBufferPtr)($a0)
/* 042070 7F00D540 240500C7 */ li $a1, 199
/* 042074 7F00D544 0C002382 */ jal play_sfx_a1
/* 042078 7F00D548 00003025 */ move $a2, $zero
.L7F00D54C:
/* 04207C 7F00D54C 0FC026E1 */ jal menu_control_stick_tracking
/* 042080 7F00D550 00000000 */ nop
/* 042084 7F00D554 3C028003 */ lui $v0, %hi(gamemode)
/* 042088 7F00D558 8C42A8F0 */ lw $v0, %lo(gamemode)($v0)
/* 04208C 7F00D55C 24040007 */ li $a0, 7
/* 042090 7F00D560 24010001 */ li $at, 1
/* 042094 7F00D564 14400007 */ bnez $v0, .L7F00D584
/* 042098 7F00D568 00000000 */ nop
/* 04209C 7F00D56C 0FC06975 */ jal set_menu_to_mode
/* 0420A0 7F00D570 00002825 */ move $a1, $zero
/* 0420A4 7F00D574 0FC038F8 */ jal set_cursor_to_stage_solo
/* 0420A8 7F00D578 00002025 */ move $a0, $zero
/* 0420AC 7F00D57C 10000016 */ b .L7F00D5D8
/* 0420B0 7F00D580 8FBF001C */ lw $ra, 0x1c($sp)
.L7F00D584:
/* 0420B4 7F00D584 14410005 */ bne $v0, $at, .L7F00D59C
/* 0420B8 7F00D588 2404000E */ li $a0, 14
/* 0420BC 7F00D58C 0FC06975 */ jal set_menu_to_mode
/* 0420C0 7F00D590 00002825 */ move $a1, $zero
/* 0420C4 7F00D594 10000010 */ b .L7F00D5D8
/* 0420C8 7F00D598 8FBF001C */ lw $ra, 0x1c($sp)
.L7F00D59C:
/* 0420CC 7F00D59C 24010002 */ li $at, 2
/* 0420D0 7F00D5A0 14410006 */ bne $v0, $at, .L7F00D5BC
/* 0420D4 7F00D5A4 3C0F8003 */ lui $t7, %hi(tab_3_selected)
/* 0420D8 7F00D5A8 24040015 */ li $a0, 21
/* 0420DC 7F00D5AC 0FC06975 */ jal set_menu_to_mode
/* 0420E0 7F00D5B0 00002825 */ move $a1, $zero
/* 0420E4 7F00D5B4 10000008 */ b .L7F00D5D8
/* 0420E8 7F00D5B8 8FBF001C */ lw $ra, 0x1c($sp)
.L7F00D5BC:
/* 0420EC 7F00D5BC 8DEFA8D8 */ lw $t7, %lo(tab_3_selected)($t7)
/* 0420F0 7F00D5C0 24040005 */ li $a0, 5
/* 0420F4 7F00D5C4 51E00004 */ beql $t7, $zero, .L7F00D5D8
/* 0420F8 7F00D5C8 8FBF001C */ lw $ra, 0x1c($sp)
/* 0420FC 7F00D5CC 0FC06975 */ jal set_menu_to_mode
/* 042100 7F00D5D0 00002825 */ move $a1, $zero
/* 042104 7F00D5D4 8FBF001C */ lw $ra, 0x1c($sp)
.L7F00D5D8:
/* 042108 7F00D5D8 8FB00018 */ lw $s0, 0x18($sp)
/* 04210C 7F00D5DC 27BD0030 */ addiu $sp, $sp, 0x30
/* 042110 7F00D5E0 03E00008 */ jr $ra
/* 042114 7F00D5E4 00000000 */ nop
)
#endif
#ifdef NONMATCHING
s32 sub_GAME_7F00D5E8(s32 arg0)
{
s32 sp11C;
s32 sp118;
s32 sp114;
s32 sp110;
s32 sp10C;
s32 spC8;
s32 sp88;
s32 sp48;
f32 temp_f0;
f32 temp_f2;
s32 temp_ret;
s32 temp_s0;
void *temp_t8;
void *temp_t9;
void *temp_v0;
void *phi_t9;
void *phi_t8;
s32 phi_s1;
s32 phi_s0;
temp_v0 = &D_8002AB94 + (selected_folder_num * 0xc);
phi_t9 = &D_8002AF84;
phi_t8 = &sp10C;
loop_1:
temp_t9 = phi_t9 + 0xc;
temp_t8 = phi_t8 + 0xc;
temp_t8->unk-C = (s32) *phi_t9;
temp_t8->unk-8 = (s32) temp_t9->unk-8;
temp_t8->unk-4 = (s32) temp_t9->unk-4;
phi_t9 = temp_t9;
phi_t8 = temp_t8;
if (temp_t9 != (&D_8002AF84 + 0x3c))
{
goto loop_1;
}
temp_t8->unk0 = (s32) temp_t9->unk0;
temp_f0 = temp_v0->unk0 + D_8002AFC4;
temp_f2 = temp_v0->unk4 + D_8002AFC8;
matrix_4x4_7F059694(0, &spC8, temp_f0, temp_f2, 4000.0f + D_8002AFCC, temp_f0, temp_f2, 1.0f);
matrix_4x4_set_identity_and_position(&D_8002AB94 + (selected_folder_num * 0xc), &sp88);
matrix_scalar_multiply(0x3e800000, &sp88);
matrix_4x4_multiply_in_place(&spC8, &sp88);
temp_ret = dynAllocate(ptr_folder_object_instance->unk8->unkE << 6);
sp11C = temp_ret;
matrix_4x4_copy(&sp88, temp_ret);
ptr_folder_object_instance->unkC = sp11C;
sp114 = 3;
sp110 = 0;
sp118 = arg0;
subdraw(&sp10C, ptr_folder_object_instance);
arg0 = sp118;
phi_s1 = 0;
phi_s0 = 0;
if (ptr_folder_object_instance->unk8->unkE > 0)
{
loop_3:
matrix_4x4_copy(ptr_folder_object_instance->unkC + phi_s1, &sp48);
sub_GAME_7F058C9C(&sp48, ptr_folder_object_instance->unkC + (phi_s0 << 6));
temp_s0 = phi_s0 + 1;
phi_s1 = phi_s1 + 0x40;
phi_s0 = temp_s0;
if (temp_s0 < ptr_folder_object_instance->unk8->unkE)
{
goto loop_3;
}
}
return arg0;
}
#else
GLOBAL_ASM(
.text
glabel sub_GAME_7F00D5E8
/* 042118 7F00D5E8 27BDFEA8 */ addiu $sp, $sp, -0x158
/* 04211C 7F00D5EC AFB20034 */ sw $s2, 0x34($sp)
/* 042120 7F00D5F0 3C128003 */ lui $s2, %hi(selected_folder_num)
/* 042124 7F00D5F4 2652A8E8 */ addiu $s2, %lo(selected_folder_num) # addiu $s2, $s2, -0x5718
/* 042128 7F00D5F8 8E4E0000 */ lw $t6, ($s2)
/* 04212C 7F00D5FC AFB30038 */ sw $s3, 0x38($sp)
/* 042130 7F00D600 2413000C */ li $s3, 12
/* 042134 7F00D604 01D30019 */ multu $t6, $s3
/* 042138 7F00D608 AFB10030 */ sw $s1, 0x30($sp)
/* 04213C 7F00D60C 3C118003 */ lui $s1, %hi(D_8002AB94)
/* 042140 7F00D610 2631AB94 */ addiu $s1, %lo(D_8002AB94) # addiu $s1, $s1, -0x546c
/* 042144 7F00D614 3C198003 */ lui $t9, %hi(D_8002AF84)
/* 042148 7F00D618 2739AF84 */ addiu $t9, %lo(D_8002AF84) # addiu $t9, $t9, -0x507c
/* 04214C 7F00D61C 44806000 */ mtc1 $zero, $f12
/* 042150 7F00D620 AFBF003C */ sw $ra, 0x3c($sp)
/* 042154 7F00D624 AFB0002C */ sw $s0, 0x2c($sp)
/* 042158 7F00D628 AFA40158 */ sw $a0, 0x158($sp)
/* 04215C 7F00D62C 00007812 */ mflo $t7
/* 042160 7F00D630 022F1021 */ addu $v0, $s1, $t7
/* 042164 7F00D634 C4400000 */ lwc1 $f0, ($v0)
/* 042168 7F00D638 C4420004 */ lwc1 $f2, 4($v0)
/* 04216C 7F00D63C 272A003C */ addiu $t2, $t9, 0x3c
/* 042170 7F00D640 27B8010C */ addiu $t8, $sp, 0x10c
.L7F00D644:
/* 042174 7F00D644 8F210000 */ lw $at, ($t9)
/* 042178 7F00D648 2739000C */ addiu $t9, $t9, 0xc
/* 04217C 7F00D64C 2718000C */ addiu $t8, $t8, 0xc
/* 042180 7F00D650 AF01FFF4 */ sw $at, -0xc($t8)
/* 042184 7F00D654 8F21FFF8 */ lw $at, -8($t9)
/* 042188 7F00D658 AF01FFF8 */ sw $at, -8($t8)
/* 04218C 7F00D65C 8F21FFFC */ lw $at, -4($t9)
/* 042190 7F00D660 172AFFF8 */ bne $t9, $t2, .L7F00D644
/* 042194 7F00D664 AF01FFFC */ sw $at, -4($t8)
/* 042198 7F00D668 8F210000 */ lw $at, ($t9)
/* 04219C 7F00D66C 27A400C8 */ addiu $a0, $sp, 0xc8
/* 0421A0 7F00D670 AF010000 */ sw $at, ($t8)
/* 0421A4 7F00D674 3C018003 */ lui $at, %hi(D_8002AFC4)
/* 0421A8 7F00D678 C424AFC4 */ lwc1 $f4, %lo(D_8002AFC4)($at)
/* 0421AC 7F00D67C 3C018003 */ lui $at, %hi(D_8002AFC8)
/* 0421B0 7F00D680 C426AFC8 */ lwc1 $f6, %lo(D_8002AFC8)($at)
/* 0421B4 7F00D684 3C01457A */ li $at, 0x457A0000 # 4000.000000
/* 0421B8 7F00D688 44814000 */ mtc1 $at, $f8
/* 0421BC 7F00D68C 3C018003 */ lui $at, %hi(D_8002AFCC)
/* 0421C0 7F00D690 C42AAFCC */ lwc1 $f10, %lo(D_8002AFCC)($at)
/* 0421C4 7F00D694 46040000 */ add.s $f0, $f0, $f4
/* 0421C8 7F00D698 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 0421CC 7F00D69C 44819000 */ mtc1 $at, $f18
/* 0421D0 7F00D6A0 46061080 */ add.s $f2, $f2, $f6
/* 0421D4 7F00D6A4 44050000 */ mfc1 $a1, $f0
/* 0421D8 7F00D6A8 E7A00010 */ swc1 $f0, 0x10($sp)
/* 0421DC 7F00D6AC 460A4400 */ add.s $f16, $f8, $f10
/* 0421E0 7F00D6B0 44061000 */ mfc1 $a2, $f2
/* 0421E4 7F00D6B4 E7A20014 */ swc1 $f2, 0x14($sp)
/* 0421E8 7F00D6B8 E7AC0024 */ swc1 $f12, 0x24($sp)
/* 0421EC 7F00D6BC 44078000 */ mfc1 $a3, $f16
/* 0421F0 7F00D6C0 E7AC001C */ swc1 $f12, 0x1c($sp)
/* 0421F4 7F00D6C4 E7AC0018 */ swc1 $f12, 0x18($sp)
/* 0421F8 7F00D6C8 0FC165A5 */ jal matrix_4x4_7F059694
/* 0421FC 7F00D6CC E7B20020 */ swc1 $f18, 0x20($sp)
/* 042200 7F00D6D0 8E4B0000 */ lw $t3, ($s2)
/* 042204 7F00D6D4 27B00088 */ addiu $s0, $sp, 0x88
/* 042208 7F00D6D8 02002825 */ move $a1, $s0
/* 04220C 7F00D6DC 01730019 */ multu $t3, $s3
/* 042210 7F00D6E0 00006012 */ mflo $t4
/* 042214 7F00D6E4 022C2021 */ addu $a0, $s1, $t4
/* 042218 7F00D6E8 0FC16259 */ jal matrix_4x4_set_identity_and_position
/* 04221C 7F00D6EC 00000000 */ nop
/* 042220 7F00D6F0 3C013E80 */ li $at, 0x3E800000 # 0.250000
/* 042224 7F00D6F4 44816000 */ mtc1 $at, $f12
/* 042228 7F00D6F8 0FC1629F */ jal matrix_scalar_multiply
/* 04222C 7F00D6FC 02002825 */ move $a1, $s0
/* 042230 7F00D700 27A400C8 */ addiu $a0, $sp, 0xc8
/* 042234 7F00D704 0FC1601A */ jal matrix_4x4_multiply_in_place
/* 042238 7F00D708 02002825 */ move $a1, $s0
/* 04223C 7F00D70C 3C138003 */ lui $s3, %hi(ptr_folder_object_instance)
/* 042240 7F00D710 2673A95C */ addiu $s3, %lo(ptr_folder_object_instance) # addiu $s3, $s3, -0x56a4
/* 042244 7F00D714 8E6D0000 */ lw $t5, ($s3)
/* 042248 7F00D718 AFB0010C */ sw $s0, 0x10c($sp)
/* 04224C 7F00D71C 8DAE0008 */ lw $t6, 8($t5)
/* 042250 7F00D720 85C4000E */ lh $a0, 0xe($t6)
/* 042254 7F00D724 00047980 */ sll $t7, $a0, 6
/* 042258 7F00D728 0FC2F5C5 */ jal dynAllocate
/* 04225C 7F00D72C 01E02025 */ move $a0, $t7
/* 042260 7F00D730 AFA2011C */ sw $v0, 0x11c($sp)
/* 042264 7F00D734 02002025 */ move $a0, $s0
/* 042268 7F00D738 0FC16008 */ jal matrix_4x4_copy
/* 04226C 7F00D73C 00402825 */ move $a1, $v0
/* 042270 7F00D740 8FA9011C */ lw $t1, 0x11c($sp)
/* 042274 7F00D744 8E680000 */ lw $t0, ($s3)
/* 042278 7F00D748 240A0003 */ li $t2, 3
/* 04227C 7F00D74C 27A4010C */ addiu $a0, $sp, 0x10c
/* 042280 7F00D750 AD09000C */ sw $t1, 0xc($t0)
/* 042284 7F00D754 8FB90158 */ lw $t9, 0x158($sp)
/* 042288 7F00D758 AFAA0114 */ sw $t2, 0x114($sp)
/* 04228C 7F00D75C AFA00110 */ sw $zero, 0x110($sp)
/* 042290 7F00D760 8E650000 */ lw $a1, ($s3)
/* 042294 7F00D764 0FC1D1A1 */ jal subdraw
/* 042298 7F00D768 AFB90118 */ sw $t9, 0x118($sp)
/* 04229C 7F00D76C 8FB80118 */ lw $t8, 0x118($sp)
/* 0422A0 7F00D770 8E620000 */ lw $v0, ($s3)
/* 0422A4 7F00D774 00008025 */ move $s0, $zero
/* 0422A8 7F00D778 AFB80158 */ sw $t8, 0x158($sp)
/* 0422AC 7F00D77C 8C4B0008 */ lw $t3, 8($v0)
/* 0422B0 7F00D780 00008825 */ move $s1, $zero
/* 0422B4 7F00D784 27B20048 */ addiu $s2, $sp, 0x48
/* 0422B8 7F00D788 856C000E */ lh $t4, 0xe($t3)
/* 0422BC 7F00D78C 59800014 */ blezl $t4, .L7F00D7E0
/* 0422C0 7F00D790 8FBF003C */ lw $ra, 0x3c($sp)
/* 0422C4 7F00D794 8C4D000C */ lw $t5, 0xc($v0)
.L7F00D798:
/* 0422C8 7F00D798 02402825 */ move $a1, $s2
/* 0422CC 7F00D79C 0FC16008 */ jal matrix_4x4_copy
/* 0422D0 7F00D7A0 01B12021 */ addu $a0, $t5, $s1
/* 0422D4 7F00D7A4 8E6E0000 */ lw $t6, ($s3)
/* 0422D8 7F00D7A8 00104980 */ sll $t1, $s0, 6
/* 0422DC 7F00D7AC 02402025 */ move $a0, $s2
/* 0422E0 7F00D7B0 8DCF000C */ lw $t7, 0xc($t6)
/* 0422E4 7F00D7B4 0FC16327 */ jal sub_GAME_7F058C9C
/* 0422E8 7F00D7B8 01E92821 */ addu $a1, $t7, $t1
/* 0422EC 7F00D7BC 8E620000 */ lw $v0, ($s3)
/* 0422F0 7F00D7C0 26100001 */ addiu $s0, $s0, 1
/* 0422F4 7F00D7C4 26310040 */ addiu $s1, $s1, 0x40
/* 0422F8 7F00D7C8 8C480008 */ lw $t0, 8($v0)
/* 0422FC 7F00D7CC 850A000E */ lh $t2, 0xe($t0)
/* 042300 7F00D7D0 020A082A */ slt $at, $s0, $t2
/* 042304 7F00D7D4 5420FFF0 */ bnezl $at, .L7F00D798
/* 042308 7F00D7D8 8C4D000C */ lw $t5, 0xc($v0)
/* 04230C 7F00D7DC 8FBF003C */ lw $ra, 0x3c($sp)
.L7F00D7E0:
/* 042310 7F00D7E0 8FA20158 */ lw $v0, 0x158($sp)
/* 042314 7F00D7E4 8FB0002C */ lw $s0, 0x2c($sp)
/* 042318 7F00D7E8 8FB10030 */ lw $s1, 0x30($sp)
/* 04231C 7F00D7EC 8FB20034 */ lw $s2, 0x34($sp)
/* 042320 7F00D7F0 8FB30038 */ lw $s3, 0x38($sp)
/* 042324 7F00D7F4 03E00008 */ jr $ra
/* 042328 7F00D7F8 27BD0158 */ addiu $sp, $sp, 0x158
)
#endif
void setCursorPOSforMode(int mode)
{
cursor_h_pos = 126.0f;
cursor_v_pos = mode * 0x20 + 0xe2;
}
#ifdef NONMATCHING
void constructor_menu06_modesel(void)
{
s32 sp5C;
s32 sp58;
s32 sp54;
s32 sp50;
s32 sp4C;
s32 sp48;
s16 sp44;
s32 temp_ret;
s32 temp_ret_2;
s32 temp_ret_3;
s32 temp_s0;
s32 temp_s0_2;
s32 temp_s0_3;
s32 temp_s0_4;
s32 temp_s0_5;
s32 phi_a0;
s32 phi_s0;
s32 phi_a0_2;
s32 phi_s0_2;
s32 phi_s0_3;
s32 phi_s0_4;
sp58 = 0x96;
sp54 = 0xdc;
sp44 = viGetX();
temp_s0 = write_text_at_abs_coord(microcode_constructor(sub_GAME_7F00D5E8(viFillScreen(viSetFillColor(0, 0, 0)))), &sp58, &sp54, &a1_, (s32) ptrSecondFontTableLarge, (s32) ptrFirstFontTableLarge, 0xff, sp44, viGetY(), 0, 0);
if (append_cheat_sp != 0)
{
phi_a0 = TEXT(LTITLE, 0x75);
}
else
{
phi_a0 = TEXT(LTITLE, 0x1d);
}
temp_ret = get_textptr_for_textID(phi_a0);
sp5C = temp_ret;
sub_GAME_7F0AE98C(&sp4C, &sp50, temp_ret, ptrSecondFontTableLarge, (s32) ptrFirstFontTableLarge, 0);
sp58 = 0xaa;
sp54 = 0xdc;
phi_s0 = temp_s0;
if (mission_difficulty_highlighted == 0)
{
phi_s0 = microcode_constructor_related_to_menus(temp_s0, 0x94, 0xda, sp50 + 0xaf, 0xea, 0x32);
}
sp44 = viGetX();
temp_s0_2 = write_text_at_abs_coord(phi_s0, &sp58, &sp54, sp5C, (s32) ptrSecondFontTableLarge, (s32) ptrFirstFontTableLarge, 0xff, sp44, viGetY(), 0, 0);
sp58 = 0x96;
sp54 = 0xfc;
if (joyGetControllerCount() >= 2)
{
sp48 = 0xff;
}
else
{
sp48 = 0x70;
}
sp44 = viGetX();
temp_s0_3 = write_text_at_abs_coord(temp_s0_2, &sp58, &sp54, &a2_, (s32) ptrSecondFontTableLarge, (s32) ptrFirstFontTableLarge, sp48, sp44, viGetY(), 0, 0);
phi_a0_2 = TEXT(LTITLE, 0x1e);
if (append_cheat_mp != 0)
{
phi_a0_2 = TEXT(LTITLE, 0x114);
}
temp_ret_2 = get_textptr_for_textID(phi_a0_2);
sp5C = temp_ret_2;
sub_GAME_7F0AE98C(&sp4C, &sp50, temp_ret_2, ptrSecondFontTableLarge, (s32) ptrFirstFontTableLarge, 0);
sp58 = 0xaa;
sp54 = 0xfc;
phi_s0_2 = temp_s0_3;
if (mission_difficulty_highlighted == 1)
{
phi_s0_2 = microcode_constructor_related_to_menus(temp_s0_3, 0x94, 0xfa, sp50 + 0xaf, 0x10a, 0x32);
}
sp44 = viGetX();
temp_s0_4 = write_text_at_abs_coord(phi_s0_2, &sp58, &sp54, sp5C, (s32) ptrSecondFontTableLarge, (s32) ptrFirstFontTableLarge, sp48, sp44, viGetY(), 0, 0);
phi_s0_4 = temp_s0_4;
if (is_cheat_menu_available != 0)
{
sp58 = 0x96;
sp54 = 0x11c;
sp44 = viGetX();
temp_s0_5 = write_text_at_abs_coord(temp_s0_4, &sp58, &sp54, &a3_, (s32) ptrSecondFontTableLarge, (s32) ptrFirstFontTableLarge, 0xff, sp44, viGetY(), 0, 0);
temp_ret_3 = get_textptr_for_textID(TEXT(LTITLE, 0x1f));
sp5C = temp_ret_3;
sub_GAME_7F0AE98C(&sp4C, &sp50, temp_ret_3, ptrSecondFontTableLarge, (s32) ptrFirstFontTableLarge, 0);
sp58 = 0xaa;
sp54 = 0x11c;
phi_s0_3 = temp_s0_5;
if (mission_difficulty_highlighted == 2)
{
phi_s0_3 = microcode_constructor_related_to_menus(temp_s0_5, 0x94, 0x11a, sp50 + 0xaf, 0x12a, 0x32);
}
sp44 = viGetX();
phi_s0_4 = write_text_at_abs_coord(phi_s0_3, &sp58, &sp54, sp5C, (s32) ptrSecondFontTableLarge, (s32) ptrFirstFontTableLarge, 0xff, sp44, viGetY(), 0, 0);
}
load_draw_selected_icon_folder_select(add_tab3_previous(phi_s0_4));
}
#else
const char a1_[] = "1.\n";
const char a2_[] = "2.\n";
const char a3_[] = "3.\n";
GLOBAL_ASM(
.text
glabel constructor_menu06_modesel
/* 042358 7F00D828 27BDFFA0 */ addiu $sp, $sp, -0x60
/* 04235C 7F00D82C AFBF003C */ sw $ra, 0x3c($sp)
/* 042360 7F00D830 AFB00038 */ sw $s0, 0x38($sp)
/* 042364 7F00D834 00002825 */ move $a1, $zero
/* 042368 7F00D838 00003025 */ move $a2, $zero
/* 04236C 7F00D83C 0C0011B4 */ jal viSetFillColor
/* 042370 7F00D840 00003825 */ move $a3, $zero
/* 042374 7F00D844 0C000FBE */ jal viFillScreen
/* 042378 7F00D848 00402025 */ move $a0, $v0
/* 04237C 7F00D84C 0FC0357A */ jal sub_GAME_7F00D5E8
/* 042380 7F00D850 00402025 */ move $a0, $v0
/* 042384 7F00D854 0FC2B366 */ jal microcode_constructor
/* 042388 7F00D858 00402025 */ move $a0, $v0
/* 04238C 7F00D85C 240E0096 */ li $t6, 150
/* 042390 7F00D860 240F00DC */ li $t7, 220
/* 042394 7F00D864 00408025 */ move $s0, $v0
/* 042398 7F00D868 AFAE0058 */ sw $t6, 0x58($sp)
/* 04239C 7F00D86C 0C001107 */ jal viGetX
/* 0423A0 7F00D870 AFAF0054 */ sw $t7, 0x54($sp)
/* 0423A4 7F00D874 0C00110B */ jal viGetY
/* 0423A8 7F00D878 A7A20044 */ sh $v0, 0x44($sp)
/* 0423AC 7F00D87C 3C188004 */ lui $t8, %hi(ptrSecondFontTableLarge)
/* 0423B0 7F00D880 3C198004 */ lui $t9, %hi(ptrFirstFontTableLarge)
/* 0423B4 7F00D884 8F390EB4 */ lw $t9, %lo(ptrFirstFontTableLarge)($t9)
/* 0423B8 7F00D888 8F180EB8 */ lw $t8, %lo(ptrSecondFontTableLarge)($t8)
/* 0423BC 7F00D88C 87A90044 */ lh $t1, 0x44($sp)
/* 0423C0 7F00D890 3C078005 */ lui $a3, %hi(a1_)
/* 0423C4 7F00D894 240800FF */ li $t0, 255
/* 0423C8 7F00D898 AFA80018 */ sw $t0, 0x18($sp)
/* 0423CC 7F00D89C 24E7F494 */ addiu $a3, %lo(a1_) # addiu $a3, $a3, -0xb6c
/* 0423D0 7F00D8A0 02002025 */ move $a0, $s0
/* 0423D4 7F00D8A4 27A50058 */ addiu $a1, $sp, 0x58
/* 0423D8 7F00D8A8 27A60054 */ addiu $a2, $sp, 0x54
/* 0423DC 7F00D8AC AFA20020 */ sw $v0, 0x20($sp)
/* 0423E0 7F00D8B0 AFA00024 */ sw $zero, 0x24($sp)
/* 0423E4 7F00D8B4 AFA00028 */ sw $zero, 0x28($sp)
/* 0423E8 7F00D8B8 AFB90014 */ sw $t9, 0x14($sp)
/* 0423EC 7F00D8BC AFB80010 */ sw $t8, 0x10($sp)
/* 0423F0 7F00D8C0 0FC025D8 */ jal write_text_at_abs_coord
/* 0423F4 7F00D8C4 AFA9001C */ sw $t1, 0x1c($sp)
/* 0423F8 7F00D8C8 3C0A8003 */ lui $t2, %hi(append_cheat_sp)
/* 0423FC 7F00D8CC 8D4AA900 */ lw $t2, %lo(append_cheat_sp)($t2)
/* 042400 7F00D8D0 00408025 */ move $s0, $v0
/* 042404 7F00D8D4 51400004 */ beql $t2, $zero, .L7F00D8E8
/* 042408 7F00D8D8 34049C1D */ li $a0, 39965
/* 04240C 7F00D8DC 10000002 */ b .L7F00D8E8
/* 042410 7F00D8E0 34049C75 */ li $a0, 40053
/* 042414 7F00D8E4 34049C1D */ li $a0, 39965
.L7F00D8E8:
/* 042418 7F00D8E8 0FC30776 */ jal get_textptr_for_textID
/* 04241C 7F00D8EC 00000000 */ nop
/* 042420 7F00D8F0 3C0B8004 */ lui $t3, %hi(ptrFirstFontTableLarge)
/* 042424 7F00D8F4 8D6B0EB4 */ lw $t3, %lo(ptrFirstFontTableLarge)($t3)
/* 042428 7F00D8F8 3C078004 */ lui $a3, %hi(ptrSecondFontTableLarge)
/* 04242C 7F00D8FC AFA2005C */ sw $v0, 0x5c($sp)
/* 042430 7F00D900 8CE70EB8 */ lw $a3, %lo(ptrSecondFontTableLarge)($a3)
/* 042434 7F00D904 27A4004C */ addiu $a0, $sp, 0x4c
/* 042438 7F00D908 27A50050 */ addiu $a1, $sp, 0x50
/* 04243C 7F00D90C 00403025 */ move $a2, $v0
/* 042440 7F00D910 AFA00014 */ sw $zero, 0x14($sp)
/* 042444 7F00D914 0FC2BA63 */ jal sub_GAME_7F0AE98C
/* 042448 7F00D918 AFAB0010 */ sw $t3, 0x10($sp)
/* 04244C 7F00D91C 3C0E8007 */ lui $t6, %hi(mission_difficulty_highlighted)
/* 042450 7F00D920 8DCE9784 */ lw $t6, %lo(mission_difficulty_highlighted)($t6)
/* 042454 7F00D924 240C00AA */ li $t4, 170
/* 042458 7F00D928 240D00DC */ li $t5, 220
/* 04245C 7F00D92C AFAC0058 */ sw $t4, 0x58($sp)
/* 042460 7F00D930 15C0000C */ bnez $t6, .L7F00D964
/* 042464 7F00D934 AFAD0054 */ sw $t5, 0x54($sp)
/* 042468 7F00D938 8FA70050 */ lw $a3, 0x50($sp)
/* 04246C 7F00D93C 240F00EA */ li $t7, 234
/* 042470 7F00D940 24180032 */ li $t8, 50
/* 042474 7F00D944 AFB80014 */ sw $t8, 0x14($sp)
/* 042478 7F00D948 AFAF0010 */ sw $t7, 0x10($sp)
/* 04247C 7F00D94C 02002025 */ move $a0, $s0
/* 042480 7F00D950 24050094 */ li $a1, 148
/* 042484 7F00D954 240600DA */ li $a2, 218
/* 042488 7F00D958 0FC2B405 */ jal microcode_constructor_related_to_menus
/* 04248C 7F00D95C 24E700AF */ addiu $a3, $a3, 0xaf
/* 042490 7F00D960 00408025 */ move $s0, $v0
.L7F00D964:
/* 042494 7F00D964 0C001107 */ jal viGetX
/* 042498 7F00D968 00000000 */ nop
/* 04249C 7F00D96C 0C00110B */ jal viGetY
/* 0424A0 7F00D970 A7A20044 */ sh $v0, 0x44($sp)
/* 0424A4 7F00D974 3C198004 */ lui $t9, %hi(ptrSecondFontTableLarge)
/* 0424A8 7F00D978 3C088004 */ lui $t0, %hi(ptrFirstFontTableLarge)
/* 0424AC 7F00D97C 8D080EB4 */ lw $t0, %lo(ptrFirstFontTableLarge)($t0)
/* 0424B0 7F00D980 8F390EB8 */ lw $t9, %lo(ptrSecondFontTableLarge)($t9)
/* 0424B4 7F00D984 87AA0044 */ lh $t2, 0x44($sp)
/* 0424B8 7F00D988 240900FF */ li $t1, 255
/* 0424BC 7F00D98C AFA90018 */ sw $t1, 0x18($sp)
/* 0424C0 7F00D990 02002025 */ move $a0, $s0
/* 0424C4 7F00D994 27A50058 */ addiu $a1, $sp, 0x58
/* 0424C8 7F00D998 27A60054 */ addiu $a2, $sp, 0x54
/* 0424CC 7F00D99C 8FA7005C */ lw $a3, 0x5c($sp)
/* 0424D0 7F00D9A0 AFA20020 */ sw $v0, 0x20($sp)
/* 0424D4 7F00D9A4 AFA00024 */ sw $zero, 0x24($sp)
/* 0424D8 7F00D9A8 AFA00028 */ sw $zero, 0x28($sp)
/* 0424DC 7F00D9AC AFA80014 */ sw $t0, 0x14($sp)
/* 0424E0 7F00D9B0 AFB90010 */ sw $t9, 0x10($sp)
/* 0424E4 7F00D9B4 0FC025D8 */ jal write_text_at_abs_coord
/* 0424E8 7F00D9B8 AFAA001C */ sw $t2, 0x1c($sp)
/* 0424EC 7F00D9BC 240B0096 */ li $t3, 150
/* 0424F0 7F00D9C0 240C00FC */ li $t4, 252
/* 0424F4 7F00D9C4 00408025 */ move $s0, $v0
/* 0424F8 7F00D9C8 AFAB0058 */ sw $t3, 0x58($sp)
/* 0424FC 7F00D9CC 0C002E7E */ jal joyGetControllerCount
/* 042500 7F00D9D0 AFAC0054 */ sw $t4, 0x54($sp)
/* 042504 7F00D9D4 28410002 */ slti $at, $v0, 2
/* 042508 7F00D9D8 14200003 */ bnez $at, .L7F00D9E8
/* 04250C 7F00D9DC 240D00FF */ li $t5, 255
/* 042510 7F00D9E0 10000003 */ b .L7F00D9F0
/* 042514 7F00D9E4 AFAD0048 */ sw $t5, 0x48($sp)
.L7F00D9E8:
/* 042518 7F00D9E8 240E0070 */ li $t6, 112
/* 04251C 7F00D9EC AFAE0048 */ sw $t6, 0x48($sp)
.L7F00D9F0:
/* 042520 7F00D9F0 0C001107 */ jal viGetX
/* 042524 7F00D9F4 00000000 */ nop
/* 042528 7F00D9F8 0C00110B */ jal viGetY
/* 04252C 7F00D9FC A7A20044 */ sh $v0, 0x44($sp)
/* 042530 7F00DA00 3C0F8004 */ lui $t7, %hi(ptrSecondFontTableLarge)
/* 042534 7F00DA04 3C188004 */ lui $t8, %hi(ptrFirstFontTableLarge)
/* 042538 7F00DA08 8F180EB4 */ lw $t8, %lo(ptrFirstFontTableLarge)($t8)
/* 04253C 7F00DA0C 8DEF0EB8 */ lw $t7, %lo(ptrSecondFontTableLarge)($t7)
/* 042540 7F00DA10 8FB90048 */ lw $t9, 0x48($sp)
/* 042544 7F00DA14 87A80044 */ lh $t0, 0x44($sp)
/* 042548 7F00DA18 3C078005 */ lui $a3, %hi(a2_)
/* 04254C 7F00DA1C 24E7F498 */ addiu $a3, %lo(a2_) # addiu $a3, $a3, -0xb68
/* 042550 7F00DA20 02002025 */ move $a0, $s0
/* 042554 7F00DA24 27A50058 */ addiu $a1, $sp, 0x58
/* 042558 7F00DA28 27A60054 */ addiu $a2, $sp, 0x54
/* 04255C 7F00DA2C AFA20020 */ sw $v0, 0x20($sp)
/* 042560 7F00DA30 AFA00024 */ sw $zero, 0x24($sp)
/* 042564 7F00DA34 AFA00028 */ sw $zero, 0x28($sp)
/* 042568 7F00DA38 AFB80014 */ sw $t8, 0x14($sp)
/* 04256C 7F00DA3C AFAF0010 */ sw $t7, 0x10($sp)
/* 042570 7F00DA40 AFB90018 */ sw $t9, 0x18($sp)
/* 042574 7F00DA44 0FC025D8 */ jal write_text_at_abs_coord
/* 042578 7F00DA48 AFA8001C */ sw $t0, 0x1c($sp)
/* 04257C 7F00DA4C 3C098003 */ lui $t1, %hi(append_cheat_mp)
/* 042580 7F00DA50 8D29A904 */ lw $t1, %lo(append_cheat_mp)($t1)
/* 042584 7F00DA54 00408025 */ move $s0, $v0
/* 042588 7F00DA58 34049C1E */ li $a0, 39966
/* 04258C 7F00DA5C 11200003 */ beqz $t1, .L7F00DA6C
/* 042590 7F00DA60 00000000 */ nop
/* 042594 7F00DA64 10000001 */ b .L7F00DA6C
/* 042598 7F00DA68 34049D14 */ li $a0, 40212
.L7F00DA6C:
/* 04259C 7F00DA6C 0FC30776 */ jal get_textptr_for_textID
/* 0425A0 7F00DA70 00000000 */ nop
/* 0425A4 7F00DA74 3C0A8004 */ lui $t2, %hi(ptrFirstFontTableLarge)
/* 0425A8 7F00DA78 8D4A0EB4 */ lw $t2, %lo(ptrFirstFontTableLarge)($t2)
/* 0425AC 7F00DA7C 3C078004 */ lui $a3, %hi(ptrSecondFontTableLarge)
/* 0425B0 7F00DA80 AFA2005C */ sw $v0, 0x5c($sp)
/* 0425B4 7F00DA84 8CE70EB8 */ lw $a3, %lo(ptrSecondFontTableLarge)($a3)
/* 0425B8 7F00DA88 27A4004C */ addiu $a0, $sp, 0x4c
/* 0425BC 7F00DA8C 27A50050 */ addiu $a1, $sp, 0x50
/* 0425C0 7F00DA90 00403025 */ move $a2, $v0
/* 0425C4 7F00DA94 AFA00014 */ sw $zero, 0x14($sp)
/* 0425C8 7F00DA98 0FC2BA63 */ jal sub_GAME_7F0AE98C
/* 0425CC 7F00DA9C AFAA0010 */ sw $t2, 0x10($sp)
/* 0425D0 7F00DAA0 3C0D8007 */ lui $t5, %hi(mission_difficulty_highlighted)
/* 0425D4 7F00DAA4 8DAD9784 */ lw $t5, %lo(mission_difficulty_highlighted)($t5)
/* 0425D8 7F00DAA8 240B00AA */ li $t3, 170
/* 0425DC 7F00DAAC 240C00FC */ li $t4, 252
/* 0425E0 7F00DAB0 24010001 */ li $at, 1
/* 0425E4 7F00DAB4 AFAB0058 */ sw $t3, 0x58($sp)
/* 0425E8 7F00DAB8 15A1000C */ bne $t5, $at, .L7F00DAEC
/* 0425EC 7F00DABC AFAC0054 */ sw $t4, 0x54($sp)
/* 0425F0 7F00DAC0 8FA70050 */ lw $a3, 0x50($sp)
/* 0425F4 7F00DAC4 240E010A */ li $t6, 266
/* 0425F8 7F00DAC8 240F0032 */ li $t7, 50
/* 0425FC 7F00DACC AFAF0014 */ sw $t7, 0x14($sp)
/* 042600 7F00DAD0 AFAE0010 */ sw $t6, 0x10($sp)
/* 042604 7F00DAD4 02002025 */ move $a0, $s0
/* 042608 7F00DAD8 24050094 */ li $a1, 148
/* 04260C 7F00DADC 240600FA */ li $a2, 250
/* 042610 7F00DAE0 0FC2B405 */ jal microcode_constructor_related_to_menus
/* 042614 7F00DAE4 24E700AF */ addiu $a3, $a3, 0xaf
/* 042618 7F00DAE8 00408025 */ move $s0, $v0
.L7F00DAEC:
/* 04261C 7F00DAEC 0C001107 */ jal viGetX
/* 042620 7F00DAF0 00000000 */ nop
/* 042624 7F00DAF4 0C00110B */ jal viGetY
/* 042628 7F00DAF8 A7A20044 */ sh $v0, 0x44($sp)
/* 04262C 7F00DAFC 3C188004 */ lui $t8, %hi(ptrSecondFontTableLarge)
/* 042630 7F00DB00 3C198004 */ lui $t9, %hi(ptrFirstFontTableLarge)
/* 042634 7F00DB04 8F390EB4 */ lw $t9, %lo(ptrFirstFontTableLarge)($t9)
/* 042638 7F00DB08 8F180EB8 */ lw $t8, %lo(ptrSecondFontTableLarge)($t8)
/* 04263C 7F00DB0C 8FA80048 */ lw $t0, 0x48($sp)
/* 042640 7F00DB10 87A90044 */ lh $t1, 0x44($sp)
/* 042644 7F00DB14 02002025 */ move $a0, $s0
/* 042648 7F00DB18 27A50058 */ addiu $a1, $sp, 0x58
/* 04264C 7F00DB1C 27A60054 */ addiu $a2, $sp, 0x54
/* 042650 7F00DB20 8FA7005C */ lw $a3, 0x5c($sp)
/* 042654 7F00DB24 AFA20020 */ sw $v0, 0x20($sp)
/* 042658 7F00DB28 AFA00024 */ sw $zero, 0x24($sp)
/* 04265C 7F00DB2C AFA00028 */ sw $zero, 0x28($sp)
/* 042660 7F00DB30 AFB90014 */ sw $t9, 0x14($sp)
/* 042664 7F00DB34 AFB80010 */ sw $t8, 0x10($sp)
/* 042668 7F00DB38 AFA80018 */ sw $t0, 0x18($sp)
/* 04266C 7F00DB3C 0FC025D8 */ jal write_text_at_abs_coord
/* 042670 7F00DB40 AFA9001C */ sw $t1, 0x1c($sp)
/* 042674 7F00DB44 3C0A8003 */ lui $t2, %hi(is_cheat_menu_available)
/* 042678 7F00DB48 8D4AA94C */ lw $t2, %lo(is_cheat_menu_available)($t2)
/* 04267C 7F00DB4C 00408025 */ move $s0, $v0
/* 042680 7F00DB50 240B0096 */ li $t3, 150
/* 042684 7F00DB54 11400051 */ beqz $t2, .L7F00DC9C
/* 042688 7F00DB58 240C011C */ li $t4, 284
/* 04268C 7F00DB5C AFAB0058 */ sw $t3, 0x58($sp)
/* 042690 7F00DB60 0C001107 */ jal viGetX
/* 042694 7F00DB64 AFAC0054 */ sw $t4, 0x54($sp)
/* 042698 7F00DB68 0C00110B */ jal viGetY
/* 04269C 7F00DB6C A7A20044 */ sh $v0, 0x44($sp)
/* 0426A0 7F00DB70 3C0D8004 */ lui $t5, %hi(ptrSecondFontTableLarge)
/* 0426A4 7F00DB74 3C0E8004 */ lui $t6, %hi(ptrFirstFontTableLarge)
/* 0426A8 7F00DB78 8DCE0EB4 */ lw $t6, %lo(ptrFirstFontTableLarge)($t6)
/* 0426AC 7F00DB7C 8DAD0EB8 */ lw $t5, %lo(ptrSecondFontTableLarge)($t5)
/* 0426B0 7F00DB80 87B80044 */ lh $t8, 0x44($sp)
/* 0426B4 7F00DB84 3C078005 */ lui $a3, %hi(a3_)
/* 0426B8 7F00DB88 240F00FF */ li $t7, 255
/* 0426BC 7F00DB8C AFAF0018 */ sw $t7, 0x18($sp)
/* 0426C0 7F00DB90 24E7F49C */ addiu $a3, %lo(a3_) # addiu $a3, $a3, -0xb64
/* 0426C4 7F00DB94 02002025 */ move $a0, $s0
/* 0426C8 7F00DB98 27A50058 */ addiu $a1, $sp, 0x58
/* 0426CC 7F00DB9C 27A60054 */ addiu $a2, $sp, 0x54
/* 0426D0 7F00DBA0 AFA20020 */ sw $v0, 0x20($sp)
/* 0426D4 7F00DBA4 AFA00024 */ sw $zero, 0x24($sp)
/* 0426D8 7F00DBA8 AFA00028 */ sw $zero, 0x28($sp)
/* 0426DC 7F00DBAC AFAE0014 */ sw $t6, 0x14($sp)
/* 0426E0 7F00DBB0 AFAD0010 */ sw $t5, 0x10($sp)
/* 0426E4 7F00DBB4 0FC025D8 */ jal write_text_at_abs_coord
/* 0426E8 7F00DBB8 AFB8001C */ sw $t8, 0x1c($sp)
/* 0426EC 7F00DBBC 00408025 */ move $s0, $v0
/* 0426F0 7F00DBC0 0FC30776 */ jal get_textptr_for_textID
/* 0426F4 7F00DBC4 34049C1F */ li $a0, 39967
/* 0426F8 7F00DBC8 3C198004 */ lui $t9, %hi(ptrFirstFontTableLarge)
/* 0426FC 7F00DBCC 8F390EB4 */ lw $t9, %lo(ptrFirstFontTableLarge)($t9)
/* 042700 7F00DBD0 3C078004 */ lui $a3, %hi(ptrSecondFontTableLarge)
/* 042704 7F00DBD4 AFA2005C */ sw $v0, 0x5c($sp)
/* 042708 7F00DBD8 8CE70EB8 */ lw $a3, %lo(ptrSecondFontTableLarge)($a3)
/* 04270C 7F00DBDC 27A4004C */ addiu $a0, $sp, 0x4c
/* 042710 7F00DBE0 27A50050 */ addiu $a1, $sp, 0x50
/* 042714 7F00DBE4 00403025 */ move $a2, $v0
/* 042718 7F00DBE8 AFA00014 */ sw $zero, 0x14($sp)
/* 04271C 7F00DBEC 0FC2BA63 */ jal sub_GAME_7F0AE98C
/* 042720 7F00DBF0 AFB90010 */ sw $t9, 0x10($sp)
/* 042724 7F00DBF4 3C0A8007 */ lui $t2, %hi(mission_difficulty_highlighted)
/* 042728 7F00DBF8 8D4A9784 */ lw $t2, %lo(mission_difficulty_highlighted)($t2)
/* 04272C 7F00DBFC 240800AA */ li $t0, 170
/* 042730 7F00DC00 2409011C */ li $t1, 284
/* 042734 7F00DC04 24010002 */ li $at, 2
/* 042738 7F00DC08 AFA80058 */ sw $t0, 0x58($sp)
/* 04273C 7F00DC0C 1541000C */ bne $t2, $at, .L7F00DC40
/* 042740 7F00DC10 AFA90054 */ sw $t1, 0x54($sp)
/* 042744 7F00DC14 8FA70050 */ lw $a3, 0x50($sp)
/* 042748 7F00DC18 240B012A */ li $t3, 298
/* 04274C 7F00DC1C 240C0032 */ li $t4, 50
/* 042750 7F00DC20 AFAC0014 */ sw $t4, 0x14($sp)
/* 042754 7F00DC24 AFAB0010 */ sw $t3, 0x10($sp)
/* 042758 7F00DC28 02002025 */ move $a0, $s0
/* 04275C 7F00DC2C 24050094 */ li $a1, 148
/* 042760 7F00DC30 2406011A */ li $a2, 282
/* 042764 7F00DC34 0FC2B405 */ jal microcode_constructor_related_to_menus
/* 042768 7F00DC38 24E700AF */ addiu $a3, $a3, 0xaf
/* 04276C 7F00DC3C 00408025 */ move $s0, $v0
.L7F00DC40:
/* 042770 7F00DC40 0C001107 */ jal viGetX
/* 042774 7F00DC44 00000000 */ nop
/* 042778 7F00DC48 0C00110B */ jal viGetY
/* 04277C 7F00DC4C A7A20044 */ sh $v0, 0x44($sp)
/* 042780 7F00DC50 3C0D8004 */ lui $t5, %hi(ptrSecondFontTableLarge)
/* 042784 7F00DC54 3C0E8004 */ lui $t6, %hi(ptrFirstFontTableLarge)
/* 042788 7F00DC58 8DCE0EB4 */ lw $t6, %lo(ptrFirstFontTableLarge)($t6)
/* 04278C 7F00DC5C 8DAD0EB8 */ lw $t5, %lo(ptrSecondFontTableLarge)($t5)
/* 042790 7F00DC60 87B80044 */ lh $t8, 0x44($sp)
/* 042794 7F00DC64 240F00FF */ li $t7, 255
/* 042798 7F00DC68 AFAF0018 */ sw $t7, 0x18($sp)
/* 04279C 7F00DC6C 02002025 */ move $a0, $s0
/* 0427A0 7F00DC70 27A50058 */ addiu $a1, $sp, 0x58
/* 0427A4 7F00DC74 27A60054 */ addiu $a2, $sp, 0x54
/* 0427A8 7F00DC78 8FA7005C */ lw $a3, 0x5c($sp)
/* 0427AC 7F00DC7C AFA20020 */ sw $v0, 0x20($sp)
/* 0427B0 7F00DC80 AFA00024 */ sw $zero, 0x24($sp)
/* 0427B4 7F00DC84 AFA00028 */ sw $zero, 0x28($sp)
/* 0427B8 7F00DC88 AFAE0014 */ sw $t6, 0x14($sp)
/* 0427BC 7F00DC8C AFAD0010 */ sw $t5, 0x10($sp)
/* 0427C0 7F00DC90 0FC025D8 */ jal write_text_at_abs_coord
/* 0427C4 7F00DC94 AFB8001C */ sw $t8, 0x1c($sp)
/* 0427C8 7F00DC98 00408025 */ move $s0, $v0
.L7F00DC9C:
/* 0427CC 7F00DC9C 0FC0288E */ jal add_tab3_previous
/* 0427D0 7F00DCA0 02002025 */ move $a0, $s0
/* 0427D4 7F00DCA4 0FC027C2 */ jal load_draw_selected_icon_folder_select
/* 0427D8 7F00DCA8 00402025 */ move $a0, $v0
/* 0427DC 7F00DCAC 8FBF003C */ lw $ra, 0x3c($sp)
/* 0427E0 7F00DCB0 8FB00038 */ lw $s0, 0x38($sp)
/* 0427E4 7F00DCB4 27BD0060 */ addiu $sp, $sp, 0x60
/* 0427E8 7F00DCB8 03E00008 */ jr $ra
/* 0427EC 7F00DCBC 00000000 */ nop
)
#endif
#ifdef NONMATCHING
s32 pull_and_display_text_for_folder_a0(s32 arg0)
{
void *phi_v0;
s32 phi_v1;
phi_v0 = &mission_folder_setup_entries;
phi_v1 = 0;
if (D_8002ABE8 != 0)
{
loop_1:
if (arg0 == phi_v0->unk14)
{
return phi_v1;
}
phi_v0 = phi_v0 + 0x1c;
phi_v1 = phi_v1 + 1;
if (phi_v0->unk20 != 0)
{
goto loop_1;
}
}
return -1;
}
#else
GLOBAL_ASM(
.text
glabel pull_and_display_text_for_folder_a0
/* 0427F0 7F00DCC0 3C0E8003 */ lui $t6, %hi(mission_folder_setup_entries+4)
/* 0427F4 7F00DCC4 95CEABE8 */ lhu $t6, %lo(mission_folder_setup_entries+4)($t6)
/* 0427F8 7F00DCC8 3C028003 */ lui $v0, %hi(mission_folder_setup_entries)
/* 0427FC 7F00DCCC 2442ABE4 */ addiu $v0, %lo(mission_folder_setup_entries) # addiu $v0, $v0, -0x541c
/* 042800 7F00DCD0 11C0000B */ beqz $t6, .L7F00DD00
/* 042804 7F00DCD4 00001825 */ move $v1, $zero
/* 042808 7F00DCD8 8C4F0014 */ lw $t7, 0x14($v0)
.L7F00DCDC:
/* 04280C 7F00DCDC 548F0004 */ bnel $a0, $t7, .L7F00DCF0
/* 042810 7F00DCE0 94580020 */ lhu $t8, 0x20($v0)
/* 042814 7F00DCE4 03E00008 */ jr $ra
/* 042818 7F00DCE8 00601025 */ move $v0, $v1
/* 04281C 7F00DCEC 94580020 */ lhu $t8, 0x20($v0)
.L7F00DCF0:
/* 042820 7F00DCF0 24630001 */ addiu $v1, $v1, 1
/* 042824 7F00DCF4 2442001C */ addiu $v0, $v0, 0x1c
/* 042828 7F00DCF8 5700FFF8 */ bnezl $t8, .L7F00DCDC
/* 04282C 7F00DCFC 8C4F0014 */ lw $t7, 0x14($v0)
.L7F00DD00:
/* 042830 7F00DD00 2402FFFF */ li $v0, -1
/* 042834 7F00DD04 03E00008 */ jr $ra
/* 042838 7F00DD08 00000000 */ nop
)
#endif
#ifdef NONMATCHING
u32 check_if_stage_completed_on_difficulty(int stage, DIFFICULTY difficulty) {
u32 completed;
if (mission_folder_setup_entries[stage].mission_num < 0) {
completed = FALSE;
}
else {
completed = isStageUnlockedAtDifficulty(selected_folder_num,mission_folder_setup_entries[stage].mission_num,difficulty);
}
return completed;
}
#else
GLOBAL_ASM(
.text
glabel check_if_stage_completed_on_difficulty
/* 04283C 7F00DD0C 000470C0 */ sll $t6, $a0, 3
/* 042840 7F00DD10 01C47023 */ subu $t6, $t6, $a0
/* 042844 7F00DD14 000E7080 */ sll $t6, $t6, 2
/* 042848 7F00DD18 3C078003 */ lui $a3, %hi(mission_folder_setup_entries+0x14)
/* 04284C 7F00DD1C 00EE3821 */ addu $a3, $a3, $t6
/* 042850 7F00DD20 8CE7ABF8 */ lw $a3, %lo(mission_folder_setup_entries+0x14)($a3)
/* 042854 7F00DD24 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 042858 7F00DD28 AFBF0014 */ sw $ra, 0x14($sp)
/* 04285C 7F00DD2C 04E00007 */ bltz $a3, .L7F00DD4C
/* 042860 7F00DD30 00A03025 */ move $a2, $a1
/* 042864 7F00DD34 3C048003 */ lui $a0, %hi(selected_folder_num)
/* 042868 7F00DD38 8C84A8E8 */ lw $a0, %lo(selected_folder_num)($a0)
/* 04286C 7F00DD3C 0FC078B0 */ jal isStageUnlockedAtDifficulty
/* 042870 7F00DD40 00E02825 */ move $a1, $a3
/* 042874 7F00DD44 10000003 */ b .L7F00DD54
/* 042878 7F00DD48 8FBF0014 */ lw $ra, 0x14($sp)
.L7F00DD4C:
/* 04287C 7F00DD4C 00001025 */ move $v0, $zero
/* 042880 7F00DD50 8FBF0014 */ lw $ra, 0x14($sp)
.L7F00DD54:
/* 042884 7F00DD54 27BD0018 */ addiu $sp, $sp, 0x18
/* 042888 7F00DD58 03E00008 */ jr $ra
/* 04288C 7F00DD5C 00000000 */ nop
)
#endif
#ifdef NONMATCHING
s32 get_highest_unlocked_difficulty_for_level(s32 arg0)
{
s32 temp_ret;
s32 temp_ret_2;
s32 temp_s0;
s32 phi_s1;
s32 phi_s0;
temp_ret = pull_and_display_text_for_folder_a0();
if ((0x80030000 + (((temp_ret * 8) - temp_ret) * 4))->unk-5414 >= 0)
{
if ((check_for_007_mode_unlocked(selected_folder_num) != 0) || (get_debug_007_unlock_flag() != 0))
{
phi_s1 = 3;
}
else
{
}
if (phi_s1 >= 0)
{
phi_s0 = phi_s1;
loop_6:
temp_ret_2 = isStageUnlockedAtDifficulty(selected_folder_num, arg0, phi_s0);
if (append_cheat_sp == 0)
{
if (temp_ret_2 != 0)
{
return phi_s0;
}
}
else
{
if (temp_ret_2 == 3)
{
return phi_s0;
}
}
temp_s0 = phi_s0 + -1;
phi_s0 = temp_s0;
if (temp_s0 >= 0)
{
goto loop_6;
}
}
}
return -1;
}
#else
GLOBAL_ASM(
.text
glabel get_highest_unlocked_difficulty_for_level
/* 042890 7F00DD60 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 042894 7F00DD64 AFBF002C */ sw $ra, 0x2c($sp)
/* 042898 7F00DD68 AFB30024 */ sw $s3, 0x24($sp)
/* 04289C 7F00DD6C 00809825 */ move $s3, $a0
/* 0428A0 7F00DD70 AFB40028 */ sw $s4, 0x28($sp)
/* 0428A4 7F00DD74 AFB20020 */ sw $s2, 0x20($sp)
/* 0428A8 7F00DD78 AFB1001C */ sw $s1, 0x1c($sp)
/* 0428AC 7F00DD7C 0FC03730 */ jal pull_and_display_text_for_folder_a0
/* 0428B0 7F00DD80 AFB00018 */ sw $s0, 0x18($sp)
/* 0428B4 7F00DD84 000270C0 */ sll $t6, $v0, 3
/* 0428B8 7F00DD88 01C27023 */ subu $t6, $t6, $v0
/* 0428BC 7F00DD8C 000E7080 */ sll $t6, $t6, 2
/* 0428C0 7F00DD90 3C0F8003 */ lui $t7, %hi(mission_folder_setup_entries+8)
/* 0428C4 7F00DD94 01EE7821 */ addu $t7, $t7, $t6
/* 0428C8 7F00DD98 8DEFABEC */ lw $t7, %lo(mission_folder_setup_entries+8)($t7)
/* 0428CC 7F00DD9C 3C148003 */ lui $s4, %hi(selected_folder_num)
/* 0428D0 7F00DDA0 2694A8E8 */ addiu $s4, %lo(selected_folder_num) # addiu $s4, $s4, -0x5718
/* 0428D4 7F00DDA4 05E00021 */ bltz $t7, .L7F00DE2C
/* 0428D8 7F00DDA8 24110002 */ li $s1, 2
/* 0428DC 7F00DDAC 0FC07D28 */ jal check_for_007_mode_unlocked
/* 0428E0 7F00DDB0 8E840000 */ lw $a0, ($s4)
/* 0428E4 7F00DDB4 54400006 */ bnezl $v0, .L7F00DDD0
/* 0428E8 7F00DDB8 24110003 */ li $s1, 3
/* 0428EC 7F00DDBC 0FC243FD */ jal get_debug_007_unlock_flag
/* 0428F0 7F00DDC0 00000000 */ nop
/* 0428F4 7F00DDC4 10400002 */ beqz $v0, .L7F00DDD0
/* 0428F8 7F00DDC8 00000000 */ nop
/* 0428FC 7F00DDCC 24110003 */ li $s1, 3
.L7F00DDD0:
/* 042900 7F00DDD0 06200016 */ bltz $s1, .L7F00DE2C
/* 042904 7F00DDD4 02208025 */ move $s0, $s1
/* 042908 7F00DDD8 3C118003 */ lui $s1, %hi(append_cheat_sp)
/* 04290C 7F00DDDC 2631A900 */ addiu $s1, %lo(append_cheat_sp) # addiu $s1, $s1, -0x5700
/* 042910 7F00DDE0 24120003 */ li $s2, 3
/* 042914 7F00DDE4 8E840000 */ lw $a0, ($s4)
.L7F00DDE8:
/* 042918 7F00DDE8 02602825 */ move $a1, $s3
/* 04291C 7F00DDEC 0FC078B0 */ jal isStageUnlockedAtDifficulty
/* 042920 7F00DDF0 02003025 */ move $a2, $s0
/* 042924 7F00DDF4 8E380000 */ lw $t8, ($s1)
/* 042928 7F00DDF8 17000005 */ bnez $t8, .L7F00DE10
/* 04292C 7F00DDFC 00000000 */ nop
/* 042930 7F00DE00 50400008 */ beql $v0, $zero, .L7F00DE24
/* 042934 7F00DE04 2610FFFF */ addiu $s0, $s0, -1
/* 042938 7F00DE08 10000009 */ b .L7F00DE30
/* 04293C 7F00DE0C 02001025 */ move $v0, $s0
.L7F00DE10:
/* 042940 7F00DE10 54520004 */ bnel $v0, $s2, .L7F00DE24
/* 042944 7F00DE14 2610FFFF */ addiu $s0, $s0, -1
/* 042948 7F00DE18 10000005 */ b .L7F00DE30
/* 04294C 7F00DE1C 02001025 */ move $v0, $s0
/* 042950 7F00DE20 2610FFFF */ addiu $s0, $s0, -1
.L7F00DE24:
/* 042954 7F00DE24 0603FFF0 */ bgezl $s0, .L7F00DDE8
/* 042958 7F00DE28 8E840000 */ lw $a0, ($s4)
.L7F00DE2C:
/* 04295C 7F00DE2C 2402FFFF */ li $v0, -1
.L7F00DE30:
/* 042960 7F00DE30 8FBF002C */ lw $ra, 0x2c($sp)
/* 042964 7F00DE34 8FB00018 */ lw $s0, 0x18($sp)
/* 042968 7F00DE38 8FB1001C */ lw $s1, 0x1c($sp)
/* 04296C 7F00DE3C 8FB20020 */ lw $s2, 0x20($sp)
/* 042970 7F00DE40 8FB30024 */ lw $s3, 0x24($sp)
/* 042974 7F00DE44 8FB40028 */ lw $s4, 0x28($sp)
/* 042978 7F00DE48 03E00008 */ jr $ra
/* 04297C 7F00DE4C 27BD0030 */ addiu $sp, $sp, 0x30
)
#endif
void init_menu07_missionselect(void)
{
selected_stage = -1;
briefingpage = -1;
tab_2_selected = 0;
tab_3_selected = 0;
if (maybe_is_in_menu != 0)
{
musicTrack1Play(M_FOLDERS);
maybe_is_in_menu = 0;
}
load_walletbond();
}
void update_menu07_missionsel(void) {
return;
}
#ifdef NONMATCHING
void interface_menu07_missionsel(void)
{
s32 temp_s1;
s32 temp_s1_2;
s32 temp_s2;
s32 temp_s2_2;
s32 temp_s2_3;
s32 temp_s4;
s32 temp_s4_2;
s32 temp_s4_3;
s32 temp_s5;
void *temp_t1;
void *temp_t3;
void *temp_v0;
void *temp_v0_2;
s32 phi_s4;
s32 phi_s2;
s32 phi_s2_2;
s32 phi_s0;
s32 phi_s1;
s32 phi_s1_2;
s32 phi_s2_3;
s32 phi_s4_2;
s32 phi_s0_2;
s32 phi_s4_3;
s32 phi_s4_4;
s32 phi_s0_3;
s32 phi_s4_5;
s32 phi_s2_4;
s32 phi_s4_6;
s32 phi_s0_4;
s32 phi_s2_5;
s32 phi_a0;
s32 phi_s5;
viSetFovY(0x42700000);
viSetAspect(D_80051A44);
viSetZRange(0x42c80000, D_80051A48);
viSetUseZBuf(0);
disable_all_switches(ptr_folder_object_instance);
set_item_visibility_in_objinstance(ptr_folder_object_instance, 0, 1);
set_item_visibility_in_objinstance(ptr_folder_object_instance, 0x13, 1);
set_item_visibility_in_objinstance(ptr_folder_object_instance, 0x14, 1);
tab_3_highlight = 0;
mission_difficulty_highlighted = -1;
if (isontab3() != 0)
{
tab_3_highlight = 1;
}
else
{
phi_s4 = 0;
loop_3:
phi_s4_2 = phi_s4;
if (phi_s4 < 4)
{
temp_v0 = &cursor_xpos_table_mission_select + (phi_s4 * 4);
phi_s4_2 = phi_s4;
if (!(cursor_h_pos < ((f32) (temp_v0->unk4 + temp_v0->unk0) * 0.5f)))
{
temp_s4 = phi_s4 + 1;
phi_s4 = temp_s4;
phi_s4_2 = temp_s4;
if (temp_s4 != 5)
{
goto loop_3;
}
}
}
phi_s2 = 0;
loop_7:
phi_s2_2 = phi_s2;
if (phi_s2 < 3)
{
temp_v0_2 = &cursor_ypos_table_mission_select + (phi_s2 * 4);
phi_s2_2 = phi_s2;
if (!(cursor_v_pos < ((f32) (temp_v0_2->unk4 + temp_v0_2->unk0) * 0.5f)))
{
temp_s2 = phi_s2 + 1;
phi_s2 = temp_s2;
phi_s2_2 = temp_s2;
if (temp_s2 != 4)
{
goto loop_7;
}
}
}
phi_s2_4 = phi_s2_2;
if (phi_s2_2 > 0)
{
phi_s2_3 = phi_s2_2;
phi_s5 = (phi_s2_2 * 4) + phi_s2_2;
loop_12:
phi_s0 = phi_s5;
phi_s1 = 0;
loop_13:
phi_s1_2 = phi_s1;
if (get_highest_unlocked_difficulty_for_level(phi_s0) < 0)
{
temp_s1 = phi_s1 + 1;
phi_s0 = phi_s0 + 1;
phi_s1 = temp_s1;
phi_s1_2 = temp_s1;
if (temp_s1 != 5)
{
goto loop_13;
}
}
phi_s2_4 = phi_s2_3;
if (phi_s1_2 >= 5)
{
temp_s2_2 = phi_s2_3 + -1;
phi_s2_3 = temp_s2_2;
phi_s2_4 = temp_s2_2;
phi_s5 = phi_s5 + -5;
if (temp_s2_2 > 0)
{
goto loop_12;
}
}
}
temp_s5 = (phi_s2_4 * 4) + phi_s2_4;
phi_s4_4 = phi_s4_2;
if (phi_s4_2 >= 0)
{
phi_s0_2 = temp_s5 + phi_s4_2;
phi_s4_3 = phi_s4_2;
loop_19:
phi_s4_4 = phi_s4_3;
if (get_highest_unlocked_difficulty_for_level(phi_s0_2) < 0)
{
temp_s4_2 = phi_s4_3 + -1;
phi_s0_2 = phi_s0_2 + -1;
phi_s4_3 = temp_s4_2;
phi_s4_4 = temp_s4_2;
if (temp_s4_2 >= 0)
{
goto loop_19;
}
}
}
phi_s4_6 = phi_s4_4;
if (phi_s4_4 < 0)
{
phi_s0_3 = temp_s5;
phi_s4_5 = 0;
loop_23:
phi_s4_6 = phi_s4_5;
if (get_highest_unlocked_difficulty_for_level(phi_s0_3) < 0)
{
temp_s4_3 = phi_s4_5 + 1;
phi_s0_3 = phi_s0_3 + 1;
phi_s4_5 = temp_s4_3;
phi_s4_6 = temp_s4_3;
if (temp_s4_3 != 5)
{
goto loop_23;
}
}
}
mission_difficulty_highlighted = (s32) (temp_s5 + phi_s4_6);
}
if (ptr_folder_object_instance->unk8->unk8->unk54 != 0)
{
temp_s1_2 = extract_id_from_object_structure_microcode(ptr_folder_object_instance, ptr_folder_object_instance->unk8->unk8->unk54);
*temp_s1_2 = dynAllocate7F0BD6C4(ptr_folder_object_instance->unk8->unk8->unk54->unk4->unkC);
if (ptr_folder_object_instance->unk8->unk8->unk54->unk4->unkC > 0)
{
phi_s0_4 = 0;
phi_s2_5 = 0;
loop_29:
temp_t3 = ptr_folder_object_instance->unk8->unk8->unk54->unk4->unk8 + phi_s0_4;
temp_t1 = *temp_s1_2 + phi_s0_4;
temp_t1->unk0 = (s32) temp_t3->unk0;
temp_t1->unk4 = (s32) temp_t3->unk4;
temp_t1->unk8 = (s32) temp_t3->unk8;
temp_t1->unkC = (s32) temp_t3->unkC;
phi_a0 = (s32) phi_s2_5 >> 2;
if (phi_s2_5 < 0)
{
phi_a0 = (s32) (phi_s2_5 + 3) >> 2;
}
if (get_highest_unlocked_difficulty_for_level(phi_a0) >= 0)
{
if (sp30 == mission_difficulty_highlighted)
{
(*temp_s1_2 + phi_s0_4)->unkC = (u8)0xff;
(*temp_s1_2 + phi_s0_4)->unkD = (u8)0xff;
(*temp_s1_2 + phi_s0_4)->unkE = (u8)0xff;
(*temp_s1_2 + phi_s0_4)->unkF = (u8)0xf5;
}
else
{
(*temp_s1_2 + phi_s0_4)->unkC = (u8)0x6e;
(*temp_s1_2 + phi_s0_4)->unkD = (u8)0x6e;
(*temp_s1_2 + phi_s0_4)->unkE = (u8)0x6e;
(*temp_s1_2 + phi_s0_4)->unkF = (u8)0xff;
}
}
else
{
(*temp_s1_2 + phi_s0_4)->unkC = (u8)0xf;
(*temp_s1_2 + phi_s0_4)->unkD = (u8)0xf;
(*temp_s1_2 + phi_s0_4)->unkE = (u8)0xf;
(*temp_s1_2 + phi_s0_4)->unkF = (u8)0xff;
}
temp_s2_3 = phi_s2_5 + 1;
phi_s0_4 = phi_s0_4 + 0x10;
phi_s2_5 = temp_s2_3;
if (temp_s2_3 < ptr_folder_object_instance->unk8->unk8->unk54->unk4->unkC)
{
goto loop_29;
}
}
}
if (joyGetButtonsPressedThisFrame(0, 0xb000) != 0)
{
if (tab_3_highlight != 0)
{
tab_3_selected = 1;
play_sfx_a1(g_musicSfxBufferPtr, 0xc7, 0);
}
else
{
if ((void *)0x80070000->unk-687C >= 0)
{
briefingpage = pull_and_display_text_for_folder_a0((void *)0x80070000->unk-687C);
selected_stage = (s32) (0x80030000 + (briefingpage * 0x1c))->unk-5414;
tab_2_selected = 1;
play_sfx_a1(g_musicSfxBufferPtr, 0xc7, 0);
}
}
}
else
{
if (joyGetButtonsPressedThisFrame(0, 0x4000) != 0)
{
tab_3_selected = 1;
play_sfx_a1(g_musicSfxBufferPtr, 0xc7, 0);
}
}
menu_control_stick_tracking();
if (tab_2_selected != 0)
{
set_menu_to_mode(MENU_DIFFICULTY, 0);
set_cursor_pos_difficulty(get_highest_unlocked_difficulty_for_level((0x80030000 + (briefingpage * 0x1c))->unk-5408));
return;
}
if (tab_3_selected != 0)
{
set_menu_to_mode(MENU_MODE_SELECT, 0);
setCursorPOSforMode(0);
}
}
#else
#ifdef VERSION_US
GLOBAL_ASM(
.late_rodata
glabel D_80051A44
.word 0x3FAAAAAB /* 1.3333334;*/
glabel D_80051A48
.word 0x461C4000 /* 10000.0;*/
.text
glabel interface_menu07_missionsel
/* 0429E8 7F00DEB8 27BDFFA0 */ addiu $sp, $sp, -0x60
/* 0429EC 7F00DEBC 3C014270 */ li $at, 0x42700000 # 60.000000
/* 0429F0 7F00DEC0 AFBF002C */ sw $ra, 0x2c($sp)
/* 0429F4 7F00DEC4 44816000 */ mtc1 $at, $f12
/* 0429F8 7F00DEC8 AFB50028 */ sw $s5, 0x28($sp)
/* 0429FC 7F00DECC AFB40024 */ sw $s4, 0x24($sp)
/* 042A00 7F00DED0 AFB30020 */ sw $s3, 0x20($sp)
/* 042A04 7F00DED4 AFB2001C */ sw $s2, 0x1c($sp)
/* 042A08 7F00DED8 AFB10018 */ sw $s1, 0x18($sp)
/* 042A0C 7F00DEDC 0C001151 */ jal viSetFovY
/* 042A10 7F00DEE0 AFB00014 */ sw $s0, 0x14($sp)
/* 042A14 7F00DEE4 3C018005 */ lui $at, %hi(D_80051A44)
/* 042A18 7F00DEE8 0C001164 */ jal viSetAspect
/* 042A1C 7F00DEEC C42C1A44 */ lwc1 $f12, %lo(D_80051A44)($at)
/* 042A20 7F00DEF0 3C0142C8 */ li $at, 0x42C80000 # 100.000000
/* 042A24 7F00DEF4 44816000 */ mtc1 $at, $f12
/* 042A28 7F00DEF8 3C018005 */ lui $at, %hi(D_80051A48)
/* 042A2C 7F00DEFC 0C001194 */ jal viSetZRange
/* 042A30 7F00DF00 C42E1A48 */ lwc1 $f14, %lo(D_80051A48)($at)
/* 042A34 7F00DF04 0C00114D */ jal viSetUseZBuf
/* 042A38 7F00DF08 00002025 */ move $a0, $zero
/* 042A3C 7F00DF0C 3C048003 */ lui $a0, %hi(ptr_folder_object_instance)
/* 042A40 7F00DF10 0FC02DC9 */ jal disable_all_switches
/* 042A44 7F00DF14 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0)
/* 042A48 7F00DF18 3C048003 */ lui $a0, %hi(ptr_folder_object_instance)
/* 042A4C 7F00DF1C 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0)
/* 042A50 7F00DF20 00002825 */ move $a1, $zero
/* 042A54 7F00DF24 0FC02DF0 */ jal set_item_visibility_in_objinstance
/* 042A58 7F00DF28 24060001 */ li $a2, 1
/* 042A5C 7F00DF2C 3C048003 */ lui $a0, %hi(ptr_folder_object_instance)
/* 042A60 7F00DF30 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0)
/* 042A64 7F00DF34 24050013 */ li $a1, 19
/* 042A68 7F00DF38 0FC02DF0 */ jal set_item_visibility_in_objinstance
/* 042A6C 7F00DF3C 24060001 */ li $a2, 1
/* 042A70 7F00DF40 3C048003 */ lui $a0, %hi(ptr_folder_object_instance)
/* 042A74 7F00DF44 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0)
/* 042A78 7F00DF48 24050014 */ li $a1, 20
/* 042A7C 7F00DF4C 0FC02DF0 */ jal set_item_visibility_in_objinstance
/* 042A80 7F00DF50 24060001 */ li $a2, 1
/* 042A84 7F00DF54 3C018003 */ lui $at, %hi(tab_3_highlight)
/* 042A88 7F00DF58 AC20A8E4 */ sw $zero, %lo(tab_3_highlight)($at)
/* 042A8C 7F00DF5C 3C018007 */ lui $at, %hi(mission_difficulty_highlighted)
/* 042A90 7F00DF60 240EFFFF */ li $t6, -1
/* 042A94 7F00DF64 0FC028E7 */ jal isontab3
/* 042A98 7F00DF68 AC2E9784 */ sw $t6, %lo(mission_difficulty_highlighted)($at)
/* 042A9C 7F00DF6C 10400005 */ beqz $v0, .L7F00DF84
/* 042AA0 7F00DF70 0000A025 */ move $s4, $zero
/* 042AA4 7F00DF74 240F0001 */ li $t7, 1
/* 042AA8 7F00DF78 3C018003 */ lui $at, %hi(tab_3_highlight)
/* 042AAC 7F00DF7C 1000005E */ b .L7F00E0F8
/* 042AB0 7F00DF80 AC2FA8E4 */ sw $t7, %lo(tab_3_highlight)($at)
.L7F00DF84:
/* 042AB4 7F00DF84 3C013F00 */ li $at, 0x3F000000 # 0.500000
/* 042AB8 7F00DF88 3C048003 */ lui $a0, %hi(cursor_xpos_table_mission_select)
/* 042ABC 7F00DF8C 3C038003 */ lui $v1, %hi(cursor_h_pos)
/* 042AC0 7F00DF90 44810000 */ mtc1 $at, $f0
/* 042AC4 7F00DF94 2463A908 */ addiu $v1, %lo(cursor_h_pos) # addiu $v1, $v1, -0x56f8
/* 042AC8 7F00DF98 2484AFD0 */ addiu $a0, %lo(cursor_xpos_table_mission_select) # addiu $a0, $a0, -0x5030
/* 042ACC 7F00DF9C 24130005 */ li $s3, 5
/* 042AD0 7F00DFA0 2A810004 */ slti $at, $s4, 4
.L7F00DFA4:
/* 042AD4 7F00DFA4 10200011 */ beqz $at, .L7F00DFEC
/* 042AD8 7F00DFA8 0014C080 */ sll $t8, $s4, 2
/* 042ADC 7F00DFAC 00981021 */ addu $v0, $a0, $t8
/* 042AE0 7F00DFB0 8C590004 */ lw $t9, 4($v0)
/* 042AE4 7F00DFB4 8C480000 */ lw $t0, ($v0)
/* 042AE8 7F00DFB8 C4640000 */ lwc1 $f4, ($v1)
/* 042AEC 7F00DFBC 03284821 */ addu $t1, $t9, $t0
/* 042AF0 7F00DFC0 44893000 */ mtc1 $t1, $f6
/* 042AF4 7F00DFC4 00000000 */ nop
/* 042AF8 7F00DFC8 46803220 */ cvt.s.w $f8, $f6
/* 042AFC 7F00DFCC 46004282 */ mul.s $f10, $f8, $f0
/* 042B00 7F00DFD0 460A203C */ c.lt.s $f4, $f10
/* 042B04 7F00DFD4 00000000 */ nop
/* 042B08 7F00DFD8 45010004 */ bc1t .L7F00DFEC
/* 042B0C 7F00DFDC 00000000 */ nop
/* 042B10 7F00DFE0 26940001 */ addiu $s4, $s4, 1
/* 042B14 7F00DFE4 5693FFEF */ bnel $s4, $s3, .L7F00DFA4
/* 042B18 7F00DFE8 2A810004 */ slti $at, $s4, 4
.L7F00DFEC:
/* 042B1C 7F00DFEC 3C048003 */ lui $a0, %hi(cursor_ypos_table_mission_select)
/* 042B20 7F00DFF0 3C038003 */ lui $v1, %hi(cursor_v_pos)
/* 042B24 7F00DFF4 2463A90C */ addiu $v1, %lo(cursor_v_pos) # addiu $v1, $v1, -0x56f4
/* 042B28 7F00DFF8 2484AFE4 */ addiu $a0, %lo(cursor_ypos_table_mission_select) # addiu $a0, $a0, -0x501c
/* 042B2C 7F00DFFC 00009025 */ move $s2, $zero
/* 042B30 7F00E000 24050004 */ li $a1, 4
/* 042B34 7F00E004 2A410003 */ slti $at, $s2, 3
.L7F00E008:
/* 042B38 7F00E008 10200011 */ beqz $at, .L7F00E050
/* 042B3C 7F00E00C 00125080 */ sll $t2, $s2, 2
/* 042B40 7F00E010 008A1021 */ addu $v0, $a0, $t2
/* 042B44 7F00E014 8C4B0004 */ lw $t3, 4($v0)
/* 042B48 7F00E018 8C4C0000 */ lw $t4, ($v0)
/* 042B4C 7F00E01C C4700000 */ lwc1 $f16, ($v1)
/* 042B50 7F00E020 016C6821 */ addu $t5, $t3, $t4
/* 042B54 7F00E024 448D9000 */ mtc1 $t5, $f18
/* 042B58 7F00E028 00000000 */ nop
/* 042B5C 7F00E02C 468091A0 */ cvt.s.w $f6, $f18
/* 042B60 7F00E030 46003202 */ mul.s $f8, $f6, $f0
/* 042B64 7F00E034 4608803C */ c.lt.s $f16, $f8
/* 042B68 7F00E038 00000000 */ nop
/* 042B6C 7F00E03C 45010004 */ bc1t .L7F00E050
/* 042B70 7F00E040 00000000 */ nop
/* 042B74 7F00E044 26520001 */ addiu $s2, $s2, 1
/* 042B78 7F00E048 5645FFEF */ bnel $s2, $a1, .L7F00E008
/* 042B7C 7F00E04C 2A410003 */ slti $at, $s2, 3
.L7F00E050:
/* 042B80 7F00E050 1A400011 */ blez $s2, .L7F00E098
/* 042B84 7F00E054 0012A880 */ sll $s5, $s2, 2
/* 042B88 7F00E058 02B2A821 */ addu $s5, $s5, $s2
.L7F00E05C:
/* 042B8C 7F00E05C 00008825 */ move $s1, $zero
/* 042B90 7F00E060 02A08025 */ move $s0, $s5
.L7F00E064:
/* 042B94 7F00E064 0FC03758 */ jal get_highest_unlocked_difficulty_for_level
/* 042B98 7F00E068 02002025 */ move $a0, $s0
/* 042B9C 7F00E06C 04430005 */ bgezl $v0, .L7F00E084
/* 042BA0 7F00E070 2A210005 */ slti $at, $s1, 5
/* 042BA4 7F00E074 26310001 */ addiu $s1, $s1, 1
/* 042BA8 7F00E078 1633FFFA */ bne $s1, $s3, .L7F00E064
/* 042BAC 7F00E07C 26100001 */ addiu $s0, $s0, 1
/* 042BB0 7F00E080 2A210005 */ slti $at, $s1, 5
.L7F00E084:
/* 042BB4 7F00E084 54200005 */ bnezl $at, .L7F00E09C
/* 042BB8 7F00E088 0012A880 */ sll $s5, $s2, 2
/* 042BBC 7F00E08C 2652FFFF */ addiu $s2, $s2, -1
/* 042BC0 7F00E090 1E40FFF2 */ bgtz $s2, .L7F00E05C
/* 042BC4 7F00E094 26B5FFFB */ addiu $s5, $s5, -5
.L7F00E098:
/* 042BC8 7F00E098 0012A880 */ sll $s5, $s2, 2
.L7F00E09C:
/* 042BCC 7F00E09C 06800009 */ bltz $s4, .L7F00E0C4
/* 042BD0 7F00E0A0 02B2A821 */ addu $s5, $s5, $s2
/* 042BD4 7F00E0A4 02B48021 */ addu $s0, $s5, $s4
.L7F00E0A8:
/* 042BD8 7F00E0A8 0FC03758 */ jal get_highest_unlocked_difficulty_for_level
/* 042BDC 7F00E0AC 02002025 */ move $a0, $s0
/* 042BE0 7F00E0B0 04410004 */ bgez $v0, .L7F00E0C4
/* 042BE4 7F00E0B4 00000000 */ nop
/* 042BE8 7F00E0B8 2694FFFF */ addiu $s4, $s4, -1
/* 042BEC 7F00E0BC 0681FFFA */ bgez $s4, .L7F00E0A8
/* 042BF0 7F00E0C0 2610FFFF */ addiu $s0, $s0, -1
.L7F00E0C4:
/* 042BF4 7F00E0C4 06810009 */ bgez $s4, .L7F00E0EC
/* 042BF8 7F00E0C8 02A08025 */ move $s0, $s5
/* 042BFC 7F00E0CC 0000A025 */ move $s4, $zero
.L7F00E0D0:
/* 042C00 7F00E0D0 0FC03758 */ jal get_highest_unlocked_difficulty_for_level
/* 042C04 7F00E0D4 02002025 */ move $a0, $s0
/* 042C08 7F00E0D8 04430005 */ bgezl $v0, .L7F00E0F0
/* 042C0C 7F00E0DC 02B47021 */ addu $t6, $s5, $s4
/* 042C10 7F00E0E0 26940001 */ addiu $s4, $s4, 1
/* 042C14 7F00E0E4 1693FFFA */ bne $s4, $s3, .L7F00E0D0
/* 042C18 7F00E0E8 26100001 */ addiu $s0, $s0, 1
.L7F00E0EC:
/* 042C1C 7F00E0EC 02B47021 */ addu $t6, $s5, $s4
.L7F00E0F0:
/* 042C20 7F00E0F0 3C018007 */ lui $at, %hi(mission_difficulty_highlighted)
/* 042C24 7F00E0F4 AC2E9784 */ sw $t6, %lo(mission_difficulty_highlighted)($at)
.L7F00E0F8:
/* 042C28 7F00E0F8 3C048003 */ lui $a0, %hi(ptr_folder_object_instance)
/* 042C2C 7F00E0FC 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0)
/* 042C30 7F00E100 8C8F0008 */ lw $t7, 8($a0)
/* 042C34 7F00E104 8DF80008 */ lw $t8, 8($t7)
/* 042C38 7F00E108 8F050054 */ lw $a1, 0x54($t8)
/* 042C3C 7F00E10C 50A00054 */ beql $a1, $zero, .L7F00E260
/* 042C40 7F00E110 00002025 */ move $a0, $zero
/* 042C44 7F00E114 0FC1B1E7 */ jal extract_id_from_object_structure_microcode
/* 042C48 7F00E118 8CB40004 */ lw $s4, 4($a1)
/* 042C4C 7F00E11C 00408825 */ move $s1, $v0
/* 042C50 7F00E120 0FC2F5B1 */ jal dynAllocate7F0BD6C4
/* 042C54 7F00E124 8684000C */ lh $a0, 0xc($s4)
/* 042C58 7F00E128 AE220000 */ sw $v0, ($s1)
/* 042C5C 7F00E12C 8699000C */ lh $t9, 0xc($s4)
/* 042C60 7F00E130 00009025 */ move $s2, $zero
/* 042C64 7F00E134 00008025 */ move $s0, $zero
/* 042C68 7F00E138 1B200048 */ blez $t9, .L7F00E25C
/* 042C6C 7F00E13C 241500F5 */ li $s5, 245
/* 042C70 7F00E140 2413006E */ li $s3, 110
/* 042C74 7F00E144 8E8A0008 */ lw $t2, 8($s4)
.L7F00E148:
/* 042C78 7F00E148 8E280000 */ lw $t0, ($s1)
/* 042C7C 7F00E14C 01505821 */ addu $t3, $t2, $s0
/* 042C80 7F00E150 8D610000 */ lw $at, ($t3)
/* 042C84 7F00E154 01104821 */ addu $t1, $t0, $s0
/* 042C88 7F00E158 AD210000 */ sw $at, ($t1)
/* 042C8C 7F00E15C 8D6D0004 */ lw $t5, 4($t3)
/* 042C90 7F00E160 AD2D0004 */ sw $t5, 4($t1)
/* 042C94 7F00E164 8D610008 */ lw $at, 8($t3)
/* 042C98 7F00E168 AD210008 */ sw $at, 8($t1)
/* 042C9C 7F00E16C 8D6D000C */ lw $t5, 0xc($t3)
/* 042CA0 7F00E170 AD2D000C */ sw $t5, 0xc($t1)
/* 042CA4 7F00E174 06410003 */ bgez $s2, .L7F00E184
/* 042CA8 7F00E178 00122083 */ sra $a0, $s2, 2
/* 042CAC 7F00E17C 26410003 */ addiu $at, $s2, 3
/* 042CB0 7F00E180 00012083 */ sra $a0, $at, 2
.L7F00E184:
/* 042CB4 7F00E184 0FC03758 */ jal get_highest_unlocked_difficulty_for_level
/* 042CB8 7F00E188 AFA40030 */ sw $a0, 0x30($sp)
/* 042CBC 7F00E18C 240300FF */ li $v1, 255
/* 042CC0 7F00E190 8FA40030 */ lw $a0, 0x30($sp)
/* 042CC4 7F00E194 0440001F */ bltz $v0, .L7F00E214
/* 042CC8 7F00E198 2405000F */ li $a1, 15
/* 042CCC 7F00E19C 3C0E8007 */ lui $t6, %hi(mission_difficulty_highlighted)
/* 042CD0 7F00E1A0 8DCE9784 */ lw $t6, %lo(mission_difficulty_highlighted)($t6)
/* 042CD4 7F00E1A4 548E000F */ bnel $a0, $t6, .L7F00E1E4
/* 042CD8 7F00E1A8 8E2D0000 */ lw $t5, ($s1)
/* 042CDC 7F00E1AC 8E2F0000 */ lw $t7, ($s1)
/* 042CE0 7F00E1B0 01F0C021 */ addu $t8, $t7, $s0
/* 042CE4 7F00E1B4 A303000C */ sb $v1, 0xc($t8)
/* 042CE8 7F00E1B8 8E390000 */ lw $t9, ($s1)
/* 042CEC 7F00E1BC 03304021 */ addu $t0, $t9, $s0
/* 042CF0 7F00E1C0 A103000D */ sb $v1, 0xd($t0)
/* 042CF4 7F00E1C4 8E2A0000 */ lw $t2, ($s1)
/* 042CF8 7F00E1C8 01506021 */ addu $t4, $t2, $s0
/* 042CFC 7F00E1CC A183000E */ sb $v1, 0xe($t4)
/* 042D00 7F00E1D0 8E290000 */ lw $t1, ($s1)
/* 042D04 7F00E1D4 01305821 */ addu $t3, $t1, $s0
/* 042D08 7F00E1D8 1000001A */ b .L7F00E244
/* 042D0C 7F00E1DC A175000F */ sb $s5, 0xf($t3)
/* 042D10 7F00E1E0 8E2D0000 */ lw $t5, ($s1)
.L7F00E1E4:
/* 042D14 7F00E1E4 01B07021 */ addu $t6, $t5, $s0
/* 042D18 7F00E1E8 A1D3000C */ sb $s3, 0xc($t6)
/* 042D1C 7F00E1EC 8E2F0000 */ lw $t7, ($s1)
/* 042D20 7F00E1F0 01F0C021 */ addu $t8, $t7, $s0
/* 042D24 7F00E1F4 A313000D */ sb $s3, 0xd($t8)
/* 042D28 7F00E1F8 8E390000 */ lw $t9, ($s1)
/* 042D2C 7F00E1FC 03304021 */ addu $t0, $t9, $s0
/* 042D30 7F00E200 A113000E */ sb $s3, 0xe($t0)
/* 042D34 7F00E204 8E2A0000 */ lw $t2, ($s1)
/* 042D38 7F00E208 01506021 */ addu $t4, $t2, $s0
/* 042D3C 7F00E20C 1000000D */ b .L7F00E244
/* 042D40 7F00E210 A183000F */ sb $v1, 0xf($t4)
.L7F00E214:
/* 042D44 7F00E214 8E290000 */ lw $t1, ($s1)
/* 042D48 7F00E218 01305821 */ addu $t3, $t1, $s0
/* 042D4C 7F00E21C A165000C */ sb $a1, 0xc($t3)
/* 042D50 7F00E220 8E2D0000 */ lw $t5, ($s1)
/* 042D54 7F00E224 01B07021 */ addu $t6, $t5, $s0
/* 042D58 7F00E228 A1C5000D */ sb $a1, 0xd($t6)
/* 042D5C 7F00E22C 8E2F0000 */ lw $t7, ($s1)
/* 042D60 7F00E230 01F0C021 */ addu $t8, $t7, $s0
/* 042D64 7F00E234 A305000E */ sb $a1, 0xe($t8)
/* 042D68 7F00E238 8E390000 */ lw $t9, ($s1)
/* 042D6C 7F00E23C 03304021 */ addu $t0, $t9, $s0
/* 042D70 7F00E240 A103000F */ sb $v1, 0xf($t0)
.L7F00E244:
/* 042D74 7F00E244 868A000C */ lh $t2, 0xc($s4)
/* 042D78 7F00E248 26520001 */ addiu $s2, $s2, 1
/* 042D7C 7F00E24C 26100010 */ addiu $s0, $s0, 0x10
/* 042D80 7F00E250 024A082A */ slt $at, $s2, $t2
/* 042D84 7F00E254 5420FFBC */ bnezl $at, .L7F00E148
/* 042D88 7F00E258 8E8A0008 */ lw $t2, 8($s4)
.L7F00E25C:
/* 042D8C 7F00E25C 00002025 */ move $a0, $zero
.L7F00E260:
/* 042D90 7F00E260 0C0030EB */ jal joyGetButtonsPressedThisFrame
/* 042D94 7F00E264 3405B000 */ li $a1, 45056
/* 042D98 7F00E268 1040002A */ beqz $v0, .L7F00E314
/* 042D9C 7F00E26C 00002025 */ move $a0, $zero
/* 042DA0 7F00E270 3C0C8003 */ lui $t4, %hi(tab_3_highlight)
/* 042DA4 7F00E274 8D8CA8E4 */ lw $t4, %lo(tab_3_highlight)($t4)
/* 042DA8 7F00E278 24090001 */ li $t1, 1
/* 042DAC 7F00E27C 3C018003 */ lui $at, %hi(tab_3_selected)
/* 042DB0 7F00E280 11800009 */ beqz $t4, .L7F00E2A8
/* 042DB4 7F00E284 3C048007 */ lui $a0, %hi(mission_difficulty_highlighted)
/* 042DB8 7F00E288 3C048006 */ lui $a0, %hi(g_musicSfxBufferPtr)
/* 042DBC 7F00E28C AC29A8D8 */ sw $t1, %lo(tab_3_selected)($at)
/* 042DC0 7F00E290 8C843720 */ lw $a0, %lo(g_musicSfxBufferPtr)($a0)
/* 042DC4 7F00E294 240500C7 */ li $a1, 199
/* 042DC8 7F00E298 0C002382 */ jal play_sfx_a1
/* 042DCC 7F00E29C 00003025 */ move $a2, $zero
/* 042DD0 7F00E2A0 10000027 */ b .L7F00E340
/* 042DD4 7F00E2A4 00000000 */ nop
.L7F00E2A8:
/* 042DD8 7F00E2A8 8C849784 */ lw $a0, %lo(mission_difficulty_highlighted)($a0)
/* 042DDC 7F00E2AC 04800024 */ bltz $a0, .L7F00E340
/* 042DE0 7F00E2B0 00000000 */ nop
/* 042DE4 7F00E2B4 0FC03730 */ jal pull_and_display_text_for_folder_a0
/* 042DE8 7F00E2B8 00000000 */ nop
/* 042DEC 7F00E2BC 3C018003 */ lui $at, %hi(briefingpage)
/* 042DF0 7F00E2C0 AC22A8F8 */ sw $v0, %lo(briefingpage)($at)
/* 042DF4 7F00E2C4 3C0B8003 */ lui $t3, %hi(briefingpage)
/* 042DF8 7F00E2C8 8D6BA8F8 */ lw $t3, %lo(briefingpage)($t3)
/* 042DFC 7F00E2CC 3C0E8003 */ lui $t6, %hi(mission_folder_setup_entries+8)
/* 042E00 7F00E2D0 3C018003 */ lui $at, %hi(selected_stage)
/* 042E04 7F00E2D4 000B68C0 */ sll $t5, $t3, 3
/* 042E08 7F00E2D8 01AB6823 */ subu $t5, $t5, $t3
/* 042E0C 7F00E2DC 000D6880 */ sll $t5, $t5, 2
/* 042E10 7F00E2E0 01CD7021 */ addu $t6, $t6, $t5
/* 042E14 7F00E2E4 8DCEABEC */ lw $t6, %lo(mission_folder_setup_entries+8)($t6)
/* 042E18 7F00E2E8 240F0001 */ li $t7, 1
/* 042E1C 7F00E2EC 3C048006 */ lui $a0, %hi(g_musicSfxBufferPtr)
/* 042E20 7F00E2F0 AC2EA8F4 */ sw $t6, %lo(selected_stage)($at)
/* 042E24 7F00E2F4 3C018003 */ lui $at, %hi(tab_2_selected)
/* 042E28 7F00E2F8 AC2FA8D4 */ sw $t7, %lo(tab_2_selected)($at)
/* 042E2C 7F00E2FC 8C843720 */ lw $a0, %lo(g_musicSfxBufferPtr)($a0)
/* 042E30 7F00E300 240500C7 */ li $a1, 199
/* 042E34 7F00E304 0C002382 */ jal play_sfx_a1
/* 042E38 7F00E308 00003025 */ move $a2, $zero
/* 042E3C 7F00E30C 1000000C */ b .L7F00E340
/* 042E40 7F00E310 00000000 */ nop
.L7F00E314:
/* 042E44 7F00E314 0C0030EB */ jal joyGetButtonsPressedThisFrame
/* 042E48 7F00E318 24054000 */ li $a1, 16384
/* 042E4C 7F00E31C 10400008 */ beqz $v0, .L7F00E340
/* 042E50 7F00E320 24180001 */ li $t8, 1
/* 042E54 7F00E324 3C018003 */ lui $at, %hi(tab_3_selected)
/* 042E58 7F00E328 3C048006 */ lui $a0, %hi(g_musicSfxBufferPtr)
/* 042E5C 7F00E32C AC38A8D8 */ sw $t8, %lo(tab_3_selected)($at)
/* 042E60 7F00E330 8C843720 */ lw $a0, %lo(g_musicSfxBufferPtr)($a0)
/* 042E64 7F00E334 240500C7 */ li $a1, 199
/* 042E68 7F00E338 0C002382 */ jal play_sfx_a1
/* 042E6C 7F00E33C 00003025 */ move $a2, $zero
.L7F00E340:
/* 042E70 7F00E340 0FC026E1 */ jal menu_control_stick_tracking
/* 042E74 7F00E344 00000000 */ nop
/* 042E78 7F00E348 3C198003 */ lui $t9, %hi(tab_2_selected)
/* 042E7C 7F00E34C 8F39A8D4 */ lw $t9, %lo(tab_2_selected)($t9)
/* 042E80 7F00E350 24040008 */ li $a0, 8
/* 042E84 7F00E354 3C0C8003 */ lui $t4, %hi(tab_3_selected)
/* 042E88 7F00E358 13200010 */ beqz $t9, .L7F00E39C
/* 042E8C 7F00E35C 00000000 */ nop
/* 042E90 7F00E360 0FC06975 */ jal set_menu_to_mode
/* 042E94 7F00E364 00002825 */ move $a1, $zero
/* 042E98 7F00E368 3C088003 */ lui $t0, %hi(briefingpage)
/* 042E9C 7F00E36C 8D08A8F8 */ lw $t0, %lo(briefingpage)($t0)
/* 042EA0 7F00E370 3C048003 */ lui $a0, %hi(mission_folder_setup_entries+20)
/* 042EA4 7F00E374 000850C0 */ sll $t2, $t0, 3
/* 042EA8 7F00E378 01485023 */ subu $t2, $t2, $t0
/* 042EAC 7F00E37C 000A5080 */ sll $t2, $t2, 2
/* 042EB0 7F00E380 008A2021 */ addu $a0, $a0, $t2
/* 042EB4 7F00E384 0FC03758 */ jal get_highest_unlocked_difficulty_for_level
/* 042EB8 7F00E388 8C84ABF8 */ lw $a0, %lo(mission_folder_setup_entries+20)($a0)
/* 042EBC 7F00E38C 0FC03B59 */ jal set_cursor_pos_difficulty
/* 042EC0 7F00E390 00402025 */ move $a0, $v0
/* 042EC4 7F00E394 1000000A */ b .L7F00E3C0
/* 042EC8 7F00E398 8FBF002C */ lw $ra, 0x2c($sp)
.L7F00E39C:
/* 042ECC 7F00E39C 8D8CA8D8 */ lw $t4, %lo(tab_3_selected)($t4)
/* 042ED0 7F00E3A0 24040006 */ li $a0, 6
/* 042ED4 7F00E3A4 51800006 */ beql $t4, $zero, .L7F00E3C0
/* 042ED8 7F00E3A8 8FBF002C */ lw $ra, 0x2c($sp)
/* 042EDC 7F00E3AC 0FC06975 */ jal set_menu_to_mode
/* 042EE0 7F00E3B0 00002825 */ move $a1, $zero
/* 042EE4 7F00E3B4 0FC035FF */ jal setCursorPOSforMode
/* 042EE8 7F00E3B8 00002025 */ move $a0, $zero
/* 042EEC 7F00E3BC 8FBF002C */ lw $ra, 0x2c($sp)
.L7F00E3C0:
/* 042EF0 7F00E3C0 8FB00014 */ lw $s0, 0x14($sp)
/* 042EF4 7F00E3C4 8FB10018 */ lw $s1, 0x18($sp)
/* 042EF8 7F00E3C8 8FB2001C */ lw $s2, 0x1c($sp)
/* 042EFC 7F00E3CC 8FB30020 */ lw $s3, 0x20($sp)
/* 042F00 7F00E3D0 8FB40024 */ lw $s4, 0x24($sp)
/* 042F04 7F00E3D4 8FB50028 */ lw $s5, 0x28($sp)
/* 042F08 7F00E3D8 03E00008 */ jr $ra
/* 042F0C 7F00E3DC 27BD0060 */ addiu $sp, $sp, 0x60
)
#endif
#ifdef VERSION_JP
GLOBAL_ASM(
.late_rodata
glabel D_80051A44
.word 0x3FAAAAAB /* 1.3333334;*/
glabel D_80051A48
.word 0x461C4000 /* 10000.0;*/
.text
glabel interface_menu07_missionsel
/* 042A48 7F00DED8 27BDFFA0 */ addiu $sp, $sp, -0x60
/* 042A4C 7F00DEDC 3C014270 */ li $at, 0x42700000 # 60.000000
/* 042A50 7F00DEE0 AFBF002C */ sw $ra, 0x2c($sp)
/* 042A54 7F00DEE4 44816000 */ mtc1 $at, $f12
/* 042A58 7F00DEE8 AFB50028 */ sw $s5, 0x28($sp)
/* 042A5C 7F00DEEC AFB40024 */ sw $s4, 0x24($sp)
/* 042A60 7F00DEF0 AFB30020 */ sw $s3, 0x20($sp)
/* 042A64 7F00DEF4 AFB2001C */ sw $s2, 0x1c($sp)
/* 042A68 7F00DEF8 AFB10018 */ sw $s1, 0x18($sp)
/* 042A6C 7F00DEFC 0C001151 */ jal viSetFovY
/* 042A70 7F00DF00 AFB00014 */ sw $s0, 0x14($sp)
/* 042A74 7F00DF04 3C018005 */ lui $at, %hi(D_80051A44) # $at, 0x8005
/* 042A78 7F00DF08 0C001164 */ jal viSetAspect
/* 042A7C 7F00DF0C C42C1A74 */ lwc1 $f12, %lo(D_80051A44)($at)
/* 042A80 7F00DF10 3C0142C8 */ li $at, 0x42C80000 # 100.000000
/* 042A84 7F00DF14 44816000 */ mtc1 $at, $f12
/* 042A88 7F00DF18 3C018005 */ lui $at, %hi(D_80051A48) # $at, 0x8005
/* 042A8C 7F00DF1C 0C001194 */ jal viSetZRange
/* 042A90 7F00DF20 C42E1A78 */ lwc1 $f14, %lo(D_80051A48)($at)
/* 042A94 7F00DF24 0C00114D */ jal viSetUseZBuf
/* 042A98 7F00DF28 00002025 */ move $a0, $zero
/* 042A9C 7F00DF2C 3C048003 */ lui $a0, %hi(ptr_folder_object_instance) # $a0, 0x8003
/* 042AA0 7F00DF30 0FC02DD1 */ jal disable_all_switches
/* 042AA4 7F00DF34 8C84A99C */ lw $a0, %lo(ptr_folder_object_instance)($a0)
/* 042AA8 7F00DF38 3C048003 */ lui $a0, %hi(ptr_folder_object_instance) # $a0, 0x8003
/* 042AAC 7F00DF3C 8C84A99C */ lw $a0, %lo(ptr_folder_object_instance)($a0)
/* 042AB0 7F00DF40 00002825 */ move $a1, $zero
/* 042AB4 7F00DF44 0FC02DF8 */ jal set_item_visibility_in_objinstance
/* 042AB8 7F00DF48 24060001 */ li $a2, 1
/* 042ABC 7F00DF4C 3C048003 */ lui $a0, %hi(ptr_folder_object_instance) # $a0, 0x8003
/* 042AC0 7F00DF50 8C84A99C */ lw $a0, %lo(ptr_folder_object_instance)($a0)
/* 042AC4 7F00DF54 24050013 */ li $a1, 19
/* 042AC8 7F00DF58 0FC02DF8 */ jal set_item_visibility_in_objinstance
/* 042ACC 7F00DF5C 24060001 */ li $a2, 1
/* 042AD0 7F00DF60 3C048003 */ lui $a0, %hi(ptr_folder_object_instance) # $a0, 0x8003
/* 042AD4 7F00DF64 8C84A99C */ lw $a0, %lo(ptr_folder_object_instance)($a0)
/* 042AD8 7F00DF68 24050014 */ li $a1, 20
/* 042ADC 7F00DF6C 0FC02DF8 */ jal set_item_visibility_in_objinstance
/* 042AE0 7F00DF70 24060001 */ li $a2, 1
/* 042AE4 7F00DF74 3C018003 */ lui $at, %hi(tab_3_highlight) # $at, 0x8003
/* 042AE8 7F00DF78 AC20A924 */ sw $zero, %lo(tab_3_highlight)($at)
/* 042AEC 7F00DF7C 3C018007 */ lui $at, %hi(mission_difficulty_highlighted) # $at, 0x8007
/* 042AF0 7F00DF80 240EFFFF */ li $t6, -1
/* 042AF4 7F00DF84 0FC028EF */ jal isontab3
/* 042AF8 7F00DF88 AC2E97C4 */ sw $t6, %lo(mission_difficulty_highlighted)($at)
/* 042AFC 7F00DF8C 10400005 */ beqz $v0, .L7F00DFA4
/* 042B00 7F00DF90 0000A025 */ move $s4, $zero
/* 042B04 7F00DF94 240F0001 */ li $t7, 1
/* 042B08 7F00DF98 3C018003 */ lui $at, %hi(tab_3_highlight) # $at, 0x8003
/* 042B0C 7F00DF9C 1000005E */ b .L7F00E118
/* 042B10 7F00DFA0 AC2FA924 */ sw $t7, %lo(tab_3_highlight)($at)
.L7F00DFA4:
/* 042B14 7F00DFA4 3C013F00 */ li $at, 0x3F000000 # 0.500000
/* 042B18 7F00DFA8 3C048003 */ lui $a0, %hi(cursor_xpos_table_mission_select) # $a0, 0x8003
/* 042B1C 7F00DFAC 3C038003 */ lui $v1, %hi(cursor_h_pos) # $v1, 0x8003
/* 042B20 7F00DFB0 44810000 */ mtc1 $at, $f0
/* 042B24 7F00DFB4 2463A948 */ addiu $v1, %lo(cursor_h_pos) # addiu $v1, $v1, -0x56b8
/* 042B28 7F00DFB8 2484B010 */ addiu $a0, %lo(cursor_xpos_table_mission_select) # addiu $a0, $a0, -0x4ff0
/* 042B2C 7F00DFBC 24130005 */ li $s3, 5
/* 042B30 7F00DFC0 2A810004 */ slti $at, $s4, 4
.L7F00DFC4:
/* 042B34 7F00DFC4 10200011 */ beqz $at, .L7F00E00C
/* 042B38 7F00DFC8 0014C080 */ sll $t8, $s4, 2
/* 042B3C 7F00DFCC 00981021 */ addu $v0, $a0, $t8
/* 042B40 7F00DFD0 8C590004 */ lw $t9, 4($v0)
/* 042B44 7F00DFD4 8C480000 */ lw $t0, ($v0)
/* 042B48 7F00DFD8 C4640000 */ lwc1 $f4, ($v1)
/* 042B4C 7F00DFDC 03284821 */ addu $t1, $t9, $t0
/* 042B50 7F00DFE0 44893000 */ mtc1 $t1, $f6
/* 042B54 7F00DFE4 00000000 */ nop
/* 042B58 7F00DFE8 46803220 */ cvt.s.w $f8, $f6
/* 042B5C 7F00DFEC 46004282 */ mul.s $f10, $f8, $f0
/* 042B60 7F00DFF0 460A203C */ c.lt.s $f4, $f10
/* 042B64 7F00DFF4 00000000 */ nop
/* 042B68 7F00DFF8 45010004 */ bc1t .L7F00E00C
/* 042B6C 7F00DFFC 00000000 */ nop
/* 042B70 7F00E000 26940001 */ addiu $s4, $s4, 1
/* 042B74 7F00E004 5693FFEF */ bnel $s4, $s3, .L7F00DFC4
/* 042B78 7F00E008 2A810004 */ slti $at, $s4, 4
.L7F00E00C:
/* 042B7C 7F00E00C 3C048003 */ lui $a0, %hi(cursor_ypos_table_mission_select) # $a0, 0x8003
/* 042B80 7F00E010 3C038003 */ lui $v1, %hi(cursor_v_pos) # $v1, 0x8003
/* 042B84 7F00E014 2463A94C */ addiu $v1, %lo(cursor_v_pos) # addiu $v1, $v1, -0x56b4
/* 042B88 7F00E018 2484B024 */ addiu $a0, %lo(cursor_ypos_table_mission_select) # addiu $a0, $a0, -0x4fdc
/* 042B8C 7F00E01C 00009025 */ move $s2, $zero
/* 042B90 7F00E020 24050004 */ li $a1, 4
/* 042B94 7F00E024 2A410003 */ slti $at, $s2, 3
.L7F00E028:
/* 042B98 7F00E028 10200011 */ beqz $at, .L7F00E070
/* 042B9C 7F00E02C 00125080 */ sll $t2, $s2, 2
/* 042BA0 7F00E030 008A1021 */ addu $v0, $a0, $t2
/* 042BA4 7F00E034 8C4B0004 */ lw $t3, 4($v0)
/* 042BA8 7F00E038 8C4C0000 */ lw $t4, ($v0)
/* 042BAC 7F00E03C C4700000 */ lwc1 $f16, ($v1)
/* 042BB0 7F00E040 016C6821 */ addu $t5, $t3, $t4
/* 042BB4 7F00E044 448D9000 */ mtc1 $t5, $f18
/* 042BB8 7F00E048 00000000 */ nop
/* 042BBC 7F00E04C 468091A0 */ cvt.s.w $f6, $f18
/* 042BC0 7F00E050 46003202 */ mul.s $f8, $f6, $f0
/* 042BC4 7F00E054 4608803C */ c.lt.s $f16, $f8
/* 042BC8 7F00E058 00000000 */ nop
/* 042BCC 7F00E05C 45010004 */ bc1t .L7F00E070
/* 042BD0 7F00E060 00000000 */ nop
/* 042BD4 7F00E064 26520001 */ addiu $s2, $s2, 1
/* 042BD8 7F00E068 5645FFEF */ bnel $s2, $a1, .L7F00E028
/* 042BDC 7F00E06C 2A410003 */ slti $at, $s2, 3
.L7F00E070:
/* 042BE0 7F00E070 1A400011 */ blez $s2, .L7F00E0B8
/* 042BE4 7F00E074 0012A880 */ sll $s5, $s2, 2
/* 042BE8 7F00E078 02B2A821 */ addu $s5, $s5, $s2
.L7F00E07C:
/* 042BEC 7F00E07C 00008825 */ move $s1, $zero
/* 042BF0 7F00E080 02A08025 */ move $s0, $s5
.L7F00E084:
/* 042BF4 7F00E084 0FC03760 */ jal get_highest_unlocked_difficulty_for_level
/* 042BF8 7F00E088 02002025 */ move $a0, $s0
/* 042BFC 7F00E08C 04430005 */ bgezl $v0, .L7F00E0A4
/* 042C00 7F00E090 2A210005 */ slti $at, $s1, 5
/* 042C04 7F00E094 26310001 */ addiu $s1, $s1, 1
/* 042C08 7F00E098 1633FFFA */ bne $s1, $s3, .L7F00E084
/* 042C0C 7F00E09C 26100001 */ addiu $s0, $s0, 1
/* 042C10 7F00E0A0 2A210005 */ slti $at, $s1, 5
.L7F00E0A4:
/* 042C14 7F00E0A4 54200005 */ bnezl $at, .L7F00E0BC
/* 042C18 7F00E0A8 0012A880 */ sll $s5, $s2, 2
/* 042C1C 7F00E0AC 2652FFFF */ addiu $s2, $s2, -1
/* 042C20 7F00E0B0 1E40FFF2 */ bgtz $s2, .L7F00E07C
/* 042C24 7F00E0B4 26B5FFFB */ addiu $s5, $s5, -5
.L7F00E0B8:
/* 042C28 7F00E0B8 0012A880 */ sll $s5, $s2, 2
.L7F00E0BC:
/* 042C2C 7F00E0BC 06800009 */ bltz $s4, .L7F00E0E4
/* 042C30 7F00E0C0 02B2A821 */ addu $s5, $s5, $s2
/* 042C34 7F00E0C4 02B48021 */ addu $s0, $s5, $s4
.L7F00E0C8:
/* 042C38 7F00E0C8 0FC03760 */ jal get_highest_unlocked_difficulty_for_level
/* 042C3C 7F00E0CC 02002025 */ move $a0, $s0
/* 042C40 7F00E0D0 04410004 */ bgez $v0, .L7F00E0E4
/* 042C44 7F00E0D4 00000000 */ nop
/* 042C48 7F00E0D8 2694FFFF */ addiu $s4, $s4, -1
/* 042C4C 7F00E0DC 0681FFFA */ bgez $s4, .L7F00E0C8
/* 042C50 7F00E0E0 2610FFFF */ addiu $s0, $s0, -1
.L7F00E0E4:
/* 042C54 7F00E0E4 06810009 */ bgez $s4, .L7F00E10C
/* 042C58 7F00E0E8 02A08025 */ move $s0, $s5
/* 042C5C 7F00E0EC 0000A025 */ move $s4, $zero
.L7F00E0F0:
/* 042C60 7F00E0F0 0FC03760 */ jal get_highest_unlocked_difficulty_for_level
/* 042C64 7F00E0F4 02002025 */ move $a0, $s0
/* 042C68 7F00E0F8 04430005 */ bgezl $v0, .L7F00E110
/* 042C6C 7F00E0FC 02B47021 */ addu $t6, $s5, $s4
/* 042C70 7F00E100 26940001 */ addiu $s4, $s4, 1
/* 042C74 7F00E104 1693FFFA */ bne $s4, $s3, .L7F00E0F0
/* 042C78 7F00E108 26100001 */ addiu $s0, $s0, 1
.L7F00E10C:
/* 042C7C 7F00E10C 02B47021 */ addu $t6, $s5, $s4
.L7F00E110:
/* 042C80 7F00E110 3C018007 */ lui $at, %hi(mission_difficulty_highlighted) # $at, 0x8007
/* 042C84 7F00E114 AC2E97C4 */ sw $t6, %lo(mission_difficulty_highlighted)($at)
.L7F00E118:
/* 042C88 7F00E118 3C048003 */ lui $a0, %hi(ptr_folder_object_instance) # $a0, 0x8003
/* 042C8C 7F00E11C 8C84A99C */ lw $a0, %lo(ptr_folder_object_instance)($a0)
/* 042C90 7F00E120 8C8F0008 */ lw $t7, 8($a0)
/* 042C94 7F00E124 8DF80008 */ lw $t8, 8($t7)
/* 042C98 7F00E128 8F050054 */ lw $a1, 0x54($t8)
/* 042C9C 7F00E12C 50A00054 */ beql $a1, $zero, .L7F00E280
/* 042CA0 7F00E130 00002025 */ move $a0, $zero
/* 042CA4 7F00E134 0FC1B363 */ jal extract_id_from_object_structure_microcode
/* 042CA8 7F00E138 8CB40004 */ lw $s4, 4($a1)
/* 042CAC 7F00E13C 00408825 */ move $s1, $v0
/* 042CB0 7F00E140 0FC2F89D */ jal dynAllocate7F0BD6C4
/* 042CB4 7F00E144 8684000C */ lh $a0, 0xc($s4)
/* 042CB8 7F00E148 AE220000 */ sw $v0, ($s1)
/* 042CBC 7F00E14C 8699000C */ lh $t9, 0xc($s4)
/* 042CC0 7F00E150 00009025 */ move $s2, $zero
/* 042CC4 7F00E154 00008025 */ move $s0, $zero
/* 042CC8 7F00E158 1B200048 */ blez $t9, .L7F00E27C
/* 042CCC 7F00E15C 241500F5 */ li $s5, 245
/* 042CD0 7F00E160 2413006E */ li $s3, 110
/* 042CD4 7F00E164 8E8A0008 */ lw $t2, 8($s4)
.L7F00E168:
/* 042CD8 7F00E168 8E280000 */ lw $t0, ($s1)
/* 042CDC 7F00E16C 01505821 */ addu $t3, $t2, $s0
/* 042CE0 7F00E170 8D610000 */ lw $at, ($t3)
/* 042CE4 7F00E174 01104821 */ addu $t1, $t0, $s0
/* 042CE8 7F00E178 AD210000 */ sw $at, ($t1)
/* 042CEC 7F00E17C 8D6D0004 */ lw $t5, 4($t3)
/* 042CF0 7F00E180 AD2D0004 */ sw $t5, 4($t1)
/* 042CF4 7F00E184 8D610008 */ lw $at, 8($t3)
/* 042CF8 7F00E188 AD210008 */ sw $at, 8($t1)
/* 042CFC 7F00E18C 8D6D000C */ lw $t5, 0xc($t3)
/* 042D00 7F00E190 AD2D000C */ sw $t5, 0xc($t1)
/* 042D04 7F00E194 06410003 */ bgez $s2, .L7F00E1A4
/* 042D08 7F00E198 00122083 */ sra $a0, $s2, 2
/* 042D0C 7F00E19C 26410003 */ addiu $at, $s2, 3
/* 042D10 7F00E1A0 00012083 */ sra $a0, $at, 2
.L7F00E1A4:
/* 042D14 7F00E1A4 0FC03760 */ jal get_highest_unlocked_difficulty_for_level
/* 042D18 7F00E1A8 AFA40030 */ sw $a0, 0x30($sp)
/* 042D1C 7F00E1AC 240300FF */ li $v1, 255
/* 042D20 7F00E1B0 8FA40030 */ lw $a0, 0x30($sp)
/* 042D24 7F00E1B4 0440001F */ bltz $v0, .L7F00E234
/* 042D28 7F00E1B8 2405000F */ li $a1, 15
/* 042D2C 7F00E1BC 3C0E8007 */ lui $t6, %hi(mission_difficulty_highlighted) # $t6, 0x8007
/* 042D30 7F00E1C0 8DCE97C4 */ lw $t6, %lo(mission_difficulty_highlighted)($t6)
/* 042D34 7F00E1C4 548E000F */ bnel $a0, $t6, .L7F00E204
/* 042D38 7F00E1C8 8E2D0000 */ lw $t5, ($s1)
/* 042D3C 7F00E1CC 8E2F0000 */ lw $t7, ($s1)
/* 042D40 7F00E1D0 01F0C021 */ addu $t8, $t7, $s0
/* 042D44 7F00E1D4 A303000C */ sb $v1, 0xc($t8)
/* 042D48 7F00E1D8 8E390000 */ lw $t9, ($s1)
/* 042D4C 7F00E1DC 03304021 */ addu $t0, $t9, $s0
/* 042D50 7F00E1E0 A103000D */ sb $v1, 0xd($t0)
/* 042D54 7F00E1E4 8E2A0000 */ lw $t2, ($s1)
/* 042D58 7F00E1E8 01506021 */ addu $t4, $t2, $s0
/* 042D5C 7F00E1EC A183000E */ sb $v1, 0xe($t4)
/* 042D60 7F00E1F0 8E290000 */ lw $t1, ($s1)
/* 042D64 7F00E1F4 01305821 */ addu $t3, $t1, $s0
/* 042D68 7F00E1F8 1000001A */ b .L7F00E264
/* 042D6C 7F00E1FC A175000F */ sb $s5, 0xf($t3)
/* 042D70 7F00E200 8E2D0000 */ lw $t5, ($s1)
.L7F00E204:
/* 042D74 7F00E204 01B07021 */ addu $t6, $t5, $s0
/* 042D78 7F00E208 A1D3000C */ sb $s3, 0xc($t6)
/* 042D7C 7F00E20C 8E2F0000 */ lw $t7, ($s1)
/* 042D80 7F00E210 01F0C021 */ addu $t8, $t7, $s0
/* 042D84 7F00E214 A313000D */ sb $s3, 0xd($t8)
/* 042D88 7F00E218 8E390000 */ lw $t9, ($s1)
/* 042D8C 7F00E21C 03304021 */ addu $t0, $t9, $s0
/* 042D90 7F00E220 A113000E */ sb $s3, 0xe($t0)
/* 042D94 7F00E224 8E2A0000 */ lw $t2, ($s1)
/* 042D98 7F00E228 01506021 */ addu $t4, $t2, $s0
/* 042D9C 7F00E22C 1000000D */ b .L7F00E264
/* 042DA0 7F00E230 A183000F */ sb $v1, 0xf($t4)
.L7F00E234:
/* 042DA4 7F00E234 8E290000 */ lw $t1, ($s1)
/* 042DA8 7F00E238 01305821 */ addu $t3, $t1, $s0
/* 042DAC 7F00E23C A165000C */ sb $a1, 0xc($t3)
/* 042DB0 7F00E240 8E2D0000 */ lw $t5, ($s1)
/* 042DB4 7F00E244 01B07021 */ addu $t6, $t5, $s0
/* 042DB8 7F00E248 A1C5000D */ sb $a1, 0xd($t6)
/* 042DBC 7F00E24C 8E2F0000 */ lw $t7, ($s1)
/* 042DC0 7F00E250 01F0C021 */ addu $t8, $t7, $s0
/* 042DC4 7F00E254 A305000E */ sb $a1, 0xe($t8)
/* 042DC8 7F00E258 8E390000 */ lw $t9, ($s1)
/* 042DCC 7F00E25C 03304021 */ addu $t0, $t9, $s0
/* 042DD0 7F00E260 A103000F */ sb $v1, 0xf($t0)
.L7F00E264:
/* 042DD4 7F00E264 868A000C */ lh $t2, 0xc($s4)
/* 042DD8 7F00E268 26520001 */ addiu $s2, $s2, 1
/* 042DDC 7F00E26C 26100010 */ addiu $s0, $s0, 0x10
/* 042DE0 7F00E270 024A082A */ slt $at, $s2, $t2
/* 042DE4 7F00E274 5420FFBC */ bnezl $at, .L7F00E168
/* 042DE8 7F00E278 8E8A0008 */ lw $t2, 8($s4)
.L7F00E27C:
/* 042DEC 7F00E27C 00002025 */ move $a0, $zero
.L7F00E280:
/* 042DF0 7F00E280 0C003104 */ jal joyGetButtonsPressedThisFrame
/* 042DF4 7F00E284 3405B000 */ li $a1, 45056
/* 042DF8 7F00E288 1040002A */ beqz $v0, .L7F00E334
/* 042DFC 7F00E28C 00002025 */ move $a0, $zero
/* 042E00 7F00E290 3C0C8003 */ lui $t4, %hi(tab_3_highlight) # $t4, 0x8003
/* 042E04 7F00E294 8D8CA924 */ lw $t4, %lo(tab_3_highlight)($t4)
/* 042E08 7F00E298 24090001 */ li $t1, 1
/* 042E0C 7F00E29C 3C018003 */ lui $at, %hi(tab_3_selected) # $at, 0x8003
/* 042E10 7F00E2A0 11800009 */ beqz $t4, .L7F00E2C8
/* 042E14 7F00E2A4 3C048007 */ lui $a0, %hi(mission_difficulty_highlighted)
/* 042E18 7F00E2A8 3C048006 */ lui $a0, %hi(g_musicSfxBufferPtr) # $a0, 0x8006
/* 042E1C 7F00E2AC AC29A918 */ sw $t1, %lo(tab_3_selected)($at)
/* 042E20 7F00E2B0 8C843760 */ lw $a0, %lo(g_musicSfxBufferPtr)($a0)
/* 042E24 7F00E2B4 240500C7 */ li $a1, 199
/* 042E28 7F00E2B8 0C002386 */ jal play_sfx_a1
/* 042E2C 7F00E2BC 00003025 */ move $a2, $zero
/* 042E30 7F00E2C0 10000027 */ b .L7F00E360
/* 042E34 7F00E2C4 00000000 */ nop
.L7F00E2C8:
/* 042E38 7F00E2C8 8C8497C4 */ lw $a0, %lo(mission_difficulty_highlighted)($a0)
/* 042E3C 7F00E2CC 04800024 */ bltz $a0, .L7F00E360
/* 042E40 7F00E2D0 00000000 */ nop
/* 042E44 7F00E2D4 0FC03738 */ jal pull_and_display_text_for_folder_a0
/* 042E48 7F00E2D8 00000000 */ nop
/* 042E4C 7F00E2DC 3C018003 */ lui $at, %hi(briefingpage) # $at, 0x8003
/* 042E50 7F00E2E0 AC22A938 */ sw $v0, %lo(briefingpage)($at)
/* 042E54 7F00E2E4 3C0B8003 */ lui $t3, %hi(briefingpage) # $t3, 0x8003
/* 042E58 7F00E2E8 8D6BA938 */ lw $t3, %lo(briefingpage)($t3)
/* 042E5C 7F00E2EC 3C0E8003 */ lui $t6, %hi(mission_folder_setup_entries+8)
/* 042E60 7F00E2F0 3C018003 */ lui $at, %hi(selected_stage) # $at, 0x8003
/* 042E64 7F00E2F4 000B68C0 */ sll $t5, $t3, 3
/* 042E68 7F00E2F8 01AB6823 */ subu $t5, $t5, $t3
/* 042E6C 7F00E2FC 000D6880 */ sll $t5, $t5, 2
/* 042E70 7F00E300 01CD7021 */ addu $t6, $t6, $t5
/* 042E74 7F00E304 8DCEAC2C */ lw $t6, %lo(mission_folder_setup_entries+8)($t6)
/* 042E78 7F00E308 240F0001 */ li $t7, 1
/* 042E7C 7F00E30C 3C048006 */ lui $a0, %hi(g_musicSfxBufferPtr) # $a0, 0x8006
/* 042E80 7F00E310 AC2EA934 */ sw $t6, %lo(selected_stage)($at)
/* 042E84 7F00E314 3C018003 */ lui $at, %hi(tab_2_selected) # $at, 0x8003
/* 042E88 7F00E318 AC2FA914 */ sw $t7, %lo(tab_2_selected)($at)
/* 042E8C 7F00E31C 8C843760 */ lw $a0, %lo(g_musicSfxBufferPtr)($a0)
/* 042E90 7F00E320 240500C7 */ li $a1, 199
/* 042E94 7F00E324 0C002386 */ jal play_sfx_a1
/* 042E98 7F00E328 00003025 */ move $a2, $zero
/* 042E9C 7F00E32C 1000000C */ b .L7F00E360
/* 042EA0 7F00E330 00000000 */ nop
.L7F00E334:
/* 042EA4 7F00E334 0C003104 */ jal joyGetButtonsPressedThisFrame
/* 042EA8 7F00E338 24054000 */ li $a1, 16384
/* 042EAC 7F00E33C 10400008 */ beqz $v0, .L7F00E360
/* 042EB0 7F00E340 24180001 */ li $t8, 1
/* 042EB4 7F00E344 3C018003 */ lui $at, %hi(tab_3_selected) # $at, 0x8003
/* 042EB8 7F00E348 3C048006 */ lui $a0, %hi(g_musicSfxBufferPtr) # $a0, 0x8006
/* 042EBC 7F00E34C AC38A918 */ sw $t8, %lo(tab_3_selected)($at)
/* 042EC0 7F00E350 8C843760 */ lw $a0, %lo(g_musicSfxBufferPtr)($a0)
/* 042EC4 7F00E354 240500C7 */ li $a1, 199
/* 042EC8 7F00E358 0C002386 */ jal play_sfx_a1
/* 042ECC 7F00E35C 00003025 */ move $a2, $zero
.L7F00E360:
/* 042ED0 7F00E360 0FC026E9 */ jal menu_control_stick_tracking
/* 042ED4 7F00E364 00000000 */ nop
/* 042ED8 7F00E368 3C198003 */ lui $t9, %hi(tab_2_selected) # $t9, 0x8003
/* 042EDC 7F00E36C 8F39A914 */ lw $t9, %lo(tab_2_selected)($t9)
/* 042EE0 7F00E370 24040008 */ li $a0, 8
/* 042EE4 7F00E374 3C098003 */ lui $t1, %hi(tab_3_selected) # $t1, 0x8003
/* 042EE8 7F00E378 13200018 */ beqz $t9, .L7F00E3DC
/* 042EEC 7F00E37C 00000000 */ nop
/* 042EF0 7F00E380 0FC069E2 */ jal set_menu_to_mode
/* 042EF4 7F00E384 00002825 */ move $a1, $zero
/* 042EF8 7F00E388 3C088005 */ lui $t0, %hi(j_text_trigger) # $t0, 0x8005
/* 042EFC 7F00E38C 8D088500 */ lw $t0, %lo(j_text_trigger)($t0)
/* 042F00 7F00E390 3C0A8003 */ lui $t2, %hi(briefingpage) # $t2, 0x8003
/* 042F04 7F00E394 11000005 */ beqz $t0, .L7F00E3AC
/* 042F08 7F00E398 00000000 */ nop
/* 042F0C 7F00E39C 0FC03B69 */ jal set_cursor_pos_difficulty
/* 042F10 7F00E3A0 00002025 */ move $a0, $zero
/* 042F14 7F00E3A4 10000016 */ b .L7F00E400
/* 042F18 7F00E3A8 8FBF002C */ lw $ra, 0x2c($sp)
.L7F00E3AC:
/* 042F1C 7F00E3AC 8D4AA938 */ lw $t2, %lo(briefingpage)($t2)
/* 042F20 7F00E3B0 3C048003 */ lui $a0, %hi(mission_folder_setup_entries+20)
/* 042F24 7F00E3B4 000A60C0 */ sll $t4, $t2, 3
/* 042F28 7F00E3B8 018A6023 */ subu $t4, $t4, $t2
/* 042F2C 7F00E3BC 000C6080 */ sll $t4, $t4, 2
/* 042F30 7F00E3C0 008C2021 */ addu $a0, $a0, $t4
/* 042F34 7F00E3C4 0FC03760 */ jal get_highest_unlocked_difficulty_for_level
/* 042F38 7F00E3C8 8C84AC38 */ lw $a0, %lo(mission_folder_setup_entries+20)($a0)
/* 042F3C 7F00E3CC 0FC03B69 */ jal set_cursor_pos_difficulty
/* 042F40 7F00E3D0 00402025 */ move $a0, $v0
/* 042F44 7F00E3D4 1000000A */ b .L7F00E400
/* 042F48 7F00E3D8 8FBF002C */ lw $ra, 0x2c($sp)
.L7F00E3DC:
/* 042F4C 7F00E3DC 8D29A918 */ lw $t1, %lo(tab_3_selected)($t1)
/* 042F50 7F00E3E0 24040006 */ li $a0, 6
/* 042F54 7F00E3E4 51200006 */ beql $t1, $zero, .L7F00E400
/* 042F58 7F00E3E8 8FBF002C */ lw $ra, 0x2c($sp)
/* 042F5C 7F00E3EC 0FC069E2 */ jal set_menu_to_mode
/* 042F60 7F00E3F0 00002825 */ move $a1, $zero
/* 042F64 7F00E3F4 0FC03607 */ jal setCursorPOSforMode
/* 042F68 7F00E3F8 00002025 */ move $a0, $zero
/* 042F6C 7F00E3FC 8FBF002C */ lw $ra, 0x2c($sp)
.L7F00E400:
/* 042F70 7F00E400 8FB00014 */ lw $s0, 0x14($sp)
/* 042F74 7F00E404 8FB10018 */ lw $s1, 0x18($sp)
/* 042F78 7F00E408 8FB2001C */ lw $s2, 0x1c($sp)
/* 042F7C 7F00E40C 8FB30020 */ lw $s3, 0x20($sp)
/* 042F80 7F00E410 8FB40024 */ lw $s4, 0x24($sp)
/* 042F84 7F00E414 8FB50028 */ lw $s5, 0x28($sp)
/* 042F88 7F00E418 03E00008 */ jr $ra
/* 042F8C 7F00E41C 27BD0060 */ addiu $sp, $sp, 0x60
)
#endif
#ifdef VERSION_EU
GLOBAL_ASM(
.late_rodata
glabel D_80051A44
.word 0x3FAAAAAB /* 1.3333334;*/
glabel D_80051A48
.word 0x461C4000 /* 10000.0;*/
.text
glabel interface_menu07_missionsel
/* 0429E8 7F00DEB8 27BDFFA0 */ addiu $sp, $sp, -0x60
/* 0429EC 7F00DEBC 3C014270 */ li $at, 0x42700000 # 60.000000
/* 0429F0 7F00DEC0 AFBF002C */ sw $ra, 0x2c($sp)
/* 0429F4 7F00DEC4 44816000 */ mtc1 $at, $f12
/* 0429F8 7F00DEC8 AFB50028 */ sw $s5, 0x28($sp)
/* 0429FC 7F00DECC AFB40024 */ sw $s4, 0x24($sp)
/* 042A00 7F00DED0 AFB30020 */ sw $s3, 0x20($sp)
/* 042A04 7F00DED4 AFB2001C */ sw $s2, 0x1c($sp)
/* 042A08 7F00DED8 AFB10018 */ sw $s1, 0x18($sp)
/* 042A0C 7F00DEDC 0C001151 */ jal viSetFovY
/* 042A10 7F00DEE0 AFB00014 */ sw $s0, 0x14($sp)
/* 042A14 7F00DEE4 3C018005 */ lui $at, %hi(D_80051A44)
/* 042A18 7F00DEE8 0C001164 */ jal viSetAspect
/* 042A1C 7F00DEEC C42C1A44 */ lwc1 $f12, %lo(D_80051A44)($at)
/* 042A20 7F00DEF0 3C0142C8 */ li $at, 0x42C80000 # 100.000000
/* 042A24 7F00DEF4 44816000 */ mtc1 $at, $f12
/* 042A28 7F00DEF8 3C018005 */ lui $at, %hi(D_80051A48)
/* 042A2C 7F00DEFC 0C001194 */ jal viSetZRange
/* 042A30 7F00DF00 C42E1A48 */ lwc1 $f14, %lo(D_80051A48)($at)
/* 042A34 7F00DF04 0C00114D */ jal viSetUseZBuf
/* 042A38 7F00DF08 00002025 */ move $a0, $zero
/* 042A3C 7F00DF0C 3C048003 */ lui $a0, %hi(ptr_folder_object_instance)
/* 042A40 7F00DF10 0FC02DC9 */ jal disable_all_switches
/* 042A44 7F00DF14 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0)
/* 042A48 7F00DF18 3C048003 */ lui $a0, %hi(ptr_folder_object_instance)
/* 042A4C 7F00DF1C 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0)
/* 042A50 7F00DF20 00002825 */ move $a1, $zero
/* 042A54 7F00DF24 0FC02DF0 */ jal set_item_visibility_in_objinstance
/* 042A58 7F00DF28 24060001 */ li $a2, 1
/* 042A5C 7F00DF2C 3C048003 */ lui $a0, %hi(ptr_folder_object_instance)
/* 042A60 7F00DF30 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0)
/* 042A64 7F00DF34 24050013 */ li $a1, 19
/* 042A68 7F00DF38 0FC02DF0 */ jal set_item_visibility_in_objinstance
/* 042A6C 7F00DF3C 24060001 */ li $a2, 1
/* 042A70 7F00DF40 3C048003 */ lui $a0, %hi(ptr_folder_object_instance)
/* 042A74 7F00DF44 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0)
/* 042A78 7F00DF48 24050014 */ li $a1, 20
/* 042A7C 7F00DF4C 0FC02DF0 */ jal set_item_visibility_in_objinstance
/* 042A80 7F00DF50 24060001 */ li $a2, 1
/* 042A84 7F00DF54 3C018003 */ lui $at, %hi(tab_3_highlight)
/* 042A88 7F00DF58 AC20A8E4 */ sw $zero, %lo(tab_3_highlight)($at)
/* 042A8C 7F00DF5C 3C018007 */ lui $at, %hi(mission_difficulty_highlighted)
/* 042A90 7F00DF60 240EFFFF */ li $t6, -1
/* 042A94 7F00DF64 0FC028E7 */ jal isontab3
/* 042A98 7F00DF68 AC2E9784 */ sw $t6, %lo(mission_difficulty_highlighted)($at)
/* 042A9C 7F00DF6C 10400005 */ beqz $v0, .L7F00DF84
/* 042AA0 7F00DF70 0000A025 */ move $s4, $zero
/* 042AA4 7F00DF74 240F0001 */ li $t7, 1
/* 042AA8 7F00DF78 3C018003 */ lui $at, %hi(tab_3_highlight)
/* 042AAC 7F00DF7C 1000005E */ b .L7F00E0F8
/* 042AB0 7F00DF80 AC2FA8E4 */ sw $t7, %lo(tab_3_highlight)($at)
.L7F00DF84:
/* 042AB4 7F00DF84 3C013F00 */ li $at, 0x3F000000 # 0.500000
/* 042AB8 7F00DF88 3C048003 */ lui $a0, %hi(cursor_xpos_table_mission_select)
/* 042ABC 7F00DF8C 3C038003 */ lui $v1, %hi(cursor_h_pos)
/* 042AC0 7F00DF90 44810000 */ mtc1 $at, $f0
/* 042AC4 7F00DF94 2463A908 */ addiu $v1, %lo(cursor_h_pos) # addiu $v1, $v1, -0x56f8
/* 042AC8 7F00DF98 2484AFD0 */ addiu $a0, %lo(cursor_xpos_table_mission_select) # addiu $a0, $a0, -0x5030
/* 042ACC 7F00DF9C 24130005 */ li $s3, 5
/* 042AD0 7F00DFA0 2A810004 */ slti $at, $s4, 4
.L7F00DFA4:
/* 042AD4 7F00DFA4 10200011 */ beqz $at, .L7F00DFEC
/* 042AD8 7F00DFA8 0014C080 */ sll $t8, $s4, 2
/* 042ADC 7F00DFAC 00981021 */ addu $v0, $a0, $t8
/* 042AE0 7F00DFB0 8C590004 */ lw $t9, 4($v0)
/* 042AE4 7F00DFB4 8C480000 */ lw $t0, ($v0)
/* 042AE8 7F00DFB8 C4640000 */ lwc1 $f4, ($v1)
/* 042AEC 7F00DFBC 03284821 */ addu $t1, $t9, $t0
/* 042AF0 7F00DFC0 44893000 */ mtc1 $t1, $f6
/* 042AF4 7F00DFC4 00000000 */ nop
/* 042AF8 7F00DFC8 46803220 */ cvt.s.w $f8, $f6
/* 042AFC 7F00DFCC 46004282 */ mul.s $f10, $f8, $f0
/* 042B00 7F00DFD0 460A203C */ c.lt.s $f4, $f10
/* 042B04 7F00DFD4 00000000 */ nop
/* 042B08 7F00DFD8 45010004 */ bc1t .L7F00DFEC
/* 042B0C 7F00DFDC 00000000 */ nop
/* 042B10 7F00DFE0 26940001 */ addiu $s4, $s4, 1
/* 042B14 7F00DFE4 5693FFEF */ bnel $s4, $s3, .L7F00DFA4
/* 042B18 7F00DFE8 2A810004 */ slti $at, $s4, 4
.L7F00DFEC:
/* 042B1C 7F00DFEC 3C048003 */ lui $a0, %hi(cursor_ypos_table_mission_select)
/* 042B20 7F00DFF0 3C038003 */ lui $v1, %hi(cursor_v_pos)
/* 042B24 7F00DFF4 2463A90C */ addiu $v1, %lo(cursor_v_pos) # addiu $v1, $v1, -0x56f4
/* 042B28 7F00DFF8 2484AFE4 */ addiu $a0, %lo(cursor_ypos_table_mission_select) # addiu $a0, $a0, -0x501c
/* 042B2C 7F00DFFC 00009025 */ move $s2, $zero
/* 042B30 7F00E000 24050004 */ li $a1, 4
/* 042B34 7F00E004 2A410003 */ slti $at, $s2, 3
.L7F00E008:
/* 042B38 7F00E008 10200011 */ beqz $at, .L7F00E050
/* 042B3C 7F00E00C 00125080 */ sll $t2, $s2, 2
/* 042B40 7F00E010 008A1021 */ addu $v0, $a0, $t2
/* 042B44 7F00E014 8C4B0004 */ lw $t3, 4($v0)
/* 042B48 7F00E018 8C4C0000 */ lw $t4, ($v0)
/* 042B4C 7F00E01C C4700000 */ lwc1 $f16, ($v1)
/* 042B50 7F00E020 016C6821 */ addu $t5, $t3, $t4
/* 042B54 7F00E024 448D9000 */ mtc1 $t5, $f18
/* 042B58 7F00E028 00000000 */ nop
/* 042B5C 7F00E02C 468091A0 */ cvt.s.w $f6, $f18
/* 042B60 7F00E030 46003202 */ mul.s $f8, $f6, $f0
/* 042B64 7F00E034 4608803C */ c.lt.s $f16, $f8
/* 042B68 7F00E038 00000000 */ nop
/* 042B6C 7F00E03C 45010004 */ bc1t .L7F00E050
/* 042B70 7F00E040 00000000 */ nop
/* 042B74 7F00E044 26520001 */ addiu $s2, $s2, 1
/* 042B78 7F00E048 5645FFEF */ bnel $s2, $a1, .L7F00E008
/* 042B7C 7F00E04C 2A410003 */ slti $at, $s2, 3
.L7F00E050:
/* 042B80 7F00E050 1A400011 */ blez $s2, .L7F00E098
/* 042B84 7F00E054 0012A880 */ sll $s5, $s2, 2
/* 042B88 7F00E058 02B2A821 */ addu $s5, $s5, $s2
.L7F00E05C:
/* 042B8C 7F00E05C 00008825 */ move $s1, $zero
/* 042B90 7F00E060 02A08025 */ move $s0, $s5
.L7F00E064:
/* 042B94 7F00E064 0FC03758 */ jal get_highest_unlocked_difficulty_for_level
/* 042B98 7F00E068 02002025 */ move $a0, $s0
/* 042B9C 7F00E06C 04430005 */ bgezl $v0, .L7F00E084
/* 042BA0 7F00E070 2A210005 */ slti $at, $s1, 5
/* 042BA4 7F00E074 26310001 */ addiu $s1, $s1, 1
/* 042BA8 7F00E078 1633FFFA */ bne $s1, $s3, .L7F00E064
/* 042BAC 7F00E07C 26100001 */ addiu $s0, $s0, 1
/* 042BB0 7F00E080 2A210005 */ slti $at, $s1, 5
.L7F00E084:
/* 042BB4 7F00E084 54200005 */ bnezl $at, .L7F00E09C
/* 042BB8 7F00E088 0012A880 */ sll $s5, $s2, 2
/* 042BBC 7F00E08C 2652FFFF */ addiu $s2, $s2, -1
/* 042BC0 7F00E090 1E40FFF2 */ bgtz $s2, .L7F00E05C
/* 042BC4 7F00E094 26B5FFFB */ addiu $s5, $s5, -5
.L7F00E098:
/* 042BC8 7F00E098 0012A880 */ sll $s5, $s2, 2
.L7F00E09C:
/* 042BCC 7F00E09C 06800009 */ bltz $s4, .L7F00E0C4
/* 042BD0 7F00E0A0 02B2A821 */ addu $s5, $s5, $s2
/* 042BD4 7F00E0A4 02B48021 */ addu $s0, $s5, $s4
.L7F00E0A8:
/* 042BD8 7F00E0A8 0FC03758 */ jal get_highest_unlocked_difficulty_for_level
/* 042BDC 7F00E0AC 02002025 */ move $a0, $s0
/* 042BE0 7F00E0B0 04410004 */ bgez $v0, .L7F00E0C4
/* 042BE4 7F00E0B4 00000000 */ nop
/* 042BE8 7F00E0B8 2694FFFF */ addiu $s4, $s4, -1
/* 042BEC 7F00E0BC 0681FFFA */ bgez $s4, .L7F00E0A8
/* 042BF0 7F00E0C0 2610FFFF */ addiu $s0, $s0, -1
.L7F00E0C4:
/* 042BF4 7F00E0C4 06810009 */ bgez $s4, .L7F00E0EC
/* 042BF8 7F00E0C8 02A08025 */ move $s0, $s5
/* 042BFC 7F00E0CC 0000A025 */ move $s4, $zero
.L7F00E0D0:
/* 042C00 7F00E0D0 0FC03758 */ jal get_highest_unlocked_difficulty_for_level
/* 042C04 7F00E0D4 02002025 */ move $a0, $s0
/* 042C08 7F00E0D8 04430005 */ bgezl $v0, .L7F00E0F0
/* 042C0C 7F00E0DC 02B47021 */ addu $t6, $s5, $s4
/* 042C10 7F00E0E0 26940001 */ addiu $s4, $s4, 1
/* 042C14 7F00E0E4 1693FFFA */ bne $s4, $s3, .L7F00E0D0
/* 042C18 7F00E0E8 26100001 */ addiu $s0, $s0, 1
.L7F00E0EC:
/* 042C1C 7F00E0EC 02B47021 */ addu $t6, $s5, $s4
.L7F00E0F0:
/* 042C20 7F00E0F0 3C018007 */ lui $at, %hi(mission_difficulty_highlighted)
/* 042C24 7F00E0F4 AC2E9784 */ sw $t6, %lo(mission_difficulty_highlighted)($at)
.L7F00E0F8:
/* 042C28 7F00E0F8 3C048003 */ lui $a0, %hi(ptr_folder_object_instance)
/* 042C2C 7F00E0FC 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0)
/* 042C30 7F00E100 8C8F0008 */ lw $t7, 8($a0)
/* 042C34 7F00E104 8DF80008 */ lw $t8, 8($t7)
/* 042C38 7F00E108 8F050054 */ lw $a1, 0x54($t8)
/* 042C3C 7F00E10C 50A00054 */ beql $a1, $zero, .L7F00E260
/* 042C40 7F00E110 00002025 */ move $a0, $zero
/* 042C44 7F00E114 0FC1B1E7 */ jal extract_id_from_object_structure_microcode
/* 042C48 7F00E118 8CB40004 */ lw $s4, 4($a1)
/* 042C4C 7F00E11C 00408825 */ move $s1, $v0
/* 042C50 7F00E120 0FC2F5B1 */ jal dynAllocate7F0BD6C4
/* 042C54 7F00E124 8684000C */ lh $a0, 0xc($s4)
/* 042C58 7F00E128 AE220000 */ sw $v0, ($s1)
/* 042C5C 7F00E12C 8699000C */ lh $t9, 0xc($s4)
/* 042C60 7F00E130 00009025 */ move $s2, $zero
/* 042C64 7F00E134 00008025 */ move $s0, $zero
/* 042C68 7F00E138 1B200048 */ blez $t9, .L7F00E25C
/* 042C6C 7F00E13C 241500F5 */ li $s5, 245
/* 042C70 7F00E140 2413006E */ li $s3, 110
/* 042C74 7F00E144 8E8A0008 */ lw $t2, 8($s4)
.L7F00E148:
/* 042C78 7F00E148 8E280000 */ lw $t0, ($s1)
/* 042C7C 7F00E14C 01505821 */ addu $t3, $t2, $s0
/* 042C80 7F00E150 8D610000 */ lw $at, ($t3)
/* 042C84 7F00E154 01104821 */ addu $t1, $t0, $s0
/* 042C88 7F00E158 AD210000 */ sw $at, ($t1)
/* 042C8C 7F00E15C 8D6D0004 */ lw $t5, 4($t3)
/* 042C90 7F00E160 AD2D0004 */ sw $t5, 4($t1)
/* 042C94 7F00E164 8D610008 */ lw $at, 8($t3)
/* 042C98 7F00E168 AD210008 */ sw $at, 8($t1)
/* 042C9C 7F00E16C 8D6D000C */ lw $t5, 0xc($t3)
/* 042CA0 7F00E170 AD2D000C */ sw $t5, 0xc($t1)
/* 042CA4 7F00E174 06410003 */ bgez $s2, .L7F00E184
/* 042CA8 7F00E178 00122083 */ sra $a0, $s2, 2
/* 042CAC 7F00E17C 26410003 */ addiu $at, $s2, 3
/* 042CB0 7F00E180 00012083 */ sra $a0, $at, 2
.L7F00E184:
/* 042CB4 7F00E184 0FC03758 */ jal get_highest_unlocked_difficulty_for_level
/* 042CB8 7F00E188 AFA40030 */ sw $a0, 0x30($sp)
/* 042CBC 7F00E18C 240300FF */ li $v1, 255
/* 042CC0 7F00E190 8FA40030 */ lw $a0, 0x30($sp)
/* 042CC4 7F00E194 0440001F */ bltz $v0, .L7F00E214
/* 042CC8 7F00E198 2405000F */ li $a1, 15
/* 042CCC 7F00E19C 3C0E8007 */ lui $t6, %hi(mission_difficulty_highlighted)
/* 042CD0 7F00E1A0 8DCE9784 */ lw $t6, %lo(mission_difficulty_highlighted)($t6)
/* 042CD4 7F00E1A4 548E000F */ bnel $a0, $t6, .L7F00E1E4
/* 042CD8 7F00E1A8 8E2D0000 */ lw $t5, ($s1)
/* 042CDC 7F00E1AC 8E2F0000 */ lw $t7, ($s1)
/* 042CE0 7F00E1B0 01F0C021 */ addu $t8, $t7, $s0
/* 042CE4 7F00E1B4 A303000C */ sb $v1, 0xc($t8)
/* 042CE8 7F00E1B8 8E390000 */ lw $t9, ($s1)
/* 042CEC 7F00E1BC 03304021 */ addu $t0, $t9, $s0
/* 042CF0 7F00E1C0 A103000D */ sb $v1, 0xd($t0)
/* 042CF4 7F00E1C4 8E2A0000 */ lw $t2, ($s1)
/* 042CF8 7F00E1C8 01506021 */ addu $t4, $t2, $s0
/* 042CFC 7F00E1CC A183000E */ sb $v1, 0xe($t4)
/* 042D00 7F00E1D0 8E290000 */ lw $t1, ($s1)
/* 042D04 7F00E1D4 01305821 */ addu $t3, $t1, $s0
/* 042D08 7F00E1D8 1000001A */ b .L7F00E244
/* 042D0C 7F00E1DC A175000F */ sb $s5, 0xf($t3)
/* 042D10 7F00E1E0 8E2D0000 */ lw $t5, ($s1)
.L7F00E1E4:
/* 042D14 7F00E1E4 01B07021 */ addu $t6, $t5, $s0
/* 042D18 7F00E1E8 A1D3000C */ sb $s3, 0xc($t6)
/* 042D1C 7F00E1EC 8E2F0000 */ lw $t7, ($s1)
/* 042D20 7F00E1F0 01F0C021 */ addu $t8, $t7, $s0
/* 042D24 7F00E1F4 A313000D */ sb $s3, 0xd($t8)
/* 042D28 7F00E1F8 8E390000 */ lw $t9, ($s1)
/* 042D2C 7F00E1FC 03304021 */ addu $t0, $t9, $s0
/* 042D30 7F00E200 A113000E */ sb $s3, 0xe($t0)
/* 042D34 7F00E204 8E2A0000 */ lw $t2, ($s1)
/* 042D38 7F00E208 01506021 */ addu $t4, $t2, $s0
/* 042D3C 7F00E20C 1000000D */ b .L7F00E244
/* 042D40 7F00E210 A183000F */ sb $v1, 0xf($t4)
.L7F00E214:
/* 042D44 7F00E214 8E290000 */ lw $t1, ($s1)
/* 042D48 7F00E218 01305821 */ addu $t3, $t1, $s0
/* 042D4C 7F00E21C A165000C */ sb $a1, 0xc($t3)
/* 042D50 7F00E220 8E2D0000 */ lw $t5, ($s1)
/* 042D54 7F00E224 01B07021 */ addu $t6, $t5, $s0
/* 042D58 7F00E228 A1C5000D */ sb $a1, 0xd($t6)
/* 042D5C 7F00E22C 8E2F0000 */ lw $t7, ($s1)
/* 042D60 7F00E230 01F0C021 */ addu $t8, $t7, $s0
/* 042D64 7F00E234 A305000E */ sb $a1, 0xe($t8)
/* 042D68 7F00E238 8E390000 */ lw $t9, ($s1)
/* 042D6C 7F00E23C 03304021 */ addu $t0, $t9, $s0
/* 042D70 7F00E240 A103000F */ sb $v1, 0xf($t0)
.L7F00E244:
/* 042D74 7F00E244 868A000C */ lh $t2, 0xc($s4)
/* 042D78 7F00E248 26520001 */ addiu $s2, $s2, 1
/* 042D7C 7F00E24C 26100010 */ addiu $s0, $s0, 0x10
/* 042D80 7F00E250 024A082A */ slt $at, $s2, $t2
/* 042D84 7F00E254 5420FFBC */ bnezl $at, .L7F00E148
/* 042D88 7F00E258 8E8A0008 */ lw $t2, 8($s4)
.L7F00E25C:
/* 042D8C 7F00E25C 00002025 */ move $a0, $zero
.L7F00E260:
/* 042D90 7F00E260 0C0030EB */ jal joyGetButtonsPressedThisFrame
/* 042D94 7F00E264 3405B000 */ li $a1, 45056
/* 042D98 7F00E268 1040002A */ beqz $v0, .L7F00E314
/* 042D9C 7F00E26C 00002025 */ move $a0, $zero
/* 042DA0 7F00E270 3C0C8003 */ lui $t4, %hi(tab_3_highlight)
/* 042DA4 7F00E274 8D8CA8E4 */ lw $t4, %lo(tab_3_highlight)($t4)
/* 042DA8 7F00E278 24090001 */ li $t1, 1
/* 042DAC 7F00E27C 3C018003 */ lui $at, %hi(tab_3_selected)
/* 042DB0 7F00E280 11800009 */ beqz $t4, .L7F00E2A8
/* 042DB4 7F00E284 3C048007 */ lui $a0, %hi(mission_difficulty_highlighted)
/* 042DB8 7F00E288 3C048006 */ lui $a0, %hi(ptr_sfx_buf)
/* 042DBC 7F00E28C AC29A8D8 */ sw $t1, %lo(tab_3_selected)($at)
/* 042DC0 7F00E290 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0)
/* 042DC4 7F00E294 240500C7 */ li $a1, 199
/* 042DC8 7F00E298 0C002382 */ jal play_sfx_a1
/* 042DCC 7F00E29C 00003025 */ move $a2, $zero
/* 042DD0 7F00E2A0 10000027 */ b .L7F00E340
/* 042DD4 7F00E2A4 00000000 */ nop
.L7F00E2A8:
/* 042DD8 7F00E2A8 8C849784 */ lw $a0, %lo(mission_difficulty_highlighted)($a0)
/* 042DDC 7F00E2AC 04800024 */ bltz $a0, .L7F00E340
/* 042DE0 7F00E2B0 00000000 */ nop
/* 042DE4 7F00E2B4 0FC03730 */ jal pull_and_display_text_for_folder_a0
/* 042DE8 7F00E2B8 00000000 */ nop
/* 042DEC 7F00E2BC 3C018003 */ lui $at, %hi(briefingpage)
/* 042DF0 7F00E2C0 AC22A8F8 */ sw $v0, %lo(briefingpage)($at)
/* 042DF4 7F00E2C4 3C0B8003 */ lui $t3, %hi(briefingpage)
/* 042DF8 7F00E2C8 8D6BA8F8 */ lw $t3, %lo(briefingpage)($t3)
/* 042DFC 7F00E2CC 3C0E8003 */ lui $t6, %hi(mission_folder_setup_entries+8)
/* 042E00 7F00E2D0 3C018003 */ lui $at, %hi(selected_stage)
/* 042E04 7F00E2D4 000B68C0 */ sll $t5, $t3, 3
/* 042E08 7F00E2D8 01AB6823 */ subu $t5, $t5, $t3
/* 042E0C 7F00E2DC 000D6880 */ sll $t5, $t5, 2
/* 042E10 7F00E2E0 01CD7021 */ addu $t6, $t6, $t5
/* 042E14 7F00E2E4 8DCEABEC */ lw $t6, %lo(mission_folder_setup_entries+8)($t6)
/* 042E18 7F00E2E8 240F0001 */ li $t7, 1
/* 042E1C 7F00E2EC 3C048006 */ lui $a0, %hi(ptr_sfx_buf)
/* 042E20 7F00E2F0 AC2EA8F4 */ sw $t6, %lo(selected_stage)($at)
/* 042E24 7F00E2F4 3C018003 */ lui $at, %hi(tab_2_selected)
/* 042E28 7F00E2F8 AC2FA8D4 */ sw $t7, %lo(tab_2_selected)($at)
/* 042E2C 7F00E2FC 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0)
/* 042E30 7F00E300 240500C7 */ li $a1, 199
/* 042E34 7F00E304 0C002382 */ jal play_sfx_a1
/* 042E38 7F00E308 00003025 */ move $a2, $zero
/* 042E3C 7F00E30C 1000000C */ b .L7F00E340
/* 042E40 7F00E310 00000000 */ nop
.L7F00E314:
/* 042E44 7F00E314 0C0030EB */ jal joyGetButtonsPressedThisFrame
/* 042E48 7F00E318 24054000 */ li $a1, 16384
/* 042E4C 7F00E31C 10400008 */ beqz $v0, .L7F00E340
/* 042E50 7F00E320 24180001 */ li $t8, 1
/* 042E54 7F00E324 3C018003 */ lui $at, %hi(tab_3_selected)
/* 042E58 7F00E328 3C048006 */ lui $a0, %hi(ptr_sfx_buf)
/* 042E5C 7F00E32C AC38A8D8 */ sw $t8, %lo(tab_3_selected)($at)
/* 042E60 7F00E330 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0)
/* 042E64 7F00E334 240500C7 */ li $a1, 199
/* 042E68 7F00E338 0C002382 */ jal play_sfx_a1
/* 042E6C 7F00E33C 00003025 */ move $a2, $zero
.L7F00E340:
/* 042E70 7F00E340 0FC026E1 */ jal menu_control_stick_tracking
/* 042E74 7F00E344 00000000 */ nop
/* 042E78 7F00E348 3C198003 */ lui $t9, %hi(tab_2_selected)
/* 042E7C 7F00E34C 8F39A8D4 */ lw $t9, %lo(tab_2_selected)($t9)
/* 042E80 7F00E350 24040008 */ li $a0, 8
/* 042E84 7F00E354 3C0C8003 */ lui $t4, %hi(tab_3_selected)
/* 042E88 7F00E358 13200010 */ beqz $t9, .L7F00E39C
/* 042E8C 7F00E35C 00000000 */ nop
/* 042E90 7F00E360 0FC06975 */ jal set_menu_to_mode
/* 042E94 7F00E364 00002825 */ move $a1, $zero
/* 042E98 7F00E368 3C088003 */ lui $t0, %hi(briefingpage)
/* 042E9C 7F00E36C 8D08A8F8 */ lw $t0, %lo(briefingpage)($t0)
/* 042EA0 7F00E370 3C048003 */ lui $a0, %hi(mission_folder_setup_entries+20)
/* 042EA4 7F00E374 000850C0 */ sll $t2, $t0, 3
/* 042EA8 7F00E378 01485023 */ subu $t2, $t2, $t0
/* 042EAC 7F00E37C 000A5080 */ sll $t2, $t2, 2
/* 042EB0 7F00E380 008A2021 */ addu $a0, $a0, $t2
/* 042EB4 7F00E384 0FC03758 */ jal get_highest_unlocked_difficulty_for_level
/* 042EB8 7F00E388 8C84ABF8 */ lw $a0, %lo(mission_folder_setup_entries+20)($a0)
/* 042EBC 7F00E38C 0FC03B59 */ jal set_cursor_pos_difficulty
/* 042EC0 7F00E390 00402025 */ move $a0, $v0
/* 042EC4 7F00E394 1000000A */ b .L7F00E3C0
/* 042EC8 7F00E398 8FBF002C */ lw $ra, 0x2c($sp)
.L7F00E39C:
/* 042ECC 7F00E39C 8D8CA8D8 */ lw $t4, %lo(tab_3_selected)($t4)
/* 042ED0 7F00E3A0 24040006 */ li $a0, 6
/* 042ED4 7F00E3A4 51800006 */ beql $t4, $zero, .L7F00E3C0
/* 042ED8 7F00E3A8 8FBF002C */ lw $ra, 0x2c($sp)
/* 042EDC 7F00E3AC 0FC06975 */ jal set_menu_to_mode
/* 042EE0 7F00E3B0 00002825 */ move $a1, $zero
/* 042EE4 7F00E3B4 0FC035FF */ jal setCursorPOSforMode
/* 042EE8 7F00E3B8 00002025 */ move $a0, $zero
/* 042EEC 7F00E3BC 8FBF002C */ lw $ra, 0x2c($sp)
.L7F00E3C0:
/* 042EF0 7F00E3C0 8FB00014 */ lw $s0, 0x14($sp)
/* 042EF4 7F00E3C4 8FB10018 */ lw $s1, 0x18($sp)
/* 042EF8 7F00E3C8 8FB2001C */ lw $s2, 0x1c($sp)
/* 042EFC 7F00E3CC 8FB30020 */ lw $s3, 0x20($sp)
/* 042F00 7F00E3D0 8FB40024 */ lw $s4, 0x24($sp)
/* 042F04 7F00E3D4 8FB50028 */ lw $s5, 0x28($sp)
/* 042F08 7F00E3D8 03E00008 */ jr $ra
/* 042F0C 7F00E3DC 27BD0060 */ addiu $sp, $sp, 0x60
)
#endif
#endif
#ifdef NONMATCHING
s32 set_cursor_to_stage_solo(s32 arg0)
{
cursor_h_pos = (f32) *(&cursor_xpos_table_mission_select + ((arg0 % 5) * 4));
cursor_v_pos = (f32) *(&cursor_ypos_table_mission_select + ((arg0 / 5) * 4));
return 5;
}
#else
GLOBAL_ASM(
.text
glabel set_cursor_to_stage_solo
/* 042F10 7F00E3E0 24020005 */ li $v0, 5
/* 042F14 7F00E3E4 0082001A */ div $zero, $a0, $v0
/* 042F18 7F00E3E8 00007010 */ mfhi $t6
/* 042F1C 7F00E3EC 000E7880 */ sll $t7, $t6, 2
/* 042F20 7F00E3F0 3C188003 */ lui $t8, %hi(cursor_xpos_table_mission_select)
/* 042F24 7F00E3F4 030FC021 */ addu $t8, $t8, $t7
/* 042F28 7F00E3F8 8F18AFD0 */ lw $t8, %lo(cursor_xpos_table_mission_select)($t8)
/* 042F2C 7F00E3FC 0000C812 */ mflo $t9
/* 042F30 7F00E400 00194080 */ sll $t0, $t9, 2
/* 042F34 7F00E404 3C098003 */ lui $t1, %hi(cursor_ypos_table_mission_select)
/* 042F38 7F00E408 01284821 */ addu $t1, $t1, $t0
/* 042F3C 7F00E40C 8D29AFE4 */ lw $t1, %lo(cursor_ypos_table_mission_select)($t1)
/* 042F40 7F00E410 44982000 */ mtc1 $t8, $f4
/* 042F44 7F00E414 14400002 */ bnez $v0, .L7F00E420
/* 042F48 7F00E418 00000000 */ nop
/* 042F4C 7F00E41C 0007000D */ break 7
.L7F00E420:
/* 042F50 7F00E420 2401FFFF */ li $at, -1
/* 042F54 7F00E424 14410004 */ bne $v0, $at, .L7F00E438
/* 042F58 7F00E428 3C018000 */ lui $at, 0x8000
/* 042F5C 7F00E42C 14810002 */ bne $a0, $at, .L7F00E438
/* 042F60 7F00E430 00000000 */ nop
/* 042F64 7F00E434 0006000D */ break 6
.L7F00E438:
/* 042F68 7F00E438 468021A0 */ cvt.s.w $f6, $f4
/* 042F6C 7F00E43C 44894000 */ mtc1 $t1, $f8
/* 042F70 7F00E440 3C018003 */ lui $at, %hi(cursor_h_pos)
/* 042F74 7F00E444 468042A0 */ cvt.s.w $f10, $f8
/* 042F78 7F00E448 E426A908 */ swc1 $f6, %lo(cursor_h_pos)($at)
/* 042F7C 7F00E44C 3C018003 */ lui $at, %hi(cursor_v_pos)
/* 042F80 7F00E450 03E00008 */ jr $ra
/* 042F84 7F00E454 E42AA90C */ swc1 $f10, %lo(cursor_v_pos)($at)
)
#endif
#ifdef NONMATCHING
void constructor_menu07_missionsel(void)
{
s32 spD8;
s32 spC8;
s32 spC4;
s32 sp90;
s32 sp8C;
s32 sp88;
s32 temp_a1;
s32 temp_a2;
s32 temp_ret;
s32 temp_s6;
s32 temp_t3;
s32 temp_v1;
s8 temp_v1_2;
u32 temp_v0_2;
void *temp_a0;
void *temp_s7;
void *temp_v0;
s32 phi_s3;
void *phi_v0;
s32 phi_s4;
s32 phi_s5;
s32 phi_s6;
s32 phi_s4_2;
temp_ret = viFillScreen(viSetFillColor(0, 0, 0));
temp_ret->unk4 = -1;
temp_ret->unk0 = 0xf8000000;
spD8 = 0;
phi_s4 = microcode_constructor(sub_GAME_7F00D5E8(temp_ret + 8));
loop_1:
phi_s3 = spD8;
phi_s6 = 0;
loop_2:
phi_s4_2 = phi_s4;
if (get_highest_unlocked_difficulty_for_level(phi_s3) >= 0)
{
temp_s7 = (spD8 * 4) + &cursor_xpos_table_mission_select;
phi_s5 = 0x96969600;
if (phi_s3 == mission_difficulty_highlighted)
{
phi_s5 = -0x100;
}
temp_v0 = (pull_and_display_text_for_folder_a0(phi_s3) * 0x1c) + &mission_folder_setup_entries;
if (temp_v0->unk6 != 0)
{
strcpy(&sp90, get_textptr_for_textID(temp_v0->unk6));
}
else
{
strcpy(&sp90, get_textptr_for_textID(temp_v0->unk4));
}
if (j_text_trigger == 0)
{
temp_v1 = strlen(&sp90) + -1;
phi_v0 = &sp90 + temp_v1;
if (temp_v1 >= 0)
{
loop_10:
temp_v1_2 = *phi_v0;
if (temp_v1_2 >= 0x61)
{
*phi_v0 = (s8) (temp_v1_2 + -0x20);
}
temp_v0_2 = phi_v0 + -1;
phi_v0 = temp_v0_2;
if (temp_v0_2 >= &sp90)
{
goto loop_10;
}
}
}
strcat(&sp90, &asc_D_8004F4A0);
spC4 = 0;
temp_a0 = &spC8;
spC8 = 0;
sub_GAME_7F0AE98C(temp_a0, &spC4, &sp90, ptrSecondFontTableSmall, (s32) ptrFirstFontTableSmall, 0);
temp_a2 = (subroutine_arg0 - spC8) + 0x1d;
temp_a1 = *temp_s7 + -0x1f;
viGetX();
viGetX(*temp_s7 + -0x1f, (subroutine_arg0 - spC8) + 0x1d);
phi_s4_2 = en_text_write_stuff(en_text_write_stuff(microcode_constructor_related_to_menus(phi_s4, temp_a1, temp_a2, temp_a1 + spC4, (s32) (temp_a2 + spC8), 0), &sp8C, &sp88, &sp90, (s32) ptrSecondFontTableSmall, (s32) ptrFirstFontTableSmall, (s32) (phi_s5 | 0xff), viGetY(), 0, 0), &sp8C, &sp88, &sp90, (s32) ptrSecondFontTableSmall, (s32) ptrFirstFontTableSmall, (s32) (phi_s5 | 0x64), viGetY(), 0, 0);
}
temp_s6 = phi_s6 + 1;
phi_s3 = phi_s3 + 5;
phi_s4 = phi_s4_2;
phi_s6 = temp_s6;
if (temp_s6 != 4)
{
goto loop_2;
}
temp_t3 = spD8 + 1;
spD8 = temp_t3;
phi_s4 = phi_s4_2;
if (temp_t3 != 5)
{
goto loop_1;
}
load_draw_selected_icon_folder_select(add_tab3_previous(phi_s4_2));
}
#else
const char asc_D_8004F4A0[] = "\n";
GLOBAL_ASM(
.text
glabel constructor_menu07_missionsel
/* 042F88 7F00E458 27BDFF20 */ addiu $sp, $sp, -0xe0
/* 042F8C 7F00E45C AFBF005C */ sw $ra, 0x5c($sp)
/* 042F90 7F00E460 AFBE0058 */ sw $fp, 0x58($sp)
/* 042F94 7F00E464 AFB70054 */ sw $s7, 0x54($sp)
/* 042F98 7F00E468 AFB60050 */ sw $s6, 0x50($sp)
/* 042F9C 7F00E46C AFB5004C */ sw $s5, 0x4c($sp)
/* 042FA0 7F00E470 AFB40048 */ sw $s4, 0x48($sp)
/* 042FA4 7F00E474 AFB30044 */ sw $s3, 0x44($sp)
/* 042FA8 7F00E478 AFB20040 */ sw $s2, 0x40($sp)
/* 042FAC 7F00E47C AFB1003C */ sw $s1, 0x3c($sp)
/* 042FB0 7F00E480 AFB00038 */ sw $s0, 0x38($sp)
/* 042FB4 7F00E484 00002825 */ move $a1, $zero
/* 042FB8 7F00E488 00003025 */ move $a2, $zero
/* 042FBC 7F00E48C 0C0011B4 */ jal viSetFillColor
/* 042FC0 7F00E490 00003825 */ move $a3, $zero
/* 042FC4 7F00E494 0C000FBE */ jal viFillScreen
/* 042FC8 7F00E498 00402025 */ move $a0, $v0
/* 042FCC 7F00E49C 3C0EF800 */ lui $t6, 0xf800
/* 042FD0 7F00E4A0 240FFFFF */ li $t7, -1
/* 042FD4 7F00E4A4 AC4F0004 */ sw $t7, 4($v0)
/* 042FD8 7F00E4A8 AC4E0000 */ sw $t6, ($v0)
/* 042FDC 7F00E4AC 0FC0357A */ jal sub_GAME_7F00D5E8
/* 042FE0 7F00E4B0 24440008 */ addiu $a0, $v0, 8
/* 042FE4 7F00E4B4 0FC2B366 */ jal microcode_constructor
/* 042FE8 7F00E4B8 00402025 */ move $a0, $v0
/* 042FEC 7F00E4BC 27B10090 */ addiu $s1, $sp, 0x90
/* 042FF0 7F00E4C0 0040A025 */ move $s4, $v0
/* 042FF4 7F00E4C4 02209025 */ move $s2, $s1
/* 042FF8 7F00E4C8 AFA000D8 */ sw $zero, 0xd8($sp)
.L7F00E4CC:
/* 042FFC 7F00E4CC 8FB300D8 */ lw $s3, 0xd8($sp)
/* 043000 7F00E4D0 0000B025 */ move $s6, $zero
.L7F00E4D4:
/* 043004 7F00E4D4 0FC03730 */ jal pull_and_display_text_for_folder_a0
/* 043008 7F00E4D8 02602025 */ move $a0, $s3
/* 04300C 7F00E4DC 00408025 */ move $s0, $v0
/* 043010 7F00E4E0 0FC03758 */ jal get_highest_unlocked_difficulty_for_level
/* 043014 7F00E4E4 02602025 */ move $a0, $s3
/* 043018 7F00E4E8 0440008C */ bltz $v0, .L7F00E71C
/* 04301C 7F00E4EC 3C159696 */ lui $s5, (0x96969600 >> 16) # lui $s5, 0x9696
/* 043020 7F00E4F0 8FB900D8 */ lw $t9, 0xd8($sp)
/* 043024 7F00E4F4 3C0C8007 */ lui $t4, %hi(mission_difficulty_highlighted)
/* 043028 7F00E4F8 8D8C9784 */ lw $t4, %lo(mission_difficulty_highlighted)($t4)
/* 04302C 7F00E4FC 3C098003 */ lui $t1, %hi(cursor_xpos_table_mission_select)
/* 043030 7F00E500 3C0B8003 */ lui $t3, %hi(cursor_ypos_table_mission_select)
/* 043034 7F00E504 256BAFE4 */ addiu $t3, %lo(cursor_ypos_table_mission_select) # addiu $t3, $t3, -0x501c
/* 043038 7F00E508 2529AFD0 */ addiu $t1, %lo(cursor_xpos_table_mission_select) # addiu $t1, $t1, -0x5030
/* 04303C 7F00E50C 00165080 */ sll $t2, $s6, 2
/* 043040 7F00E510 00194080 */ sll $t0, $t9, 2
/* 043044 7F00E514 36B59600 */ ori $s5, (0x96969600 & 0xFFFF) # ori $s5, $s5, 0x9600
/* 043048 7F00E518 0109B821 */ addu $s7, $t0, $t1
/* 04304C 7F00E51C 166C0002 */ bne $s3, $t4, .L7F00E528
/* 043050 7F00E520 014BF021 */ addu $fp, $t2, $t3
/* 043054 7F00E524 2415FF00 */ li $s5, -256
.L7F00E528:
/* 043058 7F00E528 001068C0 */ sll $t5, $s0, 3
/* 04305C 7F00E52C 01B06823 */ subu $t5, $t5, $s0
/* 043060 7F00E530 3C0E8003 */ lui $t6, %hi(mission_folder_setup_entries)
/* 043064 7F00E534 25CEABE4 */ addiu $t6, %lo(mission_folder_setup_entries) # addiu $t6, $t6, -0x541c
/* 043068 7F00E538 000D6880 */ sll $t5, $t5, 2
/* 04306C 7F00E53C 01AE1021 */ addu $v0, $t5, $t6
/* 043070 7F00E540 94430006 */ lhu $v1, 6($v0)
/* 043074 7F00E544 10600008 */ beqz $v1, .L7F00E568
/* 043078 7F00E548 00000000 */ nop
/* 04307C 7F00E54C 0FC30776 */ jal get_textptr_for_textID
/* 043080 7F00E550 00602025 */ move $a0, $v1
/* 043084 7F00E554 02402025 */ move $a0, $s2
/* 043088 7F00E558 0C0029DC */ jal strcpy
/* 04308C 7F00E55C 00402825 */ move $a1, $v0
/* 043090 7F00E560 10000006 */ b .L7F00E57C
/* 043094 7F00E564 00000000 */ nop
.L7F00E568:
/* 043098 7F00E568 0FC30776 */ jal get_textptr_for_textID
/* 04309C 7F00E56C 94440004 */ lhu $a0, 4($v0)
/* 0430A0 7F00E570 02402025 */ move $a0, $s2
/* 0430A4 7F00E574 0C0029DC */ jal strcpy
/* 0430A8 7F00E578 00402825 */ move $a1, $v0
.L7F00E57C:
/* 0430AC 7F00E57C 3C0F8005 */ lui $t7, %hi(j_text_trigger)
/* 0430B0 7F00E580 8DEF84D0 */ lw $t7, %lo(j_text_trigger)($t7)
/* 0430B4 7F00E584 15E0000F */ bnez $t7, .L7F00E5C4
/* 0430B8 7F00E588 00000000 */ nop
/* 0430BC 7F00E58C 0C004E1F */ jal strlen
/* 0430C0 7F00E590 02402025 */ move $a0, $s2
/* 0430C4 7F00E594 2443FFFF */ addiu $v1, $v0, -1
/* 0430C8 7F00E598 0460000A */ bltz $v1, .L7F00E5C4
/* 0430CC 7F00E59C 02431021 */ addu $v0, $s2, $v1
/* 0430D0 7F00E5A0 90430000 */ lbu $v1, ($v0)
.L7F00E5A4:
/* 0430D4 7F00E5A4 28610061 */ slti $at, $v1, 0x61
/* 0430D8 7F00E5A8 14200002 */ bnez $at, .L7F00E5B4
/* 0430DC 7F00E5AC 2478FFE0 */ addiu $t8, $v1, -0x20
/* 0430E0 7F00E5B0 A0580000 */ sb $t8, ($v0)
.L7F00E5B4:
/* 0430E4 7F00E5B4 2442FFFF */ addiu $v0, $v0, -1
/* 0430E8 7F00E5B8 0051082B */ sltu $at, $v0, $s1
/* 0430EC 7F00E5BC 5020FFF9 */ beql $at, $zero, .L7F00E5A4
/* 0430F0 7F00E5C0 90430000 */ lbu $v1, ($v0)
.L7F00E5C4:
/* 0430F4 7F00E5C4 3C058005 */ lui $a1, %hi(asc_D_8004F4A0)
/* 0430F8 7F00E5C8 24A5F4A0 */ addiu $a1, %lo(asc_D_8004F4A0) # addiu $a1, $a1, -0xb60
/* 0430FC 7F00E5CC 0C0029FF */ jal strcat
/* 043100 7F00E5D0 02402025 */ move $a0, $s2
/* 043104 7F00E5D4 3C198004 */ lui $t9, %hi(ptrFirstFontTableSmall)
/* 043108 7F00E5D8 8F390EAC */ lw $t9, %lo(ptrFirstFontTableSmall)($t9)
/* 04310C 7F00E5DC 3C078004 */ lui $a3, %hi(ptrSecondFontTableSmall)
/* 043110 7F00E5E0 AFA000C4 */ sw $zero, 0xc4($sp)
/* 043114 7F00E5E4 8CE70EB0 */ lw $a3, %lo(ptrSecondFontTableSmall)($a3)
/* 043118 7F00E5E8 27A400C8 */ addiu $a0, $sp, 0xc8
/* 04311C 7F00E5EC 27A500C4 */ addiu $a1, $sp, 0xc4
/* 043120 7F00E5F0 02403025 */ move $a2, $s2
/* 043124 7F00E5F4 AFA00014 */ sw $zero, 0x14($sp)
/* 043128 7F00E5F8 AFA000C8 */ sw $zero, 0xc8($sp)
/* 04312C 7F00E5FC 0FC2BA63 */ jal sub_GAME_7F0AE98C
/* 043130 7F00E600 AFB90010 */ sw $t9, 0x10($sp)
/* 043134 7F00E604 8FA300C8 */ lw $v1, 0xc8($sp)
/* 043138 7F00E608 8FC80000 */ lw $t0, ($fp)
/* 04313C 7F00E60C 8EE50000 */ lw $a1, ($s7)
/* 043140 7F00E610 8FA900C4 */ lw $t1, 0xc4($sp)
/* 043144 7F00E614 01033023 */ subu $a2, $t0, $v1
/* 043148 7F00E618 24C6001D */ addiu $a2, $a2, 0x1d
/* 04314C 7F00E61C 00C35021 */ addu $t2, $a2, $v1
/* 043150 7F00E620 24A5FFE1 */ addiu $a1, $a1, -0x1f
/* 043154 7F00E624 AFA5008C */ sw $a1, 0x8c($sp)
/* 043158 7F00E628 AFAA0010 */ sw $t2, 0x10($sp)
/* 04315C 7F00E62C AFA60088 */ sw $a2, 0x88($sp)
/* 043160 7F00E630 02802025 */ move $a0, $s4
/* 043164 7F00E634 AFA00014 */ sw $zero, 0x14($sp)
/* 043168 7F00E638 0FC2B405 */ jal microcode_constructor_related_to_menus
/* 04316C 7F00E63C 00A93821 */ addu $a3, $a1, $t1
/* 043170 7F00E640 0C001107 */ jal viGetX
/* 043174 7F00E644 0040A025 */ move $s4, $v0
/* 043178 7F00E648 00028400 */ sll $s0, $v0, 0x10
/* 04317C 7F00E64C 00105C03 */ sra $t3, $s0, 0x10
/* 043180 7F00E650 0C00110B */ jal viGetY
/* 043184 7F00E654 01608025 */ move $s0, $t3
/* 043188 7F00E658 3C0C8004 */ lui $t4, %hi(ptrSecondFontTableSmall)
/* 04318C 7F00E65C 3C0D8004 */ lui $t5, %hi(ptrFirstFontTableSmall)
/* 043190 7F00E660 8DAD0EAC */ lw $t5, %lo(ptrFirstFontTableSmall)($t5)
/* 043194 7F00E664 8D8C0EB0 */ lw $t4, %lo(ptrSecondFontTableSmall)($t4)
/* 043198 7F00E668 36AE00FF */ ori $t6, $s5, 0xff
/* 04319C 7F00E66C AFAE0018 */ sw $t6, 0x18($sp)
/* 0431A0 7F00E670 02802025 */ move $a0, $s4
/* 0431A4 7F00E674 27A5008C */ addiu $a1, $sp, 0x8c
/* 0431A8 7F00E678 27A60088 */ addiu $a2, $sp, 0x88
/* 0431AC 7F00E67C 02403825 */ move $a3, $s2
/* 0431B0 7F00E680 AFB0001C */ sw $s0, 0x1c($sp)
/* 0431B4 7F00E684 AFA20020 */ sw $v0, 0x20($sp)
/* 0431B8 7F00E688 AFA00024 */ sw $zero, 0x24($sp)
/* 0431BC 7F00E68C AFA00028 */ sw $zero, 0x28($sp)
/* 0431C0 7F00E690 AFAD0014 */ sw $t5, 0x14($sp)
/* 0431C4 7F00E694 0FC2B6AF */ jal en_text_write_stuff
/* 0431C8 7F00E698 AFAC0010 */ sw $t4, 0x10($sp)
/* 0431CC 7F00E69C 8FA300C8 */ lw $v1, 0xc8($sp)
/* 0431D0 7F00E6A0 8FCF0000 */ lw $t7, ($fp)
/* 0431D4 7F00E6A4 8EE50000 */ lw $a1, ($s7)
/* 0431D8 7F00E6A8 0040A025 */ move $s4, $v0
/* 0431DC 7F00E6AC 01E33023 */ subu $a2, $t7, $v1
/* 0431E0 7F00E6B0 24C6001D */ addiu $a2, $a2, 0x1d
/* 0431E4 7F00E6B4 24A5FFE1 */ addiu $a1, $a1, -0x1f
/* 0431E8 7F00E6B8 AFA5008C */ sw $a1, 0x8c($sp)
/* 0431EC 7F00E6BC 0C001107 */ jal viGetX
/* 0431F0 7F00E6C0 AFA60088 */ sw $a2, 0x88($sp)
/* 0431F4 7F00E6C4 00028400 */ sll $s0, $v0, 0x10
/* 0431F8 7F00E6C8 0010C403 */ sra $t8, $s0, 0x10
/* 0431FC 7F00E6CC 0C00110B */ jal viGetY
/* 043200 7F00E6D0 03008025 */ move $s0, $t8
/* 043204 7F00E6D4 3C198004 */ lui $t9, %hi(ptrSecondFontTableSmall)
/* 043208 7F00E6D8 3C088004 */ lui $t0, %hi(ptrFirstFontTableSmall)
/* 04320C 7F00E6DC 8D080EAC */ lw $t0, %lo(ptrFirstFontTableSmall)($t0)
/* 043210 7F00E6E0 8F390EB0 */ lw $t9, %lo(ptrSecondFontTableSmall)($t9)
/* 043214 7F00E6E4 36A90064 */ ori $t1, $s5, 0x64
/* 043218 7F00E6E8 AFA90018 */ sw $t1, 0x18($sp)
/* 04321C 7F00E6EC 02802025 */ move $a0, $s4
/* 043220 7F00E6F0 27A5008C */ addiu $a1, $sp, 0x8c
/* 043224 7F00E6F4 27A60088 */ addiu $a2, $sp, 0x88
/* 043228 7F00E6F8 02403825 */ move $a3, $s2
/* 04322C 7F00E6FC AFB0001C */ sw $s0, 0x1c($sp)
/* 043230 7F00E700 AFA20020 */ sw $v0, 0x20($sp)
/* 043234 7F00E704 AFA00024 */ sw $zero, 0x24($sp)
/* 043238 7F00E708 AFA00028 */ sw $zero, 0x28($sp)
/* 04323C 7F00E70C AFA80014 */ sw $t0, 0x14($sp)
/* 043240 7F00E710 0FC2B6AF */ jal en_text_write_stuff
/* 043244 7F00E714 AFB90010 */ sw $t9, 0x10($sp)
/* 043248 7F00E718 0040A025 */ move $s4, $v0
.L7F00E71C:
/* 04324C 7F00E71C 26D60001 */ addiu $s6, $s6, 1
/* 043250 7F00E720 24010004 */ li $at, 4
/* 043254 7F00E724 16C1FF6B */ bne $s6, $at, .L7F00E4D4
/* 043258 7F00E728 26730005 */ addiu $s3, $s3, 5
/* 04325C 7F00E72C 8FAA00D8 */ lw $t2, 0xd8($sp)
/* 043260 7F00E730 24010005 */ li $at, 5
/* 043264 7F00E734 254B0001 */ addiu $t3, $t2, 1
/* 043268 7F00E738 1561FF64 */ bne $t3, $at, .L7F00E4CC
/* 04326C 7F00E73C AFAB00D8 */ sw $t3, 0xd8($sp)
/* 043270 7F00E740 0FC0288E */ jal add_tab3_previous
/* 043274 7F00E744 02802025 */ move $a0, $s4
/* 043278 7F00E748 0FC027C2 */ jal load_draw_selected_icon_folder_select
/* 04327C 7F00E74C 00402025 */ move $a0, $v0
/* 043280 7F00E750 8FBF005C */ lw $ra, 0x5c($sp)
/* 043284 7F00E754 8FB00038 */ lw $s0, 0x38($sp)
/* 043288 7F00E758 8FB1003C */ lw $s1, 0x3c($sp)
/* 04328C 7F00E75C 8FB20040 */ lw $s2, 0x40($sp)
/* 043290 7F00E760 8FB30044 */ lw $s3, 0x44($sp)
/* 043294 7F00E764 8FB40048 */ lw $s4, 0x48($sp)
/* 043298 7F00E768 8FB5004C */ lw $s5, 0x4c($sp)
/* 04329C 7F00E76C 8FB60050 */ lw $s6, 0x50($sp)
/* 0432A0 7F00E770 8FB70054 */ lw $s7, 0x54($sp)
/* 0432A4 7F00E774 8FBE0058 */ lw $fp, 0x58($sp)
/* 0432A8 7F00E778 03E00008 */ jr $ra
/* 0432AC 7F00E77C 27BD00E0 */ addiu $sp, $sp, 0xe0
)
#endif
void init_menu08_difficultyselect(void)
{
selected_difficulty = DIFFICULTY_MULTI;
tab_2_selected = FALSE;
tab_3_selected = FALSE;
load_walletbond();
}
void update_menu08_difficulty(void) {
return;
}
#ifdef NONMATCHING
void interface_menu08_difficulty(void)
{
s32 sp1C;
sp1C = get_highest_unlocked_difficulty_for_level((0x80030000 + (briefingpage * 0x1c))->unk-5408);
viSetFovY(0x42700000);
viSetAspect(D_80051A4C);
viSetZRange(0x42c80000, D_80051A50);
viSetUseZBuf(0);
disable_all_switches(ptr_folder_object_instance);
set_item_visibility_in_objinstance(ptr_folder_object_instance, 0, 1);
set_item_visibility_in_objinstance(ptr_folder_object_instance, 1, 1);
set_item_visibility_in_objinstance(ptr_folder_object_instance, 3, 1);
set_item_visibility_in_objinstance(ptr_folder_object_instance, 4, 1);
tab_3_highlight = 0;
mission_difficulty_highlighted = -1;
if (isontab3() != 0)
{
tab_3_highlight = 1;
}
else
{
if ((sp1C >= 3) && (D_80051A54 <= cursor_v_pos))
{
mission_difficulty_highlighted = 3;
}
else
{
if ((sp1C >= 2) && (243.0f <= cursor_v_pos))
{
mission_difficulty_highlighted = 2;
}
else
{
if ((sp1C > 0) && (211.0f <= cursor_v_pos))
{
mission_difficulty_highlighted = 1;
}
else
{
mission_difficulty_highlighted = 0;
}
}
}
}
if (joyGetButtonsPressedThisFrame(0, 0xb000) != 0)
{
if (tab_3_highlight != 0)
{
tab_3_selected = 1;
play_sfx_a1(g_musicSfxBufferPtr, 0xc7, 0, 1);
}
else
{
if (mission_difficulty_highlighted >= 0)
{
selected_difficulty = (s32) mission_difficulty_highlighted;
tab_2_selected = 1;
play_sfx_a1(g_musicSfxBufferPtr, 0x4d, 0, 1);
}
}
}
else
{
if (joyGetButtonsPressedThisFrame(0, 0x4000, 1) != 0)
{
tab_3_selected = 1;
play_sfx_a1(g_musicSfxBufferPtr, 0xc7, 0, 1);
}
}
menu_control_stick_tracking();
if (tab_2_selected != 0)
{
if (selected_difficulty != DIFFICULTY_007)
{
set_menu_to_mode(MENU_BRIEFING, 0);
set_cursor_pos_tab2();
return;
}
set_menu_to_mode(MENU_007_OPTIONS, 0);
set_cursor_pos_tab2();
return;
}
if (tab_3_selected != 0)
{
set_menu_to_mode(MENU_MISSION_SELECT, 0);
set_cursor_to_stage_solo((0x80030000 + (briefingpage * 0x1c))->unk-5408);
}
}
#else
GLOBAL_ASM(
.late_rodata
glabel D_80051A4C
.word 0x3FAAAAAB /* 1.3333334;*/
glabel D_80051A50
.word 0x461C4000 /* 10000.0;*/
glabel D_80051A54
.word 0x43898000 /* 275.0;*/
.text
glabel interface_menu08_difficulty
/* 0432F0 7F00E7C0 3C0E8003 */ lui $t6, %hi(briefingpage)
/* 0432F4 7F00E7C4 8DCEA8F8 */ lw $t6, %lo(briefingpage)($t6)
/* 0432F8 7F00E7C8 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 0432FC 7F00E7CC 3C048003 */ lui $a0, %hi(mission_folder_setup_entries+0x14)
/* 043300 7F00E7D0 000E78C0 */ sll $t7, $t6, 3
/* 043304 7F00E7D4 01EE7823 */ subu $t7, $t7, $t6
/* 043308 7F00E7D8 000F7880 */ sll $t7, $t7, 2
/* 04330C 7F00E7DC AFBF0014 */ sw $ra, 0x14($sp)
/* 043310 7F00E7E0 008F2021 */ addu $a0, $a0, $t7
/* 043314 7F00E7E4 0FC03758 */ jal get_highest_unlocked_difficulty_for_level
/* 043318 7F00E7E8 8C84ABF8 */ lw $a0, %lo(mission_folder_setup_entries+0x14)($a0)
/* 04331C 7F00E7EC 3C014270 */ li $at, 0x42700000 # 60.000000
/* 043320 7F00E7F0 44816000 */ mtc1 $at, $f12
/* 043324 7F00E7F4 0C001151 */ jal viSetFovY
/* 043328 7F00E7F8 AFA2001C */ sw $v0, 0x1c($sp)
/* 04332C 7F00E7FC 3C018005 */ lui $at, %hi(D_80051A4C)
/* 043330 7F00E800 0C001164 */ jal viSetAspect
/* 043334 7F00E804 C42C1A4C */ lwc1 $f12, %lo(D_80051A4C)($at)
/* 043338 7F00E808 3C0142C8 */ li $at, 0x42C80000 # 100.000000
/* 04333C 7F00E80C 44816000 */ mtc1 $at, $f12
/* 043340 7F00E810 3C018005 */ lui $at, %hi(D_80051A50)
/* 043344 7F00E814 0C001194 */ jal viSetZRange
/* 043348 7F00E818 C42E1A50 */ lwc1 $f14, %lo(D_80051A50)($at)
/* 04334C 7F00E81C 0C00114D */ jal viSetUseZBuf
/* 043350 7F00E820 00002025 */ move $a0, $zero
/* 043354 7F00E824 3C048003 */ lui $a0, %hi(ptr_folder_object_instance)
/* 043358 7F00E828 0FC02DC9 */ jal disable_all_switches
/* 04335C 7F00E82C 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0)
/* 043360 7F00E830 3C048003 */ lui $a0, %hi(ptr_folder_object_instance)
/* 043364 7F00E834 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0)
/* 043368 7F00E838 00002825 */ move $a1, $zero
/* 04336C 7F00E83C 0FC02DF0 */ jal set_item_visibility_in_objinstance
/* 043370 7F00E840 24060001 */ li $a2, 1
/* 043374 7F00E844 3C048003 */ lui $a0, %hi(ptr_folder_object_instance)
/* 043378 7F00E848 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0)
/* 04337C 7F00E84C 24050001 */ li $a1, 1
/* 043380 7F00E850 0FC02DF0 */ jal set_item_visibility_in_objinstance
/* 043384 7F00E854 24060001 */ li $a2, 1
/* 043388 7F00E858 3C048003 */ lui $a0, %hi(ptr_folder_object_instance)
/* 04338C 7F00E85C 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0)
/* 043390 7F00E860 24050003 */ li $a1, 3
/* 043394 7F00E864 0FC02DF0 */ jal set_item_visibility_in_objinstance
/* 043398 7F00E868 24060001 */ li $a2, 1
/* 04339C 7F00E86C 3C048003 */ lui $a0, %hi(ptr_folder_object_instance)
/* 0433A0 7F00E870 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0)
/* 0433A4 7F00E874 24050004 */ li $a1, 4
/* 0433A8 7F00E878 0FC02DF0 */ jal set_item_visibility_in_objinstance
/* 0433AC 7F00E87C 24060001 */ li $a2, 1
/* 0433B0 7F00E880 3C038007 */ lui $v1, %hi(mission_difficulty_highlighted)
/* 0433B4 7F00E884 3C018003 */ lui $at, %hi(tab_3_highlight)
/* 0433B8 7F00E888 24639784 */ addiu $v1, %lo(mission_difficulty_highlighted) # addiu $v1, $v1, -0x687c
/* 0433BC 7F00E88C AC20A8E4 */ sw $zero, %lo(tab_3_highlight)($at)
/* 0433C0 7F00E890 2418FFFF */ li $t8, -1
/* 0433C4 7F00E894 0FC028E7 */ jal isontab3
/* 0433C8 7F00E898 AC780000 */ sw $t8, ($v1)
/* 0433CC 7F00E89C 3C038007 */ lui $v1, %hi(mission_difficulty_highlighted)
/* 0433D0 7F00E8A0 10400005 */ beqz $v0, .L7F00E8B8
/* 0433D4 7F00E8A4 24639784 */ addiu $v1, %lo(mission_difficulty_highlighted) # addiu $v1, $v1, -0x687c
/* 0433D8 7F00E8A8 24190001 */ li $t9, 1
/* 0433DC 7F00E8AC 3C018003 */ lui $at, %hi(tab_3_highlight)
/* 0433E0 7F00E8B0 1000002A */ b .L7F00E95C
/* 0433E4 7F00E8B4 AC39A8E4 */ sw $t9, %lo(tab_3_highlight)($at)
.L7F00E8B8:
/* 0433E8 7F00E8B8 8FA4001C */ lw $a0, 0x1c($sp)
/* 0433EC 7F00E8BC 3C028003 */ lui $v0, %hi(cursor_v_pos)
/* 0433F0 7F00E8C0 2442A90C */ addiu $v0, %lo(cursor_v_pos) # addiu $v0, $v0, -0x56f4
/* 0433F4 7F00E8C4 28810003 */ slti $at, $a0, 3
/* 0433F8 7F00E8C8 1420000A */ bnez $at, .L7F00E8F4
/* 0433FC 7F00E8CC 3C018005 */ lui $at, %hi(D_80051A54)
/* 043400 7F00E8D0 C4261A54 */ lwc1 $f6, %lo(D_80051A54)($at)
/* 043404 7F00E8D4 C4440000 */ lwc1 $f4, ($v0)
/* 043408 7F00E8D8 24080003 */ li $t0, 3
/* 04340C 7F00E8DC 4604303E */ c.le.s $f6, $f4
/* 043410 7F00E8E0 00000000 */ nop
/* 043414 7F00E8E4 45000003 */ bc1f .L7F00E8F4
/* 043418 7F00E8E8 00000000 */ nop
/* 04341C 7F00E8EC 1000001B */ b .L7F00E95C
/* 043420 7F00E8F0 AC680000 */ sw $t0, ($v1)
.L7F00E8F4:
/* 043424 7F00E8F4 3C028003 */ lui $v0, %hi(cursor_v_pos)
/* 043428 7F00E8F8 28810002 */ slti $at, $a0, 2
/* 04342C 7F00E8FC 1420000B */ bnez $at, .L7F00E92C
/* 043430 7F00E900 2442A90C */ addiu $v0, %lo(cursor_v_pos) # addiu $v0, $v0, -0x56f4
/* 043434 7F00E904 3C014373 */ li $at, 0x43730000 # 243.000000
/* 043438 7F00E908 44815000 */ mtc1 $at, $f10
/* 04343C 7F00E90C C4480000 */ lwc1 $f8, ($v0)
/* 043440 7F00E910 24090002 */ li $t1, 2
/* 043444 7F00E914 4608503E */ c.le.s $f10, $f8
/* 043448 7F00E918 00000000 */ nop
/* 04344C 7F00E91C 45000003 */ bc1f .L7F00E92C
/* 043450 7F00E920 00000000 */ nop
/* 043454 7F00E924 1000000D */ b .L7F00E95C
/* 043458 7F00E928 AC690000 */ sw $t1, ($v1)
.L7F00E92C:
/* 04345C 7F00E92C 1880000A */ blez $a0, .L7F00E958
/* 043460 7F00E930 3C014353 */ li $at, 0x43530000 # 211.000000
/* 043464 7F00E934 C4500000 */ lwc1 $f16, ($v0)
/* 043468 7F00E938 44819000 */ mtc1 $at, $f18
/* 04346C 7F00E93C 24070001 */ li $a3, 1
/* 043470 7F00E940 4610903E */ c.le.s $f18, $f16
/* 043474 7F00E944 00000000 */ nop
/* 043478 7F00E948 45020004 */ bc1fl .L7F00E95C
/* 04347C 7F00E94C AC600000 */ sw $zero, ($v1)
/* 043480 7F00E950 10000002 */ b .L7F00E95C
/* 043484 7F00E954 AC670000 */ sw $a3, ($v1)
.L7F00E958:
/* 043488 7F00E958 AC600000 */ sw $zero, ($v1)
.L7F00E95C:
/* 04348C 7F00E95C 00002025 */ move $a0, $zero
/* 043490 7F00E960 0C0030EB */ jal joyGetButtonsPressedThisFrame
/* 043494 7F00E964 3405B000 */ li $a1, 45056
/* 043498 7F00E968 3C038007 */ lui $v1, %hi(mission_difficulty_highlighted)
/* 04349C 7F00E96C 24639784 */ addiu $v1, %lo(mission_difficulty_highlighted) # addiu $v1, $v1, -0x687c
/* 0434A0 7F00E970 1040001A */ beqz $v0, .L7F00E9DC
/* 0434A4 7F00E974 24070001 */ li $a3, 1
/* 0434A8 7F00E978 3C0A8003 */ lui $t2, %hi(tab_3_highlight)
/* 0434AC 7F00E97C 8D4AA8E4 */ lw $t2, %lo(tab_3_highlight)($t2)
/* 0434B0 7F00E980 3C018003 */ lui $at, %hi(tab_3_selected)
/* 0434B4 7F00E984 3C048006 */ lui $a0, %hi(g_musicSfxBufferPtr)
/* 0434B8 7F00E988 11400007 */ beqz $t2, .L7F00E9A8
/* 0434BC 7F00E98C 240500C7 */ li $a1, 199
/* 0434C0 7F00E990 AC27A8D8 */ sw $a3, %lo(tab_3_selected)($at)
/* 0434C4 7F00E994 8C843720 */ lw $a0, %lo(g_musicSfxBufferPtr)($a0)
/* 0434C8 7F00E998 0C002382 */ jal play_sfx_a1
/* 0434CC 7F00E99C 00003025 */ move $a2, $zero
/* 0434D0 7F00E9A0 1000001A */ b .L7F00EA0C
/* 0434D4 7F00E9A4 00000000 */ nop
.L7F00E9A8:
/* 0434D8 7F00E9A8 8C620000 */ lw $v0, ($v1)
/* 0434DC 7F00E9AC 3C018003 */ lui $at, %hi(selected_difficulty)
/* 0434E0 7F00E9B0 3C048006 */ lui $a0, %hi(g_musicSfxBufferPtr)
/* 0434E4 7F00E9B4 04400015 */ bltz $v0, .L7F00EA0C
/* 0434E8 7F00E9B8 2405004D */ li $a1, 77
/* 0434EC 7F00E9BC AC22A8FC */ sw $v0, %lo(selected_difficulty)($at)
/* 0434F0 7F00E9C0 3C018003 */ lui $at, %hi(tab_2_selected)
/* 0434F4 7F00E9C4 AC27A8D4 */ sw $a3, %lo(tab_2_selected)($at)
/* 0434F8 7F00E9C8 8C843720 */ lw $a0, %lo(g_musicSfxBufferPtr)($a0)
/* 0434FC 7F00E9CC 0C002382 */ jal play_sfx_a1
/* 043500 7F00E9D0 00003025 */ move $a2, $zero
/* 043504 7F00E9D4 1000000D */ b .L7F00EA0C
/* 043508 7F00E9D8 00000000 */ nop
.L7F00E9DC:
/* 04350C 7F00E9DC 00002025 */ move $a0, $zero
/* 043510 7F00E9E0 0C0030EB */ jal joyGetButtonsPressedThisFrame
/* 043514 7F00E9E4 24054000 */ li $a1, 16384
/* 043518 7F00E9E8 10400008 */ beqz $v0, .L7F00EA0C
/* 04351C 7F00E9EC 24070001 */ li $a3, 1
/* 043520 7F00E9F0 3C018003 */ lui $at, %hi(tab_3_selected)
/* 043524 7F00E9F4 3C048006 */ lui $a0, %hi(g_musicSfxBufferPtr)
/* 043528 7F00E9F8 AC27A8D8 */ sw $a3, %lo(tab_3_selected)($at)
/* 04352C 7F00E9FC 8C843720 */ lw $a0, %lo(g_musicSfxBufferPtr)($a0)
/* 043530 7F00EA00 240500C7 */ li $a1, 199
/* 043534 7F00EA04 0C002382 */ jal play_sfx_a1
/* 043538 7F00EA08 00003025 */ move $a2, $zero
.L7F00EA0C:
/* 04353C 7F00EA0C 0FC026E1 */ jal menu_control_stick_tracking
/* 043540 7F00EA10 00000000 */ nop
/* 043544 7F00EA14 3C0B8003 */ lui $t3, %hi(tab_2_selected)
/* 043548 7F00EA18 8D6BA8D4 */ lw $t3, %lo(tab_2_selected)($t3)
/* 04354C 7F00EA1C 3C0C8003 */ lui $t4, %hi(selected_difficulty)
/* 043550 7F00EA20 3C0D8003 */ lui $t5, %hi(tab_3_selected)
/* 043554 7F00EA24 11600012 */ beqz $t3, .L7F00EA70
/* 043558 7F00EA28 00000000 */ nop
/* 04355C 7F00EA2C 8D8CA8FC */ lw $t4, %lo(selected_difficulty)($t4)
/* 043560 7F00EA30 24010003 */ li $at, 3
/* 043564 7F00EA34 00002825 */ move $a1, $zero
/* 043568 7F00EA38 15810007 */ bne $t4, $at, .L7F00EA58
/* 04356C 7F00EA3C 2404000A */ li $a0, 10
/* 043570 7F00EA40 0FC06975 */ jal set_menu_to_mode
/* 043574 7F00EA44 24040009 */ li $a0, 9
/* 043578 7F00EA48 0FC028FC */ jal set_cursor_pos_tab2
/* 04357C 7F00EA4C 00000000 */ nop
/* 043580 7F00EA50 10000017 */ b .L7F00EAB0
/* 043584 7F00EA54 8FBF0014 */ lw $ra, 0x14($sp)
.L7F00EA58:
/* 043588 7F00EA58 0FC06975 */ jal set_menu_to_mode
/* 04358C 7F00EA5C 00002825 */ move $a1, $zero
/* 043590 7F00EA60 0FC028FC */ jal set_cursor_pos_tab2
/* 043594 7F00EA64 00000000 */ nop
/* 043598 7F00EA68 10000011 */ b .L7F00EAB0
/* 04359C 7F00EA6C 8FBF0014 */ lw $ra, 0x14($sp)
.L7F00EA70:
/* 0435A0 7F00EA70 8DADA8D8 */ lw $t5, %lo(tab_3_selected)($t5)
/* 0435A4 7F00EA74 24040007 */ li $a0, 7
/* 0435A8 7F00EA78 51A0000D */ beql $t5, $zero, .L7F00EAB0
/* 0435AC 7F00EA7C 8FBF0014 */ lw $ra, 0x14($sp)
/* 0435B0 7F00EA80 0FC06975 */ jal set_menu_to_mode
/* 0435B4 7F00EA84 00002825 */ move $a1, $zero
/* 0435B8 7F00EA88 3C0E8003 */ lui $t6, %hi(briefingpage)
/* 0435BC 7F00EA8C 8DCEA8F8 */ lw $t6, %lo(briefingpage)($t6)
/* 0435C0 7F00EA90 3C048003 */ lui $a0, %hi(mission_folder_setup_entries+20)
/* 0435C4 7F00EA94 000E78C0 */ sll $t7, $t6, 3
/* 0435C8 7F00EA98 01EE7823 */ subu $t7, $t7, $t6
/* 0435CC 7F00EA9C 000F7880 */ sll $t7, $t7, 2
/* 0435D0 7F00EAA0 008F2021 */ addu $a0, $a0, $t7
/* 0435D4 7F00EAA4 0FC038F8 */ jal set_cursor_to_stage_solo
/* 0435D8 7F00EAA8 8C84ABF8 */ lw $a0, %lo(mission_folder_setup_entries+20)($a0)
/* 0435DC 7F00EAAC 8FBF0014 */ lw $ra, 0x14($sp)
.L7F00EAB0:
/* 0435E0 7F00EAB0 27BD0020 */ addiu $sp, $sp, 0x20
/* 0435E4 7F00EAB4 03E00008 */ jr $ra
/* 0435E8 7F00EAB8 00000000 */ nop
)
#endif
#ifdef NONMATCHING
void print_current_solo_briefing_stage_name(s32 arg0, s32 arg1)
{
s32 sp54;
s32 sp50;
s32 sp4C;
s16 sp44;
void *sp40;
s32 temp_ret;
void *temp_v1;
if (selected_difficulty >= DIFFICULTY_AGENT)
{
strcpy(arg1, get_ptr_difficulty_name(selected_difficulty, selected_difficulty));
strcat(arg1, get_textptr_for_textID(TEXT(LTITLE, 0x20)));
sp54 = 0x37;
sp50 = 0x57;
sp44 = viGetX();
arg0 = write_text_at_abs_coord(arg0, &sp54, &sp50, arg1, (s32) ptrSecondFontTableLarge, (s32) ptrFirstFontTableLarge, 0xff, sp44, viGetY(), 0, 0);
}
temp_ret = get_chapter_briefing_entry(briefingpage);
sp4C = temp_ret;
if (temp_ret >= 0)
{
strcpy(arg1, get_textptr_for_textID(TEXT(LTITLE, 0x21)));
temp_v1 = (sp4C * 0x1c) + &mission_folder_setup_entries;
sp40 = temp_v1;
strcat(arg1, *temp_v1);
strcat(arg1, &asc_D_8004F4A4);
strcat(arg1, get_textptr_for_textID(sp40->unk4));
strcat(arg1, &asc_D_8004F4A8);
sp54 = 0x37;
sp50 = 0x67;
sp44 = viGetX();
arg0 = write_text_at_abs_coord(arg0, &sp54, &sp50, arg1, (s32) ptrSecondFontTableLarge, (s32) ptrFirstFontTableLarge, 0xff, sp44, viGetY(), 0, 0);
}
strcpy(arg1, get_textptr_for_textID(TEXT(LTITLE, 0x22)));
strcat(arg1, *(&mission_folder_setup_entries + (briefingpage * 0x1c)));
strcat(arg1, &asc_D_8004F4AC);
strcat(arg1, get_textptr_for_textID(*(&mission_folder_setup_entries + (briefingpage * 0x1c))));
strcat(arg1, &asc_D_8004F4B0);
sp54 = 0x37;
sp50 = 0x77;
sp44 = viGetX();
write_text_at_abs_coord(arg0, &sp54, &sp50, arg1, (s32) ptrSecondFontTableLarge, (s32) ptrFirstFontTableLarge, 0xff, sp44, viGetY(), 0, 0);
}
#else
const char asc_D_8004F4A4[] = ": ";
const char asc_D_8004F4A8[] = "\n";
const char asc_D_8004F4AC[] = ": ";
const char asc_D_8004F4B0[] = "\n";
GLOBAL_ASM(
.text
glabel print_current_solo_briefing_stage_name
/* 0435EC 7F00EABC 3C068003 */ lui $a2, %hi(selected_difficulty)
/* 0435F0 7F00EAC0 8CC6A8FC */ lw $a2, %lo(selected_difficulty)($a2)
/* 0435F4 7F00EAC4 27BDFFA8 */ addiu $sp, $sp, -0x58
/* 0435F8 7F00EAC8 AFB00038 */ sw $s0, 0x38($sp)
/* 0435FC 7F00EACC 00A08025 */ move $s0, $a1
/* 043600 7F00EAD0 AFBF003C */ sw $ra, 0x3c($sp)
/* 043604 7F00EAD4 04C00025 */ bltz $a2, .L7F00EB6C
/* 043608 7F00EAD8 AFA40058 */ sw $a0, 0x58($sp)
/* 04360C 7F00EADC 0FC030E1 */ jal get_ptr_difficulty_name
/* 043610 7F00EAE0 00C02025 */ move $a0, $a2
/* 043614 7F00EAE4 02002025 */ move $a0, $s0
/* 043618 7F00EAE8 0C0029DC */ jal strcpy
/* 04361C 7F00EAEC 00402825 */ move $a1, $v0
/* 043620 7F00EAF0 0FC30776 */ jal get_textptr_for_textID
/* 043624 7F00EAF4 34049C20 */ li $a0, 39968
/* 043628 7F00EAF8 02002025 */ move $a0, $s0
/* 04362C 7F00EAFC 0C0029FF */ jal strcat
/* 043630 7F00EB00 00402825 */ move $a1, $v0
/* 043634 7F00EB04 240E0037 */ li $t6, 55
/* 043638 7F00EB08 240F0057 */ li $t7, 87
/* 04363C 7F00EB0C AFAE0054 */ sw $t6, 0x54($sp)
/* 043640 7F00EB10 0C001107 */ jal viGetX
/* 043644 7F00EB14 AFAF0050 */ sw $t7, 0x50($sp)
/* 043648 7F00EB18 0C00110B */ jal viGetY
/* 04364C 7F00EB1C A7A20044 */ sh $v0, 0x44($sp)
/* 043650 7F00EB20 3C188004 */ lui $t8, %hi(ptrSecondFontTableLarge)
/* 043654 7F00EB24 3C198004 */ lui $t9, %hi(ptrFirstFontTableLarge)
/* 043658 7F00EB28 8F390EB4 */ lw $t9, %lo(ptrFirstFontTableLarge)($t9)
/* 04365C 7F00EB2C 8F180EB8 */ lw $t8, %lo(ptrSecondFontTableLarge)($t8)
/* 043660 7F00EB30 87A90044 */ lh $t1, 0x44($sp)
/* 043664 7F00EB34 240800FF */ li $t0, 255
/* 043668 7F00EB38 AFA80018 */ sw $t0, 0x18($sp)
/* 04366C 7F00EB3C 8FA40058 */ lw $a0, 0x58($sp)
/* 043670 7F00EB40 27A50054 */ addiu $a1, $sp, 0x54
/* 043674 7F00EB44 27A60050 */ addiu $a2, $sp, 0x50
/* 043678 7F00EB48 02003825 */ move $a3, $s0
/* 04367C 7F00EB4C AFA20020 */ sw $v0, 0x20($sp)
/* 043680 7F00EB50 AFA00024 */ sw $zero, 0x24($sp)
/* 043684 7F00EB54 AFA00028 */ sw $zero, 0x28($sp)
/* 043688 7F00EB58 AFB90014 */ sw $t9, 0x14($sp)
/* 04368C 7F00EB5C AFB80010 */ sw $t8, 0x10($sp)
/* 043690 7F00EB60 0FC025D8 */ jal write_text_at_abs_coord
/* 043694 7F00EB64 AFA9001C */ sw $t1, 0x1c($sp)
/* 043698 7F00EB68 AFA20058 */ sw $v0, 0x58($sp)
.L7F00EB6C:
/* 04369C 7F00EB6C 3C048003 */ lui $a0, %hi(briefingpage)
/* 0436A0 7F00EB70 0FC02EC7 */ jal get_chapter_briefing_entry
/* 0436A4 7F00EB74 8C84A8F8 */ lw $a0, %lo(briefingpage)($a0)
/* 0436A8 7F00EB78 04400039 */ bltz $v0, .L7F00EC60
/* 0436AC 7F00EB7C AFA2004C */ sw $v0, 0x4c($sp)
/* 0436B0 7F00EB80 0FC30776 */ jal get_textptr_for_textID
/* 0436B4 7F00EB84 34049C21 */ li $a0, 39969
/* 0436B8 7F00EB88 02002025 */ move $a0, $s0
/* 0436BC 7F00EB8C 0C0029DC */ jal strcpy
/* 0436C0 7F00EB90 00402825 */ move $a1, $v0
/* 0436C4 7F00EB94 8FAA004C */ lw $t2, 0x4c($sp)
/* 0436C8 7F00EB98 3C0C8003 */ lui $t4, %hi(mission_folder_setup_entries)
/* 0436CC 7F00EB9C 258CABE4 */ addiu $t4, %lo(mission_folder_setup_entries) # addiu $t4, $t4, -0x541c
/* 0436D0 7F00EBA0 000A58C0 */ sll $t3, $t2, 3
/* 0436D4 7F00EBA4 016A5823 */ subu $t3, $t3, $t2
/* 0436D8 7F00EBA8 000B5880 */ sll $t3, $t3, 2
/* 0436DC 7F00EBAC 016C1821 */ addu $v1, $t3, $t4
/* 0436E0 7F00EBB0 8C650000 */ lw $a1, ($v1)
/* 0436E4 7F00EBB4 AFA30040 */ sw $v1, 0x40($sp)
/* 0436E8 7F00EBB8 0C0029FF */ jal strcat
/* 0436EC 7F00EBBC 02002025 */ move $a0, $s0
/* 0436F0 7F00EBC0 3C058005 */ lui $a1, %hi(asc_D_8004F4A4)
/* 0436F4 7F00EBC4 24A5F4A4 */ addiu $a1, %lo(asc_D_8004F4A4) # addiu $a1, $a1, -0xb5c
/* 0436F8 7F00EBC8 0C0029FF */ jal strcat
/* 0436FC 7F00EBCC 02002025 */ move $a0, $s0
/* 043700 7F00EBD0 8FAD0040 */ lw $t5, 0x40($sp)
/* 043704 7F00EBD4 0FC30776 */ jal get_textptr_for_textID
/* 043708 7F00EBD8 95A40004 */ lhu $a0, 4($t5)
/* 04370C 7F00EBDC 02002025 */ move $a0, $s0
/* 043710 7F00EBE0 0C0029FF */ jal strcat
/* 043714 7F00EBE4 00402825 */ move $a1, $v0
/* 043718 7F00EBE8 3C058005 */ lui $a1, %hi(asc_D_8004F4A8)
/* 04371C 7F00EBEC 24A5F4A8 */ addiu $a1, %lo(asc_D_8004F4A8) # addiu $a1, $a1, -0xb58
/* 043720 7F00EBF0 0C0029FF */ jal strcat
/* 043724 7F00EBF4 02002025 */ move $a0, $s0
/* 043728 7F00EBF8 240E0037 */ li $t6, 55
/* 04372C 7F00EBFC 240F0067 */ li $t7, 103
/* 043730 7F00EC00 AFAE0054 */ sw $t6, 0x54($sp)
/* 043734 7F00EC04 0C001107 */ jal viGetX
/* 043738 7F00EC08 AFAF0050 */ sw $t7, 0x50($sp)
/* 04373C 7F00EC0C 0C00110B */ jal viGetY
/* 043740 7F00EC10 A7A20044 */ sh $v0, 0x44($sp)
/* 043744 7F00EC14 3C188004 */ lui $t8, %hi(ptrSecondFontTableLarge)
/* 043748 7F00EC18 3C198004 */ lui $t9, %hi(ptrFirstFontTableLarge)
/* 04374C 7F00EC1C 8F390EB4 */ lw $t9, %lo(ptrFirstFontTableLarge)($t9)
/* 043750 7F00EC20 8F180EB8 */ lw $t8, %lo(ptrSecondFontTableLarge)($t8)
/* 043754 7F00EC24 87A90044 */ lh $t1, 0x44($sp)
/* 043758 7F00EC28 240800FF */ li $t0, 255
/* 04375C 7F00EC2C AFA80018 */ sw $t0, 0x18($sp)
/* 043760 7F00EC30 8FA40058 */ lw $a0, 0x58($sp)
/* 043764 7F00EC34 27A50054 */ addiu $a1, $sp, 0x54
/* 043768 7F00EC38 27A60050 */ addiu $a2, $sp, 0x50
/* 04376C 7F00EC3C 02003825 */ move $a3, $s0
/* 043770 7F00EC40 AFA20020 */ sw $v0, 0x20($sp)
/* 043774 7F00EC44 AFA00024 */ sw $zero, 0x24($sp)
/* 043778 7F00EC48 AFA00028 */ sw $zero, 0x28($sp)
/* 04377C 7F00EC4C AFB90014 */ sw $t9, 0x14($sp)
/* 043780 7F00EC50 AFB80010 */ sw $t8, 0x10($sp)
/* 043784 7F00EC54 0FC025D8 */ jal write_text_at_abs_coord
/* 043788 7F00EC58 AFA9001C */ sw $t1, 0x1c($sp)
/* 04378C 7F00EC5C AFA20058 */ sw $v0, 0x58($sp)
.L7F00EC60:
/* 043790 7F00EC60 0FC30776 */ jal get_textptr_for_textID
/* 043794 7F00EC64 34049C22 */ li $a0, 39970
/* 043798 7F00EC68 02002025 */ move $a0, $s0
/* 04379C 7F00EC6C 0C0029DC */ jal strcpy
/* 0437A0 7F00EC70 00402825 */ move $a1, $v0
/* 0437A4 7F00EC74 3C0A8003 */ lui $t2, %hi(briefingpage)
/* 0437A8 7F00EC78 8D4AA8F8 */ lw $t2, %lo(briefingpage)($t2)
/* 0437AC 7F00EC7C 3C058003 */ lui $a1, %hi(mission_folder_setup_entries)
/* 0437B0 7F00EC80 02002025 */ move $a0, $s0
/* 0437B4 7F00EC84 000A58C0 */ sll $t3, $t2, 3
/* 0437B8 7F00EC88 016A5823 */ subu $t3, $t3, $t2
/* 0437BC 7F00EC8C 000B5880 */ sll $t3, $t3, 2
/* 0437C0 7F00EC90 00AB2821 */ addu $a1, $a1, $t3
/* 0437C4 7F00EC94 0C0029FF */ jal strcat
/* 0437C8 7F00EC98 8CA5ABE4 */ lw $a1, %lo(mission_folder_setup_entries)($a1)
/* 0437CC 7F00EC9C 3C058005 */ lui $a1, %hi(asc_D_8004F4AC)
/* 0437D0 7F00ECA0 24A5F4AC */ addiu $a1, %lo(asc_D_8004F4AC) # addiu $a1, $a1, -0xb54
/* 0437D4 7F00ECA4 0C0029FF */ jal strcat
/* 0437D8 7F00ECA8 02002025 */ move $a0, $s0
/* 0437DC 7F00ECAC 3C0C8003 */ lui $t4, %hi(briefingpage)
/* 0437E0 7F00ECB0 8D8CA8F8 */ lw $t4, %lo(briefingpage)($t4)
/* 0437E4 7F00ECB4 3C048003 */ lui $a0, %hi(mission_folder_setup_entries+0x4)
/* 0437E8 7F00ECB8 000C68C0 */ sll $t5, $t4, 3
/* 0437EC 7F00ECBC 01AC6823 */ subu $t5, $t5, $t4
/* 0437F0 7F00ECC0 000D6880 */ sll $t5, $t5, 2
/* 0437F4 7F00ECC4 008D2021 */ addu $a0, $a0, $t5
/* 0437F8 7F00ECC8 0FC30776 */ jal get_textptr_for_textID
/* 0437FC 7F00ECCC 9484ABE8 */ lhu $a0, %lo(mission_folder_setup_entries+0x4)($a0)
/* 043800 7F00ECD0 02002025 */ move $a0, $s0
/* 043804 7F00ECD4 0C0029FF */ jal strcat
/* 043808 7F00ECD8 00402825 */ move $a1, $v0
/* 04380C 7F00ECDC 3C058005 */ lui $a1, %hi(asc_D_8004F4B0)
/* 043810 7F00ECE0 24A5F4B0 */ addiu $a1, %lo(asc_D_8004F4B0) # addiu $a1, $a1, -0xb50
/* 043814 7F00ECE4 0C0029FF */ jal strcat
/* 043818 7F00ECE8 02002025 */ move $a0, $s0
/* 04381C 7F00ECEC 240E0037 */ li $t6, 55
/* 043820 7F00ECF0 240F0077 */ li $t7, 119
/* 043824 7F00ECF4 AFAE0054 */ sw $t6, 0x54($sp)
/* 043828 7F00ECF8 0C001107 */ jal viGetX
/* 04382C 7F00ECFC AFAF0050 */ sw $t7, 0x50($sp)
/* 043830 7F00ED00 0C00110B */ jal viGetY
/* 043834 7F00ED04 A7A20044 */ sh $v0, 0x44($sp)
/* 043838 7F00ED08 3C188004 */ lui $t8, %hi(ptrSecondFontTableLarge)
/* 04383C 7F00ED0C 3C198004 */ lui $t9, %hi(ptrFirstFontTableLarge)
/* 043840 7F00ED10 8F390EB4 */ lw $t9, %lo(ptrFirstFontTableLarge)($t9)
/* 043844 7F00ED14 8F180EB8 */ lw $t8, %lo(ptrSecondFontTableLarge)($t8)
/* 043848 7F00ED18 87A90044 */ lh $t1, 0x44($sp)
/* 04384C 7F00ED1C 240800FF */ li $t0, 255
/* 043850 7F00ED20 AFA80018 */ sw $t0, 0x18($sp)
/* 043854 7F00ED24 8FA40058 */ lw $a0, 0x58($sp)
/* 043858 7F00ED28 27A50054 */ addiu $a1, $sp, 0x54
/* 04385C 7F00ED2C 27A60050 */ addiu $a2, $sp, 0x50
/* 043860 7F00ED30 02003825 */ move $a3, $s0
/* 043864 7F00ED34 AFA20020 */ sw $v0, 0x20($sp)
/* 043868 7F00ED38 AFA00024 */ sw $zero, 0x24($sp)
/* 04386C 7F00ED3C AFA00028 */ sw $zero, 0x28($sp)
/* 043870 7F00ED40 AFB90014 */ sw $t9, 0x14($sp)
/* 043874 7F00ED44 AFB80010 */ sw $t8, 0x10($sp)
/* 043878 7F00ED48 0FC025D8 */ jal write_text_at_abs_coord
/* 04387C 7F00ED4C AFA9001C */ sw $t1, 0x1c($sp)
/* 043880 7F00ED50 8FBF003C */ lw $ra, 0x3c($sp)
/* 043884 7F00ED54 8FB00038 */ lw $s0, 0x38($sp)
/* 043888 7F00ED58 27BD0058 */ addiu $sp, $sp, 0x58
/* 04388C 7F00ED5C 03E00008 */ jr $ra
/* 043890 7F00ED60 00000000 */ nop
)
#endif
#ifdef NONMATCHING
void set_cursor_pos_difficulty(s32 arg0)
{
cursor_h_pos = 106.0f;
cursor_v_pos = (f32) ((arg0 * 0x1e) + 0xba);
}
#else
GLOBAL_ASM(
.text
glabel set_cursor_pos_difficulty
/* 043894 7F00ED64 00047100 */ sll $t6, $a0, 4
/* 043898 7F00ED68 01C47023 */ subu $t6, $t6, $a0
/* 04389C 7F00ED6C 000E7040 */ sll $t6, $t6, 1
/* 0438A0 7F00ED70 25CF00BA */ addiu $t7, $t6, 0xba
/* 0438A4 7F00ED74 448F3000 */ mtc1 $t7, $f6
/* 0438A8 7F00ED78 3C0142D4 */ li $at, 0x42D40000 # 106.000000
/* 0438AC 7F00ED7C 44812000 */ mtc1 $at, $f4
/* 0438B0 7F00ED80 46803220 */ cvt.s.w $f8, $f6
/* 0438B4 7F00ED84 3C018003 */ lui $at, %hi(cursor_h_pos)
/* 0438B8 7F00ED88 E424A908 */ swc1 $f4, %lo(cursor_h_pos)($at)
/* 0438BC 7F00ED8C 3C018003 */ lui $at, %hi(cursor_v_pos)
/* 0438C0 7F00ED90 03E00008 */ jr $ra
/* 0438C4 7F00ED94 E428A90C */ swc1 $f8, %lo(cursor_v_pos)($at)
)
#endif
#ifdef NONMATCHING
void constructor_menu08_difficulty(s32 arg0)
{
s32 spC68;
s32 spC60;
s32 spC5C;
s32 spA4;
s32 sp9C;
s32 sp98;
f32 sp94;
f32 sp90;
f32 sp8C;
f32 sp88;
f32 temp_f16;
f32 temp_f8;
s32 temp_ret;
s32 temp_ret_2;
s32 temp_ret_3;
s32 temp_ret_4;
s32 temp_s1;
s32 temp_s1_2;
s32 temp_v0;
s32 temp_v0_2;
s32 temp_v0_3;
s32 temp_v0_4;
s32 temp_v1;
void *temp_s0;
void *temp_t8;
void *temp_t9;
void *phi_t9;
void *phi_t8;
s32 phi_v0;
s32 phi_s1;
void *phi_s2;
s32 phi_v0_2;
void *phi_s2_2;
s32 phi_s1_2;
f32 phi_f16;
f32 phi_f8;
void *phi_s2_3;
spC68 = get_highest_unlocked_difficulty_for_level((0x80030000 + (briefingpage * 0x1c))->unk-5408);
temp_ret = viSetFillColor(arg0, 0, 0, 0);
arg0 = temp_ret;
temp_v0 = temp_ret;
temp_ret_2 = viFillScreen(temp_v0);
arg0 = temp_ret_2;
temp_v0_2 = temp_ret_2;
temp_ret_3 = sub_GAME_7F00D5E8(temp_v0_2);
arg0 = temp_ret_3;
temp_v0_3 = temp_ret_3;
phi_t9 = &asc_D_8004F4B4;
phi_t8 = &spA4;
loop_1:
temp_t9 = phi_t9 + 0xc;
temp_t8 = phi_t8 + 0xc;
temp_t8->unk-C = (s32) *phi_t9;
temp_t8->unk-8 = (s32) temp_t9->unk-8;
temp_t8->unk-4 = (s32) temp_t9->unk-4;
phi_t9 = temp_t9;
phi_t8 = temp_t8;
if (temp_t9 != (&asc_D_8004F4B4 + 0xbb8))
{
goto loop_1;
}
temp_ret_4 = microcode_constructor(temp_v0_3);
arg0 = temp_ret_4;
temp_v0_4 = temp_ret_4;
arg0 = print_current_solo_briefing_stage_name(temp_v0_4, &spA4);
spC60 = 0x37;
spC5C = 0x8f;
viGetX();
arg0 = write_text_at_abs_coord(arg0, &spC60, &spC5C, get_textptr_for_textID(TEXT(LTITLE, 0x23)), (s32) ptrSecondFontTableLarge, (s32) ptrFirstFontTableLarge, 0xff, viGetY(), 0, 0);
if (mission_difficulty_highlighted >= 0)
{
if (j_text_trigger != 0)
{
phi_v0 = 0x32;
}
else
{
phi_v0 = 0;
}
temp_v1 = mission_difficulty_highlighted * 0x1e;
arg0 = microcode_constructor_related_to_menus(arg0, 0x7e - phi_v0, temp_v1 + 0xb2, 0xf0, (s32) (temp_v1 + 0xc3), 0x32);
}
phi_s1 = 0;
phi_s2_3 = spA0;
loop_8:
if ((phi_s1 == 0) || (spC68 >= phi_s1))
{
if (j_text_trigger != 0)
{
if (phi_s1 != 0)
{
if (phi_s1 != 1)
{
if (phi_s1 != 2)
{
if (phi_s1 != 3)
{
phi_s2 = phi_s2_3;
}
else
{
phi_s2 = get_textptr_for_textID(TEXT(LTITLE, 0x10c));
block_21:
}
}
else
{
phi_s2 = get_textptr_for_textID(TEXT(LTITLE, 0x10b));
goto block_21;
}
}
else
{
phi_s2 = get_textptr_for_textID(TEXT(LTITLE, 0x10a));
goto block_21;
}
}
else
{
phi_s2 = get_textptr_for_textID(TEXT(LTITLE, 0x109));
goto block_21;
}
}
else
{
sprintf(&spA4, &aD_, phi_s1 + 1);
phi_s2 = &spA4;
goto block_21;
}
sub_GAME_7F0AE98C(&sp98, &sp9C, phi_s2, ptrSecondFontTableLarge, (s32) ptrFirstFontTableLarge, 0);
phi_v0_2 = 0;
if (j_text_trigger != 0)
{
phi_v0_2 = sp9C + -0xa;
}
spC60 = (s32) (0x82 - phi_v0_2);
viGetX();
arg0 = write_text_at_abs_coord(arg0, &spC60, &spC5C, phi_s2, (s32) ptrSecondFontTableLarge, (s32) ptrFirstFontTableLarge, 0xff, viGetY(), 0, 0);
if (phi_s1 != 0)
{
if (phi_s1 != 1)
{
if (phi_s1 != 2)
{
if (phi_s1 != 3)
{
phi_s2_2 = phi_s2;
}
else
{
phi_s2_2 = get_textptr_for_textID(TEXT(LTITLE, 0x27));
block_33:
}
}
else
{
phi_s2_2 = get_textptr_for_textID(TEXT(LTITLE, 0x26));
goto block_33;
}
}
else
{
phi_s2_2 = get_textptr_for_textID(TEXT(LTITLE, 0x25));
goto block_33;
}
}
else
{
phi_s2_2 = get_textptr_for_textID(TEXT(LTITLE, 0x24));
goto block_33;
}
spC60 = (s32) 0x96;
viGetX();
arg0 = write_text_at_abs_coord(arg0, &spC60, &spC5C, phi_s2_2, (s32) ptrSecondFontTableLarge, (s32) ptrFirstFontTableLarge, 0xff, viGetY(), 0, 0);
phi_s2_3 = phi_s2_2;
}
else
{
}
temp_s1 = phi_s1 + 1;
phi_s1 = temp_s1;
if (temp_s1 < 4)
{
goto loop_8;
}
arg0 = add_tab3_previous(arg0);
phi_s1_2 = 0;
loop_37:
if ((phi_s1_2 == 0) || (spC68 >= phi_s1_2))
{
if (check_if_stage_completed_on_difficulty(briefingpage, phi_s1_2) == 3)
{
sp90 = 280.0f;
temp_s0 = mainfolderimages + 0x30;
sp94 = (f32) ((((phi_s1_2 * 0x10) - phi_s1_2) * 2) + 0xba);
temp_f16 = (f32) temp_s0->unk4;
phi_f16 = temp_f16;
if (temp_s0->unk4 < 0)
{
phi_f16 = temp_f16 + 4294967296.0f;
}
sp88 = (f32) (phi_f16 * 0.5f);
temp_f8 = (f32) temp_s0->unk5;
phi_f8 = temp_f8;
if (temp_s0->unk5 < 0)
{
phi_f8 = temp_f8 + 4294967296.0f;
}
sp8C = (f32) (phi_f8 * 0.5f);
likely_generate_DL_for_image_declaration(&arg0, temp_s0, 4, 0, 0);
display_image_at_on_screen_coord(&arg0, &sp90, &sp88, temp_s0->unk4, (s32) temp_s0->unk5, 0, 0, 1, 0xb4, 0, 0, 0xff, (s32) (0 < temp_s0->unk6), 0);
}
}
else
{
}
temp_s1_2 = phi_s1_2 + 1;
phi_s1_2 = temp_s1_2;
if (temp_s1_2 != 3)
{
goto loop_37;
}
load_draw_selected_icon_folder_select(arg0);
}
#else
const char asc_D_8004F4B4[3000] = {0xA, 0};
const char aD_[] = "%d.\n";
GLOBAL_ASM(
.text
glabel constructor_menu08_difficulty
/* 0438C8 7F00ED98 27BDF390 */ addiu $sp, $sp, -0xc70
/* 0438CC 7F00ED9C 3C0E8003 */ lui $t6, %hi(briefingpage)
/* 0438D0 7F00EDA0 8DCEA8F8 */ lw $t6, %lo(briefingpage)($t6)
/* 0438D4 7F00EDA4 AFA40C70 */ sw $a0, 0xc70($sp)
/* 0438D8 7F00EDA8 3C048003 */ lui $a0, %hi(mission_folder_setup_entries+20)
/* 0438DC 7F00EDAC 000E78C0 */ sll $t7, $t6, 3
/* 0438E0 7F00EDB0 01EE7823 */ subu $t7, $t7, $t6
/* 0438E4 7F00EDB4 000F7880 */ sll $t7, $t7, 2
/* 0438E8 7F00EDB8 AFBF006C */ sw $ra, 0x6c($sp)
/* 0438EC 7F00EDBC 008F2021 */ addu $a0, $a0, $t7
/* 0438F0 7F00EDC0 AFBE0068 */ sw $fp, 0x68($sp)
/* 0438F4 7F00EDC4 AFB70064 */ sw $s7, 0x64($sp)
/* 0438F8 7F00EDC8 AFB60060 */ sw $s6, 0x60($sp)
/* 0438FC 7F00EDCC AFB5005C */ sw $s5, 0x5c($sp)
/* 043900 7F00EDD0 AFB40058 */ sw $s4, 0x58($sp)
/* 043904 7F00EDD4 AFB30054 */ sw $s3, 0x54($sp)
/* 043908 7F00EDD8 AFB20050 */ sw $s2, 0x50($sp)
/* 04390C 7F00EDDC AFB1004C */ sw $s1, 0x4c($sp)
/* 043910 7F00EDE0 AFB00048 */ sw $s0, 0x48($sp)
/* 043914 7F00EDE4 F7B40040 */ sdc1 $f20, 0x40($sp)
/* 043918 7F00EDE8 0FC03758 */ jal get_highest_unlocked_difficulty_for_level
/* 04391C 7F00EDEC 8C84ABF8 */ lw $a0, %lo(mission_folder_setup_entries+20)($a0)
/* 043920 7F00EDF0 AFA20C68 */ sw $v0, 0xc68($sp)
/* 043924 7F00EDF4 8FA40C70 */ lw $a0, 0xc70($sp)
/* 043928 7F00EDF8 00002825 */ move $a1, $zero
/* 04392C 7F00EDFC 00003025 */ move $a2, $zero
/* 043930 7F00EE00 0C0011B4 */ jal viSetFillColor
/* 043934 7F00EE04 00003825 */ move $a3, $zero
/* 043938 7F00EE08 AFA20C70 */ sw $v0, 0xc70($sp)
/* 04393C 7F00EE0C 0C000FBE */ jal viFillScreen
/* 043940 7F00EE10 00402025 */ move $a0, $v0
/* 043944 7F00EE14 AFA20C70 */ sw $v0, 0xc70($sp)
/* 043948 7F00EE18 0FC0357A */ jal sub_GAME_7F00D5E8
/* 04394C 7F00EE1C 00402025 */ move $a0, $v0
/* 043950 7F00EE20 3C198005 */ lui $t9, %hi(asc_D_8004F4B4)
/* 043954 7F00EE24 2739F4B4 */ addiu $t9, %lo(asc_D_8004F4B4) # addiu $t9, $t9, -0xb4c
/* 043958 7F00EE28 AFA20C70 */ sw $v0, 0xc70($sp)
/* 04395C 7F00EE2C 272B0BB8 */ addiu $t3, $t9, 0xbb8
/* 043960 7F00EE30 27B800A4 */ addiu $t8, $sp, 0xa4
.L7F00EE34:
/* 043964 7F00EE34 8F210000 */ lw $at, ($t9)
/* 043968 7F00EE38 2739000C */ addiu $t9, $t9, 0xc
/* 04396C 7F00EE3C 2718000C */ addiu $t8, $t8, 0xc
/* 043970 7F00EE40 AF01FFF4 */ sw $at, -0xc($t8)
/* 043974 7F00EE44 8F21FFF8 */ lw $at, -8($t9)
/* 043978 7F00EE48 AF01FFF8 */ sw $at, -8($t8)
/* 04397C 7F00EE4C 8F21FFFC */ lw $at, -4($t9)
/* 043980 7F00EE50 172BFFF8 */ bne $t9, $t3, .L7F00EE34
/* 043984 7F00EE54 AF01FFFC */ sw $at, -4($t8)
/* 043988 7F00EE58 0FC2B366 */ jal microcode_constructor
/* 04398C 7F00EE5C 00402025 */ move $a0, $v0
/* 043990 7F00EE60 AFA20C70 */ sw $v0, 0xc70($sp)
/* 043994 7F00EE64 00402025 */ move $a0, $v0
/* 043998 7F00EE68 0FC03AAF */ jal print_current_solo_briefing_stage_name
/* 04399C 7F00EE6C 27A500A4 */ addiu $a1, $sp, 0xa4
/* 0439A0 7F00EE70 AFA20C70 */ sw $v0, 0xc70($sp)
/* 0439A4 7F00EE74 0FC30776 */ jal get_textptr_for_textID
/* 0439A8 7F00EE78 34049C23 */ li $a0, 39971
/* 0439AC 7F00EE7C 240C0037 */ li $t4, 55
/* 0439B0 7F00EE80 240D008F */ li $t5, 143
/* 0439B4 7F00EE84 00408825 */ move $s1, $v0
/* 0439B8 7F00EE88 AFAC0C60 */ sw $t4, 0xc60($sp)
/* 0439BC 7F00EE8C 0C001107 */ jal viGetX
/* 0439C0 7F00EE90 AFAD0C5C */ sw $t5, 0xc5c($sp)
/* 0439C4 7F00EE94 00028400 */ sll $s0, $v0, 0x10
/* 0439C8 7F00EE98 00107403 */ sra $t6, $s0, 0x10
/* 0439CC 7F00EE9C 0C00110B */ jal viGetY
/* 0439D0 7F00EEA0 01C08025 */ move $s0, $t6
/* 0439D4 7F00EEA4 3C158004 */ lui $s5, %hi(ptrSecondFontTableLarge)
/* 0439D8 7F00EEA8 3C168004 */ lui $s6, %hi(ptrFirstFontTableLarge)
/* 0439DC 7F00EEAC 26D60EB4 */ addiu $s6, %lo(ptrFirstFontTableLarge) # addiu $s6, $s6, 0xeb4
/* 0439E0 7F00EEB0 26B50EB8 */ addiu $s5, %lo(ptrSecondFontTableLarge) # addiu $s5, $s5, 0xeb8
/* 0439E4 7F00EEB4 8EAF0000 */ lw $t7, ($s5)
/* 0439E8 7F00EEB8 8ECA0000 */ lw $t2, ($s6)
/* 0439EC 7F00EEBC 240900FF */ li $t1, 255
/* 0439F0 7F00EEC0 AFA90018 */ sw $t1, 0x18($sp)
/* 0439F4 7F00EEC4 8FA40C70 */ lw $a0, 0xc70($sp)
/* 0439F8 7F00EEC8 27A50C60 */ addiu $a1, $sp, 0xc60
/* 0439FC 7F00EECC 27A60C5C */ addiu $a2, $sp, 0xc5c
/* 043A00 7F00EED0 02203825 */ move $a3, $s1
/* 043A04 7F00EED4 AFB0001C */ sw $s0, 0x1c($sp)
/* 043A08 7F00EED8 AFA20020 */ sw $v0, 0x20($sp)
/* 043A0C 7F00EEDC AFA00024 */ sw $zero, 0x24($sp)
/* 043A10 7F00EEE0 AFA00028 */ sw $zero, 0x28($sp)
/* 043A14 7F00EEE4 AFAF0010 */ sw $t7, 0x10($sp)
/* 043A18 7F00EEE8 0FC025D8 */ jal write_text_at_abs_coord
/* 043A1C 7F00EEEC AFAA0014 */ sw $t2, 0x14($sp)
/* 043A20 7F00EEF0 3C088007 */ lui $t0, %hi(mission_difficulty_highlighted)
/* 043A24 7F00EEF4 8D089784 */ lw $t0, %lo(mission_difficulty_highlighted)($t0)
/* 043A28 7F00EEF8 AFA20C70 */ sw $v0, 0xc70($sp)
/* 043A2C 7F00EEFC 8FA40C70 */ lw $a0, 0xc70($sp)
/* 043A30 7F00EF00 05000013 */ bltz $t0, .L7F00EF50
/* 043A34 7F00EF04 3C0B8005 */ lui $t3, %hi(j_text_trigger)
/* 043A38 7F00EF08 8D6B84D0 */ lw $t3, %lo(j_text_trigger)($t3)
/* 043A3C 7F00EF0C 00081900 */ sll $v1, $t0, 4
/* 043A40 7F00EF10 00681823 */ subu $v1, $v1, $t0
/* 043A44 7F00EF14 11600003 */ beqz $t3, .L7F00EF24
/* 043A48 7F00EF18 2419007E */ li $t9, 126
/* 043A4C 7F00EF1C 10000002 */ b .L7F00EF28
/* 043A50 7F00EF20 24020032 */ li $v0, 50
.L7F00EF24:
/* 043A54 7F00EF24 00001025 */ move $v0, $zero
.L7F00EF28:
/* 043A58 7F00EF28 00031840 */ sll $v1, $v1, 1
/* 043A5C 7F00EF2C 247800C3 */ addiu $t8, $v1, 0xc3
/* 043A60 7F00EF30 240C0032 */ li $t4, 50
/* 043A64 7F00EF34 AFAC0014 */ sw $t4, 0x14($sp)
/* 043A68 7F00EF38 AFB80010 */ sw $t8, 0x10($sp)
/* 043A6C 7F00EF3C 246600B2 */ addiu $a2, $v1, 0xb2
/* 043A70 7F00EF40 03222823 */ subu $a1, $t9, $v0
/* 043A74 7F00EF44 0FC2B405 */ jal microcode_constructor_related_to_menus
/* 043A78 7F00EF48 240700F0 */ li $a3, 240
/* 043A7C 7F00EF4C AFA20C70 */ sw $v0, 0xc70($sp)
.L7F00EF50:
/* 043A80 7F00EF50 00008825 */ move $s1, $zero
/* 043A84 7F00EF54 241E0002 */ li $fp, 2
/* 043A88 7F00EF58 24170001 */ li $s7, 1
/* 043A8C 7F00EF5C 24140003 */ li $s4, 3
/* 043A90 7F00EF60 8FB200A0 */ lw $s2, 0xa0($sp)
.L7F00EF64:
/* 043A94 7F00EF64 12200003 */ beqz $s1, .L7F00EF74
/* 043A98 7F00EF68 8FAD0C68 */ lw $t5, 0xc68($sp)
/* 043A9C 7F00EF6C 01B1082A */ slt $at, $t5, $s1
/* 043AA0 7F00EF70 14200080 */ bnez $at, .L7F00F174
.L7F00EF74:
/* 043AA4 7F00EF74 3C0E8005 */ lui $t6, %hi(j_text_trigger)
/* 043AA8 7F00EF78 8DCE84D0 */ lw $t6, %lo(j_text_trigger)($t6)
/* 043AAC 7F00EF7C 00119900 */ sll $s3, $s1, 4
/* 043AB0 7F00EF80 02719823 */ subu $s3, $s3, $s1
/* 043AB4 7F00EF84 00139840 */ sll $s3, $s3, 1
/* 043AB8 7F00EF88 11C0001B */ beqz $t6, .L7F00EFF8
/* 043ABC 7F00EF8C 267300B4 */ addiu $s3, $s3, 0xb4
/* 043AC0 7F00EF90 12200009 */ beqz $s1, .L7F00EFB8
/* 043AC4 7F00EF94 00000000 */ nop
/* 043AC8 7F00EF98 1237000B */ beq $s1, $s7, .L7F00EFC8
/* 043ACC 7F00EF9C 00000000 */ nop
/* 043AD0 7F00EFA0 123E000D */ beq $s1, $fp, .L7F00EFD8
/* 043AD4 7F00EFA4 00000000 */ nop
/* 043AD8 7F00EFA8 1234000F */ beq $s1, $s4, .L7F00EFE8
/* 043ADC 7F00EFAC 00000000 */ nop
/* 043AE0 7F00EFB0 10000018 */ b .L7F00F014
/* 043AE4 7F00EFB4 8ECA0000 */ lw $t2, ($s6)
.L7F00EFB8:
/* 043AE8 7F00EFB8 0FC30776 */ jal get_textptr_for_textID
/* 043AEC 7F00EFBC 34049D09 */ li $a0, 40201
/* 043AF0 7F00EFC0 10000013 */ b .L7F00F010
/* 043AF4 7F00EFC4 00409025 */ move $s2, $v0
.L7F00EFC8:
/* 043AF8 7F00EFC8 0FC30776 */ jal get_textptr_for_textID
/* 043AFC 7F00EFCC 34049D0A */ li $a0, 40202
/* 043B00 7F00EFD0 1000000F */ b .L7F00F010
/* 043B04 7F00EFD4 00409025 */ move $s2, $v0
.L7F00EFD8:
/* 043B08 7F00EFD8 0FC30776 */ jal get_textptr_for_textID
/* 043B0C 7F00EFDC 34049D0B */ li $a0, 40203
/* 043B10 7F00EFE0 1000000B */ b .L7F00F010
/* 043B14 7F00EFE4 00409025 */ move $s2, $v0
.L7F00EFE8:
/* 043B18 7F00EFE8 0FC30776 */ jal get_textptr_for_textID
/* 043B1C 7F00EFEC 34049D0C */ li $a0, 40204
/* 043B20 7F00EFF0 10000007 */ b .L7F00F010
/* 043B24 7F00EFF4 00409025 */ move $s2, $v0
.L7F00EFF8:
/* 043B28 7F00EFF8 27B200A4 */ addiu $s2, $sp, 0xa4
/* 043B2C 7F00EFFC 3C058005 */ lui $a1, %hi(aD_)
/* 043B30 7F00F000 24A5006C */ addiu $a1, %lo(aD_) # addiu $a1, $a1, 0x6c
/* 043B34 7F00F004 02402025 */ move $a0, $s2
/* 043B38 7F00F008 0C002B25 */ jal sprintf
/* 043B3C 7F00F00C 26260001 */ addiu $a2, $s1, 1
.L7F00F010:
/* 043B40 7F00F010 8ECA0000 */ lw $t2, ($s6)
.L7F00F014:
/* 043B44 7F00F014 27A40098 */ addiu $a0, $sp, 0x98
/* 043B48 7F00F018 27A5009C */ addiu $a1, $sp, 0x9c
/* 043B4C 7F00F01C 02403025 */ move $a2, $s2
/* 043B50 7F00F020 8EA70000 */ lw $a3, ($s5)
/* 043B54 7F00F024 AFA00014 */ sw $zero, 0x14($sp)
/* 043B58 7F00F028 0FC2BA63 */ jal sub_GAME_7F0AE98C
/* 043B5C 7F00F02C AFAA0010 */ sw $t2, 0x10($sp)
/* 043B60 7F00F030 3C098005 */ lui $t1, %hi(j_text_trigger)
/* 043B64 7F00F034 8D2984D0 */ lw $t1, %lo(j_text_trigger)($t1)
/* 043B68 7F00F038 240B0082 */ li $t3, 130
/* 043B6C 7F00F03C 00001025 */ move $v0, $zero
/* 043B70 7F00F040 11200004 */ beqz $t1, .L7F00F054
/* 043B74 7F00F044 00000000 */ nop
/* 043B78 7F00F048 8FA2009C */ lw $v0, 0x9c($sp)
/* 043B7C 7F00F04C 10000001 */ b .L7F00F054
/* 043B80 7F00F050 2442FFF6 */ addiu $v0, $v0, -0xa
.L7F00F054:
/* 043B84 7F00F054 0162C823 */ subu $t9, $t3, $v0
/* 043B88 7F00F058 AFB90C60 */ sw $t9, 0xc60($sp)
/* 043B8C 7F00F05C 0C001107 */ jal viGetX
/* 043B90 7F00F060 AFB30C5C */ sw $s3, 0xc5c($sp)
/* 043B94 7F00F064 00028400 */ sll $s0, $v0, 0x10
/* 043B98 7F00F068 0010C403 */ sra $t8, $s0, 0x10
/* 043B9C 7F00F06C 0C00110B */ jal viGetY
/* 043BA0 7F00F070 03008025 */ move $s0, $t8
/* 043BA4 7F00F074 8EAC0000 */ lw $t4, ($s5)
/* 043BA8 7F00F078 8ECD0000 */ lw $t5, ($s6)
/* 043BAC 7F00F07C 240E00FF */ li $t6, 255
/* 043BB0 7F00F080 AFAE0018 */ sw $t6, 0x18($sp)
/* 043BB4 7F00F084 8FA40C70 */ lw $a0, 0xc70($sp)
/* 043BB8 7F00F088 27A50C60 */ addiu $a1, $sp, 0xc60
/* 043BBC 7F00F08C 27A60C5C */ addiu $a2, $sp, 0xc5c
/* 043BC0 7F00F090 02403825 */ move $a3, $s2
/* 043BC4 7F00F094 AFB0001C */ sw $s0, 0x1c($sp)
/* 043BC8 7F00F098 AFA20020 */ sw $v0, 0x20($sp)
/* 043BCC 7F00F09C AFA00024 */ sw $zero, 0x24($sp)
/* 043BD0 7F00F0A0 AFA00028 */ sw $zero, 0x28($sp)
/* 043BD4 7F00F0A4 AFAC0010 */ sw $t4, 0x10($sp)
/* 043BD8 7F00F0A8 0FC025D8 */ jal write_text_at_abs_coord
/* 043BDC 7F00F0AC AFAD0014 */ sw $t5, 0x14($sp)
/* 043BE0 7F00F0B0 12200009 */ beqz $s1, .L7F00F0D8
/* 043BE4 7F00F0B4 AFA20C70 */ sw $v0, 0xc70($sp)
/* 043BE8 7F00F0B8 1237000B */ beq $s1, $s7, .L7F00F0E8
/* 043BEC 7F00F0BC 00000000 */ nop
/* 043BF0 7F00F0C0 123E000D */ beq $s1, $fp, .L7F00F0F8
/* 043BF4 7F00F0C4 00000000 */ nop
/* 043BF8 7F00F0C8 1234000F */ beq $s1, $s4, .L7F00F108
/* 043BFC 7F00F0CC 00000000 */ nop
/* 043C00 7F00F0D0 10000011 */ b .L7F00F118
/* 043C04 7F00F0D4 240F0096 */ li $t7, 150
.L7F00F0D8:
/* 043C08 7F00F0D8 0FC30776 */ jal get_textptr_for_textID
/* 043C0C 7F00F0DC 34049C24 */ li $a0, 39972
/* 043C10 7F00F0E0 1000000C */ b .L7F00F114
/* 043C14 7F00F0E4 00409025 */ move $s2, $v0
.L7F00F0E8:
/* 043C18 7F00F0E8 0FC30776 */ jal get_textptr_for_textID
/* 043C1C 7F00F0EC 34049C25 */ li $a0, 39973
/* 043C20 7F00F0F0 10000008 */ b .L7F00F114
/* 043C24 7F00F0F4 00409025 */ move $s2, $v0
.L7F00F0F8:
/* 043C28 7F00F0F8 0FC30776 */ jal get_textptr_for_textID
/* 043C2C 7F00F0FC 34049C26 */ li $a0, 39974
/* 043C30 7F00F100 10000004 */ b .L7F00F114
/* 043C34 7F00F104 00409025 */ move $s2, $v0
.L7F00F108:
/* 043C38 7F00F108 0FC30776 */ jal get_textptr_for_textID
/* 043C3C 7F00F10C 34049C27 */ li $a0, 39975
/* 043C40 7F00F110 00409025 */ move $s2, $v0
.L7F00F114:
/* 043C44 7F00F114 240F0096 */ li $t7, 150
.L7F00F118:
/* 043C48 7F00F118 AFAF0C60 */ sw $t7, 0xc60($sp)
/* 043C4C 7F00F11C 0C001107 */ jal viGetX
/* 043C50 7F00F120 AFB30C5C */ sw $s3, 0xc5c($sp)
/* 043C54 7F00F124 00028400 */ sll $s0, $v0, 0x10
/* 043C58 7F00F128 00105403 */ sra $t2, $s0, 0x10
/* 043C5C 7F00F12C 0C00110B */ jal viGetY
/* 043C60 7F00F130 01408025 */ move $s0, $t2
/* 043C64 7F00F134 8EA90000 */ lw $t1, ($s5)
/* 043C68 7F00F138 8ECB0000 */ lw $t3, ($s6)
/* 043C6C 7F00F13C 241900FF */ li $t9, 255
/* 043C70 7F00F140 AFB90018 */ sw $t9, 0x18($sp)
/* 043C74 7F00F144 8FA40C70 */ lw $a0, 0xc70($sp)
/* 043C78 7F00F148 27A50C60 */ addiu $a1, $sp, 0xc60
/* 043C7C 7F00F14C 27A60C5C */ addiu $a2, $sp, 0xc5c
/* 043C80 7F00F150 02403825 */ move $a3, $s2
/* 043C84 7F00F154 AFB0001C */ sw $s0, 0x1c($sp)
/* 043C88 7F00F158 AFA20020 */ sw $v0, 0x20($sp)
/* 043C8C 7F00F15C AFA00024 */ sw $zero, 0x24($sp)
/* 043C90 7F00F160 AFA00028 */ sw $zero, 0x28($sp)
/* 043C94 7F00F164 AFA90010 */ sw $t1, 0x10($sp)
/* 043C98 7F00F168 0FC025D8 */ jal write_text_at_abs_coord
/* 043C9C 7F00F16C AFAB0014 */ sw $t3, 0x14($sp)
/* 043CA0 7F00F170 AFA20C70 */ sw $v0, 0xc70($sp)
.L7F00F174:
/* 043CA4 7F00F174 26310001 */ addiu $s1, $s1, 1
/* 043CA8 7F00F178 2A210004 */ slti $at, $s1, 4
/* 043CAC 7F00F17C 1420FF79 */ bnez $at, .L7F00EF64
/* 043CB0 7F00F180 00000000 */ nop
/* 043CB4 7F00F184 AFB200A0 */ sw $s2, 0xa0($sp)
/* 043CB8 7F00F188 0FC0288E */ jal add_tab3_previous
/* 043CBC 7F00F18C 8FA40C70 */ lw $a0, 0xc70($sp)
/* 043CC0 7F00F190 3C013F00 */ li $at, 0x3F000000 # 0.500000
/* 043CC4 7F00F194 4481A000 */ mtc1 $at, $f20
/* 043CC8 7F00F198 AFA20C70 */ sw $v0, 0xc70($sp)
/* 043CCC 7F00F19C 00008825 */ move $s1, $zero
/* 043CD0 7F00F1A0 27B20C70 */ addiu $s2, $sp, 0xc70
.L7F00F1A4:
/* 043CD4 7F00F1A4 12200003 */ beqz $s1, .L7F00F1B4
/* 043CD8 7F00F1A8 8FB80C68 */ lw $t8, 0xc68($sp)
/* 043CDC 7F00F1AC 0311082A */ slt $at, $t8, $s1
/* 043CE0 7F00F1B0 14200041 */ bnez $at, .L7F00F2B8
.L7F00F1B4:
/* 043CE4 7F00F1B4 3C048003 */ lui $a0, %hi(briefingpage)
/* 043CE8 7F00F1B8 8C84A8F8 */ lw $a0, %lo(briefingpage)($a0)
/* 043CEC 7F00F1BC 0FC03743 */ jal check_if_stage_completed_on_difficulty
/* 043CF0 7F00F1C0 02202825 */ move $a1, $s1
/* 043CF4 7F00F1C4 1454003C */ bne $v0, $s4, .L7F00F2B8
/* 043CF8 7F00F1C8 00116100 */ sll $t4, $s1, 4
/* 043CFC 7F00F1CC 01916023 */ subu $t4, $t4, $s1
/* 043D00 7F00F1D0 000C6040 */ sll $t4, $t4, 1
/* 043D04 7F00F1D4 258D00BA */ addiu $t5, $t4, 0xba
/* 043D08 7F00F1D8 448D3000 */ mtc1 $t5, $f6
/* 043D0C 7F00F1DC 3C01438C */ li $at, 0x438C0000 # 280.000000
/* 043D10 7F00F1E0 44812000 */ mtc1 $at, $f4
/* 043D14 7F00F1E4 46803220 */ cvt.s.w $f8, $f6
/* 043D18 7F00F1E8 3C108009 */ lui $s0, %hi(mainfolderimages)
/* 043D1C 7F00F1EC 8E10D128 */ lw $s0, %lo(mainfolderimages)($s0)
/* 043D20 7F00F1F0 E7A40090 */ swc1 $f4, 0x90($sp)
/* 043D24 7F00F1F4 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000
/* 043D28 7F00F1F8 26100030 */ addiu $s0, $s0, 0x30
/* 043D2C 7F00F1FC E7A80094 */ swc1 $f8, 0x94($sp)
/* 043D30 7F00F200 920E0004 */ lbu $t6, 4($s0)
/* 043D34 7F00F204 448E5000 */ mtc1 $t6, $f10
/* 043D38 7F00F208 05C10004 */ bgez $t6, .L7F00F21C
/* 043D3C 7F00F20C 46805420 */ cvt.s.w $f16, $f10
/* 043D40 7F00F210 44819000 */ mtc1 $at, $f18
/* 043D44 7F00F214 00000000 */ nop
/* 043D48 7F00F218 46128400 */ add.s $f16, $f16, $f18
.L7F00F21C:
/* 043D4C 7F00F21C 46148102 */ mul.s $f4, $f16, $f20
/* 043D50 7F00F220 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000
/* 043D54 7F00F224 E7A40088 */ swc1 $f4, 0x88($sp)
/* 043D58 7F00F228 920F0005 */ lbu $t7, 5($s0)
/* 043D5C 7F00F22C 448F3000 */ mtc1 $t7, $f6
/* 043D60 7F00F230 05E10004 */ bgez $t7, .L7F00F244
/* 043D64 7F00F234 46803220 */ cvt.s.w $f8, $f6
/* 043D68 7F00F238 44815000 */ mtc1 $at, $f10
/* 043D6C 7F00F23C 00000000 */ nop
/* 043D70 7F00F240 460A4200 */ add.s $f8, $f8, $f10
.L7F00F244:
/* 043D74 7F00F244 46144482 */ mul.s $f18, $f8, $f20
/* 043D78 7F00F248 02402025 */ move $a0, $s2
/* 043D7C 7F00F24C 02002825 */ move $a1, $s0
/* 043D80 7F00F250 24060004 */ li $a2, 4
/* 043D84 7F00F254 00003825 */ move $a3, $zero
/* 043D88 7F00F258 AFA00010 */ sw $zero, 0x10($sp)
/* 043D8C 7F00F25C 0FC1DB5A */ jal likely_generate_DL_for_image_declaration
/* 043D90 7F00F260 E7B2008C */ swc1 $f18, 0x8c($sp)
/* 043D94 7F00F264 920A0005 */ lbu $t2, 5($s0)
/* 043D98 7F00F268 92070004 */ lbu $a3, 4($s0)
/* 043D9C 7F00F26C 24090001 */ li $t1, 1
/* 043DA0 7F00F270 240B00B4 */ li $t3, 180
/* 043DA4 7F00F274 241900FF */ li $t9, 255
/* 043DA8 7F00F278 AFB9002C */ sw $t9, 0x2c($sp)
/* 043DAC 7F00F27C AFAB0020 */ sw $t3, 0x20($sp)
/* 043DB0 7F00F280 AFA9001C */ sw $t1, 0x1c($sp)
/* 043DB4 7F00F284 AFA00028 */ sw $zero, 0x28($sp)
/* 043DB8 7F00F288 AFA00024 */ sw $zero, 0x24($sp)
/* 043DBC 7F00F28C AFA00018 */ sw $zero, 0x18($sp)
/* 043DC0 7F00F290 AFA00014 */ sw $zero, 0x14($sp)
/* 043DC4 7F00F294 AFAA0010 */ sw $t2, 0x10($sp)
/* 043DC8 7F00F298 92180006 */ lbu $t8, 6($s0)
/* 043DCC 7F00F29C AFA00034 */ sw $zero, 0x34($sp)
/* 043DD0 7F00F2A0 02402025 */ move $a0, $s2
/* 043DD4 7F00F2A4 0018602A */ slt $t4, $zero, $t8
/* 043DD8 7F00F2A8 AFAC0030 */ sw $t4, 0x30($sp)
/* 043DDC 7F00F2AC 27A50090 */ addiu $a1, $sp, 0x90
/* 043DE0 7F00F2B0 0FC1ABFA */ jal display_image_at_on_screen_coord
/* 043DE4 7F00F2B4 27A60088 */ addiu $a2, $sp, 0x88
.L7F00F2B8:
/* 043DE8 7F00F2B8 26310001 */ addiu $s1, $s1, 1
/* 043DEC 7F00F2BC 1634FFB9 */ bne $s1, $s4, .L7F00F1A4
/* 043DF0 7F00F2C0 00000000 */ nop
/* 043DF4 7F00F2C4 0FC027C2 */ jal load_draw_selected_icon_folder_select
/* 043DF8 7F00F2C8 8FA40C70 */ lw $a0, 0xc70($sp)
/* 043DFC 7F00F2CC 8FBF006C */ lw $ra, 0x6c($sp)
/* 043E00 7F00F2D0 D7B40040 */ ldc1 $f20, 0x40($sp)
/* 043E04 7F00F2D4 8FB00048 */ lw $s0, 0x48($sp)
/* 043E08 7F00F2D8 8FB1004C */ lw $s1, 0x4c($sp)
/* 043E0C 7F00F2DC 8FB20050 */ lw $s2, 0x50($sp)
/* 043E10 7F00F2E0 8FB30054 */ lw $s3, 0x54($sp)
/* 043E14 7F00F2E4 8FB40058 */ lw $s4, 0x58($sp)
/* 043E18 7F00F2E8 8FB5005C */ lw $s5, 0x5c($sp)
/* 043E1C 7F00F2EC 8FB60060 */ lw $s6, 0x60($sp)
/* 043E20 7F00F2F0 8FB70064 */ lw $s7, 0x64($sp)
/* 043E24 7F00F2F4 8FBE0068 */ lw $fp, 0x68($sp)
/* 043E28 7F00F2F8 03E00008 */ jr $ra
/* 043E2C 7F00F2FC 27BD0C70 */ addiu $sp, $sp, 0xc70
)
#endif
void init_menu09_007difficultyselect(void)
{
tab_1_selected = 0;
tab_2_selected = 0;
tab_3_selected = 0;
tab_3_highlight = 0;
tab_2_highlight = 0;
tab_1_highlight = 0;
highlight_enemy_reaction = 0;
highlight_enemy_health = 0;
highlight_enemy_accuracy = 0;
highlight_enemy_damage = 0;
load_walletbond();
}
void update_menu09_007options(void) {
return;
}
#ifdef NONMATCHING
void interface_menu09_007options(void)
{
f32 temp_f0;
s32 temp_f6;
f32 phi_f0;
f32 phi_f0_2;
viSetFovY(0x42700000);
viSetAspect(D_80051A58);
viSetZRange(0x42c80000, D_80051A5C);
viSetUseZBuf(0);
if (joyGetButtons(0, 0xa000) == 0)
{
tab_3_highlight = 0;
tab_2_highlight = 0;
tab_1_highlight = 0;
highlight_enemy_reaction = 0;
highlight_enemy_health = 0;
highlight_enemy_accuracy = 0;
highlight_enemy_damage = 0;
if (isontab3() != 0)
{
tab_3_highlight = 1;
}
else
{
if (isontab2() != 0)
{
tab_2_highlight = 1;
}
else
{
if (isontab1() != 0)
{
cursor_v_pos = 1;
}
else
{
temp_f6 = (s32) cursor_v_pos;
if (temp_f6 >= 0x107)
{
highlight_enemy_reaction = 1;
}
else
{
if (temp_f6 >= 0xe6)
{
highlight_enemy_damage = 1;
}
else
{
if (temp_f6 >= 0xc5)
{
highlight_enemy_accuracy = 1;
}
else
{
if (temp_f6 >= 0xa4)
{
highlight_enemy_health = 1;
}
else
{
tab_2_highlight = 1;
}
}
}
}
}
}
}
}
if (joyGetButtonsPressedThisFrame(0, 0x1000) != 0)
{
tab_1_selected = 1;
play_sfx_a1(g_musicSfxBufferPtr, 0xc7, 0);
}
else
{
if (joyGetButtonsPressedThisFrame(0, 0xa000) != 0)
{
if (tab_2_highlight != 0)
{
tab_2_selected = 1;
}
else
{
if (tab_3_highlight != 0)
{
tab_3_selected = 1;
}
else
{
if (tab_1_highlight != 0)
{
tab_1_selected = 1;
}
}
}
play_sfx_a1(g_musicSfxBufferPtr, 0xc7, 0);
}
else
{
if (joyGetButtonsPressedThisFrame(0, 0x4000) != 0)
{
tab_3_selected = 1;
play_sfx_a1(g_musicSfxBufferPtr, 0xc7, 0);
}
}
}
if (joyGetButtons(0, 0xa000) != 0)
{
temp_f0 = (cursor_h_pos - 55.0f) / 300.0f;
phi_f0 = temp_f0;
if (1.0f < temp_f0)
{
phi_f0 = 1.0f;
}
phi_f0_2 = phi_f0;
if (phi_f0 < 0.0f)
{
phi_f0_2 = 0.0f;
}
if (highlight_enemy_reaction != 0)
{
slider_007_mode_reaction = (f32) phi_f0_2;
}
else
{
if (highlight_enemy_health != 0)
{
slider_007_mode_health = (f32) ((phi_f0_2 * phi_f0_2) * 10.0f);
}
else
{
if (highlight_enemy_accuracy != 0)
{
slider_007_mode_accuracy = (f32) ((phi_f0_2 * phi_f0_2) * 10.0f);
}
else
{
if (highlight_enemy_damage != 0)
{
slider_007_mode_damage = (f32) ((phi_f0_2 * phi_f0_2) * 10.0f);
}
}
}
}
}
disable_all_switches(ptr_folder_object_instance);
set_item_visibility_in_objinstance(ptr_folder_object_instance, 0, 1);
set_item_visibility_in_objinstance(ptr_folder_object_instance, 1, 1);
set_item_visibility_in_objinstance(ptr_folder_object_instance, 3, 1);
set_item_visibility_in_objinstance(ptr_folder_object_instance, 6, 1);
menu_control_stick_tracking();
if (tab_1_selected != 0)
{
set_menu_to_mode(MENU_RUN_STAGE, 1);
return;
}
if (tab_2_selected != 0)
{
set_menu_to_mode(MENU_BRIEFING, 0);
return;
}
if (tab_3_selected != 0)
{
set_menu_to_mode(MENU_DIFFICULTY, 0);
set_cursor_pos_difficulty(selected_difficulty);
}
}
#else
GLOBAL_ASM(
.late_rodata
glabel D_80051A58
.word 0x3FAAAAAB /* 1.3333334;*/
glabel D_80051A5C
.word 0x461C4000 /* 10000.0;*/
.text
glabel interface_menu09_007options
/* 043EA4 7F00F374 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 043EA8 7F00F378 3C014270 */ li $at, 0x42700000 # 60.000000
/* 043EAC 7F00F37C AFBF0014 */ sw $ra, 0x14($sp)
/* 043EB0 7F00F380 44816000 */ mtc1 $at, $f12
/* 043EB4 7F00F384 0C001151 */ jal viSetFovY
/* 043EB8 7F00F388 00000000 */ nop
/* 043EBC 7F00F38C 3C018005 */ lui $at, %hi(D_80051A58)
/* 043EC0 7F00F390 0C001164 */ jal viSetAspect
/* 043EC4 7F00F394 C42C1A58 */ lwc1 $f12, %lo(D_80051A58)($at)
/* 043EC8 7F00F398 3C0142C8 */ li $at, 0x42C80000 # 100.000000
/* 043ECC 7F00F39C 44816000 */ mtc1 $at, $f12
/* 043ED0 7F00F3A0 3C018005 */ lui $at, %hi(D_80051A5C)
/* 043ED4 7F00F3A4 0C001194 */ jal viSetZRange
/* 043ED8 7F00F3A8 C42E1A5C */ lwc1 $f14, %lo(D_80051A5C)($at)
/* 043EDC 7F00F3AC 0C00114D */ jal viSetUseZBuf
/* 043EE0 7F00F3B0 00002025 */ move $a0, $zero
/* 043EE4 7F00F3B4 00002025 */ move $a0, $zero
/* 043EE8 7F00F3B8 0C0030C3 */ jal joyGetButtons
/* 043EEC 7F00F3BC 3405A000 */ li $a1, 40960
/* 043EF0 7F00F3C0 14400042 */ bnez $v0, .L7F00F4CC
/* 043EF4 7F00F3C4 3C018003 */ lui $at, %hi(tab_3_highlight)
/* 043EF8 7F00F3C8 AC20A8E4 */ sw $zero, %lo(tab_3_highlight)($at)
/* 043EFC 7F00F3CC 3C018003 */ lui $at, %hi(tab_2_highlight)
/* 043F00 7F00F3D0 AC20A8E0 */ sw $zero, %lo(tab_2_highlight)($at)
/* 043F04 7F00F3D4 3C018003 */ lui $at, %hi(tab_1_highlight)
/* 043F08 7F00F3D8 AC20A8DC */ sw $zero, %lo(tab_1_highlight)($at)
/* 043F0C 7F00F3DC 3C018007 */ lui $at, %hi(highlight_enemy_reaction)
/* 043F10 7F00F3E0 AC209794 */ sw $zero, %lo(highlight_enemy_reaction)($at)
/* 043F14 7F00F3E4 3C018007 */ lui $at, %hi(highlight_enemy_health)
/* 043F18 7F00F3E8 AC209798 */ sw $zero, %lo(highlight_enemy_health)($at)
/* 043F1C 7F00F3EC 3C018007 */ lui $at, %hi(highlight_enemy_accuracy)
/* 043F20 7F00F3F0 AC20979C */ sw $zero, %lo(highlight_enemy_accuracy)($at)
/* 043F24 7F00F3F4 3C018007 */ lui $at, %hi(highlight_enemy_damage)
/* 043F28 7F00F3F8 0FC028E7 */ jal isontab3
/* 043F2C 7F00F3FC AC2097A0 */ sw $zero, %lo(highlight_enemy_damage)($at)
/* 043F30 7F00F400 10400004 */ beqz $v0, .L7F00F414
/* 043F34 7F00F404 240E0001 */ li $t6, 1
/* 043F38 7F00F408 3C018003 */ lui $at, %hi(tab_3_highlight)
/* 043F3C 7F00F40C 1000002F */ b .L7F00F4CC
/* 043F40 7F00F410 AC2EA8E4 */ sw $t6, %lo(tab_3_highlight)($at)
.L7F00F414:
/* 043F44 7F00F414 0FC0295E */ jal isontab2
/* 043F48 7F00F418 00000000 */ nop
/* 043F4C 7F00F41C 10400004 */ beqz $v0, .L7F00F430
/* 043F50 7F00F420 24030001 */ li $v1, 1
/* 043F54 7F00F424 3C018003 */ lui $at, %hi(tab_2_highlight)
/* 043F58 7F00F428 10000028 */ b .L7F00F4CC
/* 043F5C 7F00F42C AC23A8E0 */ sw $v1, %lo(tab_2_highlight)($at)
.L7F00F430:
/* 043F60 7F00F430 0FC02879 */ jal isontab1
/* 043F64 7F00F434 00000000 */ nop
/* 043F68 7F00F438 10400005 */ beqz $v0, .L7F00F450
/* 043F6C 7F00F43C 3C018003 */ lui $at, %hi(cursor_v_pos)
/* 043F70 7F00F440 24030001 */ li $v1, 1
/* 043F74 7F00F444 3C018003 */ lui $at, %hi(cursor_v_pos)
/* 043F78 7F00F448 10000020 */ b .L7F00F4CC
/* 043F7C 7F00F44C AC23A8DC */ sw $v1, %lo(tab_1_highlight)($at)
.L7F00F450:
/* 043F80 7F00F450 C424A90C */ lwc1 $f4, %lo(cursor_v_pos)($at)
/* 043F84 7F00F454 24030001 */ li $v1, 1
/* 043F88 7F00F458 4600218D */ trunc.w.s $f6, $f4
/* 043F8C 7F00F45C 44023000 */ mfc1 $v0, $f6
/* 043F90 7F00F460 00000000 */ nop
/* 043F94 7F00F464 28410107 */ slti $at, $v0, 0x107
/* 043F98 7F00F468 14200003 */ bnez $at, .L7F00F478
/* 043F9C 7F00F46C 3C018007 */ lui $at, %hi(highlight_enemy_reaction)
/* 043FA0 7F00F470 10000016 */ b .L7F00F4CC
/* 043FA4 7F00F474 AC239794 */ sw $v1, %lo(highlight_enemy_reaction)($at)
.L7F00F478:
/* 043FA8 7F00F478 284100E6 */ slti $at, $v0, 0xe6
/* 043FAC 7F00F47C 14200004 */ bnez $at, .L7F00F490
/* 043FB0 7F00F480 24030001 */ li $v1, 1
/* 043FB4 7F00F484 3C018007 */ lui $at, %hi(highlight_enemy_damage)
/* 043FB8 7F00F488 10000010 */ b .L7F00F4CC
/* 043FBC 7F00F48C AC2397A0 */ sw $v1, %lo(highlight_enemy_damage)($at)
.L7F00F490:
/* 043FC0 7F00F490 284100C5 */ slti $at, $v0, 0xc5
/* 043FC4 7F00F494 14200004 */ bnez $at, .L7F00F4A8
/* 043FC8 7F00F498 24030001 */ li $v1, 1
/* 043FCC 7F00F49C 3C018007 */ lui $at, %hi(highlight_enemy_accuracy)
/* 043FD0 7F00F4A0 1000000A */ b .L7F00F4CC
/* 043FD4 7F00F4A4 AC23979C */ sw $v1, %lo(highlight_enemy_accuracy)($at)
.L7F00F4A8:
/* 043FD8 7F00F4A8 284100A4 */ slti $at, $v0, 0xa4
/* 043FDC 7F00F4AC 14200005 */ bnez $at, .L7F00F4C4
/* 043FE0 7F00F4B0 24030001 */ li $v1, 1
/* 043FE4 7F00F4B4 24030001 */ li $v1, 1
/* 043FE8 7F00F4B8 3C018007 */ lui $at, %hi(highlight_enemy_health)
/* 043FEC 7F00F4BC 10000003 */ b .L7F00F4CC
/* 043FF0 7F00F4C0 AC239798 */ sw $v1, %lo(highlight_enemy_health)($at)
.L7F00F4C4:
/* 043FF4 7F00F4C4 3C018003 */ lui $at, %hi(tab_2_highlight)
/* 043FF8 7F00F4C8 AC23A8E0 */ sw $v1, %lo(tab_2_highlight)($at)
.L7F00F4CC:
/* 043FFC 7F00F4CC 00002025 */ move $a0, $zero
/* 044000 7F00F4D0 0C0030EB */ jal joyGetButtonsPressedThisFrame
/* 044004 7F00F4D4 24051000 */ li $a1, 4096
/* 044008 7F00F4D8 1040000A */ beqz $v0, .L7F00F504
/* 04400C 7F00F4DC 24030001 */ li $v1, 1
/* 044010 7F00F4E0 3C018003 */ lui $at, %hi(tab_1_selected)
/* 044014 7F00F4E4 3C048006 */ lui $a0, %hi(g_musicSfxBufferPtr)
/* 044018 7F00F4E8 AC23A8D0 */ sw $v1, %lo(tab_1_selected)($at)
/* 04401C 7F00F4EC 8C843720 */ lw $a0, %lo(g_musicSfxBufferPtr)($a0)
/* 044020 7F00F4F0 240500C7 */ li $a1, 199
/* 044024 7F00F4F4 0C002382 */ jal play_sfx_a1
/* 044028 7F00F4F8 00003025 */ move $a2, $zero
/* 04402C 7F00F4FC 1000002D */ b .L7F00F5B4
/* 044030 7F00F500 00002025 */ move $a0, $zero
.L7F00F504:
/* 044034 7F00F504 00002025 */ move $a0, $zero
/* 044038 7F00F508 0C0030EB */ jal joyGetButtonsPressedThisFrame
/* 04403C 7F00F50C 3405A000 */ li $a1, 40960
/* 044040 7F00F510 1040001B */ beqz $v0, .L7F00F580
/* 044044 7F00F514 24030001 */ li $v1, 1
/* 044048 7F00F518 3C188003 */ lui $t8, %hi(tab_2_highlight)
/* 04404C 7F00F51C 8F18A8E0 */ lw $t8, %lo(tab_2_highlight)($t8)
/* 044050 7F00F520 3C048006 */ lui $a0, %hi(g_musicSfxBufferPtr)
/* 044054 7F00F524 240500C7 */ li $a1, 199
/* 044058 7F00F528 13000004 */ beqz $t8, .L7F00F53C
/* 04405C 7F00F52C 00003025 */ move $a2, $zero
/* 044060 7F00F530 3C018003 */ lui $at, %hi(tab_2_selected)
/* 044064 7F00F534 1000000E */ b .L7F00F570
/* 044068 7F00F538 AC23A8D4 */ sw $v1, %lo(tab_2_selected)($at)
.L7F00F53C:
/* 04406C 7F00F53C 3C198003 */ lui $t9, %hi(tab_3_highlight)
/* 044070 7F00F540 8F39A8E4 */ lw $t9, %lo(tab_3_highlight)($t9)
/* 044074 7F00F544 3C018003 */ lui $at, %hi(tab_3_selected)
/* 044078 7F00F548 3C088003 */ lui $t0, %hi(tab_1_highlight)
/* 04407C 7F00F54C 13200003 */ beqz $t9, .L7F00F55C
/* 044080 7F00F550 00000000 */ nop
/* 044084 7F00F554 10000006 */ b .L7F00F570
/* 044088 7F00F558 AC23A8D8 */ sw $v1, %lo(tab_3_selected)($at)
.L7F00F55C:
/* 04408C 7F00F55C 8D08A8DC */ lw $t0, %lo(tab_1_highlight)($t0)
/* 044090 7F00F560 3C018003 */ lui $at, %hi(tab_1_selected)
/* 044094 7F00F564 11000002 */ beqz $t0, .L7F00F570
/* 044098 7F00F568 00000000 */ nop
/* 04409C 7F00F56C AC23A8D0 */ sw $v1, %lo(tab_1_selected)($at)
.L7F00F570:
/* 0440A0 7F00F570 0C002382 */ jal play_sfx_a1
/* 0440A4 7F00F574 8C843720 */ lw $a0, %lo(g_musicSfxBufferPtr)($a0)
/* 0440A8 7F00F578 1000000E */ b .L7F00F5B4
/* 0440AC 7F00F57C 00002025 */ move $a0, $zero
.L7F00F580:
/* 0440B0 7F00F580 00002025 */ move $a0, $zero
/* 0440B4 7F00F584 0C0030EB */ jal joyGetButtonsPressedThisFrame
/* 0440B8 7F00F588 24054000 */ li $a1, 16384
/* 0440BC 7F00F58C 10400008 */ beqz $v0, .L7F00F5B0
/* 0440C0 7F00F590 24030001 */ li $v1, 1
/* 0440C4 7F00F594 3C018003 */ lui $at, %hi(tab_3_selected)
/* 0440C8 7F00F598 3C048006 */ lui $a0, %hi(g_musicSfxBufferPtr)
/* 0440CC 7F00F59C AC23A8D8 */ sw $v1, %lo(tab_3_selected)($at)
/* 0440D0 7F00F5A0 8C843720 */ lw $a0, %lo(g_musicSfxBufferPtr)($a0)
/* 0440D4 7F00F5A4 240500C7 */ li $a1, 199
/* 0440D8 7F00F5A8 0C002382 */ jal play_sfx_a1
/* 0440DC 7F00F5AC 00003025 */ move $a2, $zero
.L7F00F5B0:
/* 0440E0 7F00F5B0 00002025 */ move $a0, $zero
.L7F00F5B4:
/* 0440E4 7F00F5B4 0C0030C3 */ jal joyGetButtons
/* 0440E8 7F00F5B8 3405A000 */ li $a1, 40960
/* 0440EC 7F00F5BC 1040003E */ beqz $v0, .L7F00F6B8
/* 0440F0 7F00F5C0 3C048003 */ lui $a0, %hi(ptr_folder_object_instance)
/* 0440F4 7F00F5C4 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 0440F8 7F00F5C8 44811000 */ mtc1 $at, $f2
/* 0440FC 7F00F5CC 3C018003 */ lui $at, %hi(cursor_h_pos)
/* 044100 7F00F5D0 C428A908 */ lwc1 $f8, %lo(cursor_h_pos)($at)
/* 044104 7F00F5D4 3C01425C */ li $at, 0x425C0000 # 55.000000
/* 044108 7F00F5D8 44815000 */ mtc1 $at, $f10
/* 04410C 7F00F5DC 3C014396 */ li $at, 0x43960000 # 300.000000
/* 044110 7F00F5E0 44819000 */ mtc1 $at, $f18
/* 044114 7F00F5E4 460A4401 */ sub.s $f16, $f8, $f10
/* 044118 7F00F5E8 3C098007 */ lui $t1, %hi(highlight_enemy_reaction)
/* 04411C 7F00F5EC 3C018003 */ lui $at, %hi(slider_007_mode_reaction)
/* 044120 7F00F5F0 3C0A8007 */ lui $t2, %hi(highlight_enemy_health)
/* 044124 7F00F5F4 46128003 */ div.s $f0, $f16, $f18
/* 044128 7F00F5F8 4600103C */ c.lt.s $f2, $f0
/* 04412C 7F00F5FC 00000000 */ nop
/* 044130 7F00F600 45020003 */ bc1fl .L7F00F610
/* 044134 7F00F604 44801000 */ mtc1 $zero, $f2
/* 044138 7F00F608 46001006 */ mov.s $f0, $f2
/* 04413C 7F00F60C 44801000 */ mtc1 $zero, $f2
.L7F00F610:
/* 044140 7F00F610 00000000 */ nop
/* 044144 7F00F614 4602003C */ c.lt.s $f0, $f2
/* 044148 7F00F618 00000000 */ nop
/* 04414C 7F00F61C 45000002 */ bc1f .L7F00F628
/* 044150 7F00F620 00000000 */ nop
/* 044154 7F00F624 46001006 */ mov.s $f0, $f2
.L7F00F628:
/* 044158 7F00F628 8D299794 */ lw $t1, %lo(highlight_enemy_reaction)($t1)
/* 04415C 7F00F62C 11200003 */ beqz $t1, .L7F00F63C
/* 044160 7F00F630 00000000 */ nop
/* 044164 7F00F634 10000020 */ b .L7F00F6B8
/* 044168 7F00F638 E420A9A0 */ swc1 $f0, %lo(slider_007_mode_reaction)($at)
.L7F00F63C:
/* 04416C 7F00F63C 8D4A9798 */ lw $t2, %lo(highlight_enemy_health)($t2)
/* 044170 7F00F640 3C0B8007 */ lui $t3, %hi(highlight_enemy_accuracy)
/* 044174 7F00F644 11400008 */ beqz $t2, .L7F00F668
/* 044178 7F00F648 00000000 */ nop
/* 04417C 7F00F64C 46000102 */ mul.s $f4, $f0, $f0
/* 044180 7F00F650 3C014120 */ li $at, 0x41200000 # 10.000000
/* 044184 7F00F654 44813000 */ mtc1 $at, $f6
/* 044188 7F00F658 3C018003 */ lui $at, %hi(slider_007_mode_health)
/* 04418C 7F00F65C 46062202 */ mul.s $f8, $f4, $f6
/* 044190 7F00F660 10000015 */ b .L7F00F6B8
/* 044194 7F00F664 E428A9A4 */ swc1 $f8, %lo(slider_007_mode_health)($at)
.L7F00F668:
/* 044198 7F00F668 8D6B979C */ lw $t3, %lo(highlight_enemy_accuracy)($t3)
/* 04419C 7F00F66C 3C0C8007 */ lui $t4, %hi(highlight_enemy_damage)
/* 0441A0 7F00F670 11600008 */ beqz $t3, .L7F00F694
/* 0441A4 7F00F674 00000000 */ nop
/* 0441A8 7F00F678 46000282 */ mul.s $f10, $f0, $f0
/* 0441AC 7F00F67C 3C014120 */ li $at, 0x41200000 # 10.000000
/* 0441B0 7F00F680 44818000 */ mtc1 $at, $f16
/* 0441B4 7F00F684 3C018003 */ lui $at, %hi(slider_007_mode_accuracy)
/* 0441B8 7F00F688 46105482 */ mul.s $f18, $f10, $f16
/* 0441BC 7F00F68C 1000000A */ b .L7F00F6B8
/* 0441C0 7F00F690 E432A9A8 */ swc1 $f18, %lo(slider_007_mode_accuracy)($at)
.L7F00F694:
/* 0441C4 7F00F694 8D8C97A0 */ lw $t4, %lo(highlight_enemy_damage)($t4)
/* 0441C8 7F00F698 11800007 */ beqz $t4, .L7F00F6B8
/* 0441CC 7F00F69C 00000000 */ nop
/* 0441D0 7F00F6A0 46000102 */ mul.s $f4, $f0, $f0
/* 0441D4 7F00F6A4 3C014120 */ li $at, 0x41200000 # 10.000000
/* 0441D8 7F00F6A8 44813000 */ mtc1 $at, $f6
/* 0441DC 7F00F6AC 3C018003 */ lui $at, %hi(slider_007_mode_damage)
/* 0441E0 7F00F6B0 46062202 */ mul.s $f8, $f4, $f6
/* 0441E4 7F00F6B4 E428A9AC */ swc1 $f8, %lo(slider_007_mode_damage)($at)
.L7F00F6B8:
/* 0441E8 7F00F6B8 0FC02DC9 */ jal disable_all_switches
/* 0441EC 7F00F6BC 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0)
/* 0441F0 7F00F6C0 3C048003 */ lui $a0, %hi(ptr_folder_object_instance)
/* 0441F4 7F00F6C4 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0)
/* 0441F8 7F00F6C8 00002825 */ move $a1, $zero
/* 0441FC 7F00F6CC 0FC02DF0 */ jal set_item_visibility_in_objinstance
/* 044200 7F00F6D0 24060001 */ li $a2, 1
/* 044204 7F00F6D4 3C048003 */ lui $a0, %hi(ptr_folder_object_instance)
/* 044208 7F00F6D8 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0)
/* 04420C 7F00F6DC 24050001 */ li $a1, 1
/* 044210 7F00F6E0 0FC02DF0 */ jal set_item_visibility_in_objinstance
/* 044214 7F00F6E4 24060001 */ li $a2, 1
/* 044218 7F00F6E8 3C048003 */ lui $a0, %hi(ptr_folder_object_instance)
/* 04421C 7F00F6EC 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0)
/* 044220 7F00F6F0 24050003 */ li $a1, 3
/* 044224 7F00F6F4 0FC02DF0 */ jal set_item_visibility_in_objinstance
/* 044228 7F00F6F8 24060001 */ li $a2, 1
/* 04422C 7F00F6FC 3C048003 */ lui $a0, %hi(ptr_folder_object_instance)
/* 044230 7F00F700 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0)
/* 044234 7F00F704 24050006 */ li $a1, 6
/* 044238 7F00F708 0FC02DF0 */ jal set_item_visibility_in_objinstance
/* 04423C 7F00F70C 24060001 */ li $a2, 1
/* 044240 7F00F710 0FC026E1 */ jal menu_control_stick_tracking
/* 044244 7F00F714 00000000 */ nop
/* 044248 7F00F718 3C0D8003 */ lui $t5, %hi(tab_1_selected)
/* 04424C 7F00F71C 8DADA8D0 */ lw $t5, %lo(tab_1_selected)($t5)
/* 044250 7F00F720 2404000B */ li $a0, 11
/* 044254 7F00F724 3C0E8003 */ lui $t6, %hi(tab_2_selected)
/* 044258 7F00F728 11A00005 */ beqz $t5, .L7F00F740
/* 04425C 7F00F72C 00000000 */ nop
/* 044260 7F00F730 0FC06975 */ jal set_menu_to_mode
/* 044264 7F00F734 24050001 */ li $a1, 1
/* 044268 7F00F738 10000014 */ b .L7F00F78C
/* 04426C 7F00F73C 8FBF0014 */ lw $ra, 0x14($sp)
.L7F00F740:
/* 044270 7F00F740 8DCEA8D4 */ lw $t6, %lo(tab_2_selected)($t6)
/* 044274 7F00F744 2404000A */ li $a0, 10
/* 044278 7F00F748 3C0F8003 */ lui $t7, %hi(tab_3_selected)
/* 04427C 7F00F74C 11C00005 */ beqz $t6, .L7F00F764
/* 044280 7F00F750 00000000 */ nop
/* 044284 7F00F754 0FC06975 */ jal set_menu_to_mode
/* 044288 7F00F758 00002825 */ move $a1, $zero
/* 04428C 7F00F75C 1000000B */ b .L7F00F78C
/* 044290 7F00F760 8FBF0014 */ lw $ra, 0x14($sp)
.L7F00F764:
/* 044294 7F00F764 8DEFA8D8 */ lw $t7, %lo(tab_3_selected)($t7)
/* 044298 7F00F768 24040008 */ li $a0, 8
/* 04429C 7F00F76C 51E00007 */ beql $t7, $zero, .L7F00F78C
/* 0442A0 7F00F770 8FBF0014 */ lw $ra, 0x14($sp)
/* 0442A4 7F00F774 0FC06975 */ jal set_menu_to_mode
/* 0442A8 7F00F778 00002825 */ move $a1, $zero
/* 0442AC 7F00F77C 3C048003 */ lui $a0, %hi(selected_difficulty)
/* 0442B0 7F00F780 0FC03B59 */ jal set_cursor_pos_difficulty
/* 0442B4 7F00F784 8C84A8FC */ lw $a0, %lo(selected_difficulty)($a0)
/* 0442B8 7F00F788 8FBF0014 */ lw $ra, 0x14($sp)
.L7F00F78C:
/* 0442BC 7F00F78C 27BD0018 */ addiu $sp, $sp, 0x18
/* 0442C0 7F00F790 03E00008 */ jr $ra
/* 0442C4 7F00F794 00000000 */ nop
)
#endif
#ifdef NONMATCHING
void constructor_menu09_007options(void)
{
s32 spC14;
s32 spC10;
s32 spC0C;
s32 sp54;
s32 sp50;
s32 sp4C;
s16 sp44;
s32 temp_ret;
s32 temp_ret_2;
s32 temp_ret_3;
s32 temp_ret_4;
s32 temp_s0;
s32 temp_s0_2;
s32 temp_s0_3;
s32 temp_s0_4;
s32 temp_s0_5;
s32 temp_s0_6;
s32 temp_s0_7;
s32 temp_s0_8;
void *temp_t6;
void *temp_t7;
void *phi_t7;
void *phi_t6;
s32 phi_s0;
s32 phi_s0_2;
s32 phi_s0_3;
s32 phi_s0_4;
phi_t7 = &asc_D_80050074;
phi_t6 = &sp54;
loop_1:
temp_t7 = phi_t7 + 0xc;
temp_t6 = phi_t6 + 0xc;
temp_t6->unk-C = (s32) *phi_t7;
temp_t6->unk-8 = (s32) temp_t7->unk-8;
temp_t6->unk-4 = (s32) temp_t7->unk-4;
phi_t7 = temp_t7;
phi_t6 = temp_t6;
if (temp_t7 != (&asc_D_80050074 + 0xbb8))
{
goto loop_1;
}
spC14 = get_textptr_for_textID(TEXT(LTITLE, 0x28));
spC10 = 0x37;
spC0C = 0x8f;
sp44 = viGetX();
temp_s0 = write_text_at_abs_coord(print_current_solo_briefing_stage_name(microcode_constructor(sub_GAME_7F00D5E8(viFillScreen(viSetFillColor(0, 0, 0)))), &sp54), &spC10, &spC0C, spC14, (s32) ptrSecondFontTableLarge, (s32) ptrFirstFontTableLarge, 0xff, sp44, viGetY(), 0, 0);
spC14 = get_textptr_for_textID(TEXT(LTITLE, 0x2a));
spC10 = 0x39;
spC0C = 0xa4;
temp_ret = microcode_constructor_related_to_menus(microcode_constructor_related_to_menus(temp_s0, 0x37, 0xb5, 0x163, 0xc0, 0x32), 0x37, 0xa4 + 0x11, (s32) (sqrtf(slider_007_mode_health / 10.0f) * 300.0f) + 0x37, (s32) (0xa4 + 0x1c), 0x64);
phi_s0 = temp_ret;
if (highlight_enemy_health != 0)
{
phi_s0 = microcode_constructor_related_to_menus(temp_ret, 0x37, spC0C + -1, 0xc7, (s32) (spC0C + 0xe), 0x32);
}
sp44 = viGetX();
temp_s0_2 = write_text_at_abs_coord(phi_s0, &spC10, &spC0C, spC14, (s32) ptrSecondFontTableLarge, (s32) ptrFirstFontTableLarge, 0xff, sp44, viGetY(), 0, 0);
sprintf(&sp54, &aD, (s32) (slider_007_mode_health * 100.0f));
sp4C = 0;
sp50 = 0;
sub_GAME_7F0AE98C(&sp50, &sp4C, &sp54, ptrSecondFontTableLarge, (s32) ptrFirstFontTableLarge, 0);
spC10 = (s32) (0x11d - sp4C);
spC0C = 0xa4;
sp44 = viGetX();
temp_s0_3 = write_text_at_abs_coord(temp_s0_2, &spC10, &spC0C, &sp54, (s32) ptrSecondFontTableLarge, (s32) ptrFirstFontTableLarge, 0xff, sp44, viGetY(), 0, 0);
spC14 = get_textptr_for_textID(TEXT(LTITLE, 0x2b));
spC10 = 0x39;
spC0C = 0xc5;
temp_ret_2 = microcode_constructor_related_to_menus(microcode_constructor_related_to_menus(temp_s0_3, 0x37, 0xd6, 0x163, 0xe1, 0x32), 0x37, 0xc5 + 0x11, (s32) (sqrtf(slider_007_mode_accuracy / 10.0f) * 300.0f) + 0x37, (s32) (0xc5 + 0x1c), 0x64);
phi_s0_2 = temp_ret_2;
if (highlight_enemy_accuracy != 0)
{
phi_s0_2 = microcode_constructor_related_to_menus(temp_ret_2, 0x37, spC0C + -1, 0xc7, (s32) (spC0C + 0xe), 0x32);
}
sp44 = viGetX();
temp_s0_4 = write_text_at_abs_coord(phi_s0_2, &spC10, &spC0C, spC14, (s32) ptrSecondFontTableLarge, (s32) ptrFirstFontTableLarge, 0xff, sp44, viGetY(), 0, 0);
sprintf(&sp54, &aD_0, (s32) (slider_007_mode_accuracy * 100.0f));
sp4C = 0;
sp50 = 0;
sub_GAME_7F0AE98C(&sp50, &sp4C, &sp54, ptrSecondFontTableLarge, (s32) ptrFirstFontTableLarge, 0);
spC10 = (s32) (0x11d - sp4C);
spC0C = 0xc5;
sp44 = viGetX();
temp_s0_5 = write_text_at_abs_coord(temp_s0_4, &spC10, &spC0C, &sp54, (s32) ptrSecondFontTableLarge, (s32) ptrFirstFontTableLarge, 0xff, sp44, viGetY(), 0, 0);
spC14 = get_textptr_for_textID(TEXT(LTITLE, 0x2c));
spC10 = 0x39;
spC0C = 0xe6;
temp_ret_3 = microcode_constructor_related_to_menus(microcode_constructor_related_to_menus(temp_s0_5, 0x37, 0xf7, 0x163, 0x102, 0x32), 0x37, 0xe6 + 0x11, (s32) (sqrtf(slider_007_mode_damage / 10.0f) * 300.0f) + 0x37, (s32) (0xe6 + 0x1c), 0x64);
phi_s0_3 = temp_ret_3;
if (highlight_enemy_damage != 0)
{
phi_s0_3 = microcode_constructor_related_to_menus(temp_ret_3, 0x37, spC0C + -1, 0xc7, (s32) (spC0C + 0xe), 0x32);
}
sp44 = viGetX();
temp_s0_6 = write_text_at_abs_coord(phi_s0_3, &spC10, &spC0C, spC14, (s32) ptrSecondFontTableLarge, (s32) ptrFirstFontTableLarge, 0xff, sp44, viGetY(), 0, 0);
sprintf(&sp54, &aD_1, (s32) (slider_007_mode_damage * 10.0f));
sp4C = 0;
sp50 = 0;
sub_GAME_7F0AE98C(&sp50, &sp4C, &sp54, ptrSecondFontTableLarge, (s32) ptrFirstFontTableLarge, 0);
spC10 = (s32) (0x11d - sp4C);
spC0C = 0xe6;
sp44 = viGetX();
temp_s0_7 = write_text_at_abs_coord(temp_s0_6, &spC10, &spC0C, &sp54, (s32) ptrSecondFontTableLarge, (s32) ptrFirstFontTableLarge, 0xff, sp44, viGetY(), 0, 0);
spC14 = get_textptr_for_textID(TEXT(LTITLE, 0x29));
spC10 = 0x39;
spC0C = 0x107;
temp_ret_4 = microcode_constructor_related_to_menus(microcode_constructor_related_to_menus(temp_s0_7, 0x37, 0x118, 0x163, 0x123, 0x32), 0x37, 0x107 + 0x11, (s32) ((slider_007_mode_reaction * 300.0f) * 1.0f) + 0x37, (s32) (0x107 + 0x1c), 0x64);
phi_s0_4 = temp_ret_4;
if (highlight_enemy_reaction != 0)
{
phi_s0_4 = microcode_constructor_related_to_menus(temp_ret_4, 0x37, spC0C + -1, 0xc7, (s32) (spC0C + 0xe), 0x32);
}
sp44 = viGetX();
temp_s0_8 = write_text_at_abs_coord(phi_s0_4, &spC10, &spC0C, spC14, (s32) ptrSecondFontTableLarge, (s32) ptrFirstFontTableLarge, 0xff, sp44, viGetY(), 0, 0);
sprintf(&sp54, &aD_2, (s32) (slider_007_mode_reaction * 100.0f));
sp4C = 0;
sp50 = 0;
sub_GAME_7F0AE98C(&sp50, &sp4C, &sp54, ptrSecondFontTableLarge, (s32) ptrFirstFontTableLarge, 0);
spC10 = (s32) (0x11d - sp4C);
spC0C = 0x107;
sp44 = viGetX();
load_draw_selected_icon_folder_select(add_tab2_next(add_tab3_previous(add_tab1_start(write_text_at_abs_coord(temp_s0_8, &spC10, &spC0C, &sp54, (s32) ptrSecondFontTableLarge, (s32) ptrFirstFontTableLarge, 0xff, sp44, viGetY(), 0, 0)))));
}
#else
const char asc_D_80050074[3000] = {0xA, 0};
const char aD[] = "%d%%\n";
const char aD_0[] = "%d%%\n";
const char aD_1[] = "%d%%\n";
const char aD_2[] = "%d%%\n";
GLOBAL_ASM(
.text
glabel constructor_menu09_007options
/* 0442C8 7F00F798 27BDF3E8 */ addiu $sp, $sp, -0xc18
/* 0442CC 7F00F79C AFBF003C */ sw $ra, 0x3c($sp)
/* 0442D0 7F00F7A0 AFB00038 */ sw $s0, 0x38($sp)
/* 0442D4 7F00F7A4 00002825 */ move $a1, $zero
/* 0442D8 7F00F7A8 00003025 */ move $a2, $zero
/* 0442DC 7F00F7AC 0C0011B4 */ jal viSetFillColor
/* 0442E0 7F00F7B0 00003825 */ move $a3, $zero
/* 0442E4 7F00F7B4 0C000FBE */ jal viFillScreen
/* 0442E8 7F00F7B8 00402025 */ move $a0, $v0
/* 0442EC 7F00F7BC 0FC0357A */ jal sub_GAME_7F00D5E8
/* 0442F0 7F00F7C0 00402025 */ move $a0, $v0
/* 0442F4 7F00F7C4 3C0F8005 */ lui $t7, %hi(asc_D_80050074)
/* 0442F8 7F00F7C8 25EF0074 */ addiu $t7, %lo(asc_D_80050074) # addiu $t7, $t7, 0x74
/* 0442FC 7F00F7CC 25E80BB8 */ addiu $t0, $t7, 0xbb8
/* 044300 7F00F7D0 27AE0054 */ addiu $t6, $sp, 0x54
.L7F00F7D4:
/* 044304 7F00F7D4 8DE10000 */ lw $at, ($t7)
/* 044308 7F00F7D8 25EF000C */ addiu $t7, $t7, 0xc
/* 04430C 7F00F7DC 25CE000C */ addiu $t6, $t6, 0xc
/* 044310 7F00F7E0 ADC1FFF4 */ sw $at, -0xc($t6)
/* 044314 7F00F7E4 8DE1FFF8 */ lw $at, -8($t7)
/* 044318 7F00F7E8 ADC1FFF8 */ sw $at, -8($t6)
/* 04431C 7F00F7EC 8DE1FFFC */ lw $at, -4($t7)
/* 044320 7F00F7F0 15E8FFF8 */ bne $t7, $t0, .L7F00F7D4
/* 044324 7F00F7F4 ADC1FFFC */ sw $at, -4($t6)
/* 044328 7F00F7F8 0FC2B366 */ jal microcode_constructor
/* 04432C 7F00F7FC 00402025 */ move $a0, $v0
/* 044330 7F00F800 00402025 */ move $a0, $v0
/* 044334 7F00F804 0FC03AAF */ jal print_current_solo_briefing_stage_name
/* 044338 7F00F808 27A50054 */ addiu $a1, $sp, 0x54
/* 04433C 7F00F80C 00408025 */ move $s0, $v0
/* 044340 7F00F810 0FC30776 */ jal get_textptr_for_textID
/* 044344 7F00F814 34049C28 */ li $a0, 39976
/* 044348 7F00F818 24090037 */ li $t1, 55
/* 04434C 7F00F81C 2403008F */ li $v1, 143
/* 044350 7F00F820 AFA20C14 */ sw $v0, 0xc14($sp)
/* 044354 7F00F824 AFA90C10 */ sw $t1, 0xc10($sp)
/* 044358 7F00F828 0C001107 */ jal viGetX
/* 04435C 7F00F82C AFA30C0C */ sw $v1, 0xc0c($sp)
/* 044360 7F00F830 0C00110B */ jal viGetY
/* 044364 7F00F834 A7A20044 */ sh $v0, 0x44($sp)
/* 044368 7F00F838 3C0A8004 */ lui $t2, %hi(ptrSecondFontTableLarge)
/* 04436C 7F00F83C 3C0B8004 */ lui $t3, %hi(ptrFirstFontTableLarge)
/* 044370 7F00F840 8D6B0EB4 */ lw $t3, %lo(ptrFirstFontTableLarge)($t3)
/* 044374 7F00F844 8D4A0EB8 */ lw $t2, %lo(ptrSecondFontTableLarge)($t2)
/* 044378 7F00F848 87AD0044 */ lh $t5, 0x44($sp)
/* 04437C 7F00F84C 240C00FF */ li $t4, 255
/* 044380 7F00F850 AFAC0018 */ sw $t4, 0x18($sp)
/* 044384 7F00F854 02002025 */ move $a0, $s0
/* 044388 7F00F858 27A50C10 */ addiu $a1, $sp, 0xc10
/* 04438C 7F00F85C 27A60C0C */ addiu $a2, $sp, 0xc0c
/* 044390 7F00F860 8FA70C14 */ lw $a3, 0xc14($sp)
/* 044394 7F00F864 AFA20020 */ sw $v0, 0x20($sp)
/* 044398 7F00F868 AFA00024 */ sw $zero, 0x24($sp)
/* 04439C 7F00F86C AFA00028 */ sw $zero, 0x28($sp)
/* 0443A0 7F00F870 AFAB0014 */ sw $t3, 0x14($sp)
/* 0443A4 7F00F874 AFAA0010 */ sw $t2, 0x10($sp)
/* 0443A8 7F00F878 0FC025D8 */ jal write_text_at_abs_coord
/* 0443AC 7F00F87C AFAD001C */ sw $t5, 0x1c($sp)
/* 0443B0 7F00F880 00408025 */ move $s0, $v0
/* 0443B4 7F00F884 0FC30776 */ jal get_textptr_for_textID
/* 0443B8 7F00F888 34049C2A */ li $a0, 39978
/* 0443BC 7F00F88C 24190039 */ li $t9, 57
/* 0443C0 7F00F890 240300A4 */ li $v1, 164
/* 0443C4 7F00F894 241800C0 */ li $t8, 192
/* 0443C8 7F00F898 24080032 */ li $t0, 50
/* 0443CC 7F00F89C AFA20C14 */ sw $v0, 0xc14($sp)
/* 0443D0 7F00F8A0 AFB90C10 */ sw $t9, 0xc10($sp)
/* 0443D4 7F00F8A4 AFA80014 */ sw $t0, 0x14($sp)
/* 0443D8 7F00F8A8 AFB80010 */ sw $t8, 0x10($sp)
/* 0443DC 7F00F8AC AFA30C0C */ sw $v1, 0xc0c($sp)
/* 0443E0 7F00F8B0 02002025 */ move $a0, $s0
/* 0443E4 7F00F8B4 24050037 */ li $a1, 55
/* 0443E8 7F00F8B8 240600B5 */ li $a2, 181
/* 0443EC 7F00F8BC 0FC2B405 */ jal microcode_constructor_related_to_menus
/* 0443F0 7F00F8C0 24070163 */ li $a3, 355
/* 0443F4 7F00F8C4 3C018003 */ lui $at, %hi(slider_007_mode_health)
/* 0443F8 7F00F8C8 C424A9A4 */ lwc1 $f4, %lo(slider_007_mode_health)($at)
/* 0443FC 7F00F8CC 3C014120 */ li $at, 0x41200000 # 10.000000
/* 044400 7F00F8D0 44813000 */ mtc1 $at, $f6
/* 044404 7F00F8D4 00408025 */ move $s0, $v0
/* 044408 7F00F8D8 0C007DF8 */ jal sqrtf
/* 04440C 7F00F8DC 46062303 */ div.s $f12, $f4, $f6
/* 044410 7F00F8E0 3C014396 */ li $at, 0x43960000 # 300.000000
/* 044414 7F00F8E4 44814000 */ mtc1 $at, $f8
/* 044418 7F00F8E8 8FA30C0C */ lw $v1, 0xc0c($sp)
/* 04441C 7F00F8EC 24090064 */ li $t1, 100
/* 044420 7F00F8F0 46080282 */ mul.s $f10, $f0, $f8
/* 044424 7F00F8F4 246E001C */ addiu $t6, $v1, 0x1c
/* 044428 7F00F8F8 AFAE0010 */ sw $t6, 0x10($sp)
/* 04442C 7F00F8FC AFA90014 */ sw $t1, 0x14($sp)
/* 044430 7F00F900 02002025 */ move $a0, $s0
/* 044434 7F00F904 24050037 */ li $a1, 55
/* 044438 7F00F908 24660011 */ addiu $a2, $v1, 0x11
/* 04443C 7F00F90C 4600540D */ trunc.w.s $f16, $f10
/* 044440 7F00F910 44078000 */ mfc1 $a3, $f16
/* 044444 7F00F914 0FC2B405 */ jal microcode_constructor_related_to_menus
/* 044448 7F00F918 24E70037 */ addiu $a3, $a3, 0x37
/* 04444C 7F00F91C 3C0A8007 */ lui $t2, %hi(highlight_enemy_health)
/* 044450 7F00F920 8D4A9798 */ lw $t2, %lo(highlight_enemy_health)($t2)
/* 044454 7F00F924 00408025 */ move $s0, $v0
/* 044458 7F00F928 1140000C */ beqz $t2, .L7F00F95C
/* 04445C 7F00F92C 00000000 */ nop
/* 044460 7F00F930 8FA30C0C */ lw $v1, 0xc0c($sp)
/* 044464 7F00F934 240C0032 */ li $t4, 50
/* 044468 7F00F938 AFAC0014 */ sw $t4, 0x14($sp)
/* 04446C 7F00F93C 246B000E */ addiu $t3, $v1, 0xe
/* 044470 7F00F940 AFAB0010 */ sw $t3, 0x10($sp)
/* 044474 7F00F944 00402025 */ move $a0, $v0
/* 044478 7F00F948 24050037 */ li $a1, 55
/* 04447C 7F00F94C 240700C7 */ li $a3, 199
/* 044480 7F00F950 0FC2B405 */ jal microcode_constructor_related_to_menus
/* 044484 7F00F954 2466FFFF */ addiu $a2, $v1, -1
/* 044488 7F00F958 00408025 */ move $s0, $v0
.L7F00F95C:
/* 04448C 7F00F95C 0C001107 */ jal viGetX
/* 044490 7F00F960 00000000 */ nop
/* 044494 7F00F964 0C00110B */ jal viGetY
/* 044498 7F00F968 A7A20044 */ sh $v0, 0x44($sp)
/* 04449C 7F00F96C 3C0D8004 */ lui $t5, %hi(ptrSecondFontTableLarge)
/* 0444A0 7F00F970 3C198004 */ lui $t9, %hi(ptrFirstFontTableLarge)
/* 0444A4 7F00F974 8F390EB4 */ lw $t9, %lo(ptrFirstFontTableLarge)($t9)
/* 0444A8 7F00F978 8DAD0EB8 */ lw $t5, %lo(ptrSecondFontTableLarge)($t5)
/* 0444AC 7F00F97C 87A80044 */ lh $t0, 0x44($sp)
/* 0444B0 7F00F980 241800FF */ li $t8, 255
/* 0444B4 7F00F984 AFB80018 */ sw $t8, 0x18($sp)
/* 0444B8 7F00F988 02002025 */ move $a0, $s0
/* 0444BC 7F00F98C 27A50C10 */ addiu $a1, $sp, 0xc10
/* 0444C0 7F00F990 27A60C0C */ addiu $a2, $sp, 0xc0c
/* 0444C4 7F00F994 8FA70C14 */ lw $a3, 0xc14($sp)
/* 0444C8 7F00F998 AFA20020 */ sw $v0, 0x20($sp)
/* 0444CC 7F00F99C AFA00024 */ sw $zero, 0x24($sp)
/* 0444D0 7F00F9A0 AFA00028 */ sw $zero, 0x28($sp)
/* 0444D4 7F00F9A4 AFB90014 */ sw $t9, 0x14($sp)
/* 0444D8 7F00F9A8 AFAD0010 */ sw $t5, 0x10($sp)
/* 0444DC 7F00F9AC 0FC025D8 */ jal write_text_at_abs_coord
/* 0444E0 7F00F9B0 AFA8001C */ sw $t0, 0x1c($sp)
/* 0444E4 7F00F9B4 3C018003 */ lui $at, %hi(slider_007_mode_health)
/* 0444E8 7F00F9B8 C432A9A4 */ lwc1 $f18, %lo(slider_007_mode_health)($at)
/* 0444EC 7F00F9BC 3C0142C8 */ li $at, 0x42C80000 # 100.000000
/* 0444F0 7F00F9C0 44812000 */ mtc1 $at, $f4
/* 0444F4 7F00F9C4 3C058005 */ lui $a1, %hi(aD)
/* 0444F8 7F00F9C8 00408025 */ move $s0, $v0
/* 0444FC 7F00F9CC 46049182 */ mul.s $f6, $f18, $f4
/* 044500 7F00F9D0 24A50C2C */ addiu $a1, %lo(aD) # addiu $a1, $a1, 0xc2c
/* 044504 7F00F9D4 27A40054 */ addiu $a0, $sp, 0x54
/* 044508 7F00F9D8 4600320D */ trunc.w.s $f8, $f6
/* 04450C 7F00F9DC 44064000 */ mfc1 $a2, $f8
/* 044510 7F00F9E0 0C002B25 */ jal sprintf
/* 044514 7F00F9E4 00000000 */ nop
/* 044518 7F00F9E8 3C0E8004 */ lui $t6, %hi(ptrFirstFontTableLarge)
/* 04451C 7F00F9EC 8DCE0EB4 */ lw $t6, %lo(ptrFirstFontTableLarge)($t6)
/* 044520 7F00F9F0 3C078004 */ lui $a3, %hi(ptrSecondFontTableLarge)
/* 044524 7F00F9F4 AFA0004C */ sw $zero, 0x4c($sp)
/* 044528 7F00F9F8 AFA00050 */ sw $zero, 0x50($sp)
/* 04452C 7F00F9FC 8CE70EB8 */ lw $a3, %lo(ptrSecondFontTableLarge)($a3)
/* 044530 7F00FA00 27A40050 */ addiu $a0, $sp, 0x50
/* 044534 7F00FA04 27A5004C */ addiu $a1, $sp, 0x4c
/* 044538 7F00FA08 27A60054 */ addiu $a2, $sp, 0x54
/* 04453C 7F00FA0C AFA00014 */ sw $zero, 0x14($sp)
/* 044540 7F00FA10 0FC2BA63 */ jal sub_GAME_7F0AE98C
/* 044544 7F00FA14 AFAE0010 */ sw $t6, 0x10($sp)
/* 044548 7F00FA18 8FA9004C */ lw $t1, 0x4c($sp)
/* 04454C 7F00FA1C 240A011D */ li $t2, 285
/* 044550 7F00FA20 240300A4 */ li $v1, 164
/* 044554 7F00FA24 01495823 */ subu $t3, $t2, $t1
/* 044558 7F00FA28 AFAB0C10 */ sw $t3, 0xc10($sp)
/* 04455C 7F00FA2C 0C001107 */ jal viGetX
/* 044560 7F00FA30 AFA30C0C */ sw $v1, 0xc0c($sp)
/* 044564 7F00FA34 0C00110B */ jal viGetY
/* 044568 7F00FA38 A7A20044 */ sh $v0, 0x44($sp)
/* 04456C 7F00FA3C 3C0C8004 */ lui $t4, %hi(ptrSecondFontTableLarge)
/* 044570 7F00FA40 3C0D8004 */ lui $t5, %hi(ptrFirstFontTableLarge)
/* 044574 7F00FA44 8DAD0EB4 */ lw $t5, %lo(ptrFirstFontTableLarge)($t5)
/* 044578 7F00FA48 8D8C0EB8 */ lw $t4, %lo(ptrSecondFontTableLarge)($t4)
/* 04457C 7F00FA4C 87B80044 */ lh $t8, 0x44($sp)
/* 044580 7F00FA50 241900FF */ li $t9, 255
/* 044584 7F00FA54 AFB90018 */ sw $t9, 0x18($sp)
/* 044588 7F00FA58 02002025 */ move $a0, $s0
/* 04458C 7F00FA5C 27A50C10 */ addiu $a1, $sp, 0xc10
/* 044590 7F00FA60 27A60C0C */ addiu $a2, $sp, 0xc0c
/* 044594 7F00FA64 27A70054 */ addiu $a3, $sp, 0x54
/* 044598 7F00FA68 AFA20020 */ sw $v0, 0x20($sp)
/* 04459C 7F00FA6C AFA00024 */ sw $zero, 0x24($sp)
/* 0445A0 7F00FA70 AFA00028 */ sw $zero, 0x28($sp)
/* 0445A4 7F00FA74 AFAD0014 */ sw $t5, 0x14($sp)
/* 0445A8 7F00FA78 AFAC0010 */ sw $t4, 0x10($sp)
/* 0445AC 7F00FA7C 0FC025D8 */ jal write_text_at_abs_coord
/* 0445B0 7F00FA80 AFB8001C */ sw $t8, 0x1c($sp)
/* 0445B4 7F00FA84 00408025 */ move $s0, $v0
/* 0445B8 7F00FA88 0FC30776 */ jal get_textptr_for_textID
/* 0445BC 7F00FA8C 34049C2B */ li $a0, 39979
/* 0445C0 7F00FA90 24080039 */ li $t0, 57
/* 0445C4 7F00FA94 240300C5 */ li $v1, 197
/* 0445C8 7F00FA98 240F00E1 */ li $t7, 225
/* 0445CC 7F00FA9C 240E0032 */ li $t6, 50
/* 0445D0 7F00FAA0 AFA20C14 */ sw $v0, 0xc14($sp)
/* 0445D4 7F00FAA4 AFA80C10 */ sw $t0, 0xc10($sp)
/* 0445D8 7F00FAA8 AFAE0014 */ sw $t6, 0x14($sp)
/* 0445DC 7F00FAAC AFAF0010 */ sw $t7, 0x10($sp)
/* 0445E0 7F00FAB0 AFA30C0C */ sw $v1, 0xc0c($sp)
/* 0445E4 7F00FAB4 02002025 */ move $a0, $s0
/* 0445E8 7F00FAB8 24050037 */ li $a1, 55
/* 0445EC 7F00FABC 240600D6 */ li $a2, 214
/* 0445F0 7F00FAC0 0FC2B405 */ jal microcode_constructor_related_to_menus
/* 0445F4 7F00FAC4 24070163 */ li $a3, 355
/* 0445F8 7F00FAC8 3C018003 */ lui $at, %hi(slider_007_mode_accuracy)
/* 0445FC 7F00FACC C42AA9A8 */ lwc1 $f10, %lo(slider_007_mode_accuracy)($at)
/* 044600 7F00FAD0 3C014120 */ li $at, 0x41200000 # 10.000000
/* 044604 7F00FAD4 44818000 */ mtc1 $at, $f16
/* 044608 7F00FAD8 00408025 */ move $s0, $v0
/* 04460C 7F00FADC 0C007DF8 */ jal sqrtf
/* 044610 7F00FAE0 46105303 */ div.s $f12, $f10, $f16
/* 044614 7F00FAE4 3C014396 */ li $at, 0x43960000 # 300.000000
/* 044618 7F00FAE8 44819000 */ mtc1 $at, $f18
/* 04461C 7F00FAEC 8FA30C0C */ lw $v1, 0xc0c($sp)
/* 044620 7F00FAF0 240B0064 */ li $t3, 100
/* 044624 7F00FAF4 46120102 */ mul.s $f4, $f0, $f18
/* 044628 7F00FAF8 2469001C */ addiu $t1, $v1, 0x1c
/* 04462C 7F00FAFC AFA90010 */ sw $t1, 0x10($sp)
/* 044630 7F00FB00 AFAB0014 */ sw $t3, 0x14($sp)
/* 044634 7F00FB04 02002025 */ move $a0, $s0
/* 044638 7F00FB08 24050037 */ li $a1, 55
/* 04463C 7F00FB0C 24660011 */ addiu $a2, $v1, 0x11
/* 044640 7F00FB10 4600218D */ trunc.w.s $f6, $f4
/* 044644 7F00FB14 44073000 */ mfc1 $a3, $f6
/* 044648 7F00FB18 0FC2B405 */ jal microcode_constructor_related_to_menus
/* 04464C 7F00FB1C 24E70037 */ addiu $a3, $a3, 0x37
/* 044650 7F00FB20 3C0C8007 */ lui $t4, %hi(highlight_enemy_accuracy)
/* 044654 7F00FB24 8D8C979C */ lw $t4, %lo(highlight_enemy_accuracy)($t4)
/* 044658 7F00FB28 00408025 */ move $s0, $v0
/* 04465C 7F00FB2C 1180000C */ beqz $t4, .L7F00FB60
/* 044660 7F00FB30 00000000 */ nop
/* 044664 7F00FB34 8FA30C0C */ lw $v1, 0xc0c($sp)
/* 044668 7F00FB38 24190032 */ li $t9, 50
/* 04466C 7F00FB3C AFB90014 */ sw $t9, 0x14($sp)
/* 044670 7F00FB40 246D000E */ addiu $t5, $v1, 0xe
/* 044674 7F00FB44 AFAD0010 */ sw $t5, 0x10($sp)
/* 044678 7F00FB48 00402025 */ move $a0, $v0
/* 04467C 7F00FB4C 24050037 */ li $a1, 55
/* 044680 7F00FB50 240700C7 */ li $a3, 199
/* 044684 7F00FB54 0FC2B405 */ jal microcode_constructor_related_to_menus
/* 044688 7F00FB58 2466FFFF */ addiu $a2, $v1, -1
/* 04468C 7F00FB5C 00408025 */ move $s0, $v0
.L7F00FB60:
/* 044690 7F00FB60 0C001107 */ jal viGetX
/* 044694 7F00FB64 00000000 */ nop
/* 044698 7F00FB68 0C00110B */ jal viGetY
/* 04469C 7F00FB6C A7A20044 */ sh $v0, 0x44($sp)
/* 0446A0 7F00FB70 3C188004 */ lui $t8, %hi(ptrSecondFontTableLarge)
/* 0446A4 7F00FB74 3C088004 */ lui $t0, %hi(ptrFirstFontTableLarge)
/* 0446A8 7F00FB78 8D080EB4 */ lw $t0, %lo(ptrFirstFontTableLarge)($t0)
/* 0446AC 7F00FB7C 8F180EB8 */ lw $t8, %lo(ptrSecondFontTableLarge)($t8)
/* 0446B0 7F00FB80 87AE0044 */ lh $t6, 0x44($sp)
/* 0446B4 7F00FB84 240F00FF */ li $t7, 255
/* 0446B8 7F00FB88 AFAF0018 */ sw $t7, 0x18($sp)
/* 0446BC 7F00FB8C 02002025 */ move $a0, $s0
/* 0446C0 7F00FB90 27A50C10 */ addiu $a1, $sp, 0xc10
/* 0446C4 7F00FB94 27A60C0C */ addiu $a2, $sp, 0xc0c
/* 0446C8 7F00FB98 8FA70C14 */ lw $a3, 0xc14($sp)
/* 0446CC 7F00FB9C AFA20020 */ sw $v0, 0x20($sp)
/* 0446D0 7F00FBA0 AFA00024 */ sw $zero, 0x24($sp)
/* 0446D4 7F00FBA4 AFA00028 */ sw $zero, 0x28($sp)
/* 0446D8 7F00FBA8 AFA80014 */ sw $t0, 0x14($sp)
/* 0446DC 7F00FBAC AFB80010 */ sw $t8, 0x10($sp)
/* 0446E0 7F00FBB0 0FC025D8 */ jal write_text_at_abs_coord
/* 0446E4 7F00FBB4 AFAE001C */ sw $t6, 0x1c($sp)
/* 0446E8 7F00FBB8 3C018003 */ lui $at, %hi(slider_007_mode_accuracy)
/* 0446EC 7F00FBBC C428A9A8 */ lwc1 $f8, %lo(slider_007_mode_accuracy)($at)
/* 0446F0 7F00FBC0 3C0142C8 */ li $at, 0x42C80000 # 100.000000
/* 0446F4 7F00FBC4 44815000 */ mtc1 $at, $f10
/* 0446F8 7F00FBC8 3C058005 */ lui $a1, %hi(aD_0)
/* 0446FC 7F00FBCC 00408025 */ move $s0, $v0
/* 044700 7F00FBD0 460A4402 */ mul.s $f16, $f8, $f10
/* 044704 7F00FBD4 24A50C34 */ addiu $a1, %lo(aD_0) # addiu $a1, $a1, 0xc34
/* 044708 7F00FBD8 27A40054 */ addiu $a0, $sp, 0x54
/* 04470C 7F00FBDC 4600848D */ trunc.w.s $f18, $f16
/* 044710 7F00FBE0 44069000 */ mfc1 $a2, $f18
/* 044714 7F00FBE4 0C002B25 */ jal sprintf
/* 044718 7F00FBE8 00000000 */ nop
/* 04471C 7F00FBEC 3C098004 */ lui $t1, %hi(ptrFirstFontTableLarge)
/* 044720 7F00FBF0 8D290EB4 */ lw $t1, %lo(ptrFirstFontTableLarge)($t1)
/* 044724 7F00FBF4 3C078004 */ lui $a3, %hi(ptrSecondFontTableLarge)
/* 044728 7F00FBF8 AFA0004C */ sw $zero, 0x4c($sp)
/* 04472C 7F00FBFC AFA00050 */ sw $zero, 0x50($sp)
/* 044730 7F00FC00 8CE70EB8 */ lw $a3, %lo(ptrSecondFontTableLarge)($a3)
/* 044734 7F00FC04 27A40050 */ addiu $a0, $sp, 0x50
/* 044738 7F00FC08 27A5004C */ addiu $a1, $sp, 0x4c
/* 04473C 7F00FC0C 27A60054 */ addiu $a2, $sp, 0x54
/* 044740 7F00FC10 AFA00014 */ sw $zero, 0x14($sp)
/* 044744 7F00FC14 0FC2BA63 */ jal sub_GAME_7F0AE98C
/* 044748 7F00FC18 AFA90010 */ sw $t1, 0x10($sp)
/* 04474C 7F00FC1C 8FAB004C */ lw $t3, 0x4c($sp)
/* 044750 7F00FC20 240C011D */ li $t4, 285
/* 044754 7F00FC24 240300C5 */ li $v1, 197
/* 044758 7F00FC28 018B6823 */ subu $t5, $t4, $t3
/* 04475C 7F00FC2C AFAD0C10 */ sw $t5, 0xc10($sp)
/* 044760 7F00FC30 0C001107 */ jal viGetX
/* 044764 7F00FC34 AFA30C0C */ sw $v1, 0xc0c($sp)
/* 044768 7F00FC38 0C00110B */ jal viGetY
/* 04476C 7F00FC3C A7A20044 */ sh $v0, 0x44($sp)
/* 044770 7F00FC40 3C198004 */ lui $t9, %hi(ptrSecondFontTableLarge)
/* 044774 7F00FC44 3C188004 */ lui $t8, %hi(ptrFirstFontTableLarge)
/* 044778 7F00FC48 8F180EB4 */ lw $t8, %lo(ptrFirstFontTableLarge)($t8)
/* 04477C 7F00FC4C 8F390EB8 */ lw $t9, %lo(ptrSecondFontTableLarge)($t9)
/* 044780 7F00FC50 87AF0044 */ lh $t7, 0x44($sp)
/* 044784 7F00FC54 240800FF */ li $t0, 255
/* 044788 7F00FC58 AFA80018 */ sw $t0, 0x18($sp)
/* 04478C 7F00FC5C 02002025 */ move $a0, $s0
/* 044790 7F00FC60 27A50C10 */ addiu $a1, $sp, 0xc10
/* 044794 7F00FC64 27A60C0C */ addiu $a2, $sp, 0xc0c
/* 044798 7F00FC68 27A70054 */ addiu $a3, $sp, 0x54
/* 04479C 7F00FC6C AFA20020 */ sw $v0, 0x20($sp)
/* 0447A0 7F00FC70 AFA00024 */ sw $zero, 0x24($sp)
/* 0447A4 7F00FC74 AFA00028 */ sw $zero, 0x28($sp)
/* 0447A8 7F00FC78 AFB80014 */ sw $t8, 0x14($sp)
/* 0447AC 7F00FC7C AFB90010 */ sw $t9, 0x10($sp)
/* 0447B0 7F00FC80 0FC025D8 */ jal write_text_at_abs_coord
/* 0447B4 7F00FC84 AFAF001C */ sw $t7, 0x1c($sp)
/* 0447B8 7F00FC88 00408025 */ move $s0, $v0
/* 0447BC 7F00FC8C 0FC30776 */ jal get_textptr_for_textID
/* 0447C0 7F00FC90 34049C2C */ li $a0, 39980
/* 0447C4 7F00FC94 240E0039 */ li $t6, 57
/* 0447C8 7F00FC98 240300E6 */ li $v1, 230
/* 0447CC 7F00FC9C 240A0102 */ li $t2, 258
/* 0447D0 7F00FCA0 24090032 */ li $t1, 50
/* 0447D4 7F00FCA4 AFA20C14 */ sw $v0, 0xc14($sp)
/* 0447D8 7F00FCA8 AFAE0C10 */ sw $t6, 0xc10($sp)
/* 0447DC 7F00FCAC AFA90014 */ sw $t1, 0x14($sp)
/* 0447E0 7F00FCB0 AFAA0010 */ sw $t2, 0x10($sp)
/* 0447E4 7F00FCB4 AFA30C0C */ sw $v1, 0xc0c($sp)
/* 0447E8 7F00FCB8 02002025 */ move $a0, $s0
/* 0447EC 7F00FCBC 24050037 */ li $a1, 55
/* 0447F0 7F00FCC0 240600F7 */ li $a2, 247
/* 0447F4 7F00FCC4 0FC2B405 */ jal microcode_constructor_related_to_menus
/* 0447F8 7F00FCC8 24070163 */ li $a3, 355
/* 0447FC 7F00FCCC 3C018003 */ lui $at, %hi(slider_007_mode_damage)
/* 044800 7F00FCD0 C424A9AC */ lwc1 $f4, %lo(slider_007_mode_damage)($at)
/* 044804 7F00FCD4 3C014120 */ li $at, 0x41200000 # 10.000000
/* 044808 7F00FCD8 44813000 */ mtc1 $at, $f6
/* 04480C 7F00FCDC 00408025 */ move $s0, $v0
/* 044810 7F00FCE0 0C007DF8 */ jal sqrtf
/* 044814 7F00FCE4 46062303 */ div.s $f12, $f4, $f6
/* 044818 7F00FCE8 3C014396 */ li $at, 0x43960000 # 300.000000
/* 04481C 7F00FCEC 44814000 */ mtc1 $at, $f8
/* 044820 7F00FCF0 8FA30C0C */ lw $v1, 0xc0c($sp)
/* 044824 7F00FCF4 240D0064 */ li $t5, 100
/* 044828 7F00FCF8 46080282 */ mul.s $f10, $f0, $f8
/* 04482C 7F00FCFC 246B001C */ addiu $t3, $v1, 0x1c
/* 044830 7F00FD00 AFAB0010 */ sw $t3, 0x10($sp)
/* 044834 7F00FD04 AFAD0014 */ sw $t5, 0x14($sp)
/* 044838 7F00FD08 02002025 */ move $a0, $s0
/* 04483C 7F00FD0C 24050037 */ li $a1, 55
/* 044840 7F00FD10 24660011 */ addiu $a2, $v1, 0x11
/* 044844 7F00FD14 4600540D */ trunc.w.s $f16, $f10
/* 044848 7F00FD18 44078000 */ mfc1 $a3, $f16
/* 04484C 7F00FD1C 0FC2B405 */ jal microcode_constructor_related_to_menus
/* 044850 7F00FD20 24E70037 */ addiu $a3, $a3, 0x37
/* 044854 7F00FD24 3C198007 */ lui $t9, %hi(highlight_enemy_damage)
/* 044858 7F00FD28 8F3997A0 */ lw $t9, %lo(highlight_enemy_damage)($t9)
/* 04485C 7F00FD2C 00408025 */ move $s0, $v0
/* 044860 7F00FD30 1320000C */ beqz $t9, .L7F00FD64
/* 044864 7F00FD34 00000000 */ nop
/* 044868 7F00FD38 8FA30C0C */ lw $v1, 0xc0c($sp)
/* 04486C 7F00FD3C 24080032 */ li $t0, 50
/* 044870 7F00FD40 AFA80014 */ sw $t0, 0x14($sp)
/* 044874 7F00FD44 2478000E */ addiu $t8, $v1, 0xe
/* 044878 7F00FD48 AFB80010 */ sw $t8, 0x10($sp)
/* 04487C 7F00FD4C 00402025 */ move $a0, $v0
/* 044880 7F00FD50 24050037 */ li $a1, 55
/* 044884 7F00FD54 240700C7 */ li $a3, 199
/* 044888 7F00FD58 0FC2B405 */ jal microcode_constructor_related_to_menus
/* 04488C 7F00FD5C 2466FFFF */ addiu $a2, $v1, -1
/* 044890 7F00FD60 00408025 */ move $s0, $v0
.L7F00FD64:
/* 044894 7F00FD64 0C001107 */ jal viGetX
/* 044898 7F00FD68 00000000 */ nop
/* 04489C 7F00FD6C 0C00110B */ jal viGetY
/* 0448A0 7F00FD70 A7A20044 */ sh $v0, 0x44($sp)
/* 0448A4 7F00FD74 3C0F8004 */ lui $t7, %hi(ptrSecondFontTableLarge)
/* 0448A8 7F00FD78 3C0E8004 */ lui $t6, %hi(ptrFirstFontTableLarge)
/* 0448AC 7F00FD7C 8DCE0EB4 */ lw $t6, %lo(ptrFirstFontTableLarge)($t6)
/* 0448B0 7F00FD80 8DEF0EB8 */ lw $t7, %lo(ptrSecondFontTableLarge)($t7)
/* 0448B4 7F00FD84 87A90044 */ lh $t1, 0x44($sp)
/* 0448B8 7F00FD88 240A00FF */ li $t2, 255
/* 0448BC 7F00FD8C AFAA0018 */ sw $t2, 0x18($sp)
/* 0448C0 7F00FD90 02002025 */ move $a0, $s0
/* 0448C4 7F00FD94 27A50C10 */ addiu $a1, $sp, 0xc10
/* 0448C8 7F00FD98 27A60C0C */ addiu $a2, $sp, 0xc0c
/* 0448CC 7F00FD9C 8FA70C14 */ lw $a3, 0xc14($sp)
/* 0448D0 7F00FDA0 AFA20020 */ sw $v0, 0x20($sp)
/* 0448D4 7F00FDA4 AFA00024 */ sw $zero, 0x24($sp)
/* 0448D8 7F00FDA8 AFA00028 */ sw $zero, 0x28($sp)
/* 0448DC 7F00FDAC AFAE0014 */ sw $t6, 0x14($sp)
/* 0448E0 7F00FDB0 AFAF0010 */ sw $t7, 0x10($sp)
/* 0448E4 7F00FDB4 0FC025D8 */ jal write_text_at_abs_coord
/* 0448E8 7F00FDB8 AFA9001C */ sw $t1, 0x1c($sp)
/* 0448EC 7F00FDBC 3C018003 */ lui $at, %hi(slider_007_mode_damage)
/* 0448F0 7F00FDC0 C432A9AC */ lwc1 $f18, %lo(slider_007_mode_damage)($at)
/* 0448F4 7F00FDC4 3C014120 */ li $at, 0x41200000 # 10.000000
/* 0448F8 7F00FDC8 44812000 */ mtc1 $at, $f4
/* 0448FC 7F00FDCC 3C058005 */ lui $a1, %hi(aD_1)
/* 044900 7F00FDD0 00408025 */ move $s0, $v0
/* 044904 7F00FDD4 46049182 */ mul.s $f6, $f18, $f4
/* 044908 7F00FDD8 24A50C3C */ addiu $a1, %lo(aD_1) # addiu $a1, $a1, 0xc3c
/* 04490C 7F00FDDC 27A40054 */ addiu $a0, $sp, 0x54
/* 044910 7F00FDE0 4600320D */ trunc.w.s $f8, $f6
/* 044914 7F00FDE4 44064000 */ mfc1 $a2, $f8
/* 044918 7F00FDE8 0C002B25 */ jal sprintf
/* 04491C 7F00FDEC 00000000 */ nop
/* 044920 7F00FDF0 3C0B8004 */ lui $t3, %hi(ptrFirstFontTableLarge)
/* 044924 7F00FDF4 8D6B0EB4 */ lw $t3, %lo(ptrFirstFontTableLarge)($t3)
/* 044928 7F00FDF8 3C078004 */ lui $a3, %hi(ptrSecondFontTableLarge)
/* 04492C 7F00FDFC AFA0004C */ sw $zero, 0x4c($sp)
/* 044930 7F00FE00 AFA00050 */ sw $zero, 0x50($sp)
/* 044934 7F00FE04 8CE70EB8 */ lw $a3, %lo(ptrSecondFontTableLarge)($a3)
/* 044938 7F00FE08 27A40050 */ addiu $a0, $sp, 0x50
/* 04493C 7F00FE0C 27A5004C */ addiu $a1, $sp, 0x4c
/* 044940 7F00FE10 27A60054 */ addiu $a2, $sp, 0x54
/* 044944 7F00FE14 AFA00014 */ sw $zero, 0x14($sp)
/* 044948 7F00FE18 0FC2BA63 */ jal sub_GAME_7F0AE98C
/* 04494C 7F00FE1C AFAB0010 */ sw $t3, 0x10($sp)
/* 044950 7F00FE20 8FAD004C */ lw $t5, 0x4c($sp)
/* 044954 7F00FE24 2419011D */ li $t9, 285
/* 044958 7F00FE28 240300E6 */ li $v1, 230
/* 04495C 7F00FE2C 032DC023 */ subu $t8, $t9, $t5
/* 044960 7F00FE30 AFB80C10 */ sw $t8, 0xc10($sp)
/* 044964 7F00FE34 0C001107 */ jal viGetX
/* 044968 7F00FE38 AFA30C0C */ sw $v1, 0xc0c($sp)
/* 04496C 7F00FE3C 0C00110B */ jal viGetY
/* 044970 7F00FE40 A7A20044 */ sh $v0, 0x44($sp)
/* 044974 7F00FE44 3C088004 */ lui $t0, %hi(ptrSecondFontTableLarge)
/* 044978 7F00FE48 3C0F8004 */ lui $t7, %hi(ptrFirstFontTableLarge)
/* 04497C 7F00FE4C 8DEF0EB4 */ lw $t7, %lo(ptrFirstFontTableLarge)($t7)
/* 044980 7F00FE50 8D080EB8 */ lw $t0, %lo(ptrSecondFontTableLarge)($t0)
/* 044984 7F00FE54 87AA0044 */ lh $t2, 0x44($sp)
/* 044988 7F00FE58 240E00FF */ li $t6, 255
/* 04498C 7F00FE5C AFAE0018 */ sw $t6, 0x18($sp)
/* 044990 7F00FE60 02002025 */ move $a0, $s0
/* 044994 7F00FE64 27A50C10 */ addiu $a1, $sp, 0xc10
/* 044998 7F00FE68 27A60C0C */ addiu $a2, $sp, 0xc0c
/* 04499C 7F00FE6C 27A70054 */ addiu $a3, $sp, 0x54
/* 0449A0 7F00FE70 AFA20020 */ sw $v0, 0x20($sp)
/* 0449A4 7F00FE74 AFA00024 */ sw $zero, 0x24($sp)
/* 0449A8 7F00FE78 AFA00028 */ sw $zero, 0x28($sp)
/* 0449AC 7F00FE7C AFAF0014 */ sw $t7, 0x14($sp)
/* 0449B0 7F00FE80 AFA80010 */ sw $t0, 0x10($sp)
/* 0449B4 7F00FE84 0FC025D8 */ jal write_text_at_abs_coord
/* 0449B8 7F00FE88 AFAA001C */ sw $t2, 0x1c($sp)
/* 0449BC 7F00FE8C 00408025 */ move $s0, $v0
/* 0449C0 7F00FE90 0FC30776 */ jal get_textptr_for_textID
/* 0449C4 7F00FE94 34049C29 */ li $a0, 39977
/* 0449C8 7F00FE98 24090039 */ li $t1, 57
/* 0449CC 7F00FE9C 24030107 */ li $v1, 263
/* 0449D0 7F00FEA0 240C0123 */ li $t4, 291
/* 0449D4 7F00FEA4 240B0032 */ li $t3, 50
/* 0449D8 7F00FEA8 AFA20C14 */ sw $v0, 0xc14($sp)
/* 0449DC 7F00FEAC AFA90C10 */ sw $t1, 0xc10($sp)
/* 0449E0 7F00FEB0 AFAB0014 */ sw $t3, 0x14($sp)
/* 0449E4 7F00FEB4 AFAC0010 */ sw $t4, 0x10($sp)
/* 0449E8 7F00FEB8 AFA30C0C */ sw $v1, 0xc0c($sp)
/* 0449EC 7F00FEBC 02002025 */ move $a0, $s0
/* 0449F0 7F00FEC0 24050037 */ li $a1, 55
/* 0449F4 7F00FEC4 24060118 */ li $a2, 280
/* 0449F8 7F00FEC8 0FC2B405 */ jal microcode_constructor_related_to_menus
/* 0449FC 7F00FECC 24070163 */ li $a3, 355
/* 044A00 7F00FED0 3C018003 */ lui $at, %hi(slider_007_mode_reaction)
/* 044A04 7F00FED4 C42AA9A0 */ lwc1 $f10, %lo(slider_007_mode_reaction)($at)
/* 044A08 7F00FED8 3C014396 */ li $at, 0x43960000 # 300.000000
/* 044A0C 7F00FEDC 44818000 */ mtc1 $at, $f16
/* 044A10 7F00FEE0 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 044A14 7F00FEE4 44812000 */ mtc1 $at, $f4
/* 044A18 7F00FEE8 46105482 */ mul.s $f18, $f10, $f16
/* 044A1C 7F00FEEC 8FA30C0C */ lw $v1, 0xc0c($sp)
/* 044A20 7F00FEF0 24180064 */ li $t8, 100
/* 044A24 7F00FEF4 AFB80014 */ sw $t8, 0x14($sp)
/* 044A28 7F00FEF8 246D001C */ addiu $t5, $v1, 0x1c
/* 044A2C 7F00FEFC AFAD0010 */ sw $t5, 0x10($sp)
/* 044A30 7F00FF00 00402025 */ move $a0, $v0
/* 044A34 7F00FF04 46049182 */ mul.s $f6, $f18, $f4
/* 044A38 7F00FF08 24050037 */ li $a1, 55
/* 044A3C 7F00FF0C 24660011 */ addiu $a2, $v1, 0x11
/* 044A40 7F00FF10 4600320D */ trunc.w.s $f8, $f6
/* 044A44 7F00FF14 44074000 */ mfc1 $a3, $f8
/* 044A48 7F00FF18 0FC2B405 */ jal microcode_constructor_related_to_menus
/* 044A4C 7F00FF1C 24E70037 */ addiu $a3, $a3, 0x37
/* 044A50 7F00FF20 3C088007 */ lui $t0, %hi(highlight_enemy_reaction)
/* 044A54 7F00FF24 8D089794 */ lw $t0, %lo(highlight_enemy_reaction)($t0)
/* 044A58 7F00FF28 00408025 */ move $s0, $v0
/* 044A5C 7F00FF2C 1100000C */ beqz $t0, .L7F00FF60
/* 044A60 7F00FF30 00000000 */ nop
/* 044A64 7F00FF34 8FA30C0C */ lw $v1, 0xc0c($sp)
/* 044A68 7F00FF38 240E0032 */ li $t6, 50
/* 044A6C 7F00FF3C AFAE0014 */ sw $t6, 0x14($sp)
/* 044A70 7F00FF40 246F000E */ addiu $t7, $v1, 0xe
/* 044A74 7F00FF44 AFAF0010 */ sw $t7, 0x10($sp)
/* 044A78 7F00FF48 00402025 */ move $a0, $v0
/* 044A7C 7F00FF4C 24050037 */ li $a1, 55
/* 044A80 7F00FF50 240700C7 */ li $a3, 199
/* 044A84 7F00FF54 0FC2B405 */ jal microcode_constructor_related_to_menus
/* 044A88 7F00FF58 2466FFFF */ addiu $a2, $v1, -1
/* 044A8C 7F00FF5C 00408025 */ move $s0, $v0
.L7F00FF60:
/* 044A90 7F00FF60 0C001107 */ jal viGetX
/* 044A94 7F00FF64 00000000 */ nop
/* 044A98 7F00FF68 0C00110B */ jal viGetY
/* 044A9C 7F00FF6C A7A20044 */ sh $v0, 0x44($sp)
/* 044AA0 7F00FF70 3C0A8004 */ lui $t2, %hi(ptrSecondFontTableLarge)
/* 044AA4 7F00FF74 3C098004 */ lui $t1, %hi(ptrFirstFontTableLarge)
/* 044AA8 7F00FF78 8D290EB4 */ lw $t1, %lo(ptrFirstFontTableLarge)($t1)
/* 044AAC 7F00FF7C 8D4A0EB8 */ lw $t2, %lo(ptrSecondFontTableLarge)($t2)
/* 044AB0 7F00FF80 87AB0044 */ lh $t3, 0x44($sp)
/* 044AB4 7F00FF84 240C00FF */ li $t4, 255
/* 044AB8 7F00FF88 AFAC0018 */ sw $t4, 0x18($sp)
/* 044ABC 7F00FF8C 02002025 */ move $a0, $s0
/* 044AC0 7F00FF90 27A50C10 */ addiu $a1, $sp, 0xc10
/* 044AC4 7F00FF94 27A60C0C */ addiu $a2, $sp, 0xc0c
/* 044AC8 7F00FF98 8FA70C14 */ lw $a3, 0xc14($sp)
/* 044ACC 7F00FF9C AFA20020 */ sw $v0, 0x20($sp)
/* 044AD0 7F00FFA0 AFA00024 */ sw $zero, 0x24($sp)
/* 044AD4 7F00FFA4 AFA00028 */ sw $zero, 0x28($sp)
/* 044AD8 7F00FFA8 AFA90014 */ sw $t1, 0x14($sp)
/* 044ADC 7F00FFAC AFAA0010 */ sw $t2, 0x10($sp)
/* 044AE0 7F00FFB0 0FC025D8 */ jal write_text_at_abs_coord
/* 044AE4 7F00FFB4 AFAB001C */ sw $t3, 0x1c($sp)
/* 044AE8 7F00FFB8 3C018003 */ lui $at, %hi(slider_007_mode_reaction)
/* 044AEC 7F00FFBC C42AA9A0 */ lwc1 $f10, %lo(slider_007_mode_reaction)($at)
/* 044AF0 7F00FFC0 3C0142C8 */ li $at, 0x42C80000 # 100.000000
/* 044AF4 7F00FFC4 44818000 */ mtc1 $at, $f16
/* 044AF8 7F00FFC8 3C058005 */ lui $a1, %hi(aD_2)
/* 044AFC 7F00FFCC 00408025 */ move $s0, $v0
/* 044B00 7F00FFD0 46105482 */ mul.s $f18, $f10, $f16
/* 044B04 7F00FFD4 24A50C44 */ addiu $a1, %lo(aD_2) # addiu $a1, $a1, 0xc44
/* 044B08 7F00FFD8 27A40054 */ addiu $a0, $sp, 0x54
/* 044B0C 7F00FFDC 4600910D */ trunc.w.s $f4, $f18
/* 044B10 7F00FFE0 44062000 */ mfc1 $a2, $f4
/* 044B14 7F00FFE4 0C002B25 */ jal sprintf
/* 044B18 7F00FFE8 00000000 */ nop
/* 044B1C 7F00FFEC 3C0D8004 */ lui $t5, %hi(ptrFirstFontTableLarge)
/* 044B20 7F00FFF0 8DAD0EB4 */ lw $t5, %lo(ptrFirstFontTableLarge)($t5)
/* 044B24 7F00FFF4 3C078004 */ lui $a3, %hi(ptrSecondFontTableLarge)
/* 044B28 7F00FFF8 AFA0004C */ sw $zero, 0x4c($sp)
/* 044B2C 7F00FFFC AFA00050 */ sw $zero, 0x50($sp)
/* 044B30 7F010000 8CE70EB8 */ lw $a3, %lo(ptrSecondFontTableLarge)($a3)
/* 044B34 7F010004 27A40050 */ addiu $a0, $sp, 0x50
/* 044B38 7F010008 27A5004C */ addiu $a1, $sp, 0x4c
/* 044B3C 7F01000C 27A60054 */ addiu $a2, $sp, 0x54
/* 044B40 7F010010 AFA00014 */ sw $zero, 0x14($sp)
/* 044B44 7F010014 0FC2BA63 */ jal sub_GAME_7F0AE98C
/* 044B48 7F010018 AFAD0010 */ sw $t5, 0x10($sp)
/* 044B4C 7F01001C 8FB8004C */ lw $t8, 0x4c($sp)
/* 044B50 7F010020 2408011D */ li $t0, 285
/* 044B54 7F010024 24030107 */ li $v1, 263
/* 044B58 7F010028 01187823 */ subu $t7, $t0, $t8
/* 044B5C 7F01002C AFAF0C10 */ sw $t7, 0xc10($sp)
/* 044B60 7F010030 0C001107 */ jal viGetX
/* 044B64 7F010034 AFA30C0C */ sw $v1, 0xc0c($sp)
/* 044B68 7F010038 0C00110B */ jal viGetY
/* 044B6C 7F01003C A7A20044 */ sh $v0, 0x44($sp)
/* 044B70 7F010040 3C0E8004 */ lui $t6, %hi(ptrSecondFontTableLarge)
/* 044B74 7F010044 3C0A8004 */ lui $t2, %hi(ptrFirstFontTableLarge)
/* 044B78 7F010048 8D4A0EB4 */ lw $t2, %lo(ptrFirstFontTableLarge)($t2)
/* 044B7C 7F01004C 8DCE0EB8 */ lw $t6, %lo(ptrSecondFontTableLarge)($t6)
/* 044B80 7F010050 87AC0044 */ lh $t4, 0x44($sp)
/* 044B84 7F010054 240900FF */ li $t1, 255
/* 044B88 7F010058 AFA90018 */ sw $t1, 0x18($sp)
/* 044B8C 7F01005C 02002025 */ move $a0, $s0
/* 044B90 7F010060 27A50C10 */ addiu $a1, $sp, 0xc10
/* 044B94 7F010064 27A60C0C */ addiu $a2, $sp, 0xc0c
/* 044B98 7F010068 27A70054 */ addiu $a3, $sp, 0x54
/* 044B9C 7F01006C AFA20020 */ sw $v0, 0x20($sp)
/* 044BA0 7F010070 AFA00024 */ sw $zero, 0x24($sp)
/* 044BA4 7F010074 AFA00028 */ sw $zero, 0x28($sp)
/* 044BA8 7F010078 AFAA0014 */ sw $t2, 0x14($sp)
/* 044BAC 7F01007C AFAE0010 */ sw $t6, 0x10($sp)
/* 044BB0 7F010080 0FC025D8 */ jal write_text_at_abs_coord
/* 044BB4 7F010084 AFAC001C */ sw $t4, 0x1c($sp)
/* 044BB8 7F010088 0FC02820 */ jal add_tab1_start
/* 044BBC 7F01008C 00402025 */ move $a0, $v0
/* 044BC0 7F010090 0FC0288E */ jal add_tab3_previous
/* 044BC4 7F010094 00402025 */ move $a0, $v0
/* 044BC8 7F010098 0FC02905 */ jal add_tab2_next
/* 044BCC 7F01009C 00402025 */ move $a0, $v0
/* 044BD0 7F0100A0 0FC027C2 */ jal load_draw_selected_icon_folder_select
/* 044BD4 7F0100A4 00402025 */ move $a0, $v0
/* 044BD8 7F0100A8 8FBF003C */ lw $ra, 0x3c($sp)
/* 044BDC 7F0100AC 8FB00038 */ lw $s0, 0x38($sp)
/* 044BE0 7F0100B0 27BD0C18 */ addiu $sp, $sp, 0xc18
/* 044BE4 7F0100B4 03E00008 */ jr $ra
/* 044BE8 7F0100B8 00000000 */ nop
)
#endif
#ifdef NONMATCHING
s32 get_player_control_style(int playernum) {
return (&controlstyle_player)[playernum];
}
#else
GLOBAL_ASM(
.text
glabel get_player_control_style
/* 044BEC 7F0100BC 00047080 */ sll $t6, $a0, 2
/* 044BF0 7F0100C0 3C028007 */ lui $v0, %hi(controlstyle_player)
/* 044BF4 7F0100C4 004E1021 */ addu $v0, $v0, $t6
/* 044BF8 7F0100C8 03E00008 */ jr $ra
/* 044BFC 7F0100CC 8C4297B8 */ lw $v0, %lo(controlstyle_player)($v0)
)
#endif
s32 check_if_mp_stage_unlocked(s32 stage)
{
s32 players;
if (!multi_stage_setups[stage].min_player)
{
return 0;
}
players=get_selected_num_players();
if (multi_stage_setups[stage].max_player < players)
{
return 0;
}
if (multi_stage_setups[stage].unlock_after == -1)
{
return 1;
}
if (isStageUnlockedAtDifficulty(selected_folder_num, multi_stage_setups[stage].unlock_after, DIFFICULTY_AGENT))
{
return 1;
}
return 0;
}
#ifdef NONMATCHING
void *select_game_length(void)
{
s32 temp_t1;
s32 temp_t2;
s32 phi_t2;
if (scenario != 2)
{
game_length = (s32) ((s32) (game_length + 1) % 7);
return &game_length;
}
temp_t1 = game_length + 1;
temp_t2 = temp_t1 & 3;
phi_t2 = temp_t2;
if (temp_t1 < 0)
{
phi_t2 = temp_t2;
if (temp_t2 != 0)
{
phi_t2 = temp_t2 + -4;
}
}
game_length = (s32) phi_t2;
return &game_length;
}
#else
GLOBAL_ASM(
.text
glabel select_game_length
/* 044CA0 7F010170 3C0E8003 */ lui $t6, %hi(scenario)
/* 044CA4 7F010174 8DCEB540 */ lw $t6, %lo(scenario)($t6)
/* 044CA8 7F010178 24010002 */ li $at, 2
/* 044CAC 7F01017C 3C028003 */ lui $v0, %hi(game_length)
/* 044CB0 7F010180 11C1000B */ beq $t6, $at, .L7F0101B0
/* 044CB4 7F010184 2442B538 */ addiu $v0, %lo(game_length) # addiu $v0, $v0, -0x4ac8
/* 044CB8 7F010188 3C028003 */ lui $v0, %hi(game_length)
/* 044CBC 7F01018C 2442B538 */ addiu $v0, %lo(game_length) # addiu $v0, $v0, -0x4ac8
/* 044CC0 7F010190 8C4F0000 */ lw $t7, ($v0)
/* 044CC4 7F010194 24010007 */ li $at, 7
/* 044CC8 7F010198 25F80001 */ addiu $t8, $t7, 1
/* 044CCC 7F01019C 0301001A */ div $zero, $t8, $at
/* 044CD0 7F0101A0 0000C810 */ mfhi $t9
/* 044CD4 7F0101A4 AC590000 */ sw $t9, ($v0)
/* 044CD8 7F0101A8 03E00008 */ jr $ra
/* 044CDC 7F0101AC 00000000 */ nop
.L7F0101B0:
/* 044CE0 7F0101B0 8C480000 */ lw $t0, ($v0)
/* 044CE4 7F0101B4 25090001 */ addiu $t1, $t0, 1
/* 044CE8 7F0101B8 05210004 */ bgez $t1, .L7F0101CC
/* 044CEC 7F0101BC 312A0003 */ andi $t2, $t1, 3
/* 044CF0 7F0101C0 11400002 */ beqz $t2, .L7F0101CC
/* 044CF4 7F0101C4 00000000 */ nop
/* 044CF8 7F0101C8 254AFFFC */ addiu $t2, $t2, -4
.L7F0101CC:
/* 044CFC 7F0101CC AC4A0000 */ sw $t2, ($v0)
/* 044D00 7F0101D0 03E00008 */ jr $ra
/* 044D04 7F0101D4 00000000 */ nop
)
#endif
#ifdef NONMATCHING
void copy_aim_settings_to_playerdata(void)
{
player1_player_data.autoaim = mp_sight_adjust_table[aim_sight_adjustment].autoaim;
player1_player_data.sight = mp_sight_adjust_table[aim_sight_adjustment].sight;
player2_player_data.autoaim = mp_sight_adjust_table[aim_sight_adjustment].autoaim;
player2_player_data.sight = mp_sight_adjust_table[aim_sight_adjustment].sight;
player3_player_data.autoaim = mp_sight_adjust_table[aim_sight_adjustment].autoaim;
player3_player_data.sight = mp_sight_adjust_table[aim_sight_adjustment].sight;
player4_player_data.autoaim = mp_sight_adjust_table[aim_sight_adjustment].autoaim;
player4_player_data.sight = mp_sight_adjust_table[aim_sight_adjustment].sight;
}
#else
GLOBAL_ASM(
.text
glabel copy_aim_settings_to_playerdata
/* 044D08 7F0101D8 3C0E8003 */ lui $t6, %hi(aim_sight_adjustment)
/* 044D0C 7F0101DC 8DCEB53C */ lw $t6, %lo(aim_sight_adjustment)($t6)
/* 044D10 7F0101E0 3C188003 */ lui $t8, %hi(mp_sight_adjust_table)
/* 044D14 7F0101E4 2718B510 */ addiu $t8, %lo(mp_sight_adjust_table) # addiu $t8, $t8, -0x4af0
/* 044D18 7F0101E8 000E7880 */ sll $t7, $t6, 2
/* 044D1C 7F0101EC 01F81021 */ addu $v0, $t7, $t8
/* 044D20 7F0101F0 90430003 */ lbu $v1, 3($v0)
/* 044D24 7F0101F4 3C018008 */ lui $at, %hi(player1_player_data+0x6A)
/* 044D28 7F0101F8 A0239F5A */ sb $v1, %lo(player1_player_data+0x6A)($at)
/* 044D2C 7F0101FC 90440002 */ lbu $a0, 2($v0)
/* 044D30 7F010200 3C018008 */ lui $at, %hi(player1_player_data+0x6B)
/* 044D34 7F010204 A0249F5B */ sb $a0, %lo(player1_player_data+0x6B)($at)
/* 044D38 7F010208 3C018008 */ lui $at, %hi(player2_player_data+0x6A)
/* 044D3C 7F01020C A0239FCA */ sb $v1, %lo(player2_player_data+0x6A)($at)
/* 044D40 7F010210 3C018008 */ lui $at, %hi(player2_player_data+0x6B)
/* 044D44 7F010214 A0249FCB */ sb $a0, %lo(player2_player_data+0x6B)($at)
/* 044D48 7F010218 3C018008 */ lui $at, %hi(player3_player_data+0x6A)
/* 044D4C 7F01021C A023A03A */ sb $v1, %lo(player3_player_data+0x6A)($at)
/* 044D50 7F010220 3C018008 */ lui $at, %hi(player3_player_data+0x6B)
/* 044D54 7F010224 A024A03B */ sb $a0, %lo(player3_player_data+0x6B)($at)
/* 044D58 7F010228 3C018008 */ lui $at, %hi(player4_player_data+0x6A)
/* 044D5C 7F01022C A023A0AA */ sb $v1, %lo(player4_player_data+0x6A)($at)
/* 044D60 7F010230 3C018008 */ lui $at, %hi(player4_player_data+0x6B)
/* 044D64 7F010234 03E00008 */ jr $ra
/* 044D68 7F010238 A024A0AB */ sb $a0, %lo(player4_player_data+0x6B)($at)
)
#endif
#ifdef NONMATCHING
void advance_aim_settings_selection(void)
{
s32 temp_t7;
s32 temp_t8;
s32 phi_t8;
temp_t7 = aim_sight_adjustment + 1;
temp_t8 = temp_t7 & 3;
phi_t8 = temp_t8;
if (temp_t7 < 0)
{
phi_t8 = temp_t8;
if (temp_t8 != 0)
{
phi_t8 = temp_t8 + -4;
}
}
aim_sight_adjustment = (s32) phi_t8;
copy_aim_settings_to_playerdata();
}
#else
GLOBAL_ASM(
.text
glabel advance_aim_settings_selection
/* 044D6C 7F01023C 3C028003 */ lui $v0, %hi(aim_sight_adjustment)
/* 044D70 7F010240 2442B53C */ addiu $v0, %lo(aim_sight_adjustment) # addiu $v0, $v0, -0x4ac4
/* 044D74 7F010244 8C4E0000 */ lw $t6, ($v0)
/* 044D78 7F010248 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 044D7C 7F01024C AFBF0014 */ sw $ra, 0x14($sp)
/* 044D80 7F010250 25CF0001 */ addiu $t7, $t6, 1
/* 044D84 7F010254 05E10004 */ bgez $t7, .L7F010268
/* 044D88 7F010258 31F80003 */ andi $t8, $t7, 3
/* 044D8C 7F01025C 13000002 */ beqz $t8, .L7F010268
/* 044D90 7F010260 00000000 */ nop
/* 044D94 7F010264 2718FFFC */ addiu $t8, $t8, -4
.L7F010268:
/* 044D98 7F010268 0FC04076 */ jal copy_aim_settings_to_playerdata
/* 044D9C 7F01026C AC580000 */ sw $t8, ($v0)
/* 044DA0 7F010270 8FBF0014 */ lw $ra, 0x14($sp)
/* 044DA4 7F010274 27BD0018 */ addiu $sp, $sp, 0x18
/* 044DA8 7F010278 03E00008 */ jr $ra
/* 044DAC 7F01027C 00000000 */ nop
)
#endif
void unlock_all_mp_chars(void) {
num_chars_selectable_mp = 0x40;
}
s32 get_selected_num_players(void)
{
if (gamemode == GAMEMODE_MULTI)
{
return selected_num_players;
}
return 1;
}
u16 get_player_mp_char_head(s32 player)
{
if ((&player_1_char)[player] < 0)
{
return mp_chr_setup[player].head;
}
return mp_chr_setup[(&player_1_char)[player]].head;
}
u8 get_player_mp_char_gender(int player)
{
if ((&player_1_char)[player] < 0)
{
return mp_chr_setup[player].gender;
}
return mp_chr_setup[(&player_1_char)[player]].gender;
}
u16 get_player_mp_char_body(int player)
{
if ((&player_1_char)[player] < 0)
{
return mp_chr_setup[player].body;
}
return mp_chr_setup[(&player_1_char)[player]].body;
}
f32 get_player_mp_handicap(int player)
{
return MP_handicap_table[(&handicap_player1)[player]].damage_modifier;
}
f32 get_player_mp_char_height(int player)
{
if ((&player_1_char)[player] < 0) {
return mp_chr_setup[player].pov;
}
return mp_chr_setup[(&player_1_char)[player]].pov;
}
int get_mp_timelimit(void) {
return multi_game_lengths[game_length].time;
}
int get_mp_pointlimit(void) {
return multi_game_lengths[game_length].points;
}
void reset_mp_options_for_scenario(MPSCENARIOS scenarioid)
{
scenario = scenarioid;
unlock_stage_select = 1;
unlock_game_length = 1;
unlock_chars = 1;
unlock_weapon_select = 1;
unlock_handicap = 1;
unlock_control_style = 1;
unlock_aim_sight = 1;
switch(scenario)
{
case SCENARIO_NORMAL:
case SCENARIO_2v2:
case SCENARIO_3v1:
case SCENARIO_2v1:
if (6 < game_length)
{
game_length = 2;
}
if (0xd < getMPWeaponSet())
{
setMPWeaponSet(0xd);
}
break;
case SCENARIO_YOLT:
game_length = 7;
if (0xd < getMPWeaponSet())
{
setMPWeaponSet(0xd);
}
unlock_game_length = 0;
break;
case SCENARIO_TLD:
if (3 < game_length)
{
game_length = 2;
}
if (0xd < getMPWeaponSet())
{
setMPWeaponSet(0xd);
}
break;
case SCENARIO_MWTGG:
if (6 < game_length)
{
game_length = 2;
}
setMPWeaponSet(0xd);
unlock_weapon_select = 0;
break;
case SCENARIO_LTK:
if (6 < game_length)
{
game_length = 2;
}
setMPWeaponSet(1);
unlock_handicap = 0;
}
return;
}
#ifdef NONMATCHING
void init_mp_options_for_scenario(s32 numplayers)
{
s32 lVar1;
int iVar2;
int *piVar3;
if (numplayers < 2) {
numplayers = 2;
}
selected_num_players = (u32)numplayers;
lVar1 = 0;
if (0 < numplayers) {
piVar3 = &player_1_char;
iVar2 = 0;
do {
if (*piVar3 == -1) {
*piVar3 = (int)lVar1;
*(s32 *)((int)&handicap_player1 + iVar2) = 5;
}
lVar1 = (s32)((int)lVar1 + 1);
if ((2 < numplayers) && (3 < *(int *)((int)&controlstyle_player + iVar2))) {
*(int *)((int)&controlstyle_player + iVar2) = 0;
}
iVar2 += 4;
piVar3 = piVar3 + 1;
} while (lVar1 < numplayers);
}
if (((s32)(s32)(u8)mp_stage_playercounts[scenario].max < numplayers) ||
(numplayers < (s32)(s32)(u8)mp_stage_playercounts[scenario].min)) {
reset_mp_options_for_scenario(0);
numplayers = (s32)(int)selected_num_players;
}
if ((s32)multi_stage_setups[MP_stage_selected].max_player < numplayers) {
MP_stage_selected = MP_STAGE_TEMPLE;
}
return;
}
#else
GLOBAL_ASM(
.text
glabel init_mp_options_for_scenario
/* 045138 7F010608 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 04513C 7F01060C AFB00018 */ sw $s0, 0x18($sp)
/* 045140 7F010610 28810002 */ slti $at, $a0, 2
/* 045144 7F010614 00808025 */ move $s0, $a0
/* 045148 7F010618 10200002 */ beqz $at, .L7F010624
/* 04514C 7F01061C AFBF001C */ sw $ra, 0x1c($sp)
/* 045150 7F010620 24100002 */ li $s0, 2
.L7F010624:
/* 045154 7F010624 3C028003 */ lui $v0, %hi(selected_num_players)
/* 045158 7F010628 2442B520 */ addiu $v0, %lo(selected_num_players) # addiu $v0, $v0, -0x4ae0
/* 04515C 7F01062C AC500000 */ sw $s0, ($v0)
/* 045160 7F010630 00001825 */ move $v1, $zero
/* 045164 7F010634 1A00001C */ blez $s0, .L7F0106A8
/* 045168 7F010638 02003025 */ move $a2, $s0
/* 04516C 7F01063C 3C058003 */ lui $a1, %hi(player_1_char)
/* 045170 7F010640 3C0A8007 */ lui $t2, %hi(controlstyle_player)
/* 045174 7F010644 3C088007 */ lui $t0, %hi(handicap_player1)
/* 045178 7F010648 250897A8 */ addiu $t0, %lo(handicap_player1) # addiu $t0, $t0, -0x6858
/* 04517C 7F01064C 254A97B8 */ addiu $t2, %lo(controlstyle_player) # addiu $t2, $t2, -0x6848
/* 045180 7F010650 24A5B524 */ addiu $a1, %lo(player_1_char) # addiu $a1, $a1, -0x4adc
/* 045184 7F010654 00002025 */ move $a0, $zero
/* 045188 7F010658 24090005 */ li $t1, 5
/* 04518C 7F01065C 2407FFFF */ li $a3, -1
.L7F010660:
/* 045190 7F010660 8CAE0000 */ lw $t6, ($a1)
/* 045194 7F010664 01047821 */ addu $t7, $t0, $a0
/* 045198 7F010668 2A010003 */ slti $at, $s0, 3
/* 04519C 7F01066C 14EE0003 */ bne $a3, $t6, .L7F01067C
/* 0451A0 7F010670 01441021 */ addu $v0, $t2, $a0
/* 0451A4 7F010674 ACA30000 */ sw $v1, ($a1)
/* 0451A8 7F010678 ADE90000 */ sw $t1, ($t7)
.L7F01067C:
/* 0451AC 7F01067C 14200006 */ bnez $at, .L7F010698
/* 0451B0 7F010680 24630001 */ addiu $v1, $v1, 1
/* 0451B4 7F010684 8C580000 */ lw $t8, ($v0)
/* 0451B8 7F010688 2B010004 */ slti $at, $t8, 4
/* 0451BC 7F01068C 54200003 */ bnezl $at, .L7F01069C
/* 0451C0 7F010690 0066082A */ slt $at, $v1, $a2
/* 0451C4 7F010694 AC400000 */ sw $zero, ($v0)
.L7F010698:
/* 0451C8 7F010698 0066082A */ slt $at, $v1, $a2
.L7F01069C:
/* 0451CC 7F01069C 24840004 */ addiu $a0, $a0, 4
/* 0451D0 7F0106A0 1420FFEF */ bnez $at, .L7F010660
/* 0451D4 7F0106A4 24A50004 */ addiu $a1, $a1, 4
.L7F0106A8:
/* 0451D8 7F0106A8 3C198003 */ lui $t9, %hi(scenario)
/* 0451DC 7F0106AC 8F39B540 */ lw $t9, %lo(scenario)($t9)
/* 0451E0 7F0106B0 3C0C8003 */ lui $t4, %hi(mp_player_counts)
/* 0451E4 7F0106B4 258CB054 */ addiu $t4, %lo(mp_player_counts) # addiu $t4, $t4, -0x4fac
/* 0451E8 7F0106B8 00195880 */ sll $t3, $t9, 2
/* 0451EC 7F0106BC 016C1021 */ addu $v0, $t3, $t4
/* 0451F0 7F0106C0 904D0003 */ lbu $t5, 3($v0)
/* 0451F4 7F0106C4 01A6082A */ slt $at, $t5, $a2
/* 0451F8 7F0106C8 14200005 */ bnez $at, .L7F0106E0
/* 0451FC 7F0106CC 00000000 */ nop
/* 045200 7F0106D0 904E0002 */ lbu $t6, 2($v0)
/* 045204 7F0106D4 00CE082A */ slt $at, $a2, $t6
/* 045208 7F0106D8 10200005 */ beqz $at, .L7F0106F0
/* 04520C 7F0106DC 00000000 */ nop
.L7F0106E0:
/* 045210 7F0106E0 0FC0411A */ jal reset_mp_options_for_scenario
/* 045214 7F0106E4 00002025 */ move $a0, $zero
/* 045218 7F0106E8 3C068003 */ lui $a2, %hi(selected_num_players)
/* 04521C 7F0106EC 8CC6B520 */ lw $a2, %lo(selected_num_players)($a2)
.L7F0106F0:
/* 045220 7F0106F0 3C028003 */ lui $v0, %hi(MP_stage_selected)
/* 045224 7F0106F4 2442B534 */ addiu $v0, %lo(MP_stage_selected) # addiu $v0, $v0, -0x4acc
/* 045228 7F0106F8 8C4F0000 */ lw $t7, ($v0)
/* 04522C 7F0106FC 3C198003 */ lui $t9, %hi(multi_stage_setups+20)
/* 045230 7F010700 240B0001 */ li $t3, 1
/* 045234 7F010704 000FC080 */ sll $t8, $t7, 2
/* 045238 7F010708 030FC023 */ subu $t8, $t8, $t7
/* 04523C 7F01070C 0018C0C0 */ sll $t8, $t8, 3
/* 045240 7F010710 0338C821 */ addu $t9, $t9, $t8
/* 045244 7F010714 8F39B088 */ lw $t9, %lo(multi_stage_setups+20)($t9)
/* 045248 7F010718 0326082A */ slt $at, $t9, $a2
/* 04524C 7F01071C 50200003 */ beql $at, $zero, .L7F01072C
/* 045250 7F010720 8FBF001C */ lw $ra, 0x1c($sp)
/* 045254 7F010724 AC4B0000 */ sw $t3, ($v0)
/* 045258 7F010728 8FBF001C */ lw $ra, 0x1c($sp)
.L7F01072C:
/* 04525C 7F01072C 8FB00018 */ lw $s0, 0x18($sp)
/* 045260 7F010730 27BD0020 */ addiu $sp, $sp, 0x20
/* 045264 7F010734 03E00008 */ jr $ra
/* 045268 7F010738 00000000 */ nop
)
#endif
void init_menu0E_mpoptions(void)
{
int numplayers;
tab_1_selected = FALSE;
tab_2_selected = FALSE;
tab_3_selected = FALSE;
tab_3_highlight = FALSE;
tab_2_highlight = FALSE;
tab_1_highlight = FALSE;
if (maybe_is_in_menu != FALSE)
{
sfx_c_700091E8(0x7fff);
musicTrack1ApplySeqpVol(0x7fff);
g_musicXTrack1Fade = MUSIC_FADESTATE_UNSET;
musicTrack1Play(M_FOLDERS);
maybe_is_in_menu = FALSE;
}
if (selected_num_players == 0)
{
numplayers = joyGetControllerCount();
init_mp_options_for_scenario(numplayers);
}
if (check_if_mp_stage_unlocked(MP_stage_selected) == FALSE)
{
MP_stage_selected = MP_STAGE_TEMPLE;
}
highlight_players = FALSE;
highlight_scenario = FALSE;
highlight_gameselect = FALSE;
highlight_gamelength = FALSE;
highlight_character = FALSE;
highlight_weaponselect = FALSE;
highlight_health = FALSE;
highlight_controlstyle = FALSE;
highlight_aimadjustment = FALSE;
load_walletbond();
}
void update_menu0E_mpoptions(void)
{
return;
}
#ifdef NONMATCHING
void interface_menu0E_mpoptions(void)
{
s32 players_selected;
s32 scenario_selected;
s32 gameselect_selected;
s32 gamelength_selected;
s32 character_selected;
s32 weaponselect_selected;
s32 health_selected;
s32 controlstyle_selected;
s32 aimadjustment_selected;
s32 cursor_v;
s32 temp_v1;
u32 temp_hi;
void *temp_v0;
s32 phi_a0;
players_selected = 0;
scenario_selected = 0;
gameselect_selected = 0;
gamelength_selected = 0;
character_selected = 0;
weaponselect_selected = 0;
health_selected = 0;
controlstyle_selected = 0;
aimadjustment_selected = 0;
viSetFovY(60.0f);
viSetAspect(menu0E_aspect);
viSetZRange(100.0f, menu0E_pageheight);
viSetUseZBuf(0);
if (joyGetControllerCount() < 2)
{
set_menu_to_mode(MENU_MODE_SELECT, 0);
setCursorPOSforMode(gamemode);
}
if (joyGetControllerCount() < selected_num_players)
{
init_mp_options_for_scenario(joyGetControllerCount());
}
if (joyGetButtons(0, Z_TRIG|A_BUTTON) == 0)
{
tab_3_highlight = 0;
tab_2_highlight = 0;
tab_1_highlight = 0;
highlight_players = 0;
highlight_scenario = 0;
highlight_gameselect = 0;
highlight_gamelength = 0;
highlight_character = 0;
highlight_weaponselect = 0;
highlight_health = 0;
highlight_controlstyle = 0;
highlight_aimadjustment = 0;
if (isontab3())
{
tab_3_highlight = 1;
}
if (isontab1())
{
cursor_v_pos = 1;
}
cursor_v = (s32)cursor_v_pos;
if ((cursor_v >= 0x119) && (unlock_aim_sight != 0))
{
highlight_aimadjustment = 1;
}
if ((cursor_v >= 0x105) && (unlock_control_style != 0))
{
highlight_controlstyle = 1;
}
if ((cursor_v >= 0xf1) && (unlock_handicap != 0))
{
highlight_health = 1;
}
if ((cursor_v >= 0xdd) && (unlock_chars != 0))
{
highlight_character = 1;
}
if ((cursor_v >= 0xc9) && (unlock_weapon_select != 0))
{
highlight_weaponselect = 1;
}
if ((cursor_v >= 0xb5) && (unlock_game_length != 0))
{
highlight_gamelength = 1;
}
if ((cursor_v >= 0xa1) && (unlock_stage_select != 0))
{
highlight_gameselect = 1;
}
if (cursor_v >= 0x8d)
{
highlight_scenario = 1;
}
else
{
highlight_players = 1;
}
}
if (joyGetButtonsPressedThisFrame(0, START_BUTTON) != 0)
{
tab_1_selected = 1;
play_sfx_a1(g_musicSfxBufferPtr, 0xc7, 0);
}
else
{
if (joyGetButtonsPressedThisFrame(0, Z_TRIG|A_BUTTON) != 0)
{
if (tab_3_highlight != 0)
{
tab_3_selected = 1;
}
if (tab_1_highlight != 0)
{
tab_1_selected = 1;
}
if (highlight_players != 0)
{
players_selected = 1;
}
if (highlight_scenario != 0)
{
scenario_selected = 1;
}
if (highlight_gameselect != 0)
{
gameselect_selected = 1;
}
if (highlight_gamelength != 0)
{
gamelength_selected = 1;
}
if (highlight_character != 0)
{
character_selected = 1;
}
if (highlight_weaponselect != 0)
{
weaponselect_selected = 1;
}
if (highlight_health != 0)
{
health_selected = 1;
}
if (highlight_controlstyle != 0)
{
controlstyle_selected = 1;
}
if (highlight_aimadjustment != 0)
{
aimadjustment_selected = 1;
}
play_sfx_a1(g_musicSfxBufferPtr, 0xc7, 0);
}
else
{
if (joyGetButtonsPressedThisFrame(0, B_BUTTON) != 0)
{
tab_3_selected = 1;
play_sfx_a1(g_musicSfxBufferPtr, 0xc7, 0);
}
}
}
disable_all_switches(ptr_folder_object_instance);
set_item_visibility_in_objinstance(ptr_folder_object_instance, 0, 1);
set_item_visibility_in_objinstance(ptr_folder_object_instance, 1, 1);
set_item_visibility_in_objinstance(ptr_folder_object_instance, 3, 1);
set_item_visibility_in_objinstance(ptr_folder_object_instance, 5, 1);
menu_control_stick_tracking();
if (tab_3_selected != 0)
{
set_menu_to_mode(MENU_MODE_SELECT, 0);
setCursorPOSforMode(gamemode);
return;
}
if (tab_1_selected != 0)
{
curstageid = multi_stage_setups[MP_stage_selected].stage_id;
if (multi_stage_setups[MP_stage_selected].stage_id < 0) {
do {
numplayers = randomGetNext();
selected_stage = multi_stage_setups[numplayers % 0xb + 1].stage_id;
curstageid = selected_stage;
} while (check_if_mp_stage_unlocked(numplayers % 0xb + 1) == FALSE);
}
selected_stage = curstageid;
briefingpage = 0xffffffff;
set_menu_to_mode(MENU_RUN_STAGE,1);
}
if (players_selected != 0)
{
temp_v1 = selected_num_players + 1;
phi_a0 = temp_v1;
if (joyGetControllerCount() < temp_v1)
{
phi_a0 = 2;
}
init_mp_options_for_scenario(phi_a0);
return;
}
if (scenario_selected != 0)
{
set_menu_to_mode(MENU_MP_SCENARIO_SELECT, 0);
return;
}
if (gameselect_selected != 0)
{
set_menu_to_mode(MENU_MP_STAGE_SELECT, 0);
return;
}
if (gamelength_selected != 0)
{
select_game_length();
return;
}
if (character_selected != 0)
{
set_menu_to_mode(MENU_MP_CHAR_SELECT, 0);
return;
}
if (weaponselect_selected != 0)
{
incrementMPWeaponSet();
return;
}
if (health_selected != 0)
{
set_menu_to_mode(MENU_MP_HANDICAP, 0);
return;
}
if (controlstyle_selected != 0)
{
set_menu_to_mode(MENU_MP_CONTROL_STYLE, 0);
return;
}
if (aimadjustment_selected != 0)
{
advance_aim_settings_selection();
}
}
#else
GLOBAL_ASM(
.late_rodata
glabel menu0E_aspect
.word 0x3FAAAAAB /*1.3333334;*/
glabel menu0E_pageheight
.word 0x461C4000 /*10000.0;*/
.text
glabel interface_menu0E_mpoptions
/* 045378 7F010848 27BDFFC0 */ addiu $sp, $sp, -0x40
/* 04537C 7F01084C 3C014270 */ li $at, 0x42700000 # 60.000000
/* 045380 7F010850 AFBF0014 */ sw $ra, 0x14($sp)
/* 045384 7F010854 44816000 */ mtc1 $at, $f12
/* 045388 7F010858 AFA0003C */ sw $zero, 0x3c($sp)
/* 04538C 7F01085C AFA00038 */ sw $zero, 0x38($sp)
/* 045390 7F010860 AFA00034 */ sw $zero, 0x34($sp)
/* 045394 7F010864 AFA00030 */ sw $zero, 0x30($sp)
/* 045398 7F010868 AFA0002C */ sw $zero, 0x2c($sp)
/* 04539C 7F01086C AFA00028 */ sw $zero, 0x28($sp)
/* 0453A0 7F010870 AFA00024 */ sw $zero, 0x24($sp)
/* 0453A4 7F010874 AFA00020 */ sw $zero, 0x20($sp)
/* 0453A8 7F010878 0C001151 */ jal viSetFovY
/* 0453AC 7F01087C AFA0001C */ sw $zero, 0x1c($sp)
/* 0453B0 7F010880 3C018005 */ lui $at, %hi(menu0E_aspect)
/* 0453B4 7F010884 0C001164 */ jal viSetAspect
/* 0453B8 7F010888 C42C1A80 */ lwc1 $f12, %lo(menu0E_aspect)($at)
/* 0453BC 7F01088C 3C0142C8 */ li $at, 0x42C80000 # 100.000000
/* 0453C0 7F010890 44816000 */ mtc1 $at, $f12
/* 0453C4 7F010894 3C018005 */ lui $at, %hi(menu0E_pageheight)
/* 0453C8 7F010898 0C001194 */ jal viSetZRange
/* 0453CC 7F01089C C42E1A84 */ lwc1 $f14, %lo(menu0E_pageheight)($at)
/* 0453D0 7F0108A0 0C00114D */ jal viSetUseZBuf
/* 0453D4 7F0108A4 00002025 */ move $a0, $zero
/* 0453D8 7F0108A8 0C002E7E */ jal joyGetControllerCount
/* 0453DC 7F0108AC 00000000 */ nop
/* 0453E0 7F0108B0 28410002 */ slti $at, $v0, 2
/* 0453E4 7F0108B4 10200006 */ beqz $at, .L7F0108D0
/* 0453E8 7F0108B8 24040006 */ li $a0, 6
/* 0453EC 7F0108BC 0FC06975 */ jal set_menu_to_mode
/* 0453F0 7F0108C0 00002825 */ move $a1, $zero
/* 0453F4 7F0108C4 3C048003 */ lui $a0, %hi(gamemode)
/* 0453F8 7F0108C8 0FC035FF */ jal setCursorPOSforMode
/* 0453FC 7F0108CC 8C84A8F0 */ lw $a0, %lo(gamemode)($a0)
.L7F0108D0:
/* 045400 7F0108D0 0C002E7E */ jal joyGetControllerCount
/* 045404 7F0108D4 00000000 */ nop
/* 045408 7F0108D8 3C0E8003 */ lui $t6, %hi(selected_num_players)
/* 04540C 7F0108DC 8DCEB520 */ lw $t6, %lo(selected_num_players)($t6)
/* 045410 7F0108E0 004E082A */ slt $at, $v0, $t6
/* 045414 7F0108E4 50200006 */ beql $at, $zero, .L7F010900
/* 045418 7F0108E8 00002025 */ move $a0, $zero
/* 04541C 7F0108EC 0C002E7E */ jal joyGetControllerCount
/* 045420 7F0108F0 00000000 */ nop
/* 045424 7F0108F4 0FC04182 */ jal init_mp_options_for_scenario
/* 045428 7F0108F8 00402025 */ move $a0, $v0
/* 04542C 7F0108FC 00002025 */ move $a0, $zero
.L7F010900:
/* 045430 7F010900 0C0030C3 */ jal joyGetButtons
/* 045434 7F010904 3405A000 */ li $a1, 40960
/* 045438 7F010908 1440007A */ bnez $v0, .L7F010AF4
/* 04543C 7F01090C 3C018003 */ lui $at, %hi(tab_3_highlight)
/* 045440 7F010910 AC20A8E4 */ sw $zero, %lo(tab_3_highlight)($at)
/* 045444 7F010914 3C018003 */ lui $at, %hi(tab_2_highlight)
/* 045448 7F010918 AC20A8E0 */ sw $zero, %lo(tab_2_highlight)($at)
/* 04544C 7F01091C 3C018003 */ lui $at, %hi(tab_1_highlight)
/* 045450 7F010920 AC20A8DC */ sw $zero, %lo(tab_1_highlight)($at)
/* 045454 7F010924 3C018007 */ lui $at, %hi(highlight_players)
/* 045458 7F010928 AC2097C8 */ sw $zero, %lo(highlight_players)($at)
/* 04545C 7F01092C 3C018007 */ lui $at, %hi(highlight_scenario)
/* 045460 7F010930 AC2097CC */ sw $zero, %lo(highlight_scenario)($at)
/* 045464 7F010934 3C018007 */ lui $at, %hi(highlight_gameselect)
/* 045468 7F010938 AC2097D0 */ sw $zero, %lo(highlight_gameselect)($at)
/* 04546C 7F01093C 3C018007 */ lui $at, %hi(highlight_gamelength)
/* 045470 7F010940 AC2097D4 */ sw $zero, %lo(highlight_gamelength)($at)
/* 045474 7F010944 3C018007 */ lui $at, %hi(highlight_character)
/* 045478 7F010948 AC2097D8 */ sw $zero, %lo(highlight_character)($at)
/* 04547C 7F01094C 3C018007 */ lui $at, %hi(highlight_weaponselect)
/* 045480 7F010950 AC2097DC */ sw $zero, %lo(highlight_weaponselect)($at)
/* 045484 7F010954 3C018007 */ lui $at, %hi(highlight_health)
/* 045488 7F010958 AC2097E0 */ sw $zero, %lo(highlight_health)($at)
/* 04548C 7F01095C 3C018007 */ lui $at, %hi(highlight_controlstyle)
/* 045490 7F010960 AC2097E4 */ sw $zero, %lo(highlight_controlstyle)($at)
/* 045494 7F010964 3C018007 */ lui $at, %hi(highlight_aimadjustment)
/* 045498 7F010968 0FC028E7 */ jal isontab3
/* 04549C 7F01096C AC2097E8 */ sw $zero, %lo(highlight_aimadjustment)($at)
/* 0454A0 7F010970 10400004 */ beqz $v0, .L7F010984
/* 0454A4 7F010974 240F0001 */ li $t7, 1
/* 0454A8 7F010978 3C018003 */ lui $at, %hi(tab_3_highlight)
/* 0454AC 7F01097C 1000005D */ b .L7F010AF4
/* 0454B0 7F010980 AC2FA8E4 */ sw $t7, %lo(tab_3_highlight)($at)
.L7F010984:
/* 0454B4 7F010984 0FC02879 */ jal isontab1
/* 0454B8 7F010988 00000000 */ nop
/* 0454BC 7F01098C 10400005 */ beqz $v0, .L7F0109A4
/* 0454C0 7F010990 3C018003 */ lui $at, %hi(cursor_v_pos)
/* 0454C4 7F010994 24030001 */ li $v1, 1
/* 0454C8 7F010998 3C018003 */ lui $at, %hi(tab_1_highlight)
/* 0454CC 7F01099C 10000055 */ b .L7F010AF4
/* 0454D0 7F0109A0 AC23A8DC */ sw $v1, %lo(tab_1_highlight)($at)
.L7F0109A4:
/* 0454D4 7F0109A4 C424A90C */ lwc1 $f4, %lo(cursor_v_pos)($at)
/* 0454D8 7F0109A8 3C198003 */ lui $t9, %hi(unlock_aim_sight)
/* 0454DC 7F0109AC 4600218D */ trunc.w.s $f6, $f4
/* 0454E0 7F0109B0 44023000 */ mfc1 $v0, $f6
/* 0454E4 7F0109B4 00000000 */ nop
/* 0454E8 7F0109B8 28410119 */ slti $at, $v0, 0x119
/* 0454EC 7F0109BC 54200009 */ bnezl $at, .L7F0109E4
/* 0454F0 7F0109C0 28410105 */ slti $at, $v0, 0x105
/* 0454F4 7F0109C4 8F39B55C */ lw $t9, %lo(unlock_aim_sight)($t9)
/* 0454F8 7F0109C8 24030001 */ li $v1, 1
/* 0454FC 7F0109CC 3C018007 */ lui $at, %hi(highlight_aimadjustment)
/* 045500 7F0109D0 53200004 */ beql $t9, $zero, .L7F0109E4
/* 045504 7F0109D4 28410105 */ slti $at, $v0, 0x105
/* 045508 7F0109D8 10000046 */ b .L7F010AF4
/* 04550C 7F0109DC AC2397E8 */ sw $v1, %lo(highlight_aimadjustment)($at)
/* 045510 7F0109E0 28410105 */ slti $at, $v0, 0x105
.L7F0109E4:
/* 045514 7F0109E4 14200008 */ bnez $at, .L7F010A08
/* 045518 7F0109E8 3C088003 */ lui $t0, %hi(unlock_control_style)
/* 04551C 7F0109EC 8D08B558 */ lw $t0, %lo(unlock_control_style)($t0)
/* 045520 7F0109F0 24030001 */ li $v1, 1
/* 045524 7F0109F4 3C018007 */ lui $at, %hi(highlight_controlstyle)
/* 045528 7F0109F8 51000004 */ beql $t0, $zero, .L7F010A0C
/* 04552C 7F0109FC 284100F1 */ slti $at, $v0, 0xf1
/* 045530 7F010A00 1000003C */ b .L7F010AF4
/* 045534 7F010A04 AC2397E4 */ sw $v1, %lo(highlight_controlstyle)($at)
.L7F010A08:
/* 045538 7F010A08 284100F1 */ slti $at, $v0, 0xf1
.L7F010A0C:
/* 04553C 7F010A0C 14200008 */ bnez $at, .L7F010A30
/* 045540 7F010A10 3C098003 */ lui $t1, %hi(unlock_handicap)
/* 045544 7F010A14 8D29B554 */ lw $t1, %lo(unlock_handicap)($t1)
/* 045548 7F010A18 24030001 */ li $v1, 1
/* 04554C 7F010A1C 3C018007 */ lui $at, %hi(highlight_health)
/* 045550 7F010A20 51200004 */ beql $t1, $zero, .L7F010A34
/* 045554 7F010A24 284100DD */ slti $at, $v0, 0xdd
/* 045558 7F010A28 10000032 */ b .L7F010AF4
/* 04555C 7F010A2C AC2397E0 */ sw $v1, %lo(highlight_health)($at)
.L7F010A30:
/* 045560 7F010A30 284100DD */ slti $at, $v0, 0xdd
.L7F010A34:
/* 045564 7F010A34 14200008 */ bnez $at, .L7F010A58
/* 045568 7F010A38 3C0A8003 */ lui $t2, %hi(unlock_chars)
/* 04556C 7F010A3C 8D4AB54C */ lw $t2, %lo(unlock_chars)($t2)
/* 045570 7F010A40 24030001 */ li $v1, 1
/* 045574 7F010A44 3C018007 */ lui $at, %hi(highlight_character)
/* 045578 7F010A48 51400004 */ beql $t2, $zero, .L7F010A5C
/* 04557C 7F010A4C 284100C9 */ slti $at, $v0, 0xc9
/* 045580 7F010A50 10000028 */ b .L7F010AF4
/* 045584 7F010A54 AC2397D8 */ sw $v1, %lo(highlight_character)($at)
.L7F010A58:
/* 045588 7F010A58 284100C9 */ slti $at, $v0, 0xc9
.L7F010A5C:
/* 04558C 7F010A5C 14200008 */ bnez $at, .L7F010A80
/* 045590 7F010A60 3C0B8003 */ lui $t3, %hi(unlock_weapon_select)
/* 045594 7F010A64 8D6BB550 */ lw $t3, %lo(unlock_weapon_select)($t3)
/* 045598 7F010A68 24030001 */ li $v1, 1
/* 04559C 7F010A6C 3C018007 */ lui $at, %hi(highlight_weaponselect)
/* 0455A0 7F010A70 51600004 */ beql $t3, $zero, .L7F010A84
/* 0455A4 7F010A74 284100B5 */ slti $at, $v0, 0xb5
/* 0455A8 7F010A78 1000001E */ b .L7F010AF4
/* 0455AC 7F010A7C AC2397DC */ sw $v1, %lo(highlight_weaponselect)($at)
.L7F010A80:
/* 0455B0 7F010A80 284100B5 */ slti $at, $v0, 0xb5
.L7F010A84:
/* 0455B4 7F010A84 14200008 */ bnez $at, .L7F010AA8
/* 0455B8 7F010A88 3C0C8003 */ lui $t4, %hi(unlock_game_length)
/* 0455BC 7F010A8C 8D8CB548 */ lw $t4, %lo(unlock_game_length)($t4)
/* 0455C0 7F010A90 24030001 */ li $v1, 1
/* 0455C4 7F010A94 3C018007 */ lui $at, %hi(highlight_gamelength)
/* 0455C8 7F010A98 51800004 */ beql $t4, $zero, .L7F010AAC
/* 0455CC 7F010A9C 284100A1 */ slti $at, $v0, 0xa1
/* 0455D0 7F010AA0 10000014 */ b .L7F010AF4
/* 0455D4 7F010AA4 AC2397D4 */ sw $v1, %lo(highlight_gamelength)($at)
.L7F010AA8:
/* 0455D8 7F010AA8 284100A1 */ slti $at, $v0, 0xa1
.L7F010AAC:
/* 0455DC 7F010AAC 14200008 */ bnez $at, .L7F010AD0
/* 0455E0 7F010AB0 3C0D8003 */ lui $t5, %hi(unlock_stage_select)
/* 0455E4 7F010AB4 8DADB544 */ lw $t5, %lo(unlock_stage_select)($t5)
/* 0455E8 7F010AB8 24030001 */ li $v1, 1
/* 0455EC 7F010ABC 3C018007 */ lui $at, %hi(highlight_gameselect)
/* 0455F0 7F010AC0 51A00004 */ beql $t5, $zero, .L7F010AD4
/* 0455F4 7F010AC4 2841008D */ slti $at, $v0, 0x8d
/* 0455F8 7F010AC8 1000000A */ b .L7F010AF4
/* 0455FC 7F010ACC AC2397D0 */ sw $v1, %lo(highlight_gameselect)($at)
.L7F010AD0:
/* 045600 7F010AD0 2841008D */ slti $at, $v0, 0x8d
.L7F010AD4:
/* 045604 7F010AD4 14200005 */ bnez $at, .L7F010AEC
/* 045608 7F010AD8 24030001 */ li $v1, 1
/* 04560C 7F010ADC 24030001 */ li $v1, 1
/* 045610 7F010AE0 3C018007 */ lui $at, %hi(highlight_scenario)
/* 045614 7F010AE4 10000003 */ b .L7F010AF4
/* 045618 7F010AE8 AC2397CC */ sw $v1, %lo(highlight_scenario)($at)
.L7F010AEC:
/* 04561C 7F010AEC 3C018007 */ lui $at, %hi(highlight_players)
/* 045620 7F010AF0 AC2397C8 */ sw $v1, %lo(highlight_players)($at)
.L7F010AF4:
/* 045624 7F010AF4 00002025 */ move $a0, $zero
/* 045628 7F010AF8 0C0030EB */ jal joyGetButtonsPressedThisFrame
/* 04562C 7F010AFC 24051000 */ li $a1, 4096
/* 045630 7F010B00 1040000A */ beqz $v0, .L7F010B2C
/* 045634 7F010B04 24030001 */ li $v1, 1
/* 045638 7F010B08 3C018003 */ lui $at, %hi(tab_1_selected)
/* 04563C 7F010B0C 3C048006 */ lui $a0, %hi(g_musicSfxBufferPtr)
/* 045640 7F010B10 AC23A8D0 */ sw $v1, %lo(tab_1_selected)($at)
/* 045644 7F010B14 8C843720 */ lw $a0, %lo(g_musicSfxBufferPtr)($a0)
/* 045648 7F010B18 240500C7 */ li $a1, 199
/* 04564C 7F010B1C 0C002382 */ jal play_sfx_a1
/* 045650 7F010B20 00003025 */ move $a2, $zero
/* 045654 7F010B24 10000062 */ b .L7F010CB0
/* 045658 7F010B28 00000000 */ nop
.L7F010B2C:
/* 04565C 7F010B2C 00002025 */ move $a0, $zero
/* 045660 7F010B30 0C0030EB */ jal joyGetButtonsPressedThisFrame
/* 045664 7F010B34 3405A000 */ li $a1, 40960
/* 045668 7F010B38 10400051 */ beqz $v0, .L7F010C80
/* 04566C 7F010B3C 24030001 */ li $v1, 1
/* 045670 7F010B40 3C0E8003 */ lui $t6, %hi(tab_3_highlight)
/* 045674 7F010B44 8DCEA8E4 */ lw $t6, %lo(tab_3_highlight)($t6)
/* 045678 7F010B48 3C0F8003 */ lui $t7, %hi(tab_1_highlight)
/* 04567C 7F010B4C 3C048006 */ lui $a0, %hi(g_musicSfxBufferPtr)
/* 045680 7F010B50 11C00003 */ beqz $t6, .L7F010B60
/* 045684 7F010B54 240500C7 */ li $a1, 199
/* 045688 7F010B58 3C018003 */ lui $at, %hi(tab_3_selected)
/* 04568C 7F010B5C AC23A8D8 */ sw $v1, %lo(tab_3_selected)($at)
.L7F010B60:
/* 045690 7F010B60 8DEFA8DC */ lw $t7, %lo(tab_1_highlight)($t7)
/* 045694 7F010B64 3C018003 */ lui $at, %hi(tab_1_selected)
/* 045698 7F010B68 3C188007 */ lui $t8, %hi(highlight_players)
/* 04569C 7F010B6C 11E00003 */ beqz $t7, .L7F010B7C
/* 0456A0 7F010B70 00003025 */ move $a2, $zero
/* 0456A4 7F010B74 1000003E */ b .L7F010C70
/* 0456A8 7F010B78 AC23A8D0 */ sw $v1, %lo(tab_1_selected)($at)
.L7F010B7C:
/* 0456AC 7F010B7C 8F1897C8 */ lw $t8, %lo(highlight_players)($t8)
/* 0456B0 7F010B80 24190001 */ li $t9, 1
/* 0456B4 7F010B84 3C088007 */ lui $t0, %hi(highlight_scenario)
/* 0456B8 7F010B88 13000003 */ beqz $t8, .L7F010B98
/* 0456BC 7F010B8C 00000000 */ nop
/* 0456C0 7F010B90 10000037 */ b .L7F010C70
/* 0456C4 7F010B94 AFB9003C */ sw $t9, 0x3c($sp)
.L7F010B98:
/* 0456C8 7F010B98 8D0897CC */ lw $t0, %lo(highlight_scenario)($t0)
/* 0456CC 7F010B9C 24090001 */ li $t1, 1
/* 0456D0 7F010BA0 3C0A8007 */ lui $t2, %hi(highlight_gameselect)
/* 0456D4 7F010BA4 11000003 */ beqz $t0, .L7F010BB4
/* 0456D8 7F010BA8 00000000 */ nop
/* 0456DC 7F010BAC 10000030 */ b .L7F010C70
/* 0456E0 7F010BB0 AFA90038 */ sw $t1, 0x38($sp)
.L7F010BB4:
/* 0456E4 7F010BB4 8D4A97D0 */ lw $t2, %lo(highlight_gameselect)($t2)
/* 0456E8 7F010BB8 240B0001 */ li $t3, 1
/* 0456EC 7F010BBC 3C0C8007 */ lui $t4, %hi(highlight_gamelength)
/* 0456F0 7F010BC0 11400003 */ beqz $t2, .L7F010BD0
/* 0456F4 7F010BC4 00000000 */ nop
/* 0456F8 7F010BC8 10000029 */ b .L7F010C70
/* 0456FC 7F010BCC AFAB0034 */ sw $t3, 0x34($sp)
.L7F010BD0:
/* 045700 7F010BD0 8D8C97D4 */ lw $t4, %lo(highlight_gamelength)($t4)
/* 045704 7F010BD4 240D0001 */ li $t5, 1
/* 045708 7F010BD8 3C0E8007 */ lui $t6, %hi(highlight_character)
/* 04570C 7F010BDC 11800003 */ beqz $t4, .L7F010BEC
/* 045710 7F010BE0 00000000 */ nop
/* 045714 7F010BE4 10000022 */ b .L7F010C70
/* 045718 7F010BE8 AFAD0030 */ sw $t5, 0x30($sp)
.L7F010BEC:
/* 04571C 7F010BEC 8DCE97D8 */ lw $t6, %lo(highlight_character)($t6)
/* 045720 7F010BF0 240F0001 */ li $t7, 1
/* 045724 7F010BF4 3C188007 */ lui $t8, %hi(highlight_weaponselect)
/* 045728 7F010BF8 11C00003 */ beqz $t6, .L7F010C08
/* 04572C 7F010BFC 00000000 */ nop
/* 045730 7F010C00 1000001B */ b .L7F010C70
/* 045734 7F010C04 AFAF002C */ sw $t7, 0x2c($sp)
.L7F010C08:
/* 045738 7F010C08 8F1897DC */ lw $t8, %lo(highlight_weaponselect)($t8)
/* 04573C 7F010C0C 24190001 */ li $t9, 1
/* 045740 7F010C10 3C088007 */ lui $t0, %hi(highlight_health)
/* 045744 7F010C14 13000003 */ beqz $t8, .L7F010C24
/* 045748 7F010C18 00000000 */ nop
/* 04574C 7F010C1C 10000014 */ b .L7F010C70
/* 045750 7F010C20 AFB90028 */ sw $t9, 0x28($sp)
.L7F010C24:
/* 045754 7F010C24 8D0897E0 */ lw $t0, %lo(highlight_health)($t0)
/* 045758 7F010C28 24090001 */ li $t1, 1
/* 04575C 7F010C2C 3C0A8007 */ lui $t2, %hi(highlight_controlstyle)
/* 045760 7F010C30 11000003 */ beqz $t0, .L7F010C40
/* 045764 7F010C34 00000000 */ nop
/* 045768 7F010C38 1000000D */ b .L7F010C70
/* 04576C 7F010C3C AFA90024 */ sw $t1, 0x24($sp)
.L7F010C40:
/* 045770 7F010C40 8D4A97E4 */ lw $t2, %lo(highlight_controlstyle)($t2)
/* 045774 7F010C44 240B0001 */ li $t3, 1
/* 045778 7F010C48 3C0C8007 */ lui $t4, %hi(highlight_aimadjustment)
/* 04577C 7F010C4C 11400003 */ beqz $t2, .L7F010C5C
/* 045780 7F010C50 00000000 */ nop
/* 045784 7F010C54 10000006 */ b .L7F010C70
/* 045788 7F010C58 AFAB0020 */ sw $t3, 0x20($sp)
.L7F010C5C:
/* 04578C 7F010C5C 8D8C97E8 */ lw $t4, %lo(highlight_aimadjustment)($t4)
/* 045790 7F010C60 240D0001 */ li $t5, 1
/* 045794 7F010C64 11800002 */ beqz $t4, .L7F010C70
/* 045798 7F010C68 00000000 */ nop
/* 04579C 7F010C6C AFAD001C */ sw $t5, 0x1c($sp)
.L7F010C70:
/* 0457A0 7F010C70 0C002382 */ jal play_sfx_a1
/* 0457A4 7F010C74 8C843720 */ lw $a0, %lo(g_musicSfxBufferPtr)($a0)
/* 0457A8 7F010C78 1000000D */ b .L7F010CB0
/* 0457AC 7F010C7C 00000000 */ nop
.L7F010C80:
/* 0457B0 7F010C80 00002025 */ move $a0, $zero
/* 0457B4 7F010C84 0C0030EB */ jal joyGetButtonsPressedThisFrame
/* 0457B8 7F010C88 24054000 */ li $a1, 16384
/* 0457BC 7F010C8C 10400008 */ beqz $v0, .L7F010CB0
/* 0457C0 7F010C90 24030001 */ li $v1, 1
/* 0457C4 7F010C94 3C018003 */ lui $at, %hi(tab_3_selected)
/* 0457C8 7F010C98 3C048006 */ lui $a0, %hi(g_musicSfxBufferPtr)
/* 0457CC 7F010C9C AC23A8D8 */ sw $v1, %lo(tab_3_selected)($at)
/* 0457D0 7F010CA0 8C843720 */ lw $a0, %lo(g_musicSfxBufferPtr)($a0)
/* 0457D4 7F010CA4 240500C7 */ li $a1, 199
/* 0457D8 7F010CA8 0C002382 */ jal play_sfx_a1
/* 0457DC 7F010CAC 00003025 */ move $a2, $zero
.L7F010CB0:
/* 0457E0 7F010CB0 3C048003 */ lui $a0, %hi(ptr_folder_object_instance)
/* 0457E4 7F010CB4 0FC02DC9 */ jal disable_all_switches
/* 0457E8 7F010CB8 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0)
/* 0457EC 7F010CBC 3C048003 */ lui $a0, %hi(ptr_folder_object_instance)
/* 0457F0 7F010CC0 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0)
/* 0457F4 7F010CC4 00002825 */ move $a1, $zero
/* 0457F8 7F010CC8 0FC02DF0 */ jal set_item_visibility_in_objinstance
/* 0457FC 7F010CCC 24060001 */ li $a2, 1
/* 045800 7F010CD0 3C048003 */ lui $a0, %hi(ptr_folder_object_instance)
/* 045804 7F010CD4 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0)
/* 045808 7F010CD8 24050001 */ li $a1, 1
/* 04580C 7F010CDC 0FC02DF0 */ jal set_item_visibility_in_objinstance
/* 045810 7F010CE0 24060001 */ li $a2, 1
/* 045814 7F010CE4 3C048003 */ lui $a0, %hi(ptr_folder_object_instance)
/* 045818 7F010CE8 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0)
/* 04581C 7F010CEC 24050003 */ li $a1, 3
/* 045820 7F010CF0 0FC02DF0 */ jal set_item_visibility_in_objinstance
/* 045824 7F010CF4 24060001 */ li $a2, 1
/* 045828 7F010CF8 3C048003 */ lui $a0, %hi(ptr_folder_object_instance)
/* 04582C 7F010CFC 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0)
/* 045830 7F010D00 24050005 */ li $a1, 5
/* 045834 7F010D04 0FC02DF0 */ jal set_item_visibility_in_objinstance
/* 045838 7F010D08 24060001 */ li $a2, 1
/* 04583C 7F010D0C 0FC026E1 */ jal menu_control_stick_tracking
/* 045840 7F010D10 00000000 */ nop
/* 045844 7F010D14 3C0E8003 */ lui $t6, %hi(tab_3_selected)
/* 045848 7F010D18 8DCEA8D8 */ lw $t6, %lo(tab_3_selected)($t6)
/* 04584C 7F010D1C 24040006 */ li $a0, 6
/* 045850 7F010D20 3C0F8003 */ lui $t7, %hi(tab_1_selected)
/* 045854 7F010D24 11C00008 */ beqz $t6, .L7F010D48
/* 045858 7F010D28 00000000 */ nop
/* 04585C 7F010D2C 0FC06975 */ jal set_menu_to_mode
/* 045860 7F010D30 00002825 */ move $a1, $zero
/* 045864 7F010D34 3C048003 */ lui $a0, %hi(gamemode)
/* 045868 7F010D38 0FC035FF */ jal setCursorPOSforMode
/* 04586C 7F010D3C 8C84A8F0 */ lw $a0, %lo(gamemode)($a0)
/* 045870 7F010D40 10000070 */ b .L7F010F04
/* 045874 7F010D44 8FBF0014 */ lw $ra, 0x14($sp)
.L7F010D48:
/* 045878 7F010D48 8DEFA8D0 */ lw $t7, %lo(tab_1_selected)($t7)
/* 04587C 7F010D4C 3C188003 */ lui $t8, %hi(MP_stage_selected)
/* 045880 7F010D50 8FAB003C */ lw $t3, 0x3c($sp)
/* 045884 7F010D54 11E00027 */ beqz $t7, .L7F010DF4
/* 045888 7F010D58 00000000 */ nop
/* 04588C 7F010D5C 8F18B534 */ lw $t8, %lo(MP_stage_selected)($t8)
/* 045890 7F010D60 3C028003 */ lui $v0, %hi(multi_stage_setups+8)
/* 045894 7F010D64 3C018003 */ lui $at, %hi(selected_stage)
/* 045898 7F010D68 0018C880 */ sll $t9, $t8, 2
/* 04589C 7F010D6C 0338C823 */ subu $t9, $t9, $t8
/* 0458A0 7F010D70 0019C8C0 */ sll $t9, $t9, 3
/* 0458A4 7F010D74 00591021 */ addu $v0, $v0, $t9
/* 0458A8 7F010D78 8C42B07C */ lw $v0, %lo(multi_stage_setups+8)($v0)
/* 0458AC 7F010D7C 04410014 */ bgez $v0, .L7F010DD0
/* 0458B0 7F010D80 00000000 */ nop
.L7F010D84:
/* 0458B4 7F010D84 0C002914 */ jal randomGetNext
/* 0458B8 7F010D88 00000000 */ nop
/* 0458BC 7F010D8C 2401000B */ li $at, 11
/* 0458C0 7F010D90 0041001B */ divu $zero, $v0, $at
/* 0458C4 7F010D94 00001810 */ mfhi $v1
/* 0458C8 7F010D98 00034080 */ sll $t0, $v1, 2
/* 0458CC 7F010D9C 01034023 */ subu $t0, $t0, $v1
/* 0458D0 7F010DA0 000840C0 */ sll $t0, $t0, 3
/* 0458D4 7F010DA4 3C098003 */ lui $t1, %hi(multi_stage_setups+32)
/* 0458D8 7F010DA8 01284821 */ addu $t1, $t1, $t0
/* 0458DC 7F010DAC 8D29B094 */ lw $t1, %lo(multi_stage_setups+32)($t1)
/* 0458E0 7F010DB0 3C018003 */ lui $at, %hi(selected_stage)
/* 0458E4 7F010DB4 24640001 */ addiu $a0, $v1, 1
/* 0458E8 7F010DB8 0FC04034 */ jal check_if_mp_stage_unlocked
/* 0458EC 7F010DBC AC29A8F4 */ sw $t1, %lo(selected_stage)($at)
/* 0458F0 7F010DC0 1040FFF0 */ beqz $v0, .L7F010D84
/* 0458F4 7F010DC4 00000000 */ nop
/* 0458F8 7F010DC8 10000003 */ b .L7F010DD8
/* 0458FC 7F010DCC 240AFFFF */ li $t2, -1
.L7F010DD0:
/* 045900 7F010DD0 AC22A8F4 */ sw $v0, %lo(selected_stage)($at)
/* 045904 7F010DD4 240AFFFF */ li $t2, -1
.L7F010DD8:
/* 045908 7F010DD8 3C018003 */ lui $at, %hi(briefingpage)
/* 04590C 7F010DDC AC2AA8F8 */ sw $t2, %lo(briefingpage)($at)
/* 045910 7F010DE0 2404000B */ li $a0, 11
/* 045914 7F010DE4 0FC06975 */ jal set_menu_to_mode
/* 045918 7F010DE8 24050001 */ li $a1, 1
/* 04591C 7F010DEC 10000045 */ b .L7F010F04
/* 045920 7F010DF0 8FBF0014 */ lw $ra, 0x14($sp)
.L7F010DF4:
/* 045924 7F010DF4 1160000F */ beqz $t3, .L7F010E34
/* 045928 7F010DF8 8FAC0038 */ lw $t4, 0x38($sp)
/* 04592C 7F010DFC 0C002E7E */ jal joyGetControllerCount
/* 045930 7F010E00 00000000 */ nop
/* 045934 7F010E04 3C038003 */ lui $v1, %hi(selected_num_players)
/* 045938 7F010E08 8C63B520 */ lw $v1, %lo(selected_num_players)($v1)
/* 04593C 7F010E0C 24630001 */ addiu $v1, $v1, 1
/* 045940 7F010E10 0043082A */ slt $at, $v0, $v1
/* 045944 7F010E14 10200003 */ beqz $at, .L7F010E24
/* 045948 7F010E18 00602025 */ move $a0, $v1
/* 04594C 7F010E1C 10000001 */ b .L7F010E24
/* 045950 7F010E20 24040002 */ li $a0, 2
.L7F010E24:
/* 045954 7F010E24 0FC04182 */ jal init_mp_options_for_scenario
/* 045958 7F010E28 00000000 */ nop
/* 04595C 7F010E2C 10000035 */ b .L7F010F04
/* 045960 7F010E30 8FBF0014 */ lw $ra, 0x14($sp)
.L7F010E34:
/* 045964 7F010E34 11800006 */ beqz $t4, .L7F010E50
/* 045968 7F010E38 8FAD0034 */ lw $t5, 0x34($sp)
/* 04596C 7F010E3C 24040013 */ li $a0, 19
/* 045970 7F010E40 0FC06975 */ jal set_menu_to_mode
/* 045974 7F010E44 00002825 */ move $a1, $zero
/* 045978 7F010E48 1000002E */ b .L7F010F04
/* 04597C 7F010E4C 8FBF0014 */ lw $ra, 0x14($sp)
.L7F010E50:
/* 045980 7F010E50 11A00006 */ beqz $t5, .L7F010E6C
/* 045984 7F010E54 8FAE0030 */ lw $t6, 0x30($sp)
/* 045988 7F010E58 24040012 */ li $a0, 18
/* 04598C 7F010E5C 0FC06975 */ jal set_menu_to_mode
/* 045990 7F010E60 00002825 */ move $a1, $zero
/* 045994 7F010E64 10000027 */ b .L7F010F04
/* 045998 7F010E68 8FBF0014 */ lw $ra, 0x14($sp)
.L7F010E6C:
/* 04599C 7F010E6C 11C00005 */ beqz $t6, .L7F010E84
/* 0459A0 7F010E70 8FAF002C */ lw $t7, 0x2c($sp)
/* 0459A4 7F010E74 0FC0405C */ jal select_game_length
/* 0459A8 7F010E78 00000000 */ nop
/* 0459AC 7F010E7C 10000021 */ b .L7F010F04
/* 0459B0 7F010E80 8FBF0014 */ lw $ra, 0x14($sp)
.L7F010E84:
/* 0459B4 7F010E84 11E00006 */ beqz $t7, .L7F010EA0
/* 0459B8 7F010E88 8FB80028 */ lw $t8, 0x28($sp)
/* 0459BC 7F010E8C 2404000F */ li $a0, 15
/* 0459C0 7F010E90 0FC06975 */ jal set_menu_to_mode
/* 0459C4 7F010E94 00002825 */ move $a1, $zero
/* 0459C8 7F010E98 1000001A */ b .L7F010F04
/* 0459CC 7F010E9C 8FBF0014 */ lw $ra, 0x14($sp)
.L7F010EA0:
/* 0459D0 7F010EA0 13000005 */ beqz $t8, .L7F010EB8
/* 0459D4 7F010EA4 8FB90024 */ lw $t9, 0x24($sp)
/* 0459D8 7F010EA8 0FC31974 */ jal incrementMPWeaponSet
/* 0459DC 7F010EAC 00000000 */ nop
/* 0459E0 7F010EB0 10000014 */ b .L7F010F04
/* 0459E4 7F010EB4 8FBF0014 */ lw $ra, 0x14($sp)
.L7F010EB8:
/* 0459E8 7F010EB8 13200006 */ beqz $t9, .L7F010ED4
/* 0459EC 7F010EBC 8FA80020 */ lw $t0, 0x20($sp)
/* 0459F0 7F010EC0 24040010 */ li $a0, 16
/* 0459F4 7F010EC4 0FC06975 */ jal set_menu_to_mode
/* 0459F8 7F010EC8 00002825 */ move $a1, $zero
/* 0459FC 7F010ECC 1000000D */ b .L7F010F04
/* 045A00 7F010ED0 8FBF0014 */ lw $ra, 0x14($sp)
.L7F010ED4:
/* 045A04 7F010ED4 11000006 */ beqz $t0, .L7F010EF0
/* 045A08 7F010ED8 8FA9001C */ lw $t1, 0x1c($sp)
/* 045A0C 7F010EDC 24040011 */ li $a0, 17
/* 045A10 7F010EE0 0FC06975 */ jal set_menu_to_mode
/* 045A14 7F010EE4 00002825 */ move $a1, $zero
/* 045A18 7F010EE8 10000006 */ b .L7F010F04
/* 045A1C 7F010EEC 8FBF0014 */ lw $ra, 0x14($sp)
.L7F010EF0:
/* 045A20 7F010EF0 51200004 */ beql $t1, $zero, .L7F010F04
/* 045A24 7F010EF4 8FBF0014 */ lw $ra, 0x14($sp)
/* 045A28 7F010EF8 0FC0408F */ jal advance_aim_settings_selection
/* 045A2C 7F010EFC 00000000 */ nop
/* 045A30 7F010F00 8FBF0014 */ lw $ra, 0x14($sp)
.L7F010F04:
/* 045A34 7F010F04 27BD0040 */ addiu $sp, $sp, 0x40
/* 045A38 7F010F08 03E00008 */ jr $ra
/* 045A3C 7F010F0C 00000000 */ nop
)
#endif
#ifdef NONMATCHING
void constructor_menu0E_mpoptions(void)
{
s32 sp64;
s32 sp5C;
s32 sp58;
s32 sp54;
s32 sp50;
s32 sp4C;
s32 sp48;
s16 sp44;
s32 temp_ret;
s32 temp_ret_2;
s32 temp_ret_3;
s32 temp_ret_4;
s32 temp_ret_5;
s32 temp_ret_6;
s32 temp_ret_7;
s32 temp_ret_8;
s32 temp_ret_9;
s32 temp_s0;
s32 temp_s0_10;
s32 temp_s0_11;
s32 temp_s0_12;
s32 temp_s0_13;
s32 temp_s0_14;
s32 temp_s0_15;
s32 temp_s0_2;
s32 temp_s0_3;
s32 temp_s0_4;
s32 temp_s0_5;
s32 temp_s0_6;
s32 temp_s0_7;
s32 temp_s0_8;
s32 temp_s0_9;
s32 phi_s0;
s32 phi_s0_2;
s32 phi_v1;
s32 phi_s0_3;
s32 phi_v1_2;
s32 phi_s0_4;
s32 phi_v1_3;
s32 phi_s0_5;
s32 phi_v1_4;
s32 phi_s0_6;
s32 phi_v1_5;
s32 phi_s0_7;
s32 phi_v1_6;
s32 phi_s0_8;
s32 phi_v1_7;
s32 phi_s0_9;
s32 phi_v1_8;
s32 phi_v1_9;
s32 phi_v1_10;
s32 phi_v1_11;
sp64 = get_textptr_for_textID(TEXT(LTITLE, 0x4c));
sp58 = 0x37;
sp54 = 0x5f;
sp44 = viGetX();
temp_s0 = write_text_at_abs_coord(microcode_constructor(sub_GAME_7F00D5E8(viFillScreen(viSetFillColor(0, 0, 0)))), &sp58, &sp54, sp64, (s32) ptrSecondFontTableLarge, (s32) ptrFirstFontTableLarge, 0xff, sp44, viGetY(), 0, 0);
temp_ret = get_textptr_for_textID(TEXT(LTITLE, 0x4d));
sp64 = temp_ret;
sub_GAME_7F0AE98C(&sp50, &sp4C, temp_ret, ptrSecondFontTableLarge, (s32) ptrFirstFontTableLarge, 0);
sp58 = 0x39;
sp54 = 0x79;
phi_s0 = temp_s0;
if (highlight_players != 0)
{
phi_s0 = microcode_constructor_related_to_menus(temp_s0, 0x37, 0x78, sp4C + 0x3c, 0x87, 0x32);
}
sp44 = viGetX();
temp_s0_2 = write_text_at_abs_coord(phi_s0, &sp58, &sp54, sp64, (s32) ptrSecondFontTableLarge, (s32) ptrFirstFontTableLarge, 0xff, sp44, viGetY(), 0, 0);
temp_ret_2 = get_textptr_for_textID(TEXT(LTITLE, 0x4e));
sp64 = temp_ret_2;
sub_GAME_7F0AE98C(&sp50, &sp4C, temp_ret_2, ptrSecondFontTableLarge, (s32) ptrFirstFontTableLarge, 0);
sp58 = 0x39;
sp54 = 0x8d;
phi_s0_2 = temp_s0_2;
if (highlight_scenario != 0)
{
phi_s0_2 = microcode_constructor_related_to_menus(temp_s0_2, 0x37, 0x8c, sp4C + 0x3c, 0x9b, 0x32);
}
sp44 = viGetX();
temp_s0_3 = write_text_at_abs_coord(phi_s0_2, &sp58, &sp54, sp64, (s32) ptrSecondFontTableLarge, (s32) ptrFirstFontTableLarge, 0xff, sp44, viGetY(), 0, 0);
temp_ret_3 = get_textptr_for_textID(TEXT(LTITLE, 0x4f));
sp64 = temp_ret_3;
sub_GAME_7F0AE98C(&sp50, &sp4C, temp_ret_3, ptrSecondFontTableLarge, (s32) ptrFirstFontTableLarge, 0);
sp58 = 0x39;
sp54 = 0xa1;
phi_s0_3 = temp_s0_3;
if (highlight_gameselect != 0)
{
phi_s0_3 = microcode_constructor_related_to_menus(temp_s0_3, 0x37, 0xa0, sp4C + 0x3c, 0xaf, 0x32);
}
if (unlock_stage_select != 0)
{
phi_v1 = 0xff;
}
else
{
phi_v1 = 0x70;
}
sp48 = (s32) phi_v1;
sp44 = viGetX();
temp_s0_4 = write_text_at_abs_coord(phi_s0_3, &sp58, &sp54, sp64, (s32) ptrSecondFontTableLarge, (s32) ptrFirstFontTableLarge, (s32) phi_v1, sp44, viGetY(), 0, 0);
temp_ret_4 = get_textptr_for_textID(TEXT(LTITLE, 0x50));
sp64 = temp_ret_4;
sub_GAME_7F0AE98C(&sp50, &sp4C, temp_ret_4, ptrSecondFontTableLarge, (s32) ptrFirstFontTableLarge, 0);
sp58 = 0x39;
sp54 = 0xb5;
phi_s0_4 = temp_s0_4;
if (highlight_gamelength != 0)
{
phi_s0_4 = microcode_constructor_related_to_menus(temp_s0_4, 0x37, 0xb4, sp4C + 0x3c, 0xc3, 0x32);
}
if (unlock_game_length != 0)
{
phi_v1_2 = 0xff;
}
else
{
phi_v1_2 = 0x70;
}
sp48 = (s32) phi_v1_2;
sp44 = viGetX();
temp_s0_5 = write_text_at_abs_coord(phi_s0_4, &sp58, &sp54, sp64, (s32) ptrSecondFontTableLarge, (s32) ptrFirstFontTableLarge, (s32) phi_v1_2, sp44, viGetY(), 0, 0);
temp_ret_5 = get_textptr_for_textID(TEXT(LTITLE, 0x51));
sp64 = temp_ret_5;
sub_GAME_7F0AE98C(&sp50, &sp4C, temp_ret_5, ptrSecondFontTableLarge, (s32) ptrFirstFontTableLarge, 0);
sp58 = 0x39;
sp54 = 0xc9;
phi_s0_5 = temp_s0_5;
if (highlight_weaponselect != 0)
{
phi_s0_5 = microcode_constructor_related_to_menus(temp_s0_5, 0x37, 0xc8, sp4C + 0x3c, 0xd7, 0x32);
}
if (unlock_weapon_select != 0)
{
phi_v1_3 = 0xff;
}
else
{
phi_v1_3 = 0x70;
}
sp48 = (s32) phi_v1_3;
sp44 = viGetX();
temp_s0_6 = write_text_at_abs_coord(phi_s0_5, &sp58, &sp54, sp64, (s32) ptrSecondFontTableLarge, (s32) ptrFirstFontTableLarge, (s32) phi_v1_3, sp44, viGetY(), 0, 0);
temp_ret_6 = get_textptr_for_textID(TEXT(LTITLE, 0x52));
sp64 = temp_ret_6;
sub_GAME_7F0AE98C(&sp50, &sp4C, temp_ret_6, ptrSecondFontTableLarge, (s32) ptrFirstFontTableLarge, 0);
sp58 = 0x39;
sp54 = 0xdd;
phi_s0_6 = temp_s0_6;
if (highlight_character != 0)
{
phi_s0_6 = microcode_constructor_related_to_menus(temp_s0_6, 0x37, 0xdc, sp4C + 0x3c, 0xeb, 0x32);
}
if (unlock_chars != 0)
{
phi_v1_4 = 0xff;
}
else
{
phi_v1_4 = 0x70;
}
sp48 = (s32) phi_v1_4;
sp44 = viGetX();
temp_s0_7 = write_text_at_abs_coord(phi_s0_6, &sp58, &sp54, sp64, (s32) ptrSecondFontTableLarge, (s32) ptrFirstFontTableLarge, (s32) phi_v1_4, sp44, viGetY(), 0, 0);
temp_ret_7 = get_textptr_for_textID(TEXT(LTITLE, 0x53));
sp64 = temp_ret_7;
sub_GAME_7F0AE98C(&sp50, &sp4C, temp_ret_7, ptrSecondFontTableLarge, (s32) ptrFirstFontTableLarge, 0);
sp58 = 0x39;
sp54 = 0xf1;
phi_s0_7 = temp_s0_7;
if (highlight_health != 0)
{
phi_s0_7 = microcode_constructor_related_to_menus(temp_s0_7, 0x37, 0xf0, sp4C + 0x3c, 0xff, 0x32);
}
if (unlock_handicap != 0)
{
phi_v1_5 = 0xff;
}
else
{
phi_v1_5 = 0x70;
}
sp48 = (s32) phi_v1_5;
sp44 = viGetX();
temp_s0_8 = write_text_at_abs_coord(phi_s0_7, &sp58, &sp54, sp64, (s32) ptrSecondFontTableLarge, (s32) ptrFirstFontTableLarge, (s32) phi_v1_5, sp44, viGetY(), 0, 0);
temp_ret_8 = get_textptr_for_textID(TEXT(LTITLE, 0x11e));
sp64 = temp_ret_8;
sub_GAME_7F0AE98C(&sp50, &sp4C, temp_ret_8, ptrSecondFontTableLarge, (s32) ptrFirstFontTableLarge, 0);
sp58 = 0x39;
sp54 = 0x105;
phi_s0_8 = temp_s0_8;
if (highlight_controlstyle != 0)
{
phi_s0_8 = microcode_constructor_related_to_menus(temp_s0_8, 0x37, 0x104, sp4C + 0x3c, 0x113, 0x32);
}
if (unlock_control_style != 0)
{
phi_v1_6 = 0xff;
}
else
{
phi_v1_6 = 0x70;
}
sp48 = (s32) phi_v1_6;
sp44 = viGetX();
temp_s0_9 = write_text_at_abs_coord(phi_s0_8, &sp58, &sp54, sp64, (s32) ptrSecondFontTableLarge, (s32) ptrFirstFontTableLarge, (s32) phi_v1_6, sp44, viGetY(), 0, 0);
temp_ret_9 = get_textptr_for_textID(TEXT(LTITLE, 0x54));
sp64 = temp_ret_9;
sub_GAME_7F0AE98C(&sp50, &sp4C, temp_ret_9, ptrSecondFontTableLarge, (s32) ptrFirstFontTableLarge, 0);
sp58 = 0x39;
sp54 = 0x119;
phi_s0_9 = temp_s0_9;
if (highlight_aimadjustment != 0)
{
phi_s0_9 = microcode_constructor_related_to_menus(temp_s0_9, 0x37, 0x118, sp4C + 0x3c, 0x127, 0x32);
}
if (unlock_aim_sight != 0)
{
phi_v1_7 = 0xff;
}
else
{
phi_v1_7 = 0x70;
}
sp48 = (s32) phi_v1_7;
sp44 = viGetX();
temp_s0_10 = write_text_at_abs_coord(phi_s0_9, &sp58, &sp54, sp64, (s32) ptrSecondFontTableLarge, (s32) ptrFirstFontTableLarge, (s32) phi_v1_7, sp44, viGetY(), 0, 0);
sprintf(&sp5C, &aD_7, selected_num_players);
sp58 = 0xa0;
sp54 = 0x79;
sp44 = viGetX();
temp_s0_11 = write_text_at_abs_coord(temp_s0_10, &sp58, &sp54, &sp5C, (s32) ptrSecondFontTableLarge, (s32) ptrFirstFontTableLarge, 0xff, sp44, viGetY(), 0, 0);
sp64 = get_textptr_for_textID((0x80030000 + (scenario * 4))->unk-4FAC);
sp58 = 0xa0;
sp54 = 0x8d;
sp44 = viGetX();
temp_s0_12 = write_text_at_abs_coord(temp_s0_11, &sp58, &sp54, sp64, (s32) ptrSecondFontTableLarge, (s32) ptrFirstFontTableLarge, 0xff, sp44, viGetY(), 0, 0);
sp64 = get_textptr_for_textID((0x80030000 + (MP_stage_selected * 0x18))->unk-4F8C);
sp58 = 0xa0;
sp54 = 0xa1;
if (unlock_stage_select != 0)
{
phi_v1_8 = 0xff;
}
else
{
phi_v1_8 = 0x70;
}
sp48 = (s32) phi_v1_8;
sp44 = viGetX();
temp_s0_13 = write_text_at_abs_coord(temp_s0_12, &sp58, &sp54, sp64, (s32) ptrSecondFontTableLarge, (s32) ptrFirstFontTableLarge, (s32) phi_v1_8, sp44, viGetY(), 0, 0);
sp64 = get_textptr_for_textID((0x80030000 + (game_length * 0xc))->unk-500C);
sp58 = 0xa0;
sp54 = 0xb5;
if (unlock_game_length != 0)
{
phi_v1_9 = 0xff;
}
else
{
phi_v1_9 = 0x70;
}
sp48 = (s32) phi_v1_9;
sp44 = viGetX();
temp_s0_14 = write_text_at_abs_coord(temp_s0_13, &sp58, &sp54, sp64, (s32) ptrSecondFontTableLarge, (s32) ptrFirstFontTableLarge, (s32) phi_v1_9, sp44, viGetY(), 0, 0);
sp64 = get_textptr_for_textID(*getPtrMPWeaponSetTextID());
sp58 = 0xa0;
sp54 = 0xc9;
if (unlock_weapon_select != 0)
{
phi_v1_10 = 0xff;
}
else
{
phi_v1_10 = 0x70;
}
sp48 = (s32) phi_v1_10;
sp44 = viGetX();
temp_s0_15 = write_text_at_abs_coord(temp_s0_14, &sp58, &sp54, sp64, (s32) ptrSecondFontTableLarge, (s32) ptrFirstFontTableLarge, (s32) phi_v1_10, sp44, viGetY(), 0, 0);
sp64 = get_textptr_for_textID((0x80030000 + (aim_sight_adjustment * 4))->unk-4AF0);
sp58 = 0xa0;
sp54 = 0x119;
if (unlock_aim_sight != 0)
{
phi_v1_11 = 0xff;
}
else
{
phi_v1_11 = 0x70;
}
sp48 = (s32) phi_v1_11;
sp44 = viGetX();
load_draw_selected_icon_folder_select(add_tab1_start(add_tab3_previous(write_text_at_abs_coord(temp_s0_15, &sp58, &sp54, sp64, (s32) ptrSecondFontTableLarge, (s32) ptrFirstFontTableLarge, (s32) phi_v1_11, sp44, viGetY(), 0, 0))));
}
#else
const char aD_7[] = "%d";
GLOBAL_ASM(
.text
glabel constructor_menu0E_mpoptions
/* 045A40 7F010F10 27BDFF98 */ addiu $sp, $sp, -0x68
/* 045A44 7F010F14 AFBF003C */ sw $ra, 0x3c($sp)
/* 045A48 7F010F18 AFB00038 */ sw $s0, 0x38($sp)
/* 045A4C 7F010F1C 00002825 */ move $a1, $zero
/* 045A50 7F010F20 00003025 */ move $a2, $zero
/* 045A54 7F010F24 0C0011B4 */ jal viSetFillColor
/* 045A58 7F010F28 00003825 */ move $a3, $zero
/* 045A5C 7F010F2C 0C000FBE */ jal viFillScreen
/* 045A60 7F010F30 00402025 */ move $a0, $v0
/* 045A64 7F010F34 0FC0357A */ jal sub_GAME_7F00D5E8
/* 045A68 7F010F38 00402025 */ move $a0, $v0
/* 045A6C 7F010F3C 0FC2B366 */ jal microcode_constructor
/* 045A70 7F010F40 00402025 */ move $a0, $v0
/* 045A74 7F010F44 00408025 */ move $s0, $v0
/* 045A78 7F010F48 0FC30776 */ jal get_textptr_for_textID
/* 045A7C 7F010F4C 34049C4C */ li $a0, 40012
/* 045A80 7F010F50 240E0037 */ li $t6, 55
/* 045A84 7F010F54 240F005F */ li $t7, 95
/* 045A88 7F010F58 AFA20064 */ sw $v0, 0x64($sp)
/* 045A8C 7F010F5C AFAE0058 */ sw $t6, 0x58($sp)
/* 045A90 7F010F60 0C001107 */ jal viGetX
/* 045A94 7F010F64 AFAF0054 */ sw $t7, 0x54($sp)
/* 045A98 7F010F68 0C00110B */ jal viGetY
/* 045A9C 7F010F6C A7A20044 */ sh $v0, 0x44($sp)
/* 045AA0 7F010F70 3C188004 */ lui $t8, %hi(ptrSecondFontTableLarge)
/* 045AA4 7F010F74 3C198004 */ lui $t9, %hi(ptrFirstFontTableLarge)
/* 045AA8 7F010F78 8F390EB4 */ lw $t9, %lo(ptrFirstFontTableLarge)($t9)
/* 045AAC 7F010F7C 8F180EB8 */ lw $t8, %lo(ptrSecondFontTableLarge)($t8)
/* 045AB0 7F010F80 87A90044 */ lh $t1, 0x44($sp)
/* 045AB4 7F010F84 240800FF */ li $t0, 255
/* 045AB8 7F010F88 AFA80018 */ sw $t0, 0x18($sp)
/* 045ABC 7F010F8C 02002025 */ move $a0, $s0
/* 045AC0 7F010F90 27A50058 */ addiu $a1, $sp, 0x58
/* 045AC4 7F010F94 27A60054 */ addiu $a2, $sp, 0x54
/* 045AC8 7F010F98 8FA70064 */ lw $a3, 0x64($sp)
/* 045ACC 7F010F9C AFA20020 */ sw $v0, 0x20($sp)
/* 045AD0 7F010FA0 AFA00024 */ sw $zero, 0x24($sp)
/* 045AD4 7F010FA4 AFA00028 */ sw $zero, 0x28($sp)
/* 045AD8 7F010FA8 AFB90014 */ sw $t9, 0x14($sp)
/* 045ADC 7F010FAC AFB80010 */ sw $t8, 0x10($sp)
/* 045AE0 7F010FB0 0FC025D8 */ jal write_text_at_abs_coord
/* 045AE4 7F010FB4 AFA9001C */ sw $t1, 0x1c($sp)
/* 045AE8 7F010FB8 00408025 */ move $s0, $v0
/* 045AEC 7F010FBC 0FC30776 */ jal get_textptr_for_textID
/* 045AF0 7F010FC0 34049C4D */ li $a0, 40013
/* 045AF4 7F010FC4 3C0A8004 */ lui $t2, %hi(ptrFirstFontTableLarge)
/* 045AF8 7F010FC8 8D4A0EB4 */ lw $t2, %lo(ptrFirstFontTableLarge)($t2)
/* 045AFC 7F010FCC 3C078004 */ lui $a3, %hi(ptrSecondFontTableLarge)
/* 045B00 7F010FD0 AFA20064 */ sw $v0, 0x64($sp)
/* 045B04 7F010FD4 8CE70EB8 */ lw $a3, %lo(ptrSecondFontTableLarge)($a3)
/* 045B08 7F010FD8 27A40050 */ addiu $a0, $sp, 0x50
/* 045B0C 7F010FDC 27A5004C */ addiu $a1, $sp, 0x4c
/* 045B10 7F010FE0 00403025 */ move $a2, $v0
/* 045B14 7F010FE4 AFA00014 */ sw $zero, 0x14($sp)
/* 045B18 7F010FE8 0FC2BA63 */ jal sub_GAME_7F0AE98C
/* 045B1C 7F010FEC AFAA0010 */ sw $t2, 0x10($sp)
/* 045B20 7F010FF0 3C0D8007 */ lui $t5, %hi(highlight_players)
/* 045B24 7F010FF4 8DAD97C8 */ lw $t5, %lo(highlight_players)($t5)
/* 045B28 7F010FF8 240B0039 */ li $t3, 57
/* 045B2C 7F010FFC 240C0079 */ li $t4, 121
/* 045B30 7F011000 AFAB0058 */ sw $t3, 0x58($sp)
/* 045B34 7F011004 11A0000C */ beqz $t5, .L7F011038
/* 045B38 7F011008 AFAC0054 */ sw $t4, 0x54($sp)
/* 045B3C 7F01100C 8FA7004C */ lw $a3, 0x4c($sp)
/* 045B40 7F011010 240E0087 */ li $t6, 135
/* 045B44 7F011014 240F0032 */ li $t7, 50
/* 045B48 7F011018 AFAF0014 */ sw $t7, 0x14($sp)
/* 045B4C 7F01101C AFAE0010 */ sw $t6, 0x10($sp)
/* 045B50 7F011020 02002025 */ move $a0, $s0
/* 045B54 7F011024 24050037 */ li $a1, 55
/* 045B58 7F011028 24060078 */ li $a2, 120
/* 045B5C 7F01102C 0FC2B405 */ jal microcode_constructor_related_to_menus
/* 045B60 7F011030 24E7003C */ addiu $a3, $a3, 0x3c
/* 045B64 7F011034 00408025 */ move $s0, $v0
.L7F011038:
/* 045B68 7F011038 0C001107 */ jal viGetX
/* 045B6C 7F01103C 00000000 */ nop
/* 045B70 7F011040 0C00110B */ jal viGetY
/* 045B74 7F011044 A7A20044 */ sh $v0, 0x44($sp)
/* 045B78 7F011048 3C188004 */ lui $t8, %hi(ptrSecondFontTableLarge)
/* 045B7C 7F01104C 3C198004 */ lui $t9, %hi(ptrFirstFontTableLarge)
/* 045B80 7F011050 8F390EB4 */ lw $t9, %lo(ptrFirstFontTableLarge)($t9)
/* 045B84 7F011054 8F180EB8 */ lw $t8, %lo(ptrSecondFontTableLarge)($t8)
/* 045B88 7F011058 87A90044 */ lh $t1, 0x44($sp)
/* 045B8C 7F01105C 240800FF */ li $t0, 255
/* 045B90 7F011060 AFA80018 */ sw $t0, 0x18($sp)
/* 045B94 7F011064 02002025 */ move $a0, $s0
/* 045B98 7F011068 27A50058 */ addiu $a1, $sp, 0x58
/* 045B9C 7F01106C 27A60054 */ addiu $a2, $sp, 0x54
/* 045BA0 7F011070 8FA70064 */ lw $a3, 0x64($sp)
/* 045BA4 7F011074 AFA20020 */ sw $v0, 0x20($sp)
/* 045BA8 7F011078 AFA00024 */ sw $zero, 0x24($sp)
/* 045BAC 7F01107C AFA00028 */ sw $zero, 0x28($sp)
/* 045BB0 7F011080 AFB90014 */ sw $t9, 0x14($sp)
/* 045BB4 7F011084 AFB80010 */ sw $t8, 0x10($sp)
/* 045BB8 7F011088 0FC025D8 */ jal write_text_at_abs_coord
/* 045BBC 7F01108C AFA9001C */ sw $t1, 0x1c($sp)
/* 045BC0 7F011090 00408025 */ move $s0, $v0
/* 045BC4 7F011094 0FC30776 */ jal get_textptr_for_textID
/* 045BC8 7F011098 34049C4E */ li $a0, 40014
/* 045BCC 7F01109C 3C0A8004 */ lui $t2, %hi(ptrFirstFontTableLarge)
/* 045BD0 7F0110A0 8D4A0EB4 */ lw $t2, %lo(ptrFirstFontTableLarge)($t2)
/* 045BD4 7F0110A4 3C078004 */ lui $a3, %hi(ptrSecondFontTableLarge)
/* 045BD8 7F0110A8 AFA20064 */ sw $v0, 0x64($sp)
/* 045BDC 7F0110AC 8CE70EB8 */ lw $a3, %lo(ptrSecondFontTableLarge)($a3)
/* 045BE0 7F0110B0 27A40050 */ addiu $a0, $sp, 0x50
/* 045BE4 7F0110B4 27A5004C */ addiu $a1, $sp, 0x4c
/* 045BE8 7F0110B8 00403025 */ move $a2, $v0
/* 045BEC 7F0110BC AFA00014 */ sw $zero, 0x14($sp)
/* 045BF0 7F0110C0 0FC2BA63 */ jal sub_GAME_7F0AE98C
/* 045BF4 7F0110C4 AFAA0010 */ sw $t2, 0x10($sp)
/* 045BF8 7F0110C8 3C0D8007 */ lui $t5, %hi(highlight_scenario)
/* 045BFC 7F0110CC 8DAD97CC */ lw $t5, %lo(highlight_scenario)($t5)
/* 045C00 7F0110D0 240B0039 */ li $t3, 57
/* 045C04 7F0110D4 240C008D */ li $t4, 141
/* 045C08 7F0110D8 AFAB0058 */ sw $t3, 0x58($sp)
/* 045C0C 7F0110DC 11A0000C */ beqz $t5, .L7F011110
/* 045C10 7F0110E0 AFAC0054 */ sw $t4, 0x54($sp)
/* 045C14 7F0110E4 8FA7004C */ lw $a3, 0x4c($sp)
/* 045C18 7F0110E8 240E009B */ li $t6, 155
/* 045C1C 7F0110EC 240F0032 */ li $t7, 50
/* 045C20 7F0110F0 AFAF0014 */ sw $t7, 0x14($sp)
/* 045C24 7F0110F4 AFAE0010 */ sw $t6, 0x10($sp)
/* 045C28 7F0110F8 02002025 */ move $a0, $s0
/* 045C2C 7F0110FC 24050037 */ li $a1, 55
/* 045C30 7F011100 2406008C */ li $a2, 140
/* 045C34 7F011104 0FC2B405 */ jal microcode_constructor_related_to_menus
/* 045C38 7F011108 24E7003C */ addiu $a3, $a3, 0x3c
/* 045C3C 7F01110C 00408025 */ move $s0, $v0
.L7F011110:
/* 045C40 7F011110 0C001107 */ jal viGetX
/* 045C44 7F011114 00000000 */ nop
/* 045C48 7F011118 0C00110B */ jal viGetY
/* 045C4C 7F01111C A7A20044 */ sh $v0, 0x44($sp)
/* 045C50 7F011120 3C188004 */ lui $t8, %hi(ptrSecondFontTableLarge)
/* 045C54 7F011124 3C198004 */ lui $t9, %hi(ptrFirstFontTableLarge)
/* 045C58 7F011128 8F390EB4 */ lw $t9, %lo(ptrFirstFontTableLarge)($t9)
/* 045C5C 7F01112C 8F180EB8 */ lw $t8, %lo(ptrSecondFontTableLarge)($t8)
/* 045C60 7F011130 87A90044 */ lh $t1, 0x44($sp)
/* 045C64 7F011134 240800FF */ li $t0, 255
/* 045C68 7F011138 AFA80018 */ sw $t0, 0x18($sp)
/* 045C6C 7F01113C 02002025 */ move $a0, $s0
/* 045C70 7F011140 27A50058 */ addiu $a1, $sp, 0x58
/* 045C74 7F011144 27A60054 */ addiu $a2, $sp, 0x54
/* 045C78 7F011148 8FA70064 */ lw $a3, 0x64($sp)
/* 045C7C 7F01114C AFA20020 */ sw $v0, 0x20($sp)
/* 045C80 7F011150 AFA00024 */ sw $zero, 0x24($sp)
/* 045C84 7F011154 AFA00028 */ sw $zero, 0x28($sp)
/* 045C88 7F011158 AFB90014 */ sw $t9, 0x14($sp)
/* 045C8C 7F01115C AFB80010 */ sw $t8, 0x10($sp)
/* 045C90 7F011160 0FC025D8 */ jal write_text_at_abs_coord
/* 045C94 7F011164 AFA9001C */ sw $t1, 0x1c($sp)
/* 045C98 7F011168 00408025 */ move $s0, $v0
/* 045C9C 7F01116C 0FC30776 */ jal get_textptr_for_textID
/* 045CA0 7F011170 34049C4F */ li $a0, 40015
/* 045CA4 7F011174 3C0A8004 */ lui $t2, %hi(ptrFirstFontTableLarge)
/* 045CA8 7F011178 8D4A0EB4 */ lw $t2, %lo(ptrFirstFontTableLarge)($t2)
/* 045CAC 7F01117C 3C078004 */ lui $a3, %hi(ptrSecondFontTableLarge)
/* 045CB0 7F011180 AFA20064 */ sw $v0, 0x64($sp)
/* 045CB4 7F011184 8CE70EB8 */ lw $a3, %lo(ptrSecondFontTableLarge)($a3)
/* 045CB8 7F011188 27A40050 */ addiu $a0, $sp, 0x50
/* 045CBC 7F01118C 27A5004C */ addiu $a1, $sp, 0x4c
/* 045CC0 7F011190 00403025 */ move $a2, $v0
/* 045CC4 7F011194 AFA00014 */ sw $zero, 0x14($sp)
/* 045CC8 7F011198 0FC2BA63 */ jal sub_GAME_7F0AE98C
/* 045CCC 7F01119C AFAA0010 */ sw $t2, 0x10($sp)
/* 045CD0 7F0111A0 3C0D8007 */ lui $t5, %hi(highlight_gameselect)
/* 045CD4 7F0111A4 8DAD97D0 */ lw $t5, %lo(highlight_gameselect)($t5)
/* 045CD8 7F0111A8 240B0039 */ li $t3, 57
/* 045CDC 7F0111AC 240C00A1 */ li $t4, 161
/* 045CE0 7F0111B0 AFAB0058 */ sw $t3, 0x58($sp)
/* 045CE4 7F0111B4 11A0000C */ beqz $t5, .L7F0111E8
/* 045CE8 7F0111B8 AFAC0054 */ sw $t4, 0x54($sp)
/* 045CEC 7F0111BC 8FA7004C */ lw $a3, 0x4c($sp)
/* 045CF0 7F0111C0 240E00AF */ li $t6, 175
/* 045CF4 7F0111C4 240F0032 */ li $t7, 50
/* 045CF8 7F0111C8 AFAF0014 */ sw $t7, 0x14($sp)
/* 045CFC 7F0111CC AFAE0010 */ sw $t6, 0x10($sp)
/* 045D00 7F0111D0 02002025 */ move $a0, $s0
/* 045D04 7F0111D4 24050037 */ li $a1, 55
/* 045D08 7F0111D8 240600A0 */ li $a2, 160
/* 045D0C 7F0111DC 0FC2B405 */ jal microcode_constructor_related_to_menus
/* 045D10 7F0111E0 24E7003C */ addiu $a3, $a3, 0x3c
/* 045D14 7F0111E4 00408025 */ move $s0, $v0
.L7F0111E8:
/* 045D18 7F0111E8 3C188003 */ lui $t8, %hi(unlock_stage_select)
/* 045D1C 7F0111EC 8F18B544 */ lw $t8, %lo(unlock_stage_select)($t8)
/* 045D20 7F0111F0 53000004 */ beql $t8, $zero, .L7F011204
/* 045D24 7F0111F4 24030070 */ li $v1, 112
/* 045D28 7F0111F8 10000002 */ b .L7F011204
/* 045D2C 7F0111FC 240300FF */ li $v1, 255
/* 045D30 7F011200 24030070 */ li $v1, 112
.L7F011204:
/* 045D34 7F011204 0C001107 */ jal viGetX
/* 045D38 7F011208 AFA30048 */ sw $v1, 0x48($sp)
/* 045D3C 7F01120C 0C00110B */ jal viGetY
/* 045D40 7F011210 A7A20044 */ sh $v0, 0x44($sp)
/* 045D44 7F011214 3C198004 */ lui $t9, %hi(ptrSecondFontTableLarge)
/* 045D48 7F011218 3C088004 */ lui $t0, %hi(ptrFirstFontTableLarge)
/* 045D4C 7F01121C 8D080EB4 */ lw $t0, %lo(ptrFirstFontTableLarge)($t0)
/* 045D50 7F011220 8F390EB8 */ lw $t9, %lo(ptrSecondFontTableLarge)($t9)
/* 045D54 7F011224 8FA30048 */ lw $v1, 0x48($sp)
/* 045D58 7F011228 87A90044 */ lh $t1, 0x44($sp)
/* 045D5C 7F01122C 02002025 */ move $a0, $s0
/* 045D60 7F011230 27A50058 */ addiu $a1, $sp, 0x58
/* 045D64 7F011234 27A60054 */ addiu $a2, $sp, 0x54
/* 045D68 7F011238 8FA70064 */ lw $a3, 0x64($sp)
/* 045D6C 7F01123C AFA20020 */ sw $v0, 0x20($sp)
/* 045D70 7F011240 AFA00024 */ sw $zero, 0x24($sp)
/* 045D74 7F011244 AFA00028 */ sw $zero, 0x28($sp)
/* 045D78 7F011248 AFA80014 */ sw $t0, 0x14($sp)
/* 045D7C 7F01124C AFB90010 */ sw $t9, 0x10($sp)
/* 045D80 7F011250 AFA30018 */ sw $v1, 0x18($sp)
/* 045D84 7F011254 0FC025D8 */ jal write_text_at_abs_coord
/* 045D88 7F011258 AFA9001C */ sw $t1, 0x1c($sp)
/* 045D8C 7F01125C 00408025 */ move $s0, $v0
/* 045D90 7F011260 0FC30776 */ jal get_textptr_for_textID
/* 045D94 7F011264 34049C50 */ li $a0, 40016
/* 045D98 7F011268 3C0A8004 */ lui $t2, %hi(ptrFirstFontTableLarge)
/* 045D9C 7F01126C 8D4A0EB4 */ lw $t2, %lo(ptrFirstFontTableLarge)($t2)
/* 045DA0 7F011270 3C078004 */ lui $a3, %hi(ptrSecondFontTableLarge)
/* 045DA4 7F011274 AFA20064 */ sw $v0, 0x64($sp)
/* 045DA8 7F011278 8CE70EB8 */ lw $a3, %lo(ptrSecondFontTableLarge)($a3)
/* 045DAC 7F01127C 27A40050 */ addiu $a0, $sp, 0x50
/* 045DB0 7F011280 27A5004C */ addiu $a1, $sp, 0x4c
/* 045DB4 7F011284 00403025 */ move $a2, $v0
/* 045DB8 7F011288 AFA00014 */ sw $zero, 0x14($sp)
/* 045DBC 7F01128C 0FC2BA63 */ jal sub_GAME_7F0AE98C
/* 045DC0 7F011290 AFAA0010 */ sw $t2, 0x10($sp)
/* 045DC4 7F011294 3C0D8007 */ lui $t5, %hi(highlight_gamelength)
/* 045DC8 7F011298 8DAD97D4 */ lw $t5, %lo(highlight_gamelength)($t5)
/* 045DCC 7F01129C 240B0039 */ li $t3, 57
/* 045DD0 7F0112A0 240C00B5 */ li $t4, 181
/* 045DD4 7F0112A4 AFAB0058 */ sw $t3, 0x58($sp)
/* 045DD8 7F0112A8 11A0000C */ beqz $t5, .L7F0112DC
/* 045DDC 7F0112AC AFAC0054 */ sw $t4, 0x54($sp)
/* 045DE0 7F0112B0 8FA7004C */ lw $a3, 0x4c($sp)
/* 045DE4 7F0112B4 240E00C3 */ li $t6, 195
/* 045DE8 7F0112B8 240F0032 */ li $t7, 50
/* 045DEC 7F0112BC AFAF0014 */ sw $t7, 0x14($sp)
/* 045DF0 7F0112C0 AFAE0010 */ sw $t6, 0x10($sp)
/* 045DF4 7F0112C4 02002025 */ move $a0, $s0
/* 045DF8 7F0112C8 24050037 */ li $a1, 55
/* 045DFC 7F0112CC 240600B4 */ li $a2, 180
/* 045E00 7F0112D0 0FC2B405 */ jal microcode_constructor_related_to_menus
/* 045E04 7F0112D4 24E7003C */ addiu $a3, $a3, 0x3c
/* 045E08 7F0112D8 00408025 */ move $s0, $v0
.L7F0112DC:
/* 045E0C 7F0112DC 3C188003 */ lui $t8, %hi(unlock_game_length)
/* 045E10 7F0112E0 8F18B548 */ lw $t8, %lo(unlock_game_length)($t8)
/* 045E14 7F0112E4 53000004 */ beql $t8, $zero, .L7F0112F8
/* 045E18 7F0112E8 24030070 */ li $v1, 112
/* 045E1C 7F0112EC 10000002 */ b .L7F0112F8
/* 045E20 7F0112F0 240300FF */ li $v1, 255
/* 045E24 7F0112F4 24030070 */ li $v1, 112
.L7F0112F8:
/* 045E28 7F0112F8 0C001107 */ jal viGetX
/* 045E2C 7F0112FC AFA30048 */ sw $v1, 0x48($sp)
/* 045E30 7F011300 0C00110B */ jal viGetY
/* 045E34 7F011304 A7A20044 */ sh $v0, 0x44($sp)
/* 045E38 7F011308 3C198004 */ lui $t9, %hi(ptrSecondFontTableLarge)
/* 045E3C 7F01130C 3C088004 */ lui $t0, %hi(ptrFirstFontTableLarge)
/* 045E40 7F011310 8D080EB4 */ lw $t0, %lo(ptrFirstFontTableLarge)($t0)
/* 045E44 7F011314 8F390EB8 */ lw $t9, %lo(ptrSecondFontTableLarge)($t9)
/* 045E48 7F011318 8FA30048 */ lw $v1, 0x48($sp)
/* 045E4C 7F01131C 87A90044 */ lh $t1, 0x44($sp)
/* 045E50 7F011320 02002025 */ move $a0, $s0
/* 045E54 7F011324 27A50058 */ addiu $a1, $sp, 0x58
/* 045E58 7F011328 27A60054 */ addiu $a2, $sp, 0x54
/* 045E5C 7F01132C 8FA70064 */ lw $a3, 0x64($sp)
/* 045E60 7F011330 AFA20020 */ sw $v0, 0x20($sp)
/* 045E64 7F011334 AFA00024 */ sw $zero, 0x24($sp)
/* 045E68 7F011338 AFA00028 */ sw $zero, 0x28($sp)
/* 045E6C 7F01133C AFA80014 */ sw $t0, 0x14($sp)
/* 045E70 7F011340 AFB90010 */ sw $t9, 0x10($sp)
/* 045E74 7F011344 AFA30018 */ sw $v1, 0x18($sp)
/* 045E78 7F011348 0FC025D8 */ jal write_text_at_abs_coord
/* 045E7C 7F01134C AFA9001C */ sw $t1, 0x1c($sp)
/* 045E80 7F011350 00408025 */ move $s0, $v0
/* 045E84 7F011354 0FC30776 */ jal get_textptr_for_textID
/* 045E88 7F011358 34049C51 */ li $a0, 40017
/* 045E8C 7F01135C 3C0A8004 */ lui $t2, %hi(ptrFirstFontTableLarge)
/* 045E90 7F011360 8D4A0EB4 */ lw $t2, %lo(ptrFirstFontTableLarge)($t2)
/* 045E94 7F011364 3C078004 */ lui $a3, %hi(ptrSecondFontTableLarge)
/* 045E98 7F011368 AFA20064 */ sw $v0, 0x64($sp)
/* 045E9C 7F01136C 8CE70EB8 */ lw $a3, %lo(ptrSecondFontTableLarge)($a3)
/* 045EA0 7F011370 27A40050 */ addiu $a0, $sp, 0x50
/* 045EA4 7F011374 27A5004C */ addiu $a1, $sp, 0x4c
/* 045EA8 7F011378 00403025 */ move $a2, $v0
/* 045EAC 7F01137C AFA00014 */ sw $zero, 0x14($sp)
/* 045EB0 7F011380 0FC2BA63 */ jal sub_GAME_7F0AE98C
/* 045EB4 7F011384 AFAA0010 */ sw $t2, 0x10($sp)
/* 045EB8 7F011388 3C0D8007 */ lui $t5, %hi(highlight_weaponselect)
/* 045EBC 7F01138C 8DAD97DC */ lw $t5, %lo(highlight_weaponselect)($t5)
/* 045EC0 7F011390 240B0039 */ li $t3, 57
/* 045EC4 7F011394 240C00C9 */ li $t4, 201
/* 045EC8 7F011398 AFAB0058 */ sw $t3, 0x58($sp)
/* 045ECC 7F01139C 11A0000C */ beqz $t5, .L7F0113D0
/* 045ED0 7F0113A0 AFAC0054 */ sw $t4, 0x54($sp)
/* 045ED4 7F0113A4 8FA7004C */ lw $a3, 0x4c($sp)
/* 045ED8 7F0113A8 240E00D7 */ li $t6, 215
/* 045EDC 7F0113AC 240F0032 */ li $t7, 50
/* 045EE0 7F0113B0 AFAF0014 */ sw $t7, 0x14($sp)
/* 045EE4 7F0113B4 AFAE0010 */ sw $t6, 0x10($sp)
/* 045EE8 7F0113B8 02002025 */ move $a0, $s0
/* 045EEC 7F0113BC 24050037 */ li $a1, 55
/* 045EF0 7F0113C0 240600C8 */ li $a2, 200
/* 045EF4 7F0113C4 0FC2B405 */ jal microcode_constructor_related_to_menus
/* 045EF8 7F0113C8 24E7003C */ addiu $a3, $a3, 0x3c
/* 045EFC 7F0113CC 00408025 */ move $s0, $v0
.L7F0113D0:
/* 045F00 7F0113D0 3C188003 */ lui $t8, %hi(unlock_weapon_select)
/* 045F04 7F0113D4 8F18B550 */ lw $t8, %lo(unlock_weapon_select)($t8)
/* 045F08 7F0113D8 53000004 */ beql $t8, $zero, .L7F0113EC
/* 045F0C 7F0113DC 24030070 */ li $v1, 112
/* 045F10 7F0113E0 10000002 */ b .L7F0113EC
/* 045F14 7F0113E4 240300FF */ li $v1, 255
/* 045F18 7F0113E8 24030070 */ li $v1, 112
.L7F0113EC:
/* 045F1C 7F0113EC 0C001107 */ jal viGetX
/* 045F20 7F0113F0 AFA30048 */ sw $v1, 0x48($sp)
/* 045F24 7F0113F4 0C00110B */ jal viGetY
/* 045F28 7F0113F8 A7A20044 */ sh $v0, 0x44($sp)
/* 045F2C 7F0113FC 3C198004 */ lui $t9, %hi(ptrSecondFontTableLarge)
/* 045F30 7F011400 3C088004 */ lui $t0, %hi(ptrFirstFontTableLarge)
/* 045F34 7F011404 8D080EB4 */ lw $t0, %lo(ptrFirstFontTableLarge)($t0)
/* 045F38 7F011408 8F390EB8 */ lw $t9, %lo(ptrSecondFontTableLarge)($t9)
/* 045F3C 7F01140C 8FA30048 */ lw $v1, 0x48($sp)
/* 045F40 7F011410 87A90044 */ lh $t1, 0x44($sp)
/* 045F44 7F011414 02002025 */ move $a0, $s0
/* 045F48 7F011418 27A50058 */ addiu $a1, $sp, 0x58
/* 045F4C 7F01141C 27A60054 */ addiu $a2, $sp, 0x54
/* 045F50 7F011420 8FA70064 */ lw $a3, 0x64($sp)
/* 045F54 7F011424 AFA20020 */ sw $v0, 0x20($sp)
/* 045F58 7F011428 AFA00024 */ sw $zero, 0x24($sp)
/* 045F5C 7F01142C AFA00028 */ sw $zero, 0x28($sp)
/* 045F60 7F011430 AFA80014 */ sw $t0, 0x14($sp)
/* 045F64 7F011434 AFB90010 */ sw $t9, 0x10($sp)
/* 045F68 7F011438 AFA30018 */ sw $v1, 0x18($sp)
/* 045F6C 7F01143C 0FC025D8 */ jal write_text_at_abs_coord
/* 045F70 7F011440 AFA9001C */ sw $t1, 0x1c($sp)
/* 045F74 7F011444 00408025 */ move $s0, $v0
/* 045F78 7F011448 0FC30776 */ jal get_textptr_for_textID
/* 045F7C 7F01144C 34049C52 */ li $a0, 40018
/* 045F80 7F011450 3C0A8004 */ lui $t2, %hi(ptrFirstFontTableLarge)
/* 045F84 7F011454 8D4A0EB4 */ lw $t2, %lo(ptrFirstFontTableLarge)($t2)
/* 045F88 7F011458 3C078004 */ lui $a3, %hi(ptrSecondFontTableLarge)
/* 045F8C 7F01145C AFA20064 */ sw $v0, 0x64($sp)
/* 045F90 7F011460 8CE70EB8 */ lw $a3, %lo(ptrSecondFontTableLarge)($a3)
/* 045F94 7F011464 27A40050 */ addiu $a0, $sp, 0x50
/* 045F98 7F011468 27A5004C */ addiu $a1, $sp, 0x4c
/* 045F9C 7F01146C 00403025 */ move $a2, $v0
/* 045FA0 7F011470 AFA00014 */ sw $zero, 0x14($sp)
/* 045FA4 7F011474 0FC2BA63 */ jal sub_GAME_7F0AE98C
/* 045FA8 7F011478 AFAA0010 */ sw $t2, 0x10($sp)
/* 045FAC 7F01147C 3C0D8007 */ lui $t5, %hi(highlight_character)
/* 045FB0 7F011480 8DAD97D8 */ lw $t5, %lo(highlight_character)($t5)
/* 045FB4 7F011484 240B0039 */ li $t3, 57
/* 045FB8 7F011488 240C00DD */ li $t4, 221
/* 045FBC 7F01148C AFAB0058 */ sw $t3, 0x58($sp)
/* 045FC0 7F011490 11A0000C */ beqz $t5, .L7F0114C4
/* 045FC4 7F011494 AFAC0054 */ sw $t4, 0x54($sp)
/* 045FC8 7F011498 8FA7004C */ lw $a3, 0x4c($sp)
/* 045FCC 7F01149C 240E00EB */ li $t6, 235
/* 045FD0 7F0114A0 240F0032 */ li $t7, 50
/* 045FD4 7F0114A4 AFAF0014 */ sw $t7, 0x14($sp)
/* 045FD8 7F0114A8 AFAE0010 */ sw $t6, 0x10($sp)
/* 045FDC 7F0114AC 02002025 */ move $a0, $s0
/* 045FE0 7F0114B0 24050037 */ li $a1, 55
/* 045FE4 7F0114B4 240600DC */ li $a2, 220
/* 045FE8 7F0114B8 0FC2B405 */ jal microcode_constructor_related_to_menus
/* 045FEC 7F0114BC 24E7003C */ addiu $a3, $a3, 0x3c
/* 045FF0 7F0114C0 00408025 */ move $s0, $v0
.L7F0114C4:
/* 045FF4 7F0114C4 3C188003 */ lui $t8, %hi(unlock_chars)
/* 045FF8 7F0114C8 8F18B54C */ lw $t8, %lo(unlock_chars)($t8)
/* 045FFC 7F0114CC 53000004 */ beql $t8, $zero, .L7F0114E0
/* 046000 7F0114D0 24030070 */ li $v1, 112
/* 046004 7F0114D4 10000002 */ b .L7F0114E0
/* 046008 7F0114D8 240300FF */ li $v1, 255
/* 04600C 7F0114DC 24030070 */ li $v1, 112
.L7F0114E0:
/* 046010 7F0114E0 0C001107 */ jal viGetX
/* 046014 7F0114E4 AFA30048 */ sw $v1, 0x48($sp)
/* 046018 7F0114E8 0C00110B */ jal viGetY
/* 04601C 7F0114EC A7A20044 */ sh $v0, 0x44($sp)
/* 046020 7F0114F0 3C198004 */ lui $t9, %hi(ptrSecondFontTableLarge)
/* 046024 7F0114F4 3C088004 */ lui $t0, %hi(ptrFirstFontTableLarge)
/* 046028 7F0114F8 8D080EB4 */ lw $t0, %lo(ptrFirstFontTableLarge)($t0)
/* 04602C 7F0114FC 8F390EB8 */ lw $t9, %lo(ptrSecondFontTableLarge)($t9)
/* 046030 7F011500 8FA30048 */ lw $v1, 0x48($sp)
/* 046034 7F011504 87A90044 */ lh $t1, 0x44($sp)
/* 046038 7F011508 02002025 */ move $a0, $s0
/* 04603C 7F01150C 27A50058 */ addiu $a1, $sp, 0x58
/* 046040 7F011510 27A60054 */ addiu $a2, $sp, 0x54
/* 046044 7F011514 8FA70064 */ lw $a3, 0x64($sp)
/* 046048 7F011518 AFA20020 */ sw $v0, 0x20($sp)
/* 04604C 7F01151C AFA00024 */ sw $zero, 0x24($sp)
/* 046050 7F011520 AFA00028 */ sw $zero, 0x28($sp)
/* 046054 7F011524 AFA80014 */ sw $t0, 0x14($sp)
/* 046058 7F011528 AFB90010 */ sw $t9, 0x10($sp)
/* 04605C 7F01152C AFA30018 */ sw $v1, 0x18($sp)
/* 046060 7F011530 0FC025D8 */ jal write_text_at_abs_coord
/* 046064 7F011534 AFA9001C */ sw $t1, 0x1c($sp)
/* 046068 7F011538 00408025 */ move $s0, $v0
/* 04606C 7F01153C 0FC30776 */ jal get_textptr_for_textID
/* 046070 7F011540 34049C53 */ li $a0, 40019
/* 046074 7F011544 3C0A8004 */ lui $t2, %hi(ptrFirstFontTableLarge)
/* 046078 7F011548 8D4A0EB4 */ lw $t2, %lo(ptrFirstFontTableLarge)($t2)
/* 04607C 7F01154C 3C078004 */ lui $a3, %hi(ptrSecondFontTableLarge)
/* 046080 7F011550 AFA20064 */ sw $v0, 0x64($sp)
/* 046084 7F011554 8CE70EB8 */ lw $a3, %lo(ptrSecondFontTableLarge)($a3)
/* 046088 7F011558 27A40050 */ addiu $a0, $sp, 0x50
/* 04608C 7F01155C 27A5004C */ addiu $a1, $sp, 0x4c
/* 046090 7F011560 00403025 */ move $a2, $v0
/* 046094 7F011564 AFA00014 */ sw $zero, 0x14($sp)
/* 046098 7F011568 0FC2BA63 */ jal sub_GAME_7F0AE98C
/* 04609C 7F01156C AFAA0010 */ sw $t2, 0x10($sp)
/* 0460A0 7F011570 3C0D8007 */ lui $t5, %hi(highlight_health)
/* 0460A4 7F011574 8DAD97E0 */ lw $t5, %lo(highlight_health)($t5)
/* 0460A8 7F011578 240B0039 */ li $t3, 57
/* 0460AC 7F01157C 240C00F1 */ li $t4, 241
/* 0460B0 7F011580 AFAB0058 */ sw $t3, 0x58($sp)
/* 0460B4 7F011584 11A0000C */ beqz $t5, .L7F0115B8
/* 0460B8 7F011588 AFAC0054 */ sw $t4, 0x54($sp)
/* 0460BC 7F01158C 8FA7004C */ lw $a3, 0x4c($sp)
/* 0460C0 7F011590 240E00FF */ li $t6, 255
/* 0460C4 7F011594 240F0032 */ li $t7, 50
/* 0460C8 7F011598 AFAF0014 */ sw $t7, 0x14($sp)
/* 0460CC 7F01159C AFAE0010 */ sw $t6, 0x10($sp)
/* 0460D0 7F0115A0 02002025 */ move $a0, $s0
/* 0460D4 7F0115A4 24050037 */ li $a1, 55
/* 0460D8 7F0115A8 240600F0 */ li $a2, 240
/* 0460DC 7F0115AC 0FC2B405 */ jal microcode_constructor_related_to_menus
/* 0460E0 7F0115B0 24E7003C */ addiu $a3, $a3, 0x3c
/* 0460E4 7F0115B4 00408025 */ move $s0, $v0
.L7F0115B8:
/* 0460E8 7F0115B8 3C188003 */ lui $t8, %hi(unlock_handicap)
/* 0460EC 7F0115BC 8F18B554 */ lw $t8, %lo(unlock_handicap)($t8)
/* 0460F0 7F0115C0 53000004 */ beql $t8, $zero, .L7F0115D4
/* 0460F4 7F0115C4 24030070 */ li $v1, 112
/* 0460F8 7F0115C8 10000002 */ b .L7F0115D4
/* 0460FC 7F0115CC 240300FF */ li $v1, 255
/* 046100 7F0115D0 24030070 */ li $v1, 112
.L7F0115D4:
/* 046104 7F0115D4 0C001107 */ jal viGetX
/* 046108 7F0115D8 AFA30048 */ sw $v1, 0x48($sp)
/* 04610C 7F0115DC 0C00110B */ jal viGetY
/* 046110 7F0115E0 A7A20044 */ sh $v0, 0x44($sp)
/* 046114 7F0115E4 3C198004 */ lui $t9, %hi(ptrSecondFontTableLarge)
/* 046118 7F0115E8 3C088004 */ lui $t0, %hi(ptrFirstFontTableLarge)
/* 04611C 7F0115EC 8D080EB4 */ lw $t0, %lo(ptrFirstFontTableLarge)($t0)
/* 046120 7F0115F0 8F390EB8 */ lw $t9, %lo(ptrSecondFontTableLarge)($t9)
/* 046124 7F0115F4 8FA30048 */ lw $v1, 0x48($sp)
/* 046128 7F0115F8 87A90044 */ lh $t1, 0x44($sp)
/* 04612C 7F0115FC 02002025 */ move $a0, $s0
/* 046130 7F011600 27A50058 */ addiu $a1, $sp, 0x58
/* 046134 7F011604 27A60054 */ addiu $a2, $sp, 0x54
/* 046138 7F011608 8FA70064 */ lw $a3, 0x64($sp)
/* 04613C 7F01160C AFA20020 */ sw $v0, 0x20($sp)
/* 046140 7F011610 AFA00024 */ sw $zero, 0x24($sp)
/* 046144 7F011614 AFA00028 */ sw $zero, 0x28($sp)
/* 046148 7F011618 AFA80014 */ sw $t0, 0x14($sp)
/* 04614C 7F01161C AFB90010 */ sw $t9, 0x10($sp)
/* 046150 7F011620 AFA30018 */ sw $v1, 0x18($sp)
/* 046154 7F011624 0FC025D8 */ jal write_text_at_abs_coord
/* 046158 7F011628 AFA9001C */ sw $t1, 0x1c($sp)
/* 04615C 7F01162C 00408025 */ move $s0, $v0
/* 046160 7F011630 0FC30776 */ jal get_textptr_for_textID
/* 046164 7F011634 34049D1E */ li $a0, 40222
/* 046168 7F011638 3C0A8004 */ lui $t2, %hi(ptrFirstFontTableLarge)
/* 04616C 7F01163C 8D4A0EB4 */ lw $t2, %lo(ptrFirstFontTableLarge)($t2)
/* 046170 7F011640 3C078004 */ lui $a3, %hi(ptrSecondFontTableLarge)
/* 046174 7F011644 AFA20064 */ sw $v0, 0x64($sp)
/* 046178 7F011648 8CE70EB8 */ lw $a3, %lo(ptrSecondFontTableLarge)($a3)
/* 04617C 7F01164C 27A40050 */ addiu $a0, $sp, 0x50
/* 046180 7F011650 27A5004C */ addiu $a1, $sp, 0x4c
/* 046184 7F011654 00403025 */ move $a2, $v0
/* 046188 7F011658 AFA00014 */ sw $zero, 0x14($sp)
/* 04618C 7F01165C 0FC2BA63 */ jal sub_GAME_7F0AE98C
/* 046190 7F011660 AFAA0010 */ sw $t2, 0x10($sp)
/* 046194 7F011664 3C0D8007 */ lui $t5, %hi(highlight_controlstyle)
/* 046198 7F011668 8DAD97E4 */ lw $t5, %lo(highlight_controlstyle)($t5)
/* 04619C 7F01166C 240B0039 */ li $t3, 57
/* 0461A0 7F011670 240C0105 */ li $t4, 261
/* 0461A4 7F011674 AFAB0058 */ sw $t3, 0x58($sp)
/* 0461A8 7F011678 11A0000C */ beqz $t5, .L7F0116AC
/* 0461AC 7F01167C AFAC0054 */ sw $t4, 0x54($sp)
/* 0461B0 7F011680 8FA7004C */ lw $a3, 0x4c($sp)
/* 0461B4 7F011684 240E0113 */ li $t6, 275
/* 0461B8 7F011688 240F0032 */ li $t7, 50
/* 0461BC 7F01168C AFAF0014 */ sw $t7, 0x14($sp)
/* 0461C0 7F011690 AFAE0010 */ sw $t6, 0x10($sp)
/* 0461C4 7F011694 02002025 */ move $a0, $s0
/* 0461C8 7F011698 24050037 */ li $a1, 55
/* 0461CC 7F01169C 24060104 */ li $a2, 260
/* 0461D0 7F0116A0 0FC2B405 */ jal microcode_constructor_related_to_menus
/* 0461D4 7F0116A4 24E7003C */ addiu $a3, $a3, 0x3c
/* 0461D8 7F0116A8 00408025 */ move $s0, $v0
.L7F0116AC:
/* 0461DC 7F0116AC 3C188003 */ lui $t8, %hi(unlock_control_style)
/* 0461E0 7F0116B0 8F18B558 */ lw $t8, %lo(unlock_control_style)($t8)
/* 0461E4 7F0116B4 53000004 */ beql $t8, $zero, .L7F0116C8
/* 0461E8 7F0116B8 24030070 */ li $v1, 112
/* 0461EC 7F0116BC 10000002 */ b .L7F0116C8
/* 0461F0 7F0116C0 240300FF */ li $v1, 255
/* 0461F4 7F0116C4 24030070 */ li $v1, 112
.L7F0116C8:
/* 0461F8 7F0116C8 0C001107 */ jal viGetX
/* 0461FC 7F0116CC AFA30048 */ sw $v1, 0x48($sp)
/* 046200 7F0116D0 0C00110B */ jal viGetY
/* 046204 7F0116D4 A7A20044 */ sh $v0, 0x44($sp)
/* 046208 7F0116D8 3C198004 */ lui $t9, %hi(ptrSecondFontTableLarge)
/* 04620C 7F0116DC 3C088004 */ lui $t0, %hi(ptrFirstFontTableLarge)
/* 046210 7F0116E0 8D080EB4 */ lw $t0, %lo(ptrFirstFontTableLarge)($t0)
/* 046214 7F0116E4 8F390EB8 */ lw $t9, %lo(ptrSecondFontTableLarge)($t9)
/* 046218 7F0116E8 8FA30048 */ lw $v1, 0x48($sp)
/* 04621C 7F0116EC 87A90044 */ lh $t1, 0x44($sp)
/* 046220 7F0116F0 02002025 */ move $a0, $s0
/* 046224 7F0116F4 27A50058 */ addiu $a1, $sp, 0x58
/* 046228 7F0116F8 27A60054 */ addiu $a2, $sp, 0x54
/* 04622C 7F0116FC 8FA70064 */ lw $a3, 0x64($sp)
/* 046230 7F011700 AFA20020 */ sw $v0, 0x20($sp)
/* 046234 7F011704 AFA00024 */ sw $zero, 0x24($sp)
/* 046238 7F011708 AFA00028 */ sw $zero, 0x28($sp)
/* 04623C 7F01170C AFA80014 */ sw $t0, 0x14($sp)
/* 046240 7F011710 AFB90010 */ sw $t9, 0x10($sp)
/* 046244 7F011714 AFA30018 */ sw $v1, 0x18($sp)
/* 046248 7F011718 0FC025D8 */ jal write_text_at_abs_coord
/* 04624C 7F01171C AFA9001C */ sw $t1, 0x1c($sp)
/* 046250 7F011720 00408025 */ move $s0, $v0
/* 046254 7F011724 0FC30776 */ jal get_textptr_for_textID
/* 046258 7F011728 34049C54 */ li $a0, 40020
/* 04625C 7F01172C 3C0A8004 */ lui $t2, %hi(ptrFirstFontTableLarge)
/* 046260 7F011730 8D4A0EB4 */ lw $t2, %lo(ptrFirstFontTableLarge)($t2)
/* 046264 7F011734 3C078004 */ lui $a3, %hi(ptrSecondFontTableLarge)
/* 046268 7F011738 AFA20064 */ sw $v0, 0x64($sp)
/* 04626C 7F01173C 8CE70EB8 */ lw $a3, %lo(ptrSecondFontTableLarge)($a3)
/* 046270 7F011740 27A40050 */ addiu $a0, $sp, 0x50
/* 046274 7F011744 27A5004C */ addiu $a1, $sp, 0x4c
/* 046278 7F011748 00403025 */ move $a2, $v0
/* 04627C 7F01174C AFA00014 */ sw $zero, 0x14($sp)
/* 046280 7F011750 0FC2BA63 */ jal sub_GAME_7F0AE98C
/* 046284 7F011754 AFAA0010 */ sw $t2, 0x10($sp)
/* 046288 7F011758 3C0D8007 */ lui $t5, %hi(highlight_aimadjustment)
/* 04628C 7F01175C 8DAD97E8 */ lw $t5, %lo(highlight_aimadjustment)($t5)
/* 046290 7F011760 240B0039 */ li $t3, 57
/* 046294 7F011764 240C0119 */ li $t4, 281
/* 046298 7F011768 AFAB0058 */ sw $t3, 0x58($sp)
/* 04629C 7F01176C 11A0000C */ beqz $t5, .L7F0117A0
/* 0462A0 7F011770 AFAC0054 */ sw $t4, 0x54($sp)
/* 0462A4 7F011774 8FA7004C */ lw $a3, 0x4c($sp)
/* 0462A8 7F011778 240E0127 */ li $t6, 295
/* 0462AC 7F01177C 240F0032 */ li $t7, 50
/* 0462B0 7F011780 AFAF0014 */ sw $t7, 0x14($sp)
/* 0462B4 7F011784 AFAE0010 */ sw $t6, 0x10($sp)
/* 0462B8 7F011788 02002025 */ move $a0, $s0
/* 0462BC 7F01178C 24050037 */ li $a1, 55
/* 0462C0 7F011790 24060118 */ li $a2, 280
/* 0462C4 7F011794 0FC2B405 */ jal microcode_constructor_related_to_menus
/* 0462C8 7F011798 24E7003C */ addiu $a3, $a3, 0x3c
/* 0462CC 7F01179C 00408025 */ move $s0, $v0
.L7F0117A0:
/* 0462D0 7F0117A0 3C188003 */ lui $t8, %hi(unlock_aim_sight)
/* 0462D4 7F0117A4 8F18B55C */ lw $t8, %lo(unlock_aim_sight)($t8)
/* 0462D8 7F0117A8 53000004 */ beql $t8, $zero, .L7F0117BC
/* 0462DC 7F0117AC 24030070 */ li $v1, 112
/* 0462E0 7F0117B0 10000002 */ b .L7F0117BC
/* 0462E4 7F0117B4 240300FF */ li $v1, 255
/* 0462E8 7F0117B8 24030070 */ li $v1, 112
.L7F0117BC:
/* 0462EC 7F0117BC 0C001107 */ jal viGetX
/* 0462F0 7F0117C0 AFA30048 */ sw $v1, 0x48($sp)
/* 0462F4 7F0117C4 0C00110B */ jal viGetY
/* 0462F8 7F0117C8 A7A20044 */ sh $v0, 0x44($sp)
/* 0462FC 7F0117CC 3C198004 */ lui $t9, %hi(ptrSecondFontTableLarge)
/* 046300 7F0117D0 3C088004 */ lui $t0, %hi(ptrFirstFontTableLarge)
/* 046304 7F0117D4 8D080EB4 */ lw $t0, %lo(ptrFirstFontTableLarge)($t0)
/* 046308 7F0117D8 8F390EB8 */ lw $t9, %lo(ptrSecondFontTableLarge)($t9)
/* 04630C 7F0117DC 8FA30048 */ lw $v1, 0x48($sp)
/* 046310 7F0117E0 87A90044 */ lh $t1, 0x44($sp)
/* 046314 7F0117E4 02002025 */ move $a0, $s0
/* 046318 7F0117E8 27A50058 */ addiu $a1, $sp, 0x58
/* 04631C 7F0117EC 27A60054 */ addiu $a2, $sp, 0x54
/* 046320 7F0117F0 8FA70064 */ lw $a3, 0x64($sp)
/* 046324 7F0117F4 AFA20020 */ sw $v0, 0x20($sp)
/* 046328 7F0117F8 AFA00024 */ sw $zero, 0x24($sp)
/* 04632C 7F0117FC AFA00028 */ sw $zero, 0x28($sp)
/* 046330 7F011800 AFA80014 */ sw $t0, 0x14($sp)
/* 046334 7F011804 AFB90010 */ sw $t9, 0x10($sp)
/* 046338 7F011808 AFA30018 */ sw $v1, 0x18($sp)
/* 04633C 7F01180C 0FC025D8 */ jal write_text_at_abs_coord
/* 046340 7F011810 AFA9001C */ sw $t1, 0x1c($sp)
/* 046344 7F011814 3C058005 */ lui $a1, %hi(aD_7)
/* 046348 7F011818 3C068003 */ lui $a2, %hi(selected_num_players)
/* 04634C 7F01181C 00408025 */ move $s0, $v0
/* 046350 7F011820 8CC6B520 */ lw $a2, %lo(selected_num_players)($a2)
/* 046354 7F011824 24A50C4C */ addiu $a1, %lo(aD_7) # addiu $a1, $a1, 0xc4c
/* 046358 7F011828 0C002B25 */ jal sprintf
/* 04635C 7F01182C 27A4005C */ addiu $a0, $sp, 0x5c
/* 046360 7F011830 240A00A0 */ li $t2, 160
/* 046364 7F011834 240B0079 */ li $t3, 121
/* 046368 7F011838 AFAA0058 */ sw $t2, 0x58($sp)
/* 04636C 7F01183C 0C001107 */ jal viGetX
/* 046370 7F011840 AFAB0054 */ sw $t3, 0x54($sp)
/* 046374 7F011844 0C00110B */ jal viGetY
/* 046378 7F011848 A7A20044 */ sh $v0, 0x44($sp)
/* 04637C 7F01184C 3C0C8004 */ lui $t4, %hi(ptrSecondFontTableLarge)
/* 046380 7F011850 3C0D8004 */ lui $t5, %hi(ptrFirstFontTableLarge)
/* 046384 7F011854 8DAD0EB4 */ lw $t5, %lo(ptrFirstFontTableLarge)($t5)
/* 046388 7F011858 8D8C0EB8 */ lw $t4, %lo(ptrSecondFontTableLarge)($t4)
/* 04638C 7F01185C 87AF0044 */ lh $t7, 0x44($sp)
/* 046390 7F011860 240E00FF */ li $t6, 255
/* 046394 7F011864 AFAE0018 */ sw $t6, 0x18($sp)
/* 046398 7F011868 02002025 */ move $a0, $s0
/* 04639C 7F01186C 27A50058 */ addiu $a1, $sp, 0x58
/* 0463A0 7F011870 27A60054 */ addiu $a2, $sp, 0x54
/* 0463A4 7F011874 27A7005C */ addiu $a3, $sp, 0x5c
/* 0463A8 7F011878 AFA20020 */ sw $v0, 0x20($sp)
/* 0463AC 7F01187C AFA00024 */ sw $zero, 0x24($sp)
/* 0463B0 7F011880 AFA00028 */ sw $zero, 0x28($sp)
/* 0463B4 7F011884 AFAD0014 */ sw $t5, 0x14($sp)
/* 0463B8 7F011888 AFAC0010 */ sw $t4, 0x10($sp)
/* 0463BC 7F01188C 0FC025D8 */ jal write_text_at_abs_coord
/* 0463C0 7F011890 AFAF001C */ sw $t7, 0x1c($sp)
/* 0463C4 7F011894 3C188003 */ lui $t8, %hi(scenario)
/* 0463C8 7F011898 8F18B540 */ lw $t8, %lo(scenario)($t8)
/* 0463CC 7F01189C 3C048003 */ lui $a0, %hi(mp_player_counts)
/* 0463D0 7F0118A0 00408025 */ move $s0, $v0
/* 0463D4 7F0118A4 0018C880 */ sll $t9, $t8, 2
/* 0463D8 7F0118A8 00992021 */ addu $a0, $a0, $t9
/* 0463DC 7F0118AC 0FC30776 */ jal get_textptr_for_textID
/* 0463E0 7F0118B0 9484B054 */ lhu $a0, %lo(mp_player_counts)($a0)
/* 0463E4 7F0118B4 240800A0 */ li $t0, 160
/* 0463E8 7F0118B8 2409008D */ li $t1, 141
/* 0463EC 7F0118BC AFA20064 */ sw $v0, 0x64($sp)
/* 0463F0 7F0118C0 AFA80058 */ sw $t0, 0x58($sp)
/* 0463F4 7F0118C4 0C001107 */ jal viGetX
/* 0463F8 7F0118C8 AFA90054 */ sw $t1, 0x54($sp)
/* 0463FC 7F0118CC 0C00110B */ jal viGetY
/* 046400 7F0118D0 A7A20044 */ sh $v0, 0x44($sp)
/* 046404 7F0118D4 3C0A8004 */ lui $t2, %hi(ptrSecondFontTableLarge)
/* 046408 7F0118D8 3C0B8004 */ lui $t3, %hi(ptrFirstFontTableLarge)
/* 04640C 7F0118DC 8D6B0EB4 */ lw $t3, %lo(ptrFirstFontTableLarge)($t3)
/* 046410 7F0118E0 8D4A0EB8 */ lw $t2, %lo(ptrSecondFontTableLarge)($t2)
/* 046414 7F0118E4 87AD0044 */ lh $t5, 0x44($sp)
/* 046418 7F0118E8 240C00FF */ li $t4, 255
/* 04641C 7F0118EC AFAC0018 */ sw $t4, 0x18($sp)
/* 046420 7F0118F0 02002025 */ move $a0, $s0
/* 046424 7F0118F4 27A50058 */ addiu $a1, $sp, 0x58
/* 046428 7F0118F8 27A60054 */ addiu $a2, $sp, 0x54
/* 04642C 7F0118FC 8FA70064 */ lw $a3, 0x64($sp)
/* 046430 7F011900 AFA20020 */ sw $v0, 0x20($sp)
/* 046434 7F011904 AFA00024 */ sw $zero, 0x24($sp)
/* 046438 7F011908 AFA00028 */ sw $zero, 0x28($sp)
/* 04643C 7F01190C AFAB0014 */ sw $t3, 0x14($sp)
/* 046440 7F011910 AFAA0010 */ sw $t2, 0x10($sp)
/* 046444 7F011914 0FC025D8 */ jal write_text_at_abs_coord
/* 046448 7F011918 AFAD001C */ sw $t5, 0x1c($sp)
/* 04644C 7F01191C 3C0E8003 */ lui $t6, %hi(MP_stage_selected)
/* 046450 7F011920 8DCEB534 */ lw $t6, %lo(MP_stage_selected)($t6)
/* 046454 7F011924 3C048003 */ lui $a0, %hi(multi_stage_setups)
/* 046458 7F011928 00408025 */ move $s0, $v0
/* 04645C 7F01192C 000E7880 */ sll $t7, $t6, 2
/* 046460 7F011930 01EE7823 */ subu $t7, $t7, $t6
/* 046464 7F011934 000F78C0 */ sll $t7, $t7, 3
/* 046468 7F011938 008F2021 */ addu $a0, $a0, $t7
/* 04646C 7F01193C 0FC30776 */ jal get_textptr_for_textID
/* 046470 7F011940 9484B074 */ lhu $a0, %lo(multi_stage_setups)($a0)
/* 046474 7F011944 3C088003 */ lui $t0, %hi(unlock_stage_select)
/* 046478 7F011948 8D08B544 */ lw $t0, %lo(unlock_stage_select)($t0)
/* 04647C 7F01194C 241800A0 */ li $t8, 160
/* 046480 7F011950 241900A1 */ li $t9, 161
/* 046484 7F011954 AFA20064 */ sw $v0, 0x64($sp)
/* 046488 7F011958 AFB80058 */ sw $t8, 0x58($sp)
/* 04648C 7F01195C 11000003 */ beqz $t0, .L7F01196C
/* 046490 7F011960 AFB90054 */ sw $t9, 0x54($sp)
/* 046494 7F011964 10000002 */ b .L7F011970
/* 046498 7F011968 240300FF */ li $v1, 255
.L7F01196C:
/* 04649C 7F01196C 24030070 */ li $v1, 112
.L7F011970:
/* 0464A0 7F011970 0C001107 */ jal viGetX
/* 0464A4 7F011974 AFA30048 */ sw $v1, 0x48($sp)
/* 0464A8 7F011978 0C00110B */ jal viGetY
/* 0464AC 7F01197C A7A20044 */ sh $v0, 0x44($sp)
/* 0464B0 7F011980 3C098004 */ lui $t1, %hi(ptrSecondFontTableLarge)
/* 0464B4 7F011984 3C0A8004 */ lui $t2, %hi(ptrFirstFontTableLarge)
/* 0464B8 7F011988 8D4A0EB4 */ lw $t2, %lo(ptrFirstFontTableLarge)($t2)
/* 0464BC 7F01198C 8D290EB8 */ lw $t1, %lo(ptrSecondFontTableLarge)($t1)
/* 0464C0 7F011990 8FA30048 */ lw $v1, 0x48($sp)
/* 0464C4 7F011994 87AB0044 */ lh $t3, 0x44($sp)
/* 0464C8 7F011998 02002025 */ move $a0, $s0
/* 0464CC 7F01199C 27A50058 */ addiu $a1, $sp, 0x58
/* 0464D0 7F0119A0 27A60054 */ addiu $a2, $sp, 0x54
/* 0464D4 7F0119A4 8FA70064 */ lw $a3, 0x64($sp)
/* 0464D8 7F0119A8 AFA20020 */ sw $v0, 0x20($sp)
/* 0464DC 7F0119AC AFA00024 */ sw $zero, 0x24($sp)
/* 0464E0 7F0119B0 AFA00028 */ sw $zero, 0x28($sp)
/* 0464E4 7F0119B4 AFAA0014 */ sw $t2, 0x14($sp)
/* 0464E8 7F0119B8 AFA90010 */ sw $t1, 0x10($sp)
/* 0464EC 7F0119BC AFA30018 */ sw $v1, 0x18($sp)
/* 0464F0 7F0119C0 0FC025D8 */ jal write_text_at_abs_coord
/* 0464F4 7F0119C4 AFAB001C */ sw $t3, 0x1c($sp)
/* 0464F8 7F0119C8 3C0C8003 */ lui $t4, %hi(game_length)
/* 0464FC 7F0119CC 8D8CB538 */ lw $t4, %lo(game_length)($t4)
/* 046500 7F0119D0 3C048003 */ lui $a0, %hi(multi_game_lengths)
/* 046504 7F0119D4 00408025 */ move $s0, $v0
/* 046508 7F0119D8 000C6880 */ sll $t5, $t4, 2
/* 04650C 7F0119DC 01AC6823 */ subu $t5, $t5, $t4
/* 046510 7F0119E0 000D6880 */ sll $t5, $t5, 2
/* 046514 7F0119E4 008D2021 */ addu $a0, $a0, $t5
/* 046518 7F0119E8 0FC30776 */ jal get_textptr_for_textID
/* 04651C 7F0119EC 9484AFF4 */ lhu $a0, %lo(multi_game_lengths)($a0)
/* 046520 7F0119F0 3C188003 */ lui $t8, %hi(unlock_game_length)
/* 046524 7F0119F4 8F18B548 */ lw $t8, %lo(unlock_game_length)($t8)
/* 046528 7F0119F8 240E00A0 */ li $t6, 160
/* 04652C 7F0119FC 240F00B5 */ li $t7, 181
/* 046530 7F011A00 AFA20064 */ sw $v0, 0x64($sp)
/* 046534 7F011A04 AFAE0058 */ sw $t6, 0x58($sp)
/* 046538 7F011A08 13000003 */ beqz $t8, .L7F011A18
/* 04653C 7F011A0C AFAF0054 */ sw $t7, 0x54($sp)
/* 046540 7F011A10 10000002 */ b .L7F011A1C
/* 046544 7F011A14 240300FF */ li $v1, 255
.L7F011A18:
/* 046548 7F011A18 24030070 */ li $v1, 112
.L7F011A1C:
/* 04654C 7F011A1C 0C001107 */ jal viGetX
/* 046550 7F011A20 AFA30048 */ sw $v1, 0x48($sp)
/* 046554 7F011A24 0C00110B */ jal viGetY
/* 046558 7F011A28 A7A20044 */ sh $v0, 0x44($sp)
/* 04655C 7F011A2C 3C198004 */ lui $t9, %hi(ptrSecondFontTableLarge)
/* 046560 7F011A30 3C088004 */ lui $t0, %hi(ptrFirstFontTableLarge)
/* 046564 7F011A34 8D080EB4 */ lw $t0, %lo(ptrFirstFontTableLarge)($t0)
/* 046568 7F011A38 8F390EB8 */ lw $t9, %lo(ptrSecondFontTableLarge)($t9)
/* 04656C 7F011A3C 8FA30048 */ lw $v1, 0x48($sp)
/* 046570 7F011A40 87A90044 */ lh $t1, 0x44($sp)
/* 046574 7F011A44 02002025 */ move $a0, $s0
/* 046578 7F011A48 27A50058 */ addiu $a1, $sp, 0x58
/* 04657C 7F011A4C 27A60054 */ addiu $a2, $sp, 0x54
/* 046580 7F011A50 8FA70064 */ lw $a3, 0x64($sp)
/* 046584 7F011A54 AFA20020 */ sw $v0, 0x20($sp)
/* 046588 7F011A58 AFA00024 */ sw $zero, 0x24($sp)
/* 04658C 7F011A5C AFA00028 */ sw $zero, 0x28($sp)
/* 046590 7F011A60 AFA80014 */ sw $t0, 0x14($sp)
/* 046594 7F011A64 AFB90010 */ sw $t9, 0x10($sp)
/* 046598 7F011A68 AFA30018 */ sw $v1, 0x18($sp)
/* 04659C 7F011A6C 0FC025D8 */ jal write_text_at_abs_coord
/* 0465A0 7F011A70 AFA9001C */ sw $t1, 0x1c($sp)
/* 0465A4 7F011A74 0FC3197E */ jal getPtrMPWeaponSetTextID
/* 0465A8 7F011A78 00408025 */ move $s0, $v0
/* 0465AC 7F011A7C 0FC30776 */ jal get_textptr_for_textID
/* 0465B0 7F011A80 94440000 */ lhu $a0, ($v0)
/* 0465B4 7F011A84 3C0C8003 */ lui $t4, %hi(unlock_weapon_select)
/* 0465B8 7F011A88 8D8CB550 */ lw $t4, %lo(unlock_weapon_select)($t4)
/* 0465BC 7F011A8C 240A00A0 */ li $t2, 160
/* 0465C0 7F011A90 240B00C9 */ li $t3, 201
/* 0465C4 7F011A94 AFA20064 */ sw $v0, 0x64($sp)
/* 0465C8 7F011A98 AFAA0058 */ sw $t2, 0x58($sp)
/* 0465CC 7F011A9C 11800003 */ beqz $t4, .L7F011AAC
/* 0465D0 7F011AA0 AFAB0054 */ sw $t3, 0x54($sp)
/* 0465D4 7F011AA4 10000002 */ b .L7F011AB0
/* 0465D8 7F011AA8 240300FF */ li $v1, 255
.L7F011AAC:
/* 0465DC 7F011AAC 24030070 */ li $v1, 112
.L7F011AB0:
/* 0465E0 7F011AB0 0C001107 */ jal viGetX
/* 0465E4 7F011AB4 AFA30048 */ sw $v1, 0x48($sp)
/* 0465E8 7F011AB8 0C00110B */ jal viGetY
/* 0465EC 7F011ABC A7A20044 */ sh $v0, 0x44($sp)
/* 0465F0 7F011AC0 3C0D8004 */ lui $t5, %hi(ptrSecondFontTableLarge)
/* 0465F4 7F011AC4 3C0E8004 */ lui $t6, %hi(ptrFirstFontTableLarge)
/* 0465F8 7F011AC8 8DCE0EB4 */ lw $t6, %lo(ptrFirstFontTableLarge)($t6)
/* 0465FC 7F011ACC 8DAD0EB8 */ lw $t5, %lo(ptrSecondFontTableLarge)($t5)
/* 046600 7F011AD0 8FA30048 */ lw $v1, 0x48($sp)
/* 046604 7F011AD4 87AF0044 */ lh $t7, 0x44($sp)
/* 046608 7F011AD8 02002025 */ move $a0, $s0
/* 04660C 7F011ADC 27A50058 */ addiu $a1, $sp, 0x58
/* 046610 7F011AE0 27A60054 */ addiu $a2, $sp, 0x54
/* 046614 7F011AE4 8FA70064 */ lw $a3, 0x64($sp)
/* 046618 7F011AE8 AFA20020 */ sw $v0, 0x20($sp)
/* 04661C 7F011AEC AFA00024 */ sw $zero, 0x24($sp)
/* 046620 7F011AF0 AFA00028 */ sw $zero, 0x28($sp)
/* 046624 7F011AF4 AFAE0014 */ sw $t6, 0x14($sp)
/* 046628 7F011AF8 AFAD0010 */ sw $t5, 0x10($sp)
/* 04662C 7F011AFC AFA30018 */ sw $v1, 0x18($sp)
/* 046630 7F011B00 0FC025D8 */ jal write_text_at_abs_coord
/* 046634 7F011B04 AFAF001C */ sw $t7, 0x1c($sp)
/* 046638 7F011B08 3C188003 */ lui $t8, %hi(aim_sight_adjustment)
/* 04663C 7F011B0C 8F18B53C */ lw $t8, %lo(aim_sight_adjustment)($t8)
/* 046640 7F011B10 3C048003 */ lui $a0, %hi(mp_sight_adjust_table)
/* 046644 7F011B14 00408025 */ move $s0, $v0
/* 046648 7F011B18 0018C880 */ sll $t9, $t8, 2
/* 04664C 7F011B1C 00992021 */ addu $a0, $a0, $t9
/* 046650 7F011B20 0FC30776 */ jal get_textptr_for_textID
/* 046654 7F011B24 9484B510 */ lhu $a0, %lo(mp_sight_adjust_table)($a0)
/* 046658 7F011B28 3C0A8003 */ lui $t2, %hi(unlock_aim_sight)
/* 04665C 7F011B2C 8D4AB55C */ lw $t2, %lo(unlock_aim_sight)($t2)
/* 046660 7F011B30 240800A0 */ li $t0, 160
/* 046664 7F011B34 24090119 */ li $t1, 281
/* 046668 7F011B38 AFA20064 */ sw $v0, 0x64($sp)
/* 04666C 7F011B3C AFA80058 */ sw $t0, 0x58($sp)
/* 046670 7F011B40 11400003 */ beqz $t2, .L7F011B50
/* 046674 7F011B44 AFA90054 */ sw $t1, 0x54($sp)
/* 046678 7F011B48 10000002 */ b .L7F011B54
/* 04667C 7F011B4C 240300FF */ li $v1, 255
.L7F011B50:
/* 046680 7F011B50 24030070 */ li $v1, 112
.L7F011B54:
/* 046684 7F011B54 0C001107 */ jal viGetX
/* 046688 7F011B58 AFA30048 */ sw $v1, 0x48($sp)
/* 04668C 7F011B5C 0C00110B */ jal viGetY
/* 046690 7F011B60 A7A20044 */ sh $v0, 0x44($sp)
/* 046694 7F011B64 3C0B8004 */ lui $t3, %hi(ptrSecondFontTableLarge)
/* 046698 7F011B68 3C0C8004 */ lui $t4, %hi(ptrFirstFontTableLarge)
/* 04669C 7F011B6C 8D8C0EB4 */ lw $t4, %lo(ptrFirstFontTableLarge)($t4)
/* 0466A0 7F011B70 8D6B0EB8 */ lw $t3, %lo(ptrSecondFontTableLarge)($t3)
/* 0466A4 7F011B74 8FA30048 */ lw $v1, 0x48($sp)
/* 0466A8 7F011B78 87AD0044 */ lh $t5, 0x44($sp)
/* 0466AC 7F011B7C 02002025 */ move $a0, $s0
/* 0466B0 7F011B80 27A50058 */ addiu $a1, $sp, 0x58
/* 0466B4 7F011B84 27A60054 */ addiu $a2, $sp, 0x54
/* 0466B8 7F011B88 8FA70064 */ lw $a3, 0x64($sp)
/* 0466BC 7F011B8C AFA20020 */ sw $v0, 0x20($sp)
/* 0466C0 7F011B90 AFA00024 */ sw $zero, 0x24($sp)
/* 0466C4 7F011B94 AFA00028 */ sw $zero, 0x28($sp)
/* 0466C8 7F011B98 AFAC0014 */ sw $t4, 0x14($sp)
/* 0466CC 7F011B9C AFAB0010 */ sw $t3, 0x10($sp)
/* 0466D0 7F011BA0 AFA30018 */ sw $v1, 0x18($sp)
/* 0466D4 7F011BA4 0FC025D8 */ jal write_text_at_abs_coord
/* 0466D8 7F011BA8 AFAD001C */ sw $t5, 0x1c($sp)
/* 0466DC 7F011BAC 0FC0288E */ jal add_tab3_previous
/* 0466E0 7F011BB0 00402025 */ move $a0, $v0
/* 0466E4 7F011BB4 0FC02820 */ jal add_tab1_start
/* 0466E8 7F011BB8 00402025 */ move $a0, $v0
/* 0466EC 7F011BBC 0FC027C2 */ jal load_draw_selected_icon_folder_select
/* 0466F0 7F011BC0 00402025 */ move $a0, $v0
/* 0466F4 7F011BC4 8FBF003C */ lw $ra, 0x3c($sp)
/* 0466F8 7F011BC8 8FB00038 */ lw $s0, 0x38($sp)
/* 0466FC 7F011BCC 27BD0068 */ addiu $sp, $sp, 0x68
/* 046700 7F011BD0 03E00008 */ jr $ra
/* 046704 7F011BD4 00000000 */ nop
)
#endif
#ifdef NONMATCHING
s32 get_players_who_have_selected_mp_char(s32 arg0)
{
u32 temp_a0_2;
void *temp_a0;
void *phi_a0;
s32 phi_v0;
s32 phi_v1;
s32 phi_v1_2;
s32 phi_v1_3;
phi_v1 = 0;
if (selected_num_players > 0)
{
temp_a0 = 0x80070000 + -0x68c0;
phi_a0 = temp_a0;
phi_v0 = 0;
phi_v1_3 = 0;
loop_2:
temp_a0_2 = phi_a0 + 4;
phi_v1_2 = phi_v1_3;
if (*phi_a0 != 0)
{
phi_v1_2 = phi_v1_3;
if (arg0 == *(&player_1_char + phi_v0))
{
phi_v1_2 = 1;
}
}
phi_a0 = temp_a0_2;
phi_v0 = phi_v0 + 4;
phi_v1 = phi_v1_2;
phi_v1_3 = phi_v1_2;
if (temp_a0_2 < (u32) ((selected_num_players * 4) + temp_a0))
{
goto loop_2;
}
}
return phi_v1;
}
#else
GLOBAL_ASM(
.text
glabel get_players_who_have_selected_mp_char
/* 046708 7F011BD8 3C058003 */ lui $a1, %hi(selected_num_players)
/* 04670C 7F011BDC 8CA5B520 */ lw $a1, %lo(selected_num_players)($a1)
/* 046710 7F011BE0 00803025 */ move $a2, $a0
/* 046714 7F011BE4 00001825 */ move $v1, $zero
/* 046718 7F011BE8 18A00012 */ blez $a1, .L7F011C34
/* 04671C 7F011BEC 00001025 */ move $v0, $zero
/* 046720 7F011BF0 3C0E8007 */ lui $t6, %hi(has_selected_char_player1)
/* 046724 7F011BF4 00057880 */ sll $t7, $a1, 2
/* 046728 7F011BF8 3C058003 */ lui $a1, %hi(player_1_char)
/* 04672C 7F011BFC 25C49740 */ addiu $a0, $t6, %lo(has_selected_char_player1)
/* 046730 7F011C00 01E43821 */ addu $a3, $t7, $a0
/* 046734 7F011C04 24A5B524 */ addiu $a1, %lo(player_1_char) # addiu $a1, $a1, -0x4adc
.L7F011C08:
/* 046738 7F011C08 8C980000 */ lw $t8, ($a0)
/* 04673C 7F011C0C 24840004 */ addiu $a0, $a0, 4
/* 046740 7F011C10 0087082B */ sltu $at, $a0, $a3
/* 046744 7F011C14 13000005 */ beqz $t8, .L7F011C2C
/* 046748 7F011C18 00A2C821 */ addu $t9, $a1, $v0
/* 04674C 7F011C1C 8F280000 */ lw $t0, ($t9)
/* 046750 7F011C20 14C80002 */ bne $a2, $t0, .L7F011C2C
/* 046754 7F011C24 00000000 */ nop
/* 046758 7F011C28 24030001 */ li $v1, 1
.L7F011C2C:
/* 04675C 7F011C2C 1420FFF6 */ bnez $at, .L7F011C08
/* 046760 7F011C30 24420004 */ addiu $v0, $v0, 4
.L7F011C34:
/* 046764 7F011C34 03E00008 */ jr $ra
/* 046768 7F011C38 00601025 */ move $v0, $v1
)
#endif
#ifdef NONMATCHING
void init_menu0f_mpcharsel(void)
{
s32 temp_lo;
s32 temp_s0;
u32 temp_s1;
u32 temp_v1;
u32 temp_v1_2;
u32 temp_v1_3;
void *temp_s2;
void *temp_v0;
void *phi_s1;
void *phi_v0;
void *phi_v0_2;
void *phi_v0_3;
void *phi_s2;
s32 phi_s0;
s32 phi_s0_2;
tab_1_selected = 0;
tab_2_selected = 0;
tab_3_selected = 0;
tab_3_highlight = 0;
tab_2_highlight = 0;
tab_1_highlight = 0;
phi_s1 = &mp_chr_setup;
loop_1:
temp_lo = (phi_s1->unk3 * 4) * 0xc;
temp_v0 = mpcharselimages + temp_lo;
phi_v0 = temp_v0;
if ((u32) *temp_v0 < 0xbb8U)
{
calls_load_image_to_buffer(*temp_v0, 0, *temp_v0);
phi_v0 = mpcharselimages + temp_lo;
}
temp_v1 = phi_v0->unkC;
phi_v0_2 = phi_v0;
if (temp_v1 < 0xbb8U)
{
calls_load_image_to_buffer(temp_v1, 0);
phi_v0_2 = mpcharselimages + temp_lo;
}
temp_v1_2 = phi_v0_2->unk18;
phi_v0_3 = phi_v0_2;
if (temp_v1_2 < 0xbb8U)
{
calls_load_image_to_buffer(temp_v1_2, 0);
phi_v0_3 = mpcharselimages + temp_lo;
}
temp_v1_3 = phi_v0_3->unk24;
if (temp_v1_3 < 0xbb8U)
{
calls_load_image_to_buffer(temp_v1_3, 0);
}
temp_s1 = phi_s1 + 0xc;
phi_s1 = temp_s1;
if (temp_s1 < &MP_handicap_table)
{
goto loop_1;
}
if (num_chars_selectable_mp != 0x40)
{
if (isStageUnlockedAtDifficulty(selected_folder_num, 0x11, 0) == 3)
{
num_chars_selectable_mp = 0x21;
}
else
{
num_chars_selectable_mp = 8;
phi_s2 = &player_1_char;
loop_14:
if (*phi_s2 >= num_chars_selectable_mp)
{
phi_s0 = 0;
phi_s0_2 = 0;
if (num_chars_selectable_mp > 0)
{
loop_16:
phi_s0_2 = phi_s0;
if (get_players_who_have_selected_mp_char(phi_s0) != 0)
{
temp_s0 = phi_s0 + 1;
phi_s0 = temp_s0;
phi_s0_2 = temp_s0;
if (temp_s0 < num_chars_selectable_mp)
{
goto loop_16;
}
}
}
*phi_s2 = (s32) phi_s0_2;
}
temp_s2 = phi_s2 + 4;
phi_s2 = temp_s2;
if (temp_s2 != &MP_stage_selected)
{
goto loop_14;
}
}
}
mp_char_cur_select_player = (s32) player_1_char;
mp_char_prev_select_player = (s32) player_1_char;
dword_CODE_bss_80069730 = 0;
has_selected_char_player1 = 0;
size_mp_select_image_player1 = 0;
mp_char_cur_select_player+0x4 = (s32) player_2_char;
mp_char_prev_select_player+0x4 = (s32) player_2_char;
dword_CODE_bss_80069730+0x4 = 0;
has_selected_char_player2 = 0;
size_mp_select_image_player2 = 0;
mp_char_cur_select_player+0x8 = (s32) player_3_char;
mp_char_prev_select_player+0x8 = (s32) player_3_char;
dword_CODE_bss_80069730+0x8 = 0;
has_selected_char_player3 = 0;
size_mp_select_image_player3 = 0;
mp_char_cur_select_player+0xc = (s32) player_4_char;
mp_char_prev_select_player+0xC = (s32) player_4_char;
dword_CODE_bss_80069730+0xC = 0;
has_selected_char_player4 = 0;
size_mp_select_image_player4 = 0;
load_walletbond(player_3_char, player_4_char);
}
#else
GLOBAL_ASM(
.text
glabel init_menu0f_mpcharsel
/* 04676C 7F011C3C 3C018003 */ lui $at, %hi(tab_1_selected)
/* 046770 7F011C40 AC20A8D0 */ sw $zero, %lo(tab_1_selected)($at)
/* 046774 7F011C44 3C018003 */ lui $at, %hi(tab_2_selected)
/* 046778 7F011C48 AC20A8D4 */ sw $zero, %lo(tab_2_selected)($at)
/* 04677C 7F011C4C 3C018003 */ lui $at, %hi(tab_3_selected)
/* 046780 7F011C50 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 046784 7F011C54 AC20A8D8 */ sw $zero, %lo(tab_3_selected)($at)
/* 046788 7F011C58 3C018003 */ lui $at, %hi(tab_3_highlight)
/* 04678C 7F011C5C AC20A8E4 */ sw $zero, %lo(tab_3_highlight)($at)
/* 046790 7F011C60 3C018003 */ lui $at, %hi(tab_2_highlight)
/* 046794 7F011C64 AFB40028 */ sw $s4, 0x28($sp)
/* 046798 7F011C68 AFB20020 */ sw $s2, 0x20($sp)
/* 04679C 7F011C6C AFB1001C */ sw $s1, 0x1c($sp)
/* 0467A0 7F011C70 AC20A8E0 */ sw $zero, %lo(tab_2_highlight)($at)
/* 0467A4 7F011C74 AFB30024 */ sw $s3, 0x24($sp)
/* 0467A8 7F011C78 3C018003 */ lui $at, %hi(tab_1_highlight)
/* 0467AC 7F011C7C 3C118003 */ lui $s1, %hi(mp_chr_setup)
/* 0467B0 7F011C80 3C128009 */ lui $s2, %hi(mpcharselimages)
/* 0467B4 7F011C84 3C148003 */ lui $s4, %hi(MP_handicap_table)
/* 0467B8 7F011C88 AFBF002C */ sw $ra, 0x2c($sp)
/* 0467BC 7F011C8C AFB00018 */ sw $s0, 0x18($sp)
/* 0467C0 7F011C90 AC20A8DC */ sw $zero, %lo(tab_1_highlight)($at)
/* 0467C4 7F011C94 2694B498 */ addiu $s4, %lo(MP_handicap_table) # addiu $s4, $s4, -0x4b68
/* 0467C8 7F011C98 2652D130 */ addiu $s2, %lo(mpcharselimages) # addiu $s2, $s2, -0x2ed0
/* 0467CC 7F011C9C 2631B198 */ addiu $s1, %lo(mp_chr_setup) # addiu $s1, $s1, -0x4e68
/* 0467D0 7F011CA0 2413000C */ li $s3, 12
/* 0467D4 7F011CA4 92230003 */ lbu $v1, 3($s1)
.L7F011CA8:
/* 0467D8 7F011CA8 8E4F0000 */ lw $t7, ($s2)
/* 0467DC 7F011CAC 00037080 */ sll $t6, $v1, 2
/* 0467E0 7F011CB0 01D30019 */ multu $t6, $s3
/* 0467E4 7F011CB4 00008012 */ mflo $s0
/* 0467E8 7F011CB8 01F01021 */ addu $v0, $t7, $s0
/* 0467EC 7F011CBC 8C460000 */ lw $a2, ($v0)
/* 0467F0 7F011CC0 2CC10BB8 */ sltiu $at, $a2, 0xbb8
/* 0467F4 7F011CC4 10200005 */ beqz $at, .L7F011CDC
/* 0467F8 7F011CC8 00C02025 */ move $a0, $a2
/* 0467FC 7F011CCC 0FC32FBA */ jal calls_load_image_to_buffer
/* 046800 7F011CD0 00002825 */ move $a1, $zero
/* 046804 7F011CD4 8E580000 */ lw $t8, ($s2)
/* 046808 7F011CD8 03101021 */ addu $v0, $t8, $s0
.L7F011CDC:
/* 04680C 7F011CDC 8C43000C */ lw $v1, 0xc($v0)
/* 046810 7F011CE0 2C610BB8 */ sltiu $at, $v1, 0xbb8
/* 046814 7F011CE4 10200005 */ beqz $at, .L7F011CFC
/* 046818 7F011CE8 00602025 */ move $a0, $v1
/* 04681C 7F011CEC 0FC32FBA */ jal calls_load_image_to_buffer
/* 046820 7F011CF0 00002825 */ move $a1, $zero
/* 046824 7F011CF4 8E590000 */ lw $t9, ($s2)
/* 046828 7F011CF8 03301021 */ addu $v0, $t9, $s0
.L7F011CFC:
/* 04682C 7F011CFC 8C430018 */ lw $v1, 0x18($v0)
/* 046830 7F011D00 2C610BB8 */ sltiu $at, $v1, 0xbb8
/* 046834 7F011D04 10200005 */ beqz $at, .L7F011D1C
/* 046838 7F011D08 00602025 */ move $a0, $v1
/* 04683C 7F011D0C 0FC32FBA */ jal calls_load_image_to_buffer
/* 046840 7F011D10 00002825 */ move $a1, $zero
/* 046844 7F011D14 8E480000 */ lw $t0, ($s2)
/* 046848 7F011D18 01101021 */ addu $v0, $t0, $s0
.L7F011D1C:
/* 04684C 7F011D1C 8C430024 */ lw $v1, 0x24($v0)
/* 046850 7F011D20 2C610BB8 */ sltiu $at, $v1, 0xbb8
/* 046854 7F011D24 10200003 */ beqz $at, .L7F011D34
/* 046858 7F011D28 00602025 */ move $a0, $v1
/* 04685C 7F011D2C 0FC32FBA */ jal calls_load_image_to_buffer
/* 046860 7F011D30 00002825 */ move $a1, $zero
.L7F011D34:
/* 046864 7F011D34 2631000C */ addiu $s1, $s1, 0xc
/* 046868 7F011D38 0234082B */ sltu $at, $s1, $s4
/* 04686C 7F011D3C 5420FFDA */ bnezl $at, .L7F011CA8
/* 046870 7F011D40 92230003 */ lbu $v1, 3($s1)
/* 046874 7F011D44 3C118003 */ lui $s1, %hi(num_chars_selectable_mp)
/* 046878 7F011D48 2631B194 */ addiu $s1, %lo(num_chars_selectable_mp) # addiu $s1, $s1, -0x4e6c
/* 04687C 7F011D4C 8E290000 */ lw $t1, ($s1)
/* 046880 7F011D50 24010040 */ li $at, 64
/* 046884 7F011D54 3C048003 */ lui $a0, %hi(selected_folder_num)
/* 046888 7F011D58 11210023 */ beq $t1, $at, .L7F011DE8
/* 04688C 7F011D5C 24050011 */ li $a1, 17
/* 046890 7F011D60 8C84A8E8 */ lw $a0, %lo(selected_folder_num)($a0)
/* 046894 7F011D64 0FC078B0 */ jal isStageUnlockedAtDifficulty
/* 046898 7F011D68 00003025 */ move $a2, $zero
/* 04689C 7F011D6C 24010003 */ li $at, 3
/* 0468A0 7F011D70 14410004 */ bne $v0, $at, .L7F011D84
/* 0468A4 7F011D74 240B0008 */ li $t3, 8
/* 0468A8 7F011D78 240A0021 */ li $t2, 33
/* 0468AC 7F011D7C 1000001A */ b .L7F011DE8
/* 0468B0 7F011D80 AE2A0000 */ sw $t2, ($s1)
.L7F011D84:
/* 0468B4 7F011D84 3C128003 */ lui $s2, %hi(player_1_char)
/* 0468B8 7F011D88 3C138003 */ lui $s3, %hi(MP_stage_selected)
/* 0468BC 7F011D8C AE2B0000 */ sw $t3, ($s1)
/* 0468C0 7F011D90 2673B534 */ addiu $s3, %lo(MP_stage_selected) # addiu $s3, $s3, -0x4acc
/* 0468C4 7F011D94 2652B524 */ addiu $s2, %lo(player_1_char) # addiu $s2, $s2, -0x4adc
/* 0468C8 7F011D98 8E220000 */ lw $v0, ($s1)
.L7F011D9C:
/* 0468CC 7F011D9C 8E4C0000 */ lw $t4, ($s2)
/* 0468D0 7F011DA0 0182082A */ slt $at, $t4, $v0
/* 0468D4 7F011DA4 5420000E */ bnezl $at, .L7F011DE0
/* 0468D8 7F011DA8 26520004 */ addiu $s2, $s2, 4
/* 0468DC 7F011DAC 1840000A */ blez $v0, .L7F011DD8
/* 0468E0 7F011DB0 00008025 */ move $s0, $zero
.L7F011DB4:
/* 0468E4 7F011DB4 0FC046F6 */ jal get_players_who_have_selected_mp_char
/* 0468E8 7F011DB8 02002025 */ move $a0, $s0
/* 0468EC 7F011DBC 50400007 */ beql $v0, $zero, .L7F011DDC
/* 0468F0 7F011DC0 AE500000 */ sw $s0, ($s2)
/* 0468F4 7F011DC4 8E2D0000 */ lw $t5, ($s1)
/* 0468F8 7F011DC8 26100001 */ addiu $s0, $s0, 1
/* 0468FC 7F011DCC 020D082A */ slt $at, $s0, $t5
/* 046900 7F011DD0 1420FFF8 */ bnez $at, .L7F011DB4
/* 046904 7F011DD4 00000000 */ nop
.L7F011DD8:
/* 046908 7F011DD8 AE500000 */ sw $s0, ($s2)
.L7F011DDC:
/* 04690C 7F011DDC 26520004 */ addiu $s2, $s2, 4
.L7F011DE0:
/* 046910 7F011DE0 5653FFEE */ bnel $s2, $s3, .L7F011D9C
/* 046914 7F011DE4 8E220000 */ lw $v0, ($s1)
.L7F011DE8:
/* 046918 7F011DE8 3C028003 */ lui $v0, %hi(player_1_char)
/* 04691C 7F011DEC 8C42B524 */ lw $v0, %lo(player_1_char)($v0)
/* 046920 7F011DF0 3C018007 */ lui $at, %hi(mp_char_cur_select_player)
/* 046924 7F011DF4 3C038003 */ lui $v1, %hi(player_2_char)
/* 046928 7F011DF8 AC229710 */ sw $v0, %lo(mp_char_cur_select_player)($at)
/* 04692C 7F011DFC 3C018007 */ lui $at, %hi(mp_char_prev_select_player)
/* 046930 7F011E00 AC229720 */ sw $v0, %lo(mp_char_prev_select_player)($at)
/* 046934 7F011E04 3C018007 */ lui $at, %hi(dword_CODE_bss_80069730)
/* 046938 7F011E08 AC209730 */ sw $zero, %lo(dword_CODE_bss_80069730)($at)
/* 04693C 7F011E0C 3C018007 */ lui $at, %hi(has_selected_char_player1)
/* 046940 7F011E10 AC209740 */ sw $zero, %lo(has_selected_char_player1)($at)
/* 046944 7F011E14 8C63B528 */ lw $v1, %lo(player_2_char)($v1)
/* 046948 7F011E18 3C018007 */ lui $at, %hi(size_mp_select_image_player1)
/* 04694C 7F011E1C AC209750 */ sw $zero, %lo(size_mp_select_image_player1)($at)
/* 046950 7F011E20 3C018007 */ lui $at, %hi(mp_char_cur_select_player+0x4)
/* 046954 7F011E24 AC239714 */ sw $v1, %lo(mp_char_cur_select_player+0x4)($at)
/* 046958 7F011E28 3C018007 */ lui $at, %hi(mp_char_prev_select_player+0x4)
/* 04695C 7F011E2C AC239724 */ sw $v1, %lo(mp_char_prev_select_player+0x4)($at)
/* 046960 7F011E30 3C018007 */ lui $at, %hi(dword_CODE_bss_80069730+0x4)
/* 046964 7F011E34 AC209734 */ sw $zero, %lo(dword_CODE_bss_80069730+0x4)($at)
/* 046968 7F011E38 3C018007 */ lui $at, %hi(has_selected_char_player2)
/* 04696C 7F011E3C AC209744 */ sw $zero, %lo(has_selected_char_player2)($at)
/* 046970 7F011E40 3C048003 */ lui $a0, %hi(player_3_char)
/* 046974 7F011E44 8C84B52C */ lw $a0, %lo(player_3_char)($a0)
/* 046978 7F011E48 3C018007 */ lui $at, %hi(size_mp_select_image_player2)
/* 04697C 7F011E4C AC209754 */ sw $zero, %lo(size_mp_select_image_player2)($at)
/* 046980 7F011E50 3C018007 */ lui $at, %hi(mp_char_cur_select_player+0x8)
/* 046984 7F011E54 AC249718 */ sw $a0, %lo(mp_char_cur_select_player+0x8)($at)
/* 046988 7F011E58 3C018007 */ lui $at, %hi(mp_char_prev_select_player+0x8)
/* 04698C 7F011E5C AC249728 */ sw $a0, %lo(mp_char_prev_select_player+0x8)($at)
/* 046990 7F011E60 3C018007 */ lui $at, %hi(dword_CODE_bss_80069730+0x8)
/* 046994 7F011E64 AC209738 */ sw $zero, %lo(dword_CODE_bss_80069730+0x8)($at)
/* 046998 7F011E68 3C018007 */ lui $at, %hi(has_selected_char_player3)
/* 04699C 7F011E6C AC209748 */ sw $zero, %lo(has_selected_char_player3)($at)
/* 0469A0 7F011E70 3C058003 */ lui $a1, %hi(player_4_char)
/* 0469A4 7F011E74 8CA5B530 */ lw $a1, %lo(player_4_char)($a1)
/* 0469A8 7F011E78 3C018007 */ lui $at, %hi(size_mp_select_image_player3)
/* 0469AC 7F011E7C AC209758 */ sw $zero, %lo(size_mp_select_image_player3)($at)
/* 0469B0 7F011E80 3C018007 */ lui $at, %hi(mp_char_cur_select_player+0xc)
/* 0469B4 7F011E84 AC25971C */ sw $a1, %lo(mp_char_cur_select_player+0xc)($at)
/* 0469B8 7F011E88 3C018007 */ lui $at, %hi(mp_char_prev_select_player+0xC)
/* 0469BC 7F011E8C AC25972C */ sw $a1, %lo(mp_char_prev_select_player+0xC)($at)
/* 0469C0 7F011E90 3C018007 */ lui $at, %hi(dword_CODE_bss_80069730+0xC)
/* 0469C4 7F011E94 AC20973C */ sw $zero, %lo(dword_CODE_bss_80069730+0xC)($at)
/* 0469C8 7F011E98 3C018007 */ lui $at, %hi(has_selected_char_player4)
/* 0469CC 7F011E9C AC20974C */ sw $zero, %lo(has_selected_char_player4)($at)
/* 0469D0 7F011EA0 3C018007 */ lui $at, %hi(size_mp_select_image_player4)
/* 0469D4 7F011EA4 0FC02E2B */ jal load_walletbond
/* 0469D8 7F011EA8 AC20975C */ sw $zero, %lo(size_mp_select_image_player4)($at)
/* 0469DC 7F011EAC 8FBF002C */ lw $ra, 0x2c($sp)
/* 0469E0 7F011EB0 8FB00018 */ lw $s0, 0x18($sp)
/* 0469E4 7F011EB4 8FB1001C */ lw $s1, 0x1c($sp)
/* 0469E8 7F011EB8 8FB20020 */ lw $s2, 0x20($sp)
/* 0469EC 7F011EBC 8FB30024 */ lw $s3, 0x24($sp)
/* 0469F0 7F011EC0 8FB40028 */ lw $s4, 0x28($sp)
/* 0469F4 7F011EC4 03E00008 */ jr $ra
/* 0469F8 7F011EC8 27BD0030 */ addiu $sp, $sp, 0x30
)
#endif
void update_menu0F_mpcharsel(void) {
}
#ifdef NONMATCHING
void interface_menu0F_mpcharsel(void)
{
int iVar1;
int iVar2;
int iVar4;
s32 uVar3;
u32 BVar5;
int iVar6;
int iVar7;
char controller;
int *piVar8;
int *piVar9;
int iVar10;
u32 *pBVar11;
int *piVar12;
int iVar13;
int iStack12;
iVar4 = get_selected_num_players();
iStack12 = 0;
viSetFovY(60.00000000);
viSetAspect((f32)flt_80051A88);
viSetZRange(100.00000000,(f32)flt_80051A8C);
viSetUseZBuf(0);
iVar13 = 0;
iVar10 = 0;
if (0 < iVar4) {
piVar9 = &mp_unknown1_player1;
piVar8 = &mp_char_cur_select_player;
piVar12 = &mp_char_prev_select_player;
pBVar11 = &has_selected_char_player1;
do {
controller = (char)iVar13;
if (*pBVar11 != FALSE) {
iVar6 = *(int *)((int)&size_mp_select_image_player1 + iVar10);
if ((iVar6 < 0xb) && (*piVar12 == *piVar8)) {
*(int *)((int)&size_mp_select_image_player1 + iVar10) = iVar6 + 1;
}
uVar3 = joyGetButtonsPressedThisFrame(controller,B_BUTTON);
if (uVar3 != 0) {
*pBVar11 = FALSE;
play_sfx_a1((s32)(int)g_musicSfxBufferPtr,199,NULL);
}
}
if ((*pBVar11 == FALSE) &&
(iVar6 = *(int *)((int)&size_mp_select_image_player1 + iVar10), 0 < iVar6)) {
*(int *)((int)&size_mp_select_image_player1 + iVar10) = iVar6 + -1;
LAB_7f012164:
iVar6 = *piVar12;
}
else {
if (*pBVar11 != FALSE) goto LAB_7f012164;
uVar3 = joyGetButtonsPressedThisFrame(controller,L_CBUTTONS|L_JPAD);
if (uVar3 != 0) {
if (0 < *piVar8) {
*piVar8 = *piVar8 + -1;
}
goto LAB_7f012164;
}
uVar3 = joyGetButtonsPressedThisFrame(controller,R_CBUTTONS|R_JPAD);
if (uVar3 != 0) {
if (*piVar8 < (int)(num_chars_selectable_mp - 1)) {
*piVar8 = *piVar8 + 1;
}
goto LAB_7f012164;
}
uVar3 = joyGetButtonsPressedThisFrame(controller,START_BUTTON|Z_TRIG|A_BUTTON);
if (uVar3 == 0) {
iVar6 = joyGetStickXInRange(controller,-2,1);
if (iVar6 < 1) {
iVar6 = joyGetStickXInRange(controller,-2,1);
if (iVar6 < -1) {
if (*piVar9 == 0) {
if (0 < *piVar8) {
*piVar8 = *piVar8 + -1;
}
goto LAB_7f012164;
}
iVar6 = *piVar12;
}
else {
iVar6 = *piVar12;
}
}
else {
if (*piVar9 == 0) {
if (*piVar8 < (int)(num_chars_selectable_mp - 1)) {
*piVar8 = *piVar8 + 1;
}
goto LAB_7f012164;
}
iVar6 = *piVar12;
}
}
else {
BVar5 = hasPlayerSelectedMPChar(*piVar8);
if (BVar5 != FALSE) goto LAB_7f012164;
*(int *)((int)&player_1_char + iVar10) = *piVar8;
*(s32 *)((int)&size_mp_select_image_player1 + iVar10) = 1;
*pBVar11 = TRUE;
play_sfx_a1((s32)(int)g_musicSfxBufferPtr,199,NULL);
iVar6 = *piVar12;
}
}
iVar1 = *piVar8;
iVar2 = *piVar9;
iVar13 += 1;
piVar8 = piVar8 + 1;
BVar5 = *pBVar11;
iVar7 = iVar2 + iVar6 * 0x54;
if (iVar1 * 0x54 < iVar7) {
*piVar9 = iVar2 + -0xc;
if (iVar2 + -0xc < 0) {
*piVar9 = iVar2 + 0x48;
*piVar12 = iVar6 + -1;
}
}
else {
if ((iVar7 < iVar1 * 0x54) && (*piVar9 = iVar2 + 0xc, 0x53 < iVar2 + 0xc)) {
*piVar9 = iVar2 + -0x48;
*piVar12 = iVar6 + 1;
}
}
if ((BVar5 != FALSE) && (*(int *)((int)&size_mp_select_image_player1 + iVar10) == 0xb)) {
iStack12 = iStack12 + 1;
}
iVar10 += 4;
piVar12 = piVar12 + 1;
piVar9 = piVar9 + 1;
pBVar11 = pBVar11 + 1;
} while (iVar13 != iVar4);
}
disable_all_switches((int)ptr_folder_object_instance);
set_item_visibility_in_objinstance((int)ptr_folder_object_instance,0,1);
set_item_visibility_in_objinstance((int)ptr_folder_object_instance,0x2a,1);
menu_control_stick_tracking();
if (iStack12 == iVar4) {
set_menu_to_mode(MENU_MP_OPTIONS,0);
}
return;
}
#else
GLOBAL_ASM(
.late_rodata
glabel D_80051A88
.word 0x3FAAAAAB /*1.3333334;*/
glabel D_80051A8C
.word 0x461C4000 /*10000.0;*/
.text
glabel interface_menu0F_mpcharsel
/* 046A04 7F011ED4 27BDFFB0 */ addiu $sp, $sp, -0x50
/* 046A08 7F011ED8 AFBF003C */ sw $ra, 0x3c($sp)
/* 046A0C 7F011EDC AFBE0038 */ sw $fp, 0x38($sp)
/* 046A10 7F011EE0 AFB70034 */ sw $s7, 0x34($sp)
/* 046A14 7F011EE4 AFB60030 */ sw $s6, 0x30($sp)
/* 046A18 7F011EE8 AFB5002C */ sw $s5, 0x2c($sp)
/* 046A1C 7F011EEC AFB40028 */ sw $s4, 0x28($sp)
/* 046A20 7F011EF0 AFB30024 */ sw $s3, 0x24($sp)
/* 046A24 7F011EF4 AFB20020 */ sw $s2, 0x20($sp)
/* 046A28 7F011EF8 AFB1001C */ sw $s1, 0x1c($sp)
/* 046A2C 7F011EFC 0FC040A4 */ jal get_selected_num_players
/* 046A30 7F011F00 AFB00018 */ sw $s0, 0x18($sp)
/* 046A34 7F011F04 3C014270 */ li $at, 0x42700000 # 60.000000
/* 046A38 7F011F08 44816000 */ mtc1 $at, $f12
/* 046A3C 7F011F0C AFA2004C */ sw $v0, 0x4c($sp)
/* 046A40 7F011F10 0C001151 */ jal viSetFovY
/* 046A44 7F011F14 AFA00044 */ sw $zero, 0x44($sp)
/* 046A48 7F011F18 3C018005 */ lui $at, %hi(D_80051A88)
/* 046A4C 7F011F1C 0C001164 */ jal viSetAspect
/* 046A50 7F011F20 C42C1A88 */ lwc1 $f12, %lo(D_80051A88)($at)
/* 046A54 7F011F24 3C0142C8 */ li $at, 0x42C80000 # 100.000000
/* 046A58 7F011F28 44816000 */ mtc1 $at, $f12
/* 046A5C 7F011F2C 3C018005 */ lui $at, %hi(D_80051A8C)
/* 046A60 7F011F30 0C001194 */ jal viSetZRange
/* 046A64 7F011F34 C42E1A8C */ lwc1 $f14, %lo(D_80051A8C)($at)
/* 046A68 7F011F38 0C00114D */ jal viSetUseZBuf
/* 046A6C 7F011F3C 00002025 */ move $a0, $zero
/* 046A70 7F011F40 8FAE004C */ lw $t6, 0x4c($sp)
/* 046A74 7F011F44 0000B025 */ move $s6, $zero
/* 046A78 7F011F48 00009825 */ move $s3, $zero
/* 046A7C 7F011F4C 19C000B6 */ blez $t6, .L7F012228
/* 046A80 7F011F50 3C148007 */ lui $s4, %hi(has_selected_char_player1)
/* 046A84 7F011F54 3C158007 */ lui $s5, %hi(mp_char_prev_select_player)
/* 046A88 7F011F58 3C118007 */ lui $s1, %hi(mp_char_cur_select_player)
/* 046A8C 7F011F5C 3C128007 */ lui $s2, %hi(dword_CODE_bss_80069730)
/* 046A90 7F011F60 3C1E8006 */ lui $fp, %hi(g_musicSfxBufferPtr)
/* 046A94 7F011F64 3C178007 */ lui $s7, %hi(size_mp_select_image_player1)
/* 046A98 7F011F68 26F79750 */ addiu $s7, %lo(size_mp_select_image_player1) # addiu $s7, $s7, -0x68b0
/* 046A9C 7F011F6C 27DE3720 */ addiu $fp, %lo(g_musicSfxBufferPtr) # addiu $fp, $fp, 0x3720
/* 046AA0 7F011F70 26529730 */ addiu $s2, %lo(dword_CODE_bss_80069730) # addiu $s2, $s2, -0x68d0
/* 046AA4 7F011F74 26319710 */ addiu $s1, %lo(mp_char_cur_select_player) # addiu $s1, $s1, -0x68f0
/* 046AA8 7F011F78 26B59720 */ addiu $s5, %lo(mp_char_prev_select_player) # addiu $s5, $s5, -0x68e0
/* 046AAC 7F011F7C 26949740 */ addiu $s4, %lo(has_selected_char_player1) # addiu $s4, $s4, -0x68c0
.L7F011F80:
/* 046AB0 7F011F80 8E8F0000 */ lw $t7, ($s4)
/* 046AB4 7F011F84 00162600 */ sll $a0, $s6, 0x18
/* 046AB8 7F011F88 02F31021 */ addu $v0, $s7, $s3
/* 046ABC 7F011F8C 11E00014 */ beqz $t7, .L7F011FE0
/* 046AC0 7F011F90 00044E03 */ sra $t1, $a0, 0x18
/* 046AC4 7F011F94 8C430000 */ lw $v1, ($v0)
/* 046AC8 7F011F98 01202025 */ move $a0, $t1
/* 046ACC 7F011F9C 2861000B */ slti $at, $v1, 0xb
/* 046AD0 7F011FA0 10200007 */ beqz $at, .L7F011FC0
/* 046AD4 7F011FA4 00000000 */ nop
/* 046AD8 7F011FA8 8EB80000 */ lw $t8, ($s5)
/* 046ADC 7F011FAC 8E390000 */ lw $t9, ($s1)
/* 046AE0 7F011FB0 24680001 */ addiu $t0, $v1, 1
/* 046AE4 7F011FB4 17190002 */ bne $t8, $t9, .L7F011FC0
/* 046AE8 7F011FB8 00000000 */ nop
/* 046AEC 7F011FBC AC480000 */ sw $t0, ($v0)
.L7F011FC0:
/* 046AF0 7F011FC0 0C0030EB */ jal joyGetButtonsPressedThisFrame
/* 046AF4 7F011FC4 24054000 */ li $a1, 16384
/* 046AF8 7F011FC8 10400005 */ beqz $v0, .L7F011FE0
/* 046AFC 7F011FCC 240500C7 */ li $a1, 199
/* 046B00 7F011FD0 AE800000 */ sw $zero, ($s4)
/* 046B04 7F011FD4 8FC40000 */ lw $a0, ($fp)
/* 046B08 7F011FD8 0C002382 */ jal play_sfx_a1
/* 046B0C 7F011FDC 00003025 */ move $a2, $zero
.L7F011FE0:
/* 046B10 7F011FE0 8E860000 */ lw $a2, ($s4)
/* 046B14 7F011FE4 02F31021 */ addu $v0, $s7, $s3
/* 046B18 7F011FE8 14C00006 */ bnez $a2, .L7F012004
/* 046B1C 7F011FEC 00000000 */ nop
/* 046B20 7F011FF0 8C430000 */ lw $v1, ($v0)
/* 046B24 7F011FF4 18600003 */ blez $v1, .L7F012004
/* 046B28 7F011FF8 246AFFFF */ addiu $t2, $v1, -1
/* 046B2C 7F011FFC 10000059 */ b .L7F012164
/* 046B30 7F012000 AC4A0000 */ sw $t2, ($v0)
.L7F012004:
/* 046B34 7F012004 14C00057 */ bnez $a2, .L7F012164
/* 046B38 7F012008 00168600 */ sll $s0, $s6, 0x18
/* 046B3C 7F01200C 00105E03 */ sra $t3, $s0, 0x18
/* 046B40 7F012010 000B2600 */ sll $a0, $t3, 0x18
/* 046B44 7F012014 00046603 */ sra $t4, $a0, 0x18
/* 046B48 7F012018 01802025 */ move $a0, $t4
/* 046B4C 7F01201C 01608025 */ move $s0, $t3
/* 046B50 7F012020 0C0030EB */ jal joyGetButtonsPressedThisFrame
/* 046B54 7F012024 24050202 */ li $a1, 514
/* 046B58 7F012028 10400006 */ beqz $v0, .L7F012044
/* 046B5C 7F01202C 00102600 */ sll $a0, $s0, 0x18
/* 046B60 7F012030 8E220000 */ lw $v0, ($s1)
/* 046B64 7F012034 1840004B */ blez $v0, .L7F012164
/* 046B68 7F012038 244DFFFF */ addiu $t5, $v0, -1
/* 046B6C 7F01203C 10000049 */ b .L7F012164
/* 046B70 7F012040 AE2D0000 */ sw $t5, ($s1)
.L7F012044:
/* 046B74 7F012044 00047603 */ sra $t6, $a0, 0x18
/* 046B78 7F012048 01C02025 */ move $a0, $t6
/* 046B7C 7F01204C 0C0030EB */ jal joyGetButtonsPressedThisFrame
/* 046B80 7F012050 24050101 */ li $a1, 257
/* 046B84 7F012054 1040000A */ beqz $v0, .L7F012080
/* 046B88 7F012058 00102600 */ sll $a0, $s0, 0x18
/* 046B8C 7F01205C 3C0F8003 */ lui $t7, %hi(num_chars_selectable_mp)
/* 046B90 7F012060 8DEFB194 */ lw $t7, %lo(num_chars_selectable_mp)($t7)
/* 046B94 7F012064 8E220000 */ lw $v0, ($s1)
/* 046B98 7F012068 25F8FFFF */ addiu $t8, $t7, -1
/* 046B9C 7F01206C 0058082A */ slt $at, $v0, $t8
/* 046BA0 7F012070 1020003C */ beqz $at, .L7F012164
/* 046BA4 7F012074 24590001 */ addiu $t9, $v0, 1
/* 046BA8 7F012078 1000003A */ b .L7F012164
/* 046BAC 7F01207C AE390000 */ sw $t9, ($s1)
.L7F012080:
/* 046BB0 7F012080 00044603 */ sra $t0, $a0, 0x18
/* 046BB4 7F012084 01002025 */ move $a0, $t0
/* 046BB8 7F012088 0C0030EB */ jal joyGetButtonsPressedThisFrame
/* 046BBC 7F01208C 3405B000 */ li $a1, 45056
/* 046BC0 7F012090 10400012 */ beqz $v0, .L7F0120DC
/* 046BC4 7F012094 00102600 */ sll $a0, $s0, 0x18
/* 046BC8 7F012098 0FC046F6 */ jal get_players_who_have_selected_mp_char
/* 046BCC 7F01209C 8E240000 */ lw $a0, ($s1)
/* 046BD0 7F0120A0 14400030 */ bnez $v0, .L7F012164
/* 046BD4 7F0120A4 3C018003 */ lui $at, %hi(player_1_char)
/* 046BD8 7F0120A8 8E290000 */ lw $t1, ($s1)
/* 046BDC 7F0120AC 00330821 */ addu $at, $at, $s3
/* 046BE0 7F0120B0 24020001 */ li $v0, 1
/* 046BE4 7F0120B4 02F35021 */ addu $t2, $s7, $s3
/* 046BE8 7F0120B8 AC29B524 */ sw $t1, %lo(player_1_char)($at)
/* 046BEC 7F0120BC AD420000 */ sw $v0, ($t2)
/* 046BF0 7F0120C0 AE820000 */ sw $v0, ($s4)
/* 046BF4 7F0120C4 8FC40000 */ lw $a0, ($fp)
/* 046BF8 7F0120C8 240500C7 */ li $a1, 199
/* 046BFC 7F0120CC 0C002382 */ jal play_sfx_a1
/* 046C00 7F0120D0 00003025 */ move $a2, $zero
/* 046C04 7F0120D4 10000024 */ b .L7F012168
/* 046C08 7F0120D8 8EA50000 */ lw $a1, ($s5)
.L7F0120DC:
/* 046C0C 7F0120DC 00045E03 */ sra $t3, $a0, 0x18
/* 046C10 7F0120E0 01602025 */ move $a0, $t3
/* 046C14 7F0120E4 2405FFFE */ li $a1, -2
/* 046C18 7F0120E8 0C00312D */ jal joyGetStickXInRange
/* 046C1C 7F0120EC 24060001 */ li $a2, 1
/* 046C20 7F0120F0 1840000D */ blez $v0, .L7F012128
/* 046C24 7F0120F4 00102600 */ sll $a0, $s0, 0x18
/* 046C28 7F0120F8 8E4C0000 */ lw $t4, ($s2)
/* 046C2C 7F0120FC 3C0D8003 */ lui $t5, %hi(num_chars_selectable_mp)
/* 046C30 7F012100 55800019 */ bnezl $t4, .L7F012168
/* 046C34 7F012104 8EA50000 */ lw $a1, ($s5)
/* 046C38 7F012108 8DADB194 */ lw $t5, %lo(num_chars_selectable_mp)($t5)
/* 046C3C 7F01210C 8E220000 */ lw $v0, ($s1)
/* 046C40 7F012110 25AEFFFF */ addiu $t6, $t5, -1
/* 046C44 7F012114 004E082A */ slt $at, $v0, $t6
/* 046C48 7F012118 10200012 */ beqz $at, .L7F012164
/* 046C4C 7F01211C 244F0001 */ addiu $t7, $v0, 1
/* 046C50 7F012120 10000010 */ b .L7F012164
/* 046C54 7F012124 AE2F0000 */ sw $t7, ($s1)
.L7F012128:
/* 046C58 7F012128 0004C603 */ sra $t8, $a0, 0x18
/* 046C5C 7F01212C 03002025 */ move $a0, $t8
/* 046C60 7F012130 2405FFFE */ li $a1, -2
/* 046C64 7F012134 0C00312D */ jal joyGetStickXInRange
/* 046C68 7F012138 24060001 */ li $a2, 1
/* 046C6C 7F01213C 2841FFFF */ slti $at, $v0, -1
/* 046C70 7F012140 50200009 */ beql $at, $zero, .L7F012168
/* 046C74 7F012144 8EA50000 */ lw $a1, ($s5)
/* 046C78 7F012148 8E590000 */ lw $t9, ($s2)
/* 046C7C 7F01214C 57200006 */ bnezl $t9, .L7F012168
/* 046C80 7F012150 8EA50000 */ lw $a1, ($s5)
/* 046C84 7F012154 8E220000 */ lw $v0, ($s1)
/* 046C88 7F012158 18400002 */ blez $v0, .L7F012164
/* 046C8C 7F01215C 2448FFFF */ addiu $t0, $v0, -1
/* 046C90 7F012160 AE280000 */ sw $t0, ($s1)
.L7F012164:
/* 046C94 7F012164 8EA50000 */ lw $a1, ($s5)
.L7F012168:
/* 046C98 7F012168 24070054 */ li $a3, 84
/* 046C9C 7F01216C 8E2A0000 */ lw $t2, ($s1)
/* 046CA0 7F012170 00A70019 */ multu $a1, $a3
/* 046CA4 7F012174 8E420000 */ lw $v0, ($s2)
/* 046CA8 7F012178 26D60001 */ addiu $s6, $s6, 1
/* 046CAC 7F01217C 26940004 */ addiu $s4, $s4, 4
/* 046CB0 7F012180 26310004 */ addiu $s1, $s1, 4
/* 046CB4 7F012184 8E86FFFC */ lw $a2, -4($s4)
/* 046CB8 7F012188 02F3C821 */ addu $t9, $s7, $s3
/* 046CBC 7F01218C 244BFFF4 */ addiu $t3, $v0, -0xc
/* 046CC0 7F012190 00004812 */ mflo $t1
/* 046CC4 7F012194 00491821 */ addu $v1, $v0, $t1
/* 046CC8 7F012198 00000000 */ nop
/* 046CCC 7F01219C 01470019 */ multu $t2, $a3
/* 046CD0 7F0121A0 00002012 */ mflo $a0
/* 046CD4 7F0121A4 0083082A */ slt $at, $a0, $v1
/* 046CD8 7F0121A8 50200009 */ beql $at, $zero, .L7F0121D0
/* 046CDC 7F0121AC 0064082A */ slt $at, $v1, $a0
/* 046CE0 7F0121B0 05610010 */ bgez $t3, .L7F0121F4
/* 046CE4 7F0121B4 AE4B0000 */ sw $t3, ($s2)
/* 046CE8 7F0121B8 256C0054 */ addiu $t4, $t3, 0x54
/* 046CEC 7F0121BC 24ADFFFF */ addiu $t5, $a1, -1
/* 046CF0 7F0121C0 AE4C0000 */ sw $t4, ($s2)
/* 046CF4 7F0121C4 1000000B */ b .L7F0121F4
/* 046CF8 7F0121C8 AEAD0000 */ sw $t5, ($s5)
/* 046CFC 7F0121CC 0064082A */ slt $at, $v1, $a0
.L7F0121D0:
/* 046D00 7F0121D0 10200008 */ beqz $at, .L7F0121F4
/* 046D04 7F0121D4 244E000C */ addiu $t6, $v0, 0xc
/* 046D08 7F0121D8 29C10054 */ slti $at, $t6, 0x54
/* 046D0C 7F0121DC 14200005 */ bnez $at, .L7F0121F4
/* 046D10 7F0121E0 AE4E0000 */ sw $t6, ($s2)
/* 046D14 7F0121E4 25CFFFAC */ addiu $t7, $t6, -0x54
/* 046D18 7F0121E8 24B80001 */ addiu $t8, $a1, 1
/* 046D1C 7F0121EC AE4F0000 */ sw $t7, ($s2)
/* 046D20 7F0121F0 AEB80000 */ sw $t8, ($s5)
.L7F0121F4:
/* 046D24 7F0121F4 50C00008 */ beql $a2, $zero, .L7F012218
/* 046D28 7F0121F8 8FAB004C */ lw $t3, 0x4c($sp)
/* 046D2C 7F0121FC 8F280000 */ lw $t0, ($t9)
/* 046D30 7F012200 8FA90044 */ lw $t1, 0x44($sp)
/* 046D34 7F012204 2401000B */ li $at, 11
/* 046D38 7F012208 15010002 */ bne $t0, $at, .L7F012214
/* 046D3C 7F01220C 252A0001 */ addiu $t2, $t1, 1
/* 046D40 7F012210 AFAA0044 */ sw $t2, 0x44($sp)
.L7F012214:
/* 046D44 7F012214 8FAB004C */ lw $t3, 0x4c($sp)
.L7F012218:
/* 046D48 7F012218 26730004 */ addiu $s3, $s3, 4
/* 046D4C 7F01221C 26B50004 */ addiu $s5, $s5, 4
/* 046D50 7F012220 16CBFF57 */ bne $s6, $t3, .L7F011F80
/* 046D54 7F012224 26520004 */ addiu $s2, $s2, 4
.L7F012228:
/* 046D58 7F012228 3C108003 */ lui $s0, %hi(ptr_folder_object_instance)
/* 046D5C 7F01222C 2610A95C */ addiu $s0, %lo(ptr_folder_object_instance) # addiu $s0, $s0, -0x56a4
/* 046D60 7F012230 0FC02DC9 */ jal disable_all_switches
/* 046D64 7F012234 8E040000 */ lw $a0, ($s0)
/* 046D68 7F012238 8E040000 */ lw $a0, ($s0)
/* 046D6C 7F01223C 00002825 */ move $a1, $zero
/* 046D70 7F012240 0FC02DF0 */ jal set_item_visibility_in_objinstance
/* 046D74 7F012244 24060001 */ li $a2, 1
/* 046D78 7F012248 8E040000 */ lw $a0, ($s0)
/* 046D7C 7F01224C 2405002A */ li $a1, 42
/* 046D80 7F012250 0FC02DF0 */ jal set_item_visibility_in_objinstance
/* 046D84 7F012254 24060001 */ li $a2, 1
/* 046D88 7F012258 0FC026E1 */ jal menu_control_stick_tracking
/* 046D8C 7F01225C 00000000 */ nop
/* 046D90 7F012260 8FAC0044 */ lw $t4, 0x44($sp)
/* 046D94 7F012264 8FAD004C */ lw $t5, 0x4c($sp)
/* 046D98 7F012268 158D0003 */ bne $t4, $t5, .L7F012278
/* 046D9C 7F01226C 2404000E */ li $a0, 14
/* 046DA0 7F012270 0FC06975 */ jal set_menu_to_mode
/* 046DA4 7F012274 00002825 */ move $a1, $zero
.L7F012278:
/* 046DA8 7F012278 8FBF003C */ lw $ra, 0x3c($sp)
/* 046DAC 7F01227C 8FB00018 */ lw $s0, 0x18($sp)
/* 046DB0 7F012280 8FB1001C */ lw $s1, 0x1c($sp)
/* 046DB4 7F012284 8FB20020 */ lw $s2, 0x20($sp)
/* 046DB8 7F012288 8FB30024 */ lw $s3, 0x24($sp)
/* 046DBC 7F01228C 8FB40028 */ lw $s4, 0x28($sp)
/* 046DC0 7F012290 8FB5002C */ lw $s5, 0x2c($sp)
/* 046DC4 7F012294 8FB60030 */ lw $s6, 0x30($sp)
/* 046DC8 7F012298 8FB70034 */ lw $s7, 0x34($sp)
/* 046DCC 7F01229C 8FBE0038 */ lw $fp, 0x38($sp)
/* 046DD0 7F0122A0 03E00008 */ jr $ra
/* 046DD4 7F0122A4 27BD0050 */ addiu $sp, $sp, 0x50
)
#endif
#ifdef NONMATCHING
s32 sub_GAME_7F0122A8(s32 arg0, s32 arg1, s32 arg2)
{
if (arg1 >= arg0)
{
return 0;
}
if (arg0 >= arg2)
{
return 0;
}
if (arg0 < (arg1 + 0x28))
{
return 0xf - ((arg1 - arg0) * 6);
}
if ((arg2 + -0x28) < arg0)
{
return 0xf - ((arg0 - arg2) * 6);
}
return 0xff;
}
#else
GLOBAL_ASM(
.text
glabel sub_GAME_7F0122A8
/* 046DD8 7F0122A8 00A4082A */ slt $at, $a1, $a0
/* 046DDC 7F0122AC 10200003 */ beqz $at, .L7F0122BC
/* 046DE0 7F0122B0 0086082A */ slt $at, $a0, $a2
/* 046DE4 7F0122B4 14200003 */ bnez $at, .L7F0122C4
/* 046DE8 7F0122B8 24AE0028 */ addiu $t6, $a1, 0x28
.L7F0122BC:
/* 046DEC 7F0122BC 03E00008 */ jr $ra
/* 046DF0 7F0122C0 00001025 */ move $v0, $zero
.L7F0122C4:
/* 046DF4 7F0122C4 008E082A */ slt $at, $a0, $t6
/* 046DF8 7F0122C8 10200008 */ beqz $at, .L7F0122EC
/* 046DFC 7F0122CC 24C8FFD8 */ addiu $t0, $a2, -0x28
/* 046E00 7F0122D0 00A47823 */ subu $t7, $a1, $a0
/* 046E04 7F0122D4 000FC080 */ sll $t8, $t7, 2
/* 046E08 7F0122D8 030FC023 */ subu $t8, $t8, $t7
/* 046E0C 7F0122DC 0018C040 */ sll $t8, $t8, 1
/* 046E10 7F0122E0 2419000F */ li $t9, 15
/* 046E14 7F0122E4 03E00008 */ jr $ra
/* 046E18 7F0122E8 03381023 */ subu $v0, $t9, $t8
.L7F0122EC:
/* 046E1C 7F0122EC 0104082A */ slt $at, $t0, $a0
/* 046E20 7F0122F0 10200008 */ beqz $at, .L7F012314
/* 046E24 7F0122F4 240200FF */ li $v0, 255
/* 046E28 7F0122F8 00864823 */ subu $t1, $a0, $a2
/* 046E2C 7F0122FC 00095080 */ sll $t2, $t1, 2
/* 046E30 7F012300 01495023 */ subu $t2, $t2, $t1
/* 046E34 7F012304 000A5040 */ sll $t2, $t2, 1
/* 046E38 7F012308 240B000F */ li $t3, 15
/* 046E3C 7F01230C 03E00008 */ jr $ra
/* 046E40 7F012310 016A1023 */ subu $v0, $t3, $t2
.L7F012314:
/* 046E44 7F012314 03E00008 */ jr $ra
/* 046E48 7F012318 00000000 */ nop
)
#endif
#ifdef NONMATCHING
s32 sub_GAME_7F01231C(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6)
{
s32 spD4;
s32 spD0;
s32 spCC;
s32 sp58;
s32 sp54;
s32 sp50;
s32 temp_s1;
s32 temp_s4;
s32 temp_t2;
s32 temp_t2_2;
s32 temp_t3;
s32 temp_t3_2;
s32 temp_t5;
s32 temp_t5_2;
s32 temp_t6;
s32 temp_t7;
s32 temp_t7_2;
s32 temp_t8;
s32 temp_t9;
void *temp_s0;
void *temp_s2;
void *temp_s5;
s32 phi_s1;
s32 phi_s4;
s32 phi_s3;
void *phi_s0;
s32 phi_s2;
s8 phi_v0;
spD4 = dynAllocateMatrix();
spD0 = dynAllocateMatrix();
spCC = dynAllocate7F0BD6C4(0x10);
arg0 = microcode_constructor(arg0);
guOrtho(spD4, 0, 0x43dc0000, 0, 330.0f, 1.0f, 10.0f, 1.0f);
guRotate(spD0, 0x40490fdb, 0x3f800000, 0.0f, 0.0f);
sp54 = (s32) (0x14a - arg4);
sp50 = (s32) (arg6 + 0x2a);
sp58 = (s32) (arg6 + 0x23);
phi_s4 = 0;
phi_s0 = spCC;
loop_1:
phi_s1 = 0;
loop_2:
phi_s3 = phi_s1;
if (phi_s1 >= 2)
{
phi_s3 = phi_s1 + -1;
}
phi_s2 = phi_s4;
if (phi_s4 >= 2)
{
phi_s2 = phi_s4 + -1;
}
if ((get_players_who_have_selected_mp_char(arg5) != 0) && (arg6 == 0))
{
phi_v0 = (u8)0x6e;
}
else
{
phi_v0 = (u8)0xff;
}
phi_s0->unk0 = (s16) (((phi_s3 + -1) * sp58) + arg3);
phi_s0->unk4 = (u16)-5;
phi_s0->unk6 = (u16)0;
phi_s0->unk2 = (s16) ((sp54 + ((phi_s2 + -1) * sp50)) + arg6);
if ((phi_s1 & 1) != 0)
{
phi_s0->unk8 = (u16)0x1000;
}
else
{
phi_s0->unk8 = (u16)0;
}
if ((phi_s4 & 1) != 0)
{
phi_s0->unkA = (u16)0x1000;
}
else
{
phi_s0->unkA = (u16)0;
}
phi_s0->unkC = (s8) phi_v0;
phi_s0->unkD = (s8) phi_v0;
phi_s0->unkE = (s8) phi_v0;
if (arg6 == 0)
{
phi_s0->unkF = sub_GAME_7F0122A8(phi_s0->unk0, arg1, arg2);
}
else
{
phi_s0->unkF = (u8)0xff;
}
temp_s1 = phi_s1 + 1;
temp_s0 = phi_s0 + 0x10;
phi_s1 = temp_s1;
phi_s0 = temp_s0;
if (temp_s1 != 4)
{
goto loop_2;
}
temp_s4 = phi_s4 + 1;
phi_s4 = temp_s4;
phi_s0 = temp_s0;
if (temp_s4 != 4)
{
goto loop_1;
}
temp_t9 = arg0;
arg0 = (s32) (temp_t9 + 8);
temp_t9->unk0 = 0x1030040;
temp_t9->unk4 = (s32) (spD4 + 0x80000000);
temp_t6 = arg0;
arg0 = (s32) (temp_t6 + 8);
temp_t6->unk0 = 0x1020040;
temp_t6->unk4 = (s32) (spD0 + 0x80000000);
temp_t2 = arg0;
arg0 = (s32) (temp_t2 + 8);
temp_t2->unk0 = 0x4f00100;
temp_t2->unk4 = spCC;
temp_s5 = &arg0;
temp_s2 = (arg5 * 0xc) + &mp_chr_setup;
likely_generate_DL_for_image_declaration(temp_s5, (((temp_s2->unk3 * 4) * 0xc) + mpcharselimages) + 0x18, 2, 0, 2);
temp_t8 = arg0;
arg0 = (s32) (temp_t8 + 8);
temp_t8->unk4 = 0xa28;
temp_t8->unk0 = 0xbf000000;
temp_t3 = arg0;
arg0 = (s32) (temp_t3 + 8);
temp_t3->unk4 = 0x280a32;
temp_t3->unk0 = 0xbf000000;
likely_generate_DL_for_image_declaration(temp_s5, (((temp_s2->unk3 * 4) * 0xc) + mpcharselimages) + 0x24, 2, 0, 2);
temp_t3_2 = arg0;
arg0 = (s32) (temp_t3_2 + 8);
temp_t3_2->unk4 = 0x141e3c;
temp_t3_2->unk0 = 0xbf000000;
temp_t5 = arg0;
arg0 = (s32) (temp_t5 + 8);
temp_t5->unk4 = 0x3c1e46;
temp_t5->unk0 = 0xbf000000;
likely_generate_DL_for_image_declaration(temp_s5, ((temp_s2->unk3 * 4) * 0xc) + mpcharselimages, 2, 0, 2);
temp_t5_2 = arg0;
arg0 = (s32) (temp_t5_2 + 8);
temp_t5_2->unk4 = 0x505a78;
temp_t5_2->unk0 = 0xbf000000;
temp_t7 = arg0;
arg0 = (s32) (temp_t7 + 8);
temp_t7->unk4 = 0x785a82;
temp_t7->unk0 = 0xbf000000;
likely_generate_DL_for_image_declaration(temp_s5, (((temp_s2->unk3 * 4) * 0xc) + mpcharselimages) + 0xc, 2, 0, 2);
temp_t7_2 = arg0;
arg0 = (s32) (temp_t7_2 + 8);
temp_t7_2->unk4 = 0x646e8c;
temp_t7_2->unk0 = 0xbf000000;
temp_t2_2 = arg0;
arg0 = (s32) (temp_t2_2 + 8);
temp_t2_2->unk4 = 0x8c6e96;
temp_t2_2->unk0 = 0xbf000000;
return arg0;
}
#else
GLOBAL_ASM(
.text
glabel sub_GAME_7F01231C
/* 046E4C 7F01231C 27BDFF28 */ addiu $sp, $sp, -0xd8
/* 046E50 7F012320 AFBF004C */ sw $ra, 0x4c($sp)
/* 046E54 7F012324 AFBE0048 */ sw $fp, 0x48($sp)
/* 046E58 7F012328 AFB70044 */ sw $s7, 0x44($sp)
/* 046E5C 7F01232C AFB60040 */ sw $s6, 0x40($sp)
/* 046E60 7F012330 AFB5003C */ sw $s5, 0x3c($sp)
/* 046E64 7F012334 AFB40038 */ sw $s4, 0x38($sp)
/* 046E68 7F012338 AFB30034 */ sw $s3, 0x34($sp)
/* 046E6C 7F01233C AFB20030 */ sw $s2, 0x30($sp)
/* 046E70 7F012340 AFB1002C */ sw $s1, 0x2c($sp)
/* 046E74 7F012344 AFB00028 */ sw $s0, 0x28($sp)
/* 046E78 7F012348 AFA400D8 */ sw $a0, 0xd8($sp)
/* 046E7C 7F01234C AFA500DC */ sw $a1, 0xdc($sp)
/* 046E80 7F012350 AFA600E0 */ sw $a2, 0xe0($sp)
/* 046E84 7F012354 0FC2F5B8 */ jal dynAllocateMatrix
/* 046E88 7F012358 AFA700E4 */ sw $a3, 0xe4($sp)
/* 046E8C 7F01235C 0FC2F5B8 */ jal dynAllocateMatrix
/* 046E90 7F012360 AFA200D4 */ sw $v0, 0xd4($sp)
/* 046E94 7F012364 AFA200D0 */ sw $v0, 0xd0($sp)
/* 046E98 7F012368 0FC2F5B1 */ jal dynAllocate7F0BD6C4
/* 046E9C 7F01236C 24040010 */ li $a0, 16
/* 046EA0 7F012370 AFA200CC */ sw $v0, 0xcc($sp)
/* 046EA4 7F012374 0FC2B366 */ jal microcode_constructor
/* 046EA8 7F012378 8FA400D8 */ lw $a0, 0xd8($sp)
/* 046EAC 7F01237C 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 046EB0 7F012380 44811000 */ mtc1 $at, $f2
/* 046EB4 7F012384 44800000 */ mtc1 $zero, $f0
/* 046EB8 7F012388 3C0143A5 */ li $at, 0x43A50000 # 330.000000
/* 046EBC 7F01238C 44812000 */ mtc1 $at, $f4
/* 046EC0 7F012390 3C014120 */ li $at, 0x41200000 # 10.000000
/* 046EC4 7F012394 44813000 */ mtc1 $at, $f6
/* 046EC8 7F012398 44050000 */ mfc1 $a1, $f0
/* 046ECC 7F01239C 44070000 */ mfc1 $a3, $f0
/* 046ED0 7F0123A0 AFA200D8 */ sw $v0, 0xd8($sp)
/* 046ED4 7F0123A4 8FA400D4 */ lw $a0, 0xd4($sp)
/* 046ED8 7F0123A8 3C0643DC */ lui $a2, 0x43dc
/* 046EDC 7F0123AC E7A20014 */ swc1 $f2, 0x14($sp)
/* 046EE0 7F0123B0 E7A2001C */ swc1 $f2, 0x1c($sp)
/* 046EE4 7F0123B4 E7A40010 */ swc1 $f4, 0x10($sp)
/* 046EE8 7F0123B8 0C005AF1 */ jal guOrtho
/* 046EEC 7F0123BC E7A60018 */ swc1 $f6, 0x18($sp)
/* 046EF0 7F0123C0 44800000 */ mtc1 $zero, $f0
/* 046EF4 7F0123C4 3C054049 */ lui $a1, (0x40490FDB >> 16) # lui $a1, 0x4049
/* 046EF8 7F0123C8 34A50FDB */ ori $a1, (0x40490FDB & 0xFFFF) # ori $a1, $a1, 0xfdb
/* 046EFC 7F0123CC 44070000 */ mfc1 $a3, $f0
/* 046F00 7F0123D0 8FA400D0 */ lw $a0, 0xd0($sp)
/* 046F04 7F0123D4 3C063F80 */ lui $a2, 0x3f80
/* 046F08 7F0123D8 0C005E2D */ jal guRotate
/* 046F0C 7F0123DC E7A00010 */ swc1 $f0, 0x10($sp)
/* 046F10 7F0123E0 8FB500F0 */ lw $s5, 0xf0($sp)
/* 046F14 7F0123E4 8FAF00E8 */ lw $t7, 0xe8($sp)
/* 046F18 7F0123E8 2418014A */ li $t8, 330
/* 046F1C 7F0123EC 26AE0023 */ addiu $t6, $s5, 0x23
/* 046F20 7F0123F0 26AA002A */ addiu $t2, $s5, 0x2a
/* 046F24 7F0123F4 030FC823 */ subu $t9, $t8, $t7
/* 046F28 7F0123F8 AFB90054 */ sw $t9, 0x54($sp)
/* 046F2C 7F0123FC AFAA0050 */ sw $t2, 0x50($sp)
/* 046F30 7F012400 AFAE0058 */ sw $t6, 0x58($sp)
/* 046F34 7F012404 0000A025 */ move $s4, $zero
/* 046F38 7F012408 8FB000CC */ lw $s0, 0xcc($sp)
/* 046F3C 7F01240C 241E0004 */ li $fp, 4
/* 046F40 7F012410 24161000 */ li $s6, 4096
/* 046F44 7F012414 00008825 */ move $s1, $zero
.L7F012418:
/* 046F48 7F012418 32970001 */ andi $s7, $s4, 1
.L7F01241C:
/* 046F4C 7F01241C 2A210002 */ slti $at, $s1, 2
/* 046F50 7F012420 14200003 */ bnez $at, .L7F012430
/* 046F54 7F012424 02209825 */ move $s3, $s1
/* 046F58 7F012428 10000001 */ b .L7F012430
/* 046F5C 7F01242C 2633FFFF */ addiu $s3, $s1, -1
.L7F012430:
/* 046F60 7F012430 2A810002 */ slti $at, $s4, 2
/* 046F64 7F012434 14200003 */ bnez $at, .L7F012444
/* 046F68 7F012438 02809025 */ move $s2, $s4
/* 046F6C 7F01243C 10000001 */ b .L7F012444
/* 046F70 7F012440 2692FFFF */ addiu $s2, $s4, -1
.L7F012444:
/* 046F74 7F012444 0FC046F6 */ jal get_players_who_have_selected_mp_char
/* 046F78 7F012448 8FA400EC */ lw $a0, 0xec($sp)
/* 046F7C 7F01244C 10400005 */ beqz $v0, .L7F012464
/* 046F80 7F012450 8FAC0058 */ lw $t4, 0x58($sp)
/* 046F84 7F012454 56A00004 */ bnezl $s5, .L7F012468
/* 046F88 7F012458 240200FF */ li $v0, 255
/* 046F8C 7F01245C 10000002 */ b .L7F012468
/* 046F90 7F012460 2402006E */ li $v0, 110
.L7F012464:
/* 046F94 7F012464 240200FF */ li $v0, 255
.L7F012468:
/* 046F98 7F012468 266BFFFF */ addiu $t3, $s3, -1
/* 046F9C 7F01246C 016C0019 */ multu $t3, $t4
/* 046FA0 7F012470 8FAE00E4 */ lw $t6, 0xe4($sp)
/* 046FA4 7F012474 264FFFFF */ addiu $t7, $s2, -1
/* 046FA8 7F012478 00006812 */ mflo $t5
/* 046FAC 7F01247C 01AEC021 */ addu $t8, $t5, $t6
/* 046FB0 7F012480 A6180000 */ sh $t8, ($s0)
/* 046FB4 7F012484 8FB90050 */ lw $t9, 0x50($sp)
/* 046FB8 7F012488 8FAB0054 */ lw $t3, 0x54($sp)
/* 046FBC 7F01248C 240EFFFB */ li $t6, -5
/* 046FC0 7F012490 01F90019 */ multu $t7, $t9
/* 046FC4 7F012494 32380001 */ andi $t8, $s1, 1
/* 046FC8 7F012498 A60E0004 */ sh $t6, 4($s0)
/* 046FCC 7F01249C A6000006 */ sh $zero, 6($s0)
/* 046FD0 7F0124A0 240F00FF */ li $t7, 255
/* 046FD4 7F0124A4 00005012 */ mflo $t2
/* 046FD8 7F0124A8 016A6021 */ addu $t4, $t3, $t2
/* 046FDC 7F0124AC 01956821 */ addu $t5, $t4, $s5
/* 046FE0 7F0124B0 13000003 */ beqz $t8, .L7F0124C0
/* 046FE4 7F0124B4 A60D0002 */ sh $t5, 2($s0)
/* 046FE8 7F0124B8 10000002 */ b .L7F0124C4
/* 046FEC 7F0124BC A6160008 */ sh $s6, 8($s0)
.L7F0124C0:
/* 046FF0 7F0124C0 A6000008 */ sh $zero, 8($s0)
.L7F0124C4:
/* 046FF4 7F0124C4 52E00004 */ beql $s7, $zero, .L7F0124D8
/* 046FF8 7F0124C8 A600000A */ sh $zero, 0xa($s0)
/* 046FFC 7F0124CC 10000002 */ b .L7F0124D8
/* 047000 7F0124D0 A616000A */ sh $s6, 0xa($s0)
/* 047004 7F0124D4 A600000A */ sh $zero, 0xa($s0)
.L7F0124D8:
/* 047008 7F0124D8 A202000C */ sb $v0, 0xc($s0)
/* 04700C 7F0124DC A202000D */ sb $v0, 0xd($s0)
/* 047010 7F0124E0 16A00007 */ bnez $s5, .L7F012500
/* 047014 7F0124E4 A202000E */ sb $v0, 0xe($s0)
/* 047018 7F0124E8 86040000 */ lh $a0, ($s0)
/* 04701C 7F0124EC 8FA500DC */ lw $a1, 0xdc($sp)
/* 047020 7F0124F0 0FC048AA */ jal sub_GAME_7F0122A8
/* 047024 7F0124F4 8FA600E0 */ lw $a2, 0xe0($sp)
/* 047028 7F0124F8 10000002 */ b .L7F012504
/* 04702C 7F0124FC A202000F */ sb $v0, 0xf($s0)
.L7F012500:
/* 047030 7F012500 A20F000F */ sb $t7, 0xf($s0)
.L7F012504:
/* 047034 7F012504 26310001 */ addiu $s1, $s1, 1
/* 047038 7F012508 163EFFC4 */ bne $s1, $fp, .L7F01241C
/* 04703C 7F01250C 26100010 */ addiu $s0, $s0, 0x10
/* 047040 7F012510 26940001 */ addiu $s4, $s4, 1
/* 047044 7F012514 569EFFC0 */ bnel $s4, $fp, .L7F012418
/* 047048 7F012518 00008825 */ move $s1, $zero
/* 04704C 7F01251C 8FB900D8 */ lw $t9, 0xd8($sp)
/* 047050 7F012520 3C0A0103 */ lui $t2, (0x01030040 >> 16) # lui $t2, 0x103
/* 047054 7F012524 354A0040 */ ori $t2, (0x01030040 & 0xFFFF) # ori $t2, $t2, 0x40
/* 047058 7F012528 272B0008 */ addiu $t3, $t9, 8
/* 04705C 7F01252C AFAB00D8 */ sw $t3, 0xd8($sp)
/* 047060 7F012530 AF2A0000 */ sw $t2, ($t9)
/* 047064 7F012534 8FAC00D4 */ lw $t4, 0xd4($sp)
/* 047068 7F012538 3C098000 */ lui $t1, 0x8000
/* 04706C 7F01253C 3C0F0102 */ lui $t7, (0x01020040 >> 16) # lui $t7, 0x102
/* 047070 7F012540 01896821 */ addu $t5, $t4, $t1
/* 047074 7F012544 AF2D0004 */ sw $t5, 4($t9)
/* 047078 7F012548 8FAE00D8 */ lw $t6, 0xd8($sp)
/* 04707C 7F01254C 35EF0040 */ ori $t7, (0x01020040 & 0xFFFF) # ori $t7, $t7, 0x40
/* 047080 7F012550 3C0D04F0 */ lui $t5, (0x04F00100 >> 16) # lui $t5, 0x4f0
/* 047084 7F012554 25D80008 */ addiu $t8, $t6, 8
/* 047088 7F012558 AFB800D8 */ sw $t8, 0xd8($sp)
/* 04708C 7F01255C ADCF0000 */ sw $t7, ($t6)
/* 047090 7F012560 8FB900D0 */ lw $t9, 0xd0($sp)
/* 047094 7F012564 35AD0100 */ ori $t5, (0x04F00100 & 0xFFFF) # ori $t5, $t5, 0x100
/* 047098 7F012568 2413000C */ li $s3, 12
/* 04709C 7F01256C 03295821 */ addu $t3, $t9, $t1
/* 0470A0 7F012570 ADCB0004 */ sw $t3, 4($t6)
/* 0470A4 7F012574 8FAA00D8 */ lw $t2, 0xd8($sp)
/* 0470A8 7F012578 3C198003 */ lui $t9, %hi(mp_chr_setup)
/* 0470AC 7F01257C 2739B198 */ addiu $t9, %lo(mp_chr_setup) # addiu $t9, $t9, -0x4e68
/* 0470B0 7F012580 254C0008 */ addiu $t4, $t2, 8
/* 0470B4 7F012584 AFAC00D8 */ sw $t4, 0xd8($sp)
/* 0470B8 7F012588 AD4D0000 */ sw $t5, ($t2)
/* 0470BC 7F01258C 8FAE00CC */ lw $t6, 0xcc($sp)
/* 0470C0 7F012590 3C148009 */ lui $s4, %hi(mpcharselimages)
/* 0470C4 7F012594 2694D130 */ addiu $s4, %lo(mpcharselimages) # addiu $s4, $s4, -0x2ed0
/* 0470C8 7F012598 AD4E0004 */ sw $t6, 4($t2)
/* 0470CC 7F01259C 8FB800EC */ lw $t8, 0xec($sp)
/* 0470D0 7F0125A0 8E8D0000 */ lw $t5, ($s4)
/* 0470D4 7F0125A4 27B500D8 */ addiu $s5, $sp, 0xd8
/* 0470D8 7F0125A8 03130019 */ multu $t8, $s3
/* 0470DC 7F0125AC 240E0002 */ li $t6, 2
/* 0470E0 7F0125B0 AFAE0010 */ sw $t6, 0x10($sp)
/* 0470E4 7F0125B4 02A02025 */ move $a0, $s5
/* 0470E8 7F0125B8 24060002 */ li $a2, 2
/* 0470EC 7F0125BC 00003825 */ move $a3, $zero
/* 0470F0 7F0125C0 00007812 */ mflo $t7
/* 0470F4 7F0125C4 01F99021 */ addu $s2, $t7, $t9
/* 0470F8 7F0125C8 924B0003 */ lbu $t3, 3($s2)
/* 0470FC 7F0125CC 000B5080 */ sll $t2, $t3, 2
/* 047100 7F0125D0 01530019 */ multu $t2, $s3
/* 047104 7F0125D4 00006012 */ mflo $t4
/* 047108 7F0125D8 018D8021 */ addu $s0, $t4, $t5
/* 04710C 7F0125DC 0FC1DB5A */ jal likely_generate_DL_for_image_declaration
/* 047110 7F0125E0 26050018 */ addiu $a1, $s0, 0x18
/* 047114 7F0125E4 8FB800D8 */ lw $t8, 0xd8($sp)
/* 047118 7F0125E8 3C11BF00 */ lui $s1, 0xbf00
/* 04711C 7F0125EC 24190A28 */ li $t9, 2600
/* 047120 7F0125F0 270F0008 */ addiu $t7, $t8, 8
/* 047124 7F0125F4 AFAF00D8 */ sw $t7, 0xd8($sp)
/* 047128 7F0125F8 AF190004 */ sw $t9, 4($t8)
/* 04712C 7F0125FC AF110000 */ sw $s1, ($t8)
/* 047130 7F012600 8FAB00D8 */ lw $t3, 0xd8($sp)
/* 047134 7F012604 3C0C0028 */ lui $t4, (0x00280A32 >> 16) # lui $t4, 0x28
/* 047138 7F012608 358C0A32 */ ori $t4, (0x00280A32 & 0xFFFF) # ori $t4, $t4, 0xa32
/* 04713C 7F01260C 256A0008 */ addiu $t2, $t3, 8
/* 047140 7F012610 AFAA00D8 */ sw $t2, 0xd8($sp)
/* 047144 7F012614 AD6C0004 */ sw $t4, 4($t3)
/* 047148 7F012618 AD710000 */ sw $s1, ($t3)
/* 04714C 7F01261C 924D0003 */ lbu $t5, 3($s2)
/* 047150 7F012620 8E8F0000 */ lw $t7, ($s4)
/* 047154 7F012624 24190002 */ li $t9, 2
/* 047158 7F012628 000D7080 */ sll $t6, $t5, 2
/* 04715C 7F01262C 01D30019 */ multu $t6, $s3
/* 047160 7F012630 AFB90010 */ sw $t9, 0x10($sp)
/* 047164 7F012634 02A02025 */ move $a0, $s5
/* 047168 7F012638 24060002 */ li $a2, 2
/* 04716C 7F01263C 00003825 */ move $a3, $zero
/* 047170 7F012640 0000C012 */ mflo $t8
/* 047174 7F012644 030F8021 */ addu $s0, $t8, $t7
/* 047178 7F012648 0FC1DB5A */ jal likely_generate_DL_for_image_declaration
/* 04717C 7F01264C 26050024 */ addiu $a1, $s0, 0x24
/* 047180 7F012650 8FAB00D8 */ lw $t3, 0xd8($sp)
/* 047184 7F012654 3C0C0014 */ lui $t4, (0x00141E3C >> 16) # lui $t4, 0x14
/* 047188 7F012658 358C1E3C */ ori $t4, (0x00141E3C & 0xFFFF) # ori $t4, $t4, 0x1e3c
/* 04718C 7F01265C 256A0008 */ addiu $t2, $t3, 8
/* 047190 7F012660 AFAA00D8 */ sw $t2, 0xd8($sp)
/* 047194 7F012664 AD6C0004 */ sw $t4, 4($t3)
/* 047198 7F012668 AD710000 */ sw $s1, ($t3)
/* 04719C 7F01266C 8FAD00D8 */ lw $t5, 0xd8($sp)
/* 0471A0 7F012670 3C18003C */ lui $t8, (0x003C1E46 >> 16) # lui $t8, 0x3c
/* 0471A4 7F012674 37181E46 */ ori $t8, (0x003C1E46 & 0xFFFF) # ori $t8, $t8, 0x1e46
/* 0471A8 7F012678 25AE0008 */ addiu $t6, $t5, 8
/* 0471AC 7F01267C AFAE00D8 */ sw $t6, 0xd8($sp)
/* 0471B0 7F012680 ADB80004 */ sw $t8, 4($t5)
/* 0471B4 7F012684 ADB10000 */ sw $s1, ($t5)
/* 0471B8 7F012688 924F0003 */ lbu $t7, 3($s2)
/* 0471BC 7F01268C 8E8A0000 */ lw $t2, ($s4)
/* 0471C0 7F012690 240C0002 */ li $t4, 2
/* 0471C4 7F012694 000FC880 */ sll $t9, $t7, 2
/* 0471C8 7F012698 03330019 */ multu $t9, $s3
/* 0471CC 7F01269C AFAC0010 */ sw $t4, 0x10($sp)
/* 0471D0 7F0126A0 02A02025 */ move $a0, $s5
/* 0471D4 7F0126A4 24060002 */ li $a2, 2
/* 0471D8 7F0126A8 00003825 */ move $a3, $zero
/* 0471DC 7F0126AC 00005812 */ mflo $t3
/* 0471E0 7F0126B0 016A2821 */ addu $a1, $t3, $t2
/* 0471E4 7F0126B4 0FC1DB5A */ jal likely_generate_DL_for_image_declaration
/* 0471E8 7F0126B8 00000000 */ nop
/* 0471EC 7F0126BC 8FAD00D8 */ lw $t5, 0xd8($sp)
/* 0471F0 7F0126C0 3C180050 */ lui $t8, (0x00505A78 >> 16) # lui $t8, 0x50
/* 0471F4 7F0126C4 37185A78 */ ori $t8, (0x00505A78 & 0xFFFF) # ori $t8, $t8, 0x5a78
/* 0471F8 7F0126C8 25AE0008 */ addiu $t6, $t5, 8
/* 0471FC 7F0126CC AFAE00D8 */ sw $t6, 0xd8($sp)
/* 047200 7F0126D0 ADB80004 */ sw $t8, 4($t5)
/* 047204 7F0126D4 ADB10000 */ sw $s1, ($t5)
/* 047208 7F0126D8 8FAF00D8 */ lw $t7, 0xd8($sp)
/* 04720C 7F0126DC 3C0B0078 */ lui $t3, (0x00785A82 >> 16) # lui $t3, 0x78
/* 047210 7F0126E0 356B5A82 */ ori $t3, (0x00785A82 & 0xFFFF) # ori $t3, $t3, 0x5a82
/* 047214 7F0126E4 25F90008 */ addiu $t9, $t7, 8
/* 047218 7F0126E8 AFB900D8 */ sw $t9, 0xd8($sp)
/* 04721C 7F0126EC ADEB0004 */ sw $t3, 4($t7)
/* 047220 7F0126F0 ADF10000 */ sw $s1, ($t7)
/* 047224 7F0126F4 924A0003 */ lbu $t2, 3($s2)
/* 047228 7F0126F8 8E8E0000 */ lw $t6, ($s4)
/* 04722C 7F0126FC 24180002 */ li $t8, 2
/* 047230 7F012700 000A6080 */ sll $t4, $t2, 2
/* 047234 7F012704 01930019 */ multu $t4, $s3
/* 047238 7F012708 AFB80010 */ sw $t8, 0x10($sp)
/* 04723C 7F01270C 02A02025 */ move $a0, $s5
/* 047240 7F012710 24060002 */ li $a2, 2
/* 047244 7F012714 00003825 */ move $a3, $zero
/* 047248 7F012718 00006812 */ mflo $t5
/* 04724C 7F01271C 01AE8021 */ addu $s0, $t5, $t6
/* 047250 7F012720 0FC1DB5A */ jal likely_generate_DL_for_image_declaration
/* 047254 7F012724 2605000C */ addiu $a1, $s0, 0xc
/* 047258 7F012728 8FAF00D8 */ lw $t7, 0xd8($sp)
/* 04725C 7F01272C 3C0B0064 */ lui $t3, (0x00646E8C >> 16) # lui $t3, 0x64
/* 047260 7F012730 356B6E8C */ ori $t3, (0x00646E8C & 0xFFFF) # ori $t3, $t3, 0x6e8c
/* 047264 7F012734 25F90008 */ addiu $t9, $t7, 8
/* 047268 7F012738 AFB900D8 */ sw $t9, 0xd8($sp)
/* 04726C 7F01273C ADEB0004 */ sw $t3, 4($t7)
/* 047270 7F012740 ADF10000 */ sw $s1, ($t7)
/* 047274 7F012744 8FAA00D8 */ lw $t2, 0xd8($sp)
/* 047278 7F012748 3C0D008C */ lui $t5, (0x008C6E96 >> 16) # lui $t5, 0x8c
/* 04727C 7F01274C 35AD6E96 */ ori $t5, (0x008C6E96 & 0xFFFF) # ori $t5, $t5, 0x6e96
/* 047280 7F012750 254C0008 */ addiu $t4, $t2, 8
/* 047284 7F012754 AFAC00D8 */ sw $t4, 0xd8($sp)
/* 047288 7F012758 AD4D0004 */ sw $t5, 4($t2)
/* 04728C 7F01275C AD510000 */ sw $s1, ($t2)
/* 047290 7F012760 8FBF004C */ lw $ra, 0x4c($sp)
/* 047294 7F012764 8FBE0048 */ lw $fp, 0x48($sp)
/* 047298 7F012768 8FB70044 */ lw $s7, 0x44($sp)
/* 04729C 7F01276C 8FB60040 */ lw $s6, 0x40($sp)
/* 0472A0 7F012770 8FB5003C */ lw $s5, 0x3c($sp)
/* 0472A4 7F012774 8FB40038 */ lw $s4, 0x38($sp)
/* 0472A8 7F012778 8FB30034 */ lw $s3, 0x34($sp)
/* 0472AC 7F01277C 8FB20030 */ lw $s2, 0x30($sp)
/* 0472B0 7F012780 8FB1002C */ lw $s1, 0x2c($sp)
/* 0472B4 7F012784 8FB00028 */ lw $s0, 0x28($sp)
/* 0472B8 7F012788 8FA200D8 */ lw $v0, 0xd8($sp)
/* 0472BC 7F01278C 03E00008 */ jr $ra
/* 0472C0 7F012790 27BD00D8 */ addiu $sp, $sp, 0xd8
)
#endif
#ifdef NONMATCHING
void constructor_menu0F_mpcharsel(s32 arg0)
{
s32 spE4;
s32 spE0;
s32 spBC;
s32 spB8;
s32 spB4;
s32 spB0;
s32 spA8;
s32 spA4;
s32 spA0;
s32 sp9C;
s32 sp8C;
void *sp88;
void *sp80;
void *sp74;
void *sp70;
s32 temp_ret;
s32 temp_ret_10;
s32 temp_ret_11;
s32 temp_ret_2;
s32 temp_ret_3;
s32 temp_ret_4;
s32 temp_ret_5;
s32 temp_ret_6;
s32 temp_ret_7;
s32 temp_ret_8;
s32 temp_ret_9;
s32 temp_s1;
s32 temp_s1_2;
s32 temp_s1_3;
s32 temp_s3;
s32 temp_s4;
s32 temp_s6;
s32 temp_t7;
s32 temp_t9;
s32 phi_s2;
s32 phi_s7;
void *phi_v0;
s32 phi_s4;
s32 phi_s1;
s32 phi_s0;
s32 phi_s1_2;
s32 phi_s0_2;
s32 phi_s1_3;
s32 phi_s0_3;
s32 phi_s1_4;
s32 phi_s0_4;
s32 phi_v1;
s32 phi_s1_5;
s32 phi_s0_5;
s32 phi_v1_2;
s32 phi_s1_6;
s32 phi_s1_7;
s32 phi_v1_3;
s32 phi_v1_4;
spE4 = get_selected_num_players();
temp_ret = microcode_constructor_related_to_menus(microcode_constructor(sub_GAME_7F00D5E8(viFillScreen(viSetFillColor(arg0, 0, 0, 0)))), 0x26, 0xa9, 0x184, 0xab, 0x90);
temp_s1 = temp_ret;
phi_v0 = temp_ret;
phi_s1_7 = temp_s1;
if (spE4 >= 3)
{
temp_ret_2 = microcode_constructor_related_to_menus(temp_s1, 0xd4, 0x1e, 0xd6, 0x136, 0x80);
phi_v0 = temp_ret_2;
phi_s1_7 = temp_ret_2;
}
if (spE4 > 0)
{
sp88 = &has_selected_char_player1;
sp80 = &mp_char_cur_select_player;
sp74 = &dword_CODE_bss_80069730;
sp70 = &mp_char_prev_select_player;
spE0 = 0;
loop_4:
if (spE4 == 2)
{
if (spE0 > 0)
{
phi_s2 = 0x26;
phi_s7 = 0xaa;
phi_s4 = 0x15e;
}
else
{
phi_s2 = 0x26;
phi_s7 = 0 + 0x1e;
phi_s4 = 0x15e;
}
}
else
{
if (spE0 >= 2)
{
phi_v1_4 = 0x8c;
}
else
{
phi_v1_4 = 0;
}
if ((spE0 & 1) != 0)
{
phi_v1_3 = 0xaf;
}
else
{
phi_v1_3 = 0;
}
phi_s2 = phi_v1_3 + 0x26;
phi_s7 = phi_v1_4 + 0x1e;
phi_s4 = 0xaf;
}
temp_t7 = phi_s2 + phi_s4;
temp_s1_2 = phi_v0 + 8;
phi_v0->unk0 = (s32) (((((s32) ((f32) (phi_s2 + 6) * 4.0f) & 0xfff) << 0xc) | 0xed000000) | ((s32) ((f32) (phi_s7 + 5) * 4.0f) & 0xfff));
sp8C = temp_t7;
phi_v0->unk4 = (s32) ((((s32) ((f32) (temp_t7 + -6) * 4.0f) & 0xfff) << 0xc) | ((s32) ((f32) (phi_s7 + 0x87) * 4.0f) & 0xfff));
phi_s1 = temp_s1_2;
if (*sp88 == 0)
{
phi_s1 = temp_s1_2;
if (subroutine_arg0 == 0)
{
temp_ret_3 = get_textptr_for_textID(TEXT(LTITLE, 0x55));
sub_GAME_7F0AE98C(&spBC, &spB8, temp_ret_3, ptrSecondFontTableLarge, (s32) ptrFirstFontTableLarge, 0);
spB4 = (s32) ((((s32) phi_s4 >> 1) + phi_s2) - (spB8 >> 1));
viGetX();
phi_s1 = write_text_at_abs_coord(microcode_constructor(temp_s1_2), &spB4, &spB0, temp_ret_3, (s32) ptrSecondFontTableLarge, (s32) ptrFirstFontTableLarge, 0xff, viGetY(), 0, 0);
}
}
temp_s6 = ((s32) phi_s4 >> 1) + phi_s2;
temp_ret_4 = get_textptr_for_textID((0x80030000 + (*sp80 * 0xc))->unk-4E68);
sub_GAME_7F0AE98C(&spA8, &spA4, temp_ret_4, ptrSecondFontTableLarge, (s32) ptrFirstFontTableLarge, 0);
sp9C = (s32) (phi_s7 + 0x78);
spA0 = (s32) (temp_s6 - (spA4 >> 1));
viGetX();
temp_s3 = phi_s2 + 0xd;
temp_s4 = sp8C + -0xe;
temp_ret_5 = sub_GAME_7F01231C(write_text_at_abs_coord(microcode_constructor(phi_s1), &spA0, &sp9C, temp_ret_4, (s32) ptrSecondFontTableLarge, (s32) ptrFirstFontTableLarge, 0xff, viGetY(), 0, 0), temp_s3, temp_s4, temp_s6 - *sp74, (s32) *sp70, (s32) subroutine_arg0);
temp_s1_3 = temp_ret_5;
if ((*sp88 != 0) || (subroutine_arg0 != 0))
{
phi_v0 = temp_ret_5;
phi_s1_7 = temp_s1_3;
if (*sp70 != *sp80)
{
block_21:
phi_s0 = *sp70;
phi_s1_2 = temp_s1_3;
phi_v0 = temp_ret_5;
if (*sp70 >= 3)
{
temp_ret_6 = sub_GAME_7F01231C(temp_s1_3, temp_s3, temp_s4, (temp_s6 - *sp74) + -0xfc, (s32) (*sp70 + -3), (s32) subroutine_arg0);
phi_s0 = *sp70;
phi_s1_2 = temp_ret_6;
phi_v0 = temp_ret_6;
}
phi_s0_2 = phi_s0;
phi_s1_3 = phi_s1_2;
if (phi_s0 >= 2)
{
temp_ret_7 = sub_GAME_7F01231C(phi_s1_2, temp_s3, temp_s4, (temp_s6 - *sp74) + -0xa8, (s32) (phi_s0 + -2), (s32) subroutine_arg0);
phi_s0_2 = *sp70;
phi_s1_3 = temp_ret_7;
phi_v0 = temp_ret_7;
}
phi_s0_3 = phi_s0_2;
phi_s1_4 = phi_s1_3;
if (phi_s0_2 > 0)
{
temp_ret_8 = sub_GAME_7F01231C(phi_s1_3, temp_s3, temp_s4, (temp_s6 - *sp74) + -0x54, (s32) (phi_s0_2 + -1), (s32) subroutine_arg0);
phi_s0_3 = *sp70;
phi_s1_4 = temp_ret_8;
phi_v0 = temp_ret_8;
}
phi_s0_4 = phi_s0_3;
phi_v1 = num_chars_selectable_mp;
phi_s1_5 = phi_s1_4;
if (phi_s0_3 < (num_chars_selectable_mp + -1))
{
temp_ret_9 = sub_GAME_7F01231C(phi_s1_4, temp_s3, temp_s4, (temp_s6 - *sp74) + 0x54, (s32) (phi_s0_3 + 1), (s32) subroutine_arg0);
phi_s0_4 = *sp70;
phi_v1 = num_chars_selectable_mp;
phi_s1_5 = temp_ret_9;
phi_v0 = temp_ret_9;
}
phi_s0_5 = phi_s0_4;
phi_v1_2 = phi_v1;
phi_s1_6 = phi_s1_5;
if (phi_s0_4 < (phi_v1 + -2))
{
temp_ret_10 = sub_GAME_7F01231C(phi_s1_5, temp_s3, temp_s4, (temp_s6 - *sp74) + 0xa8, (s32) (phi_s0_4 + 2), (s32) subroutine_arg0);
phi_s0_5 = *sp70;
phi_v1_2 = num_chars_selectable_mp;
phi_s1_6 = temp_ret_10;
phi_v0 = temp_ret_10;
}
phi_s1_7 = phi_s1_6;
if (phi_s0_5 < (phi_v1_2 + -3))
{
temp_ret_11 = sub_GAME_7F01231C(phi_s1_6, temp_s3, temp_s4, (temp_s6 - *sp74) + 0xfc, (s32) (phi_s0_5 + 3), (s32) subroutine_arg0);
phi_v0 = temp_ret_11;
phi_s1_7 = temp_ret_11;
}
}
}
else
{
goto block_21;
}
temp_t9 = spE0 + 1;
sp70 = (void *) (sp70 + 4);
sp74 = (void *) (sp74 + 4);
sp80 = (void *) (sp80 + 4);
spE0 = temp_t9;
sp88 = (void *) (sp88 + 4);
if (temp_t9 != spE4)
{
goto loop_4;
}
}
combiner_bayer_lod_perspective(phi_s1_7);
}
#else
GLOBAL_ASM(
.text
glabel constructor_menu0F_mpcharsel
/* 0472C4 7F012794 27BDFF18 */ addiu $sp, $sp, -0xe8
/* 0472C8 7F012798 AFBF0064 */ sw $ra, 0x64($sp)
/* 0472CC 7F01279C AFB10044 */ sw $s1, 0x44($sp)
/* 0472D0 7F0127A0 00808825 */ move $s1, $a0
/* 0472D4 7F0127A4 AFBE0060 */ sw $fp, 0x60($sp)
/* 0472D8 7F0127A8 AFB7005C */ sw $s7, 0x5c($sp)
/* 0472DC 7F0127AC AFB60058 */ sw $s6, 0x58($sp)
/* 0472E0 7F0127B0 AFB50054 */ sw $s5, 0x54($sp)
/* 0472E4 7F0127B4 AFB40050 */ sw $s4, 0x50($sp)
/* 0472E8 7F0127B8 AFB3004C */ sw $s3, 0x4c($sp)
/* 0472EC 7F0127BC AFB20048 */ sw $s2, 0x48($sp)
/* 0472F0 7F0127C0 AFB00040 */ sw $s0, 0x40($sp)
/* 0472F4 7F0127C4 0FC040A4 */ jal get_selected_num_players
/* 0472F8 7F0127C8 F7B40038 */ sdc1 $f20, 0x38($sp)
/* 0472FC 7F0127CC AFA200E4 */ sw $v0, 0xe4($sp)
/* 047300 7F0127D0 02202025 */ move $a0, $s1
/* 047304 7F0127D4 00002825 */ move $a1, $zero
/* 047308 7F0127D8 00003025 */ move $a2, $zero
/* 04730C 7F0127DC 0C0011B4 */ jal viSetFillColor
/* 047310 7F0127E0 00003825 */ move $a3, $zero
/* 047314 7F0127E4 0C000FBE */ jal viFillScreen
/* 047318 7F0127E8 00402025 */ move $a0, $v0
/* 04731C 7F0127EC 0FC0357A */ jal sub_GAME_7F00D5E8
/* 047320 7F0127F0 00402025 */ move $a0, $v0
/* 047324 7F0127F4 0FC2B366 */ jal microcode_constructor
/* 047328 7F0127F8 00402025 */ move $a0, $v0
/* 04732C 7F0127FC 240E00AB */ li $t6, 171
/* 047330 7F012800 240F0090 */ li $t7, 144
/* 047334 7F012804 AFAF0014 */ sw $t7, 0x14($sp)
/* 047338 7F012808 AFAE0010 */ sw $t6, 0x10($sp)
/* 04733C 7F01280C 00402025 */ move $a0, $v0
/* 047340 7F012810 24050026 */ li $a1, 38
/* 047344 7F012814 240600A9 */ li $a2, 169
/* 047348 7F012818 0FC2B405 */ jal microcode_constructor_related_to_menus
/* 04734C 7F01281C 24070184 */ li $a3, 388
/* 047350 7F012820 8FA800E4 */ lw $t0, 0xe4($sp)
/* 047354 7F012824 00408825 */ move $s1, $v0
/* 047358 7F012828 02202025 */ move $a0, $s1
/* 04735C 7F01282C 29010003 */ slti $at, $t0, 3
/* 047360 7F012830 1420000A */ bnez $at, .L7F01285C
/* 047364 7F012834 240500D4 */ li $a1, 212
/* 047368 7F012838 24180136 */ li $t8, 310
/* 04736C 7F01283C 24190080 */ li $t9, 128
/* 047370 7F012840 AFB90014 */ sw $t9, 0x14($sp)
/* 047374 7F012844 AFB80010 */ sw $t8, 0x10($sp)
/* 047378 7F012848 2406001E */ li $a2, 30
/* 04737C 7F01284C 0FC2B405 */ jal microcode_constructor_related_to_menus
/* 047380 7F012850 240700D6 */ li $a3, 214
/* 047384 7F012854 00408825 */ move $s1, $v0
/* 047388 7F012858 8FA800E4 */ lw $t0, 0xe4($sp)
.L7F01285C:
/* 04738C 7F01285C 19000165 */ blez $t0, .L7F012DF4
/* 047390 7F012860 3C098007 */ lui $t1, %hi(has_selected_char_player1)
/* 047394 7F012864 3C0A8007 */ lui $t2, %hi(mp_char_cur_select_player)
/* 047398 7F012868 3C0B8007 */ lui $t3, %hi(dword_CODE_bss_80069730)
/* 04739C 7F01286C 3C0C8007 */ lui $t4, %hi(mp_char_prev_select_player)
/* 0473A0 7F012870 3C014080 */ li $at, 0x40800000 # 4.000000
/* 0473A4 7F012874 258C9720 */ addiu $t4, %lo(mp_char_prev_select_player) # addiu $t4, $t4, -0x68e0
/* 0473A8 7F012878 256B9730 */ addiu $t3, %lo(dword_CODE_bss_80069730) # addiu $t3, $t3, -0x68d0
/* 0473AC 7F01287C 254A9710 */ addiu $t2, %lo(mp_char_cur_select_player) # addiu $t2, $t2, -0x68f0
/* 0473B0 7F012880 25299740 */ addiu $t1, %lo(has_selected_char_player1) # addiu $t1, $t1, -0x68c0
/* 0473B4 7F012884 3C1E8007 */ lui $fp, %hi(size_mp_select_image_player1)
/* 0473B8 7F012888 4481A000 */ mtc1 $at, $f20
/* 0473BC 7F01288C 27DE9750 */ addiu $fp, %lo(size_mp_select_image_player1) # addiu $fp, $fp, -0x68b0
/* 0473C0 7F012890 AFA90088 */ sw $t1, 0x88($sp)
/* 0473C4 7F012894 AFAA0080 */ sw $t2, 0x80($sp)
/* 0473C8 7F012898 AFAB0074 */ sw $t3, 0x74($sp)
/* 0473CC 7F01289C AFAC0070 */ sw $t4, 0x70($sp)
/* 0473D0 7F0128A0 AFA000E0 */ sw $zero, 0xe0($sp)
.L7F0128A4:
/* 0473D4 7F0128A4 8FA800E4 */ lw $t0, 0xe4($sp)
/* 0473D8 7F0128A8 8FA400E0 */ lw $a0, 0xe0($sp)
/* 0473DC 7F0128AC 24010002 */ li $at, 2
/* 0473E0 7F0128B0 15010009 */ bne $t0, $at, .L7F0128D8
/* 0473E4 7F0128B4 308D0001 */ andi $t5, $a0, 1
/* 0473E8 7F0128B8 24120026 */ li $s2, 38
/* 0473EC 7F0128BC 18800003 */ blez $a0, .L7F0128CC
/* 0473F0 7F0128C0 2414015E */ li $s4, 350
/* 0473F4 7F0128C4 10000010 */ b .L7F012908
/* 0473F8 7F0128C8 241700AA */ li $s7, 170
.L7F0128CC:
/* 0473FC 7F0128CC 00001825 */ move $v1, $zero
/* 047400 7F0128D0 1000000D */ b .L7F012908
/* 047404 7F0128D4 2477001E */ addiu $s7, $v1, 0x1e
.L7F0128D8:
/* 047408 7F0128D8 28810002 */ slti $at, $a0, 2
/* 04740C 7F0128DC 14200003 */ bnez $at, .L7F0128EC
/* 047410 7F0128E0 241400AF */ li $s4, 175
/* 047414 7F0128E4 10000002 */ b .L7F0128F0
/* 047418 7F0128E8 2403008C */ li $v1, 140
.L7F0128EC:
/* 04741C 7F0128EC 00001825 */ move $v1, $zero
.L7F0128F0:
/* 047420 7F0128F0 11A00003 */ beqz $t5, .L7F012900
/* 047424 7F0128F4 2477001E */ addiu $s7, $v1, 0x1e
/* 047428 7F0128F8 10000002 */ b .L7F012904
/* 04742C 7F0128FC 240300AF */ li $v1, 175
.L7F012900:
/* 047430 7F012900 00001825 */ move $v1, $zero
.L7F012904:
/* 047434 7F012904 24720026 */ addiu $s2, $v1, 0x26
.L7F012908:
/* 047438 7F012908 264E0006 */ addiu $t6, $s2, 6
/* 04743C 7F01290C 448E2000 */ mtc1 $t6, $f4
/* 047440 7F012910 26F00005 */ addiu $s0, $s7, 5
/* 047444 7F012914 44908000 */ mtc1 $s0, $f16
/* 047448 7F012918 468021A0 */ cvt.s.w $f6, $f4
/* 04744C 7F01291C 02547821 */ addu $t7, $s2, $s4
/* 047450 7F012920 3C01ED00 */ lui $at, 0xed00
/* 047454 7F012924 24510008 */ addiu $s1, $v0, 8
/* 047458 7F012928 468084A0 */ cvt.s.w $f18, $f16
/* 04745C 7F01292C 46143202 */ mul.s $f8, $f6, $f20
/* 047460 7F012930 4600428D */ trunc.w.s $f10, $f8
/* 047464 7F012934 46149102 */ mul.s $f4, $f18, $f20
/* 047468 7F012938 44185000 */ mfc1 $t8, $f10
/* 04746C 7F01293C 00000000 */ nop
/* 047470 7F012940 33190FFF */ andi $t9, $t8, 0xfff
/* 047474 7F012944 4600218D */ trunc.w.s $f6, $f4
/* 047478 7F012948 00194B00 */ sll $t1, $t9, 0xc
/* 04747C 7F01294C 25F9FFFA */ addiu $t9, $t7, -6
/* 047480 7F012950 44994000 */ mtc1 $t9, $f8
/* 047484 7F012954 440C3000 */ mfc1 $t4, $f6
/* 047488 7F012958 01215025 */ or $t2, $t1, $at
/* 04748C 7F01295C 468042A0 */ cvt.s.w $f10, $f8
/* 047490 7F012960 318D0FFF */ andi $t5, $t4, 0xfff
/* 047494 7F012964 014D7025 */ or $t6, $t2, $t5
/* 047498 7F012968 26ED0087 */ addiu $t5, $s7, 0x87
/* 04749C 7F01296C 448D2000 */ mtc1 $t5, $f4
/* 0474A0 7F012970 AC4E0000 */ sw $t6, ($v0)
/* 0474A4 7F012974 46145402 */ mul.s $f16, $f10, $f20
/* 0474A8 7F012978 AFAF008C */ sw $t7, 0x8c($sp)
/* 0474AC 7F01297C 468021A0 */ cvt.s.w $f6, $f4
/* 0474B0 7F012980 4600848D */ trunc.w.s $f18, $f16
/* 0474B4 7F012984 46143202 */ mul.s $f8, $f6, $f20
/* 0474B8 7F012988 440B9000 */ mfc1 $t3, $f18
/* 0474BC 7F01298C 00000000 */ nop
/* 0474C0 7F012990 316C0FFF */ andi $t4, $t3, 0xfff
/* 0474C4 7F012994 4600428D */ trunc.w.s $f10, $f8
/* 0474C8 7F012998 000C5300 */ sll $t2, $t4, 0xc
/* 0474CC 7F01299C 440F5000 */ mfc1 $t7, $f10
/* 0474D0 7F0129A0 00000000 */ nop
/* 0474D4 7F0129A4 31F80FFF */ andi $t8, $t7, 0xfff
/* 0474D8 7F0129A8 0158C825 */ or $t9, $t2, $t8
/* 0474DC 7F0129AC AC590004 */ sw $t9, 4($v0)
/* 0474E0 7F0129B0 8FA90088 */ lw $t1, 0x88($sp)
/* 0474E4 7F0129B4 AFA400E0 */ sw $a0, 0xe0($sp)
/* 0474E8 7F0129B8 8D2B0000 */ lw $t3, ($t1)
/* 0474EC 7F0129BC 55600034 */ bnezl $t3, .L7F012A90
/* 0474F0 7F0129C0 8FAE0080 */ lw $t6, 0x80($sp)
/* 0474F4 7F0129C4 8FCC0000 */ lw $t4, ($fp)
/* 0474F8 7F0129C8 AFA400E0 */ sw $a0, 0xe0($sp)
/* 0474FC 7F0129CC 55800030 */ bnezl $t4, .L7F012A90
/* 047500 7F0129D0 8FAE0080 */ lw $t6, 0x80($sp)
/* 047504 7F0129D4 0FC30776 */ jal get_textptr_for_textID
/* 047508 7F0129D8 34049C55 */ li $a0, 40021
/* 04750C 7F0129DC 3C0D8004 */ lui $t5, %hi(ptrFirstFontTableLarge)
/* 047510 7F0129E0 8DAD0EB4 */ lw $t5, %lo(ptrFirstFontTableLarge)($t5)
/* 047514 7F0129E4 3C078004 */ lui $a3, %hi(ptrSecondFontTableLarge)
/* 047518 7F0129E8 00409825 */ move $s3, $v0
/* 04751C 7F0129EC 8CE70EB8 */ lw $a3, %lo(ptrSecondFontTableLarge)($a3)
/* 047520 7F0129F0 27A400BC */ addiu $a0, $sp, 0xbc
/* 047524 7F0129F4 27A500B8 */ addiu $a1, $sp, 0xb8
/* 047528 7F0129F8 00403025 */ move $a2, $v0
/* 04752C 7F0129FC AFA00014 */ sw $zero, 0x14($sp)
/* 047530 7F012A00 0FC2BA63 */ jal sub_GAME_7F0AE98C
/* 047534 7F012A04 AFAD0010 */ sw $t5, 0x10($sp)
/* 047538 7F012A08 8FAA00B8 */ lw $t2, 0xb8($sp)
/* 04753C 7F012A0C 00147043 */ sra $t6, $s4, 1
/* 047540 7F012A10 01D27821 */ addu $t7, $t6, $s2
/* 047544 7F012A14 000AC043 */ sra $t8, $t2, 1
/* 047548 7F012A18 01F8C823 */ subu $t9, $t7, $t8
/* 04754C 7F012A1C AFB900B4 */ sw $t9, 0xb4($sp)
/* 047550 7F012A20 AFB000B0 */ sw $s0, 0xb0($sp)
/* 047554 7F012A24 0FC2B366 */ jal microcode_constructor
/* 047558 7F012A28 02202025 */ move $a0, $s1
/* 04755C 7F012A2C 0C001107 */ jal viGetX
/* 047560 7F012A30 00408825 */ move $s1, $v0
/* 047564 7F012A34 00028400 */ sll $s0, $v0, 0x10
/* 047568 7F012A38 00104C03 */ sra $t1, $s0, 0x10
/* 04756C 7F012A3C 0C00110B */ jal viGetY
/* 047570 7F012A40 01208025 */ move $s0, $t1
/* 047574 7F012A44 3C0B8004 */ lui $t3, %hi(ptrSecondFontTableLarge)
/* 047578 7F012A48 3C0C8004 */ lui $t4, %hi(ptrFirstFontTableLarge)
/* 04757C 7F012A4C 8D8C0EB4 */ lw $t4, %lo(ptrFirstFontTableLarge)($t4)
/* 047580 7F012A50 8D6B0EB8 */ lw $t3, %lo(ptrSecondFontTableLarge)($t3)
/* 047584 7F012A54 240D00FF */ li $t5, 255
/* 047588 7F012A58 AFAD0018 */ sw $t5, 0x18($sp)
/* 04758C 7F012A5C 02202025 */ move $a0, $s1
/* 047590 7F012A60 27A500B4 */ addiu $a1, $sp, 0xb4
/* 047594 7F012A64 27A600B0 */ addiu $a2, $sp, 0xb0
/* 047598 7F012A68 02603825 */ move $a3, $s3
/* 04759C 7F012A6C AFB0001C */ sw $s0, 0x1c($sp)
/* 0475A0 7F012A70 AFA20020 */ sw $v0, 0x20($sp)
/* 0475A4 7F012A74 AFA00024 */ sw $zero, 0x24($sp)
/* 0475A8 7F012A78 AFA00028 */ sw $zero, 0x28($sp)
/* 0475AC 7F012A7C AFAC0014 */ sw $t4, 0x14($sp)
/* 0475B0 7F012A80 0FC025D8 */ jal write_text_at_abs_coord
/* 0475B4 7F012A84 AFAB0010 */ sw $t3, 0x10($sp)
/* 0475B8 7F012A88 00408825 */ move $s1, $v0
/* 0475BC 7F012A8C 8FAE0080 */ lw $t6, 0x80($sp)
.L7F012A90:
/* 0475C0 7F012A90 3C048003 */ lui $a0, %hi(mp_chr_setup)
/* 0475C4 7F012A94 0014C043 */ sra $t8, $s4, 1
/* 0475C8 7F012A98 8DCA0000 */ lw $t2, ($t6)
/* 0475CC 7F012A9C 0312B021 */ addu $s6, $t8, $s2
/* 0475D0 7F012AA0 000A7880 */ sll $t7, $t2, 2
/* 0475D4 7F012AA4 01EA7823 */ subu $t7, $t7, $t2
/* 0475D8 7F012AA8 000F7880 */ sll $t7, $t7, 2
/* 0475DC 7F012AAC 008F2021 */ addu $a0, $a0, $t7
/* 0475E0 7F012AB0 0FC30776 */ jal get_textptr_for_textID
/* 0475E4 7F012AB4 9484B198 */ lhu $a0, %lo(mp_chr_setup)($a0)
/* 0475E8 7F012AB8 3C198004 */ lui $t9, %hi(ptrFirstFontTableLarge)
/* 0475EC 7F012ABC 8F390EB4 */ lw $t9, %lo(ptrFirstFontTableLarge)($t9)
/* 0475F0 7F012AC0 3C078004 */ lui $a3, %hi(ptrSecondFontTableLarge)
/* 0475F4 7F012AC4 00409825 */ move $s3, $v0
/* 0475F8 7F012AC8 8CE70EB8 */ lw $a3, %lo(ptrSecondFontTableLarge)($a3)
/* 0475FC 7F012ACC 27A400A8 */ addiu $a0, $sp, 0xa8
/* 047600 7F012AD0 27A500A4 */ addiu $a1, $sp, 0xa4
/* 047604 7F012AD4 00403025 */ move $a2, $v0
/* 047608 7F012AD8 AFA00014 */ sw $zero, 0x14($sp)
/* 04760C 7F012ADC 0FC2BA63 */ jal sub_GAME_7F0AE98C
/* 047610 7F012AE0 AFB90010 */ sw $t9, 0x10($sp)
/* 047614 7F012AE4 8FA900A4 */ lw $t1, 0xa4($sp)
/* 047618 7F012AE8 26ED0078 */ addiu $t5, $s7, 0x78
/* 04761C 7F012AEC AFAD009C */ sw $t5, 0x9c($sp)
/* 047620 7F012AF0 00095843 */ sra $t3, $t1, 1
/* 047624 7F012AF4 02CB6023 */ subu $t4, $s6, $t3
/* 047628 7F012AF8 AFAC00A0 */ sw $t4, 0xa0($sp)
/* 04762C 7F012AFC 0FC2B366 */ jal microcode_constructor
/* 047630 7F012B00 02202025 */ move $a0, $s1
/* 047634 7F012B04 0C001107 */ jal viGetX
/* 047638 7F012B08 00408825 */ move $s1, $v0
/* 04763C 7F012B0C 00028400 */ sll $s0, $v0, 0x10
/* 047640 7F012B10 00107403 */ sra $t6, $s0, 0x10
/* 047644 7F012B14 0C00110B */ jal viGetY
/* 047648 7F012B18 01C08025 */ move $s0, $t6
/* 04764C 7F012B1C 3C0A8004 */ lui $t2, %hi(ptrSecondFontTableLarge)
/* 047650 7F012B20 3C0F8004 */ lui $t7, %hi(ptrFirstFontTableLarge)
/* 047654 7F012B24 8DEF0EB4 */ lw $t7, %lo(ptrFirstFontTableLarge)($t7)
/* 047658 7F012B28 8D4A0EB8 */ lw $t2, %lo(ptrSecondFontTableLarge)($t2)
/* 04765C 7F012B2C 241800FF */ li $t8, 255
/* 047660 7F012B30 AFB80018 */ sw $t8, 0x18($sp)
/* 047664 7F012B34 02202025 */ move $a0, $s1
/* 047668 7F012B38 27A500A0 */ addiu $a1, $sp, 0xa0
/* 04766C 7F012B3C 27A6009C */ addiu $a2, $sp, 0x9c
/* 047670 7F012B40 02603825 */ move $a3, $s3
/* 047674 7F012B44 AFB0001C */ sw $s0, 0x1c($sp)
/* 047678 7F012B48 AFA20020 */ sw $v0, 0x20($sp)
/* 04767C 7F012B4C AFA00024 */ sw $zero, 0x24($sp)
/* 047680 7F012B50 AFA00028 */ sw $zero, 0x28($sp)
/* 047684 7F012B54 AFAF0014 */ sw $t7, 0x14($sp)
/* 047688 7F012B58 0FC025D8 */ jal write_text_at_abs_coord
/* 04768C 7F012B5C AFAA0010 */ sw $t2, 0x10($sp)
/* 047690 7F012B60 8FB90074 */ lw $t9, 0x74($sp)
/* 047694 7F012B64 8FAB0070 */ lw $t3, 0x70($sp)
/* 047698 7F012B68 8FB4008C */ lw $s4, 0x8c($sp)
/* 04769C 7F012B6C 8F290000 */ lw $t1, ($t9)
/* 0476A0 7F012B70 26F50046 */ addiu $s5, $s7, 0x46
/* 0476A4 7F012B74 AFB50010 */ sw $s5, 0x10($sp)
/* 0476A8 7F012B78 8FCD0000 */ lw $t5, ($fp)
/* 0476AC 7F012B7C 8D6C0000 */ lw $t4, ($t3)
/* 0476B0 7F012B80 2653000D */ addiu $s3, $s2, 0xd
/* 0476B4 7F012B84 2694FFF2 */ addiu $s4, $s4, -0xe
/* 0476B8 7F012B88 02803025 */ move $a2, $s4
/* 0476BC 7F012B8C 02602825 */ move $a1, $s3
/* 0476C0 7F012B90 00402025 */ move $a0, $v0
/* 0476C4 7F012B94 02C93823 */ subu $a3, $s6, $t1
/* 0476C8 7F012B98 AFAD0018 */ sw $t5, 0x18($sp)
/* 0476CC 7F012B9C 0FC048C7 */ jal sub_GAME_7F01231C
/* 0476D0 7F012BA0 AFAC0014 */ sw $t4, 0x14($sp)
/* 0476D4 7F012BA4 8FAE0088 */ lw $t6, 0x88($sp)
/* 0476D8 7F012BA8 00408825 */ move $s1, $v0
/* 0476DC 7F012BAC 8FB80070 */ lw $t8, 0x70($sp)
/* 0476E0 7F012BB0 8DCA0000 */ lw $t2, ($t6)
/* 0476E4 7F012BB4 8FA90080 */ lw $t1, 0x80($sp)
/* 0476E8 7F012BB8 55400005 */ bnezl $t2, .L7F012BD0
/* 0476EC 7F012BBC 8F190000 */ lw $t9, ($t8)
/* 0476F0 7F012BC0 8FCF0000 */ lw $t7, ($fp)
/* 0476F4 7F012BC4 51E00006 */ beql $t7, $zero, .L7F012BE0
/* 0476F8 7F012BC8 8FAC0070 */ lw $t4, 0x70($sp)
/* 0476FC 7F012BCC 8F190000 */ lw $t9, ($t8)
.L7F012BD0:
/* 047700 7F012BD0 8D2B0000 */ lw $t3, ($t1)
/* 047704 7F012BD4 532B0076 */ beql $t9, $t3, .L7F012DB0
/* 047708 7F012BD8 8FAB0088 */ lw $t3, 0x88($sp)
/* 04770C 7F012BDC 8FAC0070 */ lw $t4, 0x70($sp)
.L7F012BE0:
/* 047710 7F012BE0 02202025 */ move $a0, $s1
/* 047714 7F012BE4 02602825 */ move $a1, $s3
/* 047718 7F012BE8 8D900000 */ lw $s0, ($t4)
/* 04771C 7F012BEC 02803025 */ move $a2, $s4
/* 047720 7F012BF0 8FAD0074 */ lw $t5, 0x74($sp)
/* 047724 7F012BF4 2A010003 */ slti $at, $s0, 3
/* 047728 7F012BF8 1420000C */ bnez $at, .L7F012C2C
/* 04772C 7F012BFC 260AFFFD */ addiu $t2, $s0, -3
/* 047730 7F012C00 8DAE0000 */ lw $t6, ($t5)
/* 047734 7F012C04 8FCF0000 */ lw $t7, ($fp)
/* 047738 7F012C08 AFAA0014 */ sw $t2, 0x14($sp)
/* 04773C 7F012C0C 02CE3823 */ subu $a3, $s6, $t6
/* 047740 7F012C10 24E7FF04 */ addiu $a3, $a3, -0xfc
/* 047744 7F012C14 AFB50010 */ sw $s5, 0x10($sp)
/* 047748 7F012C18 0FC048C7 */ jal sub_GAME_7F01231C
/* 04774C 7F012C1C AFAF0018 */ sw $t7, 0x18($sp)
/* 047750 7F012C20 8FB80070 */ lw $t8, 0x70($sp)
/* 047754 7F012C24 00408825 */ move $s1, $v0
/* 047758 7F012C28 8F100000 */ lw $s0, ($t8)
.L7F012C2C:
/* 04775C 7F012C2C 2A010002 */ slti $at, $s0, 2
/* 047760 7F012C30 14200010 */ bnez $at, .L7F012C74
/* 047764 7F012C34 02202025 */ move $a0, $s1
/* 047768 7F012C38 8FA90074 */ lw $t1, 0x74($sp)
/* 04776C 7F012C3C 8FCC0000 */ lw $t4, ($fp)
/* 047770 7F012C40 260BFFFE */ addiu $t3, $s0, -2
/* 047774 7F012C44 8D390000 */ lw $t9, ($t1)
/* 047778 7F012C48 AFAB0014 */ sw $t3, 0x14($sp)
/* 04777C 7F012C4C AFB50010 */ sw $s5, 0x10($sp)
/* 047780 7F012C50 02D93823 */ subu $a3, $s6, $t9
/* 047784 7F012C54 24E7FF58 */ addiu $a3, $a3, -0xa8
/* 047788 7F012C58 02602825 */ move $a1, $s3
/* 04778C 7F012C5C 02803025 */ move $a2, $s4
/* 047790 7F012C60 0FC048C7 */ jal sub_GAME_7F01231C
/* 047794 7F012C64 AFAC0018 */ sw $t4, 0x18($sp)
/* 047798 7F012C68 8FAD0070 */ lw $t5, 0x70($sp)
/* 04779C 7F012C6C 00408825 */ move $s1, $v0
/* 0477A0 7F012C70 8DB00000 */ lw $s0, ($t5)
.L7F012C74:
/* 0477A4 7F012C74 1A000010 */ blez $s0, .L7F012CB8
/* 0477A8 7F012C78 02202025 */ move $a0, $s1
/* 0477AC 7F012C7C 8FAE0074 */ lw $t6, 0x74($sp)
/* 0477B0 7F012C80 8FD80000 */ lw $t8, ($fp)
/* 0477B4 7F012C84 260FFFFF */ addiu $t7, $s0, -1
/* 0477B8 7F012C88 8DCA0000 */ lw $t2, ($t6)
/* 0477BC 7F012C8C AFAF0014 */ sw $t7, 0x14($sp)
/* 0477C0 7F012C90 AFB50010 */ sw $s5, 0x10($sp)
/* 0477C4 7F012C94 02CA3823 */ subu $a3, $s6, $t2
/* 0477C8 7F012C98 24E7FFAC */ addiu $a3, $a3, -0x54
/* 0477CC 7F012C9C 02602825 */ move $a1, $s3
/* 0477D0 7F012CA0 02803025 */ move $a2, $s4
/* 0477D4 7F012CA4 0FC048C7 */ jal sub_GAME_7F01231C
/* 0477D8 7F012CA8 AFB80018 */ sw $t8, 0x18($sp)
/* 0477DC 7F012CAC 8FA90070 */ lw $t1, 0x70($sp)
/* 0477E0 7F012CB0 00408825 */ move $s1, $v0
/* 0477E4 7F012CB4 8D300000 */ lw $s0, ($t1)
.L7F012CB8:
/* 0477E8 7F012CB8 3C038003 */ lui $v1, %hi(num_chars_selectable_mp)
/* 0477EC 7F012CBC 8C63B194 */ lw $v1, %lo(num_chars_selectable_mp)($v1)
/* 0477F0 7F012CC0 02202025 */ move $a0, $s1
/* 0477F4 7F012CC4 02602825 */ move $a1, $s3
/* 0477F8 7F012CC8 2479FFFF */ addiu $t9, $v1, -1
/* 0477FC 7F012CCC 0219082A */ slt $at, $s0, $t9
/* 047800 7F012CD0 10200010 */ beqz $at, .L7F012D14
/* 047804 7F012CD4 02803025 */ move $a2, $s4
/* 047808 7F012CD8 8FAB0074 */ lw $t3, 0x74($sp)
/* 04780C 7F012CDC 8FCE0000 */ lw $t6, ($fp)
/* 047810 7F012CE0 260D0001 */ addiu $t5, $s0, 1
/* 047814 7F012CE4 8D6C0000 */ lw $t4, ($t3)
/* 047818 7F012CE8 AFAD0014 */ sw $t5, 0x14($sp)
/* 04781C 7F012CEC AFB50010 */ sw $s5, 0x10($sp)
/* 047820 7F012CF0 02CC3823 */ subu $a3, $s6, $t4
/* 047824 7F012CF4 24E70054 */ addiu $a3, $a3, 0x54
/* 047828 7F012CF8 0FC048C7 */ jal sub_GAME_7F01231C
/* 04782C 7F012CFC AFAE0018 */ sw $t6, 0x18($sp)
/* 047830 7F012D00 8FAA0070 */ lw $t2, 0x70($sp)
/* 047834 7F012D04 3C038003 */ lui $v1, %hi(num_chars_selectable_mp)
/* 047838 7F012D08 8C63B194 */ lw $v1, %lo(num_chars_selectable_mp)($v1)
/* 04783C 7F012D0C 00408825 */ move $s1, $v0
/* 047840 7F012D10 8D500000 */ lw $s0, ($t2)
.L7F012D14:
/* 047844 7F012D14 246FFFFE */ addiu $t7, $v1, -2
/* 047848 7F012D18 020F082A */ slt $at, $s0, $t7
/* 04784C 7F012D1C 10200012 */ beqz $at, .L7F012D68
/* 047850 7F012D20 02202025 */ move $a0, $s1
/* 047854 7F012D24 8FB80074 */ lw $t8, 0x74($sp)
/* 047858 7F012D28 8FCB0000 */ lw $t3, ($fp)
/* 04785C 7F012D2C 26190002 */ addiu $t9, $s0, 2
/* 047860 7F012D30 8F090000 */ lw $t1, ($t8)
/* 047864 7F012D34 AFB90014 */ sw $t9, 0x14($sp)
/* 047868 7F012D38 AFB50010 */ sw $s5, 0x10($sp)
/* 04786C 7F012D3C 02C93823 */ subu $a3, $s6, $t1
/* 047870 7F012D40 24E700A8 */ addiu $a3, $a3, 0xa8
/* 047874 7F012D44 02602825 */ move $a1, $s3
/* 047878 7F012D48 02803025 */ move $a2, $s4
/* 04787C 7F012D4C 0FC048C7 */ jal sub_GAME_7F01231C
/* 047880 7F012D50 AFAB0018 */ sw $t3, 0x18($sp)
/* 047884 7F012D54 8FAC0070 */ lw $t4, 0x70($sp)
/* 047888 7F012D58 3C038003 */ lui $v1, %hi(num_chars_selectable_mp)
/* 04788C 7F012D5C 8C63B194 */ lw $v1, %lo(num_chars_selectable_mp)($v1)
/* 047890 7F012D60 00408825 */ move $s1, $v0
/* 047894 7F012D64 8D900000 */ lw $s0, ($t4)
.L7F012D68:
/* 047898 7F012D68 246DFFFD */ addiu $t5, $v1, -3
/* 04789C 7F012D6C 020D082A */ slt $at, $s0, $t5
/* 0478A0 7F012D70 1020000E */ beqz $at, .L7F012DAC
/* 0478A4 7F012D74 02202025 */ move $a0, $s1
/* 0478A8 7F012D78 8FAE0074 */ lw $t6, 0x74($sp)
/* 0478AC 7F012D7C 8FD80000 */ lw $t8, ($fp)
/* 0478B0 7F012D80 260F0003 */ addiu $t7, $s0, 3
/* 0478B4 7F012D84 8DCA0000 */ lw $t2, ($t6)
/* 0478B8 7F012D88 AFAF0014 */ sw $t7, 0x14($sp)
/* 0478BC 7F012D8C AFB50010 */ sw $s5, 0x10($sp)
/* 0478C0 7F012D90 02CA3823 */ subu $a3, $s6, $t2
/* 0478C4 7F012D94 24E700FC */ addiu $a3, $a3, 0xfc
/* 0478C8 7F012D98 02602825 */ move $a1, $s3
/* 0478CC 7F012D9C 02803025 */ move $a2, $s4
/* 0478D0 7F012DA0 0FC048C7 */ jal sub_GAME_7F01231C
/* 0478D4 7F012DA4 AFB80018 */ sw $t8, 0x18($sp)
/* 0478D8 7F012DA8 00408825 */ move $s1, $v0
.L7F012DAC:
/* 0478DC 7F012DAC 8FAB0088 */ lw $t3, 0x88($sp)
.L7F012DB0:
/* 0478E0 7F012DB0 8FA900E0 */ lw $t1, 0xe0($sp)
/* 0478E4 7F012DB4 8FAD0080 */ lw $t5, 0x80($sp)
/* 0478E8 7F012DB8 8FAA0074 */ lw $t2, 0x74($sp)
/* 0478EC 7F012DBC 8FB80070 */ lw $t8, 0x70($sp)
/* 0478F0 7F012DC0 256C0004 */ addiu $t4, $t3, 4
/* 0478F4 7F012DC4 8FAB00E4 */ lw $t3, 0xe4($sp)
/* 0478F8 7F012DC8 25390001 */ addiu $t9, $t1, 1
/* 0478FC 7F012DCC 25AE0004 */ addiu $t6, $t5, 4
/* 047900 7F012DD0 254F0004 */ addiu $t7, $t2, 4
/* 047904 7F012DD4 27090004 */ addiu $t1, $t8, 4
/* 047908 7F012DD8 AFA90070 */ sw $t1, 0x70($sp)
/* 04790C 7F012DDC AFAF0074 */ sw $t7, 0x74($sp)
/* 047910 7F012DE0 AFAE0080 */ sw $t6, 0x80($sp)
/* 047914 7F012DE4 AFB900E0 */ sw $t9, 0xe0($sp)
/* 047918 7F012DE8 AFAC0088 */ sw $t4, 0x88($sp)
/* 04791C 7F012DEC 172BFEAD */ bne $t9, $t3, .L7F0128A4
/* 047920 7F012DF0 27DE0004 */ addiu $fp, $fp, 4
.L7F012DF4:
/* 047924 7F012DF4 0FC2B3BC */ jal combiner_bayer_lod_perspective
/* 047928 7F012DF8 02202025 */ move $a0, $s1
/* 04792C 7F012DFC 8FBF0064 */ lw $ra, 0x64($sp)
/* 047930 7F012E00 D7B40038 */ ldc1 $f20, 0x38($sp)
/* 047934 7F012E04 8FB00040 */ lw $s0, 0x40($sp)
/* 047938 7F012E08 8FB10044 */ lw $s1, 0x44($sp)
/* 04793C 7F012E0C 8FB20048 */ lw $s2, 0x48($sp)
/* 047940 7F012E10 8FB3004C */ lw $s3, 0x4c($sp)
/* 047944 7F012E14 8FB40050 */ lw $s4, 0x50($sp)
/* 047948 7F012E18 8FB50054 */ lw $s5, 0x54($sp)
/* 04794C 7F012E1C 8FB60058 */ lw $s6, 0x58($sp)
/* 047950 7F012E20 8FB7005C */ lw $s7, 0x5c($sp)
/* 047954 7F012E24 8FBE0060 */ lw $fp, 0x60($sp)
/* 047958 7F012E28 03E00008 */ jr $ra
/* 04795C 7F012E2C 27BD00E8 */ addiu $sp, $sp, 0xe8
)
#endif
void init_menu10_mphandicap(void)
{
tab_1_selected = FALSE;
tab_2_selected = FALSE;
tab_3_selected = FALSE;
tab_3_highlight = FALSE;
tab_2_highlight = FALSE;
tab_1_highlight = FALSE;
has_selected_char_player1 = FALSE;
dword_CODE_bss_80069760 = 0;
has_selected_char_player2 = FALSE;
dword_CODE_bss_80069764 = 0;
has_selected_char_player3 = FALSE;
dword_CODE_bss_80069768 = 0;
has_selected_char_player4 = FALSE;
dword_CODE_bss_8006976C = 0;
load_walletbond();
}
void update_menu10_mphandicap(void) {
return;
}
#ifdef NONMATCHING
void interface_menu10_mphandicap(void)
{
s32 sp44;
s32 temp_s3;
s32 temp_t9;
void *temp_s2;
void *temp_v0;
void *temp_v0_2;
void *phi_s1;
s32 phi_s3;
s32 phi_s4;
s32 phi_fp;
s32 phi_fp_2;
sp44 = get_selected_num_players();
viSetFovY(0x42700000);
viSetAspect(D_80051A90);
viSetZRange(0x42c80000, D_80051A94);
viSetUseZBuf(0);
phi_fp = 0;
if (sp44 > 0)
{
phi_s1 = &has_selected_char_player1;
phi_s3 = 0;
phi_s4 = 0;
phi_fp_2 = 0;
loop_2:
if (*phi_s1 != 0)
{
if (joyGetButtonsPressedThisFrame((s32) (phi_s3 << 0x18) >> 0x18, 0x4000) != 0)
{
*phi_s1 = 0;
play_sfx_a1(g_musicSfxBufferPtr, 0xc7, 0);
}
}
temp_t9 = (s32) (phi_s3 << 0x18) >> 0x18;
if (*phi_s1 == 0)
{
temp_s2 = phi_s4 + &handicap_player1;
if ((joyGetButtonsPressedThisFrame((s32) (temp_t9 << 0x18) >> 0x18, 0x202) == 0) && (joyGetStickXInRange((s32) (temp_t9 << 0x18) >> 0x18, -2, 1) < -1))
{
if ((*temp_s2 != 0) && (*temp_v0 > 0))
{
block_10:
*temp_v0 = (s32) (*temp_v0 + -1);
}
else
{
if ((joyGetButtonsPressedThisFrame((s32) (temp_t9 << 0x18) >> 0x18, 0x101) == 0) && (joyGetStickXInRange((s32) (temp_t9 << 0x18) >> 0x18, -2, 1) > 0))
{
if ((*temp_s2 != 0) && (*temp_v0_2 < 0xa))
{
block_15:
*temp_v0_2 = (s32) (*temp_v0_2 + 1);
}
else
{
if (joyGetButtonsPressedThisFrame((s32) (temp_t9 << 0x18) >> 0x18, 0xb000) != 0)
{
*phi_s1 = 1;
play_sfx_a1(g_musicSfxBufferPtr, 0xc7, 0);
}
}
}
else
{
temp_v0_2 = &handicap_player1 + phi_s4;
if (*temp_v0_2 < 0xa)
{
goto block_15;
}
}
}
}
else
{
temp_v0 = &handicap_player1 + phi_s4;
if (*temp_v0 > 0)
{
goto block_10;
}
}
if ((joyGetStickXInRange((s32) (temp_t9 << 0x18) >> 0x18, -2, 1) == -1) || (joyGetStickXInRange((s32) (temp_t9 << 0x18) >> 0x18, -2, 1) == 0))
{
*temp_s2 = 1;
}
else
{
*temp_s2 = 0;
}
}
if (*phi_s1 != 0)
{
}
temp_s3 = phi_s3 + 1;
phi_s1 = phi_s1 + 4;
phi_s3 = temp_s3;
phi_s4 = phi_s4 + 4;
phi_fp = phi_fp_2;
phi_fp_2 = phi_fp_2;
if (temp_s3 != sp44)
{
goto loop_2;
}
}
disable_all_switches(ptr_folder_object_instance);
set_item_visibility_in_objinstance(ptr_folder_object_instance, 0, 1);
set_item_visibility_in_objinstance(ptr_folder_object_instance, 0x2a, 1);
menu_control_stick_tracking();
if (phi_fp == sp44)
{
set_menu_to_mode(MENU_MP_OPTIONS, 0);
}
}
#else
GLOBAL_ASM(
.late_rodata
glabel D_80051A90
.word 0x3FAAAAAB /*1.3333334;*/
glabel D_80051A94
.word 0x461C4000 /*10000.0;*/
.text
glabel interface_menu10_mphandicap
/* 0479F4 7F012EC4 27BDFFB8 */ addiu $sp, $sp, -0x48
/* 0479F8 7F012EC8 AFBF003C */ sw $ra, 0x3c($sp)
/* 0479FC 7F012ECC AFBE0038 */ sw $fp, 0x38($sp)
/* 047A00 7F012ED0 AFB70034 */ sw $s7, 0x34($sp)
/* 047A04 7F012ED4 AFB60030 */ sw $s6, 0x30($sp)
/* 047A08 7F012ED8 AFB5002C */ sw $s5, 0x2c($sp)
/* 047A0C 7F012EDC AFB40028 */ sw $s4, 0x28($sp)
/* 047A10 7F012EE0 AFB30024 */ sw $s3, 0x24($sp)
/* 047A14 7F012EE4 AFB20020 */ sw $s2, 0x20($sp)
/* 047A18 7F012EE8 AFB1001C */ sw $s1, 0x1c($sp)
/* 047A1C 7F012EEC 0FC040A4 */ jal get_selected_num_players
/* 047A20 7F012EF0 AFB00018 */ sw $s0, 0x18($sp)
/* 047A24 7F012EF4 3C014270 */ li $at, 0x42700000 # 60.000000
/* 047A28 7F012EF8 44816000 */ mtc1 $at, $f12
/* 047A2C 7F012EFC AFA20044 */ sw $v0, 0x44($sp)
/* 047A30 7F012F00 0C001151 */ jal viSetFovY
/* 047A34 7F012F04 0000F025 */ move $fp, $zero
/* 047A38 7F012F08 3C018005 */ lui $at, %hi(D_80051A90)
/* 047A3C 7F012F0C 0C001164 */ jal viSetAspect
/* 047A40 7F012F10 C42C1A90 */ lwc1 $f12, %lo(D_80051A90)($at)
/* 047A44 7F012F14 3C0142C8 */ li $at, 0x42C80000 # 100.000000
/* 047A48 7F012F18 44816000 */ mtc1 $at, $f12
/* 047A4C 7F012F1C 3C018005 */ lui $at, %hi(D_80051A94)
/* 047A50 7F012F20 0C001194 */ jal viSetZRange
/* 047A54 7F012F24 C42E1A94 */ lwc1 $f14, %lo(D_80051A94)($at)
/* 047A58 7F012F28 0C00114D */ jal viSetUseZBuf
/* 047A5C 7F012F2C 00002025 */ move $a0, $zero
/* 047A60 7F012F30 8FAE0044 */ lw $t6, 0x44($sp)
/* 047A64 7F012F34 00009825 */ move $s3, $zero
/* 047A68 7F012F38 0000A025 */ move $s4, $zero
/* 047A6C 7F012F3C 19C0006F */ blez $t6, .L7F0130FC
/* 047A70 7F012F40 3C118007 */ lui $s1, %hi(has_selected_char_player1)
/* 047A74 7F012F44 3C168007 */ lui $s6, %hi(handicap_player1)
/* 047A78 7F012F48 3C158006 */ lui $s5, %hi(g_musicSfxBufferPtr)
/* 047A7C 7F012F4C 26B53720 */ addiu $s5, %lo(g_musicSfxBufferPtr) # addiu $s5, $s5, 0x3720
/* 047A80 7F012F50 26D697A8 */ addiu $s6, %lo(handicap_player1) # addiu $s6, $s6, -0x6858
/* 047A84 7F012F54 26319740 */ addiu $s1, %lo(has_selected_char_player1) # addiu $s1, $s1, -0x68c0
/* 047A88 7F012F58 24170001 */ li $s7, 1
.L7F012F5C:
/* 047A8C 7F012F5C 8E2F0000 */ lw $t7, ($s1)
/* 047A90 7F012F60 00132600 */ sll $a0, $s3, 0x18
/* 047A94 7F012F64 0004C603 */ sra $t8, $a0, 0x18
/* 047A98 7F012F68 11E00009 */ beqz $t7, .L7F012F90
/* 047A9C 7F012F6C 03002025 */ move $a0, $t8
/* 047AA0 7F012F70 0C0030EB */ jal joyGetButtonsPressedThisFrame
/* 047AA4 7F012F74 24054000 */ li $a1, 16384
/* 047AA8 7F012F78 10400005 */ beqz $v0, .L7F012F90
/* 047AAC 7F012F7C 240500C7 */ li $a1, 199
/* 047AB0 7F012F80 AE200000 */ sw $zero, ($s1)
/* 047AB4 7F012F84 8EA40000 */ lw $a0, ($s5)
/* 047AB8 7F012F88 0C002382 */ jal play_sfx_a1
/* 047ABC 7F012F8C 00003025 */ move $a2, $zero
.L7F012F90:
/* 047AC0 7F012F90 8E220000 */ lw $v0, ($s1)
/* 047AC4 7F012F94 00138600 */ sll $s0, $s3, 0x18
/* 047AC8 7F012F98 0010CE03 */ sra $t9, $s0, 0x18
/* 047ACC 7F012F9C 14400050 */ bnez $v0, .L7F0130E0
/* 047AD0 7F012FA0 03208025 */ move $s0, $t9
/* 047AD4 7F012FA4 00192600 */ sll $a0, $t9, 0x18
/* 047AD8 7F012FA8 3C098007 */ lui $t1, %hi(dword_CODE_bss_80069760)
/* 047ADC 7F012FAC 25299760 */ addiu $t1, $t1, %lo(dword_CODE_bss_80069760)
/* 047AE0 7F012FB0 00044603 */ sra $t0, $a0, 0x18
/* 047AE4 7F012FB4 01002025 */ move $a0, $t0
/* 047AE8 7F012FB8 02899021 */ addu $s2, $s4, $t1
/* 047AEC 7F012FBC 0C0030EB */ jal joyGetButtonsPressedThisFrame
/* 047AF0 7F012FC0 24050202 */ li $a1, 514
/* 047AF4 7F012FC4 1440000B */ bnez $v0, .L7F012FF4
/* 047AF8 7F012FC8 00102600 */ sll $a0, $s0, 0x18
/* 047AFC 7F012FCC 00045603 */ sra $t2, $a0, 0x18
/* 047B00 7F012FD0 01402025 */ move $a0, $t2
/* 047B04 7F012FD4 2405FFFE */ li $a1, -2
/* 047B08 7F012FD8 0C00312D */ jal joyGetStickXInRange
/* 047B0C 7F012FDC 02E03025 */ move $a2, $s7
/* 047B10 7F012FE0 2841FFFF */ slti $at, $v0, -1
/* 047B14 7F012FE4 10200009 */ beqz $at, .L7F01300C
/* 047B18 7F012FE8 00102600 */ sll $a0, $s0, 0x18
/* 047B1C 7F012FEC 8E4B0000 */ lw $t3, ($s2)
/* 047B20 7F012FF0 11600006 */ beqz $t3, .L7F01300C
.L7F012FF4:
/* 047B24 7F012FF4 02D41021 */ addu $v0, $s6, $s4
/* 047B28 7F012FF8 8C430000 */ lw $v1, ($v0)
/* 047B2C 7F012FFC 18600023 */ blez $v1, .L7F01308C
/* 047B30 7F013000 246CFFFF */ addiu $t4, $v1, -1
/* 047B34 7F013004 10000021 */ b .L7F01308C
/* 047B38 7F013008 AC4C0000 */ sw $t4, ($v0)
.L7F01300C:
/* 047B3C 7F01300C 00046E03 */ sra $t5, $a0, 0x18
/* 047B40 7F013010 01A02025 */ move $a0, $t5
/* 047B44 7F013014 0C0030EB */ jal joyGetButtonsPressedThisFrame
/* 047B48 7F013018 24050101 */ li $a1, 257
/* 047B4C 7F01301C 1440000A */ bnez $v0, .L7F013048
/* 047B50 7F013020 00102600 */ sll $a0, $s0, 0x18
/* 047B54 7F013024 00047603 */ sra $t6, $a0, 0x18
/* 047B58 7F013028 01C02025 */ move $a0, $t6
/* 047B5C 7F01302C 2405FFFE */ li $a1, -2
/* 047B60 7F013030 0C00312D */ jal joyGetStickXInRange
/* 047B64 7F013034 02E03025 */ move $a2, $s7
/* 047B68 7F013038 1840000A */ blez $v0, .L7F013064
/* 047B6C 7F01303C 00102600 */ sll $a0, $s0, 0x18
/* 047B70 7F013040 8E4F0000 */ lw $t7, ($s2)
/* 047B74 7F013044 11E00007 */ beqz $t7, .L7F013064
.L7F013048:
/* 047B78 7F013048 02D41021 */ addu $v0, $s6, $s4
/* 047B7C 7F01304C 8C430000 */ lw $v1, ($v0)
/* 047B80 7F013050 2861000A */ slti $at, $v1, 0xa
/* 047B84 7F013054 1020000D */ beqz $at, .L7F01308C
/* 047B88 7F013058 24780001 */ addiu $t8, $v1, 1
/* 047B8C 7F01305C 1000000B */ b .L7F01308C
/* 047B90 7F013060 AC580000 */ sw $t8, ($v0)
.L7F013064:
/* 047B94 7F013064 0004CE03 */ sra $t9, $a0, 0x18
/* 047B98 7F013068 03202025 */ move $a0, $t9
/* 047B9C 7F01306C 0C0030EB */ jal joyGetButtonsPressedThisFrame
/* 047BA0 7F013070 3405B000 */ li $a1, 45056
/* 047BA4 7F013074 10400005 */ beqz $v0, .L7F01308C
/* 047BA8 7F013078 240500C7 */ li $a1, 199
/* 047BAC 7F01307C AE370000 */ sw $s7, ($s1)
/* 047BB0 7F013080 8EA40000 */ lw $a0, ($s5)
/* 047BB4 7F013084 0C002382 */ jal play_sfx_a1
/* 047BB8 7F013088 00003025 */ move $a2, $zero
.L7F01308C:
/* 047BBC 7F01308C 00102600 */ sll $a0, $s0, 0x18
/* 047BC0 7F013090 00044603 */ sra $t0, $a0, 0x18
/* 047BC4 7F013094 01002025 */ move $a0, $t0
/* 047BC8 7F013098 2405FFFE */ li $a1, -2
/* 047BCC 7F01309C 0C00312D */ jal joyGetStickXInRange
/* 047BD0 7F0130A0 02E03025 */ move $a2, $s7
/* 047BD4 7F0130A4 2401FFFF */ li $at, -1
/* 047BD8 7F0130A8 10410008 */ beq $v0, $at, .L7F0130CC
/* 047BDC 7F0130AC 00102600 */ sll $a0, $s0, 0x18
/* 047BE0 7F0130B0 00044E03 */ sra $t1, $a0, 0x18
/* 047BE4 7F0130B4 01202025 */ move $a0, $t1
/* 047BE8 7F0130B8 2405FFFE */ li $a1, -2
/* 047BEC 7F0130BC 0C00312D */ jal joyGetStickXInRange
/* 047BF0 7F0130C0 02E03025 */ move $a2, $s7
/* 047BF4 7F0130C4 54400005 */ bnezl $v0, .L7F0130DC
/* 047BF8 7F0130C8 AE400000 */ sw $zero, ($s2)
.L7F0130CC:
/* 047BFC 7F0130CC AE570000 */ sw $s7, ($s2)
/* 047C00 7F0130D0 10000003 */ b .L7F0130E0
/* 047C04 7F0130D4 8E220000 */ lw $v0, ($s1)
/* 047C08 7F0130D8 AE400000 */ sw $zero, ($s2)
.L7F0130DC:
/* 047C0C 7F0130DC 8E220000 */ lw $v0, ($s1)
.L7F0130E0:
/* 047C10 7F0130E0 10400002 */ beqz $v0, .L7F0130EC
/* 047C14 7F0130E4 8FAA0044 */ lw $t2, 0x44($sp)
/* 047C18 7F0130E8 27DE0001 */ addiu $fp, $fp, 1
.L7F0130EC:
/* 047C1C 7F0130EC 26730001 */ addiu $s3, $s3, 1
/* 047C20 7F0130F0 26940004 */ addiu $s4, $s4, 4
/* 047C24 7F0130F4 166AFF99 */ bne $s3, $t2, .L7F012F5C
/* 047C28 7F0130F8 26310004 */ addiu $s1, $s1, 4
.L7F0130FC:
/* 047C2C 7F0130FC 3C108003 */ lui $s0, %hi(ptr_folder_object_instance)
/* 047C30 7F013100 2610A95C */ addiu $s0, %lo(ptr_folder_object_instance) # addiu $s0, $s0, -0x56a4
/* 047C34 7F013104 0FC02DC9 */ jal disable_all_switches
/* 047C38 7F013108 8E040000 */ lw $a0, ($s0)
/* 047C3C 7F01310C 8E040000 */ lw $a0, ($s0)
/* 047C40 7F013110 00002825 */ move $a1, $zero
/* 047C44 7F013114 0FC02DF0 */ jal set_item_visibility_in_objinstance
/* 047C48 7F013118 24060001 */ li $a2, 1
/* 047C4C 7F01311C 8E040000 */ lw $a0, ($s0)
/* 047C50 7F013120 2405002A */ li $a1, 42
/* 047C54 7F013124 0FC02DF0 */ jal set_item_visibility_in_objinstance
/* 047C58 7F013128 24060001 */ li $a2, 1
/* 047C5C 7F01312C 0FC026E1 */ jal menu_control_stick_tracking
/* 047C60 7F013130 00000000 */ nop
/* 047C64 7F013134 8FAB0044 */ lw $t3, 0x44($sp)
/* 047C68 7F013138 2404000E */ li $a0, 14
/* 047C6C 7F01313C 57CB0004 */ bnel $fp, $t3, .L7F013150
/* 047C70 7F013140 8FBF003C */ lw $ra, 0x3c($sp)
/* 047C74 7F013144 0FC06975 */ jal set_menu_to_mode
/* 047C78 7F013148 00002825 */ move $a1, $zero
/* 047C7C 7F01314C 8FBF003C */ lw $ra, 0x3c($sp)
.L7F013150:
/* 047C80 7F013150 8FB00018 */ lw $s0, 0x18($sp)
/* 047C84 7F013154 8FB1001C */ lw $s1, 0x1c($sp)
/* 047C88 7F013158 8FB20020 */ lw $s2, 0x20($sp)
/* 047C8C 7F01315C 8FB30024 */ lw $s3, 0x24($sp)
/* 047C90 7F013160 8FB40028 */ lw $s4, 0x28($sp)
/* 047C94 7F013164 8FB5002C */ lw $s5, 0x2c($sp)
/* 047C98 7F013168 8FB60030 */ lw $s6, 0x30($sp)
/* 047C9C 7F01316C 8FB70034 */ lw $s7, 0x34($sp)
/* 047CA0 7F013170 8FBE0038 */ lw $fp, 0x38($sp)
/* 047CA4 7F013174 03E00008 */ jr $ra
/* 047CA8 7F013178 27BD0048 */ addiu $sp, $sp, 0x48
)
#endif
#ifdef NONMATCHING
void constructor_menu10_mphandicap(s32 arg0)
{
s32 spCC;
s32 spA4;
s32 spA0;
s32 sp9C;
s32 sp98;
s32 sp90;
s32 sp8C;
s32 sp88;
s32 sp84;
void *sp74;
void *sp70;
s32 temp_ret;
s32 temp_ret_2;
s32 temp_ret_3;
s32 temp_ret_4;
s32 temp_s1;
s32 temp_s1_2;
s32 temp_s6;
s32 temp_v0;
s32 phi_s6;
s32 phi_s3;
s32 phi_s2;
void *phi_v0;
s32 phi_s5;
s32 phi_s1;
s32 phi_s1_2;
s32 phi_v1;
s32 phi_v1_2;
spCC = get_selected_num_players();
temp_ret = microcode_constructor_related_to_menus(microcode_constructor(sub_GAME_7F00D5E8(viFillScreen(viSetFillColor(arg0, 0, 0, 0)))), 0x26, 0xa9, 0x184, 0xab, 0x90);
temp_s1 = temp_ret;
phi_v0 = temp_ret;
phi_s1_2 = temp_s1;
if (spCC >= 3)
{
temp_ret_2 = microcode_constructor_related_to_menus(temp_s1, 0xd4, 0x1e, 0xd6, 0x136, 0x80);
phi_v0 = temp_ret_2;
phi_s1_2 = temp_ret_2;
}
if (spCC > 0)
{
sp74 = &has_selected_char_player1;
sp70 = &handicap_player1;
phi_s6 = 0;
loop_4:
if (spCC == 2)
{
if (phi_s6 > 0)
{
phi_s3 = 0x26;
phi_s2 = 0xaa;
phi_s5 = 0x15e;
}
else
{
phi_s3 = 0x26;
phi_s2 = 0 + 0x1e;
phi_s5 = 0x15e;
}
}
else
{
if (phi_s6 >= 2)
{
phi_v1_2 = 0x8c;
}
else
{
phi_v1_2 = 0;
}
if ((phi_s6 & 1) != 0)
{
phi_v1 = 0xaf;
}
else
{
phi_v1 = 0;
}
phi_s3 = phi_v1 + 0x26;
phi_s2 = phi_v1_2 + 0x1e;
phi_s5 = 0xaf;
}
temp_s1_2 = phi_v0 + 8;
phi_v0->unk0 = (s32) (((((s32) ((f32) (phi_s3 + 6) * 4.0f) & 0xfff) << 0xc) | 0xed000000) | ((s32) ((f32) (phi_s2 + 5) * 4.0f) & 0xfff));
phi_v0->unk4 = (s32) ((((s32) ((f32) ((phi_s3 + phi_s5) + -6) * 4.0f) & 0xfff) << 0xc) | ((s32) ((f32) (phi_s2 + 0x87) * 4.0f) & 0xfff));
phi_s1 = temp_s1_2;
if (*sp74 == 0)
{
temp_ret_3 = get_textptr_for_textID(TEXT(LTITLE, 0x56));
sub_GAME_7F0AE98C(&spA4, &spA0, temp_ret_3, ptrSecondFontTableLarge, (s32) subroutine_arg0, 0);
sp9C = (s32) ((((s32) phi_s5 >> 1) + phi_s3) - (spA0 >> 1));
sp98 = (s32) ((phi_s2 - (spA4 >> 1)) + 0x37);
viGetX();
phi_s1 = write_text_at_abs_coord(microcode_constructor(temp_s1_2), &sp9C, &sp98, temp_ret_3, (s32) ptrSecondFontTableLarge, (s32) subroutine_arg0, 0xff, viGetY(), 0, 0);
}
temp_ret_4 = get_textptr_for_textID((0x80030000 + (*sp70 * 8))->unk-4B68);
sub_GAME_7F0AE98C(&sp90, &sp8C, temp_ret_4, ptrSecondFontTableLarge, (s32) subroutine_arg0, 0);
sp88 = (s32) ((((s32) phi_s5 >> 1) + phi_s3) - (sp8C >> 1));
sp84 = (s32) (((phi_s2 + 0x46) - (sp90 >> 1)) + 0xf);
viGetX();
temp_s6 = phi_s6 + 1;
sp70 = (void *) (sp70 + 4);
temp_v0 = write_text_at_abs_coord(microcode_constructor(phi_s1), &sp88, &sp84, temp_ret_4, (s32) ptrSecondFontTableLarge, (s32) subroutine_arg0, 0xff, viGetY(), 0, 0);
sp74 = (void *) (sp74 + 4);
phi_s6 = temp_s6;
phi_v0 = temp_v0;
phi_s1_2 = temp_v0;
if (temp_s6 != spCC)
{
goto loop_4;
}
}
combiner_bayer_lod_perspective(phi_s1_2);
}
#else
GLOBAL_ASM(
.text
glabel constructor_menu10_mphandicap
/* 047CAC 7F01317C 27BDFF30 */ addiu $sp, $sp, -0xd0
/* 047CB0 7F013180 AFBF0064 */ sw $ra, 0x64($sp)
/* 047CB4 7F013184 AFB10044 */ sw $s1, 0x44($sp)
/* 047CB8 7F013188 00808825 */ move $s1, $a0
/* 047CBC 7F01318C AFBE0060 */ sw $fp, 0x60($sp)
/* 047CC0 7F013190 AFB7005C */ sw $s7, 0x5c($sp)
/* 047CC4 7F013194 AFB60058 */ sw $s6, 0x58($sp)
/* 047CC8 7F013198 AFB50054 */ sw $s5, 0x54($sp)
/* 047CCC 7F01319C AFB40050 */ sw $s4, 0x50($sp)
/* 047CD0 7F0131A0 AFB3004C */ sw $s3, 0x4c($sp)
/* 047CD4 7F0131A4 AFB20048 */ sw $s2, 0x48($sp)
/* 047CD8 7F0131A8 AFB00040 */ sw $s0, 0x40($sp)
/* 047CDC 7F0131AC 0FC040A4 */ jal get_selected_num_players
/* 047CE0 7F0131B0 F7B40038 */ sdc1 $f20, 0x38($sp)
/* 047CE4 7F0131B4 AFA200CC */ sw $v0, 0xcc($sp)
/* 047CE8 7F0131B8 02202025 */ move $a0, $s1
/* 047CEC 7F0131BC 00002825 */ move $a1, $zero
/* 047CF0 7F0131C0 00003025 */ move $a2, $zero
/* 047CF4 7F0131C4 0C0011B4 */ jal viSetFillColor
/* 047CF8 7F0131C8 00003825 */ move $a3, $zero
/* 047CFC 7F0131CC 0C000FBE */ jal viFillScreen
/* 047D00 7F0131D0 00402025 */ move $a0, $v0
/* 047D04 7F0131D4 0FC0357A */ jal sub_GAME_7F00D5E8
/* 047D08 7F0131D8 00402025 */ move $a0, $v0
/* 047D0C 7F0131DC 0FC2B366 */ jal microcode_constructor
/* 047D10 7F0131E0 00402025 */ move $a0, $v0
/* 047D14 7F0131E4 240E00AB */ li $t6, 171
/* 047D18 7F0131E8 240F0090 */ li $t7, 144
/* 047D1C 7F0131EC AFAF0014 */ sw $t7, 0x14($sp)
/* 047D20 7F0131F0 AFAE0010 */ sw $t6, 0x10($sp)
/* 047D24 7F0131F4 00402025 */ move $a0, $v0
/* 047D28 7F0131F8 24050026 */ li $a1, 38
/* 047D2C 7F0131FC 240600A9 */ li $a2, 169
/* 047D30 7F013200 0FC2B405 */ jal microcode_constructor_related_to_menus
/* 047D34 7F013204 24070184 */ li $a3, 388
/* 047D38 7F013208 8FA800CC */ lw $t0, 0xcc($sp)
/* 047D3C 7F01320C 00408825 */ move $s1, $v0
/* 047D40 7F013210 02202025 */ move $a0, $s1
/* 047D44 7F013214 29010003 */ slti $at, $t0, 3
/* 047D48 7F013218 1420000A */ bnez $at, .L7F013244
/* 047D4C 7F01321C 240500D4 */ li $a1, 212
/* 047D50 7F013220 24180136 */ li $t8, 310
/* 047D54 7F013224 24190080 */ li $t9, 128
/* 047D58 7F013228 AFB90014 */ sw $t9, 0x14($sp)
/* 047D5C 7F01322C AFB80010 */ sw $t8, 0x10($sp)
/* 047D60 7F013230 2406001E */ li $a2, 30
/* 047D64 7F013234 0FC2B405 */ jal microcode_constructor_related_to_menus
/* 047D68 7F013238 240700D6 */ li $a3, 214
/* 047D6C 7F01323C 00408825 */ move $s1, $v0
/* 047D70 7F013240 8FA800CC */ lw $t0, 0xcc($sp)
.L7F013244:
/* 047D74 7F013244 190000BC */ blez $t0, .L7F013538
/* 047D78 7F013248 0000B025 */ move $s6, $zero
/* 047D7C 7F01324C 3C098007 */ lui $t1, %hi(has_selected_char_player1)
/* 047D80 7F013250 3C0A8007 */ lui $t2, %hi(handicap_player1)
/* 047D84 7F013254 3C014080 */ li $at, 0x40800000 # 4.000000
/* 047D88 7F013258 254A97A8 */ addiu $t2, %lo(handicap_player1) # addiu $t2, $t2, -0x6858
/* 047D8C 7F01325C 25299740 */ addiu $t1, %lo(has_selected_char_player1) # addiu $t1, $t1, -0x68c0
/* 047D90 7F013260 3C1E8004 */ lui $fp, %hi(ptrFirstFontTableLarge)
/* 047D94 7F013264 3C178004 */ lui $s7, %hi(ptrSecondFontTableLarge)
/* 047D98 7F013268 4481A000 */ mtc1 $at, $f20
/* 047D9C 7F01326C 26F70EB8 */ addiu $s7, %lo(ptrSecondFontTableLarge) # addiu $s7, $s7, 0xeb8
/* 047DA0 7F013270 27DE0EB4 */ addiu $fp, %lo(ptrFirstFontTableLarge) # addiu $fp, $fp, 0xeb4
/* 047DA4 7F013274 AFA90074 */ sw $t1, 0x74($sp)
/* 047DA8 7F013278 AFAA0070 */ sw $t2, 0x70($sp)
.L7F01327C:
/* 047DAC 7F01327C 8FA800CC */ lw $t0, 0xcc($sp)
/* 047DB0 7F013280 24010002 */ li $at, 2
/* 047DB4 7F013284 24130026 */ li $s3, 38
/* 047DB8 7F013288 15010008 */ bne $t0, $at, .L7F0132AC
/* 047DBC 7F01328C 32CB0001 */ andi $t3, $s6, 1
/* 047DC0 7F013290 1AC00003 */ blez $s6, .L7F0132A0
/* 047DC4 7F013294 2415015E */ li $s5, 350
/* 047DC8 7F013298 10000010 */ b .L7F0132DC
/* 047DCC 7F01329C 241200AA */ li $s2, 170
.L7F0132A0:
/* 047DD0 7F0132A0 00001825 */ move $v1, $zero
/* 047DD4 7F0132A4 1000000D */ b .L7F0132DC
/* 047DD8 7F0132A8 2472001E */ addiu $s2, $v1, 0x1e
.L7F0132AC:
/* 047DDC 7F0132AC 2AC10002 */ slti $at, $s6, 2
/* 047DE0 7F0132B0 14200003 */ bnez $at, .L7F0132C0
/* 047DE4 7F0132B4 241500AF */ li $s5, 175
/* 047DE8 7F0132B8 10000002 */ b .L7F0132C4
/* 047DEC 7F0132BC 2403008C */ li $v1, 140
.L7F0132C0:
/* 047DF0 7F0132C0 00001825 */ move $v1, $zero
.L7F0132C4:
/* 047DF4 7F0132C4 11600003 */ beqz $t3, .L7F0132D4
/* 047DF8 7F0132C8 2472001E */ addiu $s2, $v1, 0x1e
/* 047DFC 7F0132CC 10000002 */ b .L7F0132D8
/* 047E00 7F0132D0 240300AF */ li $v1, 175
.L7F0132D4:
/* 047E04 7F0132D4 00001825 */ move $v1, $zero
.L7F0132D8:
/* 047E08 7F0132D8 24730026 */ addiu $s3, $v1, 0x26
.L7F0132DC:
/* 047E0C 7F0132DC 266C0006 */ addiu $t4, $s3, 6
/* 047E10 7F0132E0 448C2000 */ mtc1 $t4, $f4
/* 047E14 7F0132E4 26490005 */ addiu $t1, $s2, 5
/* 047E18 7F0132E8 44898000 */ mtc1 $t1, $f16
/* 047E1C 7F0132EC 468021A0 */ cvt.s.w $f6, $f4
/* 047E20 7F0132F0 3C01ED00 */ lui $at, 0xed00
/* 047E24 7F0132F4 24510008 */ addiu $s1, $v0, 8
/* 047E28 7F0132F8 468084A0 */ cvt.s.w $f18, $f16
/* 047E2C 7F0132FC 46143202 */ mul.s $f8, $f6, $f20
/* 047E30 7F013300 4600428D */ trunc.w.s $f10, $f8
/* 047E34 7F013304 46149102 */ mul.s $f4, $f18, $f20
/* 047E38 7F013308 440E5000 */ mfc1 $t6, $f10
/* 047E3C 7F01330C 00000000 */ nop
/* 047E40 7F013310 31CF0FFF */ andi $t7, $t6, 0xfff
/* 047E44 7F013314 4600218D */ trunc.w.s $f6, $f4
/* 047E48 7F013318 000FC300 */ sll $t8, $t7, 0xc
/* 047E4C 7F01331C 02757021 */ addu $t6, $s3, $s5
/* 047E50 7F013320 25CFFFFA */ addiu $t7, $t6, -6
/* 047E54 7F013324 440B3000 */ mfc1 $t3, $f6
/* 047E58 7F013328 448F4000 */ mtc1 $t7, $f8
/* 047E5C 7F01332C 0301C825 */ or $t9, $t8, $at
/* 047E60 7F013330 316C0FFF */ andi $t4, $t3, 0xfff
/* 047E64 7F013334 032C6825 */ or $t5, $t9, $t4
/* 047E68 7F013338 26590087 */ addiu $t9, $s2, 0x87
/* 047E6C 7F01333C 468042A0 */ cvt.s.w $f10, $f8
/* 047E70 7F013340 44992000 */ mtc1 $t9, $f4
/* 047E74 7F013344 AC4D0000 */ sw $t5, ($v0)
/* 047E78 7F013348 468021A0 */ cvt.s.w $f6, $f4
/* 047E7C 7F01334C 46145402 */ mul.s $f16, $f10, $f20
/* 047E80 7F013350 00000000 */ nop
/* 047E84 7F013354 46143202 */ mul.s $f8, $f6, $f20
/* 047E88 7F013358 4600848D */ trunc.w.s $f18, $f16
/* 047E8C 7F01335C 4600428D */ trunc.w.s $f10, $f8
/* 047E90 7F013360 44099000 */ mfc1 $t1, $f18
/* 047E94 7F013364 440D5000 */ mfc1 $t5, $f10
/* 047E98 7F013368 312A0FFF */ andi $t2, $t1, 0xfff
/* 047E9C 7F01336C 000A5B00 */ sll $t3, $t2, 0xc
/* 047EA0 7F013370 31AE0FFF */ andi $t6, $t5, 0xfff
/* 047EA4 7F013374 016E7825 */ or $t7, $t3, $t6
/* 047EA8 7F013378 AC4F0004 */ sw $t7, 4($v0)
/* 047EAC 7F01337C 8FB80074 */ lw $t8, 0x74($sp)
/* 047EB0 7F013380 8F090000 */ lw $t1, ($t8)
/* 047EB4 7F013384 1520002F */ bnez $t1, .L7F013444
/* 047EB8 7F013388 00000000 */ nop
/* 047EBC 7F01338C 0FC30776 */ jal get_textptr_for_textID
/* 047EC0 7F013390 34049C56 */ li $a0, 40022
/* 047EC4 7F013394 8FCA0000 */ lw $t2, ($fp)
/* 047EC8 7F013398 0040A025 */ move $s4, $v0
/* 047ECC 7F01339C 27A400A4 */ addiu $a0, $sp, 0xa4
/* 047ED0 7F0133A0 27A500A0 */ addiu $a1, $sp, 0xa0
/* 047ED4 7F0133A4 00403025 */ move $a2, $v0
/* 047ED8 7F0133A8 8EE70000 */ lw $a3, ($s7)
/* 047EDC 7F0133AC AFA00014 */ sw $zero, 0x14($sp)
/* 047EE0 7F0133B0 0FC2BA63 */ jal sub_GAME_7F0AE98C
/* 047EE4 7F0133B4 AFAA0010 */ sw $t2, 0x10($sp)
/* 047EE8 7F0133B8 8FAF00A4 */ lw $t7, 0xa4($sp)
/* 047EEC 7F0133BC 8FAD00A0 */ lw $t5, 0xa0($sp)
/* 047EF0 7F0133C0 0015C843 */ sra $t9, $s5, 1
/* 047EF4 7F0133C4 000FC043 */ sra $t8, $t7, 1
/* 047EF8 7F0133C8 03336021 */ addu $t4, $t9, $s3
/* 047EFC 7F0133CC 02584823 */ subu $t1, $s2, $t8
/* 047F00 7F0133D0 000D5843 */ sra $t3, $t5, 1
/* 047F04 7F0133D4 018B7023 */ subu $t6, $t4, $t3
/* 047F08 7F0133D8 252A0037 */ addiu $t2, $t1, 0x37
/* 047F0C 7F0133DC AFAE009C */ sw $t6, 0x9c($sp)
/* 047F10 7F0133E0 AFAA0098 */ sw $t2, 0x98($sp)
/* 047F14 7F0133E4 0FC2B366 */ jal microcode_constructor
/* 047F18 7F0133E8 02202025 */ move $a0, $s1
/* 047F1C 7F0133EC 0C001107 */ jal viGetX
/* 047F20 7F0133F0 00408825 */ move $s1, $v0
/* 047F24 7F0133F4 00028400 */ sll $s0, $v0, 0x10
/* 047F28 7F0133F8 0010CC03 */ sra $t9, $s0, 0x10
/* 047F2C 7F0133FC 0C00110B */ jal viGetY
/* 047F30 7F013400 03208025 */ move $s0, $t9
/* 047F34 7F013404 8EED0000 */ lw $t5, ($s7)
/* 047F38 7F013408 8FCC0000 */ lw $t4, ($fp)
/* 047F3C 7F01340C 240B00FF */ li $t3, 255
/* 047F40 7F013410 AFAB0018 */ sw $t3, 0x18($sp)
/* 047F44 7F013414 02202025 */ move $a0, $s1
/* 047F48 7F013418 27A5009C */ addiu $a1, $sp, 0x9c
/* 047F4C 7F01341C 27A60098 */ addiu $a2, $sp, 0x98
/* 047F50 7F013420 02803825 */ move $a3, $s4
/* 047F54 7F013424 AFB0001C */ sw $s0, 0x1c($sp)
/* 047F58 7F013428 AFA20020 */ sw $v0, 0x20($sp)
/* 047F5C 7F01342C AFA00024 */ sw $zero, 0x24($sp)
/* 047F60 7F013430 AFA00028 */ sw $zero, 0x28($sp)
/* 047F64 7F013434 AFAD0010 */ sw $t5, 0x10($sp)
/* 047F68 7F013438 0FC025D8 */ jal write_text_at_abs_coord
/* 047F6C 7F01343C AFAC0014 */ sw $t4, 0x14($sp)
/* 047F70 7F013440 00408825 */ move $s1, $v0
.L7F013444:
/* 047F74 7F013444 8FAE0070 */ lw $t6, 0x70($sp)
/* 047F78 7F013448 3C048003 */ lui $a0, %hi(MP_handicap_table)
/* 047F7C 7F01344C 00154843 */ sra $t1, $s5, 1
/* 047F80 7F013450 8DCF0000 */ lw $t7, ($t6)
/* 047F84 7F013454 01338021 */ addu $s0, $t1, $s3
/* 047F88 7F013458 26540046 */ addiu $s4, $s2, 0x46
/* 047F8C 7F01345C 000FC0C0 */ sll $t8, $t7, 3
/* 047F90 7F013460 00982021 */ addu $a0, $a0, $t8
/* 047F94 7F013464 0FC30776 */ jal get_textptr_for_textID
/* 047F98 7F013468 9484B498 */ lhu $a0, %lo(MP_handicap_table)($a0)
/* 047F9C 7F01346C 8FCA0000 */ lw $t2, ($fp)
/* 047FA0 7F013470 00409025 */ move $s2, $v0
/* 047FA4 7F013474 27A40090 */ addiu $a0, $sp, 0x90
/* 047FA8 7F013478 27A5008C */ addiu $a1, $sp, 0x8c
/* 047FAC 7F01347C 00403025 */ move $a2, $v0
/* 047FB0 7F013480 8EE70000 */ lw $a3, ($s7)
/* 047FB4 7F013484 AFA00014 */ sw $zero, 0x14($sp)
/* 047FB8 7F013488 0FC2BA63 */ jal sub_GAME_7F0AE98C
/* 047FBC 7F01348C AFAA0010 */ sw $t2, 0x10($sp)
/* 047FC0 7F013490 8FAB0090 */ lw $t3, 0x90($sp)
/* 047FC4 7F013494 8FB9008C */ lw $t9, 0x8c($sp)
/* 047FC8 7F013498 02202025 */ move $a0, $s1
/* 047FCC 7F01349C 000B7043 */ sra $t6, $t3, 1
/* 047FD0 7F0134A0 028E7823 */ subu $t7, $s4, $t6
/* 047FD4 7F0134A4 00196843 */ sra $t5, $t9, 1
/* 047FD8 7F0134A8 020D6023 */ subu $t4, $s0, $t5
/* 047FDC 7F0134AC 25F8000F */ addiu $t8, $t7, 0xf
/* 047FE0 7F0134B0 AFAC0088 */ sw $t4, 0x88($sp)
/* 047FE4 7F0134B4 0FC2B366 */ jal microcode_constructor
/* 047FE8 7F0134B8 AFB80084 */ sw $t8, 0x84($sp)
/* 047FEC 7F0134BC 0C001107 */ jal viGetX
/* 047FF0 7F0134C0 00408825 */ move $s1, $v0
/* 047FF4 7F0134C4 00028400 */ sll $s0, $v0, 0x10
/* 047FF8 7F0134C8 00104C03 */ sra $t1, $s0, 0x10
/* 047FFC 7F0134CC 0C00110B */ jal viGetY
/* 048000 7F0134D0 01208025 */ move $s0, $t1
/* 048004 7F0134D4 8EEA0000 */ lw $t2, ($s7)
/* 048008 7F0134D8 8FD90000 */ lw $t9, ($fp)
/* 04800C 7F0134DC 240D00FF */ li $t5, 255
/* 048010 7F0134E0 AFAD0018 */ sw $t5, 0x18($sp)
/* 048014 7F0134E4 02202025 */ move $a0, $s1
/* 048018 7F0134E8 27A50088 */ addiu $a1, $sp, 0x88
/* 04801C 7F0134EC 27A60084 */ addiu $a2, $sp, 0x84
/* 048020 7F0134F0 02403825 */ move $a3, $s2
/* 048024 7F0134F4 AFB0001C */ sw $s0, 0x1c($sp)
/* 048028 7F0134F8 AFA20020 */ sw $v0, 0x20($sp)
/* 04802C 7F0134FC AFA00024 */ sw $zero, 0x24($sp)
/* 048030 7F013500 AFA00028 */ sw $zero, 0x28($sp)
/* 048034 7F013504 AFAA0010 */ sw $t2, 0x10($sp)
/* 048038 7F013508 0FC025D8 */ jal write_text_at_abs_coord
/* 04803C 7F01350C AFB90014 */ sw $t9, 0x14($sp)
/* 048040 7F013510 8FAC0074 */ lw $t4, 0x74($sp)
/* 048044 7F013514 8FAE0070 */ lw $t6, 0x70($sp)
/* 048048 7F013518 8FB800CC */ lw $t8, 0xcc($sp)
/* 04804C 7F01351C 26D60001 */ addiu $s6, $s6, 1
/* 048050 7F013520 258B0004 */ addiu $t3, $t4, 4
/* 048054 7F013524 25CF0004 */ addiu $t7, $t6, 4
/* 048058 7F013528 AFAF0070 */ sw $t7, 0x70($sp)
/* 04805C 7F01352C AFAB0074 */ sw $t3, 0x74($sp)
/* 048060 7F013530 16D8FF52 */ bne $s6, $t8, .L7F01327C
/* 048064 7F013534 00408825 */ move $s1, $v0
.L7F013538:
/* 048068 7F013538 0FC2B3BC */ jal combiner_bayer_lod_perspective
/* 04806C 7F01353C 02202025 */ move $a0, $s1
/* 048070 7F013540 8FBF0064 */ lw $ra, 0x64($sp)
/* 048074 7F013544 D7B40038 */ ldc1 $f20, 0x38($sp)
/* 048078 7F013548 8FB00040 */ lw $s0, 0x40($sp)
/* 04807C 7F01354C 8FB10044 */ lw $s1, 0x44($sp)
/* 048080 7F013550 8FB20048 */ lw $s2, 0x48($sp)
/* 048084 7F013554 8FB3004C */ lw $s3, 0x4c($sp)
/* 048088 7F013558 8FB40050 */ lw $s4, 0x50($sp)
/* 04808C 7F01355C 8FB50054 */ lw $s5, 0x54($sp)
/* 048090 7F013560 8FB60058 */ lw $s6, 0x58($sp)
/* 048094 7F013564 8FB7005C */ lw $s7, 0x5c($sp)
/* 048098 7F013568 8FBE0060 */ lw $fp, 0x60($sp)
/* 04809C 7F01356C 03E00008 */ jr $ra
/* 0480A0 7F013570 27BD00D0 */ addiu $sp, $sp, 0xd0
)
#endif
void init_menu11_mpcontrol(void)
{
tab_1_selected = FALSE;
tab_2_selected = FALSE;
tab_3_selected = FALSE;
tab_3_highlight = FALSE;
tab_2_highlight = FALSE;
tab_1_highlight = FALSE;
has_selected_char_player1 = FALSE;
dword_CODE_bss_80069760 = 0;
has_selected_char_player2 = FALSE;
dword_CODE_bss_80069764 = 0;
has_selected_char_player3 = FALSE;
dword_CODE_bss_80069768 = 0;
has_selected_char_player4 = FALSE;
dword_CODE_bss_8006976C = 0;
load_walletbond();
}
void update_menu11_mpcontrols(void) {
return;
}
#ifdef NONMATCHING
void interface_menu11_mpcontrols(void)
{
s32 sp44;
s32 temp_s1;
s32 temp_s6;
s32 temp_t8;
void *temp_s4;
void *temp_v1;
void *temp_v1_2;
void *phi_s2;
s32 phi_s1;
s32 phi_s5;
temp_s6 = get_selected_num_players();
sp44 = 0;
viSetFovY(0x42700000);
viSetAspect(D_80051A98);
viSetZRange(0x42c80000, D_80051A9C);
viSetUseZBuf(0);
if (temp_s6 > 0)
{
phi_s2 = &has_selected_char_player1;
phi_s1 = 0;
phi_s5 = 0;
loop_2:
if (*phi_s2 != 0)
{
if (joyGetButtonsPressedThisFrame((s32) (phi_s1 << 0x18) >> 0x18, 0x4000) != 0)
{
*phi_s2 = 0;
play_sfx_a1(g_musicSfxBufferPtr, 0xc7, 0);
}
}
temp_t8 = (s32) (phi_s1 << 0x18) >> 0x18;
if (*phi_s2 == 0)
{
temp_s4 = phi_s5 + &handicap_player1;
if ((joyGetButtonsPressedThisFrame((s32) (temp_t8 << 0x18) >> 0x18, 0x202) == 0) && (joyGetStickXInRange((s32) (temp_t8 << 0x18) >> 0x18, -2, 1) < -1))
{
if ((*temp_s4 != 0) && (*temp_v1 > 0))
{
block_10:
if ((((temp_s6 != 2) || (phi_s1 != 1)) || (controlstyle_player.unk0 < 4)) || (*temp_v1 >= 5))
{
*temp_v1 = (s32) (*temp_v1 + -1);
}
else
{
}
if (temp_s6 == 2)
{
if (phi_s1 == 0)
{
if (controlstyle_player.unk0 < 4)
{
if (controlstyle_player.unk4 >= 4)
{
controlstyle_player.unk4 = 0;
}
}
}
}
}
else
{
if ((joyGetButtonsPressedThisFrame((s32) (temp_t8 << 0x18) >> 0x18, 0x101) == 0) && (joyGetStickXInRange((s32) (temp_t8 << 0x18) >> 0x18, -2, 1) > 0))
{
if ((*temp_s4 != 0) && (temp_s6 == 2))
{
if ((phi_s1 == 0) || (*temp_v1_2 >= 4))
{
block_26:
if (*temp_v1_2 < 7)
{
*temp_v1_2 = (s32) (*temp_v1_2 + 1);
if (phi_s1 == 0)
{
if (controlstyle_player.unk0 == 4)
{
if (controlstyle_player.unk4 < 4)
{
controlstyle_player.unk4 = 4;
}
}
}
}
}
else
{
block_31:
if (*temp_v1_2 < 3)
{
*temp_v1_2 = (s32) (*temp_v1_2 + 1);
}
}
}
else
{
if (joyGetButtonsPressedThisFrame((s32) (temp_t8 << 0x18) >> 0x18, 0xb000) != 0)
{
*phi_s2 = 1;
play_sfx_a1(g_musicSfxBufferPtr, 0xc7, 0);
}
}
}
else
{
temp_v1_2 = &controlstyle_player + phi_s5;
if ((temp_s6 != 2) || (phi_s1 != 0))
{
if (*temp_v1_2 >= 4)
{
goto block_26;
}
else
{
goto block_31;
}
}
else
{
goto block_26;
}
}
}
}
else
{
temp_v1 = &controlstyle_player + phi_s5;
if (*temp_v1 > 0)
{
goto block_10;
}
}
if ((joyGetStickXInRange((s32) (temp_t8 << 0x18) >> 0x18, -2, 1) == -1) || (joyGetStickXInRange((s32) (temp_t8 << 0x18) >> 0x18, -2, 1) == 0))
{
*temp_s4 = 1;
}
else
{
*temp_s4 = 0;
}
}
temp_s1 = phi_s1 + 1;
if (*phi_s2 != 0)
{
sp44 = (s32) (sp44 + 1);
}
phi_s2 = phi_s2 + 4;
phi_s1 = temp_s1;
phi_s5 = phi_s5 + 4;
if (temp_s1 != temp_s6)
{
goto loop_2;
}
}
disable_all_switches(ptr_folder_object_instance);
set_item_visibility_in_objinstance(ptr_folder_object_instance, 0, 1);
set_item_visibility_in_objinstance(ptr_folder_object_instance, 0x2a, 1);
menu_control_stick_tracking();
if (sp44 == temp_s6)
{
set_menu_to_mode(MENU_MP_OPTIONS, 0);
}
}
#else
#ifdef VERSION_US
GLOBAL_ASM(
.late_rodata
glabel D_80051A98
.word 0x3FAAAAAB /*1.3333334;*/
glabel D_80051A9C
.word 0x461C4000 /*10000.0;*/
.text
glabel interface_menu11_mpcontrols
/* 048138 7F013608 27BDFFB0 */ addiu $sp, $sp, -0x50
/* 04813C 7F01360C AFBF003C */ sw $ra, 0x3c($sp)
/* 048140 7F013610 AFBE0038 */ sw $fp, 0x38($sp)
/* 048144 7F013614 AFB70034 */ sw $s7, 0x34($sp)
/* 048148 7F013618 AFB60030 */ sw $s6, 0x30($sp)
/* 04814C 7F01361C AFB5002C */ sw $s5, 0x2c($sp)
/* 048150 7F013620 AFB40028 */ sw $s4, 0x28($sp)
/* 048154 7F013624 AFB30024 */ sw $s3, 0x24($sp)
/* 048158 7F013628 AFB20020 */ sw $s2, 0x20($sp)
/* 04815C 7F01362C AFB1001C */ sw $s1, 0x1c($sp)
/* 048160 7F013630 0FC040A4 */ jal get_selected_num_players
/* 048164 7F013634 AFB00018 */ sw $s0, 0x18($sp)
/* 048168 7F013638 3C014270 */ li $at, 0x42700000 # 60.000000
/* 04816C 7F01363C 44816000 */ mtc1 $at, $f12
/* 048170 7F013640 0040B025 */ move $s6, $v0
/* 048174 7F013644 0C001151 */ jal viSetFovY
/* 048178 7F013648 AFA00044 */ sw $zero, 0x44($sp)
/* 04817C 7F01364C 3C018005 */ lui $at, %hi(D_80051A98)
/* 048180 7F013650 0C001164 */ jal viSetAspect
/* 048184 7F013654 C42C1A98 */ lwc1 $f12, %lo(D_80051A98)($at)
/* 048188 7F013658 3C0142C8 */ li $at, 0x42C80000 # 100.000000
/* 04818C 7F01365C 44816000 */ mtc1 $at, $f12
/* 048190 7F013660 3C018005 */ lui $at, %hi(D_80051A9C)
/* 048194 7F013664 0C001194 */ jal viSetZRange
/* 048198 7F013668 C42E1A9C */ lwc1 $f14, %lo(D_80051A9C)($at)
/* 04819C 7F01366C 0C00114D */ jal viSetUseZBuf
/* 0481A0 7F013670 00002025 */ move $a0, $zero
/* 0481A4 7F013674 1AC000A2 */ blez $s6, .L7F013900
/* 0481A8 7F013678 00008825 */ move $s1, $zero
/* 0481AC 7F01367C 3C128007 */ lui $s2, %hi(has_selected_char_player1)
/* 0481B0 7F013680 3C138007 */ lui $s3, %hi(controlstyle_player)
/* 0481B4 7F013684 267397B8 */ addiu $s3, %lo(controlstyle_player) # addiu $s3, $s3, -0x6848
/* 0481B8 7F013688 26529740 */ addiu $s2, %lo(has_selected_char_player1) # addiu $s2, $s2, -0x68c0
/* 0481BC 7F01368C 0000A825 */ move $s5, $zero
/* 0481C0 7F013690 241E0001 */ li $fp, 1
/* 0481C4 7F013694 24170002 */ li $s7, 2
.L7F013698:
/* 0481C8 7F013698 8E4E0000 */ lw $t6, ($s2)
/* 0481CC 7F01369C 00112600 */ sll $a0, $s1, 0x18
/* 0481D0 7F0136A0 00047E03 */ sra $t7, $a0, 0x18
/* 0481D4 7F0136A4 11C0000A */ beqz $t6, .L7F0136D0
/* 0481D8 7F0136A8 01E02025 */ move $a0, $t7
/* 0481DC 7F0136AC 0C0030EB */ jal joyGetButtonsPressedThisFrame
/* 0481E0 7F0136B0 24054000 */ li $a1, 16384
/* 0481E4 7F0136B4 10400006 */ beqz $v0, .L7F0136D0
/* 0481E8 7F0136B8 3C048006 */ lui $a0, %hi(g_musicSfxBufferPtr)
/* 0481EC 7F0136BC AE400000 */ sw $zero, ($s2)
/* 0481F0 7F0136C0 8C843720 */ lw $a0, %lo(g_musicSfxBufferPtr)($a0)
/* 0481F4 7F0136C4 240500C7 */ li $a1, 199
/* 0481F8 7F0136C8 0C002382 */ jal play_sfx_a1
/* 0481FC 7F0136CC 00003025 */ move $a2, $zero
.L7F0136D0:
/* 048200 7F0136D0 8E420000 */ lw $v0, ($s2)
/* 048204 7F0136D4 00118600 */ sll $s0, $s1, 0x18
/* 048208 7F0136D8 0010C603 */ sra $t8, $s0, 0x18
/* 04820C 7F0136DC 14400080 */ bnez $v0, .L7F0138E0
/* 048210 7F0136E0 03008025 */ move $s0, $t8
/* 048214 7F0136E4 00182600 */ sll $a0, $t8, 0x18
/* 048218 7F0136E8 3C088007 */ lui $t0, %hi(dword_CODE_bss_80069760)
/* 04821C 7F0136EC 25089760 */ addiu $t0, $t0, %lo(dword_CODE_bss_80069760)
/* 048220 7F0136F0 0004CE03 */ sra $t9, $a0, 0x18
/* 048224 7F0136F4 03202025 */ move $a0, $t9
/* 048228 7F0136F8 02A8A021 */ addu $s4, $s5, $t0
/* 04822C 7F0136FC 0C0030EB */ jal joyGetButtonsPressedThisFrame
/* 048230 7F013700 24050202 */ li $a1, 514
/* 048234 7F013704 1440000B */ bnez $v0, .L7F013734
/* 048238 7F013708 00102600 */ sll $a0, $s0, 0x18
/* 04823C 7F01370C 00044E03 */ sra $t1, $a0, 0x18
/* 048240 7F013710 01202025 */ move $a0, $t1
/* 048244 7F013714 2405FFFE */ li $a1, -2
/* 048248 7F013718 0C00312D */ jal joyGetStickXInRange
/* 04824C 7F01371C 03C03025 */ move $a2, $fp
/* 048250 7F013720 2841FFFF */ slti $at, $v0, -1
/* 048254 7F013724 10200020 */ beqz $at, .L7F0137A8
/* 048258 7F013728 00102600 */ sll $a0, $s0, 0x18
/* 04825C 7F01372C 8E8A0000 */ lw $t2, ($s4)
/* 048260 7F013730 1140001D */ beqz $t2, .L7F0137A8
.L7F013734:
/* 048264 7F013734 02751821 */ addu $v1, $s3, $s5
/* 048268 7F013738 8C620000 */ lw $v0, ($v1)
/* 04826C 7F01373C 58400054 */ blezl $v0, .L7F013890
/* 048270 7F013740 00102600 */ sll $a0, $s0, 0x18
/* 048274 7F013744 16D70009 */ bne $s6, $s7, .L7F01376C
/* 048278 7F013748 244CFFFF */ addiu $t4, $v0, -1
/* 04827C 7F01374C 563E0008 */ bnel $s1, $fp, .L7F013770
/* 048280 7F013750 AC6C0000 */ sw $t4, ($v1)
/* 048284 7F013754 8E6B0000 */ lw $t3, ($s3)
/* 048288 7F013758 29610004 */ slti $at, $t3, 4
/* 04828C 7F01375C 14200003 */ bnez $at, .L7F01376C
/* 048290 7F013760 28410005 */ slti $at, $v0, 5
/* 048294 7F013764 14200002 */ bnez $at, .L7F013770
/* 048298 7F013768 00000000 */ nop
.L7F01376C:
/* 04829C 7F01376C AC6C0000 */ sw $t4, ($v1)
.L7F013770:
/* 0482A0 7F013770 56D70047 */ bnel $s6, $s7, .L7F013890
/* 0482A4 7F013774 00102600 */ sll $a0, $s0, 0x18
/* 0482A8 7F013778 56200045 */ bnezl $s1, .L7F013890
/* 0482AC 7F01377C 00102600 */ sll $a0, $s0, 0x18
/* 0482B0 7F013780 8E6D0000 */ lw $t5, ($s3)
/* 0482B4 7F013784 29A10004 */ slti $at, $t5, 4
/* 0482B8 7F013788 50200041 */ beql $at, $zero, .L7F013890
/* 0482BC 7F01378C 00102600 */ sll $a0, $s0, 0x18
/* 0482C0 7F013790 8E6E0004 */ lw $t6, 4($s3)
/* 0482C4 7F013794 29C10004 */ slti $at, $t6, 4
/* 0482C8 7F013798 5420003D */ bnezl $at, .L7F013890
/* 0482CC 7F01379C 00102600 */ sll $a0, $s0, 0x18
/* 0482D0 7F0137A0 1000003A */ b .L7F01388C
/* 0482D4 7F0137A4 AE600004 */ sw $zero, 4($s3)
.L7F0137A8:
/* 0482D8 7F0137A8 00047E03 */ sra $t7, $a0, 0x18
/* 0482DC 7F0137AC 01E02025 */ move $a0, $t7
/* 0482E0 7F0137B0 0C0030EB */ jal joyGetButtonsPressedThisFrame
/* 0482E4 7F0137B4 24050101 */ li $a1, 257
/* 0482E8 7F0137B8 1440000B */ bnez $v0, .L7F0137E8
/* 0482EC 7F0137BC 00102600 */ sll $a0, $s0, 0x18
/* 0482F0 7F0137C0 0004C603 */ sra $t8, $a0, 0x18
/* 0482F4 7F0137C4 03002025 */ move $a0, $t8
/* 0482F8 7F0137C8 2405FFFE */ li $a1, -2
/* 0482FC 7F0137CC 0C00312D */ jal joyGetStickXInRange
/* 048300 7F0137D0 03C03025 */ move $a2, $fp
/* 048304 7F0137D4 18400022 */ blez $v0, .L7F013860
/* 048308 7F0137D8 00102600 */ sll $a0, $s0, 0x18
/* 04830C 7F0137DC 8E990000 */ lw $t9, ($s4)
/* 048310 7F0137E0 53200020 */ beql $t9, $zero, .L7F013864
/* 048314 7F0137E4 00046E03 */ sra $t5, $a0, 0x18
.L7F0137E8:
/* 048318 7F0137E8 16D70003 */ bne $s6, $s7, .L7F0137F8
/* 04831C 7F0137EC 02751821 */ addu $v1, $s3, $s5
/* 048320 7F0137F0 52200006 */ beql $s1, $zero, .L7F01380C
/* 048324 7F0137F4 8C620000 */ lw $v0, ($v1)
.L7F0137F8:
/* 048328 7F0137F8 8C620000 */ lw $v0, ($v1)
/* 04832C 7F0137FC 28410004 */ slti $at, $v0, 4
/* 048330 7F013800 54200013 */ bnezl $at, .L7F013850
/* 048334 7F013804 28410003 */ slti $at, $v0, 3
/* 048338 7F013808 8C620000 */ lw $v0, ($v1)
.L7F01380C:
/* 04833C 7F01380C 28410007 */ slti $at, $v0, 7
/* 048340 7F013810 1020001E */ beqz $at, .L7F01388C
/* 048344 7F013814 24480001 */ addiu $t0, $v0, 1
/* 048348 7F013818 1620001C */ bnez $s1, .L7F01388C
/* 04834C 7F01381C AC680000 */ sw $t0, ($v1)
/* 048350 7F013820 8E690000 */ lw $t1, ($s3)
/* 048354 7F013824 24010004 */ li $at, 4
/* 048358 7F013828 55210019 */ bnel $t1, $at, .L7F013890
/* 04835C 7F01382C 00102600 */ sll $a0, $s0, 0x18
/* 048360 7F013830 8E6A0004 */ lw $t2, 4($s3)
/* 048364 7F013834 240B0004 */ li $t3, 4
/* 048368 7F013838 29410004 */ slti $at, $t2, 4
/* 04836C 7F01383C 50200014 */ beql $at, $zero, .L7F013890
/* 048370 7F013840 00102600 */ sll $a0, $s0, 0x18
/* 048374 7F013844 10000011 */ b .L7F01388C
/* 048378 7F013848 AE6B0004 */ sw $t3, 4($s3)
/* 04837C 7F01384C 28410003 */ slti $at, $v0, 3
.L7F013850:
/* 048380 7F013850 1020000E */ beqz $at, .L7F01388C
/* 048384 7F013854 244C0001 */ addiu $t4, $v0, 1
/* 048388 7F013858 1000000C */ b .L7F01388C
/* 04838C 7F01385C AC6C0000 */ sw $t4, ($v1)
.L7F013860:
/* 048390 7F013860 00046E03 */ sra $t5, $a0, 0x18
.L7F013864:
/* 048394 7F013864 01A02025 */ move $a0, $t5
/* 048398 7F013868 0C0030EB */ jal joyGetButtonsPressedThisFrame
/* 04839C 7F01386C 3405B000 */ li $a1, 45056
/* 0483A0 7F013870 10400006 */ beqz $v0, .L7F01388C
/* 0483A4 7F013874 3C048006 */ lui $a0, %hi(g_musicSfxBufferPtr)
/* 0483A8 7F013878 AE5E0000 */ sw $fp, ($s2)
/* 0483AC 7F01387C 8C843720 */ lw $a0, %lo(g_musicSfxBufferPtr)($a0)
/* 0483B0 7F013880 240500C7 */ li $a1, 199
/* 0483B4 7F013884 0C002382 */ jal play_sfx_a1
/* 0483B8 7F013888 00003025 */ move $a2, $zero
.L7F01388C:
/* 0483BC 7F01388C 00102600 */ sll $a0, $s0, 0x18
.L7F013890:
/* 0483C0 7F013890 00047603 */ sra $t6, $a0, 0x18
/* 0483C4 7F013894 01C02025 */ move $a0, $t6
/* 0483C8 7F013898 2405FFFE */ li $a1, -2
/* 0483CC 7F01389C 0C00312D */ jal joyGetStickXInRange
/* 0483D0 7F0138A0 03C03025 */ move $a2, $fp
/* 0483D4 7F0138A4 2401FFFF */ li $at, -1
/* 0483D8 7F0138A8 10410008 */ beq $v0, $at, .L7F0138CC
/* 0483DC 7F0138AC 00102600 */ sll $a0, $s0, 0x18
/* 0483E0 7F0138B0 00047E03 */ sra $t7, $a0, 0x18
/* 0483E4 7F0138B4 01E02025 */ move $a0, $t7
/* 0483E8 7F0138B8 2405FFFE */ li $a1, -2
/* 0483EC 7F0138BC 0C00312D */ jal joyGetStickXInRange
/* 0483F0 7F0138C0 03C03025 */ move $a2, $fp
/* 0483F4 7F0138C4 54400005 */ bnezl $v0, .L7F0138DC
/* 0483F8 7F0138C8 AE800000 */ sw $zero, ($s4)
.L7F0138CC:
/* 0483FC 7F0138CC AE9E0000 */ sw $fp, ($s4)
/* 048400 7F0138D0 10000003 */ b .L7F0138E0
/* 048404 7F0138D4 8E420000 */ lw $v0, ($s2)
/* 048408 7F0138D8 AE800000 */ sw $zero, ($s4)
.L7F0138DC:
/* 04840C 7F0138DC 8E420000 */ lw $v0, ($s2)
.L7F0138E0:
/* 048410 7F0138E0 10400004 */ beqz $v0, .L7F0138F4
/* 048414 7F0138E4 26310001 */ addiu $s1, $s1, 1
/* 048418 7F0138E8 8FB80044 */ lw $t8, 0x44($sp)
/* 04841C 7F0138EC 27190001 */ addiu $t9, $t8, 1
/* 048420 7F0138F0 AFB90044 */ sw $t9, 0x44($sp)
.L7F0138F4:
/* 048424 7F0138F4 26B50004 */ addiu $s5, $s5, 4
/* 048428 7F0138F8 1636FF67 */ bne $s1, $s6, .L7F013698
/* 04842C 7F0138FC 26520004 */ addiu $s2, $s2, 4
.L7F013900:
/* 048430 7F013900 3C108003 */ lui $s0, %hi(ptr_folder_object_instance)
/* 048434 7F013904 2610A95C */ addiu $s0, %lo(ptr_folder_object_instance) # addiu $s0, $s0, -0x56a4
/* 048438 7F013908 0FC02DC9 */ jal disable_all_switches
/* 04843C 7F01390C 8E040000 */ lw $a0, ($s0)
/* 048440 7F013910 8E040000 */ lw $a0, ($s0)
/* 048444 7F013914 00002825 */ move $a1, $zero
/* 048448 7F013918 0FC02DF0 */ jal set_item_visibility_in_objinstance
/* 04844C 7F01391C 24060001 */ li $a2, 1
/* 048450 7F013920 8E040000 */ lw $a0, ($s0)
/* 048454 7F013924 2405002A */ li $a1, 42
/* 048458 7F013928 0FC02DF0 */ jal set_item_visibility_in_objinstance
/* 04845C 7F01392C 24060001 */ li $a2, 1
/* 048460 7F013930 0FC026E1 */ jal menu_control_stick_tracking
/* 048464 7F013934 00000000 */ nop
/* 048468 7F013938 8FA80044 */ lw $t0, 0x44($sp)
/* 04846C 7F01393C 2404000E */ li $a0, 14
/* 048470 7F013940 55160004 */ bnel $t0, $s6, .L7F013954
/* 048474 7F013944 8FBF003C */ lw $ra, 0x3c($sp)
/* 048478 7F013948 0FC06975 */ jal set_menu_to_mode
/* 04847C 7F01394C 00002825 */ move $a1, $zero
/* 048480 7F013950 8FBF003C */ lw $ra, 0x3c($sp)
.L7F013954:
/* 048484 7F013954 8FB00018 */ lw $s0, 0x18($sp)
/* 048488 7F013958 8FB1001C */ lw $s1, 0x1c($sp)
/* 04848C 7F01395C 8FB20020 */ lw $s2, 0x20($sp)
/* 048490 7F013960 8FB30024 */ lw $s3, 0x24($sp)
/* 048494 7F013964 8FB40028 */ lw $s4, 0x28($sp)
/* 048498 7F013968 8FB5002C */ lw $s5, 0x2c($sp)
/* 04849C 7F01396C 8FB60030 */ lw $s6, 0x30($sp)
/* 0484A0 7F013970 8FB70034 */ lw $s7, 0x34($sp)
/* 0484A4 7F013974 8FBE0038 */ lw $fp, 0x38($sp)
/* 0484A8 7F013978 03E00008 */ jr $ra
/* 0484AC 7F01397C 27BD0050 */ addiu $sp, $sp, 0x50
)
#endif
#ifdef VERSION_JP
GLOBAL_ASM(
.late_rodata
glabel D_80051A98
.word 0x3FAAAAAB /*1.3333334;*/
glabel D_80051A9C
.word 0x461C4000 /*10000.0;*/
.text
glabel interface_menu11_mpcontrols
/* 0481B8 7F013648 27BDFFA0 */ addiu $sp, $sp, -0x60
/* 0481BC 7F01364C AFBF003C */ sw $ra, 0x3c($sp)
/* 0481C0 7F013650 AFBE0038 */ sw $fp, 0x38($sp)
/* 0481C4 7F013654 AFB70034 */ sw $s7, 0x34($sp)
/* 0481C8 7F013658 AFB60030 */ sw $s6, 0x30($sp)
/* 0481CC 7F01365C AFB5002C */ sw $s5, 0x2c($sp)
/* 0481D0 7F013660 AFB40028 */ sw $s4, 0x28($sp)
/* 0481D4 7F013664 AFB30024 */ sw $s3, 0x24($sp)
/* 0481D8 7F013668 AFB20020 */ sw $s2, 0x20($sp)
/* 0481DC 7F01366C AFB1001C */ sw $s1, 0x1c($sp)
/* 0481E0 7F013670 0FC040B4 */ jal get_selected_num_players
/* 0481E4 7F013674 AFB00018 */ sw $s0, 0x18($sp)
/* 0481E8 7F013678 3C014270 */ li $at, 0x42700000 # 60.000000
/* 0481EC 7F01367C 44816000 */ mtc1 $at, $f12
/* 0481F0 7F013680 0040B825 */ move $s7, $v0
/* 0481F4 7F013684 0C001151 */ jal viSetFovY
/* 0481F8 7F013688 AFA00054 */ sw $zero, 0x54($sp)
/* 0481FC 7F01368C 3C018005 */ lui $at, %hi(D_80051A98) # $at, 0x8005
/* 048200 7F013690 0C001164 */ jal viSetAspect
/* 048204 7F013694 C42C1AC8 */ lwc1 $f12, %lo(D_80051A98)($at)
/* 048208 7F013698 3C0142C8 */ li $at, 0x42C80000 # 100.000000
/* 04820C 7F01369C 44816000 */ mtc1 $at, $f12
/* 048210 7F0136A0 3C018005 */ lui $at, %hi(D_80051A9C) # $at, 0x8005
/* 048214 7F0136A4 0C001194 */ jal viSetZRange
/* 048218 7F0136A8 C42E1ACC */ lwc1 $f14, %lo(D_80051A9C)($at)
/* 04821C 7F0136AC 0C00114D */ jal viSetUseZBuf
/* 048220 7F0136B0 00002025 */ move $a0, $zero
/* 048224 7F0136B4 1AE000BE */ blez $s7, .L7F0139B0
/* 048228 7F0136B8 00009025 */ move $s2, $zero
/* 04822C 7F0136BC 3C138007 */ lui $s3, %hi(has_selected_char_player1) # $s3, 0x8007
/* 048230 7F0136C0 3C108007 */ lui $s0, %hi(controlstyle_player) # $s0, 0x8007
/* 048234 7F0136C4 261097F8 */ addiu $s0, %lo(controlstyle_player) # addiu $s0, $s0, -0x6808
/* 048238 7F0136C8 26739780 */ addiu $s3, %lo(has_selected_char_player1) # addiu $s3, $s3, -0x6880
/* 04823C 7F0136CC 0000B025 */ move $s6, $zero
/* 048240 7F0136D0 241E0002 */ li $fp, 2
/* 048244 7F0136D4 24140004 */ li $s4, 4
.L7F0136D8:
/* 048248 7F0136D8 8E6E0000 */ lw $t6, ($s3)
/* 04824C 7F0136DC 00122600 */ sll $a0, $s2, 0x18
/* 048250 7F0136E0 00047E03 */ sra $t7, $a0, 0x18
/* 048254 7F0136E4 11C0000A */ beqz $t6, .L7F013710
/* 048258 7F0136E8 01E02025 */ move $a0, $t7
/* 04825C 7F0136EC 0C003104 */ jal joyGetButtonsPressedThisFrame
/* 048260 7F0136F0 24054000 */ li $a1, 16384
/* 048264 7F0136F4 10400006 */ beqz $v0, .L7F013710
/* 048268 7F0136F8 3C048006 */ lui $a0, %hi(g_musicSfxBufferPtr) # $a0, 0x8006
/* 04826C 7F0136FC AE600000 */ sw $zero, ($s3)
/* 048270 7F013700 8C843760 */ lw $a0, %lo(g_musicSfxBufferPtr)($a0)
/* 048274 7F013704 240500C7 */ li $a1, 199
/* 048278 7F013708 0C002386 */ jal play_sfx_a1
/* 04827C 7F01370C 00003025 */ move $a2, $zero
.L7F013710:
/* 048280 7F013710 8E620000 */ lw $v0, ($s3)
/* 048284 7F013714 00128E00 */ sll $s1, $s2, 0x18
/* 048288 7F013718 0011C603 */ sra $t8, $s1, 0x18
/* 04828C 7F01371C 1440009C */ bnez $v0, .L7F013990
/* 048290 7F013720 03008825 */ move $s1, $t8
/* 048294 7F013724 00182600 */ sll $a0, $t8, 0x18
/* 048298 7F013728 3C088007 */ lui $t0, %hi(dword_CODE_bss_80069760) # $t0, 0x8007
/* 04829C 7F01372C 250897A0 */ addiu $t0, %lo(dword_CODE_bss_80069760) # addiu $t0, $t0, -0x6860
/* 0482A0 7F013730 0004CE03 */ sra $t9, $a0, 0x18
/* 0482A4 7F013734 03202025 */ move $a0, $t9
/* 0482A8 7F013738 02C8A821 */ addu $s5, $s6, $t0
/* 0482AC 7F01373C 0C003104 */ jal joyGetButtonsPressedThisFrame
/* 0482B0 7F013740 24050202 */ li $a1, 514
/* 0482B4 7F013744 1440000B */ bnez $v0, .L7F013774
/* 0482B8 7F013748 00112600 */ sll $a0, $s1, 0x18
/* 0482BC 7F01374C 00044E03 */ sra $t1, $a0, 0x18
/* 0482C0 7F013750 01202025 */ move $a0, $t1
/* 0482C4 7F013754 2405FFFE */ li $a1, -2
/* 0482C8 7F013758 0C003146 */ jal joyGetStickXInRange
/* 0482CC 7F01375C 24060001 */ li $a2, 1
/* 0482D0 7F013760 2841FFFF */ slti $at, $v0, -1
/* 0482D4 7F013764 1020002C */ beqz $at, .L7F013818
/* 0482D8 7F013768 00112600 */ sll $a0, $s1, 0x18
/* 0482DC 7F01376C 8EAA0000 */ lw $t2, ($s5)
/* 0482E0 7F013770 11400029 */ beqz $t2, .L7F013818
.L7F013774:
/* 0482E4 7F013774 02161821 */ addu $v1, $s0, $s6
/* 0482E8 7F013778 8C6B0000 */ lw $t3, ($v1)
/* 0482EC 7F01377C 19600062 */ blez $t3, .L7F013908
/* 0482F0 7F013780 00000000 */ nop
/* 0482F4 7F013784 16FE000F */ bne $s7, $fp, .L7F0137C4
/* 0482F8 7F013788 24010001 */ li $at, 1
/* 0482FC 7F01378C 5641000E */ bnel $s2, $at, .L7F0137C8
/* 048300 7F013790 8C6E0000 */ lw $t6, ($v1)
/* 048304 7F013794 0C002E82 */ jal joyGetControllerCount
/* 048308 7F013798 AFA30040 */ sw $v1, 0x40($sp)
/* 04830C 7F01379C 14540009 */ bne $v0, $s4, .L7F0137C4
/* 048310 7F0137A0 8FA30040 */ lw $v1, 0x40($sp)
/* 048314 7F0137A4 8E0C0000 */ lw $t4, ($s0)
/* 048318 7F0137A8 29810004 */ slti $at, $t4, 4
/* 04831C 7F0137AC 54200006 */ bnezl $at, .L7F0137C8
/* 048320 7F0137B0 8C6E0000 */ lw $t6, ($v1)
/* 048324 7F0137B4 8C6D0000 */ lw $t5, ($v1)
/* 048328 7F0137B8 29A10005 */ slti $at, $t5, 5
/* 04832C 7F0137BC 14200004 */ bnez $at, .L7F0137D0
/* 048330 7F0137C0 00000000 */ nop
.L7F0137C4:
/* 048334 7F0137C4 8C6E0000 */ lw $t6, ($v1)
.L7F0137C8:
/* 048338 7F0137C8 25CFFFFF */ addiu $t7, $t6, -1
/* 04833C 7F0137CC AC6F0000 */ sw $t7, ($v1)
.L7F0137D0:
/* 048340 7F0137D0 16FE004D */ bne $s7, $fp, .L7F013908
/* 048344 7F0137D4 00000000 */ nop
/* 048348 7F0137D8 1640004B */ bnez $s2, .L7F013908
/* 04834C 7F0137DC 00000000 */ nop
/* 048350 7F0137E0 0C002E82 */ jal joyGetControllerCount
/* 048354 7F0137E4 00000000 */ nop
/* 048358 7F0137E8 14540047 */ bne $v0, $s4, .L7F013908
/* 04835C 7F0137EC 00000000 */ nop
/* 048360 7F0137F0 8E180000 */ lw $t8, ($s0)
/* 048364 7F0137F4 2B010004 */ slti $at, $t8, 4
/* 048368 7F0137F8 10200043 */ beqz $at, .L7F013908
/* 04836C 7F0137FC 00000000 */ nop
/* 048370 7F013800 8E190004 */ lw $t9, 4($s0)
/* 048374 7F013804 2B210004 */ slti $at, $t9, 4
/* 048378 7F013808 1420003F */ bnez $at, .L7F013908
/* 04837C 7F01380C 00000000 */ nop
/* 048380 7F013810 1000003D */ b .L7F013908
/* 048384 7F013814 AE000004 */ sw $zero, 4($s0)
.L7F013818:
/* 048388 7F013818 00044603 */ sra $t0, $a0, 0x18
/* 04838C 7F01381C 01002025 */ move $a0, $t0
/* 048390 7F013820 0C003104 */ jal joyGetButtonsPressedThisFrame
/* 048394 7F013824 24050101 */ li $a1, 257
/* 048398 7F013828 1440000B */ bnez $v0, .L7F013858
/* 04839C 7F01382C 00112600 */ sll $a0, $s1, 0x18
/* 0483A0 7F013830 00044E03 */ sra $t1, $a0, 0x18
/* 0483A4 7F013834 01202025 */ move $a0, $t1
/* 0483A8 7F013838 2405FFFE */ li $a1, -2
/* 0483AC 7F01383C 0C003146 */ jal joyGetStickXInRange
/* 0483B0 7F013840 24060001 */ li $a2, 1
/* 0483B4 7F013844 18400024 */ blez $v0, .L7F0138D8
/* 0483B8 7F013848 00112600 */ sll $a0, $s1, 0x18
/* 0483BC 7F01384C 8EAA0000 */ lw $t2, ($s5)
/* 0483C0 7F013850 51400022 */ beql $t2, $zero, .L7F0138DC
/* 0483C4 7F013854 00047E03 */ sra $t7, $a0, 0x18
.L7F013858:
/* 0483C8 7F013858 16FE0007 */ bne $s7, $fp, .L7F013878
/* 0483CC 7F01385C 02161821 */ addu $v1, $s0, $s6
/* 0483D0 7F013860 56400006 */ bnezl $s2, .L7F01387C
/* 0483D4 7F013864 8C620000 */ lw $v0, ($v1)
/* 0483D8 7F013868 0C002E82 */ jal joyGetControllerCount
/* 0483DC 7F01386C AFA30040 */ sw $v1, 0x40($sp)
/* 0483E0 7F013870 10540005 */ beq $v0, $s4, .L7F013888
/* 0483E4 7F013874 8FA30040 */ lw $v1, 0x40($sp)
.L7F013878:
/* 0483E8 7F013878 8C620000 */ lw $v0, ($v1)
.L7F01387C:
/* 0483EC 7F01387C 28410004 */ slti $at, $v0, 4
/* 0483F0 7F013880 54200011 */ bnezl $at, .L7F0138C8
/* 0483F4 7F013884 28410003 */ slti $at, $v0, 3
.L7F013888:
/* 0483F8 7F013888 8C620000 */ lw $v0, ($v1)
/* 0483FC 7F01388C 28410007 */ slti $at, $v0, 7
/* 048400 7F013890 1020001D */ beqz $at, .L7F013908
/* 048404 7F013894 244B0001 */ addiu $t3, $v0, 1
/* 048408 7F013898 1640001B */ bnez $s2, .L7F013908
/* 04840C 7F01389C AC6B0000 */ sw $t3, ($v1)
/* 048410 7F0138A0 8E0C0000 */ lw $t4, ($s0)
/* 048414 7F0138A4 168C0018 */ bne $s4, $t4, .L7F013908
/* 048418 7F0138A8 00000000 */ nop
/* 04841C 7F0138AC 8E0D0004 */ lw $t5, 4($s0)
/* 048420 7F0138B0 29A10004 */ slti $at, $t5, 4
/* 048424 7F0138B4 10200014 */ beqz $at, .L7F013908
/* 048428 7F0138B8 00000000 */ nop
/* 04842C 7F0138BC 10000012 */ b .L7F013908
/* 048430 7F0138C0 AE140004 */ sw $s4, 4($s0)
/* 048434 7F0138C4 28410003 */ slti $at, $v0, 3
.L7F0138C8:
/* 048438 7F0138C8 1020000F */ beqz $at, .L7F013908
/* 04843C 7F0138CC 244E0001 */ addiu $t6, $v0, 1
/* 048440 7F0138D0 1000000D */ b .L7F013908
/* 048444 7F0138D4 AC6E0000 */ sw $t6, ($v1)
.L7F0138D8:
/* 048448 7F0138D8 00047E03 */ sra $t7, $a0, 0x18
.L7F0138DC:
/* 04844C 7F0138DC 01E02025 */ move $a0, $t7
/* 048450 7F0138E0 0C003104 */ jal joyGetButtonsPressedThisFrame
/* 048454 7F0138E4 3405B000 */ li $a1, 45056
/* 048458 7F0138E8 10400007 */ beqz $v0, .L7F013908
/* 04845C 7F0138EC 24180001 */ li $t8, 1
/* 048460 7F0138F0 AE780000 */ sw $t8, ($s3)
/* 048464 7F0138F4 3C048006 */ lui $a0, %hi(g_musicSfxBufferPtr) # $a0, 0x8006
/* 048468 7F0138F8 8C843760 */ lw $a0, %lo(g_musicSfxBufferPtr)($a0)
/* 04846C 7F0138FC 240500C7 */ li $a1, 199
/* 048470 7F013900 0C002386 */ jal play_sfx_a1
/* 048474 7F013904 00003025 */ move $a2, $zero
.L7F013908:
/* 048478 7F013908 0C002E82 */ jal joyGetControllerCount
/* 04847C 7F01390C 00000000 */ nop
/* 048480 7F013910 1054000B */ beq $v0, $s4, .L7F013940
/* 048484 7F013914 00112600 */ sll $a0, $s1, 0x18
/* 048488 7F013918 8E190000 */ lw $t9, ($s0)
/* 04848C 7F01391C 2B210004 */ slti $at, $t9, 4
/* 048490 7F013920 54200003 */ bnezl $at, .L7F013930
/* 048494 7F013924 8E080004 */ lw $t0, 4($s0)
/* 048498 7F013928 AE000000 */ sw $zero, ($s0)
/* 04849C 7F01392C 8E080004 */ lw $t0, 4($s0)
.L7F013930:
/* 0484A0 7F013930 29010004 */ slti $at, $t0, 4
/* 0484A4 7F013934 54200003 */ bnezl $at, .L7F013944
/* 0484A8 7F013938 00044E03 */ sra $t1, $a0, 0x18
/* 0484AC 7F01393C AE000004 */ sw $zero, 4($s0)
.L7F013940:
/* 0484B0 7F013940 00044E03 */ sra $t1, $a0, 0x18
.L7F013944:
/* 0484B4 7F013944 01202025 */ move $a0, $t1
/* 0484B8 7F013948 2405FFFE */ li $a1, -2
/* 0484BC 7F01394C 0C003146 */ jal joyGetStickXInRange
/* 0484C0 7F013950 24060001 */ li $a2, 1
/* 0484C4 7F013954 2401FFFF */ li $at, -1
/* 0484C8 7F013958 10410007 */ beq $v0, $at, .L7F013978
/* 0484CC 7F01395C 00112600 */ sll $a0, $s1, 0x18
/* 0484D0 7F013960 00045603 */ sra $t2, $a0, 0x18
/* 0484D4 7F013964 01402025 */ move $a0, $t2
/* 0484D8 7F013968 2405FFFE */ li $a1, -2
/* 0484DC 7F01396C 0C003146 */ jal joyGetStickXInRange
/* 0484E0 7F013970 24060001 */ li $a2, 1
/* 0484E4 7F013974 14400004 */ bnez $v0, .L7F013988
.L7F013978:
/* 0484E8 7F013978 240B0001 */ li $t3, 1
/* 0484EC 7F01397C AEAB0000 */ sw $t3, ($s5)
/* 0484F0 7F013980 10000003 */ b .L7F013990
/* 0484F4 7F013984 8E620000 */ lw $v0, ($s3)
.L7F013988:
/* 0484F8 7F013988 AEA00000 */ sw $zero, ($s5)
/* 0484FC 7F01398C 8E620000 */ lw $v0, ($s3)
.L7F013990:
/* 048500 7F013990 10400004 */ beqz $v0, .L7F0139A4
/* 048504 7F013994 26520001 */ addiu $s2, $s2, 1
/* 048508 7F013998 8FAC0054 */ lw $t4, 0x54($sp)
/* 04850C 7F01399C 258D0001 */ addiu $t5, $t4, 1
/* 048510 7F0139A0 AFAD0054 */ sw $t5, 0x54($sp)
.L7F0139A4:
/* 048514 7F0139A4 26D60004 */ addiu $s6, $s6, 4
/* 048518 7F0139A8 1657FF4B */ bne $s2, $s7, .L7F0136D8
/* 04851C 7F0139AC 26730004 */ addiu $s3, $s3, 4
.L7F0139B0:
/* 048520 7F0139B0 3C108003 */ lui $s0, %hi(ptr_folder_object_instance) # $s0, 0x8003
/* 048524 7F0139B4 2610A99C */ addiu $s0, %lo(ptr_folder_object_instance) # addiu $s0, $s0, -0x5664
/* 048528 7F0139B8 0FC02DD1 */ jal disable_all_switches
/* 04852C 7F0139BC 8E040000 */ lw $a0, ($s0)
/* 048530 7F0139C0 8E040000 */ lw $a0, ($s0)
/* 048534 7F0139C4 00002825 */ move $a1, $zero
/* 048538 7F0139C8 0FC02DF8 */ jal set_item_visibility_in_objinstance
/* 04853C 7F0139CC 24060001 */ li $a2, 1
/* 048540 7F0139D0 8E040000 */ lw $a0, ($s0)
/* 048544 7F0139D4 2405002A */ li $a1, 42
/* 048548 7F0139D8 0FC02DF8 */ jal set_item_visibility_in_objinstance
/* 04854C 7F0139DC 24060001 */ li $a2, 1
/* 048550 7F0139E0 0FC026E9 */ jal menu_control_stick_tracking
/* 048554 7F0139E4 00000000 */ nop
/* 048558 7F0139E8 8FAE0054 */ lw $t6, 0x54($sp)
/* 04855C 7F0139EC 2404000E */ li $a0, 14
/* 048560 7F0139F0 55D70004 */ bnel $t6, $s7, .L7F013A04
/* 048564 7F0139F4 8FBF003C */ lw $ra, 0x3c($sp)
/* 048568 7F0139F8 0FC069E2 */ jal set_menu_to_mode
/* 04856C 7F0139FC 00002825 */ move $a1, $zero
/* 048570 7F013A00 8FBF003C */ lw $ra, 0x3c($sp)
.L7F013A04:
/* 048574 7F013A04 8FB00018 */ lw $s0, 0x18($sp)
/* 048578 7F013A08 8FB1001C */ lw $s1, 0x1c($sp)
/* 04857C 7F013A0C 8FB20020 */ lw $s2, 0x20($sp)
/* 048580 7F013A10 8FB30024 */ lw $s3, 0x24($sp)
/* 048584 7F013A14 8FB40028 */ lw $s4, 0x28($sp)
/* 048588 7F013A18 8FB5002C */ lw $s5, 0x2c($sp)
/* 04858C 7F013A1C 8FB60030 */ lw $s6, 0x30($sp)
/* 048590 7F013A20 8FB70034 */ lw $s7, 0x34($sp)
/* 048594 7F013A24 8FBE0038 */ lw $fp, 0x38($sp)
/* 048598 7F013A28 03E00008 */ jr $ra
/* 04859C 7F013A2C 27BD0060 */ addiu $sp, $sp, 0x60
)
#endif
#ifdef VERSION_EU
GLOBAL_ASM(
.late_rodata
glabel D_80051A98
.word 0x3FAAAAAB /*1.3333334;*/
glabel D_80051A9C
.word 0x461C4000 /*10000.0;*/
.text
glabel interface_menu11_mpcontrols
/* 048138 7F013608 27BDFFB0 */ addiu $sp, $sp, -0x50
/* 04813C 7F01360C AFBF003C */ sw $ra, 0x3c($sp)
/* 048140 7F013610 AFBE0038 */ sw $fp, 0x38($sp)
/* 048144 7F013614 AFB70034 */ sw $s7, 0x34($sp)
/* 048148 7F013618 AFB60030 */ sw $s6, 0x30($sp)
/* 04814C 7F01361C AFB5002C */ sw $s5, 0x2c($sp)
/* 048150 7F013620 AFB40028 */ sw $s4, 0x28($sp)
/* 048154 7F013624 AFB30024 */ sw $s3, 0x24($sp)
/* 048158 7F013628 AFB20020 */ sw $s2, 0x20($sp)
/* 04815C 7F01362C AFB1001C */ sw $s1, 0x1c($sp)
/* 048160 7F013630 0FC040A4 */ jal get_selected_num_players
/* 048164 7F013634 AFB00018 */ sw $s0, 0x18($sp)
/* 048168 7F013638 3C014270 */ li $at, 0x42700000 # 60.000000
/* 04816C 7F01363C 44816000 */ mtc1 $at, $f12
/* 048170 7F013640 0040B025 */ move $s6, $v0
/* 048174 7F013644 0C001151 */ jal viSetFovY
/* 048178 7F013648 AFA00044 */ sw $zero, 0x44($sp)
/* 04817C 7F01364C 3C018005 */ lui $at, %hi(D_80051A98)
/* 048180 7F013650 0C001164 */ jal viSetAspect
/* 048184 7F013654 C42C1A98 */ lwc1 $f12, %lo(D_80051A98)($at)
/* 048188 7F013658 3C0142C8 */ li $at, 0x42C80000 # 100.000000
/* 04818C 7F01365C 44816000 */ mtc1 $at, $f12
/* 048190 7F013660 3C018005 */ lui $at, %hi(D_80051A9C)
/* 048194 7F013664 0C001194 */ jal viSetZRange
/* 048198 7F013668 C42E1A9C */ lwc1 $f14, %lo(D_80051A9C)($at)
/* 04819C 7F01366C 0C00114D */ jal viSetUseZBuf
/* 0481A0 7F013670 00002025 */ move $a0, $zero
/* 0481A4 7F013674 1AC000A2 */ blez $s6, .L7F013900
/* 0481A8 7F013678 00008825 */ move $s1, $zero
/* 0481AC 7F01367C 3C128007 */ lui $s2, %hi(has_selected_char_player1)
/* 0481B0 7F013680 3C138007 */ lui $s3, %hi(controlstyle_player)
/* 0481B4 7F013684 267397B8 */ addiu $s3, %lo(controlstyle_player) # addiu $s3, $s3, -0x6848
/* 0481B8 7F013688 26529740 */ addiu $s2, %lo(has_selected_char_player1) # addiu $s2, $s2, -0x68c0
/* 0481BC 7F01368C 0000A825 */ move $s5, $zero
/* 0481C0 7F013690 241E0001 */ li $fp, 1
/* 0481C4 7F013694 24170002 */ li $s7, 2
.L7F013698:
/* 0481C8 7F013698 8E4E0000 */ lw $t6, ($s2)
/* 0481CC 7F01369C 00112600 */ sll $a0, $s1, 0x18
/* 0481D0 7F0136A0 00047E03 */ sra $t7, $a0, 0x18
/* 0481D4 7F0136A4 11C0000A */ beqz $t6, .L7F0136D0
/* 0481D8 7F0136A8 01E02025 */ move $a0, $t7
/* 0481DC 7F0136AC 0C0030EB */ jal joyGetButtonsPressedThisFrame
/* 0481E0 7F0136B0 24054000 */ li $a1, 16384
/* 0481E4 7F0136B4 10400006 */ beqz $v0, .L7F0136D0
/* 0481E8 7F0136B8 3C048006 */ lui $a0, %hi(ptr_sfx_buf)
/* 0481EC 7F0136BC AE400000 */ sw $zero, ($s2)
/* 0481F0 7F0136C0 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0)
/* 0481F4 7F0136C4 240500C7 */ li $a1, 199
/* 0481F8 7F0136C8 0C002382 */ jal play_sfx_a1
/* 0481FC 7F0136CC 00003025 */ move $a2, $zero
.L7F0136D0:
/* 048200 7F0136D0 8E420000 */ lw $v0, ($s2)
/* 048204 7F0136D4 00118600 */ sll $s0, $s1, 0x18
/* 048208 7F0136D8 0010C603 */ sra $t8, $s0, 0x18
/* 04820C 7F0136DC 14400080 */ bnez $v0, .L7F0138E0
/* 048210 7F0136E0 03008025 */ move $s0, $t8
/* 048214 7F0136E4 00182600 */ sll $a0, $t8, 0x18
/* 048218 7F0136E8 3C088007 */ lui $t0, %hi(dword_CODE_bss_80069760)
/* 04821C 7F0136EC 25089760 */ addiu $t0, $t0, %lo(dword_CODE_bss_80069760)
/* 048220 7F0136F0 0004CE03 */ sra $t9, $a0, 0x18
/* 048224 7F0136F4 03202025 */ move $a0, $t9
/* 048228 7F0136F8 02A8A021 */ addu $s4, $s5, $t0
/* 04822C 7F0136FC 0C0030EB */ jal joyGetButtonsPressedThisFrame
/* 048230 7F013700 24050202 */ li $a1, 514
/* 048234 7F013704 1440000B */ bnez $v0, .L7F013734
/* 048238 7F013708 00102600 */ sll $a0, $s0, 0x18
/* 04823C 7F01370C 00044E03 */ sra $t1, $a0, 0x18
/* 048240 7F013710 01202025 */ move $a0, $t1
/* 048244 7F013714 2405FFFE */ li $a1, -2
/* 048248 7F013718 0C00312D */ jal joyGetStickXInRange
/* 04824C 7F01371C 03C03025 */ move $a2, $fp
/* 048250 7F013720 2841FFFF */ slti $at, $v0, -1
/* 048254 7F013724 10200020 */ beqz $at, .L7F0137A8
/* 048258 7F013728 00102600 */ sll $a0, $s0, 0x18
/* 04825C 7F01372C 8E8A0000 */ lw $t2, ($s4)
/* 048260 7F013730 1140001D */ beqz $t2, .L7F0137A8
.L7F013734:
/* 048264 7F013734 02751821 */ addu $v1, $s3, $s5
/* 048268 7F013738 8C620000 */ lw $v0, ($v1)
/* 04826C 7F01373C 58400054 */ blezl $v0, .L7F013890
/* 048270 7F013740 00102600 */ sll $a0, $s0, 0x18
/* 048274 7F013744 16D70009 */ bne $s6, $s7, .L7F01376C
/* 048278 7F013748 244CFFFF */ addiu $t4, $v0, -1
/* 04827C 7F01374C 563E0008 */ bnel $s1, $fp, .L7F013770
/* 048280 7F013750 AC6C0000 */ sw $t4, ($v1)
/* 048284 7F013754 8E6B0000 */ lw $t3, ($s3)
/* 048288 7F013758 29610004 */ slti $at, $t3, 4
/* 04828C 7F01375C 14200003 */ bnez $at, .L7F01376C
/* 048290 7F013760 28410005 */ slti $at, $v0, 5
/* 048294 7F013764 14200002 */ bnez $at, .L7F013770
/* 048298 7F013768 00000000 */ nop
.L7F01376C:
/* 04829C 7F01376C AC6C0000 */ sw $t4, ($v1)
.L7F013770:
/* 0482A0 7F013770 56D70047 */ bnel $s6, $s7, .L7F013890
/* 0482A4 7F013774 00102600 */ sll $a0, $s0, 0x18
/* 0482A8 7F013778 56200045 */ bnezl $s1, .L7F013890
/* 0482AC 7F01377C 00102600 */ sll $a0, $s0, 0x18
/* 0482B0 7F013780 8E6D0000 */ lw $t5, ($s3)
/* 0482B4 7F013784 29A10004 */ slti $at, $t5, 4
/* 0482B8 7F013788 50200041 */ beql $at, $zero, .L7F013890
/* 0482BC 7F01378C 00102600 */ sll $a0, $s0, 0x18
/* 0482C0 7F013790 8E6E0004 */ lw $t6, 4($s3)
/* 0482C4 7F013794 29C10004 */ slti $at, $t6, 4
/* 0482C8 7F013798 5420003D */ bnezl $at, .L7F013890
/* 0482CC 7F01379C 00102600 */ sll $a0, $s0, 0x18
/* 0482D0 7F0137A0 1000003A */ b .L7F01388C
/* 0482D4 7F0137A4 AE600004 */ sw $zero, 4($s3)
.L7F0137A8:
/* 0482D8 7F0137A8 00047E03 */ sra $t7, $a0, 0x18
/* 0482DC 7F0137AC 01E02025 */ move $a0, $t7
/* 0482E0 7F0137B0 0C0030EB */ jal joyGetButtonsPressedThisFrame
/* 0482E4 7F0137B4 24050101 */ li $a1, 257
/* 0482E8 7F0137B8 1440000B */ bnez $v0, .L7F0137E8
/* 0482EC 7F0137BC 00102600 */ sll $a0, $s0, 0x18
/* 0482F0 7F0137C0 0004C603 */ sra $t8, $a0, 0x18
/* 0482F4 7F0137C4 03002025 */ move $a0, $t8
/* 0482F8 7F0137C8 2405FFFE */ li $a1, -2
/* 0482FC 7F0137CC 0C00312D */ jal joyGetStickXInRange
/* 048300 7F0137D0 03C03025 */ move $a2, $fp
/* 048304 7F0137D4 18400022 */ blez $v0, .L7F013860
/* 048308 7F0137D8 00102600 */ sll $a0, $s0, 0x18
/* 04830C 7F0137DC 8E990000 */ lw $t9, ($s4)
/* 048310 7F0137E0 53200020 */ beql $t9, $zero, .L7F013864
/* 048314 7F0137E4 00046E03 */ sra $t5, $a0, 0x18
.L7F0137E8:
/* 048318 7F0137E8 16D70003 */ bne $s6, $s7, .L7F0137F8
/* 04831C 7F0137EC 02751821 */ addu $v1, $s3, $s5
/* 048320 7F0137F0 52200006 */ beql $s1, $zero, .L7F01380C
/* 048324 7F0137F4 8C620000 */ lw $v0, ($v1)
.L7F0137F8:
/* 048328 7F0137F8 8C620000 */ lw $v0, ($v1)
/* 04832C 7F0137FC 28410004 */ slti $at, $v0, 4
/* 048330 7F013800 54200013 */ bnezl $at, .L7F013850
/* 048334 7F013804 28410003 */ slti $at, $v0, 3
/* 048338 7F013808 8C620000 */ lw $v0, ($v1)
.L7F01380C:
/* 04833C 7F01380C 28410007 */ slti $at, $v0, 7
/* 048340 7F013810 1020001E */ beqz $at, .L7F01388C
/* 048344 7F013814 24480001 */ addiu $t0, $v0, 1
/* 048348 7F013818 1620001C */ bnez $s1, .L7F01388C
/* 04834C 7F01381C AC680000 */ sw $t0, ($v1)
/* 048350 7F013820 8E690000 */ lw $t1, ($s3)
/* 048354 7F013824 24010004 */ li $at, 4
/* 048358 7F013828 55210019 */ bnel $t1, $at, .L7F013890
/* 04835C 7F01382C 00102600 */ sll $a0, $s0, 0x18
/* 048360 7F013830 8E6A0004 */ lw $t2, 4($s3)
/* 048364 7F013834 240B0004 */ li $t3, 4
/* 048368 7F013838 29410004 */ slti $at, $t2, 4
/* 04836C 7F01383C 50200014 */ beql $at, $zero, .L7F013890
/* 048370 7F013840 00102600 */ sll $a0, $s0, 0x18
/* 048374 7F013844 10000011 */ b .L7F01388C
/* 048378 7F013848 AE6B0004 */ sw $t3, 4($s3)
/* 04837C 7F01384C 28410003 */ slti $at, $v0, 3
.L7F013850:
/* 048380 7F013850 1020000E */ beqz $at, .L7F01388C
/* 048384 7F013854 244C0001 */ addiu $t4, $v0, 1
/* 048388 7F013858 1000000C */ b .L7F01388C
/* 04838C 7F01385C AC6C0000 */ sw $t4, ($v1)
.L7F013860:
/* 048390 7F013860 00046E03 */ sra $t5, $a0, 0x18
.L7F013864:
/* 048394 7F013864 01A02025 */ move $a0, $t5
/* 048398 7F013868 0C0030EB */ jal joyGetButtonsPressedThisFrame
/* 04839C 7F01386C 3405B000 */ li $a1, 45056
/* 0483A0 7F013870 10400006 */ beqz $v0, .L7F01388C
/* 0483A4 7F013874 3C048006 */ lui $a0, %hi(ptr_sfx_buf)
/* 0483A8 7F013878 AE5E0000 */ sw $fp, ($s2)
/* 0483AC 7F01387C 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0)
/* 0483B0 7F013880 240500C7 */ li $a1, 199
/* 0483B4 7F013884 0C002382 */ jal play_sfx_a1
/* 0483B8 7F013888 00003025 */ move $a2, $zero
.L7F01388C:
/* 0483BC 7F01388C 00102600 */ sll $a0, $s0, 0x18
.L7F013890:
/* 0483C0 7F013890 00047603 */ sra $t6, $a0, 0x18
/* 0483C4 7F013894 01C02025 */ move $a0, $t6
/* 0483C8 7F013898 2405FFFE */ li $a1, -2
/* 0483CC 7F01389C 0C00312D */ jal joyGetStickXInRange
/* 0483D0 7F0138A0 03C03025 */ move $a2, $fp
/* 0483D4 7F0138A4 2401FFFF */ li $at, -1
/* 0483D8 7F0138A8 10410008 */ beq $v0, $at, .L7F0138CC
/* 0483DC 7F0138AC 00102600 */ sll $a0, $s0, 0x18
/* 0483E0 7F0138B0 00047E03 */ sra $t7, $a0, 0x18
/* 0483E4 7F0138B4 01E02025 */ move $a0, $t7
/* 0483E8 7F0138B8 2405FFFE */ li $a1, -2
/* 0483EC 7F0138BC 0C00312D */ jal joyGetStickXInRange
/* 0483F0 7F0138C0 03C03025 */ move $a2, $fp
/* 0483F4 7F0138C4 54400005 */ bnezl $v0, .L7F0138DC
/* 0483F8 7F0138C8 AE800000 */ sw $zero, ($s4)
.L7F0138CC:
/* 0483FC 7F0138CC AE9E0000 */ sw $fp, ($s4)
/* 048400 7F0138D0 10000003 */ b .L7F0138E0
/* 048404 7F0138D4 8E420000 */ lw $v0, ($s2)
/* 048408 7F0138D8 AE800000 */ sw $zero, ($s4)
.L7F0138DC:
/* 04840C 7F0138DC 8E420000 */ lw $v0, ($s2)
.L7F0138E0:
/* 048410 7F0138E0 10400004 */ beqz $v0, .L7F0138F4
/* 048414 7F0138E4 26310001 */ addiu $s1, $s1, 1
/* 048418 7F0138E8 8FB80044 */ lw $t8, 0x44($sp)
/* 04841C 7F0138EC 27190001 */ addiu $t9, $t8, 1
/* 048420 7F0138F0 AFB90044 */ sw $t9, 0x44($sp)
.L7F0138F4:
/* 048424 7F0138F4 26B50004 */ addiu $s5, $s5, 4
/* 048428 7F0138F8 1636FF67 */ bne $s1, $s6, .L7F013698
/* 04842C 7F0138FC 26520004 */ addiu $s2, $s2, 4
.L7F013900:
/* 048430 7F013900 3C108003 */ lui $s0, %hi(ptr_folder_object_instance)
/* 048434 7F013904 2610A95C */ addiu $s0, %lo(ptr_folder_object_instance) # addiu $s0, $s0, -0x56a4
/* 048438 7F013908 0FC02DC9 */ jal disable_all_switches
/* 04843C 7F01390C 8E040000 */ lw $a0, ($s0)
/* 048440 7F013910 8E040000 */ lw $a0, ($s0)
/* 048444 7F013914 00002825 */ move $a1, $zero
/* 048448 7F013918 0FC02DF0 */ jal set_item_visibility_in_objinstance
/* 04844C 7F01391C 24060001 */ li $a2, 1
/* 048450 7F013920 8E040000 */ lw $a0, ($s0)
/* 048454 7F013924 2405002A */ li $a1, 42
/* 048458 7F013928 0FC02DF0 */ jal set_item_visibility_in_objinstance
/* 04845C 7F01392C 24060001 */ li $a2, 1
/* 048460 7F013930 0FC026E1 */ jal menu_control_stick_tracking
/* 048464 7F013934 00000000 */ nop
/* 048468 7F013938 8FA80044 */ lw $t0, 0x44($sp)
/* 04846C 7F01393C 2404000E */ li $a0, 14
/* 048470 7F013940 55160004 */ bnel $t0, $s6, .L7F013954
/* 048474 7F013944 8FBF003C */ lw $ra, 0x3c($sp)
/* 048478 7F013948 0FC06975 */ jal set_menu_to_mode
/* 04847C 7F01394C 00002825 */ move $a1, $zero
/* 048480 7F013950 8FBF003C */ lw $ra, 0x3c($sp)
.L7F013954:
/* 048484 7F013954 8FB00018 */ lw $s0, 0x18($sp)
/* 048488 7F013958 8FB1001C */ lw $s1, 0x1c($sp)
/* 04848C 7F01395C 8FB20020 */ lw $s2, 0x20($sp)
/* 048490 7F013960 8FB30024 */ lw $s3, 0x24($sp)
/* 048494 7F013964 8FB40028 */ lw $s4, 0x28($sp)
/* 048498 7F013968 8FB5002C */ lw $s5, 0x2c($sp)
/* 04849C 7F01396C 8FB60030 */ lw $s6, 0x30($sp)
/* 0484A0 7F013970 8FB70034 */ lw $s7, 0x34($sp)
/* 0484A4 7F013974 8FBE0038 */ lw $fp, 0x38($sp)
/* 0484A8 7F013978 03E00008 */ jr $ra
/* 0484AC 7F01397C 27BD0050 */ addiu $sp, $sp, 0x50
)
#endif
#endif
#ifdef NONMATCHING
void constructor_menu11_mpcontrol(s32 arg0)
{
s32 spCC;
s32 spA4;
s32 spA0;
s32 sp9C;
s32 sp98;
s32 sp90;
s32 sp8C;
s32 sp88;
s32 sp84;
void *sp74;
void *sp70;
s32 temp_ret;
s32 temp_ret_2;
s32 temp_ret_3;
s32 temp_ret_4;
s32 temp_s1;
s32 temp_s1_2;
s32 temp_s6;
s32 temp_v0;
s32 phi_s6;
s32 phi_s3;
s32 phi_s2;
void *phi_v0;
s32 phi_s5;
s32 phi_s1;
s32 phi_s1_2;
s32 phi_v1;
s32 phi_v1_2;
spCC = get_selected_num_players();
temp_ret = microcode_constructor_related_to_menus(microcode_constructor(sub_GAME_7F00D5E8(viFillScreen(viSetFillColor(arg0, 0, 0, 0)))), 0x26, 0xa9, 0x184, 0xab, 0x90);
temp_s1 = temp_ret;
phi_v0 = temp_ret;
phi_s1_2 = temp_s1;
if (spCC >= 3)
{
temp_ret_2 = microcode_constructor_related_to_menus(temp_s1, 0xd4, 0x1e, 0xd6, 0x136, 0x80);
phi_v0 = temp_ret_2;
phi_s1_2 = temp_ret_2;
}
if (spCC > 0)
{
sp74 = &has_selected_char_player1;
sp70 = &controlstyle_player;
phi_s6 = 0;
loop_4:
if (spCC == 2)
{
if (phi_s6 > 0)
{
phi_s3 = 0x26;
phi_s2 = 0xaa;
phi_s5 = 0x15e;
}
else
{
phi_s3 = 0x26;
phi_s2 = 0 + 0x1e;
phi_s5 = 0x15e;
}
}
else
{
if (phi_s6 >= 2)
{
phi_v1_2 = 0x8c;
}
else
{
phi_v1_2 = 0;
}
if ((phi_s6 & 1) != 0)
{
phi_v1 = 0xaf;
}
else
{
phi_v1 = 0;
}
phi_s3 = phi_v1 + 0x26;
phi_s2 = phi_v1_2 + 0x1e;
phi_s5 = 0xaf;
}
temp_s1_2 = phi_v0 + 8;
phi_v0->unk0 = (s32) (((((s32) ((f32) (phi_s3 + 6) * 4.0f) & 0xfff) << 0xc) | 0xed000000) | ((s32) ((f32) (phi_s2 + 5) * 4.0f) & 0xfff));
phi_v0->unk4 = (s32) ((((s32) ((f32) ((phi_s3 + phi_s5) + -6) * 4.0f) & 0xfff) << 0xc) | ((s32) ((f32) (phi_s2 + 0x87) * 4.0f) & 0xfff));
phi_s1 = temp_s1_2;
if (*sp74 == 0)
{
temp_ret_3 = get_textptr_for_textID(TEXT(LTITLE, 0x11d));
sub_GAME_7F0AE98C(&spA4, &spA0, temp_ret_3, ptrSecondFontTableLarge, (s32) subroutine_arg0, 0);
sp9C = (s32) ((((s32) phi_s5 >> 1) + phi_s3) - (spA0 >> 1));
sp98 = (s32) ((phi_s2 - (spA4 >> 1)) + 0x37);
viGetX();
phi_s1 = write_text_at_abs_coord(microcode_constructor(temp_s1_2), &sp9C, &sp98, temp_ret_3, (s32) ptrSecondFontTableLarge, (s32) subroutine_arg0, 0xff, viGetY(), 0, 0);
}
temp_ret_4 = get_textptr_for_textID((0x80030000 + (*sp70 * 4))->unk-4B10);
sub_GAME_7F0AE98C(&sp90, &sp8C, temp_ret_4, ptrSecondFontTableLarge, (s32) subroutine_arg0, 0);
sp88 = (s32) ((((s32) phi_s5 >> 1) + phi_s3) - (sp8C >> 1));
sp84 = (s32) (((phi_s2 + 0x46) - (sp90 >> 1)) + 0xf);
viGetX();
temp_s6 = phi_s6 + 1;
sp70 = (void *) (sp70 + 4);
temp_v0 = write_text_at_abs_coord(microcode_constructor(phi_s1), &sp88, &sp84, temp_ret_4, (s32) ptrSecondFontTableLarge, (s32) subroutine_arg0, 0xff, viGetY(), 0, 0);
sp74 = (void *) (sp74 + 4);
phi_s6 = temp_s6;
phi_v0 = temp_v0;
phi_s1_2 = temp_v0;
if (temp_s6 != spCC)
{
goto loop_4;
}
}
combiner_bayer_lod_perspective(phi_s1_2);
}
#else
GLOBAL_ASM(
.text
glabel constructor_menu11_mpcontrol
/* 0484B0 7F013980 27BDFF30 */ addiu $sp, $sp, -0xd0
/* 0484B4 7F013984 AFBF0064 */ sw $ra, 0x64($sp)
/* 0484B8 7F013988 AFB10044 */ sw $s1, 0x44($sp)
/* 0484BC 7F01398C 00808825 */ move $s1, $a0
/* 0484C0 7F013990 AFBE0060 */ sw $fp, 0x60($sp)
/* 0484C4 7F013994 AFB7005C */ sw $s7, 0x5c($sp)
/* 0484C8 7F013998 AFB60058 */ sw $s6, 0x58($sp)
/* 0484CC 7F01399C AFB50054 */ sw $s5, 0x54($sp)
/* 0484D0 7F0139A0 AFB40050 */ sw $s4, 0x50($sp)
/* 0484D4 7F0139A4 AFB3004C */ sw $s3, 0x4c($sp)
/* 0484D8 7F0139A8 AFB20048 */ sw $s2, 0x48($sp)
/* 0484DC 7F0139AC AFB00040 */ sw $s0, 0x40($sp)
/* 0484E0 7F0139B0 0FC040A4 */ jal get_selected_num_players
/* 0484E4 7F0139B4 F7B40038 */ sdc1 $f20, 0x38($sp)
/* 0484E8 7F0139B8 AFA200CC */ sw $v0, 0xcc($sp)
/* 0484EC 7F0139BC 02202025 */ move $a0, $s1
/* 0484F0 7F0139C0 00002825 */ move $a1, $zero
/* 0484F4 7F0139C4 00003025 */ move $a2, $zero
/* 0484F8 7F0139C8 0C0011B4 */ jal viSetFillColor
/* 0484FC 7F0139CC 00003825 */ move $a3, $zero
/* 048500 7F0139D0 0C000FBE */ jal viFillScreen
/* 048504 7F0139D4 00402025 */ move $a0, $v0
/* 048508 7F0139D8 0FC0357A */ jal sub_GAME_7F00D5E8
/* 04850C 7F0139DC 00402025 */ move $a0, $v0
/* 048510 7F0139E0 0FC2B366 */ jal microcode_constructor
/* 048514 7F0139E4 00402025 */ move $a0, $v0
/* 048518 7F0139E8 240E00AB */ li $t6, 171
/* 04851C 7F0139EC 240F0090 */ li $t7, 144
/* 048520 7F0139F0 AFAF0014 */ sw $t7, 0x14($sp)
/* 048524 7F0139F4 AFAE0010 */ sw $t6, 0x10($sp)
/* 048528 7F0139F8 00402025 */ move $a0, $v0
/* 04852C 7F0139FC 24050026 */ li $a1, 38
/* 048530 7F013A00 240600A9 */ li $a2, 169
/* 048534 7F013A04 0FC2B405 */ jal microcode_constructor_related_to_menus
/* 048538 7F013A08 24070184 */ li $a3, 388
/* 04853C 7F013A0C 8FA800CC */ lw $t0, 0xcc($sp)
/* 048540 7F013A10 00408825 */ move $s1, $v0
/* 048544 7F013A14 02202025 */ move $a0, $s1
/* 048548 7F013A18 29010003 */ slti $at, $t0, 3
/* 04854C 7F013A1C 1420000A */ bnez $at, .L7F013A48
/* 048550 7F013A20 240500D4 */ li $a1, 212
/* 048554 7F013A24 24180136 */ li $t8, 310
/* 048558 7F013A28 24190080 */ li $t9, 128
/* 04855C 7F013A2C AFB90014 */ sw $t9, 0x14($sp)
/* 048560 7F013A30 AFB80010 */ sw $t8, 0x10($sp)
/* 048564 7F013A34 2406001E */ li $a2, 30
/* 048568 7F013A38 0FC2B405 */ jal microcode_constructor_related_to_menus
/* 04856C 7F013A3C 240700D6 */ li $a3, 214
/* 048570 7F013A40 00408825 */ move $s1, $v0
/* 048574 7F013A44 8FA800CC */ lw $t0, 0xcc($sp)
.L7F013A48:
/* 048578 7F013A48 190000BC */ blez $t0, .L7F013D3C
/* 04857C 7F013A4C 0000B025 */ move $s6, $zero
/* 048580 7F013A50 3C098007 */ lui $t1, %hi(has_selected_char_player1)
/* 048584 7F013A54 3C0A8007 */ lui $t2, %hi(controlstyle_player)
/* 048588 7F013A58 3C014080 */ li $at, 0x40800000 # 4.000000
/* 04858C 7F013A5C 254A97B8 */ addiu $t2, %lo(controlstyle_player) # addiu $t2, $t2, -0x6848
/* 048590 7F013A60 25299740 */ addiu $t1, %lo(has_selected_char_player1) # addiu $t1, $t1, -0x68c0
/* 048594 7F013A64 3C1E8004 */ lui $fp, %hi(ptrFirstFontTableLarge)
/* 048598 7F013A68 3C178004 */ lui $s7, %hi(ptrSecondFontTableLarge)
/* 04859C 7F013A6C 4481A000 */ mtc1 $at, $f20
/* 0485A0 7F013A70 26F70EB8 */ addiu $s7, %lo(ptrSecondFontTableLarge) # addiu $s7, $s7, 0xeb8
/* 0485A4 7F013A74 27DE0EB4 */ addiu $fp, %lo(ptrFirstFontTableLarge) # addiu $fp, $fp, 0xeb4
/* 0485A8 7F013A78 AFA90074 */ sw $t1, 0x74($sp)
/* 0485AC 7F013A7C AFAA0070 */ sw $t2, 0x70($sp)
.L7F013A80:
/* 0485B0 7F013A80 8FA800CC */ lw $t0, 0xcc($sp)
/* 0485B4 7F013A84 24010002 */ li $at, 2
/* 0485B8 7F013A88 24130026 */ li $s3, 38
/* 0485BC 7F013A8C 15010008 */ bne $t0, $at, .L7F013AB0
/* 0485C0 7F013A90 32CB0001 */ andi $t3, $s6, 1
/* 0485C4 7F013A94 1AC00003 */ blez $s6, .L7F013AA4
/* 0485C8 7F013A98 2415015E */ li $s5, 350
/* 0485CC 7F013A9C 10000010 */ b .L7F013AE0
/* 0485D0 7F013AA0 241200AA */ li $s2, 170
.L7F013AA4:
/* 0485D4 7F013AA4 00001825 */ move $v1, $zero
/* 0485D8 7F013AA8 1000000D */ b .L7F013AE0
/* 0485DC 7F013AAC 2472001E */ addiu $s2, $v1, 0x1e
.L7F013AB0:
/* 0485E0 7F013AB0 2AC10002 */ slti $at, $s6, 2
/* 0485E4 7F013AB4 14200003 */ bnez $at, .L7F013AC4
/* 0485E8 7F013AB8 241500AF */ li $s5, 175
/* 0485EC 7F013ABC 10000002 */ b .L7F013AC8
/* 0485F0 7F013AC0 2403008C */ li $v1, 140
.L7F013AC4:
/* 0485F4 7F013AC4 00001825 */ move $v1, $zero
.L7F013AC8:
/* 0485F8 7F013AC8 11600003 */ beqz $t3, .L7F013AD8
/* 0485FC 7F013ACC 2472001E */ addiu $s2, $v1, 0x1e
/* 048600 7F013AD0 10000002 */ b .L7F013ADC
/* 048604 7F013AD4 240300AF */ li $v1, 175
.L7F013AD8:
/* 048608 7F013AD8 00001825 */ move $v1, $zero
.L7F013ADC:
/* 04860C 7F013ADC 24730026 */ addiu $s3, $v1, 0x26
.L7F013AE0:
/* 048610 7F013AE0 266C0006 */ addiu $t4, $s3, 6
/* 048614 7F013AE4 448C2000 */ mtc1 $t4, $f4
/* 048618 7F013AE8 26490005 */ addiu $t1, $s2, 5
/* 04861C 7F013AEC 44898000 */ mtc1 $t1, $f16
/* 048620 7F013AF0 468021A0 */ cvt.s.w $f6, $f4
/* 048624 7F013AF4 3C01ED00 */ lui $at, 0xed00
/* 048628 7F013AF8 24510008 */ addiu $s1, $v0, 8
/* 04862C 7F013AFC 468084A0 */ cvt.s.w $f18, $f16
/* 048630 7F013B00 46143202 */ mul.s $f8, $f6, $f20
/* 048634 7F013B04 4600428D */ trunc.w.s $f10, $f8
/* 048638 7F013B08 46149102 */ mul.s $f4, $f18, $f20
/* 04863C 7F013B0C 440E5000 */ mfc1 $t6, $f10
/* 048640 7F013B10 00000000 */ nop
/* 048644 7F013B14 31CF0FFF */ andi $t7, $t6, 0xfff
/* 048648 7F013B18 4600218D */ trunc.w.s $f6, $f4
/* 04864C 7F013B1C 000FC300 */ sll $t8, $t7, 0xc
/* 048650 7F013B20 02757021 */ addu $t6, $s3, $s5
/* 048654 7F013B24 25CFFFFA */ addiu $t7, $t6, -6
/* 048658 7F013B28 440B3000 */ mfc1 $t3, $f6
/* 04865C 7F013B2C 448F4000 */ mtc1 $t7, $f8
/* 048660 7F013B30 0301C825 */ or $t9, $t8, $at
/* 048664 7F013B34 316C0FFF */ andi $t4, $t3, 0xfff
/* 048668 7F013B38 032C6825 */ or $t5, $t9, $t4
/* 04866C 7F013B3C 26590087 */ addiu $t9, $s2, 0x87
/* 048670 7F013B40 468042A0 */ cvt.s.w $f10, $f8
/* 048674 7F013B44 44992000 */ mtc1 $t9, $f4
/* 048678 7F013B48 AC4D0000 */ sw $t5, ($v0)
/* 04867C 7F013B4C 468021A0 */ cvt.s.w $f6, $f4
/* 048680 7F013B50 46145402 */ mul.s $f16, $f10, $f20
/* 048684 7F013B54 00000000 */ nop
/* 048688 7F013B58 46143202 */ mul.s $f8, $f6, $f20
/* 04868C 7F013B5C 4600848D */ trunc.w.s $f18, $f16
/* 048690 7F013B60 4600428D */ trunc.w.s $f10, $f8
/* 048694 7F013B64 44099000 */ mfc1 $t1, $f18
/* 048698 7F013B68 440D5000 */ mfc1 $t5, $f10
/* 04869C 7F013B6C 312A0FFF */ andi $t2, $t1, 0xfff
/* 0486A0 7F013B70 000A5B00 */ sll $t3, $t2, 0xc
/* 0486A4 7F013B74 31AE0FFF */ andi $t6, $t5, 0xfff
/* 0486A8 7F013B78 016E7825 */ or $t7, $t3, $t6
/* 0486AC 7F013B7C AC4F0004 */ sw $t7, 4($v0)
/* 0486B0 7F013B80 8FB80074 */ lw $t8, 0x74($sp)
/* 0486B4 7F013B84 8F090000 */ lw $t1, ($t8)
/* 0486B8 7F013B88 1520002F */ bnez $t1, .L7F013C48
/* 0486BC 7F013B8C 00000000 */ nop
/* 0486C0 7F013B90 0FC30776 */ jal get_textptr_for_textID
/* 0486C4 7F013B94 34049D1D */ li $a0, 40221
/* 0486C8 7F013B98 8FCA0000 */ lw $t2, ($fp)
/* 0486CC 7F013B9C 0040A025 */ move $s4, $v0
/* 0486D0 7F013BA0 27A400A4 */ addiu $a0, $sp, 0xa4
/* 0486D4 7F013BA4 27A500A0 */ addiu $a1, $sp, 0xa0
/* 0486D8 7F013BA8 00403025 */ move $a2, $v0
/* 0486DC 7F013BAC 8EE70000 */ lw $a3, ($s7)
/* 0486E0 7F013BB0 AFA00014 */ sw $zero, 0x14($sp)
/* 0486E4 7F013BB4 0FC2BA63 */ jal sub_GAME_7F0AE98C
/* 0486E8 7F013BB8 AFAA0010 */ sw $t2, 0x10($sp)
/* 0486EC 7F013BBC 8FAF00A4 */ lw $t7, 0xa4($sp)
/* 0486F0 7F013BC0 8FAD00A0 */ lw $t5, 0xa0($sp)
/* 0486F4 7F013BC4 0015C843 */ sra $t9, $s5, 1
/* 0486F8 7F013BC8 000FC043 */ sra $t8, $t7, 1
/* 0486FC 7F013BCC 03336021 */ addu $t4, $t9, $s3
/* 048700 7F013BD0 02584823 */ subu $t1, $s2, $t8
/* 048704 7F013BD4 000D5843 */ sra $t3, $t5, 1
/* 048708 7F013BD8 018B7023 */ subu $t6, $t4, $t3
/* 04870C 7F013BDC 252A0037 */ addiu $t2, $t1, 0x37
/* 048710 7F013BE0 AFAE009C */ sw $t6, 0x9c($sp)
/* 048714 7F013BE4 AFAA0098 */ sw $t2, 0x98($sp)
/* 048718 7F013BE8 0FC2B366 */ jal microcode_constructor
/* 04871C 7F013BEC 02202025 */ move $a0, $s1
/* 048720 7F013BF0 0C001107 */ jal viGetX
/* 048724 7F013BF4 00408825 */ move $s1, $v0
/* 048728 7F013BF8 00028400 */ sll $s0, $v0, 0x10
/* 04872C 7F013BFC 0010CC03 */ sra $t9, $s0, 0x10
/* 048730 7F013C00 0C00110B */ jal viGetY
/* 048734 7F013C04 03208025 */ move $s0, $t9
/* 048738 7F013C08 8EED0000 */ lw $t5, ($s7)
/* 04873C 7F013C0C 8FCC0000 */ lw $t4, ($fp)
/* 048740 7F013C10 240B00FF */ li $t3, 255
/* 048744 7F013C14 AFAB0018 */ sw $t3, 0x18($sp)
/* 048748 7F013C18 02202025 */ move $a0, $s1
/* 04874C 7F013C1C 27A5009C */ addiu $a1, $sp, 0x9c
/* 048750 7F013C20 27A60098 */ addiu $a2, $sp, 0x98
/* 048754 7F013C24 02803825 */ move $a3, $s4
/* 048758 7F013C28 AFB0001C */ sw $s0, 0x1c($sp)
/* 04875C 7F013C2C AFA20020 */ sw $v0, 0x20($sp)
/* 048760 7F013C30 AFA00024 */ sw $zero, 0x24($sp)
/* 048764 7F013C34 AFA00028 */ sw $zero, 0x28($sp)
/* 048768 7F013C38 AFAD0010 */ sw $t5, 0x10($sp)
/* 04876C 7F013C3C 0FC025D8 */ jal write_text_at_abs_coord
/* 048770 7F013C40 AFAC0014 */ sw $t4, 0x14($sp)
/* 048774 7F013C44 00408825 */ move $s1, $v0
.L7F013C48:
/* 048778 7F013C48 8FAE0070 */ lw $t6, 0x70($sp)
/* 04877C 7F013C4C 3C048003 */ lui $a0, %hi(MP_controller_configuration_table)
/* 048780 7F013C50 00154843 */ sra $t1, $s5, 1
/* 048784 7F013C54 8DCF0000 */ lw $t7, ($t6)
/* 048788 7F013C58 01338021 */ addu $s0, $t1, $s3
/* 04878C 7F013C5C 26540046 */ addiu $s4, $s2, 0x46
/* 048790 7F013C60 000FC080 */ sll $t8, $t7, 2
/* 048794 7F013C64 00982021 */ addu $a0, $a0, $t8
/* 048798 7F013C68 0FC30776 */ jal get_textptr_for_textID
/* 04879C 7F013C6C 9484B4F0 */ lhu $a0, %lo(MP_controller_configuration_table)($a0)
/* 0487A0 7F013C70 8FCA0000 */ lw $t2, ($fp)
/* 0487A4 7F013C74 00409025 */ move $s2, $v0
/* 0487A8 7F013C78 27A40090 */ addiu $a0, $sp, 0x90
/* 0487AC 7F013C7C 27A5008C */ addiu $a1, $sp, 0x8c
/* 0487B0 7F013C80 00403025 */ move $a2, $v0
/* 0487B4 7F013C84 8EE70000 */ lw $a3, ($s7)
/* 0487B8 7F013C88 AFA00014 */ sw $zero, 0x14($sp)
/* 0487BC 7F013C8C 0FC2BA63 */ jal sub_GAME_7F0AE98C
/* 0487C0 7F013C90 AFAA0010 */ sw $t2, 0x10($sp)
/* 0487C4 7F013C94 8FAB0090 */ lw $t3, 0x90($sp)
/* 0487C8 7F013C98 8FB9008C */ lw $t9, 0x8c($sp)
/* 0487CC 7F013C9C 02202025 */ move $a0, $s1
/* 0487D0 7F013CA0 000B7043 */ sra $t6, $t3, 1
/* 0487D4 7F013CA4 028E7823 */ subu $t7, $s4, $t6
/* 0487D8 7F013CA8 00196843 */ sra $t5, $t9, 1
/* 0487DC 7F013CAC 020D6023 */ subu $t4, $s0, $t5
/* 0487E0 7F013CB0 25F8000F */ addiu $t8, $t7, 0xf
/* 0487E4 7F013CB4 AFAC0088 */ sw $t4, 0x88($sp)
/* 0487E8 7F013CB8 0FC2B366 */ jal microcode_constructor
/* 0487EC 7F013CBC AFB80084 */ sw $t8, 0x84($sp)
/* 0487F0 7F013CC0 0C001107 */ jal viGetX
/* 0487F4 7F013CC4 00408825 */ move $s1, $v0
/* 0487F8 7F013CC8 00028400 */ sll $s0, $v0, 0x10
/* 0487FC 7F013CCC 00104C03 */ sra $t1, $s0, 0x10
/* 048800 7F013CD0 0C00110B */ jal viGetY
/* 048804 7F013CD4 01208025 */ move $s0, $t1
/* 048808 7F013CD8 8EEA0000 */ lw $t2, ($s7)
/* 04880C 7F013CDC 8FD90000 */ lw $t9, ($fp)
/* 048810 7F013CE0 240D00FF */ li $t5, 255
/* 048814 7F013CE4 AFAD0018 */ sw $t5, 0x18($sp)
/* 048818 7F013CE8 02202025 */ move $a0, $s1
/* 04881C 7F013CEC 27A50088 */ addiu $a1, $sp, 0x88
/* 048820 7F013CF0 27A60084 */ addiu $a2, $sp, 0x84
/* 048824 7F013CF4 02403825 */ move $a3, $s2
/* 048828 7F013CF8 AFB0001C */ sw $s0, 0x1c($sp)
/* 04882C 7F013CFC AFA20020 */ sw $v0, 0x20($sp)
/* 048830 7F013D00 AFA00024 */ sw $zero, 0x24($sp)
/* 048834 7F013D04 AFA00028 */ sw $zero, 0x28($sp)
/* 048838 7F013D08 AFAA0010 */ sw $t2, 0x10($sp)
/* 04883C 7F013D0C 0FC025D8 */ jal write_text_at_abs_coord
/* 048840 7F013D10 AFB90014 */ sw $t9, 0x14($sp)
/* 048844 7F013D14 8FAC0074 */ lw $t4, 0x74($sp)
/* 048848 7F013D18 8FAE0070 */ lw $t6, 0x70($sp)
/* 04884C 7F013D1C 8FB800CC */ lw $t8, 0xcc($sp)
/* 048850 7F013D20 26D60001 */ addiu $s6, $s6, 1
/* 048854 7F013D24 258B0004 */ addiu $t3, $t4, 4
/* 048858 7F013D28 25CF0004 */ addiu $t7, $t6, 4
/* 04885C 7F013D2C AFAF0070 */ sw $t7, 0x70($sp)
/* 048860 7F013D30 AFAB0074 */ sw $t3, 0x74($sp)
/* 048864 7F013D34 16D8FF52 */ bne $s6, $t8, .L7F013A80
/* 048868 7F013D38 00408825 */ move $s1, $v0
.L7F013D3C:
/* 04886C 7F013D3C 0FC2B3BC */ jal combiner_bayer_lod_perspective
/* 048870 7F013D40 02202025 */ move $a0, $s1
/* 048874 7F013D44 8FBF0064 */ lw $ra, 0x64($sp)
/* 048878 7F013D48 D7B40038 */ ldc1 $f20, 0x38($sp)
/* 04887C 7F013D4C 8FB00040 */ lw $s0, 0x40($sp)
/* 048880 7F013D50 8FB10044 */ lw $s1, 0x44($sp)
/* 048884 7F013D54 8FB20048 */ lw $s2, 0x48($sp)
/* 048888 7F013D58 8FB3004C */ lw $s3, 0x4c($sp)
/* 04888C 7F013D5C 8FB40050 */ lw $s4, 0x50($sp)
/* 048890 7F013D60 8FB50054 */ lw $s5, 0x54($sp)
/* 048894 7F013D64 8FB60058 */ lw $s6, 0x58($sp)
/* 048898 7F013D68 8FB7005C */ lw $s7, 0x5c($sp)
/* 04889C 7F013D6C 8FBE0060 */ lw $fp, 0x60($sp)
/* 0488A0 7F013D70 03E00008 */ jr $ra
/* 0488A4 7F013D74 27BD00D0 */ addiu $sp, $sp, 0xd0
)
#endif
void init_menu12_mpstage(void)
{
tab_1_selected = FALSE;
tab_2_selected = FALSE;
tab_3_selected = FALSE;
tab_3_highlight = FALSE;
tab_2_highlight = FALSE;
tab_1_highlight = FALSE;
current_mp_stage_highlighted = MP_STAGE_RANDOM;
load_walletbond();
}
void update_menu12_mpstage(void) {
return;
}
#ifdef NONMATCHING
void interface_menu12_mpstage(void)
{
s32 temp_a0;
s32 temp_a0_2;
s32 temp_f10;
s32 temp_f6;
s32 phi_v1;
s32 phi_v0;
viSetFovY(0x42700000);
viSetAspect(D_80051AA0);
viSetZRange(0x42c80000, D_80051AA4);
viSetUseZBuf(0);
if (joyGetButtons(0, 0xb000) == 0)
{
tab_3_highlight = 0;
tab_2_highlight = 0;
tab_1_highlight = 0;
if (isontab3() != 0)
{
cursor_v_pos = 1;
}
else
{
temp_f6 = (s32) *(void *)0x80030000;
if (temp_f6 >= 0xf0)
{
phi_v1 = 2;
}
else
{
phi_v1 = 0;
if (temp_f6 >= 0xaa)
{
phi_v1 = 1;
}
}
temp_f10 = (s32) cursor_h_pos;
if (temp_f10 >= 0x124)
{
phi_v0 = 3;
}
else
{
if (temp_f10 >= 0xcf)
{
phi_v0 = 2;
}
else
{
phi_v0 = 0;
if (temp_f10 >= 0x7a)
{
phi_v0 = 1;
}
}
}
temp_a0 = (phi_v1 * 4) + phi_v0;
current_mp_stage_highlighted = temp_a0;
if (check_if_mp_stage_unlocked(temp_a0) == 0)
{
loop_14:
temp_a0_2 = current_mp_stage_highlighted + -1;
current_mp_stage_highlighted = temp_a0_2;
if (check_if_mp_stage_unlocked(temp_a0_2) == 0)
{
goto loop_14;
}
}
}
}
if (joyGetButtonsPressedThisFrame(0, 0xb000) != 0)
{
if (tab_3_highlight != 0)
{
tab_3_selected = 1;
}
else
{
if (current_mp_stage_highlighted >= 0)
{
tab_2_selected = 1;
MP_stage_selected = (s32) current_mp_stage_highlighted;
}
}
play_sfx_a1(g_musicSfxBufferPtr, 0xc7, 0);
}
else
{
if (joyGetButtonsPressedThisFrame(0, 0x4000) != 0)
{
tab_3_selected = 1;
play_sfx_a1(g_musicSfxBufferPtr, 0xc7, 0);
}
}
disable_all_switches(ptr_folder_object_instance);
set_item_visibility_in_objinstance(ptr_folder_object_instance, 0, 1);
set_item_visibility_in_objinstance(ptr_folder_object_instance, 0x2a, 1);
set_item_visibility_in_objinstance(ptr_folder_object_instance, 3, 1);
menu_control_stick_tracking();
if (tab_2_selected != 0)
{
set_menu_to_mode(MENU_MP_OPTIONS, 0);
return;
}
if (tab_3_selected != 0)
{
set_menu_to_mode(MENU_MP_OPTIONS, 0);
}
}
#else
GLOBAL_ASM(
.late_rodata
glabel D_80051AA0
.word 0x3FAAAAAB /*1.3333334;*/
glabel D_80051AA4
.word 0x461C4000 /*10000.0;*/
.text
glabel interface_menu12_mpstage
/* 048904 7F013DD4 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 048908 7F013DD8 3C014270 */ li $at, 0x42700000 # 60.000000
/* 04890C 7F013DDC AFBF001C */ sw $ra, 0x1c($sp)
/* 048910 7F013DE0 44816000 */ mtc1 $at, $f12
/* 048914 7F013DE4 0C001151 */ jal viSetFovY
/* 048918 7F013DE8 AFB00018 */ sw $s0, 0x18($sp)
/* 04891C 7F013DEC 3C018005 */ lui $at, %hi(D_80051AA0)
/* 048920 7F013DF0 0C001164 */ jal viSetAspect
/* 048924 7F013DF4 C42C1AA0 */ lwc1 $f12, %lo(D_80051AA0)($at)
/* 048928 7F013DF8 3C0142C8 */ li $at, 0x42C80000 # 100.000000
/* 04892C 7F013DFC 44816000 */ mtc1 $at, $f12
/* 048930 7F013E00 3C018005 */ lui $at, %hi(D_80051AA4)
/* 048934 7F013E04 0C001194 */ jal viSetZRange
/* 048938 7F013E08 C42E1AA4 */ lwc1 $f14, %lo(D_80051AA4)($at)
/* 04893C 7F013E0C 0C00114D */ jal viSetUseZBuf
/* 048940 7F013E10 00002025 */ move $a0, $zero
/* 048944 7F013E14 00002025 */ move $a0, $zero
/* 048948 7F013E18 0C0030C3 */ jal joyGetButtons
/* 04894C 7F013E1C 3405B000 */ li $a1, 45056
/* 048950 7F013E20 1440003D */ bnez $v0, .L7F013F18
/* 048954 7F013E24 3C018003 */ lui $at, %hi(tab_3_highlight)
/* 048958 7F013E28 AC20A8E4 */ sw $zero, %lo(tab_3_highlight)($at)
/* 04895C 7F013E2C 3C018003 */ lui $at, %hi(tab_2_highlight)
/* 048960 7F013E30 AC20A8E0 */ sw $zero, %lo(tab_2_highlight)($at)
/* 048964 7F013E34 3C018003 */ lui $at, %hi(tab_1_highlight)
/* 048968 7F013E38 0FC028E7 */ jal isontab3
/* 04896C 7F013E3C AC20A8DC */ sw $zero, %lo(tab_1_highlight)($at)
/* 048970 7F013E40 10400005 */ beqz $v0, .L7F013E58
/* 048974 7F013E44 3C018003 */ lui $at, %hi(cursor_v_pos)
/* 048978 7F013E48 240E0001 */ li $t6, 1
/* 04897C 7F013E4C 3C018003 */ lui $at, %hi(tab_3_highlight)
/* 048980 7F013E50 10000031 */ b .L7F013F18
/* 048984 7F013E54 AC2EA8E4 */ sw $t6, %lo(tab_3_highlight)($at)
.L7F013E58:
/* 048988 7F013E58 C424A90C */ lwc1 $f4, %lo(cursor_v_pos)($at)
/* 04898C 7F013E5C 3C108007 */ lui $s0, %hi(current_mp_stage_highlighted)
/* 048990 7F013E60 2610977C */ addiu $s0, %lo(current_mp_stage_highlighted) # addiu $s0, $s0, -0x6884
/* 048994 7F013E64 4600218D */ trunc.w.s $f6, $f4
/* 048998 7F013E68 44023000 */ mfc1 $v0, $f6
/* 04899C 7F013E6C 00000000 */ nop
/* 0489A0 7F013E70 284100F0 */ slti $at, $v0, 0xf0
/* 0489A4 7F013E74 54200004 */ bnezl $at, .L7F013E88
/* 0489A8 7F013E78 284100AA */ slti $at, $v0, 0xaa
/* 0489AC 7F013E7C 10000006 */ b .L7F013E98
/* 0489B0 7F013E80 24030002 */ li $v1, 2
/* 0489B4 7F013E84 284100AA */ slti $at, $v0, 0xaa
.L7F013E88:
/* 0489B8 7F013E88 14200003 */ bnez $at, .L7F013E98
/* 0489BC 7F013E8C 00001825 */ move $v1, $zero
/* 0489C0 7F013E90 10000001 */ b .L7F013E98
/* 0489C4 7F013E94 24030001 */ li $v1, 1
.L7F013E98:
/* 0489C8 7F013E98 3C018003 */ lui $at, %hi(cursor_h_pos)
/* 0489CC 7F013E9C C428A908 */ lwc1 $f8, %lo(cursor_h_pos)($at)
/* 0489D0 7F013EA0 0003C880 */ sll $t9, $v1, 2
/* 0489D4 7F013EA4 4600428D */ trunc.w.s $f10, $f8
/* 0489D8 7F013EA8 44025000 */ mfc1 $v0, $f10
/* 0489DC 7F013EAC 00000000 */ nop
/* 0489E0 7F013EB0 28410124 */ slti $at, $v0, 0x124
/* 0489E4 7F013EB4 54200004 */ bnezl $at, .L7F013EC8
/* 0489E8 7F013EB8 284100CF */ slti $at, $v0, 0xcf
/* 0489EC 7F013EBC 1000000B */ b .L7F013EEC
/* 0489F0 7F013EC0 24020003 */ li $v0, 3
/* 0489F4 7F013EC4 284100CF */ slti $at, $v0, 0xcf
.L7F013EC8:
/* 0489F8 7F013EC8 54200004 */ bnezl $at, .L7F013EDC
/* 0489FC 7F013ECC 2841007A */ slti $at, $v0, 0x7a
/* 048A00 7F013ED0 10000006 */ b .L7F013EEC
/* 048A04 7F013ED4 24020002 */ li $v0, 2
/* 048A08 7F013ED8 2841007A */ slti $at, $v0, 0x7a
.L7F013EDC:
/* 048A0C 7F013EDC 14200003 */ bnez $at, .L7F013EEC
/* 048A10 7F013EE0 00001025 */ move $v0, $zero
/* 048A14 7F013EE4 10000001 */ b .L7F013EEC
/* 048A18 7F013EE8 24020001 */ li $v0, 1
.L7F013EEC:
/* 048A1C 7F013EEC 03222021 */ addu $a0, $t9, $v0
/* 048A20 7F013EF0 0FC04034 */ jal check_if_mp_stage_unlocked
/* 048A24 7F013EF4 AE040000 */ sw $a0, ($s0)
/* 048A28 7F013EF8 14400007 */ bnez $v0, .L7F013F18
/* 048A2C 7F013EFC 00000000 */ nop
/* 048A30 7F013F00 8E090000 */ lw $t1, ($s0)
.L7F013F04:
/* 048A34 7F013F04 2524FFFF */ addiu $a0, $t1, -1
/* 048A38 7F013F08 0FC04034 */ jal check_if_mp_stage_unlocked
/* 048A3C 7F013F0C AE040000 */ sw $a0, ($s0)
/* 048A40 7F013F10 5040FFFC */ beql $v0, $zero, .L7F013F04
/* 048A44 7F013F14 8E090000 */ lw $t1, ($s0)
.L7F013F18:
/* 048A48 7F013F18 3C108007 */ lui $s0, %hi(current_mp_stage_highlighted)
/* 048A4C 7F013F1C 2610977C */ addiu $s0, %lo(current_mp_stage_highlighted) # addiu $s0, $s0, -0x6884
/* 048A50 7F013F20 00002025 */ move $a0, $zero
/* 048A54 7F013F24 0C0030EB */ jal joyGetButtonsPressedThisFrame
/* 048A58 7F013F28 3405B000 */ li $a1, 45056
/* 048A5C 7F013F2C 10400015 */ beqz $v0, .L7F013F84
/* 048A60 7F013F30 24030001 */ li $v1, 1
/* 048A64 7F013F34 3C0B8003 */ lui $t3, %hi(tab_3_highlight)
/* 048A68 7F013F38 8D6BA8E4 */ lw $t3, %lo(tab_3_highlight)($t3)
/* 048A6C 7F013F3C 3C048006 */ lui $a0, %hi(g_musicSfxBufferPtr)
/* 048A70 7F013F40 240500C7 */ li $a1, 199
/* 048A74 7F013F44 11600004 */ beqz $t3, .L7F013F58
/* 048A78 7F013F48 00003025 */ move $a2, $zero
/* 048A7C 7F013F4C 3C018003 */ lui $at, %hi(tab_3_selected)
/* 048A80 7F013F50 10000008 */ b .L7F013F74
/* 048A84 7F013F54 AC23A8D8 */ sw $v1, %lo(tab_3_selected)($at)
.L7F013F58:
/* 048A88 7F013F58 8E020000 */ lw $v0, ($s0)
/* 048A8C 7F013F5C 3C018003 */ lui $at, %hi(tab_2_selected)
/* 048A90 7F013F60 04400004 */ bltz $v0, .L7F013F74
/* 048A94 7F013F64 00000000 */ nop
/* 048A98 7F013F68 AC23A8D4 */ sw $v1, %lo(tab_2_selected)($at)
/* 048A9C 7F013F6C 3C018003 */ lui $at, %hi(MP_stage_selected)
/* 048AA0 7F013F70 AC22B534 */ sw $v0, %lo(MP_stage_selected)($at)
.L7F013F74:
/* 048AA4 7F013F74 0C002382 */ jal play_sfx_a1
/* 048AA8 7F013F78 8C843720 */ lw $a0, %lo(g_musicSfxBufferPtr)($a0)
/* 048AAC 7F013F7C 1000000D */ b .L7F013FB4
/* 048AB0 7F013F80 00000000 */ nop
.L7F013F84:
/* 048AB4 7F013F84 00002025 */ move $a0, $zero
/* 048AB8 7F013F88 0C0030EB */ jal joyGetButtonsPressedThisFrame
/* 048ABC 7F013F8C 24054000 */ li $a1, 16384
/* 048AC0 7F013F90 10400008 */ beqz $v0, .L7F013FB4
/* 048AC4 7F013F94 24030001 */ li $v1, 1
/* 048AC8 7F013F98 3C018003 */ lui $at, %hi(tab_3_selected)
/* 048ACC 7F013F9C 3C048006 */ lui $a0, %hi(g_musicSfxBufferPtr)
/* 048AD0 7F013FA0 AC23A8D8 */ sw $v1, %lo(tab_3_selected)($at)
/* 048AD4 7F013FA4 8C843720 */ lw $a0, %lo(g_musicSfxBufferPtr)($a0)
/* 048AD8 7F013FA8 240500C7 */ li $a1, 199
/* 048ADC 7F013FAC 0C002382 */ jal play_sfx_a1
/* 048AE0 7F013FB0 00003025 */ move $a2, $zero
.L7F013FB4:
/* 048AE4 7F013FB4 3C108003 */ lui $s0, %hi(ptr_folder_object_instance)
/* 048AE8 7F013FB8 2610A95C */ addiu $s0, %lo(ptr_folder_object_instance) # addiu $s0, $s0, -0x56a4
/* 048AEC 7F013FBC 0FC02DC9 */ jal disable_all_switches
/* 048AF0 7F013FC0 8E040000 */ lw $a0, ($s0)
/* 048AF4 7F013FC4 8E040000 */ lw $a0, ($s0)
/* 048AF8 7F013FC8 00002825 */ move $a1, $zero
/* 048AFC 7F013FCC 0FC02DF0 */ jal set_item_visibility_in_objinstance
/* 048B00 7F013FD0 24060001 */ li $a2, 1
/* 048B04 7F013FD4 8E040000 */ lw $a0, ($s0)
/* 048B08 7F013FD8 2405002A */ li $a1, 42
/* 048B0C 7F013FDC 0FC02DF0 */ jal set_item_visibility_in_objinstance
/* 048B10 7F013FE0 24060001 */ li $a2, 1
/* 048B14 7F013FE4 8E040000 */ lw $a0, ($s0)
/* 048B18 7F013FE8 24050003 */ li $a1, 3
/* 048B1C 7F013FEC 0FC02DF0 */ jal set_item_visibility_in_objinstance
/* 048B20 7F013FF0 24060001 */ li $a2, 1
/* 048B24 7F013FF4 0FC026E1 */ jal menu_control_stick_tracking
/* 048B28 7F013FF8 00000000 */ nop
/* 048B2C 7F013FFC 3C0C8003 */ lui $t4, %hi(tab_2_selected)
/* 048B30 7F014000 8D8CA8D4 */ lw $t4, %lo(tab_2_selected)($t4)
/* 048B34 7F014004 2404000E */ li $a0, 14
/* 048B38 7F014008 3C0D8003 */ lui $t5, %hi(tab_3_selected)
/* 048B3C 7F01400C 11800005 */ beqz $t4, .L7F014024
/* 048B40 7F014010 00000000 */ nop
/* 048B44 7F014014 0FC06975 */ jal set_menu_to_mode
/* 048B48 7F014018 00002825 */ move $a1, $zero
/* 048B4C 7F01401C 10000008 */ b .L7F014040
/* 048B50 7F014020 8FBF001C */ lw $ra, 0x1c($sp)
.L7F014024:
/* 048B54 7F014024 8DADA8D8 */ lw $t5, %lo(tab_3_selected)($t5)
/* 048B58 7F014028 2404000E */ li $a0, 14
/* 048B5C 7F01402C 51A00004 */ beql $t5, $zero, .L7F014040
/* 048B60 7F014030 8FBF001C */ lw $ra, 0x1c($sp)
/* 048B64 7F014034 0FC06975 */ jal set_menu_to_mode
/* 048B68 7F014038 00002825 */ move $a1, $zero
/* 048B6C 7F01403C 8FBF001C */ lw $ra, 0x1c($sp)
.L7F014040:
/* 048B70 7F014040 8FB00018 */ lw $s0, 0x18($sp)
/* 048B74 7F014044 27BD0020 */ addiu $sp, $sp, 0x20
/* 048B78 7F014048 03E00008 */ jr $ra
/* 048B7C 7F01404C 00000000 */ nop
)
#endif
#ifdef NONMATCHING
void constructor_menu12_mpstage(s32 arg0)
{
s32 sp130;
s32 sp12C;
s32 sp128;
s32 sp124;
f32 sp104;
f32 sp100;
f32 spF8;
f32 spDC;
f32 spD8;
f32 spD4;
f32 spD0;
s32 spB4;
s32 sp9C;
s32 sp90;
s32 temp_a2;
s32 temp_ret;
s32 temp_ret_2;
s32 temp_ret_3;
s32 temp_ret_4;
s32 temp_ret_5;
s32 temp_ret_6;
s32 temp_ret_7;
s32 temp_s0;
s32 temp_s1;
s32 temp_s1_2;
s32 temp_s2;
s32 temp_s4_3;
s32 temp_s5_2;
s32 temp_s7;
s32 temp_t1;
s32 temp_t4;
s32 temp_t5;
s32 temp_t7;
s32 temp_t9;
s32 temp_v0;
s32 temp_v0_2;
s32 temp_v0_3;
s32 temp_v0_4;
void *temp_s0_2;
void *temp_s0_3;
void *temp_s3;
void *temp_s3_2;
void *temp_s4;
void *temp_s4_2;
void *temp_s5;
s32 phi_s1;
s32 phi_s0;
s32 phi_s1_2;
s32 phi_s1_3;
s32 phi_s2;
s32 phi_s5;
s32 phi_s6;
s32 phi_s2_2;
s32 phi_s7;
temp_ret = viSetFillColor(0, 0, 0);
arg0 = temp_ret;
temp_ret_2 = viFillScreen(temp_ret);
arg0 = temp_ret_2;
temp_ret_3 = sub_GAME_7F00D5E8(temp_ret_2);
arg0 = temp_ret_3;
arg0 = microcode_constructor(temp_ret_3);
phi_s1 = 0x6c;
phi_s0 = 0xa0;
loop_1:
temp_ret_4 = microcode_constructor_related_to_menus(arg0, 0x25, phi_s1, 0x185);
temp_s0 = phi_s0 + 0x46;
arg0 = temp_ret_4;
temp_v0 = temp_ret_4;
phi_s1 = phi_s1 + 0x46;
phi_s0 = temp_s0;
if (temp_s0 != 0x172)
{
goto loop_1;
}
temp_ret_5 = combiner_bayer_lod_perspective(temp_v0);
arg0 = (s32) (temp_ret_5 + 8);
temp_v0_2 = temp_ret_5;
temp_v0_2->unk0 = 0xba000c02;
temp_v0_2->unk4 = 0;
temp_s3 = &arg0;
temp_s0_2 = mainfolderimages + 0x3c;
likely_generate_DL_for_image_declaration(temp_s3, temp_s0_2, 1, 0, 2);
sp100 = (f32) (176.0f + 37.0f);
sp104 = (f32) (4.0f + 100.0f);
temp_s4 = &spF8;
spF8 = 176.0f;
phi_s1_2 = 0;
loop_3:
display_image_at_on_screen_coord(temp_s3, &sp100, temp_s4, 0x2f0, 0x12, 0, 0, 1, 0x6b, 0x67, 0x53, 0xff, (s32) (0 < temp_s0_2->unk6), 0);
sp104 = (f32) (sp104 + 60.0f);
display_image_at_on_screen_coord(temp_s3, &sp100, temp_s4, 0x2f0, 0x12, 0, 0, 1, 0x6b, 0x67, 0x53, 0xff, (s32) (0 < temp_s0_2->unk6), 0);
temp_s1 = phi_s1_2 + 1;
sp104 = (f32) ((sp104 - 60.0f) + 70.0f);
phi_s1_2 = temp_s1;
if (temp_s1 != 3)
{
goto loop_3;
}
spB4 = 0;
spDC = (f32) ((22.0f + 108.0f) + 4.0f);
temp_s5 = &spD0;
temp_s4_2 = &spD8;
spD0 = 34.0f;
spD4 = 22.0f;
phi_s1_3 = 0;
loop_5:
spD8 = 86.0f;
phi_s2 = 0;
loop_6:
if (phi_s1_3 < 0xc)
{
temp_s0_3 = ((&multi_stage_setups + (phi_s1_3 * 0x18))->unk4 * 0xc) + mpstageselimages;
likely_generate_DL_for_image_declaration(temp_s3, temp_s0_3, 1, 0, 2);
temp_t5 = arg0;
if (phi_s1_3 == current_mp_stage_highlighted)
{
arg0 = (s32) (temp_t5 + 8);
temp_t5->unk4 = 0x100000;
temp_t5->unk0 = 0xba001402;
temp_t9 = arg0;
arg0 = (s32) (temp_t9 + 8);
temp_t9->unk4 = -0xf6;
temp_t9->unk0 = 0xf8000000;
temp_t4 = arg0;
arg0 = (s32) (temp_t4 + 8);
temp_t4->unk4 = 0xc4112048;
temp_t4->unk0 = 0xb900031d;
display_image_at_on_screen_coord(temp_s3, temp_s4_2, temp_s5, 0x44, 0x2c, 0, 0, 1, 0xff, 0xff, 0xff, 0xff, (s32) (0 < temp_s0_3->unk6), 1);
}
else
{
if (check_if_mp_stage_unlocked(phi_s1_3) != 0)
{
display_image_at_on_screen_coord(temp_s3, temp_s4_2, temp_s5, 0x44, 0x2c, 0, 0, 1, 0x6e, 0x6e, 0x6e, 0xff, (s32) (0 < temp_s0_3->unk6), 0);
}
else
{
display_image_at_on_screen_coord(temp_s3, temp_s4_2, temp_s5, 0x44, 0x2c, 0, 0, 1, 0xf, 0xf, 0xf, 0xff, (s32) (0 < temp_s0_3->unk6), 0);
block_12:
}
}
}
else
{
goto block_12;
}
temp_s2 = phi_s2 + 1;
temp_s1_2 = phi_s1_3 + 1;
spD8 = (f32) (spD8 + 85.0f);
phi_s1_3 = temp_s1_2;
phi_s2 = temp_s2;
if (temp_s2 != 4)
{
goto loop_6;
}
temp_t7 = spB4 + 1;
spB4 = temp_t7;
spDC = (f32) (spDC + 70.0f);
phi_s1_3 = temp_s1_2;
if (temp_t7 != 3)
{
goto loop_5;
}
arg0 = microcode_constructor(arg0);
sp90 = 0x97;
sp9C = 0;
phi_s5 = 0;
loop_16:
phi_s6 = 0x56;
phi_s7 = 0;
loop_17:
if (phi_s5 < 0xc)
{
if (check_if_mp_stage_unlocked(phi_s5) != 0)
{
temp_s3_2 = (((phi_s5 * 4) - phi_s5) * 8) + &multi_stage_setups;
phi_s2_2 = 0x96969600;
if (phi_s5 == current_mp_stage_highlighted)
{
phi_s2_2 = -0x100;
}
sub_GAME_7F0AE98C(&sp128, &sp124, get_textptr_for_textID(temp_s3_2->unk2), subroutine_arg0, (s32) ptrFirstFontTableSmall, 0);
temp_s4_3 = phi_s6 + -0x1f;
temp_a2 = sp90 - sp128;
arg0 = microcode_constructor_related_to_menus(arg0, temp_s4_3, temp_a2, temp_s4_3 + sp124, (s32) (temp_a2 + sp128), 0);
viGetX();
arg0 = en_text_write_stuff(arg0, &sp130, &sp12C, get_textptr_for_textID(temp_s3_2->unk2), (s32) subroutine_arg0, (s32) ptrFirstFontTableSmall, (s32) (phi_s2_2 | 0xff), viGetY(), 0, 0);
viGetX();
arg0 = en_text_write_stuff(arg0, &sp130, &sp12C, get_textptr_for_textID(temp_s3_2->unk2, sp90 - sp128), (s32) subroutine_arg0, (s32) ptrFirstFontTableSmall, (s32) (phi_s2_2 | 0x64), viGetY(), 0, 0);
}
}
temp_s7 = phi_s7 + 1;
temp_s5_2 = phi_s5 + 1;
phi_s5 = temp_s5_2;
phi_s6 = phi_s6 + 0x55;
phi_s7 = temp_s7;
if (temp_s7 != 4)
{
goto loop_17;
}
temp_t1 = sp9C + 1;
sp9C = temp_t1;
sp90 = (s32) (sp90 + 0x46);
phi_s5 = temp_s5_2;
if (temp_t1 != 3)
{
goto loop_16;
}
temp_ret_6 = microcode_constructor(arg0);
arg0 = temp_ret_6;
temp_v0_3 = temp_ret_6;
temp_ret_7 = add_tab3_previous(temp_v0_3);
arg0 = temp_ret_7;
temp_v0_4 = temp_ret_7;
load_draw_selected_icon_folder_select(temp_v0_4);
}
#else
GLOBAL_ASM(
.text
glabel constructor_menu12_mpstage
/* 048B80 7F014050 27BDFEC8 */ addiu $sp, $sp, -0x138
/* 048B84 7F014054 AFBF0074 */ sw $ra, 0x74($sp)
/* 048B88 7F014058 AFBE0070 */ sw $fp, 0x70($sp)
/* 048B8C 7F01405C AFB7006C */ sw $s7, 0x6c($sp)
/* 048B90 7F014060 AFB60068 */ sw $s6, 0x68($sp)
/* 048B94 7F014064 AFB50064 */ sw $s5, 0x64($sp)
/* 048B98 7F014068 AFB40060 */ sw $s4, 0x60($sp)
/* 048B9C 7F01406C AFB3005C */ sw $s3, 0x5c($sp)
/* 048BA0 7F014070 AFB20058 */ sw $s2, 0x58($sp)
/* 048BA4 7F014074 AFB10054 */ sw $s1, 0x54($sp)
/* 048BA8 7F014078 AFB00050 */ sw $s0, 0x50($sp)
/* 048BAC 7F01407C F7B60048 */ sdc1 $f22, 0x48($sp)
/* 048BB0 7F014080 F7B40040 */ sdc1 $f20, 0x40($sp)
/* 048BB4 7F014084 AFA40138 */ sw $a0, 0x138($sp)
/* 048BB8 7F014088 00002825 */ move $a1, $zero
/* 048BBC 7F01408C 00003025 */ move $a2, $zero
/* 048BC0 7F014090 0C0011B4 */ jal viSetFillColor
/* 048BC4 7F014094 00003825 */ move $a3, $zero
/* 048BC8 7F014098 AFA20138 */ sw $v0, 0x138($sp)
/* 048BCC 7F01409C 0C000FBE */ jal viFillScreen
/* 048BD0 7F0140A0 00402025 */ move $a0, $v0
/* 048BD4 7F0140A4 AFA20138 */ sw $v0, 0x138($sp)
/* 048BD8 7F0140A8 0FC0357A */ jal sub_GAME_7F00D5E8
/* 048BDC 7F0140AC 00402025 */ move $a0, $v0
/* 048BE0 7F0140B0 AFA20138 */ sw $v0, 0x138($sp)
/* 048BE4 7F0140B4 0FC2B366 */ jal microcode_constructor
/* 048BE8 7F0140B8 00402025 */ move $a0, $v0
/* 048BEC 7F0140BC 3C121010 */ lui $s2, (0x101010FF >> 16) # lui $s2, 0x1010
/* 048BF0 7F0140C0 AFA20138 */ sw $v0, 0x138($sp)
/* 048BF4 7F0140C4 365210FF */ ori $s2, (0x101010FF & 0xFFFF) # ori $s2, $s2, 0x10ff
/* 048BF8 7F0140C8 2411006C */ li $s1, 108
/* 048BFC 7F0140CC 241000A0 */ li $s0, 160
/* 048C00 7F0140D0 24130172 */ li $s3, 370
.L7F0140D4:
/* 048C04 7F0140D4 8FA40138 */ lw $a0, 0x138($sp)
/* 048C08 7F0140D8 24050025 */ li $a1, 37
/* 048C0C 7F0140DC 02203025 */ move $a2, $s1
/* 048C10 7F0140E0 24070185 */ li $a3, 389
/* 048C14 7F0140E4 AFB00010 */ sw $s0, 0x10($sp)
/* 048C18 7F0140E8 0FC2B405 */ jal microcode_constructor_related_to_menus
/* 048C1C 7F0140EC AFB20014 */ sw $s2, 0x14($sp)
/* 048C20 7F0140F0 26100046 */ addiu $s0, $s0, 0x46
/* 048C24 7F0140F4 26310046 */ addiu $s1, $s1, 0x46
/* 048C28 7F0140F8 1613FFF6 */ bne $s0, $s3, .L7F0140D4
/* 048C2C 7F0140FC AFA20138 */ sw $v0, 0x138($sp)
/* 048C30 7F014100 0FC2B3BC */ jal combiner_bayer_lod_perspective
/* 048C34 7F014104 00402025 */ move $a0, $v0
/* 048C38 7F014108 244E0008 */ addiu $t6, $v0, 8
/* 048C3C 7F01410C AFAE0138 */ sw $t6, 0x138($sp)
/* 048C40 7F014110 3C0FBA00 */ lui $t7, (0xBA000C02 >> 16) # lui $t7, 0xba00
/* 048C44 7F014114 35EF0C02 */ ori $t7, (0xBA000C02 & 0xFFFF) # ori $t7, $t7, 0xc02
/* 048C48 7F014118 AC4F0000 */ sw $t7, ($v0)
/* 048C4C 7F01411C AC400004 */ sw $zero, 4($v0)
/* 048C50 7F014120 3C108009 */ lui $s0, %hi(mainfolderimages)
/* 048C54 7F014124 8E10D128 */ lw $s0, %lo(mainfolderimages)($s0)
/* 048C58 7F014128 27B30138 */ addiu $s3, $sp, 0x138
/* 048C5C 7F01412C 24180002 */ li $t8, 2
/* 048C60 7F014130 2610003C */ addiu $s0, $s0, 0x3c
/* 048C64 7F014134 02002825 */ move $a1, $s0
/* 048C68 7F014138 AFB80010 */ sw $t8, 0x10($sp)
/* 048C6C 7F01413C 02602025 */ move $a0, $s3
/* 048C70 7F014140 24060001 */ li $a2, 1
/* 048C74 7F014144 0FC1DB5A */ jal likely_generate_DL_for_image_declaration
/* 048C78 7F014148 00003825 */ move $a3, $zero
/* 048C7C 7F01414C 3C014330 */ li $at, 0x43300000 # 176.000000
/* 048C80 7F014150 44811000 */ mtc1 $at, $f2
/* 048C84 7F014154 3C014080 */ li $at, 0x40800000 # 4.000000
/* 048C88 7F014158 44816000 */ mtc1 $at, $f12
/* 048C8C 7F01415C 3C014214 */ li $at, 0x42140000 # 37.000000
/* 048C90 7F014160 44812000 */ mtc1 $at, $f4
/* 048C94 7F014164 3C0142C8 */ li $at, 0x42C80000 # 100.000000
/* 048C98 7F014168 44814000 */ mtc1 $at, $f8
/* 048C9C 7F01416C 46041180 */ add.s $f6, $f2, $f4
/* 048CA0 7F014170 3C01428C */ li $at, 0x428C0000 # 70.000000
/* 048CA4 7F014174 4481B000 */ mtc1 $at, $f22
/* 048CA8 7F014178 46086000 */ add.s $f0, $f12, $f8
/* 048CAC 7F01417C 3C014270 */ li $at, 0x42700000 # 60.000000
/* 048CB0 7F014180 4481A000 */ mtc1 $at, $f20
/* 048CB4 7F014184 E7A60100 */ swc1 $f6, 0x100($sp)
/* 048CB8 7F014188 E7A00104 */ swc1 $f0, 0x104($sp)
/* 048CBC 7F01418C 00008825 */ move $s1, $zero
/* 048CC0 7F014190 27B400F8 */ addiu $s4, $sp, 0xf8
/* 048CC4 7F014194 27B20100 */ addiu $s2, $sp, 0x100
/* 048CC8 7F014198 E7A200F8 */ swc1 $f2, 0xf8($sp)
/* 048CCC 7F01419C E7AC00FC */ swc1 $f12, 0xfc($sp)
.L7F0141A0:
/* 048CD0 7F0141A0 24190012 */ li $t9, 18
/* 048CD4 7F0141A4 24090001 */ li $t1, 1
/* 048CD8 7F0141A8 240A006B */ li $t2, 107
/* 048CDC 7F0141AC 240B0067 */ li $t3, 103
/* 048CE0 7F0141B0 240C0053 */ li $t4, 83
/* 048CE4 7F0141B4 240D00FF */ li $t5, 255
/* 048CE8 7F0141B8 AFAD002C */ sw $t5, 0x2c($sp)
/* 048CEC 7F0141BC AFAC0028 */ sw $t4, 0x28($sp)
/* 048CF0 7F0141C0 AFAB0024 */ sw $t3, 0x24($sp)
/* 048CF4 7F0141C4 AFAA0020 */ sw $t2, 0x20($sp)
/* 048CF8 7F0141C8 AFA9001C */ sw $t1, 0x1c($sp)
/* 048CFC 7F0141CC AFB90010 */ sw $t9, 0x10($sp)
/* 048D00 7F0141D0 AFA00014 */ sw $zero, 0x14($sp)
/* 048D04 7F0141D4 AFA00018 */ sw $zero, 0x18($sp)
/* 048D08 7F0141D8 920E0006 */ lbu $t6, 6($s0)
/* 048D0C 7F0141DC AFA00034 */ sw $zero, 0x34($sp)
/* 048D10 7F0141E0 02602025 */ move $a0, $s3
/* 048D14 7F0141E4 000E782A */ slt $t7, $zero, $t6
/* 048D18 7F0141E8 AFAF0030 */ sw $t7, 0x30($sp)
/* 048D1C 7F0141EC 02402825 */ move $a1, $s2
/* 048D20 7F0141F0 02803025 */ move $a2, $s4
/* 048D24 7F0141F4 0FC1ABFA */ jal display_image_at_on_screen_coord
/* 048D28 7F0141F8 240702F0 */ li $a3, 752
/* 048D2C 7F0141FC C7AA0104 */ lwc1 $f10, 0x104($sp)
/* 048D30 7F014200 24180012 */ li $t8, 18
/* 048D34 7F014204 24190001 */ li $t9, 1
/* 048D38 7F014208 46145400 */ add.s $f16, $f10, $f20
/* 048D3C 7F01420C 2409006B */ li $t1, 107
/* 048D40 7F014210 240A0067 */ li $t2, 103
/* 048D44 7F014214 240B0053 */ li $t3, 83
/* 048D48 7F014218 240C00FF */ li $t4, 255
/* 048D4C 7F01421C E7B00104 */ swc1 $f16, 0x104($sp)
/* 048D50 7F014220 AFAC002C */ sw $t4, 0x2c($sp)
/* 048D54 7F014224 AFAB0028 */ sw $t3, 0x28($sp)
/* 048D58 7F014228 AFAA0024 */ sw $t2, 0x24($sp)
/* 048D5C 7F01422C AFA90020 */ sw $t1, 0x20($sp)
/* 048D60 7F014230 AFB9001C */ sw $t9, 0x1c($sp)
/* 048D64 7F014234 AFB80010 */ sw $t8, 0x10($sp)
/* 048D68 7F014238 AFA00014 */ sw $zero, 0x14($sp)
/* 048D6C 7F01423C AFA00018 */ sw $zero, 0x18($sp)
/* 048D70 7F014240 920D0006 */ lbu $t5, 6($s0)
/* 048D74 7F014244 AFA00034 */ sw $zero, 0x34($sp)
/* 048D78 7F014248 02602025 */ move $a0, $s3
/* 048D7C 7F01424C 000D702A */ slt $t6, $zero, $t5
/* 048D80 7F014250 AFAE0030 */ sw $t6, 0x30($sp)
/* 048D84 7F014254 02402825 */ move $a1, $s2
/* 048D88 7F014258 02803025 */ move $a2, $s4
/* 048D8C 7F01425C 0FC1ABFA */ jal display_image_at_on_screen_coord
/* 048D90 7F014260 240702F0 */ li $a3, 752
/* 048D94 7F014264 C7A00104 */ lwc1 $f0, 0x104($sp)
/* 048D98 7F014268 26310001 */ addiu $s1, $s1, 1
/* 048D9C 7F01426C 24010003 */ li $at, 3
/* 048DA0 7F014270 46140001 */ sub.s $f0, $f0, $f20
/* 048DA4 7F014274 46160000 */ add.s $f0, $f0, $f22
/* 048DA8 7F014278 1621FFC9 */ bne $s1, $at, .L7F0141A0
/* 048DAC 7F01427C E7A00104 */ swc1 $f0, 0x104($sp)
/* 048DB0 7F014280 3C014208 */ li $at, 0x42080000 # 34.000000
/* 048DB4 7F014284 44819000 */ mtc1 $at, $f18
/* 048DB8 7F014288 3C0141B0 */ li $at, 0x41B00000 # 22.000000
/* 048DBC 7F01428C 44810000 */ mtc1 $at, $f0
/* 048DC0 7F014290 3C0142D8 */ li $at, 0x42D80000 # 108.000000
/* 048DC4 7F014294 44812000 */ mtc1 $at, $f4
/* 048DC8 7F014298 3C014080 */ li $at, 0x40800000 # 4.000000
/* 048DCC 7F01429C 44814000 */ mtc1 $at, $f8
/* 048DD0 7F0142A0 46040180 */ add.s $f6, $f0, $f4
/* 048DD4 7F0142A4 3C0142AA */ li $at, 0x42AA0000 # 85.000000
/* 048DD8 7F0142A8 3C168003 */ lui $s6, %hi(multi_stage_setups)
/* 048DDC 7F0142AC 4481A000 */ mtc1 $at, $f20
/* 048DE0 7F0142B0 46083280 */ add.s $f10, $f6, $f8
/* 048DE4 7F0142B4 00008825 */ move $s1, $zero
/* 048DE8 7F0142B8 26D6B074 */ addiu $s6, %lo(multi_stage_setups) # addiu $s6, $s6, -0x4f8c
/* 048DEC 7F0142BC AFA000B4 */ sw $zero, 0xb4($sp)
/* 048DF0 7F0142C0 E7AA00DC */ swc1 $f10, 0xdc($sp)
/* 048DF4 7F0142C4 241E000C */ li $fp, 12
/* 048DF8 7F0142C8 24170018 */ li $s7, 24
/* 048DFC 7F0142CC 27B500D0 */ addiu $s5, $sp, 0xd0
/* 048E00 7F0142D0 27B400D8 */ addiu $s4, $sp, 0xd8
/* 048E04 7F0142D4 E7B200D0 */ swc1 $f18, 0xd0($sp)
/* 048E08 7F0142D8 E7A000D4 */ swc1 $f0, 0xd4($sp)
.L7F0142DC:
/* 048E0C 7F0142DC 3C0142AC */ li $at, 0x42AC0000 # 86.000000
/* 048E10 7F0142E0 44818000 */ mtc1 $at, $f16
/* 048E14 7F0142E4 00009025 */ move $s2, $zero
/* 048E18 7F0142E8 E7B000D8 */ swc1 $f16, 0xd8($sp)
.L7F0142EC:
/* 048E1C 7F0142EC 2A21000C */ slti $at, $s1, 0xc
/* 048E20 7F0142F0 5020007A */ beql $at, $zero, .L7F0144DC
/* 048E24 7F0142F4 C7B200D8 */ lwc1 $f18, 0xd8($sp)
/* 048E28 7F0142F8 02370019 */ multu $s1, $s7
/* 048E2C 7F0142FC 3C0A8009 */ lui $t2, %hi(mpstageselimages)
/* 048E30 7F014300 8D4AD134 */ lw $t2, %lo(mpstageselimages)($t2)
/* 048E34 7F014304 240B0002 */ li $t3, 2
/* 048E38 7F014308 02602025 */ move $a0, $s3
/* 048E3C 7F01430C 24060001 */ li $a2, 1
/* 048E40 7F014310 00003825 */ move $a3, $zero
/* 048E44 7F014314 00007812 */ mflo $t7
/* 048E48 7F014318 02CFC021 */ addu $t8, $s6, $t7
/* 048E4C 7F01431C 8F190004 */ lw $t9, 4($t8)
/* 048E50 7F014320 AFAB0010 */ sw $t3, 0x10($sp)
/* 048E54 7F014324 033E0019 */ multu $t9, $fp
/* 048E58 7F014328 00004812 */ mflo $t1
/* 048E5C 7F01432C 012A8021 */ addu $s0, $t1, $t2
/* 048E60 7F014330 0FC1DB5A */ jal likely_generate_DL_for_image_declaration
/* 048E64 7F014334 02002825 */ move $a1, $s0
/* 048E68 7F014338 3C0C8007 */ lui $t4, %hi(current_mp_stage_highlighted)
/* 048E6C 7F01433C 8D8C977C */ lw $t4, %lo(current_mp_stage_highlighted)($t4)
/* 048E70 7F014340 8FAD0138 */ lw $t5, 0x138($sp)
/* 048E74 7F014344 3C0FBA00 */ lui $t7, (0xBA001402 >> 16) # lui $t7, 0xba00
/* 048E78 7F014348 162C0030 */ bne $s1, $t4, .L7F01440C
/* 048E7C 7F01434C 25AE0008 */ addiu $t6, $t5, 8
/* 048E80 7F014350 AFAE0138 */ sw $t6, 0x138($sp)
/* 048E84 7F014354 35EF1402 */ ori $t7, (0xBA001402 & 0xFFFF) # ori $t7, $t7, 0x1402
/* 048E88 7F014358 3C180010 */ lui $t8, 0x10
/* 048E8C 7F01435C ADB80004 */ sw $t8, 4($t5)
/* 048E90 7F014360 ADAF0000 */ sw $t7, ($t5)
/* 048E94 7F014364 8FB90138 */ lw $t9, 0x138($sp)
/* 048E98 7F014368 3C0AF800 */ lui $t2, 0xf800
/* 048E9C 7F01436C 240BFF0A */ li $t3, -246
/* 048EA0 7F014370 27290008 */ addiu $t1, $t9, 8
/* 048EA4 7F014374 AFA90138 */ sw $t1, 0x138($sp)
/* 048EA8 7F014378 AF2B0004 */ sw $t3, 4($t9)
/* 048EAC 7F01437C AF2A0000 */ sw $t2, ($t9)
/* 048EB0 7F014380 8FAC0138 */ lw $t4, 0x138($sp)
/* 048EB4 7F014384 3C0FC411 */ lui $t7, (0xC4112048 >> 16) # lui $t7, 0xc411
/* 048EB8 7F014388 3C0EB900 */ lui $t6, (0xB900031D >> 16) # lui $t6, 0xb900
/* 048EBC 7F01438C 258D0008 */ addiu $t5, $t4, 8
/* 048EC0 7F014390 AFAD0138 */ sw $t5, 0x138($sp)
/* 048EC4 7F014394 35CE031D */ ori $t6, (0xB900031D & 0xFFFF) # ori $t6, $t6, 0x31d
/* 048EC8 7F014398 35EF2048 */ ori $t7, (0xC4112048 & 0xFFFF) # ori $t7, $t7, 0x2048
/* 048ECC 7F01439C AD8F0004 */ sw $t7, 4($t4)
/* 048ED0 7F0143A0 AD8E0000 */ sw $t6, ($t4)
/* 048ED4 7F0143A4 240C00FF */ li $t4, 255
/* 048ED8 7F0143A8 240A00FF */ li $t2, 255
/* 048EDC 7F0143AC 24190001 */ li $t9, 1
/* 048EE0 7F0143B0 240B00FF */ li $t3, 255
/* 048EE4 7F0143B4 240900FF */ li $t1, 255
/* 048EE8 7F0143B8 2418002C */ li $t8, 44
/* 048EEC 7F0143BC AFB80010 */ sw $t8, 0x10($sp)
/* 048EF0 7F0143C0 AFA90020 */ sw $t1, 0x20($sp)
/* 048EF4 7F0143C4 AFAB0028 */ sw $t3, 0x28($sp)
/* 048EF8 7F0143C8 AFB9001C */ sw $t9, 0x1c($sp)
/* 048EFC 7F0143CC AFAA0024 */ sw $t2, 0x24($sp)
/* 048F00 7F0143D0 AFAC002C */ sw $t4, 0x2c($sp)
/* 048F04 7F0143D4 AFA00018 */ sw $zero, 0x18($sp)
/* 048F08 7F0143D8 AFA00014 */ sw $zero, 0x14($sp)
/* 048F0C 7F0143DC 920D0006 */ lbu $t5, 6($s0)
/* 048F10 7F0143E0 240F0001 */ li $t7, 1
/* 048F14 7F0143E4 AFAF0034 */ sw $t7, 0x34($sp)
/* 048F18 7F0143E8 000D702A */ slt $t6, $zero, $t5
/* 048F1C 7F0143EC AFAE0030 */ sw $t6, 0x30($sp)
/* 048F20 7F0143F0 02602025 */ move $a0, $s3
/* 048F24 7F0143F4 02802825 */ move $a1, $s4
/* 048F28 7F0143F8 02A03025 */ move $a2, $s5
/* 048F2C 7F0143FC 0FC1ABFA */ jal display_image_at_on_screen_coord
/* 048F30 7F014400 24070044 */ li $a3, 68
/* 048F34 7F014404 10000035 */ b .L7F0144DC
/* 048F38 7F014408 C7B200D8 */ lwc1 $f18, 0xd8($sp)
.L7F01440C:
/* 048F3C 7F01440C 0FC04034 */ jal check_if_mp_stage_unlocked
/* 048F40 7F014410 02202025 */ move $a0, $s1
/* 048F44 7F014414 1040001A */ beqz $v0, .L7F014480
/* 048F48 7F014418 02602025 */ move $a0, $s3
/* 048F4C 7F01441C 2418002C */ li $t8, 44
/* 048F50 7F014420 24190001 */ li $t9, 1
/* 048F54 7F014424 2409006E */ li $t1, 110
/* 048F58 7F014428 240A006E */ li $t2, 110
/* 048F5C 7F01442C 240B006E */ li $t3, 110
/* 048F60 7F014430 240C00FF */ li $t4, 255
/* 048F64 7F014434 AFAC002C */ sw $t4, 0x2c($sp)
/* 048F68 7F014438 AFAB0028 */ sw $t3, 0x28($sp)
/* 048F6C 7F01443C AFAA0024 */ sw $t2, 0x24($sp)
/* 048F70 7F014440 AFA90020 */ sw $t1, 0x20($sp)
/* 048F74 7F014444 AFB9001C */ sw $t9, 0x1c($sp)
/* 048F78 7F014448 AFB80010 */ sw $t8, 0x10($sp)
/* 048F7C 7F01444C AFA00014 */ sw $zero, 0x14($sp)
/* 048F80 7F014450 AFA00018 */ sw $zero, 0x18($sp)
/* 048F84 7F014454 920D0006 */ lbu $t5, 6($s0)
/* 048F88 7F014458 AFA00034 */ sw $zero, 0x34($sp)
/* 048F8C 7F01445C 02602025 */ move $a0, $s3
/* 048F90 7F014460 000D702A */ slt $t6, $zero, $t5
/* 048F94 7F014464 AFAE0030 */ sw $t6, 0x30($sp)
/* 048F98 7F014468 02802825 */ move $a1, $s4
/* 048F9C 7F01446C 02A03025 */ move $a2, $s5
/* 048FA0 7F014470 0FC1ABFA */ jal display_image_at_on_screen_coord
/* 048FA4 7F014474 24070044 */ li $a3, 68
/* 048FA8 7F014478 10000018 */ b .L7F0144DC
/* 048FAC 7F01447C C7B200D8 */ lwc1 $f18, 0xd8($sp)
.L7F014480:
/* 048FB0 7F014480 240F002C */ li $t7, 44
/* 048FB4 7F014484 24180001 */ li $t8, 1
/* 048FB8 7F014488 2419000F */ li $t9, 15
/* 048FBC 7F01448C 2409000F */ li $t1, 15
/* 048FC0 7F014490 240A000F */ li $t2, 15
/* 048FC4 7F014494 240B00FF */ li $t3, 255
/* 048FC8 7F014498 AFAB002C */ sw $t3, 0x2c($sp)
/* 048FCC 7F01449C AFAA0028 */ sw $t2, 0x28($sp)
/* 048FD0 7F0144A0 AFA90024 */ sw $t1, 0x24($sp)
/* 048FD4 7F0144A4 AFB90020 */ sw $t9, 0x20($sp)
/* 048FD8 7F0144A8 AFB8001C */ sw $t8, 0x1c($sp)
/* 048FDC 7F0144AC AFAF0010 */ sw $t7, 0x10($sp)
/* 048FE0 7F0144B0 AFA00014 */ sw $zero, 0x14($sp)
/* 048FE4 7F0144B4 AFA00018 */ sw $zero, 0x18($sp)
/* 048FE8 7F0144B8 920C0006 */ lbu $t4, 6($s0)
/* 048FEC 7F0144BC AFA00034 */ sw $zero, 0x34($sp)
/* 048FF0 7F0144C0 02802825 */ move $a1, $s4
/* 048FF4 7F0144C4 000C682A */ slt $t5, $zero, $t4
/* 048FF8 7F0144C8 AFAD0030 */ sw $t5, 0x30($sp)
/* 048FFC 7F0144CC 02A03025 */ move $a2, $s5
/* 049000 7F0144D0 0FC1ABFA */ jal display_image_at_on_screen_coord
/* 049004 7F0144D4 24070044 */ li $a3, 68
/* 049008 7F0144D8 C7B200D8 */ lwc1 $f18, 0xd8($sp)
.L7F0144DC:
/* 04900C 7F0144DC 26520001 */ addiu $s2, $s2, 1
/* 049010 7F0144E0 24010004 */ li $at, 4
/* 049014 7F0144E4 46149100 */ add.s $f4, $f18, $f20
/* 049018 7F0144E8 26310001 */ addiu $s1, $s1, 1
/* 04901C 7F0144EC 1641FF7F */ bne $s2, $at, .L7F0142EC
/* 049020 7F0144F0 E7A400D8 */ swc1 $f4, 0xd8($sp)
/* 049024 7F0144F4 C7A600DC */ lwc1 $f6, 0xdc($sp)
/* 049028 7F0144F8 8FAE00B4 */ lw $t6, 0xb4($sp)
/* 04902C 7F0144FC 24010003 */ li $at, 3
/* 049030 7F014500 46163200 */ add.s $f8, $f6, $f22
/* 049034 7F014504 25CF0001 */ addiu $t7, $t6, 1
/* 049038 7F014508 AFAF00B4 */ sw $t7, 0xb4($sp)
/* 04903C 7F01450C 15E1FF73 */ bne $t7, $at, .L7F0142DC
/* 049040 7F014510 E7A800DC */ swc1 $f8, 0xdc($sp)
/* 049044 7F014514 0FC2B366 */ jal microcode_constructor
/* 049048 7F014518 8FA40138 */ lw $a0, 0x138($sp)
/* 04904C 7F01451C 24180097 */ li $t8, 151
/* 049050 7F014520 3C1E8004 */ lui $fp, %hi(ptrSecondFontTableSmall)
/* 049054 7F014524 AFA20138 */ sw $v0, 0x138($sp)
/* 049058 7F014528 0000A825 */ move $s5, $zero
/* 04905C 7F01452C AFB80090 */ sw $t8, 0x90($sp)
/* 049060 7F014530 27DE0EB0 */ addiu $fp, %lo(ptrSecondFontTableSmall) # addiu $fp, $fp, 0xeb0
/* 049064 7F014534 AFA0009C */ sw $zero, 0x9c($sp)
.L7F014538:
/* 049068 7F014538 24160056 */ li $s6, 86
/* 04906C 7F01453C 0000B825 */ move $s7, $zero
.L7F014540:
/* 049070 7F014540 2AA1000C */ slti $at, $s5, 0xc
/* 049074 7F014544 50200062 */ beql $at, $zero, .L7F0146D0
/* 049078 7F014548 26F70001 */ addiu $s7, $s7, 1
/* 04907C 7F01454C 0FC04034 */ jal check_if_mp_stage_unlocked
/* 049080 7F014550 02A02025 */ move $a0, $s5
/* 049084 7F014554 1040005D */ beqz $v0, .L7F0146CC
/* 049088 7F014558 3C129696 */ lui $s2, (0x96969600 >> 16) # lui $s2, 0x9696
/* 04908C 7F01455C 3C0A8007 */ lui $t2, %hi(current_mp_stage_highlighted)
/* 049090 7F014560 8D4A977C */ lw $t2, %lo(current_mp_stage_highlighted)($t2)
/* 049094 7F014564 0015C880 */ sll $t9, $s5, 2
/* 049098 7F014568 0335C823 */ subu $t9, $t9, $s5
/* 04909C 7F01456C 3C098003 */ lui $t1, %hi(multi_stage_setups)
/* 0490A0 7F014570 2529B074 */ addiu $t1, %lo(multi_stage_setups) # addiu $t1, $t1, -0x4f8c
/* 0490A4 7F014574 0019C8C0 */ sll $t9, $t9, 3
/* 0490A8 7F014578 36529600 */ ori $s2, (0x96969600 & 0xFFFF) # ori $s2, $s2, 0x9600
/* 0490AC 7F01457C 16AA0002 */ bne $s5, $t2, .L7F014588
/* 0490B0 7F014580 03299821 */ addu $s3, $t9, $t1
/* 0490B4 7F014584 2412FF00 */ li $s2, -256
.L7F014588:
/* 0490B8 7F014588 0FC30776 */ jal get_textptr_for_textID
/* 0490BC 7F01458C 96640002 */ lhu $a0, 2($s3)
/* 0490C0 7F014590 3C0B8004 */ lui $t3, %hi(ptrFirstFontTableSmall)
/* 0490C4 7F014594 8D6B0EAC */ lw $t3, %lo(ptrFirstFontTableSmall)($t3)
/* 0490C8 7F014598 27A40128 */ addiu $a0, $sp, 0x128
/* 0490CC 7F01459C 27A50124 */ addiu $a1, $sp, 0x124
/* 0490D0 7F0145A0 00403025 */ move $a2, $v0
/* 0490D4 7F0145A4 8FC70000 */ lw $a3, ($fp)
/* 0490D8 7F0145A8 AFA00014 */ sw $zero, 0x14($sp)
/* 0490DC 7F0145AC 0FC2BA63 */ jal sub_GAME_7F0AE98C
/* 0490E0 7F0145B0 AFAB0010 */ sw $t3, 0x10($sp)
/* 0490E4 7F0145B4 8FA30128 */ lw $v1, 0x128($sp)
/* 0490E8 7F0145B8 8FAC0090 */ lw $t4, 0x90($sp)
/* 0490EC 7F0145BC 8FAD0124 */ lw $t5, 0x124($sp)
/* 0490F0 7F0145C0 26D4FFE1 */ addiu $s4, $s6, -0x1f
/* 0490F4 7F0145C4 01833023 */ subu $a2, $t4, $v1
/* 0490F8 7F0145C8 00C37021 */ addu $t6, $a2, $v1
/* 0490FC 7F0145CC 02802825 */ move $a1, $s4
/* 049100 7F0145D0 AFAE0010 */ sw $t6, 0x10($sp)
/* 049104 7F0145D4 AFA6012C */ sw $a2, 0x12c($sp)
/* 049108 7F0145D8 AFB40130 */ sw $s4, 0x130($sp)
/* 04910C 7F0145DC 8FA40138 */ lw $a0, 0x138($sp)
/* 049110 7F0145E0 AFA00014 */ sw $zero, 0x14($sp)
/* 049114 7F0145E4 0FC2B405 */ jal microcode_constructor_related_to_menus
/* 049118 7F0145E8 028D3821 */ addu $a3, $s4, $t5
/* 04911C 7F0145EC AFA20138 */ sw $v0, 0x138($sp)
/* 049120 7F0145F0 0FC30776 */ jal get_textptr_for_textID
/* 049124 7F0145F4 96640002 */ lhu $a0, 2($s3)
/* 049128 7F0145F8 0C001107 */ jal viGetX
/* 04912C 7F0145FC 00408825 */ move $s1, $v0
/* 049130 7F014600 00028400 */ sll $s0, $v0, 0x10
/* 049134 7F014604 00107C03 */ sra $t7, $s0, 0x10
/* 049138 7F014608 0C00110B */ jal viGetY
/* 04913C 7F01460C 01E08025 */ move $s0, $t7
/* 049140 7F014610 3C198004 */ lui $t9, %hi(ptrFirstFontTableSmall)
/* 049144 7F014614 8F390EAC */ lw $t9, %lo(ptrFirstFontTableSmall)($t9)
/* 049148 7F014618 8FD80000 */ lw $t8, ($fp)
/* 04914C 7F01461C 364900FF */ ori $t1, $s2, 0xff
/* 049150 7F014620 AFA90018 */ sw $t1, 0x18($sp)
/* 049154 7F014624 8FA40138 */ lw $a0, 0x138($sp)
/* 049158 7F014628 27A50130 */ addiu $a1, $sp, 0x130
/* 04915C 7F01462C 27A6012C */ addiu $a2, $sp, 0x12c
/* 049160 7F014630 02203825 */ move $a3, $s1
/* 049164 7F014634 AFB0001C */ sw $s0, 0x1c($sp)
/* 049168 7F014638 AFA20020 */ sw $v0, 0x20($sp)
/* 04916C 7F01463C AFA00024 */ sw $zero, 0x24($sp)
/* 049170 7F014640 AFA00028 */ sw $zero, 0x28($sp)
/* 049174 7F014644 AFB90014 */ sw $t9, 0x14($sp)
/* 049178 7F014648 0FC2B6AF */ jal en_text_write_stuff
/* 04917C 7F01464C AFB80010 */ sw $t8, 0x10($sp)
/* 049180 7F014650 8FA30128 */ lw $v1, 0x128($sp)
/* 049184 7F014654 8FAA0090 */ lw $t2, 0x90($sp)
/* 049188 7F014658 AFA20138 */ sw $v0, 0x138($sp)
/* 04918C 7F01465C 96640002 */ lhu $a0, 2($s3)
/* 049190 7F014660 01433023 */ subu $a2, $t2, $v1
/* 049194 7F014664 AFA6012C */ sw $a2, 0x12c($sp)
/* 049198 7F014668 0FC30776 */ jal get_textptr_for_textID
/* 04919C 7F01466C AFB40130 */ sw $s4, 0x130($sp)
/* 0491A0 7F014670 0C001107 */ jal viGetX
/* 0491A4 7F014674 00408825 */ move $s1, $v0
/* 0491A8 7F014678 00028400 */ sll $s0, $v0, 0x10
/* 0491AC 7F01467C 00105C03 */ sra $t3, $s0, 0x10
/* 0491B0 7F014680 0C00110B */ jal viGetY
/* 0491B4 7F014684 01608025 */ move $s0, $t3
/* 0491B8 7F014688 3C0D8004 */ lui $t5, %hi(ptrFirstFontTableSmall)
/* 0491BC 7F01468C 8DAD0EAC */ lw $t5, %lo(ptrFirstFontTableSmall)($t5)
/* 0491C0 7F014690 8FCC0000 */ lw $t4, ($fp)
/* 0491C4 7F014694 364E0064 */ ori $t6, $s2, 0x64
/* 0491C8 7F014698 AFAE0018 */ sw $t6, 0x18($sp)
/* 0491CC 7F01469C 8FA40138 */ lw $a0, 0x138($sp)
/* 0491D0 7F0146A0 27A50130 */ addiu $a1, $sp, 0x130
/* 0491D4 7F0146A4 27A6012C */ addiu $a2, $sp, 0x12c
/* 0491D8 7F0146A8 02203825 */ move $a3, $s1
/* 0491DC 7F0146AC AFB0001C */ sw $s0, 0x1c($sp)
/* 0491E0 7F0146B0 AFA20020 */ sw $v0, 0x20($sp)
/* 0491E4 7F0146B4 AFA00024 */ sw $zero, 0x24($sp)
/* 0491E8 7F0146B8 AFA00028 */ sw $zero, 0x28($sp)
/* 0491EC 7F0146BC AFAD0014 */ sw $t5, 0x14($sp)
/* 0491F0 7F0146C0 0FC2B6AF */ jal en_text_write_stuff
/* 0491F4 7F0146C4 AFAC0010 */ sw $t4, 0x10($sp)
/* 0491F8 7F0146C8 AFA20138 */ sw $v0, 0x138($sp)
.L7F0146CC:
/* 0491FC 7F0146CC 26F70001 */ addiu $s7, $s7, 1
.L7F0146D0:
/* 049200 7F0146D0 24010004 */ li $at, 4
/* 049204 7F0146D4 26D60055 */ addiu $s6, $s6, 0x55
/* 049208 7F0146D8 16E1FF99 */ bne $s7, $at, .L7F014540
/* 04920C 7F0146DC 26B50001 */ addiu $s5, $s5, 1
/* 049210 7F0146E0 8FB9009C */ lw $t9, 0x9c($sp)
/* 049214 7F0146E4 8FAF0090 */ lw $t7, 0x90($sp)
/* 049218 7F0146E8 24010003 */ li $at, 3
/* 04921C 7F0146EC 27290001 */ addiu $t1, $t9, 1
/* 049220 7F0146F0 25F80046 */ addiu $t8, $t7, 0x46
/* 049224 7F0146F4 AFA9009C */ sw $t1, 0x9c($sp)
/* 049228 7F0146F8 1521FF8F */ bne $t1, $at, .L7F014538
/* 04922C 7F0146FC AFB80090 */ sw $t8, 0x90($sp)
/* 049230 7F014700 0FC2B366 */ jal microcode_constructor
/* 049234 7F014704 8FA40138 */ lw $a0, 0x138($sp)
/* 049238 7F014708 AFA20138 */ sw $v0, 0x138($sp)
/* 04923C 7F01470C 0FC0288E */ jal add_tab3_previous
/* 049240 7F014710 00402025 */ move $a0, $v0
/* 049244 7F014714 AFA20138 */ sw $v0, 0x138($sp)
/* 049248 7F014718 0FC027C2 */ jal load_draw_selected_icon_folder_select
/* 04924C 7F01471C 00402025 */ move $a0, $v0
/* 049250 7F014720 8FBF0074 */ lw $ra, 0x74($sp)
/* 049254 7F014724 D7B40040 */ ldc1 $f20, 0x40($sp)
/* 049258 7F014728 D7B60048 */ ldc1 $f22, 0x48($sp)
/* 04925C 7F01472C 8FB00050 */ lw $s0, 0x50($sp)
/* 049260 7F014730 8FB10054 */ lw $s1, 0x54($sp)
/* 049264 7F014734 8FB20058 */ lw $s2, 0x58($sp)
/* 049268 7F014738 8FB3005C */ lw $s3, 0x5c($sp)
/* 04926C 7F01473C 8FB40060 */ lw $s4, 0x60($sp)
/* 049270 7F014740 8FB50064 */ lw $s5, 0x64($sp)
/* 049274 7F014744 8FB60068 */ lw $s6, 0x68($sp)
/* 049278 7F014748 8FB7006C */ lw $s7, 0x6c($sp)
/* 04927C 7F01474C 8FBE0070 */ lw $fp, 0x70($sp)
/* 049280 7F014750 03E00008 */ jr $ra
/* 049284 7F014754 27BD0138 */ addiu $sp, $sp, 0x138
)
#endif
MPSCENARIOS get_scenario(void)
{
return scenario;
}
void init_menu13_mpscenariosel(void)
{
tab_1_selected = FALSE;
tab_2_selected = FALSE;
tab_3_selected = FALSE;
tab_3_highlight = FALSE;
tab_2_highlight = FALSE;
tab_1_highlight = FALSE;
load_walletbond();
}
void update_menu13_mpscenario(void) {
return;
}
#ifdef NONMATCHING
void interface_menu13_mpscenario(void)
{
s32 sp2C;
s32 temp_a0;
s32 temp_s1;
void *temp_s0;
s32 phi_s2;
s32 phi_s1;
sp2C = 0;
viSetFovY(0x42700000);
viSetAspect(D_80051AA8);
viSetZRange(0x42c80000, D_80051AAC);
viSetUseZBuf(0);
if (joyGetButtons(0, 0xa000) == 0)
{
tab_3_highlight = 0;
tab_2_highlight = 0;
tab_1_highlight = 0;
if (isontab3() != 0)
{
tab_3_highlight = 1;
dword_CODE_bss_80069780 = 0;
}
else
{
dword_CODE_bss_80069780 = 1;
phi_s2 = 0x11d;
phi_s1 = 7;
loop_4:
if ((((s32) cursor_v_pos >= phi_s2) && (get_selected_num_players() >= temp_s0->unk2)) && (temp_s0->unk3 >= get_selected_num_players()))
{
dword_CODE_bss_80069780 = (s32) (phi_s1 + 1);
}
else
{
temp_s1 = phi_s1 + -1;
phi_s2 = phi_s2 + -0x16;
phi_s1 = temp_s1;
if (temp_s1 != 0)
{
goto loop_4;
}
}
}
}
if (joyGetButtonsPressedThisFrame(0, 0xb000) != 0)
{
if (tab_3_highlight != 0)
{
tab_3_selected = 1;
}
else
{
temp_a0 = dword_CODE_bss_80069780 + -1;
if (((temp_a0 == 5) || (temp_a0 == 6)) || (temp_a0 == 7))
{
reset_mp_options_for_scenario(temp_a0);
sp2C = 1;
}
else
{
reset_mp_options_for_scenario(temp_a0);
tab_3_selected = 1;
}
}
play_sfx_a1(g_musicSfxBufferPtr, 0xc7, 0);
}
else
{
if (joyGetButtonsPressedThisFrame(0, 0x4000) != 0)
{
tab_3_selected = 1;
play_sfx_a1(g_musicSfxBufferPtr, 0xc7, 0);
}
}
disable_all_switches(ptr_folder_object_instance);
set_item_visibility_in_objinstance(ptr_folder_object_instance, 0, 1);
set_item_visibility_in_objinstance(ptr_folder_object_instance, 1, 1);
set_item_visibility_in_objinstance(ptr_folder_object_instance, 3, 1);
set_item_visibility_in_objinstance(ptr_folder_object_instance, 6, 1);
menu_control_stick_tracking();
if (sp2C != 0)
{
set_menu_to_mode(MENU_MP_TEAMS, 0);
return;
}
if (tab_3_selected != 0)
{
set_menu_to_mode(MENU_MP_OPTIONS, 0);
}
}
#else
GLOBAL_ASM(
.late_rodata
glabel D_80051AA8
.word 0x3FAAAAAB /*1.3333334;*/
glabel D_80051AAC
.word 0x461C4000 /*10000.0;*/
.text
glabel interface_menu13_mpscenario
/* 0492E8 7F0147B8 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 0492EC 7F0147BC 3C014270 */ li $at, 0x42700000 # 60.000000
/* 0492F0 7F0147C0 AFBF0024 */ sw $ra, 0x24($sp)
/* 0492F4 7F0147C4 44816000 */ mtc1 $at, $f12
/* 0492F8 7F0147C8 AFB20020 */ sw $s2, 0x20($sp)
/* 0492FC 7F0147CC AFB1001C */ sw $s1, 0x1c($sp)
/* 049300 7F0147D0 AFB00018 */ sw $s0, 0x18($sp)
/* 049304 7F0147D4 0C001151 */ jal viSetFovY
/* 049308 7F0147D8 AFA0002C */ sw $zero, 0x2c($sp)
/* 04930C 7F0147DC 3C018005 */ lui $at, %hi(D_80051AA8)
/* 049310 7F0147E0 0C001164 */ jal viSetAspect
/* 049314 7F0147E4 C42C1AA8 */ lwc1 $f12, %lo(D_80051AA8)($at)
/* 049318 7F0147E8 3C0142C8 */ li $at, 0x42C80000 # 100.000000
/* 04931C 7F0147EC 44816000 */ mtc1 $at, $f12
/* 049320 7F0147F0 3C018005 */ lui $at, %hi(D_80051AAC)
/* 049324 7F0147F4 0C001194 */ jal viSetZRange
/* 049328 7F0147F8 C42E1AAC */ lwc1 $f14, %lo(D_80051AAC)($at)
/* 04932C 7F0147FC 0C00114D */ jal viSetUseZBuf
/* 049330 7F014800 00002025 */ move $a0, $zero
/* 049334 7F014804 00002025 */ move $a0, $zero
/* 049338 7F014808 0C0030C3 */ jal joyGetButtons
/* 04933C 7F01480C 3405A000 */ li $a1, 40960
/* 049340 7F014810 14400030 */ bnez $v0, .L7F0148D4
/* 049344 7F014814 3C018003 */ lui $at, %hi(tab_3_highlight)
/* 049348 7F014818 AC20A8E4 */ sw $zero, %lo(tab_3_highlight)($at)
/* 04934C 7F01481C 3C018003 */ lui $at, %hi(tab_2_highlight)
/* 049350 7F014820 AC20A8E0 */ sw $zero, %lo(tab_2_highlight)($at)
/* 049354 7F014824 3C018003 */ lui $at, %hi(tab_1_highlight)
/* 049358 7F014828 0FC028E7 */ jal isontab3
/* 04935C 7F01482C AC20A8DC */ sw $zero, %lo(tab_1_highlight)($at)
/* 049360 7F014830 10400007 */ beqz $v0, .L7F014850
/* 049364 7F014834 240F0001 */ li $t7, 1
/* 049368 7F014838 240E0001 */ li $t6, 1
/* 04936C 7F01483C 3C018003 */ lui $at, %hi(tab_3_highlight)
/* 049370 7F014840 AC2EA8E4 */ sw $t6, %lo(tab_3_highlight)($at)
/* 049374 7F014844 3C018007 */ lui $at, %hi(dword_CODE_bss_80069780)
/* 049378 7F014848 10000022 */ b .L7F0148D4
/* 04937C 7F01484C AC209780 */ sw $zero, %lo(dword_CODE_bss_80069780)($at)
.L7F014850:
/* 049380 7F014850 3C018007 */ lui $at, %hi(dword_CODE_bss_80069780)
/* 049384 7F014854 AC2F9780 */ sw $t7, %lo(dword_CODE_bss_80069780)($at)
/* 049388 7F014858 24110007 */ li $s1, 7
/* 04938C 7F01485C 2412011D */ li $s2, 285
.L7F014860:
/* 049390 7F014860 3C018003 */ lui $at, %hi(cursor_v_pos)
/* 049394 7F014864 C424A90C */ lwc1 $f4, %lo(cursor_v_pos)($at)
/* 049398 7F014868 3C098003 */ lui $t1, %hi(mp_player_counts)
/* 04939C 7F01486C 2529B054 */ addiu $t1, %lo(mp_player_counts) # addiu $t1, $t1, -0x4fac
/* 0493A0 7F014870 4600218D */ trunc.w.s $f6, $f4
/* 0493A4 7F014874 00114080 */ sll $t0, $s1, 2
/* 0493A8 7F014878 44193000 */ mfc1 $t9, $f6
/* 0493AC 7F01487C 00000000 */ nop
/* 0493B0 7F014880 0332082A */ slt $at, $t9, $s2
/* 0493B4 7F014884 54200011 */ bnezl $at, .L7F0148CC
/* 0493B8 7F014888 2631FFFF */ addiu $s1, $s1, -1
/* 0493BC 7F01488C 0FC040A4 */ jal get_selected_num_players
/* 0493C0 7F014890 01098021 */ addu $s0, $t0, $t1
/* 0493C4 7F014894 920A0002 */ lbu $t2, 2($s0)
/* 0493C8 7F014898 004A082A */ slt $at, $v0, $t2
/* 0493CC 7F01489C 5420000B */ bnezl $at, .L7F0148CC
/* 0493D0 7F0148A0 2631FFFF */ addiu $s1, $s1, -1
/* 0493D4 7F0148A4 0FC040A4 */ jal get_selected_num_players
/* 0493D8 7F0148A8 00000000 */ nop
/* 0493DC 7F0148AC 920B0003 */ lbu $t3, 3($s0)
/* 0493E0 7F0148B0 0162082A */ slt $at, $t3, $v0
/* 0493E4 7F0148B4 14200004 */ bnez $at, .L7F0148C8
/* 0493E8 7F0148B8 262C0001 */ addiu $t4, $s1, 1
/* 0493EC 7F0148BC 3C018007 */ lui $at, %hi(dword_CODE_bss_80069780)
/* 0493F0 7F0148C0 10000004 */ b .L7F0148D4
/* 0493F4 7F0148C4 AC2C9780 */ sw $t4, %lo(dword_CODE_bss_80069780)($at)
.L7F0148C8:
/* 0493F8 7F0148C8 2631FFFF */ addiu $s1, $s1, -1
.L7F0148CC:
/* 0493FC 7F0148CC 1620FFE4 */ bnez $s1, .L7F014860
/* 049400 7F0148D0 2652FFEA */ addiu $s2, $s2, -0x16
.L7F0148D4:
/* 049404 7F0148D4 00002025 */ move $a0, $zero
/* 049408 7F0148D8 0C0030EB */ jal joyGetButtonsPressedThisFrame
/* 04940C 7F0148DC 3405B000 */ li $a1, 45056
/* 049410 7F0148E0 10400023 */ beqz $v0, .L7F014970
/* 049414 7F0148E4 00002025 */ move $a0, $zero
/* 049418 7F0148E8 3C0D8003 */ lui $t5, %hi(tab_3_highlight)
/* 04941C 7F0148EC 8DADA8E4 */ lw $t5, %lo(tab_3_highlight)($t5)
/* 049420 7F0148F0 240E0001 */ li $t6, 1
/* 049424 7F0148F4 3C018003 */ lui $at, %hi(tab_3_selected)
/* 049428 7F0148F8 11A00003 */ beqz $t5, .L7F014908
/* 04942C 7F0148FC 3C048007 */ lui $a0, %hi(dword_CODE_bss_80069780)
/* 049430 7F014900 10000014 */ b .L7F014954
/* 049434 7F014904 AC2EA8D8 */ sw $t6, %lo(tab_3_selected)($at)
.L7F014908:
/* 049438 7F014908 8C849780 */ lw $a0, %lo(dword_CODE_bss_80069780)($a0)
/* 04943C 7F01490C 24010005 */ li $at, 5
/* 049440 7F014910 2484FFFF */ addiu $a0, $a0, -1
/* 049444 7F014914 10810005 */ beq $a0, $at, .L7F01492C
/* 049448 7F014918 24010006 */ li $at, 6
/* 04944C 7F01491C 10810003 */ beq $a0, $at, .L7F01492C
/* 049450 7F014920 24010007 */ li $at, 7
/* 049454 7F014924 14810006 */ bne $a0, $at, .L7F014940
/* 049458 7F014928 00000000 */ nop
.L7F01492C:
/* 04945C 7F01492C 0FC0411A */ jal reset_mp_options_for_scenario
/* 049460 7F014930 00000000 */ nop
/* 049464 7F014934 240F0001 */ li $t7, 1
/* 049468 7F014938 10000006 */ b .L7F014954
/* 04946C 7F01493C AFAF002C */ sw $t7, 0x2c($sp)
.L7F014940:
/* 049470 7F014940 0FC0411A */ jal reset_mp_options_for_scenario
/* 049474 7F014944 00000000 */ nop
/* 049478 7F014948 24180001 */ li $t8, 1
/* 04947C 7F01494C 3C018003 */ lui $at, %hi(tab_3_selected)
/* 049480 7F014950 AC38A8D8 */ sw $t8, %lo(tab_3_selected)($at)
.L7F014954:
/* 049484 7F014954 3C048006 */ lui $a0, %hi(g_musicSfxBufferPtr)
/* 049488 7F014958 8C843720 */ lw $a0, %lo(g_musicSfxBufferPtr)($a0)
/* 04948C 7F01495C 240500C7 */ li $a1, 199
/* 049490 7F014960 0C002382 */ jal play_sfx_a1
/* 049494 7F014964 00003025 */ move $a2, $zero
/* 049498 7F014968 1000000C */ b .L7F01499C
/* 04949C 7F01496C 00000000 */ nop
.L7F014970:
/* 0494A0 7F014970 0C0030EB */ jal joyGetButtonsPressedThisFrame
/* 0494A4 7F014974 24054000 */ li $a1, 16384
/* 0494A8 7F014978 10400008 */ beqz $v0, .L7F01499C
/* 0494AC 7F01497C 24190001 */ li $t9, 1
/* 0494B0 7F014980 3C018003 */ lui $at, %hi(tab_3_selected)
/* 0494B4 7F014984 3C048006 */ lui $a0, %hi(g_musicSfxBufferPtr)
/* 0494B8 7F014988 AC39A8D8 */ sw $t9, %lo(tab_3_selected)($at)
/* 0494BC 7F01498C 8C843720 */ lw $a0, %lo(g_musicSfxBufferPtr)($a0)
/* 0494C0 7F014990 240500C7 */ li $a1, 199
/* 0494C4 7F014994 0C002382 */ jal play_sfx_a1
/* 0494C8 7F014998 00003025 */ move $a2, $zero
.L7F01499C:
/* 0494CC 7F01499C 3C108003 */ lui $s0, %hi(ptr_folder_object_instance)
/* 0494D0 7F0149A0 2610A95C */ addiu $s0, %lo(ptr_folder_object_instance) # addiu $s0, $s0, -0x56a4
/* 0494D4 7F0149A4 0FC02DC9 */ jal disable_all_switches
/* 0494D8 7F0149A8 8E040000 */ lw $a0, ($s0)
/* 0494DC 7F0149AC 8E040000 */ lw $a0, ($s0)
/* 0494E0 7F0149B0 00002825 */ move $a1, $zero
/* 0494E4 7F0149B4 0FC02DF0 */ jal set_item_visibility_in_objinstance
/* 0494E8 7F0149B8 24060001 */ li $a2, 1
/* 0494EC 7F0149BC 8E040000 */ lw $a0, ($s0)
/* 0494F0 7F0149C0 24050001 */ li $a1, 1
/* 0494F4 7F0149C4 0FC02DF0 */ jal set_item_visibility_in_objinstance
/* 0494F8 7F0149C8 24060001 */ li $a2, 1
/* 0494FC 7F0149CC 8E040000 */ lw $a0, ($s0)
/* 049500 7F0149D0 24050003 */ li $a1, 3
/* 049504 7F0149D4 0FC02DF0 */ jal set_item_visibility_in_objinstance
/* 049508 7F0149D8 24060001 */ li $a2, 1
/* 04950C 7F0149DC 8E040000 */ lw $a0, ($s0)
/* 049510 7F0149E0 24050006 */ li $a1, 6
/* 049514 7F0149E4 0FC02DF0 */ jal set_item_visibility_in_objinstance
/* 049518 7F0149E8 24060001 */ li $a2, 1
/* 04951C 7F0149EC 0FC026E1 */ jal menu_control_stick_tracking
/* 049520 7F0149F0 00000000 */ nop
/* 049524 7F0149F4 8FA8002C */ lw $t0, 0x2c($sp)
/* 049528 7F0149F8 24040014 */ li $a0, 20
/* 04952C 7F0149FC 3C098003 */ lui $t1, %hi(tab_3_selected)
/* 049530 7F014A00 11000005 */ beqz $t0, .L7F014A18
/* 049534 7F014A04 00000000 */ nop
/* 049538 7F014A08 0FC06975 */ jal set_menu_to_mode
/* 04953C 7F014A0C 00002825 */ move $a1, $zero
/* 049540 7F014A10 10000008 */ b .L7F014A34
/* 049544 7F014A14 8FBF0024 */ lw $ra, 0x24($sp)
.L7F014A18:
/* 049548 7F014A18 8D29A8D8 */ lw $t1, %lo(tab_3_selected)($t1)
/* 04954C 7F014A1C 2404000E */ li $a0, 14
/* 049550 7F014A20 51200004 */ beql $t1, $zero, .L7F014A34
/* 049554 7F014A24 8FBF0024 */ lw $ra, 0x24($sp)
/* 049558 7F014A28 0FC06975 */ jal set_menu_to_mode
/* 04955C 7F014A2C 00002825 */ move $a1, $zero
/* 049560 7F014A30 8FBF0024 */ lw $ra, 0x24($sp)
.L7F014A34:
/* 049564 7F014A34 8FB00018 */ lw $s0, 0x18($sp)
/* 049568 7F014A38 8FB1001C */ lw $s1, 0x1c($sp)
/* 04956C 7F014A3C 8FB20020 */ lw $s2, 0x20($sp)
/* 049570 7F014A40 03E00008 */ jr $ra
/* 049574 7F014A44 27BD0030 */ addiu $sp, $sp, 0x30
)
#endif
#ifdef NONMATCHING
void constructor_menu13_mpscenario(void)
{
s32 sp88;
s32 sp84;
s32 sp7C;
s32 sp78;
s32 sp28;
s32 sp24;
s32 sp20;
s32 temp_ret;
s32 temp_ret_2;
s32 temp_s2;
s32 temp_v1;
void *phi_s1;
s32 phi_s2;
s32 phi_s5;
s32 phi_s4;
s32 phi_s4_2;
sp88 = 0x37;
sp84 = 0x66;
viGetX();
sp20 = viGetY();
sp24 = 0;
sp28 = 0;
phi_s1 = &mp_player_counts;
phi_s2 = 0;
phi_s5 = 0x83;
phi_s4 = write_text_at_abs_coord(microcode_constructor(sub_GAME_7F00D5E8(viFillScreen(viSetFillColor(0, 0, 0)))), &sp88, &sp84, get_textptr_for_textID(TEXT(LTITLE, 0x57)), (s32) ptrSecondFontTableLarge, (s32) subroutine_arg0, 0xff);
loop_1:
if ((phi_s1->unk3 < get_selected_num_players()) || (get_selected_num_players() < phi_s1->unk2))
{
}
else
{
}
temp_ret = get_textptr_for_textID(phi_s1->unk0);
sub_GAME_7F0AE98C(&sp7C, &sp78, temp_ret, ptrSecondFontTableLarge, (s32) subroutine_arg0, 0);
sp88 = 0x39;
temp_v1 = phi_s5;
phi_s4_2 = phi_s4;
if ((phi_s2 + 1) == dword_CODE_bss_80069780)
{
sp84 = temp_v1;
phi_s4_2 = microcode_constructor_related_to_menus(phi_s4, 0x37, temp_v1 + -1, sp78 + 0x3c, (s32) (temp_v1 + 0xe), 0x32);
}
viGetX();
sp20 = viGetY();
sp24 = 0;
sp28 = 0;
temp_ret_2 = write_text_at_abs_coord(phi_s4_2, &sp88, &sp84, temp_ret, (s32) ptrSecondFontTableLarge, (s32) subroutine_arg0);
temp_s2 = phi_s2 + 1;
phi_s1 = phi_s1 + 4;
phi_s2 = temp_s2;
phi_s5 = phi_s5 + 0x16;
phi_s4 = temp_ret_2;
if (temp_s2 != 8)
{
goto loop_1;
}
load_draw_selected_icon_folder_select(add_tab3_previous(temp_ret_2));
}
#else
GLOBAL_ASM(
.text
glabel constructor_menu13_mpscenario
/* 049578 7F014A48 27BDFF68 */ addiu $sp, $sp, -0x98
/* 04957C 7F014A4C AFBF005C */ sw $ra, 0x5c($sp)
/* 049580 7F014A50 AFBE0058 */ sw $fp, 0x58($sp)
/* 049584 7F014A54 AFB70054 */ sw $s7, 0x54($sp)
/* 049588 7F014A58 AFB60050 */ sw $s6, 0x50($sp)
/* 04958C 7F014A5C AFB5004C */ sw $s5, 0x4c($sp)
/* 049590 7F014A60 AFB40048 */ sw $s4, 0x48($sp)
/* 049594 7F014A64 AFB30044 */ sw $s3, 0x44($sp)
/* 049598 7F014A68 AFB20040 */ sw $s2, 0x40($sp)
/* 04959C 7F014A6C AFB1003C */ sw $s1, 0x3c($sp)
/* 0495A0 7F014A70 AFB00038 */ sw $s0, 0x38($sp)
/* 0495A4 7F014A74 00002825 */ move $a1, $zero
/* 0495A8 7F014A78 00003025 */ move $a2, $zero
/* 0495AC 7F014A7C 0C0011B4 */ jal viSetFillColor
/* 0495B0 7F014A80 00003825 */ move $a3, $zero
/* 0495B4 7F014A84 0C000FBE */ jal viFillScreen
/* 0495B8 7F014A88 00402025 */ move $a0, $v0
/* 0495BC 7F014A8C 0FC0357A */ jal sub_GAME_7F00D5E8
/* 0495C0 7F014A90 00402025 */ move $a0, $v0
/* 0495C4 7F014A94 0FC2B366 */ jal microcode_constructor
/* 0495C8 7F014A98 00402025 */ move $a0, $v0
/* 0495CC 7F014A9C 0040A025 */ move $s4, $v0
/* 0495D0 7F014AA0 0FC30776 */ jal get_textptr_for_textID
/* 0495D4 7F014AA4 34049C57 */ li $a0, 40023
/* 0495D8 7F014AA8 240E0037 */ li $t6, 55
/* 0495DC 7F014AAC 24030066 */ li $v1, 102
/* 0495E0 7F014AB0 0040B025 */ move $s6, $v0
/* 0495E4 7F014AB4 AFAE0088 */ sw $t6, 0x88($sp)
/* 0495E8 7F014AB8 0C001107 */ jal viGetX
/* 0495EC 7F014ABC AFA30084 */ sw $v1, 0x84($sp)
/* 0495F0 7F014AC0 00028400 */ sll $s0, $v0, 0x10
/* 0495F4 7F014AC4 00107C03 */ sra $t7, $s0, 0x10
/* 0495F8 7F014AC8 0C00110B */ jal viGetY
/* 0495FC 7F014ACC 01E08025 */ move $s0, $t7
/* 049600 7F014AD0 3C178004 */ lui $s7, %hi(ptrSecondFontTableLarge)
/* 049604 7F014AD4 3C1E8004 */ lui $fp, %hi(ptrFirstFontTableLarge)
/* 049608 7F014AD8 27DE0EB4 */ addiu $fp, %lo(ptrFirstFontTableLarge) # addiu $fp, $fp, 0xeb4
/* 04960C 7F014ADC 26F70EB8 */ addiu $s7, %lo(ptrSecondFontTableLarge) # addiu $s7, $s7, 0xeb8
/* 049610 7F014AE0 8EF80000 */ lw $t8, ($s7)
/* 049614 7F014AE4 8FD90000 */ lw $t9, ($fp)
/* 049618 7F014AE8 240800FF */ li $t0, 255
/* 04961C 7F014AEC AFA80018 */ sw $t0, 0x18($sp)
/* 049620 7F014AF0 02802025 */ move $a0, $s4
/* 049624 7F014AF4 27A50088 */ addiu $a1, $sp, 0x88
/* 049628 7F014AF8 27A60084 */ addiu $a2, $sp, 0x84
/* 04962C 7F014AFC 02C03825 */ move $a3, $s6
/* 049630 7F014B00 AFB0001C */ sw $s0, 0x1c($sp)
/* 049634 7F014B04 AFA20020 */ sw $v0, 0x20($sp)
/* 049638 7F014B08 AFA00024 */ sw $zero, 0x24($sp)
/* 04963C 7F014B0C AFA00028 */ sw $zero, 0x28($sp)
/* 049640 7F014B10 AFB80010 */ sw $t8, 0x10($sp)
/* 049644 7F014B14 0FC025D8 */ jal write_text_at_abs_coord
/* 049648 7F014B18 AFB90014 */ sw $t9, 0x14($sp)
/* 04964C 7F014B1C 3C118003 */ lui $s1, %hi(mp_player_counts)
/* 049650 7F014B20 0040A025 */ move $s4, $v0
/* 049654 7F014B24 2631B054 */ addiu $s1, %lo(mp_player_counts) # addiu $s1, $s1, -0x4fac
/* 049658 7F014B28 00009025 */ move $s2, $zero
/* 04965C 7F014B2C 24150083 */ li $s5, 131
.L7F014B30:
/* 049660 7F014B30 0FC040A4 */ jal get_selected_num_players
/* 049664 7F014B34 241300FF */ li $s3, 255
/* 049668 7F014B38 92290003 */ lbu $t1, 3($s1)
/* 04966C 7F014B3C 0122082A */ slt $at, $t1, $v0
/* 049670 7F014B40 54200008 */ bnezl $at, .L7F014B64
/* 049674 7F014B44 24130070 */ li $s3, 112
/* 049678 7F014B48 0FC040A4 */ jal get_selected_num_players
/* 04967C 7F014B4C 00000000 */ nop
/* 049680 7F014B50 922A0002 */ lbu $t2, 2($s1)
/* 049684 7F014B54 004A082A */ slt $at, $v0, $t2
/* 049688 7F014B58 10200002 */ beqz $at, .L7F014B64
/* 04968C 7F014B5C 00000000 */ nop
/* 049690 7F014B60 24130070 */ li $s3, 112
.L7F014B64:
/* 049694 7F014B64 0FC30776 */ jal get_textptr_for_textID
/* 049698 7F014B68 96240000 */ lhu $a0, ($s1)
/* 04969C 7F014B6C 8FCB0000 */ lw $t3, ($fp)
/* 0496A0 7F014B70 0040B025 */ move $s6, $v0
/* 0496A4 7F014B74 27A4007C */ addiu $a0, $sp, 0x7c
/* 0496A8 7F014B78 27A50078 */ addiu $a1, $sp, 0x78
/* 0496AC 7F014B7C 00403025 */ move $a2, $v0
/* 0496B0 7F014B80 8EE70000 */ lw $a3, ($s7)
/* 0496B4 7F014B84 AFA00014 */ sw $zero, 0x14($sp)
/* 0496B8 7F014B88 0FC2BA63 */ jal sub_GAME_7F0AE98C
/* 0496BC 7F014B8C AFAB0010 */ sw $t3, 0x10($sp)
/* 0496C0 7F014B90 3C0E8007 */ lui $t6, %hi(dword_CODE_bss_80069780)
/* 0496C4 7F014B94 8DCE9780 */ lw $t6, %lo(dword_CODE_bss_80069780)($t6)
/* 0496C8 7F014B98 240C0039 */ li $t4, 57
/* 0496CC 7F014B9C 264D0001 */ addiu $t5, $s2, 1
/* 0496D0 7F014BA0 AFAC0088 */ sw $t4, 0x88($sp)
/* 0496D4 7F014BA4 02A01825 */ move $v1, $s5
/* 0496D8 7F014BA8 15AE000D */ bne $t5, $t6, .L7F014BE0
/* 0496DC 7F014BAC AFB50084 */ sw $s5, 0x84($sp)
/* 0496E0 7F014BB0 8FA70078 */ lw $a3, 0x78($sp)
/* 0496E4 7F014BB4 246F000E */ addiu $t7, $v1, 0xe
/* 0496E8 7F014BB8 24180032 */ li $t8, 50
/* 0496EC 7F014BBC AFB80014 */ sw $t8, 0x14($sp)
/* 0496F0 7F014BC0 AFAF0010 */ sw $t7, 0x10($sp)
/* 0496F4 7F014BC4 02802025 */ move $a0, $s4
/* 0496F8 7F014BC8 24050037 */ li $a1, 55
/* 0496FC 7F014BCC 2466FFFF */ addiu $a2, $v1, -1
/* 049700 7F014BD0 AFA30084 */ sw $v1, 0x84($sp)
/* 049704 7F014BD4 0FC2B405 */ jal microcode_constructor_related_to_menus
/* 049708 7F014BD8 24E7003C */ addiu $a3, $a3, 0x3c
/* 04970C 7F014BDC 0040A025 */ move $s4, $v0
.L7F014BE0:
/* 049710 7F014BE0 0C001107 */ jal viGetX
/* 049714 7F014BE4 00000000 */ nop
/* 049718 7F014BE8 00028400 */ sll $s0, $v0, 0x10
/* 04971C 7F014BEC 0010CC03 */ sra $t9, $s0, 0x10
/* 049720 7F014BF0 0C00110B */ jal viGetY
/* 049724 7F014BF4 03208025 */ move $s0, $t9
/* 049728 7F014BF8 8EE80000 */ lw $t0, ($s7)
/* 04972C 7F014BFC 8FC90000 */ lw $t1, ($fp)
/* 049730 7F014C00 02802025 */ move $a0, $s4
/* 049734 7F014C04 27A50088 */ addiu $a1, $sp, 0x88
/* 049738 7F014C08 27A60084 */ addiu $a2, $sp, 0x84
/* 04973C 7F014C0C 02C03825 */ move $a3, $s6
/* 049740 7F014C10 AFB30018 */ sw $s3, 0x18($sp)
/* 049744 7F014C14 AFB0001C */ sw $s0, 0x1c($sp)
/* 049748 7F014C18 AFA20020 */ sw $v0, 0x20($sp)
/* 04974C 7F014C1C AFA00024 */ sw $zero, 0x24($sp)
/* 049750 7F014C20 AFA00028 */ sw $zero, 0x28($sp)
/* 049754 7F014C24 AFA80010 */ sw $t0, 0x10($sp)
/* 049758 7F014C28 0FC025D8 */ jal write_text_at_abs_coord
/* 04975C 7F014C2C AFA90014 */ sw $t1, 0x14($sp)
/* 049760 7F014C30 26520001 */ addiu $s2, $s2, 1
/* 049764 7F014C34 24010008 */ li $at, 8
/* 049768 7F014C38 26310004 */ addiu $s1, $s1, 4
/* 04976C 7F014C3C 26B50016 */ addiu $s5, $s5, 0x16
/* 049770 7F014C40 1641FFBB */ bne $s2, $at, .L7F014B30
/* 049774 7F014C44 0040A025 */ move $s4, $v0
/* 049778 7F014C48 0FC0288E */ jal add_tab3_previous
/* 04977C 7F014C4C 00402025 */ move $a0, $v0
/* 049780 7F014C50 0FC027C2 */ jal load_draw_selected_icon_folder_select
/* 049784 7F014C54 00402025 */ move $a0, $v0
/* 049788 7F014C58 8FBF005C */ lw $ra, 0x5c($sp)
/* 04978C 7F014C5C 8FB00038 */ lw $s0, 0x38($sp)
/* 049790 7F014C60 8FB1003C */ lw $s1, 0x3c($sp)
/* 049794 7F014C64 8FB20040 */ lw $s2, 0x40($sp)
/* 049798 7F014C68 8FB30044 */ lw $s3, 0x44($sp)
/* 04979C 7F014C6C 8FB40048 */ lw $s4, 0x48($sp)
/* 0497A0 7F014C70 8FB5004C */ lw $s5, 0x4c($sp)
/* 0497A4 7F014C74 8FB60050 */ lw $s6, 0x50($sp)
/* 0497A8 7F014C78 8FB70054 */ lw $s7, 0x54($sp)
/* 0497AC 7F014C7C 8FBE0058 */ lw $fp, 0x58($sp)
/* 0497B0 7F014C80 03E00008 */ jr $ra
/* 0497B4 7F014C84 27BD0098 */ addiu $sp, $sp, 0x98
)
#endif
#ifdef NONMATCHING
s32 get_players_team_or_scenario_item_flag(int player)
{
return (s32)(u8)(&player1_player_data)[player].have_token_or_goldengun;
}
#else
GLOBAL_ASM(
.text
glabel get_players_team_or_scenario_item_flag
/* 0497B8 7F014C88 000470C0 */ sll $t6, $a0, 3
/* 0497BC 7F014C8C 01C47023 */ subu $t6, $t6, $a0
/* 0497C0 7F014C90 000E7100 */ sll $t6, $t6, 4
/* 0497C4 7F014C94 3C028008 */ lui $v0, %hi(player1_player_data+105)
/* 0497C8 7F014C98 004E1021 */ addu $v0, $v0, $t6
/* 0497CC 7F014C9C 03E00008 */ jr $ra
/* 0497D0 7F014CA0 90429F59 */ lbu $v0, %lo(player1_player_data+105)($v0)
)
#endif
#ifdef NONMATCHING
void set_players_team_or_scenario_item_flag(int player,char flag)
{
(&player1_player_data)[player].have_token_or_goldengun = flag;
}
#else
GLOBAL_ASM(
.text
glabel set_players_team_or_scenario_item_flag
/* 0497D4 7F014CA4 000470C0 */ sll $t6, $a0, 3
/* 0497D8 7F014CA8 01C47023 */ subu $t6, $t6, $a0
/* 0497DC 7F014CAC 000E7100 */ sll $t6, $t6, 4
/* 0497E0 7F014CB0 3C018008 */ lui $at, %hi(player1_player_data+105)
/* 0497E4 7F014CB4 002E0821 */ addu $at, $at, $t6
/* 0497E8 7F014CB8 03E00008 */ jr $ra
/* 0497EC 7F014CBC A0259F59 */ sb $a1, %lo(player1_player_data+105)($at)
)
#endif
void init_menu14_mpteamsel(void)
{
tab_1_selected = FALSE;
tab_2_selected = FALSE;
tab_3_selected = FALSE;
tab_3_highlight = FALSE;
tab_2_highlight = FALSE;
tab_1_highlight = FALSE;
if (scenario == SCENARIO_2v1) {
teamsize = 2;
}
else {
teamsize = 3;
}
D_8002B560 = 0;
load_walletbond();
}
void update_menu14_mpteams(void) {
return;
}
#ifdef NONMATCHING
void interface_menu14_mpteams(void)
{
s32 phi_s0;
s32 phi_a1;
s32 phi_a1_2;
s32 phi_s0_2;
viSetFovY(0x42700000);
viSetAspect(D_80051AB0);
viSetZRange(0x42c80000, D_80051AB4);
viSetUseZBuf(0);
D_8002B560 = (s32) ((s32) (D_8002B560 + 1) % 0x14);
if ((joyGetButtonsPressedThisFrame(0, 0x101) != 0) || (joyGetStickXInRange(0, -2, 1) > 0))
{
if (scenario == 7)
{
if ((teamsize & 1) == 0)
{
teamsize = 1;
play_sfx_a1(g_musicSfxBufferPtr, 0xc7, 0);
}
}
else
{
if ((teamsize & 1) == 0)
{
teamsize = (s32) (teamsize + 1);
play_sfx_a1(g_musicSfxBufferPtr, 0xc7, 0);
}
}
}
else
{
if ((joyGetButtonsPressedThisFrame(0, 0x808) != 0) || (joyGetStickYInRange(0, -2, 1) > 0))
{
if (scenario == 5)
{
if ((teamsize & 2) != 0)
{
teamsize = 1;
play_sfx_a1(g_musicSfxBufferPtr, 0xc7, 0);
}
}
else
{
if ((teamsize & 2) != 0)
{
teamsize = (s32) (teamsize + -2);
play_sfx_a1(g_musicSfxBufferPtr, 0xc7, 0);
}
}
}
else
{
if ((joyGetButtonsPressedThisFrame(0, 0x202) != 0) || (joyGetStickXInRange(0, -2, 1) < -1))
{
if (scenario == 5)
{
if ((teamsize & 1) != 0)
{
teamsize = 2;
play_sfx_a1(g_musicSfxBufferPtr, 0xc7, 0);
}
}
else
{
if ((teamsize & 1) != 0)
{
teamsize = (s32) (teamsize + -1);
play_sfx_a1(g_musicSfxBufferPtr, 0xc7, 0);
}
}
}
else
{
if ((joyGetButtonsPressedThisFrame(0, 0x404) != 0) || (joyGetStickYInRange(0, -2, 1) < -1))
{
if (scenario == 7)
{
if ((teamsize & 2) == 0)
{
teamsize = 2;
play_sfx_a1(g_musicSfxBufferPtr, 0xc7, 0);
}
}
else
{
if ((teamsize & 2) == 0)
{
teamsize = (s32) (teamsize + 2);
play_sfx_a1(g_musicSfxBufferPtr, 0xc7, 0);
}
}
}
else
{
}
}
}
}
disable_all_switches(ptr_folder_object_instance);
set_item_visibility_in_objinstance(ptr_folder_object_instance, 0, 1);
set_item_visibility_in_objinstance(ptr_folder_object_instance, 0x2a, 1);
menu_control_stick_tracking();
phi_s0 = 0;
if (joyGetButtonsPressedThisFrame(0, 0xb000) != 0)
{
loop_29:
if (scenario == 5)
{
if ((phi_s0 == 0) || (phi_s0 == teamsize))
{
phi_a1 = 0;
}
else
{
}
set_players_team_or_scenario_item_flag(phi_s0, phi_a1);
phi_s0_2 = phi_s0 + 1;
}
else
{
phi_a1_2 = 1;
if (phi_s0 != teamsize)
{
phi_a1_2 = 0;
}
set_players_team_or_scenario_item_flag(phi_s0, phi_a1_2);
phi_s0_2 = phi_s0 + 1;
}
phi_s0 = phi_s0_2;
if (phi_s0_2 != 4)
{
goto loop_29;
}
set_menu_to_mode(MENU_MP_OPTIONS, 0);
play_sfx_a1(g_musicSfxBufferPtr, 0xc7, 0);
}
}
#else
GLOBAL_ASM(
.late_rodata
glabel D_80051AB0
.word 0x3FAAAAAB /*1.3333334;*/
glabel D_80051AB4
.word 0x461C4000 /*10000.0;*/
.text
glabel interface_menu14_mpteams
/* 049878 7F014D48 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 04987C 7F014D4C 3C014270 */ li $at, 0x42700000 # 60.000000
/* 049880 7F014D50 AFBF001C */ sw $ra, 0x1c($sp)
/* 049884 7F014D54 44816000 */ mtc1 $at, $f12
/* 049888 7F014D58 AFB10018 */ sw $s1, 0x18($sp)
/* 04988C 7F014D5C 0C001151 */ jal viSetFovY
/* 049890 7F014D60 AFB00014 */ sw $s0, 0x14($sp)
/* 049894 7F014D64 3C018005 */ lui $at, %hi(D_80051AB0)
/* 049898 7F014D68 0C001164 */ jal viSetAspect
/* 04989C 7F014D6C C42C1AB0 */ lwc1 $f12, %lo(D_80051AB0)($at)
/* 0498A0 7F014D70 3C0142C8 */ li $at, 0x42C80000 # 100.000000
/* 0498A4 7F014D74 44816000 */ mtc1 $at, $f12
/* 0498A8 7F014D78 3C018005 */ lui $at, %hi(D_80051AB4)
/* 0498AC 7F014D7C 0C001194 */ jal viSetZRange
/* 0498B0 7F014D80 C42E1AB4 */ lwc1 $f14, %lo(D_80051AB4)($at)
/* 0498B4 7F014D84 0C00114D */ jal viSetUseZBuf
/* 0498B8 7F014D88 00002025 */ move $a0, $zero
/* 0498BC 7F014D8C 3C028003 */ lui $v0, %hi(D_8002B560)
/* 0498C0 7F014D90 2442B560 */ addiu $v0, %lo(D_8002B560) # addiu $v0, $v0, -0x4aa0
/* 0498C4 7F014D94 8C4E0000 */ lw $t6, ($v0)
/* 0498C8 7F014D98 24010014 */ li $at, 20
/* 0498CC 7F014D9C 00002025 */ move $a0, $zero
/* 0498D0 7F014DA0 25CF0001 */ addiu $t7, $t6, 1
/* 0498D4 7F014DA4 01E1001A */ div $zero, $t7, $at
/* 0498D8 7F014DA8 0000C010 */ mfhi $t8
/* 0498DC 7F014DAC AC580000 */ sw $t8, ($v0)
/* 0498E0 7F014DB0 0C0030EB */ jal joyGetButtonsPressedThisFrame
/* 0498E4 7F014DB4 24050101 */ li $a1, 257
/* 0498E8 7F014DB8 14400005 */ bnez $v0, .L7F014DD0
/* 0498EC 7F014DBC 00002025 */ move $a0, $zero
/* 0498F0 7F014DC0 2405FFFE */ li $a1, -2
/* 0498F4 7F014DC4 0C00312D */ jal joyGetStickXInRange
/* 0498F8 7F014DC8 24060001 */ li $a2, 1
/* 0498FC 7F014DCC 18400020 */ blez $v0, .L7F014E50
.L7F014DD0:
/* 049900 7F014DD0 3C198003 */ lui $t9, %hi(scenario)
/* 049904 7F014DD4 8F39B540 */ lw $t9, %lo(scenario)($t9)
/* 049908 7F014DD8 24010007 */ li $at, 7
/* 04990C 7F014DDC 3C118007 */ lui $s1, %hi(teamsize)
/* 049910 7F014DE0 1721000F */ bne $t9, $at, .L7F014E20
/* 049914 7F014DE4 26319788 */ addiu $s1, %lo(teamsize) # addiu $s1, $s1, -0x6878
/* 049918 7F014DE8 3C118007 */ lui $s1, %hi(teamsize)
/* 04991C 7F014DEC 26319788 */ addiu $s1, %lo(teamsize) # addiu $s1, $s1, -0x6878
/* 049920 7F014DF0 8E280000 */ lw $t0, ($s1)
/* 049924 7F014DF4 240A0001 */ li $t2, 1
/* 049928 7F014DF8 3C048006 */ lui $a0, %hi(g_musicSfxBufferPtr)
/* 04992C 7F014DFC 31090001 */ andi $t1, $t0, 1
/* 049930 7F014E00 1520008E */ bnez $t1, .L7F01503C
/* 049934 7F014E04 240500C7 */ li $a1, 199
/* 049938 7F014E08 AE2A0000 */ sw $t2, ($s1)
/* 04993C 7F014E0C 8C843720 */ lw $a0, %lo(g_musicSfxBufferPtr)($a0)
/* 049940 7F014E10 0C002382 */ jal play_sfx_a1
/* 049944 7F014E14 00003025 */ move $a2, $zero
/* 049948 7F014E18 10000088 */ b .L7F01503C
/* 04994C 7F014E1C 00000000 */ nop
.L7F014E20:
/* 049950 7F014E20 8E220000 */ lw $v0, ($s1)
/* 049954 7F014E24 3C048006 */ lui $a0, %hi(g_musicSfxBufferPtr)
/* 049958 7F014E28 240500C7 */ li $a1, 199
/* 04995C 7F014E2C 304B0001 */ andi $t3, $v0, 1
/* 049960 7F014E30 15600082 */ bnez $t3, .L7F01503C
/* 049964 7F014E34 244C0001 */ addiu $t4, $v0, 1
/* 049968 7F014E38 AE2C0000 */ sw $t4, ($s1)
/* 04996C 7F014E3C 8C843720 */ lw $a0, %lo(g_musicSfxBufferPtr)($a0)
/* 049970 7F014E40 0C002382 */ jal play_sfx_a1
/* 049974 7F014E44 00003025 */ move $a2, $zero
/* 049978 7F014E48 1000007C */ b .L7F01503C
/* 04997C 7F014E4C 00000000 */ nop
.L7F014E50:
/* 049980 7F014E50 00002025 */ move $a0, $zero
/* 049984 7F014E54 0C0030EB */ jal joyGetButtonsPressedThisFrame
/* 049988 7F014E58 24050808 */ li $a1, 2056
/* 04998C 7F014E5C 14400005 */ bnez $v0, .L7F014E74
/* 049990 7F014E60 00002025 */ move $a0, $zero
/* 049994 7F014E64 2405FFFE */ li $a1, -2
/* 049998 7F014E68 0C00314A */ jal joyGetStickYInRange
/* 04999C 7F014E6C 24060001 */ li $a2, 1
/* 0499A0 7F014E70 18400020 */ blez $v0, .L7F014EF4
.L7F014E74:
/* 0499A4 7F014E74 3C0D8003 */ lui $t5, %hi(scenario)
/* 0499A8 7F014E78 8DADB540 */ lw $t5, %lo(scenario)($t5)
/* 0499AC 7F014E7C 24010005 */ li $at, 5
/* 0499B0 7F014E80 3C118007 */ lui $s1, %hi(teamsize)
/* 0499B4 7F014E84 15A1000F */ bne $t5, $at, .L7F014EC4
/* 0499B8 7F014E88 26319788 */ addiu $s1, %lo(teamsize) # addiu $s1, $s1, -0x6878
/* 0499BC 7F014E8C 3C118007 */ lui $s1, %hi(teamsize)
/* 0499C0 7F014E90 26319788 */ addiu $s1, %lo(teamsize) # addiu $s1, $s1, -0x6878
/* 0499C4 7F014E94 8E2E0000 */ lw $t6, ($s1)
/* 0499C8 7F014E98 24180001 */ li $t8, 1
/* 0499CC 7F014E9C 3C048006 */ lui $a0, %hi(g_musicSfxBufferPtr)
/* 0499D0 7F014EA0 31CF0002 */ andi $t7, $t6, 2
/* 0499D4 7F014EA4 11E00065 */ beqz $t7, .L7F01503C
/* 0499D8 7F014EA8 240500C7 */ li $a1, 199
/* 0499DC 7F014EAC AE380000 */ sw $t8, ($s1)
/* 0499E0 7F014EB0 8C843720 */ lw $a0, %lo(g_musicSfxBufferPtr)($a0)
/* 0499E4 7F014EB4 0C002382 */ jal play_sfx_a1
/* 0499E8 7F014EB8 00003025 */ move $a2, $zero
/* 0499EC 7F014EBC 1000005F */ b .L7F01503C
/* 0499F0 7F014EC0 00000000 */ nop
.L7F014EC4:
/* 0499F4 7F014EC4 8E220000 */ lw $v0, ($s1)
/* 0499F8 7F014EC8 3C048006 */ lui $a0, %hi(g_musicSfxBufferPtr)
/* 0499FC 7F014ECC 240500C7 */ li $a1, 199
/* 049A00 7F014ED0 30590002 */ andi $t9, $v0, 2
/* 049A04 7F014ED4 13200059 */ beqz $t9, .L7F01503C
/* 049A08 7F014ED8 2448FFFE */ addiu $t0, $v0, -2
/* 049A0C 7F014EDC AE280000 */ sw $t0, ($s1)
/* 049A10 7F014EE0 8C843720 */ lw $a0, %lo(g_musicSfxBufferPtr)($a0)
/* 049A14 7F014EE4 0C002382 */ jal play_sfx_a1
/* 049A18 7F014EE8 00003025 */ move $a2, $zero
/* 049A1C 7F014EEC 10000053 */ b .L7F01503C
/* 049A20 7F014EF0 00000000 */ nop
.L7F014EF4:
/* 049A24 7F014EF4 00002025 */ move $a0, $zero
/* 049A28 7F014EF8 0C0030EB */ jal joyGetButtonsPressedThisFrame
/* 049A2C 7F014EFC 24050202 */ li $a1, 514
/* 049A30 7F014F00 14400006 */ bnez $v0, .L7F014F1C
/* 049A34 7F014F04 00002025 */ move $a0, $zero
/* 049A38 7F014F08 2405FFFE */ li $a1, -2
/* 049A3C 7F014F0C 0C00312D */ jal joyGetStickXInRange
/* 049A40 7F014F10 24060001 */ li $a2, 1
/* 049A44 7F014F14 2841FFFF */ slti $at, $v0, -1
/* 049A48 7F014F18 10200020 */ beqz $at, .L7F014F9C
.L7F014F1C:
/* 049A4C 7F014F1C 3C098003 */ lui $t1, %hi(scenario)
/* 049A50 7F014F20 8D29B540 */ lw $t1, %lo(scenario)($t1)
/* 049A54 7F014F24 24010005 */ li $at, 5
/* 049A58 7F014F28 3C118007 */ lui $s1, %hi(teamsize)
/* 049A5C 7F014F2C 1521000F */ bne $t1, $at, .L7F014F6C
/* 049A60 7F014F30 26319788 */ addiu $s1, %lo(teamsize) # addiu $s1, $s1, -0x6878
/* 049A64 7F014F34 3C118007 */ lui $s1, %hi(teamsize)
/* 049A68 7F014F38 26319788 */ addiu $s1, %lo(teamsize) # addiu $s1, $s1, -0x6878
/* 049A6C 7F014F3C 8E2A0000 */ lw $t2, ($s1)
/* 049A70 7F014F40 240C0002 */ li $t4, 2
/* 049A74 7F014F44 3C048006 */ lui $a0, %hi(g_musicSfxBufferPtr)
/* 049A78 7F014F48 314B0001 */ andi $t3, $t2, 1
/* 049A7C 7F014F4C 1160003B */ beqz $t3, .L7F01503C
/* 049A80 7F014F50 240500C7 */ li $a1, 199
/* 049A84 7F014F54 AE2C0000 */ sw $t4, ($s1)
/* 049A88 7F014F58 8C843720 */ lw $a0, %lo(g_musicSfxBufferPtr)($a0)
/* 049A8C 7F014F5C 0C002382 */ jal play_sfx_a1
/* 049A90 7F014F60 00003025 */ move $a2, $zero
/* 049A94 7F014F64 10000035 */ b .L7F01503C
/* 049A98 7F014F68 00000000 */ nop
.L7F014F6C:
/* 049A9C 7F014F6C 8E220000 */ lw $v0, ($s1)
/* 049AA0 7F014F70 3C048006 */ lui $a0, %hi(g_musicSfxBufferPtr)
/* 049AA4 7F014F74 240500C7 */ li $a1, 199
/* 049AA8 7F014F78 304D0001 */ andi $t5, $v0, 1
/* 049AAC 7F014F7C 11A0002F */ beqz $t5, .L7F01503C
/* 049AB0 7F014F80 244EFFFF */ addiu $t6, $v0, -1
/* 049AB4 7F014F84 AE2E0000 */ sw $t6, ($s1)
/* 049AB8 7F014F88 8C843720 */ lw $a0, %lo(g_musicSfxBufferPtr)($a0)
/* 049ABC 7F014F8C 0C002382 */ jal play_sfx_a1
/* 049AC0 7F014F90 00003025 */ move $a2, $zero
/* 049AC4 7F014F94 10000029 */ b .L7F01503C
/* 049AC8 7F014F98 00000000 */ nop
.L7F014F9C:
/* 049ACC 7F014F9C 00002025 */ move $a0, $zero
/* 049AD0 7F014FA0 0C0030EB */ jal joyGetButtonsPressedThisFrame
/* 049AD4 7F014FA4 24050404 */ li $a1, 1028
/* 049AD8 7F014FA8 14400006 */ bnez $v0, .L7F014FC4
/* 049ADC 7F014FAC 00002025 */ move $a0, $zero
/* 049AE0 7F014FB0 2405FFFE */ li $a1, -2
/* 049AE4 7F014FB4 0C00314A */ jal joyGetStickYInRange
/* 049AE8 7F014FB8 24060001 */ li $a2, 1
/* 049AEC 7F014FBC 2841FFFF */ slti $at, $v0, -1
/* 049AF0 7F014FC0 1020001E */ beqz $at, .L7F01503C
.L7F014FC4:
/* 049AF4 7F014FC4 3C0F8003 */ lui $t7, %hi(scenario)
/* 049AF8 7F014FC8 8DEFB540 */ lw $t7, %lo(scenario)($t7)
/* 049AFC 7F014FCC 24010007 */ li $at, 7
/* 049B00 7F014FD0 3C118007 */ lui $s1, %hi(teamsize)
/* 049B04 7F014FD4 15E1000F */ bne $t7, $at, .L7F015014
/* 049B08 7F014FD8 26319788 */ addiu $s1, %lo(teamsize) # addiu $s1, $s1, -0x6878
/* 049B0C 7F014FDC 3C118007 */ lui $s1, %hi(teamsize)
/* 049B10 7F014FE0 26319788 */ addiu $s1, %lo(teamsize) # addiu $s1, $s1, -0x6878
/* 049B14 7F014FE4 8E380000 */ lw $t8, ($s1)
/* 049B18 7F014FE8 24080002 */ li $t0, 2
/* 049B1C 7F014FEC 3C048006 */ lui $a0, %hi(g_musicSfxBufferPtr)
/* 049B20 7F014FF0 33190002 */ andi $t9, $t8, 2
/* 049B24 7F014FF4 17200011 */ bnez $t9, .L7F01503C
/* 049B28 7F014FF8 240500C7 */ li $a1, 199
/* 049B2C 7F014FFC AE280000 */ sw $t0, ($s1)
/* 049B30 7F015000 8C843720 */ lw $a0, %lo(g_musicSfxBufferPtr)($a0)
/* 049B34 7F015004 0C002382 */ jal play_sfx_a1
/* 049B38 7F015008 00003025 */ move $a2, $zero
/* 049B3C 7F01500C 1000000B */ b .L7F01503C
/* 049B40 7F015010 00000000 */ nop
.L7F015014:
/* 049B44 7F015014 8E220000 */ lw $v0, ($s1)
/* 049B48 7F015018 3C048006 */ lui $a0, %hi(g_musicSfxBufferPtr)
/* 049B4C 7F01501C 240500C7 */ li $a1, 199
/* 049B50 7F015020 30490002 */ andi $t1, $v0, 2
/* 049B54 7F015024 15200005 */ bnez $t1, .L7F01503C
/* 049B58 7F015028 244A0002 */ addiu $t2, $v0, 2
/* 049B5C 7F01502C AE2A0000 */ sw $t2, ($s1)
/* 049B60 7F015030 8C843720 */ lw $a0, %lo(g_musicSfxBufferPtr)($a0)
/* 049B64 7F015034 0C002382 */ jal play_sfx_a1
/* 049B68 7F015038 00003025 */ move $a2, $zero
.L7F01503C:
/* 049B6C 7F01503C 3C108003 */ lui $s0, %hi(ptr_folder_object_instance)
/* 049B70 7F015040 2610A95C */ addiu $s0, %lo(ptr_folder_object_instance) # addiu $s0, $s0, -0x56a4
/* 049B74 7F015044 3C118007 */ lui $s1, %hi(teamsize)
/* 049B78 7F015048 26319788 */ addiu $s1, %lo(teamsize) # addiu $s1, $s1, -0x6878
/* 049B7C 7F01504C 0FC02DC9 */ jal disable_all_switches
/* 049B80 7F015050 8E040000 */ lw $a0, ($s0)
/* 049B84 7F015054 8E040000 */ lw $a0, ($s0)
/* 049B88 7F015058 00002825 */ move $a1, $zero
/* 049B8C 7F01505C 0FC02DF0 */ jal set_item_visibility_in_objinstance
/* 049B90 7F015060 24060001 */ li $a2, 1
/* 049B94 7F015064 8E040000 */ lw $a0, ($s0)
/* 049B98 7F015068 2405002A */ li $a1, 42
/* 049B9C 7F01506C 0FC02DF0 */ jal set_item_visibility_in_objinstance
/* 049BA0 7F015070 24060001 */ li $a2, 1
/* 049BA4 7F015074 0FC026E1 */ jal menu_control_stick_tracking
/* 049BA8 7F015078 00000000 */ nop
/* 049BAC 7F01507C 00002025 */ move $a0, $zero
/* 049BB0 7F015080 0C0030EB */ jal joyGetButtonsPressedThisFrame
/* 049BB4 7F015084 3405B000 */ li $a1, 45056
/* 049BB8 7F015088 10400026 */ beqz $v0, .L7F015124
/* 049BBC 7F01508C 00008025 */ move $s0, $zero
.L7F015090:
/* 049BC0 7F015090 3C0B8003 */ lui $t3, %hi(scenario)
/* 049BC4 7F015094 8D6BB540 */ lw $t3, %lo(scenario)($t3)
/* 049BC8 7F015098 24010005 */ li $at, 5
/* 049BCC 7F01509C 5561000E */ bnel $t3, $at, .L7F0150D8
/* 049BD0 7F0150A0 8E2D0000 */ lw $t5, ($s1)
/* 049BD4 7F0150A4 12000005 */ beqz $s0, .L7F0150BC
/* 049BD8 7F0150A8 00000000 */ nop
/* 049BDC 7F0150AC 8E2C0000 */ lw $t4, ($s1)
/* 049BE0 7F0150B0 24050001 */ li $a1, 1
/* 049BE4 7F0150B4 160C0003 */ bne $s0, $t4, .L7F0150C4
/* 049BE8 7F0150B8 00000000 */ nop
.L7F0150BC:
/* 049BEC 7F0150BC 10000001 */ b .L7F0150C4
/* 049BF0 7F0150C0 00002825 */ move $a1, $zero
.L7F0150C4:
/* 049BF4 7F0150C4 0FC05329 */ jal set_players_team_or_scenario_item_flag
/* 049BF8 7F0150C8 02002025 */ move $a0, $s0
/* 049BFC 7F0150CC 1000000A */ b .L7F0150F8
/* 049C00 7F0150D0 26100001 */ addiu $s0, $s0, 1
/* 049C04 7F0150D4 8E2D0000 */ lw $t5, ($s1)
.L7F0150D8:
/* 049C08 7F0150D8 24050001 */ li $a1, 1
/* 049C0C 7F0150DC 120D0003 */ beq $s0, $t5, .L7F0150EC
/* 049C10 7F0150E0 00000000 */ nop
/* 049C14 7F0150E4 10000001 */ b .L7F0150EC
/* 049C18 7F0150E8 00002825 */ move $a1, $zero
.L7F0150EC:
/* 049C1C 7F0150EC 0FC05329 */ jal set_players_team_or_scenario_item_flag
/* 049C20 7F0150F0 02002025 */ move $a0, $s0
/* 049C24 7F0150F4 26100001 */ addiu $s0, $s0, 1
.L7F0150F8:
/* 049C28 7F0150F8 24010004 */ li $at, 4
/* 049C2C 7F0150FC 1601FFE4 */ bne $s0, $at, .L7F015090
/* 049C30 7F015100 00000000 */ nop
/* 049C34 7F015104 2404000E */ li $a0, 14
/* 049C38 7F015108 0FC06975 */ jal set_menu_to_mode
/* 049C3C 7F01510C 00002825 */ move $a1, $zero
/* 049C40 7F015110 3C048006 */ lui $a0, %hi(g_musicSfxBufferPtr)
/* 049C44 7F015114 8C843720 */ lw $a0, %lo(g_musicSfxBufferPtr)($a0)
/* 049C48 7F015118 240500C7 */ li $a1, 199
/* 049C4C 7F01511C 0C002382 */ jal play_sfx_a1
/* 049C50 7F015120 00003025 */ move $a2, $zero
.L7F015124:
/* 049C54 7F015124 8FBF001C */ lw $ra, 0x1c($sp)
/* 049C58 7F015128 8FB00014 */ lw $s0, 0x14($sp)
/* 049C5C 7F01512C 8FB10018 */ lw $s1, 0x18($sp)
/* 049C60 7F015130 03E00008 */ jr $ra
/* 049C64 7F015134 27BD0020 */ addiu $sp, $sp, 0x20
)
#endif
#ifdef NONMATCHING
void constructor_menu14_mpteams(s32 arg0)
{
s32 spCC;
s32 spA4;
s32 spA0;
s32 sp9C;
s32 sp98;
s32 sp90;
s32 sp8C;
s32 sp88;
s32 sp84;
s32 temp_ret;
s32 temp_ret_2;
s32 temp_s5;
s32 temp_s6;
u32 temp_s2;
u32 temp_s4;
void *temp_v1;
u32 phi_s4;
s32 phi_v0;
s32 phi_v0_2;
void *phi_s5;
u32 phi_s0;
s32 phi_s1;
s32 phi_s5_2;
void *phi_s5_3;
void *phi_s5_4;
void *phi_s5_5;
u32 phi_v0_3;
spCC = get_selected_num_players();
temp_ret = microcode_constructor_related_to_menus(microcode_constructor(sub_GAME_7F00D5E8(viFillScreen(viSetFillColor(arg0, 0, 0, 0)))), 0x26, 0xa9, 0x184, 0xab, 0x90);
phi_s5_5 = temp_ret;
if (spCC >= 3)
{
phi_s5_5 = microcode_constructor_related_to_menus(temp_ret, 0xd4, 0x1e, 0xd6, 0x136, 0x80);
}
phi_s5_3 = phi_s5_5;
if (spCC > 0)
{
phi_s4 = 0U;
phi_s5 = phi_s5_5;
loop_4:
if (phi_s4 >= 2)
{
phi_v0_2 = 0x8c;
}
else
{
phi_v0_2 = 0;
}
temp_s6 = phi_v0_2 + 0x1e;
if ((phi_s4 & 1) != 0)
{
phi_v0 = 0xaf;
}
else
{
phi_v0 = 0;
}
temp_v1 = phi_s5;
temp_s2 = (u32) phi_s4 < 1U;
temp_s5 = phi_s5 + 8;
temp_v1->unk0 = (s32) (((((s32) ((f32) (phi_v0 + 0x2c) * 4.0f) & 0xfff) << 0xc) | 0xed000000) | ((s32) ((f32) (temp_s6 + 5) * 4.0f) & 0xfff));
temp_v1->unk4 = (s32) ((((s32) ((f32) (phi_v0 + 0xcf) * 4.0f) & 0xfff) << 0xc) | ((s32) ((f32) (temp_s6 + 0x87) * 4.0f) & 0xfff));
phi_s5_2 = temp_s5;
if (temp_s2 != 0)
{
temp_ret_2 = get_textptr_for_textID(TEXT(LTITLE, 0x58));
sub_GAME_7F0AE98C(&spA4, &spA0, temp_ret_2, ptrSecondFontTableLarge, (s32) subroutine_arg0, 0);
sp9C = (s32) ((phi_v0 + 0x7d) - (spA0 >> 1));
viGetX();
phi_s5_2 = write_text_at_abs_coord(temp_s5, &sp9C, &sp98, temp_ret_2, (s32) ptrSecondFontTableLarge, (s32) subroutine_arg0, 0xff, viGetY(), 0, 0);
}
if (scenario == 5)
{
phi_v0_3 = temp_s2;
if (temp_s2 == 0)
{
phi_v0_3 = (u32) (phi_s4 ^ teamsize) < 1U;
}
phi_s0 = phi_v0_3;
}
else
{
phi_s0 = 0U < (u32) (phi_s4 ^ teamsize);
}
if (phi_s0 != 0)
{
phi_s1 = get_textptr_for_textID(TEXT(LTITLE, 0x59));
}
else
{
phi_s1 = get_textptr_for_textID(TEXT(LTITLE, 0x5a));
}
if (phi_s0 != 0)
{
}
else
{
}
sub_GAME_7F0AE98C(&sp90, &sp8C, phi_s1, ptrSecondFontTableLarge, (s32) subroutine_arg0, 0);
sp88 = (s32) (spB4 - (sp8C >> 1));
sp84 = (s32) ((temp_s6 - (sp90 >> 1)) + 0x46);
if ((phi_s4 == teamsize) && (phi_s4 == teamsize))
{
phi_s5_4 = (void *) phi_s5_2;
if (D_8002B560 < 0xa)
{
block_26:
viGetX();
phi_s5_4 = write_text_at_abs_coord(phi_s5_2, &sp88, &sp84, phi_s1, (s32) ptrSecondFontTableLarge, (s32) subroutine_arg0, viGetY(), 0, 0);
}
}
else
{
goto block_26;
}
temp_s4 = phi_s4 + 1;
phi_s4 = temp_s4;
phi_s5 = phi_s5_4;
phi_s5_3 = phi_s5_4;
if (temp_s4 != spCC)
{
goto loop_4;
}
}
combiner_bayer_lod_perspective(phi_s5_3);
}
#else
GLOBAL_ASM(
.text
glabel constructor_menu14_mpteams
/* 049C68 7F015138 27BDFF30 */ addiu $sp, $sp, -0xd0
/* 049C6C 7F01513C AFBF0064 */ sw $ra, 0x64($sp)
/* 049C70 7F015140 AFB50054 */ sw $s5, 0x54($sp)
/* 049C74 7F015144 0080A825 */ move $s5, $a0
/* 049C78 7F015148 AFBE0060 */ sw $fp, 0x60($sp)
/* 049C7C 7F01514C AFB7005C */ sw $s7, 0x5c($sp)
/* 049C80 7F015150 AFB60058 */ sw $s6, 0x58($sp)
/* 049C84 7F015154 AFB40050 */ sw $s4, 0x50($sp)
/* 049C88 7F015158 AFB3004C */ sw $s3, 0x4c($sp)
/* 049C8C 7F01515C AFB20048 */ sw $s2, 0x48($sp)
/* 049C90 7F015160 AFB10044 */ sw $s1, 0x44($sp)
/* 049C94 7F015164 AFB00040 */ sw $s0, 0x40($sp)
/* 049C98 7F015168 0FC040A4 */ jal get_selected_num_players
/* 049C9C 7F01516C F7B40038 */ sdc1 $f20, 0x38($sp)
/* 049CA0 7F015170 AFA200CC */ sw $v0, 0xcc($sp)
/* 049CA4 7F015174 02A02025 */ move $a0, $s5
/* 049CA8 7F015178 00002825 */ move $a1, $zero
/* 049CAC 7F01517C 00003025 */ move $a2, $zero
/* 049CB0 7F015180 0C0011B4 */ jal viSetFillColor
/* 049CB4 7F015184 00003825 */ move $a3, $zero
/* 049CB8 7F015188 0C000FBE */ jal viFillScreen
/* 049CBC 7F01518C 00402025 */ move $a0, $v0
/* 049CC0 7F015190 0FC0357A */ jal sub_GAME_7F00D5E8
/* 049CC4 7F015194 00402025 */ move $a0, $v0
/* 049CC8 7F015198 0FC2B366 */ jal microcode_constructor
/* 049CCC 7F01519C 00402025 */ move $a0, $v0
/* 049CD0 7F0151A0 240E00AB */ li $t6, 171
/* 049CD4 7F0151A4 240F0090 */ li $t7, 144
/* 049CD8 7F0151A8 AFAF0014 */ sw $t7, 0x14($sp)
/* 049CDC 7F0151AC AFAE0010 */ sw $t6, 0x10($sp)
/* 049CE0 7F0151B0 00402025 */ move $a0, $v0
/* 049CE4 7F0151B4 24050026 */ li $a1, 38
/* 049CE8 7F0151B8 240600A9 */ li $a2, 169
/* 049CEC 7F0151BC 0FC2B405 */ jal microcode_constructor_related_to_menus
/* 049CF0 7F0151C0 24070184 */ li $a3, 388
/* 049CF4 7F0151C4 8FB800CC */ lw $t8, 0xcc($sp)
/* 049CF8 7F0151C8 0040A825 */ move $s5, $v0
/* 049CFC 7F0151CC 00402025 */ move $a0, $v0
/* 049D00 7F0151D0 2B010003 */ slti $at, $t8, 3
/* 049D04 7F0151D4 14200009 */ bnez $at, .L7F0151FC
/* 049D08 7F0151D8 240500D4 */ li $a1, 212
/* 049D0C 7F0151DC 24190136 */ li $t9, 310
/* 049D10 7F0151E0 24080080 */ li $t0, 128
/* 049D14 7F0151E4 AFA80014 */ sw $t0, 0x14($sp)
/* 049D18 7F0151E8 AFB90010 */ sw $t9, 0x10($sp)
/* 049D1C 7F0151EC 2406001E */ li $a2, 30
/* 049D20 7F0151F0 0FC2B405 */ jal microcode_constructor_related_to_menus
/* 049D24 7F0151F4 240700D6 */ li $a3, 214
/* 049D28 7F0151F8 0040A825 */ move $s5, $v0
.L7F0151FC:
/* 049D2C 7F0151FC 8FA900CC */ lw $t1, 0xcc($sp)
/* 049D30 7F015200 0000A025 */ move $s4, $zero
/* 049D34 7F015204 3C014080 */ li $at, 0x40800000 # 4.000000
/* 049D38 7F015208 192000B2 */ blez $t1, .L7F0154D4
/* 049D3C 7F01520C 3C178004 */ lui $s7, %hi(ptrSecondFontTableLarge)
/* 049D40 7F015210 3C1E8004 */ lui $fp, %hi(ptrFirstFontTableLarge)
/* 049D44 7F015214 4481A000 */ mtc1 $at, $f20
/* 049D48 7F015218 27DE0EB4 */ addiu $fp, %lo(ptrFirstFontTableLarge) # addiu $fp, $fp, 0xeb4
/* 049D4C 7F01521C 26F70EB8 */ addiu $s7, %lo(ptrSecondFontTableLarge) # addiu $s7, $s7, 0xeb8
/* 049D50 7F015220 2A810002 */ slti $at, $s4, 2
.L7F015224:
/* 049D54 7F015224 14200003 */ bnez $at, .L7F015234
/* 049D58 7F015228 328A0001 */ andi $t2, $s4, 1
/* 049D5C 7F01522C 10000002 */ b .L7F015238
/* 049D60 7F015230 2402008C */ li $v0, 140
.L7F015234:
/* 049D64 7F015234 00001025 */ move $v0, $zero
.L7F015238:
/* 049D68 7F015238 11400003 */ beqz $t2, .L7F015248
/* 049D6C 7F01523C 2456001E */ addiu $s6, $v0, 0x1e
/* 049D70 7F015240 10000002 */ b .L7F01524C
/* 049D74 7F015244 240200AF */ li $v0, 175
.L7F015248:
/* 049D78 7F015248 00001025 */ move $v0, $zero
.L7F01524C:
/* 049D7C 7F01524C 244B002C */ addiu $t3, $v0, 0x2c
/* 049D80 7F015250 448B2000 */ mtc1 $t3, $f4
/* 049D84 7F015254 26D00005 */ addiu $s0, $s6, 5
/* 049D88 7F015258 44908000 */ mtc1 $s0, $f16
/* 049D8C 7F01525C 468021A0 */ cvt.s.w $f6, $f4
/* 049D90 7F015260 244B00CF */ addiu $t3, $v0, 0xcf
/* 049D94 7F015264 26D90087 */ addiu $t9, $s6, 0x87
/* 049D98 7F015268 3C01ED00 */ lui $at, 0xed00
/* 049D9C 7F01526C 02A01825 */ move $v1, $s5
/* 049DA0 7F015270 468084A0 */ cvt.s.w $f18, $f16
/* 049DA4 7F015274 46143202 */ mul.s $f8, $f6, $f20
/* 049DA8 7F015278 2451007D */ addiu $s1, $v0, 0x7d
/* 049DAC 7F01527C 2E920001 */ sltiu $s2, $s4, 1
/* 049DB0 7F015280 26B50008 */ addiu $s5, $s5, 8
/* 049DB4 7F015284 46149102 */ mul.s $f4, $f18, $f20
/* 049DB8 7F015288 4600428D */ trunc.w.s $f10, $f8
/* 049DBC 7F01528C 448B4000 */ mtc1 $t3, $f8
/* 049DC0 7F015290 4600218D */ trunc.w.s $f6, $f4
/* 049DC4 7F015294 440D5000 */ mfc1 $t5, $f10
/* 049DC8 7F015298 44992000 */ mtc1 $t9, $f4
/* 049DCC 7F01529C 468042A0 */ cvt.s.w $f10, $f8
/* 049DD0 7F0152A0 44083000 */ mfc1 $t0, $f6
/* 049DD4 7F0152A4 31AE0FFF */ andi $t6, $t5, 0xfff
/* 049DD8 7F0152A8 000E7B00 */ sll $t7, $t6, 0xc
/* 049DDC 7F0152AC 01E1C025 */ or $t8, $t7, $at
/* 049DE0 7F0152B0 468021A0 */ cvt.s.w $f6, $f4
/* 049DE4 7F0152B4 46145402 */ mul.s $f16, $f10, $f20
/* 049DE8 7F0152B8 31090FFF */ andi $t1, $t0, 0xfff
/* 049DEC 7F0152BC 03095025 */ or $t2, $t8, $t1
/* 049DF0 7F0152C0 AC6A0000 */ sw $t2, ($v1)
/* 049DF4 7F0152C4 46143202 */ mul.s $f8, $f6, $f20
/* 049DF8 7F0152C8 4600848D */ trunc.w.s $f18, $f16
/* 049DFC 7F0152CC 4600428D */ trunc.w.s $f10, $f8
/* 049E00 7F0152D0 440D9000 */ mfc1 $t5, $f18
/* 049E04 7F0152D4 44185000 */ mfc1 $t8, $f10
/* 049E08 7F0152D8 31AE0FFF */ andi $t6, $t5, 0xfff
/* 049E0C 7F0152DC 000E7B00 */ sll $t7, $t6, 0xc
/* 049E10 7F0152E0 33090FFF */ andi $t1, $t8, 0xfff
/* 049E14 7F0152E4 01E95025 */ or $t2, $t7, $t1
/* 049E18 7F0152E8 AC6A0004 */ sw $t2, 4($v1)
/* 049E1C 7F0152EC 12400026 */ beqz $s2, .L7F015388
/* 049E20 7F0152F0 AFB100B4 */ sw $s1, 0xb4($sp)
/* 049E24 7F0152F4 0FC30776 */ jal get_textptr_for_textID
/* 049E28 7F0152F8 34049C58 */ li $a0, 40024
/* 049E2C 7F0152FC 8FCB0000 */ lw $t3, ($fp)
/* 049E30 7F015300 00409825 */ move $s3, $v0
/* 049E34 7F015304 27A400A4 */ addiu $a0, $sp, 0xa4
/* 049E38 7F015308 27A500A0 */ addiu $a1, $sp, 0xa0
/* 049E3C 7F01530C 00403025 */ move $a2, $v0
/* 049E40 7F015310 8EE70000 */ lw $a3, ($s7)
/* 049E44 7F015314 AFA00014 */ sw $zero, 0x14($sp)
/* 049E48 7F015318 0FC2BA63 */ jal sub_GAME_7F0AE98C
/* 049E4C 7F01531C AFAB0010 */ sw $t3, 0x10($sp)
/* 049E50 7F015320 8FAC00A0 */ lw $t4, 0xa0($sp)
/* 049E54 7F015324 AFB00098 */ sw $s0, 0x98($sp)
/* 049E58 7F015328 000C6843 */ sra $t5, $t4, 1
/* 049E5C 7F01532C 022D7023 */ subu $t6, $s1, $t5
/* 049E60 7F015330 0C001107 */ jal viGetX
/* 049E64 7F015334 AFAE009C */ sw $t6, 0x9c($sp)
/* 049E68 7F015338 00028400 */ sll $s0, $v0, 0x10
/* 049E6C 7F01533C 0010CC03 */ sra $t9, $s0, 0x10
/* 049E70 7F015340 0C00110B */ jal viGetY
/* 049E74 7F015344 03208025 */ move $s0, $t9
/* 049E78 7F015348 8EE80000 */ lw $t0, ($s7)
/* 049E7C 7F01534C 8FD80000 */ lw $t8, ($fp)
/* 049E80 7F015350 240F00FF */ li $t7, 255
/* 049E84 7F015354 AFAF0018 */ sw $t7, 0x18($sp)
/* 049E88 7F015358 02A02025 */ move $a0, $s5
/* 049E8C 7F01535C 27A5009C */ addiu $a1, $sp, 0x9c
/* 049E90 7F015360 27A60098 */ addiu $a2, $sp, 0x98
/* 049E94 7F015364 02603825 */ move $a3, $s3
/* 049E98 7F015368 AFB0001C */ sw $s0, 0x1c($sp)
/* 049E9C 7F01536C AFA20020 */ sw $v0, 0x20($sp)
/* 049EA0 7F015370 AFA00024 */ sw $zero, 0x24($sp)
/* 049EA4 7F015374 AFA00028 */ sw $zero, 0x28($sp)
/* 049EA8 7F015378 AFA80010 */ sw $t0, 0x10($sp)
/* 049EAC 7F01537C 0FC025D8 */ jal write_text_at_abs_coord
/* 049EB0 7F015380 AFB80014 */ sw $t8, 0x14($sp)
/* 049EB4 7F015384 0040A825 */ move $s5, $v0
.L7F015388:
/* 049EB8 7F015388 3C098003 */ lui $t1, %hi(scenario)
/* 049EBC 7F01538C 8D29B540 */ lw $t1, %lo(scenario)($t1)
/* 049EC0 7F015390 24010005 */ li $at, 5
/* 049EC4 7F015394 3C0B8007 */ lui $t3, %hi(teamsize)
/* 049EC8 7F015398 15210009 */ bne $t1, $at, .L7F0153C0
/* 049ECC 7F01539C 00000000 */ nop
/* 049ED0 7F0153A0 16400005 */ bnez $s2, .L7F0153B8
/* 049ED4 7F0153A4 02401025 */ move $v0, $s2
/* 049ED8 7F0153A8 3C0A8007 */ lui $t2, %hi(teamsize)
/* 049EDC 7F0153AC 8D4A9788 */ lw $t2, %lo(teamsize)($t2)
/* 049EE0 7F0153B0 028A1026 */ xor $v0, $s4, $t2
/* 049EE4 7F0153B4 2C420001 */ sltiu $v0, $v0, 1
.L7F0153B8:
/* 049EE8 7F0153B8 10000004 */ b .L7F0153CC
/* 049EEC 7F0153BC 00408025 */ move $s0, $v0
.L7F0153C0:
/* 049EF0 7F0153C0 8D6B9788 */ lw $t3, %lo(teamsize)($t3)
/* 049EF4 7F0153C4 028B8026 */ xor $s0, $s4, $t3
/* 049EF8 7F0153C8 0010802B */ sltu $s0, $zero, $s0
.L7F0153CC:
/* 049EFC 7F0153CC 12000005 */ beqz $s0, .L7F0153E4
/* 049F00 7F0153D0 00000000 */ nop
/* 049F04 7F0153D4 0FC30776 */ jal get_textptr_for_textID
/* 049F08 7F0153D8 34049C59 */ li $a0, 40025
/* 049F0C 7F0153DC 10000004 */ b .L7F0153F0
/* 049F10 7F0153E0 00408825 */ move $s1, $v0
.L7F0153E4:
/* 049F14 7F0153E4 0FC30776 */ jal get_textptr_for_textID
/* 049F18 7F0153E8 34049C5A */ li $a0, 40026
/* 049F1C 7F0153EC 00408825 */ move $s1, $v0
.L7F0153F0:
/* 049F20 7F0153F0 12000004 */ beqz $s0, .L7F015404
/* 049F24 7F0153F4 27A40090 */ addiu $a0, $sp, 0x90
/* 049F28 7F0153F8 3C12FF00 */ lui $s2, (0xFF0000FF >> 16) # lui $s2, 0xff00
/* 049F2C 7F0153FC 10000002 */ b .L7F015408
/* 049F30 7F015400 365200FF */ ori $s2, (0xFF0000FF & 0xFFFF) # ori $s2, $s2, 0xff
.L7F015404:
/* 049F34 7F015404 3412FFFF */ li $s2, 65535
.L7F015408:
/* 049F38 7F015408 8FCC0000 */ lw $t4, ($fp)
/* 049F3C 7F01540C 27A5008C */ addiu $a1, $sp, 0x8c
/* 049F40 7F015410 02203025 */ move $a2, $s1
/* 049F44 7F015414 8EE70000 */ lw $a3, ($s7)
/* 049F48 7F015418 AFA00014 */ sw $zero, 0x14($sp)
/* 049F4C 7F01541C 0FC2BA63 */ jal sub_GAME_7F0AE98C
/* 049F50 7F015420 AFAC0010 */ sw $t4, 0x10($sp)
/* 049F54 7F015424 8FB80090 */ lw $t8, 0x90($sp)
/* 049F58 7F015428 8FAE008C */ lw $t6, 0x8c($sp)
/* 049F5C 7F01542C 8FAD00B4 */ lw $t5, 0xb4($sp)
/* 049F60 7F015430 3C028007 */ lui $v0, %hi(teamsize)
/* 049F64 7F015434 8C429788 */ lw $v0, %lo(teamsize)($v0)
/* 049F68 7F015438 00187843 */ sra $t7, $t8, 1
/* 049F6C 7F01543C 02CF4823 */ subu $t1, $s6, $t7
/* 049F70 7F015440 000EC843 */ sra $t9, $t6, 1
/* 049F74 7F015444 252A0046 */ addiu $t2, $t1, 0x46
/* 049F78 7F015448 01B94023 */ subu $t0, $t5, $t9
/* 049F7C 7F01544C AFA80088 */ sw $t0, 0x88($sp)
/* 049F80 7F015450 16820007 */ bne $s4, $v0, .L7F015470
/* 049F84 7F015454 AFAA0084 */ sw $t2, 0x84($sp)
/* 049F88 7F015458 1682001A */ bne $s4, $v0, .L7F0154C4
/* 049F8C 7F01545C 3C0B8003 */ lui $t3, %hi(D_8002B560)
/* 049F90 7F015460 8D6BB560 */ lw $t3, %lo(D_8002B560)($t3)
/* 049F94 7F015464 2961000A */ slti $at, $t3, 0xa
/* 049F98 7F015468 50200017 */ beql $at, $zero, .L7F0154C8
/* 049F9C 7F01546C 8FB900CC */ lw $t9, 0xcc($sp)
.L7F015470:
/* 049FA0 7F015470 0C001107 */ jal viGetX
/* 049FA4 7F015474 00000000 */ nop
/* 049FA8 7F015478 00028400 */ sll $s0, $v0, 0x10
/* 049FAC 7F01547C 00106403 */ sra $t4, $s0, 0x10
/* 049FB0 7F015480 0C00110B */ jal viGetY
/* 049FB4 7F015484 01808025 */ move $s0, $t4
/* 049FB8 7F015488 8EEE0000 */ lw $t6, ($s7)
/* 049FBC 7F01548C 8FCD0000 */ lw $t5, ($fp)
/* 049FC0 7F015490 02A02025 */ move $a0, $s5
/* 049FC4 7F015494 27A50088 */ addiu $a1, $sp, 0x88
/* 049FC8 7F015498 27A60084 */ addiu $a2, $sp, 0x84
/* 049FCC 7F01549C 02203825 */ move $a3, $s1
/* 049FD0 7F0154A0 AFB20018 */ sw $s2, 0x18($sp)
/* 049FD4 7F0154A4 AFB0001C */ sw $s0, 0x1c($sp)
/* 049FD8 7F0154A8 AFA20020 */ sw $v0, 0x20($sp)
/* 049FDC 7F0154AC AFA00024 */ sw $zero, 0x24($sp)
/* 049FE0 7F0154B0 AFA00028 */ sw $zero, 0x28($sp)
/* 049FE4 7F0154B4 AFAE0010 */ sw $t6, 0x10($sp)
/* 049FE8 7F0154B8 0FC025D8 */ jal write_text_at_abs_coord
/* 049FEC 7F0154BC AFAD0014 */ sw $t5, 0x14($sp)
/* 049FF0 7F0154C0 0040A825 */ move $s5, $v0
.L7F0154C4:
/* 049FF4 7F0154C4 8FB900CC */ lw $t9, 0xcc($sp)
.L7F0154C8:
/* 049FF8 7F0154C8 26940001 */ addiu $s4, $s4, 1
/* 049FFC 7F0154CC 5699FF55 */ bnel $s4, $t9, .L7F015224
/* 04A000 7F0154D0 2A810002 */ slti $at, $s4, 2
.L7F0154D4:
/* 04A004 7F0154D4 0FC2B3BC */ jal combiner_bayer_lod_perspective
/* 04A008 7F0154D8 02A02025 */ move $a0, $s5
/* 04A00C 7F0154DC 8FBF0064 */ lw $ra, 0x64($sp)
/* 04A010 7F0154E0 D7B40038 */ ldc1 $f20, 0x38($sp)
/* 04A014 7F0154E4 8FB00040 */ lw $s0, 0x40($sp)
/* 04A018 7F0154E8 8FB10044 */ lw $s1, 0x44($sp)
/* 04A01C 7F0154EC 8FB20048 */ lw $s2, 0x48($sp)
/* 04A020 7F0154F0 8FB3004C */ lw $s3, 0x4c($sp)
/* 04A024 7F0154F4 8FB40050 */ lw $s4, 0x50($sp)
/* 04A028 7F0154F8 8FB50054 */ lw $s5, 0x54($sp)
/* 04A02C 7F0154FC 8FB60058 */ lw $s6, 0x58($sp)
/* 04A030 7F015500 8FB7005C */ lw $s7, 0x5c($sp)
/* 04A034 7F015504 8FBE0060 */ lw $fp, 0x60($sp)
/* 04A038 7F015508 03E00008 */ jr $ra
/* 04A03C 7F01550C 27BD00D0 */ addiu $sp, $sp, 0xd0
)
#endif
#ifdef NONMATCHING
void set_briefing_page(WATCH_BRIEFING_PAGE page)
{
current_menu_briefing_page = page;
}
#else
GLOBAL_ASM(
.text
glabel set_briefing_page
/* 04A040 7F015510 3C028003 */ lui $v0, %hi(current_menu_briefing_page)
/* 04A044 7F015514 2442A914 */ addiu $v0, %lo(current_menu_briefing_page) # addiu $v0, $v0, -0x56ec
/* 04A048 7F015518 03E00008 */ jr $ra
/* 04A04C 7F01551C AC440000 */ sw $a0, ($v0)
)
#endif
#ifdef NONMATCHING
s32 load_briefing_text_for_stage(void)
{
s32 sp20;
s32 temp_s0;
s32 temp_v0;
void *phi_v1;
s32 phi_v0;
temp_s0 = ptr_logo_and_walletbond_DL + 0xa000;
ptrbriefingdata = _load_resource_named_to_buffer((0x80030000 + (briefingpage * 0x1c))->unk-5404, 1, temp_s0, 0x200);
sp20 = 0x6de00;
load_briefing_text_bank(get_textbank_number_for_stagenum((0x80030000 + (briefingpage * 0x1c))->unk-5414), temp_s0 + 0x200, sp20);
phi_v1 = ptrbriefingdata;
phi_v0 = 0;
loop_1:
temp_v0 = phi_v0 + 4;
if (phi_v1->unk8 != 0)
{
phi_v1 = phi_v1 + 4;
phi_v0 = temp_v0;
if (temp_v0 != 0x28)
{
goto loop_1;
}
}
return temp_v0;
}
#else
GLOBAL_ASM(
.text
glabel load_briefing_text_for_stage
/* 04A050 7F015520 3C0E8003 */ lui $t6, %hi(briefingpage)
/* 04A054 7F015524 8DCEA8F8 */ lw $t6, %lo(briefingpage)($t6)
/* 04A058 7F015528 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 04A05C 7F01552C AFB00018 */ sw $s0, 0x18($sp)
/* 04A060 7F015530 3C108003 */ lui $s0, %hi(ptr_logo_and_walletbond_DL)
/* 04A064 7F015534 8E10A950 */ lw $s0, %lo(ptr_logo_and_walletbond_DL)($s0)
/* 04A068 7F015538 000E78C0 */ sll $t7, $t6, 3
/* 04A06C 7F01553C 01EE7823 */ subu $t7, $t7, $t6
/* 04A070 7F015540 3401A000 */ li $at, 40960
/* 04A074 7F015544 000F7880 */ sll $t7, $t7, 2
/* 04A078 7F015548 3C048003 */ lui $a0, %hi(mission_folder_setup_entries+24)
/* 04A07C 7F01554C AFBF001C */ sw $ra, 0x1c($sp)
/* 04A080 7F015550 008F2021 */ addu $a0, $a0, $t7
/* 04A084 7F015554 02018021 */ addu $s0, $s0, $at
/* 04A088 7F015558 02003025 */ move $a2, $s0
/* 04A08C 7F01555C 8C84ABFC */ lw $a0, %lo(mission_folder_setup_entries+24)($a0)
/* 04A090 7F015560 24050001 */ li $a1, 1
/* 04A094 7F015564 0FC2F350 */ jal _load_resource_named_to_buffer
/* 04A098 7F015568 24070200 */ li $a3, 512
/* 04A09C 7F01556C 3C198003 */ lui $t9, %hi(briefingpage)
/* 04A0A0 7F015570 8F39A8F8 */ lw $t9, %lo(briefingpage)($t9)
/* 04A0A4 7F015574 3C180006 */ lui $t8, (0x0006DE00 >> 16) # lui $t8, 6
/* 04A0A8 7F015578 3C048003 */ lui $a0, %hi(mission_folder_setup_entries+8)
/* 04A0AC 7F01557C 001940C0 */ sll $t0, $t9, 3
/* 04A0B0 7F015580 01194023 */ subu $t0, $t0, $t9
/* 04A0B4 7F015584 00084080 */ sll $t0, $t0, 2
/* 04A0B8 7F015588 3C018007 */ lui $at, %hi(ptrbriefingdata)
/* 04A0BC 7F01558C 3718DE00 */ ori $t8, (0x0006DE00 & 0xFFFF) # ori $t8, $t8, 0xde00
/* 04A0C0 7F015590 00882021 */ addu $a0, $a0, $t0
/* 04A0C4 7F015594 AC22978C */ sw $v0, %lo(ptrbriefingdata)($at)
/* 04A0C8 7F015598 26100200 */ addiu $s0, $s0, 0x200
/* 04A0CC 7F01559C AFB80020 */ sw $t8, 0x20($sp)
/* 04A0D0 7F0155A0 0FC30578 */ jal get_textbank_number_for_stagenum
/* 04A0D4 7F0155A4 8C84ABEC */ lw $a0, %lo(mission_folder_setup_entries+8)($a0)
/* 04A0D8 7F0155A8 00402025 */ move $a0, $v0
/* 04A0DC 7F0155AC 02002825 */ move $a1, $s0
/* 04A0E0 7F0155B0 0FC30759 */ jal load_briefing_text_bank
/* 04A0E4 7F0155B4 8FA60020 */ lw $a2, 0x20($sp)
/* 04A0E8 7F0155B8 3C038007 */ lui $v1, %hi(ptrbriefingdata)
/* 04A0EC 7F0155BC 8C63978C */ lw $v1, %lo(ptrbriefingdata)($v1)
/* 04A0F0 7F0155C0 00001025 */ move $v0, $zero
/* 04A0F4 7F0155C4 24040028 */ li $a0, 40
.L7F0155C8:
/* 04A0F8 7F0155C8 94690008 */ lhu $t1, 8($v1)
/* 04A0FC 7F0155CC 24420004 */ addiu $v0, $v0, 4
/* 04A100 7F0155D0 51200004 */ beql $t1, $zero, .L7F0155E4
/* 04A104 7F0155D4 8FBF001C */ lw $ra, 0x1c($sp)
/* 04A108 7F0155D8 1444FFFB */ bne $v0, $a0, .L7F0155C8
/* 04A10C 7F0155DC 24630004 */ addiu $v1, $v1, 4
/* 04A110 7F0155E0 8FBF001C */ lw $ra, 0x1c($sp)
.L7F0155E4:
/* 04A114 7F0155E4 8FB00018 */ lw $s0, 0x18($sp)
/* 04A118 7F0155E8 27BD0028 */ addiu $sp, $sp, 0x28
/* 04A11C 7F0155EC 03E00008 */ jr $ra
/* 04A120 7F0155F0 00000000 */ nop
)
#endif
void init_menu0A_briefing(void)
{
tab_2_selected = 0;
tab_3_selected = 0;
final_menu_briefing_page = 5;
set_briefing_page(0);
load_walletbond();
load_briefing_text_for_stage();
}
void update_menu0A_briefing(void)
{
blank_text_bank(get_textbank_number_for_stagenum(mission_folder_setup_entries[briefingpage].stage_id));
if (-1 < menu_update) {
sub_GAME_7F00B990();
}
}
#ifdef NONMATCHING
void interface_menu0A_briefing(void)
{
viSetFovY(0x42700000);
viSetAspect(D_80051AB8);
viSetZRange(0x42c80000, D_80051ABC);
viSetUseZBuf(0);
tab_3_highlight = 0;
tab_2_highlight = 0;
tab_1_highlight = 0;
if (isontab3() != 0)
{
tab_3_highlight = 1;
}
else
{
if ((isontab2() != 0) && (current_menu_briefing_page < (final_menu_briefing_page + -1)))
{
tab_2_highlight = 1;
}
else
{
if (isontab1() != 0)
{
tab_1_highlight = 1;
}
else
{
if (current_menu_briefing_page < (final_menu_briefing_page + -1))
{
tab_2_highlight = 1;
}
else
{
tab_1_highlight = 1;
}
}
}
}
if (joyGetButtonsPressedThisFrame(0, 0x1000) != 0)
{
tab_2_selected = 1;
play_sfx_a1(g_musicSfxBufferPtr, 0xc7, 0);
}
else
{
if (joyGetButtonsPressedThisFrame(0, 0xa000) != 0)
{
if (tab_2_highlight != 0)
{
set_briefing_page(current_menu_briefing_page + 1);
}
else
{
if (tab_3_highlight != 0)
{
if (current_menu_briefing_page > 0)
{
set_briefing_page(current_menu_briefing_page + -1);
}
else
{
tab_3_selected = 1;
}
}
else
{
if (tab_1_highlight != 0)
{
tab_2_selected = 1;
}
}
}
play_sfx_a1(g_musicSfxBufferPtr, 0xc7, 0);
}
else
{
if (joyGetButtonsPressedThisFrame(0, 0x4000) != 0)
{
if (current_menu_briefing_page > 0)
{
set_briefing_page(current_menu_briefing_page + -1);
}
else
{
tab_3_selected = 1;
}
play_sfx_a1(g_musicSfxBufferPtr, 0xc7, 0);
}
}
}
disable_all_switches(ptr_folder_object_instance);
set_item_visibility_in_objinstance(ptr_folder_object_instance, 0xc, (u32) current_menu_briefing_page < 1U);
set_item_visibility_in_objinstance(ptr_folder_object_instance, (0x80030000 + (briefingpage * 0x1c))->unk-5408 + 0x16, (u32) current_menu_briefing_page < 1U);
set_item_visibility_in_objinstance(ptr_folder_object_instance, 0, 1);
set_item_visibility_in_objinstance(ptr_folder_object_instance, 1, 1);
set_item_visibility_in_objinstance(ptr_folder_object_instance, 3, 1);
set_item_visibility_in_objinstance(ptr_folder_object_instance, 6, 1);
menu_control_stick_tracking();
if (tab_2_selected != 0)
{
set_menu_to_mode(MENU_RUN_STAGE, 1);
return;
}
if (tab_3_selected != 0)
{
set_menu_to_mode(MENU_MISSION_SELECT, 0);
set_cursor_to_stage_solo((0x80030000 + (briefingpage * 0x1c))->unk-5408);
}
}
#else
GLOBAL_ASM(
.late_rodata
glabel D_80051AB8
.word 0x3FAAAAAB /*1.3333334;*/
glabel D_80051ABC
.word 0x461C4000 /*10000.0;*/
.text
glabel interface_menu0A_briefing
/* 04A1CC 7F01569C 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 04A1D0 7F0156A0 3C014270 */ li $at, 0x42700000 # 60.000000
/* 04A1D4 7F0156A4 AFBF0014 */ sw $ra, 0x14($sp)
/* 04A1D8 7F0156A8 44816000 */ mtc1 $at, $f12
/* 04A1DC 7F0156AC 0C001151 */ jal viSetFovY
/* 04A1E0 7F0156B0 00000000 */ nop
/* 04A1E4 7F0156B4 3C018005 */ lui $at, %hi(D_80051AB8)
/* 04A1E8 7F0156B8 0C001164 */ jal viSetAspect
/* 04A1EC 7F0156BC C42C1AB8 */ lwc1 $f12, %lo(D_80051AB8)($at)
/* 04A1F0 7F0156C0 3C0142C8 */ li $at, 0x42C80000 # 100.000000
/* 04A1F4 7F0156C4 44816000 */ mtc1 $at, $f12
/* 04A1F8 7F0156C8 3C018005 */ lui $at, %hi(D_80051ABC)
/* 04A1FC 7F0156CC 0C001194 */ jal viSetZRange
/* 04A200 7F0156D0 C42E1ABC */ lwc1 $f14, %lo(D_80051ABC)($at)
/* 04A204 7F0156D4 0C00114D */ jal viSetUseZBuf
/* 04A208 7F0156D8 00002025 */ move $a0, $zero
/* 04A20C 7F0156DC 3C018003 */ lui $at, %hi(tab_3_highlight)
/* 04A210 7F0156E0 AC20A8E4 */ sw $zero, %lo(tab_3_highlight)($at)
/* 04A214 7F0156E4 3C018003 */ lui $at, %hi(tab_2_highlight)
/* 04A218 7F0156E8 AC20A8E0 */ sw $zero, %lo(tab_2_highlight)($at)
/* 04A21C 7F0156EC 3C018003 */ lui $at, %hi(tab_1_highlight)
/* 04A220 7F0156F0 0FC028E7 */ jal isontab3
/* 04A224 7F0156F4 AC20A8DC */ sw $zero, %lo(tab_1_highlight)($at)
/* 04A228 7F0156F8 10400004 */ beqz $v0, .L7F01570C
/* 04A22C 7F0156FC 24030001 */ li $v1, 1
/* 04A230 7F015700 3C018003 */ lui $at, %hi(tab_3_highlight)
/* 04A234 7F015704 10000025 */ b .L7F01579C
/* 04A238 7F015708 AC23A8E4 */ sw $v1, %lo(tab_3_highlight)($at)
.L7F01570C:
/* 04A23C 7F01570C 0FC0295E */ jal isontab2
/* 04A240 7F015710 00000000 */ nop
/* 04A244 7F015714 1040000B */ beqz $v0, .L7F015744
/* 04A248 7F015718 3C0E8003 */ lui $t6, %hi(current_menu_briefing_page)
/* 04A24C 7F01571C 3C0F8003 */ lui $t7, %hi(final_menu_briefing_page)
/* 04A250 7F015720 8DEFA910 */ lw $t7, %lo(final_menu_briefing_page)($t7)
/* 04A254 7F015724 8DCEA914 */ lw $t6, %lo(current_menu_briefing_page)($t6)
/* 04A258 7F015728 24030001 */ li $v1, 1
/* 04A25C 7F01572C 25F8FFFF */ addiu $t8, $t7, -1
/* 04A260 7F015730 01D8082A */ slt $at, $t6, $t8
/* 04A264 7F015734 10200003 */ beqz $at, .L7F015744
/* 04A268 7F015738 3C018003 */ lui $at, %hi(tab_2_highlight)
/* 04A26C 7F01573C 10000017 */ b .L7F01579C
/* 04A270 7F015740 AC23A8E0 */ sw $v1, %lo(tab_2_highlight)($at)
.L7F015744:
/* 04A274 7F015744 0FC02879 */ jal isontab1
/* 04A278 7F015748 00000000 */ nop
/* 04A27C 7F01574C 10400005 */ beqz $v0, .L7F015764
/* 04A280 7F015750 3C198003 */ lui $t9, %hi(current_menu_briefing_page)
/* 04A284 7F015754 24030001 */ li $v1, 1
/* 04A288 7F015758 3C018003 */ lui $at, %hi(tab_1_highlight)
/* 04A28C 7F01575C 1000000F */ b .L7F01579C
/* 04A290 7F015760 AC23A8DC */ sw $v1, %lo(tab_1_highlight)($at)
.L7F015764:
/* 04A294 7F015764 3C088003 */ lui $t0, %hi(final_menu_briefing_page)
/* 04A298 7F015768 8D08A910 */ lw $t0, %lo(final_menu_briefing_page)($t0)
/* 04A29C 7F01576C 8F39A914 */ lw $t9, %lo(current_menu_briefing_page)($t9)
/* 04A2A0 7F015770 24030001 */ li $v1, 1
/* 04A2A4 7F015774 2509FFFF */ addiu $t1, $t0, -1
/* 04A2A8 7F015778 0329082A */ slt $at, $t9, $t1
/* 04A2AC 7F01577C 10200005 */ beqz $at, .L7F015794
/* 04A2B0 7F015780 00000000 */ nop
/* 04A2B4 7F015784 24030001 */ li $v1, 1
/* 04A2B8 7F015788 3C018003 */ lui $at, %hi(tab_2_highlight)
/* 04A2BC 7F01578C 10000003 */ b .L7F01579C
/* 04A2C0 7F015790 AC23A8E0 */ sw $v1, %lo(tab_2_highlight)($at)
.L7F015794:
/* 04A2C4 7F015794 3C018003 */ lui $at, %hi(tab_1_highlight)
/* 04A2C8 7F015798 AC23A8DC */ sw $v1, %lo(tab_1_highlight)($at)
.L7F01579C:
/* 04A2CC 7F01579C 00002025 */ move $a0, $zero
/* 04A2D0 7F0157A0 0C0030EB */ jal joyGetButtonsPressedThisFrame
/* 04A2D4 7F0157A4 24051000 */ li $a1, 4096
/* 04A2D8 7F0157A8 1040000A */ beqz $v0, .L7F0157D4
/* 04A2DC 7F0157AC 24030001 */ li $v1, 1
/* 04A2E0 7F0157B0 3C018003 */ lui $at, %hi(tab_2_selected)
/* 04A2E4 7F0157B4 3C048006 */ lui $a0, %hi(g_musicSfxBufferPtr)
/* 04A2E8 7F0157B8 AC23A8D4 */ sw $v1, %lo(tab_2_selected)($at)
/* 04A2EC 7F0157BC 8C843720 */ lw $a0, %lo(g_musicSfxBufferPtr)($a0)
/* 04A2F0 7F0157C0 240500C7 */ li $a1, 199
/* 04A2F4 7F0157C4 0C002382 */ jal play_sfx_a1
/* 04A2F8 7F0157C8 00003025 */ move $a2, $zero
/* 04A2FC 7F0157CC 10000040 */ b .L7F0158D0
/* 04A300 7F0157D0 00000000 */ nop
.L7F0157D4:
/* 04A304 7F0157D4 00002025 */ move $a0, $zero
/* 04A308 7F0157D8 0C0030EB */ jal joyGetButtonsPressedThisFrame
/* 04A30C 7F0157DC 3405A000 */ li $a1, 40960
/* 04A310 7F0157E0 10400027 */ beqz $v0, .L7F015880
/* 04A314 7F0157E4 24030001 */ li $v1, 1
/* 04A318 7F0157E8 3C0A8003 */ lui $t2, %hi(tab_2_highlight)
/* 04A31C 7F0157EC 8D4AA8E0 */ lw $t2, %lo(tab_2_highlight)($t2)
/* 04A320 7F0157F0 3C048003 */ lui $a0, %hi(current_menu_briefing_page)
/* 04A324 7F0157F4 3C0B8003 */ lui $t3, %hi(tab_3_highlight)
/* 04A328 7F0157F8 11400006 */ beqz $t2, .L7F015814
/* 04A32C 7F0157FC 00000000 */ nop
/* 04A330 7F015800 8C84A914 */ lw $a0, %lo(current_menu_briefing_page)($a0)
/* 04A334 7F015804 0FC05544 */ jal set_briefing_page
/* 04A338 7F015808 24840001 */ addiu $a0, $a0, 1
/* 04A33C 7F01580C 10000015 */ b .L7F015864
/* 04A340 7F015810 00000000 */ nop
.L7F015814:
/* 04A344 7F015814 8D6BA8E4 */ lw $t3, %lo(tab_3_highlight)($t3)
/* 04A348 7F015818 3C028003 */ lui $v0, %hi(current_menu_briefing_page)
/* 04A34C 7F01581C 3C0C8003 */ lui $t4, %hi(tab_1_highlight)
/* 04A350 7F015820 1160000B */ beqz $t3, .L7F015850
/* 04A354 7F015824 00000000 */ nop
/* 04A358 7F015828 8C42A914 */ lw $v0, %lo(current_menu_briefing_page)($v0)
/* 04A35C 7F01582C 3C018003 */ lui $at, %hi(tab_3_selected)
/* 04A360 7F015830 18400005 */ blez $v0, .L7F015848
/* 04A364 7F015834 00000000 */ nop
/* 04A368 7F015838 0FC05544 */ jal set_briefing_page
/* 04A36C 7F01583C 2444FFFF */ addiu $a0, $v0, -1
/* 04A370 7F015840 10000008 */ b .L7F015864
/* 04A374 7F015844 00000000 */ nop
.L7F015848:
/* 04A378 7F015848 10000006 */ b .L7F015864
/* 04A37C 7F01584C AC23A8D8 */ sw $v1, %lo(tab_3_selected)($at)
.L7F015850:
/* 04A380 7F015850 8D8CA8DC */ lw $t4, %lo(tab_1_highlight)($t4)
/* 04A384 7F015854 3C018003 */ lui $at, %hi(tab_2_selected)
/* 04A388 7F015858 11800002 */ beqz $t4, .L7F015864
/* 04A38C 7F01585C 00000000 */ nop
/* 04A390 7F015860 AC23A8D4 */ sw $v1, %lo(tab_2_selected)($at)
.L7F015864:
/* 04A394 7F015864 3C048006 */ lui $a0, %hi(g_musicSfxBufferPtr)
/* 04A398 7F015868 8C843720 */ lw $a0, %lo(g_musicSfxBufferPtr)($a0)
/* 04A39C 7F01586C 240500C7 */ li $a1, 199
/* 04A3A0 7F015870 0C002382 */ jal play_sfx_a1
/* 04A3A4 7F015874 00003025 */ move $a2, $zero
/* 04A3A8 7F015878 10000015 */ b .L7F0158D0
/* 04A3AC 7F01587C 00000000 */ nop
.L7F015880:
/* 04A3B0 7F015880 00002025 */ move $a0, $zero
/* 04A3B4 7F015884 0C0030EB */ jal joyGetButtonsPressedThisFrame
/* 04A3B8 7F015888 24054000 */ li $a1, 16384
/* 04A3BC 7F01588C 10400010 */ beqz $v0, .L7F0158D0
/* 04A3C0 7F015890 24030001 */ li $v1, 1
/* 04A3C4 7F015894 3C028003 */ lui $v0, %hi(current_menu_briefing_page)
/* 04A3C8 7F015898 8C42A914 */ lw $v0, %lo(current_menu_briefing_page)($v0)
/* 04A3CC 7F01589C 3C018003 */ lui $at, %hi(tab_3_selected)
/* 04A3D0 7F0158A0 18400005 */ blez $v0, .L7F0158B8
/* 04A3D4 7F0158A4 00000000 */ nop
/* 04A3D8 7F0158A8 0FC05544 */ jal set_briefing_page
/* 04A3DC 7F0158AC 2444FFFF */ addiu $a0, $v0, -1
/* 04A3E0 7F0158B0 10000002 */ b .L7F0158BC
/* 04A3E4 7F0158B4 00000000 */ nop
.L7F0158B8:
/* 04A3E8 7F0158B8 AC23A8D8 */ sw $v1, %lo(tab_3_selected)($at)
.L7F0158BC:
/* 04A3EC 7F0158BC 3C048006 */ lui $a0, %hi(g_musicSfxBufferPtr)
/* 04A3F0 7F0158C0 8C843720 */ lw $a0, %lo(g_musicSfxBufferPtr)($a0)
/* 04A3F4 7F0158C4 240500C7 */ li $a1, 199
/* 04A3F8 7F0158C8 0C002382 */ jal play_sfx_a1
/* 04A3FC 7F0158CC 00003025 */ move $a2, $zero
.L7F0158D0:
/* 04A400 7F0158D0 3C048003 */ lui $a0, %hi(ptr_folder_object_instance)
/* 04A404 7F0158D4 0FC02DC9 */ jal disable_all_switches
/* 04A408 7F0158D8 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0)
/* 04A40C 7F0158DC 3C068003 */ lui $a2, %hi(current_menu_briefing_page)
/* 04A410 7F0158E0 8CC6A914 */ lw $a2, %lo(current_menu_briefing_page)($a2)
/* 04A414 7F0158E4 3C048003 */ lui $a0, %hi(ptr_folder_object_instance)
/* 04A418 7F0158E8 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0)
/* 04A41C 7F0158EC 2CCD0001 */ sltiu $t5, $a2, 1
/* 04A420 7F0158F0 01A03025 */ move $a2, $t5
/* 04A424 7F0158F4 0FC02DF0 */ jal set_item_visibility_in_objinstance
/* 04A428 7F0158F8 2405000C */ li $a1, 12
/* 04A42C 7F0158FC 3C0F8003 */ lui $t7, %hi(briefingpage)
/* 04A430 7F015900 8DEFA8F8 */ lw $t7, %lo(briefingpage)($t7)
/* 04A434 7F015904 3C068003 */ lui $a2, %hi(current_menu_briefing_page)
/* 04A438 7F015908 8CC6A914 */ lw $a2, %lo(current_menu_briefing_page)($a2)
/* 04A43C 7F01590C 000F70C0 */ sll $t6, $t7, 3
/* 04A440 7F015910 01CF7023 */ subu $t6, $t6, $t7
/* 04A444 7F015914 000E7080 */ sll $t6, $t6, 2
/* 04A448 7F015918 3C058003 */ lui $a1, %hi(mission_folder_setup_entries+20)
/* 04A44C 7F01591C 00AE2821 */ addu $a1, $a1, $t6
/* 04A450 7F015920 8CA5ABF8 */ lw $a1, %lo(mission_folder_setup_entries+20)($a1)
/* 04A454 7F015924 3C048003 */ lui $a0, %hi(ptr_folder_object_instance)
/* 04A458 7F015928 2CD80001 */ sltiu $t8, $a2, 1
/* 04A45C 7F01592C 03003025 */ move $a2, $t8
/* 04A460 7F015930 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0)
/* 04A464 7F015934 0FC02DF0 */ jal set_item_visibility_in_objinstance
/* 04A468 7F015938 24A50016 */ addiu $a1, $a1, 0x16
/* 04A46C 7F01593C 3C048003 */ lui $a0, %hi(ptr_folder_object_instance)
/* 04A470 7F015940 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0)
/* 04A474 7F015944 00002825 */ move $a1, $zero
/* 04A478 7F015948 0FC02DF0 */ jal set_item_visibility_in_objinstance
/* 04A47C 7F01594C 24060001 */ li $a2, 1
/* 04A480 7F015950 3C048003 */ lui $a0, %hi(ptr_folder_object_instance)
/* 04A484 7F015954 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0)
/* 04A488 7F015958 24050001 */ li $a1, 1
/* 04A48C 7F01595C 0FC02DF0 */ jal set_item_visibility_in_objinstance
/* 04A490 7F015960 24060001 */ li $a2, 1
/* 04A494 7F015964 3C048003 */ lui $a0, %hi(ptr_folder_object_instance)
/* 04A498 7F015968 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0)
/* 04A49C 7F01596C 24050003 */ li $a1, 3
/* 04A4A0 7F015970 0FC02DF0 */ jal set_item_visibility_in_objinstance
/* 04A4A4 7F015974 24060001 */ li $a2, 1
/* 04A4A8 7F015978 3C048003 */ lui $a0, %hi(ptr_folder_object_instance)
/* 04A4AC 7F01597C 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0)
/* 04A4B0 7F015980 24050006 */ li $a1, 6
/* 04A4B4 7F015984 0FC02DF0 */ jal set_item_visibility_in_objinstance
/* 04A4B8 7F015988 24060001 */ li $a2, 1
/* 04A4BC 7F01598C 0FC026E1 */ jal menu_control_stick_tracking
/* 04A4C0 7F015990 00000000 */ nop
/* 04A4C4 7F015994 3C088003 */ lui $t0, %hi(tab_2_selected)
/* 04A4C8 7F015998 8D08A8D4 */ lw $t0, %lo(tab_2_selected)($t0)
/* 04A4CC 7F01599C 2404000B */ li $a0, 11
/* 04A4D0 7F0159A0 3C198003 */ lui $t9, %hi(tab_3_selected)
/* 04A4D4 7F0159A4 11000005 */ beqz $t0, .L7F0159BC
/* 04A4D8 7F0159A8 00000000 */ nop
/* 04A4DC 7F0159AC 0FC06975 */ jal set_menu_to_mode
/* 04A4E0 7F0159B0 24050001 */ li $a1, 1
/* 04A4E4 7F0159B4 10000011 */ b .L7F0159FC
/* 04A4E8 7F0159B8 8FBF0014 */ lw $ra, 0x14($sp)
.L7F0159BC:
/* 04A4EC 7F0159BC 8F39A8D8 */ lw $t9, %lo(tab_3_selected)($t9)
/* 04A4F0 7F0159C0 24040007 */ li $a0, 7
/* 04A4F4 7F0159C4 5320000D */ beql $t9, $zero, .L7F0159FC
/* 04A4F8 7F0159C8 8FBF0014 */ lw $ra, 0x14($sp)
/* 04A4FC 7F0159CC 0FC06975 */ jal set_menu_to_mode
/* 04A500 7F0159D0 00002825 */ move $a1, $zero
/* 04A504 7F0159D4 3C098003 */ lui $t1, %hi(briefingpage)
/* 04A508 7F0159D8 8D29A8F8 */ lw $t1, %lo(briefingpage)($t1)
/* 04A50C 7F0159DC 3C048003 */ lui $a0, %hi(mission_folder_setup_entries+20)
/* 04A510 7F0159E0 000950C0 */ sll $t2, $t1, 3
/* 04A514 7F0159E4 01495023 */ subu $t2, $t2, $t1
/* 04A518 7F0159E8 000A5080 */ sll $t2, $t2, 2
/* 04A51C 7F0159EC 008A2021 */ addu $a0, $a0, $t2
/* 04A520 7F0159F0 0FC038F8 */ jal set_cursor_to_stage_solo
/* 04A524 7F0159F4 8C84ABF8 */ lw $a0, %lo(mission_folder_setup_entries+20)($a0)
/* 04A528 7F0159F8 8FBF0014 */ lw $ra, 0x14($sp)
.L7F0159FC:
/* 04A52C 7F0159FC 27BD0018 */ addiu $sp, $sp, 0x18
/* 04A530 7F015A00 03E00008 */ jr $ra
/* 04A534 7F015A04 00000000 */ nop
)
#endif
#ifdef NONMATCHING
u32 * print_objectives_and_status_to_menu(u32 *param_1,int param_2,u8 *param_3,int param_4)
{
ushort uVar1;
u8 *pbVar2;
short sVar5;
short sVar6;
u32 *puVar3;
int iVar4;
int iVar7;
u32 uVar8;
int iVar9;
u32 uStack24;
u32 uStack20;
int iStack16;
int iStack12;
int iStack8;
int iStack4;
iStack8 = 0;
iVar9 = 0;
iStack4 = 0;
iVar7 = 0;
do {
uVar1 = *(ushort *)(ptrbriefingdata + iVar7 + 8);
if (uVar1 == 0) {
iStack4 += 1;
}
else {
if ((s32)selected_difficulty <
(s32)(s32)*(ushort *)(ptrbriefingdata + iVar7 + 10)) {
iStack4 += 1;
}
else {
pbVar2 = get_textptr_for_textID((u32)uVar1);
strcpy((char *)param_3,aA_);
*param_3 = *param_3 + (char)iStack8;
iStack12 = 0;
iStack16 = 0;
proc_7F0AE98C(&iStack12,&iStack16,param_3,(int)ptrSecondFontTableLarge,(int *)ptrFirstFontTableLarge,0
);
uStack20 = 0x37;
uStack24 = iStack12 * iVar9 + param_2;
sVar5 = viGetX();
sVar6 = viGetY();
puVar3 = write_text_at_abs_coord
(param_1,&uStack20,&uStack24,param_3,(int)ptrSecondFontTableLarge,
(int)ptrFirstFontTableLarge,0xff,(int)sVar5,(int)sVar6,0,0);
uStack20 = 0x4b;
uStack24 = iStack12 * iVar9 + param_2;
if (param_4 == 0) {
proc_7F0AEB64(0x140,pbVar2,param_3,(int)ptrSecondFontTableLarge,(int *)ptrFirstFontTableLarge);
}
else {
proc_7F0ACB94(2);
proc_7F0AEB64(0xdc,pbVar2,param_3,(int)ptrSecondFontTableLarge,(int *)ptrFirstFontTableLarge);
proc_7F0ACB94(0);
}
sVar5 = viGetX();
sVar6 = viGetY();
param_1 = write_text_at_abs_coord
(puVar3,&uStack20,&uStack24,param_3,(int)ptrSecondFontTableLarge,
(int)ptrFirstFontTableLarge,0xff,(int)sVar5,(int)sVar6,0,0);
if (param_4 != 0) {
iVar4 = get_status_of_objective((s32)iStack4);
if ((iVar4 == 0) || (iVar4 != 1)) {
uVar8 = 0x780000ff;
pbVar2 = get_textptr_for_textID(TEXT(LTITLE, 0x5c));
}
else {
uVar8 = 0xff;
pbVar2 = get_textptr_for_textID(TEXT(LTITLE, 0x5b));
}
uStack20 = 0x136;
uStack24 = iStack12 * iVar9 + param_2;
sVar5 = viGetX();
sVar6 = viGetY();
param_1 = write_text_at_abs_coord
(param_1,&uStack20,&uStack24,pbVar2,(int)ptrSecondFontTableLarge,
(int)ptrFirstFontTableLarge,uVar8,(int)sVar5,(int)sVar6,0,0);
}
iVar4 = proc_7F0AC0E8((char *)param_3);
iVar9 += iVar4;
iStack8 += 1;
iStack4 += 1;
}
}
iVar7 += 4;
} while (iStack4 != 10);
return param_1;
}
#else
const char aA_[] = "a.\n";
GLOBAL_ASM(
.text
glabel print_objectives_and_status_to_menu
/* 04A538 7F015A08 27BDFF60 */ addiu $sp, $sp, -0xa0
/* 04A53C 7F015A0C AFB5004C */ sw $s5, 0x4c($sp)
/* 04A540 7F015A10 AFB40048 */ sw $s4, 0x48($sp)
/* 04A544 7F015A14 AFBE0058 */ sw $fp, 0x58($sp)
/* 04A548 7F015A18 AFB60050 */ sw $s6, 0x50($sp)
/* 04A54C 7F015A1C AFB30044 */ sw $s3, 0x44($sp)
/* 04A550 7F015A20 3C148004 */ lui $s4, %hi(ptrSecondFontTableLarge)
/* 04A554 7F015A24 3C158004 */ lui $s5, %hi(ptrFirstFontTableLarge)
/* 04A558 7F015A28 00C09825 */ move $s3, $a2
/* 04A55C 7F015A2C 0080B025 */ move $s6, $a0
/* 04A560 7F015A30 AFBF005C */ sw $ra, 0x5c($sp)
/* 04A564 7F015A34 AFB70054 */ sw $s7, 0x54($sp)
/* 04A568 7F015A38 AFB20040 */ sw $s2, 0x40($sp)
/* 04A56C 7F015A3C AFB1003C */ sw $s1, 0x3c($sp)
/* 04A570 7F015A40 AFB00038 */ sw $s0, 0x38($sp)
/* 04A574 7F015A44 AFA500A4 */ sw $a1, 0xa4($sp)
/* 04A578 7F015A48 AFA700AC */ sw $a3, 0xac($sp)
/* 04A57C 7F015A4C AFA00098 */ sw $zero, 0x98($sp)
/* 04A580 7F015A50 0000F025 */ move $fp, $zero
/* 04A584 7F015A54 26B50EB4 */ addiu $s5, %lo(ptrFirstFontTableLarge) # addiu $s5, $s5, 0xeb4
/* 04A588 7F015A58 26940EB8 */ addiu $s4, %lo(ptrSecondFontTableLarge) # addiu $s4, $s4, 0xeb8
/* 04A58C 7F015A5C 00004025 */ move $t0, $zero
/* 04A590 7F015A60 00004825 */ move $t1, $zero
.L7F015A64:
/* 04A594 7F015A64 3C0E8007 */ lui $t6, %hi(ptrbriefingdata)
/* 04A598 7F015A68 8DCE978C */ lw $t6, %lo(ptrbriefingdata)($t6)
/* 04A59C 7F015A6C 3C0F8003 */ lui $t7, %hi(selected_difficulty)
/* 04A5A0 7F015A70 01C91021 */ addu $v0, $t6, $t1
/* 04A5A4 7F015A74 94430008 */ lhu $v1, 8($v0)
/* 04A5A8 7F015A78 506000AE */ beql $v1, $zero, .L7F015D34
/* 04A5AC 7F015A7C 25080001 */ addiu $t0, $t0, 1
/* 04A5B0 7F015A80 8DEFA8FC */ lw $t7, %lo(selected_difficulty)($t7)
/* 04A5B4 7F015A84 9458000A */ lhu $t8, 0xa($v0)
/* 04A5B8 7F015A88 00602025 */ move $a0, $v1
/* 04A5BC 7F015A8C 0000B825 */ move $s7, $zero
/* 04A5C0 7F015A90 01F8082A */ slt $at, $t7, $t8
/* 04A5C4 7F015A94 542000A7 */ bnezl $at, .L7F015D34
/* 04A5C8 7F015A98 25080001 */ addiu $t0, $t0, 1
/* 04A5CC 7F015A9C AFA9006C */ sw $t1, 0x6c($sp)
/* 04A5D0 7F015AA0 0FC30776 */ jal get_textptr_for_textID
/* 04A5D4 7F015AA4 AFA8009C */ sw $t0, 0x9c($sp)
/* 04A5D8 7F015AA8 3C058005 */ lui $a1, %hi(aA_)
/* 04A5DC 7F015AAC 00408825 */ move $s1, $v0
/* 04A5E0 7F015AB0 24A50C50 */ addiu $a1, %lo(aA_) # addiu $a1, $a1, 0xc50
/* 04A5E4 7F015AB4 0C0029DC */ jal strcpy
/* 04A5E8 7F015AB8 02602025 */ move $a0, $s3
/* 04A5EC 7F015ABC 92790000 */ lbu $t9, ($s3)
/* 04A5F0 7F015AC0 8FAA0098 */ lw $t2, 0x98($sp)
/* 04A5F4 7F015AC4 27A40094 */ addiu $a0, $sp, 0x94
/* 04A5F8 7F015AC8 27A50090 */ addiu $a1, $sp, 0x90
/* 04A5FC 7F015ACC 032A5821 */ addu $t3, $t9, $t2
/* 04A600 7F015AD0 A26B0000 */ sb $t3, ($s3)
/* 04A604 7F015AD4 8EAC0000 */ lw $t4, ($s5)
/* 04A608 7F015AD8 AFA00094 */ sw $zero, 0x94($sp)
/* 04A60C 7F015ADC AFA00090 */ sw $zero, 0x90($sp)
/* 04A610 7F015AE0 AFA00014 */ sw $zero, 0x14($sp)
/* 04A614 7F015AE4 8E870000 */ lw $a3, ($s4)
/* 04A618 7F015AE8 02603025 */ move $a2, $s3
/* 04A61C 7F015AEC 0FC2BA63 */ jal sub_GAME_7F0AE98C
/* 04A620 7F015AF0 AFAC0010 */ sw $t4, 0x10($sp)
/* 04A624 7F015AF4 8FAE0094 */ lw $t6, 0x94($sp)
/* 04A628 7F015AF8 8FB800A4 */ lw $t8, 0xa4($sp)
/* 04A62C 7F015AFC 240D0037 */ li $t5, 55
/* 04A630 7F015B00 01DE0019 */ multu $t6, $fp
/* 04A634 7F015B04 AFAD008C */ sw $t5, 0x8c($sp)
/* 04A638 7F015B08 00007812 */ mflo $t7
/* 04A63C 7F015B0C 01F8C821 */ addu $t9, $t7, $t8
/* 04A640 7F015B10 03375021 */ addu $t2, $t9, $s7
/* 04A644 7F015B14 0C001107 */ jal viGetX
/* 04A648 7F015B18 AFAA0088 */ sw $t2, 0x88($sp)
/* 04A64C 7F015B1C 00028400 */ sll $s0, $v0, 0x10
/* 04A650 7F015B20 00105C03 */ sra $t3, $s0, 0x10
/* 04A654 7F015B24 0C00110B */ jal viGetY
/* 04A658 7F015B28 01608025 */ move $s0, $t3
/* 04A65C 7F015B2C 8E8C0000 */ lw $t4, ($s4)
/* 04A660 7F015B30 8EAD0000 */ lw $t5, ($s5)
/* 04A664 7F015B34 240E00FF */ li $t6, 255
/* 04A668 7F015B38 AFAE0018 */ sw $t6, 0x18($sp)
/* 04A66C 7F015B3C 02C02025 */ move $a0, $s6
/* 04A670 7F015B40 27A5008C */ addiu $a1, $sp, 0x8c
/* 04A674 7F015B44 27A60088 */ addiu $a2, $sp, 0x88
/* 04A678 7F015B48 02603825 */ move $a3, $s3
/* 04A67C 7F015B4C AFB0001C */ sw $s0, 0x1c($sp)
/* 04A680 7F015B50 AFA20020 */ sw $v0, 0x20($sp)
/* 04A684 7F015B54 AFA00024 */ sw $zero, 0x24($sp)
/* 04A688 7F015B58 AFA00028 */ sw $zero, 0x28($sp)
/* 04A68C 7F015B5C AFAC0010 */ sw $t4, 0x10($sp)
/* 04A690 7F015B60 0FC025D8 */ jal write_text_at_abs_coord
/* 04A694 7F015B64 AFAD0014 */ sw $t5, 0x14($sp)
/* 04A698 7F015B68 8FB80094 */ lw $t8, 0x94($sp)
/* 04A69C 7F015B6C 8FAA00A4 */ lw $t2, 0xa4($sp)
/* 04A6A0 7F015B70 8FAD00AC */ lw $t5, 0xac($sp)
/* 04A6A4 7F015B74 031E0019 */ multu $t8, $fp
/* 04A6A8 7F015B78 240F004B */ li $t7, 75
/* 04A6AC 7F015B7C 0040B025 */ move $s6, $v0
/* 04A6B0 7F015B80 AFAF008C */ sw $t7, 0x8c($sp)
/* 04A6B4 7F015B84 24040140 */ li $a0, 320
/* 04A6B8 7F015B88 02202825 */ move $a1, $s1
/* 04A6BC 7F015B8C 02603025 */ move $a2, $s3
/* 04A6C0 7F015B90 0000C812 */ mflo $t9
/* 04A6C4 7F015B94 032A5821 */ addu $t3, $t9, $t2
/* 04A6C8 7F015B98 01776021 */ addu $t4, $t3, $s7
/* 04A6CC 7F015B9C 11A0000E */ beqz $t5, .L7F015BD8
/* 04A6D0 7F015BA0 AFAC0088 */ sw $t4, 0x88($sp)
/* 04A6D4 7F015BA4 0FC2B2E5 */ jal setTextWordWrap
/* 04A6D8 7F015BA8 24040002 */ li $a0, 2
/* 04A6DC 7F015BAC 8EAE0000 */ lw $t6, ($s5)
/* 04A6E0 7F015BB0 240400DC */ li $a0, 220
/* 04A6E4 7F015BB4 02202825 */ move $a1, $s1
/* 04A6E8 7F015BB8 02603025 */ move $a2, $s3
/* 04A6EC 7F015BBC 8E870000 */ lw $a3, ($s4)
/* 04A6F0 7F015BC0 0FC2BAD9 */ jal sub_GAME_7F0AEB64
/* 04A6F4 7F015BC4 AFAE0010 */ sw $t6, 0x10($sp)
/* 04A6F8 7F015BC8 0FC2B2E5 */ jal setTextWordWrap
/* 04A6FC 7F015BCC 00002025 */ move $a0, $zero
/* 04A700 7F015BD0 10000005 */ b .L7F015BE8
/* 04A704 7F015BD4 00000000 */ nop
.L7F015BD8:
/* 04A708 7F015BD8 8EAF0000 */ lw $t7, ($s5)
/* 04A70C 7F015BDC 8E870000 */ lw $a3, ($s4)
/* 04A710 7F015BE0 0FC2BAD9 */ jal sub_GAME_7F0AEB64
/* 04A714 7F015BE4 AFAF0010 */ sw $t7, 0x10($sp)
.L7F015BE8:
/* 04A718 7F015BE8 0C001107 */ jal viGetX
/* 04A71C 7F015BEC 00000000 */ nop
/* 04A720 7F015BF0 00028400 */ sll $s0, $v0, 0x10
/* 04A724 7F015BF4 0010C403 */ sra $t8, $s0, 0x10
/* 04A728 7F015BF8 0C00110B */ jal viGetY
/* 04A72C 7F015BFC 03008025 */ move $s0, $t8
/* 04A730 7F015C00 8E990000 */ lw $t9, ($s4)
/* 04A734 7F015C04 8EAA0000 */ lw $t2, ($s5)
/* 04A738 7F015C08 240B00FF */ li $t3, 255
/* 04A73C 7F015C0C AFAB0018 */ sw $t3, 0x18($sp)
/* 04A740 7F015C10 02C02025 */ move $a0, $s6
/* 04A744 7F015C14 27A5008C */ addiu $a1, $sp, 0x8c
/* 04A748 7F015C18 27A60088 */ addiu $a2, $sp, 0x88
/* 04A74C 7F015C1C 02603825 */ move $a3, $s3
/* 04A750 7F015C20 AFB0001C */ sw $s0, 0x1c($sp)
/* 04A754 7F015C24 AFA20020 */ sw $v0, 0x20($sp)
/* 04A758 7F015C28 AFA00024 */ sw $zero, 0x24($sp)
/* 04A75C 7F015C2C AFA00028 */ sw $zero, 0x28($sp)
/* 04A760 7F015C30 AFB90010 */ sw $t9, 0x10($sp)
/* 04A764 7F015C34 0FC025D8 */ jal write_text_at_abs_coord
/* 04A768 7F015C38 AFAA0014 */ sw $t2, 0x14($sp)
/* 04A76C 7F015C3C 8FAC00AC */ lw $t4, 0xac($sp)
/* 04A770 7F015C40 0040B025 */ move $s6, $v0
/* 04A774 7F015C44 11800032 */ beqz $t4, .L7F015D10
/* 04A778 7F015C48 00000000 */ nop
/* 04A77C 7F015C4C 0FC15C8E */ jal get_status_of_objective
/* 04A780 7F015C50 8FA4009C */ lw $a0, 0x9c($sp)
/* 04A784 7F015C54 1040000C */ beqz $v0, .L7F015C88
/* 04A788 7F015C58 24010001 */ li $at, 1
/* 04A78C 7F015C5C 10410006 */ beq $v0, $at, .L7F015C78
/* 04A790 7F015C60 34049C5B */ li $a0, 40027
/* 04A794 7F015C64 24010002 */ li $at, 2
/* 04A798 7F015C68 50410008 */ beql $v0, $at, .L7F015C8C
/* 04A79C 7F015C6C 3C127800 */ lui $s2, 0x7800
/* 04A7A0 7F015C70 10000006 */ b .L7F015C8C
/* 04A7A4 7F015C74 3C127800 */ lui $s2, 0x7800
.L7F015C78:
/* 04A7A8 7F015C78 0FC30776 */ jal get_textptr_for_textID
/* 04A7AC 7F015C7C 241200FF */ li $s2, 255
/* 04A7B0 7F015C80 10000006 */ b .L7F015C9C
/* 04A7B4 7F015C84 00408825 */ move $s1, $v0
.L7F015C88:
/* 04A7B8 7F015C88 3C127800 */ lui $s2, (0x780000FF >> 16) # lui $s2, 0x7800
.L7F015C8C:
/* 04A7BC 7F015C8C 365200FF */ ori $s2, (0x780000FF & 0xFFFF) # ori $s2, $s2, 0xff
/* 04A7C0 7F015C90 0FC30776 */ jal get_textptr_for_textID
/* 04A7C4 7F015C94 34049C5C */ li $a0, 40028
/* 04A7C8 7F015C98 00408825 */ move $s1, $v0
.L7F015C9C:
/* 04A7CC 7F015C9C 8FAE0094 */ lw $t6, 0x94($sp)
/* 04A7D0 7F015CA0 8FB800A4 */ lw $t8, 0xa4($sp)
/* 04A7D4 7F015CA4 240D0136 */ li $t5, 310
/* 04A7D8 7F015CA8 01DE0019 */ multu $t6, $fp
/* 04A7DC 7F015CAC AFAD008C */ sw $t5, 0x8c($sp)
/* 04A7E0 7F015CB0 00007812 */ mflo $t7
/* 04A7E4 7F015CB4 01F8C821 */ addu $t9, $t7, $t8
/* 04A7E8 7F015CB8 03375021 */ addu $t2, $t9, $s7
/* 04A7EC 7F015CBC 0C001107 */ jal viGetX
/* 04A7F0 7F015CC0 AFAA0088 */ sw $t2, 0x88($sp)
/* 04A7F4 7F015CC4 00028400 */ sll $s0, $v0, 0x10
/* 04A7F8 7F015CC8 00105C03 */ sra $t3, $s0, 0x10
/* 04A7FC 7F015CCC 0C00110B */ jal viGetY
/* 04A800 7F015CD0 01608025 */ move $s0, $t3
/* 04A804 7F015CD4 8E8C0000 */ lw $t4, ($s4)
/* 04A808 7F015CD8 8EAD0000 */ lw $t5, ($s5)
/* 04A80C 7F015CDC 02C02025 */ move $a0, $s6
/* 04A810 7F015CE0 27A5008C */ addiu $a1, $sp, 0x8c
/* 04A814 7F015CE4 27A60088 */ addiu $a2, $sp, 0x88
/* 04A818 7F015CE8 02203825 */ move $a3, $s1
/* 04A81C 7F015CEC AFB20018 */ sw $s2, 0x18($sp)
/* 04A820 7F015CF0 AFB0001C */ sw $s0, 0x1c($sp)
/* 04A824 7F015CF4 AFA20020 */ sw $v0, 0x20($sp)
/* 04A828 7F015CF8 AFA00024 */ sw $zero, 0x24($sp)
/* 04A82C 7F015CFC AFA00028 */ sw $zero, 0x28($sp)
/* 04A830 7F015D00 AFAC0010 */ sw $t4, 0x10($sp)
/* 04A834 7F015D04 0FC025D8 */ jal write_text_at_abs_coord
/* 04A838 7F015D08 AFAD0014 */ sw $t5, 0x14($sp)
/* 04A83C 7F015D0C 0040B025 */ move $s6, $v0
.L7F015D10:
/* 04A840 7F015D10 0FC2B03A */ jal sub_GAME_7F0AC0E8
/* 04A844 7F015D14 02602025 */ move $a0, $s3
/* 04A848 7F015D18 8FAE0098 */ lw $t6, 0x98($sp)
/* 04A84C 7F015D1C 03C2F021 */ addu $fp, $fp, $v0
/* 04A850 7F015D20 8FA9006C */ lw $t1, 0x6c($sp)
/* 04A854 7F015D24 25CF0001 */ addiu $t7, $t6, 1
/* 04A858 7F015D28 AFAF0098 */ sw $t7, 0x98($sp)
/* 04A85C 7F015D2C 8FA8009C */ lw $t0, 0x9c($sp)
/* 04A860 7F015D30 25080001 */ addiu $t0, $t0, 1
.L7F015D34:
/* 04A864 7F015D34 2401000A */ li $at, 10
/* 04A868 7F015D38 1501FF4A */ bne $t0, $at, .L7F015A64
/* 04A86C 7F015D3C 25290004 */ addiu $t1, $t1, 4
/* 04A870 7F015D40 8FBF005C */ lw $ra, 0x5c($sp)
/* 04A874 7F015D44 02C01025 */ move $v0, $s6
/* 04A878 7F015D48 8FB60050 */ lw $s6, 0x50($sp)
/* 04A87C 7F015D4C 8FB00038 */ lw $s0, 0x38($sp)
/* 04A880 7F015D50 8FB1003C */ lw $s1, 0x3c($sp)
/* 04A884 7F015D54 8FB20040 */ lw $s2, 0x40($sp)
/* 04A888 7F015D58 8FB30044 */ lw $s3, 0x44($sp)
/* 04A88C 7F015D5C 8FB40048 */ lw $s4, 0x48($sp)
/* 04A890 7F015D60 8FB5004C */ lw $s5, 0x4c($sp)
/* 04A894 7F015D64 8FB70054 */ lw $s7, 0x54($sp)
/* 04A898 7F015D68 8FBE0058 */ lw $fp, 0x58($sp)
/* 04A89C 7F015D6C 03E00008 */ jr $ra
/* 04A8A0 7F015D70 27BD00A0 */ addiu $sp, $sp, 0xa0
)
#endif
#ifdef NONMATCHING
s32 constructor_menu0A_briefing(s32 *param_1)
{
s32 *puVar1;
s32 *DL;
u32 *puVar2;
short sVar4;
short sVar5;
s32 uVar3;
s32 *puVar6;
s32 *puVar7;
s32 auStack3012 [750];
u32 uStack12;
u32 uStack8;
u8 *pbStack4;
puVar1 = viSetFillColor(param_1,0,0,0);
puVar1 = viFillScreen(puVar1);
DL = (s32 *)proc_7F00D5E8(puVar1);
puVar1 = (s32 *)array_80050C54;
puVar6 = auStack3012;
do {
puVar7 = puVar1 + 3;
*puVar6 = *puVar1;
puVar6[1] = puVar1[1];
puVar6[2] = puVar1[2];
puVar1 = puVar7;
puVar6 = puVar6 + 3;
} while (puVar7 != (s32 *)a02d02d);
puVar2 = microcode_constructor(DL);
puVar2 = print_current_solo_briefing_stage_name(puVar2,(u8 *)auStack3012);
switch(current_menu_briefing_page) {
case BRIEFING_TITLE:
pbStack4 = get_textptr_for_textID(TEXT(LTITLE, 0x5d));
break;
case BRIEFING_OVERVIEW:
pbStack4 = get_textptr_for_textID(TEXT(LTITLE, 0x5e));
break;
case BRIEFING_M:
pbStack4 = get_textptr_for_textID(TEXT(LTITLE, 0x5f));
break;
case BRIEFING_Q:
pbStack4 = get_textptr_for_textID(TEXT(LTITLE, 0x60));
break;
case BRIEFING_MONEYPENNY:
pbStack4 = get_textptr_for_textID(TEXT(LTITLE, 0x61));
}
uStack8 = 0x37;
uStack12 = 0x8f;
sVar4 = viGetX();
sVar5 = viGetY();
puVar2 = write_text_at_abs_coord
(puVar2,&uStack8,&uStack12,pbStack4,(int)ptrSecondFontTableLarge,
(int)ptrFirstFontTableLarge,0xff,(int)sVar4,(int)sVar5,0,0);
if (current_menu_briefing_page == BRIEFING_TITLE) {
puVar2 = print_objectives_and_status_to_menu(puVar2,0xa7,(u8 *)auStack3012,0);
}
else {
if (current_menu_briefing_page == BRIEFING_OVERVIEW) {
pbStack4 = get_textptr_for_textID((u32)*(ushort *)ptrbriefingdata);
}
else {
if (current_menu_briefing_page == BRIEFING_M) {
pbStack4 = get_textptr_for_textID((u32)*(ushort *)(ptrbriefingdata + 2));
}
else {
if (current_menu_briefing_page == BRIEFING_Q) {
pbStack4 = get_textptr_for_textID((u32)*(ushort *)(ptrbriefingdata + 4));
}
else {
if (current_menu_briefing_page == BRIEFING_MONEYPENNY) {
pbStack4 = get_textptr_for_textID((u32)*(ushort *)(ptrbriefingdata + 6));
}
}
}
}
uStack8 = 0x37;
uStack12 = 0xa7;
proc_7F0AEB64(0x140,pbStack4,(u8 *)auStack3012,(int)ptrSecondFontTableLarge,
(int *)ptrFirstFontTableLarge);
proc_7F0ACBA0(8);
sVar4 = viGetX();
sVar5 = viGetY();
puVar2 = write_text_at_abs_coord
(puVar2,&uStack8,&uStack12,(u8 *)auStack3012,(int)ptrSecondFontTableLarge,
(int)ptrFirstFontTableLarge,0xff,(int)sVar4,(int)sVar5,0,0);
proc_7F0ACBA0(0xffffffff);
}
puVar2 = add_tab1_start(puVar2);
puVar2 = add_tab3_previous(puVar2);
if ((int)current_menu_briefing_page < 4) {
puVar2 = add_tab2_next(puVar2);
}
uVar3 = load_draw_selected_icon_folder_select(puVar2);
return uVar3;
}
#else
const char asc_D_80050C54[3000] = {0xA,0};
GLOBAL_ASM(
.late_rodata
glabel jpt_briefingpage_name
.word .L7F015E14
.word .L7F015E24
.word .L7F015E34
.word .L7F015E44
.word .L7F015E54
.text
glabel constructor_menu0A_briefing
/* 04A8A4 7F015D74 27BDF3F0 */ addiu $sp, $sp, -0xc10
/* 04A8A8 7F015D78 AFBF003C */ sw $ra, 0x3c($sp)
/* 04A8AC 7F015D7C AFB00038 */ sw $s0, 0x38($sp)
/* 04A8B0 7F015D80 00002825 */ move $a1, $zero
/* 04A8B4 7F015D84 00003025 */ move $a2, $zero
/* 04A8B8 7F015D88 0C0011B4 */ jal viSetFillColor
/* 04A8BC 7F015D8C 00003825 */ move $a3, $zero
/* 04A8C0 7F015D90 0C000FBE */ jal viFillScreen
/* 04A8C4 7F015D94 00402025 */ move $a0, $v0
/* 04A8C8 7F015D98 0FC0357A */ jal sub_GAME_7F00D5E8
/* 04A8CC 7F015D9C 00402025 */ move $a0, $v0
/* 04A8D0 7F015DA0 3C0F8005 */ lui $t7, %hi(asc_D_80050C54)
/* 04A8D4 7F015DA4 25EF0C54 */ addiu $t7, %lo(asc_D_80050C54) # addiu $t7, $t7, 0xc54
/* 04A8D8 7F015DA8 25E80BB8 */ addiu $t0, $t7, 0xbb8
/* 04A8DC 7F015DAC 27AE004C */ addiu $t6, $sp, 0x4c
.L7F015DB0:
/* 04A8E0 7F015DB0 8DE10000 */ lw $at, ($t7)
/* 04A8E4 7F015DB4 25EF000C */ addiu $t7, $t7, 0xc
/* 04A8E8 7F015DB8 25CE000C */ addiu $t6, $t6, 0xc
/* 04A8EC 7F015DBC ADC1FFF4 */ sw $at, -0xc($t6)
/* 04A8F0 7F015DC0 8DE1FFF8 */ lw $at, -8($t7)
/* 04A8F4 7F015DC4 ADC1FFF8 */ sw $at, -8($t6)
/* 04A8F8 7F015DC8 8DE1FFFC */ lw $at, -4($t7)
/* 04A8FC 7F015DCC 15E8FFF8 */ bne $t7, $t0, .L7F015DB0
/* 04A900 7F015DD0 ADC1FFFC */ sw $at, -4($t6)
/* 04A904 7F015DD4 0FC2B366 */ jal microcode_constructor
/* 04A908 7F015DD8 00402025 */ move $a0, $v0
/* 04A90C 7F015DDC 00402025 */ move $a0, $v0
/* 04A910 7F015DE0 0FC03AAF */ jal print_current_solo_briefing_stage_name
/* 04A914 7F015DE4 27A5004C */ addiu $a1, $sp, 0x4c
/* 04A918 7F015DE8 3C098003 */ lui $t1, %hi(current_menu_briefing_page)
/* 04A91C 7F015DEC 8D29A914 */ lw $t1, %lo(current_menu_briefing_page)($t1)
/* 04A920 7F015DF0 00408025 */ move $s0, $v0
/* 04A924 7F015DF4 2D210005 */ sltiu $at, $t1, 5
/* 04A928 7F015DF8 10200019 */ beqz $at, .L7F015E60
/* 04A92C 7F015DFC 00094880 */ sll $t1, $t1, 2
/* 04A930 7F015E00 3C018005 */ lui $at, %hi(jpt_briefingpage_name)
/* 04A934 7F015E04 00290821 */ addu $at, $at, $t1
/* 04A938 7F015E08 8C291AC0 */ lw $t1, %lo(jpt_briefingpage_name)($at)
/* 04A93C 7F015E0C 01200008 */ jr $t1
/* 04A940 7F015E10 00000000 */ nop
.L7F015E14:
/* 04A944 7F015E14 0FC30776 */ jal get_textptr_for_textID
/* 04A948 7F015E18 34049C5D */ li $a0, 40029
/* 04A94C 7F015E1C 10000010 */ b .L7F015E60
/* 04A950 7F015E20 AFA20C0C */ sw $v0, 0xc0c($sp)
.L7F015E24:
/* 04A954 7F015E24 0FC30776 */ jal get_textptr_for_textID
/* 04A958 7F015E28 34049C5E */ li $a0, 40030
/* 04A95C 7F015E2C 1000000C */ b .L7F015E60
/* 04A960 7F015E30 AFA20C0C */ sw $v0, 0xc0c($sp)
.L7F015E34:
/* 04A964 7F015E34 0FC30776 */ jal get_textptr_for_textID
/* 04A968 7F015E38 34049C5F */ li $a0, 40031
/* 04A96C 7F015E3C 10000008 */ b .L7F015E60
/* 04A970 7F015E40 AFA20C0C */ sw $v0, 0xc0c($sp)
.L7F015E44:
/* 04A974 7F015E44 0FC30776 */ jal get_textptr_for_textID
/* 04A978 7F015E48 34049C60 */ li $a0, 40032
/* 04A97C 7F015E4C 10000004 */ b .L7F015E60
/* 04A980 7F015E50 AFA20C0C */ sw $v0, 0xc0c($sp)
.L7F015E54:
/* 04A984 7F015E54 0FC30776 */ jal get_textptr_for_textID
/* 04A988 7F015E58 34049C61 */ li $a0, 40033
/* 04A98C 7F015E5C AFA20C0C */ sw $v0, 0xc0c($sp)
def_7F015E0C:
.L7F015E60:
/* 04A990 7F015E60 240A0037 */ li $t2, 55
/* 04A994 7F015E64 240B008F */ li $t3, 143
/* 04A998 7F015E68 AFAA0C08 */ sw $t2, 0xc08($sp)
/* 04A99C 7F015E6C 0C001107 */ jal viGetX
/* 04A9A0 7F015E70 AFAB0C04 */ sw $t3, 0xc04($sp)
/* 04A9A4 7F015E74 0C00110B */ jal viGetY
/* 04A9A8 7F015E78 A7A20048 */ sh $v0, 0x48($sp)
/* 04A9AC 7F015E7C 3C0C8004 */ lui $t4, %hi(ptrSecondFontTableLarge)
/* 04A9B0 7F015E80 3C0D8004 */ lui $t5, %hi(ptrFirstFontTableLarge)
/* 04A9B4 7F015E84 8DAD0EB4 */ lw $t5, %lo(ptrFirstFontTableLarge)($t5)
/* 04A9B8 7F015E88 8D8C0EB8 */ lw $t4, %lo(ptrSecondFontTableLarge)($t4)
/* 04A9BC 7F015E8C 87B80048 */ lh $t8, 0x48($sp)
/* 04A9C0 7F015E90 241900FF */ li $t9, 255
/* 04A9C4 7F015E94 AFB90018 */ sw $t9, 0x18($sp)
/* 04A9C8 7F015E98 02002025 */ move $a0, $s0
/* 04A9CC 7F015E9C 27A50C08 */ addiu $a1, $sp, 0xc08
/* 04A9D0 7F015EA0 27A60C04 */ addiu $a2, $sp, 0xc04
/* 04A9D4 7F015EA4 8FA70C0C */ lw $a3, 0xc0c($sp)
/* 04A9D8 7F015EA8 AFA20020 */ sw $v0, 0x20($sp)
/* 04A9DC 7F015EAC AFA00024 */ sw $zero, 0x24($sp)
/* 04A9E0 7F015EB0 AFA00028 */ sw $zero, 0x28($sp)
/* 04A9E4 7F015EB4 AFAD0014 */ sw $t5, 0x14($sp)
/* 04A9E8 7F015EB8 AFAC0010 */ sw $t4, 0x10($sp)
/* 04A9EC 7F015EBC 0FC025D8 */ jal write_text_at_abs_coord
/* 04A9F0 7F015EC0 AFB8001C */ sw $t8, 0x1c($sp)
/* 04A9F4 7F015EC4 3C038003 */ lui $v1, %hi(current_menu_briefing_page)
/* 04A9F8 7F015EC8 8C63A914 */ lw $v1, %lo(current_menu_briefing_page)($v1)
/* 04A9FC 7F015ECC 00408025 */ move $s0, $v0
/* 04AA00 7F015ED0 24010001 */ li $at, 1
/* 04AA04 7F015ED4 14600007 */ bnez $v1, .L7F015EF4
/* 04AA08 7F015ED8 00402025 */ move $a0, $v0
/* 04AA0C 7F015EDC 240500A7 */ li $a1, 167
/* 04AA10 7F015EE0 27A6004C */ addiu $a2, $sp, 0x4c
/* 04AA14 7F015EE4 0FC05682 */ jal print_objectives_and_status_to_menu
/* 04AA18 7F015EE8 00003825 */ move $a3, $zero
/* 04AA1C 7F015EEC 10000049 */ b .L7F016014
/* 04AA20 7F015EF0 00408025 */ move $s0, $v0
.L7F015EF4:
/* 04AA24 7F015EF4 1061000C */ beq $v1, $at, .L7F015F28
/* 04AA28 7F015EF8 3C088007 */ lui $t0, %hi(ptrbriefingdata)
/* 04AA2C 7F015EFC 24010002 */ li $at, 2
/* 04AA30 7F015F00 1061000E */ beq $v1, $at, .L7F015F3C
/* 04AA34 7F015F04 3C0F8007 */ lui $t7, %hi(ptrbriefingdata)
/* 04AA38 7F015F08 24010003 */ li $at, 3
/* 04AA3C 7F015F0C 10610010 */ beq $v1, $at, .L7F015F50
/* 04AA40 7F015F10 3C0E8007 */ lui $t6, %hi(ptrbriefingdata)
/* 04AA44 7F015F14 24010004 */ li $at, 4
/* 04AA48 7F015F18 10610012 */ beq $v1, $at, .L7F015F64
/* 04AA4C 7F015F1C 3C098007 */ lui $t1, %hi(ptrbriefingdata)
/* 04AA50 7F015F20 10000014 */ b .L7F015F74
/* 04AA54 7F015F24 00000000 */ nop
.L7F015F28:
/* 04AA58 7F015F28 8D08978C */ lw $t0, %lo(ptrbriefingdata)($t0)
/* 04AA5C 7F015F2C 0FC30776 */ jal get_textptr_for_textID
/* 04AA60 7F015F30 95040000 */ lhu $a0, ($t0)
/* 04AA64 7F015F34 1000000F */ b .L7F015F74
/* 04AA68 7F015F38 AFA20C0C */ sw $v0, 0xc0c($sp)
.L7F015F3C:
/* 04AA6C 7F015F3C 8DEF978C */ lw $t7, %lo(ptrbriefingdata)($t7)
/* 04AA70 7F015F40 0FC30776 */ jal get_textptr_for_textID
/* 04AA74 7F015F44 95E40002 */ lhu $a0, 2($t7)
/* 04AA78 7F015F48 1000000A */ b .L7F015F74
/* 04AA7C 7F015F4C AFA20C0C */ sw $v0, 0xc0c($sp)
.L7F015F50:
/* 04AA80 7F015F50 8DCE978C */ lw $t6, %lo(ptrbriefingdata)($t6)
/* 04AA84 7F015F54 0FC30776 */ jal get_textptr_for_textID
/* 04AA88 7F015F58 95C40004 */ lhu $a0, 4($t6)
/* 04AA8C 7F015F5C 10000005 */ b .L7F015F74
/* 04AA90 7F015F60 AFA20C0C */ sw $v0, 0xc0c($sp)
.L7F015F64:
/* 04AA94 7F015F64 8D29978C */ lw $t1, %lo(ptrbriefingdata)($t1)
/* 04AA98 7F015F68 0FC30776 */ jal get_textptr_for_textID
/* 04AA9C 7F015F6C 95240006 */ lhu $a0, 6($t1)
/* 04AAA0 7F015F70 AFA20C0C */ sw $v0, 0xc0c($sp)
.L7F015F74:
/* 04AAA4 7F015F74 3C0C8004 */ lui $t4, %hi(ptrFirstFontTableLarge)
/* 04AAA8 7F015F78 8D8C0EB4 */ lw $t4, %lo(ptrFirstFontTableLarge)($t4)
/* 04AAAC 7F015F7C 240A0037 */ li $t2, 55
/* 04AAB0 7F015F80 240B00A7 */ li $t3, 167
/* 04AAB4 7F015F84 3C078004 */ lui $a3, %hi(ptrSecondFontTableLarge)
/* 04AAB8 7F015F88 AFAA0C08 */ sw $t2, 0xc08($sp)
/* 04AABC 7F015F8C AFAB0C04 */ sw $t3, 0xc04($sp)
/* 04AAC0 7F015F90 8CE70EB8 */ lw $a3, %lo(ptrSecondFontTableLarge)($a3)
/* 04AAC4 7F015F94 24040140 */ li $a0, 320
/* 04AAC8 7F015F98 8FA50C0C */ lw $a1, 0xc0c($sp)
/* 04AACC 7F015F9C 27A6004C */ addiu $a2, $sp, 0x4c
/* 04AAD0 7F015FA0 0FC2BAD9 */ jal sub_GAME_7F0AEB64
/* 04AAD4 7F015FA4 AFAC0010 */ sw $t4, 0x10($sp)
/* 04AAD8 7F015FA8 0FC2B2E8 */ jal setTextOverlapCorrection
/* 04AADC 7F015FAC 24040008 */ li $a0, 8
/* 04AAE0 7F015FB0 0C001107 */ jal viGetX
/* 04AAE4 7F015FB4 00000000 */ nop
/* 04AAE8 7F015FB8 0C00110B */ jal viGetY
/* 04AAEC 7F015FBC A7A20048 */ sh $v0, 0x48($sp)
/* 04AAF0 7F015FC0 3C0D8004 */ lui $t5, %hi(ptrSecondFontTableLarge)
/* 04AAF4 7F015FC4 3C198004 */ lui $t9, %hi(ptrFirstFontTableLarge)
/* 04AAF8 7F015FC8 8F390EB4 */ lw $t9, %lo(ptrFirstFontTableLarge)($t9)
/* 04AAFC 7F015FCC 8DAD0EB8 */ lw $t5, %lo(ptrSecondFontTableLarge)($t5)
/* 04AB00 7F015FD0 87A80048 */ lh $t0, 0x48($sp)
/* 04AB04 7F015FD4 241800FF */ li $t8, 255
/* 04AB08 7F015FD8 AFB80018 */ sw $t8, 0x18($sp)
/* 04AB0C 7F015FDC 02002025 */ move $a0, $s0
/* 04AB10 7F015FE0 27A50C08 */ addiu $a1, $sp, 0xc08
/* 04AB14 7F015FE4 27A60C04 */ addiu $a2, $sp, 0xc04
/* 04AB18 7F015FE8 27A7004C */ addiu $a3, $sp, 0x4c
/* 04AB1C 7F015FEC AFA20020 */ sw $v0, 0x20($sp)
/* 04AB20 7F015FF0 AFA00024 */ sw $zero, 0x24($sp)
/* 04AB24 7F015FF4 AFA00028 */ sw $zero, 0x28($sp)
/* 04AB28 7F015FF8 AFB90014 */ sw $t9, 0x14($sp)
/* 04AB2C 7F015FFC AFAD0010 */ sw $t5, 0x10($sp)
/* 04AB30 7F016000 0FC025D8 */ jal write_text_at_abs_coord
/* 04AB34 7F016004 AFA8001C */ sw $t0, 0x1c($sp)
/* 04AB38 7F016008 00408025 */ move $s0, $v0
/* 04AB3C 7F01600C 0FC2B2E8 */ jal setTextOverlapCorrection
/* 04AB40 7F016010 2404FFFF */ li $a0, -1
.L7F016014:
/* 04AB44 7F016014 0FC02820 */ jal add_tab1_start
/* 04AB48 7F016018 02002025 */ move $a0, $s0
/* 04AB4C 7F01601C 0FC0288E */ jal add_tab3_previous
/* 04AB50 7F016020 00402025 */ move $a0, $v0
/* 04AB54 7F016024 3C0F8003 */ lui $t7, %hi(current_menu_briefing_page)
/* 04AB58 7F016028 8DEFA914 */ lw $t7, %lo(current_menu_briefing_page)($t7)
/* 04AB5C 7F01602C 00408025 */ move $s0, $v0
/* 04AB60 7F016030 29E10004 */ slti $at, $t7, 4
/* 04AB64 7F016034 10200004 */ beqz $at, .L7F016048
/* 04AB68 7F016038 00000000 */ nop
/* 04AB6C 7F01603C 0FC02905 */ jal add_tab2_next
/* 04AB70 7F016040 00402025 */ move $a0, $v0
/* 04AB74 7F016044 00408025 */ move $s0, $v0
.L7F016048:
/* 04AB78 7F016048 0FC027C2 */ jal load_draw_selected_icon_folder_select
/* 04AB7C 7F01604C 02002025 */ move $a0, $s0
/* 04AB80 7F016050 8FBF003C */ lw $ra, 0x3c($sp)
/* 04AB84 7F016054 8FB00038 */ lw $s0, 0x38($sp)
/* 04AB88 7F016058 27BD0C10 */ addiu $sp, $sp, 0xc10
/* 04AB8C 7F01605C 03E00008 */ jr $ra
/* 04AB90 7F016060 00000000 */ nop
)
#endif
void init_menu0B_runstage(void)
{
bossSetLoadedStage(selected_stage);
set_difficulty(selected_difficulty);
}
void init_menu0C_missionfailed(void)
{
tab_2_selected = FALSE;
tab_3_selected = FALSE;
load_walletbond();
load_briefing_text_for_stage();
set_cursor_pos_tab2();
if (maybe_is_in_menu != FALSE) {
sfx_c_700091E8(0x7fff);
musicTrack1ApplySeqpVol(0x7fff);
g_musicXTrack1Fade = MUSIC_FADESTATE_UNSET;
musicTrack1Play(M_FOLDERS);
maybe_is_in_menu = FALSE;
}
}
void update_menu0C_missionfailed(void) {
return;
}
#ifdef NONMATCHING
void interface_menu0C_missionfailed(void)
{
const f32 menu0C_aspect = 1.3333334;
const f32 menu0C_pageheight = 10000.0;
viSetFovY(60.00000000);
viSetAspect(menu0C_aspect);
viSetZRange(100.00000000, menu0C_pageheight);
viSetUseZBuf(0);
tab_2_highlight = 0;
tab_3_highlight = 0;
if (isontab3() != 0)
{
tab_3_highlight = 1;
}
else
{
if (isontab2() != 0)
{
tab_2_highlight = 1;
}
else
{
tab_2_highlight = 1;
}
}
if (joyGetButtonsPressedThisFrame(0, 0xb000) != 0)
{
if (tab_3_highlight != 0)
{
tab_3_selected = 1;
play_sfx_a1(g_musicSfxBufferPtr, 0xc7, 0);
}
else
{
if (tab_2_highlight != 0)
{
tab_2_selected = 1;
play_sfx_a1(g_musicSfxBufferPtr, 0xc7, 0);
}
}
}
else
{
if (joyGetButtonsPressedThisFrame(0, 0x4000) != 0)
{
tab_3_selected = 1;
play_sfx_a1(g_musicSfxBufferPtr, 0xc7, 0);
}
}
disable_all_switches(ptr_folder_object_instance);
set_item_visibility_in_objinstance(ptr_folder_object_instance, 0, 1);
set_item_visibility_in_objinstance(ptr_folder_object_instance, 1, 1);
set_item_visibility_in_objinstance(ptr_folder_object_instance, 3, 1);
set_item_visibility_in_objinstance(ptr_folder_object_instance, 6, 1);
menu_control_stick_tracking();
if (tab_2_selected != 0)
{
set_menu_to_mode(MENU_MISSION_COMPLETE, 0);
return;
}
if (tab_3_selected != 0)
{
set_menu_to_mode(MENU_MISSION_SELECT, 0);
set_cursor_to_stage_solo(mission_folder_setup_entries[briefingpage].mission_num);
}
}
#else
GLOBAL_ASM(
.late_rodata
glabel menu0C_aspect
.word 0x3FAAAAAB /*1.3333334;*/
glabel menu0C_pageheight
.word 0x461C4000 /*10000.0;*/
.text
glabel interface_menu0C_missionfailed
/* 04AC40 7F016110 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 04AC44 7F016114 3C014270 */ li $at, 0x42700000 # 60.000000
/* 04AC48 7F016118 AFBF0014 */ sw $ra, 0x14($sp)
/* 04AC4C 7F01611C 44816000 */ mtc1 $at, $f12
/* 04AC50 7F016120 0C001151 */ jal viSetFovY
/* 04AC54 7F016124 00000000 */ nop
/* 04AC58 7F016128 3C018005 */ lui $at, %hi(menu0C_aspect)
/* 04AC5C 7F01612C 0C001164 */ jal viSetAspect
/* 04AC60 7F016130 C42C1AD4 */ lwc1 $f12, %lo(menu0C_aspect)($at)
/* 04AC64 7F016134 3C0142C8 */ li $at, 0x42C80000 # 100.000000
/* 04AC68 7F016138 44816000 */ mtc1 $at, $f12
/* 04AC6C 7F01613C 3C018005 */ lui $at, %hi(menu0C_pageheight)
/* 04AC70 7F016140 0C001194 */ jal viSetZRange
/* 04AC74 7F016144 C42E1AD8 */ lwc1 $f14, %lo(menu0C_pageheight)($at)
/* 04AC78 7F016148 0C00114D */ jal viSetUseZBuf
/* 04AC7C 7F01614C 00002025 */ move $a0, $zero
/* 04AC80 7F016150 3C018003 */ lui $at, %hi(tab_2_highlight)
/* 04AC84 7F016154 AC20A8E0 */ sw $zero, %lo(tab_2_highlight)($at)
/* 04AC88 7F016158 3C018003 */ lui $at, %hi(tab_3_highlight)
/* 04AC8C 7F01615C 0FC028E7 */ jal isontab3
/* 04AC90 7F016160 AC20A8E4 */ sw $zero, %lo(tab_3_highlight)($at)
/* 04AC94 7F016164 10400004 */ beqz $v0, .L7F016178
/* 04AC98 7F016168 24030001 */ li $v1, 1
/* 04AC9C 7F01616C 3C018003 */ lui $at, %hi(tab_3_highlight)
/* 04ACA0 7F016170 1000000B */ b .L7F0161A0
/* 04ACA4 7F016174 AC23A8E4 */ sw $v1, %lo(tab_3_highlight)($at)
.L7F016178:
/* 04ACA8 7F016178 0FC0295E */ jal isontab2
/* 04ACAC 7F01617C 00000000 */ nop
/* 04ACB0 7F016180 10400005 */ beqz $v0, .L7F016198
/* 04ACB4 7F016184 24030001 */ li $v1, 1
/* 04ACB8 7F016188 24030001 */ li $v1, 1
/* 04ACBC 7F01618C 3C018003 */ lui $at, %hi(tab_2_highlight)
/* 04ACC0 7F016190 10000003 */ b .L7F0161A0
/* 04ACC4 7F016194 AC23A8E0 */ sw $v1, %lo(tab_2_highlight)($at)
.L7F016198:
/* 04ACC8 7F016198 3C018003 */ lui $at, %hi(tab_2_highlight)
/* 04ACCC 7F01619C AC23A8E0 */ sw $v1, %lo(tab_2_highlight)($at)
.L7F0161A0:
/* 04ACD0 7F0161A0 00002025 */ move $a0, $zero
/* 04ACD4 7F0161A4 0C0030EB */ jal joyGetButtonsPressedThisFrame
/* 04ACD8 7F0161A8 3405B000 */ li $a1, 45056
/* 04ACDC 7F0161AC 10400019 */ beqz $v0, .L7F016214
/* 04ACE0 7F0161B0 24030001 */ li $v1, 1
/* 04ACE4 7F0161B4 3C0E8003 */ lui $t6, %hi(tab_3_highlight)
/* 04ACE8 7F0161B8 8DCEA8E4 */ lw $t6, %lo(tab_3_highlight)($t6)
/* 04ACEC 7F0161BC 3C018003 */ lui $at, %hi(tab_3_selected)
/* 04ACF0 7F0161C0 3C048006 */ lui $a0, %hi(g_musicSfxBufferPtr)
/* 04ACF4 7F0161C4 11C00008 */ beqz $t6, .L7F0161E8
/* 04ACF8 7F0161C8 3C0F8003 */ lui $t7, %hi(tab_2_highlight)
/* 04ACFC 7F0161CC AC23A8D8 */ sw $v1, %lo(tab_3_selected)($at)
/* 04AD00 7F0161D0 8C843720 */ lw $a0, %lo(g_musicSfxBufferPtr)($a0)
/* 04AD04 7F0161D4 240500C7 */ li $a1, 199
/* 04AD08 7F0161D8 0C002382 */ jal play_sfx_a1
/* 04AD0C 7F0161DC 00003025 */ move $a2, $zero
/* 04AD10 7F0161E0 10000018 */ b .L7F016244
/* 04AD14 7F0161E4 00000000 */ nop
.L7F0161E8:
/* 04AD18 7F0161E8 8DEFA8E0 */ lw $t7, %lo(tab_2_highlight)($t7)
/* 04AD1C 7F0161EC 3C018003 */ lui $at, %hi(tab_2_selected)
/* 04AD20 7F0161F0 3C048006 */ lui $a0, %hi(g_musicSfxBufferPtr)
/* 04AD24 7F0161F4 11E00013 */ beqz $t7, .L7F016244
/* 04AD28 7F0161F8 240500C7 */ li $a1, 199
/* 04AD2C 7F0161FC AC23A8D4 */ sw $v1, %lo(tab_2_selected)($at)
/* 04AD30 7F016200 8C843720 */ lw $a0, %lo(g_musicSfxBufferPtr)($a0)
/* 04AD34 7F016204 0C002382 */ jal play_sfx_a1
/* 04AD38 7F016208 00003025 */ move $a2, $zero
/* 04AD3C 7F01620C 1000000D */ b .L7F016244
/* 04AD40 7F016210 00000000 */ nop
.L7F016214:
/* 04AD44 7F016214 00002025 */ move $a0, $zero
/* 04AD48 7F016218 0C0030EB */ jal joyGetButtonsPressedThisFrame
/* 04AD4C 7F01621C 24054000 */ li $a1, 16384
/* 04AD50 7F016220 10400008 */ beqz $v0, .L7F016244
/* 04AD54 7F016224 24030001 */ li $v1, 1
/* 04AD58 7F016228 3C018003 */ lui $at, %hi(tab_3_selected)
/* 04AD5C 7F01622C 3C048006 */ lui $a0, %hi(g_musicSfxBufferPtr)
/* 04AD60 7F016230 AC23A8D8 */ sw $v1, %lo(tab_3_selected)($at)
/* 04AD64 7F016234 8C843720 */ lw $a0, %lo(g_musicSfxBufferPtr)($a0)
/* 04AD68 7F016238 240500C7 */ li $a1, 199
/* 04AD6C 7F01623C 0C002382 */ jal play_sfx_a1
/* 04AD70 7F016240 00003025 */ move $a2, $zero
.L7F016244:
/* 04AD74 7F016244 3C048003 */ lui $a0, %hi(ptr_folder_object_instance)
/* 04AD78 7F016248 0FC02DC9 */ jal disable_all_switches
/* 04AD7C 7F01624C 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0)
/* 04AD80 7F016250 3C048003 */ lui $a0, %hi(ptr_folder_object_instance)
/* 04AD84 7F016254 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0)
/* 04AD88 7F016258 00002825 */ move $a1, $zero
/* 04AD8C 7F01625C 0FC02DF0 */ jal set_item_visibility_in_objinstance
/* 04AD90 7F016260 24060001 */ li $a2, 1
/* 04AD94 7F016264 3C048003 */ lui $a0, %hi(ptr_folder_object_instance)
/* 04AD98 7F016268 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0)
/* 04AD9C 7F01626C 24050001 */ li $a1, 1
/* 04ADA0 7F016270 0FC02DF0 */ jal set_item_visibility_in_objinstance
/* 04ADA4 7F016274 24060001 */ li $a2, 1
/* 04ADA8 7F016278 3C048003 */ lui $a0, %hi(ptr_folder_object_instance)
/* 04ADAC 7F01627C 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0)
/* 04ADB0 7F016280 24050003 */ li $a1, 3
/* 04ADB4 7F016284 0FC02DF0 */ jal set_item_visibility_in_objinstance
/* 04ADB8 7F016288 24060001 */ li $a2, 1
/* 04ADBC 7F01628C 3C048003 */ lui $a0, %hi(ptr_folder_object_instance)
/* 04ADC0 7F016290 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0)
/* 04ADC4 7F016294 24050006 */ li $a1, 6
/* 04ADC8 7F016298 0FC02DF0 */ jal set_item_visibility_in_objinstance
/* 04ADCC 7F01629C 24060001 */ li $a2, 1
/* 04ADD0 7F0162A0 0FC026E1 */ jal menu_control_stick_tracking
/* 04ADD4 7F0162A4 00000000 */ nop
/* 04ADD8 7F0162A8 3C188003 */ lui $t8, %hi(tab_2_selected)
/* 04ADDC 7F0162AC 8F18A8D4 */ lw $t8, %lo(tab_2_selected)($t8)
/* 04ADE0 7F0162B0 2404000D */ li $a0, 13
/* 04ADE4 7F0162B4 3C198003 */ lui $t9, %hi(tab_3_selected)
/* 04ADE8 7F0162B8 13000005 */ beqz $t8, .L7F0162D0
/* 04ADEC 7F0162BC 00000000 */ nop
/* 04ADF0 7F0162C0 0FC06975 */ jal set_menu_to_mode
/* 04ADF4 7F0162C4 00002825 */ move $a1, $zero
/* 04ADF8 7F0162C8 10000011 */ b .L7F016310
/* 04ADFC 7F0162CC 8FBF0014 */ lw $ra, 0x14($sp)
.L7F0162D0:
/* 04AE00 7F0162D0 8F39A8D8 */ lw $t9, %lo(tab_3_selected)($t9)
/* 04AE04 7F0162D4 24040007 */ li $a0, 7
/* 04AE08 7F0162D8 5320000D */ beql $t9, $zero, .L7F016310
/* 04AE0C 7F0162DC 8FBF0014 */ lw $ra, 0x14($sp)
/* 04AE10 7F0162E0 0FC06975 */ jal set_menu_to_mode
/* 04AE14 7F0162E4 00002825 */ move $a1, $zero
/* 04AE18 7F0162E8 3C088003 */ lui $t0, %hi(briefingpage)
/* 04AE1C 7F0162EC 8D08A8F8 */ lw $t0, %lo(briefingpage)($t0)
/* 04AE20 7F0162F0 3C048003 */ lui $a0, %hi(mission_folder_setup_entries+200)
/* 04AE24 7F0162F4 000848C0 */ sll $t1, $t0, 3
/* 04AE28 7F0162F8 01284823 */ subu $t1, $t1, $t0
/* 04AE2C 7F0162FC 00094880 */ sll $t1, $t1, 2
/* 04AE30 7F016300 00892021 */ addu $a0, $a0, $t1
/* 04AE34 7F016304 0FC038F8 */ jal set_cursor_to_stage_solo
/* 04AE38 7F016308 8C84ABF8 */ lw $a0, %lo(mission_folder_setup_entries+20)($a0)
/* 04AE3C 7F01630C 8FBF0014 */ lw $ra, 0x14($sp)
.L7F016310:
/* 04AE40 7F016310 27BD0018 */ addiu $sp, $sp, 0x18
/* 04AE44 7F016314 03E00008 */ jr $ra
/* 04AE48 7F016318 00000000 */ nop
)
#endif
#ifdef NONMATCHING
s32 sub_GAME_7F01631C(void)
{
s32 temp_s0;
s32 phi_s1;
s32 phi_s0;
if (mission_failed_or_aborted != 0)
{
block_2:
return 0;
}
if (mission_kia_flag != 0)
{
goto block_2;
}
phi_s1 = 0;
phi_s0 = 0;
loop_4:
if ((ptrbriefingdata + phi_s1)->unk8 != 0)
{
if (get_current_difficulty() >= (ptrbriefingdata + phi_s1)->unkA)
{
if (get_status_of_objective(phi_s0) != 1)
{
return 0;
}
}
}
temp_s0 = phi_s0 + 1;
phi_s1 = phi_s1 + 4;
phi_s0 = temp_s0;
if (temp_s0 != 0xa)
{
goto loop_4;
}
return 1;
}
#else
GLOBAL_ASM(
.text
glabel sub_GAME_7F01631C
/* 04AE4C 7F01631C 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 04AE50 7F016320 3C0E8003 */ lui $t6, %hi(mission_failed_or_aborted)
/* 04AE54 7F016324 8DCEA924 */ lw $t6, %lo(mission_failed_or_aborted)($t6)
/* 04AE58 7F016328 AFBF002C */ sw $ra, 0x2c($sp)
/* 04AE5C 7F01632C AFB40028 */ sw $s4, 0x28($sp)
/* 04AE60 7F016330 AFB30024 */ sw $s3, 0x24($sp)
/* 04AE64 7F016334 AFB20020 */ sw $s2, 0x20($sp)
/* 04AE68 7F016338 AFB1001C */ sw $s1, 0x1c($sp)
/* 04AE6C 7F01633C 15C00007 */ bnez $t6, .L7F01635C
/* 04AE70 7F016340 AFB00018 */ sw $s0, 0x18($sp)
/* 04AE74 7F016344 3C0F8003 */ lui $t7, %hi(mission_kia_flag)
/* 04AE78 7F016348 8DEFA928 */ lw $t7, %lo(mission_kia_flag)($t7)
/* 04AE7C 7F01634C 00008025 */ move $s0, $zero
/* 04AE80 7F016350 00008825 */ move $s1, $zero
/* 04AE84 7F016354 11E00003 */ beqz $t7, .L7F016364
/* 04AE88 7F016358 2414000A */ li $s4, 10
.L7F01635C:
/* 04AE8C 7F01635C 1000001B */ b .L7F0163CC
/* 04AE90 7F016360 00001025 */ move $v0, $zero
.L7F016364:
/* 04AE94 7F016364 3C128007 */ lui $s2, %hi(ptrbriefingdata)
/* 04AE98 7F016368 2652978C */ addiu $s2, %lo(ptrbriefingdata) # addiu $s2, $s2, -0x6874
/* 04AE9C 7F01636C 24130001 */ li $s3, 1
.L7F016370:
/* 04AEA0 7F016370 8E580000 */ lw $t8, ($s2)
/* 04AEA4 7F016374 0311C821 */ addu $t9, $t8, $s1
/* 04AEA8 7F016378 97280008 */ lhu $t0, 8($t9)
/* 04AEAC 7F01637C 51000010 */ beql $t0, $zero, .L7F0163C0
/* 04AEB0 7F016380 26100001 */ addiu $s0, $s0, 1
/* 04AEB4 7F016384 0FC2FF04 */ jal get_current_difficulty
/* 04AEB8 7F016388 00000000 */ nop
/* 04AEBC 7F01638C 8E490000 */ lw $t1, ($s2)
/* 04AEC0 7F016390 01315021 */ addu $t2, $t1, $s1
/* 04AEC4 7F016394 954B000A */ lhu $t3, 0xa($t2)
/* 04AEC8 7F016398 004B082A */ slt $at, $v0, $t3
/* 04AECC 7F01639C 54200008 */ bnezl $at, .L7F0163C0
/* 04AED0 7F0163A0 26100001 */ addiu $s0, $s0, 1
/* 04AED4 7F0163A4 0FC15C8E */ jal get_status_of_objective
/* 04AED8 7F0163A8 02002025 */ move $a0, $s0
/* 04AEDC 7F0163AC 50530004 */ beql $v0, $s3, .L7F0163C0
/* 04AEE0 7F0163B0 26100001 */ addiu $s0, $s0, 1
/* 04AEE4 7F0163B4 10000005 */ b .L7F0163CC
/* 04AEE8 7F0163B8 00001025 */ move $v0, $zero
/* 04AEEC 7F0163BC 26100001 */ addiu $s0, $s0, 1
.L7F0163C0:
/* 04AEF0 7F0163C0 1614FFEB */ bne $s0, $s4, .L7F016370
/* 04AEF4 7F0163C4 26310004 */ addiu $s1, $s1, 4
/* 04AEF8 7F0163C8 24020001 */ li $v0, 1
.L7F0163CC:
/* 04AEFC 7F0163CC 8FBF002C */ lw $ra, 0x2c($sp)
/* 04AF00 7F0163D0 8FB00018 */ lw $s0, 0x18($sp)
/* 04AF04 7F0163D4 8FB1001C */ lw $s1, 0x1c($sp)
/* 04AF08 7F0163D8 8FB20020 */ lw $s2, 0x20($sp)
/* 04AF0C 7F0163DC 8FB30024 */ lw $s3, 0x24($sp)
/* 04AF10 7F0163E0 8FB40028 */ lw $s4, 0x28($sp)
/* 04AF14 7F0163E4 03E00008 */ jr $ra
/* 04AF18 7F0163E8 27BD0030 */ addiu $sp, $sp, 0x30
)
#endif
#ifdef NONMATCHING
void constructor_menu0C_missionfailed(s32 arg0)
{
s32 spC14;
s32 spC10;
s32 sp58;
s32 sp50;
s32 sp4C;
s32 sp48;
s16 sp44;
s32 temp_ret;
s32 phi_v1;
s32 phi_s0;
arg0 = print_current_solo_briefing_stage_name(microcode_constructor(sub_GAME_7F00D5E8(viFillScreen(viSetFillColor(0, 0, 0)))), &sp58);
spC14 = 0x37;
spC10 = 0x8f;
sp44 = viGetX();
arg0 = write_text_at_abs_coord(arg0, &spC14, &spC10, get_textptr_for_textID(TEXT(LTITLE, 0x62)), (s32) ptrSecondFontTableLarge, (s32) ptrFirstFontTableLarge, 0xff, sp44, viGetY(), 0, 0);
temp_ret = get_textptr_for_textID(TEXT(LTITLE, 0x63));
sp48 = 0;
sp4C = 0;
sub_GAME_7F0AE98C(&sp4C, &sp48, temp_ret, ptrSecondFontTableLarge, (s32) ptrFirstFontTableLarge, 0);
spC14 = 0x37;
spC10 = 0xa7;
sp44 = viGetX();
arg0 = write_text_at_abs_coord(arg0, &spC14, &spC10, temp_ret, (s32) ptrSecondFontTableLarge, (s32) ptrFirstFontTableLarge, 0xff, sp44, viGetY(), 0, 0);
if (mission_kia_flag != 0)
{
phi_v1 = 0x780000ff;
phi_s0 = get_textptr_for_textID(TEXT(LTITLE, 0x64));
}
else
{
if (mission_failed_or_aborted != 0)
{
phi_v1 = 0x780000ff;
phi_s0 = get_textptr_for_textID(TEXT(LTITLE, 0x65));
}
else
{
if (sub_GAME_7F01631C() != 0)
{
phi_v1 = 0xff;
phi_s0 = get_textptr_for_textID(TEXT(LTITLE, 0x66));
}
else
{
phi_v1 = 0x780000ff;
phi_s0 = get_textptr_for_textID(TEXT(LTITLE, 0x67));
}
}
}
spC10 = 0xa7;
spC14 = (s32) (sp48 + 0x37);
sp50 = (s32) phi_v1;
sp44 = viGetX();
load_draw_selected_icon_folder_select(add_tab3_previous(add_tab2_next(print_objectives_and_status_to_menu(write_text_at_abs_coord(arg0, &spC14, &spC10, phi_s0, (s32) ptrSecondFontTableLarge, (s32) ptrFirstFontTableLarge, (s32) phi_v1, sp44, viGetY(), 0, 0), 0xbf, &sp58, 1))));
}
#else
GLOBAL_ASM(
.text
glabel constructor_menu0C_missionfailed
/* 04AF1C 7F0163EC 27BDF3E8 */ addiu $sp, $sp, -0xc18
/* 04AF20 7F0163F0 AFBF003C */ sw $ra, 0x3c($sp)
/* 04AF24 7F0163F4 AFB00038 */ sw $s0, 0x38($sp)
/* 04AF28 7F0163F8 00002825 */ move $a1, $zero
/* 04AF2C 7F0163FC 00003025 */ move $a2, $zero
/* 04AF30 7F016400 0C0011B4 */ jal viSetFillColor
/* 04AF34 7F016404 00003825 */ move $a3, $zero
/* 04AF38 7F016408 0C000FBE */ jal viFillScreen
/* 04AF3C 7F01640C 00402025 */ move $a0, $v0
/* 04AF40 7F016410 0FC0357A */ jal sub_GAME_7F00D5E8
/* 04AF44 7F016414 00402025 */ move $a0, $v0
/* 04AF48 7F016418 0FC2B366 */ jal microcode_constructor
/* 04AF4C 7F01641C 00402025 */ move $a0, $v0
/* 04AF50 7F016420 00402025 */ move $a0, $v0
/* 04AF54 7F016424 0FC03AAF */ jal print_current_solo_briefing_stage_name
/* 04AF58 7F016428 27A50058 */ addiu $a1, $sp, 0x58
/* 04AF5C 7F01642C AFA20C18 */ sw $v0, 0xc18($sp)
/* 04AF60 7F016430 0FC30776 */ jal get_textptr_for_textID
/* 04AF64 7F016434 34049C62 */ li $a0, 40034
/* 04AF68 7F016438 240E0037 */ li $t6, 55
/* 04AF6C 7F01643C 240F008F */ li $t7, 143
/* 04AF70 7F016440 00408025 */ move $s0, $v0
/* 04AF74 7F016444 AFAE0C14 */ sw $t6, 0xc14($sp)
/* 04AF78 7F016448 0C001107 */ jal viGetX
/* 04AF7C 7F01644C AFAF0C10 */ sw $t7, 0xc10($sp)
/* 04AF80 7F016450 0C00110B */ jal viGetY
/* 04AF84 7F016454 A7A20044 */ sh $v0, 0x44($sp)
/* 04AF88 7F016458 3C188004 */ lui $t8, %hi(ptrSecondFontTableLarge)
/* 04AF8C 7F01645C 3C198004 */ lui $t9, %hi(ptrFirstFontTableLarge)
/* 04AF90 7F016460 8F390EB4 */ lw $t9, %lo(ptrFirstFontTableLarge)($t9)
/* 04AF94 7F016464 8F180EB8 */ lw $t8, %lo(ptrSecondFontTableLarge)($t8)
/* 04AF98 7F016468 87A90044 */ lh $t1, 0x44($sp)
/* 04AF9C 7F01646C 240800FF */ li $t0, 255
/* 04AFA0 7F016470 AFA80018 */ sw $t0, 0x18($sp)
/* 04AFA4 7F016474 8FA40C18 */ lw $a0, 0xc18($sp)
/* 04AFA8 7F016478 27A50C14 */ addiu $a1, $sp, 0xc14
/* 04AFAC 7F01647C 27A60C10 */ addiu $a2, $sp, 0xc10
/* 04AFB0 7F016480 02003825 */ move $a3, $s0
/* 04AFB4 7F016484 AFA20020 */ sw $v0, 0x20($sp)
/* 04AFB8 7F016488 AFA00024 */ sw $zero, 0x24($sp)
/* 04AFBC 7F01648C AFA00028 */ sw $zero, 0x28($sp)
/* 04AFC0 7F016490 AFB90014 */ sw $t9, 0x14($sp)
/* 04AFC4 7F016494 AFB80010 */ sw $t8, 0x10($sp)
/* 04AFC8 7F016498 0FC025D8 */ jal write_text_at_abs_coord
/* 04AFCC 7F01649C AFA9001C */ sw $t1, 0x1c($sp)
/* 04AFD0 7F0164A0 AFA20C18 */ sw $v0, 0xc18($sp)
/* 04AFD4 7F0164A4 0FC30776 */ jal get_textptr_for_textID
/* 04AFD8 7F0164A8 34049C63 */ li $a0, 40035
/* 04AFDC 7F0164AC 3C0A8004 */ lui $t2, %hi(ptrFirstFontTableLarge)
/* 04AFE0 7F0164B0 8D4A0EB4 */ lw $t2, %lo(ptrFirstFontTableLarge)($t2)
/* 04AFE4 7F0164B4 3C078004 */ lui $a3, %hi(ptrSecondFontTableLarge)
/* 04AFE8 7F0164B8 00408025 */ move $s0, $v0
/* 04AFEC 7F0164BC AFA00048 */ sw $zero, 0x48($sp)
/* 04AFF0 7F0164C0 AFA0004C */ sw $zero, 0x4c($sp)
/* 04AFF4 7F0164C4 8CE70EB8 */ lw $a3, %lo(ptrSecondFontTableLarge)($a3)
/* 04AFF8 7F0164C8 27A4004C */ addiu $a0, $sp, 0x4c
/* 04AFFC 7F0164CC 27A50048 */ addiu $a1, $sp, 0x48
/* 04B000 7F0164D0 00403025 */ move $a2, $v0
/* 04B004 7F0164D4 AFA00014 */ sw $zero, 0x14($sp)
/* 04B008 7F0164D8 0FC2BA63 */ jal sub_GAME_7F0AE98C
/* 04B00C 7F0164DC AFAA0010 */ sw $t2, 0x10($sp)
/* 04B010 7F0164E0 240B0037 */ li $t3, 55
/* 04B014 7F0164E4 240C00A7 */ li $t4, 167
/* 04B018 7F0164E8 AFAB0C14 */ sw $t3, 0xc14($sp)
/* 04B01C 7F0164EC 0C001107 */ jal viGetX
/* 04B020 7F0164F0 AFAC0C10 */ sw $t4, 0xc10($sp)
/* 04B024 7F0164F4 0C00110B */ jal viGetY
/* 04B028 7F0164F8 A7A20044 */ sh $v0, 0x44($sp)
/* 04B02C 7F0164FC 3C0D8004 */ lui $t5, %hi(ptrSecondFontTableLarge)
/* 04B030 7F016500 3C0E8004 */ lui $t6, %hi(ptrFirstFontTableLarge)
/* 04B034 7F016504 8DCE0EB4 */ lw $t6, %lo(ptrFirstFontTableLarge)($t6)
/* 04B038 7F016508 8DAD0EB8 */ lw $t5, %lo(ptrSecondFontTableLarge)($t5)
/* 04B03C 7F01650C 87B80044 */ lh $t8, 0x44($sp)
/* 04B040 7F016510 240F00FF */ li $t7, 255
/* 04B044 7F016514 AFAF0018 */ sw $t7, 0x18($sp)
/* 04B048 7F016518 8FA40C18 */ lw $a0, 0xc18($sp)
/* 04B04C 7F01651C 27A50C14 */ addiu $a1, $sp, 0xc14
/* 04B050 7F016520 27A60C10 */ addiu $a2, $sp, 0xc10
/* 04B054 7F016524 02003825 */ move $a3, $s0
/* 04B058 7F016528 AFA20020 */ sw $v0, 0x20($sp)
/* 04B05C 7F01652C AFA00024 */ sw $zero, 0x24($sp)
/* 04B060 7F016530 AFA00028 */ sw $zero, 0x28($sp)
/* 04B064 7F016534 AFAE0014 */ sw $t6, 0x14($sp)
/* 04B068 7F016538 AFAD0010 */ sw $t5, 0x10($sp)
/* 04B06C 7F01653C 0FC025D8 */ jal write_text_at_abs_coord
/* 04B070 7F016540 AFB8001C */ sw $t8, 0x1c($sp)
/* 04B074 7F016544 3C198003 */ lui $t9, %hi(mission_kia_flag)
/* 04B078 7F016548 8F39A928 */ lw $t9, %lo(mission_kia_flag)($t9)
/* 04B07C 7F01654C AFA20C18 */ sw $v0, 0xc18($sp)
/* 04B080 7F016550 3C088003 */ lui $t0, %hi(mission_failed_or_aborted)
/* 04B084 7F016554 13200007 */ beqz $t9, .L7F016574
/* 04B088 7F016558 00000000 */ nop
/* 04B08C 7F01655C 0FC30776 */ jal get_textptr_for_textID
/* 04B090 7F016560 34049C64 */ li $a0, 40036
/* 04B094 7F016564 3C037800 */ lui $v1, (0x780000FF >> 16) # lui $v1, 0x7800
/* 04B098 7F016568 00408025 */ move $s0, $v0
/* 04B09C 7F01656C 10000018 */ b .L7F0165D0
/* 04B0A0 7F016570 346300FF */ ori $v1, (0x780000FF & 0xFFFF) # ori $v1, $v1, 0xff
.L7F016574:
/* 04B0A4 7F016574 8D08A924 */ lw $t0, %lo(mission_failed_or_aborted)($t0)
/* 04B0A8 7F016578 11000007 */ beqz $t0, .L7F016598
/* 04B0AC 7F01657C 00000000 */ nop
/* 04B0B0 7F016580 0FC30776 */ jal get_textptr_for_textID
/* 04B0B4 7F016584 34049C65 */ li $a0, 40037
/* 04B0B8 7F016588 3C037800 */ lui $v1, (0x780000FF >> 16) # lui $v1, 0x7800
/* 04B0BC 7F01658C 00408025 */ move $s0, $v0
/* 04B0C0 7F016590 1000000F */ b .L7F0165D0
/* 04B0C4 7F016594 346300FF */ ori $v1, (0x780000FF & 0xFFFF) # ori $v1, $v1, 0xff
.L7F016598:
/* 04B0C8 7F016598 0FC058C7 */ jal sub_GAME_7F01631C
/* 04B0CC 7F01659C 00000000 */ nop
/* 04B0D0 7F0165A0 10400006 */ beqz $v0, .L7F0165BC
/* 04B0D4 7F0165A4 00000000 */ nop
/* 04B0D8 7F0165A8 0FC30776 */ jal get_textptr_for_textID
/* 04B0DC 7F0165AC 34049C66 */ li $a0, 40038
/* 04B0E0 7F0165B0 00408025 */ move $s0, $v0
/* 04B0E4 7F0165B4 10000006 */ b .L7F0165D0
/* 04B0E8 7F0165B8 240300FF */ li $v1, 255
.L7F0165BC:
/* 04B0EC 7F0165BC 0FC30776 */ jal get_textptr_for_textID
/* 04B0F0 7F0165C0 34049C67 */ li $a0, 40039
/* 04B0F4 7F0165C4 3C037800 */ lui $v1, (0x780000FF >> 16) # lui $v1, 0x7800
/* 04B0F8 7F0165C8 00408025 */ move $s0, $v0
/* 04B0FC 7F0165CC 346300FF */ ori $v1, (0x780000FF & 0xFFFF) # ori $v1, $v1, 0xff
.L7F0165D0:
/* 04B100 7F0165D0 8FA90048 */ lw $t1, 0x48($sp)
/* 04B104 7F0165D4 240B00A7 */ li $t3, 167
/* 04B108 7F0165D8 AFAB0C10 */ sw $t3, 0xc10($sp)
/* 04B10C 7F0165DC 252A0037 */ addiu $t2, $t1, 0x37
/* 04B110 7F0165E0 AFAA0C14 */ sw $t2, 0xc14($sp)
/* 04B114 7F0165E4 0C001107 */ jal viGetX
/* 04B118 7F0165E8 AFA30050 */ sw $v1, 0x50($sp)
/* 04B11C 7F0165EC 0C00110B */ jal viGetY
/* 04B120 7F0165F0 A7A20044 */ sh $v0, 0x44($sp)
/* 04B124 7F0165F4 3C0C8004 */ lui $t4, %hi(ptrSecondFontTableLarge)
/* 04B128 7F0165F8 3C0D8004 */ lui $t5, %hi(ptrFirstFontTableLarge)
/* 04B12C 7F0165FC 8DAD0EB4 */ lw $t5, %lo(ptrFirstFontTableLarge)($t5)
/* 04B130 7F016600 8D8C0EB8 */ lw $t4, %lo(ptrSecondFontTableLarge)($t4)
/* 04B134 7F016604 8FA30050 */ lw $v1, 0x50($sp)
/* 04B138 7F016608 87AE0044 */ lh $t6, 0x44($sp)
/* 04B13C 7F01660C 8FA40C18 */ lw $a0, 0xc18($sp)
/* 04B140 7F016610 27A50C14 */ addiu $a1, $sp, 0xc14
/* 04B144 7F016614 27A60C10 */ addiu $a2, $sp, 0xc10
/* 04B148 7F016618 02003825 */ move $a3, $s0
/* 04B14C 7F01661C AFA20020 */ sw $v0, 0x20($sp)
/* 04B150 7F016620 AFA00024 */ sw $zero, 0x24($sp)
/* 04B154 7F016624 AFA00028 */ sw $zero, 0x28($sp)
/* 04B158 7F016628 AFAD0014 */ sw $t5, 0x14($sp)
/* 04B15C 7F01662C AFAC0010 */ sw $t4, 0x10($sp)
/* 04B160 7F016630 AFA30018 */ sw $v1, 0x18($sp)
/* 04B164 7F016634 0FC025D8 */ jal write_text_at_abs_coord
/* 04B168 7F016638 AFAE001C */ sw $t6, 0x1c($sp)
/* 04B16C 7F01663C 00402025 */ move $a0, $v0
/* 04B170 7F016640 240500BF */ li $a1, 191
/* 04B174 7F016644 27A60058 */ addiu $a2, $sp, 0x58
/* 04B178 7F016648 0FC05682 */ jal print_objectives_and_status_to_menu
/* 04B17C 7F01664C 24070001 */ li $a3, 1
/* 04B180 7F016650 0FC02905 */ jal add_tab2_next
/* 04B184 7F016654 00402025 */ move $a0, $v0
/* 04B188 7F016658 0FC0288E */ jal add_tab3_previous
/* 04B18C 7F01665C 00402025 */ move $a0, $v0
/* 04B190 7F016660 0FC027C2 */ jal load_draw_selected_icon_folder_select
/* 04B194 7F016664 00402025 */ move $a0, $v0
/* 04B198 7F016668 8FBF003C */ lw $ra, 0x3c($sp)
/* 04B19C 7F01666C 8FB00038 */ lw $s0, 0x38($sp)
/* 04B1A0 7F016670 27BD0C18 */ addiu $sp, $sp, 0xc18
/* 04B1A4 7F016674 03E00008 */ jr $ra
/* 04B1A8 7F016678 00000000 */ nop
)
#endif
void init_menu0D_missioncomplete(void)
{
tab_2_selected = 0;
tab_3_selected = 0;
load_walletbond();
load_briefing_text_for_stage();
if (newcheatunlocked != 0)
{
play_sfx_a1(g_musicSfxBufferPtr, 0x102, 0);
}
}
void update_menu0D_missioncomplete(void) {
return;
}
#ifdef NONMATCHING
void interface_menu0D_missioncomplete(u32 param_1,u32 param_2)
{
u32 BVar3;
s32 uVar1;
s32 lVar2;
mission_folder_setup *pmVar4;
mission_folder_setup *pmVar5;
int entry;
short sVar6;
int iVar7;
viSetFovY(60.00000000);
viSetAspect((f32)menu0D_aspect);
viSetZRange(100.00000000,(f32)menu0D_pageheight);
viSetUseZBuf(0);
tab_3_highlight = FALSE;
tab_2_highlight = FALSE;
if (isontab3() == FALSE) {
if (isontab2() == FALSE) {
tab_2_highlight = TRUE;
}
else {
tab_2_highlight = TRUE;
}
}
else {
tab_3_highlight = TRUE;
}
if (joyGetButtonsPressedThisFrame(0,START_BUTTON|Z_TRIG|A_BUTTON) == 0) {
if (joyGetButtonsPressedThisFrame(0,B_BUTTON) != 0) {
tab_3_selected = TRUE;
play_sfx_a1((s32)(int)g_musicSfxBufferPtr,199,NULL);
}
}
else {
if (tab_2_highlight == FALSE) {
if (tab_3_highlight != FALSE) {
tab_3_selected = TRUE;
play_sfx_a1((s32)(int)g_musicSfxBufferPtr,199,NULL);
}
}
else {
tab_2_selected = TRUE;
play_sfx_a1((s32)(int)g_musicSfxBufferPtr,199,NULL);
}
}
disable_all_switches((int)ptr_folder_object_instance);
set_item_visibility_in_objinstance((int)ptr_folder_object_instance,0,1);
set_item_visibility_in_objinstance((int)ptr_folder_object_instance,1,1);
set_item_visibility_in_objinstance((int)ptr_folder_object_instance,3,1);
set_item_visibility_in_objinstance((int)ptr_folder_object_instance,6,1);
menu_control_stick_tracking();
if (tab_2_selected == FALSE) {
if (tab_3_selected != FALSE) {
set_menu_to_mode(MENU_MISSION_SELECT,0);
set_cursor_to_stage_solo((s32)mission_folder_setup_entries[briefingpage].mission_num);
}
}
else {
lVar2 = proc_7F01631C();
if ((lVar2 == 0) || (append_cheat_sp != FALSE)) {
set_menu_to_mode(MENU_BRIEFING,0);
}
else {
if (mission_folder_setup_entries[briefingpage].mission_num == 0x11) {
set_menu_to_mode(MENU_RUN_STAGE,1);
selected_stage = LEVELID_CUBA;
}
else {
entry = briefingpage + 1;
if (mission_folder_setup_entries[briefingpage].mission_num < 0x12) {
sVar6 = mission_folder_setup_entries[entry].folder_text_preset;
pmVar5 = mission_folder_setup_entries + entry;
if (sVar6 != 0) {
iVar7 = mission_folder_setup_entries[entry].stage_id;
pmVar4 = mission_folder_setup_entries + entry;
while (pmVar5 = pmVar4, iVar7 < 0) {
sVar6 = pmVar4[1].folder_text_preset;
entry += 1;
pmVar5 = pmVar4 + 1;
if (sVar6 == 0) break;
iVar7 = pmVar4[1].stage_id;
pmVar4 = pmVar5;
}
}
if (sVar6 != 0) {
selected_stage = pmVar5->stage_id;
briefingpage = entry;
}
set_menu_to_mode(MENU_BRIEFING,0);
}
else {
set_menu_to_mode(MENU_MISSION_SELECT,0);
set_cursor_to_stage_solo((s32)mission_folder_setup_entries[briefingpage].mission_num)
;
}
}
}
}
return;
}
#else
GLOBAL_ASM(
.late_rodata
glabel menu0D_aspect
.word 0x3FAAAAAB /*1.3333334;*/
glabel menu0D_pageheight
.word 0x461C4000 /*10000.0;*/
.text
glabel interface_menu0D_missioncomplete
/* 04B208 7F0166D8 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 04B20C 7F0166DC 3C014270 */ li $at, 0x42700000 # 60.000000
/* 04B210 7F0166E0 AFBF0014 */ sw $ra, 0x14($sp)
/* 04B214 7F0166E4 44816000 */ mtc1 $at, $f12
/* 04B218 7F0166E8 0C001151 */ jal viSetFovY
/* 04B21C 7F0166EC 00000000 */ nop
/* 04B220 7F0166F0 3C018005 */ lui $at, %hi(menu0D_aspect)
/* 04B224 7F0166F4 0C001164 */ jal viSetAspect
/* 04B228 7F0166F8 C42C1ADC */ lwc1 $f12, %lo(menu0D_aspect)($at)
/* 04B22C 7F0166FC 3C0142C8 */ li $at, 0x42C80000 # 100.000000
/* 04B230 7F016700 44816000 */ mtc1 $at, $f12
/* 04B234 7F016704 3C018005 */ lui $at, %hi(menu0D_pageheight)
/* 04B238 7F016708 0C001194 */ jal viSetZRange
/* 04B23C 7F01670C C42E1AE0 */ lwc1 $f14, %lo(menu0D_pageheight)($at)
/* 04B240 7F016710 0C00114D */ jal viSetUseZBuf
/* 04B244 7F016714 00002025 */ move $a0, $zero
/* 04B248 7F016718 3C018003 */ lui $at, %hi(tab_3_highlight)
/* 04B24C 7F01671C AC20A8E4 */ sw $zero, %lo(tab_3_highlight)($at)
/* 04B250 7F016720 3C018003 */ lui $at, %hi(tab_2_highlight)
/* 04B254 7F016724 0FC028E7 */ jal isontab3
/* 04B258 7F016728 AC20A8E0 */ sw $zero, %lo(tab_2_highlight)($at)
/* 04B25C 7F01672C 10400004 */ beqz $v0, .L7F016740
/* 04B260 7F016730 24030001 */ li $v1, 1
/* 04B264 7F016734 3C018003 */ lui $at, %hi(tab_3_highlight)
/* 04B268 7F016738 1000000B */ b .L7F016768
/* 04B26C 7F01673C AC23A8E4 */ sw $v1, %lo(tab_3_highlight)($at)
.L7F016740:
/* 04B270 7F016740 0FC0295E */ jal isontab2
/* 04B274 7F016744 00000000 */ nop
/* 04B278 7F016748 10400005 */ beqz $v0, .L7F016760
/* 04B27C 7F01674C 24030001 */ li $v1, 1
/* 04B280 7F016750 24030001 */ li $v1, 1
/* 04B284 7F016754 3C018003 */ lui $at, %hi(tab_2_highlight)
/* 04B288 7F016758 10000003 */ b .L7F016768
/* 04B28C 7F01675C AC23A8E0 */ sw $v1, %lo(tab_2_highlight)($at)
.L7F016760:
/* 04B290 7F016760 3C018003 */ lui $at, %hi(tab_2_highlight)
/* 04B294 7F016764 AC23A8E0 */ sw $v1, %lo(tab_2_highlight)($at)
.L7F016768:
/* 04B298 7F016768 00002025 */ move $a0, $zero
/* 04B29C 7F01676C 0C0030EB */ jal joyGetButtonsPressedThisFrame
/* 04B2A0 7F016770 3405B000 */ li $a1, 45056
/* 04B2A4 7F016774 10400019 */ beqz $v0, .L7F0167DC
/* 04B2A8 7F016778 24030001 */ li $v1, 1
/* 04B2AC 7F01677C 3C0E8003 */ lui $t6, %hi(tab_2_highlight)
/* 04B2B0 7F016780 8DCEA8E0 */ lw $t6, %lo(tab_2_highlight)($t6)
/* 04B2B4 7F016784 3C018003 */ lui $at, %hi(tab_2_selected)
/* 04B2B8 7F016788 3C048006 */ lui $a0, %hi(g_musicSfxBufferPtr)
/* 04B2BC 7F01678C 11C00008 */ beqz $t6, .L7F0167B0
/* 04B2C0 7F016790 3C0F8003 */ lui $t7, %hi(tab_3_highlight)
/* 04B2C4 7F016794 AC23A8D4 */ sw $v1, %lo(tab_2_selected)($at)
/* 04B2C8 7F016798 8C843720 */ lw $a0, %lo(g_musicSfxBufferPtr)($a0)
/* 04B2CC 7F01679C 240500C7 */ li $a1, 199
/* 04B2D0 7F0167A0 0C002382 */ jal play_sfx_a1
/* 04B2D4 7F0167A4 00003025 */ move $a2, $zero
/* 04B2D8 7F0167A8 10000018 */ b .L7F01680C
/* 04B2DC 7F0167AC 00000000 */ nop
.L7F0167B0:
/* 04B2E0 7F0167B0 8DEFA8E4 */ lw $t7, %lo(tab_3_highlight)($t7)
/* 04B2E4 7F0167B4 3C018003 */ lui $at, %hi(tab_3_selected)
/* 04B2E8 7F0167B8 3C048006 */ lui $a0, %hi(g_musicSfxBufferPtr)
/* 04B2EC 7F0167BC 11E00013 */ beqz $t7, .L7F01680C
/* 04B2F0 7F0167C0 240500C7 */ li $a1, 199
/* 04B2F4 7F0167C4 AC23A8D8 */ sw $v1, %lo(tab_3_selected)($at)
/* 04B2F8 7F0167C8 8C843720 */ lw $a0, %lo(g_musicSfxBufferPtr)($a0)
/* 04B2FC 7F0167CC 0C002382 */ jal play_sfx_a1
/* 04B300 7F0167D0 00003025 */ move $a2, $zero
/* 04B304 7F0167D4 1000000D */ b .L7F01680C
/* 04B308 7F0167D8 00000000 */ nop
.L7F0167DC:
/* 04B30C 7F0167DC 00002025 */ move $a0, $zero
/* 04B310 7F0167E0 0C0030EB */ jal joyGetButtonsPressedThisFrame
/* 04B314 7F0167E4 24054000 */ li $a1, 16384
/* 04B318 7F0167E8 10400008 */ beqz $v0, .L7F01680C
/* 04B31C 7F0167EC 24030001 */ li $v1, 1
/* 04B320 7F0167F0 3C018003 */ lui $at, %hi(tab_3_selected)
/* 04B324 7F0167F4 3C048006 */ lui $a0, %hi(g_musicSfxBufferPtr)
/* 04B328 7F0167F8 AC23A8D8 */ sw $v1, %lo(tab_3_selected)($at)
/* 04B32C 7F0167FC 8C843720 */ lw $a0, %lo(g_musicSfxBufferPtr)($a0)
/* 04B330 7F016800 240500C7 */ li $a1, 199
/* 04B334 7F016804 0C002382 */ jal play_sfx_a1
/* 04B338 7F016808 00003025 */ move $a2, $zero
.L7F01680C:
/* 04B33C 7F01680C 3C048003 */ lui $a0, %hi(ptr_folder_object_instance)
/* 04B340 7F016810 0FC02DC9 */ jal disable_all_switches
/* 04B344 7F016814 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0)
/* 04B348 7F016818 3C048003 */ lui $a0, %hi(ptr_folder_object_instance)
/* 04B34C 7F01681C 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0)
/* 04B350 7F016820 00002825 */ move $a1, $zero
/* 04B354 7F016824 0FC02DF0 */ jal set_item_visibility_in_objinstance
/* 04B358 7F016828 24060001 */ li $a2, 1
/* 04B35C 7F01682C 3C048003 */ lui $a0, %hi(ptr_folder_object_instance)
/* 04B360 7F016830 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0)
/* 04B364 7F016834 24050001 */ li $a1, 1
/* 04B368 7F016838 0FC02DF0 */ jal set_item_visibility_in_objinstance
/* 04B36C 7F01683C 24060001 */ li $a2, 1
/* 04B370 7F016840 3C048003 */ lui $a0, %hi(ptr_folder_object_instance)
/* 04B374 7F016844 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0)
/* 04B378 7F016848 24050003 */ li $a1, 3
/* 04B37C 7F01684C 0FC02DF0 */ jal set_item_visibility_in_objinstance
/* 04B380 7F016850 24060001 */ li $a2, 1
/* 04B384 7F016854 3C048003 */ lui $a0, %hi(ptr_folder_object_instance)
/* 04B388 7F016858 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0)
/* 04B38C 7F01685C 24050006 */ li $a1, 6
/* 04B390 7F016860 0FC02DF0 */ jal set_item_visibility_in_objinstance
/* 04B394 7F016864 24060001 */ li $a2, 1
/* 04B398 7F016868 0FC026E1 */ jal menu_control_stick_tracking
/* 04B39C 7F01686C 00000000 */ nop
/* 04B3A0 7F016870 3C188003 */ lui $t8, %hi(tab_2_selected)
/* 04B3A4 7F016874 8F18A8D4 */ lw $t8, %lo(tab_2_selected)($t8)
/* 04B3A8 7F016878 3C098003 */ lui $t1, %hi(tab_3_selected)
/* 04B3AC 7F01687C 1300004D */ beqz $t8, .L7F0169B4
/* 04B3B0 7F016880 00000000 */ nop
/* 04B3B4 7F016884 0FC058C7 */ jal sub_GAME_7F01631C
/* 04B3B8 7F016888 00000000 */ nop
/* 04B3BC 7F01688C 10400044 */ beqz $v0, .L7F0169A0
/* 04B3C0 7F016890 3C198003 */ lui $t9, %hi(append_cheat_sp)
/* 04B3C4 7F016894 8F39A900 */ lw $t9, %lo(append_cheat_sp)($t9)
/* 04B3C8 7F016898 3C088003 */ lui $t0, %hi(briefingpage)
/* 04B3CC 7F01689C 2508A8F8 */ addiu $t0, %lo(briefingpage) # addiu $t0, $t0, -0x5708
/* 04B3D0 7F0168A0 57200040 */ bnezl $t9, .L7F0169A4
/* 04B3D4 7F0168A4 2404000A */ li $a0, 10
/* 04B3D8 7F0168A8 8D050000 */ lw $a1, ($t0)
/* 04B3DC 7F0168AC 2407001C */ li $a3, 28
/* 04B3E0 7F0168B0 3C068003 */ lui $a2, %hi(mission_folder_setup_entries)
/* 04B3E4 7F0168B4 00A70019 */ multu $a1, $a3
/* 04B3E8 7F0168B8 24C6ABE4 */ addiu $a2, %lo(mission_folder_setup_entries) # addiu $a2, $a2, -0x541c
/* 04B3EC 7F0168BC 24010011 */ li $at, 17
/* 04B3F0 7F0168C0 2404000B */ li $a0, 11
/* 04B3F4 7F0168C4 00004812 */ mflo $t1
/* 04B3F8 7F0168C8 00C95021 */ addu $t2, $a2, $t1
/* 04B3FC 7F0168CC 8D420014 */ lw $v0, 0x14($t2)
/* 04B400 7F0168D0 54410008 */ bnel $v0, $at, .L7F0168F4
/* 04B404 7F0168D4 28410012 */ slti $at, $v0, 0x12
/* 04B408 7F0168D8 0FC06975 */ jal set_menu_to_mode
/* 04B40C 7F0168DC 24050001 */ li $a1, 1
/* 04B410 7F0168E0 240B0036 */ li $t3, 54
/* 04B414 7F0168E4 3C018003 */ lui $at, %hi(selected_stage)
/* 04B418 7F0168E8 10000043 */ b .L7F0169F8
/* 04B41C 7F0168EC AC2BA8F4 */ sw $t3, %lo(selected_stage)($at)
/* 04B420 7F0168F0 28410012 */ slti $at, $v0, 0x12
.L7F0168F4:
/* 04B424 7F0168F4 14200011 */ bnez $at, .L7F01693C
/* 04B428 7F0168F8 24A30001 */ addiu $v1, $a1, 1
/* 04B42C 7F0168FC 24040007 */ li $a0, 7
/* 04B430 7F016900 0FC06975 */ jal set_menu_to_mode
/* 04B434 7F016904 00002825 */ move $a1, $zero
/* 04B438 7F016908 3C088003 */ lui $t0, %hi(briefingpage)
/* 04B43C 7F01690C 2508A8F8 */ addiu $t0, %lo(briefingpage) # addiu $t0, $t0, -0x5708
/* 04B440 7F016910 8D0C0000 */ lw $t4, ($t0)
/* 04B444 7F016914 2407001C */ li $a3, 28
/* 04B448 7F016918 3C068003 */ lui $a2, %hi(mission_folder_setup_entries)
/* 04B44C 7F01691C 01870019 */ multu $t4, $a3
/* 04B450 7F016920 24C6ABE4 */ addiu $a2, %lo(mission_folder_setup_entries) # addiu $a2, $a2, -0x541c
/* 04B454 7F016924 00006812 */ mflo $t5
/* 04B458 7F016928 00CD7021 */ addu $t6, $a2, $t5
/* 04B45C 7F01692C 0FC038F8 */ jal set_cursor_to_stage_solo
/* 04B460 7F016930 8DC40014 */ lw $a0, 0x14($t6)
/* 04B464 7F016934 10000031 */ b .L7F0169FC
/* 04B468 7F016938 8FBF0014 */ lw $ra, 0x14($sp)
.L7F01693C:
/* 04B46C 7F01693C 00670019 */ multu $v1, $a3
/* 04B470 7F016940 00002825 */ move $a1, $zero
/* 04B474 7F016944 00007812 */ mflo $t7
/* 04B478 7F016948 00CF1021 */ addu $v0, $a2, $t7
/* 04B47C 7F01694C 94440004 */ lhu $a0, 4($v0)
/* 04B480 7F016950 10800009 */ beqz $a0, .L7F016978
/* 04B484 7F016954 00000000 */ nop
/* 04B488 7F016958 8C580008 */ lw $t8, 8($v0)
.L7F01695C:
/* 04B48C 7F01695C 07010006 */ bgez $t8, .L7F016978
/* 04B490 7F016960 00000000 */ nop
/* 04B494 7F016964 94440020 */ lhu $a0, 0x20($v0)
/* 04B498 7F016968 24630001 */ addiu $v1, $v1, 1
/* 04B49C 7F01696C 2442001C */ addiu $v0, $v0, 0x1c
/* 04B4A0 7F016970 5480FFFA */ bnezl $a0, .L7F01695C
/* 04B4A4 7F016974 8C580008 */ lw $t8, 8($v0)
.L7F016978:
/* 04B4A8 7F016978 10800005 */ beqz $a0, .L7F016990
/* 04B4AC 7F01697C 00000000 */ nop
/* 04B4B0 7F016980 8C590008 */ lw $t9, 8($v0)
/* 04B4B4 7F016984 AD030000 */ sw $v1, ($t0)
/* 04B4B8 7F016988 3C018003 */ lui $at, %hi(selected_stage)
/* 04B4BC 7F01698C AC39A8F4 */ sw $t9, %lo(selected_stage)($at)
.L7F016990:
/* 04B4C0 7F016990 0FC06975 */ jal set_menu_to_mode
/* 04B4C4 7F016994 2404000A */ li $a0, 10
/* 04B4C8 7F016998 10000018 */ b .L7F0169FC
/* 04B4CC 7F01699C 8FBF0014 */ lw $ra, 0x14($sp)
.L7F0169A0:
/* 04B4D0 7F0169A0 2404000A */ li $a0, 10
.L7F0169A4:
/* 04B4D4 7F0169A4 0FC06975 */ jal set_menu_to_mode
/* 04B4D8 7F0169A8 00002825 */ move $a1, $zero
/* 04B4DC 7F0169AC 10000013 */ b .L7F0169FC
/* 04B4E0 7F0169B0 8FBF0014 */ lw $ra, 0x14($sp)
.L7F0169B4:
/* 04B4E4 7F0169B4 8D29A8D8 */ lw $t1, %lo(tab_3_selected)($t1)
/* 04B4E8 7F0169B8 24040007 */ li $a0, 7
/* 04B4EC 7F0169BC 5120000F */ beql $t1, $zero, .L7F0169FC
/* 04B4F0 7F0169C0 8FBF0014 */ lw $ra, 0x14($sp)
/* 04B4F4 7F0169C4 0FC06975 */ jal set_menu_to_mode
/* 04B4F8 7F0169C8 00002825 */ move $a1, $zero
/* 04B4FC 7F0169CC 3C088003 */ lui $t0, %hi(briefingpage)
/* 04B500 7F0169D0 2508A8F8 */ addiu $t0, %lo(briefingpage) # addiu $t0, $t0, -0x5708
/* 04B504 7F0169D4 8D0A0000 */ lw $t2, ($t0)
/* 04B508 7F0169D8 2407001C */ li $a3, 28
/* 04B50C 7F0169DC 3C068003 */ lui $a2, %hi(mission_folder_setup_entries)
/* 04B510 7F0169E0 01470019 */ multu $t2, $a3
/* 04B514 7F0169E4 24C6ABE4 */ addiu $a2, %lo(mission_folder_setup_entries) # addiu $a2, $a2, -0x541c
/* 04B518 7F0169E8 00005812 */ mflo $t3
/* 04B51C 7F0169EC 00CB6021 */ addu $t4, $a2, $t3
/* 04B520 7F0169F0 0FC038F8 */ jal set_cursor_to_stage_solo
/* 04B524 7F0169F4 8D840014 */ lw $a0, 0x14($t4)
.L7F0169F8:
/* 04B528 7F0169F8 8FBF0014 */ lw $ra, 0x14($sp)
.L7F0169FC:
/* 04B52C 7F0169FC 27BD0018 */ addiu $sp, $sp, 0x18
/* 04B530 7F016A00 03E00008 */ jr $ra
/* 04B534 7F016A04 00000000 */ nop
)
#endif
#ifdef NONMATCHING
void constructor_menu0D_missioncomplete(void) {
}
#else
const char a02d02d[] = "%02d:%02d";
const char aS[] = " [%s]";
const char a02d02d_0[] = "%02d:%02d";
const char aS02d02d[] = " (%s %02d:%02d)";
const char D_80051848[] = "";
const char a02d02d_1[] = "%02d:%02d";
const char a_1f[] = "%.1f%%";
const char aX2[] = " x 2\n";
const char aD_8[] = "%d";
const char aDD_0[] = "%d (%d%%)";
const char aDD_1[] = "%d (%d%%)";
const char aDD_2[] = "%d (%d%%)";
const char aDD_3[] = "%d (%d%%)";
const char aD_10[] = "%d";
GLOBAL_ASM(
.text
glabel constructor_menu0D_missioncomplete
/* 04B538 7F016A08 27BDF398 */ addiu $sp, $sp, -0xc68
/* 04B53C 7F016A0C AFBF003C */ sw $ra, 0x3c($sp)
/* 04B540 7F016A10 AFB10038 */ sw $s1, 0x38($sp)
/* 04B544 7F016A14 AFB00034 */ sw $s0, 0x34($sp)
/* 04B548 7F016A18 00002825 */ move $a1, $zero
/* 04B54C 7F016A1C 00003025 */ move $a2, $zero
/* 04B550 7F016A20 0C0011B4 */ jal viSetFillColor
/* 04B554 7F016A24 00003825 */ move $a3, $zero
/* 04B558 7F016A28 0C000FBE */ jal viFillScreen
/* 04B55C 7F016A2C 00402025 */ move $a0, $v0
/* 04B560 7F016A30 0FC0357A */ jal sub_GAME_7F00D5E8
/* 04B564 7F016A34 00402025 */ move $a0, $v0
/* 04B568 7F016A38 0FC2B366 */ jal microcode_constructor
/* 04B56C 7F016A3C 00402025 */ move $a0, $v0
/* 04B570 7F016A40 0FC22FEE */ jal get_mission_timer
/* 04B574 7F016A44 00408825 */ move $s1, $v0
/* 04B578 7F016A48 0FC1AA49 */ jal get_curplay_killcount
/* 04B57C 7F016A4C AFA20098 */ sw $v0, 0x98($sp)
/* 04B580 7F016A50 AFA20094 */ sw $v0, 0x94($sp)
/* 04B584 7F016A54 0FC1A9D0 */ jal get_curplayer_shot_register
/* 04B588 7F016A58 00002025 */ move $a0, $zero
/* 04B58C 7F016A5C AFA20090 */ sw $v0, 0x90($sp)
/* 04B590 7F016A60 0FC1A9D0 */ jal get_curplayer_shot_register
/* 04B594 7F016A64 24040001 */ li $a0, 1
/* 04B598 7F016A68 AFA2008C */ sw $v0, 0x8c($sp)
/* 04B59C 7F016A6C 0FC1A9D0 */ jal get_curplayer_shot_register
/* 04B5A0 7F016A70 24040002 */ li $a0, 2
/* 04B5A4 7F016A74 AFA20088 */ sw $v0, 0x88($sp)
/* 04B5A8 7F016A78 0FC1A9D0 */ jal get_curplayer_shot_register
/* 04B5AC 7F016A7C 24040003 */ li $a0, 3
/* 04B5B0 7F016A80 AFA20084 */ sw $v0, 0x84($sp)
/* 04B5B4 7F016A84 0FC1A9D0 */ jal get_curplayer_shot_register
/* 04B5B8 7F016A88 24040004 */ li $a0, 4
/* 04B5BC 7F016A8C AFA20080 */ sw $v0, 0x80($sp)
/* 04B5C0 7F016A90 0FC1A9D0 */ jal get_curplayer_shot_register
/* 04B5C4 7F016A94 24040005 */ li $a0, 5
/* 04B5C8 7F016A98 AFA2007C */ sw $v0, 0x7c($sp)
/* 04B5CC 7F016A9C 0FC1A9D0 */ jal get_curplayer_shot_register
/* 04B5D0 7F016AA0 24040006 */ li $a0, 6
/* 04B5D4 7F016AA4 8FAE008C */ lw $t6, 0x8c($sp)
/* 04B5D8 7F016AA8 8FAF0088 */ lw $t7, 0x88($sp)
/* 04B5DC 7F016AAC 8FB90084 */ lw $t9, 0x84($sp)
/* 04B5E0 7F016AB0 8FAB0080 */ lw $t3, 0x80($sp)
/* 04B5E4 7F016AB4 8FAD007C */ lw $t5, 0x7c($sp)
/* 04B5E8 7F016AB8 01CFC021 */ addu $t8, $t6, $t7
/* 04B5EC 7F016ABC 03195021 */ addu $t2, $t8, $t9
/* 04B5F0 7F016AC0 014B6021 */ addu $t4, $t2, $t3
/* 04B5F4 7F016AC4 018D3021 */ addu $a2, $t4, $t5
/* 04B5F8 7F016AC8 00C27021 */ addu $t6, $a2, $v0
/* 04B5FC 7F016ACC 1CC00002 */ bgtz $a2, .L7F016AD8
/* 04B600 7F016AD0 AFAE0074 */ sw $t6, 0x74($sp)
/* 04B604 7F016AD4 24060001 */ li $a2, 1
.L7F016AD8:
/* 04B608 7F016AD8 02202025 */ move $a0, $s1
/* 04B60C 7F016ADC 27A500A8 */ addiu $a1, $sp, 0xa8
/* 04B610 7F016AE0 0FC03AAF */ jal print_current_solo_briefing_stage_name
/* 04B614 7F016AE4 AFA60070 */ sw $a2, 0x70($sp)
/* 04B618 7F016AE8 00408825 */ move $s1, $v0
/* 04B61C 7F016AEC 0FC30776 */ jal get_textptr_for_textID
/* 04B620 7F016AF0 34049C68 */ li $a0, 40040
/* 04B624 7F016AF4 240F0037 */ li $t7, 55
/* 04B628 7F016AF8 2418008F */ li $t8, 143
/* 04B62C 7F016AFC AFA200A4 */ sw $v0, 0xa4($sp)
/* 04B630 7F016B00 AFAF0C64 */ sw $t7, 0xc64($sp)
/* 04B634 7F016B04 0C001107 */ jal viGetX
/* 04B638 7F016B08 AFB80C60 */ sw $t8, 0xc60($sp)
/* 04B63C 7F016B0C 00028400 */ sll $s0, $v0, 0x10
/* 04B640 7F016B10 0010CC03 */ sra $t9, $s0, 0x10
/* 04B644 7F016B14 0C00110B */ jal viGetY
/* 04B648 7F016B18 03208025 */ move $s0, $t9
/* 04B64C 7F016B1C 3C0A8004 */ lui $t2, %hi(ptrSecondFontTableLarge)
/* 04B650 7F016B20 3C0B8004 */ lui $t3, %hi(ptrFirstFontTableLarge)
/* 04B654 7F016B24 8D6B0EB4 */ lw $t3, %lo(ptrFirstFontTableLarge)($t3)
/* 04B658 7F016B28 8D4A0EB8 */ lw $t2, %lo(ptrSecondFontTableLarge)($t2)
/* 04B65C 7F016B2C 240C00FF */ li $t4, 255
/* 04B660 7F016B30 AFAC0018 */ sw $t4, 0x18($sp)
/* 04B664 7F016B34 02202025 */ move $a0, $s1
/* 04B668 7F016B38 27A50C64 */ addiu $a1, $sp, 0xc64
/* 04B66C 7F016B3C 27A60C60 */ addiu $a2, $sp, 0xc60
/* 04B670 7F016B40 8FA700A4 */ lw $a3, 0xa4($sp)
/* 04B674 7F016B44 AFB0001C */ sw $s0, 0x1c($sp)
/* 04B678 7F016B48 AFA20020 */ sw $v0, 0x20($sp)
/* 04B67C 7F016B4C AFA00024 */ sw $zero, 0x24($sp)
/* 04B680 7F016B50 AFA00028 */ sw $zero, 0x28($sp)
/* 04B684 7F016B54 AFAB0014 */ sw $t3, 0x14($sp)
/* 04B688 7F016B58 0FC025D8 */ jal write_text_at_abs_coord
/* 04B68C 7F016B5C AFAA0010 */ sw $t2, 0x10($sp)
/* 04B690 7F016B60 3C0D8004 */ lui $t5, %hi(ptrFirstFontTableLarge)
/* 04B694 7F016B64 8DAD0EB4 */ lw $t5, %lo(ptrFirstFontTableLarge)($t5)
/* 04B698 7F016B68 3C078004 */ lui $a3, %hi(ptrSecondFontTableLarge)
/* 04B69C 7F016B6C 00408825 */ move $s1, $v0
/* 04B6A0 7F016B70 AFA0009C */ sw $zero, 0x9c($sp)
/* 04B6A4 7F016B74 AFA000A0 */ sw $zero, 0xa0($sp)
/* 04B6A8 7F016B78 8CE70EB8 */ lw $a3, %lo(ptrSecondFontTableLarge)($a3)
/* 04B6AC 7F016B7C 27A400A0 */ addiu $a0, $sp, 0xa0
/* 04B6B0 7F016B80 27A5009C */ addiu $a1, $sp, 0x9c
/* 04B6B4 7F016B84 8FA600A4 */ lw $a2, 0xa4($sp)
/* 04B6B8 7F016B88 AFA00014 */ sw $zero, 0x14($sp)
/* 04B6BC 7F016B8C 0FC2BA63 */ jal sub_GAME_7F0AE98C
/* 04B6C0 7F016B90 AFAD0010 */ sw $t5, 0x10($sp)
/* 04B6C4 7F016B94 0FC30776 */ jal get_textptr_for_textID
/* 04B6C8 7F016B98 34049C69 */ li $a0, 40041
/* 04B6CC 7F016B9C 240E0037 */ li $t6, 55
/* 04B6D0 7F016BA0 240F00A7 */ li $t7, 167
/* 04B6D4 7F016BA4 AFA200A4 */ sw $v0, 0xa4($sp)
/* 04B6D8 7F016BA8 AFAE0C64 */ sw $t6, 0xc64($sp)
/* 04B6DC 7F016BAC 0C001107 */ jal viGetX
/* 04B6E0 7F016BB0 AFAF0C60 */ sw $t7, 0xc60($sp)
/* 04B6E4 7F016BB4 00028400 */ sll $s0, $v0, 0x10
/* 04B6E8 7F016BB8 0010C403 */ sra $t8, $s0, 0x10
/* 04B6EC 7F016BBC 0C00110B */ jal viGetY
/* 04B6F0 7F016BC0 03008025 */ move $s0, $t8
/* 04B6F4 7F016BC4 3C198004 */ lui $t9, %hi(ptrSecondFontTableLarge)
/* 04B6F8 7F016BC8 3C0A8004 */ lui $t2, %hi(ptrFirstFontTableLarge)
/* 04B6FC 7F016BCC 8D4A0EB4 */ lw $t2, %lo(ptrFirstFontTableLarge)($t2)
/* 04B700 7F016BD0 8F390EB8 */ lw $t9, %lo(ptrSecondFontTableLarge)($t9)
/* 04B704 7F016BD4 240B00FF */ li $t3, 255
/* 04B708 7F016BD8 AFAB0018 */ sw $t3, 0x18($sp)
/* 04B70C 7F016BDC 02202025 */ move $a0, $s1
/* 04B710 7F016BE0 27A50C64 */ addiu $a1, $sp, 0xc64
/* 04B714 7F016BE4 27A60C60 */ addiu $a2, $sp, 0xc60
/* 04B718 7F016BE8 8FA700A4 */ lw $a3, 0xa4($sp)
/* 04B71C 7F016BEC AFB0001C */ sw $s0, 0x1c($sp)
/* 04B720 7F016BF0 AFA20020 */ sw $v0, 0x20($sp)
/* 04B724 7F016BF4 AFA00024 */ sw $zero, 0x24($sp)
/* 04B728 7F016BF8 AFA00028 */ sw $zero, 0x28($sp)
/* 04B72C 7F016BFC AFAA0014 */ sw $t2, 0x14($sp)
/* 04B730 7F016C00 0FC025D8 */ jal write_text_at_abs_coord
/* 04B734 7F016C04 AFB90010 */ sw $t9, 0x10($sp)
/* 04B738 7F016C08 3C048003 */ lui $a0, %hi(selected_folder_num)
/* 04B73C 7F016C0C 00408825 */ move $s1, $v0
/* 04B740 7F016C10 0FC07771 */ jal get_save_folder_ptr
/* 04B744 7F016C14 8C84A8E8 */ lw $a0, %lo(selected_folder_num)($a0)
/* 04B748 7F016C18 3C0C8003 */ lui $t4, %hi(briefingpage)
/* 04B74C 7F016C1C 8D8CA8F8 */ lw $t4, %lo(briefingpage)($t4)
/* 04B750 7F016C20 3C108003 */ lui $s0, %hi(mission_folder_setup_entries)
/* 04B754 7F016C24 2610ABE4 */ addiu $s0, %lo(mission_folder_setup_entries) # addiu $s0, $s0, -0x541c
/* 04B758 7F016C28 000C68C0 */ sll $t5, $t4, 3
/* 04B75C 7F016C2C 01AC6823 */ subu $t5, $t5, $t4
/* 04B760 7F016C30 000D6880 */ sll $t5, $t5, 2
/* 04B764 7F016C34 020D7021 */ addu $t6, $s0, $t5
/* 04B768 7F016C38 3C068003 */ lui $a2, %hi(selected_difficulty)
/* 04B76C 7F016C3C 8CC6A8FC */ lw $a2, %lo(selected_difficulty)($a2)
/* 04B770 7F016C40 8DC50014 */ lw $a1, 0x14($t6)
/* 04B774 7F016C44 0FC07664 */ jal get_eeprom_stage_complete_time_for_difficulty
/* 04B778 7F016C48 00402025 */ move $a0, $v0
/* 04B77C 7F016C4C 10400004 */ beqz $v0, .L7F016C60
/* 04B780 7F016C50 00404825 */ move $t1, $v0
/* 04B784 7F016C54 284103FF */ slti $at, $v0, 0x3ff
/* 04B788 7F016C58 14200002 */ bnez $at, .L7F016C64
/* 04B78C 7F016C5C 00000000 */ nop
.L7F016C60:
/* 04B790 7F016C60 2409FFFF */ li $t1, -1
.L7F016C64:
/* 04B794 7F016C64 3C028003 */ lui $v0, %hi(selected_difficulty)
/* 04B798 7F016C68 8C42A8FC */ lw $v0, %lo(selected_difficulty)($v0)
/* 04B79C 7F016C6C 2408003C */ li $t0, 60
/* 04B7A0 7F016C70 3C0F8003 */ lui $t7, %hi(briefingpage)
/* 04B7A4 7F016C74 28410003 */ slti $at, $v0, 3
/* 04B7A8 7F016C78 14200003 */ bnez $at, .L7F016C88
/* 04B7AC 7F016C7C 3C0E8003 */ lui $t6, %hi(solo_target_time_array)
/* 04B7B0 7F016C80 10000002 */ b .L7F016C8C
/* 04B7B4 7F016C84 24030002 */ li $v1, 2
.L7F016C88:
/* 04B7B8 7F016C88 00401825 */ move $v1, $v0
.L7F016C8C:
/* 04B7BC 7F016C8C 8DEFA8F8 */ lw $t7, %lo(briefingpage)($t7)
/* 04B7C0 7F016C90 00036040 */ sll $t4, $v1, 1
/* 04B7C4 7F016C94 3C058005 */ lui $a1, %hi(a02d02d)
/* 04B7C8 7F016C98 000FC0C0 */ sll $t8, $t7, 3
/* 04B7CC 7F016C9C 030FC023 */ subu $t8, $t8, $t7
/* 04B7D0 7F016CA0 8FAF0098 */ lw $t7, 0x98($sp)
/* 04B7D4 7F016CA4 0018C080 */ sll $t8, $t8, 2
/* 04B7D8 7F016CA8 0218C821 */ addu $t9, $s0, $t8
/* 04B7DC 7F016CAC 01E8001A */ div $zero, $t7, $t0
/* 04B7E0 7F016CB0 00001012 */ mflo $v0
/* 04B7E4 7F016CB4 8F2A0014 */ lw $t2, 0x14($t9)
/* 04B7E8 7F016CB8 A3A000A8 */ sb $zero, 0xa8($sp)
/* 04B7EC 7F016CBC 0048001A */ div $zero, $v0, $t0
/* 04B7F0 7F016CC0 000A5880 */ sll $t3, $t2, 2
/* 04B7F4 7F016CC4 016A5823 */ subu $t3, $t3, $t2
/* 04B7F8 7F016CC8 000B5840 */ sll $t3, $t3, 1
/* 04B7FC 7F016CCC 016C6821 */ addu $t5, $t3, $t4
/* 04B800 7F016CD0 01CD7021 */ addu $t6, $t6, $t5
/* 04B804 7F016CD4 85CEB564 */ lh $t6, %lo(solo_target_time_array)($t6)
/* 04B808 7F016CD8 00003810 */ mfhi $a3
/* 04B80C 7F016CDC 00003012 */ mflo $a2
/* 04B810 7F016CE0 AFA90064 */ sw $t1, 0x64($sp)
/* 04B814 7F016CE4 24A5180C */ addiu $a1, %lo(a02d02d) # addiu $a1, $a1, 0x180c
/* 04B818 7F016CE8 27A400A8 */ addiu $a0, $sp, 0xa8
/* 04B81C 7F016CEC AFAE0060 */ sw $t6, 0x60($sp)
/* 04B820 7F016CF0 15000002 */ bnez $t0, .L7F016CFC
/* 04B824 7F016CF4 00000000 */ nop
/* 04B828 7F016CF8 0007000D */ break 7
.L7F016CFC:
/* 04B82C 7F016CFC 2401FFFF */ li $at, -1
/* 04B830 7F016D00 15010004 */ bne $t0, $at, .L7F016D14
/* 04B834 7F016D04 3C018000 */ lui $at, 0x8000
/* 04B838 7F016D08 15E10002 */ bne $t7, $at, .L7F016D14
/* 04B83C 7F016D0C 00000000 */ nop
/* 04B840 7F016D10 0006000D */ break 6
.L7F016D14:
/* 04B844 7F016D14 15000002 */ bnez $t0, .L7F016D20
/* 04B848 7F016D18 00000000 */ nop
/* 04B84C 7F016D1C 0007000D */ break 7
.L7F016D20:
/* 04B850 7F016D20 2401FFFF */ li $at, -1
/* 04B854 7F016D24 15010004 */ bne $t0, $at, .L7F016D38
/* 04B858 7F016D28 3C018000 */ lui $at, 0x8000
/* 04B85C 7F016D2C 14410002 */ bne $v0, $at, .L7F016D38
/* 04B860 7F016D30 00000000 */ nop
/* 04B864 7F016D34 0006000D */ break 6
.L7F016D38:
/* 04B868 7F016D38 0C002B25 */ jal sprintf
/* 04B86C 7F016D3C 00000000 */ nop
/* 04B870 7F016D40 24180082 */ li $t8, 130
/* 04B874 7F016D44 241900A7 */ li $t9, 167
/* 04B878 7F016D48 AFB80C64 */ sw $t8, 0xc64($sp)
/* 04B87C 7F016D4C 0C001107 */ jal viGetX
/* 04B880 7F016D50 AFB90C60 */ sw $t9, 0xc60($sp)
/* 04B884 7F016D54 00028400 */ sll $s0, $v0, 0x10
/* 04B888 7F016D58 00105403 */ sra $t2, $s0, 0x10
/* 04B88C 7F016D5C 0C00110B */ jal viGetY
/* 04B890 7F016D60 01408025 */ move $s0, $t2
/* 04B894 7F016D64 3C0B8004 */ lui $t3, %hi(ptrSecondFontTableLarge)
/* 04B898 7F016D68 3C0C8004 */ lui $t4, %hi(ptrFirstFontTableLarge)
/* 04B89C 7F016D6C 8D8C0EB4 */ lw $t4, %lo(ptrFirstFontTableLarge)($t4)
/* 04B8A0 7F016D70 8D6B0EB8 */ lw $t3, %lo(ptrSecondFontTableLarge)($t3)
/* 04B8A4 7F016D74 240D00FF */ li $t5, 255
/* 04B8A8 7F016D78 AFAD0018 */ sw $t5, 0x18($sp)
/* 04B8AC 7F016D7C 02202025 */ move $a0, $s1
/* 04B8B0 7F016D80 27A50C64 */ addiu $a1, $sp, 0xc64
/* 04B8B4 7F016D84 27A60C60 */ addiu $a2, $sp, 0xc60
/* 04B8B8 7F016D88 27A700A8 */ addiu $a3, $sp, 0xa8
/* 04B8BC 7F016D8C AFB0001C */ sw $s0, 0x1c($sp)
/* 04B8C0 7F016D90 AFA20020 */ sw $v0, 0x20($sp)
/* 04B8C4 7F016D94 AFA00024 */ sw $zero, 0x24($sp)
/* 04B8C8 7F016D98 AFA00028 */ sw $zero, 0x28($sp)
/* 04B8CC 7F016D9C AFAC0014 */ sw $t4, 0x14($sp)
/* 04B8D0 7F016DA0 0FC025D8 */ jal write_text_at_abs_coord
/* 04B8D4 7F016DA4 AFAB0010 */ sw $t3, 0x10($sp)
/* 04B8D8 7F016DA8 3C0E8007 */ lui $t6, %hi(newcheatunlocked)
/* 04B8DC 7F016DAC 8DCE9790 */ lw $t6, %lo(newcheatunlocked)($t6)
/* 04B8E0 7F016DB0 00408825 */ move $s1, $v0
/* 04B8E4 7F016DB4 51C00023 */ beql $t6, $zero, .L7F016E44
/* 04B8E8 7F016DB8 8FAB0060 */ lw $t3, 0x60($sp)
/* 04B8EC 7F016DBC A3A000A8 */ sb $zero, 0xa8($sp)
/* 04B8F0 7F016DC0 0FC30776 */ jal get_textptr_for_textID
/* 04B8F4 7F016DC4 34049D13 */ li $a0, 40211
/* 04B8F8 7F016DC8 3C058005 */ lui $a1, %hi(aS)
/* 04B8FC 7F016DCC 24A51818 */ addiu $a1, %lo(aS) # addiu $a1, $a1, 0x1818
/* 04B900 7F016DD0 27A400A8 */ addiu $a0, $sp, 0xa8
/* 04B904 7F016DD4 0C002B25 */ jal sprintf
/* 04B908 7F016DD8 00403025 */ move $a2, $v0
/* 04B90C 7F016DDC 0C001107 */ jal viGetX
/* 04B910 7F016DE0 00000000 */ nop
/* 04B914 7F016DE4 00028400 */ sll $s0, $v0, 0x10
/* 04B918 7F016DE8 00107C03 */ sra $t7, $s0, 0x10
/* 04B91C 7F016DEC 0C00110B */ jal viGetY
/* 04B920 7F016DF0 01E08025 */ move $s0, $t7
/* 04B924 7F016DF4 3C188004 */ lui $t8, %hi(ptrSecondFontTableLarge)
/* 04B928 7F016DF8 3C198004 */ lui $t9, %hi(ptrFirstFontTableLarge)
/* 04B92C 7F016DFC 8F390EB4 */ lw $t9, %lo(ptrFirstFontTableLarge)($t9)
/* 04B930 7F016E00 8F180EB8 */ lw $t8, %lo(ptrSecondFontTableLarge)($t8)
/* 04B934 7F016E04 3C0AA000 */ lui $t2, (0xA00000FF >> 16) # lui $t2, 0xa000
/* 04B938 7F016E08 354A00FF */ ori $t2, (0xA00000FF & 0xFFFF) # ori $t2, $t2, 0xff
/* 04B93C 7F016E0C AFAA0018 */ sw $t2, 0x18($sp)
/* 04B940 7F016E10 02202025 */ move $a0, $s1
/* 04B944 7F016E14 27A50C64 */ addiu $a1, $sp, 0xc64
/* 04B948 7F016E18 27A60C60 */ addiu $a2, $sp, 0xc60
/* 04B94C 7F016E1C 27A700A8 */ addiu $a3, $sp, 0xa8
/* 04B950 7F016E20 AFB0001C */ sw $s0, 0x1c($sp)
/* 04B954 7F016E24 AFA20020 */ sw $v0, 0x20($sp)
/* 04B958 7F016E28 AFA00024 */ sw $zero, 0x24($sp)
/* 04B95C 7F016E2C AFA00028 */ sw $zero, 0x28($sp)
/* 04B960 7F016E30 AFB90014 */ sw $t9, 0x14($sp)
/* 04B964 7F016E34 0FC025D8 */ jal write_text_at_abs_coord
/* 04B968 7F016E38 AFB80010 */ sw $t8, 0x10($sp)
/* 04B96C 7F016E3C 00408825 */ move $s1, $v0
/* 04B970 7F016E40 8FAB0060 */ lw $t3, 0x60($sp)
.L7F016E44:
/* 04B974 7F016E44 19600091 */ blez $t3, .L7F01708C
/* 04B978 7F016E48 3C0C8003 */ lui $t4, %hi(selected_difficulty)
/* 04B97C 7F016E4C 8D8CA8FC */ lw $t4, %lo(selected_difficulty)($t4)
/* 04B980 7F016E50 24010003 */ li $at, 3
/* 04B984 7F016E54 5181008E */ beql $t4, $at, .L7F017090
/* 04B988 7F016E58 8FA20064 */ lw $v0, 0x64($sp)
/* 04B98C 7F016E5C 0FC30776 */ jal get_textptr_for_textID
/* 04B990 7F016E60 34049D12 */ li $a0, 40210
/* 04B994 7F016E64 8FAE00A0 */ lw $t6, 0xa0($sp)
/* 04B998 7F016E68 240D0037 */ li $t5, 55
/* 04B99C 7F016E6C AFA200A4 */ sw $v0, 0xa4($sp)
/* 04B9A0 7F016E70 25CF00A9 */ addiu $t7, $t6, 0xa9
/* 04B9A4 7F016E74 AFAD0C64 */ sw $t5, 0xc64($sp)
/* 04B9A8 7F016E78 0C001107 */ jal viGetX
/* 04B9AC 7F016E7C AFAF0C60 */ sw $t7, 0xc60($sp)
/* 04B9B0 7F016E80 00028400 */ sll $s0, $v0, 0x10
/* 04B9B4 7F016E84 0010C403 */ sra $t8, $s0, 0x10
/* 04B9B8 7F016E88 0C00110B */ jal viGetY
/* 04B9BC 7F016E8C 03008025 */ move $s0, $t8
/* 04B9C0 7F016E90 3C198004 */ lui $t9, %hi(ptrSecondFontTableLarge)
/* 04B9C4 7F016E94 3C0A8004 */ lui $t2, %hi(ptrFirstFontTableLarge)
/* 04B9C8 7F016E98 8D4A0EB4 */ lw $t2, %lo(ptrFirstFontTableLarge)($t2)
/* 04B9CC 7F016E9C 8F390EB8 */ lw $t9, %lo(ptrSecondFontTableLarge)($t9)
/* 04B9D0 7F016EA0 240B00FF */ li $t3, 255
/* 04B9D4 7F016EA4 AFAB0018 */ sw $t3, 0x18($sp)
/* 04B9D8 7F016EA8 02202025 */ move $a0, $s1
/* 04B9DC 7F016EAC 27A50C64 */ addiu $a1, $sp, 0xc64
/* 04B9E0 7F016EB0 27A60C60 */ addiu $a2, $sp, 0xc60
/* 04B9E4 7F016EB4 8FA700A4 */ lw $a3, 0xa4($sp)
/* 04B9E8 7F016EB8 AFB0001C */ sw $s0, 0x1c($sp)
/* 04B9EC 7F016EBC AFA20020 */ sw $v0, 0x20($sp)
/* 04B9F0 7F016EC0 AFA00024 */ sw $zero, 0x24($sp)
/* 04B9F4 7F016EC4 AFA00028 */ sw $zero, 0x28($sp)
/* 04B9F8 7F016EC8 AFAA0014 */ sw $t2, 0x14($sp)
/* 04B9FC 7F016ECC 0FC025D8 */ jal write_text_at_abs_coord
/* 04BA00 7F016ED0 AFB90010 */ sw $t9, 0x10($sp)
/* 04BA04 7F016ED4 8FAC0060 */ lw $t4, 0x60($sp)
/* 04BA08 7F016ED8 2403003C */ li $v1, 60
/* 04BA0C 7F016EDC 3C058005 */ lui $a1, %hi(a02d02d_0)
/* 04BA10 7F016EE0 0183001A */ div $zero, $t4, $v1
/* 04BA14 7F016EE4 00003810 */ mfhi $a3
/* 04BA18 7F016EE8 00003012 */ mflo $a2
/* 04BA1C 7F016EEC 00408825 */ move $s1, $v0
/* 04BA20 7F016EF0 A3A000A8 */ sb $zero, 0xa8($sp)
/* 04BA24 7F016EF4 24A51824 */ addiu $a1, %lo(a02d02d_0) # addiu $a1, $a1, 0x1824
/* 04BA28 7F016EF8 27A400A8 */ addiu $a0, $sp, 0xa8
/* 04BA2C 7F016EFC 14600002 */ bnez $v1, .L7F016F08
/* 04BA30 7F016F00 00000000 */ nop
/* 04BA34 7F016F04 0007000D */ break 7
.L7F016F08:
/* 04BA38 7F016F08 2401FFFF */ li $at, -1
/* 04BA3C 7F016F0C 14610004 */ bne $v1, $at, .L7F016F20
/* 04BA40 7F016F10 3C018000 */ lui $at, 0x8000
/* 04BA44 7F016F14 15810002 */ bne $t4, $at, .L7F016F20
/* 04BA48 7F016F18 00000000 */ nop
/* 04BA4C 7F016F1C 0006000D */ break 6
.L7F016F20:
/* 04BA50 7F016F20 0C002B25 */ jal sprintf
/* 04BA54 7F016F24 00000000 */ nop
/* 04BA58 7F016F28 8FAE00A0 */ lw $t6, 0xa0($sp)
/* 04BA5C 7F016F2C 240D0082 */ li $t5, 130
/* 04BA60 7F016F30 AFAD0C64 */ sw $t5, 0xc64($sp)
/* 04BA64 7F016F34 25CF00A9 */ addiu $t7, $t6, 0xa9
/* 04BA68 7F016F38 0C001107 */ jal viGetX
/* 04BA6C 7F016F3C AFAF0C60 */ sw $t7, 0xc60($sp)
/* 04BA70 7F016F40 00028400 */ sll $s0, $v0, 0x10
/* 04BA74 7F016F44 0010C403 */ sra $t8, $s0, 0x10
/* 04BA78 7F016F48 0C00110B */ jal viGetY
/* 04BA7C 7F016F4C 03008025 */ move $s0, $t8
/* 04BA80 7F016F50 3C198004 */ lui $t9, %hi(ptrSecondFontTableLarge)
/* 04BA84 7F016F54 3C0A8004 */ lui $t2, %hi(ptrFirstFontTableLarge)
/* 04BA88 7F016F58 8D4A0EB4 */ lw $t2, %lo(ptrFirstFontTableLarge)($t2)
/* 04BA8C 7F016F5C 8F390EB8 */ lw $t9, %lo(ptrSecondFontTableLarge)($t9)
/* 04BA90 7F016F60 240B00FF */ li $t3, 255
/* 04BA94 7F016F64 AFAB0018 */ sw $t3, 0x18($sp)
/* 04BA98 7F016F68 02202025 */ move $a0, $s1
/* 04BA9C 7F016F6C 27A50C64 */ addiu $a1, $sp, 0xc64
/* 04BAA0 7F016F70 27A60C60 */ addiu $a2, $sp, 0xc60
/* 04BAA4 7F016F74 27A700A8 */ addiu $a3, $sp, 0xa8
/* 04BAA8 7F016F78 AFB0001C */ sw $s0, 0x1c($sp)
/* 04BAAC 7F016F7C AFA20020 */ sw $v0, 0x20($sp)
/* 04BAB0 7F016F80 AFA00024 */ sw $zero, 0x24($sp)
/* 04BAB4 7F016F84 AFA00028 */ sw $zero, 0x28($sp)
/* 04BAB8 7F016F88 AFAA0014 */ sw $t2, 0x14($sp)
/* 04BABC 7F016F8C 0FC025D8 */ jal write_text_at_abs_coord
/* 04BAC0 7F016F90 AFB90010 */ sw $t9, 0x10($sp)
/* 04BAC4 7F016F94 8FA30064 */ lw $v1, 0x64($sp)
/* 04BAC8 7F016F98 00408825 */ move $s1, $v0
/* 04BACC 7F016F9C 04600085 */ bltz $v1, .L7F0171B4
/* 04BAD0 7F016FA0 286103FF */ slti $at, $v1, 0x3ff
/* 04BAD4 7F016FA4 10200083 */ beqz $at, .L7F0171B4
/* 04BAD8 7F016FA8 00000000 */ nop
/* 04BADC 7F016FAC 0460001A */ bltz $v1, .L7F017018
/* 04BAE0 7F016FB0 A3A000A8 */ sb $zero, 0xa8($sp)
/* 04BAE4 7F016FB4 0FC30776 */ jal get_textptr_for_textID
/* 04BAE8 7F016FB8 34049D11 */ li $a0, 40209
/* 04BAEC 7F016FBC 8FA30064 */ lw $v1, 0x64($sp)
/* 04BAF0 7F016FC0 2408003C */ li $t0, 60
/* 04BAF4 7F016FC4 3C058005 */ lui $a1, %hi(aS02d02d)
/* 04BAF8 7F016FC8 0068001A */ div $zero, $v1, $t0
/* 04BAFC 7F016FCC 00006010 */ mfhi $t4
/* 04BB00 7F016FD0 00003812 */ mflo $a3
/* 04BB04 7F016FD4 AFAC0010 */ sw $t4, 0x10($sp)
/* 04BB08 7F016FD8 24A51830 */ addiu $a1, %lo(aS02d02d) # addiu $a1, $a1, 0x1830
/* 04BB0C 7F016FDC 27A400A8 */ addiu $a0, $sp, 0xa8
/* 04BB10 7F016FE0 00403025 */ move $a2, $v0
/* 04BB14 7F016FE4 15000002 */ bnez $t0, .L7F016FF0
/* 04BB18 7F016FE8 00000000 */ nop
/* 04BB1C 7F016FEC 0007000D */ break 7
.L7F016FF0:
/* 04BB20 7F016FF0 2401FFFF */ li $at, -1
/* 04BB24 7F016FF4 15010004 */ bne $t0, $at, .L7F017008
/* 04BB28 7F016FF8 3C018000 */ lui $at, 0x8000
/* 04BB2C 7F016FFC 14610002 */ bne $v1, $at, .L7F017008
/* 04BB30 7F017000 00000000 */ nop
/* 04BB34 7F017004 0006000D */ break 6
.L7F017008:
/* 04BB38 7F017008 0C002B25 */ jal sprintf
/* 04BB3C 7F01700C 00000000 */ nop
/* 04BB40 7F017010 10000005 */ b .L7F017028
/* 04BB44 7F017014 00000000 */ nop
.L7F017018:
/* 04BB48 7F017018 3C058005 */ lui $a1, %hi(D_80051848)
/* 04BB4C 7F01701C 24A51848 */ addiu $a1, %lo(D_80051848) # addiu $a1, $a1, 0x1848
/* 04BB50 7F017020 0C002B25 */ jal sprintf
/* 04BB54 7F017024 27A400A8 */ addiu $a0, $sp, 0xa8
.L7F017028:
/* 04BB58 7F017028 0C001107 */ jal viGetX
/* 04BB5C 7F01702C 00000000 */ nop
/* 04BB60 7F017030 00028400 */ sll $s0, $v0, 0x10
/* 04BB64 7F017034 00106C03 */ sra $t5, $s0, 0x10
/* 04BB68 7F017038 0C00110B */ jal viGetY
/* 04BB6C 7F01703C 01A08025 */ move $s0, $t5
/* 04BB70 7F017040 3C0E8004 */ lui $t6, %hi(ptrSecondFontTableLarge)
/* 04BB74 7F017044 3C0F8004 */ lui $t7, %hi(ptrFirstFontTableLarge)
/* 04BB78 7F017048 8DEF0EB4 */ lw $t7, %lo(ptrFirstFontTableLarge)($t7)
/* 04BB7C 7F01704C 8DCE0EB8 */ lw $t6, %lo(ptrSecondFontTableLarge)($t6)
/* 04BB80 7F017050 241800FF */ li $t8, 255
/* 04BB84 7F017054 AFB80018 */ sw $t8, 0x18($sp)
/* 04BB88 7F017058 02202025 */ move $a0, $s1
/* 04BB8C 7F01705C 27A50C64 */ addiu $a1, $sp, 0xc64
/* 04BB90 7F017060 27A60C60 */ addiu $a2, $sp, 0xc60
/* 04BB94 7F017064 27A700A8 */ addiu $a3, $sp, 0xa8
/* 04BB98 7F017068 AFB0001C */ sw $s0, 0x1c($sp)
/* 04BB9C 7F01706C AFA20020 */ sw $v0, 0x20($sp)
/* 04BBA0 7F017070 AFA00024 */ sw $zero, 0x24($sp)
/* 04BBA4 7F017074 AFA00028 */ sw $zero, 0x28($sp)
/* 04BBA8 7F017078 AFAF0014 */ sw $t7, 0x14($sp)
/* 04BBAC 7F01707C 0FC025D8 */ jal write_text_at_abs_coord
/* 04BBB0 7F017080 AFAE0010 */ sw $t6, 0x10($sp)
/* 04BBB4 7F017084 1000004B */ b .L7F0171B4
/* 04BBB8 7F017088 00408825 */ move $s1, $v0
.L7F01708C:
/* 04BBBC 7F01708C 8FA20064 */ lw $v0, 0x64($sp)
.L7F017090:
/* 04BBC0 7F017090 04400048 */ bltz $v0, .L7F0171B4
/* 04BBC4 7F017094 284103FF */ slti $at, $v0, 0x3ff
/* 04BBC8 7F017098 10200046 */ beqz $at, .L7F0171B4
/* 04BBCC 7F01709C 00000000 */ nop
/* 04BBD0 7F0170A0 0FC30776 */ jal get_textptr_for_textID
/* 04BBD4 7F0170A4 34049D11 */ li $a0, 40209
/* 04BBD8 7F0170A8 8FAA00A0 */ lw $t2, 0xa0($sp)
/* 04BBDC 7F0170AC 24190037 */ li $t9, 55
/* 04BBE0 7F0170B0 AFA200A4 */ sw $v0, 0xa4($sp)
/* 04BBE4 7F0170B4 254B00A9 */ addiu $t3, $t2, 0xa9
/* 04BBE8 7F0170B8 AFB90C64 */ sw $t9, 0xc64($sp)
/* 04BBEC 7F0170BC 0C001107 */ jal viGetX
/* 04BBF0 7F0170C0 AFAB0C60 */ sw $t3, 0xc60($sp)
/* 04BBF4 7F0170C4 00028400 */ sll $s0, $v0, 0x10
/* 04BBF8 7F0170C8 00106403 */ sra $t4, $s0, 0x10
/* 04BBFC 7F0170CC 0C00110B */ jal viGetY
/* 04BC00 7F0170D0 01808025 */ move $s0, $t4
/* 04BC04 7F0170D4 3C0D8004 */ lui $t5, %hi(ptrSecondFontTableLarge)
/* 04BC08 7F0170D8 3C0E8004 */ lui $t6, %hi(ptrFirstFontTableLarge)
/* 04BC0C 7F0170DC 8DCE0EB4 */ lw $t6, %lo(ptrFirstFontTableLarge)($t6)
/* 04BC10 7F0170E0 8DAD0EB8 */ lw $t5, %lo(ptrSecondFontTableLarge)($t5)
/* 04BC14 7F0170E4 240F00FF */ li $t7, 255
/* 04BC18 7F0170E8 AFAF0018 */ sw $t7, 0x18($sp)
/* 04BC1C 7F0170EC 02202025 */ move $a0, $s1
/* 04BC20 7F0170F0 27A50C64 */ addiu $a1, $sp, 0xc64
/* 04BC24 7F0170F4 27A60C60 */ addiu $a2, $sp, 0xc60
/* 04BC28 7F0170F8 8FA700A4 */ lw $a3, 0xa4($sp)
/* 04BC2C 7F0170FC AFB0001C */ sw $s0, 0x1c($sp)
/* 04BC30 7F017100 AFA20020 */ sw $v0, 0x20($sp)
/* 04BC34 7F017104 AFA00024 */ sw $zero, 0x24($sp)
/* 04BC38 7F017108 AFA00028 */ sw $zero, 0x28($sp)
/* 04BC3C 7F01710C AFAE0014 */ sw $t6, 0x14($sp)
/* 04BC40 7F017110 0FC025D8 */ jal write_text_at_abs_coord
/* 04BC44 7F017114 AFAD0010 */ sw $t5, 0x10($sp)
/* 04BC48 7F017118 8FB80064 */ lw $t8, 0x64($sp)
/* 04BC4C 7F01711C 2401003C */ li $at, 60
/* 04BC50 7F017120 3C058005 */ lui $a1, %hi(a02d02d_1)
/* 04BC54 7F017124 0301001A */ div $zero, $t8, $at
/* 04BC58 7F017128 00003810 */ mfhi $a3
/* 04BC5C 7F01712C 00003012 */ mflo $a2
/* 04BC60 7F017130 00408825 */ move $s1, $v0
/* 04BC64 7F017134 A3A000A8 */ sb $zero, 0xa8($sp)
/* 04BC68 7F017138 24A5184C */ addiu $a1, %lo(a02d02d_1) # addiu $a1, $a1, 0x184c
/* 04BC6C 7F01713C 0C002B25 */ jal sprintf
/* 04BC70 7F017140 27A400A8 */ addiu $a0, $sp, 0xa8
/* 04BC74 7F017144 8FAA00A0 */ lw $t2, 0xa0($sp)
/* 04BC78 7F017148 24190082 */ li $t9, 130
/* 04BC7C 7F01714C AFB90C64 */ sw $t9, 0xc64($sp)
/* 04BC80 7F017150 254B00A9 */ addiu $t3, $t2, 0xa9
/* 04BC84 7F017154 0C001107 */ jal viGetX
/* 04BC88 7F017158 AFAB0C60 */ sw $t3, 0xc60($sp)
/* 04BC8C 7F01715C 00028400 */ sll $s0, $v0, 0x10
/* 04BC90 7F017160 00106403 */ sra $t4, $s0, 0x10
/* 04BC94 7F017164 0C00110B */ jal viGetY
/* 04BC98 7F017168 01808025 */ move $s0, $t4
/* 04BC9C 7F01716C 3C0D8004 */ lui $t5, %hi(ptrSecondFontTableLarge)
/* 04BCA0 7F017170 3C0E8004 */ lui $t6, %hi(ptrFirstFontTableLarge)
/* 04BCA4 7F017174 8DCE0EB4 */ lw $t6, %lo(ptrFirstFontTableLarge)($t6)
/* 04BCA8 7F017178 8DAD0EB8 */ lw $t5, %lo(ptrSecondFontTableLarge)($t5)
/* 04BCAC 7F01717C 240F00FF */ li $t7, 255
/* 04BCB0 7F017180 AFAF0018 */ sw $t7, 0x18($sp)
/* 04BCB4 7F017184 02202025 */ move $a0, $s1
/* 04BCB8 7F017188 27A50C64 */ addiu $a1, $sp, 0xc64
/* 04BCBC 7F01718C 27A60C60 */ addiu $a2, $sp, 0xc60
/* 04BCC0 7F017190 27A700A8 */ addiu $a3, $sp, 0xa8
/* 04BCC4 7F017194 AFB0001C */ sw $s0, 0x1c($sp)
/* 04BCC8 7F017198 AFA20020 */ sw $v0, 0x20($sp)
/* 04BCCC 7F01719C AFA00024 */ sw $zero, 0x24($sp)
/* 04BCD0 7F0171A0 AFA00028 */ sw $zero, 0x28($sp)
/* 04BCD4 7F0171A4 AFAE0014 */ sw $t6, 0x14($sp)
/* 04BCD8 7F0171A8 0FC025D8 */ jal write_text_at_abs_coord
/* 04BCDC 7F0171AC AFAD0010 */ sw $t5, 0x10($sp)
/* 04BCE0 7F0171B0 00408825 */ move $s1, $v0
.L7F0171B4:
/* 04BCE4 7F0171B4 0FC30776 */ jal get_textptr_for_textID
/* 04BCE8 7F0171B8 34049C6A */ li $a0, 40042
/* 04BCEC 7F0171BC 24180037 */ li $t8, 55
/* 04BCF0 7F0171C0 241900CC */ li $t9, 204
/* 04BCF4 7F0171C4 AFA200A4 */ sw $v0, 0xa4($sp)
/* 04BCF8 7F0171C8 AFB80C64 */ sw $t8, 0xc64($sp)
/* 04BCFC 7F0171CC 0C001107 */ jal viGetX
/* 04BD00 7F0171D0 AFB90C60 */ sw $t9, 0xc60($sp)
/* 04BD04 7F0171D4 00028400 */ sll $s0, $v0, 0x10
/* 04BD08 7F0171D8 00105403 */ sra $t2, $s0, 0x10
/* 04BD0C 7F0171DC 0C00110B */ jal viGetY
/* 04BD10 7F0171E0 01408025 */ move $s0, $t2
/* 04BD14 7F0171E4 3C0B8004 */ lui $t3, %hi(ptrSecondFontTableLarge)
/* 04BD18 7F0171E8 3C0C8004 */ lui $t4, %hi(ptrFirstFontTableLarge)
/* 04BD1C 7F0171EC 8D8C0EB4 */ lw $t4, %lo(ptrFirstFontTableLarge)($t4)
/* 04BD20 7F0171F0 8D6B0EB8 */ lw $t3, %lo(ptrSecondFontTableLarge)($t3)
/* 04BD24 7F0171F4 240D00FF */ li $t5, 255
/* 04BD28 7F0171F8 AFAD0018 */ sw $t5, 0x18($sp)
/* 04BD2C 7F0171FC 02202025 */ move $a0, $s1
/* 04BD30 7F017200 27A50C64 */ addiu $a1, $sp, 0xc64
/* 04BD34 7F017204 27A60C60 */ addiu $a2, $sp, 0xc60
/* 04BD38 7F017208 8FA700A4 */ lw $a3, 0xa4($sp)
/* 04BD3C 7F01720C AFB0001C */ sw $s0, 0x1c($sp)
/* 04BD40 7F017210 AFA20020 */ sw $v0, 0x20($sp)
/* 04BD44 7F017214 AFA00024 */ sw $zero, 0x24($sp)
/* 04BD48 7F017218 AFA00028 */ sw $zero, 0x28($sp)
/* 04BD4C 7F01721C AFAC0014 */ sw $t4, 0x14($sp)
/* 04BD50 7F017220 0FC025D8 */ jal write_text_at_abs_coord
/* 04BD54 7F017224 AFAB0010 */ sw $t3, 0x10($sp)
/* 04BD58 7F017228 8FA30090 */ lw $v1, 0x90($sp)
/* 04BD5C 7F01722C 00408825 */ move $s1, $v0
/* 04BD60 7F017230 27A400A8 */ addiu $a0, $sp, 0xa8
/* 04BD64 7F017234 5860000C */ blezl $v1, .L7F017268
/* 04BD68 7F017238 44800000 */ mtc1 $zero, $f0
/* 04BD6C 7F01723C 8FAE0074 */ lw $t6, 0x74($sp)
/* 04BD70 7F017240 3C0142C8 */ li $at, 0x42C80000 # 100.000000
/* 04BD74 7F017244 44814000 */ mtc1 $at, $f8
/* 04BD78 7F017248 448E2000 */ mtc1 $t6, $f4
/* 04BD7C 7F01724C 44838000 */ mtc1 $v1, $f16
/* 04BD80 7F017250 468021A0 */ cvt.s.w $f6, $f4
/* 04BD84 7F017254 468084A0 */ cvt.s.w $f18, $f16
/* 04BD88 7F017258 46083282 */ mul.s $f10, $f6, $f8
/* 04BD8C 7F01725C 10000003 */ b .L7F01726C
/* 04BD90 7F017260 46125003 */ div.s $f0, $f10, $f18
/* 04BD94 7F017264 44800000 */ mtc1 $zero, $f0
.L7F017268:
/* 04BD98 7F017268 00000000 */ nop
.L7F01726C:
/* 04BD9C 7F01726C 46000121 */ cvt.d.s $f4, $f0
/* 04BDA0 7F017270 3C058005 */ lui $a1, %hi(a_1f)
/* 04BDA4 7F017274 44072000 */ mfc1 $a3, $f4
/* 04BDA8 7F017278 44062800 */ mfc1 $a2, $f5
/* 04BDAC 7F01727C 0C002B25 */ jal sprintf
/* 04BDB0 7F017280 24A51858 */ addiu $a1, %lo(a_1f) # addiu $a1, $a1, 0x1858
/* 04BDB4 7F017284 240F0082 */ li $t7, 130
/* 04BDB8 7F017288 241800CC */ li $t8, 204
/* 04BDBC 7F01728C AFAF0C64 */ sw $t7, 0xc64($sp)
/* 04BDC0 7F017290 0C001107 */ jal viGetX
/* 04BDC4 7F017294 AFB80C60 */ sw $t8, 0xc60($sp)
/* 04BDC8 7F017298 00028400 */ sll $s0, $v0, 0x10
/* 04BDCC 7F01729C 0010CC03 */ sra $t9, $s0, 0x10
/* 04BDD0 7F0172A0 0C00110B */ jal viGetY
/* 04BDD4 7F0172A4 03208025 */ move $s0, $t9
/* 04BDD8 7F0172A8 3C0A8004 */ lui $t2, %hi(ptrSecondFontTableLarge)
/* 04BDDC 7F0172AC 3C0B8004 */ lui $t3, %hi(ptrFirstFontTableLarge)
/* 04BDE0 7F0172B0 8D6B0EB4 */ lw $t3, %lo(ptrFirstFontTableLarge)($t3)
/* 04BDE4 7F0172B4 8D4A0EB8 */ lw $t2, %lo(ptrSecondFontTableLarge)($t2)
/* 04BDE8 7F0172B8 240C00FF */ li $t4, 255
/* 04BDEC 7F0172BC AFAC0018 */ sw $t4, 0x18($sp)
/* 04BDF0 7F0172C0 02202025 */ move $a0, $s1
/* 04BDF4 7F0172C4 27A50C64 */ addiu $a1, $sp, 0xc64
/* 04BDF8 7F0172C8 27A60C60 */ addiu $a2, $sp, 0xc60
/* 04BDFC 7F0172CC 27A700A8 */ addiu $a3, $sp, 0xa8
/* 04BE00 7F0172D0 AFB0001C */ sw $s0, 0x1c($sp)
/* 04BE04 7F0172D4 AFA20020 */ sw $v0, 0x20($sp)
/* 04BE08 7F0172D8 AFA00024 */ sw $zero, 0x24($sp)
/* 04BE0C 7F0172DC AFA00028 */ sw $zero, 0x28($sp)
/* 04BE10 7F0172E0 AFAB0014 */ sw $t3, 0x14($sp)
/* 04BE14 7F0172E4 0FC025D8 */ jal write_text_at_abs_coord
/* 04BE18 7F0172E8 AFAA0010 */ sw $t2, 0x10($sp)
/* 04BE1C 7F0172EC 00408825 */ move $s1, $v0
/* 04BE20 7F0172F0 0FC30776 */ jal get_textptr_for_textID
/* 04BE24 7F0172F4 34049C6B */ li $a0, 40043
/* 04BE28 7F0172F8 240D0037 */ li $t5, 55
/* 04BE2C 7F0172FC 240E00DC */ li $t6, 220
/* 04BE30 7F017300 AFA200A4 */ sw $v0, 0xa4($sp)
/* 04BE34 7F017304 AFAD0C64 */ sw $t5, 0xc64($sp)
/* 04BE38 7F017308 0C001107 */ jal viGetX
/* 04BE3C 7F01730C AFAE0C60 */ sw $t6, 0xc60($sp)
/* 04BE40 7F017310 00028400 */ sll $s0, $v0, 0x10
/* 04BE44 7F017314 00107C03 */ sra $t7, $s0, 0x10
/* 04BE48 7F017318 0C00110B */ jal viGetY
/* 04BE4C 7F01731C 01E08025 */ move $s0, $t7
/* 04BE50 7F017320 3C188004 */ lui $t8, %hi(ptrSecondFontTableLarge)
/* 04BE54 7F017324 3C198004 */ lui $t9, %hi(ptrFirstFontTableLarge)
/* 04BE58 7F017328 8F390EB4 */ lw $t9, %lo(ptrFirstFontTableLarge)($t9)
/* 04BE5C 7F01732C 8F180EB8 */ lw $t8, %lo(ptrSecondFontTableLarge)($t8)
/* 04BE60 7F017330 240A00FF */ li $t2, 255
/* 04BE64 7F017334 AFAA0018 */ sw $t2, 0x18($sp)
/* 04BE68 7F017338 02202025 */ move $a0, $s1
/* 04BE6C 7F01733C 27A50C64 */ addiu $a1, $sp, 0xc64
/* 04BE70 7F017340 27A60C60 */ addiu $a2, $sp, 0xc60
/* 04BE74 7F017344 8FA700A4 */ lw $a3, 0xa4($sp)
/* 04BE78 7F017348 AFB0001C */ sw $s0, 0x1c($sp)
/* 04BE7C 7F01734C AFA20020 */ sw $v0, 0x20($sp)
/* 04BE80 7F017350 AFA00024 */ sw $zero, 0x24($sp)
/* 04BE84 7F017354 AFA00028 */ sw $zero, 0x28($sp)
/* 04BE88 7F017358 AFB90014 */ sw $t9, 0x14($sp)
/* 04BE8C 7F01735C 0FC025D8 */ jal write_text_at_abs_coord
/* 04BE90 7F017360 AFB80010 */ sw $t8, 0x10($sp)
/* 04BE94 7F017364 00408825 */ move $s1, $v0
/* 04BE98 7F017368 00002025 */ move $a0, $zero
/* 04BE9C 7F01736C 0FC026D4 */ jal getplayerfavoredweapon
/* 04BEA0 7F017370 00002825 */ move $a1, $zero
/* 04BEA4 7F017374 27A400A8 */ addiu $a0, $sp, 0xa8
/* 04BEA8 7F017378 0C0029DC */ jal strcpy
/* 04BEAC 7F01737C 00402825 */ move $a1, $v0
/* 04BEB0 7F017380 3C048007 */ lui $a0, %hi(array_favweapon)
/* 04BEB4 7F017384 248496F0 */ addiu $a0, %lo(array_favweapon) # addiu $a0, $a0, -0x6910
/* 04BEB8 7F017388 8C830000 */ lw $v1, ($a0)
/* 04BEBC 7F01738C 5860000D */ blezl $v1, .L7F0173C4
/* 04BEC0 7F017390 240E00BE */ li $t6, 190
/* 04BEC4 7F017394 8C8B0004 */ lw $t3, 4($a0)
/* 04BEC8 7F017398 5563000A */ bnel $t3, $v1, .L7F0173C4
/* 04BECC 7F01739C 240E00BE */ li $t6, 190
/* 04BED0 7F0173A0 0C004E1F */ jal strlen
/* 04BED4 7F0173A4 27A400A8 */ addiu $a0, $sp, 0xa8
/* 04BED8 7F0173A8 244CFFFF */ addiu $t4, $v0, -1
/* 04BEDC 7F0173AC 27AD00A8 */ addiu $t5, $sp, 0xa8
/* 04BEE0 7F0173B0 3C058005 */ lui $a1, %hi(aX2)
/* 04BEE4 7F0173B4 24A51860 */ addiu $a1, %lo(aX2) # addiu $a1, $a1, 0x1860
/* 04BEE8 7F0173B8 0C002B25 */ jal sprintf
/* 04BEEC 7F0173BC 018D2021 */ addu $a0, $t4, $t5
/* 04BEF0 7F0173C0 240E00BE */ li $t6, 190
.L7F0173C4:
/* 04BEF4 7F0173C4 240F00DC */ li $t7, 220
/* 04BEF8 7F0173C8 AFAE0C64 */ sw $t6, 0xc64($sp)
/* 04BEFC 7F0173CC 0C001107 */ jal viGetX
/* 04BF00 7F0173D0 AFAF0C60 */ sw $t7, 0xc60($sp)
/* 04BF04 7F0173D4 00028400 */ sll $s0, $v0, 0x10
/* 04BF08 7F0173D8 0010C403 */ sra $t8, $s0, 0x10
/* 04BF0C 7F0173DC 0C00110B */ jal viGetY
/* 04BF10 7F0173E0 03008025 */ move $s0, $t8
/* 04BF14 7F0173E4 3C198004 */ lui $t9, %hi(ptrSecondFontTableLarge)
/* 04BF18 7F0173E8 3C0A8004 */ lui $t2, %hi(ptrFirstFontTableLarge)
/* 04BF1C 7F0173EC 8D4A0EB4 */ lw $t2, %lo(ptrFirstFontTableLarge)($t2)
/* 04BF20 7F0173F0 8F390EB8 */ lw $t9, %lo(ptrSecondFontTableLarge)($t9)
/* 04BF24 7F0173F4 240B00FF */ li $t3, 255
/* 04BF28 7F0173F8 AFAB0018 */ sw $t3, 0x18($sp)
/* 04BF2C 7F0173FC 02202025 */ move $a0, $s1
/* 04BF30 7F017400 27A50C64 */ addiu $a1, $sp, 0xc64
/* 04BF34 7F017404 27A60C60 */ addiu $a2, $sp, 0xc60
/* 04BF38 7F017408 27A700A8 */ addiu $a3, $sp, 0xa8
/* 04BF3C 7F01740C AFB0001C */ sw $s0, 0x1c($sp)
/* 04BF40 7F017410 AFA20020 */ sw $v0, 0x20($sp)
/* 04BF44 7F017414 AFA00024 */ sw $zero, 0x24($sp)
/* 04BF48 7F017418 AFA00028 */ sw $zero, 0x28($sp)
/* 04BF4C 7F01741C AFAA0014 */ sw $t2, 0x14($sp)
/* 04BF50 7F017420 0FC025D8 */ jal write_text_at_abs_coord
/* 04BF54 7F017424 AFB90010 */ sw $t9, 0x10($sp)
/* 04BF58 7F017428 00408825 */ move $s1, $v0
/* 04BF5C 7F01742C 0FC30776 */ jal get_textptr_for_textID
/* 04BF60 7F017430 34049C6C */ li $a0, 40044
/* 04BF64 7F017434 240C0037 */ li $t4, 55
/* 04BF68 7F017438 240D00F4 */ li $t5, 244
/* 04BF6C 7F01743C AFA200A4 */ sw $v0, 0xa4($sp)
/* 04BF70 7F017440 AFAC0C64 */ sw $t4, 0xc64($sp)
/* 04BF74 7F017444 0C001107 */ jal viGetX
/* 04BF78 7F017448 AFAD0C60 */ sw $t5, 0xc60($sp)
/* 04BF7C 7F01744C 00028400 */ sll $s0, $v0, 0x10
/* 04BF80 7F017450 00107403 */ sra $t6, $s0, 0x10
/* 04BF84 7F017454 0C00110B */ jal viGetY
/* 04BF88 7F017458 01C08025 */ move $s0, $t6
/* 04BF8C 7F01745C 3C0F8004 */ lui $t7, %hi(ptrSecondFontTableLarge)
/* 04BF90 7F017460 3C188004 */ lui $t8, %hi(ptrFirstFontTableLarge)
/* 04BF94 7F017464 8F180EB4 */ lw $t8, %lo(ptrFirstFontTableLarge)($t8)
/* 04BF98 7F017468 8DEF0EB8 */ lw $t7, %lo(ptrSecondFontTableLarge)($t7)
/* 04BF9C 7F01746C 241900FF */ li $t9, 255
/* 04BFA0 7F017470 AFB90018 */ sw $t9, 0x18($sp)
/* 04BFA4 7F017474 02202025 */ move $a0, $s1
/* 04BFA8 7F017478 27A50C64 */ addiu $a1, $sp, 0xc64
/* 04BFAC 7F01747C 27A60C60 */ addiu $a2, $sp, 0xc60
/* 04BFB0 7F017480 8FA700A4 */ lw $a3, 0xa4($sp)
/* 04BFB4 7F017484 AFB0001C */ sw $s0, 0x1c($sp)
/* 04BFB8 7F017488 AFA20020 */ sw $v0, 0x20($sp)
/* 04BFBC 7F01748C AFA00024 */ sw $zero, 0x24($sp)
/* 04BFC0 7F017490 AFA00028 */ sw $zero, 0x28($sp)
/* 04BFC4 7F017494 AFB80014 */ sw $t8, 0x14($sp)
/* 04BFC8 7F017498 0FC025D8 */ jal write_text_at_abs_coord
/* 04BFCC 7F01749C AFAF0010 */ sw $t7, 0x10($sp)
/* 04BFD0 7F0174A0 3C058005 */ lui $a1, %hi(aD_8)
/* 04BFD4 7F0174A4 00408825 */ move $s1, $v0
/* 04BFD8 7F0174A8 24A51868 */ addiu $a1, %lo(aD_8) # addiu $a1, $a1, 0x1868
/* 04BFDC 7F0174AC 27A400A8 */ addiu $a0, $sp, 0xa8
/* 04BFE0 7F0174B0 0C002B25 */ jal sprintf
/* 04BFE4 7F0174B4 8FA60090 */ lw $a2, 0x90($sp)
/* 04BFE8 7F0174B8 240A0082 */ li $t2, 130
/* 04BFEC 7F0174BC 240B00F4 */ li $t3, 244
/* 04BFF0 7F0174C0 AFAA0C64 */ sw $t2, 0xc64($sp)
/* 04BFF4 7F0174C4 0C001107 */ jal viGetX
/* 04BFF8 7F0174C8 AFAB0C60 */ sw $t3, 0xc60($sp)
/* 04BFFC 7F0174CC 00028400 */ sll $s0, $v0, 0x10
/* 04C000 7F0174D0 00106403 */ sra $t4, $s0, 0x10
/* 04C004 7F0174D4 0C00110B */ jal viGetY
/* 04C008 7F0174D8 01808025 */ move $s0, $t4
/* 04C00C 7F0174DC 3C0D8004 */ lui $t5, %hi(ptrSecondFontTableLarge)
/* 04C010 7F0174E0 3C0E8004 */ lui $t6, %hi(ptrFirstFontTableLarge)
/* 04C014 7F0174E4 8DCE0EB4 */ lw $t6, %lo(ptrFirstFontTableLarge)($t6)
/* 04C018 7F0174E8 8DAD0EB8 */ lw $t5, %lo(ptrSecondFontTableLarge)($t5)
/* 04C01C 7F0174EC 240F00FF */ li $t7, 255
/* 04C020 7F0174F0 AFAF0018 */ sw $t7, 0x18($sp)
/* 04C024 7F0174F4 02202025 */ move $a0, $s1
/* 04C028 7F0174F8 27A50C64 */ addiu $a1, $sp, 0xc64
/* 04C02C 7F0174FC 27A60C60 */ addiu $a2, $sp, 0xc60
/* 04C030 7F017500 27A700A8 */ addiu $a3, $sp, 0xa8
/* 04C034 7F017504 AFB0001C */ sw $s0, 0x1c($sp)
/* 04C038 7F017508 AFA20020 */ sw $v0, 0x20($sp)
/* 04C03C 7F01750C AFA00024 */ sw $zero, 0x24($sp)
/* 04C040 7F017510 AFA00028 */ sw $zero, 0x28($sp)
/* 04C044 7F017514 AFAE0014 */ sw $t6, 0x14($sp)
/* 04C048 7F017518 0FC025D8 */ jal write_text_at_abs_coord
/* 04C04C 7F01751C AFAD0010 */ sw $t5, 0x10($sp)
/* 04C050 7F017520 00408825 */ move $s1, $v0
/* 04C054 7F017524 0FC30776 */ jal get_textptr_for_textID
/* 04C058 7F017528 34049C6D */ li $a0, 40045
/* 04C05C 7F01752C 241800B4 */ li $t8, 180
/* 04C060 7F017530 241900F4 */ li $t9, 244
/* 04C064 7F017534 AFA200A4 */ sw $v0, 0xa4($sp)
/* 04C068 7F017538 AFB80C64 */ sw $t8, 0xc64($sp)
/* 04C06C 7F01753C 0C001107 */ jal viGetX
/* 04C070 7F017540 AFB90C60 */ sw $t9, 0xc60($sp)
/* 04C074 7F017544 00028400 */ sll $s0, $v0, 0x10
/* 04C078 7F017548 00105403 */ sra $t2, $s0, 0x10
/* 04C07C 7F01754C 0C00110B */ jal viGetY
/* 04C080 7F017550 01408025 */ move $s0, $t2
/* 04C084 7F017554 3C0B8004 */ lui $t3, %hi(ptrSecondFontTableLarge)
/* 04C088 7F017558 3C0C8004 */ lui $t4, %hi(ptrFirstFontTableLarge)
/* 04C08C 7F01755C 8D8C0EB4 */ lw $t4, %lo(ptrFirstFontTableLarge)($t4)
/* 04C090 7F017560 8D6B0EB8 */ lw $t3, %lo(ptrSecondFontTableLarge)($t3)
/* 04C094 7F017564 240D00FF */ li $t5, 255
/* 04C098 7F017568 AFAD0018 */ sw $t5, 0x18($sp)
/* 04C09C 7F01756C 02202025 */ move $a0, $s1
/* 04C0A0 7F017570 27A50C64 */ addiu $a1, $sp, 0xc64
/* 04C0A4 7F017574 27A60C60 */ addiu $a2, $sp, 0xc60
/* 04C0A8 7F017578 8FA700A4 */ lw $a3, 0xa4($sp)
/* 04C0AC 7F01757C AFB0001C */ sw $s0, 0x1c($sp)
/* 04C0B0 7F017580 AFA20020 */ sw $v0, 0x20($sp)
/* 04C0B4 7F017584 AFA00024 */ sw $zero, 0x24($sp)
/* 04C0B8 7F017588 AFA00028 */ sw $zero, 0x28($sp)
/* 04C0BC 7F01758C AFAC0014 */ sw $t4, 0x14($sp)
/* 04C0C0 7F017590 0FC025D8 */ jal write_text_at_abs_coord
/* 04C0C4 7F017594 AFAB0010 */ sw $t3, 0x10($sp)
/* 04C0C8 7F017598 8FAF008C */ lw $t7, 0x8c($sp)
/* 04C0CC 7F01759C 8FAE0070 */ lw $t6, 0x70($sp)
/* 04C0D0 7F0175A0 3C0142C8 */ li $at, 0x42C80000 # 100.000000
/* 04C0D4 7F0175A4 448F4000 */ mtc1 $t7, $f8
/* 04C0D8 7F0175A8 44815000 */ mtc1 $at, $f10
/* 04C0DC 7F0175AC 448E3000 */ mtc1 $t6, $f6
/* 04C0E0 7F0175B0 46804420 */ cvt.s.w $f16, $f8
/* 04C0E4 7F0175B4 3C013F00 */ li $at, 0x3F000000 # 0.500000
/* 04C0E8 7F0175B8 00408825 */ move $s1, $v0
/* 04C0EC 7F0175BC 46803020 */ cvt.s.w $f0, $f6
/* 04C0F0 7F0175C0 460A8482 */ mul.s $f18, $f16, $f10
/* 04C0F4 7F0175C4 44813000 */ mtc1 $at, $f6
/* 04C0F8 7F0175C8 E7A00048 */ swc1 $f0, 0x48($sp)
/* 04C0FC 7F0175CC 46009103 */ div.s $f4, $f18, $f0
/* 04C100 7F0175D0 0FC170D8 */ jal truncf
/* 04C104 7F0175D4 46062300 */ add.s $f12, $f4, $f6
/* 04C108 7F0175D8 4600020D */ trunc.w.s $f8, $f0
/* 04C10C 7F0175DC 3C058005 */ lui $a1, %hi(aDD_0)
/* 04C110 7F0175E0 24A5186C */ addiu $a1, %lo(aDD_0) # addiu $a1, $a1, 0x186c
/* 04C114 7F0175E4 27A400A8 */ addiu $a0, $sp, 0xa8
/* 04C118 7F0175E8 44074000 */ mfc1 $a3, $f8
/* 04C11C 7F0175EC 0C002B25 */ jal sprintf
/* 04C120 7F0175F0 8FA6008C */ lw $a2, 0x8c($sp)
/* 04C124 7F0175F4 2419012C */ li $t9, 300
/* 04C128 7F0175F8 240A00F4 */ li $t2, 244
/* 04C12C 7F0175FC AFB90C64 */ sw $t9, 0xc64($sp)
/* 04C130 7F017600 0C001107 */ jal viGetX
/* 04C134 7F017604 AFAA0C60 */ sw $t2, 0xc60($sp)
/* 04C138 7F017608 00028400 */ sll $s0, $v0, 0x10
/* 04C13C 7F01760C 00105C03 */ sra $t3, $s0, 0x10
/* 04C140 7F017610 0C00110B */ jal viGetY
/* 04C144 7F017614 01608025 */ move $s0, $t3
/* 04C148 7F017618 3C0C8004 */ lui $t4, %hi(ptrSecondFontTableLarge)
/* 04C14C 7F01761C 3C0D8004 */ lui $t5, %hi(ptrFirstFontTableLarge)
/* 04C150 7F017620 8DAD0EB4 */ lw $t5, %lo(ptrFirstFontTableLarge)($t5)
/* 04C154 7F017624 8D8C0EB8 */ lw $t4, %lo(ptrSecondFontTableLarge)($t4)
/* 04C158 7F017628 240E00FF */ li $t6, 255
/* 04C15C 7F01762C AFAE0018 */ sw $t6, 0x18($sp)
/* 04C160 7F017630 02202025 */ move $a0, $s1
/* 04C164 7F017634 27A50C64 */ addiu $a1, $sp, 0xc64
/* 04C168 7F017638 27A60C60 */ addiu $a2, $sp, 0xc60
/* 04C16C 7F01763C 27A700A8 */ addiu $a3, $sp, 0xa8
/* 04C170 7F017640 AFB0001C */ sw $s0, 0x1c($sp)
/* 04C174 7F017644 AFA20020 */ sw $v0, 0x20($sp)
/* 04C178 7F017648 AFA00024 */ sw $zero, 0x24($sp)
/* 04C17C 7F01764C AFA00028 */ sw $zero, 0x28($sp)
/* 04C180 7F017650 AFAD0014 */ sw $t5, 0x14($sp)
/* 04C184 7F017654 0FC025D8 */ jal write_text_at_abs_coord
/* 04C188 7F017658 AFAC0010 */ sw $t4, 0x10($sp)
/* 04C18C 7F01765C 00408825 */ move $s1, $v0
/* 04C190 7F017660 0FC30776 */ jal get_textptr_for_textID
/* 04C194 7F017664 34049C6E */ li $a0, 40046
/* 04C198 7F017668 8FB800A0 */ lw $t8, 0xa0($sp)
/* 04C19C 7F01766C 240F00B4 */ li $t7, 180
/* 04C1A0 7F017670 AFA200A4 */ sw $v0, 0xa4($sp)
/* 04C1A4 7F017674 271900F4 */ addiu $t9, $t8, 0xf4
/* 04C1A8 7F017678 AFAF0C64 */ sw $t7, 0xc64($sp)
/* 04C1AC 7F01767C 0C001107 */ jal viGetX
/* 04C1B0 7F017680 AFB90C60 */ sw $t9, 0xc60($sp)
/* 04C1B4 7F017684 00028400 */ sll $s0, $v0, 0x10
/* 04C1B8 7F017688 00105403 */ sra $t2, $s0, 0x10
/* 04C1BC 7F01768C 0C00110B */ jal viGetY
/* 04C1C0 7F017690 01408025 */ move $s0, $t2
/* 04C1C4 7F017694 3C0B8004 */ lui $t3, %hi(ptrSecondFontTableLarge)
/* 04C1C8 7F017698 3C0C8004 */ lui $t4, %hi(ptrFirstFontTableLarge)
/* 04C1CC 7F01769C 8D8C0EB4 */ lw $t4, %lo(ptrFirstFontTableLarge)($t4)
/* 04C1D0 7F0176A0 8D6B0EB8 */ lw $t3, %lo(ptrSecondFontTableLarge)($t3)
/* 04C1D4 7F0176A4 240D00FF */ li $t5, 255
/* 04C1D8 7F0176A8 AFAD0018 */ sw $t5, 0x18($sp)
/* 04C1DC 7F0176AC 02202025 */ move $a0, $s1
/* 04C1E0 7F0176B0 27A50C64 */ addiu $a1, $sp, 0xc64
/* 04C1E4 7F0176B4 27A60C60 */ addiu $a2, $sp, 0xc60
/* 04C1E8 7F0176B8 8FA700A4 */ lw $a3, 0xa4($sp)
/* 04C1EC 7F0176BC AFB0001C */ sw $s0, 0x1c($sp)
/* 04C1F0 7F0176C0 AFA20020 */ sw $v0, 0x20($sp)
/* 04C1F4 7F0176C4 AFA00024 */ sw $zero, 0x24($sp)
/* 04C1F8 7F0176C8 AFA00028 */ sw $zero, 0x28($sp)
/* 04C1FC 7F0176CC AFAC0014 */ sw $t4, 0x14($sp)
/* 04C200 7F0176D0 0FC025D8 */ jal write_text_at_abs_coord
/* 04C204 7F0176D4 AFAB0010 */ sw $t3, 0x10($sp)
/* 04C208 7F0176D8 8FAE0088 */ lw $t6, 0x88($sp)
/* 04C20C 7F0176DC 3C0142C8 */ li $at, 0x42C80000 # 100.000000
/* 04C210 7F0176E0 44819000 */ mtc1 $at, $f18
/* 04C214 7F0176E4 448E8000 */ mtc1 $t6, $f16
/* 04C218 7F0176E8 C7A60048 */ lwc1 $f6, 0x48($sp)
/* 04C21C 7F0176EC 3C013F00 */ li $at, 0x3F000000 # 0.500000
/* 04C220 7F0176F0 468082A0 */ cvt.s.w $f10, $f16
/* 04C224 7F0176F4 44818000 */ mtc1 $at, $f16
/* 04C228 7F0176F8 00408825 */ move $s1, $v0
/* 04C22C 7F0176FC 46125102 */ mul.s $f4, $f10, $f18
/* 04C230 7F017700 46062203 */ div.s $f8, $f4, $f6
/* 04C234 7F017704 0FC170D8 */ jal truncf
/* 04C238 7F017708 46104300 */ add.s $f12, $f8, $f16
/* 04C23C 7F01770C 4600028D */ trunc.w.s $f10, $f0
/* 04C240 7F017710 3C058005 */ lui $a1, %hi(aDD_1)
/* 04C244 7F017714 24A51878 */ addiu $a1, %lo(aDD_1) # addiu $a1, $a1, 0x1878
/* 04C248 7F017718 27A400A8 */ addiu $a0, $sp, 0xa8
/* 04C24C 7F01771C 44075000 */ mfc1 $a3, $f10
/* 04C250 7F017720 0C002B25 */ jal sprintf
/* 04C254 7F017724 8FA60088 */ lw $a2, 0x88($sp)
/* 04C258 7F017728 8FB900A0 */ lw $t9, 0xa0($sp)
/* 04C25C 7F01772C 2418012C */ li $t8, 300
/* 04C260 7F017730 AFB80C64 */ sw $t8, 0xc64($sp)
/* 04C264 7F017734 272A00F4 */ addiu $t2, $t9, 0xf4
/* 04C268 7F017738 0C001107 */ jal viGetX
/* 04C26C 7F01773C AFAA0C60 */ sw $t2, 0xc60($sp)
/* 04C270 7F017740 00028400 */ sll $s0, $v0, 0x10
/* 04C274 7F017744 00105C03 */ sra $t3, $s0, 0x10
/* 04C278 7F017748 0C00110B */ jal viGetY
/* 04C27C 7F01774C 01608025 */ move $s0, $t3
/* 04C280 7F017750 3C0C8004 */ lui $t4, %hi(ptrSecondFontTableLarge)
/* 04C284 7F017754 3C0D8004 */ lui $t5, %hi(ptrFirstFontTableLarge)
/* 04C288 7F017758 8DAD0EB4 */ lw $t5, %lo(ptrFirstFontTableLarge)($t5)
/* 04C28C 7F01775C 8D8C0EB8 */ lw $t4, %lo(ptrSecondFontTableLarge)($t4)
/* 04C290 7F017760 240E00FF */ li $t6, 255
/* 04C294 7F017764 AFAE0018 */ sw $t6, 0x18($sp)
/* 04C298 7F017768 02202025 */ move $a0, $s1
/* 04C29C 7F01776C 27A50C64 */ addiu $a1, $sp, 0xc64
/* 04C2A0 7F017770 27A60C60 */ addiu $a2, $sp, 0xc60
/* 04C2A4 7F017774 27A700A8 */ addiu $a3, $sp, 0xa8
/* 04C2A8 7F017778 AFB0001C */ sw $s0, 0x1c($sp)
/* 04C2AC 7F01777C AFA20020 */ sw $v0, 0x20($sp)
/* 04C2B0 7F017780 AFA00024 */ sw $zero, 0x24($sp)
/* 04C2B4 7F017784 AFA00028 */ sw $zero, 0x28($sp)
/* 04C2B8 7F017788 AFAD0014 */ sw $t5, 0x14($sp)
/* 04C2BC 7F01778C 0FC025D8 */ jal write_text_at_abs_coord
/* 04C2C0 7F017790 AFAC0010 */ sw $t4, 0x10($sp)
/* 04C2C4 7F017794 00408825 */ move $s1, $v0
/* 04C2C8 7F017798 0FC30776 */ jal get_textptr_for_textID
/* 04C2CC 7F01779C 34049C6F */ li $a0, 40047
/* 04C2D0 7F0177A0 8FB800A0 */ lw $t8, 0xa0($sp)
/* 04C2D4 7F0177A4 240F00B4 */ li $t7, 180
/* 04C2D8 7F0177A8 AFA200A4 */ sw $v0, 0xa4($sp)
/* 04C2DC 7F0177AC 0018C840 */ sll $t9, $t8, 1
/* 04C2E0 7F0177B0 272A00F4 */ addiu $t2, $t9, 0xf4
/* 04C2E4 7F0177B4 AFAF0C64 */ sw $t7, 0xc64($sp)
/* 04C2E8 7F0177B8 0C001107 */ jal viGetX
/* 04C2EC 7F0177BC AFAA0C60 */ sw $t2, 0xc60($sp)
/* 04C2F0 7F0177C0 00028400 */ sll $s0, $v0, 0x10
/* 04C2F4 7F0177C4 00105C03 */ sra $t3, $s0, 0x10
/* 04C2F8 7F0177C8 0C00110B */ jal viGetY
/* 04C2FC 7F0177CC 01608025 */ move $s0, $t3
/* 04C300 7F0177D0 3C0C8004 */ lui $t4, %hi(ptrSecondFontTableLarge)
/* 04C304 7F0177D4 3C0D8004 */ lui $t5, %hi(ptrFirstFontTableLarge)
/* 04C308 7F0177D8 8DAD0EB4 */ lw $t5, %lo(ptrFirstFontTableLarge)($t5)
/* 04C30C 7F0177DC 8D8C0EB8 */ lw $t4, %lo(ptrSecondFontTableLarge)($t4)
/* 04C310 7F0177E0 240E00FF */ li $t6, 255
/* 04C314 7F0177E4 AFAE0018 */ sw $t6, 0x18($sp)
/* 04C318 7F0177E8 02202025 */ move $a0, $s1
/* 04C31C 7F0177EC 27A50C64 */ addiu $a1, $sp, 0xc64
/* 04C320 7F0177F0 27A60C60 */ addiu $a2, $sp, 0xc60
/* 04C324 7F0177F4 8FA700A4 */ lw $a3, 0xa4($sp)
/* 04C328 7F0177F8 AFB0001C */ sw $s0, 0x1c($sp)
/* 04C32C 7F0177FC AFA20020 */ sw $v0, 0x20($sp)
/* 04C330 7F017800 AFA00024 */ sw $zero, 0x24($sp)
/* 04C334 7F017804 AFA00028 */ sw $zero, 0x28($sp)
/* 04C338 7F017808 AFAD0014 */ sw $t5, 0x14($sp)
/* 04C33C 7F01780C 0FC025D8 */ jal write_text_at_abs_coord
/* 04C340 7F017810 AFAC0010 */ sw $t4, 0x10($sp)
/* 04C344 7F017814 8FAF0084 */ lw $t7, 0x84($sp)
/* 04C348 7F017818 3C0142C8 */ li $at, 0x42C80000 # 100.000000
/* 04C34C 7F01781C 44813000 */ mtc1 $at, $f6
/* 04C350 7F017820 448F9000 */ mtc1 $t7, $f18
/* 04C354 7F017824 C7B00048 */ lwc1 $f16, 0x48($sp)
/* 04C358 7F017828 3C013F00 */ li $at, 0x3F000000 # 0.500000
/* 04C35C 7F01782C 46809120 */ cvt.s.w $f4, $f18
/* 04C360 7F017830 44819000 */ mtc1 $at, $f18
/* 04C364 7F017834 00408825 */ move $s1, $v0
/* 04C368 7F017838 46062202 */ mul.s $f8, $f4, $f6
/* 04C36C 7F01783C 46104283 */ div.s $f10, $f8, $f16
/* 04C370 7F017840 0FC170D8 */ jal truncf
/* 04C374 7F017844 46125300 */ add.s $f12, $f10, $f18
/* 04C378 7F017848 4600010D */ trunc.w.s $f4, $f0
/* 04C37C 7F01784C 3C058005 */ lui $a1, %hi(aDD_2)
/* 04C380 7F017850 24A51884 */ addiu $a1, %lo(aDD_2) # addiu $a1, $a1, 0x1884
/* 04C384 7F017854 27A400A8 */ addiu $a0, $sp, 0xa8
/* 04C388 7F017858 44072000 */ mfc1 $a3, $f4
/* 04C38C 7F01785C 0C002B25 */ jal sprintf
/* 04C390 7F017860 8FA60084 */ lw $a2, 0x84($sp)
/* 04C394 7F017864 8FAA00A0 */ lw $t2, 0xa0($sp)
/* 04C398 7F017868 2419012C */ li $t9, 300
/* 04C39C 7F01786C AFB90C64 */ sw $t9, 0xc64($sp)
/* 04C3A0 7F017870 000A5840 */ sll $t3, $t2, 1
/* 04C3A4 7F017874 256C00F4 */ addiu $t4, $t3, 0xf4
/* 04C3A8 7F017878 0C001107 */ jal viGetX
/* 04C3AC 7F01787C AFAC0C60 */ sw $t4, 0xc60($sp)
/* 04C3B0 7F017880 00028400 */ sll $s0, $v0, 0x10
/* 04C3B4 7F017884 00106C03 */ sra $t5, $s0, 0x10
/* 04C3B8 7F017888 0C00110B */ jal viGetY
/* 04C3BC 7F01788C 01A08025 */ move $s0, $t5
/* 04C3C0 7F017890 3C0E8004 */ lui $t6, %hi(ptrSecondFontTableLarge)
/* 04C3C4 7F017894 3C0F8004 */ lui $t7, %hi(ptrFirstFontTableLarge)
/* 04C3C8 7F017898 8DEF0EB4 */ lw $t7, %lo(ptrFirstFontTableLarge)($t7)
/* 04C3CC 7F01789C 8DCE0EB8 */ lw $t6, %lo(ptrSecondFontTableLarge)($t6)
/* 04C3D0 7F0178A0 241800FF */ li $t8, 255
/* 04C3D4 7F0178A4 AFB80018 */ sw $t8, 0x18($sp)
/* 04C3D8 7F0178A8 02202025 */ move $a0, $s1
/* 04C3DC 7F0178AC 27A50C64 */ addiu $a1, $sp, 0xc64
/* 04C3E0 7F0178B0 27A60C60 */ addiu $a2, $sp, 0xc60
/* 04C3E4 7F0178B4 27A700A8 */ addiu $a3, $sp, 0xa8
/* 04C3E8 7F0178B8 AFB0001C */ sw $s0, 0x1c($sp)
/* 04C3EC 7F0178BC AFA20020 */ sw $v0, 0x20($sp)
/* 04C3F0 7F0178C0 AFA00024 */ sw $zero, 0x24($sp)
/* 04C3F4 7F0178C4 AFA00028 */ sw $zero, 0x28($sp)
/* 04C3F8 7F0178C8 AFAF0014 */ sw $t7, 0x14($sp)
/* 04C3FC 7F0178CC 0FC025D8 */ jal write_text_at_abs_coord
/* 04C400 7F0178D0 AFAE0010 */ sw $t6, 0x10($sp)
/* 04C404 7F0178D4 00408825 */ move $s1, $v0
/* 04C408 7F0178D8 0FC30776 */ jal get_textptr_for_textID
/* 04C40C 7F0178DC 34049C70 */ li $a0, 40048
/* 04C410 7F0178E0 8FAA00A0 */ lw $t2, 0xa0($sp)
/* 04C414 7F0178E4 241900B4 */ li $t9, 180
/* 04C418 7F0178E8 AFA200A4 */ sw $v0, 0xa4($sp)
/* 04C41C 7F0178EC 000A5880 */ sll $t3, $t2, 2
/* 04C420 7F0178F0 016A5823 */ subu $t3, $t3, $t2
/* 04C424 7F0178F4 256C00F4 */ addiu $t4, $t3, 0xf4
/* 04C428 7F0178F8 AFB90C64 */ sw $t9, 0xc64($sp)
/* 04C42C 7F0178FC 0C001107 */ jal viGetX
/* 04C430 7F017900 AFAC0C60 */ sw $t4, 0xc60($sp)
/* 04C434 7F017904 00028400 */ sll $s0, $v0, 0x10
/* 04C438 7F017908 00106C03 */ sra $t5, $s0, 0x10
/* 04C43C 7F01790C 0C00110B */ jal viGetY
/* 04C440 7F017910 01A08025 */ move $s0, $t5
/* 04C444 7F017914 3C0E8004 */ lui $t6, %hi(ptrSecondFontTableLarge)
/* 04C448 7F017918 3C0F8004 */ lui $t7, %hi(ptrFirstFontTableLarge)
/* 04C44C 7F01791C 8DEF0EB4 */ lw $t7, %lo(ptrFirstFontTableLarge)($t7)
/* 04C450 7F017920 8DCE0EB8 */ lw $t6, %lo(ptrSecondFontTableLarge)($t6)
/* 04C454 7F017924 241800FF */ li $t8, 255
/* 04C458 7F017928 AFB80018 */ sw $t8, 0x18($sp)
/* 04C45C 7F01792C 02202025 */ move $a0, $s1
/* 04C460 7F017930 27A50C64 */ addiu $a1, $sp, 0xc64
/* 04C464 7F017934 27A60C60 */ addiu $a2, $sp, 0xc60
/* 04C468 7F017938 8FA700A4 */ lw $a3, 0xa4($sp)
/* 04C46C 7F01793C AFB0001C */ sw $s0, 0x1c($sp)
/* 04C470 7F017940 AFA20020 */ sw $v0, 0x20($sp)
/* 04C474 7F017944 AFA00024 */ sw $zero, 0x24($sp)
/* 04C478 7F017948 AFA00028 */ sw $zero, 0x28($sp)
/* 04C47C 7F01794C AFAF0014 */ sw $t7, 0x14($sp)
/* 04C480 7F017950 0FC025D8 */ jal write_text_at_abs_coord
/* 04C484 7F017954 AFAE0010 */ sw $t6, 0x10($sp)
/* 04C488 7F017958 8FB9007C */ lw $t9, 0x7c($sp)
/* 04C48C 7F01795C 8FAA0080 */ lw $t2, 0x80($sp)
/* 04C490 7F017960 3C0142C8 */ li $at, 0x42C80000 # 100.000000
/* 04C494 7F017964 44818000 */ mtc1 $at, $f16
/* 04C498 7F017968 032A8021 */ addu $s0, $t9, $t2
/* 04C49C 7F01796C 44903000 */ mtc1 $s0, $f6
/* 04C4A0 7F017970 C7B20048 */ lwc1 $f18, 0x48($sp)
/* 04C4A4 7F017974 3C013F00 */ li $at, 0x3F000000 # 0.500000
/* 04C4A8 7F017978 46803220 */ cvt.s.w $f8, $f6
/* 04C4AC 7F01797C 44813000 */ mtc1 $at, $f6
/* 04C4B0 7F017980 00408825 */ move $s1, $v0
/* 04C4B4 7F017984 46104282 */ mul.s $f10, $f8, $f16
/* 04C4B8 7F017988 46125103 */ div.s $f4, $f10, $f18
/* 04C4BC 7F01798C 0FC170D8 */ jal truncf
/* 04C4C0 7F017990 46062300 */ add.s $f12, $f4, $f6
/* 04C4C4 7F017994 4600020D */ trunc.w.s $f8, $f0
/* 04C4C8 7F017998 3C058005 */ lui $a1, %hi(aDD_3)
/* 04C4CC 7F01799C 24A51890 */ addiu $a1, %lo(aDD_3) # addiu $a1, $a1, 0x1890
/* 04C4D0 7F0179A0 27A400A8 */ addiu $a0, $sp, 0xa8
/* 04C4D4 7F0179A4 44074000 */ mfc1 $a3, $f8
/* 04C4D8 7F0179A8 0C002B25 */ jal sprintf
/* 04C4DC 7F0179AC 02003025 */ move $a2, $s0
/* 04C4E0 7F0179B0 8FAD00A0 */ lw $t5, 0xa0($sp)
/* 04C4E4 7F0179B4 240C012C */ li $t4, 300
/* 04C4E8 7F0179B8 AFAC0C64 */ sw $t4, 0xc64($sp)
/* 04C4EC 7F0179BC 000D7080 */ sll $t6, $t5, 2
/* 04C4F0 7F0179C0 01CD7023 */ subu $t6, $t6, $t5
/* 04C4F4 7F0179C4 25CF00F4 */ addiu $t7, $t6, 0xf4
/* 04C4F8 7F0179C8 0C001107 */ jal viGetX
/* 04C4FC 7F0179CC AFAF0C60 */ sw $t7, 0xc60($sp)
/* 04C500 7F0179D0 00028400 */ sll $s0, $v0, 0x10
/* 04C504 7F0179D4 0010C403 */ sra $t8, $s0, 0x10
/* 04C508 7F0179D8 0C00110B */ jal viGetY
/* 04C50C 7F0179DC 03008025 */ move $s0, $t8
/* 04C510 7F0179E0 3C198004 */ lui $t9, %hi(ptrSecondFontTableLarge)
/* 04C514 7F0179E4 3C0A8004 */ lui $t2, %hi(ptrFirstFontTableLarge)
/* 04C518 7F0179E8 8D4A0EB4 */ lw $t2, %lo(ptrFirstFontTableLarge)($t2)
/* 04C51C 7F0179EC 8F390EB8 */ lw $t9, %lo(ptrSecondFontTableLarge)($t9)
/* 04C520 7F0179F0 240B00FF */ li $t3, 255
/* 04C524 7F0179F4 AFAB0018 */ sw $t3, 0x18($sp)
/* 04C528 7F0179F8 02202025 */ move $a0, $s1
/* 04C52C 7F0179FC 27A50C64 */ addiu $a1, $sp, 0xc64
/* 04C530 7F017A00 27A60C60 */ addiu $a2, $sp, 0xc60
/* 04C534 7F017A04 27A700A8 */ addiu $a3, $sp, 0xa8
/* 04C538 7F017A08 AFB0001C */ sw $s0, 0x1c($sp)
/* 04C53C 7F017A0C AFA20020 */ sw $v0, 0x20($sp)
/* 04C540 7F017A10 AFA00024 */ sw $zero, 0x24($sp)
/* 04C544 7F017A14 AFA00028 */ sw $zero, 0x28($sp)
/* 04C548 7F017A18 AFAA0014 */ sw $t2, 0x14($sp)
/* 04C54C 7F017A1C 0FC025D8 */ jal write_text_at_abs_coord
/* 04C550 7F017A20 AFB90010 */ sw $t9, 0x10($sp)
/* 04C554 7F017A24 00408825 */ move $s1, $v0
/* 04C558 7F017A28 0FC30776 */ jal get_textptr_for_textID
/* 04C55C 7F017A2C 34049C71 */ li $a0, 40049
/* 04C560 7F017A30 8FAD00A0 */ lw $t5, 0xa0($sp)
/* 04C564 7F017A34 240C0037 */ li $t4, 55
/* 04C568 7F017A38 AFA200A4 */ sw $v0, 0xa4($sp)
/* 04C56C 7F017A3C 25AE00F4 */ addiu $t6, $t5, 0xf4
/* 04C570 7F017A40 AFAC0C64 */ sw $t4, 0xc64($sp)
/* 04C574 7F017A44 0C001107 */ jal viGetX
/* 04C578 7F017A48 AFAE0C60 */ sw $t6, 0xc60($sp)
/* 04C57C 7F017A4C 00028400 */ sll $s0, $v0, 0x10
/* 04C580 7F017A50 00107C03 */ sra $t7, $s0, 0x10
/* 04C584 7F017A54 0C00110B */ jal viGetY
/* 04C588 7F017A58 01E08025 */ move $s0, $t7
/* 04C58C 7F017A5C 3C188004 */ lui $t8, %hi(ptrSecondFontTableLarge)
/* 04C590 7F017A60 3C198004 */ lui $t9, %hi(ptrFirstFontTableLarge)
/* 04C594 7F017A64 8F390EB4 */ lw $t9, %lo(ptrFirstFontTableLarge)($t9)
/* 04C598 7F017A68 8F180EB8 */ lw $t8, %lo(ptrSecondFontTableLarge)($t8)
/* 04C59C 7F017A6C 240A00FF */ li $t2, 255
/* 04C5A0 7F017A70 AFAA0018 */ sw $t2, 0x18($sp)
/* 04C5A4 7F017A74 02202025 */ move $a0, $s1
/* 04C5A8 7F017A78 27A50C64 */ addiu $a1, $sp, 0xc64
/* 04C5AC 7F017A7C 27A60C60 */ addiu $a2, $sp, 0xc60
/* 04C5B0 7F017A80 8FA700A4 */ lw $a3, 0xa4($sp)
/* 04C5B4 7F017A84 AFB0001C */ sw $s0, 0x1c($sp)
/* 04C5B8 7F017A88 AFA20020 */ sw $v0, 0x20($sp)
/* 04C5BC 7F017A8C AFA00024 */ sw $zero, 0x24($sp)
/* 04C5C0 7F017A90 AFA00028 */ sw $zero, 0x28($sp)
/* 04C5C4 7F017A94 AFB90014 */ sw $t9, 0x14($sp)
/* 04C5C8 7F017A98 0FC025D8 */ jal write_text_at_abs_coord
/* 04C5CC 7F017A9C AFB80010 */ sw $t8, 0x10($sp)
/* 04C5D0 7F017AA0 3C058005 */ lui $a1, %hi(aD_10)
/* 04C5D4 7F017AA4 00408825 */ move $s1, $v0
/* 04C5D8 7F017AA8 24A5189C */ addiu $a1, %lo(aD_10) # addiu $a1, $a1, 0x189c
/* 04C5DC 7F017AAC 27A400A8 */ addiu $a0, $sp, 0xa8
/* 04C5E0 7F017AB0 0C002B25 */ jal sprintf
/* 04C5E4 7F017AB4 8FA60094 */ lw $a2, 0x94($sp)
/* 04C5E8 7F017AB8 8FAC00A0 */ lw $t4, 0xa0($sp)
/* 04C5EC 7F017ABC 240B0082 */ li $t3, 130
/* 04C5F0 7F017AC0 AFAB0C64 */ sw $t3, 0xc64($sp)
/* 04C5F4 7F017AC4 258D00F4 */ addiu $t5, $t4, 0xf4
/* 04C5F8 7F017AC8 0C001107 */ jal viGetX
/* 04C5FC 7F017ACC AFAD0C60 */ sw $t5, 0xc60($sp)
/* 04C600 7F017AD0 00028400 */ sll $s0, $v0, 0x10
/* 04C604 7F017AD4 00107403 */ sra $t6, $s0, 0x10
/* 04C608 7F017AD8 0C00110B */ jal viGetY
/* 04C60C 7F017ADC 01C08025 */ move $s0, $t6
/* 04C610 7F017AE0 3C0F8004 */ lui $t7, %hi(ptrSecondFontTableLarge)
/* 04C614 7F017AE4 3C188004 */ lui $t8, %hi(ptrFirstFontTableLarge)
/* 04C618 7F017AE8 8F180EB4 */ lw $t8, %lo(ptrFirstFontTableLarge)($t8)
/* 04C61C 7F017AEC 8DEF0EB8 */ lw $t7, %lo(ptrSecondFontTableLarge)($t7)
/* 04C620 7F017AF0 241900FF */ li $t9, 255
/* 04C624 7F017AF4 AFB90018 */ sw $t9, 0x18($sp)
/* 04C628 7F017AF8 02202025 */ move $a0, $s1
/* 04C62C 7F017AFC 27A50C64 */ addiu $a1, $sp, 0xc64
/* 04C630 7F017B00 27A60C60 */ addiu $a2, $sp, 0xc60
/* 04C634 7F017B04 27A700A8 */ addiu $a3, $sp, 0xa8
/* 04C638 7F017B08 AFB0001C */ sw $s0, 0x1c($sp)
/* 04C63C 7F017B0C AFA20020 */ sw $v0, 0x20($sp)
/* 04C640 7F017B10 AFA00024 */ sw $zero, 0x24($sp)
/* 04C644 7F017B14 AFA00028 */ sw $zero, 0x28($sp)
/* 04C648 7F017B18 AFB80014 */ sw $t8, 0x14($sp)
/* 04C64C 7F017B1C 0FC025D8 */ jal write_text_at_abs_coord
/* 04C650 7F017B20 AFAF0010 */ sw $t7, 0x10($sp)
/* 04C654 7F017B24 0FC02905 */ jal add_tab2_next
/* 04C658 7F017B28 00402025 */ move $a0, $v0
/* 04C65C 7F017B2C 0FC0288E */ jal add_tab3_previous
/* 04C660 7F017B30 00402025 */ move $a0, $v0
/* 04C664 7F017B34 0FC027C2 */ jal load_draw_selected_icon_folder_select
/* 04C668 7F017B38 00402025 */ move $a0, $v0
/* 04C66C 7F017B3C 8FBF003C */ lw $ra, 0x3c($sp)
/* 04C670 7F017B40 8FB00034 */ lw $s0, 0x34($sp)
/* 04C674 7F017B44 8FB10038 */ lw $s1, 0x38($sp)
/* 04C678 7F017B48 03E00008 */ jr $ra
/* 04C67C 7F017B4C 27BD0C68 */ addiu $sp, $sp, 0xc68
)
#endif
#ifdef NONMATCHING
void init_menu15_cheat(void)
{
int iVar1;
undefined1 *puVar2;
tab_1_selected = FALSE;
tab_2_selected = FALSE;
tab_3_selected = FALSE;
tab_3_highlight = FALSE;
tab_2_highlight = FALSE;
tab_1_highlight = FALSE;
dword_8002B5DC = NULL;
puVar2 = cheat_available;
iVar1 = 1;
do {
if (*puVar2 != '\0') {
(&DAT_800697f0)[(int)dword_8002B5DC] = iVar1;
dword_8002B5DC = dword_8002B5DC + 1;
}
iVar1 += 1;
puVar2 = puVar2 + 1;
} while (iVar1 != 0x4b);
load_walletbond();
return;
}
#else
GLOBAL_ASM(
.text
glabel init_menu15_cheat
/* 04C680 7F017B50 3C018003 */ lui $at, %hi(tab_1_selected)
/* 04C684 7F017B54 AC20A8D0 */ sw $zero, %lo(tab_1_selected)($at)
/* 04C688 7F017B58 3C018003 */ lui $at, %hi(tab_2_selected)
/* 04C68C 7F017B5C AC20A8D4 */ sw $zero, %lo(tab_2_selected)($at)
/* 04C690 7F017B60 3C018003 */ lui $at, %hi(tab_3_selected)
/* 04C694 7F017B64 AC20A8D8 */ sw $zero, %lo(tab_3_selected)($at)
/* 04C698 7F017B68 3C018003 */ lui $at, %hi(tab_3_highlight)
/* 04C69C 7F017B6C AC20A8E4 */ sw $zero, %lo(tab_3_highlight)($at)
/* 04C6A0 7F017B70 3C018003 */ lui $at, %hi(tab_2_highlight)
/* 04C6A4 7F017B74 AC20A8E0 */ sw $zero, %lo(tab_2_highlight)($at)
/* 04C6A8 7F017B78 3C058003 */ lui $a1, %hi(D_8002B5DC)
/* 04C6AC 7F017B7C 3C018003 */ lui $at, %hi(tab_1_highlight)
/* 04C6B0 7F017B80 24A5B5DC */ addiu $a1, %lo(D_8002B5DC) # addiu $a1, $a1, -0x4a24
/* 04C6B4 7F017B84 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 04C6B8 7F017B88 AC20A8DC */ sw $zero, %lo(tab_1_highlight)($at)
/* 04C6BC 7F017B8C 3C048007 */ lui $a0, %hi(cheat_available)
/* 04C6C0 7F017B90 3C068007 */ lui $a2, %hi(dword_CODE_bss_800697F0)
/* 04C6C4 7F017B94 AFBF0014 */ sw $ra, 0x14($sp)
/* 04C6C8 7F017B98 ACA00000 */ sw $zero, ($a1)
/* 04C6CC 7F017B9C 24C697F0 */ addiu $a2, %lo(dword_CODE_bss_800697F0) # addiu $a2, $a2, -0x6810
/* 04C6D0 7F017BA0 24849651 */ addiu $a0, %lo(cheat_available) # addiu $a0, $a0, -0x69af
/* 04C6D4 7F017BA4 24030001 */ li $v1, 1
/* 04C6D8 7F017BA8 2407004B */ li $a3, 75
.L7F017BAC:
/* 04C6DC 7F017BAC 908E0000 */ lbu $t6, ($a0)
/* 04C6E0 7F017BB0 51C00008 */ beql $t6, $zero, .L7F017BD4
/* 04C6E4 7F017BB4 24630001 */ addiu $v1, $v1, 1
/* 04C6E8 7F017BB8 8CA20000 */ lw $v0, ($a1)
/* 04C6EC 7F017BBC 00027880 */ sll $t7, $v0, 2
/* 04C6F0 7F017BC0 00CFC021 */ addu $t8, $a2, $t7
/* 04C6F4 7F017BC4 AF030000 */ sw $v1, ($t8)
/* 04C6F8 7F017BC8 24590001 */ addiu $t9, $v0, 1
/* 04C6FC 7F017BCC ACB90000 */ sw $t9, ($a1)
/* 04C700 7F017BD0 24630001 */ addiu $v1, $v1, 1
.L7F017BD4:
/* 04C704 7F017BD4 1467FFF5 */ bne $v1, $a3, .L7F017BAC
/* 04C708 7F017BD8 24840001 */ addiu $a0, $a0, 1
/* 04C70C 7F017BDC 0FC02E2B */ jal load_walletbond
/* 04C710 7F017BE0 00000000 */ nop
/* 04C714 7F017BE4 8FBF0014 */ lw $ra, 0x14($sp)
/* 04C718 7F017BE8 27BD0018 */ addiu $sp, $sp, 0x18
/* 04C71C 7F017BEC 03E00008 */ jr $ra
/* 04C720 7F017BF0 00000000 */ nop
)
#endif
#ifdef NONMATCHING
void update_menu15_cheat(void)
{
s32 lVar1;
int i;
undefined1 *puVar2;
u32 appendsp;
u32 appendmp;
appendsp = FALSE;
appendmp = FALSE;
puVar2 = CHEAT_AVAILABLE_EXTRA_CHARS;
i = 1;
do {
if (*puVar2 != 0) {
appendsp = TRUE;
lVar1 = proc_7F091A78(i);
if (lVar1 != 0) {
appendmp = TRUE;
}
}
i += 1;
puVar2 = puVar2 + 1;
} while (i != 0x4b);
append_cheat_sp = appendsp;
append_cheat_mp = appendmp;
}
#else
GLOBAL_ASM(
.text
glabel update_menu15_cheat
/* 04C724 7F017BF4 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 04C728 7F017BF8 AFB1001C */ sw $s1, 0x1c($sp)
/* 04C72C 7F017BFC AFB40028 */ sw $s4, 0x28($sp)
/* 04C730 7F017C00 AFB30024 */ sw $s3, 0x24($sp)
/* 04C734 7F017C04 AFB20020 */ sw $s2, 0x20($sp)
/* 04C738 7F017C08 AFB00018 */ sw $s0, 0x18($sp)
/* 04C73C 7F017C0C 3C118007 */ lui $s1, %hi(CHEAT_AVAILABLE_EXTRA_CHARS)
/* 04C740 7F017C10 AFBF002C */ sw $ra, 0x2c($sp)
/* 04C744 7F017C14 00009825 */ move $s3, $zero
/* 04C748 7F017C18 0000A025 */ move $s4, $zero
/* 04C74C 7F017C1C 263196A1 */ addiu $s1, %lo(CHEAT_AVAILABLE_EXTRA_CHARS) # addiu $s1, $s1, -0x695f
/* 04C750 7F017C20 24100001 */ li $s0, 1
/* 04C754 7F017C24 2412004B */ li $s2, 75
.L7F017C28:
/* 04C758 7F017C28 922E0000 */ lbu $t6, ($s1)
/* 04C75C 7F017C2C 02002025 */ move $a0, $s0
/* 04C760 7F017C30 51C00007 */ beql $t6, $zero, .L7F017C50
/* 04C764 7F017C34 26100001 */ addiu $s0, $s0, 1
/* 04C768 7F017C38 0FC2469E */ jal cheatCheckIfMPCheat
/* 04C76C 7F017C3C 24130001 */ li $s3, 1
/* 04C770 7F017C40 50400003 */ beql $v0, $zero, .L7F017C50
/* 04C774 7F017C44 26100001 */ addiu $s0, $s0, 1
/* 04C778 7F017C48 24140001 */ li $s4, 1
/* 04C77C 7F017C4C 26100001 */ addiu $s0, $s0, 1
.L7F017C50:
/* 04C780 7F017C50 1612FFF5 */ bne $s0, $s2, .L7F017C28
/* 04C784 7F017C54 26310001 */ addiu $s1, $s1, 1
/* 04C788 7F017C58 3C018003 */ lui $at, %hi(append_cheat_sp)
/* 04C78C 7F017C5C AC33A900 */ sw $s3, %lo(append_cheat_sp)($at)
/* 04C790 7F017C60 8FBF002C */ lw $ra, 0x2c($sp)
/* 04C794 7F017C64 3C018003 */ lui $at, %hi(append_cheat_mp)
/* 04C798 7F017C68 AC34A904 */ sw $s4, %lo(append_cheat_mp)($at)
/* 04C79C 7F017C6C 8FB40028 */ lw $s4, 0x28($sp)
/* 04C7A0 7F017C70 8FB30024 */ lw $s3, 0x24($sp)
/* 04C7A4 7F017C74 8FB00018 */ lw $s0, 0x18($sp)
/* 04C7A8 7F017C78 8FB1001C */ lw $s1, 0x1c($sp)
/* 04C7AC 7F017C7C 8FB20020 */ lw $s2, 0x20($sp)
/* 04C7B0 7F017C80 03E00008 */ jr $ra
/* 04C7B4 7F017C84 27BD0030 */ addiu $sp, $sp, 0x30
)
#endif
#ifdef NONMATCHING
void interface_menu15_cheat(u32 param_1,u32 param_2)
{
int iVar1;
u32 BVar3;
int iVar4;
int iVar5;
viSetFovY(60.00000000);
viSetAspect(menu15_aspect);
viSetZRange(100.00000000, menu15_pageheight);
viSetUseZBuf(0);
MP_menu_selected_option = 0;
iVar1 = dword_8002B5E0;
if (joyGetButtons(0,Z_TRIG|A_BUTTON) == 0) {
tab_3_highlight = FALSE;
tab_2_highlight = FALSE;
tab_1_highlight = FALSE;
dword_8002B5E0 = 0;
BVar3 = isontab3();
if (BVar3 == FALSE) {
iVar1 = dword_8002B5E0;
if (((0xc < dword_8002B5DC) &&
(iVar5 = dword_8002B5DC + -0xd, iVar1 = dword_8002B5E0, 0xdb < (int)(float)cursor_h_pos))
&& (iVar1 = dword_8002B5E0, -1 < iVar5)) {
iVar4 = iVar5 * 0x14 + 0x35;
do {
iVar1 = iVar5 + 0xc;
if (iVar4 <= (int)(float)cursor_v_pos) break;
iVar5 += -1;
iVar4 += -0x14;
iVar1 = dword_8002B5E0;
} while (-1 < iVar5);
}
dword_8002B5E0 = iVar1;
iVar1 = dword_8002B5E0;
if (dword_8002B5E0 == 0) {
iVar5 = dword_8002B5DC + -1;
if (0xc < dword_8002B5DC) {
iVar5 = 0xb;
}
iVar1 = dword_8002B5E0;
if (-1 < iVar5) {
iVar4 = iVar5 * 0x14 + 0x35;
do {
iVar1 = iVar5;
if (iVar4 <= (int)(float)cursor_v_pos) break;
iVar5 += -1;
iVar4 += -0x14;
iVar1 = dword_8002B5E0;
} while (-1 < iVar5);
}
}
}
else {
tab_3_highlight = TRUE;
iVar1 = dword_8002B5E0;
}
}
dword_8002B5E0 = iVar1;
uVar2 = joyGetButtonsPressedThisFrame(0,Z_TRIG|A_BUTTON);
if (uVar2 == 0) {
uVar2 = joyGetButtonsPressedThisFrame(0,B_BUTTON);
if (uVar2 != 0) {
tab_3_selected = TRUE;
play_sfx_a1((s32)(int)g_musicSfxBufferPtr,199,NULL);
}
}
else {
if (tab_3_highlight == FALSE) {
MP_menu_selected_option = 1;
}
else {
tab_3_selected = TRUE;
}
play_sfx_a1((s32)(int)g_musicSfxBufferPtr,199,NULL);
}
disable_all_switches((int)ptr_folder_object_instance);
set_item_visibility_in_objinstance((int)ptr_folder_object_instance,0,1);
set_item_visibility_in_objinstance((int)ptr_folder_object_instance,0x2a,1);
set_item_visibility_in_objinstance((int)ptr_folder_object_instance,6,1);
menu_control_stick_tracking();
if (tab_3_selected == FALSE) {
if (MP_menu_selected_option != 0) {
*(char *)((&DAT_800697f0)[dword_8002B5E0] + -0x7ff96960) =
1 - *(char *)((&DAT_800697f0)[dword_8002B5E0] + -0x7ff96960);
}
}
else {
set_menu_to_mode(MENU_MODE_SELECT,0);
setCursorPOSforMode(gamemode);
}
}
#else
GLOBAL_ASM(
.late_rodata
glabel menu15_aspect
.word 0x3FAAAAAB /*1.3333334;*/
glabel menu15_pageheight
.word 0x461C4000 /*10000.0;*/
.text
glabel interface_menu15_cheat
/* 04C7B8 7F017C88 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 04C7BC 7F017C8C 3C014270 */ li $at, 0x42700000 # 60.000000
/* 04C7C0 7F017C90 AFBF0014 */ sw $ra, 0x14($sp)
/* 04C7C4 7F017C94 44816000 */ mtc1 $at, $f12
/* 04C7C8 7F017C98 0C001151 */ jal viSetFovY
/* 04C7CC 7F017C9C 00000000 */ nop
/* 04C7D0 7F017CA0 3C018005 */ lui $at, %hi(menu15_aspect)
/* 04C7D4 7F017CA4 0C001164 */ jal viSetAspect
/* 04C7D8 7F017CA8 C42C1AE4 */ lwc1 $f12, %lo(menu15_aspect)($at)
/* 04C7DC 7F017CAC 3C0142C8 */ li $at, 0x42C80000 # 100.000000
/* 04C7E0 7F017CB0 44816000 */ mtc1 $at, $f12
/* 04C7E4 7F017CB4 3C018005 */ lui $at, %hi(menu15_pageheight)
/* 04C7E8 7F017CB8 0C001194 */ jal viSetZRange
/* 04C7EC 7F017CBC C42E1AE8 */ lwc1 $f14, %lo(menu15_pageheight)($at)
/* 04C7F0 7F017CC0 0C00114D */ jal viSetUseZBuf
/* 04C7F4 7F017CC4 00002025 */ move $a0, $zero
/* 04C7F8 7F017CC8 3C018003 */ lui $at, %hi(MP_menu_selected_option)
/* 04C7FC 7F017CCC AC20B5E4 */ sw $zero, %lo(MP_menu_selected_option)($at)
/* 04C800 7F017CD0 00002025 */ move $a0, $zero
/* 04C804 7F017CD4 0C0030C3 */ jal joyGetButtons
/* 04C808 7F017CD8 3405A000 */ li $a1, 40960
/* 04C80C 7F017CDC 14400049 */ bnez $v0, .L7F017E04
/* 04C810 7F017CE0 3C018003 */ lui $at, %hi(tab_3_highlight)
/* 04C814 7F017CE4 AC20A8E4 */ sw $zero, %lo(tab_3_highlight)($at)
/* 04C818 7F017CE8 3C018003 */ lui $at, %hi(tab_2_highlight)
/* 04C81C 7F017CEC AC20A8E0 */ sw $zero, %lo(tab_2_highlight)($at)
/* 04C820 7F017CF0 3C018003 */ lui $at, %hi(tab_1_highlight)
/* 04C824 7F017CF4 AC20A8DC */ sw $zero, %lo(tab_1_highlight)($at)
/* 04C828 7F017CF8 3C018003 */ lui $at, %hi(D_8002B5E0)
/* 04C82C 7F017CFC 0FC028E7 */ jal isontab3
/* 04C830 7F017D00 AC20B5E0 */ sw $zero, %lo(D_8002B5E0)($at)
/* 04C834 7F017D04 10400005 */ beqz $v0, .L7F017D1C
/* 04C838 7F017D08 3C058003 */ lui $a1, %hi(D_8002B5DC)
/* 04C83C 7F017D0C 240E0001 */ li $t6, 1
/* 04C840 7F017D10 3C018003 */ lui $at, %hi(tab_3_highlight)
/* 04C844 7F017D14 1000003B */ b .L7F017E04
/* 04C848 7F017D18 AC2EA8E4 */ sw $t6, %lo(tab_3_highlight)($at)
.L7F017D1C:
/* 04C84C 7F017D1C 8CA5B5DC */ lw $a1, %lo(D_8002B5DC)($a1)
/* 04C850 7F017D20 3C098003 */ lui $t1, %hi(D_8002B5E0)
/* 04C854 7F017D24 28A1000D */ slti $at, $a1, 0xd
/* 04C858 7F017D28 1420001C */ bnez $at, .L7F017D9C
/* 04C85C 7F017D2C 3C018003 */ lui $at, %hi(cursor_h_pos)
/* 04C860 7F017D30 C424A908 */ lwc1 $f4, %lo(cursor_h_pos)($at)
/* 04C864 7F017D34 24A3FFF3 */ addiu $v1, $a1, -0xd
/* 04C868 7F017D38 4600218D */ trunc.w.s $f6, $f4
/* 04C86C 7F017D3C 44183000 */ mfc1 $t8, $f6
/* 04C870 7F017D40 00000000 */ nop
/* 04C874 7F017D44 2B0100DC */ slti $at, $t8, 0xdc
/* 04C878 7F017D48 14200014 */ bnez $at, .L7F017D9C
/* 04C87C 7F017D4C 00000000 */ nop
/* 04C880 7F017D50 04600012 */ bltz $v1, .L7F017D9C
/* 04C884 7F017D54 3C018003 */ lui $at, %hi(cursor_v_pos)
/* 04C888 7F017D58 C428A90C */ lwc1 $f8, %lo(cursor_v_pos)($at)
/* 04C88C 7F017D5C 00031080 */ sll $v0, $v1, 2
/* 04C890 7F017D60 00431021 */ addu $v0, $v0, $v1
/* 04C894 7F017D64 4600428D */ trunc.w.s $f10, $f8
/* 04C898 7F017D68 00021080 */ sll $v0, $v0, 2
/* 04C89C 7F017D6C 24420035 */ addiu $v0, $v0, 0x35
/* 04C8A0 7F017D70 44045000 */ mfc1 $a0, $f10
/* 04C8A4 7F017D74 00000000 */ nop
.L7F017D78:
/* 04C8A8 7F017D78 0082082A */ slt $at, $a0, $v0
/* 04C8AC 7F017D7C 14200004 */ bnez $at, .L7F017D90
/* 04C8B0 7F017D80 2468000C */ addiu $t0, $v1, 0xc
/* 04C8B4 7F017D84 3C018003 */ lui $at, %hi(D_8002B5E0)
/* 04C8B8 7F017D88 10000004 */ b .L7F017D9C
/* 04C8BC 7F017D8C AC28B5E0 */ sw $t0, %lo(D_8002B5E0)($at)
.L7F017D90:
/* 04C8C0 7F017D90 2463FFFF */ addiu $v1, $v1, -1
/* 04C8C4 7F017D94 0461FFF8 */ bgez $v1, .L7F017D78
/* 04C8C8 7F017D98 2442FFEC */ addiu $v0, $v0, -0x14
.L7F017D9C:
/* 04C8CC 7F017D9C 8D29B5E0 */ lw $t1, %lo(D_8002B5E0)($t1)
/* 04C8D0 7F017DA0 28A1000D */ slti $at, $a1, 0xd
/* 04C8D4 7F017DA4 55200018 */ bnezl $t1, .L7F017E08
/* 04C8D8 7F017DA8 00002025 */ move $a0, $zero
/* 04C8DC 7F017DAC 14200003 */ bnez $at, .L7F017DBC
/* 04C8E0 7F017DB0 24A3FFFF */ addiu $v1, $a1, -1
/* 04C8E4 7F017DB4 10000001 */ b .L7F017DBC
/* 04C8E8 7F017DB8 2403000B */ li $v1, 11
.L7F017DBC:
/* 04C8EC 7F017DBC 04600011 */ bltz $v1, .L7F017E04
/* 04C8F0 7F017DC0 3C018003 */ lui $at, %hi(cursor_v_pos)
/* 04C8F4 7F017DC4 C430A90C */ lwc1 $f16, %lo(cursor_v_pos)($at)
/* 04C8F8 7F017DC8 00031080 */ sll $v0, $v1, 2
/* 04C8FC 7F017DCC 00431021 */ addu $v0, $v0, $v1
/* 04C900 7F017DD0 4600848D */ trunc.w.s $f18, $f16
/* 04C904 7F017DD4 00021080 */ sll $v0, $v0, 2
/* 04C908 7F017DD8 24420035 */ addiu $v0, $v0, 0x35
/* 04C90C 7F017DDC 44049000 */ mfc1 $a0, $f18
/* 04C910 7F017DE0 00000000 */ nop
.L7F017DE4:
/* 04C914 7F017DE4 0082082A */ slt $at, $a0, $v0
/* 04C918 7F017DE8 14200003 */ bnez $at, .L7F017DF8
/* 04C91C 7F017DEC 3C018003 */ lui $at, %hi(D_8002B5E0)
/* 04C920 7F017DF0 10000004 */ b .L7F017E04
/* 04C924 7F017DF4 AC23B5E0 */ sw $v1, %lo(D_8002B5E0)($at)
.L7F017DF8:
/* 04C928 7F017DF8 2463FFFF */ addiu $v1, $v1, -1
/* 04C92C 7F017DFC 0461FFF9 */ bgez $v1, .L7F017DE4
/* 04C930 7F017E00 2442FFEC */ addiu $v0, $v0, -0x14
.L7F017E04:
/* 04C934 7F017E04 00002025 */ move $a0, $zero
.L7F017E08:
/* 04C938 7F017E08 0C0030EB */ jal joyGetButtonsPressedThisFrame
/* 04C93C 7F017E0C 3405A000 */ li $a1, 40960
/* 04C940 7F017E10 10400012 */ beqz $v0, .L7F017E5C
/* 04C944 7F017E14 00002025 */ move $a0, $zero
/* 04C948 7F017E18 3C0B8003 */ lui $t3, %hi(tab_3_highlight)
/* 04C94C 7F017E1C 8D6BA8E4 */ lw $t3, %lo(tab_3_highlight)($t3)
/* 04C950 7F017E20 3C048006 */ lui $a0, %hi(g_musicSfxBufferPtr)
/* 04C954 7F017E24 240500C7 */ li $a1, 199
/* 04C958 7F017E28 11600005 */ beqz $t3, .L7F017E40
/* 04C95C 7F017E2C 00003025 */ move $a2, $zero
/* 04C960 7F017E30 240C0001 */ li $t4, 1
/* 04C964 7F017E34 3C018003 */ lui $at, %hi(tab_3_selected)
/* 04C968 7F017E38 10000004 */ b .L7F017E4C
/* 04C96C 7F017E3C AC2CA8D8 */ sw $t4, %lo(tab_3_selected)($at)
.L7F017E40:
/* 04C970 7F017E40 240D0001 */ li $t5, 1
/* 04C974 7F017E44 3C018003 */ lui $at, %hi(MP_menu_selected_option)
/* 04C978 7F017E48 AC2DB5E4 */ sw $t5, %lo(MP_menu_selected_option)($at)
.L7F017E4C:
/* 04C97C 7F017E4C 0C002382 */ jal play_sfx_a1
/* 04C980 7F017E50 8C843720 */ lw $a0, %lo(g_musicSfxBufferPtr)($a0)
/* 04C984 7F017E54 1000000C */ b .L7F017E88
/* 04C988 7F017E58 00000000 */ nop
.L7F017E5C:
/* 04C98C 7F017E5C 0C0030EB */ jal joyGetButtonsPressedThisFrame
/* 04C990 7F017E60 24054000 */ li $a1, 16384
/* 04C994 7F017E64 10400008 */ beqz $v0, .L7F017E88
/* 04C998 7F017E68 240E0001 */ li $t6, 1
/* 04C99C 7F017E6C 3C018003 */ lui $at, %hi(tab_3_selected)
/* 04C9A0 7F017E70 3C048006 */ lui $a0, %hi(g_musicSfxBufferPtr)
/* 04C9A4 7F017E74 AC2EA8D8 */ sw $t6, %lo(tab_3_selected)($at)
/* 04C9A8 7F017E78 8C843720 */ lw $a0, %lo(g_musicSfxBufferPtr)($a0)
/* 04C9AC 7F017E7C 240500C7 */ li $a1, 199
/* 04C9B0 7F017E80 0C002382 */ jal play_sfx_a1
/* 04C9B4 7F017E84 00003025 */ move $a2, $zero
.L7F017E88:
/* 04C9B8 7F017E88 3C048003 */ lui $a0, %hi(ptr_folder_object_instance)
/* 04C9BC 7F017E8C 0FC02DC9 */ jal disable_all_switches
/* 04C9C0 7F017E90 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0)
/* 04C9C4 7F017E94 3C048003 */ lui $a0, %hi(ptr_folder_object_instance)
/* 04C9C8 7F017E98 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0)
/* 04C9CC 7F017E9C 00002825 */ move $a1, $zero
/* 04C9D0 7F017EA0 0FC02DF0 */ jal set_item_visibility_in_objinstance
/* 04C9D4 7F017EA4 24060001 */ li $a2, 1
/* 04C9D8 7F017EA8 3C048003 */ lui $a0, %hi(ptr_folder_object_instance)
/* 04C9DC 7F017EAC 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0)
/* 04C9E0 7F017EB0 2405002A */ li $a1, 42
/* 04C9E4 7F017EB4 0FC02DF0 */ jal set_item_visibility_in_objinstance
/* 04C9E8 7F017EB8 24060001 */ li $a2, 1
/* 04C9EC 7F017EBC 3C048003 */ lui $a0, %hi(ptr_folder_object_instance)
/* 04C9F0 7F017EC0 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0)
/* 04C9F4 7F017EC4 24050006 */ li $a1, 6
/* 04C9F8 7F017EC8 0FC02DF0 */ jal set_item_visibility_in_objinstance
/* 04C9FC 7F017ECC 24060001 */ li $a2, 1
/* 04CA00 7F017ED0 0FC026E1 */ jal menu_control_stick_tracking
/* 04CA04 7F017ED4 00000000 */ nop
/* 04CA08 7F017ED8 3C0F8003 */ lui $t7, %hi(tab_3_selected)
/* 04CA0C 7F017EDC 8DEFA8D8 */ lw $t7, %lo(tab_3_selected)($t7)
/* 04CA10 7F017EE0 24040006 */ li $a0, 6
/* 04CA14 7F017EE4 3C188003 */ lui $t8, %hi(MP_menu_selected_option)
/* 04CA18 7F017EE8 11E00008 */ beqz $t7, .L7F017F0C
/* 04CA1C 7F017EEC 00000000 */ nop
/* 04CA20 7F017EF0 0FC06975 */ jal set_menu_to_mode
/* 04CA24 7F017EF4 00002825 */ move $a1, $zero
/* 04CA28 7F017EF8 3C048003 */ lui $a0, %hi(gamemode)
/* 04CA2C 7F017EFC 0FC035FF */ jal setCursorPOSforMode
/* 04CA30 7F017F00 8C84A8F0 */ lw $a0, %lo(gamemode)($a0)
/* 04CA34 7F017F04 10000012 */ b .L7F017F50
/* 04CA38 7F017F08 8FBF0014 */ lw $ra, 0x14($sp)
.L7F017F0C:
/* 04CA3C 7F017F0C 8F18B5E4 */ lw $t8, %lo(MP_menu_selected_option)($t8)
/* 04CA40 7F017F10 3C198003 */ lui $t9, %hi(D_8002B5E0)
/* 04CA44 7F017F14 5300000E */ beql $t8, $zero, .L7F017F50
/* 04CA48 7F017F18 8FBF0014 */ lw $ra, 0x14($sp)
/* 04CA4C 7F017F1C 8F39B5E0 */ lw $t9, %lo(D_8002B5E0)($t9)
/* 04CA50 7F017F20 3C038007 */ lui $v1, %hi(dword_CODE_bss_800697F0)
/* 04CA54 7F017F24 3C098007 */ lui $t1, %hi(cheat_activated)
/* 04CA58 7F017F28 00194080 */ sll $t0, $t9, 2
/* 04CA5C 7F017F2C 00681821 */ addu $v1, $v1, $t0
/* 04CA60 7F017F30 8C6397F0 */ lw $v1, %lo(dword_CODE_bss_800697F0)($v1)
/* 04CA64 7F017F34 252996A0 */ addiu $t1, %lo(cheat_activated) # addiu $t1, $t1, -0x6960
/* 04CA68 7F017F38 240B0001 */ li $t3, 1
/* 04CA6C 7F017F3C 00691021 */ addu $v0, $v1, $t1
/* 04CA70 7F017F40 904A0000 */ lbu $t2, ($v0)
/* 04CA74 7F017F44 016A6023 */ subu $t4, $t3, $t2
/* 04CA78 7F017F48 A04C0000 */ sb $t4, ($v0)
/* 04CA7C 7F017F4C 8FBF0014 */ lw $ra, 0x14($sp)
.L7F017F50:
/* 04CA80 7F017F50 27BD0018 */ addiu $sp, $sp, 0x18
/* 04CA84 7F017F54 03E00008 */ jr $ra
/* 04CA88 7F017F58 00000000 */ nop
)
#endif
#ifdef NONMATCHING
void constructor_menu15_cheat(void) {
}
#else
GLOBAL_ASM(
.text
glabel constructor_menu15_cheat
/* 04CA8C 7F017F5C 27BDFF68 */ addiu $sp, $sp, -0x98
/* 04CA90 7F017F60 AFBF005C */ sw $ra, 0x5c($sp)
/* 04CA94 7F017F64 AFBE0058 */ sw $fp, 0x58($sp)
/* 04CA98 7F017F68 AFB70054 */ sw $s7, 0x54($sp)
/* 04CA9C 7F017F6C AFB60050 */ sw $s6, 0x50($sp)
/* 04CAA0 7F017F70 AFB5004C */ sw $s5, 0x4c($sp)
/* 04CAA4 7F017F74 AFB40048 */ sw $s4, 0x48($sp)
/* 04CAA8 7F017F78 AFB30044 */ sw $s3, 0x44($sp)
/* 04CAAC 7F017F7C AFB20040 */ sw $s2, 0x40($sp)
/* 04CAB0 7F017F80 AFB1003C */ sw $s1, 0x3c($sp)
/* 04CAB4 7F017F84 AFB00038 */ sw $s0, 0x38($sp)
/* 04CAB8 7F017F88 00002825 */ move $a1, $zero
/* 04CABC 7F017F8C 00003025 */ move $a2, $zero
/* 04CAC0 7F017F90 0C0011B4 */ jal viSetFillColor
/* 04CAC4 7F017F94 00003825 */ move $a3, $zero
/* 04CAC8 7F017F98 0C000FBE */ jal viFillScreen
/* 04CACC 7F017F9C 00402025 */ move $a0, $v0
/* 04CAD0 7F017FA0 0FC0357A */ jal sub_GAME_7F00D5E8
/* 04CAD4 7F017FA4 00402025 */ move $a0, $v0
/* 04CAD8 7F017FA8 0FC2B366 */ jal microcode_constructor
/* 04CADC 7F017FAC 00402025 */ move $a0, $v0
/* 04CAE0 7F017FB0 3C038003 */ lui $v1, %hi(D_8002B5DC)
/* 04CAE4 7F017FB4 8C63B5DC */ lw $v1, %lo(D_8002B5DC)($v1)
/* 04CAE8 7F017FB8 0040A025 */ move $s4, $v0
/* 04CAEC 7F017FBC 0000F025 */ move $fp, $zero
/* 04CAF0 7F017FC0 2861000D */ slti $at, $v1, 0xd
/* 04CAF4 7F017FC4 14200003 */ bnez $at, .L7F017FD4
/* 04CAF8 7F017FC8 00608825 */ move $s1, $v1
/* 04CAFC 7F017FCC 10000001 */ b .L7F017FD4
/* 04CB00 7F017FD0 2411000C */ li $s1, 12
.L7F017FD4:
/* 04CB04 7F017FD4 1A200086 */ blez $s1, .L7F0181F0
/* 04CB08 7F017FD8 001E7080 */ sll $t6, $fp, 2
/* 04CB0C 7F017FDC 001EA880 */ sll $s5, $fp, 2
/* 04CB10 7F017FE0 02BEA821 */ addu $s5, $s5, $fp
/* 04CB14 7F017FE4 3C0F8007 */ lui $t7, %hi(dword_CODE_bss_800697F0)
/* 04CB18 7F017FE8 25EF97F0 */ addiu $t7, %lo(dword_CODE_bss_800697F0) # addiu $t7, $t7, -0x6810
/* 04CB1C 7F017FEC 0015A880 */ sll $s5, $s5, 2
/* 04CB20 7F017FF0 3C178004 */ lui $s7, %hi(ptrFirstFontTableLarge)
/* 04CB24 7F017FF4 3C168004 */ lui $s6, %hi(ptrSecondFontTableLarge)
/* 04CB28 7F017FF8 26D60EB8 */ addiu $s6, %lo(ptrSecondFontTableLarge) # addiu $s6, $s6, 0xeb8
/* 04CB2C 7F017FFC 26F70EB4 */ addiu $s7, %lo(ptrFirstFontTableLarge) # addiu $s7, $s7, 0xeb4
/* 04CB30 7F018000 26B50035 */ addiu $s5, $s5, 0x35
/* 04CB34 7F018004 01CF9821 */ addu $s3, $t6, $t7
.L7F018008:
/* 04CB38 7F018008 0FC249DD */ jal cheatGetMenuTextPointer
/* 04CB3C 7F01800C 8E640000 */ lw $a0, ($s3)
/* 04CB40 7F018010 8EF80000 */ lw $t8, ($s7)
/* 04CB44 7F018014 00409025 */ move $s2, $v0
/* 04CB48 7F018018 27A40080 */ addiu $a0, $sp, 0x80
/* 04CB4C 7F01801C 27A5007C */ addiu $a1, $sp, 0x7c
/* 04CB50 7F018020 00403025 */ move $a2, $v0
/* 04CB54 7F018024 8EC70000 */ lw $a3, ($s6)
/* 04CB58 7F018028 AFA00014 */ sw $zero, 0x14($sp)
/* 04CB5C 7F01802C 0FC2BA63 */ jal sub_GAME_7F0AE98C
/* 04CB60 7F018030 AFB80010 */ sw $t8, 0x10($sp)
/* 04CB64 7F018034 3C198003 */ lui $t9, %hi(D_8002B5E0)
/* 04CB68 7F018038 8F39B5E0 */ lw $t9, %lo(D_8002B5E0)($t9)
/* 04CB6C 7F01803C 24020037 */ li $v0, 55
/* 04CB70 7F018040 AFA20088 */ sw $v0, 0x88($sp)
/* 04CB74 7F018044 17D90012 */ bne $fp, $t9, .L7F018090
/* 04CB78 7F018048 AFB50084 */ sw $s5, 0x84($sp)
/* 04CB7C 7F01804C 0FC028E7 */ jal isontab3
/* 04CB80 7F018050 00000000 */ nop
/* 04CB84 7F018054 1440000E */ bnez $v0, .L7F018090
/* 04CB88 7F018058 8FA30084 */ lw $v1, 0x84($sp)
/* 04CB8C 7F01805C 8FA20088 */ lw $v0, 0x88($sp)
/* 04CB90 7F018060 8FA8007C */ lw $t0, 0x7c($sp)
/* 04CB94 7F018064 2469000E */ addiu $t1, $v1, 0xe
/* 04CB98 7F018068 240A0032 */ li $t2, 50
/* 04CB9C 7F01806C 00483821 */ addu $a3, $v0, $t0
/* 04CBA0 7F018070 24E70005 */ addiu $a3, $a3, 5
/* 04CBA4 7F018074 AFAA0014 */ sw $t2, 0x14($sp)
/* 04CBA8 7F018078 AFA90010 */ sw $t1, 0x10($sp)
/* 04CBAC 7F01807C 02802025 */ move $a0, $s4
/* 04CBB0 7F018080 2466FFFF */ addiu $a2, $v1, -1
/* 04CBB4 7F018084 0FC2B405 */ jal microcode_constructor_related_to_menus
/* 04CBB8 7F018088 2445FFFE */ addiu $a1, $v0, -2
/* 04CBBC 7F01808C 0040A025 */ move $s4, $v0
.L7F018090:
/* 04CBC0 7F018090 0C001107 */ jal viGetX
/* 04CBC4 7F018094 00000000 */ nop
/* 04CBC8 7F018098 00028400 */ sll $s0, $v0, 0x10
/* 04CBCC 7F01809C 00105C03 */ sra $t3, $s0, 0x10
/* 04CBD0 7F0180A0 0C00110B */ jal viGetY
/* 04CBD4 7F0180A4 01608025 */ move $s0, $t3
/* 04CBD8 7F0180A8 8ECC0000 */ lw $t4, ($s6)
/* 04CBDC 7F0180AC 8EED0000 */ lw $t5, ($s7)
/* 04CBE0 7F0180B0 240E00FF */ li $t6, 255
/* 04CBE4 7F0180B4 AFAE0018 */ sw $t6, 0x18($sp)
/* 04CBE8 7F0180B8 02802025 */ move $a0, $s4
/* 04CBEC 7F0180BC 27A50088 */ addiu $a1, $sp, 0x88
/* 04CBF0 7F0180C0 27A60084 */ addiu $a2, $sp, 0x84
/* 04CBF4 7F0180C4 02403825 */ move $a3, $s2
/* 04CBF8 7F0180C8 AFB0001C */ sw $s0, 0x1c($sp)
/* 04CBFC 7F0180CC AFA20020 */ sw $v0, 0x20($sp)
/* 04CC00 7F0180D0 AFA00024 */ sw $zero, 0x24($sp)
/* 04CC04 7F0180D4 AFA00028 */ sw $zero, 0x28($sp)
/* 04CC08 7F0180D8 AFAC0010 */ sw $t4, 0x10($sp)
/* 04CC0C 7F0180DC 0FC025D8 */ jal write_text_at_abs_coord
/* 04CC10 7F0180E0 AFAD0014 */ sw $t5, 0x14($sp)
/* 04CC14 7F0180E4 8E6F0000 */ lw $t7, ($s3)
/* 04CC18 7F0180E8 3C188007 */ lui $t8, %hi(cheat_activated)
/* 04CC1C 7F0180EC 0040A025 */ move $s4, $v0
/* 04CC20 7F0180F0 030FC021 */ addu $t8, $t8, $t7
/* 04CC24 7F0180F4 931896A0 */ lbu $t8, %lo(cheat_activated)($t8)
/* 04CC28 7F0180F8 34119C74 */ li $s1, 40052
/* 04CC2C 7F0180FC 13000003 */ beqz $t8, .L7F01810C
/* 04CC30 7F018100 00000000 */ nop
/* 04CC34 7F018104 10000001 */ b .L7F01810C
/* 04CC38 7F018108 34119C73 */ li $s1, 40051
.L7F01810C:
/* 04CC3C 7F01810C 0FC30776 */ jal get_textptr_for_textID
/* 04CC40 7F018110 02202025 */ move $a0, $s1
/* 04CC44 7F018114 8EF90000 */ lw $t9, ($s7)
/* 04CC48 7F018118 00409025 */ move $s2, $v0
/* 04CC4C 7F01811C 27A40080 */ addiu $a0, $sp, 0x80
/* 04CC50 7F018120 27A5007C */ addiu $a1, $sp, 0x7c
/* 04CC54 7F018124 00403025 */ move $a2, $v0
/* 04CC58 7F018128 8EC70000 */ lw $a3, ($s6)
/* 04CC5C 7F01812C AFA00014 */ sw $zero, 0x14($sp)
/* 04CC60 7F018130 0FC2BA63 */ jal sub_GAME_7F0AE98C
/* 04CC64 7F018134 AFB90010 */ sw $t9, 0x10($sp)
/* 04CC68 7F018138 8E680000 */ lw $t0, ($s3)
/* 04CC6C 7F01813C 3C098007 */ lui $t1, %hi(cheat_activated)
/* 04CC70 7F018140 240200B3 */ li $v0, 179
/* 04CC74 7F018144 01284821 */ addu $t1, $t1, $t0
/* 04CC78 7F018148 912996A0 */ lbu $t1, %lo(cheat_activated)($t1)
/* 04CC7C 7F01814C AFA20088 */ sw $v0, 0x88($sp)
/* 04CC80 7F018150 AFB50084 */ sw $s5, 0x84($sp)
/* 04CC84 7F018154 11200004 */ beqz $t1, .L7F018168
/* 04CC88 7F018158 241100FF */ li $s1, 255
/* 04CC8C 7F01815C 3C11A000 */ lui $s1, (0xA00000FF >> 16) # lui $s1, 0xa000
/* 04CC90 7F018160 10000001 */ b .L7F018168
/* 04CC94 7F018164 363100FF */ ori $s1, (0xA00000FF & 0xFFFF) # ori $s1, $s1, 0xff
.L7F018168:
/* 04CC98 7F018168 0C001107 */ jal viGetX
/* 04CC9C 7F01816C 00000000 */ nop
/* 04CCA0 7F018170 00028400 */ sll $s0, $v0, 0x10
/* 04CCA4 7F018174 00105403 */ sra $t2, $s0, 0x10
/* 04CCA8 7F018178 0C00110B */ jal viGetY
/* 04CCAC 7F01817C 01408025 */ move $s0, $t2
/* 04CCB0 7F018180 8ECB0000 */ lw $t3, ($s6)
/* 04CCB4 7F018184 8EEC0000 */ lw $t4, ($s7)
/* 04CCB8 7F018188 02802025 */ move $a0, $s4
/* 04CCBC 7F01818C 27A50088 */ addiu $a1, $sp, 0x88
/* 04CCC0 7F018190 27A60084 */ addiu $a2, $sp, 0x84
/* 04CCC4 7F018194 02403825 */ move $a3, $s2
/* 04CCC8 7F018198 AFB10018 */ sw $s1, 0x18($sp)
/* 04CCCC 7F01819C AFB0001C */ sw $s0, 0x1c($sp)
/* 04CCD0 7F0181A0 AFA20020 */ sw $v0, 0x20($sp)
/* 04CCD4 7F0181A4 AFA00024 */ sw $zero, 0x24($sp)
/* 04CCD8 7F0181A8 AFA00028 */ sw $zero, 0x28($sp)
/* 04CCDC 7F0181AC AFAB0010 */ sw $t3, 0x10($sp)
/* 04CCE0 7F0181B0 0FC025D8 */ jal write_text_at_abs_coord
/* 04CCE4 7F0181B4 AFAC0014 */ sw $t4, 0x14($sp)
/* 04CCE8 7F0181B8 3C038003 */ lui $v1, %hi(D_8002B5DC)
/* 04CCEC 7F0181BC 8C63B5DC */ lw $v1, %lo(D_8002B5DC)($v1)
/* 04CCF0 7F0181C0 27DE0001 */ addiu $fp, $fp, 1
/* 04CCF4 7F0181C4 26730004 */ addiu $s3, $s3, 4
/* 04CCF8 7F0181C8 2861000D */ slti $at, $v1, 0xd
/* 04CCFC 7F0181CC 26B50014 */ addiu $s5, $s5, 0x14
/* 04CD00 7F0181D0 14200003 */ bnez $at, .L7F0181E0
/* 04CD04 7F0181D4 0040A025 */ move $s4, $v0
/* 04CD08 7F0181D8 10000002 */ b .L7F0181E4
/* 04CD0C 7F0181DC 2411000C */ li $s1, 12
.L7F0181E0:
/* 04CD10 7F0181E0 00608825 */ move $s1, $v1
.L7F0181E4:
/* 04CD14 7F0181E4 03D1082A */ slt $at, $fp, $s1
/* 04CD18 7F0181E8 1420FF87 */ bnez $at, .L7F018008
/* 04CD1C 7F0181EC 00000000 */ nop
.L7F0181F0:
/* 04CD20 7F0181F0 3C168004 */ lui $s6, %hi(ptrSecondFontTableLarge)
/* 04CD24 7F0181F4 3C178004 */ lui $s7, %hi(ptrFirstFontTableLarge)
/* 04CD28 7F0181F8 2861000D */ slti $at, $v1, 0xd
/* 04CD2C 7F0181FC 26F70EB4 */ addiu $s7, %lo(ptrFirstFontTableLarge) # addiu $s7, $s7, 0xeb4
/* 04CD30 7F018200 1420007D */ bnez $at, .L7F0183F8
/* 04CD34 7F018204 26D60EB8 */ addiu $s6, %lo(ptrSecondFontTableLarge) # addiu $s6, $s6, 0xeb8
/* 04CD38 7F018208 246DFFF4 */ addiu $t5, $v1, -0xc
/* 04CD3C 7F01820C 19A0007A */ blez $t5, .L7F0183F8
/* 04CD40 7F018210 0000F025 */ move $fp, $zero
/* 04CD44 7F018214 3C138007 */ lui $s3, %hi(dword_CODE_bss_800697F0)
/* 04CD48 7F018218 267397F0 */ addiu $s3, %lo(dword_CODE_bss_800697F0) # addiu $s3, $s3, -0x6810
/* 04CD4C 7F01821C 24150035 */ li $s5, 53
.L7F018220:
/* 04CD50 7F018220 0FC249DD */ jal cheatGetMenuTextPointer
/* 04CD54 7F018224 8E640030 */ lw $a0, 0x30($s3)
/* 04CD58 7F018228 8EEE0000 */ lw $t6, ($s7)
/* 04CD5C 7F01822C 00409025 */ move $s2, $v0
/* 04CD60 7F018230 27A40080 */ addiu $a0, $sp, 0x80
/* 04CD64 7F018234 27A5007C */ addiu $a1, $sp, 0x7c
/* 04CD68 7F018238 00403025 */ move $a2, $v0
/* 04CD6C 7F01823C 8EC70000 */ lw $a3, ($s6)
/* 04CD70 7F018240 AFA00014 */ sw $zero, 0x14($sp)
/* 04CD74 7F018244 0FC2BA63 */ jal sub_GAME_7F0AE98C
/* 04CD78 7F018248 AFAE0010 */ sw $t6, 0x10($sp)
/* 04CD7C 7F01824C 3C188003 */ lui $t8, %hi(D_8002B5E0)
/* 04CD80 7F018250 8F18B5E0 */ lw $t8, %lo(D_8002B5E0)($t8)
/* 04CD84 7F018254 240200DC */ li $v0, 220
/* 04CD88 7F018258 27CF000C */ addiu $t7, $fp, 0xc
/* 04CD8C 7F01825C AFA20088 */ sw $v0, 0x88($sp)
/* 04CD90 7F018260 15F80012 */ bne $t7, $t8, .L7F0182AC
/* 04CD94 7F018264 AFB50084 */ sw $s5, 0x84($sp)
/* 04CD98 7F018268 0FC028E7 */ jal isontab3
/* 04CD9C 7F01826C 00000000 */ nop
/* 04CDA0 7F018270 1440000E */ bnez $v0, .L7F0182AC
/* 04CDA4 7F018274 8FA30084 */ lw $v1, 0x84($sp)
/* 04CDA8 7F018278 8FA20088 */ lw $v0, 0x88($sp)
/* 04CDAC 7F01827C 8FB9007C */ lw $t9, 0x7c($sp)
/* 04CDB0 7F018280 2468000E */ addiu $t0, $v1, 0xe
/* 04CDB4 7F018284 24090032 */ li $t1, 50
/* 04CDB8 7F018288 00593821 */ addu $a3, $v0, $t9
/* 04CDBC 7F01828C 24E70005 */ addiu $a3, $a3, 5
/* 04CDC0 7F018290 AFA90014 */ sw $t1, 0x14($sp)
/* 04CDC4 7F018294 AFA80010 */ sw $t0, 0x10($sp)
/* 04CDC8 7F018298 02802025 */ move $a0, $s4
/* 04CDCC 7F01829C 2466FFFF */ addiu $a2, $v1, -1
/* 04CDD0 7F0182A0 0FC2B405 */ jal microcode_constructor_related_to_menus
/* 04CDD4 7F0182A4 2445FFFE */ addiu $a1, $v0, -2
/* 04CDD8 7F0182A8 0040A025 */ move $s4, $v0
.L7F0182AC:
/* 04CDDC 7F0182AC 0C001107 */ jal viGetX
/* 04CDE0 7F0182B0 00000000 */ nop
/* 04CDE4 7F0182B4 00028400 */ sll $s0, $v0, 0x10
/* 04CDE8 7F0182B8 00105403 */ sra $t2, $s0, 0x10
/* 04CDEC 7F0182BC 0C00110B */ jal viGetY
/* 04CDF0 7F0182C0 01408025 */ move $s0, $t2
/* 04CDF4 7F0182C4 8ECB0000 */ lw $t3, ($s6)
/* 04CDF8 7F0182C8 8EEC0000 */ lw $t4, ($s7)
/* 04CDFC 7F0182CC 240D00FF */ li $t5, 255
/* 04CE00 7F0182D0 AFAD0018 */ sw $t5, 0x18($sp)
/* 04CE04 7F0182D4 02802025 */ move $a0, $s4
/* 04CE08 7F0182D8 27A50088 */ addiu $a1, $sp, 0x88
/* 04CE0C 7F0182DC 27A60084 */ addiu $a2, $sp, 0x84
/* 04CE10 7F0182E0 02403825 */ move $a3, $s2
/* 04CE14 7F0182E4 AFB0001C */ sw $s0, 0x1c($sp)
/* 04CE18 7F0182E8 AFA20020 */ sw $v0, 0x20($sp)
/* 04CE1C 7F0182EC AFA00024 */ sw $zero, 0x24($sp)
/* 04CE20 7F0182F0 AFA00028 */ sw $zero, 0x28($sp)
/* 04CE24 7F0182F4 AFAB0010 */ sw $t3, 0x10($sp)
/* 04CE28 7F0182F8 0FC025D8 */ jal write_text_at_abs_coord
/* 04CE2C 7F0182FC AFAC0014 */ sw $t4, 0x14($sp)
/* 04CE30 7F018300 8E6E0030 */ lw $t6, 0x30($s3)
/* 04CE34 7F018304 3C0F8007 */ lui $t7, %hi(cheat_activated)
/* 04CE38 7F018308 0040A025 */ move $s4, $v0
/* 04CE3C 7F01830C 01EE7821 */ addu $t7, $t7, $t6
/* 04CE40 7F018310 91EF96A0 */ lbu $t7, %lo(cheat_activated)($t7)
/* 04CE44 7F018314 34119C74 */ li $s1, 40052
/* 04CE48 7F018318 11E00003 */ beqz $t7, .L7F018328
/* 04CE4C 7F01831C 00000000 */ nop
/* 04CE50 7F018320 10000001 */ b .L7F018328
/* 04CE54 7F018324 34119C73 */ li $s1, 40051
.L7F018328:
/* 04CE58 7F018328 0FC30776 */ jal get_textptr_for_textID
/* 04CE5C 7F01832C 02202025 */ move $a0, $s1
/* 04CE60 7F018330 8EF80000 */ lw $t8, ($s7)
/* 04CE64 7F018334 00409025 */ move $s2, $v0
/* 04CE68 7F018338 27A40080 */ addiu $a0, $sp, 0x80
/* 04CE6C 7F01833C 27A5007C */ addiu $a1, $sp, 0x7c
/* 04CE70 7F018340 00403025 */ move $a2, $v0
/* 04CE74 7F018344 8EC70000 */ lw $a3, ($s6)
/* 04CE78 7F018348 AFA00014 */ sw $zero, 0x14($sp)
/* 04CE7C 7F01834C 0FC2BA63 */ jal sub_GAME_7F0AE98C
/* 04CE80 7F018350 AFB80010 */ sw $t8, 0x10($sp)
/* 04CE84 7F018354 8E790030 */ lw $t9, 0x30($s3)
/* 04CE88 7F018358 3C088007 */ lui $t0, %hi(cheat_activated)
/* 04CE8C 7F01835C 24020158 */ li $v0, 344
/* 04CE90 7F018360 01194021 */ addu $t0, $t0, $t9
/* 04CE94 7F018364 910896A0 */ lbu $t0, %lo(cheat_activated)($t0)
/* 04CE98 7F018368 AFA20088 */ sw $v0, 0x88($sp)
/* 04CE9C 7F01836C AFB50084 */ sw $s5, 0x84($sp)
/* 04CEA0 7F018370 11000004 */ beqz $t0, .L7F018384
/* 04CEA4 7F018374 241100FF */ li $s1, 255
/* 04CEA8 7F018378 3C11A000 */ lui $s1, (0xA00000FF >> 16) # lui $s1, 0xa000
/* 04CEAC 7F01837C 10000001 */ b .L7F018384
/* 04CEB0 7F018380 363100FF */ ori $s1, (0xA00000FF & 0xFFFF) # ori $s1, $s1, 0xff
.L7F018384:
/* 04CEB4 7F018384 0C001107 */ jal viGetX
/* 04CEB8 7F018388 00000000 */ nop
/* 04CEBC 7F01838C 00028400 */ sll $s0, $v0, 0x10
/* 04CEC0 7F018390 00104C03 */ sra $t1, $s0, 0x10
/* 04CEC4 7F018394 0C00110B */ jal viGetY
/* 04CEC8 7F018398 01208025 */ move $s0, $t1
/* 04CECC 7F01839C 8ECA0000 */ lw $t2, ($s6)
/* 04CED0 7F0183A0 8EEB0000 */ lw $t3, ($s7)
/* 04CED4 7F0183A4 02802025 */ move $a0, $s4
/* 04CED8 7F0183A8 27A50088 */ addiu $a1, $sp, 0x88
/* 04CEDC 7F0183AC 27A60084 */ addiu $a2, $sp, 0x84
/* 04CEE0 7F0183B0 02403825 */ move $a3, $s2
/* 04CEE4 7F0183B4 AFB10018 */ sw $s1, 0x18($sp)
/* 04CEE8 7F0183B8 AFB0001C */ sw $s0, 0x1c($sp)
/* 04CEEC 7F0183BC AFA20020 */ sw $v0, 0x20($sp)
/* 04CEF0 7F0183C0 AFA00024 */ sw $zero, 0x24($sp)
/* 04CEF4 7F0183C4 AFA00028 */ sw $zero, 0x28($sp)
/* 04CEF8 7F0183C8 AFAA0010 */ sw $t2, 0x10($sp)
/* 04CEFC 7F0183CC 0FC025D8 */ jal write_text_at_abs_coord
/* 04CF00 7F0183D0 AFAB0014 */ sw $t3, 0x14($sp)
/* 04CF04 7F0183D4 3C0C8003 */ lui $t4, %hi(D_8002B5DC)
/* 04CF08 7F0183D8 8D8CB5DC */ lw $t4, %lo(D_8002B5DC)($t4)
/* 04CF0C 7F0183DC 27DE0001 */ addiu $fp, $fp, 1
/* 04CF10 7F0183E0 26730004 */ addiu $s3, $s3, 4
/* 04CF14 7F0183E4 258DFFF4 */ addiu $t5, $t4, -0xc
/* 04CF18 7F0183E8 03CD082A */ slt $at, $fp, $t5
/* 04CF1C 7F0183EC 26B50014 */ addiu $s5, $s5, 0x14
/* 04CF20 7F0183F0 1420FF8B */ bnez $at, .L7F018220
/* 04CF24 7F0183F4 0040A025 */ move $s4, $v0
.L7F0183F8:
/* 04CF28 7F0183F8 0FC0288E */ jal add_tab3_previous
/* 04CF2C 7F0183FC 02802025 */ move $a0, $s4
/* 04CF30 7F018400 0FC027C2 */ jal load_draw_selected_icon_folder_select
/* 04CF34 7F018404 00402025 */ move $a0, $v0
/* 04CF38 7F018408 8FBF005C */ lw $ra, 0x5c($sp)
/* 04CF3C 7F01840C 8FB00038 */ lw $s0, 0x38($sp)
/* 04CF40 7F018410 8FB1003C */ lw $s1, 0x3c($sp)
/* 04CF44 7F018414 8FB20040 */ lw $s2, 0x40($sp)
/* 04CF48 7F018418 8FB30044 */ lw $s3, 0x44($sp)
/* 04CF4C 7F01841C 8FB40048 */ lw $s4, 0x48($sp)
/* 04CF50 7F018420 8FB5004C */ lw $s5, 0x4c($sp)
/* 04CF54 7F018424 8FB60050 */ lw $s6, 0x50($sp)
/* 04CF58 7F018428 8FB70054 */ lw $s7, 0x54($sp)
/* 04CF5C 7F01842C 8FBE0058 */ lw $fp, 0x58($sp)
/* 04CF60 7F018430 03E00008 */ jr $ra
/* 04CF64 7F018434 27BD0098 */ addiu $sp, $sp, 0x98
)
#endif
void init_menu16_nocontroller(void) {
return;
}
void update_menu16_nocontrollers(void) {
return;
}
void interface_menu16_nocontrollers(void) {
return;
}
#ifdef NONMATCHING
void constructor_menu16_nocontrollers(void) {
}
#else
#ifdef VERSION_US
GLOBAL_ASM(
.text
glabel constructor_menu16_nocontrollers
/* 04CF80 7F018450 27BDFFA0 */ addiu $sp, $sp, -0x60
/* 04CF84 7F018454 AFBF0034 */ sw $ra, 0x34($sp)
/* 04CF88 7F018458 0C002E9C */ jal joyGetConnectedControllers
/* 04CF8C 7F01845C AFA40060 */ sw $a0, 0x60($sp)
/* 04CF90 7F018460 304E0008 */ andi $t6, $v0, 8
/* 04CF94 7F018464 00004025 */ move $t0, $zero
/* 04CF98 7F018468 11C00002 */ beqz $t6, .L7F018474
/* 04CF9C 7F01846C 00401825 */ move $v1, $v0
/* 04CFA0 7F018470 24080001 */ li $t0, 1
.L7F018474:
/* 04CFA4 7F018474 306F0004 */ andi $t7, $v1, 4
/* 04CFA8 7F018478 11E00002 */ beqz $t7, .L7F018484
/* 04CFAC 7F01847C 30780002 */ andi $t8, $v1, 2
/* 04CFB0 7F018480 25080001 */ addiu $t0, $t0, 1
.L7F018484:
/* 04CFB4 7F018484 13000002 */ beqz $t8, .L7F018490
/* 04CFB8 7F018488 8FA40060 */ lw $a0, 0x60($sp)
/* 04CFBC 7F01848C 25080001 */ addiu $t0, $t0, 1
.L7F018490:
/* 04CFC0 7F018490 0FC07034 */ jal insert_imageDL
/* 04CFC4 7F018494 AFA80044 */ sw $t0, 0x44($sp)
/* 04CFC8 7F018498 0FC2B366 */ jal microcode_constructor
/* 04CFCC 7F01849C 00402025 */ move $a0, $v0
/* 04CFD0 7F0184A0 8FA80044 */ lw $t0, 0x44($sp)
/* 04CFD4 7F0184A4 AFA20060 */ sw $v0, 0x60($sp)
/* 04CFD8 7F0184A8 24010001 */ li $at, 1
/* 04CFDC 7F0184AC 51000007 */ beql $t0, $zero, .L7F0184CC
/* 04CFE0 7F0184B0 34049C76 */ li $a0, 40054
/* 04CFE4 7F0184B4 11010004 */ beq $t0, $at, .L7F0184C8
/* 04CFE8 7F0184B8 24010002 */ li $at, 2
/* 04CFEC 7F0184BC 11010002 */ beq $t0, $at, .L7F0184C8
/* 04CFF0 7F0184C0 24010003 */ li $at, 3
/* 04CFF4 7F0184C4 15010005 */ bne $t0, $at, .L7F0184DC
.L7F0184C8:
/* 04CFF8 7F0184C8 34049C76 */ li $a0, 40054
.L7F0184CC:
/* 04CFFC 7F0184CC 0FC30776 */ jal get_textptr_for_textID
/* 04D000 7F0184D0 AFA80044 */ sw $t0, 0x44($sp)
/* 04D004 7F0184D4 8FA80044 */ lw $t0, 0x44($sp)
/* 04D008 7F0184D8 AFA2004C */ sw $v0, 0x4c($sp)
.L7F0184DC:
/* 04D00C 7F0184DC 3C198004 */ lui $t9, %hi(ptrFirstFontTableLarge)
/* 04D010 7F0184E0 8F390EB4 */ lw $t9, %lo(ptrFirstFontTableLarge)($t9)
/* 04D014 7F0184E4 3C078004 */ lui $a3, %hi(ptrSecondFontTableLarge)
/* 04D018 7F0184E8 8CE70EB8 */ lw $a3, %lo(ptrSecondFontTableLarge)($a3)
/* 04D01C 7F0184EC 27A4005C */ addiu $a0, $sp, 0x5c
/* 04D020 7F0184F0 27A50058 */ addiu $a1, $sp, 0x58
/* 04D024 7F0184F4 8FA6004C */ lw $a2, 0x4c($sp)
/* 04D028 7F0184F8 AFA00014 */ sw $zero, 0x14($sp)
/* 04D02C 7F0184FC AFA80044 */ sw $t0, 0x44($sp)
/* 04D030 7F018500 0FC2BA63 */ jal sub_GAME_7F0AE98C
/* 04D034 7F018504 AFB90010 */ sw $t9, 0x10($sp)
/* 04D038 7F018508 8FA90058 */ lw $t1, 0x58($sp)
/* 04D03C 7F01850C 8FAD005C */ lw $t5, 0x5c($sp)
/* 04D040 7F018510 240B00DC */ li $t3, 220
/* 04D044 7F018514 240F0099 */ li $t7, 153
/* 04D048 7F018518 00095043 */ sra $t2, $t1, 1
/* 04D04C 7F01851C 000D7043 */ sra $t6, $t5, 1
/* 04D050 7F018520 016A6023 */ subu $t4, $t3, $t2
/* 04D054 7F018524 01EEC023 */ subu $t8, $t7, $t6
/* 04D058 7F018528 AFAC0054 */ sw $t4, 0x54($sp)
/* 04D05C 7F01852C 0C001107 */ jal viGetX
/* 04D060 7F018530 AFB80050 */ sw $t8, 0x50($sp)
/* 04D064 7F018534 0C00110B */ jal viGetY
/* 04D068 7F018538 A7A2003C */ sh $v0, 0x3c($sp)
/* 04D06C 7F01853C 3C198004 */ lui $t9, %hi(ptrSecondFontTableLarge)
/* 04D070 7F018540 3C098004 */ lui $t1, %hi(ptrFirstFontTableLarge)
/* 04D074 7F018544 8D290EB4 */ lw $t1, %lo(ptrFirstFontTableLarge)($t1)
/* 04D078 7F018548 8F390EB8 */ lw $t9, %lo(ptrSecondFontTableLarge)($t9)
/* 04D07C 7F01854C 87AA003C */ lh $t2, 0x3c($sp)
/* 04D080 7F018550 240BFFFF */ li $t3, -1
/* 04D084 7F018554 AFAB0018 */ sw $t3, 0x18($sp)
/* 04D088 7F018558 8FA40060 */ lw $a0, 0x60($sp)
/* 04D08C 7F01855C 27A50054 */ addiu $a1, $sp, 0x54
/* 04D090 7F018560 27A60050 */ addiu $a2, $sp, 0x50
/* 04D094 7F018564 8FA7004C */ lw $a3, 0x4c($sp)
/* 04D098 7F018568 AFA20020 */ sw $v0, 0x20($sp)
/* 04D09C 7F01856C AFA00024 */ sw $zero, 0x24($sp)
/* 04D0A0 7F018570 AFA00028 */ sw $zero, 0x28($sp)
/* 04D0A4 7F018574 AFA90014 */ sw $t1, 0x14($sp)
/* 04D0A8 7F018578 AFB90010 */ sw $t9, 0x10($sp)
/* 04D0AC 7F01857C 0FC2B6AF */ jal en_text_write_stuff
/* 04D0B0 7F018580 AFAA001C */ sw $t2, 0x1c($sp)
/* 04D0B4 7F018584 8FA80044 */ lw $t0, 0x44($sp)
/* 04D0B8 7F018588 AFA20060 */ sw $v0, 0x60($sp)
/* 04D0BC 7F01858C 24010001 */ li $at, 1
/* 04D0C0 7F018590 11000007 */ beqz $t0, .L7F0185B0
/* 04D0C4 7F018594 00000000 */ nop
/* 04D0C8 7F018598 11010005 */ beq $t0, $at, .L7F0185B0
/* 04D0CC 7F01859C 24010002 */ li $at, 2
/* 04D0D0 7F0185A0 11010003 */ beq $t0, $at, .L7F0185B0
/* 04D0D4 7F0185A4 24010003 */ li $at, 3
/* 04D0D8 7F0185A8 15010004 */ bne $t0, $at, .L7F0185BC
/* 04D0DC 7F0185AC 00000000 */ nop
.L7F0185B0:
/* 04D0E0 7F0185B0 0FC30776 */ jal get_textptr_for_textID
/* 04D0E4 7F0185B4 34049C77 */ li $a0, 40055
/* 04D0E8 7F0185B8 AFA2004C */ sw $v0, 0x4c($sp)
.L7F0185BC:
/* 04D0EC 7F0185BC 3C0C8004 */ lui $t4, %hi(ptrFirstFontTableLarge)
/* 04D0F0 7F0185C0 8D8C0EB4 */ lw $t4, %lo(ptrFirstFontTableLarge)($t4)
/* 04D0F4 7F0185C4 3C078004 */ lui $a3, %hi(ptrSecondFontTableLarge)
/* 04D0F8 7F0185C8 8CE70EB8 */ lw $a3, %lo(ptrSecondFontTableLarge)($a3)
/* 04D0FC 7F0185CC 27A4005C */ addiu $a0, $sp, 0x5c
/* 04D100 7F0185D0 27A50058 */ addiu $a1, $sp, 0x58
/* 04D104 7F0185D4 8FA6004C */ lw $a2, 0x4c($sp)
/* 04D108 7F0185D8 AFA00014 */ sw $zero, 0x14($sp)
/* 04D10C 7F0185DC 0FC2BA63 */ jal sub_GAME_7F0AE98C
/* 04D110 7F0185E0 AFAC0010 */ sw $t4, 0x10($sp)
/* 04D114 7F0185E4 8FAD0058 */ lw $t5, 0x58($sp)
/* 04D118 7F0185E8 8FB9005C */ lw $t9, 0x5c($sp)
/* 04D11C 7F0185EC 240E00DC */ li $t6, 220
/* 04D120 7F0185F0 240B00B1 */ li $t3, 177
/* 04D124 7F0185F4 000D7843 */ sra $t7, $t5, 1
/* 04D128 7F0185F8 00194843 */ sra $t1, $t9, 1
/* 04D12C 7F0185FC 01CFC023 */ subu $t8, $t6, $t7
/* 04D130 7F018600 01695023 */ subu $t2, $t3, $t1
/* 04D134 7F018604 AFB80054 */ sw $t8, 0x54($sp)
/* 04D138 7F018608 0C001107 */ jal viGetX
/* 04D13C 7F01860C AFAA0050 */ sw $t2, 0x50($sp)
/* 04D140 7F018610 0C00110B */ jal viGetY
/* 04D144 7F018614 A7A2003C */ sh $v0, 0x3c($sp)
/* 04D148 7F018618 3C0C8004 */ lui $t4, %hi(ptrSecondFontTableLarge)
/* 04D14C 7F01861C 3C0D8004 */ lui $t5, %hi(ptrFirstFontTableLarge)
/* 04D150 7F018620 8DAD0EB4 */ lw $t5, %lo(ptrFirstFontTableLarge)($t5)
/* 04D154 7F018624 8D8C0EB8 */ lw $t4, %lo(ptrSecondFontTableLarge)($t4)
/* 04D158 7F018628 87AF003C */ lh $t7, 0x3c($sp)
/* 04D15C 7F01862C 240EFFFF */ li $t6, -1
/* 04D160 7F018630 AFAE0018 */ sw $t6, 0x18($sp)
/* 04D164 7F018634 8FA40060 */ lw $a0, 0x60($sp)
/* 04D168 7F018638 27A50054 */ addiu $a1, $sp, 0x54
/* 04D16C 7F01863C 27A60050 */ addiu $a2, $sp, 0x50
/* 04D170 7F018640 8FA7004C */ lw $a3, 0x4c($sp)
/* 04D174 7F018644 AFA20020 */ sw $v0, 0x20($sp)
/* 04D178 7F018648 AFA00024 */ sw $zero, 0x24($sp)
/* 04D17C 7F01864C AFA00028 */ sw $zero, 0x28($sp)
/* 04D180 7F018650 AFAD0014 */ sw $t5, 0x14($sp)
/* 04D184 7F018654 AFAC0010 */ sw $t4, 0x10($sp)
/* 04D188 7F018658 0FC2B6AF */ jal en_text_write_stuff
/* 04D18C 7F01865C AFAF001C */ sw $t7, 0x1c($sp)
/* 04D190 7F018660 8FBF0034 */ lw $ra, 0x34($sp)
/* 04D194 7F018664 27BD0060 */ addiu $sp, $sp, 0x60
/* 04D198 7F018668 03E00008 */ jr $ra
/* 04D19C 7F01866C 00000000 */ nop
)
#endif
#ifdef VERSION_JP
GLOBAL_ASM(
.text
glabel constructor_menu16_nocontrollers
/* 04D070 7F018500 27BDFFA0 */ addiu $sp, $sp, -0x60
/* 04D074 7F018504 AFBF0034 */ sw $ra, 0x34($sp)
/* 04D078 7F018508 0C002EA0 */ jal joyGetConnectedControllers
/* 04D07C 7F01850C AFA40060 */ sw $a0, 0x60($sp)
/* 04D080 7F018510 304E0008 */ andi $t6, $v0, 8
/* 04D084 7F018514 00004025 */ move $t0, $zero
/* 04D088 7F018518 11C00002 */ beqz $t6, .L7F018524
/* 04D08C 7F01851C 00401825 */ move $v1, $v0
/* 04D090 7F018520 24080001 */ li $t0, 1
.L7F018524:
/* 04D094 7F018524 306F0004 */ andi $t7, $v1, 4
/* 04D098 7F018528 11E00002 */ beqz $t7, .L7F018534
/* 04D09C 7F01852C 30780002 */ andi $t8, $v1, 2
/* 04D0A0 7F018530 25080001 */ addiu $t0, $t0, 1
.L7F018534:
/* 04D0A4 7F018534 13000002 */ beqz $t8, .L7F018540
/* 04D0A8 7F018538 8FA40060 */ lw $a0, 0x60($sp)
/* 04D0AC 7F01853C 25080001 */ addiu $t0, $t0, 1
.L7F018540:
/* 04D0B0 7F018540 0FC070A0 */ jal insert_imageDL
/* 04D0B4 7F018544 AFA80044 */ sw $t0, 0x44($sp)
/* 04D0B8 7F018548 0FC2B652 */ jal microcode_constructor
/* 04D0BC 7F01854C 00402025 */ move $a0, $v0
/* 04D0C0 7F018550 8FA80044 */ lw $t0, 0x44($sp)
/* 04D0C4 7F018554 AFA20060 */ sw $v0, 0x60($sp)
/* 04D0C8 7F018558 24010001 */ li $at, 1
/* 04D0CC 7F01855C 11000007 */ beqz $t0, .L7F01857C
/* 04D0D0 7F018560 34049C76 */ li $a0, 40054
/* 04D0D4 7F018564 11010005 */ beq $t0, $at, .L7F01857C
/* 04D0D8 7F018568 24010002 */ li $at, 2
/* 04D0DC 7F01856C 11010003 */ beq $t0, $at, .L7F01857C
/* 04D0E0 7F018570 24010003 */ li $at, 3
/* 04D0E4 7F018574 15010005 */ bne $t0, $at, .L7F01858C
/* 04D0E8 7F018578 00000000 */ nop
.L7F01857C:
/* 04D0EC 7F01857C 0FC30AA2 */ jal get_textptr_for_textID
/* 04D0F0 7F018580 AFA80044 */ sw $t0, 0x44($sp)
/* 04D0F4 7F018584 8FA80044 */ lw $t0, 0x44($sp)
/* 04D0F8 7F018588 AFA2004C */ sw $v0, 0x4c($sp)
.L7F01858C:
/* 04D0FC 7F01858C 3C198004 */ lui $t9, %hi(ptrFirstFontTableLarge) # $t9, 0x8004
/* 04D100 7F018590 8F390EE4 */ lw $t9, %lo(ptrFirstFontTableLarge)($t9)
/* 04D104 7F018594 3C078004 */ lui $a3, %hi(ptrSecondFontTableLarge) # $a3, 0x8004
/* 04D108 7F018598 8CE70EE8 */ lw $a3, %lo(ptrSecondFontTableLarge)($a3)
/* 04D10C 7F01859C 27A4005C */ addiu $a0, $sp, 0x5c
/* 04D110 7F0185A0 27A50058 */ addiu $a1, $sp, 0x58
/* 04D114 7F0185A4 8FA6004C */ lw $a2, 0x4c($sp)
/* 04D118 7F0185A8 AFA00014 */ sw $zero, 0x14($sp)
/* 04D11C 7F0185AC AFA80044 */ sw $t0, 0x44($sp)
/* 04D120 7F0185B0 0FC2BD4F */ jal sub_GAME_7F0AE98C
/* 04D124 7F0185B4 AFB90010 */ sw $t9, 0x10($sp)
/* 04D128 7F0185B8 8FA90058 */ lw $t1, 0x58($sp)
/* 04D12C 7F0185BC 8FAD005C */ lw $t5, 0x5c($sp)
/* 04D130 7F0185C0 3C198005 */ lui $t9, %hi(j_text_trigger) # $t9, 0x8005
/* 04D134 7F0185C4 8F398500 */ lw $t9, %lo(j_text_trigger)($t9)
/* 04D138 7F0185C8 240B00DC */ li $t3, 220
/* 04D13C 7F0185CC 240F0099 */ li $t7, 153
/* 04D140 7F0185D0 00095043 */ sra $t2, $t1, 1
/* 04D144 7F0185D4 000D7043 */ sra $t6, $t5, 1
/* 04D148 7F0185D8 016A6023 */ subu $t4, $t3, $t2
/* 04D14C 7F0185DC 01EEC023 */ subu $t8, $t7, $t6
/* 04D150 7F0185E0 8FA80044 */ lw $t0, 0x44($sp)
/* 04D154 7F0185E4 AFAC0054 */ sw $t4, 0x54($sp)
/* 04D158 7F0185E8 1320001D */ beqz $t9, .L7F018660
/* 04D15C 7F0185EC AFB80050 */ sw $t8, 0x50($sp)
/* 04D160 7F0185F0 0C001107 */ jal viGetX
/* 04D164 7F0185F4 AFA80044 */ sw $t0, 0x44($sp)
/* 04D168 7F0185F8 0C00110B */ jal viGetY
/* 04D16C 7F0185FC A7A2003C */ sh $v0, 0x3c($sp)
/* 04D170 7F018600 3C098004 */ lui $t1, %hi(ptrSecondFontTableLarge) # $t1, 0x8004
/* 04D174 7F018604 3C0B8004 */ lui $t3, %hi(ptrFirstFontTableLarge) # $t3, 0x8004
/* 04D178 7F018608 8D6B0EE4 */ lw $t3, %lo(ptrFirstFontTableLarge)($t3)
/* 04D17C 7F01860C 8D290EE8 */ lw $t1, %lo(ptrSecondFontTableLarge)($t1)
/* 04D180 7F018610 87AD003C */ lh $t5, 0x3c($sp)
/* 04D184 7F018614 3C0C0080 */ lui $t4, (0x008000FF >> 16) # lui $t4, 0x80
/* 04D188 7F018618 358C00FF */ ori $t4, (0x008000FF & 0xFFFF) # ori $t4, $t4, 0xff
/* 04D18C 7F01861C 240AFFFF */ li $t2, -1
/* 04D190 7F018620 AFAA0018 */ sw $t2, 0x18($sp)
/* 04D194 7F018624 AFAC001C */ sw $t4, 0x1c($sp)
/* 04D198 7F018628 8FA40060 */ lw $a0, 0x60($sp)
/* 04D19C 7F01862C 27A50054 */ addiu $a1, $sp, 0x54
/* 04D1A0 7F018630 27A60050 */ addiu $a2, $sp, 0x50
/* 04D1A4 7F018634 8FA7004C */ lw $a3, 0x4c($sp)
/* 04D1A8 7F018638 AFA20024 */ sw $v0, 0x24($sp)
/* 04D1AC 7F01863C AFA00028 */ sw $zero, 0x28($sp)
/* 04D1B0 7F018640 AFA0002C */ sw $zero, 0x2c($sp)
/* 04D1B4 7F018644 AFAB0014 */ sw $t3, 0x14($sp)
/* 04D1B8 7F018648 AFA90010 */ sw $t1, 0x10($sp)
/* 04D1BC 7F01864C 0FC2BCA7 */ jal jp_text_write_stuff
/* 04D1C0 7F018650 AFAD0020 */ sw $t5, 0x20($sp)
/* 04D1C4 7F018654 8FA80044 */ lw $t0, 0x44($sp)
/* 04D1C8 7F018658 10000019 */ b .L7F0186C0
/* 04D1CC 7F01865C AFA20060 */ sw $v0, 0x60($sp)
.L7F018660:
/* 04D1D0 7F018660 0C001107 */ jal viGetX
/* 04D1D4 7F018664 AFA80044 */ sw $t0, 0x44($sp)
/* 04D1D8 7F018668 0C00110B */ jal viGetY
/* 04D1DC 7F01866C A7A2003C */ sh $v0, 0x3c($sp)
/* 04D1E0 7F018670 3C0F8004 */ lui $t7, %hi(ptrSecondFontTableLarge) # $t7, 0x8004
/* 04D1E4 7F018674 3C0E8004 */ lui $t6, %hi(ptrFirstFontTableLarge) # $t6, 0x8004
/* 04D1E8 7F018678 8DCE0EE4 */ lw $t6, %lo(ptrFirstFontTableLarge)($t6)
/* 04D1EC 7F01867C 8DEF0EE8 */ lw $t7, %lo(ptrSecondFontTableLarge)($t7)
/* 04D1F0 7F018680 87B9003C */ lh $t9, 0x3c($sp)
/* 04D1F4 7F018684 2418FFFF */ li $t8, -1
/* 04D1F8 7F018688 AFB80018 */ sw $t8, 0x18($sp)
/* 04D1FC 7F01868C 8FA40060 */ lw $a0, 0x60($sp)
/* 04D200 7F018690 27A50054 */ addiu $a1, $sp, 0x54
/* 04D204 7F018694 27A60050 */ addiu $a2, $sp, 0x50
/* 04D208 7F018698 8FA7004C */ lw $a3, 0x4c($sp)
/* 04D20C 7F01869C AFA20020 */ sw $v0, 0x20($sp)
/* 04D210 7F0186A0 AFA00024 */ sw $zero, 0x24($sp)
/* 04D214 7F0186A4 AFA00028 */ sw $zero, 0x28($sp)
/* 04D218 7F0186A8 AFAE0014 */ sw $t6, 0x14($sp)
/* 04D21C 7F0186AC AFAF0010 */ sw $t7, 0x10($sp)
/* 04D220 7F0186B0 0FC2B99B */ jal en_text_write_stuff
/* 04D224 7F0186B4 AFB9001C */ sw $t9, 0x1c($sp)
/* 04D228 7F0186B8 8FA80044 */ lw $t0, 0x44($sp)
/* 04D22C 7F0186BC AFA20060 */ sw $v0, 0x60($sp)
.L7F0186C0:
/* 04D230 7F0186C0 11000007 */ beqz $t0, .L7F0186E0
/* 04D234 7F0186C4 24010001 */ li $at, 1
/* 04D238 7F0186C8 11010005 */ beq $t0, $at, .L7F0186E0
/* 04D23C 7F0186CC 24010002 */ li $at, 2
/* 04D240 7F0186D0 11010003 */ beq $t0, $at, .L7F0186E0
/* 04D244 7F0186D4 24010003 */ li $at, 3
/* 04D248 7F0186D8 15010004 */ bne $t0, $at, .L7F0186EC
/* 04D24C 7F0186DC 00000000 */ nop
.L7F0186E0:
/* 04D250 7F0186E0 0FC30AA2 */ jal get_textptr_for_textID
/* 04D254 7F0186E4 34049C77 */ li $a0, 40055
/* 04D258 7F0186E8 AFA2004C */ sw $v0, 0x4c($sp)
.L7F0186EC:
/* 04D25C 7F0186EC 3C098004 */ lui $t1, %hi(ptrFirstFontTableLarge) # $t1, 0x8004
/* 04D260 7F0186F0 8D290EE4 */ lw $t1, %lo(ptrFirstFontTableLarge)($t1)
/* 04D264 7F0186F4 3C078004 */ lui $a3, %hi(ptrSecondFontTableLarge) # $a3, 0x8004
/* 04D268 7F0186F8 8CE70EE8 */ lw $a3, %lo(ptrSecondFontTableLarge)($a3)
/* 04D26C 7F0186FC 27A4005C */ addiu $a0, $sp, 0x5c
/* 04D270 7F018700 27A50058 */ addiu $a1, $sp, 0x58
/* 04D274 7F018704 8FA6004C */ lw $a2, 0x4c($sp)
/* 04D278 7F018708 AFA00014 */ sw $zero, 0x14($sp)
/* 04D27C 7F01870C 0FC2BD4F */ jal sub_GAME_7F0AE98C
/* 04D280 7F018710 AFA90010 */ sw $t1, 0x10($sp)
/* 04D284 7F018714 8FAB0058 */ lw $t3, 0x58($sp)
/* 04D288 7F018718 8FAF005C */ lw $t7, 0x5c($sp)
/* 04D28C 7F01871C 3C098005 */ lui $t1, %hi(j_text_trigger) # $t1, 0x8005
/* 04D290 7F018720 8D298500 */ lw $t1, %lo(j_text_trigger)($t1)
/* 04D294 7F018724 240C00DC */ li $t4, 220
/* 04D298 7F018728 241800B1 */ li $t8, 177
/* 04D29C 7F01872C 000B5043 */ sra $t2, $t3, 1
/* 04D2A0 7F018730 000F7043 */ sra $t6, $t7, 1
/* 04D2A4 7F018734 018A6823 */ subu $t5, $t4, $t2
/* 04D2A8 7F018738 030EC823 */ subu $t9, $t8, $t6
/* 04D2AC 7F01873C AFAD0054 */ sw $t5, 0x54($sp)
/* 04D2B0 7F018740 1120001C */ beqz $t1, .L7F0187B4
/* 04D2B4 7F018744 AFB90050 */ sw $t9, 0x50($sp)
/* 04D2B8 7F018748 0C001107 */ jal viGetX
/* 04D2BC 7F01874C 00000000 */ nop
/* 04D2C0 7F018750 0C00110B */ jal viGetY
/* 04D2C4 7F018754 A7A2003C */ sh $v0, 0x3c($sp)
/* 04D2C8 7F018758 3C0B8004 */ lui $t3, %hi(ptrSecondFontTableLarge) # $t3, 0x8004
/* 04D2CC 7F01875C 3C0C8004 */ lui $t4, %hi(ptrFirstFontTableLarge) # $t4, 0x8004
/* 04D2D0 7F018760 8D8C0EE4 */ lw $t4, %lo(ptrFirstFontTableLarge)($t4)
/* 04D2D4 7F018764 8D6B0EE8 */ lw $t3, %lo(ptrSecondFontTableLarge)($t3)
/* 04D2D8 7F018768 87AF003C */ lh $t7, 0x3c($sp)
/* 04D2DC 7F01876C 3C0D0080 */ lui $t5, (0x008000FF >> 16) # lui $t5, 0x80
/* 04D2E0 7F018770 35AD00FF */ ori $t5, (0x008000FF & 0xFFFF) # ori $t5, $t5, 0xff
/* 04D2E4 7F018774 240AFFFF */ li $t2, -1
/* 04D2E8 7F018778 AFAA0018 */ sw $t2, 0x18($sp)
/* 04D2EC 7F01877C AFAD001C */ sw $t5, 0x1c($sp)
/* 04D2F0 7F018780 8FA40060 */ lw $a0, 0x60($sp)
/* 04D2F4 7F018784 27A50054 */ addiu $a1, $sp, 0x54
/* 04D2F8 7F018788 27A60050 */ addiu $a2, $sp, 0x50
/* 04D2FC 7F01878C 8FA7004C */ lw $a3, 0x4c($sp)
/* 04D300 7F018790 AFA20024 */ sw $v0, 0x24($sp)
/* 04D304 7F018794 AFA00028 */ sw $zero, 0x28($sp)
/* 04D308 7F018798 AFA0002C */ sw $zero, 0x2c($sp)
/* 04D30C 7F01879C AFAC0014 */ sw $t4, 0x14($sp)
/* 04D310 7F0187A0 AFAB0010 */ sw $t3, 0x10($sp)
/* 04D314 7F0187A4 0FC2BCA7 */ jal jp_text_write_stuff
/* 04D318 7F0187A8 AFAF0020 */ sw $t7, 0x20($sp)
/* 04D31C 7F0187AC 10000018 */ b .L7F018810
/* 04D320 7F0187B0 AFA20060 */ sw $v0, 0x60($sp)
.L7F0187B4:
/* 04D324 7F0187B4 0C001107 */ jal viGetX
/* 04D328 7F0187B8 00000000 */ nop
/* 04D32C 7F0187BC 0C00110B */ jal viGetY
/* 04D330 7F0187C0 A7A2003C */ sh $v0, 0x3c($sp)
/* 04D334 7F0187C4 3C188004 */ lui $t8, %hi(ptrSecondFontTableLarge) # $t8, 0x8004
/* 04D338 7F0187C8 3C0E8004 */ lui $t6, %hi(ptrFirstFontTableLarge) # $t6, 0x8004
/* 04D33C 7F0187CC 8DCE0EE4 */ lw $t6, %lo(ptrFirstFontTableLarge)($t6)
/* 04D340 7F0187D0 8F180EE8 */ lw $t8, %lo(ptrSecondFontTableLarge)($t8)
/* 04D344 7F0187D4 87A9003C */ lh $t1, 0x3c($sp)
/* 04D348 7F0187D8 2419FFFF */ li $t9, -1
/* 04D34C 7F0187DC AFB90018 */ sw $t9, 0x18($sp)
/* 04D350 7F0187E0 8FA40060 */ lw $a0, 0x60($sp)
/* 04D354 7F0187E4 27A50054 */ addiu $a1, $sp, 0x54
/* 04D358 7F0187E8 27A60050 */ addiu $a2, $sp, 0x50
/* 04D35C 7F0187EC 8FA7004C */ lw $a3, 0x4c($sp)
/* 04D360 7F0187F0 AFA20020 */ sw $v0, 0x20($sp)
/* 04D364 7F0187F4 AFA00024 */ sw $zero, 0x24($sp)
/* 04D368 7F0187F8 AFA00028 */ sw $zero, 0x28($sp)
/* 04D36C 7F0187FC AFAE0014 */ sw $t6, 0x14($sp)
/* 04D370 7F018800 AFB80010 */ sw $t8, 0x10($sp)
/* 04D374 7F018804 0FC2B99B */ jal en_text_write_stuff
/* 04D378 7F018808 AFA9001C */ sw $t1, 0x1c($sp)
/* 04D37C 7F01880C AFA20060 */ sw $v0, 0x60($sp)
.L7F018810:
/* 04D380 7F018810 8FBF0034 */ lw $ra, 0x34($sp)
/* 04D384 7F018814 8FA20060 */ lw $v0, 0x60($sp)
/* 04D388 7F018818 27BD0060 */ addiu $sp, $sp, 0x60
/* 04D38C 7F01881C 03E00008 */ jr $ra
/* 04D390 7F018820 00000000 */ nop
)
#endif
#ifdef VERSION_EU
GLOBAL_ASM(
.text
glabel constructor_menu16_nocontrollers
/* 04CF80 7F018450 27BDFFA0 */ addiu $sp, $sp, -0x60
/* 04CF84 7F018454 AFBF0034 */ sw $ra, 0x34($sp)
/* 04CF88 7F018458 0C002E9C */ jal joyGetConnectedControllers
/* 04CF8C 7F01845C AFA40060 */ sw $a0, 0x60($sp)
/* 04CF90 7F018460 304E0008 */ andi $t6, $v0, 8
/* 04CF94 7F018464 00004025 */ move $t0, $zero
/* 04CF98 7F018468 11C00002 */ beqz $t6, .L7F018474
/* 04CF9C 7F01846C 00401825 */ move $v1, $v0
/* 04CFA0 7F018470 24080001 */ li $t0, 1
.L7F018474:
/* 04CFA4 7F018474 306F0004 */ andi $t7, $v1, 4
/* 04CFA8 7F018478 11E00002 */ beqz $t7, .L7F018484
/* 04CFAC 7F01847C 30780002 */ andi $t8, $v1, 2
/* 04CFB0 7F018480 25080001 */ addiu $t0, $t0, 1
.L7F018484:
/* 04CFB4 7F018484 13000002 */ beqz $t8, .L7F018490
/* 04CFB8 7F018488 8FA40060 */ lw $a0, 0x60($sp)
/* 04CFBC 7F01848C 25080001 */ addiu $t0, $t0, 1
.L7F018490:
/* 04CFC0 7F018490 0FC07034 */ jal insert_imageDL
/* 04CFC4 7F018494 AFA80044 */ sw $t0, 0x44($sp)
/* 04CFC8 7F018498 0FC2B366 */ jal microcode_constructor
/* 04CFCC 7F01849C 00402025 */ move $a0, $v0
/* 04CFD0 7F0184A0 8FA80044 */ lw $t0, 0x44($sp)
/* 04CFD4 7F0184A4 AFA20060 */ sw $v0, 0x60($sp)
/* 04CFD8 7F0184A8 24010001 */ li $at, 1
/* 04CFDC 7F0184AC 51000007 */ beql $t0, $zero, .L7F0184CC
/* 04CFE0 7F0184B0 34049C76 */ li $a0, 40054
/* 04CFE4 7F0184B4 11010004 */ beq $t0, $at, .L7F0184C8
/* 04CFE8 7F0184B8 24010002 */ li $at, 2
/* 04CFEC 7F0184BC 11010002 */ beq $t0, $at, .L7F0184C8
/* 04CFF0 7F0184C0 24010003 */ li $at, 3
/* 04CFF4 7F0184C4 15010005 */ bne $t0, $at, .L7F0184DC
.L7F0184C8:
/* 04CFF8 7F0184C8 34049C76 */ li $a0, 40054
.L7F0184CC:
/* 04CFFC 7F0184CC 0FC30776 */ jal get_textptr_for_textID
/* 04D000 7F0184D0 AFA80044 */ sw $t0, 0x44($sp)
/* 04D004 7F0184D4 8FA80044 */ lw $t0, 0x44($sp)
/* 04D008 7F0184D8 AFA2004C */ sw $v0, 0x4c($sp)
.L7F0184DC:
/* 04D00C 7F0184DC 3C198004 */ lui $t9, %hi(ptrFirstFontTableLarge)
/* 04D010 7F0184E0 8F390EB4 */ lw $t9, %lo(ptrFirstFontTableLarge)($t9)
/* 04D014 7F0184E4 3C078004 */ lui $a3, %hi(ptrSecondFontTableLarge)
/* 04D018 7F0184E8 8CE70EB8 */ lw $a3, %lo(ptrSecondFontTableLarge)($a3)
/* 04D01C 7F0184EC 27A4005C */ addiu $a0, $sp, 0x5c
/* 04D020 7F0184F0 27A50058 */ addiu $a1, $sp, 0x58
/* 04D024 7F0184F4 8FA6004C */ lw $a2, 0x4c($sp)
/* 04D028 7F0184F8 AFA00014 */ sw $zero, 0x14($sp)
/* 04D02C 7F0184FC AFA80044 */ sw $t0, 0x44($sp)
/* 04D030 7F018500 0FC2BA63 */ jal sub_GAME_7F0AE98C
/* 04D034 7F018504 AFB90010 */ sw $t9, 0x10($sp)
/* 04D038 7F018508 8FA90058 */ lw $t1, 0x58($sp)
/* 04D03C 7F01850C 8FAD005C */ lw $t5, 0x5c($sp)
/* 04D040 7F018510 240B00DC */ li $t3, 220
/* 04D044 7F018514 240F0099 */ li $t7, 153
/* 04D048 7F018518 00095043 */ sra $t2, $t1, 1
/* 04D04C 7F01851C 000D7043 */ sra $t6, $t5, 1
/* 04D050 7F018520 016A6023 */ subu $t4, $t3, $t2
/* 04D054 7F018524 01EEC023 */ subu $t8, $t7, $t6
/* 04D058 7F018528 AFAC0054 */ sw $t4, 0x54($sp)
/* 04D05C 7F01852C 0C001107 */ jal viGetX
/* 04D060 7F018530 AFB80050 */ sw $t8, 0x50($sp)
/* 04D064 7F018534 0C00110B */ jal viGetY
/* 04D068 7F018538 A7A2003C */ sh $v0, 0x3c($sp)
/* 04D06C 7F01853C 3C198004 */ lui $t9, %hi(ptrSecondFontTableLarge)
/* 04D070 7F018540 3C098004 */ lui $t1, %hi(ptrFirstFontTableLarge)
/* 04D074 7F018544 8D290EB4 */ lw $t1, %lo(ptrFirstFontTableLarge)($t1)
/* 04D078 7F018548 8F390EB8 */ lw $t9, %lo(ptrSecondFontTableLarge)($t9)
/* 04D07C 7F01854C 87AA003C */ lh $t2, 0x3c($sp)
/* 04D080 7F018550 240BFFFF */ li $t3, -1
/* 04D084 7F018554 AFAB0018 */ sw $t3, 0x18($sp)
/* 04D088 7F018558 8FA40060 */ lw $a0, 0x60($sp)
/* 04D08C 7F01855C 27A50054 */ addiu $a1, $sp, 0x54
/* 04D090 7F018560 27A60050 */ addiu $a2, $sp, 0x50
/* 04D094 7F018564 8FA7004C */ lw $a3, 0x4c($sp)
/* 04D098 7F018568 AFA20020 */ sw $v0, 0x20($sp)
/* 04D09C 7F01856C AFA00024 */ sw $zero, 0x24($sp)
/* 04D0A0 7F018570 AFA00028 */ sw $zero, 0x28($sp)
/* 04D0A4 7F018574 AFA90014 */ sw $t1, 0x14($sp)
/* 04D0A8 7F018578 AFB90010 */ sw $t9, 0x10($sp)
/* 04D0AC 7F01857C 0FC2B6AF */ jal en_text_write_stuff
/* 04D0B0 7F018580 AFAA001C */ sw $t2, 0x1c($sp)
/* 04D0B4 7F018584 8FA80044 */ lw $t0, 0x44($sp)
/* 04D0B8 7F018588 AFA20060 */ sw $v0, 0x60($sp)
/* 04D0BC 7F01858C 24010001 */ li $at, 1
/* 04D0C0 7F018590 11000007 */ beqz $t0, .L7F0185B0
/* 04D0C4 7F018594 00000000 */ nop
/* 04D0C8 7F018598 11010005 */ beq $t0, $at, .L7F0185B0
/* 04D0CC 7F01859C 24010002 */ li $at, 2
/* 04D0D0 7F0185A0 11010003 */ beq $t0, $at, .L7F0185B0
/* 04D0D4 7F0185A4 24010003 */ li $at, 3
/* 04D0D8 7F0185A8 15010004 */ bne $t0, $at, .L7F0185BC
/* 04D0DC 7F0185AC 00000000 */ nop
.L7F0185B0:
/* 04D0E0 7F0185B0 0FC30776 */ jal get_textptr_for_textID
/* 04D0E4 7F0185B4 34049C77 */ li $a0, 40055
/* 04D0E8 7F0185B8 AFA2004C */ sw $v0, 0x4c($sp)
.L7F0185BC:
/* 04D0EC 7F0185BC 3C0C8004 */ lui $t4, %hi(ptrFirstFontTableLarge)
/* 04D0F0 7F0185C0 8D8C0EB4 */ lw $t4, %lo(ptrFirstFontTableLarge)($t4)
/* 04D0F4 7F0185C4 3C078004 */ lui $a3, %hi(ptrSecondFontTableLarge)
/* 04D0F8 7F0185C8 8CE70EB8 */ lw $a3, %lo(ptrSecondFontTableLarge)($a3)
/* 04D0FC 7F0185CC 27A4005C */ addiu $a0, $sp, 0x5c
/* 04D100 7F0185D0 27A50058 */ addiu $a1, $sp, 0x58
/* 04D104 7F0185D4 8FA6004C */ lw $a2, 0x4c($sp)
/* 04D108 7F0185D8 AFA00014 */ sw $zero, 0x14($sp)
/* 04D10C 7F0185DC 0FC2BA63 */ jal sub_GAME_7F0AE98C
/* 04D110 7F0185E0 AFAC0010 */ sw $t4, 0x10($sp)
/* 04D114 7F0185E4 8FAD0058 */ lw $t5, 0x58($sp)
/* 04D118 7F0185E8 8FB9005C */ lw $t9, 0x5c($sp)
/* 04D11C 7F0185EC 240E00DC */ li $t6, 220
/* 04D120 7F0185F0 240B00B1 */ li $t3, 177
/* 04D124 7F0185F4 000D7843 */ sra $t7, $t5, 1
/* 04D128 7F0185F8 00194843 */ sra $t1, $t9, 1
/* 04D12C 7F0185FC 01CFC023 */ subu $t8, $t6, $t7
/* 04D130 7F018600 01695023 */ subu $t2, $t3, $t1
/* 04D134 7F018604 AFB80054 */ sw $t8, 0x54($sp)
/* 04D138 7F018608 0C001107 */ jal viGetX
/* 04D13C 7F01860C AFAA0050 */ sw $t2, 0x50($sp)
/* 04D140 7F018610 0C00110B */ jal viGetY
/* 04D144 7F018614 A7A2003C */ sh $v0, 0x3c($sp)
/* 04D148 7F018618 3C0C8004 */ lui $t4, %hi(ptrSecondFontTableLarge)
/* 04D14C 7F01861C 3C0D8004 */ lui $t5, %hi(ptrFirstFontTableLarge)
/* 04D150 7F018620 8DAD0EB4 */ lw $t5, %lo(ptrFirstFontTableLarge)($t5)
/* 04D154 7F018624 8D8C0EB8 */ lw $t4, %lo(ptrSecondFontTableLarge)($t4)
/* 04D158 7F018628 87AF003C */ lh $t7, 0x3c($sp)
/* 04D15C 7F01862C 240EFFFF */ li $t6, -1
/* 04D160 7F018630 AFAE0018 */ sw $t6, 0x18($sp)
/* 04D164 7F018634 8FA40060 */ lw $a0, 0x60($sp)
/* 04D168 7F018638 27A50054 */ addiu $a1, $sp, 0x54
/* 04D16C 7F01863C 27A60050 */ addiu $a2, $sp, 0x50
/* 04D170 7F018640 8FA7004C */ lw $a3, 0x4c($sp)
/* 04D174 7F018644 AFA20020 */ sw $v0, 0x20($sp)
/* 04D178 7F018648 AFA00024 */ sw $zero, 0x24($sp)
/* 04D17C 7F01864C AFA00028 */ sw $zero, 0x28($sp)
/* 04D180 7F018650 AFAD0014 */ sw $t5, 0x14($sp)
/* 04D184 7F018654 AFAC0010 */ sw $t4, 0x10($sp)
/* 04D188 7F018658 0FC2B6AF */ jal en_text_write_stuff
/* 04D18C 7F01865C AFAF001C */ sw $t7, 0x1c($sp)
/* 04D190 7F018660 8FBF0034 */ lw $ra, 0x34($sp)
/* 04D194 7F018664 27BD0060 */ addiu $sp, $sp, 0x60
/* 04D198 7F018668 03E00008 */ jr $ra
/* 04D19C 7F01866C 00000000 */ nop
)
#endif
#endif
void do_extended_cast_display(s32 flag)
{
full_actor_intro = flag;
if (flag != 0)
{
do_not_play_intro_movie = 0;
return;
}
do_not_play_intro_movie = 1;
}
#ifdef NONMATCHING
void init_menu18_displaycast(void)
{
object_header *objheader;
u32 uVar2;
u32 uVar3;
int iVar4;
s32 lVar1;
u32 BVar5;
int iVar6;
s32 extraout_a2_lo;
s32 extraout_a2_lo_00;
s32 extraout_a3_lo;
int *piVar7;
int *piVar8;
int *piVar9;
int *piVar10;
float fVar11;
f32 scale;
f32 scale_00;
float extraout_f12;
f32 extraout_f12_00;
float extraout_f12_01;
f32 extraout_f14;
float extraout_f14_00;
int local_8c [10];
int rifles [6];
object_header *headHeader;
HEADS headID;
BODIES bodyID;
int aiStack40 [4];
float local_18;
s32 local_14;
s32 local_10;
undefined *local_8;
undefined *local_4;
local_4 = ptr_logo_and_walletbond_DL;
local_18 = dword_8002BA2C;
local_14 = DAT_8002ba30;
local_10 = DAT_8002ba34;
headHeader = NULL;
uVar2 = randomGetNext();
if ((full_actor_intro != FALSE) && (do_not_play_intro_movie == 0)) {
musicTrack1ApplySeqpVol(0x7fff);
g_musicXTrack1Fade = MUSIC_FADESTATE_UNSET;
musicTrack1Play(M_INTRO);
}
intro_animation_count = 0;
if (-1 < intro_animation_table[0].animID) {
intro_animation_count = 1;
while (-1 < intro_animation_table[intro_animation_count].animID) {
intro_animation_count += 1;
}
}
randomly_selected_intro_animation = randomGetNext();
randomly_selected_intro_animation %= intro_animation_count;
bodyID = intro_char_table[do_not_play_intro_movie].body;
headID = intro_char_table[do_not_play_intro_movie].head;
iVar6 = intro_animation_table[randomly_selected_intro_animation].camera_preset;
if (intro_animation_count == 0) {
trap(0x1c00);
}
if (bodyID == BODY_Special_Operations_Uniform) {
uVar3 = randomGetNext();
if (true) {
switch(uVar3 % 5) {
case 1:
headID = HEAD_Male_Pierce_Bond_2;
bodyID = BODY_Formal_Wear;
break;
case 2:
headID = HEAD_Male_Pierce_Bond_2;
bodyID = BODY_Jungle_Fatigues;
break;
case 3:
headID = HEAD_Male_Pierce_Bond_2;
bodyID = BODY_Parka;
break;
case 4:
headID = HEAD_Male_Pierce_Bond_Tuxedo_DEFAULT;
bodyID = BODY_Tuxedo;
}
}
}
else {
if (bodyID == BODY_Natalya_Skirt) {
uVar3 = randomGetNext();
if ((uVar3 & 1) != 0) {
bodyID = BODY_Natalya_Jungle_Fatigues;
}
}
else {
if ((bodyID == BODY_Trevelyan_006) && (uVar3 = randomGetNext(), (uVar3 & 1) != 0)) {
bodyID = BODY_Trevelyan_Janus;
}
}
}
if (headID == 0xffffff9f) {
headID = get_random_head(bodyID);
}
local_8 = &DAT_00031160;
proc_7F0D2448(((u32)(local_4 + 0x3119f) | 0x3f) ^ 0x3f,0x1b8,0x14a);
proc_7F0CBAF4(aiStack40,(int)local_4,0x19000);
objheader = c_item_entries[bodyID].header;
local_4 = local_4 + 0x19000;
local_8 = local_8 + -0x19000;
load_object_fill_header
(objheader,(int *)c_item_entries[bodyID].filename,(int)local_4,(int)local_8,
(int)aiStack40);
iVar4 = proc_7F0BD188((u8 *)c_item_entries[bodyID].filename);
uVar3 = (iVar4 + 0x3fU | 0x3f) ^ 0x3f;
local_8 = local_8 + -uVar3;
local_4 = local_4 + uVar3;
if (-1 < (int)headID) {
headHeader = c_item_entries[headID].header;
load_object_fill_header
(headHeader,(int *)c_item_entries[headID].filename,(int)local_4,(int)local_8,
(int)aiStack40);
iVar4 = proc_7F0BD188((u8 *)c_item_entries[headID].filename);
uVar3 = (iVar4 + 0x3fU | 0x3f) ^ 0x3f;
local_8 = local_8 + -uVar3;
local_4 = local_4 + uVar3;
}
objinstance = (undefined *)setup_chr_instance(bodyID,headID,objheader,headHeader,0);
set_obj_instance_controller_scale((int)objinstance,scale);
if (iVar6 == 0) {
ptrobjinstance = NULL;
}
else {
if (iVar6 == 2) {
rifles[0] = random_rifles_in_intro[0];
rifles[1] = random_rifles_in_intro[1];
rifles[3] = random_rifles_in_intro[3];
rifles[2] = random_rifles_in_intro[2];
rifles[4] = random_rifles_in_intro[4];
rifles[5] = random_rifles_in_intro[5];
uVar3 = randomGetNext();
iVar6 = rifles[uVar3 % 6];
}
else {
piVar7 = random_pistols_in_intro;
piVar9 = local_8c;
do {
piVar8 = piVar7 + 3;
piVar10 = piVar9 + 3;
*piVar9 = *piVar7;
piVar9[1] = piVar7[1];
piVar9[2] = piVar7[2];
piVar7 = piVar8;
piVar9 = piVar10;
} while (piVar8 != random_pistols_in_intro + 9);
*piVar10 = random_pistols_in_intro[9];
uVar3 = randomGetNext();
iVar6 = local_8c[uVar3 % 10];
}
if ((iVar6 == 0xbe) && (lVar1 = check_cradle_completed_any_folder(), lVar1 == 0)) {
iVar6 = 0xbf;
}
if ((iVar6 == 0xbb) && (BVar5 = check_aztec_completed_any_folder_secret_00(), BVar5 == FALSE)) {
iVar6 = 0xbf;
}
if ((iVar6 == 0xd0) && (BVar5 = check_egypt_completed_any_folder_00(), BVar5 == FALSE)) {
iVar6 = 0xbf;
}
objheader = (object_header *)PitemZ_entries[iVar6].header;
load_object_fill_header
(objheader,(int *)PitemZ_entries[iVar6].filename,(int)local_4,(int)local_8,
(int)aiStack40);
proc_7F0BD188((u8 *)PitemZ_entries[iVar6].filename);
set_objuse_flag_compute_grp_nums_set_obj_loaded(objheader);
ptrobjinstance = (undefined *)get_obj_instance_controller_for_header((PitemZ_header *)objheader)
;
set_obj_instance_controller_scale((int)ptrobjinstance,scale_00);
iVar6 = 3;
*(undefined **)(ptrobjinstance + 0x18) = objinstance;
if ((uVar2 & 1) != 0) {
iVar6 = 5;
}
*(s32 *)(ptrobjinstance + 0x1c) =
*(s32 *)(*(int *)(*(int *)(objinstance + 8) + 8) + iVar6 * 4);
}
proc_7F06CE84((int)objinstance,0x3dcccccd);
setsuboffset((int)objinstance,&local_18,extraout_a2_lo,extraout_a3_lo);
setsubroty((int)objinstance,extraout_f12,0.00000000,extraout_a2_lo_00);
proc_7F06FF18((int)objinstance,extraout_f12_00,extraout_f14);
proc_7F06FCA8((int)objinstance,
*(s32 *)
(animation_table_ptrs1 +
intro_animation_table[randomly_selected_intro_animation].animID * 4),
(char)(uVar2 & 1),extraout_f12_01,
intro_animation_table[randomly_selected_intro_animation].startframeoffset,
extraout_f14_00);
menu_timer = 0;
iVar6 = randomGetNext();
fVar11 = (float)iVar6;
if (iVar6 < 0) {
fVar11 = fVar11 + 4294967296.00000000;
}
DAT_800695a4 = fVar11 * 0.00000000 * 80.00000000 + 70.00000000;
iVar6 = randomGetNext();
fVar11 = (float)iVar6;
if (iVar6 < 0) {
fVar11 = fVar11 + 4294967296.00000000;
}
DAT_800695a8 = fVar11 * 0.00000000 * 80.00000000 + 70.00000000;
iVar6 = randomGetNext();
fVar11 = (float)iVar6;
if (iVar6 < 0) {
fVar11 = fVar11 + 4294967296.00000000;
}
DAT_800695b0 = (fVar11 * 0.00000000 - 0.50000000) * flt_80051B00;
iVar6 = randomGetNext();
fVar11 = (float)iVar6;
if (iVar6 < 0) {
fVar11 = fVar11 + 4294967296.00000000;
}
DAT_800695b4 = (fVar11 * 0.00000000 - 0.50000000) * flt_80051B04;
iVar6 = randomGetNext();
fVar11 = (float)iVar6;
if (iVar6 < 0) {
fVar11 = fVar11 + 4294967296.00000000;
}
DAT_800695bc = fVar11 * 0.00000000 * 200.00000000 + -100.00000000;
iVar6 = randomGetNext();
fVar11 = (float)iVar6;
if (iVar6 < 0) {
fVar11 = fVar11 + 4294967296.00000000;
}
DAT_800695a0 = DAT_800695a4;
dword_80069C6C = DAT_800695b0;
DAT_800695b8 = DAT_800695bc;
DAT_800695c0 = fVar11 * 0.00000000 * 200.00000000 + -100.00000000;
DAT_800695e4 = 1;
DAT_800695e8 = 0;
DAT_800695ec = 0;
DAT_800695f0 = 0;
}
#else
GLOBAL_ASM(
.late_rodata
glabel jpt_intro_bond_head
.word set_body_mp_choice_maybe
.word set_body_default
.word set_body_jungle
.word set_body_snowsuit
.word set_body_5
glabel D_80051B00
.word 0x40C90FDB /*6.2831855;*/
glabel D_80051B04
.word 0x4020D97C /*2.5132742;*/
glabel D_80051B08
.word 0x3FAAAAAB /*1.3333334;*/
glabel D_80051B0C
.word 0x40C90FDB /*6.2831855;*/
glabel D_80051B10
.word 0x3E4CCCCD /*0.2;*/
glabel D_80051B14
.word 0x3E4CCCCD /*0.2;*/
glabel D_80051B18
.word 0x3E4CCCCD /*0.2;*/
glabel D_80051B1C
.word 0x3E4CCCCD /*0.2;*/
glabel D_80051B20
.word 0x3D4CCCD0 /*0.050000012;*/
glabel D_80051B24
.word 0x3D4CCCD0 /*0.050000012;*/
glabel D_80051B28
.word 0x3F733333 /*0.94999999;*/
glabel D_80051B2C
.word 0x3F733333 /*0.94999999;*/
glabel D_80051B30
.word 0x3F733333 /*0.94999999;*/
glabel D_80051B34
.word 0x3D4CCCD0 /*0.050000012;*/
glabel D_80051B38
.word 0x40490FDB /*3.1415927;*/
.text
glabel init_menu18_displaycast
/* 04D1CC 7F01869C 3C0E8003 */ lui $t6, %hi(ptr_logo_and_walletbond_DL)
/* 04D1D0 7F0186A0 8DCEA950 */ lw $t6, %lo(ptr_logo_and_walletbond_DL)($t6)
/* 04D1D4 7F0186A4 27BDFF48 */ addiu $sp, $sp, -0xb8
/* 04D1D8 7F0186A8 3C188003 */ lui $t8, %hi(D_8002BA2C)
/* 04D1DC 7F0186AC AFBF001C */ sw $ra, 0x1c($sp)
/* 04D1E0 7F0186B0 2718BA2C */ addiu $t8, %lo(D_8002BA2C) # addiu $t8, $t8, -0x45d4
/* 04D1E4 7F0186B4 AFAE00B4 */ sw $t6, 0xb4($sp)
/* 04D1E8 7F0186B8 8F010000 */ lw $at, ($t8)
/* 04D1EC 7F0186BC 27AF00A0 */ addiu $t7, $sp, 0xa0
/* 04D1F0 7F0186C0 8F090004 */ lw $t1, 4($t8)
/* 04D1F4 7F0186C4 ADE10000 */ sw $at, ($t7)
/* 04D1F8 7F0186C8 8F010008 */ lw $at, 8($t8)
/* 04D1FC 7F0186CC ADE90004 */ sw $t1, 4($t7)
/* 04D200 7F0186D0 ADE10008 */ sw $at, 8($t7)
/* 04D204 7F0186D4 0C002914 */ jal randomGetNext
/* 04D208 7F0186D8 AFA0007C */ sw $zero, 0x7c($sp)
/* 04D20C 7F0186DC 3C0B8003 */ lui $t3, %hi(full_actor_intro)
/* 04D210 7F0186E0 8D6BB5FC */ lw $t3, %lo(full_actor_intro)($t3)
/* 04D214 7F0186E4 304A0001 */ andi $t2, $v0, 1
/* 04D218 7F0186E8 AFAA0070 */ sw $t2, 0x70($sp)
/* 04D21C 7F0186EC 1160000A */ beqz $t3, .L7F018718
/* 04D220 7F0186F0 3C0C8003 */ lui $t4, %hi(do_not_play_intro_movie)
/* 04D224 7F0186F4 8D8CB5E8 */ lw $t4, %lo(do_not_play_intro_movie)($t4)
/* 04D228 7F0186F8 15800007 */ bnez $t4, .L7F018718
/* 04D22C 7F0186FC 00000000 */ nop
/* 04D230 7F018700 0C001C0F */ jal musicTrack1ApplySeqpVol
/* 04D234 7F018704 24047FFF */ li $a0, 32767
/* 04D238 7F018708 3C018002 */ lui $at, %hi(g_musicXTrack1Fade)
/* 04D23C 7F01870C AC20434C */ sw $zero, %lo(g_musicXTrack1Fade)($at)
/* 04D240 7F018710 0C001B9F */ jal musicTrack1Play
/* 04D244 7F018714 24040002 */ li $a0, 2
.L7F018718:
/* 04D248 7F018718 3C048003 */ lui $a0, %hi(intro_animation_table)
/* 04D24C 7F01871C 2484B8BC */ addiu $a0, %lo(intro_animation_table) # addiu $a0, $a0, -0x4744
/* 04D250 7F018720 00006900 */ sll $t5, $zero, 4
/* 04D254 7F018724 008D7021 */ addu $t6, $a0, $t5
/* 04D258 7F018728 8DC80000 */ lw $t0, ($t6)
/* 04D25C 7F01872C 3C038003 */ lui $v1, %hi(intro_animation_count)
/* 04D260 7F018730 2463B5F0 */ addiu $v1, %lo(intro_animation_count) # addiu $v1, $v1, -0x4a10
/* 04D264 7F018734 AC600000 */ sw $zero, ($v1)
/* 04D268 7F018738 05000009 */ bltz $t0, .L7F018760
/* 04D26C 7F01873C 00001025 */ move $v0, $zero
/* 04D270 7F018740 24590001 */ addiu $t9, $v0, 1
.L7F018744:
/* 04D274 7F018744 00197900 */ sll $t7, $t9, 4
/* 04D278 7F018748 008FC021 */ addu $t8, $a0, $t7
/* 04D27C 7F01874C 8F090000 */ lw $t1, ($t8)
/* 04D280 7F018750 AC790000 */ sw $t9, ($v1)
/* 04D284 7F018754 03201025 */ move $v0, $t9
/* 04D288 7F018758 0523FFFA */ bgezl $t1, .L7F018744
/* 04D28C 7F01875C 24590001 */ addiu $t9, $v0, 1
.L7F018760:
/* 04D290 7F018760 0C002914 */ jal randomGetNext
/* 04D294 7F018764 00000000 */ nop
/* 04D298 7F018768 3C038003 */ lui $v1, %hi(intro_animation_count)
/* 04D29C 7F01876C 2463B5F0 */ addiu $v1, %lo(intro_animation_count) # addiu $v1, $v1, -0x4a10
/* 04D2A0 7F018770 8C6A0000 */ lw $t2, ($v1)
/* 04D2A4 7F018774 3C0C8003 */ lui $t4, %hi(do_not_play_intro_movie)
/* 04D2A8 7F018778 8D8CB5E8 */ lw $t4, %lo(do_not_play_intro_movie)($t4)
/* 04D2AC 7F01877C 004A001B */ divu $zero, $v0, $t2
/* 04D2B0 7F018780 00005810 */ mfhi $t3
/* 04D2B4 7F018784 3C018003 */ lui $at, %hi(randomly_selected_intro_animation)
/* 04D2B8 7F018788 AC2BB5EC */ sw $t3, %lo(randomly_selected_intro_animation)($at)
/* 04D2BC 7F01878C 3C0F8003 */ lui $t7, %hi(randomly_selected_intro_animation)
/* 04D2C0 7F018790 000C6880 */ sll $t5, $t4, 2
/* 04D2C4 7F018794 8DEFB5EC */ lw $t7, %lo(randomly_selected_intro_animation)($t7)
/* 04D2C8 7F018798 3C0E8003 */ lui $t6, %hi(intro_char_table)
/* 04D2CC 7F01879C 01AC6821 */ addu $t5, $t5, $t4
/* 04D2D0 7F0187A0 000D6880 */ sll $t5, $t5, 2
/* 04D2D4 7F0187A4 25CEB600 */ addiu $t6, %lo(intro_char_table) # addiu $t6, $t6, -0x4a00
/* 04D2D8 7F0187A8 01AE2021 */ addu $a0, $t5, $t6
/* 04D2DC 7F0187AC 8C880000 */ lw $t0, ($a0)
/* 04D2E0 7F0187B0 3C098003 */ lui $t1, %hi(intro_animation_table+12)
/* 04D2E4 7F0187B4 000FC100 */ sll $t8, $t7, 4
/* 04D2E8 7F0187B8 01384821 */ addu $t1, $t1, $t8
/* 04D2EC 7F0187BC 8C990004 */ lw $t9, 4($a0)
/* 04D2F0 7F0187C0 8D29B8C8 */ lw $t1, %lo(intro_animation_table+12)($t1)
/* 04D2F4 7F0187C4 24010016 */ li $at, 22
/* 04D2F8 7F0187C8 15400002 */ bnez $t2, .L7F0187D4
/* 04D2FC 7F0187CC 00000000 */ nop
/* 04D300 7F0187D0 0007000D */ break 7
.L7F0187D4:
/* 04D304 7F0187D4 AFA8008C */ sw $t0, 0x8c($sp)
/* 04D308 7F0187D8 01005025 */ move $t2, $t0
/* 04D30C 7F0187DC AFB90088 */ sw $t9, 0x88($sp)
/* 04D310 7F0187E0 15010022 */ bne $t0, $at, .L7F01886C
/* 04D314 7F0187E4 AFA9006C */ sw $t1, 0x6c($sp)
/* 04D318 7F0187E8 0C002914 */ jal randomGetNext
/* 04D31C 7F0187EC 00000000 */ nop
/* 04D320 7F0187F0 24010005 */ li $at, 5
/* 04D324 7F0187F4 0041001B */ divu $zero, $v0, $at
/* 04D328 7F0187F8 00005810 */ mfhi $t3
/* 04D32C 7F0187FC 2D610005 */ sltiu $at, $t3, 5
/* 04D330 7F018800 1020002F */ beqz $at, .L7F0188C0
/* 04D334 7F018804 000B5880 */ sll $t3, $t3, 2
/* 04D338 7F018808 3C018005 */ lui $at, %hi(jpt_intro_bond_head)
/* 04D33C 7F01880C 002B0821 */ addu $at, $at, $t3
/* 04D340 7F018810 8C2B1AEC */ lw $t3, %lo(jpt_intro_bond_head)($at)
/* 04D344 7F018814 01600008 */ jr $t3
/* 04D348 7F018818 00000000 */ nop
set_body_default:
/* 04D34C 7F01881C 240C0017 */ li $t4, 23
/* 04D350 7F018820 240D004B */ li $t5, 75
/* 04D354 7F018824 AFAD0088 */ sw $t5, 0x88($sp)
/* 04D358 7F018828 10000025 */ b .L7F0188C0
/* 04D35C 7F01882C AFAC008C */ sw $t4, 0x8c($sp)
set_body_jungle:
/* 04D360 7F018830 240E0018 */ li $t6, 24
/* 04D364 7F018834 2408004B */ li $t0, 75
/* 04D368 7F018838 AFA80088 */ sw $t0, 0x88($sp)
/* 04D36C 7F01883C 10000020 */ b .L7F0188C0
/* 04D370 7F018840 AFAE008C */ sw $t6, 0x8c($sp)
set_body_snowsuit:
/* 04D374 7F018844 24190019 */ li $t9, 25
/* 04D378 7F018848 240F004B */ li $t7, 75
/* 04D37C 7F01884C AFAF0088 */ sw $t7, 0x88($sp)
/* 04D380 7F018850 1000001B */ b .L7F0188C0
/* 04D384 7F018854 AFB9008C */ sw $t9, 0x8c($sp)
set_body_5:
/* 04D388 7F018858 24180005 */ li $t8, 5
/* 04D38C 7F01885C 2409004E */ li $t1, 78
/* 04D390 7F018860 AFA90088 */ sw $t1, 0x88($sp)
/* 04D394 7F018864 10000016 */ b .L7F0188C0
/* 04D398 7F018868 AFB8008C */ sw $t8, 0x8c($sp)
.L7F01886C:
/* 04D39C 7F01886C 8FAA008C */ lw $t2, 0x8c($sp)
/* 04D3A0 7F018870 24010010 */ li $at, 16
/* 04D3A4 7F018874 8FAD008C */ lw $t5, 0x8c($sp)
/* 04D3A8 7F018878 55410009 */ bnel $t2, $at, .L7F0188A0
/* 04D3AC 7F01887C 24010009 */ li $at, 9
/* 04D3B0 7F018880 0C002914 */ jal randomGetNext
/* 04D3B4 7F018884 00000000 */ nop
/* 04D3B8 7F018888 304B0001 */ andi $t3, $v0, 1
/* 04D3BC 7F01888C 1160000C */ beqz $t3, .L7F0188C0
/* 04D3C0 7F018890 240C004F */ li $t4, 79
/* 04D3C4 7F018894 1000000A */ b .L7F0188C0
/* 04D3C8 7F018898 AFAC008C */ sw $t4, 0x8c($sp)
/* 04D3CC 7F01889C 24010009 */ li $at, 9
.L7F0188A0:
/* 04D3D0 7F0188A0 55A10008 */ bnel $t5, $at, .L7F0188C4
/* 04D3D4 7F0188A4 8FB90088 */ lw $t9, 0x88($sp)
/* 04D3D8 7F0188A8 0C002914 */ jal randomGetNext
/* 04D3DC 7F0188AC 00000000 */ nop
/* 04D3E0 7F0188B0 304E0001 */ andi $t6, $v0, 1
/* 04D3E4 7F0188B4 11C00002 */ beqz $t6, .L7F0188C0
/* 04D3E8 7F0188B8 24080008 */ li $t0, 8
/* 04D3EC 7F0188BC AFA8008C */ sw $t0, 0x8c($sp)
set_body_mp_choice_maybe:
.L7F0188C0:
/* 04D3F0 7F0188C0 8FB90088 */ lw $t9, 0x88($sp)
.L7F0188C4:
/* 04D3F4 7F0188C4 2401FF9F */ li $at, -97
/* 04D3F8 7F0188C8 57210005 */ bnel $t9, $at, .L7F0188E0
/* 04D3FC 7F0188CC 8FAF00B4 */ lw $t7, 0xb4($sp)
/* 04D400 7F0188D0 0FC08D98 */ jal get_random_head
/* 04D404 7F0188D4 8FA4008C */ lw $a0, 0x8c($sp)
/* 04D408 7F0188D8 AFA20088 */ sw $v0, 0x88($sp)
/* 04D40C 7F0188DC 8FAF00B4 */ lw $t7, 0xb4($sp)
.L7F0188E0:
/* 04D410 7F0188E0 3C020003 */ lui $v0, (0x00031160 >> 16) # lui $v0, 3
/* 04D414 7F0188E4 34421160 */ ori $v0, (0x00031160 & 0xFFFF) # ori $v0, $v0, 0x1160
/* 04D418 7F0188E8 01E22021 */ addu $a0, $t7, $v0
/* 04D41C 7F0188EC 2484003F */ addiu $a0, $a0, 0x3f
/* 04D420 7F0188F0 3498003F */ ori $t8, $a0, 0x3f
/* 04D424 7F0188F4 3B04003F */ xori $a0, $t8, 0x3f
/* 04D428 7F0188F8 AFA200B0 */ sw $v0, 0xb0($sp)
/* 04D42C 7F0188FC 240501B8 */ li $a1, 440
/* 04D430 7F018900 0FC34912 */ jal zbufSetBuffer
/* 04D434 7F018904 2406014A */ li $a2, 330
/* 04D438 7F018908 3C060001 */ lui $a2, (0x00019000 >> 16) # lui $a2, 1
/* 04D43C 7F01890C 34C69000 */ ori $a2, (0x00019000 & 0xFFFF) # ori $a2, $a2, 0x9000
/* 04D440 7F018910 27A40090 */ addiu $a0, $sp, 0x90
/* 04D444 7F018914 0FC32EBD */ jal sub_GAME_7F0CBAF4
/* 04D448 7F018918 8FA500B4 */ lw $a1, 0xb4($sp)
/* 04D44C 7F01891C 8FAA008C */ lw $t2, 0x8c($sp)
/* 04D450 7F018920 3C0C8004 */ lui $t4, %hi(c_item_entries)
/* 04D454 7F018924 8FA600B4 */ lw $a2, 0xb4($sp)
/* 04D458 7F018928 000A5880 */ sll $t3, $t2, 2
/* 04D45C 7F01892C 016A5821 */ addu $t3, $t3, $t2
/* 04D460 7F018930 8FA700B0 */ lw $a3, 0xb0($sp)
/* 04D464 7F018934 3C030001 */ lui $v1, (0x00019000 >> 16) # lui $v1, 1
/* 04D468 7F018938 000B5880 */ sll $t3, $t3, 2
/* 04D46C 7F01893C 258CDE10 */ addiu $t4, %lo(c_item_entries) # addiu $t4, $t4, -0x21f0
/* 04D470 7F018940 34639000 */ ori $v1, (0x00019000 & 0xFFFF) # ori $v1, $v1, 0x9000
/* 04D474 7F018944 016C1021 */ addu $v0, $t3, $t4
/* 04D478 7F018948 8C440000 */ lw $a0, ($v0)
/* 04D47C 7F01894C 27AD0090 */ addiu $t5, $sp, 0x90
/* 04D480 7F018950 00C33021 */ addu $a2, $a2, $v1
/* 04D484 7F018954 00E33823 */ subu $a3, $a3, $v1
/* 04D488 7F018958 AFA700B0 */ sw $a3, 0xb0($sp)
/* 04D48C 7F01895C AFA600B4 */ sw $a2, 0xb4($sp)
/* 04D490 7F018960 AFAD0010 */ sw $t5, 0x10($sp)
/* 04D494 7F018964 8C450004 */ lw $a1, 4($v0)
/* 04D498 7F018968 AFA20024 */ sw $v0, 0x24($sp)
/* 04D49C 7F01896C 0FC1D929 */ jal load_object_fill_header
/* 04D4A0 7F018970 AFA40080 */ sw $a0, 0x80($sp)
/* 04D4A4 7F018974 8FA20024 */ lw $v0, 0x24($sp)
/* 04D4A8 7F018978 0FC2F462 */ jal get_pc_buffer_remaining_value
/* 04D4AC 7F01897C 8C440004 */ lw $a0, 4($v0)
/* 04D4B0 7F018980 2443003F */ addiu $v1, $v0, 0x3f
/* 04D4B4 7F018984 8FB900B0 */ lw $t9, 0xb0($sp)
/* 04D4B8 7F018988 8FB800B4 */ lw $t8, 0xb4($sp)
/* 04D4BC 7F01898C 346E003F */ ori $t6, $v1, 0x3f
/* 04D4C0 7F018990 8FAA0088 */ lw $t2, 0x88($sp)
/* 04D4C4 7F018994 39C8003F */ xori $t0, $t6, 0x3f
/* 04D4C8 7F018998 03287823 */ subu $t7, $t9, $t0
/* 04D4CC 7F01899C 03084821 */ addu $t1, $t8, $t0
/* 04D4D0 7F0189A0 AFAF00B0 */ sw $t7, 0xb0($sp)
/* 04D4D4 7F0189A4 0540001C */ bltz $t2, .L7F018A18
/* 04D4D8 7F0189A8 AFA900B4 */ sw $t1, 0xb4($sp)
/* 04D4DC 7F0189AC 000A5880 */ sll $t3, $t2, 2
/* 04D4E0 7F0189B0 016A5821 */ addu $t3, $t3, $t2
/* 04D4E4 7F0189B4 3C0C8004 */ lui $t4, %hi(c_item_entries)
/* 04D4E8 7F0189B8 258CDE10 */ addiu $t4, %lo(c_item_entries) # addiu $t4, $t4, -0x21f0
/* 04D4EC 7F0189BC 000B5880 */ sll $t3, $t3, 2
/* 04D4F0 7F0189C0 016C1021 */ addu $v0, $t3, $t4
/* 04D4F4 7F0189C4 8C440000 */ lw $a0, ($v0)
/* 04D4F8 7F0189C8 27AD0090 */ addiu $t5, $sp, 0x90
/* 04D4FC 7F0189CC AFAD0010 */ sw $t5, 0x10($sp)
/* 04D500 7F0189D0 8C450004 */ lw $a1, 4($v0)
/* 04D504 7F0189D4 AFA20024 */ sw $v0, 0x24($sp)
/* 04D508 7F0189D8 01203025 */ move $a2, $t1
/* 04D50C 7F0189DC 01E03825 */ move $a3, $t7
/* 04D510 7F0189E0 0FC1D929 */ jal load_object_fill_header
/* 04D514 7F0189E4 AFA4007C */ sw $a0, 0x7c($sp)
/* 04D518 7F0189E8 8FA20024 */ lw $v0, 0x24($sp)
/* 04D51C 7F0189EC 0FC2F462 */ jal get_pc_buffer_remaining_value
/* 04D520 7F0189F0 8C440004 */ lw $a0, 4($v0)
/* 04D524 7F0189F4 2443003F */ addiu $v1, $v0, 0x3f
/* 04D528 7F0189F8 8FB900B0 */ lw $t9, 0xb0($sp)
/* 04D52C 7F0189FC 8FAA00B4 */ lw $t2, 0xb4($sp)
/* 04D530 7F018A00 346E003F */ ori $t6, $v1, 0x3f
/* 04D534 7F018A04 39C8003F */ xori $t0, $t6, 0x3f
/* 04D538 7F018A08 0328C023 */ subu $t8, $t9, $t0
/* 04D53C 7F018A0C 01485821 */ addu $t3, $t2, $t0
/* 04D540 7F018A10 AFB800B0 */ sw $t8, 0xb0($sp)
/* 04D544 7F018A14 AFAB00B4 */ sw $t3, 0xb4($sp)
.L7F018A18:
/* 04D548 7F018A18 8FA4008C */ lw $a0, 0x8c($sp)
/* 04D54C 7F018A1C 8FA50088 */ lw $a1, 0x88($sp)
/* 04D550 7F018A20 8FA60080 */ lw $a2, 0x80($sp)
/* 04D554 7F018A24 8FA7007C */ lw $a3, 0x7c($sp)
/* 04D558 7F018A28 0FC08D2A */ jal sub_GAME_7F0234A8
/* 04D55C 7F018A2C AFA00010 */ sw $zero, 0x10($sp)
/* 04D560 7F018A30 3C038003 */ lui $v1, %hi(objinstance)
/* 04D564 7F018A34 2463B5F4 */ addiu $v1, %lo(objinstance) # addiu $v1, $v1, -0x4a0c
/* 04D568 7F018A38 3C053DCC */ lui $a1, (0x3DCCCCCD >> 16) # lui $a1, 0x3dcc
/* 04D56C 7F018A3C AC620000 */ sw $v0, ($v1)
/* 04D570 7F018A40 34A5CCCD */ ori $a1, (0x3DCCCCCD & 0xFFFF) # ori $a1, $a1, 0xcccd
/* 04D574 7F018A44 0FC1B39E */ jal set_obj_instance_controller_scale
/* 04D578 7F018A48 00402025 */ move $a0, $v0
/* 04D57C 7F018A4C 8FAC006C */ lw $t4, 0x6c($sp)
/* 04D580 7F018A50 24010002 */ li $at, 2
/* 04D584 7F018A54 1180007A */ beqz $t4, .L7F018C40
/* 04D588 7F018A58 00000000 */ nop
/* 04D58C 7F018A5C 15810018 */ bne $t4, $at, .L7F018AC0
/* 04D590 7F018A60 27B8002C */ addiu $t8, $sp, 0x2c
/* 04D594 7F018A64 3C0F8003 */ lui $t7, %hi(random_rifles_in_intro)
/* 04D598 7F018A68 25EFBA38 */ addiu $t7, %lo(random_rifles_in_intro) # addiu $t7, $t7, -0x45c8
/* 04D59C 7F018A6C 8DE10000 */ lw $at, ($t7)
/* 04D5A0 7F018A70 8DEE0004 */ lw $t6, 4($t7)
/* 04D5A4 7F018A74 27A90054 */ addiu $t1, $sp, 0x54
/* 04D5A8 7F018A78 AD210000 */ sw $at, ($t1)
/* 04D5AC 7F018A7C AD2E0004 */ sw $t6, 4($t1)
/* 04D5B0 7F018A80 8DEE000C */ lw $t6, 0xc($t7)
/* 04D5B4 7F018A84 8DE10008 */ lw $at, 8($t7)
/* 04D5B8 7F018A88 AD2E000C */ sw $t6, 0xc($t1)
/* 04D5BC 7F018A8C AD210008 */ sw $at, 8($t1)
/* 04D5C0 7F018A90 8DE10010 */ lw $at, 0x10($t7)
/* 04D5C4 7F018A94 8DEE0014 */ lw $t6, 0x14($t7)
/* 04D5C8 7F018A98 AD210010 */ sw $at, 0x10($t1)
/* 04D5CC 7F018A9C 0C002914 */ jal randomGetNext
/* 04D5D0 7F018AA0 AD2E0014 */ sw $t6, 0x14($t1)
/* 04D5D4 7F018AA4 24010006 */ li $at, 6
/* 04D5D8 7F018AA8 0041001B */ divu $zero, $v0, $at
/* 04D5DC 7F018AAC 00004010 */ mfhi $t0
/* 04D5E0 7F018AB0 0008C880 */ sll $t9, $t0, 2
/* 04D5E4 7F018AB4 03B91821 */ addu $v1, $sp, $t9
/* 04D5E8 7F018AB8 10000016 */ b .L7F018B14
/* 04D5EC 7F018ABC 8C630054 */ lw $v1, 0x54($v1)
.L7F018AC0:
/* 04D5F0 7F018AC0 3C0A8003 */ lui $t2, %hi(random_pistols_in_intro)
/* 04D5F4 7F018AC4 254ABA50 */ addiu $t2, %lo(random_pistols_in_intro) # addiu $t2, $t2, -0x45b0
/* 04D5F8 7F018AC8 254C0024 */ addiu $t4, $t2, 0x24
.L7F018ACC:
/* 04D5FC 7F018ACC 8D410000 */ lw $at, ($t2)
/* 04D600 7F018AD0 254A000C */ addiu $t2, $t2, 0xc
/* 04D604 7F018AD4 2718000C */ addiu $t8, $t8, 0xc
/* 04D608 7F018AD8 AF01FFF4 */ sw $at, -0xc($t8)
/* 04D60C 7F018ADC 8D41FFF8 */ lw $at, -8($t2)
/* 04D610 7F018AE0 AF01FFF8 */ sw $at, -8($t8)
/* 04D614 7F018AE4 8D41FFFC */ lw $at, -4($t2)
/* 04D618 7F018AE8 154CFFF8 */ bne $t2, $t4, .L7F018ACC
/* 04D61C 7F018AEC AF01FFFC */ sw $at, -4($t8)
/* 04D620 7F018AF0 8D410000 */ lw $at, ($t2)
/* 04D624 7F018AF4 0C002914 */ jal randomGetNext
/* 04D628 7F018AF8 AF010000 */ sw $at, ($t8)
/* 04D62C 7F018AFC 2401000A */ li $at, 10
/* 04D630 7F018B00 0041001B */ divu $zero, $v0, $at
/* 04D634 7F018B04 00006810 */ mfhi $t5
/* 04D638 7F018B08 000D4880 */ sll $t1, $t5, 2
/* 04D63C 7F018B0C 03A91821 */ addu $v1, $sp, $t1
/* 04D640 7F018B10 8C63002C */ lw $v1, 0x2c($v1)
.L7F018B14:
/* 04D644 7F018B14 240100BE */ li $at, 190
/* 04D648 7F018B18 54610007 */ bnel $v1, $at, .L7F018B38
/* 04D64C 7F018B1C 240100BB */ li $at, 187
/* 04D650 7F018B20 0FC07AB4 */ jal check_cradle_completed_any_folder
/* 04D654 7F018B24 AFA30084 */ sw $v1, 0x84($sp)
/* 04D658 7F018B28 14400002 */ bnez $v0, .L7F018B34
/* 04D65C 7F018B2C 8FA30084 */ lw $v1, 0x84($sp)
/* 04D660 7F018B30 240300BF */ li $v1, 191
.L7F018B34:
/* 04D664 7F018B34 240100BB */ li $at, 187
.L7F018B38:
/* 04D668 7F018B38 54610007 */ bnel $v1, $at, .L7F018B58
/* 04D66C 7F018B3C 240100D0 */ li $at, 208
/* 04D670 7F018B40 0FC07AC8 */ jal check_aztec_completed_any_folder_secret_00
/* 04D674 7F018B44 AFA30084 */ sw $v1, 0x84($sp)
/* 04D678 7F018B48 14400002 */ bnez $v0, .L7F018B54
/* 04D67C 7F018B4C 8FA30084 */ lw $v1, 0x84($sp)
/* 04D680 7F018B50 240300BF */ li $v1, 191
.L7F018B54:
/* 04D684 7F018B54 240100D0 */ li $at, 208
.L7F018B58:
/* 04D688 7F018B58 54610007 */ bnel $v1, $at, .L7F018B78
/* 04D68C 7F018B5C 00037880 */ sll $t7, $v1, 2
/* 04D690 7F018B60 0FC07ADC */ jal check_egypt_completed_any_folder_00
/* 04D694 7F018B64 AFA30084 */ sw $v1, 0x84($sp)
/* 04D698 7F018B68 14400002 */ bnez $v0, .L7F018B74
/* 04D69C 7F018B6C 8FA30084 */ lw $v1, 0x84($sp)
/* 04D6A0 7F018B70 240300BF */ li $v1, 191
.L7F018B74:
/* 04D6A4 7F018B74 00037880 */ sll $t7, $v1, 2
.L7F018B78:
/* 04D6A8 7F018B78 01E37823 */ subu $t7, $t7, $v1
/* 04D6AC 7F018B7C 3C0E8004 */ lui $t6, %hi(PitemZ_entries)
/* 04D6B0 7F018B80 25CEA228 */ addiu $t6, %lo(PitemZ_entries) # addiu $t6, $t6, -0x5dd8
/* 04D6B4 7F018B84 000F7880 */ sll $t7, $t7, 2
/* 04D6B8 7F018B88 01EE1021 */ addu $v0, $t7, $t6
/* 04D6BC 7F018B8C 8C440000 */ lw $a0, ($v0)
/* 04D6C0 7F018B90 27A80090 */ addiu $t0, $sp, 0x90
/* 04D6C4 7F018B94 AFA80010 */ sw $t0, 0x10($sp)
/* 04D6C8 7F018B98 8C450004 */ lw $a1, 4($v0)
/* 04D6CC 7F018B9C AFA20024 */ sw $v0, 0x24($sp)
/* 04D6D0 7F018BA0 8FA600B4 */ lw $a2, 0xb4($sp)
/* 04D6D4 7F018BA4 8FA700B0 */ lw $a3, 0xb0($sp)
/* 04D6D8 7F018BA8 0FC1D929 */ jal load_object_fill_header
/* 04D6DC 7F018BAC AFA40078 */ sw $a0, 0x78($sp)
/* 04D6E0 7F018BB0 8FA20024 */ lw $v0, 0x24($sp)
/* 04D6E4 7F018BB4 0FC2F462 */ jal get_pc_buffer_remaining_value
/* 04D6E8 7F018BB8 8C440004 */ lw $a0, 4($v0)
/* 04D6EC 7F018BBC 0FC1D73D */ jal set_objuse_flag_compute_grp_nums_set_obj_loaded
/* 04D6F0 7F018BC0 8FA40078 */ lw $a0, 0x78($sp)
/* 04D6F4 7F018BC4 0FC1B025 */ jal get_obj_instance_controller_for_header
/* 04D6F8 7F018BC8 8FA40078 */ lw $a0, 0x78($sp)
/* 04D6FC 7F018BCC 3C038003 */ lui $v1, %hi(ptrobjinstance)
/* 04D700 7F018BD0 2463B5F8 */ addiu $v1, %lo(ptrobjinstance) # addiu $v1, $v1, -0x4a08
/* 04D704 7F018BD4 3C053DCC */ lui $a1, (0x3DCCCCCD >> 16) # lui $a1, 0x3dcc
/* 04D708 7F018BD8 AC620000 */ sw $v0, ($v1)
/* 04D70C 7F018BDC 34A5CCCD */ ori $a1, (0x3DCCCCCD & 0xFFFF) # ori $a1, $a1, 0xcccd
/* 04D710 7F018BE0 0FC1B39E */ jal set_obj_instance_controller_scale
/* 04D714 7F018BE4 00402025 */ move $a0, $v0
/* 04D718 7F018BE8 3C038003 */ lui $v1, %hi(ptrobjinstance)
/* 04D71C 7F018BEC 3C068003 */ lui $a2, %hi(objinstance)
/* 04D720 7F018BF0 24C6B5F4 */ addiu $a2, %lo(objinstance) # addiu $a2, $a2, -0x4a0c
/* 04D724 7F018BF4 2463B5F8 */ addiu $v1, %lo(ptrobjinstance) # addiu $v1, $v1, -0x4a08
/* 04D728 7F018BF8 8C6B0000 */ lw $t3, ($v1)
/* 04D72C 7F018BFC 8CD90000 */ lw $t9, ($a2)
/* 04D730 7F018C00 24020003 */ li $v0, 3
/* 04D734 7F018C04 AD790018 */ sw $t9, 0x18($t3)
/* 04D738 7F018C08 8FAC0070 */ lw $t4, 0x70($sp)
/* 04D73C 7F018C0C 11800003 */ beqz $t4, .L7F018C1C
/* 04D740 7F018C10 00000000 */ nop
/* 04D744 7F018C14 10000001 */ b .L7F018C1C
/* 04D748 7F018C18 24020005 */ li $v0, 5
.L7F018C1C:
/* 04D74C 7F018C1C 8CCA0000 */ lw $t2, ($a2)
/* 04D750 7F018C20 00024880 */ sll $t1, $v0, 2
/* 04D754 7F018C24 8C680000 */ lw $t0, ($v1)
/* 04D758 7F018C28 8D580008 */ lw $t8, 8($t2)
/* 04D75C 7F018C2C 8F0D0008 */ lw $t5, 8($t8)
/* 04D760 7F018C30 01A97821 */ addu $t7, $t5, $t1
/* 04D764 7F018C34 8DEE0000 */ lw $t6, ($t7)
/* 04D768 7F018C38 10000006 */ b .L7F018C54
/* 04D76C 7F018C3C AD0E001C */ sw $t6, 0x1c($t0)
.L7F018C40:
/* 04D770 7F018C40 3C038003 */ lui $v1, %hi(ptrobjinstance)
/* 04D774 7F018C44 2463B5F8 */ addiu $v1, %lo(ptrobjinstance) # addiu $v1, $v1, -0x4a08
/* 04D778 7F018C48 3C068003 */ lui $a2, %hi(objinstance)
/* 04D77C 7F018C4C 24C6B5F4 */ addiu $a2, %lo(objinstance) # addiu $a2, $a2, -0x4a0c
/* 04D780 7F018C50 AC600000 */ sw $zero, ($v1)
.L7F018C54:
/* 04D784 7F018C54 3C053DCC */ lui $a1, (0x3DCCCCCD >> 16) # lui $a1, 0x3dcc
/* 04D788 7F018C58 34A5CCCD */ ori $a1, (0x3DCCCCCD & 0xFFFF) # ori $a1, $a1, 0xcccd
/* 04D78C 7F018C5C 0FC1B3A1 */ jal sub_GAME_7F06CE84
/* 04D790 7F018C60 8CC40000 */ lw $a0, ($a2)
/* 04D794 7F018C64 3C048003 */ lui $a0, %hi(objinstance)
/* 04D798 7F018C68 8C84B5F4 */ lw $a0, %lo(objinstance)($a0)
/* 04D79C 7F018C6C 0FC1B303 */ jal setsuboffset
/* 04D7A0 7F018C70 27A500A0 */ addiu $a1, $sp, 0xa0
/* 04D7A4 7F018C74 3C048003 */ lui $a0, %hi(objinstance)
/* 04D7A8 7F018C78 8C84B5F4 */ lw $a0, %lo(objinstance)($a0)
/* 04D7AC 7F018C7C 0FC1B34F */ jal setsubroty
/* 04D7B0 7F018C80 24050000 */ li $a1, 0
/* 04D7B4 7F018C84 3C048003 */ lui $a0, %hi(objinstance)
/* 04D7B8 7F018C88 8C84B5F4 */ lw $a0, %lo(objinstance)($a0)
/* 04D7BC 7F018C8C 3C053F00 */ lui $a1, 0x3f00
/* 04D7C0 7F018C90 0FC1BFC6 */ jal sub_GAME_7F06FF18
/* 04D7C4 7F018C94 24060000 */ li $a2, 0
/* 04D7C8 7F018C98 3C198003 */ lui $t9, %hi(randomly_selected_intro_animation)
/* 04D7CC 7F018C9C 8F39B5EC */ lw $t9, %lo(randomly_selected_intro_animation)($t9)
/* 04D7D0 7F018CA0 3C0C8003 */ lui $t4, %hi(intro_animation_table)
/* 04D7D4 7F018CA4 258CB8BC */ addiu $t4, %lo(intro_animation_table) # addiu $t4, $t4, -0x4744
/* 04D7D8 7F018CA8 00195900 */ sll $t3, $t9, 4
/* 04D7DC 7F018CAC 016C1021 */ addu $v0, $t3, $t4
/* 04D7E0 7F018CB0 8C4A0000 */ lw $t2, ($v0)
/* 04D7E4 7F018CB4 C4440008 */ lwc1 $f4, 8($v0)
/* 04D7E8 7F018CB8 44803000 */ mtc1 $zero, $f6
/* 04D7EC 7F018CBC 3C058003 */ lui $a1, %hi(animation_table_ptrs1)
/* 04D7F0 7F018CC0 000AC080 */ sll $t8, $t2, 2
/* 04D7F4 7F018CC4 00B82821 */ addu $a1, $a1, $t8
/* 04D7F8 7F018CC8 3C048003 */ lui $a0, %hi(objinstance)
/* 04D7FC 7F018CCC 8C84B5F4 */ lw $a0, %lo(objinstance)($a0)
/* 04D800 7F018CD0 8CA59D6C */ lw $a1, %lo(animation_table_ptrs1)($a1)
/* 04D804 7F018CD4 8C470004 */ lw $a3, 4($v0)
/* 04D808 7F018CD8 8FA60070 */ lw $a2, 0x70($sp)
/* 04D80C 7F018CDC E7A40010 */ swc1 $f4, 0x10($sp)
/* 04D810 7F018CE0 0FC1BF2A */ jal sub_GAME_7F06FCA8
/* 04D814 7F018CE4 E7A60014 */ swc1 $f6, 0x14($sp)
/* 04D818 7F018CE8 3C018003 */ lui $at, %hi(menu_timer)
/* 04D81C 7F018CEC 0C002914 */ jal randomGetNext
/* 04D820 7F018CF0 AC20A8CC */ sw $zero, %lo(menu_timer)($at)
/* 04D824 7F018CF4 44824000 */ mtc1 $v0, $f8
/* 04D828 7F018CF8 04410005 */ bgez $v0, .L7F018D10
/* 04D82C 7F018CFC 468042A0 */ cvt.s.w $f10, $f8
/* 04D830 7F018D00 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000
/* 04D834 7F018D04 44818000 */ mtc1 $at, $f16
/* 04D838 7F018D08 00000000 */ nop
/* 04D83C 7F018D0C 46105280 */ add.s $f10, $f10, $f16
.L7F018D10:
/* 04D840 7F018D10 3C012F80 */ li $at, 0x2F800000 # 0.000000
/* 04D844 7F018D14 44819000 */ mtc1 $at, $f18
/* 04D848 7F018D18 3C0142A0 */ li $at, 0x42A00000 # 80.000000
/* 04D84C 7F018D1C 44813000 */ mtc1 $at, $f6
/* 04D850 7F018D20 46125102 */ mul.s $f4, $f10, $f18
/* 04D854 7F018D24 3C01428C */ li $at, 0x428C0000 # 70.000000
/* 04D858 7F018D28 44818000 */ mtc1 $at, $f16
/* 04D85C 7F018D2C 3C018007 */ lui $at, %hi(flt_CODE_bss_800695A4)
/* 04D860 7F018D30 46062202 */ mul.s $f8, $f4, $f6
/* 04D864 7F018D34 46104280 */ add.s $f10, $f8, $f16
/* 04D868 7F018D38 0C002914 */ jal randomGetNext
/* 04D86C 7F018D3C E42A95A4 */ swc1 $f10, %lo(flt_CODE_bss_800695A4)($at)
/* 04D870 7F018D40 44829000 */ mtc1 $v0, $f18
/* 04D874 7F018D44 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000
/* 04D878 7F018D48 04410004 */ bgez $v0, .L7F018D5C
/* 04D87C 7F018D4C 46809120 */ cvt.s.w $f4, $f18
/* 04D880 7F018D50 44813000 */ mtc1 $at, $f6
/* 04D884 7F018D54 00000000 */ nop
/* 04D888 7F018D58 46062100 */ add.s $f4, $f4, $f6
.L7F018D5C:
/* 04D88C 7F018D5C 3C012F80 */ li $at, 0x2F800000 # 0.000000
/* 04D890 7F018D60 44814000 */ mtc1 $at, $f8
/* 04D894 7F018D64 3C0142A0 */ li $at, 0x42A00000 # 80.000000
/* 04D898 7F018D68 44815000 */ mtc1 $at, $f10
/* 04D89C 7F018D6C 46082402 */ mul.s $f16, $f4, $f8
/* 04D8A0 7F018D70 3C01428C */ li $at, 0x428C0000 # 70.000000
/* 04D8A4 7F018D74 44813000 */ mtc1 $at, $f6
/* 04D8A8 7F018D78 3C018007 */ lui $at, %hi(flt_CODE_bss_800695A8)
/* 04D8AC 7F018D7C 460A8482 */ mul.s $f18, $f16, $f10
/* 04D8B0 7F018D80 46069100 */ add.s $f4, $f18, $f6
/* 04D8B4 7F018D84 0C002914 */ jal randomGetNext
/* 04D8B8 7F018D88 E42495A8 */ swc1 $f4, %lo(flt_CODE_bss_800695A8)($at)
/* 04D8BC 7F018D8C 44824000 */ mtc1 $v0, $f8
/* 04D8C0 7F018D90 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000
/* 04D8C4 7F018D94 04410004 */ bgez $v0, .L7F018DA8
/* 04D8C8 7F018D98 46804420 */ cvt.s.w $f16, $f8
/* 04D8CC 7F018D9C 44815000 */ mtc1 $at, $f10
/* 04D8D0 7F018DA0 00000000 */ nop
/* 04D8D4 7F018DA4 460A8400 */ add.s $f16, $f16, $f10
.L7F018DA8:
/* 04D8D8 7F018DA8 3C012F80 */ li $at, 0x2F800000 # 0.000000
/* 04D8DC 7F018DAC 44819000 */ mtc1 $at, $f18
/* 04D8E0 7F018DB0 3C013F00 */ li $at, 0x3F000000 # 0.500000
/* 04D8E4 7F018DB4 44812000 */ mtc1 $at, $f4
/* 04D8E8 7F018DB8 46128182 */ mul.s $f6, $f16, $f18
/* 04D8EC 7F018DBC 3C018005 */ lui $at, %hi(D_80051B00)
/* 04D8F0 7F018DC0 C42A1B00 */ lwc1 $f10, %lo(D_80051B00)($at)
/* 04D8F4 7F018DC4 3C018007 */ lui $at, %hi(flt_CODE_bss_800695B0)
/* 04D8F8 7F018DC8 46043201 */ sub.s $f8, $f6, $f4
/* 04D8FC 7F018DCC 460A4402 */ mul.s $f16, $f8, $f10
/* 04D900 7F018DD0 0C002914 */ jal randomGetNext
/* 04D904 7F018DD4 E43095B0 */ swc1 $f16, %lo(flt_CODE_bss_800695B0)($at)
/* 04D908 7F018DD8 44829000 */ mtc1 $v0, $f18
/* 04D90C 7F018DDC 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000
/* 04D910 7F018DE0 04410004 */ bgez $v0, .L7F018DF4
/* 04D914 7F018DE4 468091A0 */ cvt.s.w $f6, $f18
/* 04D918 7F018DE8 44812000 */ mtc1 $at, $f4
/* 04D91C 7F018DEC 00000000 */ nop
/* 04D920 7F018DF0 46043180 */ add.s $f6, $f6, $f4
.L7F018DF4:
/* 04D924 7F018DF4 3C012F80 */ li $at, 0x2F800000 # 0.000000
/* 04D928 7F018DF8 44814000 */ mtc1 $at, $f8
/* 04D92C 7F018DFC 3C013F00 */ li $at, 0x3F000000 # 0.500000
/* 04D930 7F018E00 44818000 */ mtc1 $at, $f16
/* 04D934 7F018E04 46083282 */ mul.s $f10, $f6, $f8
/* 04D938 7F018E08 3C018005 */ lui $at, %hi(D_80051B04)
/* 04D93C 7F018E0C C4241B04 */ lwc1 $f4, %lo(D_80051B04)($at)
/* 04D940 7F018E10 3C018007 */ lui $at, %hi(flt_CODE_bss_800695B4)
/* 04D944 7F018E14 46105481 */ sub.s $f18, $f10, $f16
/* 04D948 7F018E18 46049182 */ mul.s $f6, $f18, $f4
/* 04D94C 7F018E1C 0C002914 */ jal randomGetNext
/* 04D950 7F018E20 E42695B4 */ swc1 $f6, %lo(flt_CODE_bss_800695B4)($at)
/* 04D954 7F018E24 44824000 */ mtc1 $v0, $f8
/* 04D958 7F018E28 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000
/* 04D95C 7F018E2C 04410004 */ bgez $v0, .L7F018E40
/* 04D960 7F018E30 468042A0 */ cvt.s.w $f10, $f8
/* 04D964 7F018E34 44818000 */ mtc1 $at, $f16
/* 04D968 7F018E38 00000000 */ nop
/* 04D96C 7F018E3C 46105280 */ add.s $f10, $f10, $f16
.L7F018E40:
/* 04D970 7F018E40 3C012F80 */ li $at, 0x2F800000 # 0.000000
/* 04D974 7F018E44 44819000 */ mtc1 $at, $f18
/* 04D978 7F018E48 3C014348 */ li $at, 0x43480000 # 200.000000
/* 04D97C 7F018E4C 44813000 */ mtc1 $at, $f6
/* 04D980 7F018E50 46125102 */ mul.s $f4, $f10, $f18
/* 04D984 7F018E54 3C01C2C8 */ li $at, 0xC2C80000 # -100.000000
/* 04D988 7F018E58 44818000 */ mtc1 $at, $f16
/* 04D98C 7F018E5C 3C018007 */ lui $at, %hi(flt_CODE_bss_800695BC)
/* 04D990 7F018E60 46062202 */ mul.s $f8, $f4, $f6
/* 04D994 7F018E64 46104280 */ add.s $f10, $f8, $f16
/* 04D998 7F018E68 0C002914 */ jal randomGetNext
/* 04D99C 7F018E6C E42A95BC */ swc1 $f10, %lo(flt_CODE_bss_800695BC)($at)
/* 04D9A0 7F018E70 44829000 */ mtc1 $v0, $f18
/* 04D9A4 7F018E74 3C038007 */ lui $v1, %hi(flt_CODE_bss_800695E8)
/* 04D9A8 7F018E78 44800000 */ mtc1 $zero, $f0
/* 04D9AC 7F018E7C 246395E8 */ addiu $v1, %lo(flt_CODE_bss_800695E8) # addiu $v1, $v1, -0x6a18
/* 04D9B0 7F018E80 04410005 */ bgez $v0, .L7F018E98
/* 04D9B4 7F018E84 46809120 */ cvt.s.w $f4, $f18
/* 04D9B8 7F018E88 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000
/* 04D9BC 7F018E8C 44813000 */ mtc1 $at, $f6
/* 04D9C0 7F018E90 00000000 */ nop
/* 04D9C4 7F018E94 46062100 */ add.s $f4, $f4, $f6
.L7F018E98:
/* 04D9C8 7F018E98 3C012F80 */ li $at, 0x2F800000 # 0.000000
/* 04D9CC 7F018E9C 44814000 */ mtc1 $at, $f8
/* 04D9D0 7F018EA0 3C014348 */ li $at, 0x43480000 # 200.000000
/* 04D9D4 7F018EA4 44815000 */ mtc1 $at, $f10
/* 04D9D8 7F018EA8 46082402 */ mul.s $f16, $f4, $f8
/* 04D9DC 7F018EAC 3C01C2C8 */ li $at, 0xC2C80000 # -100.000000
/* 04D9E0 7F018EB0 44813000 */ mtc1 $at, $f6
/* 04D9E4 7F018EB4 3C018007 */ lui $at, %hi(flt_CODE_bss_800695C0)
/* 04D9E8 7F018EB8 8FBF001C */ lw $ra, 0x1c($sp)
/* 04D9EC 7F018EBC 240D0001 */ li $t5, 1
/* 04D9F0 7F018EC0 460A8482 */ mul.s $f18, $f16, $f10
/* 04D9F4 7F018EC4 46069100 */ add.s $f4, $f18, $f6
/* 04D9F8 7F018EC8 E42495C0 */ swc1 $f4, %lo(flt_CODE_bss_800695C0)($at)
/* 04D9FC 7F018ECC 3C018007 */ lui $at, %hi(flt_CODE_bss_800695A4)
/* 04DA00 7F018ED0 C42895A4 */ lwc1 $f8, %lo(flt_CODE_bss_800695A4)($at)
/* 04DA04 7F018ED4 3C018007 */ lui $at, %hi(flt_CODE_bss_800695A0)
/* 04DA08 7F018ED8 E42895A0 */ swc1 $f8, %lo(flt_CODE_bss_800695A0)($at)
/* 04DA0C 7F018EDC 3C018007 */ lui $at, %hi(flt_CODE_bss_800695B0)
/* 04DA10 7F018EE0 C43095B0 */ lwc1 $f16, %lo(flt_CODE_bss_800695B0)($at)
/* 04DA14 7F018EE4 3C018007 */ lui $at, %hi(flt_CODE_bss_800695AC)
/* 04DA18 7F018EE8 E43095AC */ swc1 $f16, %lo(flt_CODE_bss_800695AC)($at)
/* 04DA1C 7F018EEC 3C018007 */ lui $at, %hi(flt_CODE_bss_800695BC)
/* 04DA20 7F018EF0 C42A95BC */ lwc1 $f10, %lo(flt_CODE_bss_800695BC)($at)
/* 04DA24 7F018EF4 3C018007 */ lui $at, %hi(flt_CODE_bss_800695B8)
/* 04DA28 7F018EF8 27BD00B8 */ addiu $sp, $sp, 0xb8
/* 04DA2C 7F018EFC E42A95B8 */ swc1 $f10, %lo(flt_CODE_bss_800695B8)($at)
/* 04DA30 7F018F00 3C018007 */ lui $at, %hi(flt_CODE_bss_800695E4)
/* 04DA34 7F018F04 AC2D95E4 */ sw $t5, %lo(flt_CODE_bss_800695E4)($at)
/* 04DA38 7F018F08 E4600000 */ swc1 $f0, ($v1)
/* 04DA3C 7F018F0C E4600004 */ swc1 $f0, 4($v1)
/* 04DA40 7F018F10 03E00008 */ jr $ra
/* 04DA44 7F018F14 E4600008 */ swc1 $f0, 8($v1)
)
#endif
void update_menu18_displaycast(void) {
if (objinstance != 0) {
set_aircraft_obj_inst_scale_to_zero(objinstance);
}
if (ptrobjinstance != 0) {
set_obj_instance_scale_to_zero(ptrobjinstance);
return;
}
}
#ifdef NONMATCHING
void interface_menu18_displaycast(u32 param_1,u32 param_2)
{
u32 BVar2;
u32 uVar3;
s32 uVar1;
int iVar4;
viSetFovY(46.00000000);
viSetZRange(10.00000000,2000.00000000);
viSetUseZBuf(1);
viSetAspect((f32)flt_80051B08);
set_cur_player_screen_size(0x1b8,0x14a);
viSetViewSize(0x1b8,0x14a);
set_cur_player_viewport_size(0,0);
viSetViewPosition(0,0);
menu_timer += clock_timer;
if (menu_timer < 0xb5) {
uVar1 = joyGetButtonsPressedThisFrame
(0,R_CBUTTONS|L_CBUTTONS|D_CBUTTONS|U_CBUTTONS|R_TRIG|L_TRIG|DUMMY_2|DUMMY_1|
R_JPAD|L_JPAD|D_JPAD|U_JPAD|START_BUTTON|Z_TRIG|B_BUTTON|A_BUTTON);
if ((uVar1 != 0) && (full_actor_intro == FALSE)) {
set_menu_to_mode(MENU_FILE_SELECT,1);
}
return;
}
iVar4 = do_not_play_intro_movie + 1;
LAB_7f01902c:
do_not_play_intro_movie = iVar4;
if (intro_char_table[do_not_play_intro_movie].flag != 0) goto code_r0x7f01904c;
iVar4 = intro_char_table[do_not_play_intro_movie].body;
goto LAB_7f019068;
code_r0x7f01904c:
iVar4 = do_not_play_intro_movie + 1;
if (full_actor_intro != FALSE) {
iVar4 = intro_char_table[do_not_play_intro_movie].body;
LAB_7f019068:
if ((iVar4 == 0x27) && (BVar2 = check_aztec_completed_any_folder_secret_00(), BVar2 == FALSE)) {
iVar4 = do_not_play_intro_movie + 1;
goto LAB_7f01902c;
}
if ((intro_char_table[do_not_play_intro_movie].body == 0x28) &&
(BVar2 = check_aztec_completed_any_folder_secret_00(), BVar2 == FALSE)) {
iVar4 = do_not_play_intro_movie + 1;
goto LAB_7f01902c;
}
if ((intro_char_table[do_not_play_intro_movie].body == 0xe) &&
(BVar2 = check_aztec_completed_any_folder_secret_00(), BVar2 == FALSE)) {
uVar3 = randomGetNext();
if (false) {
trap(0x1c00);
}
if (uVar3 % 10000 != 0) {
iVar4 = do_not_play_intro_movie + 1;
goto LAB_7f01902c;
}
}
if ((intro_char_table[do_not_play_intro_movie].body == 0xd) &&
(BVar2 = check_aztec_completed_any_folder_secret_00(), BVar2 == FALSE)) {
uVar3 = randomGetNext();
if (false) {
trap(0x1c00);
}
if (uVar3 % 10000 != 0) {
iVar4 = do_not_play_intro_movie + 1;
goto LAB_7f01902c;
}
}
if ((intro_char_table[do_not_play_intro_movie].body == 0xf) &&
(BVar2 = check_egypt_completed_any_folder_00(), BVar2 == FALSE)) {
uVar3 = randomGetNext();
if (false) {
trap(0x1c00);
}
if (uVar3 % 10000 != 0) {
iVar4 = do_not_play_intro_movie + 1;
goto LAB_7f01902c;
}
}
if ((intro_char_table[do_not_play_intro_movie].body != 0xc) ||
(BVar2 = check_egypt_completed_any_folder_00(), BVar2 != FALSE)) {
LAB_7f019268:
if (intro_char_table[do_not_play_intro_movie].body < 0) {
do_not_play_intro_movie = 0;
}
if (do_not_play_intro_movie < 1) {
if (full_actor_intro != FALSE) {
set_menu_to_mode(MENU_MISSION_SELECT,1);
set_cursor_to_stage_solo(0x11);
full_actor_intro = FALSE;
return;
}
select_ramrom_to_play();
return;
}
set_menu_to_mode(MENU_DISPLAY_CAST,1);
return;
}
uVar3 = randomGetNext();
if (false) {
trap(0x1c00);
}
if (uVar3 % 10000 == 0) goto LAB_7f019268;
iVar4 = do_not_play_intro_movie + 1;
}
goto LAB_7f01902c;
}
#else
GLOBAL_ASM(
.text
glabel interface_menu18_displaycast
/* 04DA90 7F018F60 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 04DA94 7F018F64 3C014238 */ li $at, 0x42380000 # 46.000000
/* 04DA98 7F018F68 AFBF0024 */ sw $ra, 0x24($sp)
/* 04DA9C 7F018F6C 44816000 */ mtc1 $at, $f12
/* 04DAA0 7F018F70 AFB30020 */ sw $s3, 0x20($sp)
/* 04DAA4 7F018F74 AFB2001C */ sw $s2, 0x1c($sp)
/* 04DAA8 7F018F78 AFB10018 */ sw $s1, 0x18($sp)
/* 04DAAC 7F018F7C 0C001151 */ jal viSetFovY
/* 04DAB0 7F018F80 AFB00014 */ sw $s0, 0x14($sp)
/* 04DAB4 7F018F84 3C014120 */ li $at, 0x41200000 # 10.000000
/* 04DAB8 7F018F88 44816000 */ mtc1 $at, $f12
/* 04DABC 7F018F8C 3C0144FA */ li $at, 0x44FA0000 # 2000.000000
/* 04DAC0 7F018F90 44817000 */ mtc1 $at, $f14
/* 04DAC4 7F018F94 0C001194 */ jal viSetZRange
/* 04DAC8 7F018F98 00000000 */ nop
/* 04DACC 7F018F9C 0C00114D */ jal viSetUseZBuf
/* 04DAD0 7F018FA0 24040001 */ li $a0, 1
/* 04DAD4 7F018FA4 3C018005 */ lui $at, %hi(D_80051B08)
/* 04DAD8 7F018FA8 0C001164 */ jal viSetAspect
/* 04DADC 7F018FAC C42C1B08 */ lwc1 $f12, %lo(D_80051B08)($at)
/* 04DAE0 7F018FB0 240401B8 */ li $a0, 440
/* 04DAE4 7F018FB4 0FC26C77 */ jal set_cur_player_screen_size
/* 04DAE8 7F018FB8 2405014A */ li $a1, 330
/* 04DAEC 7F018FBC 240401B8 */ li $a0, 440
/* 04DAF0 7F018FC0 0C00110F */ jal viSetViewSize
/* 04DAF4 7F018FC4 2405014A */ li $a1, 330
/* 04DAF8 7F018FC8 00002025 */ move $a0, $zero
/* 04DAFC 7F018FCC 0FC26C7E */ jal set_cur_player_viewport_size
/* 04DB00 7F018FD0 00002825 */ move $a1, $zero
/* 04DB04 7F018FD4 00002025 */ move $a0, $zero
/* 04DB08 7F018FD8 0C00112F */ jal viSetViewPosition
/* 04DB0C 7F018FDC 00002825 */ move $a1, $zero
/* 04DB10 7F018FE0 3C028003 */ lui $v0, %hi(menu_timer)
/* 04DB14 7F018FE4 2442A8CC */ addiu $v0, %lo(menu_timer) # addiu $v0, $v0, -0x5734
/* 04DB18 7F018FE8 3C0F8005 */ lui $t7, %hi(clock_timer)
/* 04DB1C 7F018FEC 8DEF8374 */ lw $t7, %lo(clock_timer)($t7)
/* 04DB20 7F018FF0 8C4E0000 */ lw $t6, ($v0)
/* 04DB24 7F018FF4 3C108003 */ lui $s0, %hi(do_not_play_intro_movie)
/* 04DB28 7F018FF8 00002025 */ move $a0, $zero
/* 04DB2C 7F018FFC 01CFC021 */ addu $t8, $t6, $t7
/* 04DB30 7F019000 2B0100B5 */ slti $at, $t8, 0xb5
/* 04DB34 7F019004 142000B7 */ bnez $at, .L7F0192E4
/* 04DB38 7F019008 AC580000 */ sw $t8, ($v0)
/* 04DB3C 7F01900C 2610B5E8 */ addiu $s0, %lo(do_not_play_intro_movie) # addiu $s0, $s0, -0x4a18
/* 04DB40 7F019010 8E080000 */ lw $t0, ($s0)
/* 04DB44 7F019014 3C118003 */ lui $s1, %hi(intro_char_table)
/* 04DB48 7F019018 2631B600 */ addiu $s1, %lo(intro_char_table) # addiu $s1, $s1, -0x4a00
/* 04DB4C 7F01901C 25090001 */ addiu $t1, $t0, 1
/* 04DB50 7F019020 AE090000 */ sw $t1, ($s0)
/* 04DB54 7F019024 24132710 */ li $s3, 10000
/* 04DB58 7F019028 24120014 */ li $s2, 20
.L7F01902C:
/* 04DB5C 7F01902C 8E030000 */ lw $v1, ($s0)
/* 04DB60 7F019030 3C0C8003 */ lui $t4, %hi(full_actor_intro)
/* 04DB64 7F019034 00720019 */ multu $v1, $s2
/* 04DB68 7F019038 00005012 */ mflo $t2
/* 04DB6C 7F01903C 022A1021 */ addu $v0, $s1, $t2
/* 04DB70 7F019040 8C4B0010 */ lw $t3, 0x10($v0)
/* 04DB74 7F019044 51600008 */ beql $t3, $zero, .L7F019068
/* 04DB78 7F019048 8C4E0000 */ lw $t6, ($v0)
/* 04DB7C 7F01904C 8D8CB5FC */ lw $t4, %lo(full_actor_intro)($t4)
/* 04DB80 7F019050 246D0001 */ addiu $t5, $v1, 1
/* 04DB84 7F019054 55800004 */ bnezl $t4, .L7F019068
/* 04DB88 7F019058 8C4E0000 */ lw $t6, ($v0)
/* 04DB8C 7F01905C 1000FFF3 */ b .L7F01902C
/* 04DB90 7F019060 AE0D0000 */ sw $t5, ($s0)
/* 04DB94 7F019064 8C4E0000 */ lw $t6, ($v0)
.L7F019068:
/* 04DB98 7F019068 24010027 */ li $at, 39
/* 04DB9C 7F01906C 55C1000A */ bnel $t6, $at, .L7F019098
/* 04DBA0 7F019070 8E190000 */ lw $t9, ($s0)
/* 04DBA4 7F019074 0FC07AC8 */ jal check_aztec_completed_any_folder_secret_00
/* 04DBA8 7F019078 00000000 */ nop
/* 04DBAC 7F01907C 54400006 */ bnezl $v0, .L7F019098
/* 04DBB0 7F019080 8E190000 */ lw $t9, ($s0)
/* 04DBB4 7F019084 8E0F0000 */ lw $t7, ($s0)
/* 04DBB8 7F019088 25F80001 */ addiu $t8, $t7, 1
/* 04DBBC 7F01908C 1000FFE7 */ b .L7F01902C
/* 04DBC0 7F019090 AE180000 */ sw $t8, ($s0)
/* 04DBC4 7F019094 8E190000 */ lw $t9, ($s0)
.L7F019098:
/* 04DBC8 7F019098 24010028 */ li $at, 40
/* 04DBCC 7F01909C 03320019 */ multu $t9, $s2
/* 04DBD0 7F0190A0 00004012 */ mflo $t0
/* 04DBD4 7F0190A4 02284821 */ addu $t1, $s1, $t0
/* 04DBD8 7F0190A8 8D2A0000 */ lw $t2, ($t1)
/* 04DBDC 7F0190AC 5541000A */ bnel $t2, $at, .L7F0190D8
/* 04DBE0 7F0190B0 8E0D0000 */ lw $t5, ($s0)
/* 04DBE4 7F0190B4 0FC07AC8 */ jal check_aztec_completed_any_folder_secret_00
/* 04DBE8 7F0190B8 00000000 */ nop
/* 04DBEC 7F0190BC 54400006 */ bnezl $v0, .L7F0190D8
/* 04DBF0 7F0190C0 8E0D0000 */ lw $t5, ($s0)
/* 04DBF4 7F0190C4 8E0B0000 */ lw $t3, ($s0)
/* 04DBF8 7F0190C8 256C0001 */ addiu $t4, $t3, 1
/* 04DBFC 7F0190CC 1000FFD7 */ b .L7F01902C
/* 04DC00 7F0190D0 AE0C0000 */ sw $t4, ($s0)
/* 04DC04 7F0190D4 8E0D0000 */ lw $t5, ($s0)
.L7F0190D8:
/* 04DC08 7F0190D8 2401000E */ li $at, 14
/* 04DC0C 7F0190DC 01B20019 */ multu $t5, $s2
/* 04DC10 7F0190E0 00007012 */ mflo $t6
/* 04DC14 7F0190E4 022E7821 */ addu $t7, $s1, $t6
/* 04DC18 7F0190E8 8DF80000 */ lw $t8, ($t7)
/* 04DC1C 7F0190EC 57010013 */ bnel $t8, $at, .L7F01913C
/* 04DC20 7F0190F0 8E0A0000 */ lw $t2, ($s0)
/* 04DC24 7F0190F4 0FC07AC8 */ jal check_aztec_completed_any_folder_secret_00
/* 04DC28 7F0190F8 00000000 */ nop
/* 04DC2C 7F0190FC 5440000F */ bnezl $v0, .L7F01913C
/* 04DC30 7F019100 8E0A0000 */ lw $t2, ($s0)
/* 04DC34 7F019104 0C002914 */ jal randomGetNext
/* 04DC38 7F019108 00000000 */ nop
/* 04DC3C 7F01910C 0053001B */ divu $zero, $v0, $s3
/* 04DC40 7F019110 0000C810 */ mfhi $t9
/* 04DC44 7F019114 16600002 */ bnez $s3, .L7F019120
/* 04DC48 7F019118 00000000 */ nop
/* 04DC4C 7F01911C 0007000D */ break 7
.L7F019120:
/* 04DC50 7F019120 53200006 */ beql $t9, $zero, .L7F01913C
/* 04DC54 7F019124 8E0A0000 */ lw $t2, ($s0)
/* 04DC58 7F019128 8E080000 */ lw $t0, ($s0)
/* 04DC5C 7F01912C 25090001 */ addiu $t1, $t0, 1
/* 04DC60 7F019130 1000FFBE */ b .L7F01902C
/* 04DC64 7F019134 AE090000 */ sw $t1, ($s0)
/* 04DC68 7F019138 8E0A0000 */ lw $t2, ($s0)
.L7F01913C:
/* 04DC6C 7F01913C 2401000D */ li $at, 13
/* 04DC70 7F019140 01520019 */ multu $t2, $s2
/* 04DC74 7F019144 00005812 */ mflo $t3
/* 04DC78 7F019148 022B6021 */ addu $t4, $s1, $t3
/* 04DC7C 7F01914C 8D8D0000 */ lw $t5, ($t4)
/* 04DC80 7F019150 55A10013 */ bnel $t5, $at, .L7F0191A0
/* 04DC84 7F019154 8E190000 */ lw $t9, ($s0)
/* 04DC88 7F019158 0FC07AC8 */ jal check_aztec_completed_any_folder_secret_00
/* 04DC8C 7F01915C 00000000 */ nop
/* 04DC90 7F019160 5440000F */ bnezl $v0, .L7F0191A0
/* 04DC94 7F019164 8E190000 */ lw $t9, ($s0)
/* 04DC98 7F019168 0C002914 */ jal randomGetNext
/* 04DC9C 7F01916C 00000000 */ nop
/* 04DCA0 7F019170 0053001B */ divu $zero, $v0, $s3
/* 04DCA4 7F019174 00007010 */ mfhi $t6
/* 04DCA8 7F019178 16600002 */ bnez $s3, .L7F019184
/* 04DCAC 7F01917C 00000000 */ nop
/* 04DCB0 7F019180 0007000D */ break 7
.L7F019184:
/* 04DCB4 7F019184 51C00006 */ beql $t6, $zero, .L7F0191A0
/* 04DCB8 7F019188 8E190000 */ lw $t9, ($s0)
/* 04DCBC 7F01918C 8E0F0000 */ lw $t7, ($s0)
/* 04DCC0 7F019190 25F80001 */ addiu $t8, $t7, 1
/* 04DCC4 7F019194 1000FFA5 */ b .L7F01902C
/* 04DCC8 7F019198 AE180000 */ sw $t8, ($s0)
/* 04DCCC 7F01919C 8E190000 */ lw $t9, ($s0)
.L7F0191A0:
/* 04DCD0 7F0191A0 2401000F */ li $at, 15
/* 04DCD4 7F0191A4 03320019 */ multu $t9, $s2
/* 04DCD8 7F0191A8 00004012 */ mflo $t0
/* 04DCDC 7F0191AC 02284821 */ addu $t1, $s1, $t0
/* 04DCE0 7F0191B0 8D2A0000 */ lw $t2, ($t1)
/* 04DCE4 7F0191B4 55410013 */ bnel $t2, $at, .L7F019204
/* 04DCE8 7F0191B8 8E0E0000 */ lw $t6, ($s0)
/* 04DCEC 7F0191BC 0FC07ADC */ jal check_egypt_completed_any_folder_00
/* 04DCF0 7F0191C0 00000000 */ nop
/* 04DCF4 7F0191C4 5440000F */ bnezl $v0, .L7F019204
/* 04DCF8 7F0191C8 8E0E0000 */ lw $t6, ($s0)
/* 04DCFC 7F0191CC 0C002914 */ jal randomGetNext
/* 04DD00 7F0191D0 00000000 */ nop
/* 04DD04 7F0191D4 0053001B */ divu $zero, $v0, $s3
/* 04DD08 7F0191D8 00005810 */ mfhi $t3
/* 04DD0C 7F0191DC 16600002 */ bnez $s3, .L7F0191E8
/* 04DD10 7F0191E0 00000000 */ nop
/* 04DD14 7F0191E4 0007000D */ break 7
.L7F0191E8:
/* 04DD18 7F0191E8 51600006 */ beql $t3, $zero, .L7F019204
/* 04DD1C 7F0191EC 8E0E0000 */ lw $t6, ($s0)
/* 04DD20 7F0191F0 8E0C0000 */ lw $t4, ($s0)
/* 04DD24 7F0191F4 258D0001 */ addiu $t5, $t4, 1
/* 04DD28 7F0191F8 1000FF8C */ b .L7F01902C
/* 04DD2C 7F0191FC AE0D0000 */ sw $t5, ($s0)
/* 04DD30 7F019200 8E0E0000 */ lw $t6, ($s0)
.L7F019204:
/* 04DD34 7F019204 2401000C */ li $at, 12
/* 04DD38 7F019208 01D20019 */ multu $t6, $s2
/* 04DD3C 7F01920C 00007812 */ mflo $t7
/* 04DD40 7F019210 022FC021 */ addu $t8, $s1, $t7
/* 04DD44 7F019214 8F190000 */ lw $t9, ($t8)
/* 04DD48 7F019218 57210013 */ bnel $t9, $at, .L7F019268
/* 04DD4C 7F01921C 8E030000 */ lw $v1, ($s0)
/* 04DD50 7F019220 0FC07ADC */ jal check_egypt_completed_any_folder_00
/* 04DD54 7F019224 00000000 */ nop
/* 04DD58 7F019228 5440000F */ bnezl $v0, .L7F019268
/* 04DD5C 7F01922C 8E030000 */ lw $v1, ($s0)
/* 04DD60 7F019230 0C002914 */ jal randomGetNext
/* 04DD64 7F019234 00000000 */ nop
/* 04DD68 7F019238 0053001B */ divu $zero, $v0, $s3
/* 04DD6C 7F01923C 00004010 */ mfhi $t0
/* 04DD70 7F019240 16600002 */ bnez $s3, .L7F01924C
/* 04DD74 7F019244 00000000 */ nop
/* 04DD78 7F019248 0007000D */ break 7
.L7F01924C:
/* 04DD7C 7F01924C 51000006 */ beql $t0, $zero, .L7F019268
/* 04DD80 7F019250 8E030000 */ lw $v1, ($s0)
/* 04DD84 7F019254 8E090000 */ lw $t1, ($s0)
/* 04DD88 7F019258 252A0001 */ addiu $t2, $t1, 1
/* 04DD8C 7F01925C 1000FF73 */ b .L7F01902C
/* 04DD90 7F019260 AE0A0000 */ sw $t2, ($s0)
/* 04DD94 7F019264 8E030000 */ lw $v1, ($s0)
.L7F019268:
/* 04DD98 7F019268 24040018 */ li $a0, 24
/* 04DD9C 7F01926C 3C0E8003 */ lui $t6, %hi(full_actor_intro)
/* 04DDA0 7F019270 00720019 */ multu $v1, $s2
/* 04DDA4 7F019274 00005812 */ mflo $t3
/* 04DDA8 7F019278 022B6021 */ addu $t4, $s1, $t3
/* 04DDAC 7F01927C 8D8D0000 */ lw $t5, ($t4)
/* 04DDB0 7F019280 05A10003 */ bgez $t5, .L7F019290
/* 04DDB4 7F019284 00000000 */ nop
/* 04DDB8 7F019288 AE000000 */ sw $zero, ($s0)
/* 04DDBC 7F01928C 00001825 */ move $v1, $zero
.L7F019290:
/* 04DDC0 7F019290 18600005 */ blez $v1, .L7F0192A8
/* 04DDC4 7F019294 00000000 */ nop
/* 04DDC8 7F019298 0FC06975 */ jal set_menu_to_mode
/* 04DDCC 7F01929C 24050001 */ li $a1, 1
/* 04DDD0 7F0192A0 1000001B */ b .L7F019310
/* 04DDD4 7F0192A4 8FBF0024 */ lw $ra, 0x24($sp)
.L7F0192A8:
/* 04DDD8 7F0192A8 8DCEB5FC */ lw $t6, %lo(full_actor_intro)($t6)
/* 04DDDC 7F0192AC 24040007 */ li $a0, 7
/* 04DDE0 7F0192B0 11C00008 */ beqz $t6, .L7F0192D4
/* 04DDE4 7F0192B4 00000000 */ nop
/* 04DDE8 7F0192B8 0FC06975 */ jal set_menu_to_mode
/* 04DDEC 7F0192BC 24050001 */ li $a1, 1
/* 04DDF0 7F0192C0 0FC038F8 */ jal set_cursor_to_stage_solo
/* 04DDF4 7F0192C4 24040011 */ li $a0, 17
/* 04DDF8 7F0192C8 3C018003 */ lui $at, %hi(full_actor_intro)
/* 04DDFC 7F0192CC 1000000F */ b .L7F01930C
/* 04DE00 7F0192D0 AC20B5FC */ sw $zero, %lo(full_actor_intro)($at)
.L7F0192D4:
/* 04DE04 7F0192D4 0FC3025C */ jal select_ramrom_to_play
/* 04DE08 7F0192D8 00000000 */ nop
/* 04DE0C 7F0192DC 1000000C */ b .L7F019310
/* 04DE10 7F0192E0 8FBF0024 */ lw $ra, 0x24($sp)
.L7F0192E4:
/* 04DE14 7F0192E4 0C0030EB */ jal joyGetButtonsPressedThisFrame
/* 04DE18 7F0192E8 3405FFFF */ li $a1, 65535
/* 04DE1C 7F0192EC 10400007 */ beqz $v0, .L7F01930C
/* 04DE20 7F0192F0 3C0F8003 */ lui $t7, %hi(full_actor_intro)
/* 04DE24 7F0192F4 8DEFB5FC */ lw $t7, %lo(full_actor_intro)($t7)
/* 04DE28 7F0192F8 24040005 */ li $a0, 5
/* 04DE2C 7F0192FC 55E00004 */ bnezl $t7, .L7F019310
/* 04DE30 7F019300 8FBF0024 */ lw $ra, 0x24($sp)
/* 04DE34 7F019304 0FC06975 */ jal set_menu_to_mode
/* 04DE38 7F019308 24050001 */ li $a1, 1
.L7F01930C:
/* 04DE3C 7F01930C 8FBF0024 */ lw $ra, 0x24($sp)
.L7F019310:
/* 04DE40 7F019310 8FB00014 */ lw $s0, 0x14($sp)
/* 04DE44 7F019314 8FB10018 */ lw $s1, 0x18($sp)
/* 04DE48 7F019318 8FB2001C */ lw $s2, 0x1c($sp)
/* 04DE4C 7F01931C 8FB30020 */ lw $s3, 0x20($sp)
/* 04DE50 7F019320 03E00008 */ jr $ra
/* 04DE54 7F019324 27BD0028 */ addiu $sp, $sp, 0x28
)
#endif
#ifdef NONMATCHING
void constructor_menu18_displaycast(void) {
}
#else
GLOBAL_ASM(
.text
glabel constructor_menu18_displaycast
/* 04DE58 7F019328 27BDFDB0 */ addiu $sp, $sp, -0x250
/* 04DE5C 7F01932C 3C0E8003 */ lui $t6, %hi(D_8002BA78)
/* 04DE60 7F019330 AFBF004C */ sw $ra, 0x4c($sp)
/* 04DE64 7F019334 AFB40048 */ sw $s4, 0x48($sp)
/* 04DE68 7F019338 AFB30044 */ sw $s3, 0x44($sp)
/* 04DE6C 7F01933C AFB20040 */ sw $s2, 0x40($sp)
/* 04DE70 7F019340 AFB1003C */ sw $s1, 0x3c($sp)
/* 04DE74 7F019344 AFB00038 */ sw $s0, 0x38($sp)
/* 04DE78 7F019348 25CEBA78 */ addiu $t6, %lo(D_8002BA78) # addiu $t6, $t6, -0x4588
/* 04DE7C 7F01934C 8DC10000 */ lw $at, ($t6)
/* 04DE80 7F019350 27AF0244 */ addiu $t7, $sp, 0x244
/* 04DE84 7F019354 8DCC0004 */ lw $t4, 4($t6)
/* 04DE88 7F019358 ADE10000 */ sw $at, ($t7)
/* 04DE8C 7F01935C 8DC10008 */ lw $at, 8($t6)
/* 04DE90 7F019360 3C0D8003 */ lui $t5, %hi(D_8002BA84)
/* 04DE94 7F019364 25ADBA84 */ addiu $t5, %lo(D_8002BA84) # addiu $t5, $t5, -0x457c
/* 04DE98 7F019368 ADEC0004 */ sw $t4, 4($t7)
/* 04DE9C 7F01936C ADE10008 */ sw $at, 8($t7)
/* 04DEA0 7F019370 8DA10000 */ lw $at, ($t5)
/* 04DEA4 7F019374 27B90238 */ addiu $t9, $sp, 0x238
/* 04DEA8 7F019378 8DAF0004 */ lw $t7, 4($t5)
/* 04DEAC 7F01937C AF210000 */ sw $at, ($t9)
/* 04DEB0 7F019380 8DA10008 */ lw $at, 8($t5)
/* 04DEB4 7F019384 3C0C8003 */ lui $t4, %hi(D_8002BA90)
/* 04DEB8 7F019388 258CBA90 */ addiu $t4, %lo(D_8002BA90) # addiu $t4, $t4, -0x4570
/* 04DEBC 7F01938C AF2F0004 */ sw $t7, 4($t9)
/* 04DEC0 7F019390 AF210008 */ sw $at, 8($t9)
/* 04DEC4 7F019394 8D810000 */ lw $at, ($t4)
/* 04DEC8 7F019398 27AE022C */ addiu $t6, $sp, 0x22c
/* 04DECC 7F01939C 8D990004 */ lw $t9, 4($t4)
/* 04DED0 7F0193A0 ADC10000 */ sw $at, ($t6)
/* 04DED4 7F0193A4 8D810008 */ lw $at, 8($t4)
/* 04DED8 7F0193A8 3C0F8003 */ lui $t7, %hi(D_8002BA9C)
/* 04DEDC 7F0193AC 25EFBA9C */ addiu $t7, %lo(D_8002BA9C) # addiu $t7, $t7, -0x4564
/* 04DEE0 7F0193B0 ADD90004 */ sw $t9, 4($t6)
/* 04DEE4 7F0193B4 ADC10008 */ sw $at, 8($t6)
/* 04DEE8 7F0193B8 00809825 */ move $s3, $a0
/* 04DEEC 7F0193BC 25EE003C */ addiu $t6, $t7, 0x3c
/* 04DEF0 7F0193C0 27AD01A8 */ addiu $t5, $sp, 0x1a8
.L7F0193C4:
/* 04DEF4 7F0193C4 8DE10000 */ lw $at, ($t7)
/* 04DEF8 7F0193C8 25EF000C */ addiu $t7, $t7, 0xc
/* 04DEFC 7F0193CC 25AD000C */ addiu $t5, $t5, 0xc
/* 04DF00 7F0193D0 ADA1FFF4 */ sw $at, -0xc($t5)
/* 04DF04 7F0193D4 8DE1FFF8 */ lw $at, -8($t7)
/* 04DF08 7F0193D8 ADA1FFF8 */ sw $at, -8($t5)
/* 04DF0C 7F0193DC 8DE1FFFC */ lw $at, -4($t7)
/* 04DF10 7F0193E0 15EEFFF8 */ bne $t7, $t6, .L7F0193C4
/* 04DF14 7F0193E4 ADA1FFFC */ sw $at, -4($t5)
/* 04DF18 7F0193E8 8DE10000 */ lw $at, ($t7)
/* 04DF1C 7F0193EC 3C028003 */ lui $v0, %hi(menu_timer)
/* 04DF20 7F0193F0 3C198003 */ lui $t9, %hi(D_8002BADC)
/* 04DF24 7F0193F4 ADA10000 */ sw $at, ($t5)
/* 04DF28 7F0193F8 8C42A8CC */ lw $v0, %lo(menu_timer)($v0)
/* 04DF2C 7F0193FC 3C014334 */ li $at, 0x43340000 # 180.000000
/* 04DF30 7F019400 44819000 */ mtc1 $at, $f18
/* 04DF34 7F019404 44827000 */ mtc1 $v0, $f14
/* 04DF38 7F019408 2739BADC */ addiu $t9, %lo(D_8002BADC) # addiu $t9, $t9, -0x4524
/* 04DF3C 7F01940C 8F210000 */ lw $at, ($t9)
/* 04DF40 7F019410 46807020 */ cvt.s.w $f0, $f14
/* 04DF44 7F019414 8F2E0004 */ lw $t6, 4($t9)
/* 04DF48 7F019418 27AC0134 */ addiu $t4, $sp, 0x134
/* 04DF4C 7F01941C AD810000 */ sw $at, ($t4)
/* 04DF50 7F019420 8F210008 */ lw $at, 8($t9)
/* 04DF54 7F019424 AD8E0004 */ sw $t6, 4($t4)
/* 04DF58 7F019428 46120403 */ div.s $f16, $f0, $f18
/* 04DF5C 7F01942C 04400004 */ bltz $v0, .L7F019440
/* 04DF60 7F019430 AD810008 */ sw $at, 8($t4)
/* 04DF64 7F019434 284100B4 */ slti $at, $v0, 0xb4
/* 04DF68 7F019438 54200005 */ bnezl $at, .L7F019450
/* 04DF6C 7F01943C 2841001E */ slti $at, $v0, 0x1e
.L7F019440:
/* 04DF70 7F019440 44802000 */ mtc1 $zero, $f4
/* 04DF74 7F019444 10000018 */ b .L7F0194A8
/* 04DF78 7F019448 E7A40144 */ swc1 $f4, 0x144($sp)
/* 04DF7C 7F01944C 2841001E */ slti $at, $v0, 0x1e
.L7F019450:
/* 04DF80 7F019450 10200006 */ beqz $at, .L7F01946C
/* 04DF84 7F019454 3C0141F0 */ li $at, 0x41F00000 # 30.000000
/* 04DF88 7F019458 44815000 */ mtc1 $at, $f10
/* 04DF8C 7F01945C 00000000 */ nop
/* 04DF90 7F019460 460A0203 */ div.s $f8, $f0, $f10
/* 04DF94 7F019464 10000010 */ b .L7F0194A8
/* 04DF98 7F019468 E7A80144 */ swc1 $f8, 0x144($sp)
.L7F01946C:
/* 04DF9C 7F01946C 28410097 */ slti $at, $v0, 0x97
/* 04DFA0 7F019470 14200009 */ bnez $at, .L7F019498
/* 04DFA4 7F019474 240F00B4 */ li $t7, 180
/* 04DFA8 7F019478 01E26823 */ subu $t5, $t7, $v0
/* 04DFAC 7F01947C 448D3000 */ mtc1 $t5, $f6
/* 04DFB0 7F019480 3C0141F0 */ li $at, 0x41F00000 # 30.000000
/* 04DFB4 7F019484 44815000 */ mtc1 $at, $f10
/* 04DFB8 7F019488 46803120 */ cvt.s.w $f4, $f6
/* 04DFBC 7F01948C 460A2203 */ div.s $f8, $f4, $f10
/* 04DFC0 7F019490 10000005 */ b .L7F0194A8
/* 04DFC4 7F019494 E7A80144 */ swc1 $f8, 0x144($sp)
.L7F019498:
/* 04DFC8 7F019498 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 04DFCC 7F01949C 44813000 */ mtc1 $at, $f6
/* 04DFD0 7F0194A0 00000000 */ nop
/* 04DFD4 7F0194A4 E7A60144 */ swc1 $f6, 0x144($sp)
.L7F0194A8:
/* 04DFD8 7F0194A8 02602025 */ move $a0, $s3
/* 04DFDC 7F0194AC 00002825 */ move $a1, $zero
/* 04DFE0 7F0194B0 00003025 */ move $a2, $zero
/* 04DFE4 7F0194B4 00003825 */ move $a3, $zero
/* 04DFE8 7F0194B8 0C0011B4 */ jal viSetFillColor
/* 04DFEC 7F0194BC E7B00148 */ swc1 $f16, 0x148($sp)
/* 04DFF0 7F0194C0 0C000FBE */ jal viFillScreen
/* 04DFF4 7F0194C4 00402025 */ move $a0, $v0
/* 04DFF8 7F0194C8 3C018007 */ lui $at, %hi(flt_CODE_bss_800695A4)
/* 04DFFC 7F0194CC C42095A4 */ lwc1 $f0, %lo(flt_CODE_bss_800695A4)($at)
/* 04E000 7F0194D0 3C018007 */ lui $at, %hi(flt_CODE_bss_800695A8)
/* 04E004 7F0194D4 C42495A8 */ lwc1 $f4, %lo(flt_CODE_bss_800695A8)($at)
/* 04E008 7F0194D8 C7B00148 */ lwc1 $f16, 0x148($sp)
/* 04E00C 7F0194DC 3C118007 */ lui $s1, %hi(flt_CODE_bss_800695A0)
/* 04E010 7F0194E0 46002281 */ sub.s $f10, $f4, $f0
/* 04E014 7F0194E4 263195A0 */ addiu $s1, %lo(flt_CODE_bss_800695A0) # addiu $s1, $s1, -0x6a60
/* 04E018 7F0194E8 3C018007 */ lui $at, %hi(flt_CODE_bss_800695B0)
/* 04E01C 7F0194EC 3C108007 */ lui $s0, %hi(flt_CODE_bss_800695AC)
/* 04E020 7F0194F0 46105202 */ mul.s $f8, $f10, $f16
/* 04E024 7F0194F4 261095AC */ addiu $s0, %lo(flt_CODE_bss_800695AC) # addiu $s0, $s0, -0x6a54
/* 04E028 7F0194F8 3C128007 */ lui $s2, %hi(flt_CODE_bss_800695B8)
/* 04E02C 7F0194FC 265295B8 */ addiu $s2, %lo(flt_CODE_bss_800695B8) # addiu $s2, $s2, -0x6a48
/* 04E030 7F019500 00409825 */ move $s3, $v0
/* 04E034 7F019504 46004180 */ add.s $f6, $f8, $f0
/* 04E038 7F019508 E6260000 */ swc1 $f6, ($s1)
/* 04E03C 7F01950C C42295B0 */ lwc1 $f2, %lo(flt_CODE_bss_800695B0)($at)
/* 04E040 7F019510 3C018007 */ lui $at, %hi(flt_CODE_bss_800695B4)
/* 04E044 7F019514 C42495B4 */ lwc1 $f4, %lo(flt_CODE_bss_800695B4)($at)
/* 04E048 7F019518 3C018007 */ lui $at, %hi(flt_CODE_bss_800695BC)
/* 04E04C 7F01951C 46022281 */ sub.s $f10, $f4, $f2
/* 04E050 7F019520 46105202 */ mul.s $f8, $f10, $f16
/* 04E054 7F019524 46024180 */ add.s $f6, $f8, $f2
/* 04E058 7F019528 E6060000 */ swc1 $f6, ($s0)
/* 04E05C 7F01952C C42C95BC */ lwc1 $f12, %lo(flt_CODE_bss_800695BC)($at)
/* 04E060 7F019530 3C018007 */ lui $at, %hi(flt_CODE_bss_800695C0)
/* 04E064 7F019534 C42495C0 */ lwc1 $f4, %lo(flt_CODE_bss_800695C0)($at)
/* 04E068 7F019538 C60E0000 */ lwc1 $f14, ($s0)
/* 04E06C 7F01953C 460C2281 */ sub.s $f10, $f4, $f12
/* 04E070 7F019540 44802000 */ mtc1 $zero, $f4
/* 04E074 7F019544 46105202 */ mul.s $f8, $f10, $f16
/* 04E078 7F019548 4604703C */ c.lt.s $f14, $f4
/* 04E07C 7F01954C 460C4180 */ add.s $f6, $f8, $f12
/* 04E080 7F019550 45000006 */ bc1f .L7F01956C
/* 04E084 7F019554 E6460000 */ swc1 $f6, ($s2)
/* 04E088 7F019558 3C018005 */ lui $at, %hi(D_80051B0C)
/* 04E08C 7F01955C C42A1B0C */ lwc1 $f10, %lo(D_80051B0C)($at)
/* 04E090 7F019560 460A7200 */ add.s $f8, $f14, $f10
/* 04E094 7F019564 E6080000 */ swc1 $f8, ($s0)
/* 04E098 7F019568 C60E0000 */ lwc1 $f14, ($s0)
.L7F01956C:
/* 04E09C 7F01956C 0FC15FAB */ jal sinf
/* 04E0A0 7F019570 46007306 */ mov.s $f12, $f14
/* 04E0A4 7F019574 E7A00078 */ swc1 $f0, 0x78($sp)
/* 04E0A8 7F019578 0FC15FA8 */ jal cosf
/* 04E0AC 7F01957C C60C0000 */ lwc1 $f12, ($s0)
/* 04E0B0 7F019580 3C018005 */ lui $at, %hi(D_80051B10)
/* 04E0B4 7F019584 C4261B10 */ lwc1 $f6, %lo(D_80051B10)($at)
/* 04E0B8 7F019588 C6220000 */ lwc1 $f2, ($s1)
/* 04E0BC 7F01958C C7A80078 */ lwc1 $f8, 0x78($sp)
/* 04E0C0 7F019590 46060102 */ mul.s $f4, $f0, $f6
/* 04E0C4 7F019594 C60C0000 */ lwc1 $f12, ($s0)
/* 04E0C8 7F019598 46022282 */ mul.s $f10, $f4, $f2
/* 04E0CC 7F01959C 00000000 */ nop
/* 04E0D0 7F0195A0 46081182 */ mul.s $f6, $f2, $f8
/* 04E0D4 7F0195A4 C6480000 */ lwc1 $f8, ($s2)
/* 04E0D8 7F0195A8 E7A80248 */ swc1 $f8, 0x248($sp)
/* 04E0DC 7F0195AC 46065100 */ add.s $f4, $f10, $f6
/* 04E0E0 7F0195B0 0FC15FA8 */ jal cosf
/* 04E0E4 7F0195B4 E7A40244 */ swc1 $f4, 0x244($sp)
/* 04E0E8 7F0195B8 E7A00078 */ swc1 $f0, 0x78($sp)
/* 04E0EC 7F0195BC 0FC15FAB */ jal sinf
/* 04E0F0 7F0195C0 C60C0000 */ lwc1 $f12, ($s0)
/* 04E0F4 7F0195C4 C6220000 */ lwc1 $f2, ($s1)
/* 04E0F8 7F0195C8 C7AA0078 */ lwc1 $f10, 0x78($sp)
/* 04E0FC 7F0195CC 3C018005 */ lui $at, %hi(D_80051B14)
/* 04E100 7F0195D0 C4241B14 */ lwc1 $f4, %lo(D_80051B14)($at)
/* 04E104 7F0195D4 460A1182 */ mul.s $f6, $f2, $f10
/* 04E108 7F0195D8 C60C0000 */ lwc1 $f12, ($s0)
/* 04E10C 7F0195DC 46040202 */ mul.s $f8, $f0, $f4
/* 04E110 7F0195E0 00000000 */ nop
/* 04E114 7F0195E4 46024282 */ mul.s $f10, $f8, $f2
/* 04E118 7F0195E8 460A3101 */ sub.s $f4, $f6, $f10
/* 04E11C 7F0195EC 0FC15FA8 */ jal cosf
/* 04E120 7F0195F0 E7A4024C */ swc1 $f4, 0x24c($sp)
/* 04E124 7F0195F4 3C018005 */ lui $at, %hi(D_80051B18)
/* 04E128 7F0195F8 C4281B18 */ lwc1 $f8, %lo(D_80051B18)($at)
/* 04E12C 7F0195FC C62A0000 */ lwc1 $f10, ($s1)
/* 04E130 7F019600 C60C0000 */ lwc1 $f12, ($s0)
/* 04E134 7F019604 46080182 */ mul.s $f6, $f0, $f8
/* 04E138 7F019608 C7A80238 */ lwc1 $f8, 0x238($sp)
/* 04E13C 7F01960C 460A3102 */ mul.s $f4, $f6, $f10
/* 04E140 7F019610 46044180 */ add.s $f6, $f8, $f4
/* 04E144 7F019614 0FC15FAB */ jal sinf
/* 04E148 7F019618 E7A60238 */ swc1 $f6, 0x238($sp)
/* 04E14C 7F01961C 3C018005 */ lui $at, %hi(D_80051B1C)
/* 04E150 7F019620 C4281B1C */ lwc1 $f8, %lo(D_80051B1C)($at)
/* 04E154 7F019624 46000287 */ neg.s $f10, $f0
/* 04E158 7F019628 C6260000 */ lwc1 $f6, ($s1)
/* 04E15C 7F01962C 46085102 */ mul.s $f4, $f10, $f8
/* 04E160 7F019630 C7A80240 */ lwc1 $f8, 0x240($sp)
/* 04E164 7F019634 24040002 */ li $a0, 2
/* 04E168 7F019638 46062282 */ mul.s $f10, $f4, $f6
/* 04E16C 7F01963C 460A4100 */ add.s $f4, $f8, $f10
/* 04E170 7F019640 0FC2F5BE */ jal dynAllocate7F0BD6F8
/* 04E174 7F019644 E7A40240 */ swc1 $f4, 0x240($sp)
/* 04E178 7F019648 44800000 */ mtc1 $zero, $f0
/* 04E17C 7F01964C 3C01457A */ li $at, 0x457A0000 # 4000.000000
/* 04E180 7F019650 44813000 */ mtc1 $at, $f6
/* 04E184 7F019654 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 04E188 7F019658 44814000 */ mtc1 $at, $f8
/* 04E18C 7F01965C 44060000 */ mfc1 $a2, $f0
/* 04E190 7F019660 44070000 */ mfc1 $a3, $f0
/* 04E194 7F019664 00408025 */ move $s0, $v0
/* 04E198 7F019668 27A400E0 */ addiu $a0, $sp, 0xe0
/* 04E19C 7F01966C 00402825 */ move $a1, $v0
/* 04E1A0 7F019670 E7A00014 */ swc1 $f0, 0x14($sp)
/* 04E1A4 7F019674 E7A00018 */ swc1 $f0, 0x18($sp)
/* 04E1A8 7F019678 E7A0001C */ swc1 $f0, 0x1c($sp)
/* 04E1AC 7F01967C E7A00020 */ swc1 $f0, 0x20($sp)
/* 04E1B0 7F019680 E7A00028 */ swc1 $f0, 0x28($sp)
/* 04E1B4 7F019684 E7A60010 */ swc1 $f6, 0x10($sp)
/* 04E1B8 7F019688 0C005CDC */ jal guLookAtReflect
/* 04E1BC 7F01968C E7A80024 */ swc1 $f8, 0x24($sp)
/* 04E1C0 7F019690 02601025 */ move $v0, $s3
/* 04E1C4 7F019694 26730008 */ addiu $s3, $s3, 8
/* 04E1C8 7F019698 3C0BBC00 */ lui $t3, (0xBC000002 >> 16) # lui $t3, 0xbc00
/* 04E1CC 7F01969C 3C188000 */ lui $t8, (0x80000040 >> 16) # lui $t8, 0x8000
/* 04E1D0 7F0196A0 37180040 */ ori $t8, (0x80000040 & 0xFFFF) # ori $t8, $t8, 0x40
/* 04E1D4 7F0196A4 356B0002 */ ori $t3, (0xBC000002 & 0xFFFF) # ori $t3, $t3, 2
/* 04E1D8 7F0196A8 02601825 */ move $v1, $s3
/* 04E1DC 7F0196AC 26730008 */ addiu $s3, $s3, 8
/* 04E1E0 7F0196B0 AC4B0000 */ sw $t3, ($v0)
/* 04E1E4 7F0196B4 AC580004 */ sw $t8, 4($v0)
/* 04E1E8 7F0196B8 3C0C0386 */ lui $t4, (0x03860010 >> 16) # lui $t4, 0x386
/* 04E1EC 7F0196BC 3C198003 */ lui $t9, %hi(D_8002A978)
/* 04E1F0 7F0196C0 2739A978 */ addiu $t9, %lo(D_8002A978) # addiu $t9, $t9, -0x5688
/* 04E1F4 7F0196C4 358C0010 */ ori $t4, (0x03860010 & 0xFFFF) # ori $t4, $t4, 0x10
/* 04E1F8 7F0196C8 02602025 */ move $a0, $s3
/* 04E1FC 7F0196CC 26730008 */ addiu $s3, $s3, 8
/* 04E200 7F0196D0 AC6C0000 */ sw $t4, ($v1)
/* 04E204 7F0196D4 AC790004 */ sw $t9, 4($v1)
/* 04E208 7F0196D8 3C0E0388 */ lui $t6, (0x03880010 >> 16) # lui $t6, 0x388
/* 04E20C 7F0196DC 3C0F8003 */ lui $t7, %hi(D_8002A970)
/* 04E210 7F0196E0 25EFA970 */ addiu $t7, %lo(D_8002A970) # addiu $t7, $t7, -0x5690
/* 04E214 7F0196E4 35CE0010 */ ori $t6, (0x03880010 & 0xFFFF) # ori $t6, $t6, 0x10
/* 04E218 7F0196E8 02602825 */ move $a1, $s3
/* 04E21C 7F0196EC AC8E0000 */ sw $t6, ($a0)
/* 04E220 7F0196F0 AC8F0004 */ sw $t7, 4($a0)
/* 04E224 7F0196F4 3C0D0384 */ lui $t5, (0x03840010 >> 16) # lui $t5, 0x384
/* 04E228 7F0196F8 35AD0010 */ ori $t5, (0x03840010 & 0xFFFF) # ori $t5, $t5, 0x10
/* 04E22C 7F0196FC ACAD0000 */ sw $t5, ($a1)
/* 04E230 7F019700 ACB00004 */ sw $s0, 4($a1)
/* 04E234 7F019704 26730008 */ addiu $s3, $s3, 8
/* 04E238 7F019708 02603825 */ move $a3, $s3
/* 04E23C 7F01970C 3C0B0382 */ lui $t3, (0x03820010 >> 16) # lui $t3, 0x382
/* 04E240 7F019710 356B0010 */ ori $t3, (0x03820010 & 0xFFFF) # ori $t3, $t3, 0x10
/* 04E244 7F019714 26180010 */ addiu $t8, $s0, 0x10
/* 04E248 7F019718 3C148003 */ lui $s4, %hi(objinstance)
/* 04E24C 7F01971C 2694B5F4 */ addiu $s4, %lo(objinstance) # addiu $s4, $s4, -0x4a0c
/* 04E250 7F019720 ACF80004 */ sw $t8, 4($a3)
/* 04E254 7F019724 ACEB0000 */ sw $t3, ($a3)
/* 04E258 7F019728 3C058005 */ lui $a1, %hi(clock_timer)
/* 04E25C 7F01972C 26730008 */ addiu $s3, $s3, 8
/* 04E260 7F019730 8CA58374 */ lw $a1, %lo(clock_timer)($a1)
/* 04E264 7F019734 8E840000 */ lw $a0, ($s4)
/* 04E268 7F019738 0FC1C2BB */ jal sub_GAME_7F070AEC
/* 04E26C 7F01973C 24060001 */ li $a2, 1
/* 04E270 7F019740 0FC1B100 */ jal set_80036084
/* 04E274 7F019744 24040001 */ li $a0, 1
/* 04E278 7F019748 0FC1CFF2 */ jal sub_GAME_7F073FC8
/* 04E27C 7F01974C 00002025 */ move $a0, $zero
/* 04E280 7F019750 0FC1B5AC */ jal subcalcpos
/* 04E284 7F019754 8E840000 */ lw $a0, ($s4)
/* 04E288 7F019758 3C078003 */ lui $a3, %hi(ptrobjinstance)
/* 04E28C 7F01975C 8CE7B5F8 */ lw $a3, %lo(ptrobjinstance)($a3)
/* 04E290 7F019760 10E0000B */ beqz $a3, .L7F019790
/* 04E294 7F019764 00000000 */ nop
/* 04E298 7F019768 8CEC0008 */ lw $t4, 8($a3)
/* 04E29C 7F01976C 8D990008 */ lw $t9, 8($t4)
/* 04E2A0 7F019770 8F250000 */ lw $a1, ($t9)
/* 04E2A4 7F019774 10A00006 */ beqz $a1, .L7F019790
/* 04E2A8 7F019778 00000000 */ nop
/* 04E2AC 7F01977C 0FC1B1E7 */ jal extract_id_from_object_structure_microcode
/* 04E2B0 7F019780 00E02025 */ move $a0, $a3
/* 04E2B4 7F019784 A4400000 */ sh $zero, ($v0)
/* 04E2B8 7F019788 3C078003 */ lui $a3, %hi(ptrobjinstance)
/* 04E2BC 7F01978C 8CE7B5F8 */ lw $a3, %lo(ptrobjinstance)($a3)
.L7F019790:
/* 04E2C0 7F019790 50E0000A */ beql $a3, $zero, .L7F0197BC
/* 04E2C4 7F019794 8E8D0000 */ lw $t5, ($s4)
/* 04E2C8 7F019798 8CEE0008 */ lw $t6, 8($a3)
/* 04E2CC 7F01979C 8DCF0008 */ lw $t7, 8($t6)
/* 04E2D0 7F0197A0 8DE50008 */ lw $a1, 8($t7)
/* 04E2D4 7F0197A4 50A00005 */ beql $a1, $zero, .L7F0197BC
/* 04E2D8 7F0197A8 8E8D0000 */ lw $t5, ($s4)
/* 04E2DC 7F0197AC 0FC1B1E7 */ jal extract_id_from_object_structure_microcode
/* 04E2E0 7F0197B0 00E02025 */ move $a0, $a3
/* 04E2E4 7F0197B4 AC400000 */ sw $zero, ($v0)
/* 04E2E8 7F0197B8 8E8D0000 */ lw $t5, ($s4)
.L7F0197BC:
/* 04E2EC 7F0197BC 8DAB0008 */ lw $t3, 8($t5)
/* 04E2F0 7F0197C0 8564000E */ lh $a0, 0xe($t3)
/* 04E2F4 7F0197C4 0004C180 */ sll $t8, $a0, 6
/* 04E2F8 7F0197C8 0FC2F5C5 */ jal dynAllocate
/* 04E2FC 7F0197CC 03002025 */ move $a0, $t8
/* 04E300 7F0197D0 27B201E8 */ addiu $s2, $sp, 0x1e8
/* 04E304 7F0197D4 AFA201B8 */ sw $v0, 0x1b8($sp)
/* 04E308 7F0197D8 0FC15FF4 */ jal matrix_4x4_set_identity
/* 04E30C 7F0197DC 02402025 */ move $a0, $s2
/* 04E310 7F0197E0 AFB201A8 */ sw $s2, 0x1a8($sp)
/* 04E314 7F0197E4 27A401A8 */ addiu $a0, $sp, 0x1a8
/* 04E318 7F0197E8 0FC1BCBE */ jal subcalcmatrices
/* 04E31C 7F0197EC 8E850000 */ lw $a1, ($s4)
/* 04E320 7F0197F0 8E840000 */ lw $a0, ($s4)
/* 04E324 7F0197F4 0FC1B2E6 */ jal getsuboffset
/* 04E328 7F0197F8 27A50128 */ addiu $a1, $sp, 0x128
/* 04E32C 7F0197FC 3C068007 */ lui $a2, %hi(flt_CODE_bss_800695E4)
/* 04E330 7F019800 24C695E4 */ addiu $a2, %lo(flt_CODE_bss_800695E4) # addiu $a2, $a2, -0x6a1c
/* 04E334 7F019804 8CC20000 */ lw $v0, ($a2)
/* 04E338 7F019808 00008825 */ move $s1, $zero
/* 04E33C 7F01980C 3C038005 */ lui $v1, %hi(clock_timer)
/* 04E340 7F019810 10400005 */ beqz $v0, .L7F019828
/* 04E344 7F019814 00000000 */ nop
/* 04E348 7F019818 C7AA012C */ lwc1 $f10, 0x12c($sp)
/* 04E34C 7F01981C 3C108007 */ lui $s0, %hi(flt_CODE_bss_800695E8)
/* 04E350 7F019820 261095E8 */ addiu $s0, %lo(flt_CODE_bss_800695E8) # addiu $s0, $s0, -0x6a18
/* 04E354 7F019824 E60A0004 */ swc1 $f10, 4($s0)
.L7F019828:
/* 04E358 7F019828 3C108007 */ lui $s0, %hi(flt_CODE_bss_800695E8)
/* 04E35C 7F01982C 261095E8 */ addiu $s0, %lo(flt_CODE_bss_800695E8) # addiu $s0, $s0, -0x6a18
/* 04E360 7F019830 C6040000 */ lwc1 $f4, ($s0)
/* 04E364 7F019834 C7A60128 */ lwc1 $f6, 0x128($sp)
/* 04E368 7F019838 3C018005 */ lui $at, %hi(global_timer_delta)
/* 04E36C 7F01983C E7A4006C */ swc1 $f4, 0x6c($sp)
/* 04E370 7F019840 C7A8006C */ lwc1 $f8, 0x6c($sp)
/* 04E374 7F019844 C6040004 */ lwc1 $f4, 4($s0)
/* 04E378 7F019848 C4328378 */ lwc1 $f18, %lo(global_timer_delta)($at)
/* 04E37C 7F01984C 46083281 */ sub.s $f10, $f6, $f8
/* 04E380 7F019850 E7A40064 */ swc1 $f4, 0x64($sp)
/* 04E384 7F019854 C7A80064 */ lwc1 $f8, 0x64($sp)
/* 04E388 7F019858 C7A6012C */ lwc1 $f6, 0x12c($sp)
/* 04E38C 7F01985C C6040008 */ lwc1 $f4, 8($s0)
/* 04E390 7F019860 46125083 */ div.s $f2, $f10, $f18
/* 04E394 7F019864 E7A40060 */ swc1 $f4, 0x60($sp)
/* 04E398 7F019868 46083281 */ sub.s $f10, $f6, $f8
/* 04E39C 7F01986C C7A80060 */ lwc1 $f8, 0x60($sp)
/* 04E3A0 7F019870 C7A60130 */ lwc1 $f6, 0x130($sp)
/* 04E3A4 7F019874 46125303 */ div.s $f12, $f10, $f18
/* 04E3A8 7F019878 46083281 */ sub.s $f10, $f6, $f8
/* 04E3AC 7F01987C 1040000B */ beqz $v0, .L7F0198AC
/* 04E3B0 7F019880 46125383 */ div.s $f14, $f10, $f18
/* 04E3B4 7F019884 3C018005 */ lui $at, %hi(D_80051B20)
/* 04E3B8 7F019888 C4301B20 */ lwc1 $f16, %lo(D_80051B20)($at)
/* 04E3BC 7F01988C 3C028007 */ lui $v0, %hi(flt_CODE_bss_80069608)
/* 04E3C0 7F019890 24429608 */ addiu $v0, %lo(flt_CODE_bss_80069608) # addiu $v0, $v0, -0x69f8
/* 04E3C4 7F019894 46101103 */ div.s $f4, $f2, $f16
/* 04E3C8 7F019898 46106183 */ div.s $f6, $f12, $f16
/* 04E3CC 7F01989C E4440000 */ swc1 $f4, ($v0)
/* 04E3D0 7F0198A0 46107203 */ div.s $f8, $f14, $f16
/* 04E3D4 7F0198A4 E4460004 */ swc1 $f6, 4($v0)
/* 04E3D8 7F0198A8 E4480008 */ swc1 $f8, 8($v0)
.L7F0198AC:
/* 04E3DC 7F0198AC 8C638374 */ lw $v1, %lo(clock_timer)($v1)
/* 04E3E0 7F0198B0 3C028007 */ lui $v0, %hi(flt_CODE_bss_80069608)
/* 04E3E4 7F0198B4 3C018005 */ lui $at, %hi(D_80051B24)
/* 04E3E8 7F0198B8 C4301B24 */ lwc1 $f16, %lo(D_80051B24)($at)
/* 04E3EC 7F0198BC 24429608 */ addiu $v0, %lo(flt_CODE_bss_80069608) # addiu $v0, $v0, -0x69f8
/* 04E3F0 7F0198C0 E7A20134 */ swc1 $f2, 0x134($sp)
/* 04E3F4 7F0198C4 E7AC0138 */ swc1 $f12, 0x138($sp)
/* 04E3F8 7F0198C8 18600025 */ blez $v1, .L7F019960
/* 04E3FC 7F0198CC E7AE013C */ swc1 $f14, 0x13c($sp)
/* 04E400 7F0198D0 3C018005 */ lui $at, %hi(D_80051B28)
/* 04E404 7F0198D4 C4201B28 */ lwc1 $f0, %lo(D_80051B28)($at)
/* 04E408 7F0198D8 C4440000 */ lwc1 $f4, ($v0)
/* 04E40C 7F0198DC 26310001 */ addiu $s1, $s1, 1
/* 04E410 7F0198E0 0223082A */ slt $at, $s1, $v1
/* 04E414 7F0198E4 46040282 */ mul.s $f10, $f0, $f4
/* 04E418 7F0198E8 10200010 */ beqz $at, .L7F01992C
/* 04E41C 7F0198EC C4480004 */ lwc1 $f8, 4($v0)
.L7F0198F0:
/* 04E420 7F0198F0 46080182 */ mul.s $f6, $f0, $f8
/* 04E424 7F0198F4 460A1100 */ add.s $f4, $f2, $f10
/* 04E428 7F0198F8 C4480008 */ lwc1 $f8, 8($v0)
/* 04E42C 7F0198FC 26310001 */ addiu $s1, $s1, 1
/* 04E430 7F019900 0223082A */ slt $at, $s1, $v1
/* 04E434 7F019904 46080282 */ mul.s $f10, $f0, $f8
/* 04E438 7F019908 E4440000 */ swc1 $f4, ($v0)
/* 04E43C 7F01990C 46066180 */ add.s $f6, $f12, $f6
/* 04E440 7F019910 C4440000 */ lwc1 $f4, ($v0)
/* 04E444 7F019914 E4460004 */ swc1 $f6, 4($v0)
/* 04E448 7F019918 460A7180 */ add.s $f6, $f14, $f10
/* 04E44C 7F01991C 46040282 */ mul.s $f10, $f0, $f4
/* 04E450 7F019920 C4480004 */ lwc1 $f8, 4($v0)
/* 04E454 7F019924 1420FFF2 */ bnez $at, .L7F0198F0
/* 04E458 7F019928 E4460008 */ swc1 $f6, 8($v0)
.L7F01992C:
/* 04E45C 7F01992C 46080182 */ mul.s $f6, $f0, $f8
/* 04E460 7F019930 C4480008 */ lwc1 $f8, 8($v0)
/* 04E464 7F019934 460A1100 */ add.s $f4, $f2, $f10
/* 04E468 7F019938 46080282 */ mul.s $f10, $f0, $f8
/* 04E46C 7F01993C E4440000 */ swc1 $f4, ($v0)
/* 04E470 7F019940 46066180 */ add.s $f6, $f12, $f6
/* 04E474 7F019944 E4460004 */ swc1 $f6, 4($v0)
/* 04E478 7F019948 460A7180 */ add.s $f6, $f14, $f10
/* 04E47C 7F01994C E4460008 */ swc1 $f6, 8($v0)
/* 04E480 7F019950 E7AE013C */ swc1 $f14, 0x13c($sp)
/* 04E484 7F019954 E7AC0138 */ swc1 $f12, 0x138($sp)
/* 04E488 7F019958 E7A20134 */ swc1 $f2, 0x134($sp)
/* 04E48C 7F01995C 00008825 */ move $s1, $zero
.L7F019960:
/* 04E490 7F019960 C4440000 */ lwc1 $f4, ($v0)
/* 04E494 7F019964 C4480004 */ lwc1 $f8, 4($v0)
/* 04E498 7F019968 3C038007 */ lui $v1, %hi(flt_CODE_bss_800695F8)
/* 04E49C 7F01996C 46102182 */ mul.s $f6, $f4, $f16
/* 04E4A0 7F019970 C4440008 */ lwc1 $f4, 8($v0)
/* 04E4A4 7F019974 246395F8 */ addiu $v1, %lo(flt_CODE_bss_800695F8) # addiu $v1, $v1, -0x6a08
/* 04E4A8 7F019978 46104282 */ mul.s $f10, $f8, $f16
/* 04E4AC 7F01997C C7A8006C */ lwc1 $f8, 0x6c($sp)
/* 04E4B0 7F019980 8E8C0000 */ lw $t4, ($s4)
/* 04E4B4 7F019984 27A50134 */ addiu $a1, $sp, 0x134
/* 04E4B8 7F019988 E4660000 */ swc1 $f6, ($v1)
/* 04E4BC 7F01998C 46102182 */ mul.s $f6, $f4, $f16
/* 04E4C0 7F019990 E46A0004 */ swc1 $f10, 4($v1)
/* 04E4C4 7F019994 C46A0000 */ lwc1 $f10, ($v1)
/* 04E4C8 7F019998 46125102 */ mul.s $f4, $f10, $f18
/* 04E4CC 7F01999C E4660008 */ swc1 $f6, 8($v1)
/* 04E4D0 7F0199A0 C7AA0064 */ lwc1 $f10, 0x64($sp)
/* 04E4D4 7F0199A4 46044180 */ add.s $f6, $f8, $f4
/* 04E4D8 7F0199A8 C4680004 */ lwc1 $f8, 4($v1)
/* 04E4DC 7F0199AC 46124102 */ mul.s $f4, $f8, $f18
/* 04E4E0 7F0199B0 E6060000 */ swc1 $f6, ($s0)
/* 04E4E4 7F0199B4 C7A80060 */ lwc1 $f8, 0x60($sp)
/* 04E4E8 7F0199B8 46045180 */ add.s $f6, $f10, $f4
/* 04E4EC 7F0199BC C46A0008 */ lwc1 $f10, 8($v1)
/* 04E4F0 7F0199C0 46125102 */ mul.s $f4, $f10, $f18
/* 04E4F4 7F0199C4 E6060004 */ swc1 $f6, 4($s0)
/* 04E4F8 7F0199C8 46044180 */ add.s $f6, $f8, $f4
/* 04E4FC 7F0199CC E6060008 */ swc1 $f6, 8($s0)
/* 04E500 7F0199D0 0FC1611D */ jal matrix_4x4_transform_vector_in_place
/* 04E504 7F0199D4 8D84000C */ lw $a0, 0xc($t4)
/* 04E508 7F0199D8 C60A0004 */ lwc1 $f10, 4($s0)
/* 04E50C 7F0199DC C6040008 */ lwc1 $f4, 8($s0)
/* 04E510 7F0199E0 3C068007 */ lui $a2, %hi(flt_CODE_bss_800695E4)
/* 04E514 7F0199E4 24C695E4 */ addiu $a2, %lo(flt_CODE_bss_800695E4) # addiu $a2, $a2, -0x6a1c
/* 04E518 7F0199E8 8CD90000 */ lw $t9, ($a2)
/* 04E51C 7F0199EC 3C018005 */ lui $at, %hi(D_80051B30)
/* 04E520 7F0199F0 E7AA0064 */ swc1 $f10, 0x64($sp)
/* 04E524 7F0199F4 E7A40060 */ swc1 $f4, 0x60($sp)
/* 04E528 7F0199F8 C7A20134 */ lwc1 $f2, 0x134($sp)
/* 04E52C 7F0199FC C7AC0138 */ lwc1 $f12, 0x138($sp)
/* 04E530 7F019A00 C7AE013C */ lwc1 $f14, 0x13c($sp)
/* 04E534 7F019A04 C6120000 */ lwc1 $f18, ($s0)
/* 04E538 7F019A08 C7A80064 */ lwc1 $f8, 0x64($sp)
/* 04E53C 7F019A0C C7A60060 */ lwc1 $f6, 0x60($sp)
/* 04E540 7F019A10 C4201B30 */ lwc1 $f0, %lo(D_80051B30)($at)
/* 04E544 7F019A14 3C018005 */ lui $at, %hi(D_80051B34)
/* 04E548 7F019A18 C4301B34 */ lwc1 $f16, %lo(D_80051B34)($at)
/* 04E54C 7F019A1C 46121081 */ sub.s $f2, $f2, $f18
/* 04E550 7F019A20 46086301 */ sub.s $f12, $f12, $f8
/* 04E554 7F019A24 1320000A */ beqz $t9, .L7F019A50
/* 04E558 7F019A28 46067381 */ sub.s $f14, $f14, $f6
/* 04E55C 7F019A2C 46101283 */ div.s $f10, $f2, $f16
/* 04E560 7F019A30 3C028007 */ lui $v0, %hi(flt_CODE_bss_800695D8)
/* 04E564 7F019A34 244295D8 */ addiu $v0, %lo(flt_CODE_bss_800695D8) # addiu $v0, $v0, -0x6a28
/* 04E568 7F019A38 ACC00000 */ sw $zero, ($a2)
/* 04E56C 7F019A3C 46106203 */ div.s $f8, $f12, $f16
/* 04E570 7F019A40 E44A0000 */ swc1 $f10, ($v0)
/* 04E574 7F019A44 46107103 */ div.s $f4, $f14, $f16
/* 04E578 7F019A48 E4480004 */ swc1 $f8, 4($v0)
/* 04E57C 7F019A4C E4440008 */ swc1 $f4, 8($v0)
.L7F019A50:
/* 04E580 7F019A50 3C038005 */ lui $v1, %hi(clock_timer)
/* 04E584 7F019A54 8C638374 */ lw $v1, %lo(clock_timer)($v1)
/* 04E588 7F019A58 3C028007 */ lui $v0, %hi(flt_CODE_bss_800695D8)
/* 04E58C 7F019A5C 244295D8 */ addiu $v0, %lo(flt_CODE_bss_800695D8) # addiu $v0, $v0, -0x6a28
/* 04E590 7F019A60 58600021 */ blezl $v1, .L7F019AE8
/* 04E594 7F019A64 C44A0000 */ lwc1 $f10, ($v0)
/* 04E598 7F019A68 C4440000 */ lwc1 $f4, ($v0)
/* 04E59C 7F019A6C 26310001 */ addiu $s1, $s1, 1
/* 04E5A0 7F019A70 0223082A */ slt $at, $s1, $v1
/* 04E5A4 7F019A74 46040202 */ mul.s $f8, $f0, $f4
/* 04E5A8 7F019A78 10200010 */ beqz $at, .L7F019ABC
/* 04E5AC 7F019A7C C44A0004 */ lwc1 $f10, 4($v0)
.L7F019A80:
/* 04E5B0 7F019A80 460A0182 */ mul.s $f6, $f0, $f10
/* 04E5B4 7F019A84 46081100 */ add.s $f4, $f2, $f8
/* 04E5B8 7F019A88 C44A0008 */ lwc1 $f10, 8($v0)
/* 04E5BC 7F019A8C 26310001 */ addiu $s1, $s1, 1
/* 04E5C0 7F019A90 0223082A */ slt $at, $s1, $v1
/* 04E5C4 7F019A94 460A0202 */ mul.s $f8, $f0, $f10
/* 04E5C8 7F019A98 E4440000 */ swc1 $f4, ($v0)
/* 04E5CC 7F019A9C 46066180 */ add.s $f6, $f12, $f6
/* 04E5D0 7F019AA0 C4440000 */ lwc1 $f4, ($v0)
/* 04E5D4 7F019AA4 E4460004 */ swc1 $f6, 4($v0)
/* 04E5D8 7F019AA8 46087180 */ add.s $f6, $f14, $f8
/* 04E5DC 7F019AAC 46040202 */ mul.s $f8, $f0, $f4
/* 04E5E0 7F019AB0 C44A0004 */ lwc1 $f10, 4($v0)
/* 04E5E4 7F019AB4 1420FFF2 */ bnez $at, .L7F019A80
/* 04E5E8 7F019AB8 E4460008 */ swc1 $f6, 8($v0)
.L7F019ABC:
/* 04E5EC 7F019ABC 460A0182 */ mul.s $f6, $f0, $f10
/* 04E5F0 7F019AC0 C44A0008 */ lwc1 $f10, 8($v0)
/* 04E5F4 7F019AC4 46081100 */ add.s $f4, $f2, $f8
/* 04E5F8 7F019AC8 460A0202 */ mul.s $f8, $f0, $f10
/* 04E5FC 7F019ACC E4440000 */ swc1 $f4, ($v0)
/* 04E600 7F019AD0 46066180 */ add.s $f6, $f12, $f6
/* 04E604 7F019AD4 E4460004 */ swc1 $f6, 4($v0)
/* 04E608 7F019AD8 46087180 */ add.s $f6, $f14, $f8
/* 04E60C 7F019ADC E4460008 */ swc1 $f6, 8($v0)
/* 04E610 7F019AE0 00008825 */ move $s1, $zero
/* 04E614 7F019AE4 C44A0000 */ lwc1 $f10, ($v0)
.L7F019AE8:
/* 04E618 7F019AE8 C4440004 */ lwc1 $f4, 4($v0)
/* 04E61C 7F019AEC 3C038007 */ lui $v1, %hi(flt_CODE_bss_800695C8)
/* 04E620 7F019AF0 46105202 */ mul.s $f8, $f10, $f16
/* 04E624 7F019AF4 C44A0008 */ lwc1 $f10, 8($v0)
/* 04E628 7F019AF8 246395C8 */ addiu $v1, %lo(flt_CODE_bss_800695C8) # addiu $v1, $v1, -0x6a38
/* 04E62C 7F019AFC 46102182 */ mul.s $f6, $f4, $f16
/* 04E630 7F019B00 3C014120 */ li $at, 0x41200000 # 10.000000
/* 04E634 7F019B04 C7A0023C */ lwc1 $f0, 0x23c($sp)
/* 04E638 7F019B08 02402025 */ move $a0, $s2
/* 04E63C 7F019B0C E4680000 */ swc1 $f8, ($v1)
/* 04E640 7F019B10 46105202 */ mul.s $f8, $f10, $f16
/* 04E644 7F019B14 C4640000 */ lwc1 $f4, ($v1)
/* 04E648 7F019B18 E4660004 */ swc1 $f6, 4($v1)
/* 04E64C 7F019B1C C46A0004 */ lwc1 $f10, 4($v1)
/* 04E650 7F019B20 C7A60064 */ lwc1 $f6, 0x64($sp)
/* 04E654 7F019B24 46049080 */ add.s $f2, $f18, $f4
/* 04E658 7F019B28 44812000 */ mtc1 $at, $f4
/* 04E65C 7F019B2C E4680008 */ swc1 $f8, 8($v1)
/* 04E660 7F019B30 460A3200 */ add.s $f8, $f6, $f10
/* 04E664 7F019B34 C7AA0060 */ lwc1 $f10, 0x60($sp)
/* 04E668 7F019B38 E7A60050 */ swc1 $f6, 0x50($sp)
/* 04E66C 7F019B3C 3C014252 */ li $at, 0x42520000 # 52.500000
/* 04E670 7F019B40 46044301 */ sub.s $f12, $f8, $f4
/* 04E674 7F019B44 C4680008 */ lwc1 $f8, 8($v1)
/* 04E678 7F019B48 C7A40238 */ lwc1 $f4, 0x238($sp)
/* 04E67C 7F019B4C E7AA0054 */ swc1 $f10, 0x54($sp)
/* 04E680 7F019B50 46085380 */ add.s $f14, $f10, $f8
/* 04E684 7F019B54 C7AA0050 */ lwc1 $f10, 0x50($sp)
/* 04E688 7F019B58 C7A60244 */ lwc1 $f6, 0x244($sp)
/* 04E68C 7F019B5C 46022200 */ add.s $f8, $f4, $f2
/* 04E690 7F019B60 C7A40240 */ lwc1 $f4, 0x240($sp)
/* 04E694 7F019B64 E7AE013C */ swc1 $f14, 0x13c($sp)
/* 04E698 7F019B68 46123180 */ add.s $f6, $f6, $f18
/* 04E69C 7F019B6C E7A80238 */ swc1 $f8, 0x238($sp)
/* 04E6A0 7F019B70 E7A80050 */ swc1 $f8, 0x50($sp)
/* 04E6A4 7F019B74 44814000 */ mtc1 $at, $f8
/* 04E6A8 7F019B78 460E2100 */ add.s $f4, $f4, $f14
/* 04E6AC 7F019B7C E7A60244 */ swc1 $f6, 0x244($sp)
/* 04E6B0 7F019B80 44053000 */ mfc1 $a1, $f6
/* 04E6B4 7F019B84 46085280 */ add.s $f10, $f10, $f8
/* 04E6B8 7F019B88 C7A80248 */ lwc1 $f8, 0x248($sp)
/* 04E6BC 7F019B8C E7A40240 */ swc1 $f4, 0x240($sp)
/* 04E6C0 7F019B90 E7A40058 */ swc1 $f4, 0x58($sp)
/* 04E6C4 7F019B94 460A4200 */ add.s $f8, $f8, $f10
/* 04E6C8 7F019B98 C7AA024C */ lwc1 $f10, 0x24c($sp)
/* 04E6CC 7F019B9C C7A40054 */ lwc1 $f4, 0x54($sp)
/* 04E6D0 7F019BA0 460C0000 */ add.s $f0, $f0, $f12
/* 04E6D4 7F019BA4 E7A80248 */ swc1 $f8, 0x248($sp)
/* 04E6D8 7F019BA8 44064000 */ mfc1 $a2, $f8
/* 04E6DC 7F019BAC 46045280 */ add.s $f10, $f10, $f4
/* 04E6E0 7F019BB0 C7A40050 */ lwc1 $f4, 0x50($sp)
/* 04E6E4 7F019BB4 C7A8022C */ lwc1 $f8, 0x22c($sp)
/* 04E6E8 7F019BB8 C7A60058 */ lwc1 $f6, 0x58($sp)
/* 04E6EC 7F019BBC E7AA024C */ swc1 $f10, 0x24c($sp)
/* 04E6F0 7F019BC0 44075000 */ mfc1 $a3, $f10
/* 04E6F4 7F019BC4 E7A40010 */ swc1 $f4, 0x10($sp)
/* 04E6F8 7F019BC8 C7A40234 */ lwc1 $f4, 0x234($sp)
/* 04E6FC 7F019BCC C7AA0230 */ lwc1 $f10, 0x230($sp)
/* 04E700 7F019BD0 E7A00014 */ swc1 $f0, 0x14($sp)
/* 04E704 7F019BD4 E7A0023C */ swc1 $f0, 0x23c($sp)
/* 04E708 7F019BD8 E7AC0138 */ swc1 $f12, 0x138($sp)
/* 04E70C 7F019BDC E7A20134 */ swc1 $f2, 0x134($sp)
/* 04E710 7F019BE0 E7A8001C */ swc1 $f8, 0x1c($sp)
/* 04E714 7F019BE4 E7A60018 */ swc1 $f6, 0x18($sp)
/* 04E718 7F019BE8 E7A40024 */ swc1 $f4, 0x24($sp)
/* 04E71C 7F019BEC 0FC165A5 */ jal matrix_4x4_7F059694
/* 04E720 7F019BF0 E7AA0020 */ swc1 $f10, 0x20($sp)
/* 04E724 7F019BF4 8E8E0000 */ lw $t6, ($s4)
/* 04E728 7F019BF8 AFB201A8 */ sw $s2, 0x1a8($sp)
/* 04E72C 7F019BFC 8DCF0008 */ lw $t7, 8($t6)
/* 04E730 7F019C00 85E4000E */ lh $a0, 0xe($t7)
/* 04E734 7F019C04 00046980 */ sll $t5, $a0, 6
/* 04E738 7F019C08 0FC2F5C5 */ jal dynAllocate
/* 04E73C 7F019C0C 01A02025 */ move $a0, $t5
/* 04E740 7F019C10 AFA201B8 */ sw $v0, 0x1b8($sp)
/* 04E744 7F019C14 27A401A8 */ addiu $a0, $sp, 0x1a8
/* 04E748 7F019C18 0FC1BCBE */ jal subcalcmatrices
/* 04E74C 7F019C1C 8E850000 */ lw $a1, ($s4)
/* 04E750 7F019C20 3C078003 */ lui $a3, %hi(ptrobjinstance)
/* 04E754 7F019C24 8CE7B5F8 */ lw $a3, %lo(ptrobjinstance)($a3)
/* 04E758 7F019C28 50E00025 */ beql $a3, $zero, .L7F019CC0
/* 04E75C 7F019C2C 24180007 */ li $t8, 7
/* 04E760 7F019C30 8E840000 */ lw $a0, ($s4)
/* 04E764 7F019C34 8CE5001C */ lw $a1, 0x1c($a3)
/* 04E768 7F019C38 0FC1B198 */ jal sub_GAME_7F06C660
/* 04E76C 7F019C3C 00003025 */ move $a2, $zero
/* 04E770 7F019C40 8E980000 */ lw $t8, ($s4)
/* 04E774 7F019C44 AFA201A8 */ sw $v0, 0x1a8($sp)
/* 04E778 7F019C48 3C078003 */ lui $a3, %hi(ptrobjinstance)
/* 04E77C 7F019C4C 8F0C0008 */ lw $t4, 8($t8)
/* 04E780 7F019C50 8CE7B5F8 */ lw $a3, %lo(ptrobjinstance)($a3)
/* 04E784 7F019C54 27B20160 */ addiu $s2, $sp, 0x160
/* 04E788 7F019C58 8D990008 */ lw $t9, 8($t4)
/* 04E78C 7F019C5C 8CEB001C */ lw $t3, 0x1c($a3)
/* 04E790 7F019C60 02402825 */ move $a1, $s2
/* 04E794 7F019C64 8F2E0014 */ lw $t6, 0x14($t9)
/* 04E798 7F019C68 3C018005 */ lui $at, %hi(D_80051B38)
/* 04E79C 7F019C6C 556E000A */ bnel $t3, $t6, .L7F019C98
/* 04E7A0 7F019C70 8CEF0008 */ lw $t7, 8($a3)
/* 04E7A4 7F019C74 0FC161A2 */ jal matrix_4x4_set_rotation_around_z
/* 04E7A8 7F019C78 C42C1B38 */ lwc1 $f12, %lo(D_80051B38)($at)
/* 04E7AC 7F019C7C 8FA401A8 */ lw $a0, 0x1a8($sp)
/* 04E7B0 7F019C80 0FC1601A */ jal matrix_4x4_multiply_in_place
/* 04E7B4 7F019C84 02402825 */ move $a1, $s2
/* 04E7B8 7F019C88 3C078003 */ lui $a3, %hi(ptrobjinstance)
/* 04E7BC 7F019C8C 8CE7B5F8 */ lw $a3, %lo(ptrobjinstance)($a3)
/* 04E7C0 7F019C90 AFB201A8 */ sw $s2, 0x1a8($sp)
/* 04E7C4 7F019C94 8CEF0008 */ lw $t7, 8($a3)
.L7F019C98:
/* 04E7C8 7F019C98 85E4000E */ lh $a0, 0xe($t7)
/* 04E7CC 7F019C9C 00046980 */ sll $t5, $a0, 6
/* 04E7D0 7F019CA0 0FC2F5C5 */ jal dynAllocate
/* 04E7D4 7F019CA4 01A02025 */ move $a0, $t5
/* 04E7D8 7F019CA8 3C058003 */ lui $a1, %hi(ptrobjinstance)
/* 04E7DC 7F019CAC AFA201B8 */ sw $v0, 0x1b8($sp)
/* 04E7E0 7F019CB0 8CA5B5F8 */ lw $a1, %lo(ptrobjinstance)($a1)
/* 04E7E4 7F019CB4 0FC1BC92 */ jal instcalcmatrices
/* 04E7E8 7F019CB8 27A401A8 */ addiu $a0, $sp, 0x1a8
/* 04E7EC 7F019CBC 24180007 */ li $t8, 7
.L7F019CC0:
/* 04E7F0 7F019CC0 240C0001 */ li $t4, 1
/* 04E7F4 7F019CC4 24190003 */ li $t9, 3
/* 04E7F8 7F019CC8 27B20160 */ addiu $s2, $sp, 0x160
/* 04E7FC 7F019CCC AFB801D8 */ sw $t8, 0x1d8($sp)
/* 04E800 7F019CD0 AFAC01AC */ sw $t4, 0x1ac($sp)
/* 04E804 7F019CD4 AFB301B4 */ sw $s3, 0x1b4($sp)
/* 04E808 7F019CD8 AFB901B0 */ sw $t9, 0x1b0($sp)
/* 04E80C 7F019CDC 27A401A8 */ addiu $a0, $sp, 0x1a8
/* 04E810 7F019CE0 0FC1D1A1 */ jal subdraw
/* 04E814 7F019CE4 8E850000 */ lw $a1, ($s4)
/* 04E818 7F019CE8 3C078003 */ lui $a3, %hi(ptrobjinstance)
/* 04E81C 7F019CEC 8CE7B5F8 */ lw $a3, %lo(ptrobjinstance)($a3)
/* 04E820 7F019CF0 10E00003 */ beqz $a3, .L7F019D00
/* 04E824 7F019CF4 27A401A8 */ addiu $a0, $sp, 0x1a8
/* 04E828 7F019CF8 0FC1D1A1 */ jal subdraw
/* 04E82C 7F019CFC 00E02825 */ move $a1, $a3
.L7F019D00:
/* 04E830 7F019D00 8FB301B4 */ lw $s3, 0x1b4($sp)
/* 04E834 7F019D04 0FC1B100 */ jal set_80036084
/* 04E838 7F019D08 00002025 */ move $a0, $zero
/* 04E83C 7F019D0C 8E820000 */ lw $v0, ($s4)
/* 04E840 7F019D10 8C4B0008 */ lw $t3, 8($v0)
/* 04E844 7F019D14 856E000E */ lh $t6, 0xe($t3)
/* 04E848 7F019D18 19C00013 */ blez $t6, .L7F019D68
/* 04E84C 7F019D1C 00008025 */ move $s0, $zero
/* 04E850 7F019D20 8C4F000C */ lw $t7, 0xc($v0)
.L7F019D24:
/* 04E854 7F019D24 02402825 */ move $a1, $s2
/* 04E858 7F019D28 0FC16008 */ jal matrix_4x4_copy
/* 04E85C 7F019D2C 01F02021 */ addu $a0, $t7, $s0
/* 04E860 7F019D30 8E8D0000 */ lw $t5, ($s4)
/* 04E864 7F019D34 00116180 */ sll $t4, $s1, 6
/* 04E868 7F019D38 02402025 */ move $a0, $s2
/* 04E86C 7F019D3C 8DB8000C */ lw $t8, 0xc($t5)
/* 04E870 7F019D40 0FC16327 */ jal sub_GAME_7F058C9C
/* 04E874 7F019D44 030C2821 */ addu $a1, $t8, $t4
/* 04E878 7F019D48 8E820000 */ lw $v0, ($s4)
/* 04E87C 7F019D4C 26310001 */ addiu $s1, $s1, 1
/* 04E880 7F019D50 26100040 */ addiu $s0, $s0, 0x40
/* 04E884 7F019D54 8C590008 */ lw $t9, 8($v0)
/* 04E888 7F019D58 872B000E */ lh $t3, 0xe($t9)
/* 04E88C 7F019D5C 022B082A */ slt $at, $s1, $t3
/* 04E890 7F019D60 5420FFF0 */ bnezl $at, .L7F019D24
/* 04E894 7F019D64 8C4F000C */ lw $t7, 0xc($v0)
.L7F019D68:
/* 04E898 7F019D68 3C078003 */ lui $a3, %hi(ptrobjinstance)
/* 04E89C 7F019D6C 8CE7B5F8 */ lw $a3, %lo(ptrobjinstance)($a3)
/* 04E8A0 7F019D70 50E0001C */ beql $a3, $zero, .L7F019DE4
/* 04E8A4 7F019D74 02601025 */ move $v0, $s3
/* 04E8A8 7F019D78 8CEE0008 */ lw $t6, 8($a3)
/* 04E8AC 7F019D7C 00008825 */ move $s1, $zero
/* 04E8B0 7F019D80 00008025 */ move $s0, $zero
/* 04E8B4 7F019D84 85CF000E */ lh $t7, 0xe($t6)
/* 04E8B8 7F019D88 59E00016 */ blezl $t7, .L7F019DE4
/* 04E8BC 7F019D8C 02601025 */ move $v0, $s3
/* 04E8C0 7F019D90 8CED000C */ lw $t5, 0xc($a3)
.L7F019D94:
/* 04E8C4 7F019D94 02402825 */ move $a1, $s2
/* 04E8C8 7F019D98 0FC16008 */ jal matrix_4x4_copy
/* 04E8CC 7F019D9C 01B02021 */ addu $a0, $t5, $s0
/* 04E8D0 7F019DA0 3C188003 */ lui $t8, %hi(ptrobjinstance)
/* 04E8D4 7F019DA4 8F18B5F8 */ lw $t8, %lo(ptrobjinstance)($t8)
/* 04E8D8 7F019DA8 0011C980 */ sll $t9, $s1, 6
/* 04E8DC 7F019DAC 02402025 */ move $a0, $s2
/* 04E8E0 7F019DB0 8F0C000C */ lw $t4, 0xc($t8)
/* 04E8E4 7F019DB4 0FC16327 */ jal sub_GAME_7F058C9C
/* 04E8E8 7F019DB8 01992821 */ addu $a1, $t4, $t9
/* 04E8EC 7F019DBC 3C078003 */ lui $a3, %hi(ptrobjinstance)
/* 04E8F0 7F019DC0 8CE7B5F8 */ lw $a3, %lo(ptrobjinstance)($a3)
/* 04E8F4 7F019DC4 26310001 */ addiu $s1, $s1, 1
/* 04E8F8 7F019DC8 26100040 */ addiu $s0, $s0, 0x40
/* 04E8FC 7F019DCC 8CEB0008 */ lw $t3, 8($a3)
/* 04E900 7F019DD0 856E000E */ lh $t6, 0xe($t3)
/* 04E904 7F019DD4 022E082A */ slt $at, $s1, $t6
/* 04E908 7F019DD8 5420FFEE */ bnezl $at, .L7F019D94
/* 04E90C 7F019DDC 8CED000C */ lw $t5, 0xc($a3)
/* 04E910 7F019DE0 02601025 */ move $v0, $s3
.L7F019DE4:
/* 04E914 7F019DE4 3C0D006E */ lui $t5, (0x006E0528 >> 16) # lui $t5, 0x6e
/* 04E918 7F019DE8 35AD0528 */ ori $t5, (0x006E0528 & 0xFFFF) # ori $t5, $t5, 0x528
/* 04E91C 7F019DEC 3C0FED00 */ lui $t7, 0xed00
/* 04E920 7F019DF0 AC4F0000 */ sw $t7, ($v0)
/* 04E924 7F019DF4 AC4D0004 */ sw $t5, 4($v0)
/* 04E928 7F019DF8 26730008 */ addiu $s3, $s3, 8
/* 04E92C 7F019DFC 3C07E700 */ lui $a3, 0xe700
/* 04E930 7F019E00 26640008 */ addiu $a0, $s3, 8
/* 04E934 7F019E04 AE670000 */ sw $a3, ($s3)
/* 04E938 7F019E08 AE600004 */ sw $zero, 4($s3)
/* 04E93C 7F019E0C 3C18BA00 */ lui $t8, (0xBA001402 >> 16) # lui $t8, 0xba00
/* 04E940 7F019E10 37181402 */ ori $t8, (0xBA001402 & 0xFFFF) # ori $t8, $t8, 0x1402
/* 04E944 7F019E14 AC980000 */ sw $t8, ($a0)
/* 04E948 7F019E18 AC800004 */ sw $zero, 4($a0)
/* 04E94C 7F019E1C 24850008 */ addiu $a1, $a0, 8
/* 04E950 7F019E20 3C08BA00 */ lui $t0, (0xBA000602 >> 16) # lui $t0, 0xba00
/* 04E954 7F019E24 35080602 */ ori $t0, (0xBA000602 & 0xFFFF) # ori $t0, $t0, 0x602
/* 04E958 7F019E28 24A60008 */ addiu $a2, $a1, 8
/* 04E95C 7F019E2C 240C00C0 */ li $t4, 192
/* 04E960 7F019E30 3C09BA00 */ lui $t1, (0xBA001301 >> 16) # lui $t1, 0xba00
/* 04E964 7F019E34 ACAC0004 */ sw $t4, 4($a1)
/* 04E968 7F019E38 ACA80000 */ sw $t0, ($a1)
/* 04E96C 7F019E3C 35291301 */ ori $t1, (0xBA001301 & 0xFFFF) # ori $t1, $t1, 0x1301
/* 04E970 7F019E40 24C20008 */ addiu $v0, $a2, 8
/* 04E974 7F019E44 ACC90000 */ sw $t1, ($a2)
/* 04E978 7F019E48 ACC00004 */ sw $zero, 4($a2)
/* 04E97C 7F019E4C 3C19B900 */ lui $t9, (0xB9000002 >> 16) # lui $t9, 0xb900
/* 04E980 7F019E50 37390002 */ ori $t9, (0xB9000002 & 0xFFFF) # ori $t9, $t9, 2
/* 04E984 7F019E54 24430008 */ addiu $v1, $v0, 8
/* 04E988 7F019E58 3C0ABA00 */ lui $t2, (0xBA001001 >> 16) # lui $t2, 0xba00
/* 04E98C 7F019E5C AC590000 */ sw $t9, ($v0)
/* 04E990 7F019E60 AC400004 */ sw $zero, 4($v0)
/* 04E994 7F019E64 354A1001 */ ori $t2, (0xBA001001 & 0xFFFF) # ori $t2, $t2, 0x1001
/* 04E998 7F019E68 24730008 */ addiu $s3, $v1, 8
/* 04E99C 7F019E6C AC6A0000 */ sw $t2, ($v1)
/* 04E9A0 7F019E70 AC600004 */ sw $zero, 4($v1)
/* 04E9A4 7F019E74 02602025 */ move $a0, $s3
/* 04E9A8 7F019E78 3C0BBA00 */ lui $t3, (0xBA000C02 >> 16) # lui $t3, 0xba00
/* 04E9AC 7F019E7C 356B0C02 */ ori $t3, (0xBA000C02 & 0xFFFF) # ori $t3, $t3, 0xc02
/* 04E9B0 7F019E80 240E2000 */ li $t6, 8192
/* 04E9B4 7F019E84 AC8E0004 */ sw $t6, 4($a0)
/* 04E9B8 7F019E88 AC8B0000 */ sw $t3, ($a0)
/* 04E9BC 7F019E8C 26650008 */ addiu $a1, $s3, 8
/* 04E9C0 7F019E90 3C0FBA00 */ lui $t7, (0xBA000903 >> 16) # lui $t7, 0xba00
/* 04E9C4 7F019E94 35EF0903 */ ori $t7, (0xBA000903 & 0xFFFF) # ori $t7, $t7, 0x903
/* 04E9C8 7F019E98 ACAF0000 */ sw $t7, ($a1)
/* 04E9CC 7F019E9C 24A60008 */ addiu $a2, $a1, 8
/* 04E9D0 7F019EA0 240D0C00 */ li $t5, 3072
/* 04E9D4 7F019EA4 ACAD0004 */ sw $t5, 4($a1)
/* 04E9D8 7F019EA8 3C18BA00 */ lui $t8, (0xBA000E02 >> 16) # lui $t8, 0xba00
/* 04E9DC 7F019EAC 37180E02 */ ori $t8, (0xBA000E02 & 0xFFFF) # ori $t8, $t8, 0xe02
/* 04E9E0 7F019EB0 24C20008 */ addiu $v0, $a2, 8
/* 04E9E4 7F019EB4 ACD80000 */ sw $t8, ($a2)
/* 04E9E8 7F019EB8 ACC00004 */ sw $zero, 4($a2)
/* 04E9EC 7F019EBC 3C190050 */ lui $t9, (0x00504340 >> 16) # lui $t9, 0x50
/* 04E9F0 7F019EC0 3C0CB900 */ lui $t4, (0xB900031D >> 16) # lui $t4, 0xb900
/* 04E9F4 7F019EC4 358C031D */ ori $t4, (0xB900031D & 0xFFFF) # ori $t4, $t4, 0x31d
/* 04E9F8 7F019EC8 37394340 */ ori $t9, (0x00504340 & 0xFFFF) # ori $t9, $t9, 0x4340
/* 04E9FC 7F019ECC 24430008 */ addiu $v1, $v0, 8
/* 04EA00 7F019ED0 AC590004 */ sw $t9, 4($v0)
/* 04EA04 7F019ED4 AC4C0000 */ sw $t4, ($v0)
/* 04EA08 7F019ED8 3C0BFCFF */ lui $t3, (0xFCFFFFFF >> 16) # lui $t3, 0xfcff
/* 04EA0C 7F019EDC 3C0EFFFD */ lui $t6, (0xFFFDF6FB >> 16) # lui $t6, 0xfffd
/* 04EA10 7F019EE0 35CEF6FB */ ori $t6, (0xFFFDF6FB & 0xFFFF) # ori $t6, $t6, 0xf6fb
/* 04EA14 7F019EE4 356BFFFF */ ori $t3, (0xFCFFFFFF & 0xFFFF) # ori $t3, $t3, 0xffff
/* 04EA18 7F019EE8 AC6B0000 */ sw $t3, ($v1)
/* 04EA1C 7F019EEC AC6E0004 */ sw $t6, 4($v1)
/* 04EA20 7F019EF0 24640008 */ addiu $a0, $v1, 8
/* 04EA24 7F019EF4 3C0FFA00 */ lui $t7, 0xfa00
/* 04EA28 7F019EF8 AC8F0000 */ sw $t7, ($a0)
/* 04EA2C 7F019EFC 3C01437F */ li $at, 0x437F0000 # 255.000000
/* 04EA30 7F019F00 44813000 */ mtc1 $at, $f6
/* 04EA34 7F019F04 C7A80144 */ lwc1 $f8, 0x144($sp)
/* 04EA38 7F019F08 240C00FF */ li $t4, 255
/* 04EA3C 7F019F0C 24930008 */ addiu $s3, $a0, 8
/* 04EA40 7F019F10 46083002 */ mul.s $f0, $f6, $f8
/* 04EA44 7F019F14 3C0EF66E */ lui $t6, (0xF66E0528 >> 16) # lui $t6, 0xf66e
/* 04EA48 7F019F18 35CE0528 */ ori $t6, (0xF66E0528 & 0xFFFF) # ori $t6, $t6, 0x528
/* 04EA4C 7F019F1C 26660008 */ addiu $a2, $s3, 8
/* 04EA50 7F019F20 24C20008 */ addiu $v0, $a2, 8
/* 04EA54 7F019F24 24430008 */ addiu $v1, $v0, 8
/* 04EA58 7F019F28 240F0040 */ li $t7, 64
/* 04EA5C 7F019F2C 4600028D */ trunc.w.s $f10, $f0
/* 04EA60 7F019F30 3C0D0008 */ lui $t5, 8
/* 04EA64 7F019F34 24650008 */ addiu $a1, $v1, 8
/* 04EA68 7F019F38 44185000 */ mfc1 $t8, $f10
/* 04EA6C 7F019F3C 00000000 */ nop
/* 04EA70 7F019F40 0198C823 */ subu $t9, $t4, $t8
/* 04EA74 7F019F44 332B00FF */ andi $t3, $t9, 0xff
/* 04EA78 7F019F48 AC8B0004 */ sw $t3, 4($a0)
/* 04EA7C 7F019F4C AE600004 */ sw $zero, 4($s3)
/* 04EA80 7F019F50 AE6E0000 */ sw $t6, ($s3)
/* 04EA84 7F019F54 ACC00004 */ sw $zero, 4($a2)
/* 04EA88 7F019F58 ACC70000 */ sw $a3, ($a2)
/* 04EA8C 7F019F5C AC4F0004 */ sw $t7, 4($v0)
/* 04EA90 7F019F60 AC480000 */ sw $t0, ($v0)
/* 04EA94 7F019F64 AC6D0004 */ sw $t5, 4($v1)
/* 04EA98 7F019F68 AC690000 */ sw $t1, ($v1)
/* 04EA9C 7F019F6C 3C0C0001 */ lui $t4, 1
/* 04EAA0 7F019F70 ACAC0004 */ sw $t4, 4($a1)
/* 04EAA4 7F019F74 ACAA0000 */ sw $t2, ($a1)
/* 04EAA8 7F019F78 24A40008 */ addiu $a0, $a1, 8
/* 04EAAC 7F019F7C 0FC2B366 */ jal microcode_constructor
/* 04EAB0 7F019F80 E7A00070 */ swc1 $f0, 0x70($sp)
/* 04EAB4 7F019F84 3C188003 */ lui $t8, %hi(full_actor_intro)
/* 04EAB8 7F019F88 8F18B5FC */ lw $t8, %lo(full_actor_intro)($t8)
/* 04EABC 7F019F8C 00409825 */ move $s3, $v0
/* 04EAC0 7F019F90 1700005F */ bnez $t8, .L7F01A110
/* 04EAC4 7F019F94 3C198003 */ lui $t9, %hi(do_not_play_intro_movie)
/* 04EAC8 7F019F98 8F39B5E8 */ lw $t9, %lo(do_not_play_intro_movie)($t9)
/* 04EACC 7F019F9C 3C048003 */ lui $a0, %hi(intro_char_table+8)
/* 04EAD0 7F019FA0 00195880 */ sll $t3, $t9, 2
/* 04EAD4 7F019FA4 01795821 */ addu $t3, $t3, $t9
/* 04EAD8 7F019FA8 000B5880 */ sll $t3, $t3, 2
/* 04EADC 7F019FAC 008B2021 */ addu $a0, $a0, $t3
/* 04EAE0 7F019FB0 0FC30776 */ jal get_textptr_for_textID
/* 04EAE4 7F019FB4 9484B608 */ lhu $a0, %lo(intro_char_table+8)($a0)
/* 04EAE8 7F019FB8 3C0E8004 */ lui $t6, %hi(ptrFirstFontTableLarge)
/* 04EAEC 7F019FBC 8DCE0EB4 */ lw $t6, %lo(ptrFirstFontTableLarge)($t6)
/* 04EAF0 7F019FC0 3C148004 */ lui $s4, %hi(ptrSecondFontTableLarge)
/* 04EAF4 7F019FC4 26940EB8 */ addiu $s4, %lo(ptrSecondFontTableLarge) # addiu $s4, $s4, 0xeb8
/* 04EAF8 7F019FC8 00408825 */ move $s1, $v0
/* 04EAFC 7F019FCC 8E870000 */ lw $a3, ($s4)
/* 04EB00 7F019FD0 27A40150 */ addiu $a0, $sp, 0x150
/* 04EB04 7F019FD4 27A50154 */ addiu $a1, $sp, 0x154
/* 04EB08 7F019FD8 00403025 */ move $a2, $v0
/* 04EB0C 7F019FDC AFA00014 */ sw $zero, 0x14($sp)
/* 04EB10 7F019FE0 0FC2BA63 */ jal sub_GAME_7F0AE98C
/* 04EB14 7F019FE4 AFAE0010 */ sw $t6, 0x10($sp)
/* 04EB18 7F019FE8 8FA20154 */ lw $v0, 0x154($sp)
/* 04EB1C 7F019FEC 8FB80150 */ lw $t8, 0x150($sp)
/* 04EB20 7F019FF0 240D013B */ li $t5, 315
/* 04EB24 7F019FF4 04410003 */ bgez $v0, .L7F01A004
/* 04EB28 7F019FF8 00027843 */ sra $t7, $v0, 1
/* 04EB2C 7F019FFC 24410001 */ addiu $at, $v0, 1
/* 04EB30 7F01A000 00017843 */ sra $t7, $at, 1
.L7F01A004:
/* 04EB34 7F01A004 01AF2823 */ subu $a1, $t5, $t7
/* 04EB38 7F01A008 240C006C */ li $t4, 108
/* 04EB3C 7F01A00C 00A23821 */ addu $a3, $a1, $v0
/* 04EB40 7F01A010 2719006D */ addiu $t9, $t8, 0x6d
/* 04EB44 7F01A014 AFAC0158 */ sw $t4, 0x158($sp)
/* 04EB48 7F01A018 AFB90010 */ sw $t9, 0x10($sp)
/* 04EB4C 7F01A01C 24E70001 */ addiu $a3, $a3, 1
/* 04EB50 7F01A020 AFA5015C */ sw $a1, 0x15c($sp)
/* 04EB54 7F01A024 02602025 */ move $a0, $s3
/* 04EB58 7F01A028 2406006C */ li $a2, 108
/* 04EB5C 7F01A02C 0FC2B405 */ jal microcode_constructor_related_to_menus
/* 04EB60 7F01A030 AFA00014 */ sw $zero, 0x14($sp)
/* 04EB64 7F01A034 0C001107 */ jal viGetX
/* 04EB68 7F01A038 00409825 */ move $s3, $v0
/* 04EB6C 7F01A03C 00028400 */ sll $s0, $v0, 0x10
/* 04EB70 7F01A040 00105C03 */ sra $t3, $s0, 0x10
/* 04EB74 7F01A044 0C00110B */ jal viGetY
/* 04EB78 7F01A048 01608025 */ move $s0, $t3
/* 04EB7C 7F01A04C 444FF800 */ cfc1 $t7, $31
/* 04EB80 7F01A050 240C0001 */ li $t4, 1
/* 04EB84 7F01A054 44CCF800 */ ctc1 $t4, $31
/* 04EB88 7F01A058 C7A40070 */ lwc1 $f4, 0x70($sp)
/* 04EB8C 7F01A05C 3C0D8004 */ lui $t5, %hi(ptrFirstFontTableLarge)
/* 04EB90 7F01A060 8DAD0EB4 */ lw $t5, %lo(ptrFirstFontTableLarge)($t5)
/* 04EB94 7F01A064 460021A4 */ cvt.w.s $f6, $f4
/* 04EB98 7F01A068 8E8E0000 */ lw $t6, ($s4)
/* 04EB9C 7F01A06C 02602025 */ move $a0, $s3
/* 04EBA0 7F01A070 27A5015C */ addiu $a1, $sp, 0x15c
/* 04EBA4 7F01A074 444CF800 */ cfc1 $t4, $31
/* 04EBA8 7F01A078 27A60158 */ addiu $a2, $sp, 0x158
/* 04EBAC 7F01A07C 02203825 */ move $a3, $s1
/* 04EBB0 7F01A080 318C0078 */ andi $t4, $t4, 0x78
/* 04EBB4 7F01A084 AFAD0014 */ sw $t5, 0x14($sp)
/* 04EBB8 7F01A088 11800013 */ beqz $t4, .L7F01A0D8
/* 04EBBC 7F01A08C AFAE0010 */ sw $t6, 0x10($sp)
/* 04EBC0 7F01A090 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000
/* 04EBC4 7F01A094 44813000 */ mtc1 $at, $f6
/* 04EBC8 7F01A098 240C0001 */ li $t4, 1
/* 04EBCC 7F01A09C 46062181 */ sub.s $f6, $f4, $f6
/* 04EBD0 7F01A0A0 44CCF800 */ ctc1 $t4, $31
/* 04EBD4 7F01A0A4 00000000 */ nop
/* 04EBD8 7F01A0A8 460031A4 */ cvt.w.s $f6, $f6
/* 04EBDC 7F01A0AC 444CF800 */ cfc1 $t4, $31
/* 04EBE0 7F01A0B0 00000000 */ nop
/* 04EBE4 7F01A0B4 318C0078 */ andi $t4, $t4, 0x78
/* 04EBE8 7F01A0B8 15800005 */ bnez $t4, .L7F01A0D0
/* 04EBEC 7F01A0BC 00000000 */ nop
/* 04EBF0 7F01A0C0 440C3000 */ mfc1 $t4, $f6
/* 04EBF4 7F01A0C4 3C018000 */ lui $at, 0x8000
/* 04EBF8 7F01A0C8 10000007 */ b .L7F01A0E8
/* 04EBFC 7F01A0CC 01816025 */ or $t4, $t4, $at
.L7F01A0D0:
/* 04EC00 7F01A0D0 10000005 */ b .L7F01A0E8
/* 04EC04 7F01A0D4 240CFFFF */ li $t4, -1
.L7F01A0D8:
/* 04EC08 7F01A0D8 440C3000 */ mfc1 $t4, $f6
/* 04EC0C 7F01A0DC 00000000 */ nop
/* 04EC10 7F01A0E0 0580FFFB */ bltz $t4, .L7F01A0D0
/* 04EC14 7F01A0E4 00000000 */ nop
.L7F01A0E8:
/* 04EC18 7F01A0E8 2401FF00 */ li $at, -256
/* 04EC1C 7F01A0EC 0181C025 */ or $t8, $t4, $at
/* 04EC20 7F01A0F0 44CFF800 */ ctc1 $t7, $31
/* 04EC24 7F01A0F4 AFB80018 */ sw $t8, 0x18($sp)
/* 04EC28 7F01A0F8 AFB0001C */ sw $s0, 0x1c($sp)
/* 04EC2C 7F01A0FC AFA20020 */ sw $v0, 0x20($sp)
/* 04EC30 7F01A100 AFA00024 */ sw $zero, 0x24($sp)
/* 04EC34 7F01A104 0FC2B6AF */ jal en_text_write_stuff
/* 04EC38 7F01A108 AFA00028 */ sw $zero, 0x28($sp)
/* 04EC3C 7F01A10C 00409825 */ move $s3, $v0
.L7F01A110:
/* 04EC40 7F01A110 444EF800 */ cfc1 $t6, $31
/* 04EC44 7F01A114 24120001 */ li $s2, 1
/* 04EC48 7F01A118 44D2F800 */ ctc1 $s2, $31
/* 04EC4C 7F01A11C C7A80070 */ lwc1 $f8, 0x70($sp)
/* 04EC50 7F01A120 3C198003 */ lui $t9, %hi(do_not_play_intro_movie)
/* 04EC54 7F01A124 8F39B5E8 */ lw $t9, %lo(do_not_play_intro_movie)($t9)
/* 04EC58 7F01A128 460042A4 */ cvt.w.s $f10, $f8
/* 04EC5C 7F01A12C 3C048003 */ lui $a0, %hi(intro_char_table+10)
/* 04EC60 7F01A130 00195880 */ sll $t3, $t9, 2
/* 04EC64 7F01A134 01795821 */ addu $t3, $t3, $t9
/* 04EC68 7F01A138 4452F800 */ cfc1 $s2, $31
/* 04EC6C 7F01A13C 000B5880 */ sll $t3, $t3, 2
/* 04EC70 7F01A140 3C148004 */ lui $s4, %hi(ptrSecondFontTableLarge)
/* 04EC74 7F01A144 008B2021 */ addu $a0, $a0, $t3
/* 04EC78 7F01A148 32520078 */ andi $s2, $s2, 0x78
/* 04EC7C 7F01A14C 26940EB8 */ addiu $s4, %lo(ptrSecondFontTableLarge) # addiu $s4, $s4, 0xeb8
/* 04EC80 7F01A150 12400013 */ beqz $s2, .L7F01A1A0
/* 04EC84 7F01A154 9484B60A */ lhu $a0, %lo(intro_char_table+10)($a0)
/* 04EC88 7F01A158 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000
/* 04EC8C 7F01A15C 44815000 */ mtc1 $at, $f10
/* 04EC90 7F01A160 24120001 */ li $s2, 1
/* 04EC94 7F01A164 460A4281 */ sub.s $f10, $f8, $f10
/* 04EC98 7F01A168 44D2F800 */ ctc1 $s2, $31
/* 04EC9C 7F01A16C 00000000 */ nop
/* 04ECA0 7F01A170 460052A4 */ cvt.w.s $f10, $f10
/* 04ECA4 7F01A174 4452F800 */ cfc1 $s2, $31
/* 04ECA8 7F01A178 00000000 */ nop
/* 04ECAC 7F01A17C 32520078 */ andi $s2, $s2, 0x78
/* 04ECB0 7F01A180 16400005 */ bnez $s2, .L7F01A198
/* 04ECB4 7F01A184 00000000 */ nop
/* 04ECB8 7F01A188 44125000 */ mfc1 $s2, $f10
/* 04ECBC 7F01A18C 3C018000 */ lui $at, 0x8000
/* 04ECC0 7F01A190 10000007 */ b .L7F01A1B0
/* 04ECC4 7F01A194 02419025 */ or $s2, $s2, $at
.L7F01A198:
/* 04ECC8 7F01A198 10000005 */ b .L7F01A1B0
/* 04ECCC 7F01A19C 2412FFFF */ li $s2, -1
.L7F01A1A0:
/* 04ECD0 7F01A1A0 44125000 */ mfc1 $s2, $f10
/* 04ECD4 7F01A1A4 00000000 */ nop
/* 04ECD8 7F01A1A8 0640FFFB */ bltz $s2, .L7F01A198
/* 04ECDC 7F01A1AC 00000000 */ nop
.L7F01A1B0:
/* 04ECE0 7F01A1B0 2401FF00 */ li $at, -256
/* 04ECE4 7F01A1B4 02416825 */ or $t5, $s2, $at
/* 04ECE8 7F01A1B8 44CEF800 */ ctc1 $t6, $31
/* 04ECEC 7F01A1BC 0FC30776 */ jal get_textptr_for_textID
/* 04ECF0 7F01A1C0 01A09025 */ move $s2, $t5
/* 04ECF4 7F01A1C4 3C0F8004 */ lui $t7, %hi(ptrFirstFontTableLarge)
/* 04ECF8 7F01A1C8 8DEF0EB4 */ lw $t7, %lo(ptrFirstFontTableLarge)($t7)
/* 04ECFC 7F01A1CC 00408825 */ move $s1, $v0
/* 04ED00 7F01A1D0 27A40150 */ addiu $a0, $sp, 0x150
/* 04ED04 7F01A1D4 27A50154 */ addiu $a1, $sp, 0x154
/* 04ED08 7F01A1D8 00403025 */ move $a2, $v0
/* 04ED0C 7F01A1DC 8E870000 */ lw $a3, ($s4)
/* 04ED10 7F01A1E0 AFA00014 */ sw $zero, 0x14($sp)
/* 04ED14 7F01A1E4 0FC2BA63 */ jal sub_GAME_7F0AE98C
/* 04ED18 7F01A1E8 AFAF0010 */ sw $t7, 0x10($sp)
/* 04ED1C 7F01A1EC 8FA20154 */ lw $v0, 0x154($sp)
/* 04ED20 7F01A1F0 8FAB0150 */ lw $t3, 0x150($sp)
/* 04ED24 7F01A1F4 2418013B */ li $t8, 315
/* 04ED28 7F01A1F8 04410003 */ bgez $v0, .L7F01A208
/* 04ED2C 7F01A1FC 00026043 */ sra $t4, $v0, 1
/* 04ED30 7F01A200 24410001 */ addiu $at, $v0, 1
/* 04ED34 7F01A204 00016043 */ sra $t4, $at, 1
.L7F01A208:
/* 04ED38 7F01A208 030C2823 */ subu $a1, $t8, $t4
/* 04ED3C 7F01A20C 24190098 */ li $t9, 152
/* 04ED40 7F01A210 00A23821 */ addu $a3, $a1, $v0
/* 04ED44 7F01A214 256E0099 */ addiu $t6, $t3, 0x99
/* 04ED48 7F01A218 AFB90158 */ sw $t9, 0x158($sp)
/* 04ED4C 7F01A21C AFAE0010 */ sw $t6, 0x10($sp)
/* 04ED50 7F01A220 24E70001 */ addiu $a3, $a3, 1
/* 04ED54 7F01A224 AFA5015C */ sw $a1, 0x15c($sp)
/* 04ED58 7F01A228 02602025 */ move $a0, $s3
/* 04ED5C 7F01A22C 24060098 */ li $a2, 152
/* 04ED60 7F01A230 0FC2B405 */ jal microcode_constructor_related_to_menus
/* 04ED64 7F01A234 AFA00014 */ sw $zero, 0x14($sp)
/* 04ED68 7F01A238 0C001107 */ jal viGetX
/* 04ED6C 7F01A23C 00409825 */ move $s3, $v0
/* 04ED70 7F01A240 00028400 */ sll $s0, $v0, 0x10
/* 04ED74 7F01A244 00106C03 */ sra $t5, $s0, 0x10
/* 04ED78 7F01A248 0C00110B */ jal viGetY
/* 04ED7C 7F01A24C 01A08025 */ move $s0, $t5
/* 04ED80 7F01A250 3C188004 */ lui $t8, %hi(ptrFirstFontTableLarge)
/* 04ED84 7F01A254 8F180EB4 */ lw $t8, %lo(ptrFirstFontTableLarge)($t8)
/* 04ED88 7F01A258 8E8F0000 */ lw $t7, ($s4)
/* 04ED8C 7F01A25C 02602025 */ move $a0, $s3
/* 04ED90 7F01A260 27A5015C */ addiu $a1, $sp, 0x15c
/* 04ED94 7F01A264 27A60158 */ addiu $a2, $sp, 0x158
/* 04ED98 7F01A268 02203825 */ move $a3, $s1
/* 04ED9C 7F01A26C AFB20018 */ sw $s2, 0x18($sp)
/* 04EDA0 7F01A270 AFB0001C */ sw $s0, 0x1c($sp)
/* 04EDA4 7F01A274 AFA20020 */ sw $v0, 0x20($sp)
/* 04EDA8 7F01A278 AFA00024 */ sw $zero, 0x24($sp)
/* 04EDAC 7F01A27C AFA00028 */ sw $zero, 0x28($sp)
/* 04EDB0 7F01A280 AFB80014 */ sw $t8, 0x14($sp)
/* 04EDB4 7F01A284 0FC2B6AF */ jal en_text_write_stuff
/* 04EDB8 7F01A288 AFAF0010 */ sw $t7, 0x10($sp)
/* 04EDBC 7F01A28C 3C0C8003 */ lui $t4, %hi(do_not_play_intro_movie)
/* 04EDC0 7F01A290 8D8CB5E8 */ lw $t4, %lo(do_not_play_intro_movie)($t4)
/* 04EDC4 7F01A294 3C048003 */ lui $a0, %hi(intro_char_table+12)
/* 04EDC8 7F01A298 00409825 */ move $s3, $v0
/* 04EDCC 7F01A29C 000CC880 */ sll $t9, $t4, 2
/* 04EDD0 7F01A2A0 032CC821 */ addu $t9, $t9, $t4
/* 04EDD4 7F01A2A4 0019C880 */ sll $t9, $t9, 2
/* 04EDD8 7F01A2A8 00992021 */ addu $a0, $a0, $t9
/* 04EDDC 7F01A2AC 0FC30776 */ jal get_textptr_for_textID
/* 04EDE0 7F01A2B0 9484B60C */ lhu $a0, %lo(intro_char_table+12)($a0)
/* 04EDE4 7F01A2B4 3C0B8004 */ lui $t3, %hi(ptrFirstFontTableLarge)
/* 04EDE8 7F01A2B8 8D6B0EB4 */ lw $t3, %lo(ptrFirstFontTableLarge)($t3)
/* 04EDEC 7F01A2BC 00408825 */ move $s1, $v0
/* 04EDF0 7F01A2C0 27A40150 */ addiu $a0, $sp, 0x150
/* 04EDF4 7F01A2C4 27A50154 */ addiu $a1, $sp, 0x154
/* 04EDF8 7F01A2C8 00403025 */ move $a2, $v0
/* 04EDFC 7F01A2CC 8E870000 */ lw $a3, ($s4)
/* 04EE00 7F01A2D0 AFA00014 */ sw $zero, 0x14($sp)
/* 04EE04 7F01A2D4 0FC2BA63 */ jal sub_GAME_7F0AE98C
/* 04EE08 7F01A2D8 AFAB0010 */ sw $t3, 0x10($sp)
/* 04EE0C 7F01A2DC 8FA20154 */ lw $v0, 0x154($sp)
/* 04EE10 7F01A2E0 8FB80150 */ lw $t8, 0x150($sp)
/* 04EE14 7F01A2E4 240D013B */ li $t5, 315
/* 04EE18 7F01A2E8 04410003 */ bgez $v0, .L7F01A2F8
/* 04EE1C 7F01A2EC 00027043 */ sra $t6, $v0, 1
/* 04EE20 7F01A2F0 24410001 */ addiu $at, $v0, 1
/* 04EE24 7F01A2F4 00017043 */ sra $t6, $at, 1
.L7F01A2F8:
/* 04EE28 7F01A2F8 01AE2823 */ subu $a1, $t5, $t6
/* 04EE2C 7F01A2FC 240F00AE */ li $t7, 174
/* 04EE30 7F01A300 00A23821 */ addu $a3, $a1, $v0
/* 04EE34 7F01A304 270C00AF */ addiu $t4, $t8, 0xaf
/* 04EE38 7F01A308 AFAF0158 */ sw $t7, 0x158($sp)
/* 04EE3C 7F01A30C AFAC0010 */ sw $t4, 0x10($sp)
/* 04EE40 7F01A310 24E70001 */ addiu $a3, $a3, 1
/* 04EE44 7F01A314 AFA5015C */ sw $a1, 0x15c($sp)
/* 04EE48 7F01A318 02602025 */ move $a0, $s3
/* 04EE4C 7F01A31C 240600AE */ li $a2, 174
/* 04EE50 7F01A320 0FC2B405 */ jal microcode_constructor_related_to_menus
/* 04EE54 7F01A324 AFA00014 */ sw $zero, 0x14($sp)
/* 04EE58 7F01A328 0C001107 */ jal viGetX
/* 04EE5C 7F01A32C 00409825 */ move $s3, $v0
/* 04EE60 7F01A330 00028400 */ sll $s0, $v0, 0x10
/* 04EE64 7F01A334 0010CC03 */ sra $t9, $s0, 0x10
/* 04EE68 7F01A338 0C00110B */ jal viGetY
/* 04EE6C 7F01A33C 03208025 */ move $s0, $t9
/* 04EE70 7F01A340 3C0D8004 */ lui $t5, %hi(ptrFirstFontTableLarge)
/* 04EE74 7F01A344 8DAD0EB4 */ lw $t5, %lo(ptrFirstFontTableLarge)($t5)
/* 04EE78 7F01A348 8E8B0000 */ lw $t3, ($s4)
/* 04EE7C 7F01A34C 02602025 */ move $a0, $s3
/* 04EE80 7F01A350 27A5015C */ addiu $a1, $sp, 0x15c
/* 04EE84 7F01A354 27A60158 */ addiu $a2, $sp, 0x158
/* 04EE88 7F01A358 02203825 */ move $a3, $s1
/* 04EE8C 7F01A35C AFB20018 */ sw $s2, 0x18($sp)
/* 04EE90 7F01A360 AFB0001C */ sw $s0, 0x1c($sp)
/* 04EE94 7F01A364 AFA20020 */ sw $v0, 0x20($sp)
/* 04EE98 7F01A368 AFA00024 */ sw $zero, 0x24($sp)
/* 04EE9C 7F01A36C AFA00028 */ sw $zero, 0x28($sp)
/* 04EEA0 7F01A370 AFAD0014 */ sw $t5, 0x14($sp)
/* 04EEA4 7F01A374 0FC2B6AF */ jal en_text_write_stuff
/* 04EEA8 7F01A378 AFAB0010 */ sw $t3, 0x10($sp)
/* 04EEAC 7F01A37C 8FBF004C */ lw $ra, 0x4c($sp)
/* 04EEB0 7F01A380 8FB00038 */ lw $s0, 0x38($sp)
/* 04EEB4 7F01A384 8FB1003C */ lw $s1, 0x3c($sp)
/* 04EEB8 7F01A388 8FB20040 */ lw $s2, 0x40($sp)
/* 04EEBC 7F01A38C 8FB30044 */ lw $s3, 0x44($sp)
/* 04EEC0 7F01A390 8FB40048 */ lw $s4, 0x48($sp)
/* 04EEC4 7F01A394 03E00008 */ jr $ra
/* 04EEC8 7F01A398 27BD0250 */ addiu $sp, $sp, 0x250
)
#endif
void init_menu19_spectrum(void)
{
SPECTRUMROMS rom = ROM_SABRE;
if (!joyGetButtons(2, L_CBUTTONS))
{
if (joyGetButtons(2, R_CBUTTONS))
{
rom = ROM_ATIC;
}
else if (joyGetButtons(2, U_CBUTTONS))
{
rom = ROM_JETPAC;
}
else if (joyGetButtons(2, D_CBUTTONS))
{
rom = ROM_JETMAN;
}
else if (joyGetButtons(2, L_JPAD))
{
rom = ROM_ALIEN8;
}
else if (joyGetButtons(2, R_JPAD))
{
rom = ROM_GUNFRIGHT;
}
else if (joyGetButtons(2, U_JPAD))
{
rom = ROM_UNDER;
}
else
{
rom = ROM_SABRE;
if (joyGetButtons(2, D_JPAD))
{
rom = ROM_KNIGHTLORE;
}
}
}
init_spectrum_game(rom);
}
void update_menu19_spectrum(void) {
return;
}
void interface_menu19_spectrum(void)
{
viSetFovY(60.0f);
viSetAspect(1.3333334f);
viSetZRange(100.0f, 10000.0f);
viSetUseZBuf(0);
run_spectrum_game();
}
#ifdef NONMATCHING
void constructor_menu19_spectrum(void) {
s32 temp_ret;
// Node 0
temp_ret = insert_imageDL();
*temp_ret = 0xba001402;
temp_ret->unk14 = 0x204;
temp_ret->unk10 = 0xb6000000;
temp_ret->unk1C = 0xfffcf87c;
temp_ret->unk8 = 0xb900031d;
temp_ret->unkC = 0x552048;
temp_ret->unk18 = 0xfcffffff;
temp_ret->unk20 = 0xba000c02;
temp_ret->unk4 = 0;
temp_ret->unk24 = 0;
temp_ret->unk28 = 0xfd500000;
temp_ret->unk2C = &color_palette_entries_50_percent;
temp_ret->unk34 = 0x7000000;
temp_ret->unk30 = 0xf5000300;
temp_ret->unk38 = 0xe6000000;
temp_ret->unk3C = 0;
temp_ret->unk40 = 0xf0000ff0;
temp_ret->unk44 = 0x701cff0;
temp_ret->unk48 = 0xe7000000;
temp_ret->unk4C = 0;
temp_ret->unk54 = 0x8000;
temp_ret->unk50 = 0xba000e02;
spectrum_draw_screen((temp_ret + 0x58));
return;
// (possible return value: spectrum_draw_screen((temp_ret + 0x58)))
}
#else
GLOBAL_ASM(
.text
glabel constructor_menu19_spectrum
/* 04F010 7F01A4E0 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 04F014 7F01A4E4 AFBF0014 */ sw $ra, 0x14($sp)
/* 04F018 7F01A4E8 0FC07034 */ jal insert_imageDL
/* 04F01C 7F01A4EC 00000000 */ nop
/* 04F020 7F01A4F0 3C0EBA00 */ lui $t6, (0xBA001402 >> 16) # lui $t6, 0xba00
/* 04F024 7F01A4F4 3C0AFFFC */ lui $t2, (0xFFFCF87C >> 16) # lui $t2, 0xfffc
/* 04F028 7F01A4F8 35CE1402 */ ori $t6, (0xBA001402 & 0xFFFF) # ori $t6, $t6, 0x1402
/* 04F02C 7F01A4FC 3C0FB900 */ lui $t7, (0xB900031D >> 16) # lui $t7, 0xb900
/* 04F030 7F01A500 3C180055 */ lui $t8, (0x00552048 >> 16) # lui $t8, 0x55
/* 04F034 7F01A504 3C19B600 */ lui $t9, 0xb600
/* 04F038 7F01A508 24080204 */ li $t0, 516
/* 04F03C 7F01A50C 354AF87C */ ori $t2, (0xFFFCF87C & 0xFFFF) # ori $t2, $t2, 0xf87c
/* 04F040 7F01A510 3C09FCFF */ lui $t1, (0xFCFFFFFF >> 16) # lui $t1, 0xfcff
/* 04F044 7F01A514 3C0BBA00 */ lui $t3, (0xBA000C02 >> 16) # lui $t3, 0xba00
/* 04F048 7F01A518 AC4E0000 */ sw $t6, ($v0)
/* 04F04C 7F01A51C 37182048 */ ori $t8, (0x00552048 & 0xFFFF) # ori $t8, $t8, 0x2048
/* 04F050 7F01A520 35EF031D */ ori $t7, (0xB900031D & 0xFFFF) # ori $t7, $t7, 0x31d
/* 04F054 7F01A524 AC480014 */ sw $t0, 0x14($v0)
/* 04F058 7F01A528 AC590010 */ sw $t9, 0x10($v0)
/* 04F05C 7F01A52C 3529FFFF */ ori $t1, (0xFCFFFFFF & 0xFFFF) # ori $t1, $t1, 0xffff
/* 04F060 7F01A530 AC4A001C */ sw $t2, 0x1c($v0)
/* 04F064 7F01A534 356B0C02 */ ori $t3, (0xBA000C02 & 0xFFFF) # ori $t3, $t3, 0xc02
/* 04F068 7F01A538 AC4F0008 */ sw $t7, 8($v0)
/* 04F06C 7F01A53C AC58000C */ sw $t8, 0xc($v0)
/* 04F070 7F01A540 AC490018 */ sw $t1, 0x18($v0)
/* 04F074 7F01A544 AC4B0020 */ sw $t3, 0x20($v0)
/* 04F078 7F01A548 3C0D8003 */ lui $t5, %hi(color_palette_entries_50_percent)
/* 04F07C 7F01A54C 3C0EF500 */ lui $t6, (0xF5000300 >> 16) # lui $t6, 0xf500
/* 04F080 7F01A550 3C19F000 */ lui $t9, (0xF0000FF0 >> 16) # lui $t9, 0xf000
/* 04F084 7F01A554 3C080701 */ lui $t0, (0x0701CFF0 >> 16) # lui $t0, 0x701
/* 04F088 7F01A558 3C0ABA00 */ lui $t2, (0xBA000E02 >> 16) # lui $t2, 0xba00
/* 04F08C 7F01A55C 25ADBAF0 */ addiu $t5, %lo(color_palette_entries_50_percent) # addiu $t5, $t5, -0x4510
/* 04F090 7F01A560 3C0CFD50 */ lui $t4, 0xfd50
/* 04F094 7F01A564 35CE0300 */ ori $t6, (0xF5000300 & 0xFFFF) # ori $t6, $t6, 0x300
/* 04F098 7F01A568 3C0F0700 */ lui $t7, 0x700
/* 04F09C 7F01A56C 3C18E600 */ lui $t8, 0xe600
/* 04F0A0 7F01A570 3508CFF0 */ ori $t0, (0x0701CFF0 & 0xFFFF) # ori $t0, $t0, 0xcff0
/* 04F0A4 7F01A574 37390FF0 */ ori $t9, (0xF0000FF0 & 0xFFFF) # ori $t9, $t9, 0xff0
/* 04F0A8 7F01A578 3C09E700 */ lui $t1, 0xe700
/* 04F0AC 7F01A57C 354A0E02 */ ori $t2, (0xBA000E02 & 0xFFFF) # ori $t2, $t2, 0xe02
/* 04F0B0 7F01A580 340B8000 */ li $t3, 32768
/* 04F0B4 7F01A584 AC400004 */ sw $zero, 4($v0)
/* 04F0B8 7F01A588 AC400024 */ sw $zero, 0x24($v0)
/* 04F0BC 7F01A58C AC4C0028 */ sw $t4, 0x28($v0)
/* 04F0C0 7F01A590 AC4D002C */ sw $t5, 0x2c($v0)
/* 04F0C4 7F01A594 AC4F0034 */ sw $t7, 0x34($v0)
/* 04F0C8 7F01A598 AC4E0030 */ sw $t6, 0x30($v0)
/* 04F0CC 7F01A59C AC580038 */ sw $t8, 0x38($v0)
/* 04F0D0 7F01A5A0 AC40003C */ sw $zero, 0x3c($v0)
/* 04F0D4 7F01A5A4 AC590040 */ sw $t9, 0x40($v0)
/* 04F0D8 7F01A5A8 AC480044 */ sw $t0, 0x44($v0)
/* 04F0DC 7F01A5AC AC490048 */ sw $t1, 0x48($v0)
/* 04F0E0 7F01A5B0 AC40004C */ sw $zero, 0x4c($v0)
/* 04F0E4 7F01A5B4 AC4B0054 */ sw $t3, 0x54($v0)
/* 04F0E8 7F01A5B8 AC4A0050 */ sw $t2, 0x50($v0)
/* 04F0EC 7F01A5BC 0FC34CED */ jal spectrum_draw_screen
/* 04F0F0 7F01A5C0 24440058 */ addiu $a0, $v0, 0x58
/* 04F0F4 7F01A5C4 8FBF0014 */ lw $ra, 0x14($sp)
/* 04F0F8 7F01A5C8 27BD0018 */ addiu $sp, $sp, 0x18
/* 04F0FC 7F01A5CC 03E00008 */ jr $ra
/* 04F100 7F01A5D0 00000000 */ nop
)
#endif
void set_menu_to_mode(MENU menu, s32 mode)
{
if ((menu == MENU_RUN_STAGE) || (menu == MENU_SPECTRUM_EMU))
{
is_emulating_spectrum = 1;
}
if (mode != 0)
{
menu_update = menu;
return;
}
maybe_prev_menu = menu;
}
MENU get_currentmenu(void)
{
return current_menu;
}
#ifdef NONMATCHING
void menu_init()
{
MENU MVar1;
if (current_menu == MENU_SWITCH_SCREENS)
{
if (spectrum_related_flag == FALSE)
{
if ((is_emulating_spectrum != FALSE) && (viGetFrameBuf2() == cfb_16[0]))
{
screen_size = SCREEN_SIZE_320x240;
is_emulating_spectrum = FALSE;
}
}
else {
if (viGetFrameBuf2() == cfb_16[1])
{
screen_size = SCREEN_SIZE_440x330;
spectrum_related_flag = FALSE;
}
}
}
if (screen_size == SCREEN_SIZE_320x240)
{
viSetAspect((f32)flt_80051B48);
viSetXY(320,240);
viSetBuf(320,240);
set_cur_player_screen_size(320,240);
viSetViewSize(320,240);
set_cur_player_viewport_size(0,0);
viSetViewPosition(0,0);
}
else
{
if (viGetFrameBuf2() == cfb_16[1])
{
set_video_settings2_frameb(ptr_menu_videobuffer);
}
viSetAspect((f32)flt_80051B44);
viSetXY(440,330);
viSetBuf(440,330);
set_cur_player_screen_size(440,330);
viSetViewSize(440,330);
set_cur_player_viewport_size(0,0);
viSetViewPosition(0,0);
}
if (((-1 < menu_update) || (-1 < maybe_prev_menu)) && (current_menu != MENU_SWITCH_SCREENS))
{
if (true)
{
switch(current_menu) {
case MENU_LEGAL_SCREEN:
update_menu00_legalscreen();
break;
case MENU_NINTENDO_LOGO:
update_menu01_nintendo();
break;
case MENU_RAREWARE_LOGO:
update_menu02_rareware();
break;
case MENU_EYE_INTRO:
update_menu_03_eyeintro();
break;
case MENU_GOLDENEYE_LOGO:
update_menu04_goldeneyelogo();
break;
case MENU_FILE_SELECT:
update_menu05_filesel();
break;
case MENU_MODE_SELECT:
update_menu06_modesel();
break;
case MENU_MISSION_SELECT:
update_menu07_missionsel();
break;
case MENU_DIFFICULTY:
update_menu08_difficulty();
break;
case MENU_007_OPTIONS:
update_menu09_007options();
break;
case MENU_BRIEFING:
update_menu0A_briefing();
break;
case MENU_MISSION_FAILED:
update_menu0C_missionfailed();
break;
case MENU_MISSION_COMPLETE:
update_menu0D_missioncomplete();
break;
case MENU_MP_OPTIONS:
update_menu0E_mpoptions();
break;
case MENU_MP_CHAR_SELECT:
update_menu0F_mpcharsel();
break;
case MENU_MP_HANDICAP:
update_menu10_mphandicap();
break;
case MENU_MP_CONTROL_STYLE:
update_menu11_mpcontrols();
break;
case MENU_MP_STAGE_SELECT:
update_menu12_mpstage();
break;
case MENU_MP_SCENARIO_SELECT:
update_menu13_mpscenario();
break;
case MENU_MP_TEAMS:
update_menu14_mpteams();
break;
case MENU_CHEAT:
update_menu15_cheat();
break;
case MENU_NO_CONTROLLERS:
update_menu16_nocontrollers();
break;
case MENU_DISPLAY_CAST:
update_menu18_displaycast();
break;
case MENU_SPECTRUM_EMU:
update_menu19_spectrum();
}
}
if (-1 < menu_update) {
current_menu = MENU_SWITCH_SCREENS;
reset_menutimer();
}
}
MVar1 = maybe_prev_menu;
if (true) {
current_menu = maybe_prev_menu;
maybe_prev_menu = ~MENU_LEGAL_SCREEN;
if (true) {
switch(MVar1) {
case MENU_LEGAL_SCREEN:
init_menu00_legalscreen();
break;
case MENU_NINTENDO_LOGO:
init_menu01_nintendo();
break;
case MENU_RAREWARE_LOGO:
init_menu02_rareware();
break;
case MENU_EYE_INTRO:
init_menu03_eyeintro();
break;
case MENU_GOLDENEYE_LOGO:
init_menu04_goldeneyelogo();
break;
case MENU_FILE_SELECT:
init_menu05_filesel();
break;
case MENU_MODE_SELECT:
init_menu06_modesel();
break;
case MENU_MISSION_SELECT:
init_menu07_missionsel();
break;
case MENU_DIFFICULTY:
init_menu08_difficulty();
break;
case MENU_007_OPTIONS:
init_menu09_007options();
break;
case MENU_BRIEFING:
init_menu0A_briefing();
break;
case MENU_RUN_STAGE:
init_menu0B_runstage();
break;
case MENU_MISSION_FAILED:
init_menu0C_missionfailed();
break;
case MENU_MISSION_COMPLETE:
init_menu0D_missioncomplete();
break;
case MENU_MP_OPTIONS:
init_menu0E_mpoptions();
break;
case MENU_MP_CHAR_SELECT:
init_menu0f_mpcharsel();
break;
case MENU_MP_HANDICAP:
init_menu10_mphandicap();
break;
case MENU_MP_CONTROL_STYLE:
init_menu11_mpcontrol();
break;
case MENU_MP_STAGE_SELECT:
init_menu12_mpstage();
break;
case MENU_MP_SCENARIO_SELECT:
init_menu13_mpscenariosel();
break;
case MENU_MP_TEAMS:
init_menu14_mpteamsel();
break;
case MENU_CHEAT:
init_menu15_cheat();
break;
case MENU_NO_CONTROLLERS:
init_menu16_nocontroller();
break;
case MENU_DISPLAY_CAST:
init_menu18_displaycast();
break;
case MENU_SPECTRUM_EMU:
init_menu19_spectrum();
}
}
}
switch(current_menu) {
case MENU_LEGAL_SCREEN:
interface_menu00_legalscreen();
break;
case MENU_NINTENDO_LOGO:
interface_menu01_nintendo();
break;
case MENU_RAREWARE_LOGO:
interface_menu02_rareware();
break;
case MENU_EYE_INTRO:
interface_menu03_eyeintro();
break;
case MENU_GOLDENEYE_LOGO:
interface_menu04_goldeneyelogo();
break;
case MENU_FILE_SELECT:
interface_menu05_filesel();
break;
case MENU_MODE_SELECT:
interface_menu06_modesel();
break;
case MENU_MISSION_SELECT:
interface_menu07_missionsel();
break;
case MENU_DIFFICULTY:
interface_menu08_difficulty();
break;
case MENU_007_OPTIONS:
interface_menu09_007options();
break;
case MENU_BRIEFING:
interface_menu0A_briefing();
break;
case MENU_RUN_STAGE:
if (interface_menu0B_runstage() == 0) {
if (gamemode == GAMEMODE_MULTI) {
set_menu_to_mode(MENU_MP_OPTIONS,1);
}
else {
if (selected_stage == LEVELID_CUBA) {
do_extended_cast_display(1);
set_menu_to_mode(MENU_DISPLAY_CAST,1);
}
else {
set_menu_to_mode(MENU_MISSION_FAILED,1);
}
}
}
else {
set_menu_to_mode(MENU_LEGAL_SCREEN,1);
}
break;
case MENU_MISSION_FAILED:
interface_menu0C_missionfailed();
break;
case MENU_MISSION_COMPLETE:
interface_menu0D_missioncomplete();
break;
case MENU_MP_OPTIONS:
interface_menu0E_mpoptions();
break;
case MENU_MP_CHAR_SELECT:
interface_menu0F_mpcharsel();
break;
case MENU_MP_HANDICAP:
interface_menu10_mphandicap();
break;
case MENU_MP_CONTROL_STYLE:
interface_menu11_mpcontrols();
break;
case MENU_MP_STAGE_SELECT:
interface_menu12_mpstage();
break;
case MENU_MP_SCENARIO_SELECT:
interface_menu13_mpscenario();
break;
case MENU_MP_TEAMS:
interface_menu14_mpteams();
break;
case MENU_CHEAT:
interface_menu15_cheat();
break;
case MENU_NO_CONTROLLERS:
interface_menu16_nocontrollers();
break;
case MENU_SWITCH_SCREENS:
interface_menu17_switchscreens();
break;
case MENU_DISPLAY_CAST:
interface_menu18_displaycast();
break;
case MENU_SPECTRUM_EMU:
interface_menu19_spectrum();
}
return;
}
#else
GLOBAL_ASM(
.late_rodata
glabel D_80051B44
.word 0x3FAAAAAB /*1.3333334;*/
glabel D_80051B48
.word 0x3FAAAAAB /*1.3333334;*/
glabel jpt_menu_update
.word menu_legal_screen_update
.word menu_nintendo_logo_update
.word menu_rareware_logo_update
.word menu_eye_intro_update
.word menu_goldeneye_logo_update
.word menu_file_select_update
.word menu_mode_select_update
.word menu_mission_select_update
.word menu_difficulty_update
.word menu_007_options_update
.word menu_briefing_update
.word menu_switch_screen_update
.word menu_mission_failed_update
.word menu_mission_complete_update
.word menu_mp_options_update
.word menu_mp_char_select_update
.word menu_mp_handicap_update
.word menu_mp_control_style_update
.word menu_mp_stage_select_update
.word menu_mp_scenario_select_update
.word menu_mp_teams_update
.word menu_cheat_update
.word menu_no_controllers_update
.word menu_switch_screen_update
.word menu_display_cast_update
.word menu_spectrum_emu_update
glabel jpt_menu_init
.word menu_legal_screen_init
.word menu_nintendo_logo_init
.word menu_rareware_logo_init
.word menu_eye_intro_init
.word menu_goldeneye_logo_init
.word menu_file_select_init
.word menu_mode_select_init
.word menu_mission_select_init
.word menu_difficulty_init
.word menu_007_options_init
.word menu_briefing_init
.word menu_runstage_init
.word menu_mission_failed_init
.word menu_mission_complete_init
.word menu_mp_options_init
.word menu_mp_char_select_init
.word menu_mp_handicap_init
.word menu_mp_control_style_init
.word menu_mp_stage_select_init
.word menu_mp_scenario_select_init
.word menu_mp_teams_init
.word menu_cheat_init
.word menu_no_controllers_init
.word menu_switch_screens_init
.word menu_display_cast_init
.word menu_spectrum_emu_init
glabel jpt_menu_interface
.word menu00_legal_interface
.word menu01_nintendo_interface
.word menu02_rareware_interface
.word menu03_eye_interface
.word menu04_goldeneye_interface
.word menu05_filesel_interface
.word menu06_modesel_interface
.word menu07_missionsel_interface
.word menu08_difficulty_interface
.word menu09_007options_interface
.word menu0A_briefing_interface
.word menu0B_runstage_interface
.word menu0C_missionfailed_interface
.word menu0D_missioncomplete_interface
.word menu0E_mpoptions_interface
.word menu0F_mpcharsel_interface
.word menu10_mphandicap_interface
.word menu11_mpcontrol_interface
.word menu12_mpstage_interface
.word menu13_mpscenario_interface
.word menu14_mpteams_interface
.word menu15_cheat_interface
.word menu16_nocontrollers_interface
.word menu17_switchscreen_interface
.word menu18_displaycast_interface
.word menu19_spectrum_interface
.text
glabel menu_init
/* 04F14C 7F01A61C 3C0E8003 */ lui $t6, %hi(current_menu)
/* 04F150 7F01A620 8DCEA8C0 */ lw $t6, %lo(current_menu)($t6)
/* 04F154 7F01A624 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 04F158 7F01A628 24010017 */ li $at, 23
/* 04F15C 7F01A62C 15C1001D */ bne $t6, $at, .L7F01A6A4
/* 04F160 7F01A630 AFBF0014 */ sw $ra, 0x14($sp)
/* 04F164 7F01A634 3C0F8003 */ lui $t7, %hi(spectrum_related_flag)
/* 04F168 7F01A638 8DEFA944 */ lw $t7, %lo(spectrum_related_flag)($t7)
/* 04F16C 7F01A63C 3C088003 */ lui $t0, %hi(is_emulating_spectrum)
/* 04F170 7F01A640 11E0000C */ beqz $t7, .L7F01A674
/* 04F174 7F01A644 00000000 */ nop
/* 04F178 7F01A648 0C000F07 */ jal viGetFrameBuf2
/* 04F17C 7F01A64C 00000000 */ nop
/* 04F180 7F01A650 3C18803E */ lui $t8, %hi(cfb_16+0x25800) # $t8, 0x803e
/* 04F184 7F01A654 2718A800 */ addiu $t8, %lo(cfb_16+0x25800) # addiu $t8, $t8, -0x5800
/* 04F188 7F01A658 14580012 */ bne $v0, $t8, .L7F01A6A4
/* 04F18C 7F01A65C 24190001 */ li $t9, 1
/* 04F190 7F01A660 3C018003 */ lui $at, %hi(screen_size)
/* 04F194 7F01A664 AC39A940 */ sw $t9, %lo(screen_size)($at)
/* 04F198 7F01A668 3C018003 */ lui $at, %hi(spectrum_related_flag)
/* 04F19C 7F01A66C 1000000D */ b .L7F01A6A4
/* 04F1A0 7F01A670 AC20A944 */ sw $zero, %lo(spectrum_related_flag)($at)
.L7F01A674:
/* 04F1A4 7F01A674 8D08A948 */ lw $t0, %lo(is_emulating_spectrum)($t0)
/* 04F1A8 7F01A678 1100000A */ beqz $t0, .L7F01A6A4
/* 04F1AC 7F01A67C 00000000 */ nop
/* 04F1B0 7F01A680 0C000F07 */ jal viGetFrameBuf2
/* 04F1B4 7F01A684 00000000 */ nop
/* 04F1B8 7F01A688 3C09803B */ lui $t1, %hi(cfb_16) # $t1, 0x803b
/* 04F1BC 7F01A68C 25295000 */ addiu $t1, %lo(cfb_16) # addiu $t1, $t1, 0x5000
/* 04F1C0 7F01A690 14490004 */ bne $v0, $t1, .L7F01A6A4
/* 04F1C4 7F01A694 3C018003 */ lui $at, %hi(screen_size)
/* 04F1C8 7F01A698 AC20A940 */ sw $zero, %lo(screen_size)($at)
/* 04F1CC 7F01A69C 3C018003 */ lui $at, %hi(is_emulating_spectrum)
/* 04F1D0 7F01A6A0 AC20A948 */ sw $zero, %lo(is_emulating_spectrum)($at)
.L7F01A6A4:
/* 04F1D4 7F01A6A4 3C0A8003 */ lui $t2, %hi(screen_size)
/* 04F1D8 7F01A6A8 8D4AA940 */ lw $t2, %lo(screen_size)($t2)
/* 04F1DC 7F01A6AC 3C018005 */ lui $at, %hi(D_80051B48)
/* 04F1E0 7F01A6B0 11400020 */ beqz $t2, .L7F01A734
/* 04F1E4 7F01A6B4 00000000 */ nop
/* 04F1E8 7F01A6B8 0C000F07 */ jal viGetFrameBuf2
/* 04F1EC 7F01A6BC 00000000 */ nop
/* 04F1F0 7F01A6C0 3C0B803E */ lui $t3, %hi(cfb_16+0x25800) # $t3, 0x803e
/* 04F1F4 7F01A6C4 256BA800 */ addiu $t3, %lo(cfb_16+0x25800) # addiu $t3, $t3, -0x5800
/* 04F1F8 7F01A6C8 144B0003 */ bne $v0, $t3, .L7F01A6D8
/* 04F1FC 7F01A6CC 3C048003 */ lui $a0, %hi(ptr_menu_videobuffer)
/* 04F200 7F01A6D0 0C000F0F */ jal viSetFrameBuf2
/* 04F204 7F01A6D4 8C84A954 */ lw $a0, %lo(ptr_menu_videobuffer)($a0)
.L7F01A6D8:
/* 04F208 7F01A6D8 3C018005 */ lui $at, %hi(D_80051B48)
/* 04F20C 7F01A6DC 0C001164 */ jal viSetAspect
/* 04F210 7F01A6E0 C42C1B44 */ lwc1 $f12, %lo(D_80051B44)($at)
/* 04F214 7F01A6E4 240401B8 */ li $a0, 440
/* 04F218 7F01A6E8 0C0010FE */ jal viSetXY
/* 04F21C 7F01A6EC 2405014A */ li $a1, 330
/* 04F220 7F01A6F0 240401B8 */ li $a0, 440
/* 04F224 7F01A6F4 0C0010ED */ jal viSetBuf
/* 04F228 7F01A6F8 2405014A */ li $a1, 330
/* 04F22C 7F01A6FC 240401B8 */ li $a0, 440
/* 04F230 7F01A700 0FC26C77 */ jal set_cur_player_screen_size
/* 04F234 7F01A704 2405014A */ li $a1, 330
/* 04F238 7F01A708 240401B8 */ li $a0, 440
/* 04F23C 7F01A70C 0C00110F */ jal viSetViewSize
/* 04F240 7F01A710 2405014A */ li $a1, 330
/* 04F244 7F01A714 00002025 */ move $a0, $zero
/* 04F248 7F01A718 0FC26C7E */ jal set_cur_player_viewport_size
/* 04F24C 7F01A71C 00002825 */ move $a1, $zero
/* 04F250 7F01A720 00002025 */ move $a0, $zero
/* 04F254 7F01A724 0C00112F */ jal viSetViewPosition
/* 04F258 7F01A728 00002825 */ move $a1, $zero
/* 04F25C 7F01A72C 10000015 */ b .L7F01A784
/* 04F260 7F01A730 00000000 */ nop
.L7F01A734:
/* 04F264 7F01A734 0C001164 */ jal viSetAspect
/* 04F268 7F01A738 C42C1B48 */ lwc1 $f12, %lo(D_80051B48)($at)
/* 04F26C 7F01A73C 24040140 */ li $a0, 320
/* 04F270 7F01A740 0C0010FE */ jal viSetXY
/* 04F274 7F01A744 240500F0 */ li $a1, 240
/* 04F278 7F01A748 24040140 */ li $a0, 320
/* 04F27C 7F01A74C 0C0010ED */ jal viSetBuf
/* 04F280 7F01A750 240500F0 */ li $a1, 240
/* 04F284 7F01A754 24040140 */ li $a0, 320
/* 04F288 7F01A758 0FC26C77 */ jal set_cur_player_screen_size
/* 04F28C 7F01A75C 240500F0 */ li $a1, 240
/* 04F290 7F01A760 24040140 */ li $a0, 320
/* 04F294 7F01A764 0C00110F */ jal viSetViewSize
/* 04F298 7F01A768 240500F0 */ li $a1, 240
/* 04F29C 7F01A76C 00002025 */ move $a0, $zero
/* 04F2A0 7F01A770 0FC26C7E */ jal set_cur_player_viewport_size
/* 04F2A4 7F01A774 00002825 */ move $a1, $zero
/* 04F2A8 7F01A778 00002025 */ move $a0, $zero
/* 04F2AC 7F01A77C 0C00112F */ jal viSetViewPosition
/* 04F2B0 7F01A780 00002825 */ move $a1, $zero
.L7F01A784:
/* 04F2B4 7F01A784 3C028003 */ lui $v0, %hi(menu_update)
/* 04F2B8 7F01A788 8C42A8C4 */ lw $v0, %lo(menu_update)($v0)
/* 04F2BC 7F01A78C 3C048003 */ lui $a0, %hi(current_menu)
/* 04F2C0 7F01A790 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740
/* 04F2C4 7F01A794 04410004 */ bgez $v0, .L7F01A7A8
/* 04F2C8 7F01A798 3C0C8003 */ lui $t4, %hi(maybe_prev_menu)
/* 04F2CC 7F01A79C 8D8CA8C8 */ lw $t4, %lo(maybe_prev_menu)($t4)
/* 04F2D0 7F01A7A0 058000B7 */ bltz $t4, .L7F01AA80
/* 04F2D4 7F01A7A4 00000000 */ nop
.L7F01A7A8:
/* 04F2D8 7F01A7A8 8C830000 */ lw $v1, ($a0)
/* 04F2DC 7F01A7AC 24010017 */ li $at, 23
/* 04F2E0 7F01A7B0 106100B3 */ beq $v1, $at, .L7F01AA80
/* 04F2E4 7F01A7B4 2C61001A */ sltiu $at, $v1, 0x1a
/* 04F2E8 7F01A7B8 102000AD */ beqz $at, .L7F01AA70
/* 04F2EC 7F01A7BC 00036880 */ sll $t5, $v1, 2
/* 04F2F0 7F01A7C0 3C018005 */ lui $at, %hi(jpt_menu_update)
/* 04F2F4 7F01A7C4 002D0821 */ addu $at, $at, $t5
/* 04F2F8 7F01A7C8 8C2D1B4C */ lw $t5, %lo(jpt_menu_update)($at)
/* 04F2FC 7F01A7CC 01A00008 */ jr $t5
/* 04F300 7F01A7D0 00000000 */ nop
menu_legal_screen_update:
/* 04F304 7F01A7D4 0FC029AC */ jal update_menu00_legalscreen
/* 04F308 7F01A7D8 00000000 */ nop
/* 04F30C 7F01A7DC 3C028003 */ lui $v0, %hi(menu_update)
/* 04F310 7F01A7E0 3C048003 */ lui $a0, %hi(current_menu)
/* 04F314 7F01A7E4 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740
/* 04F318 7F01A7E8 100000A1 */ b .L7F01AA70
/* 04F31C 7F01A7EC 8C42A8C4 */ lw $v0, %lo(menu_update)($v0)
menu_nintendo_logo_update:
/* 04F320 7F01A7F0 0FC02B29 */ jal update_menu01_nintendo
/* 04F324 7F01A7F4 00000000 */ nop
/* 04F328 7F01A7F8 3C028003 */ lui $v0, %hi(menu_update)
/* 04F32C 7F01A7FC 3C048003 */ lui $a0, %hi(current_menu)
/* 04F330 7F01A800 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740
/* 04F334 7F01A804 1000009A */ b .L7F01AA70
/* 04F338 7F01A808 8C42A8C4 */ lw $v0, %lo(menu_update)($v0)
menu_rareware_logo_update:
/* 04F33C 7F01A80C 0FC02C29 */ jal update_menu02_rareware
/* 04F340 7F01A810 00000000 */ nop
/* 04F344 7F01A814 3C028003 */ lui $v0, %hi(menu_update)
/* 04F348 7F01A818 3C048003 */ lui $a0, %hi(current_menu)
/* 04F34C 7F01A81C 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740
/* 04F350 7F01A820 10000093 */ b .L7F01AA70
/* 04F354 7F01A824 8C42A8C4 */ lw $v0, %lo(menu_update)($v0)
menu_eye_intro_update:
/* 04F358 7F01A828 0FC02C64 */ jal update_menu_03_eye
/* 04F35C 7F01A82C 00000000 */ nop
/* 04F360 7F01A830 3C028003 */ lui $v0, %hi(menu_update)
/* 04F364 7F01A834 3C048003 */ lui $a0, %hi(current_menu)
/* 04F368 7F01A838 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740
/* 04F36C 7F01A83C 1000008C */ b .L7F01AA70
/* 04F370 7F01A840 8C42A8C4 */ lw $v0, %lo(menu_update)($v0)
menu_goldeneye_logo_update:
/* 04F374 7F01A844 0FC02CC1 */ jal update_menu04_goldeneye
/* 04F378 7F01A848 00000000 */ nop
/* 04F37C 7F01A84C 3C028003 */ lui $v0, %hi(menu_update)
/* 04F380 7F01A850 3C048003 */ lui $a0, %hi(current_menu)
/* 04F384 7F01A854 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740
/* 04F388 7F01A858 10000085 */ b .L7F01AA70
/* 04F38C 7F01A85C 8C42A8C4 */ lw $v0, %lo(menu_update)($v0)
menu_file_select_update:
/* 04F390 7F01A860 0FC02EB8 */ jal update_menu05_filesel
/* 04F394 7F01A864 00000000 */ nop
/* 04F398 7F01A868 3C028003 */ lui $v0, %hi(menu_update)
/* 04F39C 7F01A86C 3C048003 */ lui $a0, %hi(current_menu)
/* 04F3A0 7F01A870 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740
/* 04F3A4 7F01A874 1000007E */ b .L7F01AA70
/* 04F3A8 7F01A878 8C42A8C4 */ lw $v0, %lo(menu_update)($v0)
menu_mode_select_update:
/* 04F3AC 7F01A87C 0FC034A4 */ jal update_menu06_modesel
/* 04F3B0 7F01A880 00000000 */ nop
/* 04F3B4 7F01A884 3C028003 */ lui $v0, %hi(menu_update)
/* 04F3B8 7F01A888 3C048003 */ lui $a0, %hi(current_menu)
/* 04F3BC 7F01A88C 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740
/* 04F3C0 7F01A890 10000077 */ b .L7F01AA70
/* 04F3C4 7F01A894 8C42A8C4 */ lw $v0, %lo(menu_update)($v0)
menu_mission_select_update:
/* 04F3C8 7F01A898 0FC037AC */ jal update_menu07_missionsel
/* 04F3CC 7F01A89C 00000000 */ nop
/* 04F3D0 7F01A8A0 3C028003 */ lui $v0, %hi(menu_update)
/* 04F3D4 7F01A8A4 3C048003 */ lui $a0, %hi(current_menu)
/* 04F3D8 7F01A8A8 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740
/* 04F3DC 7F01A8AC 10000070 */ b .L7F01AA70
/* 04F3E0 7F01A8B0 8C42A8C4 */ lw $v0, %lo(menu_update)($v0)
menu_difficulty_update:
/* 04F3E4 7F01A8B4 0FC039EE */ jal update_menu08_difficulty
/* 04F3E8 7F01A8B8 00000000 */ nop
/* 04F3EC 7F01A8BC 3C028003 */ lui $v0, %hi(menu_update)
/* 04F3F0 7F01A8C0 3C048003 */ lui $a0, %hi(current_menu)
/* 04F3F4 7F01A8C4 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740
/* 04F3F8 7F01A8C8 10000069 */ b .L7F01AA70
/* 04F3FC 7F01A8CC 8C42A8C4 */ lw $v0, %lo(menu_update)($v0)
menu_007_options_update:
/* 04F400 7F01A8D0 0FC03CDB */ jal update_menu09_007options
/* 04F404 7F01A8D4 00000000 */ nop
/* 04F408 7F01A8D8 3C028003 */ lui $v0, %hi(menu_update)
/* 04F40C 7F01A8DC 3C048003 */ lui $a0, %hi(current_menu)
/* 04F410 7F01A8E0 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740
/* 04F414 7F01A8E4 10000062 */ b .L7F01AA70
/* 04F418 7F01A8E8 8C42A8C4 */ lw $v0, %lo(menu_update)($v0)
menu_briefing_update:
/* 04F41C 7F01A8EC 0FC05590 */ jal update_menu0A_briefing
/* 04F420 7F01A8F0 00000000 */ nop
/* 04F424 7F01A8F4 3C028003 */ lui $v0, %hi(menu_update)
/* 04F428 7F01A8F8 3C048003 */ lui $a0, %hi(current_menu)
/* 04F42C 7F01A8FC 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740
/* 04F430 7F01A900 1000005B */ b .L7F01AA70
/* 04F434 7F01A904 8C42A8C4 */ lw $v0, %lo(menu_update)($v0)
menu_mission_failed_update:
/* 04F438 7F01A908 0FC05842 */ jal update_menu0C_missionfailed
/* 04F43C 7F01A90C 00000000 */ nop
/* 04F440 7F01A910 3C028003 */ lui $v0, %hi(menu_update)
/* 04F444 7F01A914 3C048003 */ lui $a0, %hi(current_menu)
/* 04F448 7F01A918 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740
/* 04F44C 7F01A91C 10000054 */ b .L7F01AA70
/* 04F450 7F01A920 8C42A8C4 */ lw $v0, %lo(menu_update)($v0)
menu_mission_complete_update:
/* 04F454 7F01A924 0FC059B4 */ jal update_menu0D_missioncomplete
/* 04F458 7F01A928 00000000 */ nop
/* 04F45C 7F01A92C 3C028003 */ lui $v0, %hi(menu_update)
/* 04F460 7F01A930 3C048003 */ lui $a0, %hi(current_menu)
/* 04F464 7F01A934 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740
/* 04F468 7F01A938 1000004D */ b .L7F01AA70
/* 04F46C 7F01A93C 8C42A8C4 */ lw $v0, %lo(menu_update)($v0)
menu_mp_options_update:
/* 04F470 7F01A940 0FC04210 */ jal update_menu0E_mpoptions
/* 04F474 7F01A944 00000000 */ nop
/* 04F478 7F01A948 3C028003 */ lui $v0, %hi(menu_update)
/* 04F47C 7F01A94C 3C048003 */ lui $a0, %hi(current_menu)
/* 04F480 7F01A950 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740
/* 04F484 7F01A954 10000046 */ b .L7F01AA70
/* 04F488 7F01A958 8C42A8C4 */ lw $v0, %lo(menu_update)($v0)
menu_mp_scenario_select_update:
/* 04F48C 7F01A95C 0FC051EC */ jal update_menu13_mpscenario
/* 04F490 7F01A960 00000000 */ nop
/* 04F494 7F01A964 3C028003 */ lui $v0, %hi(menu_update)
/* 04F498 7F01A968 3C048003 */ lui $a0, %hi(current_menu)
/* 04F49C 7F01A96C 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740
/* 04F4A0 7F01A970 1000003F */ b .L7F01AA70
/* 04F4A4 7F01A974 8C42A8C4 */ lw $v0, %lo(menu_update)($v0)
menu_mp_char_select_update:
/* 04F4A8 7F01A978 0FC047B3 */ jal update_menu0F_mpcharsel
/* 04F4AC 7F01A97C 00000000 */ nop
/* 04F4B0 7F01A980 3C028003 */ lui $v0, %hi(menu_update)
/* 04F4B4 7F01A984 3C048003 */ lui $a0, %hi(current_menu)
/* 04F4B8 7F01A988 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740
/* 04F4BC 7F01A98C 10000038 */ b .L7F01AA70
/* 04F4C0 7F01A990 8C42A8C4 */ lw $v0, %lo(menu_update)($v0)
menu_mp_teams_update:
/* 04F4C4 7F01A994 0FC05350 */ jal update_menu14_mpteams
/* 04F4C8 7F01A998 00000000 */ nop
/* 04F4CC 7F01A99C 3C028003 */ lui $v0, %hi(menu_update)
/* 04F4D0 7F01A9A0 3C048003 */ lui $a0, %hi(current_menu)
/* 04F4D4 7F01A9A4 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740
/* 04F4D8 7F01A9A8 10000031 */ b .L7F01AA70
/* 04F4DC 7F01A9AC 8C42A8C4 */ lw $v0, %lo(menu_update)($v0)
menu_mp_handicap_update:
/* 04F4E0 7F01A9B0 0FC04BAF */ jal update_menu10_mphandicap
/* 04F4E4 7F01A9B4 00000000 */ nop
/* 04F4E8 7F01A9B8 3C028003 */ lui $v0, %hi(menu_update)
/* 04F4EC 7F01A9BC 3C048003 */ lui $a0, %hi(current_menu)
/* 04F4F0 7F01A9C0 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740
/* 04F4F4 7F01A9C4 1000002A */ b .L7F01AA70
/* 04F4F8 7F01A9C8 8C42A8C4 */ lw $v0, %lo(menu_update)($v0)
menu_mp_control_style_update:
/* 04F4FC 7F01A9CC 0FC04D80 */ jal update_menu11_mpcontrols
/* 04F500 7F01A9D0 00000000 */ nop
/* 04F504 7F01A9D4 3C028003 */ lui $v0, %hi(menu_update)
/* 04F508 7F01A9D8 3C048003 */ lui $a0, %hi(current_menu)
/* 04F50C 7F01A9DC 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740
/* 04F510 7F01A9E0 10000023 */ b .L7F01AA70
/* 04F514 7F01A9E4 8C42A8C4 */ lw $v0, %lo(menu_update)($v0)
menu_mp_stage_select_update:
/* 04F518 7F01A9E8 0FC04F73 */ jal update_menu12_mpstage
/* 04F51C 7F01A9EC 00000000 */ nop
/* 04F520 7F01A9F0 3C028003 */ lui $v0, %hi(menu_update)
/* 04F524 7F01A9F4 3C048003 */ lui $a0, %hi(current_menu)
/* 04F528 7F01A9F8 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740
/* 04F52C 7F01A9FC 1000001C */ b .L7F01AA70
/* 04F530 7F01AA00 8C42A8C4 */ lw $v0, %lo(menu_update)($v0)
menu_cheat_update:
/* 04F534 7F01AA04 0FC05EFD */ jal update_menu15_cheat
/* 04F538 7F01AA08 00000000 */ nop
/* 04F53C 7F01AA0C 3C028003 */ lui $v0, %hi(menu_update)
/* 04F540 7F01AA10 3C048003 */ lui $a0, %hi(current_menu)
/* 04F544 7F01AA14 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740
/* 04F548 7F01AA18 10000015 */ b .L7F01AA70
/* 04F54C 7F01AA1C 8C42A8C4 */ lw $v0, %lo(menu_update)($v0)
menu_no_controllers_update:
/* 04F550 7F01AA20 0FC06110 */ jal update_menu16_nocontrollers
/* 04F554 7F01AA24 00000000 */ nop
/* 04F558 7F01AA28 3C028003 */ lui $v0, %hi(menu_update)
/* 04F55C 7F01AA2C 3C048003 */ lui $a0, %hi(current_menu)
/* 04F560 7F01AA30 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740
/* 04F564 7F01AA34 1000000E */ b .L7F01AA70
/* 04F568 7F01AA38 8C42A8C4 */ lw $v0, %lo(menu_update)($v0)
menu_display_cast_update:
/* 04F56C 7F01AA3C 0FC063C6 */ jal update_menu18_displaycast
/* 04F570 7F01AA40 00000000 */ nop
/* 04F574 7F01AA44 3C028003 */ lui $v0, %hi(menu_update)
/* 04F578 7F01AA48 3C048003 */ lui $a0, %hi(current_menu)
/* 04F57C 7F01AA4C 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740
/* 04F580 7F01AA50 10000007 */ b .L7F01AA70
/* 04F584 7F01AA54 8C42A8C4 */ lw $v0, %lo(menu_update)($v0)
menu_spectrum_emu_update:
/* 04F588 7F01AA58 0FC06920 */ jal update_menu19_spectrum
/* 04F58C 7F01AA5C 00000000 */ nop
/* 04F590 7F01AA60 3C028003 */ lui $v0, %hi(menu_update)
/* 04F594 7F01AA64 3C048003 */ lui $a0, %hi(current_menu)
/* 04F598 7F01AA68 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740
/* 04F59C 7F01AA6C 8C42A8C4 */ lw $v0, %lo(menu_update)($v0)
menu_switch_screen_update:
.L7F01AA70:
/* 04F5A0 7F01AA70 04400003 */ bltz $v0, .L7F01AA80
/* 04F5A4 7F01AA74 240E0017 */ li $t6, 23
/* 04F5A8 7F01AA78 0FC02ABB */ jal reset_menutimer
/* 04F5AC 7F01AA7C AC8E0000 */ sw $t6, ($a0)
.L7F01AA80:
/* 04F5B0 7F01AA80 3C028003 */ lui $v0, %hi(maybe_prev_menu)
/* 04F5B4 7F01AA84 8C42A8C8 */ lw $v0, %lo(maybe_prev_menu)($v0)
/* 04F5B8 7F01AA88 3C048003 */ lui $a0, %hi(current_menu)
/* 04F5BC 7F01AA8C 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740
/* 04F5C0 7F01AA90 04400089 */ bltz $v0, .L7F01ACB8
/* 04F5C4 7F01AA94 240FFFFF */ li $t7, -1
/* 04F5C8 7F01AA98 AC820000 */ sw $v0, ($a0)
/* 04F5CC 7F01AA9C 3C018003 */ lui $at, %hi(maybe_prev_menu)
/* 04F5D0 7F01AAA0 AC2FA8C8 */ sw $t7, %lo(maybe_prev_menu)($at)
/* 04F5D4 7F01AAA4 8C980000 */ lw $t8, ($a0)
/* 04F5D8 7F01AAA8 2F01001A */ sltiu $at, $t8, 0x1a
/* 04F5DC 7F01AAAC 10200082 */ beqz $at, .L7F01ACB8
/* 04F5E0 7F01AAB0 0018C080 */ sll $t8, $t8, 2
/* 04F5E4 7F01AAB4 3C018005 */ lui $at, %hi(jpt_menu_init)
/* 04F5E8 7F01AAB8 00380821 */ addu $at, $at, $t8
/* 04F5EC 7F01AABC 8C381BB4 */ lw $t8, %lo(jpt_menu_init)($at)
/* 04F5F0 7F01AAC0 03000008 */ jr $t8
/* 04F5F4 7F01AAC4 00000000 */ nop
menu_legal_screen_init:
/* 04F5F8 7F01AAC8 0FC0297A */ jal init_menu00_legalscreen
/* 04F5FC 7F01AACC 00000000 */ nop
/* 04F600 7F01AAD0 3C048003 */ lui $a0, %hi(current_menu)
/* 04F604 7F01AAD4 10000078 */ b .L7F01ACB8
/* 04F608 7F01AAD8 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740
menu_nintendo_logo_init:
/* 04F60C 7F01AADC 0FC02AF2 */ jal init_menu01_nintendo
/* 04F610 7F01AAE0 00000000 */ nop
/* 04F614 7F01AAE4 3C048003 */ lui $a0, %hi(current_menu)
/* 04F618 7F01AAE8 10000073 */ b .L7F01ACB8
/* 04F61C 7F01AAEC 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740
menu_rareware_logo_init:
/* 04F620 7F01AAF0 0FC02C19 */ jal init_menu02_rarelogo
/* 04F624 7F01AAF4 00000000 */ nop
/* 04F628 7F01AAF8 3C048003 */ lui $a0, %hi(current_menu)
/* 04F62C 7F01AAFC 1000006E */ b .L7F01ACB8
/* 04F630 7F01AB00 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740
menu_eye_intro_init:
/* 04F634 7F01AB04 0FC02C55 */ jal init_menu03_eyeintro
/* 04F638 7F01AB08 00000000 */ nop
/* 04F63C 7F01AB0C 3C048003 */ lui $a0, %hi(current_menu)
/* 04F640 7F01AB10 10000069 */ b .L7F01ACB8
/* 04F644 7F01AB14 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740
menu_goldeneye_logo_init:
/* 04F648 7F01AB18 0FC02C96 */ jal init_menu04_goldeneyelogo
/* 04F64C 7F01AB1C 00000000 */ nop
/* 04F650 7F01AB20 3C048003 */ lui $a0, %hi(current_menu)
/* 04F654 7F01AB24 10000064 */ b .L7F01ACB8
/* 04F658 7F01AB28 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740
menu_file_select_init:
/* 04F65C 7F01AB2C 0FC02E7A */ jal init_menu05_fileselect
/* 04F660 7F01AB30 00000000 */ nop
/* 04F664 7F01AB34 3C048003 */ lui $a0, %hi(current_menu)
/* 04F668 7F01AB38 1000005F */ b .L7F01ACB8
/* 04F66C 7F01AB3C 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740
menu_mode_select_init:
/* 04F670 7F01AB40 0FC03494 */ jal init_menu06_modeselect
/* 04F674 7F01AB44 00000000 */ nop
/* 04F678 7F01AB48 3C048003 */ lui $a0, %hi(current_menu)
/* 04F67C 7F01AB4C 1000005A */ b .L7F01ACB8
/* 04F680 7F01AB50 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740
menu_mission_select_init:
/* 04F684 7F01AB54 0FC03794 */ jal init_menu07_missionselect
/* 04F688 7F01AB58 00000000 */ nop
/* 04F68C 7F01AB5C 3C048003 */ lui $a0, %hi(current_menu)
/* 04F690 7F01AB60 10000055 */ b .L7F01ACB8
/* 04F694 7F01AB64 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740
menu_difficulty_init:
/* 04F698 7F01AB68 0FC039E0 */ jal init_menu08_difficultyselect
/* 04F69C 7F01AB6C 00000000 */ nop
/* 04F6A0 7F01AB70 3C048003 */ lui $a0, %hi(current_menu)
/* 04F6A4 7F01AB74 10000050 */ b .L7F01ACB8
/* 04F6A8 7F01AB78 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740
menu_007_options_init:
/* 04F6AC 7F01AB7C 0FC03CC0 */ jal init_menu09_007difficultyselect
/* 04F6B0 7F01AB80 00000000 */ nop
/* 04F6B4 7F01AB84 3C048003 */ lui $a0, %hi(current_menu)
/* 04F6B8 7F01AB88 1000004B */ b .L7F01ACB8
/* 04F6BC 7F01AB8C 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740
menu_briefing_init:
/* 04F6C0 7F01AB90 0FC0557D */ jal init_menu0A_briefing
/* 04F6C4 7F01AB94 00000000 */ nop
/* 04F6C8 7F01AB98 3C048003 */ lui $a0, %hi(current_menu)
/* 04F6CC 7F01AB9C 10000046 */ b .L7F01ACB8
/* 04F6D0 7F01ABA0 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740
menu_runstage_init:
/* 04F6D4 7F01ABA4 0FC05819 */ jal init_menu0B_runstage
/* 04F6D8 7F01ABA8 00000000 */ nop
/* 04F6DC 7F01ABAC 3C048003 */ lui $a0, %hi(current_menu)
/* 04F6E0 7F01ABB0 10000041 */ b .L7F01ACB8
/* 04F6E4 7F01ABB4 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740
menu_mission_failed_init:
/* 04F6E8 7F01ABB8 0FC05825 */ jal init_menu0C_missionfailed
/* 04F6EC 7F01ABBC 00000000 */ nop
/* 04F6F0 7F01ABC0 3C048003 */ lui $a0, %hi(current_menu)
/* 04F6F4 7F01ABC4 1000003C */ b .L7F01ACB8
/* 04F6F8 7F01ABC8 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740
menu_mission_complete_init:
/* 04F6FC 7F01ABCC 0FC0599F */ jal init_menu0D_missioncomplete
/* 04F700 7F01ABD0 00000000 */ nop
/* 04F704 7F01ABD4 3C048003 */ lui $a0, %hi(current_menu)
/* 04F708 7F01ABD8 10000037 */ b .L7F01ACB8
/* 04F70C 7F01ABDC 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740
menu_mp_options_init:
/* 04F710 7F01ABE0 0FC041CF */ jal init_menu0E_mpoptions
/* 04F714 7F01ABE4 00000000 */ nop
/* 04F718 7F01ABE8 3C048003 */ lui $a0, %hi(current_menu)
/* 04F71C 7F01ABEC 10000032 */ b .L7F01ACB8
/* 04F720 7F01ABF0 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740
menu_mp_scenario_select_init:
/* 04F724 7F01ABF4 0FC051D9 */ jal init_menu13_mpscenariosel
/* 04F728 7F01ABF8 00000000 */ nop
/* 04F72C 7F01ABFC 3C048003 */ lui $a0, %hi(current_menu)
/* 04F730 7F01AC00 1000002D */ b .L7F01ACB8
/* 04F734 7F01AC04 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740
menu_mp_char_select_init:
/* 04F738 7F01AC08 0FC0470F */ jal init_menu0f_mpcharsel
/* 04F73C 7F01AC0C 00000000 */ nop
/* 04F740 7F01AC10 3C048003 */ lui $a0, %hi(current_menu)
/* 04F744 7F01AC14 10000028 */ b .L7F01ACB8
/* 04F748 7F01AC18 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740
menu_mp_teams_init:
/* 04F74C 7F01AC1C 0FC05330 */ jal init_menu14_mpteamsel
/* 04F750 7F01AC20 00000000 */ nop
/* 04F754 7F01AC24 3C048003 */ lui $a0, %hi(current_menu)
/* 04F758 7F01AC28 10000023 */ b .L7F01ACB8
/* 04F75C 7F01AC2C 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740
menu_mp_handicap_init:
/* 04F760 7F01AC30 0FC04B8C */ jal init_menu10_mphandicap
/* 04F764 7F01AC34 00000000 */ nop
/* 04F768 7F01AC38 3C048003 */ lui $a0, %hi(current_menu)
/* 04F76C 7F01AC3C 1000001E */ b .L7F01ACB8
/* 04F770 7F01AC40 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740
menu_mp_control_style_init:
/* 04F774 7F01AC44 0FC04D5D */ jal init_menu11_mpcontrol
/* 04F778 7F01AC48 00000000 */ nop
/* 04F77C 7F01AC4C 3C048003 */ lui $a0, %hi(current_menu)
/* 04F780 7F01AC50 10000019 */ b .L7F01ACB8
/* 04F784 7F01AC54 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740
menu_mp_stage_select_init:
/* 04F788 7F01AC58 0FC04F5E */ jal init_menu12_mpstage
/* 04F78C 7F01AC5C 00000000 */ nop
/* 04F790 7F01AC60 3C048003 */ lui $a0, %hi(current_menu)
/* 04F794 7F01AC64 10000014 */ b .L7F01ACB8
/* 04F798 7F01AC68 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740
menu_cheat_init:
/* 04F79C 7F01AC6C 0FC05ED4 */ jal init_menu15_cheat
/* 04F7A0 7F01AC70 00000000 */ nop
/* 04F7A4 7F01AC74 3C048003 */ lui $a0, %hi(current_menu)
/* 04F7A8 7F01AC78 1000000F */ b .L7F01ACB8
/* 04F7AC 7F01AC7C 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740
menu_no_controllers_init:
/* 04F7B0 7F01AC80 0FC0610E */ jal init_menu16_nocontroller
/* 04F7B4 7F01AC84 00000000 */ nop
/* 04F7B8 7F01AC88 3C048003 */ lui $a0, %hi(current_menu)
/* 04F7BC 7F01AC8C 1000000A */ b .L7F01ACB8
/* 04F7C0 7F01AC90 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740
menu_display_cast_init:
/* 04F7C4 7F01AC94 0FC061A7 */ jal init_menu18_displaycast
/* 04F7C8 7F01AC98 00000000 */ nop
/* 04F7CC 7F01AC9C 3C048003 */ lui $a0, %hi(current_menu)
/* 04F7D0 7F01ACA0 10000005 */ b .L7F01ACB8
/* 04F7D4 7F01ACA4 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740
menu_spectrum_emu_init:
/* 04F7D8 7F01ACA8 0FC068E7 */ jal init_menu19_spectrum
/* 04F7DC 7F01ACAC 00000000 */ nop
/* 04F7E0 7F01ACB0 3C048003 */ lui $a0, %hi(current_menu)
/* 04F7E4 7F01ACB4 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740
menu_switch_screens_init:
.L7F01ACB8:
/* 04F7E8 7F01ACB8 8C990000 */ lw $t9, ($a0)
/* 04F7EC 7F01ACBC 2F21001A */ sltiu $at, $t9, 0x1a
/* 04F7F0 7F01ACC0 1020008A */ beqz $at, .L7F01AEEC
/* 04F7F4 7F01ACC4 0019C880 */ sll $t9, $t9, 2
/* 04F7F8 7F01ACC8 3C018005 */ lui $at, %hi(jpt_menu_interface)
/* 04F7FC 7F01ACCC 00390821 */ addu $at, $at, $t9
/* 04F800 7F01ACD0 8C391C1C */ lw $t9, %lo(jpt_menu_interface)($at)
/* 04F804 7F01ACD4 03200008 */ jr $t9
/* 04F808 7F01ACD8 00000000 */ nop
menu00_legal_interface:
/* 04F80C 7F01ACDC 0FC029B7 */ jal interface_menu00_legalscreen
/* 04F810 7F01ACE0 00000000 */ nop
/* 04F814 7F01ACE4 10000082 */ b .L7F01AEF0
/* 04F818 7F01ACE8 8FBF0014 */ lw $ra, 0x14($sp)
menu17_switchscreen_interface:
/* 04F81C 7F01ACEC 0FC02AC0 */ jal interface_menu17_switchscreens
/* 04F820 7F01ACF0 00000000 */ nop
/* 04F824 7F01ACF4 1000007E */ b .L7F01AEF0
/* 04F828 7F01ACF8 8FBF0014 */ lw $ra, 0x14($sp)
menu01_nintendo_interface:
/* 04F82C 7F01ACFC 0FC02B32 */ jal interface_menu01_nintendo
/* 04F830 7F01AD00 00000000 */ nop
/* 04F834 7F01AD04 1000007A */ b .L7F01AEF0
/* 04F838 7F01AD08 8FBF0014 */ lw $ra, 0x14($sp)
menu02_rareware_interface:
/* 04F83C 7F01AD0C 0FC02C2B */ jal interface_menu02_rareware
/* 04F840 7F01AD10 00000000 */ nop
/* 04F844 7F01AD14 10000076 */ b .L7F01AEF0
/* 04F848 7F01AD18 8FBF0014 */ lw $ra, 0x14($sp)
menu03_eye_interface:
/* 04F84C 7F01AD1C 0FC02C6C */ jal interface_menu03_eye
/* 04F850 7F01AD20 00000000 */ nop
/* 04F854 7F01AD24 10000072 */ b .L7F01AEF0
/* 04F858 7F01AD28 8FBF0014 */ lw $ra, 0x14($sp)
menu04_goldeneye_interface:
/* 04F85C 7F01AD2C 0FC02CCC */ jal interface_menu04_goldeneyelogo
/* 04F860 7F01AD30 00000000 */ nop
/* 04F864 7F01AD34 1000006E */ b .L7F01AEF0
/* 04F868 7F01AD38 8FBF0014 */ lw $ra, 0x14($sp)
menu05_filesel_interface:
/* 04F86C 7F01AD3C 0FC02EF3 */ jal interface_menu05_fileselect
/* 04F870 7F01AD40 00000000 */ nop
/* 04F874 7F01AD44 1000006A */ b .L7F01AEF0
/* 04F878 7F01AD48 8FBF0014 */ lw $ra, 0x14($sp)
menu06_modesel_interface:
/* 04F87C 7F01AD4C 0FC034A6 */ jal interface_menu06_modesel
/* 04F880 7F01AD50 00000000 */ nop
/* 04F884 7F01AD54 10000066 */ b .L7F01AEF0
/* 04F888 7F01AD58 8FBF0014 */ lw $ra, 0x14($sp)
menu07_missionsel_interface:
/* 04F88C 7F01AD5C 0FC037AE */ jal interface_menu07_missionsel
/* 04F890 7F01AD60 00000000 */ nop
/* 04F894 7F01AD64 10000062 */ b .L7F01AEF0
/* 04F898 7F01AD68 8FBF0014 */ lw $ra, 0x14($sp)
menu08_difficulty_interface:
/* 04F89C 7F01AD6C 0FC039F0 */ jal interface_menu08_difficulty
/* 04F8A0 7F01AD70 00000000 */ nop
/* 04F8A4 7F01AD74 1000005E */ b .L7F01AEF0
/* 04F8A8 7F01AD78 8FBF0014 */ lw $ra, 0x14($sp)
menu09_007options_interface:
/* 04F8AC 7F01AD7C 0FC03CDD */ jal interface_menu09_007options
/* 04F8B0 7F01AD80 00000000 */ nop
/* 04F8B4 7F01AD84 1000005A */ b .L7F01AEF0
/* 04F8B8 7F01AD88 8FBF0014 */ lw $ra, 0x14($sp)
menu0A_briefing_interface:
/* 04F8BC 7F01AD8C 0FC055A7 */ jal interface_menu0A_briefing
/* 04F8C0 7F01AD90 00000000 */ nop
/* 04F8C4 7F01AD94 10000056 */ b .L7F01AEF0
/* 04F8C8 7F01AD98 8FBF0014 */ lw $ra, 0x14($sp)
menu0C_missionfailed_interface:
/* 04F8CC 7F01AD9C 0FC05844 */ jal interface_menu0C_missionfailed
/* 04F8D0 7F01ADA0 00000000 */ nop
/* 04F8D4 7F01ADA4 10000052 */ b .L7F01AEF0
/* 04F8D8 7F01ADA8 8FBF0014 */ lw $ra, 0x14($sp)
menu0D_missioncomplete_interface:
/* 04F8DC 7F01ADAC 0FC059B6 */ jal interface_menu0D_missioncomplete
/* 04F8E0 7F01ADB0 00000000 */ nop
/* 04F8E4 7F01ADB4 1000004E */ b .L7F01AEF0
/* 04F8E8 7F01ADB8 8FBF0014 */ lw $ra, 0x14($sp)
menu0E_mpoptions_interface:
/* 04F8EC 7F01ADBC 0FC04212 */ jal interface_menu0E_mpoptions
/* 04F8F0 7F01ADC0 00000000 */ nop
/* 04F8F4 7F01ADC4 1000004A */ b .L7F01AEF0
/* 04F8F8 7F01ADC8 8FBF0014 */ lw $ra, 0x14($sp)
menu13_mpscenario_interface:
/* 04F8FC 7F01ADCC 0FC051EE */ jal interface_menu13_mpscenario
/* 04F900 7F01ADD0 00000000 */ nop
/* 04F904 7F01ADD4 10000046 */ b .L7F01AEF0
/* 04F908 7F01ADD8 8FBF0014 */ lw $ra, 0x14($sp)
menu0F_mpcharsel_interface:
/* 04F90C 7F01ADDC 0FC047B5 */ jal interface_menu0F_mpcharsel
/* 04F910 7F01ADE0 00000000 */ nop
/* 04F914 7F01ADE4 10000042 */ b .L7F01AEF0
/* 04F918 7F01ADE8 8FBF0014 */ lw $ra, 0x14($sp)
menu14_mpteams_interface:
/* 04F91C 7F01ADEC 0FC05352 */ jal interface_menu14_mpteams
/* 04F920 7F01ADF0 00000000 */ nop
/* 04F924 7F01ADF4 1000003E */ b .L7F01AEF0
/* 04F928 7F01ADF8 8FBF0014 */ lw $ra, 0x14($sp)
menu10_mphandicap_interface:
/* 04F92C 7F01ADFC 0FC04BB1 */ jal interface_menu10_mphandicap
/* 04F930 7F01AE00 00000000 */ nop
/* 04F934 7F01AE04 1000003A */ b .L7F01AEF0
/* 04F938 7F01AE08 8FBF0014 */ lw $ra, 0x14($sp)
menu11_mpcontrol_interface:
/* 04F93C 7F01AE0C 0FC04D82 */ jal interface_menu11_mpcontrols
/* 04F940 7F01AE10 00000000 */ nop
/* 04F944 7F01AE14 10000036 */ b .L7F01AEF0
/* 04F948 7F01AE18 8FBF0014 */ lw $ra, 0x14($sp)
menu12_mpstage_interface:
/* 04F94C 7F01AE1C 0FC04F75 */ jal interface_menu12_mpstage
/* 04F950 7F01AE20 00000000 */ nop
/* 04F954 7F01AE24 10000032 */ b .L7F01AEF0
/* 04F958 7F01AE28 8FBF0014 */ lw $ra, 0x14($sp)
menu15_cheat_interface:
/* 04F95C 7F01AE2C 0FC05F22 */ jal interface_menu15_cheat
/* 04F960 7F01AE30 00000000 */ nop
/* 04F964 7F01AE34 1000002E */ b .L7F01AEF0
/* 04F968 7F01AE38 8FBF0014 */ lw $ra, 0x14($sp)
menu16_nocontrollers_interface:
/* 04F96C 7F01AE3C 0FC06112 */ jal interface_menu16_nocontrollers
/* 04F970 7F01AE40 00000000 */ nop
/* 04F974 7F01AE44 1000002A */ b .L7F01AEF0
/* 04F978 7F01AE48 8FBF0014 */ lw $ra, 0x14($sp)
menu18_displaycast_interface:
/* 04F97C 7F01AE4C 0FC063D8 */ jal interface_menu18_displaycast
/* 04F980 7F01AE50 00000000 */ nop
/* 04F984 7F01AE54 10000026 */ b .L7F01AEF0
/* 04F988 7F01AE58 8FBF0014 */ lw $ra, 0x14($sp)
menu19_spectrum_interface:
/* 04F98C 7F01AE5C 0FC06922 */ jal interface_menu19_spectrum
/* 04F990 7F01AE60 00000000 */ nop
/* 04F994 7F01AE64 10000022 */ b .L7F01AEF0
/* 04F998 7F01AE68 8FBF0014 */ lw $ra, 0x14($sp)
menu0B_runstage_interface:
/* 04F99C 7F01AE6C 0FC2FF29 */ jal interface_menu0B_runstage
/* 04F9A0 7F01AE70 00000000 */ nop
/* 04F9A4 7F01AE74 10400006 */ beqz $v0, .L7F01AE90
/* 04F9A8 7F01AE78 3C088003 */ lui $t0, %hi(gamemode)
/* 04F9AC 7F01AE7C 00002025 */ move $a0, $zero
/* 04F9B0 7F01AE80 0FC06975 */ jal set_menu_to_mode
/* 04F9B4 7F01AE84 24050001 */ li $a1, 1
/* 04F9B8 7F01AE88 10000019 */ b .L7F01AEF0
/* 04F9BC 7F01AE8C 8FBF0014 */ lw $ra, 0x14($sp)
.L7F01AE90:
/* 04F9C0 7F01AE90 8D08A8F0 */ lw $t0, %lo(gamemode)($t0)
/* 04F9C4 7F01AE94 24010001 */ li $at, 1
/* 04F9C8 7F01AE98 2404000E */ li $a0, 14
/* 04F9CC 7F01AE9C 15010005 */ bne $t0, $at, .L7F01AEB4
/* 04F9D0 7F01AEA0 3C098003 */ lui $t1, %hi(selected_stage)
/* 04F9D4 7F01AEA4 0FC06975 */ jal set_menu_to_mode
/* 04F9D8 7F01AEA8 24050001 */ li $a1, 1
/* 04F9DC 7F01AEAC 10000010 */ b .L7F01AEF0
/* 04F9E0 7F01AEB0 8FBF0014 */ lw $ra, 0x14($sp)
.L7F01AEB4:
/* 04F9E4 7F01AEB4 8D29A8F4 */ lw $t1, %lo(selected_stage)($t1)
/* 04F9E8 7F01AEB8 24010036 */ li $at, 54
/* 04F9EC 7F01AEBC 2404000C */ li $a0, 12
/* 04F9F0 7F01AEC0 15210008 */ bne $t1, $at, .L7F01AEE4
/* 04F9F4 7F01AEC4 00000000 */ nop
/* 04F9F8 7F01AEC8 0FC0619C */ jal do_extended_cast_display
/* 04F9FC 7F01AECC 24040001 */ li $a0, 1
/* 04FA00 7F01AED0 24040018 */ li $a0, 24
/* 04FA04 7F01AED4 0FC06975 */ jal set_menu_to_mode
/* 04FA08 7F01AED8 24050001 */ li $a1, 1
/* 04FA0C 7F01AEDC 10000004 */ b .L7F01AEF0
/* 04FA10 7F01AEE0 8FBF0014 */ lw $ra, 0x14($sp)
.L7F01AEE4:
/* 04FA14 7F01AEE4 0FC06975 */ jal set_menu_to_mode
/* 04FA18 7F01AEE8 24050001 */ li $a1, 1
.L7F01AEEC:
/* 04FA1C 7F01AEEC 8FBF0014 */ lw $ra, 0x14($sp)
.L7F01AEF0:
/* 04FA20 7F01AEF0 27BD0018 */ addiu $sp, $sp, 0x18
/* 04FA24 7F01AEF4 03E00008 */ jr $ra
/* 04FA28 7F01AEF8 00000000 */ nop
)
#endif
#ifdef NONMATCHING
void menu_jump_constructor_handler(Gfx *DL)
{
switch(current_menu) {
case MENU_LEGAL_SCREEN:
constructor_menu00_legalscreen(DL);
break;
case MENU_NINTENDO_LOGO:
constructor_menu01_nintendo(DL);
break;
case MENU_RAREWARE_LOGO:
constructor_menu02_rareware(DL);
break;
case MENU_EYE_INTRO:
constructor_menu03_eye(DL);
break;
case MENU_GOLDENEYE_LOGO:
constructor_menu04_goldeneyelogo(DL);
break;
case MENU_FILE_SELECT:
constructor_menu05_fileselect(DL);
break;
case MENU_MODE_SELECT:
constructor_menu06_modesel(DL);
break;
case MENU_MISSION_SELECT:
constructor_menu07_missionsel(DL);
break;
case MENU_DIFFICULTY:
constructor_menu08_difficulty(DL);
break;
case MENU_007_OPTIONS:
constructor_menu09_007options(DL);
break;
case MENU_BRIEFING:
constructor_menu0A_briefing(DL);
break;
case MENU_MISSION_FAILED:
constructor_menu0C_missionfailed(DL);
break;
case MENU_MISSION_COMPLETE:
constructor_menu0D_missioncomplete(DL);
break;
case MENU_MP_OPTIONS:
constructor_menu0E_mpoptions(DL);
break;
case MENU_MP_CHAR_SELECT:
constructor_menu0F_mpcharsel(DL);
break;
case MENU_MP_HANDICAP:
constructor_menu10_mphandicap(DL);
break;
case MENU_MP_CONTROL_STYLE:
constructor_menu11_mpcontrol(DL);
break;
case MENU_MP_STAGE_SELECT:
constructor_menu12_mpstage(DL);
break;
case MENU_MP_SCENARIO_SELECT:
constructor_menu13_mpscenario(DL);
break;
case MENU_MP_TEAMS:
constructor_menu14_mpteams(DL);
break;
case MENU_CHEAT:
constructor_menu15_cheat(DL);
break;
case MENU_NO_CONTROLLERS:
constructor_menu16_nocontrollers(DL);
break;
case MENU_SWITCH_SCREENS:
constructor_menu17_switchscreens(DL);
break;
case MENU_DISPLAY_CAST:
constructor_menu18_displaycast(DL);
break;
case MENU_SPECTRUM_EMU:
constructor_menu19_spectrum(DL);
}
return;
}
#else
GLOBAL_ASM(
.late_rodata
glabel jpt_menu_constructor
.word menu00_legal_constructor
.word menu01_nintendo_constructor
.word menu02_rareware_constructor
.word menu03_eyeintro_constructor
.word menu04_goldeneye_constructor
.word menu05_fileselect_constructor
.word menu06_modesel_constructor
.word menu07_missionsel_constructor
.word menu08_difficulty_constructor
.word menu09_007options_constructor
.word menu0A_briefing_constructor
.word menu0B_runstage_constructor
.word menu0C_missionfailed_constructor
.word menu0D_missioncomplete_constructor
.word menu0E_mpoptions_constructor
.word menu0F_mpcharsel_constructor
.word menu10_mphandicap_constructor
.word menu11_mpcontrol_constructor
.word menu12_mpstage_constructor
.word menu13_mpscenario_constructor
.word menu14_mpteams_constructor
.word menu15_cheat_constructor
.word menu16_nocontrollers_constructor
.word menu17_switchscreens_constructor
.word menu18_displaycast_constructor
.word menu19_spectrum_constructor
.text
glabel menu_jump_constructor_handler
/* 04FA2C 7F01AEFC 3C0E8003 */ lui $t6, %hi(current_menu)
/* 04FA30 7F01AF00 8DCEA8C0 */ lw $t6, %lo(current_menu)($t6)
/* 04FA34 7F01AF04 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 04FA38 7F01AF08 AFB00018 */ sw $s0, 0x18($sp)
/* 04FA3C 7F01AF0C 2DC1001A */ sltiu $at, $t6, 0x1a
/* 04FA40 7F01AF10 00808025 */ move $s0, $a0
/* 04FA44 7F01AF14 1020006A */ beqz $at, menu0B_runstage_constructor
/* 04FA48 7F01AF18 AFBF001C */ sw $ra, 0x1c($sp)
/* 04FA4C 7F01AF1C 000E7080 */ sll $t6, $t6, 2
/* 04FA50 7F01AF20 3C018005 */ lui $at, %hi(jpt_menu_constructor)
/* 04FA54 7F01AF24 002E0821 */ addu $at, $at, $t6
/* 04FA58 7F01AF28 8C2E1C84 */ lw $t6, %lo(jpt_menu_constructor)($at)
/* 04FA5C 7F01AF2C 01C00008 */ jr $t6
/* 04FA60 7F01AF30 00000000 */ nop
glabel menu00_legal_constructor
/* 04FA64 7F01AF34 0FC02A38 */ jal constructor_menu00_legalscreen
/* 04FA68 7F01AF38 02002025 */ move $a0, $s0
/* 04FA6C 7F01AF3C 10000060 */ b menu0B_runstage_constructor
/* 04FA70 7F01AF40 00408025 */ move $s0, $v0
glabel menu17_switchscreens_constructor
/* 04FA74 7F01AF44 0FC02AEA */ jal constructor_menu17_switchscreens
/* 04FA78 7F01AF48 02002025 */ move $a0, $s0
/* 04FA7C 7F01AF4C 1000005C */ b menu0B_runstage_constructor
/* 04FA80 7F01AF50 00408025 */ move $s0, $v0
glabel menu01_nintendo_constructor
/* 04FA84 7F01AF54 0FC02B66 */ jal constructor_menu01_nintendo
/* 04FA88 7F01AF58 02002025 */ move $a0, $s0
/* 04FA8C 7F01AF5C 10000058 */ b menu0B_runstage_constructor
/* 04FA90 7F01AF60 00408025 */ move $s0, $v0
glabel menu02_rareware_constructor
/* 04FA94 7F01AF64 0FC02C4D */ jal constructor_menu02_rareware
/* 04FA98 7F01AF68 02002025 */ move $a0, $s0
/* 04FA9C 7F01AF6C 10000054 */ b menu0B_runstage_constructor
/* 04FAA0 7F01AF70 00408025 */ move $s0, $v0
glabel menu03_eyeintro_constructor
/* 04FAA4 7F01AF74 0FC02C8E */ jal constructor_menu03_eye
/* 04FAA8 7F01AF78 02002025 */ move $a0, $s0
/* 04FAAC 7F01AF7C 10000050 */ b menu0B_runstage_constructor
/* 04FAB0 7F01AF80 00408025 */ move $s0, $v0
glabel menu04_goldeneye_constructor
/* 04FAB4 7F01AF84 0FC02D1F */ jal constructor_menu04_goldeneyelogo
/* 04FAB8 7F01AF88 02002025 */ move $a0, $s0
/* 04FABC 7F01AF8C 1000004C */ b menu0B_runstage_constructor
/* 04FAC0 7F01AF90 00408025 */ move $s0, $v0
glabel menu05_fileselect_constructor
/* 04FAC4 7F01AF94 0FC03102 */ jal constructor_menu05_fileselect
/* 04FAC8 7F01AF98 02002025 */ move $a0, $s0
/* 04FACC 7F01AF9C 10000048 */ b menu0B_runstage_constructor
/* 04FAD0 7F01AFA0 00408025 */ move $s0, $v0
glabel menu06_modesel_constructor
/* 04FAD4 7F01AFA4 0FC0360A */ jal constructor_menu06_modesel
/* 04FAD8 7F01AFA8 02002025 */ move $a0, $s0
/* 04FADC 7F01AFAC 10000044 */ b menu0B_runstage_constructor
/* 04FAE0 7F01AFB0 00408025 */ move $s0, $v0
glabel menu07_missionsel_constructor
/* 04FAE4 7F01AFB4 0FC03916 */ jal constructor_menu07_missionsel
/* 04FAE8 7F01AFB8 02002025 */ move $a0, $s0
/* 04FAEC 7F01AFBC 10000040 */ b menu0B_runstage_constructor
/* 04FAF0 7F01AFC0 00408025 */ move $s0, $v0
glabel menu08_difficulty_constructor
/* 04FAF4 7F01AFC4 0FC03B66 */ jal constructor_menu08_difficulty
/* 04FAF8 7F01AFC8 02002025 */ move $a0, $s0
/* 04FAFC 7F01AFCC 1000003C */ b menu0B_runstage_constructor
/* 04FB00 7F01AFD0 00408025 */ move $s0, $v0
glabel menu09_007options_constructor
/* 04FB04 7F01AFD4 0FC03DE6 */ jal constructor_menu09_007options
/* 04FB08 7F01AFD8 02002025 */ move $a0, $s0
/* 04FB0C 7F01AFDC 10000038 */ b menu0B_runstage_constructor
/* 04FB10 7F01AFE0 00408025 */ move $s0, $v0
glabel menu0A_briefing_constructor
/* 04FB14 7F01AFE4 0FC0575D */ jal constructor_menu0A_briefing
/* 04FB18 7F01AFE8 02002025 */ move $a0, $s0
/* 04FB1C 7F01AFEC 10000034 */ b menu0B_runstage_constructor
/* 04FB20 7F01AFF0 00408025 */ move $s0, $v0
glabel menu0C_missionfailed_constructor
/* 04FB24 7F01AFF4 0FC058FB */ jal constructor_menu0C_missionfailed
/* 04FB28 7F01AFF8 02002025 */ move $a0, $s0
/* 04FB2C 7F01AFFC 10000030 */ b menu0B_runstage_constructor
/* 04FB30 7F01B000 00408025 */ move $s0, $v0
glabel menu0D_missioncomplete_constructor
/* 04FB34 7F01B004 0FC05A82 */ jal constructor_menu0D_missioncomplete
/* 04FB38 7F01B008 02002025 */ move $a0, $s0
/* 04FB3C 7F01B00C 1000002C */ b menu0B_runstage_constructor
/* 04FB40 7F01B010 00408025 */ move $s0, $v0
glabel menu0E_mpoptions_constructor
/* 04FB44 7F01B014 0FC043C4 */ jal constructor_menu0E_mpoptions
/* 04FB48 7F01B018 02002025 */ move $a0, $s0
/* 04FB4C 7F01B01C 10000028 */ b menu0B_runstage_constructor
/* 04FB50 7F01B020 00408025 */ move $s0, $v0
glabel menu13_mpscenario_constructor
/* 04FB54 7F01B024 0FC05292 */ jal constructor_menu13_mpscenario
/* 04FB58 7F01B028 02002025 */ move $a0, $s0
/* 04FB5C 7F01B02C 10000024 */ b menu0B_runstage_constructor
/* 04FB60 7F01B030 00408025 */ move $s0, $v0
glabel menu0F_mpcharsel_constructor
/* 04FB64 7F01B034 0FC049E5 */ jal constructor_menu0F_mpcharsel
/* 04FB68 7F01B038 02002025 */ move $a0, $s0
/* 04FB6C 7F01B03C 10000020 */ b menu0B_runstage_constructor
/* 04FB70 7F01B040 00408025 */ move $s0, $v0
glabel menu14_mpteams_constructor
/* 04FB74 7F01B044 0FC0544E */ jal constructor_menu14_mpteams
/* 04FB78 7F01B048 02002025 */ move $a0, $s0
/* 04FB7C 7F01B04C 1000001C */ b menu0B_runstage_constructor
/* 04FB80 7F01B050 00408025 */ move $s0, $v0
glabel menu10_mphandicap_constructor
/* 04FB84 7F01B054 0FC04C5F */ jal constructor_menu10_mphandicap
/* 04FB88 7F01B058 02002025 */ move $a0, $s0
/* 04FB8C 7F01B05C 10000018 */ b menu0B_runstage_constructor
/* 04FB90 7F01B060 00408025 */ move $s0, $v0
glabel menu11_mpcontrol_constructor
/* 04FB94 7F01B064 0FC04E60 */ jal constructor_menu11_mpcontrol
/* 04FB98 7F01B068 02002025 */ move $a0, $s0
/* 04FB9C 7F01B06C 10000014 */ b menu0B_runstage_constructor
/* 04FBA0 7F01B070 00408025 */ move $s0, $v0
glabel menu12_mpstage_constructor
/* 04FBA4 7F01B074 0FC05014 */ jal constructor_menu12_mpstage
/* 04FBA8 7F01B078 02002025 */ move $a0, $s0
/* 04FBAC 7F01B07C 10000010 */ b menu0B_runstage_constructor
/* 04FBB0 7F01B080 00408025 */ move $s0, $v0
glabel menu15_cheat_constructor
/* 04FBB4 7F01B084 0FC05FD7 */ jal constructor_menu15_cheat
/* 04FBB8 7F01B088 02002025 */ move $a0, $s0
/* 04FBBC 7F01B08C 1000000C */ b menu0B_runstage_constructor
/* 04FBC0 7F01B090 00408025 */ move $s0, $v0
glabel menu16_nocontrollers_constructor
/* 04FBC4 7F01B094 0FC06114 */ jal constructor_menu16_nocontrollers
/* 04FBC8 7F01B098 02002025 */ move $a0, $s0
/* 04FBCC 7F01B09C 10000008 */ b menu0B_runstage_constructor
/* 04FBD0 7F01B0A0 00408025 */ move $s0, $v0
glabel menu18_displaycast_constructor
/* 04FBD4 7F01B0A4 0FC064CA */ jal constructor_menu18_displaycast
/* 04FBD8 7F01B0A8 02002025 */ move $a0, $s0
/* 04FBDC 7F01B0AC 10000004 */ b menu0B_runstage_constructor
/* 04FBE0 7F01B0B0 00408025 */ move $s0, $v0
glabel menu19_spectrum_constructor
/* 04FBE4 7F01B0B4 0FC06938 */ jal constructor_menu19_spectrum
/* 04FBE8 7F01B0B8 02002025 */ move $a0, $s0
/* 04FBEC 7F01B0BC 00408025 */ move $s0, $v0
glabel menu0B_runstage_constructor
/* 04FBF0 7F01B0C0 8FBF001C */ lw $ra, 0x1c($sp)
/* 04FBF4 7F01B0C4 02001025 */ move $v0, $s0
/* 04FBF8 7F01B0C8 8FB00018 */ lw $s0, 0x18($sp)
/* 04FBFC 7F01B0CC 03E00008 */ jr $ra
/* 04FC00 7F01B0D0 27BD0020 */ addiu $sp, $sp, 0x20
)
#endif