Files
SpaghettiKart/asm/non_matchings/code_800AF9B0/func_800B0350.s
T
ChiefFruitcake 1b40669f0d Menu selection global variable (#113)
* Rename D_800E86A0 to gMenuSelection. Add menu selection options to defines.h

* Other namings
2021-12-24 20:43:17 -07:00

142 lines
6.7 KiB
ArmAsm

glabel func_800B0350
/* 0B0F50 800B0350 3C0E800F */ lui $t6, %hi(D_800E86A4) # $t6, 0x800f
/* 0B0F54 800B0354 8DCE86A4 */ lw $t6, %lo(D_800E86A4)($t6)
/* 0B0F58 800B0358 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 0B0F5C 800B035C AFBF0024 */ sw $ra, 0x24($sp)
/* 0B0F60 800B0360 AFB20020 */ sw $s2, 0x20($sp)
/* 0B0F64 800B0364 AFB1001C */ sw $s1, 0x1c($sp)
/* 0B0F68 800B0368 15C0006E */ bnez $t6, .L800B0524
/* 0B0F6C 800B036C AFB00018 */ sw $s0, 0x18($sp)
/* 0B0F70 800B0370 3C12800F */ lui $s2, %hi(gMenuSelection) # $s2, 0x800f
/* 0B0F74 800B0374 3C11800F */ lui $s1, %hi(gControllers) # $s1, 0x800f
/* 0B0F78 800B0378 26316910 */ addiu $s1, %lo(gControllers) # addiu $s1, $s1, 0x6910
/* 0B0F7C 800B037C 265286A0 */ addiu $s2, %lo(gMenuSelection) # addiu $s2, $s2, -0x7960
/* 0B0F80 800B0380 00008025 */ move $s0, $zero
.L800B0384:
/* 0B0F84 800B0384 0C02D148 */ jal func_800B4520
/* 0B0F88 800B0388 00000000 */ nop
/* 0B0F8C 800B038C 1440001F */ bnez $v0, .L800B040C
/* 0B0F90 800B0390 3C0F800E */ lui $t7, %hi(gEnableDebugMode) # $t7, 0x800e
/* 0B0F94 800B0394 95EFC520 */ lhu $t7, %lo(gEnableDebugMode)($t7)
/* 0B0F98 800B0398 0010C100 */ sll $t8, $s0, 4
/* 0B0F9C 800B039C 0238C821 */ addu $t9, $s1, $t8
/* 0B0FA0 800B03A0 11E0001A */ beqz $t7, .L800B040C
/* 0B0FA4 800B03A4 00000000 */ nop
/* 0B0FA8 800B03A8 97280006 */ lhu $t0, 6($t9)
/* 0B0FAC 800B03AC 31091000 */ andi $t1, $t0, 0x1000
/* 0B0FB0 800B03B0 11200016 */ beqz $t1, .L800B040C
/* 0B0FB4 800B03B4 00000000 */ nop
/* 0B0FB8 800B03B8 8E420000 */ lw $v0, ($s2)
/* 0B0FBC 800B03BC 2401000B */ li $at, 11
/* 0B0FC0 800B03C0 10410007 */ beq $v0, $at, .L800B03E0
/* 0B0FC4 800B03C4 2401000C */ li $at, 12
/* 0B0FC8 800B03C8 10410005 */ beq $v0, $at, .L800B03E0
/* 0B0FCC 800B03CC 2401000D */ li $at, 13
/* 0B0FD0 800B03D0 54410008 */ bnel $v0, $at, .L800B03F4
/* 0B0FD4 800B03D4 24010009 */ li $at, 9
/* 0B0FD8 800B03D8 0C0328CC */ jal func_800CA330
/* 0B0FDC 800B03DC 24040019 */ li $a0, 25
.L800B03E0:
/* 0B0FE0 800B03E0 3C044900 */ lui $a0, (0x49008016 >> 16) # lui $a0, 0x4900
/* 0B0FE4 800B03E4 0C032384 */ jal play_sound2
/* 0B0FE8 800B03E8 34848016 */ ori $a0, (0x49008016 & 0xFFFF) # ori $a0, $a0, 0x8016
/* 0B0FEC 800B03EC 8E420000 */ lw $v0, ($s2)
/* 0B0FF0 800B03F0 24010009 */ li $at, 9
.L800B03F4:
/* 0B0FF4 800B03F4 10410005 */ beq $v0, $at, .L800B040C
/* 0B0FF8 800B03F8 2401000A */ li $at, 10
/* 0B0FFC 800B03FC 10410003 */ beq $v0, $at, .L800B040C
/* 0B1000 800B0400 00000000 */ nop
/* 0B1004 800B0404 0C027870 */ jal func_8009E1C0
/* 0B1008 800B0408 00000000 */ nop
.L800B040C:
/* 0B100C 800B040C 3C04800F */ lui $a0, %hi(D_800E86E4) # $a0, 0x800f
/* 0B1010 800B0410 0C03324C */ jal osViSetSpecialFeatures
/* 0B1014 800B0414 8C8486E4 */ lw $a0, %lo(D_800E86E4)($a0)
/* 0B1018 800B0418 8E4A0000 */ lw $t2, ($s2)
/* 0B101C 800B041C 2D41000E */ sltiu $at, $t2, 0xe
/* 0B1020 800B0420 1020003B */ beqz $at, .L800B0510
/* 0B1024 800B0424 000A5080 */ sll $t2, $t2, 2
/* 0B1028 800B0428 3C01800F */ lui $at, %hi(jpt_800F2C20)
/* 0B102C 800B042C 002A0821 */ addu $at, $at, $t2
/* 0B1030 800B0430 8C2A2C20 */ lw $t2, %lo(jpt_800F2C20)($at)
/* 0B1034 800B0434 01400008 */ jr $t2
/* 0B1038 800B0438 00000000 */ nop
glabel L800B043C
/* 0B103C 800B043C 00105900 */ sll $t3, $s0, 4
/* 0B1040 800B0440 022B2021 */ addu $a0, $s1, $t3
/* 0B1044 800B0444 0C02C14F */ jal func_800B053C
/* 0B1048 800B0448 3205FFFF */ andi $a1, $s0, 0xffff
/* 0B104C 800B044C 10000031 */ b .L800B0514
/* 0B1050 800B0450 26100001 */ addiu $s0, $s0, 1
glabel L800B0454
/* 0B1054 800B0454 00106100 */ sll $t4, $s0, 4
/* 0B1058 800B0458 022C2021 */ addu $a0, $s1, $t4
/* 0B105C 800B045C 0C02C4EC */ jal func_800B13B0
/* 0B1060 800B0460 3205FFFF */ andi $a1, $s0, 0xffff
/* 0B1064 800B0464 1000002B */ b .L800B0514
/* 0B1068 800B0468 26100001 */ addiu $s0, $s0, 1
glabel L800B046C
/* 0B106C 800B046C 00106900 */ sll $t5, $s0, 4
/* 0B1070 800B0470 022D2021 */ addu $a0, $s1, $t5
/* 0B1074 800B0474 0C02C56B */ jal func_800B15AC
/* 0B1078 800B0478 3205FFFF */ andi $a1, $s0, 0xffff
/* 0B107C 800B047C 10000025 */ b .L800B0514
/* 0B1080 800B0480 26100001 */ addiu $s0, $s0, 1
glabel L800B0484
/* 0B1084 800B0484 00107100 */ sll $t6, $s0, 4
/* 0B1088 800B0488 022E2021 */ addu $a0, $s1, $t6
/* 0B108C 800B048C 0C02C710 */ jal func_800B1C40
/* 0B1090 800B0490 3205FFFF */ andi $a1, $s0, 0xffff
/* 0B1094 800B0494 1000001F */ b .L800B0514
/* 0B1098 800B0498 26100001 */ addiu $s0, $s0, 1
glabel L800B049C
/* 0B109C 800B049C 1600001C */ bnez $s0, .L800B0510
/* 0B10A0 800B04A0 00107900 */ sll $t7, $s0, 4
/* 0B10A4 800B04A4 022F2021 */ addu $a0, $s1, $t7
/* 0B10A8 800B04A8 0C02C724 */ jal func_800B1C90
/* 0B10AC 800B04AC 3205FFFF */ andi $a1, $s0, 0xffff
/* 0B10B0 800B04B0 10000018 */ b .L800B0514
/* 0B10B4 800B04B4 26100001 */ addiu $s0, $s0, 1
glabel L800B04B8
/* 0B10B8 800B04B8 0010C100 */ sll $t8, $s0, 4
/* 0B10BC 800B04BC 02382021 */ addu $a0, $s1, $t8
/* 0B10C0 800B04C0 0C02C83D */ jal func_800B20F4
/* 0B10C4 800B04C4 3205FFFF */ andi $a1, $s0, 0xffff
/* 0B10C8 800B04C8 10000012 */ b .L800B0514
/* 0B10CC 800B04CC 26100001 */ addiu $s0, $s0, 1
glabel L800B04D0
/* 0B10D0 800B04D0 0010C900 */ sll $t9, $s0, 4
/* 0B10D4 800B04D4 02392021 */ addu $a0, $s1, $t9
/* 0B10D8 800B04D8 0C02CA76 */ jal func_800B29D8
/* 0B10DC 800B04DC 3205FFFF */ andi $a1, $s0, 0xffff
/* 0B10E0 800B04E0 1000000C */ b .L800B0514
/* 0B10E4 800B04E4 26100001 */ addiu $s0, $s0, 1
glabel L800B04E8
/* 0B10E8 800B04E8 00104100 */ sll $t0, $s0, 4
/* 0B10EC 800B04EC 02282021 */ addu $a0, $s1, $t0
/* 0B10F0 800B04F0 0C02CD55 */ jal func_800B3554
/* 0B10F4 800B04F4 3205FFFF */ andi $a1, $s0, 0xffff
/* 0B10F8 800B04F8 10000006 */ b .L800B0514
/* 0B10FC 800B04FC 26100001 */ addiu $s0, $s0, 1
glabel L800B0500
/* 0B1100 800B0500 00104900 */ sll $t1, $s0, 4
/* 0B1104 800B0504 02292021 */ addu $a0, $s1, $t1
/* 0B1108 800B0508 0C02CED6 */ jal func_800B3B58
/* 0B110C 800B050C 3205FFFF */ andi $a1, $s0, 0xffff
.L800B0510:
glabel L800B0510
/* 0B1110 800B0510 26100001 */ addiu $s0, $s0, 1
.L800B0514:
/* 0B1114 800B0514 320AFFFF */ andi $t2, $s0, 0xffff
/* 0B1118 800B0518 29410004 */ slti $at, $t2, 4
/* 0B111C 800B051C 1420FF99 */ bnez $at, .L800B0384
/* 0B1120 800B0520 01408025 */ move $s0, $t2
.L800B0524:
/* 0B1124 800B0524 8FBF0024 */ lw $ra, 0x24($sp)
/* 0B1128 800B0528 8FB00018 */ lw $s0, 0x18($sp)
/* 0B112C 800B052C 8FB1001C */ lw $s1, 0x1c($sp)
/* 0B1130 800B0530 8FB20020 */ lw $s2, 0x20($sp)
/* 0B1134 800B0534 03E00008 */ jr $ra
/* 0B1138 800B0538 27BD0028 */ addiu $sp, $sp, 0x28