Matches at 55%! We are collecting silver coins in Whale Bay. (2/8 silver coins) (#411)

* Match 3 new funcs

* Match 3 more funcs

* Update some var types

* Match func_800A36CC

* WIP func_800A7A60

* Match menu_trophy_race_rankings_init

* Fix NON_EQUIVALENT builds
This commit is contained in:
Ryan Myers
2023-09-27 10:31:26 -04:00
committed by GitHub
parent 14b1e4d554
commit b9f2dff589
22 changed files with 561 additions and 1654 deletions
+26 -26
View File
@@ -5,9 +5,9 @@ This repo contains a work-in-progress decompilation of Diddy Kong Racing for the
Currently, only the US 1.0 version of the game is supported. US 1.1, EU 1.0, EU 1.1, and JP are not supported at this time.
<!-- README_SCORE_SUMMARY_BEGIN -->
As of September 25, 2023, this is our current score:
As of September 27, 2023, this is our current score:
&emsp;&emsp;&emsp;&emsp;Decomp progress: 54.44%
&emsp;&emsp;&emsp;&emsp;Decomp progress: 55.01%
&emsp;&emsp;&emsp;&emsp;Documentation progress: 28.42%
<!-- README_SCORE_SUMMARY_END -->
@@ -128,31 +128,31 @@ s32 is_drumstick_unlocked(void) {
```
<!-- README_SCORE_BEGIN -->
As of September 25th, 2023, this is our current score:
As of September 27th, 2023, this is our current score:
```
========================================================
ADVENTURE ONE (ASM -> C Decompilation)
------------------- 54.44% Complete --------------------
# Decompiled functions: 1563
# GLOBAL_ASM remaining: 275
# NON_MATCHING functions: 14
# NON_EQUIVALENT WIP functions: 69
--------------------- Game Status ----------------------
Balloons: 26/47, Keys: 3/4, Trophies: 2/5
T.T. Amulets: 2/4, Wizpig Amulets: 2/4
--------------------------------------------------------
We are battling in Darkwater Beach. (1 opponent remains)
========================================================
ADVENTURE TWO (Cleanup & Documentation)
------------------- 28.42% Complete --------------------
# Documented functions: 623
# Undocumented remaining: 947
--------------------- Game Status ----------------------
Balloons: 14/47, Keys: 1/4, Trophies: 1/5
T.T. Amulets: 1/4, Wizpig Amulets: 1/4
--------------------------------------------------------
We are racing in Walrus Cove. (Lap 3/3)
========================================================
===============================================================
ADVENTURE ONE (ASM -> C Decompilation)
----------------------- 55.01% Complete -----------------------
# Decompiled functions: 1571
# GLOBAL_ASM remaining: 267
# NON_MATCHING functions: 13
# NON_EQUIVALENT WIP functions: 67
------------------------- Game Status -------------------------
Balloons: 26/47, Keys: 3/4, Trophies: 2/5
T.T. Amulets: 3/4, Wizpig Amulets: 2/4
---------------------------------------------------------------
We are collecting silver coins in Whale Bay. (2/8 silver coins)
===============================================================
ADVENTURE TWO (Cleanup & Documentation)
----------------------- 28.42% Complete -----------------------
# Documented functions: 623
# Undocumented remaining: 947
------------------------- Game Status -------------------------
Balloons: 14/47, Keys: 1/4, Trophies: 1/5
T.T. Amulets: 1/4, Wizpig Amulets: 1/4
---------------------------------------------------------------
We are racing in Walrus Cove. (Lap 3/3)
===============================================================
```
<!-- README_SCORE_END -->
-115
View File
@@ -1,115 +0,0 @@
glabel func_800A36CC
/* 0A42CC 800A36CC 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 0A42D0 800A36D0 AFBF001C */ sw $ra, 0x1c($sp)
/* 0A42D4 800A36D4 AFB10018 */ sw $s1, 0x18($sp)
/* 0A42D8 800A36D8 AFB00014 */ sw $s0, 0x14($sp)
/* 0A42DC 800A36DC 309000FF */ andi $s0, $a0, 0xff
/* 0A42E0 800A36E0 30B100FF */ andi $s1, $a1, 0xff
/* 0A42E4 800A36E4 AFA40020 */ sw $a0, 0x20($sp)
/* 0A42E8 800A36E8 AFA50024 */ sw $a1, 0x24($sp)
/* 0A42EC 800A36EC AFA60028 */ sw $a2, 0x28($sp)
/* 0A42F0 800A36F0 0C003936 */ jal is_in_time_trial
/* 0A42F4 800A36F4 AFA7002C */ sw $a3, 0x2c($sp)
/* 0A42F8 800A36F8 10400058 */ beqz $v0, .L800A385C
/* 0A42FC 800A36FC 3C0E8012 */ lui $t6, %hi(gAssetHudElements) # $t6, 0x8012
/* 0A4300 800A3700 8DCE6CF4 */ lw $t6, %lo(gAssetHudElements)($t6)
/* 0A4304 800A3704 00000000 */ nop
/* 0A4308 800A3708 8DC20050 */ lw $v0, 0x50($t6)
/* 0A430C 800A370C 00000000 */ nop
/* 0A4310 800A3710 10400053 */ beqz $v0, .L800A3860
/* 0A4314 800A3714 8FBF001C */ lw $ra, 0x1c($sp)
/* 0A4318 800A3718 8C4F0068 */ lw $t7, 0x68($v0)
/* 0A431C 800A371C 3C1F8012 */ lui $ra, %hi(D_80126D65) # $ra, 0x8012
/* 0A4320 800A3720 8DE50000 */ lw $a1, ($t7)
/* 0A4324 800A3724 27FF6D65 */ addiu $ra, %lo(D_80126D65) # addiu $ra, $ra, 0x6d65
/* 0A4328 800A3728 8CA30000 */ lw $v1, ($a1)
/* 0A432C 800A372C 00004025 */ move $t0, $zero
/* 0A4330 800A3730 84670028 */ lh $a3, 0x28($v1)
/* 0A4334 800A3734 00002025 */ move $a0, $zero
/* 0A4338 800A3738 18E00039 */ blez $a3, .L800A3820
/* 0A433C 800A373C 3C0D8012 */ lui $t5, %hi(D_80126D66) # $t5, 0x8012
/* 0A4340 800A3740 3C0CFF7E */ lui $t4, (0xFF7EFFFF >> 16) # lui $t4, 0xff7e
/* 0A4344 800A3744 358CFFFF */ ori $t4, (0xFF7EFFFF & 0xFFFF) # ori $t4, $t4, 0xffff
/* 0A4348 800A3748 25AD6D66 */ addiu $t5, %lo(D_80126D66) # addiu $t5, $t5, 0x6d66
/* 0A434C 800A374C 240B0001 */ li $t3, 1
/* 0A4350 800A3750 3C0A0081 */ lui $t2, 0x81
/* 0A4354 800A3754 24090004 */ li $t1, 4
.L800A3758:
/* 0A4358 800A3758 8C780038 */ lw $t8, 0x38($v1)
/* 0A435C 800A375C 91B90000 */ lbu $t9, ($t5)
/* 0A4360 800A3760 03041021 */ addu $v0, $t8, $a0
/* 0A4364 800A3764 90460000 */ lbu $a2, ($v0)
/* 0A4368 800A3768 25080001 */ addiu $t0, $t0, 1
/* 0A436C 800A376C 17260020 */ bne $t9, $a2, .L800A37F0
/* 0A4370 800A3770 00000000 */ nop
/* 0A4374 800A3774 1530000D */ bne $t1, $s0, .L800A37AC
/* 0A4378 800A3778 A0500000 */ sb $s0, ($v0)
/* 0A437C 800A377C 8CAE0000 */ lw $t6, ($a1)
/* 0A4380 800A3780 00000000 */ nop
/* 0A4384 800A3784 8DCF0038 */ lw $t7, 0x38($t6)
/* 0A4388 800A3788 00000000 */ nop
/* 0A438C 800A378C 01E41021 */ addu $v0, $t7, $a0
/* 0A4390 800A3790 8C580008 */ lw $t8, 8($v0)
/* 0A4394 800A3794 00000000 */ nop
/* 0A4398 800A3798 030AC825 */ or $t9, $t8, $t2
/* 0A439C 800A379C AC590008 */ sw $t9, 8($v0)
/* 0A43A0 800A37A0 8CAE0000 */ lw $t6, ($a1)
/* 0A43A4 800A37A4 1000000D */ b .L800A37DC
/* 0A43A8 800A37A8 A5CB0050 */ sh $t3, 0x50($t6)
.L800A37AC:
/* 0A43AC 800A37AC 8CAF0000 */ lw $t7, ($a1)
/* 0A43B0 800A37B0 00000000 */ nop
/* 0A43B4 800A37B4 8DF80038 */ lw $t8, 0x38($t7)
/* 0A43B8 800A37B8 00000000 */ nop
/* 0A43BC 800A37BC 03041021 */ addu $v0, $t8, $a0
/* 0A43C0 800A37C0 8C590008 */ lw $t9, 8($v0)
/* 0A43C4 800A37C4 00000000 */ nop
/* 0A43C8 800A37C8 032C7024 */ and $t6, $t9, $t4
/* 0A43CC 800A37CC AC4E0008 */ sw $t6, 8($v0)
/* 0A43D0 800A37D0 8CAF0000 */ lw $t7, ($a1)
/* 0A43D4 800A37D4 00000000 */ nop
/* 0A43D8 800A37D8 A5E00050 */ sh $zero, 0x50($t7)
.L800A37DC:
/* 0A43DC 800A37DC 8CA30000 */ lw $v1, ($a1)
/* 0A43E0 800A37E0 00000000 */ nop
/* 0A43E4 800A37E4 84670028 */ lh $a3, 0x28($v1)
/* 0A43E8 800A37E8 1000000B */ b .L800A3818
/* 0A43EC 800A37EC 0107082A */ slt $at, $t0, $a3
.L800A37F0:
/* 0A43F0 800A37F0 93F80000 */ lbu $t8, ($ra)
/* 0A43F4 800A37F4 00000000 */ nop
/* 0A43F8 800A37F8 17060007 */ bne $t8, $a2, .L800A3818
/* 0A43FC 800A37FC 0107082A */ slt $at, $t0, $a3
/* 0A4400 800A3800 A0510000 */ sb $s1, ($v0)
/* 0A4404 800A3804 8CA30000 */ lw $v1, ($a1)
/* 0A4408 800A3808 00000000 */ nop
/* 0A440C 800A380C 84670028 */ lh $a3, 0x28($v1)
/* 0A4410 800A3810 00000000 */ nop
/* 0A4414 800A3814 0107082A */ slt $at, $t0, $a3
.L800A3818:
/* 0A4418 800A3818 1420FFCF */ bnez $at, .L800A3758
/* 0A441C 800A381C 2484000C */ addiu $a0, $a0, 0xc
.L800A3820:
/* 0A4420 800A3820 3C0D8012 */ lui $t5, %hi(D_80126D66) # $t5, 0x8012
/* 0A4424 800A3824 3C1F8012 */ lui $ra, %hi(D_80126D65) # $ra, 0x8012
/* 0A4428 800A3828 93B9002B */ lbu $t9, 0x2b($sp)
/* 0A442C 800A382C 27FF6D65 */ addiu $ra, %lo(D_80126D65) # addiu $ra, $ra, 0x6d65
/* 0A4430 800A3830 25AD6D66 */ addiu $t5, %lo(D_80126D66) # addiu $t5, $t5, 0x6d66
/* 0A4434 800A3834 A1B00000 */ sb $s0, ($t5)
/* 0A4438 800A3838 A3F10000 */ sb $s1, ($ra)
/* 0A443C 800A383C 3C018012 */ lui $at, %hi(gStopwatchFaceID) # $at, 0x8012
/* 0A4440 800A3840 93AE002F */ lbu $t6, 0x2f($sp)
/* 0A4444 800A3844 A0396D67 */ sb $t9, %lo(gStopwatchFaceID)($at)
/* 0A4448 800A3848 3C018012 */ lui $at, %hi(D_80126D69) # $at, 0x8012
/* 0A444C 800A384C 93AF0033 */ lbu $t7, 0x33($sp)
/* 0A4450 800A3850 A02E6D69 */ sb $t6, %lo(D_80126D69)($at)
/* 0A4454 800A3854 3C018012 */ lui $at, %hi(D_80126D68) # $at, 0x8012
/* 0A4458 800A3858 A02F6D68 */ sb $t7, %lo(D_80126D68)($at)
.L800A385C:
/* 0A445C 800A385C 8FBF001C */ lw $ra, 0x1c($sp)
.L800A3860:
/* 0A4460 800A3860 8FB00014 */ lw $s0, 0x14($sp)
/* 0A4464 800A3864 8FB10018 */ lw $s1, 0x18($sp)
/* 0A4468 800A3868 03E00008 */ jr $ra
/* 0A446C 800A386C 27BD0020 */ addiu $sp, $sp, 0x20
-100
View File
@@ -1,100 +0,0 @@
glabel func_8008B358
/* 08BF58 8008B358 27BDFFC0 */ addiu $sp, $sp, -0x40
/* 08BF5C 8008B35C AFB70034 */ sw $s7, 0x34($sp)
/* 08BF60 8008B360 AFB5002C */ sw $s5, 0x2c($sp)
/* 08BF64 8008B364 AFB40028 */ sw $s4, 0x28($sp)
/* 08BF68 8008B368 AFB30024 */ sw $s3, 0x24($sp)
/* 08BF6C 8008B36C AFB20020 */ sw $s2, 0x20($sp)
/* 08BF70 8008B370 AFB00018 */ sw $s0, 0x18($sp)
/* 08BF74 8008B374 AFBE0038 */ sw $fp, 0x38($sp)
/* 08BF78 8008B378 AFB60030 */ sw $s6, 0x30($sp)
/* 08BF7C 8008B37C AFB1001C */ sw $s1, 0x1c($sp)
/* 08BF80 8008B380 3C108012 */ lui $s0, %hi(gPlayersCharacterArray) # $s0, 0x8012
/* 08BF84 8008B384 3C128012 */ lui $s2, %hi(gActivePlayersArray) # $s2, 0x8012
/* 08BF88 8008B388 3C138012 */ lui $s3, %hi(D_801263C0) # $s3, 0x8012
/* 08BF8C 8008B38C 3C14800E */ lui $s4, %hi(gNumberOfActivePlayers) # $s4, 0x800e
/* 08BF90 8008B390 3C158012 */ lui $s5, %hi(D_801267D8) # $s5, 0x8012
/* 08BF94 8008B394 3C178012 */ lui $s7, %hi(gCurrCharacterSelectData) # $s7, 0x8012
/* 08BF98 8008B398 AFBF003C */ sw $ra, 0x3c($sp)
/* 08BF9C 8008B39C 26F763CC */ addiu $s7, %lo(gCurrCharacterSelectData) # addiu $s7, $s7, 0x63cc
/* 08BFA0 8008B3A0 26B567D8 */ addiu $s5, %lo(D_801267D8) # addiu $s5, $s5, 0x67d8
/* 08BFA4 8008B3A4 2694F4BC */ addiu $s4, %lo(gNumberOfActivePlayers) # addiu $s4, $s4, -0xb44
/* 08BFA8 8008B3A8 267363C0 */ addiu $s3, %lo(D_801263C0) # addiu $s3, $s3, 0x63c0
/* 08BFAC 8008B3AC 265263D4 */ addiu $s2, %lo(gActivePlayersArray) # addiu $s2, $s2, 0x63d4
/* 08BFB0 8008B3B0 261063E8 */ addiu $s0, %lo(gPlayersCharacterArray) # addiu $s0, $s0, 0x63e8
/* 08BFB4 8008B3B4 00008825 */ move $s1, $zero
/* 08BFB8 8008B3B8 24160001 */ li $s6, 1
/* 08BFBC 8008B3BC 241E000E */ li $fp, 14
.L8008B3C0:
/* 08BFC0 8008B3C0 824E0000 */ lb $t6, ($s2)
/* 08BFC4 8008B3C4 00117880 */ sll $t7, $s1, 2
/* 08BFC8 8008B3C8 15C0002F */ bnez $t6, .L8008B488
/* 08BFCC 8008B3CC 02AFC021 */ addu $t8, $s5, $t7
/* 08BFD0 8008B3D0 8F190000 */ lw $t9, ($t8)
/* 08BFD4 8008B3D4 2406FFFF */ li $a2, -1
/* 08BFD8 8008B3D8 33289000 */ andi $t0, $t9, 0x9000
/* 08BFDC 8008B3DC 1100002A */ beqz $t0, .L8008B488
/* 08BFE0 8008B3E0 02113821 */ addu $a3, $s0, $s1
.L8008B3E4:
/* 08BFE4 8008B3E4 3C098012 */ lui $t1, %hi(gActivePlayersArray) # $t1, 0x8012
/* 08BFE8 8008B3E8 252963D4 */ addiu $t1, %lo(gActivePlayersArray) # addiu $t1, $t1, 0x63d4
/* 08BFEC 8008B3EC 24C60001 */ addiu $a2, $a2, 1
/* 08BFF0 8008B3F0 02C02025 */ move $a0, $s6
/* 08BFF4 8008B3F4 00091821 */ addu $v1, $zero, $t1
/* 08BFF8 8008B3F8 00001025 */ move $v0, $zero
.L8008B3FC:
/* 08BFFC 8008B3FC 806A0000 */ lb $t2, ($v1)
/* 08C000 8008B400 02025821 */ addu $t3, $s0, $v0
/* 08C004 8008B404 11400006 */ beqz $t2, .L8008B420
/* 08C008 8008B408 00000000 */ nop
/* 08C00C 8008B40C 816C0000 */ lb $t4, ($t3)
/* 08C010 8008B410 00000000 */ nop
/* 08C014 8008B414 14CC0002 */ bne $a2, $t4, .L8008B420
/* 08C018 8008B418 00000000 */ nop
/* 08C01C 8008B41C 00002025 */ move $a0, $zero
.L8008B420:
/* 08C020 8008B420 24420001 */ addiu $v0, $v0, 1
/* 08C024 8008B424 28410004 */ slti $at, $v0, 4
/* 08C028 8008B428 10200003 */ beqz $at, .L8008B438
/* 08C02C 8008B42C 24630001 */ addiu $v1, $v1, 1
/* 08C030 8008B430 1480FFF2 */ bnez $a0, .L8008B3FC
/* 08C034 8008B434 00000000 */ nop
.L8008B438:
/* 08C038 8008B438 1080FFEA */ beqz $a0, .L8008B3E4
/* 08C03C 8008B43C 00000000 */ nop
/* 08C040 8008B440 A0E60000 */ sb $a2, ($a3)
/* 08C044 8008B444 80F80000 */ lb $t8, ($a3)
/* 08C048 8008B448 8E8D0000 */ lw $t5, ($s4)
/* 08C04C 8008B44C 031E0019 */ multu $t8, $fp
/* 08C050 8008B450 8EEF0000 */ lw $t7, ($s7)
/* 08C054 8008B454 25AE0001 */ addiu $t6, $t5, 1
/* 08C058 8008B458 A2560000 */ sb $s6, ($s2)
/* 08C05C 8008B45C AE8E0000 */ sw $t6, ($s4)
/* 08C060 8008B460 240A0014 */ li $t2, 20
/* 08C064 8008B464 240400EF */ li $a0, 239
/* 08C068 8008B468 00002825 */ move $a1, $zero
/* 08C06C 8008B46C 0000C812 */ mflo $t9
/* 08C070 8008B470 01F94021 */ addu $t0, $t7, $t9
/* 08C074 8008B474 8509000C */ lh $t1, 0xc($t0)
/* 08C078 8008B478 A6600002 */ sh $zero, 2($s3)
/* 08C07C 8008B47C A26A0001 */ sb $t2, 1($s3)
/* 08C080 8008B480 0C000741 */ jal play_sound_global
/* 08C084 8008B484 A2690000 */ sb $t1, ($s3)
.L8008B488:
/* 08C088 8008B488 26310001 */ addiu $s1, $s1, 1
/* 08C08C 8008B48C 24010004 */ li $at, 4
/* 08C090 8008B490 1621FFCB */ bne $s1, $at, .L8008B3C0
/* 08C094 8008B494 26520001 */ addiu $s2, $s2, 1
/* 08C098 8008B498 8FBF003C */ lw $ra, 0x3c($sp)
/* 08C09C 8008B49C 8FB00018 */ lw $s0, 0x18($sp)
/* 08C0A0 8008B4A0 8FB1001C */ lw $s1, 0x1c($sp)
/* 08C0A4 8008B4A4 8FB20020 */ lw $s2, 0x20($sp)
/* 08C0A8 8008B4A8 8FB30024 */ lw $s3, 0x24($sp)
/* 08C0AC 8008B4AC 8FB40028 */ lw $s4, 0x28($sp)
/* 08C0B0 8008B4B0 8FB5002C */ lw $s5, 0x2c($sp)
/* 08C0B4 8008B4B4 8FB60030 */ lw $s6, 0x30($sp)
/* 08C0B8 8008B4B8 8FB70034 */ lw $s7, 0x34($sp)
/* 08C0BC 8008B4BC 8FBE0038 */ lw $fp, 0x38($sp)
/* 08C0C0 8008B4C0 03E00008 */ jr $ra
/* 08C0C4 8008B4C4 27BD0040 */ addiu $sp, $sp, 0x40
+2 -2
View File
@@ -1,7 +1,7 @@
glabel func_8008E4EC
/* 08F0EC 8008E4EC 27BDFF88 */ addiu $sp, $sp, -0x78
/* 08F0F0 8008E4F0 3C0E8012 */ lui $t6, %hi(gIgnorePlayerInput) # $t6, 0x8012
/* 08F0F4 8008E4F4 8DCE63C4 */ lw $t6, %lo(gIgnorePlayerInput)($t6)
/* 08F0F0 8008E4F0 3C0E8012 */ lui $t6, %hi(gIgnorePlayerInputTime) # $t6, 0x8012
/* 08F0F4 8008E4F4 8DCE63C4 */ lw $t6, %lo(gIgnorePlayerInputTime)($t6)
/* 08F0F8 8008E4F8 AFBF003C */ sw $ra, 0x3c($sp)
/* 08F0FC 8008E4FC AFBE0038 */ sw $fp, 0x38($sp)
/* 08F100 8008E500 AFB70034 */ sw $s7, 0x34($sp)
+10 -10
View File
@@ -109,8 +109,8 @@ glabel func_80095728
.L800958A4:
/* 0964A4 800958A4 0C026FC8 */ jal update_controller_sticks
/* 0964A8 800958A8 AFAA0030 */ sw $t2, 0x30($sp)
/* 0964AC 800958AC 3C0E8012 */ lui $t6, %hi(gIgnorePlayerInput) # $t6, 0x8012
/* 0964B0 800958B0 8DCE63C4 */ lw $t6, %lo(gIgnorePlayerInput)($t6)
/* 0964AC 800958AC 3C0E8012 */ lui $t6, %hi(gIgnorePlayerInputTime) # $t6, 0x8012
/* 0964B0 800958B0 8DCE63C4 */ lw $t6, %lo(gIgnorePlayerInputTime)($t6)
/* 0964B4 800958B4 3C098012 */ lui $t1, %hi(D_80126C14) # $t1, 0x8012
/* 0964B8 800958B8 8FAA0030 */ lw $t2, 0x30($sp)
/* 0964BC 800958BC 25296C14 */ addiu $t1, %lo(D_80126C14) # addiu $t1, $t1, 0x6c14
@@ -1115,21 +1115,21 @@ glabel L800964DC
.L80096710:
/* 097310 80096710 AFAC0044 */ sw $t4, 0x44($sp)
.L80096714:
/* 097314 80096714 3C028012 */ lui $v0, %hi(gIgnorePlayerInput) # $v0, 0x8012
/* 097318 80096718 8C4263C4 */ lw $v0, %lo(gIgnorePlayerInput)($v0)
/* 097314 80096714 3C028012 */ lui $v0, %hi(gIgnorePlayerInputTime) # $v0, 0x8012
/* 097318 80096718 8C4263C4 */ lw $v0, %lo(gIgnorePlayerInputTime)($v0)
/* 09731C 8009671C 3C0D8012 */ lui $t5, %hi(sMenuCurrDisplayList) # $t5, 0x8012
/* 097320 80096720 1840000B */ blez $v0, .L80096750
/* 097324 80096724 00000000 */ nop
/* 097328 80096728 8FAE0064 */ lw $t6, 0x64($sp)
/* 09732C 8009672C 3C018012 */ lui $at, %hi(gIgnorePlayerInput) # $at, 0x8012
/* 09732C 8009672C 3C018012 */ lui $at, %hi(gIgnorePlayerInputTime) # $at, 0x8012
/* 097330 80096730 004E7823 */ subu $t7, $v0, $t6
/* 097334 80096734 AC2F63C4 */ sw $t7, %lo(gIgnorePlayerInput)($at)
/* 097338 80096738 3C188012 */ lui $t8, %hi(gIgnorePlayerInput) # $t8, 0x8012
/* 09733C 8009673C 8F1863C4 */ lw $t8, %lo(gIgnorePlayerInput)($t8)
/* 097340 80096740 3C018012 */ lui $at, %hi(gIgnorePlayerInput) # $at, 0x8012
/* 097334 80096734 AC2F63C4 */ sw $t7, %lo(gIgnorePlayerInputTime)($at)
/* 097338 80096738 3C188012 */ lui $t8, %hi(gIgnorePlayerInputTime) # $t8, 0x8012
/* 09733C 8009673C 8F1863C4 */ lw $t8, %lo(gIgnorePlayerInputTime)($t8)
/* 097340 80096740 3C018012 */ lui $at, %hi(gIgnorePlayerInputTime) # $at, 0x8012
/* 097344 80096744 07010002 */ bgez $t8, .L80096750
/* 097348 80096748 00000000 */ nop
/* 09734C 8009674C AC2063C4 */ sw $zero, %lo(gIgnorePlayerInput)($at)
/* 09734C 8009674C AC2063C4 */ sw $zero, %lo(gIgnorePlayerInputTime)($at)
.L80096750:
/* 097350 80096750 8DAD63A0 */ lw $t5, %lo(sMenuCurrDisplayList)($t5)
/* 097354 80096754 8FB90058 */ lw $t9, 0x58($sp)
-80
View File
@@ -1,80 +0,0 @@
glabel func_80098EBC
/* 099ABC 80098EBC 3C028012 */ lui $v0, %hi(gOptionBlinkTimer) # $v0, 0x8012
/* 099AC0 80098EC0 244263BC */ addiu $v0, %lo(gOptionBlinkTimer) # addiu $v0, $v0, 0x63bc
/* 099AC4 80098EC4 8C4E0000 */ lw $t6, ($v0)
/* 099AC8 80098EC8 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 099ACC 80098ECC 01C47821 */ addu $t7, $t6, $a0
/* 099AD0 80098ED0 31F8003F */ andi $t8, $t7, 0x3f
/* 099AD4 80098ED4 0018C8C0 */ sll $t9, $t8, 3
/* 099AD8 80098ED8 2B210100 */ slti $at, $t9, 0x100
/* 099ADC 80098EDC AFBF0014 */ sw $ra, 0x14($sp)
/* 099AE0 80098EE0 AC580000 */ sw $t8, ($v0)
/* 099AE4 80098EE4 14200003 */ bnez $at, .L80098EF4
/* 099AE8 80098EE8 03203025 */ move $a2, $t9
/* 099AEC 80098EEC 240C01FF */ li $t4, 511
/* 099AF0 80098EF0 01993023 */ subu $a2, $t4, $t9
.L80098EF4:
/* 099AF4 80098EF4 3C09800E */ lui $t1, %hi(D_800E0FE4) # $t1, 0x800e
/* 099AF8 80098EF8 8D290FE4 */ lw $t1, %lo(D_800E0FE4)($t1)
/* 099AFC 80098EFC 00002025 */ move $a0, $zero
/* 099B00 80098F00 19200024 */ blez $t1, .L80098F94
/* 099B04 80098F04 3C0A800E */ lui $t2, %hi(gNumberOfActivePlayers) # $t2, 0x800e
/* 099B08 80098F08 3C05800E */ lui $a1, %hi(D_800E1048+64) # $a1, 0x800e
/* 099B0C 80098F0C 3C0B8012 */ lui $t3, %hi(D_801263E0) # $t3, 0x8012
/* 099B10 80098F10 3C088012 */ lui $t0, %hi(D_80126420) # $t0, 0x8012
/* 099B14 80098F14 3C078012 */ lui $a3, %hi(D_80126418) # $a3, 0x8012
/* 099B18 80098F18 8D4AF4BC */ lw $t2, %lo(gNumberOfActivePlayers)($t2)
/* 099B1C 80098F1C 24E76418 */ addiu $a3, %lo(D_80126418) # addiu $a3, $a3, 0x6418
/* 099B20 80098F20 25086420 */ addiu $t0, %lo(D_80126420) # addiu $t0, $t0, 0x6420
/* 099B24 80098F24 256B63E0 */ addiu $t3, %lo(D_801263E0) # addiu $t3, $t3, 0x63e0
/* 099B28 80098F28 24A51088 */ addiu $a1, %lo(D_800E1048+64) # addiu $a1, $a1, 0x1088
.L80098F2C:
/* 099B2C 80098F2C 29410003 */ slti $at, $t2, 3
/* 099B30 80098F30 10200011 */ beqz $at, .L80098F78
/* 099B34 80098F34 240200FF */ li $v0, 255
/* 099B38 80098F38 8D630000 */ lw $v1, ($t3)
/* 099B3C 80098F3C 00E46821 */ addu $t5, $a3, $a0
/* 099B40 80098F40 14600005 */ bnez $v1, .L80098F58
/* 099B44 80098F44 00000000 */ nop
/* 099B48 80098F48 91AE0000 */ lbu $t6, ($t5)
/* 099B4C 80098F4C 00000000 */ nop
/* 099B50 80098F50 15C00007 */ bnez $t6, .L80098F70
/* 099B54 80098F54 00000000 */ nop
.L80098F58:
/* 099B58 80098F58 10600007 */ beqz $v1, .L80098F78
/* 099B5C 80098F5C 01047821 */ addu $t7, $t0, $a0
/* 099B60 80098F60 91F80000 */ lbu $t8, ($t7)
/* 099B64 80098F64 00000000 */ nop
/* 099B68 80098F68 13000003 */ beqz $t8, .L80098F78
/* 099B6C 80098F6C 00000000 */ nop
.L80098F70:
/* 099B70 80098F70 00061043 */ sra $v0, $a2, 1
/* 099B74 80098F74 24420080 */ addiu $v0, $v0, 0x80
.L80098F78:
/* 099B78 80098F78 24840001 */ addiu $a0, $a0, 1
/* 099B7C 80098F7C 0089082A */ slt $at, $a0, $t1
/* 099B80 80098F80 24A50060 */ addiu $a1, $a1, 0x60
/* 099B84 80098F84 A0A2FFAC */ sb $v0, -0x54($a1)
/* 099B88 80098F88 A0A2FFAD */ sb $v0, -0x53($a1)
/* 099B8C 80098F8C 1420FFE7 */ bnez $at, .L80098F2C
/* 099B90 80098F90 A0A2FFAE */ sb $v0, -0x52($a1)
.L80098F94:
/* 099B94 80098F94 3C0B8012 */ lui $t3, %hi(D_801263E0) # $t3, 0x8012
/* 099B98 80098F98 256B63E0 */ addiu $t3, %lo(D_801263E0) # addiu $t3, $t3, 0x63e0
/* 099B9C 80098F9C 8D620000 */ lw $v0, ($t3)
/* 099BA0 80098FA0 24010002 */ li $at, 2
/* 099BA4 80098FA4 10410003 */ beq $v0, $at, .L80098FB4
/* 099BA8 80098FA8 24040001 */ li $a0, 1
/* 099BAC 80098FAC 24010003 */ li $at, 3
/* 099BB0 80098FB0 14410004 */ bne $v0, $at, .L80098FC4
.L80098FB4:
/* 099BB4 80098FB4 3C05800E */ lui $a1, %hi(D_800E1048) # $a1, 0x800e
/* 099BB8 80098FB8 24A51048 */ addiu $a1, %lo(D_800E1048) # addiu $a1, $a1, 0x1048
/* 099BBC 80098FBC 0C02087B */ jal draw_menu_elements
/* 099BC0 80098FC0 3C063F80 */ lui $a2, 0x3f80
.L80098FC4:
/* 099BC4 80098FC4 8FBF0014 */ lw $ra, 0x14($sp)
/* 099BC8 80098FC8 27BD0018 */ addiu $sp, $sp, 0x18
/* 099BCC 80098FCC 03E00008 */ jr $ra
/* 099BD0 80098FD0 00000000 */ nop
-147
View File
@@ -1,147 +0,0 @@
glabel menu_23_loop
/* 09B8FC 8009ACFC 27BDFFB8 */ addiu $sp, $sp, -0x48
/* 09B900 8009AD00 3C0E8012 */ lui $t6, %hi(gIgnorePlayerInput) # $t6, 0x8012
/* 09B904 8009AD04 8DCE63C4 */ lw $t6, %lo(gIgnorePlayerInput)($t6)
/* 09B908 8009AD08 AFB20030 */ sw $s2, 0x30($sp)
/* 09B90C 8009AD0C AFBF0044 */ sw $ra, 0x44($sp)
/* 09B910 8009AD10 AFB60040 */ sw $s6, 0x40($sp)
/* 09B914 8009AD14 AFB5003C */ sw $s5, 0x3c($sp)
/* 09B918 8009AD18 AFB40038 */ sw $s4, 0x38($sp)
/* 09B91C 8009AD1C AFB30034 */ sw $s3, 0x34($sp)
/* 09B920 8009AD20 AFB1002C */ sw $s1, 0x2c($sp)
/* 09B924 8009AD24 AFB00028 */ sw $s0, 0x28($sp)
/* 09B928 8009AD28 AFA40048 */ sw $a0, 0x48($sp)
/* 09B92C 8009AD2C 15C0000E */ bnez $t6, .L8009AD68
/* 09B930 8009AD30 00009025 */ move $s2, $zero
/* 09B934 8009AD34 3C11800E */ lui $s1, %hi(gNumberOfActivePlayers) # $s1, 0x800e
/* 09B938 8009AD38 2631F4BC */ addiu $s1, %lo(gNumberOfActivePlayers) # addiu $s1, $s1, -0xb44
/* 09B93C 8009AD3C 8E2F0000 */ lw $t7, ($s1)
/* 09B940 8009AD40 00008025 */ move $s0, $zero
/* 09B944 8009AD44 19E00008 */ blez $t7, .L8009AD68
/* 09B948 8009AD48 00000000 */ nop
.L8009AD4C:
/* 09B94C 8009AD4C 0C01A955 */ jal get_buttons_pressed_from_player
/* 09B950 8009AD50 02002025 */ move $a0, $s0
/* 09B954 8009AD54 8E380000 */ lw $t8, ($s1)
/* 09B958 8009AD58 26100001 */ addiu $s0, $s0, 1
/* 09B95C 8009AD5C 0218082A */ slt $at, $s0, $t8
/* 09B960 8009AD60 1420FFFA */ bnez $at, .L8009AD4C
/* 09B964 8009AD64 02429025 */ or $s2, $s2, $v0
.L8009AD68:
/* 09B968 8009AD68 0C008531 */ jal func_800214C4
/* 09B96C 8009AD6C 00000000 */ nop
/* 09B970 8009AD70 1040001C */ beqz $v0, .L8009ADE4
/* 09B974 8009AD74 3C038012 */ lui $v1, %hi(D_801267EC) # $v1, 0x8012
/* 09B978 8009AD78 246367EC */ addiu $v1, %lo(D_801267EC) # addiu $v1, $v1, 0x67ec
/* 09B97C 8009AD7C 8C790000 */ lw $t9, ($v1)
/* 09B980 8009AD80 3C098012 */ lui $t1, %hi(D_8012684C) # $t1, 0x8012
/* 09B984 8009AD84 27280003 */ addiu $t0, $t9, 3
/* 09B988 8009AD88 AC680000 */ sw $t0, ($v1)
/* 09B98C 8009AD8C 81040000 */ lb $a0, ($t0)
/* 09B990 8009AD90 00000000 */ nop
/* 09B994 8009AD94 04800007 */ bltz $a0, .L8009ADB4
/* 09B998 8009AD98 00000000 */ nop
/* 09B99C 8009AD9C 81050001 */ lb $a1, 1($t0)
/* 09B9A0 8009ADA0 81060002 */ lb $a2, 2($t0)
/* 09B9A4 8009ADA4 0C01B8BA */ jal load_level_for_menu
/* 09B9A8 8009ADA8 00000000 */ nop
/* 09B9AC 8009ADAC 1000000D */ b .L8009ADE4
/* 09B9B0 8009ADB0 00000000 */ nop
.L8009ADB4:
/* 09B9B4 8009ADB4 8D29684C */ lw $t1, %lo(D_8012684C)($t1)
/* 09B9B8 8009ADB8 00000000 */ nop
/* 09B9BC 8009ADBC 11200003 */ beqz $t1, .L8009ADCC
/* 09B9C0 8009ADC0 00000000 */ nop
/* 09B9C4 8009ADC4 0C0002C6 */ jal func_80000B18
/* 09B9C8 8009ADC8 00000000 */ nop
.L8009ADCC:
/* 09B9CC 8009ADCC 0C026BC6 */ jal func_8009AF18
/* 09B9D0 8009ADD0 00000000 */ nop
/* 09B9D4 8009ADD4 3C028012 */ lui $v0, %hi(D_80126824) # $v0, 0x8012
/* 09B9D8 8009ADD8 8C426824 */ lw $v0, %lo(D_80126824)($v0)
/* 09B9DC 8009ADDC 10000045 */ b .L8009AEF4
/* 09B9E0 8009ADE0 8FBF0044 */ lw $ra, 0x44($sp)
.L8009ADE4:
/* 09B9E4 8009ADE4 3C108012 */ lui $s0, %hi(D_8012683C) # $s0, 0x8012
/* 09B9E8 8009ADE8 2610683C */ addiu $s0, %lo(D_8012683C) # addiu $s0, $s0, 0x683c
/* 09B9EC 8009ADEC 8E0A0000 */ lw $t2, ($s0)
/* 09B9F0 8009ADF0 324B9000 */ andi $t3, $s2, 0x9000
/* 09B9F4 8009ADF4 11400008 */ beqz $t2, .L8009AE18
/* 09B9F8 8009ADF8 00000000 */ nop
/* 09B9FC 8009ADFC 11600006 */ beqz $t3, .L8009AE18
/* 09BA00 8009AE00 00000000 */ nop
/* 09BA04 8009AE04 0C026BC6 */ jal func_8009AF18
/* 09BA08 8009AE08 00000000 */ nop
/* 09BA0C 8009AE0C 8E020000 */ lw $v0, ($s0)
/* 09BA10 8009AE10 10000038 */ b .L8009AEF4
/* 09BA14 8009AE14 8FBF0044 */ lw $ra, 0x44($sp)
.L8009AE18:
/* 09BA18 8009AE18 3C108012 */ lui $s0, %hi(D_80126844) # $s0, 0x8012
/* 09BA1C 8009AE1C 26106844 */ addiu $s0, %lo(D_80126844) # addiu $s0, $s0, 0x6844
/* 09BA20 8009AE20 8E0C0000 */ lw $t4, ($s0)
/* 09BA24 8009AE24 00000000 */ nop
/* 09BA28 8009AE28 11800008 */ beqz $t4, .L8009AE4C
/* 09BA2C 8009AE2C 324D4000 */ andi $t5, $s2, 0x4000
/* 09BA30 8009AE30 11A00006 */ beqz $t5, .L8009AE4C
/* 09BA34 8009AE34 00000000 */ nop
/* 09BA38 8009AE38 0C026BC6 */ jal func_8009AF18
/* 09BA3C 8009AE3C 00000000 */ nop
/* 09BA40 8009AE40 8E020000 */ lw $v0, ($s0)
/* 09BA44 8009AE44 1000002B */ b .L8009AEF4
/* 09BA48 8009AE48 8FBF0044 */ lw $ra, 0x44($sp)
.L8009AE4C:
/* 09BA4C 8009AE4C 3C138012 */ lui $s3, %hi(D_80126804) # $s3, 0x8012
/* 09BA50 8009AE50 26736804 */ addiu $s3, %lo(D_80126804) # addiu $s3, $s3, 0x6804
/* 09BA54 8009AE54 8E620000 */ lw $v0, ($s3)
/* 09BA58 8009AE58 00000000 */ nop
/* 09BA5C 8009AE5C 10400021 */ beqz $v0, .L8009AEE4
/* 09BA60 8009AE60 00000000 */ nop
/* 09BA64 8009AE64 804E0000 */ lb $t6, ($v0)
/* 09BA68 8009AE68 2414FFFF */ li $s4, -1
/* 09BA6C 8009AE6C 128E001D */ beq $s4, $t6, .L8009AEE4
/* 09BA70 8009AE70 00008025 */ move $s0, $zero
/* 09BA74 8009AE74 3C16800E */ lui $s6, %hi(D_800E0AF0) # $s6, 0x800e
/* 09BA78 8009AE78 3C158012 */ lui $s5, %hi(sMenuCurrDisplayList) # $s5, 0x8012
/* 09BA7C 8009AE7C 80510000 */ lb $s1, ($v0)
/* 09BA80 8009AE80 26B563A0 */ addiu $s5, %lo(sMenuCurrDisplayList) # addiu $s5, $s5, 0x63a0
/* 09BA84 8009AE84 26D60AF0 */ addiu $s6, %lo(D_800E0AF0) # addiu $s6, $s6, 0xaf0
/* 09BA88 8009AE88 24120010 */ li $s2, 16
/* 09BA8C 8009AE8C 00117880 */ sll $t7, $s1, 2
.L8009AE90:
/* 09BA90 8009AE90 02CFC021 */ addu $t8, $s6, $t7
/* 09BA94 8009AE94 8F050000 */ lw $a1, ($t8)
/* 09BA98 8009AE98 241900FF */ li $t9, 255
/* 09BA9C 8009AE9C 240800FF */ li $t0, 255
/* 09BAA0 8009AEA0 240900FF */ li $t1, 255
/* 09BAA4 8009AEA4 240A00FF */ li $t2, 255
/* 09BAA8 8009AEA8 AFAA001C */ sw $t2, 0x1c($sp)
/* 09BAAC 8009AEAC AFA90018 */ sw $t1, 0x18($sp)
/* 09BAB0 8009AEB0 AFA80014 */ sw $t0, 0x14($sp)
/* 09BAB4 8009AEB4 AFB90010 */ sw $t9, 0x10($sp)
/* 09BAB8 8009AEB8 02A02025 */ move $a0, $s5
/* 09BABC 8009AEBC 24060018 */ li $a2, 24
/* 09BAC0 8009AEC0 0C01E2AE */ jal render_textured_rectangle
/* 09BAC4 8009AEC4 02403825 */ move $a3, $s2
/* 09BAC8 8009AEC8 8E6B0000 */ lw $t3, ($s3)
/* 09BACC 8009AECC 26100001 */ addiu $s0, $s0, 1
/* 09BAD0 8009AED0 01706021 */ addu $t4, $t3, $s0
/* 09BAD4 8009AED4 81910000 */ lb $s1, ($t4)
/* 09BAD8 8009AED8 2652002C */ addiu $s2, $s2, 0x2c
/* 09BADC 8009AEDC 1691FFEC */ bne $s4, $s1, .L8009AE90
/* 09BAE0 8009AEE0 00117880 */ sll $t7, $s1, 2
.L8009AEE4:
/* 09BAE4 8009AEE4 3C018012 */ lui $at, %hi(gIgnorePlayerInput) # $at, 0x8012
/* 09BAE8 8009AEE8 AC2063C4 */ sw $zero, %lo(gIgnorePlayerInput)($at)
/* 09BAEC 8009AEEC 00001025 */ move $v0, $zero
/* 09BAF0 8009AEF0 8FBF0044 */ lw $ra, 0x44($sp)
.L8009AEF4:
/* 09BAF4 8009AEF4 8FB00028 */ lw $s0, 0x28($sp)
/* 09BAF8 8009AEF8 8FB1002C */ lw $s1, 0x2c($sp)
/* 09BAFC 8009AEFC 8FB20030 */ lw $s2, 0x30($sp)
/* 09BB00 8009AF00 8FB30034 */ lw $s3, 0x34($sp)
/* 09BB04 8009AF04 8FB40038 */ lw $s4, 0x38($sp)
/* 09BB08 8009AF08 8FB5003C */ lw $s5, 0x3c($sp)
/* 09BB0C 8009AF0C 8FB60040 */ lw $s6, 0x40($sp)
/* 09BB10 8009AF10 03E00008 */ jr $ra
/* 09BB14 8009AF14 27BD0048 */ addiu $sp, $sp, 0x48
@@ -33,8 +33,8 @@ glabel menu_audio_options_loop
/* 0858E8 80084CE8 3C09800E */ lui $t1, %hi(gMenuDelay) # $t1, 0x800e
/* 0858EC 80084CEC 2529F47C */ addiu $t1, %lo(gMenuDelay) # addiu $t1, $t1, -0xb84
.L80084CF0:
/* 0858F0 80084CF0 3C0B8012 */ lui $t3, %hi(gIgnorePlayerInput) # $t3, 0x8012
/* 0858F4 80084CF4 8D6B63C4 */ lw $t3, %lo(gIgnorePlayerInput)($t3)
/* 0858F0 80084CF0 3C0B8012 */ lui $t3, %hi(gIgnorePlayerInputTime) # $t3, 0x8012
/* 0858F4 80084CF4 8D6B63C4 */ lw $t3, %lo(gIgnorePlayerInputTime)($t3)
/* 0858F8 80084CF8 00000000 */ nop
/* 0858FC 80084CFC 1560012C */ bnez $t3, .L800851B0
/* 085900 80084D00 00000000 */ nop
@@ -382,8 +382,8 @@ glabel menu_audio_options_loop
/* 085DDC 800851DC 10000003 */ b .L800851EC
/* 085DE0 800851E0 00001025 */ move $v0, $zero
.L800851E4:
/* 085DE4 800851E4 3C018012 */ lui $at, %hi(gIgnorePlayerInput) # $at, 0x8012
/* 085DE8 800851E8 AC2063C4 */ sw $zero, %lo(gIgnorePlayerInput)($at)
/* 085DE4 800851E4 3C018012 */ lui $at, %hi(gIgnorePlayerInputTime) # $at, 0x8012
/* 085DE8 800851E8 AC2063C4 */ sw $zero, %lo(gIgnorePlayerInputTime)($at)
.L800851EC:
/* 085DEC 800851EC 8FBF001C */ lw $ra, 0x1c($sp)
/* 085DF0 800851F0 8FB00018 */ lw $s0, 0x18($sp)
+6 -6
View File
@@ -198,10 +198,10 @@ glabel menu_credits_loop
/* 09C204 8009B604 8FB8006C */ lw $t8, 0x6c($sp)
.L8009B608:
/* 09C208 8009B608 AEC00000 */ sw $zero, ($s6)
/* 09C20C 8009B60C 3C018012 */ lui $at, %hi(gIgnorePlayerInput) # $at, 0x8012
/* 09C20C 8009B60C 3C018012 */ lui $at, %hi(gIgnorePlayerInputTime) # $at, 0x8012
/* 09C210 8009B610 AFA90068 */ sw $t1, 0x68($sp)
/* 09C214 8009B614 100000FD */ b .L8009BA0C
/* 09C218 8009B618 AC2063C4 */ sw $zero, %lo(gIgnorePlayerInput)($at)
/* 09C218 8009B618 AC2063C4 */ sw $zero, %lo(gIgnorePlayerInputTime)($at)
.L8009B61C:
/* 09C21C 8009B61C 3C01FFFF */ lui $at, (0xFFFF0FFF >> 16) # lui $at, 0xffff
.L8009B620:
@@ -489,8 +489,8 @@ glabel menu_credits_loop
/* 09C61C 8009BA1C 3C068012 */ lui $a2, %hi(gOpacityDecayTimer) # $a2, 0x8012
/* 09C620 8009BA20 24C663D8 */ addiu $a2, %lo(gOpacityDecayTimer) # addiu $a2, $a2, 0x63d8
.L8009BA24:
/* 09C624 8009BA24 3C198012 */ lui $t9, %hi(gIgnorePlayerInput) # $t9, 0x8012
/* 09C628 8009BA28 8F3963C4 */ lw $t9, %lo(gIgnorePlayerInput)($t9)
/* 09C624 8009BA24 3C198012 */ lui $t9, %hi(gIgnorePlayerInputTime) # $t9, 0x8012
/* 09C628 8009BA28 8F3963C4 */ lw $t9, %lo(gIgnorePlayerInputTime)($t9)
/* 09C62C 8009BA2C 00009025 */ move $s2, $zero
/* 09C630 8009BA30 1720000C */ bnez $t9, .L8009BA64
/* 09C634 8009BA34 3C09800E */ lui $t1, %hi(gMenuDelay) # $t1, 0x800e
@@ -613,11 +613,11 @@ glabel L8009BB9C
/* 09C7E4 8009BBE4 AC6E0000 */ sw $t6, ($v1)
/* 09C7E8 8009BBE8 03194821 */ addu $t1, $t8, $t9
/* 09C7EC 8009BBEC 812A0000 */ lb $t2, ($t1)
/* 09C7F0 8009BBF0 3C018012 */ lui $at, %hi(gIgnorePlayerInput) # $at, 0x8012
/* 09C7F0 8009BBF0 3C018012 */ lui $at, %hi(gIgnorePlayerInputTime) # $at, 0x8012
/* 09C7F4 8009BBF4 05410004 */ bgez $t2, .L8009BC08
/* 09C7F8 8009BBF8 324C9000 */ andi $t4, $s2, 0x9000
/* 09C7FC 8009BBFC AC600000 */ sw $zero, ($v1)
/* 09C800 8009BC00 AC2063C4 */ sw $zero, %lo(gIgnorePlayerInput)($at)
/* 09C800 8009BC00 AC2063C4 */ sw $zero, %lo(gIgnorePlayerInputTime)($at)
.L8009BC04:
/* 09C804 8009BC04 324C9000 */ andi $t4, $s2, 0x9000
.L8009BC08:
@@ -1,274 +0,0 @@
glabel menu_magic_codes_list_loop
/* 08B528 8008A928 27BDFFA8 */ addiu $sp, $sp, -0x58
/* 08B52C 8008A92C 3C02800E */ lui $v0, %hi(gMenuDelay) # $v0, 0x800e
/* 08B530 8008A930 8C42F47C */ lw $v0, %lo(gMenuDelay)($v0)
/* 08B534 8008A934 AFBF0024 */ sw $ra, 0x24($sp)
/* 08B538 8008A938 AFB30020 */ sw $s3, 0x20($sp)
/* 08B53C 8008A93C AFB2001C */ sw $s2, 0x1c($sp)
/* 08B540 8008A940 AFB10018 */ sw $s1, 0x18($sp)
/* 08B544 8008A944 AFB00014 */ sw $s0, 0x14($sp)
/* 08B548 8008A948 1040000F */ beqz $v0, .L8008A988
/* 08B54C 8008A94C AFA00048 */ sw $zero, 0x48($sp)
/* 08B550 8008A950 18400008 */ blez $v0, .L8008A974
/* 08B554 8008A954 00447823 */ subu $t7, $v0, $a0
/* 08B558 8008A958 00447021 */ addu $t6, $v0, $a0
/* 08B55C 8008A95C 3C01800E */ lui $at, %hi(gMenuDelay) # $at, 0x800e
/* 08B560 8008A960 AC2EF47C */ sw $t6, %lo(gMenuDelay)($at)
/* 08B564 8008A964 3C02800E */ lui $v0, %hi(gMenuDelay) # $v0, 0x800e
/* 08B568 8008A968 8C42F47C */ lw $v0, %lo(gMenuDelay)($v0)
/* 08B56C 8008A96C 10000006 */ b .L8008A988
/* 08B570 8008A970 00000000 */ nop
.L8008A974:
/* 08B574 8008A974 3C01800E */ lui $at, %hi(gMenuDelay) # $at, 0x800e
/* 08B578 8008A978 AC2FF47C */ sw $t7, %lo(gMenuDelay)($at)
/* 08B57C 8008A97C 3C02800E */ lui $v0, %hi(gMenuDelay) # $v0, 0x800e
/* 08B580 8008A980 8C42F47C */ lw $v0, %lo(gMenuDelay)($v0)
/* 08B584 8008A984 00000000 */ nop
.L8008A988:
/* 08B588 8008A988 3C038012 */ lui $v1, %hi(gOptionBlinkTimer) # $v1, 0x8012
/* 08B58C 8008A98C 246363BC */ addiu $v1, %lo(gOptionBlinkTimer) # addiu $v1, $v1, 0x63bc
/* 08B590 8008A990 8C780000 */ lw $t8, ($v1)
/* 08B594 8008A994 2841FFED */ slti $at, $v0, -0x13
/* 08B598 8008A998 0304C821 */ addu $t9, $t8, $a0
/* 08B59C 8008A99C 3329003F */ andi $t1, $t9, 0x3f
/* 08B5A0 8008A9A0 14200006 */ bnez $at, .L8008A9BC
/* 08B5A4 8008A9A4 AC690000 */ sw $t1, ($v1)
/* 08B5A8 8008A9A8 28410014 */ slti $at, $v0, 0x14
/* 08B5AC 8008A9AC 10200003 */ beqz $at, .L8008A9BC
/* 08B5B0 8008A9B0 00000000 */ nop
/* 08B5B4 8008A9B4 0C02295B */ jal render_magic_codes_list_menu_text
/* 08B5B8 8008A9B8 00000000 */ nop
.L8008A9BC:
/* 08B5BC 8008A9BC 3C0A8012 */ lui $t2, %hi(gIgnorePlayerInput) # $t2, 0x8012
/* 08B5C0 8008A9C0 8D4A63C4 */ lw $t2, %lo(gIgnorePlayerInput)($t2)
/* 08B5C4 8008A9C4 00009825 */ move $s3, $zero
/* 08B5C8 8008A9C8 00003025 */ move $a2, $zero
/* 08B5CC 8008A9CC 1540001B */ bnez $t2, .L8008AA3C
/* 08B5D0 8008A9D0 00009025 */ move $s2, $zero
/* 08B5D4 8008A9D4 3C0B800E */ lui $t3, %hi(gMenuDelay) # $t3, 0x800e
/* 08B5D8 8008A9D8 8D6BF47C */ lw $t3, %lo(gMenuDelay)($t3)
/* 08B5DC 8008A9DC 00008025 */ move $s0, $zero
/* 08B5E0 8008A9E0 15600016 */ bnez $t3, .L8008AA3C
/* 08B5E4 8008A9E4 3C038012 */ lui $v1, %hi(gControllersXAxisDirection) # $v1, 0x8012
/* 08B5E8 8008A9E8 3C058012 */ lui $a1, %hi(gControllersYAxisDirection) # $a1, 0x8012
/* 08B5EC 8008A9EC 24A56464 */ addiu $a1, %lo(gControllersYAxisDirection) # addiu $a1, $a1, 0x6464
/* 08B5F0 8008A9F0 2463645C */ addiu $v1, %lo(gControllersXAxisDirection) # addiu $v1, $v1, 0x645c
/* 08B5F4 8008A9F4 24110004 */ li $s1, 4
.L8008A9F8:
/* 08B5F8 8008A9F8 02002025 */ move $a0, $s0
/* 08B5FC 8008A9FC AFA30030 */ sw $v1, 0x30($sp)
/* 08B600 8008AA00 AFA5002C */ sw $a1, 0x2c($sp)
/* 08B604 8008AA04 0C01A955 */ jal get_buttons_pressed_from_player
/* 08B608 8008AA08 AFA60050 */ sw $a2, 0x50($sp)
/* 08B60C 8008AA0C 8FA30030 */ lw $v1, 0x30($sp)
/* 08B610 8008AA10 8FA5002C */ lw $a1, 0x2c($sp)
/* 08B614 8008AA14 8FA60050 */ lw $a2, 0x50($sp)
/* 08B618 8008AA18 806C0000 */ lb $t4, ($v1)
/* 08B61C 8008AA1C 80AD0000 */ lb $t5, ($a1)
/* 08B620 8008AA20 26100001 */ addiu $s0, $s0, 1
/* 08B624 8008AA24 02629825 */ or $s3, $s3, $v0
/* 08B628 8008AA28 24630001 */ addiu $v1, $v1, 1
/* 08B62C 8008AA2C 24A50001 */ addiu $a1, $a1, 1
/* 08B630 8008AA30 00CC3021 */ addu $a2, $a2, $t4
/* 08B634 8008AA34 1611FFF0 */ bne $s0, $s1, .L8008A9F8
/* 08B638 8008AA38 024D9021 */ addu $s2, $s2, $t5
.L8008AA3C:
/* 08B63C 8008AA3C 3C02800E */ lui $v0, %hi(gUnlockedMagicCodes) # $v0, 0x800e
/* 08B640 8008AA40 3C088012 */ lui $t0, %hi(D_80126C80) # $t0, 0x8012
/* 08B644 8008AA44 8C42FD9C */ lw $v0, %lo(gUnlockedMagicCodes)($v0)
/* 08B648 8008AA48 25086C80 */ addiu $t0, %lo(D_80126C80) # addiu $t0, $t0, 0x6c80
/* 08B64C 8008AA4C 00008025 */ move $s0, $zero
/* 08B650 8008AA50 24110001 */ li $s1, 1
/* 08B654 8008AA54 00003825 */ move $a3, $zero
/* 08B658 8008AA58 24030020 */ li $v1, 32
.L8008AA5C:
/* 08B65C 8008AA5C 02227024 */ and $t6, $s1, $v0
/* 08B660 8008AA60 11C00005 */ beqz $t6, .L8008AA78
/* 08B664 8008AA64 0011C840 */ sll $t9, $s1, 1
/* 08B668 8008AA68 00077840 */ sll $t7, $a3, 1
/* 08B66C 8008AA6C 010FC021 */ addu $t8, $t0, $t7
/* 08B670 8008AA70 A7100000 */ sh $s0, ($t8)
/* 08B674 8008AA74 24E70001 */ addiu $a3, $a3, 1
.L8008AA78:
/* 08B678 8008AA78 26100001 */ addiu $s0, $s0, 1
/* 08B67C 8008AA7C 1603FFF7 */ bne $s0, $v1, .L8008AA5C
/* 08B680 8008AA80 03208825 */ move $s1, $t9
/* 08B684 8008AA84 04C00002 */ bltz $a2, .L8008AA90
/* 08B688 8008AA88 3C108012 */ lui $s0, %hi(gOptionsMenuItemIndex) # $s0, 0x8012
/* 08B68C 8008AA8C 18C00048 */ blez $a2, .L8008ABB0
.L8008AA90:
/* 08B690 8008AA90 26106C46 */ addiu $s0, %lo(gOptionsMenuItemIndex) # addiu $s0, $s0, 0x6c46
/* 08B694 8008AA94 86090000 */ lh $t1, ($s0)
/* 08B698 8008AA98 240400EF */ li $a0, 239
/* 08B69C 8008AA9C 10E90044 */ beq $a3, $t1, .L8008ABB0
/* 08B6A0 8008AAA0 00002825 */ move $a1, $zero
/* 08B6A4 8008AAA4 0C000741 */ jal play_sound_global
/* 08B6A8 8008AAA8 AFA7003C */ sw $a3, 0x3c($sp)
/* 08B6AC 8008AAAC 860A0000 */ lh $t2, ($s0)
/* 08B6B0 8008AAB0 3C088012 */ lui $t0, %hi(D_80126C80) # $t0, 0x8012
/* 08B6B4 8008AAB4 25086C80 */ addiu $t0, %lo(D_80126C80) # addiu $t0, $t0, 0x6c80
/* 08B6B8 8008AAB8 000A5840 */ sll $t3, $t2, 1
/* 08B6BC 8008AABC 3C02800E */ lui $v0, %hi(gActiveMagicCodes) # $v0, 0x800e
/* 08B6C0 8008AAC0 010B6021 */ addu $t4, $t0, $t3
/* 08B6C4 8008AAC4 858D0000 */ lh $t5, ($t4)
/* 08B6C8 8008AAC8 2442FD98 */ addiu $v0, %lo(gActiveMagicCodes) # addiu $v0, $v0, -0x268
/* 08B6CC 8008AACC 8C4F0000 */ lw $t7, ($v0)
/* 08B6D0 8008AAD0 240E0001 */ li $t6, 1
/* 08B6D4 8008AAD4 01AE8804 */ sllv $s1, $t6, $t5
/* 08B6D8 8008AAD8 01F1C026 */ xor $t8, $t7, $s1
/* 08B6DC 8008AADC AC580000 */ sw $t8, ($v0)
/* 08B6E0 8008AAE0 02202025 */ move $a0, $s1
/* 08B6E4 8008AAE4 24050010 */ li $a1, 16
/* 08B6E8 8008AAE8 0C022A3E */ jal func_8008A8F8
/* 08B6EC 8008AAEC 24060020 */ li $a2, 32
/* 08B6F0 8008AAF0 02202025 */ move $a0, $s1
/* 08B6F4 8008AAF4 24050020 */ li $a1, 32
/* 08B6F8 8008AAF8 0C022A3E */ jal func_8008A8F8
/* 08B6FC 8008AAFC 24060010 */ li $a2, 16
/* 08B700 8008AB00 02202025 */ move $a0, $s1
/* 08B704 8008AB04 24051000 */ li $a1, 4096
/* 08B708 8008AB08 0C022A3E */ jal func_8008A8F8
/* 08B70C 8008AB0C 24066080 */ li $a2, 24704
/* 08B710 8008AB10 02202025 */ move $a0, $s1
/* 08B714 8008AB14 24056080 */ li $a1, 24704
/* 08B718 8008AB18 0C022A3E */ jal func_8008A8F8
/* 08B71C 8008AB1C 24061000 */ li $a2, 4096
/* 08B720 8008AB20 3C06001F */ lui $a2, (0x001F8000 >> 16) # lui $a2, 0x1f
/* 08B724 8008AB24 34C68000 */ ori $a2, (0x001F8000 & 0xFFFF) # ori $a2, $a2, 0x8000
/* 08B728 8008AB28 02202025 */ move $a0, $s1
/* 08B72C 8008AB2C 0C022A3E */ jal func_8008A8F8
/* 08B730 8008AB30 24050800 */ li $a1, 2048
/* 08B734 8008AB34 3C05001F */ lui $a1, (0x001F8000 >> 16) # lui $a1, 0x1f
/* 08B738 8008AB38 34A58000 */ ori $a1, (0x001F8000 & 0xFFFF) # ori $a1, $a1, 0x8000
/* 08B73C 8008AB3C 02202025 */ move $a0, $s1
/* 08B740 8008AB40 0C022A3E */ jal func_8008A8F8
/* 08B744 8008AB44 24060800 */ li $a2, 2048
/* 08B748 8008AB48 02202025 */ move $a0, $s1
/* 08B74C 8008AB4C 34058000 */ li $a1, 32768
/* 08B750 8008AB50 0C022A3E */ jal func_8008A8F8
/* 08B754 8008AB54 3C06000F */ lui $a2, 0xf
/* 08B758 8008AB58 3C06000E */ lui $a2, (0x000E8000 >> 16) # lui $a2, 0xe
/* 08B75C 8008AB5C 34C68000 */ ori $a2, (0x000E8000 & 0xFFFF) # ori $a2, $a2, 0x8000
/* 08B760 8008AB60 02202025 */ move $a0, $s1
/* 08B764 8008AB64 0C022A3E */ jal func_8008A8F8
/* 08B768 8008AB68 3C050001 */ lui $a1, 1
/* 08B76C 8008AB6C 3C06000D */ lui $a2, (0x000D8000 >> 16) # lui $a2, 0xd
/* 08B770 8008AB70 34C68000 */ ori $a2, (0x000D8000 & 0xFFFF) # ori $a2, $a2, 0x8000
/* 08B774 8008AB74 02202025 */ move $a0, $s1
/* 08B778 8008AB78 0C022A3E */ jal func_8008A8F8
/* 08B77C 8008AB7C 3C050002 */ lui $a1, 2
/* 08B780 8008AB80 3C06000B */ lui $a2, (0x000B8000 >> 16) # lui $a2, 0xb
/* 08B784 8008AB84 34C68000 */ ori $a2, (0x000B8000 & 0xFFFF) # ori $a2, $a2, 0x8000
/* 08B788 8008AB88 02202025 */ move $a0, $s1
/* 08B78C 8008AB8C 0C022A3E */ jal func_8008A8F8
/* 08B790 8008AB90 3C050004 */ lui $a1, 4
/* 08B794 8008AB94 3C060007 */ lui $a2, (0x00078000 >> 16) # lui $a2, 7
/* 08B798 8008AB98 34C68000 */ ori $a2, (0x00078000 & 0xFFFF) # ori $a2, $a2, 0x8000
/* 08B79C 8008AB9C 02202025 */ move $a0, $s1
/* 08B7A0 8008ABA0 0C022A3E */ jal func_8008A8F8
/* 08B7A4 8008ABA4 3C050008 */ lui $a1, 8
/* 08B7A8 8008ABA8 8FA7003C */ lw $a3, 0x3c($sp)
/* 08B7AC 8008ABAC 00000000 */ nop
.L8008ABB0:
/* 08B7B0 8008ABB0 3C108012 */ lui $s0, %hi(gOptionsMenuItemIndex) # $s0, 0x8012
/* 08B7B4 8008ABB4 26106C46 */ addiu $s0, %lo(gOptionsMenuItemIndex) # addiu $s0, $s0, 0x6c46
/* 08B7B8 8008ABB8 86020000 */ lh $v0, ($s0)
/* 08B7BC 8008ABBC 0641000B */ bgez $s2, .L8008ABEC
/* 08B7C0 8008ABC0 00403025 */ move $a2, $v0
/* 08B7C4 8008ABC4 24590001 */ addiu $t9, $v0, 1
/* 08B7C8 8008ABC8 A6190000 */ sh $t9, ($s0)
/* 08B7CC 8008ABCC 86020000 */ lh $v0, ($s0)
/* 08B7D0 8008ABD0 00000000 */ nop
/* 08B7D4 8008ABD4 00E2082A */ slt $at, $a3, $v0
/* 08B7D8 8008ABD8 10200004 */ beqz $at, .L8008ABEC
/* 08B7DC 8008ABDC 00000000 */ nop
/* 08B7E0 8008ABE0 A6070000 */ sh $a3, ($s0)
/* 08B7E4 8008ABE4 86020000 */ lh $v0, ($s0)
/* 08B7E8 8008ABE8 00000000 */ nop
.L8008ABEC:
/* 08B7EC 8008ABEC 1A40000A */ blez $s2, .L8008AC18
/* 08B7F0 8008ABF0 3C058012 */ lui $a1, %hi(D_801263E0) # $a1, 0x8012
/* 08B7F4 8008ABF4 2449FFFF */ addiu $t1, $v0, -1
/* 08B7F8 8008ABF8 A6090000 */ sh $t1, ($s0)
/* 08B7FC 8008ABFC 86020000 */ lh $v0, ($s0)
/* 08B800 8008AC00 00000000 */ nop
/* 08B804 8008AC04 04410004 */ bgez $v0, .L8008AC18
/* 08B808 8008AC08 00000000 */ nop
/* 08B80C 8008AC0C A6000000 */ sh $zero, ($s0)
/* 08B810 8008AC10 86020000 */ lh $v0, ($s0)
/* 08B814 8008AC14 00000000 */ nop
.L8008AC18:
/* 08B818 8008AC18 24A563E0 */ addiu $a1, %lo(D_801263E0) # addiu $a1, $a1, 0x63e0
/* 08B81C 8008AC1C 8CA30000 */ lw $v1, ($a1)
/* 08B820 8008AC20 3C048012 */ lui $a0, %hi(D_80126C70) # $a0, 0x8012
/* 08B824 8008AC24 0043082A */ slt $at, $v0, $v1
/* 08B828 8008AC28 10200003 */ beqz $at, .L8008AC38
/* 08B82C 8008AC2C 00000000 */ nop
/* 08B830 8008AC30 10000009 */ b .L8008AC58
/* 08B834 8008AC34 ACA20000 */ sw $v0, ($a1)
.L8008AC38:
/* 08B838 8008AC38 8C846C70 */ lw $a0, %lo(D_80126C70)($a0)
/* 08B83C 8008AC3C 00000000 */ nop
/* 08B840 8008AC40 00645021 */ addu $t2, $v1, $a0
/* 08B844 8008AC44 004A082A */ slt $at, $v0, $t2
/* 08B848 8008AC48 14200003 */ bnez $at, .L8008AC58
/* 08B84C 8008AC4C 00445823 */ subu $t3, $v0, $a0
/* 08B850 8008AC50 256C0001 */ addiu $t4, $t3, 1
/* 08B854 8008AC54 ACAC0000 */ sw $t4, ($a1)
.L8008AC58:
/* 08B858 8008AC58 10C20006 */ beq $a2, $v0, .L8008AC74
/* 08B85C 8008AC5C 240400EB */ li $a0, 235
/* 08B860 8008AC60 00002825 */ move $a1, $zero
/* 08B864 8008AC64 0C000741 */ jal play_sound_global
/* 08B868 8008AC68 AFA7003C */ sw $a3, 0x3c($sp)
/* 08B86C 8008AC6C 8FA7003C */ lw $a3, 0x3c($sp)
/* 08B870 8008AC70 00000000 */ nop
.L8008AC74:
/* 08B874 8008AC74 326E9000 */ andi $t6, $s3, 0x9000
/* 08B878 8008AC78 11C00006 */ beqz $t6, .L8008AC94
/* 08B87C 8008AC7C 32784000 */ andi $t8, $s3, 0x4000
/* 08B880 8008AC80 860D0000 */ lh $t5, ($s0)
/* 08B884 8008AC84 240FFFFF */ li $t7, -1
/* 08B888 8008AC88 14ED0002 */ bne $a3, $t5, .L8008AC94
/* 08B88C 8008AC8C 00000000 */ nop
/* 08B890 8008AC90 AFAF0048 */ sw $t7, 0x48($sp)
.L8008AC94:
/* 08B894 8008AC94 13000002 */ beqz $t8, .L8008ACA0
/* 08B898 8008AC98 2419FFFF */ li $t9, -1
/* 08B89C 8008AC9C AFB90048 */ sw $t9, 0x48($sp)
.L8008ACA0:
/* 08B8A0 8008ACA0 8FA90048 */ lw $t1, 0x48($sp)
/* 08B8A4 8008ACA4 3C01800E */ lui $at, %hi(gMenuDelay) # $at, 0x800e
/* 08B8A8 8008ACA8 11200007 */ beqz $t1, .L8008ACC8
/* 08B8AC 8008ACAC 3C04800E */ lui $a0, %hi(sMenuTransitionFadeIn) # $a0, 0x800e
/* 08B8B0 8008ACB0 AC29F47C */ sw $t1, %lo(gMenuDelay)($at)
/* 08B8B4 8008ACB4 0C030076 */ jal transition_begin
/* 08B8B8 8008ACB8 2484F774 */ addiu $a0, %lo(sMenuTransitionFadeIn) # addiu $a0, $a0, -0x88c
/* 08B8BC 8008ACBC 24040241 */ li $a0, 577
/* 08B8C0 8008ACC0 0C000741 */ jal play_sound_global
/* 08B8C4 8008ACC4 00002825 */ move $a1, $zero
.L8008ACC8:
/* 08B8C8 8008ACC8 3C0A800E */ lui $t2, %hi(gMenuDelay) # $t2, 0x800e
/* 08B8CC 8008ACCC 8D4AF47C */ lw $t2, %lo(gMenuDelay)($t2)
/* 08B8D0 8008ACD0 00001025 */ move $v0, $zero
/* 08B8D4 8008ACD4 2941FFE2 */ slti $at, $t2, -0x1e
/* 08B8D8 8008ACD8 10200007 */ beqz $at, .L8008ACF8
/* 08B8DC 8008ACDC 00000000 */ nop
/* 08B8E0 8008ACE0 0C022B47 */ jal func_8008AD1C
/* 08B8E4 8008ACE4 00000000 */ nop
/* 08B8E8 8008ACE8 0C0204F4 */ jal menu_init
/* 08B8EC 8008ACEC 2404000A */ li $a0, 10
/* 08B8F0 8008ACF0 10000003 */ b .L8008AD00
/* 08B8F4 8008ACF4 00001025 */ move $v0, $zero
.L8008ACF8:
/* 08B8F8 8008ACF8 3C018012 */ lui $at, %hi(gIgnorePlayerInput) # $at, 0x8012
/* 08B8FC 8008ACFC AC2063C4 */ sw $zero, %lo(gIgnorePlayerInput)($at)
.L8008AD00:
/* 08B900 8008AD00 8FBF0024 */ lw $ra, 0x24($sp)
/* 08B904 8008AD04 8FB00014 */ lw $s0, 0x14($sp)
/* 08B908 8008AD08 8FB10018 */ lw $s1, 0x18($sp)
/* 08B90C 8008AD0C 8FB2001C */ lw $s2, 0x1c($sp)
/* 08B910 8008AD10 8FB30020 */ lw $s3, 0x20($sp)
/* 08B914 8008AD14 03E00008 */ jr $ra
/* 08B918 8008AD18 27BD0058 */ addiu $sp, $sp, 0x58
@@ -54,8 +54,8 @@ glabel menu_magic_codes_loop
/* 08A998 80089D98 8FA70044 */ lw $a3, 0x44($sp)
/* 08A99C 80089D9C 256B63D8 */ addiu $t3, %lo(gOpacityDecayTimer) # addiu $t3, $t3, 0x63d8
.L80089DA0:
/* 08A9A0 80089DA0 3C198012 */ lui $t9, %hi(gIgnorePlayerInput) # $t9, 0x8012
/* 08A9A4 80089DA4 8F3963C4 */ lw $t9, %lo(gIgnorePlayerInput)($t9)
/* 08A9A0 80089DA0 3C198012 */ lui $t9, %hi(gIgnorePlayerInputTime) # $t9, 0x8012
/* 08A9A4 80089DA4 8F3963C4 */ lw $t9, %lo(gIgnorePlayerInputTime)($t9)
/* 08A9A8 80089DA8 00005025 */ move $t2, $zero
/* 08A9AC 80089DAC 00004025 */ move $t0, $zero
/* 08A9B0 80089DB0 17200025 */ bnez $t9, .L80089E48
@@ -519,8 +519,8 @@ glabel menu_magic_codes_loop
.L8008A414:
/* 08B014 8008A414 3C02800E */ lui $v0, %hi(gMenuDelay) # $v0, 0x800e
/* 08B018 8008A418 8C42F47C */ lw $v0, %lo(gMenuDelay)($v0)
/* 08B01C 8008A41C 3C018012 */ lui $at, %hi(gIgnorePlayerInput) # $at, 0x8012
/* 08B020 8008A420 AC2063C4 */ sw $zero, %lo(gIgnorePlayerInput)($at)
/* 08B01C 8008A41C 3C018012 */ lui $at, %hi(gIgnorePlayerInputTime) # $at, 0x8012
/* 08B020 8008A420 AC2063C4 */ sw $zero, %lo(gIgnorePlayerInputTime)($at)
/* 08B024 8008A424 2841FFE2 */ slti $at, $v0, -0x1e
/* 08B028 8008A428 14200003 */ bnez $at, .L8008A438
/* 08B02C 8008A42C 2841001F */ slti $at, $v0, 0x1f
+4 -4
View File
@@ -31,8 +31,8 @@ glabel menu_options_loop
/* 084FC8 800843C8 3C09800E */ lui $t1, %hi(gMenuDelay) # $t1, 0x800e
/* 084FCC 800843CC 2529F47C */ addiu $t1, %lo(gMenuDelay) # addiu $t1, $t1, -0xb84
.L800843D0:
/* 084FD0 800843D0 3C0B8012 */ lui $t3, %hi(gIgnorePlayerInput) # $t3, 0x8012
/* 084FD4 800843D4 8D6B63C4 */ lw $t3, %lo(gIgnorePlayerInput)($t3)
/* 084FD0 800843D0 3C0B8012 */ lui $t3, %hi(gIgnorePlayerInputTime) # $t3, 0x8012
/* 084FD4 800843D4 8D6B63C4 */ lw $t3, %lo(gIgnorePlayerInputTime)($t3)
/* 084FD8 800843D8 00003025 */ move $a2, $zero
/* 084FDC 800843DC 00003825 */ move $a3, $zero
/* 084FE0 800843E0 15600021 */ bnez $t3, .L80084468
@@ -260,8 +260,8 @@ glabel menu_options_loop
/* 085314 80084714 10000003 */ b .L80084724
/* 085318 80084718 00001025 */ move $v0, $zero
.L8008471C:
/* 08531C 8008471C 3C018012 */ lui $at, %hi(gIgnorePlayerInput) # $at, 0x8012
/* 085320 80084720 AC2063C4 */ sw $zero, %lo(gIgnorePlayerInput)($at)
/* 08531C 8008471C 3C018012 */ lui $at, %hi(gIgnorePlayerInputTime) # $at, 0x8012
/* 085320 80084720 AC2063C4 */ sw $zero, %lo(gIgnorePlayerInputTime)($at)
.L80084724:
/* 085324 80084724 8FBF0014 */ lw $ra, 0x14($sp)
/* 085328 80084728 27BD0048 */ addiu $sp, $sp, 0x48
+2 -2
View File
@@ -280,8 +280,8 @@ glabel menu_results_loop
/* 0982A8 800976A8 10000004 */ b .L800976BC
/* 0982AC 800976AC 24020104 */ li $v0, 260
.L800976B0:
/* 0982B0 800976B0 3C018012 */ lui $at, %hi(gIgnorePlayerInput) # $at, 0x8012
/* 0982B4 800976B4 AC2063C4 */ sw $zero, %lo(gIgnorePlayerInput)($at)
/* 0982B0 800976B0 3C018012 */ lui $at, %hi(gIgnorePlayerInputTime) # $at, 0x8012
/* 0982B4 800976B4 AC2063C4 */ sw $zero, %lo(gIgnorePlayerInputTime)($at)
/* 0982B8 800976B8 00001025 */ move $v0, $zero
.L800976BC:
/* 0982BC 800976BC 8FBF0014 */ lw $ra, 0x14($sp)
@@ -1,245 +0,0 @@
.late_rodata
glabel jpt_800E84B0
.word L80087D18, L80087D28, L80087D54, L80087D94, L80087DAC, L80087DEC, L80087E04, L80087E1C
.text
glabel menu_save_options_loop
/* 088760 80087B60 3C038012 */ lui $v1, %hi(gOptionBlinkTimer) # $v1, 0x8012
/* 088764 80087B64 246363BC */ addiu $v1, %lo(gOptionBlinkTimer) # addiu $v1, $v1, 0x63bc
/* 088768 80087B68 8C6E0000 */ lw $t6, ($v1)
/* 08876C 80087B6C 27BDFFC8 */ addiu $sp, $sp, -0x38
/* 088770 80087B70 01C47821 */ addu $t7, $t6, $a0
/* 088774 80087B74 31F8003F */ andi $t8, $t7, 0x3f
/* 088778 80087B78 AC780000 */ sw $t8, ($v1)
/* 08877C 80087B7C 3C02800E */ lui $v0, %hi(gMenuDelay) # $v0, 0x800e
/* 088780 80087B80 8C42F47C */ lw $v0, %lo(gMenuDelay)($v0)
/* 088784 80087B84 AFB00018 */ sw $s0, 0x18($sp)
/* 088788 80087B88 00808025 */ move $s0, $a0
/* 08878C 80087B8C AFBF002C */ sw $ra, 0x2c($sp)
/* 088790 80087B90 AFB40028 */ sw $s4, 0x28($sp)
/* 088794 80087B94 AFB30024 */ sw $s3, 0x24($sp)
/* 088798 80087B98 AFB20020 */ sw $s2, 0x20($sp)
/* 08879C 80087B9C 10400009 */ beqz $v0, .L80087BC4
/* 0887A0 80087BA0 AFB1001C */ sw $s1, 0x1c($sp)
/* 0887A4 80087BA4 18400005 */ blez $v0, .L80087BBC
/* 0887A8 80087BA8 00504023 */ subu $t0, $v0, $s0
/* 0887AC 80087BAC 0044C821 */ addu $t9, $v0, $a0
/* 0887B0 80087BB0 3C01800E */ lui $at, %hi(gMenuDelay) # $at, 0x800e
/* 0887B4 80087BB4 10000003 */ b .L80087BC4
/* 0887B8 80087BB8 AC39F47C */ sw $t9, %lo(gMenuDelay)($at)
.L80087BBC:
/* 0887BC 80087BBC 3C01800E */ lui $at, %hi(gMenuDelay) # $at, 0x800e
/* 0887C0 80087BC0 AC28F47C */ sw $t0, %lo(gMenuDelay)($at)
.L80087BC4:
/* 0887C4 80087BC4 3C098012 */ lui $t1, %hi(D_801263E0) # $t1, 0x8012
/* 0887C8 80087BC8 8D2963E0 */ lw $t1, %lo(D_801263E0)($t1)
/* 0887CC 80087BCC 00000000 */ nop
/* 0887D0 80087BD0 312A0007 */ andi $t2, $t1, 7
/* 0887D4 80087BD4 29410002 */ slti $at, $t2, 2
/* 0887D8 80087BD8 14200003 */ bnez $at, .L80087BE8
/* 0887DC 80087BDC 00000000 */ nop
/* 0887E0 80087BE0 0C021A92 */ jal func_80086A48
/* 0887E4 80087BE4 02002025 */ move $a0, $s0
.L80087BE8:
/* 0887E8 80087BE8 3C02800E */ lui $v0, %hi(gMenuDelay) # $v0, 0x800e
/* 0887EC 80087BEC 8C42F47C */ lw $v0, %lo(gMenuDelay)($v0)
/* 0887F0 80087BF0 00000000 */ nop
/* 0887F4 80087BF4 2841FFED */ slti $at, $v0, -0x13
/* 0887F8 80087BF8 14200008 */ bnez $at, .L80087C1C
/* 0887FC 80087BFC 28410014 */ slti $at, $v0, 0x14
/* 088800 80087C00 10200006 */ beqz $at, .L80087C1C
/* 088804 80087C04 00000000 */ nop
/* 088808 80087C08 0C0216E7 */ jal func_80085B9C
/* 08880C 80087C0C 02002025 */ move $a0, $s0
/* 088810 80087C10 3C02800E */ lui $v0, %hi(gMenuDelay) # $v0, 0x800e
/* 088814 80087C14 8C42F47C */ lw $v0, %lo(gMenuDelay)($v0)
/* 088818 80087C18 00000000 */ nop
.L80087C1C:
/* 08881C 80087C1C 10400013 */ beqz $v0, .L80087C6C
/* 088820 80087C20 00003025 */ move $a2, $zero
/* 088824 80087C24 2841001F */ slti $at, $v0, 0x1f
/* 088828 80087C28 14200008 */ bnez $at, .L80087C4C
/* 08882C 80087C2C 2841FFE2 */ slti $at, $v0, -0x1e
/* 088830 80087C30 0C021FAE */ jal func_80087EB8
/* 088834 80087C34 00000000 */ nop
/* 088838 80087C38 0C0204F4 */ jal menu_init
/* 08883C 80087C3C 24040018 */ li $a0, 24
/* 088840 80087C40 10000095 */ b .L80087E98
/* 088844 80087C44 00001025 */ move $v0, $zero
/* 088848 80087C48 2841FFE2 */ slti $at, $v0, -0x1e
.L80087C4C:
/* 08884C 80087C4C 10200005 */ beqz $at, .L80087C64
/* 088850 80087C50 00000000 */ nop
/* 088854 80087C54 0C021FAE */ jal func_80087EB8
/* 088858 80087C58 00000000 */ nop
/* 08885C 80087C5C 0C0204F4 */ jal menu_init
/* 088860 80087C60 2404000C */ li $a0, 12
.L80087C64:
/* 088864 80087C64 1000008C */ b .L80087E98
/* 088868 80087C68 00001025 */ move $v0, $zero
.L80087C6C:
/* 08886C 80087C6C 3C0B8012 */ lui $t3, %hi(gIgnorePlayerInput) # $t3, 0x8012
/* 088870 80087C70 8D6B63C4 */ lw $t3, %lo(gIgnorePlayerInput)($t3)
/* 088874 80087C74 0000A025 */ move $s4, $zero
/* 088878 80087C78 15600014 */ bnez $t3, .L80087CCC
/* 08887C 80087C7C 00009825 */ move $s3, $zero
/* 088880 80087C80 3C118012 */ lui $s1, %hi(gControllersXAxisDirection) # $s1, 0x8012
/* 088884 80087C84 3C128012 */ lui $s2, %hi(gControllersYAxisDirection) # $s2, 0x8012
/* 088888 80087C88 26526464 */ addiu $s2, %lo(gControllersYAxisDirection) # addiu $s2, $s2, 0x6464
/* 08888C 80087C8C 2631645C */ addiu $s1, %lo(gControllersXAxisDirection) # addiu $s1, $s1, 0x645c
/* 088890 80087C90 00008025 */ move $s0, $zero
.L80087C94:
/* 088894 80087C94 822C0000 */ lb $t4, ($s1)
/* 088898 80087C98 824D0000 */ lb $t5, ($s2)
/* 08889C 80087C9C 02002025 */ move $a0, $s0
/* 0888A0 80087CA0 AFA60030 */ sw $a2, 0x30($sp)
/* 0888A4 80087CA4 028CA021 */ addu $s4, $s4, $t4
/* 0888A8 80087CA8 0C01A955 */ jal get_buttons_pressed_from_player
/* 0888AC 80087CAC 026D9821 */ addu $s3, $s3, $t5
/* 0888B0 80087CB0 8FA60030 */ lw $a2, 0x30($sp)
/* 0888B4 80087CB4 26100001 */ addiu $s0, $s0, 1
/* 0888B8 80087CB8 24010004 */ li $at, 4
/* 0888BC 80087CBC 26310001 */ addiu $s1, $s1, 1
/* 0888C0 80087CC0 26520001 */ addiu $s2, $s2, 1
/* 0888C4 80087CC4 1601FFF3 */ bne $s0, $at, .L80087C94
/* 0888C8 80087CC8 00C23025 */ or $a2, $a2, $v0
.L80087CCC:
/* 0888CC 80087CCC 3C028012 */ lui $v0, %hi(D_801263E0) # $v0, 0x8012
/* 0888D0 80087CD0 8C4263E0 */ lw $v0, %lo(D_801263E0)($v0)
/* 0888D4 80087CD4 00C02025 */ move $a0, $a2
/* 0888D8 80087CD8 304E0008 */ andi $t6, $v0, 8
/* 0888DC 80087CDC 11C00006 */ beqz $t6, .L80087CF8
/* 0888E0 80087CE0 2C410008 */ sltiu $at, $v0, 8
/* 0888E4 80087CE4 0C021DCD */ jal func_80087734
/* 0888E8 80087CE8 02602825 */ move $a1, $s3
/* 0888EC 80087CEC 3C01800E */ lui $at, %hi(gMenuDelay) # $at, 0x800e
/* 0888F0 80087CF0 10000066 */ b .L80087E8C
/* 0888F4 80087CF4 AC22F47C */ sw $v0, %lo(gMenuDelay)($at)
.L80087CF8:
/* 0888F8 80087CF8 1020005D */ beqz $at, .L80087E70
/* 0888FC 80087CFC 00027880 */ sll $t7, $v0, 2
/* 088900 80087D00 3C01800F */ lui $at, %hi(jpt_800E84B0) # $at, 0x800f
/* 088904 80087D04 002F0821 */ addu $at, $at, $t7
/* 088908 80087D08 8C2F84B0 */ lw $t7, %lo(jpt_800E84B0)($at)
/* 08890C 80087D0C 00000000 */ nop
/* 088910 80087D10 01E00008 */ jr $t7
/* 088914 80087D14 00000000 */ nop
glabel L80087D18
/* 088918 80087D18 2418FFFF */ li $t8, -1
/* 08891C 80087D1C 3C01800E */ lui $at, %hi(gMenuDelay) # $at, 0x800e
/* 088920 80087D20 10000053 */ b .L80087E70
/* 088924 80087D24 AC38F47C */ sw $t8, %lo(gMenuDelay)($at)
glabel L80087D28
/* 088928 80087D28 3C108012 */ lui $s0, %hi(gOpacityDecayTimer) # $s0, 0x8012
/* 08892C 80087D2C 261063D8 */ addiu $s0, %lo(gOpacityDecayTimer) # addiu $s0, $s0, 0x63d8
/* 088930 80087D30 8E190000 */ lw $t9, ($s0)
/* 088934 80087D34 240A0002 */ li $t2, 2
/* 088938 80087D38 27280001 */ addiu $t0, $t9, 1
/* 08893C 80087D3C 2901000B */ slti $at, $t0, 0xb
/* 088940 80087D40 1420004B */ bnez $at, .L80087E70
/* 088944 80087D44 AE080000 */ sw $t0, ($s0)
/* 088948 80087D48 3C018012 */ lui $at, %hi(D_801263E0) # $at, 0x8012
/* 08894C 80087D4C 10000048 */ b .L80087E70
/* 088950 80087D50 AC2A63E0 */ sw $t2, %lo(D_801263E0)($at)
glabel L80087D54
/* 088954 80087D54 3C018012 */ lui $at, %hi(D_80126BD4) # $at, 0x8012
/* 088958 80087D58 44802000 */ mtc1 $zero, $f4
/* 08895C 80087D5C AC206BD4 */ sw $zero, %lo(D_80126BD4)($at)
/* 088960 80087D60 3C018012 */ lui $at, %hi(D_80126BDC) # $at, 0x8012
/* 088964 80087D64 0C0218B1 */ jal func_800862C4
/* 088968 80087D68 E4246BDC */ swc1 $f4, %lo(D_80126BDC)($at)
/* 08896C 80087D6C 10400005 */ beqz $v0, .L80087D84
/* 088970 80087D70 00402025 */ move $a0, $v0
/* 088974 80087D74 0C021C76 */ jal func_800871D8
/* 088978 80087D78 00000000 */ nop
/* 08897C 80087D7C 1000003C */ b .L80087E70
/* 088980 80087D80 00000000 */ nop
.L80087D84:
/* 088984 80087D84 240B0003 */ li $t3, 3
/* 088988 80087D88 3C018012 */ lui $at, %hi(D_801263E0) # $at, 0x8012
/* 08898C 80087D8C 10000038 */ b .L80087E70
/* 088990 80087D90 AC2B63E0 */ sw $t3, %lo(D_801263E0)($at)
glabel L80087D94
/* 088994 80087D94 00C02025 */ move $a0, $a2
/* 088998 80087D98 0C021D34 */ jal func_800874D0
/* 08899C 80087D9C 02802825 */ move $a1, $s4
/* 0889A0 80087DA0 3C01800E */ lui $at, %hi(gMenuDelay) # $at, 0x800e
/* 0889A4 80087DA4 10000032 */ b .L80087E70
/* 0889A8 80087DA8 AC22F47C */ sw $v0, %lo(gMenuDelay)($at)
glabel L80087DAC
/* 0889AC 80087DAC 3C018012 */ lui $at, %hi(D_80126BE4) # $at, 0x8012
/* 0889B0 80087DB0 44803000 */ mtc1 $zero, $f6
/* 0889B4 80087DB4 AC206BE4 */ sw $zero, %lo(D_80126BE4)($at)
/* 0889B8 80087DB8 3C018012 */ lui $at, %hi(D_80126BEC) # $at, 0x8012
/* 0889BC 80087DBC 0C0219F5 */ jal func_800867D4
/* 0889C0 80087DC0 E4266BEC */ swc1 $f6, %lo(D_80126BEC)($at)
/* 0889C4 80087DC4 10400005 */ beqz $v0, .L80087DDC
/* 0889C8 80087DC8 00402025 */ move $a0, $v0
/* 0889CC 80087DCC 0C021C76 */ jal func_800871D8
/* 0889D0 80087DD0 00000000 */ nop
/* 0889D4 80087DD4 10000026 */ b .L80087E70
/* 0889D8 80087DD8 00000000 */ nop
.L80087DDC:
/* 0889DC 80087DDC 240C0005 */ li $t4, 5
/* 0889E0 80087DE0 3C018012 */ lui $at, %hi(D_801263E0) # $at, 0x8012
/* 0889E4 80087DE4 10000022 */ b .L80087E70
/* 0889E8 80087DE8 AC2C63E0 */ sw $t4, %lo(D_801263E0)($at)
glabel L80087DEC
/* 0889EC 80087DEC 00C02025 */ move $a0, $a2
/* 0889F0 80087DF0 0C021D79 */ jal func_800875E4
/* 0889F4 80087DF4 02802825 */ move $a1, $s4
/* 0889F8 80087DF8 3C01800E */ lui $at, %hi(gMenuDelay) # $at, 0x800e
/* 0889FC 80087DFC 1000001C */ b .L80087E70
/* 088A00 80087E00 AC22F47C */ sw $v0, %lo(gMenuDelay)($at)
glabel L80087E04
/* 088A04 80087E04 00C02025 */ move $a0, $a2
/* 088A08 80087E08 0C021DB3 */ jal func_800876CC
/* 088A0C 80087E0C 02802825 */ move $a1, $s4
/* 088A10 80087E10 3C01800E */ lui $at, %hi(gMenuDelay) # $at, 0x800e
/* 088A14 80087E14 10000016 */ b .L80087E70
/* 088A18 80087E18 AC22F47C */ sw $v0, %lo(gMenuDelay)($at)
glabel L80087E1C
/* 088A1C 80087E1C 3C108012 */ lui $s0, %hi(gOpacityDecayTimer) # $s0, 0x8012
/* 088A20 80087E20 261063D8 */ addiu $s0, %lo(gOpacityDecayTimer) # addiu $s0, $s0, 0x63d8
/* 088A24 80087E24 8E0D0000 */ lw $t5, ($s0)
/* 088A28 80087E28 00000000 */ nop
/* 088A2C 80087E2C 25AE0001 */ addiu $t6, $t5, 1
/* 088A30 80087E30 29C10004 */ slti $at, $t6, 4
/* 088A34 80087E34 1420000E */ bnez $at, .L80087E70
/* 088A38 80087E38 AE0E0000 */ sw $t6, ($s0)
/* 088A3C 80087E3C 0C021ABF */ jal func_80086AFC
/* 088A40 80087E40 00000000 */ nop
/* 088A44 80087E44 10400005 */ beqz $v0, .L80087E5C
/* 088A48 80087E48 00402025 */ move $a0, $v0
/* 088A4C 80087E4C 0C021C76 */ jal func_800871D8
/* 088A50 80087E50 00000000 */ nop
/* 088A54 80087E54 10000006 */ b .L80087E70
/* 088A58 80087E58 00000000 */ nop
.L80087E5C:
/* 088A5C 80087E5C 24180006 */ li $t8, 6
/* 088A60 80087E60 AE180000 */ sw $t8, ($s0)
/* 088A64 80087E64 24190001 */ li $t9, 1
/* 088A68 80087E68 3C018012 */ lui $at, %hi(D_801263E0) # $at, 0x8012
/* 088A6C 80087E6C AC3963E0 */ sw $t9, %lo(D_801263E0)($at)
.L80087E70:
/* 088A70 80087E70 3C08800E */ lui $t0, %hi(gMenuDelay) # $t0, 0x800e
/* 088A74 80087E74 8D08F47C */ lw $t0, %lo(gMenuDelay)($t0)
/* 088A78 80087E78 3C04800E */ lui $a0, %hi(sMenuTransitionFadeIn) # $a0, 0x800e
/* 088A7C 80087E7C 11000003 */ beqz $t0, .L80087E8C
/* 088A80 80087E80 00000000 */ nop
/* 088A84 80087E84 0C030076 */ jal transition_begin
/* 088A88 80087E88 2484F774 */ addiu $a0, %lo(sMenuTransitionFadeIn) # addiu $a0, $a0, -0x88c
.L80087E8C:
/* 088A8C 80087E8C 3C018012 */ lui $at, %hi(gIgnorePlayerInput) # $at, 0x8012
/* 088A90 80087E90 AC2063C4 */ sw $zero, %lo(gIgnorePlayerInput)($at)
/* 088A94 80087E94 00001025 */ move $v0, $zero
.L80087E98:
/* 088A98 80087E98 8FBF002C */ lw $ra, 0x2c($sp)
/* 088A9C 80087E9C 8FB00018 */ lw $s0, 0x18($sp)
/* 088AA0 80087EA0 8FB1001C */ lw $s1, 0x1c($sp)
/* 088AA4 80087EA4 8FB20020 */ lw $s2, 0x20($sp)
/* 088AA8 80087EA8 8FB30024 */ lw $s3, 0x24($sp)
/* 088AAC 80087EAC 8FB40028 */ lw $s4, 0x28($sp)
/* 088AB0 80087EB0 03E00008 */ jr $ra
/* 088AB4 80087EB4 27BD0038 */ addiu $sp, $sp, 0x38
@@ -1,328 +0,0 @@
glabel menu_trophy_race_rankings_init
/* 099624 80098A24 27BDFF90 */ addiu $sp, $sp, -0x70
/* 099628 80098A28 AFBF001C */ sw $ra, 0x1c($sp)
/* 09962C 80098A2C 0C01BAA4 */ jal get_settings
/* 099630 80098A30 00000000 */ nop
/* 099634 80098A34 2404001A */ li $a0, 26
/* 099638 80098A38 0C0078A7 */ jal get_misc_asset
/* 09963C 80098A3C AFA20040 */ sw $v0, 0x40($sp)
/* 099640 80098A40 3C018012 */ lui $at, %hi(D_801263E0) # $at, 0x8012
/* 099644 80098A44 AC2063E0 */ sw $zero, %lo(D_801263E0)($at)
/* 099648 80098A48 3C01800E */ lui $at, %hi(gMenuDelay) # $at, 0x800e
/* 09964C 80098A4C AC20F47C */ sw $zero, %lo(gMenuDelay)($at)
/* 099650 80098A50 3C018012 */ lui $at, %hi(gOptionBlinkTimer) # $at, 0x8012
/* 099654 80098A54 AC2063BC */ sw $zero, %lo(gOptionBlinkTimer)($at)
/* 099658 80098A58 3C018012 */ lui $at, %hi(gOpacityDecayTimer) # $at, 0x8012
/* 09965C 80098A5C AC2063D8 */ sw $zero, %lo(gOpacityDecayTimer)($at)
/* 099660 80098A60 0C026F97 */ jal reset_controller_sticks
/* 099664 80098A64 AFA2003C */ sw $v0, 0x3c($sp)
/* 099668 80098A68 3C04800E */ lui $a0, %hi(D_800E1024) # $a0, 0x800e
/* 09966C 80098A6C 0C02719D */ jal func_8009C674
/* 099670 80098A70 24841024 */ addiu $a0, %lo(D_800E1024) # addiu $a0, $a0, 0x1024
/* 099674 80098A74 3C04800E */ lui $a0, %hi(D_800E1040) # $a0, 0x800e
/* 099678 80098A78 0C027229 */ jal allocate_menu_images
/* 09967C 80098A7C 24841040 */ addiu $a0, %lo(D_800E1040) # addiu $a0, $a0, 0x1040
/* 099680 80098A80 3C03800E */ lui $v1, %hi(gTrophyRaceRound) # $v1, 0x800e
/* 099684 80098A84 24630FEC */ addiu $v1, %lo(gTrophyRaceRound) # addiu $v1, $v1, 0xfec
/* 099688 80098A88 8C620000 */ lw $v0, ($v1)
/* 09968C 80098A8C 3C01800E */ lui $at, %hi(D_800E0FF0) # $at, 0x800e
/* 099690 80098A90 3C05800E */ lui $a1, %hi(gTrophyRaceWorldId) # $a1, 0x800e
/* 099694 80098A94 8FA7003C */ lw $a3, 0x3c($sp)
/* 099698 80098A98 8FA90040 */ lw $t1, 0x40($sp)
/* 09969C 80098A9C 24A50FE8 */ addiu $a1, %lo(gTrophyRaceWorldId) # addiu $a1, $a1, 0xfe8
/* 0996A0 80098AA0 24060006 */ li $a2, 6
/* 0996A4 80098AA4 2404FFFF */ li $a0, -1
/* 0996A8 80098AA8 AC220FF0 */ sw $v0, %lo(D_800E0FF0)($at)
/* 0996AC 80098AAC 244E0001 */ addiu $t6, $v0, 1
.L80098AB0:
/* 0996B0 80098AB0 29C10004 */ slti $at, $t6, 4
/* 0996B4 80098AB4 AC6E0000 */ sw $t6, ($v1)
/* 0996B8 80098AB8 1020000B */ beqz $at, .L80098AE8
/* 0996BC 80098ABC 01C01025 */ move $v0, $t6
/* 0996C0 80098AC0 8CAF0000 */ lw $t7, ($a1)
/* 0996C4 80098AC4 00000000 */ nop
/* 0996C8 80098AC8 01E60019 */ multu $t7, $a2
/* 0996CC 80098ACC 0000C012 */ mflo $t8
/* 0996D0 80098AD0 030EC821 */ addu $t9, $t8, $t6
/* 0996D4 80098AD4 03276821 */ addu $t5, $t9, $a3
/* 0996D8 80098AD8 81AEFFFA */ lb $t6, -6($t5)
/* 0996DC 80098ADC 00000000 */ nop
/* 0996E0 80098AE0 108EFFF3 */ beq $a0, $t6, .L80098AB0
/* 0996E4 80098AE4 244E0001 */ addiu $t6, $v0, 1
.L80098AE8:
/* 0996E8 80098AE8 28410004 */ slti $at, $v0, 4
/* 0996EC 80098AEC 1020000D */ beqz $at, .L80098B24
/* 0996F0 80098AF0 3C038012 */ lui $v1, %hi(D_80126BF0) # $v1, 0x8012
/* 0996F4 80098AF4 3C02800E */ lui $v0, %hi(gMenuText) # $v0, 0x800e
/* 0996F8 80098AF8 8C42F4A0 */ lw $v0, %lo(gMenuText)($v0)
/* 0996FC 80098AFC 3C038012 */ lui $v1, %hi(D_80126BF0) # $v1, 0x8012
/* 099700 80098B00 8C4F0188 */ lw $t7, 0x188($v0)
/* 099704 80098B04 24636BF0 */ addiu $v1, %lo(D_80126BF0) # addiu $v1, $v1, 0x6bf0
/* 099708 80098B08 AC6F0000 */ sw $t7, ($v1)
/* 09970C 80098B0C 8C580204 */ lw $t8, 0x204($v0)
/* 099710 80098B10 24190003 */ li $t9, 3
/* 099714 80098B14 3C018012 */ lui $at, %hi(D_80126C14) # $at, 0x8012
/* 099718 80098B18 AC780004 */ sw $t8, 4($v1)
/* 09971C 80098B1C 10000009 */ b .L80098B44
/* 099720 80098B20 AC396C14 */ sw $t9, %lo(D_80126C14)($at)
.L80098B24:
/* 099724 80098B24 3C0D800E */ lui $t5, %hi(gMenuText) # $t5, 0x800e
/* 099728 80098B28 8DADF4A0 */ lw $t5, %lo(gMenuText)($t5)
/* 09972C 80098B2C 24636BF0 */ addiu $v1, %lo(D_80126BF0) # addiu $v1, $v1, 0x6bf0
/* 099730 80098B30 8DAE0244 */ lw $t6, 0x244($t5)
/* 099734 80098B34 240F0001 */ li $t7, 1
/* 099738 80098B38 3C018012 */ lui $at, %hi(D_80126C14) # $at, 0x8012
/* 09973C 80098B3C AC6E0000 */ sw $t6, ($v1)
/* 099740 80098B40 AC2F6C14 */ sw $t7, %lo(D_80126C14)($at)
.L80098B44:
/* 099744 80098B44 3C018012 */ lui $at, %hi(gMenuOption) # $at, 0x8012
/* 099748 80098B48 AC206A68 */ sw $zero, %lo(gMenuOption)($at)
/* 09974C 80098B4C 0C025181 */ jal assign_racer_portrait_textures
/* 099750 80098B50 AFA90040 */ sw $t1, 0x40($sp)
/* 099754 80098B54 3C0B800E */ lui $t3, %hi(gNumberOfActivePlayers) # $t3, 0x800e
/* 099758 80098B58 256BF4BC */ addiu $t3, %lo(gNumberOfActivePlayers) # addiu $t3, $t3, -0xb44
/* 09975C 80098B5C 8D620000 */ lw $v0, ($t3)
/* 099760 80098B60 8FA90040 */ lw $t1, 0x40($sp)
/* 099764 80098B64 28410003 */ slti $at, $v0, 3
/* 099768 80098B68 14200004 */ bnez $at, .L80098B7C
/* 09976C 80098B6C 3C0C800E */ lui $t4, %hi(D_800E0FE4) # $t4, 0x800e
/* 099770 80098B70 258C0FE4 */ addiu $t4, %lo(D_800E0FE4) # addiu $t4, $t4, 0xfe4
/* 099774 80098B74 10000017 */ b .L80098BD4
/* 099778 80098B78 AD820000 */ sw $v0, ($t4)
.L80098B7C:
/* 09977C 80098B7C 24010002 */ li $at, 2
/* 099780 80098B80 10410007 */ beq $v0, $at, .L80098BA0
/* 099784 80098B84 00000000 */ nop
/* 099788 80098B88 0C027B20 */ jal is_in_two_player_adventure
/* 09978C 80098B8C AFA90040 */ sw $t1, 0x40($sp)
/* 099790 80098B90 8FA90040 */ lw $t1, 0x40($sp)
/* 099794 80098B94 3C0B800E */ lui $t3, %hi(gNumberOfActivePlayers) # $t3, 0x800e
/* 099798 80098B98 1040000A */ beqz $v0, .L80098BC4
/* 09979C 80098B9C 256BF4BC */ addiu $t3, %lo(gNumberOfActivePlayers) # addiu $t3, $t3, -0xb44
.L80098BA0:
/* 0997A0 80098BA0 0C027110 */ jal get_multiplayer_racer_count
/* 0997A4 80098BA4 AFA90040 */ sw $t1, 0x40($sp)
/* 0997A8 80098BA8 3C0C800E */ lui $t4, %hi(D_800E0FE4) # $t4, 0x800e
/* 0997AC 80098BAC 258C0FE4 */ addiu $t4, %lo(D_800E0FE4) # addiu $t4, $t4, 0xfe4
/* 0997B0 80098BB0 8FA90040 */ lw $t1, 0x40($sp)
/* 0997B4 80098BB4 3C0B800E */ lui $t3, %hi(gNumberOfActivePlayers) # $t3, 0x800e
/* 0997B8 80098BB8 256BF4BC */ addiu $t3, %lo(gNumberOfActivePlayers) # addiu $t3, $t3, -0xb44
/* 0997BC 80098BBC 10000005 */ b .L80098BD4
/* 0997C0 80098BC0 AD820000 */ sw $v0, ($t4)
.L80098BC4:
/* 0997C4 80098BC4 3C0C800E */ lui $t4, %hi(D_800E0FE4) # $t4, 0x800e
/* 0997C8 80098BC8 258C0FE4 */ addiu $t4, %lo(D_800E0FE4) # addiu $t4, $t4, 0xfe4
/* 0997CC 80098BCC 24180008 */ li $t8, 8
/* 0997D0 80098BD0 AD980000 */ sw $t8, ($t4)
.L80098BD4:
/* 0997D4 80098BD4 8D850000 */ lw $a1, ($t4)
/* 0997D8 80098BD8 00004025 */ move $t0, $zero
/* 0997DC 80098BDC 18A0001C */ blez $a1, .L80098C50
/* 0997E0 80098BE0 3C048012 */ lui $a0, %hi(D_80126428) # $a0, 0x8012
/* 0997E4 80098BE4 24846428 */ addiu $a0, %lo(D_80126428) # addiu $a0, $a0, 0x6428
/* 0997E8 80098BE8 240A0001 */ li $t2, 1
.L80098BEC:
/* 0997EC 80098BEC 18A00013 */ blez $a1, .L80098C3C
/* 0997F0 80098BF0 00003825 */ move $a3, $zero
/* 0997F4 80098BF4 01201825 */ move $v1, $t1
.L80098BF8:
/* 0997F8 80098BF8 8079005A */ lb $t9, 0x5a($v1)
/* 0997FC 80098BFC 00886821 */ addu $t5, $a0, $t0
/* 099800 80098C00 1519000A */ bne $t0, $t9, .L80098C2C
/* 099804 80098C04 3C0E8012 */ lui $t6, %hi(D_80126418) # $t6, 0x8012
/* 099808 80098C08 A1A70000 */ sb $a3, ($t5)
/* 09980C 80098C0C 8D6F0000 */ lw $t7, ($t3)
/* 099810 80098C10 25CE6418 */ addiu $t6, %lo(D_80126418) # addiu $t6, $t6, 0x6418
/* 099814 80098C14 00EF082A */ slt $at, $a3, $t7
/* 099818 80098C18 10200003 */ beqz $at, .L80098C28
/* 09981C 80098C1C 010E1021 */ addu $v0, $t0, $t6
/* 099820 80098C20 10000002 */ b .L80098C2C
/* 099824 80098C24 A04A0000 */ sb $t2, ($v0)
.L80098C28:
/* 099828 80098C28 A0400000 */ sb $zero, ($v0)
.L80098C2C:
/* 09982C 80098C2C 24E70001 */ addiu $a3, $a3, 1
/* 099830 80098C30 00E5082A */ slt $at, $a3, $a1
/* 099834 80098C34 1420FFF0 */ bnez $at, .L80098BF8
/* 099838 80098C38 24630018 */ addiu $v1, $v1, 0x18
.L80098C3C:
/* 09983C 80098C3C 25080001 */ addiu $t0, $t0, 1
/* 099840 80098C40 0105082A */ slt $at, $t0, $a1
/* 099844 80098C44 1420FFE9 */ bnez $at, .L80098BEC
/* 099848 80098C48 00000000 */ nop
/* 09984C 80098C4C 00004025 */ move $t0, $zero
.L80098C50:
/* 099850 80098C50 18A00011 */ blez $a1, .L80098C98
/* 099854 80098C54 3C188012 */ lui $t8, %hi(D_801263F8) # $t8, 0x8012
/* 099858 80098C58 270263F8 */ addiu $v0, $t8, %lo(D_801263F8)
/* 09985C 80098C5C 0005C880 */ sll $t9, $a1, 2
/* 099860 80098C60 3C04800E */ lui $a0, %hi(gTrophyRacePointsArray) # $a0, 0x800e
/* 099864 80098C64 24841004 */ addiu $a0, %lo(gTrophyRacePointsArray) # addiu $a0, $a0, 0x1004
/* 099868 80098C68 03223021 */ addu $a2, $t9, $v0
/* 09986C 80098C6C 01201825 */ move $v1, $t1
.L80098C70:
/* 099870 80098C70 806D005A */ lb $t5, 0x5a($v1)
/* 099874 80098C74 24420004 */ addiu $v0, $v0, 4
/* 099878 80098C78 000D7080 */ sll $t6, $t5, 2
/* 09987C 80098C7C 008E7821 */ addu $t7, $a0, $t6
/* 099880 80098C80 8DF90000 */ lw $t9, ($t7)
/* 099884 80098C84 0046082B */ sltu $at, $v0, $a2
/* 099888 80098C88 24630018 */ addiu $v1, $v1, 0x18
/* 09988C 80098C8C 1420FFF8 */ bnez $at, .L80098C70
/* 099890 80098C90 AC59FFFC */ sw $t9, -4($v0)
/* 099894 80098C94 00004025 */ move $t0, $zero
.L80098C98:
/* 099898 80098C98 18A00012 */ blez $a1, .L80098CE4
/* 09989C 80098C9C 3C028012 */ lui $v0, %hi(D_801263F8) # $v0, 0x8012
/* 0998A0 80098CA0 3C048012 */ lui $a0, %hi(D_80126430) # $a0, 0x8012
/* 0998A4 80098CA4 24846430 */ addiu $a0, %lo(D_80126430) # addiu $a0, $a0, 0x6430
/* 0998A8 80098CA8 244263F8 */ addiu $v0, %lo(D_801263F8) # addiu $v0, $v0, 0x63f8
/* 0998AC 80098CAC 01201825 */ move $v1, $t1
/* 0998B0 80098CB0 27A60048 */ addiu $a2, $sp, 0x48
.L80098CB4:
/* 0998B4 80098CB4 A0880000 */ sb $t0, ($a0)
/* 0998B8 80098CB8 8C6D0054 */ lw $t5, 0x54($v1)
/* 0998BC 80098CBC 8C580000 */ lw $t8, ($v0)
/* 0998C0 80098CC0 25080001 */ addiu $t0, $t0, 1
/* 0998C4 80098CC4 0105082A */ slt $at, $t0, $a1
/* 0998C8 80098CC8 030D7021 */ addu $t6, $t8, $t5
/* 0998CC 80098CCC 24420004 */ addiu $v0, $v0, 4
/* 0998D0 80098CD0 24630018 */ addiu $v1, $v1, 0x18
/* 0998D4 80098CD4 24840001 */ addiu $a0, $a0, 1
/* 0998D8 80098CD8 24C60004 */ addiu $a2, $a2, 4
/* 0998DC 80098CDC 1420FFF5 */ bnez $at, .L80098CB4
/* 0998E0 80098CE0 ACCEFFFC */ sw $t6, -4($a2)
.L80098CE4:
/* 0998E4 80098CE4 24A8FFFF */ addiu $t0, $a1, -1
/* 0998E8 80098CE8 1900003D */ blez $t0, .L80098DE0
/* 0998EC 80098CEC 3C098012 */ lui $t1, %hi(D_80126430) # $t1, 0x8012
/* 0998F0 80098CF0 8FA5004C */ lw $a1, 0x4c($sp)
/* 0998F4 80098CF4 8FA30048 */ lw $v1, 0x48($sp)
/* 0998F8 80098CF8 25296430 */ addiu $t1, %lo(D_80126430) # addiu $t1, $t1, 0x6430
.L80098CFC:
/* 0998FC 80098CFC 19000033 */ blez $t0, .L80098DCC
/* 099900 80098D00 00003825 */ move $a3, $zero
/* 099904 80098D04 31020001 */ andi $v0, $t0, 1
/* 099908 80098D08 1040000E */ beqz $v0, .L80098D44
/* 09990C 80098D0C 0065082A */ slt $at, $v1, $a1
/* 099910 80098D10 1020000B */ beqz $at, .L80098D40
/* 099914 80098D14 24070001 */ li $a3, 1
/* 099918 80098D18 00601025 */ move $v0, $v1
/* 09991C 80098D1C 00A01825 */ move $v1, $a1
/* 099920 80098D20 00402825 */ move $a1, $v0
/* 099924 80098D24 3C028012 */ lui $v0, %hi(D_80126430) # $v0, 0x8012
/* 099928 80098D28 3C0F8012 */ lui $t7, %hi(D_80126431) # $t7, 0x8012
/* 09992C 80098D2C 91EF6431 */ lbu $t7, %lo(D_80126431)($t7)
/* 099930 80098D30 90426430 */ lbu $v0, %lo(D_80126430)($v0)
/* 099934 80098D34 3C018012 */ lui $at, %hi(D_80126431) # $at, 0x8012
/* 099938 80098D38 A02F6430 */ sb $t7, %lo(D_80126430)($at)
/* 09993C 80098D3C A0226431 */ sb $v0, %lo(D_80126431)($at)
.L80098D40:
/* 099940 80098D40 10E80022 */ beq $a3, $t0, .L80098DCC
.L80098D44:
/* 099944 80098D44 0007C880 */ sll $t9, $a3, 2
/* 099948 80098D48 27B80048 */ addiu $t8, $sp, 0x48
/* 09994C 80098D4C 03382021 */ addu $a0, $t9, $t8
/* 099950 80098D50 AFA30048 */ sw $v1, 0x48($sp)
/* 099954 80098D54 AFA5004C */ sw $a1, 0x4c($sp)
.L80098D58:
/* 099958 80098D58 8C860000 */ lw $a2, ($a0)
/* 09995C 80098D5C 8C850004 */ lw $a1, 4($a0)
/* 099960 80098D60 01271821 */ addu $v1, $t1, $a3
/* 099964 80098D64 00C5082A */ slt $at, $a2, $a1
/* 099968 80098D68 10200008 */ beqz $at, .L80098D8C
/* 09996C 80098D6C 00000000 */ nop
/* 099970 80098D70 90620000 */ lbu $v0, ($v1)
/* 099974 80098D74 906D0001 */ lbu $t5, 1($v1)
/* 099978 80098D78 AC850000 */ sw $a1, ($a0)
/* 09997C 80098D7C AC860004 */ sw $a2, 4($a0)
/* 099980 80098D80 00C02825 */ move $a1, $a2
/* 099984 80098D84 A0620001 */ sb $v0, 1($v1)
/* 099988 80098D88 A06D0000 */ sb $t5, ($v1)
.L80098D8C:
/* 09998C 80098D8C 8C860008 */ lw $a2, 8($a0)
/* 099990 80098D90 01271821 */ addu $v1, $t1, $a3
/* 099994 80098D94 00A6082A */ slt $at, $a1, $a2
/* 099998 80098D98 10200007 */ beqz $at, .L80098DB8
/* 09999C 80098D9C 00000000 */ nop
/* 0999A0 80098DA0 90620001 */ lbu $v0, 1($v1)
/* 0999A4 80098DA4 906E0002 */ lbu $t6, 2($v1)
/* 0999A8 80098DA8 AC860004 */ sw $a2, 4($a0)
/* 0999AC 80098DAC AC850008 */ sw $a1, 8($a0)
/* 0999B0 80098DB0 A0620002 */ sb $v0, 2($v1)
/* 0999B4 80098DB4 A06E0001 */ sb $t6, 1($v1)
.L80098DB8:
/* 0999B8 80098DB8 8FA30048 */ lw $v1, 0x48($sp)
/* 0999BC 80098DBC 8FA5004C */ lw $a1, 0x4c($sp)
/* 0999C0 80098DC0 24E70002 */ addiu $a3, $a3, 2
/* 0999C4 80098DC4 14E8FFE4 */ bne $a3, $t0, .L80098D58
/* 0999C8 80098DC8 24840008 */ addiu $a0, $a0, 8
.L80098DCC:
/* 0999CC 80098DCC 2508FFFF */ addiu $t0, $t0, -1
/* 0999D0 80098DD0 1D00FFCA */ bgtz $t0, .L80098CFC
/* 0999D4 80098DD4 00000000 */ nop
/* 0999D8 80098DD8 AFA5004C */ sw $a1, 0x4c($sp)
/* 0999DC 80098DDC AFA30048 */ sw $v1, 0x48($sp)
.L80098DE0:
/* 0999E0 80098DE0 0C027B20 */ jal is_in_two_player_adventure
/* 0999E4 80098DE4 00000000 */ nop
/* 0999E8 80098DE8 3C0B800E */ lui $t3, %hi(gNumberOfActivePlayers) # $t3, 0x800e
/* 0999EC 80098DEC 3C0C800E */ lui $t4, %hi(D_800E0FE4) # $t4, 0x800e
/* 0999F0 80098DF0 258C0FE4 */ addiu $t4, %lo(D_800E0FE4) # addiu $t4, $t4, 0xfe4
/* 0999F4 80098DF4 256BF4BC */ addiu $t3, %lo(gNumberOfActivePlayers) # addiu $t3, $t3, -0xb44
/* 0999F8 80098DF8 10400003 */ beqz $v0, .L80098E08
/* 0999FC 80098DFC 240A0001 */ li $t2, 1
/* 099A00 80098E00 10000003 */ b .L80098E10
/* 099A04 80098E04 24070002 */ li $a3, 2
.L80098E08:
/* 099A08 80098E08 8D670000 */ lw $a3, ($t3)
/* 099A0C 80098E0C 00000000 */ nop
.L80098E10:
/* 099A10 80098E10 8D850000 */ lw $a1, ($t4)
/* 099A14 80098E14 3C048012 */ lui $a0, %hi(D_80126430) # $a0, 0x8012
/* 099A18 80098E18 18A00010 */ blez $a1, .L80098E5C
/* 099A1C 80098E1C 24846430 */ addiu $a0, %lo(D_80126430) # addiu $a0, $a0, 0x6430
/* 099A20 80098E20 3C0F8012 */ lui $t7, %hi(D_80126420) # $t7, 0x8012
/* 099A24 80098E24 25E26420 */ addiu $v0, $t7, %lo(D_80126420)
/* 099A28 80098E28 00A21821 */ addu $v1, $a1, $v0
.L80098E2C:
/* 099A2C 80098E2C 90990000 */ lbu $t9, ($a0)
/* 099A30 80098E30 00000000 */ nop
/* 099A34 80098E34 0327082A */ slt $at, $t9, $a3
/* 099A38 80098E38 10200003 */ beqz $at, .L80098E48
/* 099A3C 80098E3C 00000000 */ nop
/* 099A40 80098E40 10000002 */ b .L80098E4C
/* 099A44 80098E44 A04A0000 */ sb $t2, ($v0)
.L80098E48:
/* 099A48 80098E48 A0400000 */ sb $zero, ($v0)
.L80098E4C:
/* 099A4C 80098E4C 24420001 */ addiu $v0, $v0, 1
/* 099A50 80098E50 0043082B */ sltu $at, $v0, $v1
/* 099A54 80098E54 1420FFF5 */ bnez $at, .L80098E2C
/* 099A58 80098E58 24840001 */ addiu $a0, $a0, 1
.L80098E5C:
/* 099A5C 80098E5C 0C03105C */ jal load_font
/* 099A60 80098E60 24040002 */ li $a0, 2
/* 099A64 80098E64 0C0002F8 */ jal set_music_player_voice_limit
/* 099A68 80098E68 24040018 */ li $a0, 24
/* 099A6C 80098E6C 0C0002CD */ jal play_music
/* 099A70 80098E70 24040018 */ li $a0, 24
/* 099A74 80098E74 0C000326 */ jal set_music_fade_timer
/* 099A78 80098E78 24040100 */ li $a0, 256
/* 099A7C 80098E7C 0C0261DD */ jal func_80098774
/* 099A80 80098E80 00002025 */ move $a0, $zero
/* 099A84 80098E84 3C013F00 */ li $at, 0x3F000000 # 0.500000
/* 099A88 80098E88 44810000 */ mtc1 $at, $f0
/* 099A8C 80098E8C 3C04800E */ lui $a0, %hi(D_800E1048) # $a0, 0x800e
/* 099A90 80098E90 44050000 */ mfc1 $a1, $f0
/* 099A94 80098E94 44070000 */ mfc1 $a3, $f0
/* 099A98 80098E98 24841048 */ addiu $a0, %lo(D_800E1048) # addiu $a0, $a0, 0x1048
/* 099A9C 80098E9C 3C0641A0 */ lui $a2, 0x41a0
/* 099AA0 80098EA0 AFA00010 */ sw $zero, 0x10($sp)
/* 099AA4 80098EA4 0C020795 */ jal func_80081E54
/* 099AA8 80098EA8 AFA00014 */ sw $zero, 0x14($sp)
/* 099AAC 80098EAC 8FBF001C */ lw $ra, 0x1c($sp)
/* 099AB0 80098EB0 27BD0070 */ addiu $sp, $sp, 0x70
/* 099AB4 80098EB4 03E00008 */ jr $ra
/* 099AB8 80098EB8 00000000 */ nop
@@ -419,9 +419,9 @@ glabel menu_trophy_race_rankings_loop
.L800995E8:
/* 09A1E8 800995E8 8FBF001C */ lw $ra, 0x1c($sp)
.L800995EC:
/* 09A1EC 800995EC 3C018012 */ lui $at, %hi(gIgnorePlayerInput) # $at, 0x8012
/* 09A1EC 800995EC 3C018012 */ lui $at, %hi(gIgnorePlayerInputTime) # $at, 0x8012
/* 09A1F0 800995F0 8FA2003C */ lw $v0, 0x3c($sp)
/* 09A1F4 800995F4 AC2063C4 */ sw $zero, %lo(gIgnorePlayerInput)($at)
/* 09A1F4 800995F4 AC2063C4 */ sw $zero, %lo(gIgnorePlayerInputTime)($at)
/* 09A1F8 800995F8 03E00008 */ jr $ra
/* 09A1FC 800995FC 27BD0050 */ addiu $sp, $sp, 0x50
@@ -1,93 +0,0 @@
glabel menu_trophy_race_round_init
/* 098E6C 8009826C 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 098E70 80098270 AFBF0024 */ sw $ra, 0x24($sp)
/* 098E74 80098274 AFB30020 */ sw $s3, 0x20($sp)
/* 098E78 80098278 AFB2001C */ sw $s2, 0x1c($sp)
/* 098E7C 8009827C AFB10018 */ sw $s1, 0x18($sp)
/* 098E80 80098280 0C01BAA4 */ jal get_settings
/* 098E84 80098284 AFB00014 */ sw $s0, 0x14($sp)
/* 098E88 80098288 00408825 */ move $s1, $v0
/* 098E8C 8009828C 0C0078A7 */ jal get_misc_asset
/* 098E90 80098290 2404001A */ li $a0, 26
/* 098E94 80098294 3C03800E */ lui $v1, %hi(gTrophyRaceRound) # $v1, 0x800e
/* 098E98 80098298 8C630FEC */ lw $v1, %lo(gTrophyRaceRound)($v1)
/* 098E9C 8009829C 3C0E800E */ lui $t6, %hi(gTrophyRaceWorldId) # $t6, 0x800e
/* 098EA0 800982A0 1460000E */ bnez $v1, .L800982DC
/* 098EA4 800982A4 3C13800E */ lui $s3, %hi(gNumberOfActivePlayers) # $s3, 0x800e
/* 098EA8 800982A8 00008025 */ move $s0, $zero
/* 098EAC 800982AC 02201825 */ move $v1, $s1
/* 098EB0 800982B0 24040008 */ li $a0, 8
.L800982B4:
/* 098EB4 800982B4 26100004 */ addiu $s0, $s0, 4
/* 098EB8 800982B8 AC60006C */ sw $zero, 0x6c($v1)
/* 098EBC 800982BC AC600084 */ sw $zero, 0x84($v1)
/* 098EC0 800982C0 AC60009C */ sw $zero, 0x9c($v1)
/* 098EC4 800982C4 24630060 */ addiu $v1, $v1, 0x60
/* 098EC8 800982C8 1604FFFA */ bne $s0, $a0, .L800982B4
/* 098ECC 800982CC AC60FFF4 */ sw $zero, -0xc($v1)
/* 098ED0 800982D0 3C03800E */ lui $v1, %hi(gTrophyRaceRound) # $v1, 0x800e
/* 098ED4 800982D4 8C630FEC */ lw $v1, %lo(gTrophyRaceRound)($v1)
/* 098ED8 800982D8 00000000 */ nop
.L800982DC:
/* 098EDC 800982DC 8DCE0FE8 */ lw $t6, %lo(gTrophyRaceWorldId)($t6)
/* 098EE0 800982E0 2673F4BC */ addiu $s3, %lo(gNumberOfActivePlayers) # addiu $s3, $s3, -0xb44
/* 098EE4 800982E4 000E7880 */ sll $t7, $t6, 2
/* 098EE8 800982E8 01EE7823 */ subu $t7, $t7, $t6
/* 098EEC 800982EC 000F7840 */ sll $t7, $t7, 1
/* 098EF0 800982F0 01E3C021 */ addu $t8, $t7, $v1
/* 098EF4 800982F4 0302C821 */ addu $t9, $t8, $v0
/* 098EF8 800982F8 8324FFFA */ lb $a0, -6($t9)
/* 098EFC 800982FC 2403FFFF */ li $v1, -1
.L80098300:
/* 098F00 80098300 14830004 */ bne $a0, $v1, .L80098314
/* 098F04 80098304 00808025 */ move $s0, $a0
/* 098F08 80098308 26100001 */ addiu $s0, $s0, 1
/* 098F0C 8009830C 32080003 */ andi $t0, $s0, 3
/* 098F10 80098310 01008025 */ move $s0, $t0
.L80098314:
/* 098F14 80098314 1203FFFA */ beq $s0, $v1, .L80098300
/* 098F18 80098318 00000000 */ nop
/* 098F1C 8009831C 8E690000 */ lw $t1, ($s3)
/* 098F20 80098320 00008825 */ move $s1, $zero
/* 098F24 80098324 1920000A */ blez $t1, .L80098350
/* 098F28 80098328 3C128012 */ lui $s2, %hi(gPlayerSelectVehicle) # $s2, 0x8012
/* 098F2C 8009832C 265269C0 */ addiu $s2, %lo(gPlayerSelectVehicle) # addiu $s2, $s2, 0x69c0
.L80098330:
/* 098F30 80098330 0C01AC2B */ jal get_map_default_vehicle
/* 098F34 80098334 02002025 */ move $a0, $s0
/* 098F38 80098338 8E6A0000 */ lw $t2, ($s3)
/* 098F3C 8009833C 26310001 */ addiu $s1, $s1, 1
/* 098F40 80098340 022A082A */ slt $at, $s1, $t2
/* 098F44 80098344 26520001 */ addiu $s2, $s2, 1
/* 098F48 80098348 1420FFF9 */ bnez $at, .L80098330
/* 098F4C 8009834C A242FFFF */ sb $v0, -1($s2)
.L80098350:
/* 098F50 80098350 0C01AC2B */ jal get_map_default_vehicle
/* 098F54 80098354 02002025 */ move $a0, $s0
/* 098F58 80098358 0C01B6C5 */ jal set_level_default_vehicle
/* 098F5C 8009835C 00402025 */ move $a0, $v0
/* 098F60 80098360 02002025 */ move $a0, $s0
/* 098F64 80098364 2405FFFF */ li $a1, -1
/* 098F68 80098368 0C01B8BA */ jal load_level_for_menu
/* 098F6C 8009836C 24060001 */ li $a2, 1
/* 098F70 80098370 3C01800E */ lui $at, %hi(gMenuDelay) # $at, 0x800e
/* 098F74 80098374 AC20F47C */ sw $zero, %lo(gMenuDelay)($at)
/* 098F78 80098378 3C01800E */ lui $at, %hi(D_800E0980) # $at, 0x800e
/* 098F7C 8009837C 240B000A */ li $t3, 10
/* 098F80 80098380 AC2B0980 */ sw $t3, %lo(D_800E0980)($at)
/* 098F84 80098384 0C03105C */ jal load_font
/* 098F88 80098388 24040002 */ li $a0, 2
/* 098F8C 8009838C 0C0002F8 */ jal set_music_player_voice_limit
/* 098F90 80098390 24040018 */ li $a0, 24
/* 098F94 80098394 0C0002CD */ jal play_music
/* 098F98 80098398 24040018 */ li $a0, 24
/* 098F9C 8009839C 0C000326 */ jal set_music_fade_timer
/* 098FA0 800983A0 24040100 */ li $a0, 256
/* 098FA4 800983A4 8FBF0024 */ lw $ra, 0x24($sp)
/* 098FA8 800983A8 8FB00014 */ lw $s0, 0x14($sp)
/* 098FAC 800983AC 8FB10018 */ lw $s1, 0x18($sp)
/* 098FB0 800983B0 8FB2001C */ lw $s2, 0x1c($sp)
/* 098FB4 800983B4 8FB30020 */ lw $s3, 0x20($sp)
/* 098FB8 800983B8 03E00008 */ jr $ra
/* 098FBC 800983BC 27BD0028 */ addiu $sp, $sp, 0x28
+3 -4
View File
@@ -1592,8 +1592,7 @@ typedef struct Object_64 {
// Size: 0xC
typedef struct Object_68_38 {
/* 0x00 */ u8 *unk0;
/* 0x00 */ u8 pad4[4];
/* 0x00 */ u8 unk0[8];
/* 0x08 */ s32 unk8;
} Object_68_38;
@@ -1620,8 +1619,8 @@ typedef struct Object_68 {
/* 0x2C */ s32 unk2C;
/* 0x30 */ s32 unk30;
/* 0x34 */ u8 pad34[0x4];
/* 0x38 */ Object_68_38 *unk38[2]; //Array Size unknown
/* 0x40 */ u8 pad40[0x10];
/* 0x38 */ Object_68_38 *unk38; //Array Size unknown
/* 0x40 */ u8 pad40[0x14];
/* 0x50 */ s16 unk50;
} Object_68;
+44 -21
View File
@@ -510,7 +510,7 @@ void render_hud(Gfx **dList, MatrixS **mtx, Vertex **vertexList, Object *arg3, s
}
}
gDPSetPrimColor(gHUDCurrDisplayList++, 0, 0, 255, 255, 255, 255);
func_800A7A60(arg3, &gHUDCurrDisplayList);
func_800A7A60(arg3);
set_ortho_matrix_view(&gHUDCurrDisplayList, &gHUDCurrMatrix);
gDPSetEnvColor(gHUDCurrDisplayList++, 255, 255, 255, 0);
sp2C = func_8001139C() >> 1;
@@ -969,7 +969,7 @@ void func_800A277C(s32 arg0, Object* playerRacerObj, s32 updateRate) {
}
func_80061D30(ttSWBodyObject);
}
func_800AA600(&gHUDCurrDisplayList, &gHUDCurrMatrix, &gHUDCurrVertex, (unk80126CDC** ) &gCurrentHud->unk21C[0x124]);
func_800AA600(&gHUDCurrDisplayList, &gHUDCurrMatrix, &gHUDCurrVertex, (unk80126CDC** ) &gCurrentHud->unk340);
for(i = 0; curRacer->lap >= i && i < 5; i++) {
stopwatchTimer += curRacer->lap_times[i];
@@ -983,12 +983,12 @@ void func_800A277C(s32 arg0, Object* playerRacerObj, s32 updateRate) {
}
gCurrentHud->unk444 = ((stopwatchTimer * 0x444) + 0x7FF8);
if (func_8000E0B0() <= 0) {
func_800AA600(&gHUDCurrDisplayList, &gHUDCurrMatrix, &gHUDCurrVertex, (unk80126CDC **) &gCurrentHud->unk21C[0x224]);
func_800AA600(&gHUDCurrDisplayList, &gHUDCurrMatrix, &gHUDCurrVertex, (unk80126CDC **) &gCurrentHud->unk440);
}
gCurrentHud->unk444 = ((((stopwatchTimer / 60) + 30) % 60) * 0x444);
gCurrentHud->unk450 = gCurrentHud->unk350 + 28.0f;
if (func_8000E0B0() <= 0) {
func_800AA600(&gHUDCurrDisplayList, &gHUDCurrMatrix, &gHUDCurrVertex, (unk80126CDC **) &gCurrentHud->unk21C[0x224]);
func_800AA600(&gHUDCurrDisplayList, &gHUDCurrMatrix, &gHUDCurrVertex, (unk80126CDC **) &gCurrentHud->unk440);
}
obj68->unk20 = 0;
func_80068508(1);
@@ -1004,8 +1004,8 @@ void func_800A277C(s32 arg0, Object* playerRacerObj, s32 updateRate) {
spB8 += 12;
gDPSetPrimColor(gHUDCurrDisplayList++, 0, 0, 255, 255, 255, 255);
gCurrentHud->unk338 = i + 1;
func_800AA600(&gHUDCurrDisplayList, &gHUDCurrMatrix, &gHUDCurrVertex, (unk80126CDC **) &gCurrentHud->unk21C[0x104]);
func_800AA600(&gHUDCurrDisplayList, &gHUDCurrMatrix, &gHUDCurrVertex, (unk80126CDC **) &gCurrentHud->unk21C[0xE4]);
func_800AA600(&gHUDCurrDisplayList, &gHUDCurrMatrix, &gHUDCurrVertex, (unk80126CDC **) &gCurrentHud->unk320);
func_800AA600(&gHUDCurrDisplayList, &gHUDCurrMatrix, &gHUDCurrVertex, (unk80126CDC **) &gCurrentHud->unk300);
gCurrentHud->unk330 += 12.0f;
gCurrentHud->unk310 += 12.0f;
}
@@ -1127,7 +1127,6 @@ void func_800A277C(s32 arg0, Object* playerRacerObj, s32 updateRate) {
GLOBAL_ASM("asm/non_matchings/game_ui/func_800A277C.s")
#endif
#ifdef NON_EQUIVALENT
void func_800A36CC(u8 arg0, u8 arg1, u8 arg2, u8 arg3, u8 arg4) {
s32 var_a3;
s32 i;
@@ -1138,27 +1137,24 @@ void func_800A36CC(u8 arg0, u8 arg1, u8 arg2, u8 arg3, u8 arg4) {
if (is_in_time_trial()) {
hud20 = gAssetHudElements->entry[20];
if (hud20 != NULL) {
unk68 = hud20->unk68;
unk68 = hud20->unk68[0];
var_a3 = unk68[0]->unk28;
for (i = 0; i < var_a3; i++) {
temp_v0_2 = unk68[0]->unk38[i];
if (D_80126D66 == *temp_v0_2) {
*temp_v0_2 = arg0;
if (D_80126D66 == unk68[0]->unk38[i].unk0[0]) {
unk68[0]->unk38[i].unk0[0] = arg0;
if (arg0 == 4) {
unk68[0]->unk38[i]->unk8 |= (0x800000 | 0x10000);
unk68[0]->unk38[i].unk8 |= (0x800000 | 0x10000);
unk68[0]->unk50 = 1;
} else {
unk68[0]->unk38[i]->unk8 &= ~(0x800000 | 0x10000);
unk68[0]->unk38[i].unk8 &= ~(0x800000 | 0x10000);
unk68[0]->unk50 = 0;
}
var_a3 = unk68[0]->unk28;
}
if (D_80126D65 == *temp_v0_2) {
*temp_v0_2 = arg1;
} else if (D_80126D65 == unk68[0]->unk38[i].unk0[0]) {
unk68[0]->unk38[i].unk0[0] = arg1;
var_a3 = unk68[0]->unk28;
}
}
}
D_80126D66 = arg0;
D_80126D65 = arg1;
@@ -1168,9 +1164,6 @@ void func_800A36CC(u8 arg0, u8 arg1, u8 arg2, u8 arg3, u8 arg4) {
}
}
}
#else
GLOBAL_ASM("asm/non_matchings/game_ui/func_800A36CC.s")
#endif
void func_800A3870(void) {
gCurrentHud->unk4C4 = 0x6490;
@@ -1886,7 +1879,37 @@ void render_weapon_hud(Object *obj, s32 updateRate) {
}
}
#ifdef NON_EQUIVALENT
void func_800A7A60(Object *obj) {
unk80126CDC *hud;
unk80068514_arg4 *arg4;
Object_Racer *racer;
s32 hudElementIndex;
f32 *new_var;
racer = &obj->unk64->racer;
if (racer->magnetTargetObj != NULL) {
if (get_current_viewport() == racer->playerIndex) {
hud = gCurrentHud;
hudElementIndex = hud->unk226;
if (1) { } if (1) { } if (1) { } if (1) { } if (1) { }
new_var = &racer->magnetTargetObj->segment.trans.x_position;
hud->unk22C = *new_var;
hud->unk230 = racer->magnetTargetObj->segment.trans.y_position;
hud->unk234 = racer->magnetTargetObj->segment.trans.z_position;
arg4 = (unk80068514_arg4 *) gAssetHudElements->entry[hudElementIndex];
if (arg4 != NULL) {
gAssetHudElementStaleCounter[hudElementIndex] = 0;
func_80066CDC(&gHUDCurrDisplayList, &gHUDCurrMatrix);
func_80068408(&gHUDCurrDisplayList, &gHUDCurrMatrix);
render_sprite_billboard(&gHUDCurrDisplayList, &gHUDCurrMatrix, &gHUDCurrVertex, hud->unk220, arg4, RENDER_Z_UPDATE);
}
}
}
}
#else
GLOBAL_ASM("asm/non_matchings/game_ui/func_800A7A60.s")
#endif
/**
* Render the lap time on the top right.
+17 -5
View File
@@ -156,7 +156,15 @@ typedef struct unk80126CDC {
s16 unk218;
s8 unk21A;
s8 unk21B;
u8 unk21C[0x24];
u8 pad21C[0x4];
Object *unk220;
u8 pad224[0x2];
s16 unk226;
u8 pad228[0x2];
f32 unk22C;
f32 unk230;
f32 unk234;
u8 pad238[0x8];
struct unk80126CDC *unk240;
u8 unk244[0x8];
f32 unk24C;
@@ -164,9 +172,13 @@ typedef struct unk80126CDC {
u8 unk254[0x98];
f32 unk2EC;
f32 unk2F0;
u8 unk2F4[0x1C];
u8 unk2F4[0xC];
s16 unk300;
u8 unk302[0xC];
f32 unk310;
u8 unk314[0x1C];
u8 unk314[0xC];
s16 unk320;
u8 pad322[0xE];
f32 unk330;
s32 unk334;
s16 unk338;
@@ -383,6 +395,7 @@ void init_hud(s32 viewportCount);
void func_800A1C04(s32 arg0, Object *obj, s32 updateRate);
void func_800A22F4(Object_Racer *racer, void *unused);
void free_hud(void);
void func_800A36CC(u8, u8, u8, u8, u8);
// Non Matching
void func_800A14F0(Object *, s32);
@@ -395,13 +408,12 @@ void func_800A1248(s32, Object*, s32);
void func_800A277C(s32, Object*, s32);
void func_800A6254(Object_64* obj, s32 updateRate);
void func_800A6E30(Object_64* obj, s32 updateRate);
void func_800A7A60(Object*, Gfx**);
void func_800A7A60(Object*);
void func_800A0BD4(s32);
void func_800A19A4(Object_Racer* racer, s32 updateRate);
void func_800A1E48(Object*, s32);
void render_treasure_hud(Object_Racer*);
void func_800AA3EC(f32, f32, f32, f32, f32);
void func_800A36CC(u8, u8, u8, u8, u8);
void func_8009F034(void);
#endif

Some files were not shown because too many files have changed in this diff Show More