mirror of
https://github.com/izzy2lost/Diddy-Kong-Racing.git
synced 2026-06-19 01:16:26 -07:00
Match 3 menu functions (#476)
* Fix typo and update some vehicle values. * Match load_menu_text * Cleanup load_menu_text * Match func_80080BC8 * Match func_80080E90 * Fix NON_EQUIVALENT builds and update score
This commit is contained in:
@@ -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 (SHA1 = 0cb115d8716dbbc2922fda38e533b9fe63bb9670) 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 March 7, 2025, this is our current score:
|
||||
As of March 8, 2025, this is our current score:
|
||||
|
||||
    Decomp progress: 73.86%
|
||||
    Decomp progress: 74.23%
|
||||
|
||||
    Documentation progress: 49.99%
|
||||
<!-- README_SCORE_SUMMARY_END -->
|
||||
@@ -126,20 +126,20 @@ s32 is_drumstick_unlocked(void) {
|
||||
```
|
||||
|
||||
<!-- README_SCORE_BEGIN -->
|
||||
As of March 7, 2025, this is our current score:
|
||||
As of March 9, 2025, this is our current score:
|
||||
```
|
||||
==========================================================
|
||||
ADVENTURE ONE (ASM -> C Decompilation)
|
||||
--------- 73.86% Complete (76.35% NON_MATCHING) ----------
|
||||
# Decompiled functions: 1819
|
||||
# GLOBAL_ASM remaining: 122
|
||||
--------- 74.23% Complete (76.72% NON_MATCHING) ----------
|
||||
# Decompiled functions: 1822
|
||||
# GLOBAL_ASM remaining: 119
|
||||
# NON_MATCHING functions: 14
|
||||
# NON_EQUIVALENT WIP functions: 43
|
||||
# NON_EQUIVALENT WIP functions: 41
|
||||
---------------------- Game Status -----------------------
|
||||
Balloons: 35/47, Keys: 4/4, Trophies: 3/5
|
||||
T.T. Amulets: 3/4, Wizpig Amulets: 3/4
|
||||
----------------------------------------------------------
|
||||
We are collecting bananas in Smokey Castle. (7/10 Bananas)
|
||||
We are collecting bananas in Smokey Castle. (9/10 Bananas)
|
||||
==========================================================
|
||||
ADVENTURE TWO (Cleanup & Documentation)
|
||||
-------------------- 49.99% Complete ---------------------
|
||||
|
||||
@@ -1,181 +0,0 @@
|
||||
glabel func_80080BC8
|
||||
/* 0817C8 80080BC8 27BDFFC8 */ addiu $sp, $sp, -0x38
|
||||
/* 0817CC 80080BCC AFBF0034 */ sw $ra, 0x34($sp)
|
||||
/* 0817D0 80080BD0 AFB60030 */ sw $s6, 0x30($sp)
|
||||
/* 0817D4 80080BD4 AFB5002C */ sw $s5, 0x2c($sp)
|
||||
/* 0817D8 80080BD8 AFB40028 */ sw $s4, 0x28($sp)
|
||||
/* 0817DC 80080BDC AFB30024 */ sw $s3, 0x24($sp)
|
||||
/* 0817E0 80080BE0 AFB20020 */ sw $s2, 0x20($sp)
|
||||
/* 0817E4 80080BE4 AFB1001C */ sw $s1, 0x1c($sp)
|
||||
/* 0817E8 80080BE8 AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* 0817EC 80080BEC 8C820000 */ lw $v0, ($a0)
|
||||
/* 0817F0 80080BF0 3C18800E */ lui $t8, %hi(dMenuHudSettings) # $t8, 0x800e
|
||||
/* 0817F4 80080BF4 244E0008 */ addiu $t6, $v0, 8
|
||||
/* 0817F8 80080BF8 AC8E0000 */ sw $t6, ($a0)
|
||||
/* 0817FC 80080BFC 27181C70 */ addiu $t8, %lo(dMenuHudSettings) # addiu $t8, $t8, 0x1c70
|
||||
/* 081800 80080C00 3C0F0600 */ lui $t7, 0x600
|
||||
/* 081804 80080C04 3C09800E */ lui $t1, %hi(gWoodPanelCount) # $t1, 0x800e
|
||||
/* 081808 80080C08 AC4F0000 */ sw $t7, ($v0)
|
||||
/* 08180C 80080C0C AC580004 */ sw $t8, 4($v0)
|
||||
/* 081810 80080C10 8D291DB8 */ lw $t1, %lo(gWoodPanelCount)($t1)
|
||||
/* 081814 80080C14 00803025 */ move $a2, $a0
|
||||
/* 081818 80080C18 2408FFFF */ li $t0, -1
|
||||
/* 08181C 80080C1C 00006825 */ move $t5, $zero
|
||||
/* 081820 80080C20 1920007E */ blez $t1, .L80080E1C
|
||||
/* 081824 80080C24 00003825 */ move $a3, $zero
|
||||
# dMenuHudSettings - 0x7FFFFFD0 = 0xE1CA0
|
||||
/* 081828 80080C28 3C16000E */ lui $s6, %hi(dMenuHudSettings - 0x7FFFFFD0) # $s6, 0xe
|
||||
# dMenuHudSettings - 0x7FFFFFC0 = 0xE1CB0
|
||||
/* 08182C 80080C2C 3C11000E */ lui $s1, %hi(dMenuHudSettings - 0x7FFFFFC0) # $s1, 0xe
|
||||
/* 081830 80080C30 3C1F0702 */ lui $ra, (0x07020010 >> 16) # lui $ra, 0x702
|
||||
/* 081834 80080C34 3C0B8012 */ lui $t3, %hi(gMenuGeometry) # $t3, 0x8012
|
||||
/* 081838 80080C38 3C0A800E */ lui $t2, %hi(gMenuTrisFlip) # $t2, 0x800e
|
||||
/* 08183C 80080C3C 254A1DB4 */ addiu $t2, %lo(gMenuTrisFlip) # addiu $t2, $t2, 0x1db4
|
||||
/* 081840 80080C40 256B6C2C */ addiu $t3, %lo(gMenuGeometry) # addiu $t3, $t3, 0x6c2c
|
||||
/* 081844 80080C44 37FF0010 */ ori $ra, (0x07020010 & 0xFFFF) # ori $ra, $ra, 0x10
|
||||
# dMenuHudSettings - 0x7FFFFFC0 = 0xE1CB0
|
||||
/* 081848 80080C48 26311CB0 */ addiu $s1, %lo(dMenuHudSettings - 0x7FFFFFC0) # addiu $s1, $s1, 0x1cb0
|
||||
# dMenuHudSettings - 0x7FFFFFD0 = 0xE1CA0
|
||||
/* 08184C 80080C4C 26D61CA0 */ addiu $s6, %lo(dMenuHudSettings - 0x7FFFFFD0) # addiu $s6, $s6, 0x1ca0
|
||||
/* 081850 80080C50 3C150500 */ lui $s5, 0x500
|
||||
/* 081854 80080C54 3C140400 */ lui $s4, 0x400
|
||||
/* 081858 80080C58 3C13E700 */ lui $s3, 0xe700
|
||||
/* 08185C 80080C5C 3C120700 */ lui $s2, 0x700
|
||||
/* 081860 80080C60 24100001 */ li $s0, 1
|
||||
/* 081864 80080C64 3C0C8000 */ lui $t4, 0x8000
|
||||
.L80080C68:
|
||||
/* 081868 80080C68 8D790000 */ lw $t9, ($t3)
|
||||
/* 08186C 80080C6C 8D580000 */ lw $t8, ($t2)
|
||||
/* 081870 80080C70 00077140 */ sll $t6, $a3, 5
|
||||
/* 081874 80080C74 032E7821 */ addu $t7, $t9, $t6
|
||||
/* 081878 80080C78 0018C880 */ sll $t9, $t8, 2
|
||||
/* 08187C 80080C7C 01F91021 */ addu $v0, $t7, $t9
|
||||
/* 081880 80080C80 8C4E0018 */ lw $t6, 0x18($v0)
|
||||
/* 081884 80080C84 00000000 */ nop
|
||||
/* 081888 80080C88 15C00060 */ bnez $t6, .L80080E0C
|
||||
/* 08188C 80080C8C 00000000 */ nop
|
||||
/* 081890 80080C90 8C430010 */ lw $v1, 0x10($v0)
|
||||
/* 081894 80080C94 00000000 */ nop
|
||||
/* 081898 80080C98 1060001D */ beqz $v1, .L80080D10
|
||||
/* 08189C 80080C9C 00000000 */ nop
|
||||
/* 0818A0 80080CA0 11100007 */ beq $t0, $s0, .L80080CC0
|
||||
/* 0818A4 80080CA4 00000000 */ nop
|
||||
/* 0818A8 80080CA8 8CC20000 */ lw $v0, ($a2)
|
||||
/* 0818AC 80080CAC 02004025 */ move $t0, $s0
|
||||
/* 0818B0 80080CB0 24580008 */ addiu $t8, $v0, 8
|
||||
/* 0818B4 80080CB4 ACD80000 */ sw $t8, ($a2)
|
||||
/* 0818B8 80080CB8 AC510004 */ sw $s1, 4($v0)
|
||||
/* 0818BC 80080CBC AC5F0000 */ sw $ra, ($v0)
|
||||
.L80080CC0:
|
||||
/* 0818C0 80080CC0 11A3001B */ beq $t5, $v1, .L80080D30
|
||||
/* 0818C4 80080CC4 00000000 */ nop
|
||||
/* 0818C8 80080CC8 8CC20000 */ lw $v0, ($a2)
|
||||
/* 0818CC 80080CCC 00606825 */ move $t5, $v1
|
||||
/* 0818D0 80080CD0 244F0008 */ addiu $t7, $v0, 8
|
||||
/* 0818D4 80080CD4 ACCF0000 */ sw $t7, ($a2)
|
||||
/* 0818D8 80080CD8 8465000A */ lh $a1, 0xa($v1)
|
||||
/* 0818DC 80080CDC 00000000 */ nop
|
||||
/* 0818E0 80080CE0 30B900FF */ andi $t9, $a1, 0xff
|
||||
/* 0818E4 80080CE4 00197400 */ sll $t6, $t9, 0x10
|
||||
/* 0818E8 80080CE8 000578C0 */ sll $t7, $a1, 3
|
||||
/* 0818EC 80080CEC 31F9FFFF */ andi $t9, $t7, 0xffff
|
||||
/* 0818F0 80080CF0 01D2C025 */ or $t8, $t6, $s2
|
||||
/* 0818F4 80080CF4 03197025 */ or $t6, $t8, $t9
|
||||
/* 0818F8 80080CF8 AC4E0000 */ sw $t6, ($v0)
|
||||
/* 0818FC 80080CFC 8C6F000C */ lw $t7, 0xc($v1)
|
||||
/* 081900 80080D00 00000000 */ nop
|
||||
/* 081904 80080D04 01ECC021 */ addu $t8, $t7, $t4
|
||||
/* 081908 80080D08 10000009 */ b .L80080D30
|
||||
/* 08190C 80080D0C AC580004 */ sw $t8, 4($v0)
|
||||
.L80080D10:
|
||||
/* 081910 80080D10 11000007 */ beqz $t0, .L80080D30
|
||||
/* 081914 80080D14 00000000 */ nop
|
||||
/* 081918 80080D18 8CC20000 */ lw $v0, ($a2)
|
||||
/* 08191C 80080D1C 00004025 */ move $t0, $zero
|
||||
/* 081920 80080D20 24590008 */ addiu $t9, $v0, 8
|
||||
/* 081924 80080D24 ACD90000 */ sw $t9, ($a2)
|
||||
/* 081928 80080D28 AC560004 */ sw $s6, 4($v0)
|
||||
/* 08192C 80080D2C AC5F0000 */ sw $ra, ($v0)
|
||||
.L80080D30:
|
||||
/* 081930 80080D30 8CC20000 */ lw $v0, ($a2)
|
||||
/* 081934 80080D34 0007C940 */ sll $t9, $a3, 5
|
||||
/* 081938 80080D38 244E0008 */ addiu $t6, $v0, 8
|
||||
/* 08193C 80080D3C ACCE0000 */ sw $t6, ($a2)
|
||||
/* 081940 80080D40 AC400004 */ sw $zero, 4($v0)
|
||||
/* 081944 80080D44 AC530000 */ sw $s3, ($v0)
|
||||
/* 081948 80080D48 8CC20000 */ lw $v0, ($a2)
|
||||
/* 08194C 80080D4C 3C09800E */ lui $t1, %hi(gWoodPanelCount) # $t1, 0x800e
|
||||
/* 081950 80080D50 244F0008 */ addiu $t7, $v0, 8
|
||||
/* 081954 80080D54 ACCF0000 */ sw $t7, ($a2)
|
||||
/* 081958 80080D58 8D780000 */ lw $t8, ($t3)
|
||||
/* 08195C 80080D5C 8D4F0000 */ lw $t7, ($t2)
|
||||
/* 081960 80080D60 03197021 */ addu $t6, $t8, $t9
|
||||
/* 081964 80080D64 000FC080 */ sll $t8, $t7, 2
|
||||
/* 081968 80080D68 01D8C821 */ addu $t9, $t6, $t8
|
||||
/* 08196C 80080D6C 8F2F0000 */ lw $t7, ($t9)
|
||||
/* 081970 80080D70 00000000 */ nop
|
||||
/* 081974 80080D74 01EC7021 */ addu $t6, $t7, $t4
|
||||
/* 081978 80080D78 31D80006 */ andi $t8, $t6, 6
|
||||
/* 08197C 80080D7C 37190098 */ ori $t9, $t8, 0x98
|
||||
/* 081980 80080D80 332F00FF */ andi $t7, $t9, 0xff
|
||||
/* 081984 80080D84 000F7400 */ sll $t6, $t7, 0x10
|
||||
/* 081988 80080D88 01D4C025 */ or $t8, $t6, $s4
|
||||
/* 08198C 80080D8C 37190170 */ ori $t9, $t8, 0x170
|
||||
/* 081990 80080D90 AC590000 */ sw $t9, ($v0)
|
||||
/* 081994 80080D94 8D6F0000 */ lw $t7, ($t3)
|
||||
/* 081998 80080D98 8D590000 */ lw $t9, ($t2)
|
||||
/* 08199C 80080D9C 00077140 */ sll $t6, $a3, 5
|
||||
/* 0819A0 80080DA0 01EEC021 */ addu $t8, $t7, $t6
|
||||
/* 0819A4 80080DA4 00197880 */ sll $t7, $t9, 2
|
||||
/* 0819A8 80080DA8 030F7021 */ addu $t6, $t8, $t7
|
||||
/* 0819AC 80080DAC 8DD90000 */ lw $t9, ($t6)
|
||||
/* 0819B0 80080DB0 350E0090 */ ori $t6, $t0, 0x90
|
||||
/* 0819B4 80080DB4 032CC021 */ addu $t8, $t9, $t4
|
||||
/* 0819B8 80080DB8 AC580004 */ sw $t8, 4($v0)
|
||||
/* 0819BC 80080DBC 8CC20000 */ lw $v0, ($a2)
|
||||
/* 0819C0 80080DC0 31D900FF */ andi $t9, $t6, 0xff
|
||||
/* 0819C4 80080DC4 244F0008 */ addiu $t7, $v0, 8
|
||||
/* 0819C8 80080DC8 ACCF0000 */ sw $t7, ($a2)
|
||||
/* 0819CC 80080DCC 0019C400 */ sll $t8, $t9, 0x10
|
||||
/* 0819D0 80080DD0 03157825 */ or $t7, $t8, $s5
|
||||
/* 0819D4 80080DD4 35EE00A0 */ ori $t6, $t7, 0xa0
|
||||
/* 0819D8 80080DD8 AC4E0000 */ sw $t6, ($v0)
|
||||
/* 0819DC 80080DDC 8D790000 */ lw $t9, ($t3)
|
||||
/* 0819E0 80080DE0 8D4E0000 */ lw $t6, ($t2)
|
||||
/* 0819E4 80080DE4 0007C140 */ sll $t8, $a3, 5
|
||||
/* 0819E8 80080DE8 03387821 */ addu $t7, $t9, $t8
|
||||
/* 0819EC 80080DEC 000EC880 */ sll $t9, $t6, 2
|
||||
/* 0819F0 80080DF0 01F9C021 */ addu $t8, $t7, $t9
|
||||
/* 0819F4 80080DF4 8F0E0008 */ lw $t6, 8($t8)
|
||||
/* 0819F8 80080DF8 00000000 */ nop
|
||||
/* 0819FC 80080DFC 01CC7821 */ addu $t7, $t6, $t4
|
||||
/* 081A00 80080E00 AC4F0004 */ sw $t7, 4($v0)
|
||||
/* 081A04 80080E04 8D291DB8 */ lw $t1, %lo(gWoodPanelCount)($t1)
|
||||
/* 081A08 80080E08 00000000 */ nop
|
||||
.L80080E0C:
|
||||
/* 081A0C 80080E0C 24E70001 */ addiu $a3, $a3, 1
|
||||
/* 081A10 80080E10 00E9082A */ slt $at, $a3, $t1
|
||||
/* 081A14 80080E14 1420FF94 */ bnez $at, .L80080C68
|
||||
/* 081A18 80080E18 00000000 */ nop
|
||||
.L80080E1C:
|
||||
/* 081A1C 80080E1C 3C0A800E */ lui $t2, %hi(gMenuTrisFlip) # $t2, 0x800e
|
||||
/* 081A20 80080E20 3C01800E */ lui $at, %hi(gWoodPanelCount) # $at, 0x800e
|
||||
/* 081A24 80080E24 254A1DB4 */ addiu $t2, %lo(gMenuTrisFlip) # addiu $t2, $t2, 0x1db4
|
||||
/* 081A28 80080E28 AC201DB8 */ sw $zero, %lo(gWoodPanelCount)($at)
|
||||
/* 081A2C 80080E2C 8D590000 */ lw $t9, ($t2)
|
||||
/* 081A30 80080E30 24100001 */ li $s0, 1
|
||||
/* 081A34 80080E34 0219C023 */ subu $t8, $s0, $t9
|
||||
/* 081A38 80080E38 AD580000 */ sw $t8, ($t2)
|
||||
/* 081A3C 80080E3C 0C01ECF4 */ jal reset_render_settings
|
||||
/* 081A40 80080E40 00C02025 */ move $a0, $a2
|
||||
/* 081A44 80080E44 8FBF0034 */ lw $ra, 0x34($sp)
|
||||
/* 081A48 80080E48 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* 081A4C 80080E4C 8FB1001C */ lw $s1, 0x1c($sp)
|
||||
/* 081A50 80080E50 8FB20020 */ lw $s2, 0x20($sp)
|
||||
/* 081A54 80080E54 8FB30024 */ lw $s3, 0x24($sp)
|
||||
/* 081A58 80080E58 8FB40028 */ lw $s4, 0x28($sp)
|
||||
/* 081A5C 80080E5C 8FB5002C */ lw $s5, 0x2c($sp)
|
||||
/* 081A60 80080E60 8FB60030 */ lw $s6, 0x30($sp)
|
||||
/* 081A64 80080E64 03E00008 */ jr $ra
|
||||
/* 081A68 80080E68 27BD0038 */ addiu $sp, $sp, 0x38
|
||||
|
||||
@@ -1,249 +0,0 @@
|
||||
glabel func_80080E90
|
||||
/* 081A90 80080E90 27BDFFC0 */ addiu $sp, $sp, -0x40
|
||||
/* 081A94 80080E94 AFBF003C */ sw $ra, 0x3c($sp)
|
||||
/* 081A98 80080E98 AFBE0038 */ sw $fp, 0x38($sp)
|
||||
/* 081A9C 80080E9C AFB70034 */ sw $s7, 0x34($sp)
|
||||
/* 081AA0 80080EA0 AFB60030 */ sw $s6, 0x30($sp)
|
||||
/* 081AA4 80080EA4 AFB5002C */ sw $s5, 0x2c($sp)
|
||||
/* 081AA8 80080EA8 AFB40028 */ sw $s4, 0x28($sp)
|
||||
/* 081AAC 80080EAC AFB30024 */ sw $s3, 0x24($sp)
|
||||
/* 081AB0 80080EB0 AFB20020 */ sw $s2, 0x20($sp)
|
||||
/* 081AB4 80080EB4 AFB1001C */ sw $s1, 0x1c($sp)
|
||||
/* 081AB8 80080EB8 AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* 081ABC 80080EBC 8C830000 */ lw $v1, ($a0)
|
||||
/* 081AC0 80080EC0 3C18800E */ lui $t8, %hi(dMenuHudSettings) # $t8, 0x800e
|
||||
/* 081AC4 80080EC4 246E0008 */ addiu $t6, $v1, 8
|
||||
/* 081AC8 80080EC8 AC8E0000 */ sw $t6, ($a0)
|
||||
/* 081ACC 80080ECC 27181C70 */ addiu $t8, %lo(dMenuHudSettings) # addiu $t8, $t8, 0x1c70
|
||||
/* 081AD0 80080ED0 3C0F0600 */ lui $t7, 0x600
|
||||
/* 081AD4 80080ED4 AC6F0000 */ sw $t7, ($v1)
|
||||
/* 081AD8 80080ED8 AC780004 */ sw $t8, 4($v1)
|
||||
/* 081ADC 80080EDC 8C830000 */ lw $v1, ($a0)
|
||||
# dMenuHudSettings - 0x7FFFFFB0 = 0xE1CC0
|
||||
/* 081AE0 80080EE0 3C0F000E */ lui $t7, %hi(dMenuHudSettings - 0x7FFFFFB0) # $t7, 0xe
|
||||
/* 081AE4 80080EE4 24790008 */ addiu $t9, $v1, 8
|
||||
/* 081AE8 80080EE8 AC990000 */ sw $t9, ($a0)
|
||||
/* 081AEC 80080EEC 3C0E0702 */ lui $t6, (0x07020010 >> 16) # lui $t6, 0x702
|
||||
/* 081AF0 80080EF0 35CE0010 */ ori $t6, (0x07020010 & 0xFFFF) # ori $t6, $t6, 0x10
|
||||
# dMenuHudSettings - 0x7FFFFFB0 = 0xE1CC0
|
||||
/* 081AF4 80080EF4 25EF1CC0 */ addiu $t7, %lo(dMenuHudSettings - 0x7FFFFFB0) # addiu $t7, $t7, 0x1cc0
|
||||
/* 081AF8 80080EF8 AC6F0004 */ sw $t7, 4($v1)
|
||||
/* 081AFC 80080EFC AC6E0000 */ sw $t6, ($v1)
|
||||
/* 081B00 80080F00 8FB70058 */ lw $s7, 0x58($sp)
|
||||
/* 081B04 80080F04 8FBE0054 */ lw $fp, 0x54($sp)
|
||||
/* 081B08 80080F08 00808025 */ move $s0, $a0
|
||||
/* 081B0C 80080F0C 00C09825 */ move $s3, $a2
|
||||
/* 081B10 80080F10 00A0A825 */ move $s5, $a1
|
||||
/* 081B14 80080F14 00E0B025 */ move $s6, $a3
|
||||
/* 081B18 80080F18 0000A025 */ move $s4, $zero
|
||||
/* 081B1C 80080F1C 3C11F600 */ lui $s1, 0xf600
|
||||
.L80080F20:
|
||||
/* 081B20 80080F20 3C0E800E */ lui $t6, %hi(D_800E1DC8) # $t6, 0x800e
|
||||
/* 081B24 80080F24 25CE1DC8 */ addiu $t6, %lo(D_800E1DC8) # addiu $t6, $t6, 0x1dc8
|
||||
/* 081B28 80080F28 0014C8C0 */ sll $t9, $s4, 3
|
||||
/* 081B2C 80080F2C 032E1021 */ addu $v0, $t9, $t6
|
||||
/* 081B30 80080F30 844B0000 */ lh $t3, ($v0)
|
||||
/* 081B34 80080F34 844C0002 */ lh $t4, 2($v0)
|
||||
/* 081B38 80080F38 844D0004 */ lh $t5, 4($v0)
|
||||
/* 081B3C 80080F3C 845F0006 */ lh $ra, 6($v0)
|
||||
/* 081B40 80080F40 02A04825 */ move $t1, $s5
|
||||
/* 081B44 80080F44 02603025 */ move $a2, $s3
|
||||
/* 081B48 80080F48 1280000F */ beqz $s4, .L80080F88
|
||||
/* 081B4C 80080F4C 00005025 */ move $t2, $zero
|
||||
/* 081B50 80080F50 8FAF0050 */ lw $t7, 0x50($sp)
|
||||
/* 081B54 80080F54 24010001 */ li $at, 1
|
||||
/* 081B58 80080F58 026F2021 */ addu $a0, $s3, $t7
|
||||
/* 081B5C 80080F5C 1281000F */ beq $s4, $at, .L80080F9C
|
||||
/* 081B60 80080F60 2483FFFF */ addiu $v1, $a0, -1
|
||||
/* 081B64 80080F64 24010002 */ li $at, 2
|
||||
/* 081B68 80080F68 12810014 */ beq $s4, $at, .L80080FBC
|
||||
/* 081B6C 80080F6C 00603025 */ move $a2, $v1
|
||||
/* 081B70 80080F70 8FA20068 */ lw $v0, 0x68($sp)
|
||||
/* 081B74 80080F74 26660001 */ addiu $a2, $s3, 1
|
||||
/* 081B78 80080F78 26A70001 */ addiu $a3, $s5, 1
|
||||
/* 081B7C 80080F7C 00604025 */ move $t0, $v1
|
||||
/* 081B80 80080F80 10000012 */ b .L80080FCC
|
||||
/* 081B84 80080F84 03C09025 */ move $s2, $fp
|
||||
.L80080F88:
|
||||
/* 081B88 80080F88 8FA2005C */ lw $v0, 0x5c($sp)
|
||||
/* 081B8C 80080F8C 02B63821 */ addu $a3, $s5, $s6
|
||||
/* 081B90 80080F90 26680001 */ addiu $t0, $s3, 1
|
||||
/* 081B94 80080F94 1000000D */ b .L80080FCC
|
||||
/* 081B98 80080F98 02E09025 */ move $s2, $s7
|
||||
.L80080F9C:
|
||||
/* 081B9C 80080F9C 02B64821 */ addu $t1, $s5, $s6
|
||||
/* 081BA0 80080FA0 8FA20060 */ lw $v0, 0x60($sp)
|
||||
/* 081BA4 80080FA4 2529FFFF */ addiu $t1, $t1, -1
|
||||
/* 081BA8 80080FA8 26660001 */ addiu $a2, $s3, 1
|
||||
/* 081BAC 80080FAC 02B63821 */ addu $a3, $s5, $s6
|
||||
/* 081BB0 80080FB0 00604025 */ move $t0, $v1
|
||||
/* 081BB4 80080FB4 10000005 */ b .L80080FCC
|
||||
/* 081BB8 80080FB8 03C09025 */ move $s2, $fp
|
||||
.L80080FBC:
|
||||
/* 081BBC 80080FBC 8FA20064 */ lw $v0, 0x64($sp)
|
||||
/* 081BC0 80080FC0 02B63821 */ addu $a3, $s5, $s6
|
||||
/* 081BC4 80080FC4 00804025 */ move $t0, $a0
|
||||
/* 081BC8 80080FC8 02E09025 */ move $s2, $s7
|
||||
.L80080FCC:
|
||||
/* 081BCC 80080FCC 8E030000 */ lw $v1, ($s0)
|
||||
/* 081BD0 80080FD0 3C19FA00 */ lui $t9, 0xfa00
|
||||
/* 081BD4 80080FD4 24780008 */ addiu $t8, $v1, 8
|
||||
/* 081BD8 80080FD8 AE180000 */ sw $t8, ($s0)
|
||||
/* 081BDC 80080FDC AC790000 */ sw $t9, ($v1)
|
||||
/* 081BE0 80080FE0 0002CC03 */ sra $t9, $v0, 0x10
|
||||
/* 081BE4 80080FE4 00027E03 */ sra $t7, $v0, 0x18
|
||||
/* 081BE8 80080FE8 000FC600 */ sll $t8, $t7, 0x18
|
||||
/* 081BEC 80080FEC 332E00FF */ andi $t6, $t9, 0xff
|
||||
/* 081BF0 80080FF0 000E7C00 */ sll $t7, $t6, 0x10
|
||||
/* 081BF4 80080FF4 030FC825 */ or $t9, $t8, $t7
|
||||
/* 081BF8 80080FF8 00027203 */ sra $t6, $v0, 8
|
||||
/* 081BFC 80080FFC 31D800FF */ andi $t8, $t6, 0xff
|
||||
/* 081C00 80081000 00187A00 */ sll $t7, $t8, 8
|
||||
/* 081C04 80081004 032F7025 */ or $t6, $t9, $t7
|
||||
/* 081C08 80081008 305800FF */ andi $t8, $v0, 0xff
|
||||
/* 081C0C 8008100C 01D8C825 */ or $t9, $t6, $t8
|
||||
/* 081C10 80081010 1A400062 */ blez $s2, .L8008119C
|
||||
/* 081C14 80081014 AC790004 */ sw $t9, 4($v1)
|
||||
/* 081C18 80081018 32420001 */ andi $v0, $s2, 1
|
||||
/* 081C1C 8008101C 10400021 */ beqz $v0, .L800810A4
|
||||
/* 081C20 80081020 00000000 */ nop
|
||||
/* 081C24 80081024 04E0001A */ bltz $a3, .L80081090
|
||||
/* 081C28 80081028 240A0001 */ li $t2, 1
|
||||
/* 081C2C 8008102C 05000018 */ bltz $t0, .L80081090
|
||||
/* 081C30 80081030 30EE03FF */ andi $t6, $a3, 0x3ff
|
||||
/* 081C34 80081034 05210003 */ bgez $t1, .L80081044
|
||||
/* 081C38 80081038 000EC380 */ sll $t8, $t6, 0xe
|
||||
/* 081C3C 8008103C 10000002 */ b .L80081048
|
||||
/* 081C40 80081040 00002825 */ move $a1, $zero
|
||||
.L80081044:
|
||||
/* 081C44 80081044 01202825 */ move $a1, $t1
|
||||
.L80081048:
|
||||
/* 081C48 80081048 04C10003 */ bgez $a2, .L80081058
|
||||
/* 081C4C 8008104C 00C02025 */ move $a0, $a2
|
||||
/* 081C50 80081050 10000001 */ b .L80081058
|
||||
/* 081C54 80081054 00002025 */ move $a0, $zero
|
||||
.L80081058:
|
||||
/* 081C58 80081058 8E030000 */ lw $v1, ($s0)
|
||||
/* 081C5C 8008105C 0311C825 */ or $t9, $t8, $s1
|
||||
/* 081C60 80081060 246F0008 */ addiu $t7, $v1, 8
|
||||
/* 081C64 80081064 AE0F0000 */ sw $t7, ($s0)
|
||||
/* 081C68 80081068 310F03FF */ andi $t7, $t0, 0x3ff
|
||||
/* 081C6C 8008106C 000F7080 */ sll $t6, $t7, 2
|
||||
/* 081C70 80081070 032EC025 */ or $t8, $t9, $t6
|
||||
/* 081C74 80081074 308E03FF */ andi $t6, $a0, 0x3ff
|
||||
/* 081C78 80081078 30AF03FF */ andi $t7, $a1, 0x3ff
|
||||
/* 081C7C 8008107C AC780000 */ sw $t8, ($v1)
|
||||
/* 081C80 80081080 000EC080 */ sll $t8, $t6, 2
|
||||
/* 081C84 80081084 000FCB80 */ sll $t9, $t7, 0xe
|
||||
/* 081C88 80081088 03387825 */ or $t7, $t9, $t8
|
||||
/* 081C8C 8008108C AC6F0004 */ sw $t7, 4($v1)
|
||||
.L80081090:
|
||||
/* 081C90 80081090 012B4821 */ addu $t1, $t1, $t3
|
||||
/* 081C94 80081094 00CC3021 */ addu $a2, $a2, $t4
|
||||
/* 081C98 80081098 00ED3821 */ addu $a3, $a3, $t5
|
||||
/* 081C9C 8008109C 1152003F */ beq $t2, $s2, .L8008119C
|
||||
/* 081CA0 800810A0 011F4021 */ addu $t0, $t0, $ra
|
||||
.L800810A4:
|
||||
/* 081CA4 800810A4 04E0001A */ bltz $a3, .L80081110
|
||||
/* 081CA8 800810A8 254A0002 */ addiu $t2, $t2, 2
|
||||
/* 081CAC 800810AC 05000018 */ bltz $t0, .L80081110
|
||||
/* 081CB0 800810B0 30F903FF */ andi $t9, $a3, 0x3ff
|
||||
/* 081CB4 800810B4 05210003 */ bgez $t1, .L800810C4
|
||||
/* 081CB8 800810B8 0019C380 */ sll $t8, $t9, 0xe
|
||||
/* 081CBC 800810BC 10000002 */ b .L800810C8
|
||||
/* 081CC0 800810C0 00002825 */ move $a1, $zero
|
||||
.L800810C4:
|
||||
/* 081CC4 800810C4 01202825 */ move $a1, $t1
|
||||
.L800810C8:
|
||||
/* 081CC8 800810C8 04C10003 */ bgez $a2, .L800810D8
|
||||
/* 081CCC 800810CC 00C02025 */ move $a0, $a2
|
||||
/* 081CD0 800810D0 10000001 */ b .L800810D8
|
||||
/* 081CD4 800810D4 00002025 */ move $a0, $zero
|
||||
.L800810D8:
|
||||
/* 081CD8 800810D8 8E030000 */ lw $v1, ($s0)
|
||||
/* 081CDC 800810DC 03117825 */ or $t7, $t8, $s1
|
||||
/* 081CE0 800810E0 246E0008 */ addiu $t6, $v1, 8
|
||||
/* 081CE4 800810E4 AE0E0000 */ sw $t6, ($s0)
|
||||
/* 081CE8 800810E8 310E03FF */ andi $t6, $t0, 0x3ff
|
||||
/* 081CEC 800810EC 000EC880 */ sll $t9, $t6, 2
|
||||
/* 081CF0 800810F0 01F9C025 */ or $t8, $t7, $t9
|
||||
/* 081CF4 800810F4 309903FF */ andi $t9, $a0, 0x3ff
|
||||
/* 081CF8 800810F8 30AE03FF */ andi $t6, $a1, 0x3ff
|
||||
/* 081CFC 800810FC AC780000 */ sw $t8, ($v1)
|
||||
/* 081D00 80081100 0019C080 */ sll $t8, $t9, 2
|
||||
/* 081D04 80081104 000E7B80 */ sll $t7, $t6, 0xe
|
||||
/* 081D08 80081108 01F87025 */ or $t6, $t7, $t8
|
||||
/* 081D0C 8008110C AC6E0004 */ sw $t6, 4($v1)
|
||||
.L80081110:
|
||||
/* 081D10 80081110 00ED3821 */ addu $a3, $a3, $t5
|
||||
/* 081D14 80081114 012B4821 */ addu $t1, $t1, $t3
|
||||
/* 081D18 80081118 00CC3021 */ addu $a2, $a2, $t4
|
||||
/* 081D1C 8008111C 04E0001A */ bltz $a3, .L80081188
|
||||
/* 081D20 80081120 011F4021 */ addu $t0, $t0, $ra
|
||||
/* 081D24 80081124 05000018 */ bltz $t0, .L80081188
|
||||
/* 081D28 80081128 30EF03FF */ andi $t7, $a3, 0x3ff
|
||||
/* 081D2C 8008112C 05210003 */ bgez $t1, .L8008113C
|
||||
/* 081D30 80081130 000FC380 */ sll $t8, $t7, 0xe
|
||||
/* 081D34 80081134 10000002 */ b .L80081140
|
||||
/* 081D38 80081138 00002825 */ move $a1, $zero
|
||||
.L8008113C:
|
||||
/* 081D3C 8008113C 01202825 */ move $a1, $t1
|
||||
.L80081140:
|
||||
/* 081D40 80081140 04C10003 */ bgez $a2, .L80081150
|
||||
/* 081D44 80081144 00C02025 */ move $a0, $a2
|
||||
/* 081D48 80081148 10000001 */ b .L80081150
|
||||
/* 081D4C 8008114C 00002025 */ move $a0, $zero
|
||||
.L80081150:
|
||||
/* 081D50 80081150 8E030000 */ lw $v1, ($s0)
|
||||
/* 081D54 80081154 03117025 */ or $t6, $t8, $s1
|
||||
/* 081D58 80081158 24790008 */ addiu $t9, $v1, 8
|
||||
/* 081D5C 8008115C AE190000 */ sw $t9, ($s0)
|
||||
/* 081D60 80081160 311903FF */ andi $t9, $t0, 0x3ff
|
||||
/* 081D64 80081164 00197880 */ sll $t7, $t9, 2
|
||||
/* 081D68 80081168 01CFC025 */ or $t8, $t6, $t7
|
||||
/* 081D6C 8008116C 308F03FF */ andi $t7, $a0, 0x3ff
|
||||
/* 081D70 80081170 30B903FF */ andi $t9, $a1, 0x3ff
|
||||
/* 081D74 80081174 AC780000 */ sw $t8, ($v1)
|
||||
/* 081D78 80081178 000FC080 */ sll $t8, $t7, 2
|
||||
/* 081D7C 8008117C 00197380 */ sll $t6, $t9, 0xe
|
||||
/* 081D80 80081180 01D8C825 */ or $t9, $t6, $t8
|
||||
/* 081D84 80081184 AC790004 */ sw $t9, 4($v1)
|
||||
.L80081188:
|
||||
/* 081D88 80081188 012B4821 */ addu $t1, $t1, $t3
|
||||
/* 081D8C 8008118C 00CC3021 */ addu $a2, $a2, $t4
|
||||
/* 081D90 80081190 00ED3821 */ addu $a3, $a3, $t5
|
||||
/* 081D94 80081194 1552FFC3 */ bne $t2, $s2, .L800810A4
|
||||
/* 081D98 80081198 011F4021 */ addu $t0, $t0, $ra
|
||||
.L8008119C:
|
||||
/* 081D9C 8008119C 26940001 */ addiu $s4, $s4, 1
|
||||
/* 081DA0 800811A0 24010004 */ li $at, 4
|
||||
/* 081DA4 800811A4 1681FF5E */ bne $s4, $at, .L80080F20
|
||||
/* 081DA8 800811A8 00000000 */ nop
|
||||
/* 081DAC 800811AC 8E030000 */ lw $v1, ($s0)
|
||||
/* 081DB0 800811B0 3C0EE700 */ lui $t6, 0xe700
|
||||
/* 081DB4 800811B4 246F0008 */ addiu $t7, $v1, 8
|
||||
/* 081DB8 800811B8 AE0F0000 */ sw $t7, ($s0)
|
||||
/* 081DBC 800811BC AC600004 */ sw $zero, 4($v1)
|
||||
/* 081DC0 800811C0 AC6E0000 */ sw $t6, ($v1)
|
||||
/* 081DC4 800811C4 8E030000 */ lw $v1, ($s0)
|
||||
/* 081DC8 800811C8 240FFFFF */ li $t7, -1
|
||||
/* 081DCC 800811CC 24780008 */ addiu $t8, $v1, 8
|
||||
/* 081DD0 800811D0 AE180000 */ sw $t8, ($s0)
|
||||
/* 081DD4 800811D4 3C19FA00 */ lui $t9, 0xfa00
|
||||
/* 081DD8 800811D8 02002025 */ move $a0, $s0
|
||||
/* 081DDC 800811DC AC790000 */ sw $t9, ($v1)
|
||||
/* 081DE0 800811E0 0C01ECF4 */ jal reset_render_settings
|
||||
/* 081DE4 800811E4 AC6F0004 */ sw $t7, 4($v1)
|
||||
/* 081DE8 800811E8 8FBF003C */ lw $ra, 0x3c($sp)
|
||||
/* 081DEC 800811EC 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* 081DF0 800811F0 8FB1001C */ lw $s1, 0x1c($sp)
|
||||
/* 081DF4 800811F4 8FB20020 */ lw $s2, 0x20($sp)
|
||||
/* 081DF8 800811F8 8FB30024 */ lw $s3, 0x24($sp)
|
||||
/* 081DFC 800811FC 8FB40028 */ lw $s4, 0x28($sp)
|
||||
/* 081E00 80081200 8FB5002C */ lw $s5, 0x2c($sp)
|
||||
/* 081E04 80081204 8FB60030 */ lw $s6, 0x30($sp)
|
||||
/* 081E08 80081208 8FB70034 */ lw $s7, 0x34($sp)
|
||||
/* 081E0C 8008120C 8FBE0038 */ lw $fp, 0x38($sp)
|
||||
/* 081E10 80081210 03E00008 */ jr $ra
|
||||
/* 081E14 80081214 27BD0040 */ addiu $sp, $sp, 0x40
|
||||
|
||||
@@ -1,435 +0,0 @@
|
||||
glabel load_menu_text
|
||||
/* 080500 8007F900 3C09800E */ lui $t1, %hi(gMenuTextLangTable) # $t1, 0x800e
|
||||
/* 080504 8007F904 2529F49C */ addiu $t1, %lo(gMenuTextLangTable) # addiu $t1, $t1, -0xb64
|
||||
/* 080508 8007F908 8D230000 */ lw $v1, ($t1)
|
||||
/* 08050C 8007F90C 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 080510 8007F910 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 080514 8007F914 14600009 */ bnez $v1, .L8007F93C
|
||||
/* 080518 8007F918 00802825 */ move $a1, $a0
|
||||
/* 08051C 8007F91C 24040009 */ li $a0, 9
|
||||
/* 080520 8007F920 0C01DB16 */ jal load_asset_section_from_rom
|
||||
/* 080524 8007F924 AFA50018 */ sw $a1, 0x18($sp)
|
||||
/* 080528 8007F928 3C09800E */ lui $t1, %hi(gMenuTextLangTable) # $t1, 0x800e
|
||||
/* 08052C 8007F92C 2529F49C */ addiu $t1, %lo(gMenuTextLangTable) # addiu $t1, $t1, -0xb64
|
||||
/* 080530 8007F930 8FA50018 */ lw $a1, 0x18($sp)
|
||||
/* 080534 8007F934 AD220000 */ sw $v0, ($t1)
|
||||
/* 080538 8007F938 00401825 */ move $v1, $v0
|
||||
.L8007F93C:
|
||||
/* 08053C 8007F93C 24010001 */ li $at, 1
|
||||
/* 080540 8007F940 10A1000B */ beq $a1, $at, .L8007F970
|
||||
/* 080544 8007F944 3C08800E */ lui $t0, %hi(gMenuText) # $t0, 0x800e
|
||||
/* 080548 8007F948 24010002 */ li $at, 2
|
||||
/* 08054C 8007F94C 10A1000A */ beq $a1, $at, .L8007F978
|
||||
/* 080550 8007F950 24060002 */ li $a2, 2
|
||||
/* 080554 8007F954 24010003 */ li $at, 3
|
||||
/* 080558 8007F958 10A10003 */ beq $a1, $at, .L8007F968
|
||||
/* 08055C 8007F95C 00000000 */ nop
|
||||
/* 080560 8007F960 10000005 */ b .L8007F978
|
||||
/* 080564 8007F964 24060001 */ li $a2, 1
|
||||
.L8007F968:
|
||||
/* 080568 8007F968 10000003 */ b .L8007F978
|
||||
/* 08056C 8007F96C 24060004 */ li $a2, 4
|
||||
.L8007F970:
|
||||
/* 080570 8007F970 10000001 */ b .L8007F978
|
||||
/* 080574 8007F974 24060003 */ li $a2, 3
|
||||
.L8007F978:
|
||||
/* 080578 8007F978 00067080 */ sll $t6, $a2, 2
|
||||
/* 08057C 8007F97C 006E1021 */ addu $v0, $v1, $t6
|
||||
/* 080580 8007F980 2508F4A0 */ addiu $t0, %lo(gMenuText) # addiu $t0, $t0, -0xb60
|
||||
/* 080584 8007F984 8C470004 */ lw $a3, 4($v0)
|
||||
/* 080588 8007F988 8C460000 */ lw $a2, ($v0)
|
||||
/* 08058C 8007F98C 8D050000 */ lw $a1, ($t0)
|
||||
/* 080590 8007F990 00E63823 */ subu $a3, $a3, $a2
|
||||
/* 080594 8007F994 10A00179 */ beqz $a1, .L8007FF7C
|
||||
/* 080598 8007F998 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 08059C 8007F99C 0C01DB9A */ jal load_asset_to_address
|
||||
/* 0805A0 8007F9A0 24040008 */ li $a0, 8
|
||||
/* 0805A4 8007F9A4 3C09800E */ lui $t1, %hi(gMenuTextLangTable) # $t1, 0x800e
|
||||
/* 0805A8 8007F9A8 2529F49C */ addiu $t1, %lo(gMenuTextLangTable) # addiu $t1, $t1, -0xb64
|
||||
/* 0805AC 8007F9AC 8D2F0000 */ lw $t7, ($t1)
|
||||
/* 0805B0 8007F9B0 3C08800E */ lui $t0, %hi(gMenuText) # $t0, 0x800e
|
||||
/* 0805B4 8007F9B4 8DF80000 */ lw $t8, ($t7)
|
||||
/* 0805B8 8007F9B8 2508F4A0 */ addiu $t0, %lo(gMenuText) # addiu $t0, $t0, -0xb60
|
||||
/* 0805BC 8007F9BC 1B000014 */ blez $t8, .L8007FA10
|
||||
/* 0805C0 8007F9C0 00003025 */ move $a2, $zero
|
||||
/* 0805C4 8007F9C4 00001825 */ move $v1, $zero
|
||||
/* 0805C8 8007F9C8 2407FFFF */ li $a3, -1
|
||||
.L8007F9CC:
|
||||
/* 0805CC 8007F9CC 8D050000 */ lw $a1, ($t0)
|
||||
/* 0805D0 8007F9D0 00000000 */ nop
|
||||
/* 0805D4 8007F9D4 00A31021 */ addu $v0, $a1, $v1
|
||||
/* 0805D8 8007F9D8 8C440000 */ lw $a0, ($v0)
|
||||
/* 0805DC 8007F9DC 00000000 */ nop
|
||||
/* 0805E0 8007F9E0 14E40003 */ bne $a3, $a0, .L8007F9F0
|
||||
/* 0805E4 8007F9E4 0085C821 */ addu $t9, $a0, $a1
|
||||
/* 0805E8 8007F9E8 10000002 */ b .L8007F9F4
|
||||
/* 0805EC 8007F9EC AC400000 */ sw $zero, ($v0)
|
||||
.L8007F9F0:
|
||||
/* 0805F0 8007F9F0 AC590000 */ sw $t9, ($v0)
|
||||
.L8007F9F4:
|
||||
/* 0805F4 8007F9F4 8D2A0000 */ lw $t2, ($t1)
|
||||
/* 0805F8 8007F9F8 24C60001 */ addiu $a2, $a2, 1
|
||||
/* 0805FC 8007F9FC 8D4B0000 */ lw $t3, ($t2)
|
||||
/* 080600 8007FA00 24630004 */ addiu $v1, $v1, 4
|
||||
/* 080604 8007FA04 00CB082A */ slt $at, $a2, $t3
|
||||
/* 080608 8007FA08 1420FFF0 */ bnez $at, .L8007F9CC
|
||||
/* 08060C 8007FA0C 00000000 */ nop
|
||||
.L8007FA10:
|
||||
/* 080610 8007FA10 8D040000 */ lw $a0, ($t0)
|
||||
/* 080614 8007FA14 3C058012 */ lui $a1, %hi(gAudioOutputStrings) # $a1, 0x8012
|
||||
/* 080618 8007FA18 8C8C0000 */ lw $t4, ($a0)
|
||||
/* 08061C 8007FA1C 24A569D0 */ addiu $a1, %lo(gAudioOutputStrings) # addiu $a1, $a1, 0x69d0
|
||||
/* 080620 8007FA20 ACAC0000 */ sw $t4, ($a1)
|
||||
/* 080624 8007FA24 8C8D0004 */ lw $t5, 4($a0)
|
||||
/* 080628 8007FA28 3C02800E */ lui $v0, %hi(gAudioMenuStrings) # $v0, 0x800e
|
||||
/* 08062C 8007FA2C ACAD0004 */ sw $t5, 4($a1)
|
||||
/* 080630 8007FA30 8C8E0008 */ lw $t6, 8($a0)
|
||||
/* 080634 8007FA34 2442FA3C */ addiu $v0, %lo(gAudioMenuStrings) # addiu $v0, $v0, -0x5c4
|
||||
/* 080638 8007FA38 ACAE0008 */ sw $t6, 8($a1)
|
||||
/* 08063C 8007FA3C 8C8F000C */ lw $t7, 0xc($a0)
|
||||
/* 080640 8007FA40 3C018012 */ lui $at, %hi(gMusicTestString) # $at, 0x8012
|
||||
/* 080644 8007FA44 AC4F001C */ sw $t7, 0x1c($v0)
|
||||
/* 080648 8007FA48 8C980010 */ lw $t8, 0x10($a0)
|
||||
/* 08064C 8007FA4C 3C03800E */ lui $v1, %hi(gMagicCodeMenuStrings) # $v1, 0x800e
|
||||
/* 080650 8007FA50 AC58002C */ sw $t8, 0x2c($v0)
|
||||
/* 080654 8007FA54 8C990014 */ lw $t9, 0x14($a0)
|
||||
/* 080658 8007FA58 2463FDA0 */ addiu $v1, %lo(gMagicCodeMenuStrings) # addiu $v1, $v1, -0x260
|
||||
/* 08065C 8007FA5C AC59003C */ sw $t9, 0x3c($v0)
|
||||
/* 080660 8007FA60 8C8A0018 */ lw $t2, 0x18($a0)
|
||||
/* 080664 8007FA64 3C07800E */ lui $a3, %hi(gRaceResultsMenuElements) # $a3, 0x800e
|
||||
/* 080668 8007FA68 AC4A004C */ sw $t2, 0x4c($v0)
|
||||
/* 08066C 8007FA6C 8C8B0018 */ lw $t3, 0x18($a0)
|
||||
/* 080670 8007FA70 24E70BEC */ addiu $a3, %lo(gRaceResultsMenuElements) # addiu $a3, $a3, 0xbec
|
||||
/* 080674 8007FA74 AC4B005C */ sw $t3, 0x5c($v0)
|
||||
/* 080678 8007FA78 8C8C001C */ lw $t4, 0x1c($a0)
|
||||
/* 08067C 8007FA7C 3C09800E */ lui $t1, %hi(gRaceOrderMenuElements) # $t1, 0x800e
|
||||
/* 080680 8007FA80 AC2C69E0 */ sw $t4, %lo(gMusicTestString)($at)
|
||||
/* 080684 8007FA84 8C8D0038 */ lw $t5, 0x38($a0)
|
||||
/* 080688 8007FA88 25290CEC */ addiu $t1, %lo(gRaceOrderMenuElements) # addiu $t1, $t1, 0xcec
|
||||
/* 08068C 8007FA8C AC6D0000 */ sw $t5, ($v1)
|
||||
/* 080690 8007FA90 8C8E003C */ lw $t6, 0x3c($a0)
|
||||
/* 080694 8007FA94 3C06800E */ lui $a2, %hi(gRecordTimesMenuElements) # $a2, 0x800e
|
||||
/* 080698 8007FA98 AC6E0004 */ sw $t6, 4($v1)
|
||||
/* 08069C 8007FA9C 8C8F0040 */ lw $t7, 0x40($a0)
|
||||
/* 0806A0 8007FAA0 24C60E4C */ addiu $a2, %lo(gRecordTimesMenuElements) # addiu $a2, $a2, 0xe4c
|
||||
/* 0806A4 8007FAA4 AC6F0008 */ sw $t7, 8($v1)
|
||||
/* 0806A8 8007FAA8 8C980014 */ lw $t8, 0x14($a0)
|
||||
/* 0806AC 8007FAAC 3C02800E */ lui $v0, %hi(gOptionMenuStrings) # $v0, 0x800e
|
||||
/* 0806B0 8007FAB0 AC78000C */ sw $t8, 0xc($v1)
|
||||
/* 0806B4 8007FAB4 8C990074 */ lw $t9, 0x74($a0)
|
||||
/* 0806B8 8007FAB8 2442FA10 */ addiu $v0, %lo(gOptionMenuStrings) # addiu $v0, $v0, -0x5f0
|
||||
/* 0806BC 8007FABC ACF90034 */ sw $t9, 0x34($a3)
|
||||
/* 0806C0 8007FAC0 8C8A0078 */ lw $t2, 0x78($a0)
|
||||
/* 0806C4 8007FAC4 3C010200 */ lui $at, 0x200
|
||||
/* 0806C8 8007FAC8 ACEA0054 */ sw $t2, 0x54($a3)
|
||||
/* 0806CC 8007FACC 8C8B007C */ lw $t3, 0x7c($a0)
|
||||
/* 0806D0 8007FAD0 00000000 */ nop
|
||||
/* 0806D4 8007FAD4 AD2B0114 */ sw $t3, 0x114($t1)
|
||||
/* 0806D8 8007FAD8 8C8C007C */ lw $t4, 0x7c($a0)
|
||||
/* 0806DC 8007FADC 3C0B8012 */ lui $t3, %hi(sEepromSettings+4) # $t3, 0x8012
|
||||
/* 0806E0 8007FAE0 AD2C0134 */ sw $t4, 0x134($t1)
|
||||
/* 0806E4 8007FAE4 8C8D0080 */ lw $t5, 0x80($a0)
|
||||
/* 0806E8 8007FAE8 00000000 */ nop
|
||||
/* 0806EC 8007FAEC ACCD0014 */ sw $t5, 0x14($a2)
|
||||
/* 0806F0 8007FAF0 8C8E0080 */ lw $t6, 0x80($a0)
|
||||
/* 0806F4 8007FAF4 00000000 */ nop
|
||||
/* 0806F8 8007FAF8 ACCE0034 */ sw $t6, 0x34($a2)
|
||||
/* 0806FC 8007FAFC 8C8F0024 */ lw $t7, 0x24($a0)
|
||||
/* 080700 8007FB00 00000000 */ nop
|
||||
/* 080704 8007FB04 ACCF0054 */ sw $t7, 0x54($a2)
|
||||
/* 080708 8007FB08 8C980028 */ lw $t8, 0x28($a0)
|
||||
/* 08070C 8007FB0C 00000000 */ nop
|
||||
/* 080710 8007FB10 ACD800B4 */ sw $t8, 0xb4($a2)
|
||||
/* 080714 8007FB14 8C990088 */ lw $t9, 0x88($a0)
|
||||
/* 080718 8007FB18 00000000 */ nop
|
||||
/* 08071C 8007FB1C AC590000 */ sw $t9, ($v0)
|
||||
/* 080720 8007FB20 8D6B644C */ lw $t3, %lo(sEepromSettings+4)($t3)
|
||||
/* 080724 8007FB24 00000000 */ nop
|
||||
/* 080728 8007FB28 01616824 */ and $t5, $t3, $at
|
||||
/* 08072C 8007FB2C 11A00004 */ beqz $t5, .L8007FB40
|
||||
/* 080730 8007FB30 00000000 */ nop
|
||||
/* 080734 8007FB34 8C8E02D8 */ lw $t6, 0x2d8($a0)
|
||||
/* 080738 8007FB38 10000004 */ b .L8007FB4C
|
||||
/* 08073C 8007FB3C AC4E0004 */ sw $t6, 4($v0)
|
||||
.L8007FB40:
|
||||
/* 080740 8007FB40 8C8F02DC */ lw $t7, 0x2dc($a0)
|
||||
/* 080744 8007FB44 00000000 */ nop
|
||||
/* 080748 8007FB48 AC4F0004 */ sw $t7, 4($v0)
|
||||
.L8007FB4C:
|
||||
/* 08074C 8007FB4C 8C980018 */ lw $t8, 0x18($a0)
|
||||
/* 080750 8007FB50 3C06800E */ lui $a2, %hi(gFilenames) # $a2, 0x800e
|
||||
/* 080754 8007FB54 AC580008 */ sw $t8, 8($v0)
|
||||
/* 080758 8007FB58 8C990294 */ lw $t9, 0x294($a0)
|
||||
/* 08075C 8007FB5C 24C603B0 */ addiu $a2, %lo(gFilenames) # addiu $a2, $a2, 0x3b0
|
||||
/* 080760 8007FB60 AC59000C */ sw $t9, 0xc($v0)
|
||||
/* 080764 8007FB64 8C8A0044 */ lw $t2, 0x44($a0)
|
||||
/* 080768 8007FB68 3C07800E */ lui $a3, %hi(gContPakNotPresentStrings) # $a3, 0x800e
|
||||
/* 08076C 8007FB6C AC4A0010 */ sw $t2, 0x10($v0)
|
||||
/* 080770 8007FB70 8C8B0014 */ lw $t3, 0x14($a0)
|
||||
/* 080774 8007FB74 24E7FAE4 */ addiu $a3, %lo(gContPakNotPresentStrings) # addiu $a3, $a3, -0x51c
|
||||
/* 080778 8007FB78 AC4B0014 */ sw $t3, 0x14($v0)
|
||||
/* 08077C 8007FB7C 8C8C0120 */ lw $t4, 0x120($a0)
|
||||
/* 080780 8007FB80 3C03800E */ lui $v1, %hi(gContPakCorruptDataRepairStrings) # $v1, 0x800e
|
||||
/* 080784 8007FB84 ACCC0000 */ sw $t4, ($a2)
|
||||
/* 080788 8007FB88 8C8D0124 */ lw $t5, 0x124($a0)
|
||||
/* 08078C 8007FB8C 2463FAFC */ addiu $v1, %lo(gContPakCorruptDataRepairStrings) # addiu $v1, $v1, -0x504
|
||||
/* 080790 8007FB90 ACCD0004 */ sw $t5, 4($a2)
|
||||
/* 080794 8007FB94 8C8E0128 */ lw $t6, 0x128($a0)
|
||||
/* 080798 8007FB98 3C05800E */ lui $a1, %hi(gContPakDamagedStrings) # $a1, 0x800e
|
||||
/* 08079C 8007FB9C ACCE0008 */ sw $t6, 8($a2)
|
||||
/* 0807A0 8007FBA0 8C8F0168 */ lw $t7, 0x168($a0)
|
||||
/* 0807A4 8007FBA4 24A5FB14 */ addiu $a1, %lo(gContPakDamagedStrings) # addiu $a1, $a1, -0x4ec
|
||||
/* 0807A8 8007FBA8 ACEF0000 */ sw $t7, ($a3)
|
||||
/* 0807AC 8007FBAC 8C98016C */ lw $t8, 0x16c($a0)
|
||||
/* 0807B0 8007FBB0 3C08800E */ lui $t0, %hi(gContPakFullStrings) # $t0, 0x800e
|
||||
/* 0807B4 8007FBB4 ACF80004 */ sw $t8, 4($a3)
|
||||
/* 0807B8 8007FBB8 8C990154 */ lw $t9, 0x154($a0)
|
||||
/* 0807BC 8007FBBC 2508FB2C */ addiu $t0, %lo(gContPakFullStrings) # addiu $t0, $t0, -0x4d4
|
||||
/* 0807C0 8007FBC0 ACF9000C */ sw $t9, 0xc($a3)
|
||||
/* 0807C4 8007FBC4 8C8A0168 */ lw $t2, 0x168($a0)
|
||||
/* 0807C8 8007FBC8 3C02800E */ lui $v0, %hi(gContPakDiffContStrings) # $v0, 0x800e
|
||||
/* 0807CC 8007FBCC AC6A0000 */ sw $t2, ($v1)
|
||||
/* 0807D0 8007FBD0 8C8B0174 */ lw $t3, 0x174($a0)
|
||||
/* 0807D4 8007FBD4 2442FB40 */ addiu $v0, %lo(gContPakDiffContStrings) # addiu $v0, $v0, -0x4c0
|
||||
/* 0807D8 8007FBD8 AC6B0004 */ sw $t3, 4($v1)
|
||||
/* 0807DC 8007FBDC 8C8C0178 */ lw $t4, 0x178($a0)
|
||||
/* 0807E0 8007FBE0 3C06800E */ lui $a2, %hi(gContPakRumbleDetectedStrings) # $a2, 0x800e
|
||||
/* 0807E4 8007FBE4 AC6C000C */ sw $t4, 0xc($v1)
|
||||
/* 0807E8 8007FBE8 8C8D0154 */ lw $t5, 0x154($a0)
|
||||
/* 0807EC 8007FBEC 24C6FB8C */ addiu $a2, %lo(gContPakRumbleDetectedStrings) # addiu $a2, $a2, -0x474
|
||||
/* 0807F0 8007FBF0 AC6D0010 */ sw $t5, 0x10($v1)
|
||||
/* 0807F4 8007FBF4 8C8E0168 */ lw $t6, 0x168($a0)
|
||||
/* 0807F8 8007FBF8 3C03800E */ lui $v1, %hi(gContPakNoRoomForGhostsStrings) # $v1, 0x800e
|
||||
/* 0807FC 8007FBFC ACAE0000 */ sw $t6, ($a1)
|
||||
/* 080800 8007FC00 8C8F017C */ lw $t7, 0x17c($a0)
|
||||
/* 080804 8007FC04 2463FB5C */ addiu $v1, %lo(gContPakNoRoomForGhostsStrings) # addiu $v1, $v1, -0x4a4
|
||||
/* 080808 8007FC08 ACAF0004 */ sw $t7, 4($a1)
|
||||
/* 08080C 8007FC0C 8C980180 */ lw $t8, 0x180($a0)
|
||||
/* 080810 8007FC10 3C07800E */ lui $a3, %hi(gContPakSwitchToRumbleStrings) # $a3, 0x800e
|
||||
/* 080814 8007FC14 ACB8000C */ sw $t8, 0xc($a1)
|
||||
/* 080818 8007FC18 8C990154 */ lw $t9, 0x154($a0)
|
||||
/* 08081C 8007FC1C 24E7FBA4 */ addiu $a3, %lo(gContPakSwitchToRumbleStrings) # addiu $a3, $a3, -0x45c
|
||||
/* 080820 8007FC20 ACB90010 */ sw $t9, 0x10($a1)
|
||||
/* 080824 8007FC24 8C8A0168 */ lw $t2, 0x168($a0)
|
||||
/* 080828 8007FC28 3C05800E */ lui $a1, %hi(gContPakCorruptDataStrings) # $a1, 0x800e
|
||||
/* 08082C 8007FC2C AD0A0000 */ sw $t2, ($t0)
|
||||
/* 080830 8007FC30 8C8B0184 */ lw $t3, 0x184($a0)
|
||||
/* 080834 8007FC34 24A5FB74 */ addiu $a1, %lo(gContPakCorruptDataStrings) # addiu $a1, $a1, -0x48c
|
||||
/* 080838 8007FC38 AD0B0004 */ sw $t3, 4($t0)
|
||||
/* 08083C 8007FC3C 8C8C0188 */ lw $t4, 0x188($a0)
|
||||
/* 080840 8007FC40 3C01800E */ lui $at, %hi(sBadControllerPakMenuText) # $at, 0x800e
|
||||
/* 080844 8007FC44 AD0C000C */ sw $t4, 0xc($t0)
|
||||
/* 080848 8007FC48 8C8D0168 */ lw $t5, 0x168($a0)
|
||||
/* 08084C 8007FC4C 3C09800E */ lui $t1, %hi(sCorruptDataMenuText) # $t1, 0x800e
|
||||
/* 080850 8007FC50 AC4D0000 */ sw $t5, ($v0)
|
||||
/* 080854 8007FC54 8C8E018C */ lw $t6, 0x18c($a0)
|
||||
/* 080858 8007FC58 252909EC */ addiu $t1, %lo(sCorruptDataMenuText) # addiu $t1, $t1, 0x9ec
|
||||
/* 08085C 8007FC5C AC4E0004 */ sw $t6, 4($v0)
|
||||
/* 080860 8007FC60 8C8F0190 */ lw $t7, 0x190($a0)
|
||||
/* 080864 8007FC64 3C08800E */ lui $t0, %hi(D_800E09F8) # $t0, 0x800e
|
||||
/* 080868 8007FC68 AC4F0008 */ sw $t7, 8($v0)
|
||||
/* 08086C 8007FC6C 8C980154 */ lw $t8, 0x154($a0)
|
||||
/* 080870 8007FC70 250809F8 */ addiu $t0, %lo(D_800E09F8) # addiu $t0, $t0, 0x9f8
|
||||
/* 080874 8007FC74 AC580010 */ sw $t8, 0x10($v0)
|
||||
/* 080878 8007FC78 8C990168 */ lw $t9, 0x168($a0)
|
||||
/* 08087C 8007FC7C 3C02800E */ lui $v0, %hi(gContPakNeed2ndAdvStrings) # $v0, 0x800e
|
||||
/* 080880 8007FC80 AC790000 */ sw $t9, ($v1)
|
||||
/* 080884 8007FC84 8C8A0198 */ lw $t2, 0x198($a0)
|
||||
/* 080888 8007FC88 2442FBBC */ addiu $v0, %lo(gContPakNeed2ndAdvStrings) # addiu $v0, $v0, -0x444
|
||||
/* 08088C 8007FC8C AC6A0004 */ sw $t2, 4($v1)
|
||||
/* 080890 8007FC90 8C8B019C */ lw $t3, 0x19c($a0)
|
||||
/* 080894 8007FC94 00000000 */ nop
|
||||
/* 080898 8007FC98 AC6B0008 */ sw $t3, 8($v1)
|
||||
/* 08089C 8007FC9C 8C8C0188 */ lw $t4, 0x188($a0)
|
||||
/* 0808A0 8007FCA0 00000000 */ nop
|
||||
/* 0808A4 8007FCA4 AC6C0010 */ sw $t4, 0x10($v1)
|
||||
/* 0808A8 8007FCA8 8C8D0168 */ lw $t5, 0x168($a0)
|
||||
/* 0808AC 8007FCAC 3C03800E */ lui $v1, %hi(gGameSelectTextElemsWithAdv2) # $v1, 0x800e
|
||||
/* 0808B0 8007FCB0 ACAD0000 */ sw $t5, ($a1)
|
||||
/* 0808B4 8007FCB4 8C8E02E0 */ lw $t6, 0x2e0($a0)
|
||||
/* 0808B8 8007FCB8 24630278 */ addiu $v1, %lo(gGameSelectTextElemsWithAdv2) # addiu $v1, $v1, 0x278
|
||||
/* 0808BC 8007FCBC ACAE0004 */ sw $t6, 4($a1)
|
||||
/* 0808C0 8007FCC0 8C8F005C */ lw $t7, 0x5c($a0)
|
||||
/* 0808C4 8007FCC4 00000000 */ nop
|
||||
/* 0808C8 8007FCC8 ACAF000C */ sw $t7, 0xc($a1)
|
||||
/* 0808CC 8007FCCC 8C980154 */ lw $t8, 0x154($a0)
|
||||
/* 0808D0 8007FCD0 00000000 */ nop
|
||||
/* 0808D4 8007FCD4 ACB80010 */ sw $t8, 0x10($a1)
|
||||
/* 0808D8 8007FCD8 8C990264 */ lw $t9, 0x264($a0)
|
||||
/* 0808DC 8007FCDC 3C05800E */ lui $a1, %hi(gGameSelectTextElemsNoAdv2) # $a1, 0x800e
|
||||
/* 0808E0 8007FCE0 ACD90000 */ sw $t9, ($a2)
|
||||
/* 0808E4 8007FCE4 8C8A0268 */ lw $t2, 0x268($a0)
|
||||
/* 0808E8 8007FCE8 24A50198 */ addiu $a1, %lo(gGameSelectTextElemsNoAdv2) # addiu $a1, $a1, 0x198
|
||||
/* 0808EC 8007FCEC ACCA0004 */ sw $t2, 4($a2)
|
||||
/* 0808F0 8007FCF0 8C8B026C */ lw $t3, 0x26c($a0)
|
||||
/* 0808F4 8007FCF4 00000000 */ nop
|
||||
/* 0808F8 8007FCF8 ACCB0008 */ sw $t3, 8($a2)
|
||||
/* 0808FC 8007FCFC 8C8C0188 */ lw $t4, 0x188($a0)
|
||||
/* 080900 8007FD00 00000000 */ nop
|
||||
/* 080904 8007FD04 ACCC0010 */ sw $t4, 0x10($a2)
|
||||
/* 080908 8007FD08 8C8D0270 */ lw $t5, 0x270($a0)
|
||||
/* 08090C 8007FD0C 3C06800E */ lui $a2, %hi(gTitleMenuStrings) # $a2, 0x800e
|
||||
/* 080910 8007FD10 ACED0000 */ sw $t5, ($a3)
|
||||
/* 080914 8007FD14 8C8E0274 */ lw $t6, 0x274($a0)
|
||||
/* 080918 8007FD18 24C6F7A4 */ addiu $a2, %lo(gTitleMenuStrings) # addiu $a2, $a2, -0x85c
|
||||
/* 08091C 8007FD1C ACEE0004 */ sw $t6, 4($a3)
|
||||
/* 080920 8007FD20 8C8F0278 */ lw $t7, 0x278($a0)
|
||||
/* 080924 8007FD24 00000000 */ nop
|
||||
/* 080928 8007FD28 ACEF0008 */ sw $t7, 8($a3)
|
||||
/* 08092C 8007FD2C 8C980188 */ lw $t8, 0x188($a0)
|
||||
/* 080930 8007FD30 00000000 */ nop
|
||||
/* 080934 8007FD34 ACF80010 */ sw $t8, 0x10($a3)
|
||||
/* 080938 8007FD38 8C9901A0 */ lw $t9, 0x1a0($a0)
|
||||
/* 08093C 8007FD3C 3C07800E */ lui $a3, %hi(sNoControllerPakMenuText) # $a3, 0x800e
|
||||
/* 080940 8007FD40 AC590000 */ sw $t9, ($v0)
|
||||
/* 080944 8007FD44 8C8A01A4 */ lw $t2, 0x1a4($a0)
|
||||
/* 080948 8007FD48 24E709D8 */ addiu $a3, %lo(sNoControllerPakMenuText) # addiu $a3, $a3, 0x9d8
|
||||
/* 08094C 8007FD4C AC4A0004 */ sw $t2, 4($v0)
|
||||
/* 080950 8007FD50 8C8B01A8 */ lw $t3, 0x1a8($a0)
|
||||
/* 080954 8007FD54 00000000 */ nop
|
||||
/* 080958 8007FD58 AC4B0008 */ sw $t3, 8($v0)
|
||||
/* 08095C 8007FD5C 8C8C01AC */ lw $t4, 0x1ac($a0)
|
||||
/* 080960 8007FD60 00000000 */ nop
|
||||
/* 080964 8007FD64 AC4C000C */ sw $t4, 0xc($v0)
|
||||
/* 080968 8007FD68 8C8D01B0 */ lw $t5, 0x1b0($a0)
|
||||
/* 08096C 8007FD6C 00000000 */ nop
|
||||
/* 080970 8007FD70 AC4D0010 */ sw $t5, 0x10($v0)
|
||||
/* 080974 8007FD74 8C8E01B4 */ lw $t6, 0x1b4($a0)
|
||||
/* 080978 8007FD78 00000000 */ nop
|
||||
/* 08097C 8007FD7C AC4E0014 */ sw $t6, 0x14($v0)
|
||||
/* 080980 8007FD80 8C8F0188 */ lw $t7, 0x188($a0)
|
||||
/* 080984 8007FD84 00000000 */ nop
|
||||
/* 080988 8007FD88 AC4F001C */ sw $t7, 0x1c($v0)
|
||||
/* 08098C 8007FD8C 8C980224 */ lw $t8, 0x224($a0)
|
||||
/* 080990 8007FD90 00801025 */ move $v0, $a0
|
||||
/* 080994 8007FD94 ACD80000 */ sw $t8, ($a2)
|
||||
/* 080998 8007FD98 8C990090 */ lw $t9, 0x90($a0)
|
||||
/* 08099C 8007FD9C 00000000 */ nop
|
||||
/* 0809A0 8007FDA0 ACD90004 */ sw $t9, 4($a2)
|
||||
/* 0809A4 8007FDA4 8C8A0130 */ lw $t2, 0x130($a0)
|
||||
/* 0809A8 8007FDA8 3C06800E */ lui $a2, %hi(sControllerPakFullMenuText) # $a2, 0x800e
|
||||
/* 0809AC 8007FDAC ACAA0014 */ sw $t2, 0x14($a1)
|
||||
/* 0809B0 8007FDB0 8C8B0130 */ lw $t3, 0x130($a0)
|
||||
/* 0809B4 8007FDB4 24C609C4 */ addiu $a2, %lo(sControllerPakFullMenuText) # addiu $a2, $a2, 0x9c4
|
||||
/* 0809B8 8007FDB8 ACAB0034 */ sw $t3, 0x34($a1)
|
||||
/* 0809BC 8007FDBC 8C8C0238 */ lw $t4, 0x238($a0)
|
||||
/* 0809C0 8007FDC0 00000000 */ nop
|
||||
/* 0809C4 8007FDC4 ACAC0074 */ sw $t4, 0x74($a1)
|
||||
/* 0809C8 8007FDC8 8C8D0240 */ lw $t5, 0x240($a0)
|
||||
/* 0809CC 8007FDCC 00000000 */ nop
|
||||
/* 0809D0 8007FDD0 ACAD00B4 */ sw $t5, 0xb4($a1)
|
||||
/* 0809D4 8007FDD4 8C8E0130 */ lw $t6, 0x130($a0)
|
||||
/* 0809D8 8007FDD8 3C05800E */ lui $a1, %hi(sBadControllerPakMenuText) # $a1, 0x800e
|
||||
/* 0809DC 8007FDDC AC6E0014 */ sw $t6, 0x14($v1)
|
||||
/* 0809E0 8007FDE0 8C8F0130 */ lw $t7, 0x130($a0)
|
||||
/* 0809E4 8007FDE4 24A509B0 */ addiu $a1, %lo(sBadControllerPakMenuText) # addiu $a1, $a1, 0x9b0
|
||||
/* 0809E8 8007FDE8 AC6F0034 */ sw $t7, 0x34($v1)
|
||||
/* 0809EC 8007FDEC 8C980238 */ lw $t8, 0x238($a0)
|
||||
/* 0809F0 8007FDF0 00000000 */ nop
|
||||
/* 0809F4 8007FDF4 AC780074 */ sw $t8, 0x74($v1)
|
||||
/* 0809F8 8007FDF8 8C99023C */ lw $t9, 0x23c($a0)
|
||||
/* 0809FC 8007FDFC 00000000 */ nop
|
||||
/* 080A00 8007FE00 AC7900B4 */ sw $t9, 0xb4($v1)
|
||||
/* 080A04 8007FE04 8C8A0240 */ lw $t2, 0x240($a0)
|
||||
/* 080A08 8007FE08 00000000 */ nop
|
||||
/* 080A0C 8007FE0C AC6A00F4 */ sw $t2, 0xf4($v1)
|
||||
/* 080A10 8007FE10 8C8B0114 */ lw $t3, 0x114($a0)
|
||||
/* 080A14 8007FE14 3C03800E */ lui $v1, %hi(sCorruptDataMenuText) # $v1, 0x800e
|
||||
/* 080A18 8007FE18 AC2B09B0 */ sw $t3, %lo(sBadControllerPakMenuText)($at)
|
||||
/* 080A1C 8007FE1C 8C8C0110 */ lw $t4, 0x110($a0)
|
||||
/* 080A20 8007FE20 3C01800E */ lui $at, %hi(sControllerPakFullMenuText) # $at, 0x800e
|
||||
/* 080A24 8007FE24 AC2C09C4 */ sw $t4, %lo(sControllerPakFullMenuText)($at)
|
||||
/* 080A28 8007FE28 8C8D010C */ lw $t5, 0x10c($a0)
|
||||
/* 080A2C 8007FE2C 3C01800E */ lui $at, %hi(sNoControllerPakMenuText) # $at, 0x800e
|
||||
/* 080A30 8007FE30 AC2D09D8 */ sw $t5, %lo(sNoControllerPakMenuText)($at)
|
||||
/* 080A34 8007FE34 8C8E02E0 */ lw $t6, 0x2e0($a0)
|
||||
/* 080A38 8007FE38 AD200010 */ sw $zero, 0x10($t1)
|
||||
/* 080A3C 8007FE3C AD200014 */ sw $zero, 0x14($t1)
|
||||
/* 080A40 8007FE40 246309EC */ addiu $v1, %lo(sCorruptDataMenuText) # addiu $v1, $v1, 0x9ec
|
||||
/* 080A44 8007FE44 AD2E0000 */ sw $t6, ($t1)
|
||||
.L8007FE48:
|
||||
/* 080A48 8007FE48 8C4F02C4 */ lw $t7, 0x2c4($v0)
|
||||
/* 080A4C 8007FE4C 24630004 */ addiu $v1, $v1, 4
|
||||
/* 080A50 8007FE50 ACAF0004 */ sw $t7, 4($a1)
|
||||
/* 080A54 8007FE54 8C5802C4 */ lw $t8, 0x2c4($v0)
|
||||
/* 080A58 8007FE58 0068082B */ sltu $at, $v1, $t0
|
||||
/* 080A5C 8007FE5C ACD80004 */ sw $t8, 4($a2)
|
||||
/* 080A60 8007FE60 8C5902C4 */ lw $t9, 0x2c4($v0)
|
||||
/* 080A64 8007FE64 24A50004 */ addiu $a1, $a1, 4
|
||||
/* 080A68 8007FE68 ACF90004 */ sw $t9, 4($a3)
|
||||
/* 080A6C 8007FE6C 8C4A02C4 */ lw $t2, 0x2c4($v0)
|
||||
/* 080A70 8007FE70 24420004 */ addiu $v0, $v0, 4
|
||||
/* 080A74 8007FE74 24C60004 */ addiu $a2, $a2, 4
|
||||
/* 080A78 8007FE78 24E70004 */ addiu $a3, $a3, 4
|
||||
/* 080A7C 8007FE7C 1420FFF2 */ bnez $at, .L8007FE48
|
||||
/* 080A80 8007FE80 AC6A0000 */ sw $t2, ($v1)
|
||||
/* 080A84 8007FE84 8D2B0000 */ lw $t3, ($t1)
|
||||
/* 080A88 8007FE88 00003025 */ move $a2, $zero
|
||||
/* 080A8C 8007FE8C 11600007 */ beqz $t3, .L8007FEAC
|
||||
/* 080A90 8007FE90 3C02800E */ lui $v0, %hi(sInsertControllerPakMenuText) # $v0, 0x800e
|
||||
/* 080A94 8007FE94 3C03800E */ lui $v1, %hi(sCorruptDataMenuText) # $v1, 0x800e
|
||||
/* 080A98 8007FE98 246309EC */ addiu $v1, %lo(sCorruptDataMenuText) # addiu $v1, $v1, 0x9ec
|
||||
.L8007FE9C:
|
||||
/* 080A9C 8007FE9C 8C6C0004 */ lw $t4, 4($v1)
|
||||
/* 080AA0 8007FEA0 24C60001 */ addiu $a2, $a2, 1
|
||||
/* 080AA4 8007FEA4 1580FFFD */ bnez $t4, .L8007FE9C
|
||||
/* 080AA8 8007FEA8 24630004 */ addiu $v1, $v1, 4
|
||||
.L8007FEAC:
|
||||
/* 080AAC 8007FEAC 8C8D02E4 */ lw $t5, 0x2e4($a0)
|
||||
/* 080AB0 8007FEB0 00067080 */ sll $t6, $a2, 2
|
||||
/* 080AB4 8007FEB4 012E7821 */ addu $t7, $t1, $t6
|
||||
/* 080AB8 8007FEB8 ADED0000 */ sw $t5, ($t7)
|
||||
/* 080ABC 8007FEBC 8C98027C */ lw $t8, 0x27c($a0)
|
||||
/* 080AC0 8007FEC0 24420A04 */ addiu $v0, %lo(sInsertControllerPakMenuText) # addiu $v0, $v0, 0xa04
|
||||
/* 080AC4 8007FEC4 AC580000 */ sw $t8, ($v0)
|
||||
/* 080AC8 8007FEC8 8C990280 */ lw $t9, 0x280($a0)
|
||||
/* 080ACC 8007FECC 3C03800E */ lui $v1, %hi(sInsertRumblePakMenuText) # $v1, 0x800e
|
||||
/* 080AD0 8007FED0 AC590004 */ sw $t9, 4($v0)
|
||||
/* 080AD4 8007FED4 8C8A0288 */ lw $t2, 0x288($a0)
|
||||
/* 080AD8 8007FED8 24630A14 */ addiu $v1, %lo(sInsertRumblePakMenuText) # addiu $v1, $v1, 0xa14
|
||||
/* 080ADC 8007FEDC AC4A0008 */ sw $t2, 8($v0)
|
||||
/* 080AE0 8007FEE0 8C8B027C */ lw $t3, 0x27c($a0)
|
||||
/* 080AE4 8007FEE4 3C05800E */ lui $a1, %hi(gCautionMenuTextElements) # $a1, 0x800e
|
||||
/* 080AE8 8007FEE8 AC6B0000 */ sw $t3, ($v1)
|
||||
/* 080AEC 8007FEEC 8C8C0284 */ lw $t4, 0x284($a0)
|
||||
/* 080AF0 8007FEF0 24A5FFD8 */ addiu $a1, %lo(gCautionMenuTextElements) # addiu $a1, $a1, -0x28
|
||||
/* 080AF4 8007FEF4 AC6C0004 */ sw $t4, 4($v1)
|
||||
/* 080AF8 8007FEF8 8C8E0288 */ lw $t6, 0x288($a0)
|
||||
/* 080AFC 8007FEFC 3C01800E */ lui $at, %hi(gCautionMenuTextElements+84) # $at, 0x800e
|
||||
/* 080B00 8007FF00 AC6E0008 */ sw $t6, 8($v1)
|
||||
/* 080B04 8007FF04 8C8D0260 */ lw $t5, 0x260($a0)
|
||||
/* 080B08 8007FF08 2482000C */ addiu $v0, $a0, 0xc
|
||||
/* 080B0C 8007FF0C ACAD0014 */ sw $t5, 0x14($a1)
|
||||
/* 080B10 8007FF10 8C8F0260 */ lw $t7, 0x260($a0)
|
||||
/* 080B14 8007FF14 3C03800E */ lui $v1, %hi(gCautionMenuTextElements+96) # $v1, 0x800e
|
||||
/* 080B18 8007FF18 ACAF0034 */ sw $t7, 0x34($a1)
|
||||
/* 080B1C 8007FF1C 8C980298 */ lw $t8, 0x298($a0)
|
||||
/* 080B20 8007FF20 24630038 */ addiu $v1, %lo(gCautionMenuTextElements+96) # addiu $v1, $v1, 0x38
|
||||
/* 080B24 8007FF24 AC38002C */ sw $t8, %lo(gCautionMenuTextElements+84)($at)
|
||||
/* 080B28 8007FF28 8C99029C */ lw $t9, 0x29c($a0)
|
||||
/* 080B2C 8007FF2C 3C01800E */ lui $at, %hi(gCautionMenuTextElements+116) # $at, 0x800e
|
||||
/* 080B30 8007FF30 AC39004C */ sw $t9, %lo(gCautionMenuTextElements+116)($at)
|
||||
/* 080B34 8007FF34 8C8A02A0 */ lw $t2, 0x2a0($a0)
|
||||
/* 080B38 8007FF38 3C04800E */ lui $a0, %hi(gCautionMenuTextElements+352) # $a0, 0x800e
|
||||
/* 080B3C 8007FF3C 3C01800E */ lui $at, %hi(gCautionMenuTextElements+148) # $at, 0x800e
|
||||
/* 080B40 8007FF40 24840138 */ addiu $a0, %lo(gCautionMenuTextElements+352) # addiu $a0, $a0, 0x138
|
||||
/* 080B44 8007FF44 AC2A006C */ sw $t2, %lo(gCautionMenuTextElements+148)($at)
|
||||
.L8007FF48:
|
||||
/* 080B48 8007FF48 8C4B0298 */ lw $t3, 0x298($v0)
|
||||
/* 080B4C 8007FF4C 24630080 */ addiu $v1, $v1, 0x80
|
||||
/* 080B50 8007FF50 AC6BFFD4 */ sw $t3, -0x2c($v1)
|
||||
/* 080B54 8007FF54 8C4C029C */ lw $t4, 0x29c($v0)
|
||||
/* 080B58 8007FF58 24420010 */ addiu $v0, $v0, 0x10
|
||||
/* 080B5C 8007FF5C AC6CFFF4 */ sw $t4, -0xc($v1)
|
||||
/* 080B60 8007FF60 8C4E0290 */ lw $t6, 0x290($v0)
|
||||
/* 080B64 8007FF64 00000000 */ nop
|
||||
/* 080B68 8007FF68 AC6E0014 */ sw $t6, 0x14($v1)
|
||||
/* 080B6C 8007FF6C 8C4D0294 */ lw $t5, 0x294($v0)
|
||||
/* 080B70 8007FF70 1464FFF5 */ bne $v1, $a0, .L8007FF48
|
||||
/* 080B74 8007FF74 AC6D0034 */ sw $t5, 0x34($v1)
|
||||
/* 080B78 8007FF78 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
.L8007FF7C:
|
||||
/* 080B7C 8007FF7C 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* 080B80 8007FF80 03E00008 */ jr $ra
|
||||
/* 080B84 8007FF84 00000000 */ nop
|
||||
|
||||
+1
-1
@@ -308,7 +308,7 @@ s32 get_map_available_vehicles(s32 mapId) {
|
||||
return (temp >> 4) & 0xF;
|
||||
}
|
||||
}
|
||||
return VEHICLE_HOVERCRAFT;
|
||||
return (1 << VEHICLE_CAR);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+262
-165
File diff suppressed because it is too large
Load Diff
+6
-9
@@ -286,14 +286,10 @@ typedef struct MenuAsset {
|
||||
} MenuAsset;
|
||||
|
||||
typedef struct unk80080BC8 {
|
||||
Vertex *vertices;
|
||||
s32 *unk4;
|
||||
Triangle *triangles;
|
||||
s32 *unkC;
|
||||
TextureHeader *texture;
|
||||
s32 *unk14;
|
||||
s32 unk18;
|
||||
s32 unk1C;
|
||||
Vertex *vertices[2];
|
||||
Triangle *triangles[2];
|
||||
TextureHeader *texture[2];
|
||||
s32 unk18[2];
|
||||
} unk80080BC8;
|
||||
|
||||
typedef struct unk80126460 {
|
||||
@@ -694,7 +690,8 @@ void fileselect_input_copy(s32 updateRate);
|
||||
|
||||
s32 func_8008F618(Gfx **dList, MatrixS **mtx);
|
||||
void func_80080BC8(Gfx **);
|
||||
void func_80080E90(Gfx **dList, s32 startX, s32 startY, s32 width, s32 height, s32 borderWidth, s32 borderHeight, s32 colour0, s32 colour1, s32 colour2, s32 colour3);
|
||||
void func_80080E90(Gfx **dlist, s32 startX, s32 startY, s32 width, s32 height, s32 borderWidth, s32 borderHeight,
|
||||
s32 colour0, s32 colour1, s32 colour2, s32 colour3);
|
||||
void func_80084854(void);
|
||||
void func_80098774(s32);
|
||||
void func_80094D28(UNUSED s32 updateRate);
|
||||
|
||||
+8
-8
@@ -3281,8 +3281,7 @@ void func_80050A28(Object *obj, Object_Racer *racer, s32 updateRate, f32 updateR
|
||||
if (temp > 75) {
|
||||
temp = 75;
|
||||
}
|
||||
if (temp < -75) {
|
||||
}
|
||||
if (temp < -75) {}
|
||||
} else {
|
||||
racer->drift_direction = 0;
|
||||
}
|
||||
@@ -3344,7 +3343,7 @@ void func_80050A28(Object *obj, Object_Racer *racer, s32 updateRate, f32 updateR
|
||||
}
|
||||
// Set final turn velocity by taking the steering velocity and multiplying it by the handling stat of the character.
|
||||
temp = ((temp * updateRate) >> 1);
|
||||
temp_2 = temp * gCurrentRacerHandlingStat;
|
||||
temp_2 = temp * gCurrentRacerHandlingStat;
|
||||
racer->steerVisualRotation -= temp_2 & 0xFFFF;
|
||||
// Now steer the car.
|
||||
handle_car_steering(racer);
|
||||
@@ -3436,7 +3435,7 @@ void func_80050A28(Object *obj, Object_Racer *racer, s32 updateRate, f32 updateR
|
||||
}
|
||||
// Multiply current velocity by the surface grip levels.
|
||||
racer->lateral_velocity *= surfaceTraction;
|
||||
velocityDiff = coss_f(racer->x_rotation_vel);
|
||||
velocityDiff = coss_f(racer->x_rotation_vel);
|
||||
if (velocityDiff < 0.0f) {
|
||||
velocityDiff = -velocityDiff;
|
||||
}
|
||||
@@ -3513,14 +3512,15 @@ void func_80050A28(Object *obj, Object_Racer *racer, s32 updateRate, f32 updateR
|
||||
if (racer->velocity < 0.0f) {
|
||||
traction = -traction;
|
||||
}
|
||||
|
||||
|
||||
if (traction > 12.0f) {
|
||||
traction = 12.0f;
|
||||
}
|
||||
// Convert the velocity value to an int
|
||||
temp = (s32) traction;
|
||||
// Calculate the velocity multiplier based on current velocity
|
||||
traction = ((gCurrentRacerMiscAssetPtr[temp + 1] * (traction - temp)) + (gCurrentRacerMiscAssetPtr[temp] * (1.0 - (traction - temp))));
|
||||
traction = ((gCurrentRacerMiscAssetPtr[temp + 1] * (traction - temp)) +
|
||||
(gCurrentRacerMiscAssetPtr[temp] * (1.0 - (traction - temp))));
|
||||
traction *= 1.7;
|
||||
traction *= topSpeed;
|
||||
// Force the throttle wide open if boosting
|
||||
@@ -7061,8 +7061,8 @@ void func_8005B818(Object *obj, Object_Racer *racer, s32 updateRate, f32 updateR
|
||||
|
||||
if (racer->vehicleID == VEHICLE_HOVERCRAFT) {
|
||||
i = (racer->unk1BE & 0xFFFF) - (racer->unk1C2 & 0xFFFF);
|
||||
if (i >= 0x8001) {
|
||||
i += 0xFFFF0001;
|
||||
if (i > 0x8000) {
|
||||
i -= 0xFFFF;
|
||||
}
|
||||
|
||||
if (i < -0x8000) {
|
||||
|
||||
+12
-12
@@ -482,17 +482,17 @@ void func_80073588(Settings *settings, u8 *saveData, u8 arg2) {
|
||||
if (get_map_race_type(i) == RACETYPE_DEFAULT) {
|
||||
availableVehicles = get_map_available_vehicles(i);
|
||||
// Car Available
|
||||
if (availableVehicles & 1) {
|
||||
if (availableVehicles & (1 << VEHICLE_CAR)) {
|
||||
settings->flapTimesPtr[0][i] = func_80072C54(16);
|
||||
settings->flapInitialsPtr[0][i] = func_80072C54(16);
|
||||
}
|
||||
// Hovercraft Available
|
||||
if (availableVehicles & 2) {
|
||||
if (availableVehicles & (1 << VEHICLE_HOVERCRAFT)) {
|
||||
settings->flapTimesPtr[1][i] = func_80072C54(16);
|
||||
settings->flapInitialsPtr[1][i] = func_80072C54(16);
|
||||
}
|
||||
// Plane Available
|
||||
if (availableVehicles & 4) {
|
||||
if (availableVehicles & (1 << VEHICLE_PLANE)) {
|
||||
settings->flapTimesPtr[2][i] = func_80072C54(16);
|
||||
settings->flapInitialsPtr[2][i] = func_80072C54(16);
|
||||
}
|
||||
@@ -513,17 +513,17 @@ void func_80073588(Settings *settings, u8 *saveData, u8 arg2) {
|
||||
if (get_map_race_type(i) == RACETYPE_DEFAULT) {
|
||||
availableVehicles = get_map_available_vehicles(i);
|
||||
// Car Available
|
||||
if (availableVehicles & 1) {
|
||||
if (availableVehicles & (1 << VEHICLE_CAR)) {
|
||||
settings->courseTimesPtr[0][i] = func_80072C54(16);
|
||||
settings->courseInitialsPtr[0][i] = func_80072C54(16);
|
||||
}
|
||||
// Hovercraft Available
|
||||
if (availableVehicles & 2) {
|
||||
if (availableVehicles & (1 << VEHICLE_HOVERCRAFT)) {
|
||||
settings->courseTimesPtr[1][i] = func_80072C54(16);
|
||||
settings->courseInitialsPtr[1][i] = func_80072C54(16);
|
||||
}
|
||||
// Plane Available
|
||||
if (availableVehicles & 4) {
|
||||
if (availableVehicles & (1 << VEHICLE_PLANE)) {
|
||||
settings->courseTimesPtr[2][i] = func_80072C54(16);
|
||||
settings->courseInitialsPtr[2][i] = func_80072C54(16);
|
||||
}
|
||||
@@ -550,19 +550,19 @@ void func_800738A4(Settings *settings, u8 *saveData) {
|
||||
if (get_map_race_type(i) == RACETYPE_DEFAULT) {
|
||||
availableVehicles = get_map_available_vehicles(i);
|
||||
// Car Available
|
||||
if (availableVehicles & 1) {
|
||||
if (availableVehicles & (1 << VEHICLE_CAR)) {
|
||||
func_80072E28(16, settings->flapTimesPtr[0][i]);
|
||||
func_80072E28(16, settings->flapInitialsPtr[0][i]);
|
||||
vehicleCount++;
|
||||
}
|
||||
// Hovercraft Available
|
||||
if (availableVehicles & 2) {
|
||||
if (availableVehicles & (1 << VEHICLE_HOVERCRAFT)) {
|
||||
func_80072E28(16, settings->flapTimesPtr[1][i]);
|
||||
func_80072E28(16, settings->flapInitialsPtr[1][i]);
|
||||
vehicleCount++;
|
||||
}
|
||||
// Plane Available
|
||||
if (availableVehicles & 4) {
|
||||
if (availableVehicles & (1 << VEHICLE_PLANE)) {
|
||||
func_80072E28(16, settings->flapTimesPtr[2][i]);
|
||||
func_80072E28(16, settings->flapInitialsPtr[2][i]);
|
||||
vehicleCount++;
|
||||
@@ -591,17 +591,17 @@ void func_800738A4(Settings *settings, u8 *saveData) {
|
||||
if (get_map_race_type(i) == RACETYPE_DEFAULT) {
|
||||
availableVehicles = get_map_available_vehicles(i);
|
||||
// Car Available
|
||||
if (availableVehicles & 1) {
|
||||
if (availableVehicles & (1 << VEHICLE_CAR)) {
|
||||
func_80072E28(16, settings->courseTimesPtr[0][i]);
|
||||
func_80072E28(16, settings->courseInitialsPtr[0][i]);
|
||||
}
|
||||
// Hovercraft Available
|
||||
if (availableVehicles & 2) {
|
||||
if (availableVehicles & (1 << VEHICLE_HOVERCRAFT)) {
|
||||
func_80072E28(16, settings->courseTimesPtr[1][i]);
|
||||
func_80072E28(16, settings->courseInitialsPtr[1][i]);
|
||||
}
|
||||
// Plane Available
|
||||
if (availableVehicles & 4) {
|
||||
if (availableVehicles & (1 << VEHICLE_PLANE)) {
|
||||
func_80072E28(16, settings->courseTimesPtr[2][i]);
|
||||
func_80072E28(16, settings->courseInitialsPtr[2][i]);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user