mirror of
https://github.com/HarbourMasters/SpaghettiKart
synced 2026-07-07 14:13:58 -04:00
Finish doc
This commit is contained in:
@@ -524,8 +524,8 @@ glabel L8009ECAC
|
||||
glabel L8009ECD4
|
||||
/* 09F8D4 8009ECD4 0C01BB91 */ jal load_mario_kart_64_logo
|
||||
/* 09F8D8 8009ECD8 00000000 */ nop
|
||||
/* 09F8DC 8009ECDC 3C028019 */ lui $v0, %hi(sMenuTextureBufferIndex) # $v0, 0x8019
|
||||
/* 09F8E0 8009ECE0 2442E110 */ addiu $v0, %lo(sMenuTextureBufferIndex) # addiu $v0, $v0, -0x1ef0
|
||||
/* 09F8DC 8009ECDC 3C028019 */ lui $v0, %hi(sMenuTextureListIndex) # $v0, 0x8019
|
||||
/* 09F8E0 8009ECE0 2442E110 */ addiu $v0, %lo(sMenuTextureListIndex) # addiu $v0, $v0, -0x1ef0
|
||||
/* 09F8E4 8009ECE4 8C590000 */ lw $t9, ($v0)
|
||||
/* 09F8E8 8009ECE8 3C010001 */ lui $at, 1
|
||||
/* 09F8EC 8009ECEC 3C040200 */ lui $a0, %hi(seg2_copyright_1996_texture) # $a0, 0x200
|
||||
|
||||
@@ -136,8 +136,8 @@ glabel func_80099AEC
|
||||
/* 09A8D0 80099CD0 014C3821 */ addu $a3, $t2, $t4
|
||||
.L80099CD4:
|
||||
/* 09A8D4 80099CD4 8E2F0004 */ lw $t7, 4($s1)
|
||||
/* 09A8D8 80099CD8 3C098019 */ lui $t1, %hi(gMenuTextureBuffer) # $t1, 0x8019
|
||||
/* 09A8DC 80099CDC 8D29D9B0 */ lw $t1, %lo(gMenuTextureBuffer)($t1)
|
||||
/* 09A8D8 80099CD8 3C098019 */ lui $t1, %hi(sMenuTextureList) # $t1, 0x8019
|
||||
/* 09A8DC 80099CDC 8D29D9B0 */ lw $t1, %lo(sMenuTextureList)($t1)
|
||||
/* 09A8E0 80099CE0 000FC0C0 */ sll $t8, $t7, 3
|
||||
/* 09A8E4 80099CE4 031EC821 */ addu $t9, $t8, $fp
|
||||
/* 09A8E8 80099CE8 8F220004 */ lw $v0, 4($t9)
|
||||
@@ -206,8 +206,8 @@ glabel func_80099AEC
|
||||
/* 09A9D0 80099DD0 AFA90010 */ sw $t1, 0x10($sp)
|
||||
.L80099DD4:
|
||||
/* 09A9D4 80099DD4 8E2B0004 */ lw $t3, 4($s1)
|
||||
/* 09A9D8 80099DD8 3C0F8019 */ lui $t7, %hi(gMenuTextureBuffer) # $t7, 0x8019
|
||||
/* 09A9DC 80099DDC 8DEFD9B0 */ lw $t7, %lo(gMenuTextureBuffer)($t7)
|
||||
/* 09A9D8 80099DD8 3C0F8019 */ lui $t7, %hi(sMenuTextureList) # $t7, 0x8019
|
||||
/* 09A9DC 80099DDC 8DEFD9B0 */ lw $t7, %lo(sMenuTextureList)($t7)
|
||||
/* 09A9E0 80099DE0 000B50C0 */ sll $t2, $t3, 3
|
||||
/* 09A9E4 80099DE4 015E6021 */ addu $t4, $t2, $fp
|
||||
/* 09A9E8 80099DE8 8D820004 */ lw $v0, 4($t4)
|
||||
|
||||
@@ -649,7 +649,7 @@ glabel L8009FD58
|
||||
glabel L8009FD90
|
||||
/* 0A0990 8009FD90 8E23001C */ lw $v1, 0x1c($s1)
|
||||
/* 0A0994 8009FD94 2506FFF1 */ addiu $a2, $t0, -0xf
|
||||
/* 0A0998 8009FD98 3C098019 */ lui $t1, %hi(gMainMenuSelectionDepth) # $t1, 0x8019
|
||||
/* 0A0998 8009FD98 3C098019 */ lui $t1, %hi(gMainMenuSelection) # $t1, 0x8019
|
||||
/* 0A099C 8009FD9C 28610020 */ slti $at, $v1, 0x20
|
||||
/* 0A09A0 8009FDA0 50200030 */ beql $at, $zero, .L8009FE64
|
||||
/* 0A09A4 8009FDA4 2518FFF6 */ addiu $t8, $t0, -0xa
|
||||
@@ -658,7 +658,7 @@ glabel L8009FD90
|
||||
/* 0A09B0 8009FDB0 00084080 */ sll $t0, $t0, 2
|
||||
/* 0A09B4 8009FDB4 01034021 */ addu $t0, $t0, $v1
|
||||
/* 0A09B8 8009FDB8 00084040 */ sll $t0, $t0, 1
|
||||
/* 0A09BC 8009FDBC 8129EDED */ lb $t1, %lo(gMainMenuSelectionDepth)($t1)
|
||||
/* 0A09BC 8009FDBC 8129EDED */ lb $t1, %lo(gMainMenuSelection)($t1)
|
||||
/* 0A09C0 8009FDC0 05010003 */ bgez $t0, .L8009FDD0
|
||||
/* 0A09C4 8009FDC4 0008C983 */ sra $t9, $t0, 6
|
||||
/* 0A09C8 8009FDC8 2501003F */ addiu $at, $t0, 0x3f
|
||||
@@ -757,10 +757,10 @@ glabel L8009FF0C
|
||||
.L8009FF24:
|
||||
/* 0A0B24 8009FF24 00084880 */ sll $t1, $t0, 2
|
||||
.L8009FF28:
|
||||
/* 0A0B28 8009FF28 3C04800F */ lui $a0, %hi(D_800E8234+0x18) # 0x800f
|
||||
/* 0A0B28 8009FF28 3C04800F */ lui $a0, %hi(D_800E8294-0x48) # 0x800f
|
||||
/* 0A0B2C 8009FF2C 00892021 */ addu $a0, $a0, $t1
|
||||
/* 0A0B30 8009FF30 AFB900A8 */ sw $t9, 0xa8($sp)
|
||||
/* 0A0B34 8009FF34 8C84824C */ lw $a0, %lo(D_800E8234+0x18)($a0) # -0x7db4($a0)
|
||||
/* 0A0B34 8009FF34 8C84824C */ lw $a0, %lo(D_800E8294-0x48)($a0) # -0x7db4($a0)
|
||||
/* 0A0B38 8009FF38 0C026449 */ jal segmented_to_virtual_dupe
|
||||
/* 0A0B3C 8009FF3C AFA600AC */ sw $a2, 0xac($sp)
|
||||
/* 0A0B40 8009FF40 8FA600AC */ lw $a2, 0xac($sp)
|
||||
@@ -774,10 +774,10 @@ glabel L8009FF50
|
||||
/* 0A0B5C 8009FF5C 1000001B */ b .L8009FFCC
|
||||
/* 0A0B60 8009FF60 2406FFFF */ li $a2, -1
|
||||
.L8009FF64:
|
||||
/* 0A0B64 8009FF64 3C04800F */ lui $a0, %hi(D_800E8234+0x18) # 0x800f
|
||||
/* 0A0B64 8009FF64 3C04800F */ lui $a0, %hi(D_800E82A4-0x58) # 0x800f
|
||||
/* 0A0B68 8009FF68 24050016 */ li $a1, 22
|
||||
/* 0A0B6C 8009FF6C 008A2021 */ addu $a0, $a0, $t2
|
||||
/* 0A0B70 8009FF70 8C84824C */ lw $a0, %lo(D_800E8234+0x18)($a0) # -0x7db4($a0)
|
||||
/* 0A0B70 8009FF70 8C84824C */ lw $a0, %lo(D_800E82A4-0x58)($a0) # -0x7db4($a0)
|
||||
/* 0A0B74 8009FF74 AFA500A8 */ sw $a1, 0xa8($sp)
|
||||
/* 0A0B78 8009FF78 0C026449 */ jal segmented_to_virtual_dupe
|
||||
/* 0A0B7C 8009FF7C AFA600AC */ sw $a2, 0xac($sp)
|
||||
@@ -792,10 +792,10 @@ glabel L8009FF90
|
||||
/* 0A0B9C 8009FF9C 1000000B */ b .L8009FFCC
|
||||
/* 0A0BA0 8009FFA0 2406FFFF */ li $a2, -1
|
||||
.L8009FFA4:
|
||||
/* 0A0BA4 8009FFA4 3C04800F */ lui $a0, %hi(D_800E8234+0x18) # 0x800f
|
||||
/* 0A0BA4 8009FFA4 3C04800F */ lui $a0, %hi(D_800E82AC-0x60) # 0x800f
|
||||
/* 0A0BA8 8009FFA8 24050018 */ li $a1, 24
|
||||
/* 0A0BAC 8009FFAC 008B2021 */ addu $a0, $a0, $t3
|
||||
/* 0A0BB0 8009FFB0 8C84824C */ lw $a0, %lo(D_800E8234+0x18)($a0) # -0x7db4($a0)
|
||||
/* 0A0BB0 8009FFB0 8C84824C */ lw $a0, %lo(D_800E82AC-0x60)($a0) # -0x7db4($a0)
|
||||
/* 0A0BB4 8009FFB4 AFA500A8 */ sw $a1, 0xa8($sp)
|
||||
/* 0A0BB8 8009FFB8 0C026449 */ jal segmented_to_virtual_dupe
|
||||
/* 0A0BBC 8009FFBC AFA600AC */ sw $a2, 0xac($sp)
|
||||
@@ -805,8 +805,8 @@ glabel L8009FF90
|
||||
.L8009FFCC:
|
||||
/* 0A0BCC 8009FFCC 2401FFFF */ li $at, -1
|
||||
/* 0A0BD0 8009FFD0 10C1023C */ beq $a2, $at, .L800A08C4
|
||||
/* 0A0BD4 8009FFD4 3C028019 */ lui $v0, %hi(gMainMenuSelectionDepth) # $v0, 0x8019
|
||||
/* 0A0BD8 8009FFD8 8042EDED */ lb $v0, %lo(gMainMenuSelectionDepth)($v0)
|
||||
/* 0A0BD4 8009FFD4 3C028019 */ lui $v0, %hi(gMainMenuSelection) # $v0, 0x8019
|
||||
/* 0A0BD8 8009FFD8 8042EDED */ lb $v0, %lo(gMainMenuSelection)($v0)
|
||||
/* 0A0BDC 8009FFDC 240E0001 */ li $t6, 1
|
||||
/* 0A0BE0 8009FFE0 240F00FF */ li $t7, 255
|
||||
/* 0A0BE4 8009FFE4 28410005 */ slti $at, $v0, 5
|
||||
@@ -889,11 +889,11 @@ glabel L800A00FC
|
||||
/* 0A0D00 800A0100 3C188019 */ lui $t8, %hi(gCharacterGridSelections) # 0x8019
|
||||
/* 0A0D04 800A0104 0305C021 */ addu $t8, $t8, $a1
|
||||
/* 0A0D08 800A0108 8318EDE4 */ lb $t8, %lo(gCharacterGridSelections)($t8) # -0x121c($t8)
|
||||
/* 0A0D0C 800A010C 3C198019 */ lui $t9, %hi(D_8018EDE8) # 0x8019
|
||||
/* 0A0D0C 800A010C 3C198019 */ lui $t9, %hi(gCharacterGridIsSelected) # 0x8019
|
||||
/* 0A0D10 800A0110 0325C821 */ addu $t9, $t9, $a1
|
||||
/* 0A0D14 800A0114 530001EC */ beql $t8, $zero, .L800A08C8
|
||||
/* 0A0D18 800A0118 8FBF0034 */ lw $ra, 0x34($sp)
|
||||
/* 0A0D1C 800A011C 8339EDE8 */ lb $t9, %lo(D_8018EDE8)($t9) # -0x1218($t9)
|
||||
/* 0A0D1C 800A011C 8339EDE8 */ lb $t9, %lo(gCharacterGridIsSelected)($t9) # -0x1218($t9)
|
||||
/* 0A0D20 800A0120 3C06800E */ lui $a2, %hi(gGlobalTimer) # $a2, 0x800e
|
||||
/* 0A0D24 800A0124 17200003 */ bnez $t9, .L800A0134
|
||||
/* 0A0D28 800A0128 00000000 */ nop
|
||||
@@ -1110,8 +1110,8 @@ glabel L800A0404
|
||||
/* 0A1020 800A0420 10000129 */ b .L800A08C8
|
||||
/* 0A1024 800A0424 8FBF0034 */ lw $ra, 0x34($sp)
|
||||
glabel L800A0428
|
||||
/* 0A1028 800A0428 3C028019 */ lui $v0, %hi(gMainMenuSelectionDepth) # $v0, 0x8019
|
||||
/* 0A102C 800A042C 8042EDED */ lb $v0, %lo(gMainMenuSelectionDepth)($v0)
|
||||
/* 0A1028 800A0428 3C028019 */ lui $v0, %hi(gMainMenuSelection) # $v0, 0x8019
|
||||
/* 0A102C 800A042C 8042EDED */ lb $v0, %lo(gMainMenuSelection)($v0)
|
||||
/* 0A1030 800A0430 8FAB00A8 */ lw $t3, 0xa8($sp)
|
||||
/* 0A1034 800A0434 240D0001 */ li $t5, 1
|
||||
/* 0A1038 800A0438 28410005 */ slti $at, $v0, 5
|
||||
|
||||
@@ -29,13 +29,13 @@ glabel main_menu_act
|
||||
.L800B2A24:
|
||||
/* 0B3624 800B2A24 A7A3002E */ sh $v1, 0x2e($sp)
|
||||
.L800B2A28:
|
||||
/* 0B3628 800B2A28 0C02D148 */ jal func_800B4520
|
||||
/* 0B3628 800B2A28 0C02D148 */ jal is_screen_being_faded
|
||||
/* 0B362C 800B2A2C A7A50036 */ sh $a1, 0x36($sp)
|
||||
/* 0B3630 800B2A30 97A3002E */ lhu $v1, 0x2e($sp)
|
||||
/* 0B3634 800B2A34 144002A8 */ bnez $v0, .L800B34D8
|
||||
/* 0B3638 800B2A38 97A50036 */ lhu $a1, 0x36($sp)
|
||||
/* 0B363C 800B2A3C 3C088019 */ lui $t0, %hi(gMainMenuSelectionDepth) # $t0, 0x8019
|
||||
/* 0B3640 800B2A40 2508EDED */ addiu $t0, %lo(gMainMenuSelectionDepth) # addiu $t0, $t0, -0x1213
|
||||
/* 0B363C 800B2A3C 3C088019 */ lui $t0, %hi(gMainMenuSelection) # $t0, 0x8019
|
||||
/* 0B3640 800B2A40 2508EDED */ addiu $t0, %lo(gMainMenuSelection) # addiu $t0, $t0, -0x1213
|
||||
/* 0B3644 800B2A44 910C0000 */ lbu $t4, ($t0)
|
||||
/* 0B3648 800B2A48 3C188019 */ lui $t8, %hi(gPlayerCount) # 0x8019
|
||||
/* 0B364C 800B2A4C 2D810009 */ sltiu $at, $t4, 9
|
||||
@@ -72,13 +72,13 @@ glabel L800B2AA4 # case 3
|
||||
/* 0B36C0 800B2AC0 244A0001 */ addiu $t2, $v0, 1
|
||||
/* 0B36C4 800B2AC4 3C018019 */ lui $at, %hi(gPlayerCount) # $at, 0x8019
|
||||
/* 0B36C8 800B2AC8 A02AEDF3 */ sb $t2, %lo(gPlayerCount)($at)
|
||||
/* 0B36CC 800B2ACC 0C02D12B */ jal func_800B44AC
|
||||
/* 0B36CC 800B2ACC 0C02D12B */ jal reset_cycle_flash_menu
|
||||
/* 0B36D0 800B2AD0 AFA3001C */ sw $v1, 0x1c($sp)
|
||||
/* 0B36D4 800B2AD4 3C044900 */ lui $a0, (0x49008000 >> 16) # lui $a0, 0x4900
|
||||
/* 0B36D8 800B2AD8 0C032384 */ jal play_sound2
|
||||
/* 0B36DC 800B2ADC 34848000 */ ori $a0, (0x49008000 & 0xFFFF) # ori $a0, $a0, 0x8000
|
||||
/* 0B36E0 800B2AE0 3C088019 */ lui $t0, %hi(gMainMenuSelectionDepth) # $t0, 0x8019
|
||||
/* 0B36E4 800B2AE4 2508EDED */ addiu $t0, %lo(gMainMenuSelectionDepth) # addiu $t0, $t0, -0x1213
|
||||
/* 0B36E0 800B2AE0 3C088019 */ lui $t0, %hi(gMainMenuSelection) # $t0, 0x8019
|
||||
/* 0B36E4 800B2AE4 2508EDED */ addiu $t0, %lo(gMainMenuSelection) # addiu $t0, $t0, -0x1213
|
||||
/* 0B36E8 800B2AE8 8FA6001C */ lw $a2, 0x1c($sp)
|
||||
.L800B2AEC:
|
||||
/* 0B36EC 800B2AEC 3C028019 */ lui $v0, %hi(gPlayerCount) # $v0, 0x8019
|
||||
@@ -90,14 +90,14 @@ glabel L800B2AA4 # case 3
|
||||
/* 0B3704 800B2B04 244CFFFF */ addiu $t4, $v0, -1
|
||||
/* 0B3708 800B2B08 3C018019 */ lui $at, %hi(gPlayerCount) # $at, 0x8019
|
||||
/* 0B370C 800B2B0C A02CEDF3 */ sb $t4, %lo(gPlayerCount)($at)
|
||||
/* 0B3710 800B2B10 0C02D12B */ jal func_800B44AC
|
||||
/* 0B3710 800B2B10 0C02D12B */ jal reset_cycle_flash_menu
|
||||
/* 0B3714 800B2B14 AFA6001C */ sw $a2, 0x1c($sp)
|
||||
/* 0B3718 800B2B18 3C044900 */ lui $a0, (0x49008000 >> 16) # lui $a0, 0x4900
|
||||
/* 0B371C 800B2B1C 0C032384 */ jal play_sound2
|
||||
/* 0B3720 800B2B20 34848000 */ ori $a0, (0x49008000 & 0xFFFF) # ori $a0, $a0, 0x8000
|
||||
/* 0B3724 800B2B24 3C028019 */ lui $v0, %hi(gPlayerCount) # $v0, 0x8019
|
||||
/* 0B3728 800B2B28 3C088019 */ lui $t0, %hi(gMainMenuSelectionDepth) # $t0, 0x8019
|
||||
/* 0B372C 800B2B2C 2508EDED */ addiu $t0, %lo(gMainMenuSelectionDepth) # addiu $t0, $t0, -0x1213
|
||||
/* 0B3728 800B2B28 3C088019 */ lui $t0, %hi(gMainMenuSelection) # $t0, 0x8019
|
||||
/* 0B372C 800B2B2C 2508EDED */ addiu $t0, %lo(gMainMenuSelection) # addiu $t0, $t0, -0x1213
|
||||
/* 0B3730 800B2B30 8042EDF3 */ lb $v0, %lo(gPlayerCount)($v0)
|
||||
/* 0B3734 800B2B34 8FA6001C */ lw $a2, 0x1c($sp)
|
||||
.L800B2B38:
|
||||
@@ -137,9 +137,9 @@ glabel L800B2AA4 # case 3
|
||||
/* 0B37A8 800B2BA8 0C0328CC */ jal func_800CA330
|
||||
/* 0B37AC 800B2BAC 24040019 */ li $a0, 25
|
||||
/* 0B37B0 800B2BB0 24070001 */ li $a3, 1
|
||||
/* 0B37B4 800B2BB4 3C018019 */ lui $at, %hi(D_8018EDE0) # $at, 0x8019
|
||||
/* 0B37B4 800B2BB4 3C018019 */ lui $at, %hi(gMenuFadeType) # $at, 0x8019
|
||||
/* 0B37B8 800B2BB8 3C044900 */ lui $a0, (0x49008002 >> 16) # lui $a0, 0x4900
|
||||
/* 0B37BC 800B2BBC AC27EDE0 */ sw $a3, %lo(D_8018EDE0)($at)
|
||||
/* 0B37BC 800B2BBC AC27EDE0 */ sw $a3, %lo(gMenuFadeType)($at)
|
||||
/* 0B37C0 800B2BC0 0C032384 */ jal play_sound2
|
||||
/* 0B37C4 800B2BC4 34848002 */ ori $a0, (0x49008002 & 0xFFFF) # ori $a0, $a0, 0x8002
|
||||
/* 0B37C8 800B2BC8 3C0F8019 */ lui $t7, %hi(gPlayerCount) # $t7, 0x8019
|
||||
@@ -160,7 +160,7 @@ glabel L800B2AA4 # case 3
|
||||
/* 0B3800 800B2C00 11400015 */ beqz $t2, .L800B2C58
|
||||
/* 0B3804 800B2C04 30D90020 */ andi $t9, $a2, 0x20
|
||||
/* 0B3808 800B2C08 240B0004 */ li $t3, 4
|
||||
/* 0B380C 800B2C0C 0C02D12B */ jal func_800B44AC
|
||||
/* 0B380C 800B2C0C 0C02D12B */ jal reset_cycle_flash_menu
|
||||
/* 0B3810 800B2C10 A10B0000 */ sb $t3, ($t0)
|
||||
/* 0B3814 800B2C14 3C044900 */ lui $a0, (0x49008001 >> 16) # lui $a0, 0x4900
|
||||
/* 0B3818 800B2C18 0C032384 */ jal play_sound2
|
||||
@@ -254,13 +254,13 @@ glabel L800B2D30 # case 4
|
||||
/* 0B3968 800B2D68 5020000B */ beql $at, $zero, .L800B2D98
|
||||
/* 0B396C 800B2D6C 30CA0800 */ andi $t2, $a2, 0x800
|
||||
/* 0B3970 800B2D70 A06BFFFF */ sb $t3, -1($v1)
|
||||
/* 0B3974 800B2D74 0C02D12B */ jal func_800B44AC
|
||||
/* 0B3974 800B2D74 0C02D12B */ jal reset_cycle_flash_menu
|
||||
/* 0B3978 800B2D78 AFA6001C */ sw $a2, 0x1c($sp)
|
||||
/* 0B397C 800B2D7C 3C044900 */ lui $a0, (0x49008000 >> 16) # lui $a0, 0x4900
|
||||
/* 0B3980 800B2D80 0C032384 */ jal play_sound2
|
||||
/* 0B3984 800B2D84 34848000 */ ori $a0, (0x49008000 & 0xFFFF) # ori $a0, $a0, 0x8000
|
||||
/* 0B3988 800B2D88 3C088019 */ lui $t0, %hi(gMainMenuSelectionDepth) # $t0, 0x8019
|
||||
/* 0B398C 800B2D8C 2508EDED */ addiu $t0, %lo(gMainMenuSelectionDepth) # addiu $t0, $t0, -0x1213
|
||||
/* 0B3988 800B2D88 3C088019 */ lui $t0, %hi(gMainMenuSelection) # $t0, 0x8019
|
||||
/* 0B398C 800B2D8C 2508EDED */ addiu $t0, %lo(gMainMenuSelection) # addiu $t0, $t0, -0x1213
|
||||
/* 0B3990 800B2D90 8FA6001C */ lw $a2, 0x1c($sp)
|
||||
.L800B2D94:
|
||||
/* 0B3994 800B2D94 30CA0800 */ andi $t2, $a2, 0x800
|
||||
@@ -275,20 +275,20 @@ glabel L800B2D30 # case 4
|
||||
/* 0B39B4 800B2DB4 1880000A */ blez $a0, .L800B2DE0
|
||||
/* 0B39B8 800B2DB8 248DFFFF */ addiu $t5, $a0, -1
|
||||
/* 0B39BC 800B2DBC A06DFFFF */ sb $t5, -1($v1)
|
||||
/* 0B39C0 800B2DC0 0C02D12B */ jal func_800B44AC
|
||||
/* 0B39C0 800B2DC0 0C02D12B */ jal reset_cycle_flash_menu
|
||||
/* 0B39C4 800B2DC4 AFA6001C */ sw $a2, 0x1c($sp)
|
||||
/* 0B39C8 800B2DC8 3C044900 */ lui $a0, (0x49008000 >> 16) # lui $a0, 0x4900
|
||||
/* 0B39CC 800B2DCC 0C032384 */ jal play_sound2
|
||||
/* 0B39D0 800B2DD0 34848000 */ ori $a0, (0x49008000 & 0xFFFF) # ori $a0, $a0, 0x8000
|
||||
/* 0B39D4 800B2DD4 3C088019 */ lui $t0, %hi(gMainMenuSelectionDepth) # $t0, 0x8019
|
||||
/* 0B39D8 800B2DD8 2508EDED */ addiu $t0, %lo(gMainMenuSelectionDepth) # addiu $t0, $t0, -0x1213
|
||||
/* 0B39D4 800B2DD4 3C088019 */ lui $t0, %hi(gMainMenuSelection) # $t0, 0x8019
|
||||
/* 0B39D8 800B2DD8 2508EDED */ addiu $t0, %lo(gMainMenuSelection) # addiu $t0, $t0, -0x1213
|
||||
/* 0B39DC 800B2DDC 8FA6001C */ lw $a2, 0x1c($sp)
|
||||
.L800B2DE0:
|
||||
/* 0B39E0 800B2DE0 30D84000 */ andi $t8, $a2, 0x4000
|
||||
/* 0B39E4 800B2DE4 13000015 */ beqz $t8, .L800B2E3C
|
||||
/* 0B39E8 800B2DE8 3C028019 */ lui $v0, %hi(gPlayerCount) # $v0, 0x8019
|
||||
/* 0B39EC 800B2DEC 24040003 */ li $a0, 3
|
||||
/* 0B39F0 800B2DF0 0C02D12B */ jal func_800B44AC
|
||||
/* 0B39F0 800B2DF0 0C02D12B */ jal reset_cycle_flash_menu
|
||||
/* 0B39F4 800B2DF4 A1040000 */ sb $a0, ($t0)
|
||||
/* 0B39F8 800B2DF8 3C044900 */ lui $a0, (0x49008002 >> 16) # lui $a0, 0x4900
|
||||
/* 0B39FC 800B2DFC 0C032384 */ jal play_sound2
|
||||
@@ -363,7 +363,7 @@ glabel L800B2D30 # case 4
|
||||
/* 0B3AFC 800B2EFC 0C032384 */ jal play_sound2
|
||||
/* 0B3B00 800B2F00 3484900D */ ori $a0, (0x4900900D & 0xFFFF) # ori $a0, $a0, 0x900d
|
||||
.L800B2F04:
|
||||
/* 0B3B04 800B2F04 0C02D12B */ jal func_800B44AC
|
||||
/* 0B3B04 800B2F04 0C02D12B */ jal reset_cycle_flash_menu
|
||||
/* 0B3B08 800B2F08 00000000 */ nop
|
||||
/* 0B3B0C 800B2F0C 3C0F8019 */ lui $t7, %hi(gPlayerCount) # $t7, 0x8019
|
||||
/* 0B3B10 800B2F10 81EFEDF3 */ lb $t7, %lo(gPlayerCount)($t7)
|
||||
@@ -450,7 +450,7 @@ glabel L800B2F70 # case 5, 8
|
||||
/* 0B3C40 800B3040 2498FFFF */ addiu $t8, $a0, -1
|
||||
/* 0B3C44 800B3044 A078FFFD */ sb $t8, -3($v1)
|
||||
/* 0B3C48 800B3048 AFA40028 */ sw $a0, 0x28($sp)
|
||||
/* 0B3C4C 800B304C 0C02D12B */ jal func_800B44AC
|
||||
/* 0B3C4C 800B304C 0C02D12B */ jal reset_cycle_flash_menu
|
||||
/* 0B3C50 800B3050 AFA6001C */ sw $a2, 0x1c($sp)
|
||||
/* 0B3C54 800B3054 3C044900 */ lui $a0, (0x49008000 >> 16) # lui $a0, 0x4900
|
||||
/* 0B3C58 800B3058 0C032384 */ jal play_sound2
|
||||
@@ -472,14 +472,14 @@ glabel L800B2F70 # case 5, 8
|
||||
/* 0B3C94 800B3094 3C028019 */ lui $v0, %hi(gPlayerCount) # $v0, 0x8019
|
||||
/* 0B3C98 800B3098 8042EDF3 */ lb $v0, %lo(gPlayerCount)($v0)
|
||||
/* 0B3C9C 800B309C 3C04800F */ lui $a0, %hi((gGameModeMenuColumn - 1)) # 0x800f
|
||||
/* 0B3CA0 800B30A0 3C09800F */ lui $t1, %hi((gGameModePlayerColumnExtra - 3)) # 0x800f
|
||||
/* 0B3CA0 800B30A0 3C09800F */ lui $t1, %hi((sGameModePlayerColumnExtra - 3)) # 0x800f
|
||||
/* 0B3CA4 800B30A4 00822021 */ addu $a0, $a0, $v0
|
||||
/* 0B3CA8 800B30A8 808486AB */ lb $a0, %lo((gGameModeMenuColumn - 1))($a0) # -0x7955($a0)
|
||||
/* 0B3CAC 800B30AC 00027080 */ sll $t6, $v0, 2
|
||||
/* 0B3CB0 800B30B0 01C27023 */ subu $t6, $t6, $v0
|
||||
/* 0B3CB4 800B30B4 01C4C821 */ addu $t9, $t6, $a0
|
||||
/* 0B3CB8 800B30B8 01394821 */ addu $t1, $t1, $t9
|
||||
/* 0B3CBC 800B30BC 81292B6D */ lb $t1, %lo((gGameModePlayerColumnExtra - 3))($t1) # 0x2b6d($t1)
|
||||
/* 0B3CBC 800B30BC 81292B6D */ lb $t1, %lo((sGameModePlayerColumnExtra - 3))($t1) # 0x2b6d($t1)
|
||||
/* 0B3CC0 800B30C0 00A9082A */ slt $at, $a1, $t1
|
||||
/* 0B3CC4 800B30C4 10200012 */ beqz $at, .L800B3110
|
||||
/* 0B3CC8 800B30C8 00000000 */ nop
|
||||
@@ -489,14 +489,14 @@ glabel L800B2F70 # case 5, 8
|
||||
/* 0B3CD4 800B30D4 3C028019 */ lui $v0, %hi(gPlayerCount) # $v0, 0x8019
|
||||
/* 0B3CD8 800B30D8 8042EDF3 */ lb $v0, %lo(gPlayerCount)($v0)
|
||||
/* 0B3CDC 800B30DC 3C04800F */ lui $a0, %hi((gGameModeMenuColumn - 1)) # 0x800f
|
||||
/* 0B3CE0 800B30E0 3C0F800F */ lui $t7, %hi((gGameModePlayerColumnDefault - 3)) # 0x800f
|
||||
/* 0B3CE0 800B30E0 3C0F800F */ lui $t7, %hi((sGameModePlayerColumnDefault - 3)) # 0x800f
|
||||
/* 0B3CE4 800B30E4 00822021 */ addu $a0, $a0, $v0
|
||||
/* 0B3CE8 800B30E8 808486AB */ lb $a0, %lo((gGameModeMenuColumn - 1))($a0) # -0x7955($a0)
|
||||
/* 0B3CEC 800B30EC 00025880 */ sll $t3, $v0, 2
|
||||
/* 0B3CF0 800B30F0 01625823 */ subu $t3, $t3, $v0
|
||||
/* 0B3CF4 800B30F4 01645021 */ addu $t2, $t3, $a0
|
||||
/* 0B3CF8 800B30F8 01EA7821 */ addu $t7, $t7, $t2
|
||||
/* 0B3CFC 800B30FC 81EF2B61 */ lb $t7, %lo((gGameModePlayerColumnDefault - 3))($t7) # 0x2b61($t7)
|
||||
/* 0B3CFC 800B30FC 81EF2B61 */ lb $t7, %lo((sGameModePlayerColumnDefault - 3))($t7) # 0x2b61($t7)
|
||||
/* 0B3D00 800B3100 00AF082A */ slt $at, $a1, $t7
|
||||
/* 0B3D04 800B3104 10200002 */ beqz $at, .L800B3110
|
||||
/* 0B3D08 800B3108 00000000 */ nop
|
||||
@@ -512,7 +512,7 @@ glabel L800B2F70 # case 5, 8
|
||||
/* 0B3D2C 800B312C 806EFFFD */ lb $t6, -3($v1)
|
||||
/* 0B3D30 800B3130 AFA6001C */ sw $a2, 0x1c($sp)
|
||||
/* 0B3D34 800B3134 25D90001 */ addiu $t9, $t6, 1
|
||||
/* 0B3D38 800B3138 0C02D12B */ jal func_800B44AC
|
||||
/* 0B3D38 800B3138 0C02D12B */ jal reset_cycle_flash_menu
|
||||
/* 0B3D3C 800B313C A079FFFD */ sb $t9, -3($v1)
|
||||
/* 0B3D40 800B3140 3C044900 */ lui $a0, (0x49008000 >> 16) # lui $a0, 0x4900
|
||||
/* 0B3D44 800B3144 0C032384 */ jal play_sound2
|
||||
@@ -528,14 +528,14 @@ glabel L800B2F70 # case 5, 8
|
||||
/* 0B3D68 800B3168 00024880 */ sll $t1, $v0, 2
|
||||
/* 0B3D6C 800B316C 01224823 */ subu $t1, $t1, $v0
|
||||
/* 0B3D70 800B3170 01245821 */ addu $t3, $t1, $a0
|
||||
/* 0B3D74 800B3174 3C088019 */ lui $t0, %hi(gMainMenuSelectionDepth) # $t0, 0x8019
|
||||
/* 0B3D74 800B3174 3C088019 */ lui $t0, %hi(gMainMenuSelection) # $t0, 0x8019
|
||||
/* 0B3D78 800B3178 00AB2821 */ addu $a1, $a1, $t3
|
||||
/* 0B3D7C 800B317C 30CA4000 */ andi $t2, $a2, 0x4000
|
||||
/* 0B3D80 800B3180 2508EDED */ addiu $t0, %lo(gMainMenuSelectionDepth) # addiu $t0, $t0, -0x1213
|
||||
/* 0B3D80 800B3180 2508EDED */ addiu $t0, %lo(gMainMenuSelection) # addiu $t0, $t0, -0x1213
|
||||
/* 0B3D84 800B3184 11400015 */ beqz $t2, .L800B31DC
|
||||
/* 0B3D88 800B3188 80A586AD */ lb $a1, %lo((gGameModeSubMenuColumn - 3))($a1) # -0x7953($a1)
|
||||
/* 0B3D8C 800B318C 240F0004 */ li $t7, 4
|
||||
/* 0B3D90 800B3190 0C02D12B */ jal func_800B44AC
|
||||
/* 0B3D90 800B3190 0C02D12B */ jal reset_cycle_flash_menu
|
||||
/* 0B3D94 800B3194 A10F0000 */ sb $t7, ($t0)
|
||||
/* 0B3D98 800B3198 3C044900 */ lui $a0, (0x49008002 >> 16) # lui $a0, 0x4900
|
||||
/* 0B3D9C 800B319C 0C032384 */ jal play_sound2
|
||||
@@ -558,7 +558,7 @@ glabel L800B2F70 # case 5, 8
|
||||
/* 0B3DDC 800B31DC 30C98000 */ andi $t1, $a2, 0x8000
|
||||
/* 0B3DE0 800B31E0 1120002C */ beqz $t1, .L800B3294
|
||||
/* 0B3DE4 800B31E4 0002C880 */ sll $t9, $v0, 2
|
||||
/* 0B3DE8 800B31E8 0C02D12B */ jal func_800B44AC
|
||||
/* 0B3DE8 800B31E8 0C02D12B */ jal reset_cycle_flash_menu
|
||||
/* 0B3DEC 800B31EC AFA50028 */ sw $a1, 0x28($sp)
|
||||
/* 0B3DF0 800B31F0 3C028019 */ lui $v0, %hi(gPlayerCount) # $v0, 0x8019
|
||||
/* 0B3DF4 800B31F4 8042EDF3 */ lb $v0, %lo(gPlayerCount)($v0)
|
||||
@@ -582,9 +582,9 @@ glabel L800B2F70 # case 5, 8
|
||||
.L800B323C:
|
||||
/* 0B3E3C 800B323C 240A0006 */ li $t2, 6
|
||||
.L800B3240:
|
||||
/* 0B3E40 800B3240 3C018019 */ lui $at, %hi(gMainMenuSelectionDepth) # $at, 0x8019
|
||||
/* 0B3E40 800B3240 3C018019 */ lui $at, %hi(gMainMenuSelection) # $at, 0x8019
|
||||
/* 0B3E44 800B3244 3C044900 */ lui $a0, (0x49008001 >> 16) # lui $a0, 0x4900
|
||||
/* 0B3E48 800B3248 A02AEDED */ sb $t2, %lo(gMainMenuSelectionDepth)($at)
|
||||
/* 0B3E48 800B3248 A02AEDED */ sb $t2, %lo(gMainMenuSelection)($at)
|
||||
/* 0B3E4C 800B324C 0C032384 */ jal play_sound2
|
||||
/* 0B3E50 800B3250 34848001 */ ori $a0, (0x49008001 & 0xFFFF) # ori $a0, $a0, 0x8001
|
||||
/* 0B3E54 800B3254 3C018019 */ lui $at, %hi(gMenuTimingCounter) # $at, 0x8019
|
||||
@@ -633,8 +633,8 @@ glabel L800B32B4 # case 6, 7
|
||||
.L800B32F4:
|
||||
/* 0B3EF4 800B32F4 0C032384 */ jal play_sound2
|
||||
/* 0B3EF8 800B32F8 AFA6001C */ sw $a2, 0x1c($sp)
|
||||
/* 0B3EFC 800B32FC 3C088019 */ lui $t0, %hi(gMainMenuSelectionDepth) # $t0, 0x8019
|
||||
/* 0B3F00 800B3300 2508EDED */ addiu $t0, %lo(gMainMenuSelectionDepth) # addiu $t0, $t0, -0x1213
|
||||
/* 0B3EFC 800B32FC 3C088019 */ lui $t0, %hi(gMainMenuSelection) # $t0, 0x8019
|
||||
/* 0B3F00 800B3300 2508EDED */ addiu $t0, %lo(gMainMenuSelection) # addiu $t0, $t0, -0x1213
|
||||
/* 0B3F04 800B3304 8FA6001C */ lw $a2, 0x1c($sp)
|
||||
.L800B3308:
|
||||
/* 0B3F08 800B3308 30CD4000 */ andi $t5, $a2, 0x4000
|
||||
@@ -672,7 +672,7 @@ glabel L800B32B4 # case 6, 7
|
||||
.L800B3380:
|
||||
/* 0B3F80 800B3380 A10A0000 */ sb $t2, ($t0)
|
||||
.L800B3384:
|
||||
/* 0B3F84 800B3384 0C02D12B */ jal func_800B44AC
|
||||
/* 0B3F84 800B3384 0C02D12B */ jal reset_cycle_flash_menu
|
||||
/* 0B3F88 800B3388 00000000 */ nop
|
||||
/* 0B3F8C 800B338C 3C044900 */ lui $a0, (0x49008002 >> 16) # lui $a0, 0x4900
|
||||
/* 0B3F90 800B3390 0C032384 */ jal play_sound2
|
||||
@@ -701,7 +701,7 @@ glabel L800B32B4 # case 6, 7
|
||||
/* 0B3FE8 800B33E8 3C044900 */ lui $a0, (0x49008016 >> 16) # lui $a0, 0x4900
|
||||
/* 0B3FEC 800B33EC 0C032384 */ jal play_sound2
|
||||
/* 0B3FF0 800B33F0 34848016 */ ori $a0, (0x49008016 & 0xFFFF) # ori $a0, $a0, 0x8016
|
||||
/* 0B3FF4 800B33F4 0C02CA32 */ jal func_800B28C8
|
||||
/* 0B3FF4 800B33F4 0C02CA32 */ jal setup_game_mode_selected
|
||||
/* 0B3FF8 800B33F8 00000000 */ nop
|
||||
/* 0B3FFC 800B33FC 3C098019 */ lui $t1, %hi(gPlayerCount) # $t1, 0x8019
|
||||
/* 0B4000 800B3400 8129EDF3 */ lb $t1, %lo(gPlayerCount)($t1)
|
||||
|
||||
@@ -18,12 +18,12 @@ glabel player_select_menu_act
|
||||
/* 0B4194 800B3594 3069FFFF */ andi $t1, $v1, 0xffff
|
||||
/* 0B4198 800B3598 01201825 */ move $v1, $t1
|
||||
.L800B359C:
|
||||
/* 0B419C 800B359C 0C02D148 */ jal func_800B4520
|
||||
/* 0B419C 800B359C 0C02D148 */ jal is_screen_being_faded
|
||||
/* 0B41A0 800B35A0 A7A30036 */ sh $v1, 0x36($sp)
|
||||
/* 0B41A4 800B35A4 14400167 */ bnez $v0, .L800B3B44
|
||||
/* 0B41A8 800B35A8 97A30036 */ lhu $v1, 0x36($sp)
|
||||
/* 0B41AC 800B35AC 3C028019 */ lui $v0, %hi(D_8018EDEE) # $v0, 0x8019
|
||||
/* 0B41B0 800B35B0 8042EDEE */ lb $v0, %lo(D_8018EDEE)($v0)
|
||||
/* 0B41AC 800B35AC 3C028019 */ lui $v0, %hi(gPlayerSelectMenuSelection) # $v0, 0x8019
|
||||
/* 0B41B0 800B35B0 8042EDEE */ lb $v0, %lo(gPlayerSelectMenuSelection)($v0)
|
||||
/* 0B41B4 800B35B4 24010001 */ li $at, 1
|
||||
/* 0B41B8 800B35B8 97AB0046 */ lhu $t3, 0x46($sp)
|
||||
/* 0B41BC 800B35BC 1041000A */ beq $v0, $at, .L800B35E8
|
||||
@@ -59,8 +59,8 @@ glabel player_select_menu_act
|
||||
.L800B3630:
|
||||
/* 0B4230 800B3630 13000014 */ beqz $t8, .L800B3684
|
||||
/* 0B4234 800B3634 97B90046 */ lhu $t9, 0x46($sp)
|
||||
/* 0B4238 800B3638 3C038019 */ lui $v1, %hi(D_8018EDE8) # $v1, 0x8019
|
||||
/* 0B423C 800B363C 2463EDE8 */ addiu $v1, %lo(D_8018EDE8) # addiu $v1, $v1, -0x1218
|
||||
/* 0B4238 800B3638 3C038019 */ lui $v1, %hi(gCharacterGridIsSelected) # $v1, 0x8019
|
||||
/* 0B423C 800B363C 2463EDE8 */ addiu $v1, %lo(gCharacterGridIsSelected) # addiu $v1, $v1, -0x1218
|
||||
/* 0B4240 800B3640 00793821 */ addu $a3, $v1, $t9
|
||||
/* 0B4244 800B3644 80E80000 */ lb $t0, ($a3)
|
||||
/* 0B4248 800B3648 3C044900 */ lui $a0, (0x49008002 >> 16) # lui $a0, 0x4900
|
||||
@@ -81,14 +81,14 @@ glabel player_select_menu_act
|
||||
/* 0B4280 800B3680 8FA6002C */ lw $a2, 0x2c($sp)
|
||||
.L800B3684:
|
||||
/* 0B4284 800B3684 97A90046 */ lhu $t1, 0x46($sp)
|
||||
/* 0B4288 800B3688 3C038019 */ lui $v1, %hi(D_8018EDE8) # $v1, 0x8019
|
||||
/* 0B428C 800B368C 2463EDE8 */ addiu $v1, %lo(D_8018EDE8) # addiu $v1, $v1, -0x1218
|
||||
/* 0B4288 800B3688 3C038019 */ lui $v1, %hi(gCharacterGridIsSelected) # $v1, 0x8019
|
||||
/* 0B428C 800B368C 2463EDE8 */ addiu $v1, %lo(gCharacterGridIsSelected) # addiu $v1, $v1, -0x1218
|
||||
/* 0B4290 800B3690 30CA8000 */ andi $t2, $a2, 0x8000
|
||||
/* 0B4294 800B3694 11400017 */ beqz $t2, .L800B36F4
|
||||
/* 0B4298 800B3698 00693821 */ addu $a3, $v1, $t1
|
||||
/* 0B429C 800B369C 80EB0000 */ lb $t3, ($a3)
|
||||
/* 0B42A0 800B36A0 240C0001 */ li $t4, 1
|
||||
/* 0B42A4 800B36A4 3C05800F */ lui $a1, %hi((D_800F2BAC - 1)) # 0x800f
|
||||
/* 0B42A4 800B36A4 3C05800F */ lui $a1, %hi((sCharacterGridOrder - 1)) # 0x800f
|
||||
/* 0B42A8 800B36A8 55600013 */ bnel $t3, $zero, .L800B36F8
|
||||
/* 0B42AC 800B36AC 00002025 */ move $a0, $zero
|
||||
/* 0B42B0 800B36B0 8FAD0028 */ lw $t5, 0x28($sp)
|
||||
@@ -98,14 +98,14 @@ glabel player_select_menu_act
|
||||
/* 0B42C0 800B36C0 3421800E */ ori $at, (0x2900800E & 0xFFFF) # ori $at, $at, 0x800e
|
||||
/* 0B42C4 800B36C4 AFA70020 */ sw $a3, 0x20($sp)
|
||||
/* 0B42C8 800B36C8 00AE2821 */ addu $a1, $a1, $t6
|
||||
/* 0B42CC 800B36CC 80A52BAB */ lb $a1, %lo((D_800F2BAC - 1))($a1) # 0x2bab($a1)
|
||||
/* 0B42CC 800B36CC 80A52BAB */ lb $a1, %lo((sCharacterGridOrder - 1))($a1) # 0x2bab($a1)
|
||||
/* 0B42D0 800B36D0 AFA6002C */ sw $a2, 0x2c($sp)
|
||||
/* 0B42D4 800B36D4 93A40047 */ lbu $a0, 0x47($sp)
|
||||
/* 0B42D8 800B36D8 00057900 */ sll $t7, $a1, 4
|
||||
/* 0B42DC 800B36DC 0C03243D */ jal func_800C90F4
|
||||
/* 0B42E0 800B36E0 01E12821 */ addu $a1, $t7, $at
|
||||
/* 0B42E4 800B36E4 3C038019 */ lui $v1, %hi(D_8018EDE8) # $v1, 0x8019
|
||||
/* 0B42E8 800B36E8 2463EDE8 */ addiu $v1, %lo(D_8018EDE8) # addiu $v1, $v1, -0x1218
|
||||
/* 0B42E4 800B36E4 3C038019 */ lui $v1, %hi(gCharacterGridIsSelected) # $v1, 0x8019
|
||||
/* 0B42E8 800B36E8 2463EDE8 */ addiu $v1, %lo(gCharacterGridIsSelected) # addiu $v1, $v1, -0x1218
|
||||
/* 0B42EC 800B36EC 8FA6002C */ lw $a2, 0x2c($sp)
|
||||
/* 0B42F0 800B36F0 8FA70020 */ lw $a3, 0x20($sp)
|
||||
.L800B36F4:
|
||||
@@ -133,10 +133,10 @@ glabel player_select_menu_act
|
||||
.L800B3738:
|
||||
/* 0B4338 800B3738 1480000B */ bnez $a0, .L800B3768
|
||||
/* 0B433C 800B373C 240C0002 */ li $t4, 2
|
||||
/* 0B4340 800B3740 3C018019 */ lui $at, %hi(D_8018EDEE) # $at, 0x8019
|
||||
/* 0B4344 800B3744 A02CEDEE */ sb $t4, %lo(D_8018EDEE)($at)
|
||||
/* 0B4340 800B3740 3C018019 */ lui $at, %hi(gPlayerSelectMenuSelection) # $at, 0x8019
|
||||
/* 0B4344 800B3744 A02CEDEE */ sb $t4, %lo(gPlayerSelectMenuSelection)($at)
|
||||
/* 0B4348 800B3748 AFA6002C */ sw $a2, 0x2c($sp)
|
||||
/* 0B434C 800B374C 0C02D12B */ jal func_800B44AC
|
||||
/* 0B434C 800B374C 0C02D12B */ jal reset_cycle_flash_menu
|
||||
/* 0B4350 800B3750 AFA70020 */ sw $a3, 0x20($sp)
|
||||
/* 0B4354 800B3754 3C038019 */ lui $v1, %hi(gMenuTimingCounter) # $v1, 0x8019
|
||||
/* 0B4358 800B3758 2463EE00 */ addiu $v1, %lo(gMenuTimingCounter) # addiu $v1, $v1, -0x1200
|
||||
@@ -375,11 +375,11 @@ glabel player_select_menu_act
|
||||
/* 0B46A8 800B3AA8 11A00011 */ beqz $t5, .L800B3AF0
|
||||
/* 0B46AC 800B3AAC 30C88000 */ andi $t0, $a2, 0x8000
|
||||
/* 0B46B0 800B3AB0 97AF0046 */ lhu $t7, 0x46($sp)
|
||||
/* 0B46B4 800B3AB4 3C038019 */ lui $v1, %hi(D_8018EDE8) # $v1, 0x8019
|
||||
/* 0B46B8 800B3AB8 2463EDE8 */ addiu $v1, %lo(D_8018EDE8) # addiu $v1, $v1, -0x1218
|
||||
/* 0B46B4 800B3AB4 3C038019 */ lui $v1, %hi(gCharacterGridIsSelected) # $v1, 0x8019
|
||||
/* 0B46B8 800B3AB8 2463EDE8 */ addiu $v1, %lo(gCharacterGridIsSelected) # addiu $v1, $v1, -0x1218
|
||||
/* 0B46BC 800B3ABC 240E0001 */ li $t6, 1
|
||||
/* 0B46C0 800B3AC0 3C018019 */ lui $at, %hi(D_8018EDEE) # $at, 0x8019
|
||||
/* 0B46C4 800B3AC4 A02EEDEE */ sb $t6, %lo(D_8018EDEE)($at)
|
||||
/* 0B46C0 800B3AC0 3C018019 */ lui $at, %hi(gPlayerSelectMenuSelection) # $at, 0x8019
|
||||
/* 0B46C4 800B3AC4 A02EEDEE */ sb $t6, %lo(gPlayerSelectMenuSelection)($at)
|
||||
/* 0B46C8 800B3AC8 3C044900 */ lui $a0, (0x49008002 >> 16) # lui $a0, 0x4900
|
||||
/* 0B46CC 800B3ACC 006FC021 */ addu $t8, $v1, $t7
|
||||
/* 0B46D0 800B3AD0 A3000000 */ sb $zero, ($t8)
|
||||
@@ -407,10 +407,10 @@ glabel player_select_menu_act
|
||||
/* 0B4720 800B3B20 8063EDE4 */ lb $v1, %lo(gCharacterGridSelections)($v1) # -0x121c($v1)
|
||||
.L800B3B24:
|
||||
/* 0B4724 800B3B24 10600007 */ beqz $v1, .L800B3B44
|
||||
/* 0B4728 800B3B28 3C0A800F */ lui $t2, %hi((D_800F2BAC - 1)) # 0x800f
|
||||
/* 0B4728 800B3B28 3C0A800F */ lui $t2, %hi((sCharacterGridOrder - 1)) # 0x800f
|
||||
/* 0B472C 800B3B2C 97AB0046 */ lhu $t3, 0x46($sp)
|
||||
/* 0B4730 800B3B30 01435021 */ addu $t2, $t2, $v1
|
||||
/* 0B4734 800B3B34 814A2BAB */ lb $t2, %lo((D_800F2BAC - 1))($t2) # 0x2bab($t2)
|
||||
/* 0B4734 800B3B34 814A2BAB */ lb $t2, %lo((sCharacterGridOrder - 1))($t2) # 0x2bab($t2)
|
||||
/* 0B4738 800B3B38 3C01800F */ lui $at, %hi(gCharacterSelections) # 0x800f
|
||||
/* 0B473C 800B3B3C 002B0821 */ addu $at, $at, $t3
|
||||
/* 0B4740 800B3B40 A02A86A8 */ sb $t2, %lo(gCharacterSelections)($at) # -0x7958($at)
|
||||
|
||||
@@ -195,20 +195,6 @@ enum { COURSE_ONE, COURSE_TWO, COURSE_THREE, COURSE_FOUR };
|
||||
#define ENDING 5
|
||||
#define CREDITS_SEQUENCE 9
|
||||
|
||||
/**
|
||||
* @brief Options for gMainMenuSelectionDepth
|
||||
*/
|
||||
#define BLANK_MAIN_MENU 0
|
||||
#define OPTIONS_SELECTION 1
|
||||
#define DATA_SELECTION 2
|
||||
#define PLAYER_NUM_SELECTION 3
|
||||
#define GAME_MODE_SELECTION 4
|
||||
#define GAME_MODE_CC_OR_TIME_TRIALS_OPTIONS_SELECTION \
|
||||
5 // Selecting CC for GP and Versus. Selecting "Begin" or "Data" for Time Trials. Unused for Battle
|
||||
#define CONFIRM_OK_SELECTION 6
|
||||
#define CONFIRM_OK_SELECTION_FROM_BACK_OUT 7
|
||||
#define TIME_TRIALS_DATA_SELECTION_FROM_BACK_OUT 8
|
||||
|
||||
/**
|
||||
* @brief Options for gScreenModeSelection and gActiveScreenMode
|
||||
*/
|
||||
|
||||
+1
-1
@@ -5339,7 +5339,7 @@ void func_80014DE4(s32 cameraIndex) {
|
||||
D_801646D0[cameraIndex].unk0 = 0;
|
||||
D_801646D0[cameraIndex].unk2 = 0;
|
||||
D_801646D0[cameraIndex].unk4 = 0;
|
||||
if ((gModeSelection == 1) && (D_8018EDFC == 0)) {
|
||||
if ((gModeSelection == 1) && (gCourseMapInit == 0)) {
|
||||
D_80164678[cameraIndex] = 0;
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -384,8 +384,8 @@ void func_8006F824(s32 arg0) {
|
||||
}
|
||||
|
||||
void func_8006F8CC(void) {
|
||||
if (D_8018EDFC == 0) {
|
||||
D_8018EDFC = 1;
|
||||
if (gCourseMapInit == 0) {
|
||||
gCourseMapInit = 1;
|
||||
gHUDModes = 0;
|
||||
D_801657E6 = 0;
|
||||
D_801657F0 = 0;
|
||||
|
||||
+1466
-1466
File diff suppressed because it is too large
Load Diff
@@ -60,8 +60,8 @@ u32 World::GetCupIndex() {
|
||||
u32 World::NextCup() {
|
||||
s32 hack = 1;
|
||||
|
||||
// Prevent battle mode
|
||||
if (gModeSelection == GRAND_PRIX) {
|
||||
// Do not display battle mode on GP, TT, or VS
|
||||
if (gModeSelection != BATTLE) {
|
||||
hack = 2;
|
||||
}
|
||||
|
||||
|
||||
+502
-492
File diff suppressed because it is too large
Load Diff
+14
-7
@@ -67,12 +67,12 @@ typedef struct {
|
||||
/* 0x00 */ u64* textureData; // This should be interpreted as a segmented address
|
||||
/**
|
||||
* Its hard to tell what exactly what this is meant to be,
|
||||
* but it appears to be used as some sort of offset/index from the address stored in gMenuTextureBuffer.
|
||||
* but it appears to be used as some sort of offset/index from the address stored in sMenuTextureList.
|
||||
* This value is (roughly) the sum of (width * height) of the
|
||||
* textures in all the previous entries in sMenuTextureMap
|
||||
*/
|
||||
/* 0x04 */ s32 offset;
|
||||
} struct_8018E118_entry; // size = 0x08
|
||||
} TextureMap; // size = 0x08
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ MenuTexture* textures;
|
||||
@@ -133,7 +133,7 @@ enum MENU_ITEM_TYPE {
|
||||
MAIN_MENU_50CC,
|
||||
MAIN_MENU_100CC,
|
||||
MAIN_MENU_150CC,
|
||||
MENU_ITEM_TYPE_015,
|
||||
MAIN_MENU_EXTRA_CC,
|
||||
MENU_ITEM_TYPE_016,
|
||||
MENU_ITEM_TYPE_017,
|
||||
MAIN_MENU_TIME_TRIALS_BEGIN,
|
||||
@@ -416,7 +416,7 @@ Gfx* draw_box_wide(Gfx*, s32, s32, s32, s32, u32, u32, u32, u32);
|
||||
Gfx* func_80098FC8(Gfx*, s32, s32, s32, s32);
|
||||
void dma_compressed_mio0_texture_segA(u64*, size_t, void*);
|
||||
void dma_tkmk00_textures(u64*, size_t, void*);
|
||||
void func_80099110(void);
|
||||
void clear_menu_textures(void);
|
||||
void load_menu_img(MenuTexture*);
|
||||
void* segmented_to_virtual_dupe(const void*);
|
||||
void* segmented_to_virtual_dupe_2(const void*);
|
||||
@@ -655,13 +655,20 @@ void tkmk00decode(u8*, u8*, u8*, s32);
|
||||
#define D_8018E768_SIZE 0x08
|
||||
#define D_8018E7E8_SIZE 0x05
|
||||
#define D_8018E810_SIZE 0x05
|
||||
#define MENU_TEXTURE_BUFFER_MAX 500
|
||||
|
||||
/* This is where I'd put my static data, if I had any */
|
||||
|
||||
extern s32 D_800DDB24;
|
||||
extern s16 D_80164478[];
|
||||
|
||||
extern u16* gMenuTextureBuffer;
|
||||
/**
|
||||
* Old name: sMenuTextureBuffer
|
||||
* This array has been modified. Instead of holding a buffer of texture data
|
||||
* It now holds a list of pointers to asset strings.
|
||||
* use `load_texture()` and `replace_texture()` to add textures to the list for rendering.
|
||||
*/
|
||||
extern const char* sMenuTextureList[MENU_TEXTURE_BUFFER_MAX];
|
||||
extern u8* gMenuCompressedBuffer;
|
||||
extern u8* sTKMK00_LowResBuffer;
|
||||
extern u8* sGPPointsCopy;
|
||||
@@ -674,8 +681,8 @@ extern MenuItem gMenuItems[MENU_ITEMS_MAX];
|
||||
extern struct_8018DEE0_entry D_8018DEE0[D_8018DEE0_SIZE];
|
||||
extern struct_8018E060_entry D_8018E060[];
|
||||
extern struct_8018E0E8_entry D_8018E0E8[D_8018E0E8_SIZE];
|
||||
extern s32 sMenuTextureBufferIndex;
|
||||
extern struct_8018E118_entry sMenuTextureMap[TEXTURE_MAP_MAX];
|
||||
extern s32 sMenuTextureListIndex; // Old name: sMenuTextureBufferIndex, index into sMenuTextureList
|
||||
extern TextureMap sMenuTextureMap[TEXTURE_MAP_MAX];
|
||||
extern s32 sMenuTextureEntries;
|
||||
extern Gfx* sGfxPtr;
|
||||
extern s32 gNumD_8018E768Entries;
|
||||
|
||||
+517
-479
File diff suppressed because it is too large
Load Diff
+23
-24
@@ -204,15 +204,15 @@ void course_data_menu_act(struct Controller*, u16);
|
||||
void logo_intro_menu_act(struct Controller*, u16);
|
||||
void controller_pak_menu_act(struct Controller*, u16);
|
||||
void splash_menu_act(struct Controller*, u16);
|
||||
void func_800B28C8(void);
|
||||
void setup_game_mode_selected(void);
|
||||
void main_menu_act(struct Controller*, u16);
|
||||
bool is_character_spot_free(s32);
|
||||
void player_select_menu_act(struct Controller* controller, u16 arg1);
|
||||
void course_select_menu_act(struct Controller*, u16);
|
||||
void load_menu_states(s32);
|
||||
void func_800B44AC(void);
|
||||
void func_800B44BC(void);
|
||||
bool func_800B4520(void);
|
||||
void reset_cycle_flash_menu(void);
|
||||
void set_sound_mode(void);
|
||||
bool is_screen_being_faded(void);
|
||||
|
||||
/* data */
|
||||
extern s32 gIntroModelZEye;
|
||||
@@ -223,16 +223,16 @@ extern f32 gIntroModelRotZ;
|
||||
extern f32 gIntroModelPosX;
|
||||
extern f32 gIntroModelPosY;
|
||||
extern f32 gIntroModelPosZ;
|
||||
extern s32 D_8018EDE0;
|
||||
extern s32 gMenuFadeType;
|
||||
|
||||
extern s8 gCharacterGridSelections[];
|
||||
extern s8 D_8018EDE8[];
|
||||
extern s8 gCharacterGridIsSelected[];
|
||||
extern s8 gSubMenuSelection;
|
||||
extern s8 gMainMenuSelectionDepth;
|
||||
extern s8 D_8018EDEE;
|
||||
extern s8 gMainMenuSelection;
|
||||
extern s8 gPlayerSelectMenuSelection;
|
||||
extern s8 gDebugMenuSelection;
|
||||
extern s8 gControllerPakMenuSelection;
|
||||
extern s8 D_8018EDF1;
|
||||
extern s8 gScreenModeListIndex;
|
||||
extern u8 gSoundMode;
|
||||
extern s8 gPlayerCount;
|
||||
extern s8 gVersusResultCursorSelection;
|
||||
@@ -240,18 +240,17 @@ extern s8 gTimeTrialsResultCursorSelection;
|
||||
extern s8 gBattleResultCursorSelection;
|
||||
extern s8 gTimeTrialDataCourseIndex;
|
||||
extern s8 gCourseRecordsMenuSelection;
|
||||
extern s8 D_8018EDF9;
|
||||
extern s8 gCourseRecordsSubMenuSelection;
|
||||
extern s8 gDebugGotoScene;
|
||||
extern s8 D_8018EDFB;
|
||||
extern s8 D_8018EDFC;
|
||||
extern s8 gGhostPlayerInit;
|
||||
extern s8 gCourseMapInit;
|
||||
extern s32 gMenuTimingCounter;
|
||||
extern s32 gMenuDelayTimer;
|
||||
extern s8 gDemoUseController;
|
||||
extern s8 gCupSelection;
|
||||
extern s8 D_8018EE0A;
|
||||
extern s8 sTempCupSelection;
|
||||
extern s8 gCourseIndexInCup;
|
||||
extern s8 D_8018EE0C;
|
||||
extern struct_8018EE10_entry D_8018EE10[];
|
||||
extern s8 unref_D_8018EE0C;
|
||||
|
||||
extern s32 gMenuSelection; // D_800E86A0
|
||||
extern s32 gFadeModeSelection;
|
||||
@@ -261,21 +260,21 @@ extern s8 gGameModeMenuColumn[];
|
||||
extern s8 gGameModeSubMenuColumn[4][3];
|
||||
extern s8 gNextDemoId;
|
||||
extern s8 gControllerPakSelectedTableRow;
|
||||
extern s8 D_800E86C4[];
|
||||
extern s8 gControllerPakScrollDirection[];
|
||||
extern s8 unref_800E86E0[];
|
||||
extern s8 gControllerPakVisibleTableRows[];
|
||||
extern s8 gControllerPakScrollDirection;
|
||||
extern s8 unref_D_800E86D4[];
|
||||
extern u32 sVIGammaOffDitherOn;
|
||||
|
||||
extern const s8 D_800F2B50[5];
|
||||
extern const s8 D_800F2B58[5];
|
||||
extern const s8 sScreenModePlayerTable[5];
|
||||
extern const s8 sScreenModePlayerCount[5];
|
||||
extern const s8 gPlayerModeSelection[];
|
||||
extern const s8 gGameModePlayerColumnDefault[][3];
|
||||
extern const s8 gGameModePlayerColumnExtra[][3];
|
||||
extern const s8 sGameModePlayerColumnDefault[][3];
|
||||
extern const s8 sGameModePlayerColumnExtra[][3];
|
||||
extern const s32 gGameModePlayerSelection[][3];
|
||||
extern const s8 D_800F2BAC[8];
|
||||
extern const s8 sCharacterGridOrder[8];
|
||||
extern const s16 gCupCourseOrder[NUM_CUPS][NUM_COURSES_PER_CUP];
|
||||
|
||||
extern const union GameModePack gSoundMenuPack;
|
||||
extern const union GameModePack sSoundMenuPack;
|
||||
|
||||
// end of menus.c variables
|
||||
|
||||
|
||||
+33
-37
@@ -1882,56 +1882,52 @@ void func_8004C628(s32 arg0, s32 arg1, u32 arg2, u32 arg3, u8* texture) {
|
||||
gSPDisplayList(gDisplayListHead++, D_0D007EB8);
|
||||
}
|
||||
|
||||
#ifdef NON_MATCHING
|
||||
// https://decomp.me/scratch/TqXqn
|
||||
// There's a weird fakematch concerning `xPos`, don't know that to make of. Can't quite get it over the finish line
|
||||
// though
|
||||
// non-matching
|
||||
void render_texture_tile_rgba32_block(s16 x, s16 y, u8* texture, u32 width, u32 height) {
|
||||
s32 texSizeLess;
|
||||
s32 i;
|
||||
s32 yPos;
|
||||
s32 xPos;
|
||||
s32 texBlockCount;
|
||||
u32 texSize;
|
||||
s32 heightDiv;
|
||||
s32 realCount;
|
||||
u8* textureCopy;
|
||||
s32 remainingSize;
|
||||
s32 currX;
|
||||
s32 currY;
|
||||
u32 size;
|
||||
s32 tileHeight;
|
||||
s32 numTiles;
|
||||
s32 numTilesDup;
|
||||
|
||||
currX = x - (width / 2);
|
||||
currY = y - (height / 2);
|
||||
|
||||
xPos = x - (width / 2);
|
||||
yPos = y - (height / 2);
|
||||
textureCopy = texture;
|
||||
gSPDisplayList(gDisplayListHead++, D_0D007EF8);
|
||||
gDPSetRenderMode(gDisplayListHead++, G_RM_XLU_SURF, G_RM_XLU_SURF2);
|
||||
texSize = width * height * 4;
|
||||
texBlockCount = texSize / 4096;
|
||||
if (texSize % 4096) {
|
||||
texBlockCount++;
|
||||
|
||||
size = width * height * 4;
|
||||
numTiles = size / 4096;
|
||||
if (size % 4096) {
|
||||
numTiles++;
|
||||
}
|
||||
heightDiv = height / texBlockCount;
|
||||
realCount = texBlockCount;
|
||||
for (i = 0; i < realCount; i++) {
|
||||
load_texture_tile_rgba32_nomirror(textureCopy, width, heightDiv);
|
||||
render_texture_rectangle_wrap(xPos, yPos, width, heightDiv, 1);
|
||||
texSizeLess = texSize - (width * heightDiv * 4);
|
||||
textureCopy += (width * heightDiv * 4);
|
||||
if (texSizeLess < 0) {
|
||||
heightDiv = texSize / width;
|
||||
|
||||
tileHeight = height / numTiles;
|
||||
|
||||
numTilesDup = numTiles;
|
||||
for (size_t i = 0; i < numTilesDup; i++) {
|
||||
load_texture_tile_rgba32_nomirror(texture, width, tileHeight);
|
||||
render_texture_rectangle_wrap(currX, currY, width, tileHeight, 1);
|
||||
|
||||
texture += (width * tileHeight * 4);
|
||||
remainingSize = size - (width * tileHeight * 4);
|
||||
if (remainingSize < 0) {
|
||||
tileHeight = size / width;
|
||||
} else {
|
||||
texSize = texSizeLess;
|
||||
size -= (width * tileHeight * 4);
|
||||
}
|
||||
// Weird fakematch that is a HUGE improvement
|
||||
xPos += yPos * 0;
|
||||
yPos += heightDiv;
|
||||
currX += currY * 0;
|
||||
currY += tileHeight;
|
||||
}
|
||||
|
||||
gSPDisplayList(gDisplayListHead++, D_0D007EB8);
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/render_objects/render_texture_tile_rgba32_block.s")
|
||||
#endif
|
||||
|
||||
void render_game_logo(s16 arg0, s16 arg1) {
|
||||
render_texture_tile_rgba32_block(arg0, arg1, gTextureLogoMarioKart64, 0x100, 0x80);
|
||||
void render_game_logo(s16 x, s16 y) {
|
||||
render_texture_tile_rgba32_block(x, y, LOAD_ASSET(gTextureLogoMarioKart64), ResourceGetTexWidthByName(gTextureLogoMarioKart64), ResourceGetTexHeightByName(gTextureLogoMarioKart64));
|
||||
}
|
||||
|
||||
UNUSED void func_8004C91C(s32 arg0, s32 arg1, u8* texture, s32 arg3, s32 arg4, s32 arg5) {
|
||||
|
||||
+4
-1
@@ -19,6 +19,9 @@
|
||||
// very fragile!
|
||||
#define EEPROM_ADDR(ptr) (((uintptr_t) (ptr) - (uintptr_t) (&gSaveData)) / 8)
|
||||
|
||||
/** BSS **/
|
||||
struct_8018EE10_entry D_8018EE10[2];
|
||||
|
||||
/*** data ***/
|
||||
u16 gCompanyCode = PFS_COMPANY_CODE('0', '1');
|
||||
u32 gGameCode = PFS_GAME_CODE('N', 'K', 'T', 'J');
|
||||
@@ -93,7 +96,7 @@ void reset_save_data_grand_prix_points_and_sound_mode(void) {
|
||||
}
|
||||
main->saveInfo.soundMode = SOUND_STEREO;
|
||||
gSoundMode = SOUND_STEREO;
|
||||
func_800B44BC();
|
||||
set_sound_mode();
|
||||
write_save_data_grand_prix_points_and_sound_mode();
|
||||
}
|
||||
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
#define PFS_NO_ERROR 0 // controller pak no error return
|
||||
#define PFS_NO_PAK_INSERTED 1 // no pak pressent or wrong device inserted into the controller
|
||||
#define PFS_PAK_BAD_READ 2 // controller pak error while data transfer
|
||||
#define PFS_PAK_CORRUPTED 3 // controller pak has courrupted or has weird data
|
||||
#define PFS_FILE_OVERFLOW 4 // too many files written to in the controller pak
|
||||
#define PFS_INVALID_DATA -1 // bad arguments, game note does not exist, osPfsInit was not called.
|
||||
// controller pak test functions
|
||||
@@ -87,6 +88,7 @@ s32 func_800B6A68(void);
|
||||
// these might not be in this file, but for now...
|
||||
|
||||
extern u32* D_800DC714;
|
||||
extern struct_8018EE10_entry D_8018EE10[];
|
||||
|
||||
extern u16 gCompanyCode;
|
||||
extern u32 gGameCode; // osPfs gamecode
|
||||
|
||||
+3
-5
@@ -13,15 +13,13 @@
|
||||
*
|
||||
*/
|
||||
typedef struct {
|
||||
/* 0x00 */ s16 type;
|
||||
/* 0x02 */ s16 unused1;
|
||||
/* 0x00 */ s32 type;
|
||||
/* 0x04 */ u64* textureData; // This should be interpreted as a segmented address
|
||||
/* 0x08 */ u16 width;
|
||||
/* 0x0A */ u16 height;
|
||||
/* 0x0C */ u16 dX;
|
||||
/* 0x0E */ u16 dY;
|
||||
/* 0x10 */ u16 size; // This size is NOT equal to width*height. Its likely the size of the compressed texture
|
||||
/* 0x12 */ s16 unused2;
|
||||
} MenuTexture; // size = 0x14
|
||||
|
||||
/**
|
||||
@@ -493,8 +491,8 @@ extern MenuTexture D_0200450C[2];
|
||||
extern MenuTexture D_02004534[2];
|
||||
extern MenuTexture D_0200455C[2];
|
||||
extern MenuTexture D_02004584[1];
|
||||
extern MenuTexture D_02004598[2];
|
||||
extern MenuTexture D_020045C0[2];
|
||||
extern MenuTexture seg2_blue_sky_background_texture[2];
|
||||
extern MenuTexture seg2_sunset_background_texture[2];
|
||||
extern MenuTexture seg2_copyright_1996_texture[2];
|
||||
extern MenuTexture seg2_push_start_button_texture[2];
|
||||
extern MenuTexture D_02004638[2];
|
||||
|
||||
Reference in New Issue
Block a user