mirror of
https://github.com/HarbourMasters/SpaghettiKart
synced 2026-05-31 01:16:34 -04:00
@@ -244,7 +244,7 @@ include $(MAKEFILE_SPLIT)
|
||||
# These are files that need to be encoded into EUC-JP in order for the ROM to match
|
||||
# We filter them out from the regular C_FILES since we don't need nor want the
|
||||
# UTF-8 versions getting compiled
|
||||
EUC_JP_FILES := src/ending/credits.c src/code_80005FD0.c src/code_80091750.c
|
||||
EUC_JP_FILES := src/ending/credits.c src/code_80005FD0.c src/menu_items.c
|
||||
C_FILES := $(filter-out %.inc.c,$(filter-out $(EUC_JP_FILES),$(foreach dir,$(SRC_DIRS),$(wildcard $(dir)/*.c))))
|
||||
S_FILES := $(foreach dir,$(ASM_DIRS),$(wildcard $(dir)/*.s))
|
||||
# Include source files in courses/course_name/files.c but exclude .inc.c files.
|
||||
|
||||
@@ -1,146 +0,0 @@
|
||||
glabel load_menu_img
|
||||
/* 099D84 80099184 27BDFFC8 */ addiu $sp, $sp, -0x38
|
||||
/* 099D88 80099188 AFBF0034 */ sw $ra, 0x34($sp)
|
||||
/* 099D8C 8009918C AFB60030 */ sw $s6, 0x30($sp)
|
||||
/* 099D90 80099190 AFB5002C */ sw $s5, 0x2c($sp)
|
||||
/* 099D94 80099194 AFB40028 */ sw $s4, 0x28($sp)
|
||||
/* 099D98 80099198 AFB30024 */ sw $s3, 0x24($sp)
|
||||
/* 099D9C 8009919C AFB20020 */ sw $s2, 0x20($sp)
|
||||
/* 099DA0 800991A0 AFB1001C */ sw $s1, 0x1c($sp)
|
||||
/* 099DA4 800991A4 0C026449 */ jal segmented_to_virtual_dupe
|
||||
/* 099DA8 800991A8 AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* 099DAC 800991AC 8C4E0004 */ lw $t6, 4($v0)
|
||||
/* 099DB0 800991B0 00408825 */ move $s1, $v0
|
||||
/* 099DB4 800991B4 24160003 */ li $s6, 3
|
||||
/* 099DB8 800991B8 11C0006C */ beqz $t6, .L8009936C
|
||||
/* 099DBC 800991BC 3C158019 */ lui $s5, %hi(D_8018D9B0) # $s5, 0x8019
|
||||
/* 099DC0 800991C0 3C148019 */ lui $s4, %hi(D_8018D9B4) # $s4, 0x8019
|
||||
/* 099DC4 800991C4 3C138019 */ lui $s3, %hi(gNumD_8018E118Entries) # $s3, 0x8019
|
||||
/* 099DC8 800991C8 3C128019 */ lui $s2, %hi(gMenuTextureBufferIndex) # $s2, 0x8019
|
||||
/* 099DCC 800991CC 3C108019 */ lui $s0, %hi(D_8018E118) # $s0, 0x8019
|
||||
/* 099DD0 800991D0 2610E118 */ addiu $s0, %lo(D_8018E118) # addiu $s0, $s0, -0x1ee8
|
||||
/* 099DD4 800991D4 2652E110 */ addiu $s2, %lo(gMenuTextureBufferIndex) # addiu $s2, $s2, -0x1ef0
|
||||
/* 099DD8 800991D8 2673E758 */ addiu $s3, %lo(gNumD_8018E118Entries) # addiu $s3, $s3, -0x18a8
|
||||
/* 099DDC 800991DC 2694D9B4 */ addiu $s4, %lo(D_8018D9B4) # addiu $s4, $s4, -0x264c
|
||||
/* 099DE0 800991E0 26B5D9B0 */ addiu $s5, %lo(D_8018D9B0) # addiu $s5, $s5, -0x2650
|
||||
/* 099DE4 800991E4 8E630000 */ lw $v1, ($s3)
|
||||
.L800991E8:
|
||||
/* 099DE8 800991E8 00002825 */ move $a1, $zero
|
||||
/* 099DEC 800991EC 00001025 */ move $v0, $zero
|
||||
/* 099DF0 800991F0 1860000D */ blez $v1, .L80099228
|
||||
/* 099DF4 800991F4 00000000 */ nop
|
||||
/* 099DF8 800991F8 8E240004 */ lw $a0, 4($s1)
|
||||
/* 099DFC 800991FC 000278C0 */ sll $t7, $v0, 3
|
||||
.L80099200:
|
||||
/* 099E00 80099200 020FC021 */ addu $t8, $s0, $t7
|
||||
/* 099E04 80099204 8F190000 */ lw $t9, ($t8)
|
||||
/* 099E08 80099208 24420001 */ addiu $v0, $v0, 1
|
||||
/* 099E0C 8009920C 0043082A */ slt $at, $v0, $v1
|
||||
/* 099E10 80099210 17240003 */ bne $t9, $a0, .L80099220
|
||||
/* 099E14 80099214 00000000 */ nop
|
||||
/* 099E18 80099218 10000003 */ b .L80099228
|
||||
/* 099E1C 8009921C 24050001 */ li $a1, 1
|
||||
.L80099220:
|
||||
/* 099E20 80099220 5420FFF7 */ bnel $at, $zero, .L80099200
|
||||
/* 099E24 80099224 000278C0 */ sll $t7, $v0, 3
|
||||
.L80099228:
|
||||
/* 099E28 80099228 54A0004D */ bnel $a1, $zero, .L80099360
|
||||
/* 099E2C 8009922C 8E2A0018 */ lw $t2, 0x18($s1)
|
||||
/* 099E30 80099230 86280000 */ lh $t0, ($s1)
|
||||
/* 099E34 80099234 8E240004 */ lw $a0, 4($s1)
|
||||
/* 099E38 80099238 56C80022 */ bnel $s6, $t0, .L800992C4
|
||||
/* 099E3C 8009923C 962F000A */ lhu $t7, 0xa($s1)
|
||||
/* 099E40 80099240 96220010 */ lhu $v0, 0x10($s1)
|
||||
/* 099E44 80099244 24051000 */ li $a1, 4096
|
||||
/* 099E48 80099248 10400003 */ beqz $v0, .L80099258
|
||||
/* 099E4C 8009924C 00000000 */ nop
|
||||
/* 099E50 80099250 10000001 */ b .L80099258
|
||||
/* 099E54 80099254 3045FFFF */ andi $a1, $v0, 0xffff
|
||||
.L80099258:
|
||||
/* 099E58 80099258 00A01025 */ move $v0, $a1
|
||||
/* 099E5C 8009925C 04410004 */ bgez $v0, .L80099270
|
||||
/* 099E60 80099260 30490007 */ andi $t1, $v0, 7
|
||||
/* 099E64 80099264 11200002 */ beqz $t1, .L80099270
|
||||
/* 099E68 80099268 00000000 */ nop
|
||||
/* 099E6C 8009926C 2529FFF8 */ addiu $t1, $t1, -8
|
||||
.L80099270:
|
||||
/* 099E70 80099270 11200009 */ beqz $t1, .L80099298
|
||||
/* 099E74 80099274 00000000 */ nop
|
||||
/* 099E78 80099278 04410003 */ bgez $v0, .L80099288
|
||||
/* 099E7C 8009927C 000228C3 */ sra $a1, $v0, 3
|
||||
/* 099E80 80099280 24410007 */ addiu $at, $v0, 7
|
||||
/* 099E84 80099284 000128C3 */ sra $a1, $at, 3
|
||||
.L80099288:
|
||||
/* 099E88 80099288 000550C0 */ sll $t2, $a1, 3
|
||||
/* 099E8C 8009928C 25450008 */ addiu $a1, $t2, 8
|
||||
/* 099E90 80099290 30ABFFFF */ andi $t3, $a1, 0xffff
|
||||
/* 099E94 80099294 01602825 */ move $a1, $t3
|
||||
.L80099298:
|
||||
/* 099E98 80099298 0C026400 */ jal dma_copy_base_729a30
|
||||
/* 099E9C 8009929C 8E860000 */ lw $a2, ($s4)
|
||||
/* 099EA0 800992A0 8E4C0000 */ lw $t4, ($s2)
|
||||
/* 099EA4 800992A4 8EAE0000 */ lw $t6, ($s5)
|
||||
/* 099EA8 800992A8 8E840000 */ lw $a0, ($s4)
|
||||
/* 099EAC 800992AC 000C6840 */ sll $t5, $t4, 1
|
||||
/* 099EB0 800992B0 0C010034 */ jal mio0decode
|
||||
/* 099EB4 800992B4 01AE2821 */ addu $a1, $t5, $t6
|
||||
/* 099EB8 800992B8 1000000D */ b .L800992F0
|
||||
/* 099EBC 800992BC 8E6C0000 */ lw $t4, ($s3)
|
||||
/* 099EC0 800992C0 962F000A */ lhu $t7, 0xa($s1)
|
||||
.L800992C4:
|
||||
/* 099EC4 800992C4 96380008 */ lhu $t8, 8($s1)
|
||||
/* 099EC8 800992C8 8E480000 */ lw $t0, ($s2)
|
||||
/* 099ECC 800992CC 8EAA0000 */ lw $t2, ($s5)
|
||||
/* 099ED0 800992D0 01F80019 */ multu $t7, $t8
|
||||
/* 099ED4 800992D4 00084840 */ sll $t1, $t0, 1
|
||||
/* 099ED8 800992D8 012A3021 */ addu $a2, $t1, $t2
|
||||
/* 099EDC 800992DC 00002812 */ mflo $a1
|
||||
/* 099EE0 800992E0 0005C840 */ sll $t9, $a1, 1
|
||||
/* 099EE4 800992E4 0C026400 */ jal dma_copy_base_729a30
|
||||
/* 099EE8 800992E8 03202825 */ move $a1, $t9
|
||||
/* 099EEC 800992EC 8E6C0000 */ lw $t4, ($s3)
|
||||
.L800992F0:
|
||||
/* 099EF0 800992F0 8E2B0004 */ lw $t3, 4($s1)
|
||||
/* 099EF4 800992F4 000C68C0 */ sll $t5, $t4, 3
|
||||
/* 099EF8 800992F8 020D7021 */ addu $t6, $s0, $t5
|
||||
/* 099EFC 800992FC ADCB0000 */ sw $t3, ($t6)
|
||||
/* 099F00 80099300 8E780000 */ lw $t8, ($s3)
|
||||
/* 099F04 80099304 8E4F0000 */ lw $t7, ($s2)
|
||||
/* 099F08 80099308 0018C8C0 */ sll $t9, $t8, 3
|
||||
/* 099F0C 8009930C 02194021 */ addu $t0, $s0, $t9
|
||||
/* 099F10 80099310 AD0F0004 */ sw $t7, 4($t0)
|
||||
/* 099F14 80099314 962A0008 */ lhu $t2, 8($s1)
|
||||
/* 099F18 80099318 9629000A */ lhu $t1, 0xa($s1)
|
||||
/* 099F1C 8009931C 8E4D0000 */ lw $t5, ($s2)
|
||||
/* 099F20 80099320 8E680000 */ lw $t0, ($s3)
|
||||
/* 099F24 80099324 012A0019 */ multu $t1, $t2
|
||||
/* 099F28 80099328 25090001 */ addiu $t1, $t0, 1
|
||||
/* 099F2C 8009932C AE690000 */ sw $t1, ($s3)
|
||||
/* 099F30 80099330 00006012 */ mflo $t4
|
||||
/* 099F34 80099334 01AC5821 */ addu $t3, $t5, $t4
|
||||
/* 099F38 80099338 01607025 */ move $t6, $t3
|
||||
/* 099F3C 8009933C AE4B0000 */ sw $t3, ($s2)
|
||||
/* 099F40 80099340 05C10003 */ bgez $t6, .L80099350
|
||||
/* 099F44 80099344 000EC0C3 */ sra $t8, $t6, 3
|
||||
/* 099F48 80099348 25C10007 */ addiu $at, $t6, 7
|
||||
/* 099F4C 8009934C 0001C0C3 */ sra $t8, $at, 3
|
||||
.L80099350:
|
||||
/* 099F50 80099350 0018C8C0 */ sll $t9, $t8, 3
|
||||
/* 099F54 80099354 272F0008 */ addiu $t7, $t9, 8
|
||||
/* 099F58 80099358 AE4F0000 */ sw $t7, ($s2)
|
||||
/* 099F5C 8009935C 8E2A0018 */ lw $t2, 0x18($s1)
|
||||
.L80099360:
|
||||
/* 099F60 80099360 26310014 */ addiu $s1, $s1, 0x14
|
||||
/* 099F64 80099364 5540FFA0 */ bnel $t2, $zero, .L800991E8
|
||||
/* 099F68 80099368 8E630000 */ lw $v1, ($s3)
|
||||
.L8009936C:
|
||||
/* 099F6C 8009936C 8FBF0034 */ lw $ra, 0x34($sp)
|
||||
/* 099F70 80099370 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* 099F74 80099374 8FB1001C */ lw $s1, 0x1c($sp)
|
||||
/* 099F78 80099378 8FB20020 */ lw $s2, 0x20($sp)
|
||||
/* 099F7C 8009937C 8FB30024 */ lw $s3, 0x24($sp)
|
||||
/* 099F80 80099380 8FB40028 */ lw $s4, 0x28($sp)
|
||||
/* 099F84 80099384 8FB5002C */ lw $s5, 0x2c($sp)
|
||||
/* 099F88 80099388 8FB60030 */ lw $s6, 0x30($sp)
|
||||
/* 099F8C 8009938C 03E00008 */ jr $ra
|
||||
/* 099F90 80099390 27BD0038 */ addiu $sp, $sp, 0x38
|
||||
@@ -1,112 +0,0 @@
|
||||
glabel func_80099394
|
||||
/* 099F94 80099394 27BDFFC8 */ addiu $sp, $sp, -0x38
|
||||
/* 099F98 80099398 AFBF0034 */ sw $ra, 0x34($sp)
|
||||
/* 099F9C 8009939C AFB60030 */ sw $s6, 0x30($sp)
|
||||
/* 099FA0 800993A0 AFB5002C */ sw $s5, 0x2c($sp)
|
||||
/* 099FA4 800993A4 AFB40028 */ sw $s4, 0x28($sp)
|
||||
/* 099FA8 800993A8 AFB30024 */ sw $s3, 0x24($sp)
|
||||
/* 099FAC 800993AC AFB20020 */ sw $s2, 0x20($sp)
|
||||
/* 099FB0 800993B0 AFB1001C */ sw $s1, 0x1c($sp)
|
||||
/* 099FB4 800993B4 0C026449 */ jal segmented_to_virtual_dupe
|
||||
/* 099FB8 800993B8 AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* 099FBC 800993BC 8C4E0004 */ lw $t6, 4($v0)
|
||||
/* 099FC0 800993C0 3C168019 */ lui $s6, %hi(D_8018D9B0) # $s6, 0x8019
|
||||
/* 099FC4 800993C4 00409025 */ move $s2, $v0
|
||||
/* 099FC8 800993C8 11C0004E */ beqz $t6, .L80099504
|
||||
/* 099FCC 800993CC 26D6D9B0 */ addiu $s6, %lo(D_8018D9B0) # addiu $s6, $s6, -0x2650
|
||||
/* 099FD0 800993D0 3C148019 */ lui $s4, %hi(gNumD_8018E118Entries) # $s4, 0x8019
|
||||
/* 099FD4 800993D4 3C138019 */ lui $s3, %hi(gMenuTextureBufferIndex) # $s3, 0x8019
|
||||
/* 099FD8 800993D8 3C118019 */ lui $s1, %hi(D_8018E118) # $s1, 0x8019
|
||||
/* 099FDC 800993DC 2631E118 */ addiu $s1, %lo(D_8018E118) # addiu $s1, $s1, -0x1ee8
|
||||
/* 099FE0 800993E0 2673E110 */ addiu $s3, %lo(gMenuTextureBufferIndex) # addiu $s3, $s3, -0x1ef0
|
||||
/* 099FE4 800993E4 2694E758 */ addiu $s4, %lo(gNumD_8018E118Entries) # addiu $s4, $s4, -0x18a8
|
||||
/* 099FE8 800993E8 24150005 */ li $s5, 5
|
||||
/* 099FEC 800993EC 8E830000 */ lw $v1, ($s4)
|
||||
.L800993F0:
|
||||
/* 099FF0 800993F0 00002025 */ move $a0, $zero
|
||||
/* 099FF4 800993F4 00001025 */ move $v0, $zero
|
||||
/* 099FF8 800993F8 1860000D */ blez $v1, .L80099430
|
||||
/* 099FFC 800993FC 00000000 */ nop
|
||||
/* 09A000 80099400 8E500004 */ lw $s0, 4($s2)
|
||||
/* 09A004 80099404 000278C0 */ sll $t7, $v0, 3
|
||||
.L80099408:
|
||||
/* 09A008 80099408 022FC021 */ addu $t8, $s1, $t7
|
||||
/* 09A00C 8009940C 8F190000 */ lw $t9, ($t8)
|
||||
/* 09A010 80099410 24420001 */ addiu $v0, $v0, 1
|
||||
/* 09A014 80099414 0043082A */ slt $at, $v0, $v1
|
||||
/* 09A018 80099418 17300003 */ bne $t9, $s0, .L80099428
|
||||
/* 09A01C 8009941C 00000000 */ nop
|
||||
/* 09A020 80099420 10000003 */ b .L80099430
|
||||
/* 09A024 80099424 24040001 */ li $a0, 1
|
||||
.L80099428:
|
||||
/* 09A028 80099428 5420FFF7 */ bnel $at, $zero, .L80099408
|
||||
/* 09A02C 8009942C 000278C0 */ sll $t7, $v0, 3
|
||||
.L80099430:
|
||||
/* 09A030 80099430 54800031 */ bnel $a0, $zero, .L800994F8
|
||||
/* 09A034 80099434 8E4C0018 */ lw $t4, 0x18($s2)
|
||||
/* 09A038 80099438 86480000 */ lh $t0, ($s2)
|
||||
/* 09A03C 8009943C 8E500004 */ lw $s0, 4($s2)
|
||||
/* 09A040 80099440 56A80013 */ bnel $s5, $t0, .L80099490
|
||||
/* 09A044 80099444 000378C0 */ sll $t7, $v1, 3
|
||||
/* 09A048 80099448 9649000A */ lhu $t1, 0xa($s2)
|
||||
/* 09A04C 8009944C 964A0008 */ lhu $t2, 8($s2)
|
||||
/* 09A050 80099450 8E6C0000 */ lw $t4, ($s3)
|
||||
/* 09A054 80099454 8ECE0000 */ lw $t6, ($s6)
|
||||
/* 09A058 80099458 012A0019 */ multu $t1, $t2
|
||||
/* 09A05C 8009945C 000C6840 */ sll $t5, $t4, 1
|
||||
/* 09A060 80099460 02002025 */ move $a0, $s0
|
||||
/* 09A064 80099464 01AE3021 */ addu $a2, $t5, $t6
|
||||
/* 09A068 80099468 00002812 */ mflo $a1
|
||||
/* 09A06C 8009946C 04A10003 */ bgez $a1, .L8009947C
|
||||
/* 09A070 80099470 00055843 */ sra $t3, $a1, 1
|
||||
/* 09A074 80099474 24A10001 */ addiu $at, $a1, 1
|
||||
/* 09A078 80099478 00015843 */ sra $t3, $at, 1
|
||||
.L8009947C:
|
||||
/* 09A07C 8009947C 0C026400 */ jal dma_copy_base_729a30
|
||||
/* 09A080 80099480 01602825 */ move $a1, $t3
|
||||
/* 09A084 80099484 8E830000 */ lw $v1, ($s4)
|
||||
/* 09A088 80099488 8E500004 */ lw $s0, 4($s2)
|
||||
/* 09A08C 8009948C 000378C0 */ sll $t7, $v1, 3
|
||||
.L80099490:
|
||||
/* 09A090 80099490 022FC021 */ addu $t8, $s1, $t7
|
||||
/* 09A094 80099494 AF100000 */ sw $s0, ($t8)
|
||||
/* 09A098 80099498 8E880000 */ lw $t0, ($s4)
|
||||
/* 09A09C 8009949C 8E790000 */ lw $t9, ($s3)
|
||||
/* 09A0A0 800994A0 000848C0 */ sll $t1, $t0, 3
|
||||
/* 09A0A4 800994A4 02295021 */ addu $t2, $s1, $t1
|
||||
/* 09A0A8 800994A8 AD590004 */ sw $t9, 4($t2)
|
||||
/* 09A0AC 800994AC 964C0008 */ lhu $t4, 8($s2)
|
||||
/* 09A0B0 800994B0 964B000A */ lhu $t3, 0xa($s2)
|
||||
/* 09A0B4 800994B4 8E6E0000 */ lw $t6, ($s3)
|
||||
/* 09A0B8 800994B8 8E8A0000 */ lw $t2, ($s4)
|
||||
/* 09A0BC 800994BC 016C0019 */ multu $t3, $t4
|
||||
/* 09A0C0 800994C0 254B0001 */ addiu $t3, $t2, 1
|
||||
/* 09A0C4 800994C4 AE8B0000 */ sw $t3, ($s4)
|
||||
/* 09A0C8 800994C8 00006812 */ mflo $t5
|
||||
/* 09A0CC 800994CC 01CD7821 */ addu $t7, $t6, $t5
|
||||
/* 09A0D0 800994D0 01E0C025 */ move $t8, $t7
|
||||
/* 09A0D4 800994D4 AE6F0000 */ sw $t7, ($s3)
|
||||
/* 09A0D8 800994D8 07010003 */ bgez $t8, .L800994E8
|
||||
/* 09A0DC 800994DC 001840C3 */ sra $t0, $t8, 3
|
||||
/* 09A0E0 800994E0 27010007 */ addiu $at, $t8, 7
|
||||
/* 09A0E4 800994E4 000140C3 */ sra $t0, $at, 3
|
||||
.L800994E8:
|
||||
/* 09A0E8 800994E8 000848C0 */ sll $t1, $t0, 3
|
||||
/* 09A0EC 800994EC 25390008 */ addiu $t9, $t1, 8
|
||||
/* 09A0F0 800994F0 AE790000 */ sw $t9, ($s3)
|
||||
/* 09A0F4 800994F4 8E4C0018 */ lw $t4, 0x18($s2)
|
||||
.L800994F8:
|
||||
/* 09A0F8 800994F8 26520014 */ addiu $s2, $s2, 0x14
|
||||
/* 09A0FC 800994FC 5580FFBC */ bnel $t4, $zero, .L800993F0
|
||||
/* 09A100 80099500 8E830000 */ lw $v1, ($s4)
|
||||
.L80099504:
|
||||
/* 09A104 80099504 8FBF0034 */ lw $ra, 0x34($sp)
|
||||
/* 09A108 80099508 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* 09A10C 8009950C 8FB1001C */ lw $s1, 0x1c($sp)
|
||||
/* 09A110 80099510 8FB20020 */ lw $s2, 0x20($sp)
|
||||
/* 09A114 80099514 8FB30024 */ lw $s3, 0x24($sp)
|
||||
/* 09A118 80099518 8FB40028 */ lw $s4, 0x28($sp)
|
||||
/* 09A11C 8009951C 8FB5002C */ lw $s5, 0x2c($sp)
|
||||
/* 09A120 80099520 8FB60030 */ lw $s6, 0x30($sp)
|
||||
/* 09A124 80099524 03E00008 */ jr $ra
|
||||
/* 09A128 80099528 27BD0038 */ addiu $sp, $sp, 0x38
|
||||
@@ -1,100 +0,0 @@
|
||||
glabel func_8009952C
|
||||
/* 09A12C 8009952C 27BDFFD0 */ addiu $sp, $sp, -0x30
|
||||
/* 09A130 80099530 AFBF002C */ sw $ra, 0x2c($sp)
|
||||
/* 09A134 80099534 AFB50028 */ sw $s5, 0x28($sp)
|
||||
/* 09A138 80099538 AFB40024 */ sw $s4, 0x24($sp)
|
||||
/* 09A13C 8009953C AFB30020 */ sw $s3, 0x20($sp)
|
||||
/* 09A140 80099540 AFB2001C */ sw $s2, 0x1c($sp)
|
||||
/* 09A144 80099544 AFB10018 */ sw $s1, 0x18($sp)
|
||||
/* 09A148 80099548 0C026449 */ jal segmented_to_virtual_dupe
|
||||
/* 09A14C 8009954C AFB00014 */ sw $s0, 0x14($sp)
|
||||
/* 09A150 80099550 8C4E0004 */ lw $t6, 4($v0)
|
||||
/* 09A154 80099554 3C158019 */ lui $s5, %hi(D_8018D9B0) # $s5, 0x8019
|
||||
/* 09A158 80099558 00408825 */ move $s1, $v0
|
||||
/* 09A15C 8009955C 11C00046 */ beqz $t6, .L80099678
|
||||
/* 09A160 80099560 26B5D9B0 */ addiu $s5, %lo(D_8018D9B0) # addiu $s5, $s5, -0x2650
|
||||
/* 09A164 80099564 3C148019 */ lui $s4, %hi(D_8018D9B4) # $s4, 0x8019
|
||||
/* 09A168 80099568 3C138019 */ lui $s3, %hi(gNumD_8018E118Entries) # $s3, 0x8019
|
||||
/* 09A16C 8009956C 3C128019 */ lui $s2, %hi(gMenuTextureBufferIndex) # $s2, 0x8019
|
||||
/* 09A170 80099570 3C108019 */ lui $s0, %hi(D_8018E118) # $s0, 0x8019
|
||||
/* 09A174 80099574 2610E118 */ addiu $s0, %lo(D_8018E118) # addiu $s0, $s0, -0x1ee8
|
||||
/* 09A178 80099578 2652E110 */ addiu $s2, %lo(gMenuTextureBufferIndex) # addiu $s2, $s2, -0x1ef0
|
||||
/* 09A17C 8009957C 2673E758 */ addiu $s3, %lo(gNumD_8018E118Entries) # addiu $s3, $s3, -0x18a8
|
||||
/* 09A180 80099580 2694D9B4 */ addiu $s4, %lo(D_8018D9B4) # addiu $s4, $s4, -0x264c
|
||||
/* 09A184 80099584 8E630000 */ lw $v1, ($s3)
|
||||
.L80099588:
|
||||
/* 09A188 80099588 00002825 */ move $a1, $zero
|
||||
/* 09A18C 8009958C 00001025 */ move $v0, $zero
|
||||
/* 09A190 80099590 1860000D */ blez $v1, .L800995C8
|
||||
/* 09A194 80099594 00000000 */ nop
|
||||
/* 09A198 80099598 8E240004 */ lw $a0, 4($s1)
|
||||
/* 09A19C 8009959C 000278C0 */ sll $t7, $v0, 3
|
||||
.L800995A0:
|
||||
/* 09A1A0 800995A0 020FC021 */ addu $t8, $s0, $t7
|
||||
/* 09A1A4 800995A4 8F190000 */ lw $t9, ($t8)
|
||||
/* 09A1A8 800995A8 24420001 */ addiu $v0, $v0, 1
|
||||
/* 09A1AC 800995AC 0043082A */ slt $at, $v0, $v1
|
||||
/* 09A1B0 800995B0 17240003 */ bne $t9, $a0, .L800995C0
|
||||
/* 09A1B4 800995B4 00000000 */ nop
|
||||
/* 09A1B8 800995B8 10000003 */ b .L800995C8
|
||||
/* 09A1BC 800995BC 24050001 */ li $a1, 1
|
||||
.L800995C0:
|
||||
/* 09A1C0 800995C0 5420FFF7 */ bnel $at, $zero, .L800995A0
|
||||
/* 09A1C4 800995C4 000278C0 */ sll $t7, $v0, 3
|
||||
.L800995C8:
|
||||
/* 09A1C8 800995C8 54A00028 */ bnel $a1, $zero, .L8009966C
|
||||
/* 09A1CC 800995CC 8E2A0018 */ lw $t2, 0x18($s1)
|
||||
/* 09A1D0 800995D0 8E240004 */ lw $a0, 4($s1)
|
||||
/* 09A1D4 800995D4 34058000 */ li $a1, 32768
|
||||
/* 09A1D8 800995D8 0C026400 */ jal dma_copy_base_729a30
|
||||
/* 09A1DC 800995DC 8E860000 */ lw $a2, ($s4)
|
||||
/* 09A1E0 800995E0 8E480000 */ lw $t0, ($s2)
|
||||
/* 09A1E4 800995E4 8EAA0000 */ lw $t2, ($s5)
|
||||
/* 09A1E8 800995E8 8E840000 */ lw $a0, ($s4)
|
||||
/* 09A1EC 800995EC 00084840 */ sll $t1, $t0, 1
|
||||
/* 09A1F0 800995F0 0C010034 */ jal mio0decode
|
||||
/* 09A1F4 800995F4 012A2821 */ addu $a1, $t1, $t2
|
||||
/* 09A1F8 800995F8 8E6C0000 */ lw $t4, ($s3)
|
||||
/* 09A1FC 800995FC 8E2B0004 */ lw $t3, 4($s1)
|
||||
/* 09A200 80099600 000C68C0 */ sll $t5, $t4, 3
|
||||
/* 09A204 80099604 020D7021 */ addu $t6, $s0, $t5
|
||||
/* 09A208 80099608 ADCB0000 */ sw $t3, ($t6)
|
||||
/* 09A20C 8009960C 8E780000 */ lw $t8, ($s3)
|
||||
/* 09A210 80099610 8E4F0000 */ lw $t7, ($s2)
|
||||
/* 09A214 80099614 0018C8C0 */ sll $t9, $t8, 3
|
||||
/* 09A218 80099618 02194021 */ addu $t0, $s0, $t9
|
||||
/* 09A21C 8009961C AD0F0004 */ sw $t7, 4($t0)
|
||||
/* 09A220 80099620 962A0008 */ lhu $t2, 8($s1)
|
||||
/* 09A224 80099624 9629000A */ lhu $t1, 0xa($s1)
|
||||
/* 09A228 80099628 8E4D0000 */ lw $t5, ($s2)
|
||||
/* 09A22C 8009962C 8E680000 */ lw $t0, ($s3)
|
||||
/* 09A230 80099630 012A0019 */ multu $t1, $t2
|
||||
/* 09A234 80099634 25090001 */ addiu $t1, $t0, 1
|
||||
/* 09A238 80099638 AE690000 */ sw $t1, ($s3)
|
||||
/* 09A23C 8009963C 00006012 */ mflo $t4
|
||||
/* 09A240 80099640 01AC5821 */ addu $t3, $t5, $t4
|
||||
/* 09A244 80099644 01607025 */ move $t6, $t3
|
||||
/* 09A248 80099648 AE4B0000 */ sw $t3, ($s2)
|
||||
/* 09A24C 8009964C 05C10003 */ bgez $t6, .L8009965C
|
||||
/* 09A250 80099650 000EC0C3 */ sra $t8, $t6, 3
|
||||
/* 09A254 80099654 25C10007 */ addiu $at, $t6, 7
|
||||
/* 09A258 80099658 0001C0C3 */ sra $t8, $at, 3
|
||||
.L8009965C:
|
||||
/* 09A25C 8009965C 0018C8C0 */ sll $t9, $t8, 3
|
||||
/* 09A260 80099660 272F0008 */ addiu $t7, $t9, 8
|
||||
/* 09A264 80099664 AE4F0000 */ sw $t7, ($s2)
|
||||
/* 09A268 80099668 8E2A0018 */ lw $t2, 0x18($s1)
|
||||
.L8009966C:
|
||||
/* 09A26C 8009966C 26310014 */ addiu $s1, $s1, 0x14
|
||||
/* 09A270 80099670 5540FFC5 */ bnel $t2, $zero, .L80099588
|
||||
/* 09A274 80099674 8E630000 */ lw $v1, ($s3)
|
||||
.L80099678:
|
||||
/* 09A278 80099678 8FBF002C */ lw $ra, 0x2c($sp)
|
||||
/* 09A27C 8009967C 8FB00014 */ lw $s0, 0x14($sp)
|
||||
/* 09A280 80099680 8FB10018 */ lw $s1, 0x18($sp)
|
||||
/* 09A284 80099684 8FB2001C */ lw $s2, 0x1c($sp)
|
||||
/* 09A288 80099688 8FB30020 */ lw $s3, 0x20($sp)
|
||||
/* 09A28C 8009968C 8FB40024 */ lw $s4, 0x24($sp)
|
||||
/* 09A290 80099690 8FB50028 */ lw $s5, 0x28($sp)
|
||||
/* 09A294 80099694 03E00008 */ jr $ra
|
||||
/* 09A298 80099698 27BD0030 */ addiu $sp, $sp, 0x30
|
||||
@@ -1,189 +0,0 @@
|
||||
glabel load_menu_img2
|
||||
/* 09A2BC 800996BC 27BDFFC0 */ addiu $sp, $sp, -0x40
|
||||
/* 09A2C0 800996C0 AFBF003C */ sw $ra, 0x3c($sp)
|
||||
/* 09A2C4 800996C4 AFB20020 */ sw $s2, 0x20($sp)
|
||||
/* 09A2C8 800996C8 00A09025 */ move $s2, $a1
|
||||
/* 09A2CC 800996CC AFBE0038 */ sw $fp, 0x38($sp)
|
||||
/* 09A2D0 800996D0 AFB70034 */ sw $s7, 0x34($sp)
|
||||
/* 09A2D4 800996D4 AFB60030 */ sw $s6, 0x30($sp)
|
||||
/* 09A2D8 800996D8 AFB5002C */ sw $s5, 0x2c($sp)
|
||||
/* 09A2DC 800996DC AFB40028 */ sw $s4, 0x28($sp)
|
||||
/* 09A2E0 800996E0 AFB30024 */ sw $s3, 0x24($sp)
|
||||
/* 09A2E4 800996E4 AFB1001C */ sw $s1, 0x1c($sp)
|
||||
/* 09A2E8 800996E8 0C026449 */ jal segmented_to_virtual_dupe
|
||||
/* 09A2EC 800996EC AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* 09A2F0 800996F0 8C4E0004 */ lw $t6, 4($v0)
|
||||
/* 09A2F4 800996F4 00408025 */ move $s0, $v0
|
||||
/* 09A2F8 800996F8 241E0002 */ li $fp, 2
|
||||
/* 09A2FC 800996FC 11C0008A */ beqz $t6, .L80099928
|
||||
/* 09A300 80099700 2417FFFF */ li $s7, -1
|
||||
/* 09A304 80099704 3C158019 */ lui $s5, %hi(D_8018D9B4) # $s5, 0x8019
|
||||
/* 09A308 80099708 3C148019 */ lui $s4, %hi(gNumD_8018E118Entries) # $s4, 0x8019
|
||||
/* 09A30C 8009970C 3C138019 */ lui $s3, %hi(gMenuTextureBufferIndex) # $s3, 0x8019
|
||||
/* 09A310 80099710 3C118019 */ lui $s1, %hi(D_8018E118) # $s1, 0x8019
|
||||
/* 09A314 80099714 2631E118 */ addiu $s1, %lo(D_8018E118) # addiu $s1, $s1, -0x1ee8
|
||||
/* 09A318 80099718 2673E110 */ addiu $s3, %lo(gMenuTextureBufferIndex) # addiu $s3, $s3, -0x1ef0
|
||||
/* 09A31C 8009971C 2694E758 */ addiu $s4, %lo(gNumD_8018E118Entries) # addiu $s4, $s4, -0x18a8
|
||||
/* 09A320 80099720 26B5D9B4 */ addiu $s5, %lo(D_8018D9B4) # addiu $s5, $s5, -0x264c
|
||||
/* 09A324 80099724 24160001 */ li $s6, 1
|
||||
/* 09A328 80099728 8E830000 */ lw $v1, ($s4)
|
||||
.L8009972C:
|
||||
/* 09A32C 8009972C 00002825 */ move $a1, $zero
|
||||
/* 09A330 80099730 00001025 */ move $v0, $zero
|
||||
/* 09A334 80099734 1860000D */ blez $v1, .L8009976C
|
||||
/* 09A338 80099738 00000000 */ nop
|
||||
/* 09A33C 8009973C 8E040004 */ lw $a0, 4($s0)
|
||||
/* 09A340 80099740 000278C0 */ sll $t7, $v0, 3
|
||||
.L80099744:
|
||||
/* 09A344 80099744 022FC021 */ addu $t8, $s1, $t7
|
||||
/* 09A348 80099748 8F190000 */ lw $t9, ($t8)
|
||||
/* 09A34C 8009974C 24420001 */ addiu $v0, $v0, 1
|
||||
/* 09A350 80099750 0043082A */ slt $at, $v0, $v1
|
||||
/* 09A354 80099754 17240003 */ bne $t9, $a0, .L80099764
|
||||
/* 09A358 80099758 00000000 */ nop
|
||||
/* 09A35C 8009975C 10000003 */ b .L8009976C
|
||||
/* 09A360 80099760 02C02825 */ move $a1, $s6
|
||||
.L80099764:
|
||||
/* 09A364 80099764 5420FFF7 */ bnel $at, $zero, .L80099744
|
||||
/* 09A368 80099768 000278C0 */ sll $t7, $v0, 3
|
||||
.L8009976C:
|
||||
/* 09A36C 8009976C 50A00004 */ beql $a1, $zero, .L80099780
|
||||
/* 09A370 80099770 96020010 */ lhu $v0, 0x10($s0)
|
||||
/* 09A374 80099774 5A400069 */ blezl $s2, .L8009991C
|
||||
/* 09A378 80099778 8E0F0018 */ lw $t7, 0x18($s0)
|
||||
/* 09A37C 8009977C 96020010 */ lhu $v0, 0x10($s0)
|
||||
.L80099780:
|
||||
/* 09A380 80099780 24051000 */ li $a1, 4096
|
||||
/* 09A384 80099784 10400003 */ beqz $v0, .L80099794
|
||||
/* 09A388 80099788 00000000 */ nop
|
||||
/* 09A38C 8009978C 10000001 */ b .L80099794
|
||||
/* 09A390 80099790 3045FFFF */ andi $a1, $v0, 0xffff
|
||||
.L80099794:
|
||||
/* 09A394 80099794 00A01025 */ move $v0, $a1
|
||||
/* 09A398 80099798 04410004 */ bgez $v0, .L800997AC
|
||||
/* 09A39C 8009979C 30480007 */ andi $t0, $v0, 7
|
||||
/* 09A3A0 800997A0 11000002 */ beqz $t0, .L800997AC
|
||||
/* 09A3A4 800997A4 00000000 */ nop
|
||||
/* 09A3A8 800997A8 2508FFF8 */ addiu $t0, $t0, -8
|
||||
.L800997AC:
|
||||
/* 09A3AC 800997AC 11000009 */ beqz $t0, .L800997D4
|
||||
/* 09A3B0 800997B0 00000000 */ nop
|
||||
/* 09A3B4 800997B4 04410003 */ bgez $v0, .L800997C4
|
||||
/* 09A3B8 800997B8 000228C3 */ sra $a1, $v0, 3
|
||||
/* 09A3BC 800997BC 24410007 */ addiu $at, $v0, 7
|
||||
/* 09A3C0 800997C0 000128C3 */ sra $a1, $at, 3
|
||||
.L800997C4:
|
||||
/* 09A3C4 800997C4 000548C0 */ sll $t1, $a1, 3
|
||||
/* 09A3C8 800997C8 25250008 */ addiu $a1, $t1, 8
|
||||
/* 09A3CC 800997CC 30AAFFFF */ andi $t2, $a1, 0xffff
|
||||
/* 09A3D0 800997D0 01402825 */ move $a1, $t2
|
||||
.L800997D4:
|
||||
/* 09A3D4 800997D4 5257000A */ beql $s2, $s7, .L80099800
|
||||
/* 09A3D8 800997D8 8E040004 */ lw $a0, 4($s0)
|
||||
/* 09A3DC 800997DC 5240000D */ beql $s2, $zero, .L80099814
|
||||
/* 09A3E0 800997E0 8E040004 */ lw $a0, 4($s0)
|
||||
/* 09A3E4 800997E4 52560006 */ beql $s2, $s6, .L80099800
|
||||
/* 09A3E8 800997E8 8E040004 */ lw $a0, 4($s0)
|
||||
/* 09A3EC 800997EC 525E0009 */ beql $s2, $fp, .L80099814
|
||||
/* 09A3F0 800997F0 8E040004 */ lw $a0, 4($s0)
|
||||
/* 09A3F4 800997F4 10000009 */ b .L8009981C
|
||||
/* 09A3F8 800997F8 00000000 */ nop
|
||||
/* 09A3FC 800997FC 8E040004 */ lw $a0, 4($s0)
|
||||
.L80099800:
|
||||
/* 09A400 80099800 0C026400 */ jal dma_copy_base_729a30
|
||||
/* 09A404 80099804 8EA60000 */ lw $a2, ($s5)
|
||||
/* 09A408 80099808 10000004 */ b .L8009981C
|
||||
/* 09A40C 8009980C 00000000 */ nop
|
||||
/* 09A410 80099810 8E040004 */ lw $a0, 4($s0)
|
||||
.L80099814:
|
||||
/* 09A414 80099814 0C026422 */ jal dma_copy_base_7fa3c0
|
||||
/* 09A418 80099818 8EA60000 */ lw $a2, ($s5)
|
||||
.L8009981C:
|
||||
/* 09A41C 8009981C 1257000A */ beq $s2, $s7, .L80099848
|
||||
/* 09A420 80099820 3C0D8019 */ lui $t5, %hi(D_8018D9B0) # $t5, 0x8019
|
||||
/* 09A424 80099824 12400011 */ beqz $s2, .L8009986C
|
||||
/* 09A428 80099828 3C058019 */ lui $a1, %hi(D_8018D9B8) # 0x8019
|
||||
/* 09A42C 8009982C 52560007 */ beql $s2, $s6, .L8009984C
|
||||
/* 09A430 80099830 8E6B0000 */ lw $t3, ($s3)
|
||||
/* 09A434 80099834 525E000E */ beql $s2, $fp, .L80099870
|
||||
/* 09A438 80099838 860E0000 */ lh $t6, ($s0)
|
||||
/* 09A43C 8009983C 8E830000 */ lw $v1, ($s4)
|
||||
/* 09A440 80099840 1000001B */ b .L800998B0
|
||||
/* 09A444 80099844 8E040004 */ lw $a0, 4($s0)
|
||||
.L80099848:
|
||||
/* 09A448 80099848 8E6B0000 */ lw $t3, ($s3)
|
||||
.L8009984C:
|
||||
/* 09A44C 8009984C 8DADD9B0 */ lw $t5, %lo(D_8018D9B0)($t5)
|
||||
/* 09A450 80099850 8EA40000 */ lw $a0, ($s5)
|
||||
/* 09A454 80099854 000B6040 */ sll $t4, $t3, 1
|
||||
/* 09A458 80099858 0C010034 */ jal mio0decode
|
||||
/* 09A45C 8009985C 018D2821 */ addu $a1, $t4, $t5
|
||||
/* 09A460 80099860 8E830000 */ lw $v1, ($s4)
|
||||
/* 09A464 80099864 10000012 */ b .L800998B0
|
||||
/* 09A468 80099868 8E040004 */ lw $a0, 4($s0)
|
||||
.L8009986C:
|
||||
/* 09A46C 8009986C 860E0000 */ lh $t6, ($s0)
|
||||
.L80099870:
|
||||
/* 09A470 80099870 24020001 */ li $v0, 1
|
||||
/* 09A474 80099874 3C198019 */ lui $t9, %hi(D_8018D9B0) # $t9, 0x8019
|
||||
/* 09A478 80099878 16CE0003 */ bne $s6, $t6, .L80099888
|
||||
/* 09A47C 8009987C 00000000 */ nop
|
||||
/* 09A480 80099880 10000001 */ b .L80099888
|
||||
/* 09A484 80099884 240200BE */ li $v0, 190
|
||||
.L80099888:
|
||||
/* 09A488 80099888 8E6F0000 */ lw $t7, ($s3)
|
||||
/* 09A48C 8009988C 8F39D9B0 */ lw $t9, %lo(D_8018D9B0)($t9)
|
||||
/* 09A490 80099890 8EA40000 */ lw $a0, ($s5)
|
||||
/* 09A494 80099894 000FC040 */ sll $t8, $t7, 1
|
||||
/* 09A498 80099898 8CA5D9B8 */ lw $a1, %lo(D_8018D9B8)($a1) # -0x2648($a1)
|
||||
/* 09A49C 8009989C 00403825 */ move $a3, $v0
|
||||
/* 09A4A0 800998A0 0C010174 */ jal tkmk00decode
|
||||
/* 09A4A4 800998A4 03193021 */ addu $a2, $t8, $t9
|
||||
/* 09A4A8 800998A8 8E830000 */ lw $v1, ($s4)
|
||||
/* 09A4AC 800998AC 8E040004 */ lw $a0, 4($s0)
|
||||
.L800998B0:
|
||||
/* 09A4B0 800998B0 000340C0 */ sll $t0, $v1, 3
|
||||
/* 09A4B4 800998B4 02284821 */ addu $t1, $s1, $t0
|
||||
/* 09A4B8 800998B8 AD240000 */ sw $a0, ($t1)
|
||||
/* 09A4BC 800998BC 8E8B0000 */ lw $t3, ($s4)
|
||||
/* 09A4C0 800998C0 8E6A0000 */ lw $t2, ($s3)
|
||||
/* 09A4C4 800998C4 000B60C0 */ sll $t4, $t3, 3
|
||||
/* 09A4C8 800998C8 022C6821 */ addu $t5, $s1, $t4
|
||||
/* 09A4CC 800998CC ADAA0004 */ sw $t2, 4($t5)
|
||||
/* 09A4D0 800998D0 960F0008 */ lhu $t7, 8($s0)
|
||||
/* 09A4D4 800998D4 960E000A */ lhu $t6, 0xa($s0)
|
||||
/* 09A4D8 800998D8 8E790000 */ lw $t9, ($s3)
|
||||
/* 09A4DC 800998DC 8E8D0000 */ lw $t5, ($s4)
|
||||
/* 09A4E0 800998E0 01CF0019 */ multu $t6, $t7
|
||||
/* 09A4E4 800998E4 25AE0001 */ addiu $t6, $t5, 1
|
||||
/* 09A4E8 800998E8 AE8E0000 */ sw $t6, ($s4)
|
||||
/* 09A4EC 800998EC 0000C012 */ mflo $t8
|
||||
/* 09A4F0 800998F0 03384021 */ addu $t0, $t9, $t8
|
||||
/* 09A4F4 800998F4 01004825 */ move $t1, $t0
|
||||
/* 09A4F8 800998F8 AE680000 */ sw $t0, ($s3)
|
||||
/* 09A4FC 800998FC 05210003 */ bgez $t1, .L8009990C
|
||||
/* 09A500 80099900 000958C3 */ sra $t3, $t1, 3
|
||||
/* 09A504 80099904 25210007 */ addiu $at, $t1, 7
|
||||
/* 09A508 80099908 000158C3 */ sra $t3, $at, 3
|
||||
.L8009990C:
|
||||
/* 09A50C 8009990C 000B60C0 */ sll $t4, $t3, 3
|
||||
/* 09A510 80099910 258A0008 */ addiu $t2, $t4, 8
|
||||
/* 09A514 80099914 AE6A0000 */ sw $t2, ($s3)
|
||||
/* 09A518 80099918 8E0F0018 */ lw $t7, 0x18($s0)
|
||||
.L8009991C:
|
||||
/* 09A51C 8009991C 26100014 */ addiu $s0, $s0, 0x14
|
||||
/* 09A520 80099920 55E0FF82 */ bnel $t7, $zero, .L8009972C
|
||||
/* 09A524 80099924 8E830000 */ lw $v1, ($s4)
|
||||
.L80099928:
|
||||
/* 09A528 80099928 8FBF003C */ lw $ra, 0x3c($sp)
|
||||
/* 09A52C 8009992C 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* 09A530 80099930 8FB1001C */ lw $s1, 0x1c($sp)
|
||||
/* 09A534 80099934 8FB20020 */ lw $s2, 0x20($sp)
|
||||
/* 09A538 80099938 8FB30024 */ lw $s3, 0x24($sp)
|
||||
/* 09A53C 8009993C 8FB40028 */ lw $s4, 0x28($sp)
|
||||
/* 09A540 80099940 8FB5002C */ lw $s5, 0x2c($sp)
|
||||
/* 09A544 80099944 8FB60030 */ lw $s6, 0x30($sp)
|
||||
/* 09A548 80099948 8FB70034 */ lw $s7, 0x34($sp)
|
||||
/* 09A54C 8009994C 8FBE0038 */ lw $fp, 0x38($sp)
|
||||
/* 09A550 80099950 03E00008 */ jr $ra
|
||||
/* 09A554 80099954 27BD0040 */ addiu $sp, $sp, 0x40
|
||||
@@ -1,64 +0,0 @@
|
||||
glabel func_800A09E0
|
||||
/* 0A15E0 800A09E0 27BDFFC8 */ addiu $sp, $sp, -0x38
|
||||
/* 0A15E4 800A09E4 AFB10018 */ sw $s1, 0x18($sp)
|
||||
/* 0A15E8 800A09E8 3C118015 */ lui $s1, %hi(gDisplayListHead) # $s1, 0x8015
|
||||
/* 0A15EC 800A09EC 26310298 */ addiu $s1, %lo(gDisplayListHead) # addiu $s1, $s1, 0x298
|
||||
/* 0A15F0 800A09F0 8E230000 */ lw $v1, ($s1)
|
||||
/* 0A15F4 800A09F4 AFB70030 */ sw $s7, 0x30($sp)
|
||||
/* 0A15F8 800A09F8 AFB6002C */ sw $s6, 0x2c($sp)
|
||||
/* 0A15FC 800A09FC AFB50028 */ sw $s5, 0x28($sp)
|
||||
/* 0A1600 800A0A00 AFB40024 */ sw $s4, 0x24($sp)
|
||||
/* 0A1604 800A0A04 AFB30020 */ sw $s3, 0x20($sp)
|
||||
/* 0A1608 800A0A08 AFB2001C */ sw $s2, 0x1c($sp)
|
||||
/* 0A160C 800A0A0C AFB00014 */ sw $s0, 0x14($sp)
|
||||
/* 0A1610 800A0A10 246E0008 */ addiu $t6, $v1, 8
|
||||
/* 0A1614 800A0A14 AFBF0034 */ sw $ra, 0x34($sp)
|
||||
/* 0A1618 800A0A18 AE2E0000 */ sw $t6, ($s1)
|
||||
/* 0A161C 800A0A1C 3C18004F */ lui $t8, (0x004FC308 >> 16) # lui $t8, 0x4f
|
||||
/* 0A1620 800A0A20 3718C308 */ ori $t8, (0x004FC308 & 0xFFFF) # ori $t8, $t8, 0xc308
|
||||
/* 0A1624 800A0A24 3C0FED00 */ lui $t7, 0xed00
|
||||
/* 0A1628 800A0A28 3C13800F */ lui $s3, %hi(D_800E86D0) # $s3, 0x800f
|
||||
/* 0A162C 800A0A2C 3C160200 */ lui $s6, %hi(D_0200157C) # $s6, 0x200
|
||||
/* 0A1630 800A0A30 00809025 */ move $s2, $a0
|
||||
/* 0A1634 800A0A34 26D6157C */ addiu $s6, %lo(D_0200157C) # addiu $s6, $s6, 0x157c
|
||||
/* 0A1638 800A0A38 267386D0 */ addiu $s3, %lo(D_800E86D0) # addiu $s3, $s3, -0x7930
|
||||
/* 0A163C 800A0A3C 00008025 */ move $s0, $zero
|
||||
/* 0A1640 800A0A40 24140008 */ li $s4, 8
|
||||
/* 0A1644 800A0A44 24150009 */ li $s5, 9
|
||||
/* 0A1648 800A0A48 2417000A */ li $s7, 10
|
||||
/* 0A164C 800A0A4C AC6F0000 */ sw $t7, ($v1)
|
||||
/* 0A1650 800A0A50 AC780004 */ sw $t8, 4($v1)
|
||||
/* 0A1654 800A0A54 82790000 */ lb $t9, ($s3)
|
||||
.L800A0A58:
|
||||
/* 0A1658 800A0A58 17200005 */ bnez $t9, .L800A0A70
|
||||
/* 0A165C 800A0A5C 00000000 */ nop
|
||||
/* 0A1660 800A0A60 5200000E */ beql $s0, $zero, .L800A0A9C
|
||||
/* 0A1664 800A0A64 26100001 */ addiu $s0, $s0, 1
|
||||
/* 0A1668 800A0A68 5214000C */ beql $s0, $s4, .L800A0A9C
|
||||
/* 0A166C 800A0A6C 26100001 */ addiu $s0, $s0, 1
|
||||
.L800A0A70:
|
||||
/* 0A1670 800A0A70 02170019 */ multu $s0, $s7
|
||||
/* 0A1674 800A0A74 8E490010 */ lw $t1, 0x10($s2)
|
||||
/* 0A1678 800A0A78 8E240000 */ lw $a0, ($s1)
|
||||
/* 0A167C 800A0A7C 02C02825 */ move $a1, $s6
|
||||
/* 0A1680 800A0A80 24060020 */ li $a2, 32
|
||||
/* 0A1684 800A0A84 00004012 */ mflo $t0
|
||||
/* 0A1688 800A0A88 01093821 */ addu $a3, $t0, $t1
|
||||
/* 0A168C 800A0A8C 0C026E9D */ jal func_8009BA74
|
||||
/* 0A1690 800A0A90 00000000 */ nop
|
||||
/* 0A1694 800A0A94 AE220000 */ sw $v0, ($s1)
|
||||
/* 0A1698 800A0A98 26100001 */ addiu $s0, $s0, 1
|
||||
.L800A0A9C:
|
||||
/* 0A169C 800A0A9C 5615FFEE */ bnel $s0, $s5, .L800A0A58
|
||||
/* 0A16A0 800A0AA0 82790000 */ lb $t9, ($s3)
|
||||
/* 0A16A4 800A0AA4 8FBF0034 */ lw $ra, 0x34($sp)
|
||||
/* 0A16A8 800A0AA8 8FB00014 */ lw $s0, 0x14($sp)
|
||||
/* 0A16AC 800A0AAC 8FB10018 */ lw $s1, 0x18($sp)
|
||||
/* 0A16B0 800A0AB0 8FB2001C */ lw $s2, 0x1c($sp)
|
||||
/* 0A16B4 800A0AB4 8FB30020 */ lw $s3, 0x20($sp)
|
||||
/* 0A16B8 800A0AB8 8FB40024 */ lw $s4, 0x24($sp)
|
||||
/* 0A16BC 800A0ABC 8FB50028 */ lw $s5, 0x28($sp)
|
||||
/* 0A16C0 800A0AC0 8FB6002C */ lw $s6, 0x2c($sp)
|
||||
/* 0A16C4 800A0AC4 8FB70030 */ lw $s7, 0x30($sp)
|
||||
/* 0A16C8 800A0AC8 03E00008 */ jr $ra
|
||||
/* 0A16CC 800A0ACC 27BD0038 */ addiu $sp, $sp, 0x38
|
||||
@@ -1,367 +0,0 @@
|
||||
.section .late_rodata
|
||||
|
||||
glabel jpt_800F2688
|
||||
.word L800AC488, L800AC4EC, L800AC580, L800AC5D0
|
||||
.word L800AC5D0, L800AC5D0, L800AC5D0, L800AC738
|
||||
.word L800AC78C, L800AC7CC, L800AC878, L800AC8A0
|
||||
.word L800AC8E0, L800AC968
|
||||
|
||||
.section .text
|
||||
|
||||
glabel func_800AC458
|
||||
/* 0AD058 800AC458 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* 0AD05C 800AC45C AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 0AD060 800AC460 8C820004 */ lw $v0, 4($a0)
|
||||
/* 0AD064 800AC464 00803825 */ move $a3, $a0
|
||||
/* 0AD068 800AC468 2C41000E */ sltiu $at, $v0, 0xe
|
||||
/* 0AD06C 800AC46C 1020013E */ beqz $at, .L800AC968
|
||||
/* 0AD070 800AC470 00027080 */ sll $t6, $v0, 2
|
||||
/* 0AD074 800AC474 3C01800F */ lui $at, %hi(jpt_800F2688)
|
||||
/* 0AD078 800AC478 002E0821 */ addu $at, $at, $t6
|
||||
/* 0AD07C 800AC47C 8C2E2688 */ lw $t6, %lo(jpt_800F2688)($at)
|
||||
/* 0AD080 800AC480 01C00008 */ jr $t6
|
||||
/* 0AD084 800AC484 00000000 */ nop
|
||||
glabel L800AC488
|
||||
/* 0AD088 800AC488 240FFF60 */ li $t7, -160
|
||||
/* 0AD08C 800AC48C 24180001 */ li $t8, 1
|
||||
/* 0AD090 800AC490 ACEF000C */ sw $t7, 0xc($a3)
|
||||
/* 0AD094 800AC494 ACF80004 */ sw $t8, 4($a3)
|
||||
/* 0AD098 800AC498 3C028019 */ lui $v0, %hi(D_8018D9BC) # $v0, 0x8019
|
||||
/* 0AD09C 800AC49C 2442D9BC */ addiu $v0, %lo(D_8018D9BC) # addiu $v0, $v0, -0x2644
|
||||
/* 0AD0A0 800AC4A0 3C19800F */ lui $t9, %hi(gGPPointRewards) # $t9, 0x800f
|
||||
/* 0AD0A4 800AC4A4 83390B18 */ lb $t9, %lo(gGPPointRewards)($t9)
|
||||
/* 0AD0A8 800AC4A8 8C4A0000 */ lw $t2, ($v0)
|
||||
/* 0AD0AC 800AC4AC 3C0B800F */ lui $t3, %hi(gGPPointRewards + 1) # $t3, 0x800f
|
||||
/* 0AD0B0 800AC4B0 3C0D800F */ lui $t5, %hi(gGPPointRewards + 2) # $t5, 0x800f
|
||||
/* 0AD0B4 800AC4B4 A1590000 */ sb $t9, ($t2)
|
||||
/* 0AD0B8 800AC4B8 8C4C0000 */ lw $t4, ($v0)
|
||||
/* 0AD0BC 800AC4BC 816B0B19 */ lb $t3, %lo(gGPPointRewards + 1)($t3)
|
||||
/* 0AD0C0 800AC4C0 3C0F800F */ lui $t7, %hi(gGPPointRewards + 3) # $t7, 0x800f
|
||||
/* 0AD0C4 800AC4C4 A18B0001 */ sb $t3, 1($t4)
|
||||
/* 0AD0C8 800AC4C8 8C4E0000 */ lw $t6, ($v0)
|
||||
/* 0AD0CC 800AC4CC 81AD0B1A */ lb $t5, %lo(gGPPointRewards + 2)($t5)
|
||||
/* 0AD0D0 800AC4D0 A1CD0002 */ sb $t5, 2($t6)
|
||||
/* 0AD0D4 800AC4D4 8C580000 */ lw $t8, ($v0)
|
||||
/* 0AD0D8 800AC4D8 81EF0B1B */ lb $t7, %lo(gGPPointRewards + 3)($t7)
|
||||
/* 0AD0DC 800AC4DC A30F0003 */ sb $t7, 3($t8)
|
||||
/* 0AD0E0 800AC4E0 8CF9000C */ lw $t9, 0xc($a3)
|
||||
/* 0AD0E4 800AC4E4 10000120 */ b .L800AC968
|
||||
/* 0AD0E8 800AC4E8 ACF90020 */ sw $t9, 0x20($a3)
|
||||
glabel L800AC4EC
|
||||
/* 0AD0EC 800AC4EC 8CE50020 */ lw $a1, 0x20($a3)
|
||||
/* 0AD0F0 800AC4F0 3C0A8019 */ lui $t2, %hi(D_8018D9D8) # $t2, 0x8019
|
||||
/* 0AD0F4 800AC4F4 24040010 */ li $a0, 16
|
||||
/* 0AD0F8 800AC4F8 ACE5000C */ sw $a1, 0xc($a3)
|
||||
/* 0AD0FC 800AC4FC 814AD9D8 */ lb $t2, %lo(D_8018D9D8)($t2)
|
||||
/* 0AD100 800AC500 3C02800E */ lui $v0, %hi(D_800DC5EC) # $v0, 0x800e
|
||||
/* 0AD104 800AC504 240F0002 */ li $t7, 2
|
||||
/* 0AD108 800AC508 11400003 */ beqz $t2, .L800AC518
|
||||
/* 0AD10C 800AC50C 3C19800E */ lui $t9, %hi(D_800DC5EC) # $t9, 0x800e
|
||||
/* 0AD110 800AC510 10000001 */ b .L800AC518
|
||||
/* 0AD114 800AC514 24040020 */ li $a0, 32
|
||||
.L800AC518:
|
||||
/* 0AD118 800AC518 00A43021 */ addu $a2, $a1, $a0
|
||||
/* 0AD11C 800AC51C 04C3000D */ bgezl $a2, .L800AC554
|
||||
/* 0AD120 800AC520 ACE00020 */ sw $zero, 0x20($a3)
|
||||
/* 0AD124 800AC524 ACE60020 */ sw $a2, 0x20($a3)
|
||||
/* 0AD128 800AC528 8C42C5EC */ lw $v0, %lo(D_800DC5EC)($v0)
|
||||
/* 0AD12C 800AC52C 3C03800E */ lui $v1, %hi(D_800DC5F0) # $v1, 0x800e
|
||||
/* 0AD130 800AC530 844B0030 */ lh $t3, 0x30($v0)
|
||||
/* 0AD134 800AC534 01646021 */ addu $t4, $t3, $a0
|
||||
/* 0AD138 800AC538 A44C0030 */ sh $t4, 0x30($v0)
|
||||
/* 0AD13C 800AC53C 8C63C5F0 */ lw $v1, %lo(D_800DC5F0)($v1)
|
||||
/* 0AD140 800AC540 846D0030 */ lh $t5, 0x30($v1)
|
||||
/* 0AD144 800AC544 01A47023 */ subu $t6, $t5, $a0
|
||||
/* 0AD148 800AC548 10000107 */ b .L800AC968
|
||||
/* 0AD14C 800AC54C A46E0030 */ sh $t6, 0x30($v1)
|
||||
/* 0AD150 800AC550 ACE00020 */ sw $zero, 0x20($a3)
|
||||
.L800AC554:
|
||||
/* 0AD154 800AC554 ACE0000C */ sw $zero, 0xc($a3)
|
||||
/* 0AD158 800AC558 ACEF0004 */ sw $t7, 4($a3)
|
||||
/* 0AD15C 800AC55C ACE0001C */ sw $zero, 0x1c($a3)
|
||||
/* 0AD160 800AC560 8F39C5EC */ lw $t9, %lo(D_800DC5EC)($t9)
|
||||
/* 0AD164 800AC564 241800F0 */ li $t8, 240
|
||||
/* 0AD168 800AC568 3C0B800E */ lui $t3, %hi(D_800DC5F0) # $t3, 0x800e
|
||||
/* 0AD16C 800AC56C A7380030 */ sh $t8, 0x30($t9)
|
||||
/* 0AD170 800AC570 8D6BC5F0 */ lw $t3, %lo(D_800DC5F0)($t3)
|
||||
/* 0AD174 800AC574 240A0050 */ li $t2, 80
|
||||
/* 0AD178 800AC578 100000FB */ b .L800AC968
|
||||
/* 0AD17C 800AC57C A56A0030 */ sh $t2, 0x30($t3)
|
||||
glabel L800AC580
|
||||
/* 0AD180 800AC580 8CEC001C */ lw $t4, 0x1c($a3)
|
||||
/* 0AD184 800AC584 ACE0000C */ sw $zero, 0xc($a3)
|
||||
/* 0AD188 800AC588 3C0E8019 */ lui $t6, %hi(D_8018D9D8) # $t6, 0x8019
|
||||
/* 0AD18C 800AC58C 258D0001 */ addiu $t5, $t4, 1
|
||||
/* 0AD190 800AC590 ACED001C */ sw $t5, 0x1c($a3)
|
||||
/* 0AD194 800AC594 81CED9D8 */ lb $t6, %lo(D_8018D9D8)($t6)
|
||||
/* 0AD198 800AC598 29A1001F */ slti $at, $t5, 0x1f
|
||||
/* 0AD19C 800AC59C 3C18800E */ lui $t8, %hi(D_800DDB24) # $t8, 0x800e
|
||||
/* 0AD1A0 800AC5A0 15C00003 */ bnez $t6, .L800AC5B0
|
||||
/* 0AD1A4 800AC5A4 00000000 */ nop
|
||||
/* 0AD1A8 800AC5A8 542000F0 */ bnel $at, $zero, .L800AC96C
|
||||
/* 0AD1AC 800AC5AC 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
.L800AC5B0:
|
||||
/* 0AD1B0 800AC5B0 8F18DB24 */ lw $t8, %lo(D_800DDB24)($t8)
|
||||
/* 0AD1B4 800AC5B4 24190003 */ li $t9, 3
|
||||
/* 0AD1B8 800AC5B8 530000EC */ beql $t8, $zero, .L800AC96C
|
||||
/* 0AD1BC 800AC5BC 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 0AD1C0 800AC5C0 ACF90004 */ sw $t9, 4($a3)
|
||||
/* 0AD1C4 800AC5C4 ACE0001C */ sw $zero, 0x1c($a3)
|
||||
/* 0AD1C8 800AC5C8 100000E7 */ b .L800AC968
|
||||
/* 0AD1CC 800AC5CC ACE00020 */ sw $zero, 0x20($a3)
|
||||
glabel L800AC5D0
|
||||
/* 0AD1D0 800AC5D0 8CEA001C */ lw $t2, 0x1c($a3)
|
||||
/* 0AD1D4 800AC5D4 24010003 */ li $at, 3
|
||||
/* 0AD1D8 800AC5D8 00004825 */ move $t1, $zero
|
||||
/* 0AD1DC 800AC5DC 254B0001 */ addiu $t3, $t2, 1
|
||||
/* 0AD1E0 800AC5E0 0161001A */ div $zero, $t3, $at
|
||||
/* 0AD1E4 800AC5E4 00006810 */ mfhi $t5
|
||||
/* 0AD1E8 800AC5E8 2445FFFD */ addiu $a1, $v0, -3
|
||||
/* 0AD1EC 800AC5EC 11A00004 */ beqz $t5, .L800AC600
|
||||
/* 0AD1F0 800AC5F0 ACEB001C */ sw $t3, 0x1c($a3)
|
||||
/* 0AD1F4 800AC5F4 3C0E8019 */ lui $t6, %hi(D_8018D9D8) # $t6, 0x8019
|
||||
/* 0AD1F8 800AC5F8 81CED9D8 */ lb $t6, %lo(D_8018D9D8)($t6)
|
||||
/* 0AD1FC 800AC5FC 11C00032 */ beqz $t6, .L800AC6C8
|
||||
.L800AC600:
|
||||
/* 0AD200 800AC600 3C028019 */ lui $v0, %hi(D_8018D9BC) # $v0, 0x8019
|
||||
/* 0AD204 800AC604 2442D9BC */ addiu $v0, %lo(D_8018D9BC) # addiu $v0, $v0, -0x2644
|
||||
/* 0AD208 800AC608 8C4F0000 */ lw $t7, ($v0)
|
||||
/* 0AD20C 800AC60C 0005C840 */ sll $t9, $a1, 1
|
||||
/* 0AD210 800AC610 3C0A8016 */ lui $t2, %hi(gGPCurrentRacePlayerIdByRank) # 0x8016
|
||||
/* 0AD214 800AC614 01E53021 */ addu $a2, $t7, $a1
|
||||
/* 0AD218 800AC618 90C80000 */ lbu $t0, ($a2)
|
||||
/* 0AD21C 800AC61C 01595021 */ addu $t2, $t2, $t9
|
||||
/* 0AD220 800AC620 3C0C800F */ lui $t4, %hi(gPlayers+0x254) # 0x800f
|
||||
/* 0AD224 800AC624 19000028 */ blez $t0, .L800AC6C8
|
||||
/* 0AD228 800AC628 2518FFFF */ addiu $t8, $t0, -1
|
||||
/* 0AD22C 800AC62C A0D80000 */ sb $t8, ($a2)
|
||||
/* 0AD230 800AC630 854A4360 */ lh $t2, %lo(gGPCurrentRacePlayerIdByRank)($t2) # 0x4360($t2)
|
||||
/* 0AD234 800AC634 3C0D8019 */ lui $t5, %hi(gGPPointsByCharacterId) # $t5, 0x8019
|
||||
/* 0AD238 800AC638 25ADD9C8 */ addiu $t5, %lo(gGPPointsByCharacterId) # addiu $t5, $t5, -0x2638
|
||||
/* 0AD23C 800AC63C 000A58C0 */ sll $t3, $t2, 3
|
||||
/* 0AD240 800AC640 016A5823 */ subu $t3, $t3, $t2
|
||||
/* 0AD244 800AC644 000B5900 */ sll $t3, $t3, 4
|
||||
/* 0AD248 800AC648 016A5823 */ subu $t3, $t3, $t2
|
||||
/* 0AD24C 800AC64C 000B5880 */ sll $t3, $t3, 2
|
||||
/* 0AD250 800AC650 016A5823 */ subu $t3, $t3, $t2
|
||||
/* 0AD254 800AC654 000B58C0 */ sll $t3, $t3, 3
|
||||
/* 0AD258 800AC658 018B6021 */ addu $t4, $t4, $t3
|
||||
/* 0AD25C 800AC65C 958C6BE4 */ lhu $t4, %lo(gPlayers+0x254)($t4) # 0x6be4($t4)
|
||||
/* 0AD260 800AC660 3C044900 */ lui $a0, (0x49008017 >> 16) # lui $a0, 0x4900
|
||||
/* 0AD264 800AC664 34848017 */ ori $a0, (0x49008017 & 0xFFFF) # ori $a0, $a0, 0x8017
|
||||
/* 0AD268 800AC668 018D1821 */ addu $v1, $t4, $t5
|
||||
/* 0AD26C 800AC66C 806E0000 */ lb $t6, ($v1)
|
||||
/* 0AD270 800AC670 AFA90018 */ sw $t1, 0x18($sp)
|
||||
/* 0AD274 800AC674 AFA70020 */ sw $a3, 0x20($sp)
|
||||
/* 0AD278 800AC678 25CF0001 */ addiu $t7, $t6, 1
|
||||
/* 0AD27C 800AC67C A06F0000 */ sb $t7, ($v1)
|
||||
/* 0AD280 800AC680 0C032384 */ jal play_sound2
|
||||
/* 0AD284 800AC684 AFA5001C */ sw $a1, 0x1c($sp)
|
||||
/* 0AD288 800AC688 3C028019 */ lui $v0, %hi(D_8018D9BC) # $v0, 0x8019
|
||||
/* 0AD28C 800AC68C 2442D9BC */ addiu $v0, %lo(D_8018D9BC) # addiu $v0, $v0, -0x2644
|
||||
/* 0AD290 800AC690 8FA5001C */ lw $a1, 0x1c($sp)
|
||||
/* 0AD294 800AC694 8C580000 */ lw $t8, ($v0)
|
||||
/* 0AD298 800AC698 8FA70020 */ lw $a3, 0x20($sp)
|
||||
/* 0AD29C 800AC69C 8FA90018 */ lw $t1, 0x18($sp)
|
||||
/* 0AD2A0 800AC6A0 0305C821 */ addu $t9, $t8, $a1
|
||||
/* 0AD2A4 800AC6A4 932A0000 */ lbu $t2, ($t9)
|
||||
/* 0AD2A8 800AC6A8 55400008 */ bnel $t2, $zero, .L800AC6CC
|
||||
/* 0AD2AC 800AC6AC 8CED0020 */ lw $t5, 0x20($a3)
|
||||
/* 0AD2B0 800AC6B0 8CEB0020 */ lw $t3, 0x20($a3)
|
||||
/* 0AD2B4 800AC6B4 240C0001 */ li $t4, 1
|
||||
/* 0AD2B8 800AC6B8 55600004 */ bnel $t3, $zero, .L800AC6CC
|
||||
/* 0AD2BC 800AC6BC 8CED0020 */ lw $t5, 0x20($a3)
|
||||
/* 0AD2C0 800AC6C0 ACEC0020 */ sw $t4, 0x20($a3)
|
||||
/* 0AD2C4 800AC6C4 ACE0001C */ sw $zero, 0x1c($a3)
|
||||
.L800AC6C8:
|
||||
/* 0AD2C8 800AC6C8 8CED0020 */ lw $t5, 0x20($a3)
|
||||
.L800AC6CC:
|
||||
/* 0AD2CC 800AC6CC 11A0000D */ beqz $t5, .L800AC704
|
||||
/* 0AD2D0 800AC6D0 00000000 */ nop
|
||||
/* 0AD2D4 800AC6D4 8CE2001C */ lw $v0, 0x1c($a3)
|
||||
/* 0AD2D8 800AC6D8 3C0E8019 */ lui $t6, %hi(D_8018D9D8) # $t6, 0x8019
|
||||
/* 0AD2DC 800AC6DC 2841000B */ slti $at, $v0, 0xb
|
||||
/* 0AD2E0 800AC6E0 50200008 */ beql $at, $zero, .L800AC704
|
||||
/* 0AD2E4 800AC6E4 24090001 */ li $t1, 1
|
||||
/* 0AD2E8 800AC6E8 81CED9D8 */ lb $t6, %lo(D_8018D9D8)($t6)
|
||||
/* 0AD2EC 800AC6EC 28410004 */ slti $at, $v0, 4
|
||||
/* 0AD2F0 800AC6F0 11C00004 */ beqz $t6, .L800AC704
|
||||
/* 0AD2F4 800AC6F4 00000000 */ nop
|
||||
/* 0AD2F8 800AC6F8 14200002 */ bnez $at, .L800AC704
|
||||
/* 0AD2FC 800AC6FC 00000000 */ nop
|
||||
/* 0AD300 800AC700 24090001 */ li $t1, 1
|
||||
.L800AC704:
|
||||
/* 0AD304 800AC704 51200099 */ beql $t1, $zero, .L800AC96C
|
||||
/* 0AD308 800AC708 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 0AD30C 800AC70C 8CE20004 */ lw $v0, 4($a3)
|
||||
/* 0AD310 800AC710 ACE00020 */ sw $zero, 0x20($a3)
|
||||
/* 0AD314 800AC714 ACE0001C */ sw $zero, 0x1c($a3)
|
||||
/* 0AD318 800AC718 28410006 */ slti $at, $v0, 6
|
||||
/* 0AD31C 800AC71C 10200004 */ beqz $at, .L800AC730
|
||||
/* 0AD320 800AC720 24180007 */ li $t8, 7
|
||||
/* 0AD324 800AC724 244F0001 */ addiu $t7, $v0, 1
|
||||
/* 0AD328 800AC728 1000008F */ b .L800AC968
|
||||
/* 0AD32C 800AC72C ACEF0004 */ sw $t7, 4($a3)
|
||||
.L800AC730:
|
||||
/* 0AD330 800AC730 1000008D */ b .L800AC968
|
||||
/* 0AD334 800AC734 ACF80004 */ sw $t8, 4($a3)
|
||||
glabel L800AC738
|
||||
/* 0AD338 800AC738 8CF9001C */ lw $t9, 0x1c($a3)
|
||||
/* 0AD33C 800AC73C 3C0B8019 */ lui $t3, %hi(D_8018D9D8) # $t3, 0x8019
|
||||
/* 0AD340 800AC740 272A0001 */ addiu $t2, $t9, 1
|
||||
/* 0AD344 800AC744 ACEA001C */ sw $t2, 0x1c($a3)
|
||||
/* 0AD348 800AC748 816BD9D8 */ lb $t3, %lo(D_8018D9D8)($t3)
|
||||
/* 0AD34C 800AC74C 2941000B */ slti $at, $t2, 0xb
|
||||
/* 0AD350 800AC750 51600004 */ beql $t3, $zero, .L800AC764
|
||||
/* 0AD354 800AC754 8CED001C */ lw $t5, 0x1c($a3)
|
||||
/* 0AD358 800AC758 10200004 */ beqz $at, .L800AC76C
|
||||
/* 0AD35C 800AC75C 00000000 */ nop
|
||||
/* 0AD360 800AC760 8CED001C */ lw $t5, 0x1c($a3)
|
||||
.L800AC764:
|
||||
/* 0AD364 800AC764 29A1003D */ slti $at, $t5, 0x3d
|
||||
/* 0AD368 800AC768 1420007F */ bnez $at, .L800AC968
|
||||
.L800AC76C:
|
||||
/* 0AD36C 800AC76C 3C0E800E */ lui $t6, %hi(D_800DDB24) # $t6, 0x800e
|
||||
/* 0AD370 800AC770 8DCEDB24 */ lw $t6, %lo(D_800DDB24)($t6)
|
||||
/* 0AD374 800AC774 24060008 */ li $a2, 8
|
||||
/* 0AD378 800AC778 51C0007C */ beql $t6, $zero, .L800AC96C
|
||||
/* 0AD37C 800AC77C 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 0AD380 800AC780 ACE60004 */ sw $a2, 4($a3)
|
||||
/* 0AD384 800AC784 10000078 */ b .L800AC968
|
||||
/* 0AD388 800AC788 ACE0001C */ sw $zero, 0x1c($a3)
|
||||
glabel L800AC78C
|
||||
/* 0AD38C 800AC78C 8CEF001C */ lw $t7, 0x1c($a3)
|
||||
/* 0AD390 800AC790 3C198019 */ lui $t9, %hi(D_8018D9D8) # $t9, 0x8019
|
||||
/* 0AD394 800AC794 240D0009 */ li $t5, 9
|
||||
/* 0AD398 800AC798 25F80001 */ addiu $t8, $t7, 1
|
||||
/* 0AD39C 800AC79C ACF8001C */ sw $t8, 0x1c($a3)
|
||||
/* 0AD3A0 800AC7A0 8339D9D8 */ lb $t9, %lo(D_8018D9D8)($t9)
|
||||
/* 0AD3A4 800AC7A4 270B0005 */ addiu $t3, $t8, 5
|
||||
/* 0AD3A8 800AC7A8 53200003 */ beql $t9, $zero, .L800AC7B8
|
||||
/* 0AD3AC 800AC7AC 8CEC001C */ lw $t4, 0x1c($a3)
|
||||
/* 0AD3B0 800AC7B0 ACEB001C */ sw $t3, 0x1c($a3)
|
||||
/* 0AD3B4 800AC7B4 8CEC001C */ lw $t4, 0x1c($a3)
|
||||
.L800AC7B8:
|
||||
/* 0AD3B8 800AC7B8 29810029 */ slti $at, $t4, 0x29
|
||||
/* 0AD3BC 800AC7BC 5420006B */ bnel $at, $zero, .L800AC96C
|
||||
/* 0AD3C0 800AC7C0 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 0AD3C4 800AC7C4 10000068 */ b .L800AC968
|
||||
/* 0AD3C8 800AC7C8 ACED0004 */ sw $t5, 4($a3)
|
||||
glabel L800AC7CC
|
||||
/* 0AD3CC 800AC7CC 8CEE001C */ lw $t6, 0x1c($a3)
|
||||
/* 0AD3D0 800AC7D0 3C188019 */ lui $t8, %hi(D_8018D9D8) # $t8, 0x8019
|
||||
/* 0AD3D4 800AC7D4 240C000A */ li $t4, 10
|
||||
/* 0AD3D8 800AC7D8 25CFFFFF */ addiu $t7, $t6, -1
|
||||
/* 0AD3DC 800AC7DC ACEF001C */ sw $t7, 0x1c($a3)
|
||||
/* 0AD3E0 800AC7E0 8318D9D8 */ lb $t8, %lo(D_8018D9D8)($t8)
|
||||
/* 0AD3E4 800AC7E4 25EAFFFB */ addiu $t2, $t7, -5
|
||||
/* 0AD3E8 800AC7E8 3C0D8019 */ lui $t5, %hi(gCourseIndexInCup) # $t5, 0x8019
|
||||
/* 0AD3EC 800AC7EC 53000003 */ beql $t8, $zero, .L800AC7FC
|
||||
/* 0AD3F0 800AC7F0 8CEB001C */ lw $t3, 0x1c($a3)
|
||||
/* 0AD3F4 800AC7F4 ACEA001C */ sw $t2, 0x1c($a3)
|
||||
/* 0AD3F8 800AC7F8 8CEB001C */ lw $t3, 0x1c($a3)
|
||||
.L800AC7FC:
|
||||
/* 0AD3FC 800AC7FC 5D60005B */ bgtzl $t3, .L800AC96C
|
||||
/* 0AD400 800AC800 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 0AD404 800AC804 ACEC0004 */ sw $t4, 4($a3)
|
||||
/* 0AD408 800AC808 ACE0001C */ sw $zero, 0x1c($a3)
|
||||
/* 0AD40C 800AC80C 81ADEE0B */ lb $t5, %lo(gCourseIndexInCup)($t5)
|
||||
/* 0AD410 800AC810 24010003 */ li $at, 3
|
||||
/* 0AD414 800AC814 00002825 */ move $a1, $zero
|
||||
/* 0AD418 800AC818 15A10053 */ bne $t5, $at, .L800AC968
|
||||
/* 0AD41C 800AC81C 3C028019 */ lui $v0, %hi(gCharacterIdByGPOverallRank) # $v0, 0x8019
|
||||
/* 0AD420 800AC820 3C038019 */ lui $v1, %hi(gPlayerCount) # $v1, 0x8019
|
||||
/* 0AD424 800AC824 3C048016 */ lui $a0, %hi(D_80164478) # $a0, 0x8016
|
||||
/* 0AD428 800AC828 24844478 */ addiu $a0, %lo(D_80164478) # addiu $a0, $a0, 0x4478
|
||||
/* 0AD42C 800AC82C 8063EDF3 */ lb $v1, %lo(gPlayerCount)($v1)
|
||||
/* 0AD430 800AC830 2442D9D0 */ addiu $v0, %lo(gCharacterIdByGPOverallRank) # addiu $v0, $v0, -0x2630
|
||||
/* 0AD434 800AC834 24060008 */ li $a2, 8
|
||||
.L800AC838:
|
||||
/* 0AD438 800AC838 804E0000 */ lb $t6, ($v0)
|
||||
/* 0AD43C 800AC83C 000E7840 */ sll $t7, $t6, 1
|
||||
/* 0AD440 800AC840 008FC021 */ addu $t8, $a0, $t7
|
||||
/* 0AD444 800AC844 87190000 */ lh $t9, ($t8)
|
||||
/* 0AD448 800AC848 0323082A */ slt $at, $t9, $v1
|
||||
/* 0AD44C 800AC84C 50200006 */ beql $at, $zero, .L800AC868
|
||||
/* 0AD450 800AC850 24A50001 */ addiu $a1, $a1, 1
|
||||
/* 0AD454 800AC854 0C02D4DB */ jal func_800B536C
|
||||
/* 0AD458 800AC858 00A02025 */ move $a0, $a1
|
||||
/* 0AD45C 800AC85C 10000043 */ b .L800AC96C
|
||||
/* 0AD460 800AC860 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 0AD464 800AC864 24A50001 */ addiu $a1, $a1, 1
|
||||
.L800AC868:
|
||||
/* 0AD468 800AC868 14A6FFF3 */ bne $a1, $a2, .L800AC838
|
||||
/* 0AD46C 800AC86C 24420001 */ addiu $v0, $v0, 1
|
||||
/* 0AD470 800AC870 1000003E */ b .L800AC96C
|
||||
/* 0AD474 800AC874 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
glabel L800AC878
|
||||
/* 0AD478 800AC878 8CEA001C */ lw $t2, 0x1c($a3)
|
||||
/* 0AD47C 800AC87C 240D000B */ li $t5, 11
|
||||
/* 0AD480 800AC880 254B0001 */ addiu $t3, $t2, 1
|
||||
/* 0AD484 800AC884 19600038 */ blez $t3, .L800AC968
|
||||
/* 0AD488 800AC888 ACEB001C */ sw $t3, 0x1c($a3)
|
||||
/* 0AD48C 800AC88C ACED0004 */ sw $t5, 4($a3)
|
||||
/* 0AD490 800AC890 0C02486D */ jal func_800921B4
|
||||
/* 0AD494 800AC894 ACE0001C */ sw $zero, 0x1c($a3)
|
||||
/* 0AD498 800AC898 10000034 */ b .L800AC96C
|
||||
/* 0AD49C 800AC89C 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
glabel L800AC8A0
|
||||
/* 0AD4A0 800AC8A0 3C0E8019 */ lui $t6, %hi(D_8018D9D8) # $t6, 0x8019
|
||||
/* 0AD4A4 800AC8A4 81CED9D8 */ lb $t6, %lo(D_8018D9D8)($t6)
|
||||
/* 0AD4A8 800AC8A8 3C0F800E */ lui $t7, %hi(D_800DDB24) # $t7, 0x800e
|
||||
/* 0AD4AC 800AC8AC 51C0002F */ beql $t6, $zero, .L800AC96C
|
||||
/* 0AD4B0 800AC8B0 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 0AD4B4 800AC8B4 8DEFDB24 */ lw $t7, %lo(D_800DDB24)($t7)
|
||||
/* 0AD4B8 800AC8B8 3C044900 */ lui $a0, (0x49008015 >> 16) # lui $a0, 0x4900
|
||||
/* 0AD4BC 800AC8BC 2418000C */ li $t8, 12
|
||||
/* 0AD4C0 800AC8C0 11E00029 */ beqz $t7, .L800AC968
|
||||
/* 0AD4C4 800AC8C4 34848015 */ ori $a0, (0x49008015 & 0xFFFF) # ori $a0, $a0, 0x8015
|
||||
/* 0AD4C8 800AC8C8 8CF90010 */ lw $t9, 0x10($a3)
|
||||
/* 0AD4CC 800AC8CC ACF80004 */ sw $t8, 4($a3)
|
||||
/* 0AD4D0 800AC8D0 0C032384 */ jal play_sound2
|
||||
/* 0AD4D4 800AC8D4 ACF90020 */ sw $t9, 0x20($a3)
|
||||
/* 0AD4D8 800AC8D8 10000024 */ b .L800AC96C
|
||||
/* 0AD4DC 800AC8DC 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
glabel L800AC8E0
|
||||
/* 0AD4E0 800AC8E0 8CE50020 */ lw $a1, 0x20($a3)
|
||||
/* 0AD4E4 800AC8E4 240F000D */ li $t7, 13
|
||||
/* 0AD4E8 800AC8E8 2418012C */ li $t8, 300
|
||||
/* 0AD4EC 800AC8EC 28A100F0 */ slti $at, $a1, 0xf0
|
||||
/* 0AD4F0 800AC8F0 1020000E */ beqz $at, .L800AC92C
|
||||
/* 0AD4F4 800AC8F4 ACE50010 */ sw $a1, 0x10($a3)
|
||||
/* 0AD4F8 800AC8F8 24AA0010 */ addiu $t2, $a1, 0x10
|
||||
/* 0AD4FC 800AC8FC ACEA0020 */ sw $t2, 0x20($a3)
|
||||
/* 0AD500 800AC900 3C02800E */ lui $v0, %hi(D_800DC5EC) # $v0, 0x800e
|
||||
/* 0AD504 800AC904 8C42C5EC */ lw $v0, %lo(D_800DC5EC)($v0)
|
||||
/* 0AD508 800AC908 3C03800E */ lui $v1, %hi(D_800DC5F0) # $v1, 0x800e
|
||||
/* 0AD50C 800AC90C 844B0032 */ lh $t3, 0x32($v0)
|
||||
/* 0AD510 800AC910 256C0010 */ addiu $t4, $t3, 0x10
|
||||
/* 0AD514 800AC914 A44C0032 */ sh $t4, 0x32($v0)
|
||||
/* 0AD518 800AC918 8C63C5F0 */ lw $v1, %lo(D_800DC5F0)($v1)
|
||||
/* 0AD51C 800AC91C 846D0032 */ lh $t5, 0x32($v1)
|
||||
/* 0AD520 800AC920 25AEFFF0 */ addiu $t6, $t5, -0x10
|
||||
/* 0AD524 800AC924 10000010 */ b .L800AC968
|
||||
/* 0AD528 800AC928 A46E0032 */ sh $t6, 0x32($v1)
|
||||
.L800AC92C:
|
||||
/* 0AD52C 800AC92C ACE00020 */ sw $zero, 0x20($a3)
|
||||
/* 0AD530 800AC930 ACEF0004 */ sw $t7, 4($a3)
|
||||
/* 0AD534 800AC934 ACE0001C */ sw $zero, 0x1c($a3)
|
||||
/* 0AD538 800AC938 3C19800E */ lui $t9, %hi(D_800DC5EC) # $t9, 0x800e
|
||||
/* 0AD53C 800AC93C 8F39C5EC */ lw $t9, %lo(D_800DC5EC)($t9)
|
||||
/* 0AD540 800AC940 3C0B800E */ lui $t3, %hi(D_800DC5F0) # $t3, 0x800e
|
||||
/* 0AD544 800AC944 240AFFC4 */ li $t2, -60
|
||||
/* 0AD548 800AC948 A7380032 */ sh $t8, 0x32($t9)
|
||||
/* 0AD54C 800AC94C 8D6BC5F0 */ lw $t3, %lo(D_800DC5F0)($t3)
|
||||
/* 0AD550 800AC950 240C0004 */ li $t4, 4
|
||||
/* 0AD554 800AC954 3C018016 */ lui $at, %hi(D_8015F894) # $at, 0x8016
|
||||
/* 0AD558 800AC958 A56A0032 */ sh $t2, 0x32($t3)
|
||||
/* 0AD55C 800AC95C A42CF894 */ sh $t4, %lo(D_8015F894)($at)
|
||||
/* 0AD560 800AC960 0C0328CC */ jal func_800CA330
|
||||
/* 0AD564 800AC964 24040019 */ li $a0, 25
|
||||
.L800AC968:
|
||||
glabel L800AC968
|
||||
/* 0AD568 800AC968 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
.L800AC96C:
|
||||
/* 0AD56C 800AC96C 27BD0020 */ addiu $sp, $sp, 0x20
|
||||
/* 0AD570 800AC970 03E00008 */ jr $ra
|
||||
/* 0AD574 800AC974 00000000 */ nop
|
||||
+108
-108
@@ -84,16 +84,16 @@ glabel D_800F15E0
|
||||
|
||||
.section .text
|
||||
|
||||
glabel add_ui_element
|
||||
glabel add_menu_item
|
||||
/* 09F250 8009E650 27BDFF80 */ addiu $sp, $sp, -0x80
|
||||
/* 09F254 8009E654 AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* 09F258 8009E658 AFA7008C */ sw $a3, 0x8c($sp)
|
||||
/* 09F25C 8009E65C 00077600 */ sll $t6, $a3, 0x18
|
||||
/* 09F260 8009E660 3C1F8019 */ lui $ra, %hi(D_8018D9E0) # $ra, 0x8019
|
||||
/* 09F260 8009E660 3C1F8019 */ lui $ra, %hi(gMenuItems) # $ra, 0x8019
|
||||
/* 09F264 8009E664 000E3E03 */ sra $a3, $t6, 0x18
|
||||
/* 09F268 8009E668 AFA40080 */ sw $a0, 0x80($sp)
|
||||
/* 09F26C 8009E66C 00001025 */ move $v0, $zero
|
||||
/* 09F270 8009E670 27FFD9E0 */ addiu $ra, %lo(D_8018D9E0) # addiu $ra, $ra, -0x2620
|
||||
/* 09F270 8009E670 27FFD9E0 */ addiu $ra, %lo(gMenuItems) # addiu $ra, $ra, -0x2620
|
||||
.L8009E674:
|
||||
/* 09F274 8009E674 8FF80000 */ lw $t8, ($ra)
|
||||
/* 09F278 8009E678 24420001 */ addiu $v0, $v0, 1
|
||||
@@ -167,72 +167,72 @@ glabel add_ui_element
|
||||
/* 09F370 8009E770 00000000 */ nop
|
||||
glabel L8009E774
|
||||
/* 09F374 8009E774 44802000 */ mtc1 $zero, $f4
|
||||
/* 09F378 8009E778 3C018019 */ lui $at, %hi(s8018ED94) # $at, 0x8019
|
||||
/* 09F37C 8009E77C AC20ED94 */ sw $zero, %lo(s8018ED94)($at)
|
||||
/* 09F380 8009E780 3C01800F */ lui $at, %hi(D_800E8530) # $at, 0x800f
|
||||
/* 09F384 8009E784 E4248530 */ swc1 $f4, %lo(D_800E8530)($at)
|
||||
/* 09F378 8009E778 3C018019 */ lui $at, %hi(sIntroLogoTimer) # $at, 0x8019
|
||||
/* 09F37C 8009E77C AC20ED94 */ sw $zero, %lo(sIntroLogoTimer)($at)
|
||||
/* 09F380 8009E780 3C01800F */ lui $at, %hi(sIntroModelMotionSpeed) # $at, 0x800f
|
||||
/* 09F384 8009E784 E4248530 */ swc1 $f4, %lo(sIntroModelMotionSpeed)($at)
|
||||
/* 09F388 8009E788 3C014040 */ li $at, 0x40400000 # 3.000000
|
||||
/* 09F38C 8009E78C 44813000 */ mtc1 $at, $f6
|
||||
/* 09F390 8009E790 3C01800F */ lui $at, %hi(D_800E8534) # $at, 0x800f
|
||||
/* 09F390 8009E790 3C01800F */ lui $at, %hi(sIntroModelSpeed) # $at, 0x800f
|
||||
/* 09F394 8009E794 44800000 */ mtc1 $zero, $f0
|
||||
/* 09F398 8009E798 E4268534 */ swc1 $f6, %lo(D_800E8534)($at)
|
||||
/* 09F39C 8009E79C 3C018019 */ lui $at, %hi(D_8018EDC0) # $at, 0x8019
|
||||
/* 09F398 8009E798 E4268534 */ swc1 $f6, %lo(sIntroModelSpeed)($at)
|
||||
/* 09F39C 8009E79C 3C018019 */ lui $at, %hi(gIntroModelZEye) # $at, 0x8019
|
||||
/* 09F3A0 8009E7A0 241909C4 */ li $t9, 2500
|
||||
/* 09F3A4 8009E7A4 AC39EDC0 */ sw $t9, %lo(D_8018EDC0)($at)
|
||||
/* 09F3A8 8009E7A8 3C018019 */ lui $at, %hi(D_8018EDC8) # $at, 0x8019
|
||||
/* 09F3AC 8009E7AC E420EDC8 */ swc1 $f0, %lo(D_8018EDC8)($at)
|
||||
/* 09F3A4 8009E7A4 AC39EDC0 */ sw $t9, %lo(gIntroModelZEye)($at)
|
||||
/* 09F3A8 8009E7A8 3C018019 */ lui $at, %hi(gIntroModelRotX) # $at, 0x8019
|
||||
/* 09F3AC 8009E7AC E420EDC8 */ swc1 $f0, %lo(gIntroModelRotX)($at)
|
||||
/* 09F3B0 8009E7B0 3C01C387 */ li $at, 0xC3870000 # -270.000000
|
||||
/* 09F3B4 8009E7B4 44814000 */ mtc1 $at, $f8
|
||||
/* 09F3B8 8009E7B8 3C018019 */ lui $at, %hi(D_8018EDCC) # $at, 0x8019
|
||||
/* 09F3B8 8009E7B8 3C018019 */ lui $at, %hi(gIntroModelRotY) # $at, 0x8019
|
||||
/* 09F3BC 8009E7BC 240EFFFF */ li $t6, -1
|
||||
/* 09F3C0 8009E7C0 E428EDCC */ swc1 $f8, %lo(D_8018EDCC)($at)
|
||||
/* 09F3C4 8009E7C4 3C018019 */ lui $at, %hi(D_8018EDD0) # $at, 0x8019
|
||||
/* 09F3C8 8009E7C8 E420EDD0 */ swc1 $f0, %lo(D_8018EDD0)($at)
|
||||
/* 09F3CC 8009E7CC 3C018019 */ lui $at, %hi(D_8018EDD4) # $at, 0x8019
|
||||
/* 09F3D0 8009E7D0 E420EDD4 */ swc1 $f0, %lo(D_8018EDD4)($at)
|
||||
/* 09F3D4 8009E7D4 3C018019 */ lui $at, %hi(D_8018EDD8) # $at, 0x8019
|
||||
/* 09F3D8 8009E7D8 E420EDD8 */ swc1 $f0, %lo(D_8018EDD8)($at)
|
||||
/* 09F3DC 8009E7DC 3C018019 */ lui $at, %hi(D_8018EDDC) # $at, 0x8019
|
||||
/* 09F3E0 8009E7E0 E420EDDC */ swc1 $f0, %lo(D_8018EDDC)($at)
|
||||
/* 09F3C0 8009E7C0 E428EDCC */ swc1 $f8, %lo(gIntroModelRotY)($at)
|
||||
/* 09F3C4 8009E7C4 3C018019 */ lui $at, %hi(gIntroModelRotZ) # $at, 0x8019
|
||||
/* 09F3C8 8009E7C8 E420EDD0 */ swc1 $f0, %lo(gIntroModelRotZ)($at)
|
||||
/* 09F3CC 8009E7CC 3C018019 */ lui $at, %hi(gIntroModelPosX) # $at, 0x8019
|
||||
/* 09F3D0 8009E7D0 E420EDD4 */ swc1 $f0, %lo(gIntroModelPosX)($at)
|
||||
/* 09F3D4 8009E7D4 3C018019 */ lui $at, %hi(gIntroModelPosY) # $at, 0x8019
|
||||
/* 09F3D8 8009E7D8 E420EDD8 */ swc1 $f0, %lo(gIntroModelPosY)($at)
|
||||
/* 09F3DC 8009E7DC 3C018019 */ lui $at, %hi(gIntroModelPosZ) # $at, 0x8019
|
||||
/* 09F3E0 8009E7E0 E420EDDC */ swc1 $f0, %lo(gIntroModelPosZ)($at)
|
||||
/* 09F3E4 8009E7E4 3C014040 */ li $at, 0x40400000 # 3.000000
|
||||
/* 09F3E8 8009E7E8 44815000 */ mtc1 $at, $f10
|
||||
/* 09F3EC 8009E7EC 3C018019 */ lui $at, %hi(D_8018EDC4) # $at, 0x8019
|
||||
/* 09F3F0 8009E7F0 E42AEDC4 */ swc1 $f10, %lo(D_8018EDC4)($at)
|
||||
/* 09F3EC 8009E7EC 3C018019 */ lui $at, %hi(gIntroModelScale) # $at, 0x8019
|
||||
/* 09F3F0 8009E7F0 E42AEDC4 */ swc1 $f10, %lo(gIntroModelScale)($at)
|
||||
/* 09F3F4 8009E7F4 AFEE001C */ sw $t6, 0x1c($ra)
|
||||
/* 09F3F8 8009E7F8 10000375 */ b .L8009F5D0
|
||||
/* 09F3FC 8009E7FC AFE30020 */ sw $v1, 0x20($ra)
|
||||
glabel L8009E800
|
||||
/* 09F400 8009E800 240F0708 */ li $t7, 1800
|
||||
/* 09F404 8009E804 3C018019 */ lui $at, %hi(D_8018EDC0) # $at, 0x8019
|
||||
/* 09F408 8009E808 AC2FEDC0 */ sw $t7, %lo(D_8018EDC0)($at)
|
||||
/* 09F404 8009E804 3C018019 */ lui $at, %hi(gIntroModelZEye) # $at, 0x8019
|
||||
/* 09F408 8009E808 AC2FEDC0 */ sw $t7, %lo(gIntroModelZEye)($at)
|
||||
/* 09F40C 8009E80C 3C01C24C */ li $at, 0xC24C0000 # -51.000000
|
||||
/* 09F410 8009E810 44818000 */ mtc1 $at, $f16
|
||||
/* 09F414 8009E814 3C018019 */ lui $at, %hi(D_8018EDC8) # $at, 0x8019
|
||||
/* 09F414 8009E814 3C018019 */ lui $at, %hi(gIntroModelRotX) # $at, 0x8019
|
||||
/* 09F418 8009E818 44800000 */ mtc1 $zero, $f0
|
||||
/* 09F41C 8009E81C E430EDC8 */ swc1 $f16, %lo(D_8018EDC8)($at)
|
||||
/* 09F41C 8009E81C E430EDC8 */ swc1 $f16, %lo(gIntroModelRotX)($at)
|
||||
/* 09F420 8009E820 3C01C140 */ li $at, 0xC1400000 # -12.000000
|
||||
/* 09F424 8009E824 44819000 */ mtc1 $at, $f18
|
||||
/* 09F428 8009E828 3C018019 */ lui $at, %hi(D_8018EDCC) # $at, 0x8019
|
||||
/* 09F428 8009E828 3C018019 */ lui $at, %hi(gIntroModelRotY) # $at, 0x8019
|
||||
/* 09F42C 8009E82C 2418FFFF */ li $t8, -1
|
||||
/* 09F430 8009E830 E432EDCC */ swc1 $f18, %lo(D_8018EDCC)($at)
|
||||
/* 09F430 8009E830 E432EDCC */ swc1 $f18, %lo(gIntroModelRotY)($at)
|
||||
/* 09F434 8009E834 3C01C190 */ li $at, 0xC1900000 # -18.000000
|
||||
/* 09F438 8009E838 44812000 */ mtc1 $at, $f4
|
||||
/* 09F43C 8009E83C 3C018019 */ lui $at, %hi(D_8018EDD0) # $at, 0x8019
|
||||
/* 09F440 8009E840 E424EDD0 */ swc1 $f4, %lo(D_8018EDD0)($at)
|
||||
/* 09F43C 8009E83C 3C018019 */ lui $at, %hi(gIntroModelRotZ) # $at, 0x8019
|
||||
/* 09F440 8009E840 E424EDD0 */ swc1 $f4, %lo(gIntroModelRotZ)($at)
|
||||
/* 09F444 8009E844 3C01C387 */ li $at, 0xC3870000 # -270.000000
|
||||
/* 09F448 8009E848 44813000 */ mtc1 $at, $f6
|
||||
/* 09F44C 8009E84C 3C018019 */ lui $at, %hi(D_8018EDD4) # $at, 0x8019
|
||||
/* 09F450 8009E850 E426EDD4 */ swc1 $f6, %lo(D_8018EDD4)($at)
|
||||
/* 09F44C 8009E84C 3C018019 */ lui $at, %hi(gIntroModelPosX) # $at, 0x8019
|
||||
/* 09F450 8009E850 E426EDD4 */ swc1 $f6, %lo(gIntroModelPosX)($at)
|
||||
/* 09F454 8009E854 3C01800F */ lui $at, %hi(D_800F15E0) # $at, 0x800f
|
||||
/* 09F458 8009E858 C42815E0 */ lwc1 $f8, %lo(D_800F15E0)($at)
|
||||
/* 09F45C 8009E85C 3C018019 */ lui $at, %hi(D_8018EDD8) # $at, 0x8019
|
||||
/* 09F460 8009E860 E428EDD8 */ swc1 $f8, %lo(D_8018EDD8)($at)
|
||||
/* 09F464 8009E864 3C018019 */ lui $at, %hi(D_8018EDDC) # $at, 0x8019
|
||||
/* 09F468 8009E868 E420EDDC */ swc1 $f0, %lo(D_8018EDDC)($at)
|
||||
/* 09F45C 8009E85C 3C018019 */ lui $at, %hi(gIntroModelPosY) # $at, 0x8019
|
||||
/* 09F460 8009E860 E428EDD8 */ swc1 $f8, %lo(gIntroModelPosY)($at)
|
||||
/* 09F464 8009E864 3C018019 */ lui $at, %hi(gIntroModelPosZ) # $at, 0x8019
|
||||
/* 09F468 8009E868 E420EDDC */ swc1 $f0, %lo(gIntroModelPosZ)($at)
|
||||
/* 09F46C 8009E86C 3C013F80 */ li $at, 0x3F800000 # 1.000000
|
||||
/* 09F470 8009E870 44815000 */ mtc1 $at, $f10
|
||||
/* 09F474 8009E874 3C018019 */ lui $at, %hi(D_8018EDC4) # $at, 0x8019
|
||||
/* 09F478 8009E878 E42AEDC4 */ swc1 $f10, %lo(D_8018EDC4)($at)
|
||||
/* 09F474 8009E874 3C018019 */ lui $at, %hi(gIntroModelScale) # $at, 0x8019
|
||||
/* 09F478 8009E878 E42AEDC4 */ swc1 $f10, %lo(gIntroModelScale)($at)
|
||||
/* 09F47C 8009E87C AFF8001C */ sw $t8, 0x1c($ra)
|
||||
/* 09F480 8009E880 10000353 */ b .L8009F5D0
|
||||
/* 09F484 8009E884 AFE30020 */ sw $v1, 0x20($ra)
|
||||
@@ -240,22 +240,22 @@ glabel L8009E888
|
||||
/* 09F488 8009E888 3C040200 */ lui $a0, %hi(D_020014C8) # $a0, 0x200
|
||||
/* 09F48C 8009E88C AFBF007C */ sw $ra, 0x7c($sp)
|
||||
/* 09F490 8009E890 248414C8 */ addiu $a0, %lo(D_020014C8) # addiu $a0, $a0, 0x14c8
|
||||
/* 09F494 8009E894 0C0265AF */ jal load_menu_img2
|
||||
/* 09F494 8009E894 0C0265AF */ jal load_menu_img_comp_type
|
||||
/* 09F498 8009E898 00002825 */ move $a1, $zero
|
||||
/* 09F49C 8009E89C 3C040200 */ lui $a0, %hi(D_020014C8) # $a0, 0x200
|
||||
/* 09F4A0 8009E8A0 0C026E55 */ jal func_8009B954
|
||||
/* 09F4A4 8009E8A4 248414C8 */ addiu $a0, %lo(D_020014C8) # addiu $a0, $a0, 0x14c8
|
||||
/* 09F4A8 8009E8A8 8FBF007C */ lw $ra, 0x7c($sp)
|
||||
/* 09F4AC 8009E8AC 3C088019 */ lui $t0, %hi(D_8018E75C) # $t0, 0x8019
|
||||
/* 09F4B0 8009E8B0 2508E75C */ addiu $t0, %lo(D_8018E75C) # addiu $t0, $t0, -0x18a4
|
||||
/* 09F4AC 8009E8AC 3C088019 */ lui $t0, %hi(sGfxPtr) # $t0, 0x8019
|
||||
/* 09F4B0 8009E8B0 2508E75C */ addiu $t0, %lo(sGfxPtr) # addiu $t0, $t0, -0x18a4
|
||||
/* 09F4B4 8009E8B4 3C050200 */ lui $a1, %hi(D_020014C8) # $a1, 0x200
|
||||
/* 09F4B8 8009E8B8 8FE6000C */ lw $a2, 0xc($ra)
|
||||
/* 09F4BC 8009E8BC 8FE70010 */ lw $a3, 0x10($ra)
|
||||
/* 09F4C0 8009E8C0 24A514C8 */ addiu $a1, %lo(D_020014C8) # addiu $a1, $a1, 0x14c8
|
||||
/* 09F4C4 8009E8C4 0C026E9D */ jal func_8009BA74
|
||||
/* 09F4C4 8009E8C4 0C026E9D */ jal render_menu_textures
|
||||
/* 09F4C8 8009E8C8 8D040000 */ lw $a0, ($t0)
|
||||
/* 09F4CC 8009E8CC 3C088019 */ lui $t0, %hi(D_8018E75C) # $t0, 0x8019
|
||||
/* 09F4D0 8009E8D0 2508E75C */ addiu $t0, %lo(D_8018E75C) # addiu $t0, $t0, -0x18a4
|
||||
/* 09F4CC 8009E8CC 3C088019 */ lui $t0, %hi(sGfxPtr) # $t0, 0x8019
|
||||
/* 09F4D0 8009E8D0 2508E75C */ addiu $t0, %lo(sGfxPtr) # addiu $t0, $t0, -0x18a4
|
||||
/* 09F4D4 8009E8D4 0C026E66 */ jal func_8009B998
|
||||
/* 09F4D8 8009E8D8 AD020000 */ sw $v0, ($t0)
|
||||
/* 09F4DC 8009E8DC 1000033D */ b .L8009F5D4
|
||||
@@ -264,22 +264,22 @@ glabel L8009E8E4
|
||||
/* 09F4E4 8009E8E4 3C040200 */ lui $a0, %hi(D_02001540) # $a0, 0x200
|
||||
/* 09F4E8 8009E8E8 AFBF007C */ sw $ra, 0x7c($sp)
|
||||
/* 09F4EC 8009E8EC 24841540 */ addiu $a0, %lo(D_02001540) # addiu $a0, $a0, 0x1540
|
||||
/* 09F4F0 8009E8F0 0C0265AF */ jal load_menu_img2
|
||||
/* 09F4F0 8009E8F0 0C0265AF */ jal load_menu_img_comp_type
|
||||
/* 09F4F4 8009E8F4 00002825 */ move $a1, $zero
|
||||
/* 09F4F8 8009E8F8 3C040200 */ lui $a0, %hi(D_02001540) # $a0, 0x200
|
||||
/* 09F4FC 8009E8FC 0C026E55 */ jal func_8009B954
|
||||
/* 09F500 8009E900 24841540 */ addiu $a0, %lo(D_02001540) # addiu $a0, $a0, 0x1540
|
||||
/* 09F504 8009E904 8FBF007C */ lw $ra, 0x7c($sp)
|
||||
/* 09F508 8009E908 3C088019 */ lui $t0, %hi(D_8018E75C) # $t0, 0x8019
|
||||
/* 09F50C 8009E90C 2508E75C */ addiu $t0, %lo(D_8018E75C) # addiu $t0, $t0, -0x18a4
|
||||
/* 09F508 8009E908 3C088019 */ lui $t0, %hi(sGfxPtr) # $t0, 0x8019
|
||||
/* 09F50C 8009E90C 2508E75C */ addiu $t0, %lo(sGfxPtr) # addiu $t0, $t0, -0x18a4
|
||||
/* 09F510 8009E910 3C050200 */ lui $a1, %hi(D_02001540) # $a1, 0x200
|
||||
/* 09F514 8009E914 8FE6000C */ lw $a2, 0xc($ra)
|
||||
/* 09F518 8009E918 8FE70010 */ lw $a3, 0x10($ra)
|
||||
/* 09F51C 8009E91C 24A51540 */ addiu $a1, %lo(D_02001540) # addiu $a1, $a1, 0x1540
|
||||
/* 09F520 8009E920 0C026E9D */ jal func_8009BA74
|
||||
/* 09F520 8009E920 0C026E9D */ jal render_menu_textures
|
||||
/* 09F524 8009E924 8D040000 */ lw $a0, ($t0)
|
||||
/* 09F528 8009E928 3C088019 */ lui $t0, %hi(D_8018E75C) # $t0, 0x8019
|
||||
/* 09F52C 8009E92C 2508E75C */ addiu $t0, %lo(D_8018E75C) # addiu $t0, $t0, -0x18a4
|
||||
/* 09F528 8009E928 3C088019 */ lui $t0, %hi(sGfxPtr) # $t0, 0x8019
|
||||
/* 09F52C 8009E92C 2508E75C */ addiu $t0, %lo(sGfxPtr) # addiu $t0, $t0, -0x18a4
|
||||
/* 09F530 8009E930 0C026E66 */ jal func_8009B998
|
||||
/* 09F534 8009E934 AD020000 */ sw $v0, ($t0)
|
||||
/* 09F538 8009E938 10000326 */ b .L8009F5D4
|
||||
@@ -289,7 +289,7 @@ glabel L8009E940
|
||||
/* 09F544 8009E944 AFBF007C */ sw $ra, 0x7c($sp)
|
||||
/* 09F548 8009E948 2484157C */ addiu $a0, %lo(D_0200157C) # addiu $a0, $a0, 0x157c
|
||||
/* 09F54C 8009E94C 00002825 */ move $a1, $zero
|
||||
/* 09F550 8009E950 0C0265AF */ jal load_menu_img2
|
||||
/* 09F550 8009E950 0C0265AF */ jal load_menu_img_comp_type
|
||||
/* 09F554 8009E954 00001025 */ move $v0, $zero
|
||||
/* 09F558 8009E958 3C040200 */ lui $a0, %hi(D_02001874) # $a0, 0x200
|
||||
/* 09F55C 8009E95C 0C026461 */ jal load_menu_img
|
||||
@@ -322,16 +322,16 @@ glabel L8009E9AC
|
||||
/* 09F5C0 8009E9C0 0C026E55 */ jal func_8009B954
|
||||
/* 09F5C4 8009E9C4 248415A4 */ addiu $a0, %lo(D_020015A4) # addiu $a0, $a0, 0x15a4
|
||||
/* 09F5C8 8009E9C8 8FBF007C */ lw $ra, 0x7c($sp)
|
||||
/* 09F5CC 8009E9CC 3C088019 */ lui $t0, %hi(D_8018E75C) # $t0, 0x8019
|
||||
/* 09F5D0 8009E9D0 2508E75C */ addiu $t0, %lo(D_8018E75C) # addiu $t0, $t0, -0x18a4
|
||||
/* 09F5CC 8009E9CC 3C088019 */ lui $t0, %hi(sGfxPtr) # $t0, 0x8019
|
||||
/* 09F5D0 8009E9D0 2508E75C */ addiu $t0, %lo(sGfxPtr) # addiu $t0, $t0, -0x18a4
|
||||
/* 09F5D4 8009E9D4 3C050200 */ lui $a1, %hi(D_020015A4) # $a1, 0x200
|
||||
/* 09F5D8 8009E9D8 8FE6000C */ lw $a2, 0xc($ra)
|
||||
/* 09F5DC 8009E9DC 8FE70010 */ lw $a3, 0x10($ra)
|
||||
/* 09F5E0 8009E9E0 24A515A4 */ addiu $a1, %lo(D_020015A4) # addiu $a1, $a1, 0x15a4
|
||||
/* 09F5E4 8009E9E4 0C026E9D */ jal func_8009BA74
|
||||
/* 09F5E4 8009E9E4 0C026E9D */ jal render_menu_textures
|
||||
/* 09F5E8 8009E9E8 8D040000 */ lw $a0, ($t0)
|
||||
/* 09F5EC 8009E9EC 3C088019 */ lui $t0, %hi(D_8018E75C) # $t0, 0x8019
|
||||
/* 09F5F0 8009E9F0 2508E75C */ addiu $t0, %lo(D_8018E75C) # addiu $t0, $t0, -0x18a4
|
||||
/* 09F5EC 8009E9EC 3C088019 */ lui $t0, %hi(sGfxPtr) # $t0, 0x8019
|
||||
/* 09F5F0 8009E9F0 2508E75C */ addiu $t0, %lo(sGfxPtr) # addiu $t0, $t0, -0x18a4
|
||||
/* 09F5F4 8009E9F4 AD020000 */ sw $v0, ($t0)
|
||||
/* 09F5F8 8009E9F8 244F0008 */ addiu $t7, $v0, 8
|
||||
/* 09F5FC 8009E9FC AD0F0000 */ sw $t7, ($t0)
|
||||
@@ -343,8 +343,8 @@ glabel L8009E9AC
|
||||
/* 09F614 8009EA14 AFA2006C */ sw $v0, 0x6c($sp)
|
||||
/* 09F618 8009EA18 8FB9006C */ lw $t9, 0x6c($sp)
|
||||
/* 09F61C 8009EA1C 8FBF007C */ lw $ra, 0x7c($sp)
|
||||
/* 09F620 8009EA20 3C088019 */ lui $t0, %hi(D_8018E75C) # $t0, 0x8019
|
||||
/* 09F624 8009EA24 2508E75C */ addiu $t0, %lo(D_8018E75C) # addiu $t0, $t0, -0x18a4
|
||||
/* 09F620 8009EA20 3C088019 */ lui $t0, %hi(sGfxPtr) # $t0, 0x8019
|
||||
/* 09F624 8009EA24 2508E75C */ addiu $t0, %lo(sGfxPtr) # addiu $t0, $t0, -0x18a4
|
||||
/* 09F628 8009EA28 AF220004 */ sw $v0, 4($t9)
|
||||
/* 09F62C 8009EA2C 8D030000 */ lw $v1, ($t0)
|
||||
/* 09F630 8009EA30 3C180708 */ lui $t8, (0x07080200 >> 16) # lui $t8, 0x708
|
||||
@@ -425,16 +425,16 @@ glabel L8009E9AC
|
||||
/* 09F75C 8009EB5C 0C026E55 */ jal func_8009B954
|
||||
/* 09F760 8009EB60 248415CC */ addiu $a0, %lo(D_020015CC) # addiu $a0, $a0, 0x15cc
|
||||
/* 09F764 8009EB64 8FBF007C */ lw $ra, 0x7c($sp)
|
||||
/* 09F768 8009EB68 3C088019 */ lui $t0, %hi(D_8018E75C) # $t0, 0x8019
|
||||
/* 09F76C 8009EB6C 2508E75C */ addiu $t0, %lo(D_8018E75C) # addiu $t0, $t0, -0x18a4
|
||||
/* 09F768 8009EB68 3C088019 */ lui $t0, %hi(sGfxPtr) # $t0, 0x8019
|
||||
/* 09F76C 8009EB6C 2508E75C */ addiu $t0, %lo(sGfxPtr) # addiu $t0, $t0, -0x18a4
|
||||
/* 09F770 8009EB70 3C050200 */ lui $a1, %hi(D_020015CC) # $a1, 0x200
|
||||
/* 09F774 8009EB74 8FE6000C */ lw $a2, 0xc($ra)
|
||||
/* 09F778 8009EB78 8FE70010 */ lw $a3, 0x10($ra)
|
||||
/* 09F77C 8009EB7C 24A515CC */ addiu $a1, %lo(D_020015CC) # addiu $a1, $a1, 0x15cc
|
||||
/* 09F780 8009EB80 0C026E9D */ jal func_8009BA74
|
||||
/* 09F780 8009EB80 0C026E9D */ jal render_menu_textures
|
||||
/* 09F784 8009EB84 8D040000 */ lw $a0, ($t0)
|
||||
/* 09F788 8009EB88 3C088019 */ lui $t0, %hi(D_8018E75C) # $t0, 0x8019
|
||||
/* 09F78C 8009EB8C 2508E75C */ addiu $t0, %lo(D_8018E75C) # addiu $t0, $t0, -0x18a4
|
||||
/* 09F788 8009EB88 3C088019 */ lui $t0, %hi(sGfxPtr) # $t0, 0x8019
|
||||
/* 09F78C 8009EB8C 2508E75C */ addiu $t0, %lo(sGfxPtr) # addiu $t0, $t0, -0x18a4
|
||||
/* 09F790 8009EB90 0C026E66 */ jal func_8009B998
|
||||
/* 09F794 8009EB94 AD020000 */ sw $v0, ($t0)
|
||||
/* 09F798 8009EB98 3C040200 */ lui $a0, %hi(D_02001630) # $a0, 0x200
|
||||
@@ -444,16 +444,16 @@ glabel L8009E9AC
|
||||
/* 09F7A8 8009EBA8 0C026E55 */ jal func_8009B954
|
||||
/* 09F7AC 8009EBAC 24841630 */ addiu $a0, %lo(D_02001630) # addiu $a0, $a0, 0x1630
|
||||
/* 09F7B0 8009EBB0 8FBF007C */ lw $ra, 0x7c($sp)
|
||||
/* 09F7B4 8009EBB4 3C088019 */ lui $t0, %hi(D_8018E75C) # $t0, 0x8019
|
||||
/* 09F7B8 8009EBB8 2508E75C */ addiu $t0, %lo(D_8018E75C) # addiu $t0, $t0, -0x18a4
|
||||
/* 09F7B4 8009EBB4 3C088019 */ lui $t0, %hi(sGfxPtr) # $t0, 0x8019
|
||||
/* 09F7B8 8009EBB8 2508E75C */ addiu $t0, %lo(sGfxPtr) # addiu $t0, $t0, -0x18a4
|
||||
/* 09F7BC 8009EBBC 3C050200 */ lui $a1, %hi(D_02001630) # $a1, 0x200
|
||||
/* 09F7C0 8009EBC0 8FE6000C */ lw $a2, 0xc($ra)
|
||||
/* 09F7C4 8009EBC4 8FE70010 */ lw $a3, 0x10($ra)
|
||||
/* 09F7C8 8009EBC8 24A51630 */ addiu $a1, %lo(D_02001630) # addiu $a1, $a1, 0x1630
|
||||
/* 09F7CC 8009EBCC 0C026E9D */ jal func_8009BA74
|
||||
/* 09F7CC 8009EBCC 0C026E9D */ jal render_menu_textures
|
||||
/* 09F7D0 8009EBD0 8D040000 */ lw $a0, ($t0)
|
||||
/* 09F7D4 8009EBD4 3C088019 */ lui $t0, %hi(D_8018E75C) # $t0, 0x8019
|
||||
/* 09F7D8 8009EBD8 2508E75C */ addiu $t0, %lo(D_8018E75C) # addiu $t0, $t0, -0x18a4
|
||||
/* 09F7D4 8009EBD4 3C088019 */ lui $t0, %hi(sGfxPtr) # $t0, 0x8019
|
||||
/* 09F7D8 8009EBD8 2508E75C */ addiu $t0, %lo(sGfxPtr) # addiu $t0, $t0, -0x18a4
|
||||
/* 09F7DC 8009EBDC 0C026E66 */ jal func_8009B998
|
||||
/* 09F7E0 8009EBE0 AD020000 */ sw $v0, ($t0)
|
||||
/* 09F7E4 8009EBE4 3C040200 */ lui $a0, %hi(D_02001658) # $a0, 0x200
|
||||
@@ -463,16 +463,16 @@ glabel L8009E9AC
|
||||
/* 09F7F4 8009EBF4 0C026E55 */ jal func_8009B954
|
||||
/* 09F7F8 8009EBF8 24841658 */ addiu $a0, %lo(D_02001658) # addiu $a0, $a0, 0x1658
|
||||
/* 09F7FC 8009EBFC 8FBF007C */ lw $ra, 0x7c($sp)
|
||||
/* 09F800 8009EC00 3C088019 */ lui $t0, %hi(D_8018E75C) # $t0, 0x8019
|
||||
/* 09F804 8009EC04 2508E75C */ addiu $t0, %lo(D_8018E75C) # addiu $t0, $t0, -0x18a4
|
||||
/* 09F800 8009EC00 3C088019 */ lui $t0, %hi(sGfxPtr) # $t0, 0x8019
|
||||
/* 09F804 8009EC04 2508E75C */ addiu $t0, %lo(sGfxPtr) # addiu $t0, $t0, -0x18a4
|
||||
/* 09F808 8009EC08 3C050200 */ lui $a1, %hi(D_02001658) # $a1, 0x200
|
||||
/* 09F80C 8009EC0C 8FE6000C */ lw $a2, 0xc($ra)
|
||||
/* 09F810 8009EC10 8FE70010 */ lw $a3, 0x10($ra)
|
||||
/* 09F814 8009EC14 24A51658 */ addiu $a1, %lo(D_02001658) # addiu $a1, $a1, 0x1658
|
||||
/* 09F818 8009EC18 0C026E9D */ jal func_8009BA74
|
||||
/* 09F818 8009EC18 0C026E9D */ jal render_menu_textures
|
||||
/* 09F81C 8009EC1C 8D040000 */ lw $a0, ($t0)
|
||||
/* 09F820 8009EC20 3C088019 */ lui $t0, %hi(D_8018E75C) # $t0, 0x8019
|
||||
/* 09F824 8009EC24 2508E75C */ addiu $t0, %lo(D_8018E75C) # addiu $t0, $t0, -0x18a4
|
||||
/* 09F820 8009EC20 3C088019 */ lui $t0, %hi(sGfxPtr) # $t0, 0x8019
|
||||
/* 09F824 8009EC24 2508E75C */ addiu $t0, %lo(sGfxPtr) # addiu $t0, $t0, -0x18a4
|
||||
/* 09F828 8009EC28 0C026E66 */ jal func_8009B998
|
||||
/* 09F82C 8009EC2C AD020000 */ sw $v0, ($t0)
|
||||
/* 09F830 8009EC30 10000268 */ b .L8009F5D4
|
||||
@@ -514,45 +514,45 @@ glabel L8009ECAC
|
||||
/* 09F8AC 8009ECAC 0C02D557 */ jal has_unlocked_extra_mode
|
||||
/* 09F8B0 8009ECB0 00000000 */ nop
|
||||
/* 09F8B4 8009ECB4 0002C080 */ sll $t8, $v0, 2
|
||||
/* 09F8B8 8009ECB8 3C04800E */ lui $a0, %hi(D_800E7D4C)
|
||||
/* 09F8B8 8009ECB8 3C04800E */ lui $a0, %hi(gMenuTexturesBackground)
|
||||
/* 09F8BC 8009ECBC 00982021 */ addu $a0, $a0, $t8
|
||||
/* 09F8C0 8009ECC0 8C847D4C */ lw $a0, %lo(D_800E7D4C)($a0)
|
||||
/* 09F8C4 8009ECC4 0C0265AF */ jal load_menu_img2
|
||||
/* 09F8C0 8009ECC0 8C847D4C */ lw $a0, %lo(gMenuTexturesBackground)($a0)
|
||||
/* 09F8C4 8009ECC4 0C0265AF */ jal load_menu_img_comp_type
|
||||
/* 09F8C8 8009ECC8 00002825 */ move $a1, $zero
|
||||
/* 09F8CC 8009ECCC 10000241 */ b .L8009F5D4
|
||||
/* 09F8D0 8009ECD0 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
glabel L8009ECD4
|
||||
/* 09F8D4 8009ECD4 0C01BB91 */ jal load_mario_kart_64_logo
|
||||
/* 09F8D8 8009ECD8 00000000 */ nop
|
||||
/* 09F8DC 8009ECDC 3C028019 */ lui $v0, %hi(gMenuTextureBufferIndex) # $v0, 0x8019
|
||||
/* 09F8E0 8009ECE0 2442E110 */ addiu $v0, %lo(gMenuTextureBufferIndex) # 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(D_020045E8) # $a0, 0x200
|
||||
/* 09F8EC 8009ECEC 3C040200 */ lui $a0, %hi(seg2_copyright_1996_texture) # $a0, 0x200
|
||||
/* 09F8F0 8009ECF0 03217021 */ addu $t6, $t9, $at
|
||||
/* 09F8F4 8009ECF4 AC4E0000 */ sw $t6, ($v0)
|
||||
/* 09F8F8 8009ECF8 0C026461 */ jal load_menu_img
|
||||
/* 09F8FC 8009ECFC 248445E8 */ addiu $a0, %lo(D_020045E8) # addiu $a0, $a0, 0x45e8
|
||||
/* 09F8FC 8009ECFC 248445E8 */ addiu $a0, %lo(seg2_copyright_1996_texture) # addiu $a0, $a0, 0x45e8
|
||||
/* 09F900 8009ED00 10000234 */ b .L8009F5D4
|
||||
/* 09F904 8009ED04 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
glabel L8009ED08
|
||||
/* 09F908 8009ED08 3C040200 */ lui $a0, %hi(D_02004610) # $a0, 0x200
|
||||
/* 09F908 8009ED08 3C040200 */ lui $a0, %hi(seg2_push_start_button_texture) # $a0, 0x200
|
||||
/* 09F90C 8009ED0C 0C026461 */ jal load_menu_img
|
||||
/* 09F910 8009ED10 24844610 */ addiu $a0, %lo(D_02004610) # addiu $a0, $a0, 0x4610
|
||||
/* 09F910 8009ED10 24844610 */ addiu $a0, %lo(seg2_push_start_button_texture) # addiu $a0, $a0, 0x4610
|
||||
/* 09F914 8009ED14 1000022F */ b .L8009F5D4
|
||||
/* 09F918 8009ED18 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
glabel L8009ED1C
|
||||
/* 09F91C 8009ED1C 0C02D557 */ jal has_unlocked_extra_mode
|
||||
/* 09F920 8009ED20 00000000 */ nop
|
||||
/* 09F924 8009ED24 00027880 */ sll $t7, $v0, 2
|
||||
/* 09F928 8009ED28 3C04800E */ lui $a0, %hi(D_800E7D4C)
|
||||
/* 09F928 8009ED28 3C04800E */ lui $a0, %hi(gMenuTexturesBackground)
|
||||
/* 09F92C 8009ED2C 008F2021 */ addu $a0, $a0, $t7
|
||||
/* 09F930 8009ED30 8C847D4C */ lw $a0, %lo(D_800E7D4C)($a0)
|
||||
/* 09F934 8009ED34 0C0265AF */ jal load_menu_img2
|
||||
/* 09F930 8009ED30 8C847D4C */ lw $a0, %lo(gMenuTexturesBackground)($a0)
|
||||
/* 09F934 8009ED34 0C0265AF */ jal load_menu_img_comp_type
|
||||
/* 09F938 8009ED38 00002825 */ move $a1, $zero
|
||||
/* 09F93C 8009ED3C 3C040200 */ lui $a0, %hi(D_02004B74) # $a0, 0x200
|
||||
/* 09F940 8009ED40 24844B74 */ addiu $a0, %lo(D_02004B74) # addiu $a0, $a0, 0x4b74
|
||||
/* 09F944 8009ED44 0C0265AF */ jal load_menu_img2
|
||||
/* 09F944 8009ED44 0C0265AF */ jal load_menu_img_comp_type
|
||||
/* 09F948 8009ED48 00002825 */ move $a1, $zero
|
||||
/* 09F94C 8009ED4C 00002025 */ move $a0, $zero
|
||||
/* 09F950 8009ED50 0C026C29 */ jal convert_img_to_greyscale
|
||||
@@ -583,7 +583,7 @@ glabel L8009ED9C
|
||||
/* 09F9AC 8009EDAC 0C026449 */ jal segmented_to_virtual_dupe
|
||||
/* 09F9B0 8009EDB0 8C84822C */ lw $a0, %lo(D_800E822C)($a0) # -0x7dd4($a0)
|
||||
/* 09F9B4 8009EDB4 00402025 */ move $a0, $v0
|
||||
/* 09F9B8 8009EDB8 0C0265AF */ jal load_menu_img2
|
||||
/* 09F9B8 8009EDB8 0C0265AF */ jal load_menu_img_comp_type
|
||||
/* 09F9BC 8009EDBC 00002825 */ move $a1, $zero
|
||||
/* 09F9C0 8009EDC0 10000204 */ b .L8009F5D4
|
||||
/* 09F9C4 8009EDC4 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
@@ -597,7 +597,7 @@ glabel L8009EDC8
|
||||
/* 09F9E0 8009EDE0 0C026449 */ jal segmented_to_virtual_dupe
|
||||
/* 09F9E4 8009EDE4 AFA20024 */ sw $v0, 0x24($sp)
|
||||
/* 09F9E8 8009EDE8 00402025 */ move $a0, $v0
|
||||
/* 09F9EC 8009EDEC 0C0265AF */ jal load_menu_img2
|
||||
/* 09F9EC 8009EDEC 0C0265AF */ jal load_menu_img_comp_type
|
||||
/* 09F9F0 8009EDF0 00002825 */ move $a1, $zero
|
||||
/* 09F9F4 8009EDF4 8FAF0024 */ lw $t7, 0x24($sp)
|
||||
/* 09F9F8 8009EDF8 0C026449 */ jal segmented_to_virtual_dupe
|
||||
@@ -609,7 +609,7 @@ glabel L8009EDC8
|
||||
glabel L8009EE10
|
||||
/* 09FA10 8009EE10 3C040200 */ lui $a0, %hi(D_02004B4C) # $a0, 0x200
|
||||
/* 09FA14 8009EE14 24844B4C */ addiu $a0, %lo(D_02004B4C) # addiu $a0, $a0, 0x4b4c
|
||||
/* 09FA18 8009EE18 0C0265AF */ jal load_menu_img2
|
||||
/* 09FA18 8009EE18 0C0265AF */ jal load_menu_img_comp_type
|
||||
/* 09FA1C 8009EE1C 00002825 */ move $a1, $zero
|
||||
/* 09FA20 8009EE20 100001EC */ b .L8009F5D4
|
||||
/* 09FA24 8009EE24 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
@@ -617,7 +617,7 @@ glabel L8009EE28
|
||||
/* 09FA28 8009EE28 3C040200 */ lui $a0, %hi(D_02004B74) # $a0, 0x200
|
||||
/* 09FA2C 8009EE2C AFBF007C */ sw $ra, 0x7c($sp)
|
||||
/* 09FA30 8009EE30 24844B74 */ addiu $a0, %lo(D_02004B74) # addiu $a0, $a0, 0x4b74
|
||||
/* 09FA34 8009EE34 0C0265AF */ jal load_menu_img2
|
||||
/* 09FA34 8009EE34 0C0265AF */ jal load_menu_img_comp_type
|
||||
/* 09FA38 8009EE38 00002825 */ move $a1, $zero
|
||||
/* 09FA3C 8009EE3C 8FBF007C */ lw $ra, 0x7c($sp)
|
||||
/* 09FA40 8009EE40 24180020 */ li $t8, 32
|
||||
@@ -654,7 +654,7 @@ glabel L8009EE74
|
||||
/* 09FAB4 8009EEB4 0C026449 */ jal segmented_to_virtual_dupe
|
||||
/* 09FAB8 8009EEB8 8C847CA8 */ lw $a0, %lo(D_800E7D54 - 0xAC)($a0)
|
||||
/* 09FABC 8009EEBC 00402025 */ move $a0, $v0
|
||||
/* 09FAC0 8009EEC0 0C0265AF */ jal load_menu_img2
|
||||
/* 09FAC0 8009EEC0 0C0265AF */ jal load_menu_img_comp_type
|
||||
/* 09FAC4 8009EEC4 00002825 */ move $a1, $zero
|
||||
/* 09FAC8 8009EEC8 100001C2 */ b .L8009F5D4
|
||||
/* 09FACC 8009EECC 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
@@ -682,7 +682,7 @@ glabel L8009EF08
|
||||
/* 09FB18 8009EF18 0C026449 */ jal segmented_to_virtual_dupe
|
||||
/* 09FB1C 8009EF1C 8C84817C */ lw $a0, %lo(D_800E817C)($a0) # -0x7e84($a0)
|
||||
/* 09FB20 8009EF20 00402025 */ move $a0, $v0
|
||||
/* 09FB24 8009EF24 0C0265AF */ jal load_menu_img2
|
||||
/* 09FB24 8009EF24 0C0265AF */ jal load_menu_img_comp_type
|
||||
/* 09FB28 8009EF28 00002825 */ move $a1, $zero
|
||||
/* 09FB2C 8009EF2C 100001A9 */ b .L8009F5D4
|
||||
/* 09FB30 8009EF30 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
@@ -772,7 +772,7 @@ glabel L8009F050
|
||||
/* 09FC68 8009F068 0C026449 */ jal segmented_to_virtual_dupe
|
||||
/* 09FC6C 8009F06C 8C848294 */ lw $a0, %lo(D_800E8294)($a0) # -0x7d6c($a0)
|
||||
/* 09FC70 8009F070 00402025 */ move $a0, $v0
|
||||
/* 09FC74 8009F074 0C0265AF */ jal load_menu_img2
|
||||
/* 09FC74 8009F074 0C0265AF */ jal load_menu_img_comp_type
|
||||
/* 09FC78 8009F078 00002825 */ move $a1, $zero
|
||||
/* 09FC7C 8009F07C 8FBF007C */ lw $ra, 0x7c($sp)
|
||||
/* 09FC80 8009F080 24180037 */ li $t8, 55
|
||||
@@ -785,7 +785,7 @@ glabel L8009F094
|
||||
/* 09FC98 8009F098 0C026449 */ jal segmented_to_virtual_dupe
|
||||
/* 09FC9C 8009F09C 24844A0C */ addiu $a0, %lo(D_02004A0C) # addiu $a0, $a0, 0x4a0c
|
||||
/* 09FCA0 8009F0A0 00402025 */ move $a0, $v0
|
||||
/* 09FCA4 8009F0A4 0C0265AF */ jal load_menu_img2
|
||||
/* 09FCA4 8009F0A4 0C0265AF */ jal load_menu_img_comp_type
|
||||
/* 09FCA8 8009F0A8 00002825 */ move $a1, $zero
|
||||
/* 09FCAC 8009F0AC 0C02D6E5 */ jal controller_pak_1_status
|
||||
/* 09FCB0 8009F0B0 00000000 */ nop
|
||||
@@ -809,16 +809,16 @@ glabel L8009F0E0
|
||||
/* 09FCF0 8009F0F0 0C026449 */ jal segmented_to_virtual_dupe
|
||||
/* 09FCF4 8009F0F4 8C848114 */ lw $a0, %lo(D_800E8114)($a0) # -0x7eec($a0)
|
||||
/* 09FCF8 8009F0F8 00402025 */ move $a0, $v0
|
||||
/* 09FCFC 8009F0FC 0C0265AF */ jal load_menu_img2
|
||||
/* 09FCFC 8009F0FC 0C0265AF */ jal load_menu_img_comp_type
|
||||
/* 09FD00 8009F100 00002825 */ move $a1, $zero
|
||||
/* 09FD04 8009F104 10000133 */ b .L8009F5D4
|
||||
/* 09FD08 8009F108 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
glabel L8009F10C
|
||||
/* 09FD0C 8009F10C 3C040200 */ lui $a0, %hi(D_02004A34) # $a0, 0x200
|
||||
/* 09FD0C 8009F10C 3C040200 */ lui $a0, %hi(seg2_data_texture) # $a0, 0x200
|
||||
/* 09FD10 8009F110 0C026449 */ jal segmented_to_virtual_dupe
|
||||
/* 09FD14 8009F114 24844A34 */ addiu $a0, %lo(D_02004A34) # addiu $a0, $a0, 0x4a34
|
||||
/* 09FD14 8009F114 24844A34 */ addiu $a0, %lo(seg2_data_texture) # addiu $a0, $a0, 0x4a34
|
||||
/* 09FD18 8009F118 00402025 */ move $a0, $v0
|
||||
/* 09FD1C 8009F11C 0C0265AF */ jal load_menu_img2
|
||||
/* 09FD1C 8009F11C 0C0265AF */ jal load_menu_img_comp_type
|
||||
/* 09FD20 8009F120 00002825 */ move $a1, $zero
|
||||
/* 09FD24 8009F124 0C02D6E5 */ jal controller_pak_1_status
|
||||
/* 09FD28 8009F128 00000000 */ nop
|
||||
@@ -869,7 +869,7 @@ glabel L8009F174
|
||||
/* 09FDC8 8009F1C8 0C026449 */ jal segmented_to_virtual_dupe
|
||||
/* 09FDCC 8009F1CC 8C847D74 */ lw $a0, %lo(D_800E7D74)($a0)
|
||||
/* 09FDD0 8009F1D0 00402025 */ move $a0, $v0
|
||||
/* 09FDD4 8009F1D4 0C0265AF */ jal load_menu_img2
|
||||
/* 09FDD4 8009F1D4 0C0265AF */ jal load_menu_img_comp_type
|
||||
/* 09FDD8 8009F1D8 2405FFFF */ li $a1, -1
|
||||
/* 09FDDC 8009F1DC 8FBF007C */ lw $ra, 0x7c($sp)
|
||||
/* 09FDE0 8009F1E0 3C04800E */ lui $a0, %hi(D_800E7DC4)
|
||||
@@ -897,13 +897,13 @@ glabel L8009F174
|
||||
/* 09FE30 8009F230 0C026449 */ jal segmented_to_virtual_dupe
|
||||
/* 09FE34 8009F234 8C847DC4 */ lw $a0, %lo(D_800E7DC4)($a0)
|
||||
/* 09FE38 8009F238 00402025 */ move $a0, $v0
|
||||
/* 09FE3C 8009F23C 0C0265AF */ jal load_menu_img2
|
||||
/* 09FE3C 8009F23C 0C0265AF */ jal load_menu_img_comp_type
|
||||
/* 09FE40 8009F240 00002825 */ move $a1, $zero
|
||||
/* 09FE44 8009F244 3C040200 */ lui $a0, %hi(D_02004A0C) # $a0, 0x200
|
||||
/* 09FE48 8009F248 0C026449 */ jal segmented_to_virtual_dupe
|
||||
/* 09FE4C 8009F24C 24844A0C */ addiu $a0, %lo(D_02004A0C) # addiu $a0, $a0, 0x4a0c
|
||||
/* 09FE50 8009F250 00402025 */ move $a0, $v0
|
||||
/* 09FE54 8009F254 0C0265AF */ jal load_menu_img2
|
||||
/* 09FE54 8009F254 0C0265AF */ jal load_menu_img_comp_type
|
||||
/* 09FE58 8009F258 00002825 */ move $a1, $zero
|
||||
/* 09FE5C 8009F25C 100000DD */ b .L8009F5D4
|
||||
/* 09FE60 8009F260 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
@@ -975,7 +975,7 @@ glabel L8009F264
|
||||
/* 09FF50 8009F350 0C026449 */ jal segmented_to_virtual_dupe
|
||||
/* 09FF54 8009F354 8C847D54 */ lw $a0, %lo(D_800E7D54)($a0)
|
||||
/* 09FF58 8009F358 00402025 */ move $a0, $v0
|
||||
/* 09FF5C 8009F35C 0C0265AF */ jal load_menu_img2
|
||||
/* 09FF5C 8009F35C 0C0265AF */ jal load_menu_img_comp_type
|
||||
/* 09FF60 8009F360 00002825 */ move $a1, $zero
|
||||
/* 09FF64 8009F364 8FA60024 */ lw $a2, 0x24($sp)
|
||||
/* 09FF68 8009F368 3C04800E */ lui $a0, %hi(D_800E7FF0)
|
||||
@@ -1070,7 +1070,7 @@ glabel L8009F430
|
||||
/* 0A00B0 8009F4B0 0C026449 */ jal segmented_to_virtual_dupe
|
||||
/* 0A00B4 8009F4B4 00000000 */ nop
|
||||
/* 0A00B8 8009F4B8 00402025 */ move $a0, $v0
|
||||
/* 0A00BC 8009F4BC 0C0265AF */ jal load_menu_img2
|
||||
/* 0A00BC 8009F4BC 0C0265AF */ jal load_menu_img_comp_type
|
||||
/* 0A00C0 8009F4C0 00002825 */ move $a1, $zero
|
||||
/* 0A00C4 8009F4C4 0C01BBD8 */ jal func_8006EF60
|
||||
/* 0A00C8 8009F4C8 00000000 */ nop
|
||||
@@ -1098,7 +1098,7 @@ glabel L8009F510
|
||||
/* 0A0114 8009F514 0C026449 */ jal segmented_to_virtual_dupe
|
||||
/* 0A0118 8009F518 24844638 */ addiu $a0, %lo(D_02004638) # addiu $a0, $a0, 0x4638
|
||||
/* 0A011C 8009F51C 00402025 */ move $a0, $v0
|
||||
/* 0A0120 8009F520 0C0265AF */ jal load_menu_img2
|
||||
/* 0A0120 8009F520 0C0265AF */ jal load_menu_img_comp_type
|
||||
/* 0A0124 8009F524 00002825 */ move $a1, $zero
|
||||
/* 0A0128 8009F528 1000002A */ b .L8009F5D4
|
||||
/* 0A012C 8009F52C 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
@@ -1146,7 +1146,7 @@ glabel L8009F530
|
||||
/* 0A01BC 8009F5BC 0C026449 */ jal segmented_to_virtual_dupe
|
||||
/* 0A01C0 8009F5C0 8C847D54 */ lw $a0, %lo(D_800E7D54)($a0)
|
||||
/* 0A01C4 8009F5C4 00402025 */ move $a0, $v0
|
||||
/* 0A01C8 8009F5C8 0C0265AF */ jal load_menu_img2
|
||||
/* 0A01C8 8009F5C8 0C0265AF */ jal load_menu_img_comp_type
|
||||
/* 0A01CC 8009F5CC 00002825 */ move $a1, $zero
|
||||
.L8009F5D0:
|
||||
glabel L8009F5D0
|
||||
+8
-8
@@ -24,10 +24,10 @@ glabel func_80099AEC
|
||||
/* 09A73C 80099B3C 3C028019 */ lui $v0, %hi(D_8018E060) # 0x8019
|
||||
/* 09A740 80099B40 2451E060 */ addiu $s1, $v0, %lo(D_8018E060) # -0x1fa0
|
||||
/* 09A744 80099B44 8E320000 */ lw $s2, ($s1)
|
||||
/* 09A748 80099B48 3C148019 */ lui $s4, %hi(D_8018D9B4) # $s4, 0x8019
|
||||
/* 09A748 80099B48 3C148019 */ lui $s4, %hi(gMenuCompressedBuffer) # $s4, 0x8019
|
||||
/* 09A74C 80099B4C 0000A825 */ move $s5, $zero
|
||||
/* 09A750 80099B50 124000B4 */ beqz $s2, .L80099E24
|
||||
/* 09A754 80099B54 2694D9B4 */ addiu $s4, %lo(D_8018D9B4) # addiu $s4, $s4, -0x264c
|
||||
/* 09A754 80099B54 2694D9B4 */ addiu $s4, %lo(gMenuCompressedBuffer) # addiu $s4, $s4, -0x264c
|
||||
/* 09A758 80099B58 96430010 */ lhu $v1, 0x10($s2)
|
||||
/* 09A75C 80099B5C 24101400 */ li $s0, 5120
|
||||
/* 09A760 80099B60 10600003 */ beqz $v1, .L80099B70
|
||||
@@ -77,8 +77,8 @@ glabel func_80099AEC
|
||||
/* 09A800 80099C00 02C02025 */ move $a0, $s6
|
||||
/* 09A804 80099C04 0C0335D4 */ jal osRecvMesg
|
||||
/* 09A808 80099C08 24060001 */ li $a2, 1
|
||||
/* 09A80C 80099C0C 3C1E8019 */ lui $fp, %hi(D_8018E118) # $fp, 0x8019
|
||||
/* 09A810 80099C10 27DEE118 */ addiu $fp, %lo(D_8018E118) # addiu $fp, $fp, -0x1ee8
|
||||
/* 09A80C 80099C0C 3C1E8019 */ lui $fp, %hi(sMenuTextureMap) # $fp, 0x8019
|
||||
/* 09A810 80099C10 27DEE118 */ addiu $fp, %lo(sMenuTextureMap) # addiu $fp, $fp, -0x1ee8
|
||||
/* 09A814 80099C14 8E220008 */ lw $v0, 8($s1)
|
||||
.L80099C18:
|
||||
/* 09A818 80099C18 8FB30060 */ lw $s3, 0x60($sp)
|
||||
@@ -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(D_8018D9B0) # $t1, 0x8019
|
||||
/* 09A8DC 80099CDC 8D29D9B0 */ lw $t1, %lo(D_8018D9B0)($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(D_8018D9B0) # $t7, 0x8019
|
||||
/* 09A9DC 80099DDC 8DEFD9B0 */ lw $t7, %lo(D_8018D9B0)($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)
|
||||
+2
-2
@@ -13,10 +13,10 @@ glabel func_80099EC4
|
||||
/* 09AAF0 80099EF0 AFB20030 */ sw $s2, 0x30($sp)
|
||||
/* 09AAF4 80099EF4 AFB00028 */ sw $s0, 0x28($sp)
|
||||
/* 09AAF8 80099EF8 8E320000 */ lw $s2, ($s1)
|
||||
/* 09AAFC 80099EFC 3C138019 */ lui $s3, %hi(D_8018D9B4) # $s3, 0x8019
|
||||
/* 09AAFC 80099EFC 3C138019 */ lui $s3, %hi(gMenuCompressedBuffer) # $s3, 0x8019
|
||||
/* 09AB00 80099F00 0000A025 */ move $s4, $zero
|
||||
/* 09AB04 80099F04 124000C0 */ beqz $s2, .L8009A208
|
||||
/* 09AB08 80099F08 2673D9B4 */ addiu $s3, %lo(D_8018D9B4) # addiu $s3, $s3, -0x264c
|
||||
/* 09AB08 80099F08 2673D9B4 */ addiu $s3, %lo(gMenuCompressedBuffer) # addiu $s3, $s3, -0x264c
|
||||
/* 09AB0C 80099F0C 96430010 */ lhu $v1, 0x10($s2)
|
||||
/* 09AB10 80099F10 24101400 */ li $s0, 5120
|
||||
/* 09AB14 80099F14 10600003 */ beqz $v1, .L80099F24
|
||||
+71
-71
@@ -79,8 +79,8 @@ glabel func_800A1FB0
|
||||
/* 0A2C1C 800A201C 0C02637E */ jal draw_box
|
||||
/* 0A2C20 800A2020 24070140 */ li $a3, 320
|
||||
/* 0A2C24 800A2024 AE020000 */ sw $v0, ($s0)
|
||||
/* 0A2C28 800A2028 3C038019 */ lui $v1, %hi(D_8018EDEC) # $v1, 0x8019
|
||||
/* 0A2C2C 800A202C 8063EDEC */ lb $v1, %lo(D_8018EDEC)($v1)
|
||||
/* 0A2C28 800A2028 3C038019 */ lui $v1, %hi(gSubMenuSelection) # $v1, 0x8019
|
||||
/* 0A2C2C 800A202C 8063EDEC */ lb $v1, %lo(gSubMenuSelection)($v1)
|
||||
/* 0A2C30 800A2030 2478FFEB */ addiu $t8, $v1, -0x15
|
||||
/* 0A2C34 800A2034 2F010033 */ sltiu $at, $t8, 0x33
|
||||
/* 0A2C38 800A2038 10200310 */ beqz $at, .L800A2C7C
|
||||
@@ -94,8 +94,8 @@ glabel L800A2054
|
||||
/* 0A2C54 800A2054 3C013F80 */ li $at, 0x3F800000 # 1.000000
|
||||
/* 0A2C58 800A2058 4481B000 */ mtc1 $at, $f22
|
||||
/* 0A2C5C 800A205C 3C01800F */ lui $at, %hi(D_800F1C28) # $at, 0x800f
|
||||
/* 0A2C60 800A2060 3C11800E */ lui $s1, %hi(D_800E7868) # $s1, 0x800e
|
||||
/* 0A2C64 800A2064 26317868 */ addiu $s1, %lo(D_800E7868) # addiu $s1, $s1, 0x7868
|
||||
/* 0A2C60 800A2060 3C11800E */ lui $s1, %hi(gTextOptionMenu) # $s1, 0x800e
|
||||
/* 0A2C64 800A2064 26317868 */ addiu $s1, %lo(gTextOptionMenu) # addiu $s1, $s1, 0x7868
|
||||
/* 0A2C68 800A2068 C4341C28 */ lwc1 $f20, %lo(D_800F1C28)($at)
|
||||
/* 0A2C6C 800A206C 00009025 */ move $s2, $zero
|
||||
/* 0A2C70 800A2070 2464FFEB */ addiu $a0, $v1, -0x15
|
||||
@@ -110,10 +110,10 @@ glabel L800A2054
|
||||
/* 0A2C90 800A2090 8E260000 */ lw $a2, ($s1)
|
||||
/* 0A2C94 800A2094 00003825 */ move $a3, $zero
|
||||
/* 0A2C98 800A2098 E7B40010 */ swc1 $f20, 0x10($sp)
|
||||
/* 0A2C9C 800A209C 0C024CC9 */ jal func_80093324
|
||||
/* 0A2C9C 800A209C 0C024CC9 */ jal print_text_mode_1
|
||||
/* 0A2CA0 800A20A0 E7B60014 */ swc1 $f22, 0x14($sp)
|
||||
/* 0A2CA4 800A20A4 3C048019 */ lui $a0, %hi(D_8018EDEC) # $a0, 0x8019
|
||||
/* 0A2CA8 800A20A8 8084EDEC */ lb $a0, %lo(D_8018EDEC)($a0)
|
||||
/* 0A2CA4 800A20A4 3C048019 */ lui $a0, %hi(gSubMenuSelection) # $a0, 0x8019
|
||||
/* 0A2CA8 800A20A8 8084EDEC */ lb $a0, %lo(gSubMenuSelection)($a0)
|
||||
/* 0A2CAC 800A20AC 26310004 */ addiu $s1, $s1, 4
|
||||
/* 0A2CB0 800A20B0 24190032 */ li $t9, 50
|
||||
/* 0A2CB4 800A20B4 2484FFEB */ addiu $a0, $a0, -0x15
|
||||
@@ -137,11 +137,11 @@ glabel L800A2054
|
||||
/* 0A2CF8 800A20F8 24050078 */ li $a1, 120
|
||||
/* 0A2CFC 800A20FC 00003825 */ move $a3, $zero
|
||||
/* 0A2D00 800A2100 E7B60010 */ swc1 $f22, 0x10($sp)
|
||||
/* 0A2D04 800A2104 0C024DBB */ jal draw_text
|
||||
/* 0A2D04 800A2104 0C024DBB */ jal print_text1_center_mode_1
|
||||
/* 0A2D08 800A2108 E7B60014 */ swc1 $f22, 0x14($sp)
|
||||
/* 0A2D0C 800A210C 3C038019 */ lui $v1, %hi(D_8018EDEC) # $v1, 0x8019
|
||||
/* 0A2D0C 800A210C 3C038019 */ lui $v1, %hi(gSubMenuSelection) # $v1, 0x8019
|
||||
/* 0A2D10 800A2110 100002DA */ b .L800A2C7C
|
||||
/* 0A2D14 800A2114 8063EDEC */ lb $v1, %lo(D_8018EDEC)($v1)
|
||||
/* 0A2D14 800A2114 8063EDEC */ lb $v1, %lo(gSubMenuSelection)($v1)
|
||||
glabel L800A2118
|
||||
/* 0A2D18 800A2118 0C024C36 */ jal set_text_color
|
||||
/* 0A2D1C 800A211C 24040003 */ li $a0, 3
|
||||
@@ -158,14 +158,14 @@ glabel L800A2118
|
||||
/* 0A2D44 800A2144 8E260000 */ lw $a2, ($s1)
|
||||
/* 0A2D48 800A2148 00003825 */ move $a3, $zero
|
||||
/* 0A2D4C 800A214C E7B60010 */ swc1 $f22, 0x10($sp)
|
||||
/* 0A2D50 800A2150 0C024CC9 */ jal func_80093324
|
||||
/* 0A2D50 800A2150 0C024CC9 */ jal print_text_mode_1
|
||||
/* 0A2D54 800A2154 E7B60014 */ swc1 $f22, 0x14($sp)
|
||||
/* 0A2D58 800A2158 26310004 */ addiu $s1, $s1, 4
|
||||
/* 0A2D5C 800A215C 0232082B */ sltu $at, $s1, $s2
|
||||
/* 0A2D60 800A2160 1420FFF6 */ bnez $at, .L800A213C
|
||||
/* 0A2D64 800A2164 26100014 */ addiu $s0, $s0, 0x14
|
||||
/* 0A2D68 800A2168 3C048019 */ lui $a0, %hi(D_8018EDEC) # $a0, 0x8019
|
||||
/* 0A2D6C 800A216C 8084EDEC */ lb $a0, %lo(D_8018EDEC)($a0)
|
||||
/* 0A2D68 800A2168 3C048019 */ lui $a0, %hi(gSubMenuSelection) # $a0, 0x8019
|
||||
/* 0A2D6C 800A216C 8084EDEC */ lb $a0, %lo(gSubMenuSelection)($a0)
|
||||
/* 0A2D70 800A2170 3C11800E */ lui $s1, %hi(D_800E7840) # $s1, 0x800e
|
||||
/* 0A2D74 800A2174 26317840 */ addiu $s1, %lo(D_800E7840) # addiu $s1, $s1, 0x7840
|
||||
/* 0A2D78 800A2178 00009025 */ move $s2, $zero
|
||||
@@ -180,10 +180,10 @@ glabel L800A2118
|
||||
/* 0A2D98 800A2198 8E260000 */ lw $a2, ($s1)
|
||||
/* 0A2D9C 800A219C 00003825 */ move $a3, $zero
|
||||
/* 0A2DA0 800A21A0 E7B60010 */ swc1 $f22, 0x10($sp)
|
||||
/* 0A2DA4 800A21A4 0C024CC9 */ jal func_80093324
|
||||
/* 0A2DA4 800A21A4 0C024CC9 */ jal print_text_mode_1
|
||||
/* 0A2DA8 800A21A8 E7B60014 */ swc1 $f22, 0x14($sp)
|
||||
/* 0A2DAC 800A21AC 3C038019 */ lui $v1, %hi(D_8018EDEC) # $v1, 0x8019
|
||||
/* 0A2DB0 800A21B0 8063EDEC */ lb $v1, %lo(D_8018EDEC)($v1)
|
||||
/* 0A2DAC 800A21AC 3C038019 */ lui $v1, %hi(gSubMenuSelection) # $v1, 0x8019
|
||||
/* 0A2DB0 800A21B0 8063EDEC */ lb $v1, %lo(gSubMenuSelection)($v1)
|
||||
/* 0A2DB4 800A21B4 26310004 */ addiu $s1, $s1, 4
|
||||
/* 0A2DB8 800A21B8 24010002 */ li $at, 2
|
||||
/* 0A2DBC 800A21BC 2464FFE2 */ addiu $a0, $v1, -0x1e
|
||||
@@ -213,19 +213,19 @@ glabel L800A21E4
|
||||
/* 0A2E10 800A2210 8E260000 */ lw $a2, ($s1)
|
||||
/* 0A2E14 800A2214 00003825 */ move $a3, $zero
|
||||
/* 0A2E18 800A2218 E7B60010 */ swc1 $f22, 0x10($sp)
|
||||
/* 0A2E1C 800A221C 0C024CC9 */ jal func_80093324
|
||||
/* 0A2E1C 800A221C 0C024CC9 */ jal print_text_mode_1
|
||||
/* 0A2E20 800A2220 E7B60014 */ swc1 $f22, 0x14($sp)
|
||||
/* 0A2E24 800A2224 26310004 */ addiu $s1, $s1, 4
|
||||
/* 0A2E28 800A2228 1632FFF7 */ bne $s1, $s2, .L800A2208
|
||||
/* 0A2E2C 800A222C 26100014 */ addiu $s0, $s0, 0x14
|
||||
/* 0A2E30 800A2230 3C038019 */ lui $v1, %hi(D_8018EDEC) # $v1, 0x8019
|
||||
/* 0A2E30 800A2230 3C038019 */ lui $v1, %hi(gSubMenuSelection) # $v1, 0x8019
|
||||
/* 0A2E34 800A2234 10000291 */ b .L800A2C7C
|
||||
/* 0A2E38 800A2238 8063EDEC */ lb $v1, %lo(D_8018EDEC)($v1)
|
||||
/* 0A2E38 800A2238 8063EDEC */ lb $v1, %lo(gSubMenuSelection)($v1)
|
||||
glabel L800A223C
|
||||
/* 0A2E3C 800A223C 0C024C36 */ jal set_text_color
|
||||
/* 0A2E40 800A2240 24040002 */ li $a0, 2
|
||||
/* 0A2E44 800A2244 3C028019 */ lui $v0, %hi(D_8018EDEC) # $v0, 0x8019
|
||||
/* 0A2E48 800A2248 8042EDEC */ lb $v0, %lo(D_8018EDEC)($v0)
|
||||
/* 0A2E44 800A2244 3C028019 */ lui $v0, %hi(gSubMenuSelection) # $v0, 0x8019
|
||||
/* 0A2E48 800A2248 8042EDEC */ lb $v0, %lo(gSubMenuSelection)($v0)
|
||||
/* 0A2E4C 800A224C 3C0D800E */ lui $t5, %hi(D_800E78D0) # $t5, 0x800e
|
||||
/* 0A2E50 800A2250 25AD78D0 */ addiu $t5, %lo(D_800E78D0) # addiu $t5, $t5, 0x78d0
|
||||
/* 0A2E54 800A2254 2442FFD6 */ addiu $v0, $v0, -0x2a
|
||||
@@ -243,19 +243,19 @@ glabel L800A223C
|
||||
/* 0A2E80 800A2280 8E260000 */ lw $a2, ($s1)
|
||||
/* 0A2E84 800A2284 00003825 */ move $a3, $zero
|
||||
/* 0A2E88 800A2288 E7B40010 */ swc1 $f20, 0x10($sp)
|
||||
/* 0A2E8C 800A228C 0C024CC9 */ jal func_80093324
|
||||
/* 0A2E8C 800A228C 0C024CC9 */ jal print_text_mode_1
|
||||
/* 0A2E90 800A2290 E7B40014 */ swc1 $f20, 0x14($sp)
|
||||
/* 0A2E94 800A2294 26100014 */ addiu $s0, $s0, 0x14
|
||||
/* 0A2E98 800A2298 1612FFF7 */ bne $s0, $s2, .L800A2278
|
||||
/* 0A2E9C 800A229C 26310004 */ addiu $s1, $s1, 4
|
||||
/* 0A2EA0 800A22A0 3C038019 */ lui $v1, %hi(D_8018EDEC) # $v1, 0x8019
|
||||
/* 0A2EA0 800A22A0 3C038019 */ lui $v1, %hi(gSubMenuSelection) # $v1, 0x8019
|
||||
/* 0A2EA4 800A22A4 10000275 */ b .L800A2C7C
|
||||
/* 0A2EA8 800A22A8 8063EDEC */ lb $v1, %lo(D_8018EDEC)($v1)
|
||||
/* 0A2EA8 800A22A8 8063EDEC */ lb $v1, %lo(gSubMenuSelection)($v1)
|
||||
glabel L800A22AC
|
||||
/* 0A2EAC 800A22AC 0C024C36 */ jal set_text_color
|
||||
/* 0A2EB0 800A22B0 24040002 */ li $a0, 2
|
||||
/* 0A2EB4 800A22B4 3C028019 */ lui $v0, %hi(D_8018EDEC) # $v0, 0x8019
|
||||
/* 0A2EB8 800A22B8 8042EDEC */ lb $v0, %lo(D_8018EDEC)($v0)
|
||||
/* 0A2EB4 800A22B4 3C028019 */ lui $v0, %hi(gSubMenuSelection) # $v0, 0x8019
|
||||
/* 0A2EB8 800A22B8 8042EDEC */ lb $v0, %lo(gSubMenuSelection)($v0)
|
||||
/* 0A2EBC 800A22BC 3C18800E */ lui $t8, %hi(D_800E7890) # $t8, 0x800e
|
||||
/* 0A2EC0 800A22C0 27187890 */ addiu $t8, %lo(D_800E7890) # addiu $t8, $t8, 0x7890
|
||||
/* 0A2EC4 800A22C4 244EFFCC */ addiu $t6, $v0, -0x34
|
||||
@@ -271,19 +271,19 @@ glabel L800A22AC
|
||||
/* 0A2EE8 800A22E8 8E260000 */ lw $a2, ($s1)
|
||||
/* 0A2EEC 800A22EC 00003825 */ move $a3, $zero
|
||||
/* 0A2EF0 800A22F0 E7B40010 */ swc1 $f20, 0x10($sp)
|
||||
/* 0A2EF4 800A22F4 0C024CC9 */ jal func_80093324
|
||||
/* 0A2EF4 800A22F4 0C024CC9 */ jal print_text_mode_1
|
||||
/* 0A2EF8 800A22F8 E7B40014 */ swc1 $f20, 0x14($sp)
|
||||
/* 0A2EFC 800A22FC 26100014 */ addiu $s0, $s0, 0x14
|
||||
/* 0A2F00 800A2300 1612FFF7 */ bne $s0, $s2, .L800A22E0
|
||||
/* 0A2F04 800A2304 26310004 */ addiu $s1, $s1, 4
|
||||
/* 0A2F08 800A2308 3C038019 */ lui $v1, %hi(D_8018EDEC) # $v1, 0x8019
|
||||
/* 0A2F08 800A2308 3C038019 */ lui $v1, %hi(gSubMenuSelection) # $v1, 0x8019
|
||||
/* 0A2F0C 800A230C 1000025B */ b .L800A2C7C
|
||||
/* 0A2F10 800A2310 8063EDEC */ lb $v1, %lo(D_8018EDEC)($v1)
|
||||
/* 0A2F10 800A2310 8063EDEC */ lb $v1, %lo(gSubMenuSelection)($v1)
|
||||
glabel L800A2314
|
||||
/* 0A2F14 800A2314 0C024C36 */ jal set_text_color
|
||||
/* 0A2F18 800A2318 24040002 */ li $a0, 2
|
||||
/* 0A2F1C 800A231C 3C028019 */ lui $v0, %hi(D_8018EDEC) # $v0, 0x8019
|
||||
/* 0A2F20 800A2320 8042EDEC */ lb $v0, %lo(D_8018EDEC)($v0)
|
||||
/* 0A2F1C 800A231C 3C028019 */ lui $v0, %hi(gSubMenuSelection) # $v0, 0x8019
|
||||
/* 0A2F20 800A2320 8042EDEC */ lb $v0, %lo(gSubMenuSelection)($v0)
|
||||
/* 0A2F24 800A2324 3C09800E */ lui $t1, %hi(D_800E7900) # $t1, 0x800e
|
||||
/* 0A2F28 800A2328 25297900 */ addiu $t1, %lo(D_800E7900) # addiu $t1, $t1, 0x7900
|
||||
/* 0A2F2C 800A232C 2442FFBF */ addiu $v0, $v0, -0x41
|
||||
@@ -301,14 +301,14 @@ glabel L800A2314
|
||||
/* 0A2F58 800A2358 8E260000 */ lw $a2, ($s1)
|
||||
/* 0A2F5C 800A235C 00003825 */ move $a3, $zero
|
||||
/* 0A2F60 800A2360 E7B40010 */ swc1 $f20, 0x10($sp)
|
||||
/* 0A2F64 800A2364 0C024CC9 */ jal func_80093324
|
||||
/* 0A2F64 800A2364 0C024CC9 */ jal print_text_mode_1
|
||||
/* 0A2F68 800A2368 E7B40014 */ swc1 $f20, 0x14($sp)
|
||||
/* 0A2F6C 800A236C 26100014 */ addiu $s0, $s0, 0x14
|
||||
/* 0A2F70 800A2370 1612FFF7 */ bne $s0, $s2, .L800A2350
|
||||
/* 0A2F74 800A2374 26310004 */ addiu $s1, $s1, 4
|
||||
/* 0A2F78 800A2378 3C038019 */ lui $v1, %hi(D_8018EDEC) # $v1, 0x8019
|
||||
/* 0A2F78 800A2378 3C038019 */ lui $v1, %hi(gSubMenuSelection) # $v1, 0x8019
|
||||
/* 0A2F7C 800A237C 1000023F */ b .L800A2C7C
|
||||
/* 0A2F80 800A2380 8063EDEC */ lb $v1, %lo(D_8018EDEC)($v1)
|
||||
/* 0A2F80 800A2380 8063EDEC */ lb $v1, %lo(gSubMenuSelection)($v1)
|
||||
glabel L800A2384
|
||||
/* 0A2F84 800A2384 0C024C36 */ jal set_text_color
|
||||
/* 0A2F88 800A2388 24040003 */ li $a0, 3
|
||||
@@ -325,14 +325,14 @@ glabel L800A2384
|
||||
/* 0A2FB0 800A23B0 8E260000 */ lw $a2, ($s1)
|
||||
/* 0A2FB4 800A23B4 00003825 */ move $a3, $zero
|
||||
/* 0A2FB8 800A23B8 E7B60010 */ swc1 $f22, 0x10($sp)
|
||||
/* 0A2FBC 800A23BC 0C024CC9 */ jal func_80093324
|
||||
/* 0A2FBC 800A23BC 0C024CC9 */ jal print_text_mode_1
|
||||
/* 0A2FC0 800A23C0 E7B60014 */ swc1 $f22, 0x14($sp)
|
||||
/* 0A2FC4 800A23C4 26310004 */ addiu $s1, $s1, 4
|
||||
/* 0A2FC8 800A23C8 1632FFF7 */ bne $s1, $s2, .L800A23A8
|
||||
/* 0A2FCC 800A23CC 26100014 */ addiu $s0, $s0, 0x14
|
||||
/* 0A2FD0 800A23D0 3C038019 */ lui $v1, %hi(D_8018EDEC) # $v1, 0x8019
|
||||
/* 0A2FD0 800A23D0 3C038019 */ lui $v1, %hi(gSubMenuSelection) # $v1, 0x8019
|
||||
/* 0A2FD4 800A23D4 10000229 */ b .L800A2C7C
|
||||
/* 0A2FD8 800A23D8 8063EDEC */ lb $v1, %lo(D_8018EDEC)($v1)
|
||||
/* 0A2FD8 800A23D8 8063EDEC */ lb $v1, %lo(gSubMenuSelection)($v1)
|
||||
glabel L800A23DC
|
||||
/* 0A2FDC 800A23DC 24010028 */ li $at, 40
|
||||
/* 0A2FE0 800A23E0 1061000B */ beq $v1, $at, .L800A2410
|
||||
@@ -365,7 +365,7 @@ glabel L800A23DC
|
||||
/* 0A3040 800A2440 24050055 */ li $a1, 85
|
||||
/* 0A3044 800A2444 00003825 */ move $a3, $zero
|
||||
/* 0A3048 800A2448 E7B60010 */ swc1 $f22, 0x10($sp)
|
||||
/* 0A304C 800A244C 0C024DBB */ jal draw_text
|
||||
/* 0A304C 800A244C 0C024DBB */ jal print_text1_center_mode_1
|
||||
/* 0A3050 800A2450 E7B60014 */ swc1 $f22, 0x14($sp)
|
||||
/* 0A3054 800A2454 00146900 */ sll $t5, $s4, 4
|
||||
/* 0A3058 800A2458 01B46821 */ addu $t5, $t5, $s4
|
||||
@@ -396,7 +396,7 @@ glabel L800A23DC
|
||||
/* 0A30B8 800A24B8 8DE60000 */ lw $a2, ($t7)
|
||||
/* 0A30BC 800A24BC E7B80014 */ swc1 $f24, 0x14($sp)
|
||||
/* 0A30C0 800A24C0 E7B80010 */ swc1 $f24, 0x10($sp)
|
||||
/* 0A30C4 800A24C4 0C024DBB */ jal draw_text
|
||||
/* 0A30C4 800A24C4 0C024DBB */ jal print_text1_center_mode_1
|
||||
/* 0A30C8 800A24C8 00003825 */ move $a3, $zero
|
||||
/* 0A30CC 800A24CC 00008025 */ move $s0, $zero
|
||||
/* 0A30D0 800A24D0 24120096 */ li $s2, 150
|
||||
@@ -404,14 +404,14 @@ glabel L800A23DC
|
||||
/* 0A30D4 800A24D4 8FB80078 */ lw $t8, 0x78($sp)
|
||||
/* 0A30D8 800A24D8 1278000F */ beq $s3, $t8, .L800A2518
|
||||
/* 0A30DC 800A24DC 00000000 */ nop
|
||||
/* 0A30E0 800A24E0 3C198019 */ lui $t9, %hi(D_8018EDEC) # $t9, 0x8019
|
||||
/* 0A30E4 800A24E4 8339EDEC */ lb $t9, %lo(D_8018EDEC)($t9)
|
||||
/* 0A30E0 800A24E0 3C198019 */ lui $t9, %hi(gSubMenuSelection) # $t9, 0x8019
|
||||
/* 0A30E4 800A24E4 8339EDEC */ lb $t9, %lo(gSubMenuSelection)($t9)
|
||||
/* 0A30E8 800A24E8 02002825 */ move $a1, $s0
|
||||
/* 0A30EC 800A24EC 24060001 */ li $a2, 1
|
||||
/* 0A30F0 800A24F0 0C024870 */ jal text_rainbow_effect
|
||||
/* 0A30F4 800A24F4 03352023 */ subu $a0, $t9, $s5
|
||||
/* 0A30F8 800A24F8 3C088019 */ lui $t0, %hi(D_8018EDEC) # $t0, 0x8019
|
||||
/* 0A30FC 800A24FC 8108EDEC */ lb $t0, %lo(D_8018EDEC)($t0)
|
||||
/* 0A30F8 800A24F8 3C088019 */ lui $t0, %hi(gSubMenuSelection) # $t0, 0x8019
|
||||
/* 0A30FC 800A24FC 8108EDEC */ lb $t0, %lo(gSubMenuSelection)($t0)
|
||||
/* 0A3100 800A2500 01154823 */ subu $t1, $t0, $s5
|
||||
/* 0A3104 800A2504 5609001C */ bnel $s0, $t1, .L800A2578
|
||||
/* 0A3108 800A2508 26110001 */ addiu $s1, $s0, 1
|
||||
@@ -456,18 +456,18 @@ glabel L800A23DC
|
||||
/* 0A318C 800A258C 27A600B9 */ addiu $a2, $sp, 0xb9
|
||||
/* 0A3190 800A2590 00003825 */ move $a3, $zero
|
||||
/* 0A3194 800A2594 E7B60010 */ swc1 $f22, 0x10($sp)
|
||||
/* 0A3198 800A2598 0C024CC9 */ jal func_80093324
|
||||
/* 0A3198 800A2598 0C024CC9 */ jal print_text_mode_1
|
||||
/* 0A319C 800A259C E7B60014 */ swc1 $f22, 0x14($sp)
|
||||
/* 0A31A0 800A25A0 2401002A */ li $at, 42
|
||||
/* 0A31A4 800A25A4 16610006 */ bne $s3, $at, .L800A25C0
|
||||
/* 0A31A8 800A25A8 3C0F8019 */ lui $t7, %hi(D_8018D9C0) # $t7, 0x8019
|
||||
/* 0A31A8 800A25A8 3C0F8019 */ lui $t7, %hi(gSomeDLBuffer) # $t7, 0x8019
|
||||
/* 0A31AC 800A25AC 3C0E8019 */ lui $t6, %hi(D_8018EE10) # $t6, 0x8019
|
||||
/* 0A31B0 800A25B0 25CEEE10 */ addiu $t6, %lo(D_8018EE10) # addiu $t6, $t6, -0x11f0
|
||||
/* 0A31B4 800A25B4 001069C0 */ sll $t5, $s0, 7
|
||||
/* 0A31B8 800A25B8 10000004 */ b .L800A25CC
|
||||
/* 0A31BC 800A25BC 01AE1821 */ addu $v1, $t5, $t6
|
||||
.L800A25C0:
|
||||
/* 0A31C0 800A25C0 8DEFD9C0 */ lw $t7, %lo(D_8018D9C0)($t7)
|
||||
/* 0A31C0 800A25C0 8DEFD9C0 */ lw $t7, %lo(gSomeDLBuffer)($t7)
|
||||
/* 0A31C4 800A25C4 0010C1C0 */ sll $t8, $s0, 7
|
||||
/* 0A31C8 800A25C8 01F81821 */ addu $v1, $t7, $t8
|
||||
.L800A25CC:
|
||||
@@ -482,7 +482,7 @@ glabel L800A23DC
|
||||
/* 0A31EC 800A25EC 02402825 */ move $a1, $s2
|
||||
/* 0A31F0 800A25F0 00003825 */ move $a3, $zero
|
||||
/* 0A31F4 800A25F4 E7B40010 */ swc1 $f20, 0x10($sp)
|
||||
/* 0A31F8 800A25F8 0C024CC9 */ jal func_80093324
|
||||
/* 0A31F8 800A25F8 0C024CC9 */ jal print_text_mode_1
|
||||
/* 0A31FC 800A25FC E7B40014 */ swc1 $f20, 0x14($sp)
|
||||
/* 0A3200 800A2600 10000019 */ b .L800A2668
|
||||
/* 0A3204 800A2604 24010002 */ li $at, 2
|
||||
@@ -510,7 +510,7 @@ glabel L800A23DC
|
||||
/* 0A3250 800A2650 00003825 */ move $a3, $zero
|
||||
/* 0A3254 800A2654 000D7080 */ sll $t6, $t5, 2
|
||||
/* 0A3258 800A2658 00CE3021 */ addu $a2, $a2, $t6
|
||||
/* 0A325C 800A265C 0C024CC9 */ jal func_80093324
|
||||
/* 0A325C 800A265C 0C024CC9 */ jal print_text_mode_1
|
||||
/* 0A3260 800A2660 8CC675C4 */ lw $a2, %lo(gCourseNamesDup2)($a2)
|
||||
/* 0A3264 800A2664 24010002 */ li $at, 2
|
||||
.L800A2668:
|
||||
@@ -527,9 +527,9 @@ glabel L800A23DC
|
||||
/* 0A3290 800A2690 AFB80088 */ sw $t8, 0x88($sp)
|
||||
/* 0A3294 800A2694 1661FF83 */ bne $s3, $at, .L800A24A4
|
||||
/* 0A3298 800A2698 26D60089 */ addiu $s6, $s6, 0x89
|
||||
/* 0A329C 800A269C 3C038019 */ lui $v1, %hi(D_8018EDEC) # $v1, 0x8019
|
||||
/* 0A329C 800A269C 3C038019 */ lui $v1, %hi(gSubMenuSelection) # $v1, 0x8019
|
||||
/* 0A32A0 800A26A0 10000176 */ b .L800A2C7C
|
||||
/* 0A32A4 800A26A4 8063EDEC */ lb $v1, %lo(D_8018EDEC)($v1)
|
||||
/* 0A32A4 800A26A4 8063EDEC */ lb $v1, %lo(gSubMenuSelection)($v1)
|
||||
glabel L800A26A8
|
||||
/* 0A32A8 800A26A8 0C024C36 */ jal set_text_color
|
||||
/* 0A32AC 800A26AC 24040002 */ li $a0, 2
|
||||
@@ -546,7 +546,7 @@ glabel L800A26A8
|
||||
/* 0A32D4 800A26D4 8E060000 */ lw $a2, ($s0)
|
||||
/* 0A32D8 800A26D8 00003825 */ move $a3, $zero
|
||||
/* 0A32DC 800A26DC E7B40010 */ swc1 $f20, 0x10($sp)
|
||||
/* 0A32E0 800A26E0 0C024DBB */ jal draw_text
|
||||
/* 0A32E0 800A26E0 0C024DBB */ jal print_text1_center_mode_1
|
||||
/* 0A32E4 800A26E4 E7B40014 */ swc1 $f20, 0x14($sp)
|
||||
/* 0A32E8 800A26E8 26100004 */ addiu $s0, $s0, 4
|
||||
/* 0A32EC 800A26EC 0212082B */ sltu $at, $s0, $s2
|
||||
@@ -579,7 +579,7 @@ glabel L800A26A8
|
||||
/* 0A3354 800A2754 8D660000 */ lw $a2, ($t3)
|
||||
/* 0A3358 800A2758 E7B80014 */ swc1 $f24, 0x14($sp)
|
||||
/* 0A335C 800A275C E7B80010 */ swc1 $f24, 0x10($sp)
|
||||
/* 0A3360 800A2760 0C024DBB */ jal draw_text
|
||||
/* 0A3360 800A2760 0C024DBB */ jal print_text1_center_mode_1
|
||||
/* 0A3364 800A2764 00003825 */ move $a3, $zero
|
||||
/* 0A3368 800A2768 00008025 */ move $s0, $zero
|
||||
/* 0A336C 800A276C 24120096 */ li $s2, 150
|
||||
@@ -649,18 +649,18 @@ glabel L800A26A8
|
||||
/* 0A3448 800A2848 27A600A9 */ addiu $a2, $sp, 0xa9
|
||||
/* 0A344C 800A284C 00003825 */ move $a3, $zero
|
||||
/* 0A3450 800A2850 E7B60010 */ swc1 $f22, 0x10($sp)
|
||||
/* 0A3454 800A2854 0C024CC9 */ jal func_80093324
|
||||
/* 0A3454 800A2854 0C024CC9 */ jal print_text_mode_1
|
||||
/* 0A3458 800A2858 E7B60014 */ swc1 $f22, 0x14($sp)
|
||||
/* 0A345C 800A285C 2401002A */ li $at, 42
|
||||
/* 0A3460 800A2860 16610006 */ bne $s3, $at, .L800A287C
|
||||
/* 0A3464 800A2864 3C098019 */ lui $t1, %hi(D_8018D9C0) # $t1, 0x8019
|
||||
/* 0A3464 800A2864 3C098019 */ lui $t1, %hi(gSomeDLBuffer) # $t1, 0x8019
|
||||
/* 0A3468 800A2868 3C0A8019 */ lui $t2, %hi(D_8018EE10) # $t2, 0x8019
|
||||
/* 0A346C 800A286C 254AEE10 */ addiu $t2, %lo(D_8018EE10) # addiu $t2, $t2, -0x11f0
|
||||
/* 0A3470 800A2870 001041C0 */ sll $t0, $s0, 7
|
||||
/* 0A3474 800A2874 10000004 */ b .L800A2888
|
||||
/* 0A3478 800A2878 010A1821 */ addu $v1, $t0, $t2
|
||||
.L800A287C:
|
||||
/* 0A347C 800A287C 8D29D9C0 */ lw $t1, %lo(D_8018D9C0)($t1)
|
||||
/* 0A347C 800A287C 8D29D9C0 */ lw $t1, %lo(gSomeDLBuffer)($t1)
|
||||
/* 0A3480 800A2880 001059C0 */ sll $t3, $s0, 7
|
||||
/* 0A3484 800A2884 012B1821 */ addu $v1, $t1, $t3
|
||||
.L800A2888:
|
||||
@@ -675,7 +675,7 @@ glabel L800A26A8
|
||||
/* 0A34A8 800A28A8 02402825 */ move $a1, $s2
|
||||
/* 0A34AC 800A28AC 00003825 */ move $a3, $zero
|
||||
/* 0A34B0 800A28B0 E7B40010 */ swc1 $f20, 0x10($sp)
|
||||
/* 0A34B4 800A28B4 0C024CC9 */ jal func_80093324
|
||||
/* 0A34B4 800A28B4 0C024CC9 */ jal print_text_mode_1
|
||||
/* 0A34B8 800A28B8 E7B40014 */ swc1 $f20, 0x14($sp)
|
||||
/* 0A34BC 800A28BC 10000019 */ b .L800A2924
|
||||
/* 0A34C0 800A28C0 24010002 */ li $at, 2
|
||||
@@ -703,7 +703,7 @@ glabel L800A26A8
|
||||
/* 0A350C 800A290C 00003825 */ move $a3, $zero
|
||||
/* 0A3510 800A2910 00085080 */ sll $t2, $t0, 2
|
||||
/* 0A3514 800A2914 00CA3021 */ addu $a2, $a2, $t2
|
||||
/* 0A3518 800A2918 0C024CC9 */ jal func_80093324
|
||||
/* 0A3518 800A2918 0C024CC9 */ jal print_text_mode_1
|
||||
/* 0A351C 800A291C 8CC675C4 */ lw $a2, %lo(gCourseNamesDup2)($a2)
|
||||
/* 0A3520 800A2920 24010002 */ li $at, 2
|
||||
.L800A2924:
|
||||
@@ -725,8 +725,8 @@ glabel L800A26A8
|
||||
/* 0A3560 800A2960 00009025 */ move $s2, $zero
|
||||
/* 0A3564 800A2964 2411006E */ li $s1, 110
|
||||
.L800A2968:
|
||||
/* 0A3568 800A2968 3C048019 */ lui $a0, %hi(D_8018EDEC) # $a0, 0x8019
|
||||
/* 0A356C 800A296C 8084EDEC */ lb $a0, %lo(D_8018EDEC)($a0)
|
||||
/* 0A3568 800A2968 3C048019 */ lui $a0, %hi(gSubMenuSelection) # $a0, 0x8019
|
||||
/* 0A356C 800A296C 8084EDEC */ lb $a0, %lo(gSubMenuSelection)($a0)
|
||||
/* 0A3570 800A2970 240F00D2 */ li $t7, 210
|
||||
/* 0A3574 800A2974 02002825 */ move $a1, $s0
|
||||
/* 0A3578 800A2978 2484FFC8 */ addiu $a0, $a0, -0x38
|
||||
@@ -742,16 +742,16 @@ glabel L800A26A8
|
||||
/* 0A359C 800A299C 8E660000 */ lw $a2, ($s3)
|
||||
/* 0A35A0 800A29A0 00003825 */ move $a3, $zero
|
||||
/* 0A35A4 800A29A4 E7B80010 */ swc1 $f24, 0x10($sp)
|
||||
/* 0A35A8 800A29A8 0C024CC9 */ jal func_80093324
|
||||
/* 0A35A8 800A29A8 0C024CC9 */ jal print_text_mode_1
|
||||
/* 0A35AC 800A29AC E7B80014 */ swc1 $f24, 0x14($sp)
|
||||
/* 0A35B0 800A29B0 26520001 */ addiu $s2, $s2, 1
|
||||
/* 0A35B4 800A29B4 24010002 */ li $at, 2
|
||||
/* 0A35B8 800A29B8 26310032 */ addiu $s1, $s1, 0x32
|
||||
/* 0A35BC 800A29BC 1641FFEA */ bne $s2, $at, .L800A2968
|
||||
/* 0A35C0 800A29C0 26730004 */ addiu $s3, $s3, 4
|
||||
/* 0A35C4 800A29C4 3C038019 */ lui $v1, %hi(D_8018EDEC) # $v1, 0x8019
|
||||
/* 0A35C4 800A29C4 3C038019 */ lui $v1, %hi(gSubMenuSelection) # $v1, 0x8019
|
||||
/* 0A35C8 800A29C8 100000AC */ b .L800A2C7C
|
||||
/* 0A35CC 800A29CC 8063EDEC */ lb $v1, %lo(D_8018EDEC)($v1)
|
||||
/* 0A35CC 800A29CC 8063EDEC */ lb $v1, %lo(gSubMenuSelection)($v1)
|
||||
glabel L800A29D0
|
||||
/* 0A35D0 800A29D0 2475FFC6 */ addiu $s5, $v1, -0x3a
|
||||
/* 0A35D4 800A29D4 06A10003 */ bgez $s5, .L800A29E4
|
||||
@@ -774,7 +774,7 @@ glabel L800A29D0
|
||||
/* 0A3614 800A2A14 24050055 */ li $a1, 85
|
||||
/* 0A3618 800A2A18 00003825 */ move $a3, $zero
|
||||
/* 0A361C 800A2A1C E7B60010 */ swc1 $f22, 0x10($sp)
|
||||
/* 0A3620 800A2A20 0C024DBB */ jal draw_text
|
||||
/* 0A3620 800A2A20 0C024DBB */ jal print_text1_center_mode_1
|
||||
/* 0A3624 800A2A24 E7B60014 */ swc1 $f22, 0x14($sp)
|
||||
/* 0A3628 800A2A28 3C013F40 */ li $at, 0x3F400000 # 0.750000
|
||||
/* 0A362C 800A2A2C 4481C000 */ mtc1 $at, $f24
|
||||
@@ -804,7 +804,7 @@ glabel L800A29D0
|
||||
/* 0A3688 800A2A88 8D260000 */ lw $a2, ($t1)
|
||||
/* 0A368C 800A2A8C E7B80014 */ swc1 $f24, 0x14($sp)
|
||||
/* 0A3690 800A2A90 E7B80010 */ swc1 $f24, 0x10($sp)
|
||||
/* 0A3694 800A2A94 0C024DBB */ jal draw_text
|
||||
/* 0A3694 800A2A94 0C024DBB */ jal print_text1_center_mode_1
|
||||
/* 0A3698 800A2A98 00003825 */ move $a3, $zero
|
||||
/* 0A369C 800A2A9C 00008025 */ move $s0, $zero
|
||||
/* 0A36A0 800A2AA0 24120096 */ li $s2, 150
|
||||
@@ -867,18 +867,18 @@ glabel L800A29D0
|
||||
/* 0A3764 800A2B64 27A60099 */ addiu $a2, $sp, 0x99
|
||||
/* 0A3768 800A2B68 00003825 */ move $a3, $zero
|
||||
/* 0A376C 800A2B6C E7B60010 */ swc1 $f22, 0x10($sp)
|
||||
/* 0A3770 800A2B70 0C024CC9 */ jal func_80093324
|
||||
/* 0A3770 800A2B70 0C024CC9 */ jal print_text_mode_1
|
||||
/* 0A3774 800A2B74 E7B60014 */ swc1 $f22, 0x14($sp)
|
||||
/* 0A3778 800A2B78 2401002A */ li $at, 42
|
||||
/* 0A377C 800A2B7C 16610006 */ bne $s3, $at, .L800A2B98
|
||||
/* 0A3780 800A2B80 3C0A8019 */ lui $t2, %hi(D_8018D9C0) # $t2, 0x8019
|
||||
/* 0A3780 800A2B80 3C0A8019 */ lui $t2, %hi(gSomeDLBuffer) # $t2, 0x8019
|
||||
/* 0A3784 800A2B84 3C088019 */ lui $t0, %hi(D_8018EE10) # $t0, 0x8019
|
||||
/* 0A3788 800A2B88 2508EE10 */ addiu $t0, %lo(D_8018EE10) # addiu $t0, $t0, -0x11f0
|
||||
/* 0A378C 800A2B8C 0010C9C0 */ sll $t9, $s0, 7
|
||||
/* 0A3790 800A2B90 10000004 */ b .L800A2BA4
|
||||
/* 0A3794 800A2B94 03281821 */ addu $v1, $t9, $t0
|
||||
.L800A2B98:
|
||||
/* 0A3798 800A2B98 8D4AD9C0 */ lw $t2, %lo(D_8018D9C0)($t2)
|
||||
/* 0A3798 800A2B98 8D4AD9C0 */ lw $t2, %lo(gSomeDLBuffer)($t2)
|
||||
/* 0A379C 800A2B9C 001049C0 */ sll $t1, $s0, 7
|
||||
/* 0A37A0 800A2BA0 01491821 */ addu $v1, $t2, $t1
|
||||
.L800A2BA4:
|
||||
@@ -893,7 +893,7 @@ glabel L800A29D0
|
||||
/* 0A37C4 800A2BC4 02402825 */ move $a1, $s2
|
||||
/* 0A37C8 800A2BC8 00003825 */ move $a3, $zero
|
||||
/* 0A37CC 800A2BCC E7B40010 */ swc1 $f20, 0x10($sp)
|
||||
/* 0A37D0 800A2BD0 0C024CC9 */ jal func_80093324
|
||||
/* 0A37D0 800A2BD0 0C024CC9 */ jal print_text_mode_1
|
||||
/* 0A37D4 800A2BD4 E7B40014 */ swc1 $f20, 0x14($sp)
|
||||
/* 0A37D8 800A2BD8 10000019 */ b .L800A2C40
|
||||
/* 0A37DC 800A2BDC 24010002 */ li $at, 2
|
||||
@@ -921,7 +921,7 @@ glabel L800A29D0
|
||||
/* 0A3828 800A2C28 00003825 */ move $a3, $zero
|
||||
/* 0A382C 800A2C2C 00194080 */ sll $t0, $t9, 2
|
||||
/* 0A3830 800A2C30 00C83021 */ addu $a2, $a2, $t0
|
||||
/* 0A3834 800A2C34 0C024CC9 */ jal func_80093324
|
||||
/* 0A3834 800A2C34 0C024CC9 */ jal print_text_mode_1
|
||||
/* 0A3838 800A2C38 8CC675C4 */ lw $a2, %lo(gCourseNamesDup2)($a2)
|
||||
/* 0A383C 800A2C3C 24010002 */ li $at, 2
|
||||
.L800A2C40:
|
||||
@@ -938,8 +938,8 @@ glabel L800A29D0
|
||||
/* 0A3868 800A2C68 AFA90088 */ sw $t1, 0x88($sp)
|
||||
/* 0A386C 800A2C6C 1661FF81 */ bne $s3, $at, .L800A2A74
|
||||
/* 0A3870 800A2C70 26D60089 */ addiu $s6, $s6, 0x89
|
||||
/* 0A3874 800A2C74 3C038019 */ lui $v1, %hi(D_8018EDEC) # $v1, 0x8019
|
||||
/* 0A3878 800A2C78 8063EDEC */ lb $v1, %lo(D_8018EDEC)($v1)
|
||||
/* 0A3874 800A2C74 3C038019 */ lui $v1, %hi(gSubMenuSelection) # $v1, 0x8019
|
||||
/* 0A3878 800A2C78 8063EDEC */ lb $v1, %lo(gSubMenuSelection)($v1)
|
||||
.L800A2C7C:
|
||||
glabel L800A2C7C
|
||||
/* 0A387C 800A2C7C 246FFFD8 */ addiu $t7, $v1, -0x28
|
||||
+11
-11
@@ -8,7 +8,7 @@ glabel func_800AB314
|
||||
/* 0ABF28 800AB328 24A4005F */ addiu $a0, $a1, 0x5f
|
||||
/* 0ABF2C 800AB32C AFA3001C */ sw $v1, 0x1c($sp)
|
||||
/* 0ABF30 800AB330 AFA5003C */ sw $a1, 0x3c($sp)
|
||||
/* 0ABF34 800AB334 0C02ABBD */ jal find_8018D9E0_entry_dupe
|
||||
/* 0ABF34 800AB334 0C02ABBD */ jal find_menu_items_dupe
|
||||
/* 0ABF38 800AB338 AFA60040 */ sw $a2, 0x40($sp)
|
||||
/* 0ABF3C 800AB33C 8FA5003C */ lw $a1, 0x3c($sp)
|
||||
/* 0ABF40 800AB340 8FA3001C */ lw $v1, 0x1c($sp)
|
||||
@@ -20,10 +20,10 @@ glabel func_800AB314
|
||||
/* 0ABF58 800AB358 AC62FFFC */ sw $v0, -4($v1)
|
||||
/* 0ABF5C 800AB35C 3C0E800E */ lui $t6, %hi(gModeSelection) # $t6, 0x800e
|
||||
/* 0ABF60 800AB360 8DCEC53C */ lw $t6, %lo(gModeSelection)($t6)
|
||||
/* 0ABF64 800AB364 3C0F8019 */ lui $t7, %hi(D_8018EDEC) # $t7, 0x8019
|
||||
/* 0ABF64 800AB364 3C0F8019 */ lui $t7, %hi(gSubMenuSelection) # $t7, 0x8019
|
||||
/* 0ABF68 800AB368 51C00053 */ beql $t6, $zero, .L800AB4B8
|
||||
/* 0ABF6C 800AB36C 8CC20004 */ lw $v0, 4($a2)
|
||||
/* 0ABF70 800AB370 81EFEDEC */ lb $t7, %lo(D_8018EDEC)($t7)
|
||||
/* 0ABF70 800AB370 81EFEDEC */ lb $t7, %lo(gSubMenuSelection)($t7)
|
||||
/* 0ABF74 800AB374 24040001 */ li $a0, 1
|
||||
/* 0ABF78 800AB378 24030003 */ li $v1, 3
|
||||
/* 0ABF7C 800AB37C 108F003A */ beq $a0, $t7, .L800AB468
|
||||
@@ -124,10 +124,10 @@ glabel func_800AB314
|
||||
/* 0AC0CC 800AB4CC 3C038019 */ lui $v1, %hi(gCupSelection) # $v1, 0x8019
|
||||
/* 0AC0D0 800AB4D0 24010002 */ li $at, 2
|
||||
/* 0AC0D4 800AB4D4 1041005C */ beq $v0, $at, .L800AB648
|
||||
/* 0AC0D8 800AB4D8 3C0D8019 */ lui $t5, %hi(D_8018EDEC) # 0x8019
|
||||
/* 0AC0D8 800AB4D8 3C0D8019 */ lui $t5, %hi(gSubMenuSelection) # 0x8019
|
||||
/* 0AC0DC 800AB4DC 24030003 */ li $v1, 3
|
||||
/* 0AC0E0 800AB4E0 1043006A */ beq $v0, $v1, .L800AB68C
|
||||
/* 0AC0E4 800AB4E4 3C198019 */ lui $t9, %hi(D_8018EDEC) # 0x8019
|
||||
/* 0AC0E4 800AB4E4 3C198019 */ lui $t9, %hi(gSubMenuSelection) # 0x8019
|
||||
/* 0AC0E8 800AB4E8 1000006F */ b .L800AB6A8
|
||||
/* 0AC0EC 800AB4EC 00000000 */ nop
|
||||
/* 0AC0F0 800AB4F0 8CD9001C */ lw $t9, 0x1c($a2)
|
||||
@@ -163,8 +163,8 @@ glabel func_800AB314
|
||||
/* 0AC158 800AB558 000A5880 */ sll $t3, $t2, 2
|
||||
/* 0AC15C 800AB55C ACCB001C */ sw $t3, 0x1c($a2)
|
||||
.L800AB560:
|
||||
/* 0AC160 800AB560 3C0C8019 */ lui $t4, %hi(D_8018EDEC) # $t4, 0x8019
|
||||
/* 0AC164 800AB564 818CEDEC */ lb $t4, %lo(D_8018EDEC)($t4)
|
||||
/* 0AC160 800AB560 3C0C8019 */ lui $t4, %hi(gSubMenuSelection) # $t4, 0x8019
|
||||
/* 0AC164 800AB564 818CEDEC */ lb $t4, %lo(gSubMenuSelection)($t4)
|
||||
/* 0AC168 800AB568 24030003 */ li $v1, 3
|
||||
/* 0AC16C 800AB56C 240D0002 */ li $t5, 2
|
||||
/* 0AC170 800AB570 146C0003 */ bne $v1, $t4, .L800AB580
|
||||
@@ -219,8 +219,8 @@ glabel func_800AB314
|
||||
/* 0AC21C 800AB61C 10000022 */ b .L800AB6A8
|
||||
/* 0AC220 800AB620 ACCA001C */ sw $t2, 0x1c($a2)
|
||||
.L800AB624:
|
||||
/* 0AC224 800AB624 3C0B8019 */ lui $t3, %hi(D_8018EDEC) # $t3, 0x8019
|
||||
/* 0AC228 800AB628 816BEDEC */ lb $t3, %lo(D_8018EDEC)($t3)
|
||||
/* 0AC224 800AB624 3C0B8019 */ lui $t3, %hi(gSubMenuSelection) # $t3, 0x8019
|
||||
/* 0AC228 800AB628 816BEDEC */ lb $t3, %lo(gSubMenuSelection)($t3)
|
||||
/* 0AC22C 800AB62C 24030003 */ li $v1, 3
|
||||
/* 0AC230 800AB630 146B0003 */ bne $v1, $t3, .L800AB640
|
||||
/* 0AC234 800AB634 240C0002 */ li $t4, 2
|
||||
@@ -239,7 +239,7 @@ glabel func_800AB314
|
||||
/* 0AC260 800AB660 ACC30004 */ sw $v1, 4($a2)
|
||||
/* 0AC264 800AB664 ACC00020 */ sw $zero, 0x20($a2)
|
||||
.L800AB668:
|
||||
/* 0AC268 800AB668 81ADEDEC */ lb $t5, %lo(D_8018EDEC)($t5) # -0x1214($t5)
|
||||
/* 0AC268 800AB668 81ADEDEC */ lb $t5, %lo(gSubMenuSelection)($t5) # -0x1214($t5)
|
||||
/* 0AC26C 800AB66C 24030003 */ li $v1, 3
|
||||
/* 0AC270 800AB670 106D0004 */ beq $v1, $t5, .L800AB684
|
||||
/* 0AC274 800AB674 00000000 */ nop
|
||||
@@ -250,7 +250,7 @@ glabel func_800AB314
|
||||
/* 0AC284 800AB684 10000008 */ b .L800AB6A8
|
||||
/* 0AC288 800AB688 8CC20004 */ lw $v0, 4($a2)
|
||||
.L800AB68C:
|
||||
/* 0AC28C 800AB68C 8339EDEC */ lb $t9, %lo(D_8018EDEC)($t9) # -0x1214($t9)
|
||||
/* 0AC28C 800AB68C 8339EDEC */ lb $t9, %lo(gSubMenuSelection)($t9) # -0x1214($t9)
|
||||
/* 0AC290 800AB690 10790005 */ beq $v1, $t9, .L800AB6A8
|
||||
/* 0AC294 800AB694 00000000 */ nop
|
||||
/* 0AC298 800AB698 ACC00004 */ sw $zero, 4($a2)
|
||||
+5
-5
@@ -15,7 +15,7 @@ glabel D_800F1DC8
|
||||
|
||||
.section .text
|
||||
|
||||
glabel func_800A474C
|
||||
glabel render_lap_times
|
||||
/* 0A534C 800A474C 27BDFFB0 */ addiu $sp, $sp, -0x50
|
||||
/* 0A5350 800A4750 3C0E800E */ lui $t6, %hi(gGamestate) # $t6, 0x800e
|
||||
/* 0A5354 800A4754 8DCEC50C */ lw $t6, %lo(gGamestate)($t6)
|
||||
@@ -86,7 +86,7 @@ glabel func_800A474C
|
||||
/* 0A5438 800A4838 8FAB0030 */ lw $t3, 0x30($sp)
|
||||
/* 0A543C 800A483C 55600024 */ bnel $t3, $zero, .L800A48D0
|
||||
/* 0A5440 800A4840 24020003 */ li $v0, 3
|
||||
/* 0A5444 800A4844 0C02ABBD */ jal find_8018D9E0_entry_dupe
|
||||
/* 0A5444 800A4844 0C02ABBD */ jal find_menu_items_dupe
|
||||
/* 0A5448 800A4848 240400BB */ li $a0, 187
|
||||
/* 0A544C 800A484C 8FAC0050 */ lw $t4, 0x50($sp)
|
||||
/* 0A5450 800A4850 29810005 */ slti $at, $t4, 5
|
||||
@@ -152,7 +152,7 @@ glabel func_800A474C
|
||||
/* 0A552C 800A492C 00003825 */ move $a3, $zero
|
||||
/* 0A5530 800A4930 E7B40010 */ swc1 $f20, 0x10($sp)
|
||||
/* 0A5534 800A4934 E7B40014 */ swc1 $f20, 0x14($sp)
|
||||
/* 0A5538 800A4938 0C024CC9 */ jal func_80093324
|
||||
/* 0A5538 800A4938 0C024CC9 */ jal print_text_mode_1
|
||||
/* 0A553C 800A493C 24840032 */ addiu $a0, $a0, 0x32
|
||||
/* 0A5540 800A4940 8FA4002C */ lw $a0, 0x2c($sp)
|
||||
/* 0A5544 800A4944 0C029E51 */ jal get_time_record_seconds
|
||||
@@ -172,7 +172,7 @@ glabel func_800A474C
|
||||
/* 0A557C 800A497C 00003825 */ move $a3, $zero
|
||||
/* 0A5580 800A4980 E7B40010 */ swc1 $f20, 0x10($sp)
|
||||
/* 0A5584 800A4984 E7B40014 */ swc1 $f20, 0x14($sp)
|
||||
/* 0A5588 800A4988 0C024CC9 */ jal func_80093324
|
||||
/* 0A5588 800A4988 0C024CC9 */ jal print_text_mode_1
|
||||
/* 0A558C 800A498C 24840046 */ addiu $a0, $a0, 0x46
|
||||
/* 0A5590 800A4990 8FA4002C */ lw $a0, 0x2c($sp)
|
||||
/* 0A5594 800A4994 0C029E69 */ jal get_time_record_centiseconds
|
||||
@@ -206,7 +206,7 @@ glabel func_800A474C
|
||||
/* 0A55FC 800A49FC 8FA50058 */ lw $a1, 0x58($sp)
|
||||
/* 0A5600 800A4A00 00003825 */ move $a3, $zero
|
||||
/* 0A5604 800A4A04 E7B40010 */ swc1 $f20, 0x10($sp)
|
||||
/* 0A5608 800A4A08 0C024DBB */ jal draw_text
|
||||
/* 0A5608 800A4A08 0C024DBB */ jal print_text1_center_mode_1
|
||||
/* 0A560C 800A4A0C E7B40014 */ swc1 $f20, 0x14($sp)
|
||||
/* 0A5610 800A4A10 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
/* 0A5614 800A4A14 D7B40018 */ ldc1 $f20, 0x18($sp)
|
||||
+73
-73
@@ -122,7 +122,7 @@ glabel D_800F1AFC
|
||||
|
||||
.section .text
|
||||
|
||||
glabel func_8009F5E0
|
||||
glabel render_menus
|
||||
/* 0A01E0 8009F5E0 27BDFF50 */ addiu $sp, $sp, -0xb0
|
||||
/* 0A01E4 8009F5E4 AFBF0034 */ sw $ra, 0x34($sp)
|
||||
/* 0A01E8 8009F5E8 AFB10030 */ sw $s1, 0x30($sp)
|
||||
@@ -292,12 +292,12 @@ glabel L8009F844
|
||||
/* 0A0444 8009F844 0C02D557 */ jal has_unlocked_extra_mode
|
||||
/* 0A0448 8009F848 00000000 */ nop
|
||||
/* 0A044C 8009F84C 00025880 */ sll $t3, $v0, 2
|
||||
/* 0A0450 8009F850 3C05800E */ lui $a1, %hi(D_800E7D4C)
|
||||
/* 0A0450 8009F850 3C05800E */ lui $a1, %hi(gMenuTexturesBackground)
|
||||
/* 0A0454 8009F854 00AB2821 */ addu $a1, $a1, $t3
|
||||
/* 0A0458 8009F858 8CA57D4C */ lw $a1, %lo(D_800E7D4C)($a1)
|
||||
/* 0A0458 8009F858 8CA57D4C */ lw $a1, %lo(gMenuTexturesBackground)($a1)
|
||||
/* 0A045C 8009F85C 8E040000 */ lw $a0, ($s0)
|
||||
/* 0A0460 8009F860 8E26000C */ lw $a2, %lo(D_FA00000C)($s1)
|
||||
/* 0A0464 8009F864 0C026E9D */ jal func_8009BA74
|
||||
/* 0A0464 8009F864 0C026E9D */ jal render_menu_textures
|
||||
/* 0A0468 8009F868 8E270010 */ lw $a3, %lo(D_FA000010)($s1)
|
||||
/* 0A046C 8009F86C 10000415 */ b .L800A08C4
|
||||
/* 0A0470 8009F870 AE020000 */ sw $v0, ($s0)
|
||||
@@ -309,21 +309,21 @@ glabel L8009F874
|
||||
/* 0A0484 8009F884 00057400 */ sll $t6, $a1, 0x10
|
||||
/* 0A0488 8009F888 00046400 */ sll $t4, $a0, 0x10
|
||||
/* 0A048C 8009F88C 000C2403 */ sra $a0, $t4, 0x10
|
||||
/* 0A0490 8009F890 0C013235 */ jal func_8004C8D4
|
||||
/* 0A0490 8009F890 0C013235 */ jal render_game_logo
|
||||
/* 0A0494 8009F894 000E2C03 */ sra $a1, $t6, 0x10
|
||||
/* 0A0498 8009F898 3C050200 */ lui $a1, %hi(D_020045E8) # $a1, 0x200
|
||||
/* 0A049C 8009F89C 24A545E8 */ addiu $a1, %lo(D_020045E8) # addiu $a1, $a1, 0x45e8
|
||||
/* 0A0498 8009F898 3C050200 */ lui $a1, %hi(seg2_copyright_1996_texture) # $a1, 0x200
|
||||
/* 0A049C 8009F89C 24A545E8 */ addiu $a1, %lo(seg2_copyright_1996_texture) # addiu $a1, $a1, 0x45e8
|
||||
/* 0A04A0 8009F8A0 8E040000 */ lw $a0, ($s0)
|
||||
/* 0A04A4 8009F8A4 8E26000C */ lw $a2, %lo(D_FA00000C)($s1)
|
||||
/* 0A04A8 8009F8A8 0C026E9D */ jal func_8009BA74
|
||||
/* 0A04A8 8009F8A8 0C026E9D */ jal render_menu_textures
|
||||
/* 0A04AC 8009F8AC 8E270010 */ lw $a3, %lo(D_FA000010)($s1)
|
||||
/* 0A04B0 8009F8B0 10000404 */ b .L800A08C4
|
||||
/* 0A04B4 8009F8B4 AE020000 */ sw $v0, ($s0)
|
||||
glabel L8009F8B8
|
||||
/* 0A04B8 8009F8B8 3C18800E */ lui $t8, %hi(gGlobalTimer) # $t8, 0x800e
|
||||
/* 0A04BC 8009F8BC 8F18C54C */ lw $t8, %lo(gGlobalTimer)($t8)
|
||||
/* 0A04C0 8009F8C0 3C050200 */ lui $a1, %hi(D_02004610) # $a1, 0x200
|
||||
/* 0A04C4 8009F8C4 24A54610 */ addiu $a1, %lo(D_02004610) # addiu $a1, $a1, 0x4610
|
||||
/* 0A04C0 8009F8C0 3C050200 */ lui $a1, %hi(seg2_push_start_button_texture) # $a1, 0x200
|
||||
/* 0A04C4 8009F8C4 24A54610 */ addiu $a1, %lo(seg2_push_start_button_texture) # addiu $a1, $a1, 0x4610
|
||||
/* 0A04C8 8009F8C8 07010003 */ bgez $t8, .L8009F8D8
|
||||
/* 0A04CC 8009F8CC 0018C8C3 */ sra $t9, $t8, 3
|
||||
/* 0A04D0 8009F8D0 27010007 */ addiu $at, $t8, 7
|
||||
@@ -336,7 +336,7 @@ glabel L8009F8B8
|
||||
/* 0A04E8 8009F8E8 8FBF0034 */ lw $ra, 0x34($sp)
|
||||
/* 0A04EC 8009F8EC 8E040000 */ lw $a0, ($s0)
|
||||
/* 0A04F0 8009F8F0 8E26000C */ lw $a2, %lo(D_FA00000C)($s1)
|
||||
/* 0A04F4 8009F8F4 0C026E9D */ jal func_8009BA74
|
||||
/* 0A04F4 8009F8F4 0C026E9D */ jal render_menu_textures
|
||||
/* 0A04F8 8009F8F8 8E270010 */ lw $a3, %lo(D_FA000010)($s1)
|
||||
/* 0A04FC 8009F8FC 100003F1 */ b .L800A08C4
|
||||
/* 0A0500 8009F900 AE020000 */ sw $v0, ($s0)
|
||||
@@ -383,7 +383,7 @@ glabel L8009F904
|
||||
/* 0A059C 8009F99C 8E260000 */ lw $a2, ($s1)
|
||||
/* 0A05A0 8009F9A0 00003825 */ move $a3, $zero
|
||||
/* 0A05A4 8009F9A4 E7A00010 */ swc1 $f0, 0x10($sp)
|
||||
/* 0A05A8 8009F9A8 0C024DBB */ jal draw_text
|
||||
/* 0A05A8 8009F9A8 0C024DBB */ jal print_text1_center_mode_1
|
||||
/* 0A05AC 8009F9AC E7A00014 */ swc1 $f0, 0x14($sp)
|
||||
/* 0A05B0 8009F9B0 00002025 */ move $a0, $zero
|
||||
/* 0A05B4 8009F9B4 0C02D3AD */ jal func_800B4EB4
|
||||
@@ -443,7 +443,7 @@ glabel L8009F904
|
||||
/* 0A067C 8009FA7C 240500A0 */ li $a1, 160
|
||||
/* 0A0680 8009FA80 00003825 */ move $a3, $zero
|
||||
/* 0A0684 8009FA84 E7A00010 */ swc1 $f0, 0x10($sp)
|
||||
/* 0A0688 8009FA88 0C024CC9 */ jal func_80093324
|
||||
/* 0A0688 8009FA88 0C024CC9 */ jal print_text_mode_1
|
||||
/* 0A068C 8009FA8C E7A00014 */ swc1 $f0, 0x14($sp)
|
||||
/* 0A0690 8009FA90 02202025 */ move $a0, $s1
|
||||
/* 0A0694 8009FA94 0C029E51 */ jal get_time_record_seconds
|
||||
@@ -465,7 +465,7 @@ glabel L8009F904
|
||||
/* 0A06D4 8009FAD4 240500A0 */ li $a1, 160
|
||||
/* 0A06D8 8009FAD8 00003825 */ move $a3, $zero
|
||||
/* 0A06DC 8009FADC E7A00010 */ swc1 $f0, 0x10($sp)
|
||||
/* 0A06E0 8009FAE0 0C024CC9 */ jal func_80093324
|
||||
/* 0A06E0 8009FAE0 0C024CC9 */ jal print_text_mode_1
|
||||
/* 0A06E4 8009FAE4 E7A00014 */ swc1 $f0, 0x14($sp)
|
||||
/* 0A06E8 8009FAE8 02202025 */ move $a0, $s1
|
||||
/* 0A06EC 8009FAEC 0C029E69 */ jal get_time_record_centiseconds
|
||||
@@ -483,8 +483,8 @@ glabel L8009F904
|
||||
/* 0A071C 8009FB1C 1000036A */ b .L800A08C8
|
||||
/* 0A0720 8009FB20 8FBF0034 */ lw $ra, 0x34($sp)
|
||||
glabel L8009FB24
|
||||
/* 0A0724 8009FB24 3C11800E */ lui $s1, %hi(D_800E77A0) # $s1, 0x800e
|
||||
/* 0A0728 8009FB28 263177A0 */ addiu $s1, %lo(D_800E77A0) # addiu $s1, $s1, 0x77a0
|
||||
/* 0A0724 8009FB24 3C11800E */ lui $s1, %hi(gTextNoController) # $s1, 0x800e
|
||||
/* 0A0728 8009FB28 263177A0 */ addiu $s1, %lo(gTextNoController) # addiu $s1, $s1, 0x77a0
|
||||
/* 0A072C 8009FB2C 0C024C0D */ jal get_string_width
|
||||
/* 0A0730 8009FB30 8E240000 */ lw $a0, ($s1)
|
||||
/* 0A0734 8009FB34 8E240004 */ lw $a0, 4($s1)
|
||||
@@ -555,8 +555,8 @@ glabel L8009FB24
|
||||
/* 0A082C 8009FC2C 44993000 */ mtc1 $t9, $f6
|
||||
/* 0A0830 8009FC30 46005402 */ mul.s $f16, $f10, $f0
|
||||
/* 0A0834 8009FC34 240A00B4 */ li $t2, 180
|
||||
/* 0A0838 8009FC38 3C02800E */ lui $v0, %hi(D_800E77A0) # $v0, 0x800e
|
||||
/* 0A083C 8009FC3C 244277A0 */ addiu $v0, %lo(D_800E77A0) # addiu $v0, $v0, 0x77a0
|
||||
/* 0A0838 8009FC38 3C02800E */ lui $v0, %hi(gTextNoController) # $v0, 0x800e
|
||||
/* 0A083C 8009FC3C 244277A0 */ addiu $v0, %lo(gTextNoController) # addiu $v0, $v0, 0x77a0
|
||||
/* 0A0840 8009FC40 00001825 */ move $v1, $zero
|
||||
/* 0A0844 8009FC44 46803220 */ cvt.s.w $f8, $f6
|
||||
/* 0A0848 8009FC48 448A3000 */ mtc1 $t2, $f6
|
||||
@@ -583,13 +583,13 @@ glabel L8009FB24
|
||||
/* 0A0898 8009FC98 46101480 */ add.s $f18, $f2, $f16
|
||||
/* 0A089C 8009FC9C 4600910D */ trunc.w.s $f4, $f18
|
||||
/* 0A08A0 8009FCA0 44052000 */ mfc1 $a1, $f4
|
||||
/* 0A08A4 8009FCA4 0C024DBB */ jal draw_text
|
||||
/* 0A08A4 8009FCA4 0C024DBB */ jal print_text1_center_mode_1
|
||||
/* 0A08A8 8009FCA8 00000000 */ nop
|
||||
/* 0A08AC 8009FCAC 8FA20040 */ lw $v0, 0x40($sp)
|
||||
/* 0A08B0 8009FCB0 8FA30044 */ lw $v1, 0x44($sp)
|
||||
/* 0A08B4 8009FCB4 3C0C800E */ lui $t4, %hi(D_800E77A8) # $t4, 0x800e
|
||||
/* 0A08B4 8009FCB4 3C0C800E */ lui $t4, %hi(gTextBattleIntroduction) # $t4, 0x800e
|
||||
/* 0A08B8 8009FCB8 3C013F40 */ li $at, 0x3F400000 # 0.750000
|
||||
/* 0A08BC 8009FCBC 258C77A8 */ addiu $t4, %lo(D_800E77A8) # addiu $t4, $t4, 0x77a8
|
||||
/* 0A08BC 8009FCBC 258C77A8 */ addiu $t4, %lo(gTextBattleIntroduction) # addiu $t4, $t4, 0x77a8
|
||||
/* 0A08C0 8009FCC0 44810000 */ mtc1 $at, $f0
|
||||
/* 0A08C4 8009FCC4 24420004 */ addiu $v0, $v0, 4
|
||||
/* 0A08C8 8009FCC8 144CFFE8 */ bne $v0, $t4, .L8009FC6C
|
||||
@@ -600,24 +600,24 @@ glabel L8009FCD8
|
||||
/* 0A08D8 8009FCD8 0C02D557 */ jal has_unlocked_extra_mode
|
||||
/* 0A08DC 8009FCDC 00000000 */ nop
|
||||
/* 0A08E0 8009FCE0 00026880 */ sll $t5, $v0, 2
|
||||
/* 0A08E4 8009FCE4 3C05800E */ lui $a1, %hi(D_800E7D4C)
|
||||
/* 0A08E4 8009FCE4 3C05800E */ lui $a1, %hi(gMenuTexturesBackground)
|
||||
/* 0A08E8 8009FCE8 00AD2821 */ addu $a1, $a1, $t5
|
||||
/* 0A08EC 8009FCEC 8E26000C */ lw $a2, 0xc($s1)
|
||||
/* 0A08F0 8009FCF0 8E270010 */ lw $a3, 0x10($s1)
|
||||
/* 0A08F4 8009FCF4 240E0003 */ li $t6, 3
|
||||
/* 0A08F8 8009FCF8 AFAE0010 */ sw $t6, 0x10($sp)
|
||||
/* 0A08FC 8009FCFC AFA00014 */ sw $zero, 0x14($sp)
|
||||
/* 0A0900 8009FD00 8CA57D4C */ lw $a1, %lo(D_800E7D4C)($a1)
|
||||
/* 0A0900 8009FD00 8CA57D4C */ lw $a1, %lo(gMenuTexturesBackground)($a1)
|
||||
/* 0A0904 8009FD04 0C026F27 */ jal func_8009BC9C
|
||||
/* 0A0908 8009FD08 8E040000 */ lw $a0, ($s0)
|
||||
/* 0A090C 8009FD0C 100002ED */ b .L800A08C4
|
||||
/* 0A0910 8009FD10 AE020000 */ sw $v0, ($s0)
|
||||
glabel L8009FD14
|
||||
/* 0A0914 8009FD14 3C050200 */ lui $a1, %hi(D_02004660) # $a1, 0x200
|
||||
/* 0A0918 8009FD18 24A54660 */ addiu $a1, %lo(D_02004660) # addiu $a1, $a1, 0x4660
|
||||
/* 0A0914 8009FD14 3C050200 */ lui $a1, %hi(seg2_game_select_texture) # $a1, 0x200
|
||||
/* 0A0918 8009FD18 24A54660 */ addiu $a1, %lo(seg2_game_select_texture) # addiu $a1, $a1, 0x4660
|
||||
/* 0A091C 8009FD1C 8E040000 */ lw $a0, ($s0)
|
||||
/* 0A0920 8009FD20 8E26000C */ lw $a2, 0xc($s1)
|
||||
/* 0A0924 8009FD24 0C026E9D */ jal func_8009BA74
|
||||
/* 0A0924 8009FD24 0C026E9D */ jal render_menu_textures
|
||||
/* 0A0928 8009FD28 8E270010 */ lw $a3, 0x10($s1)
|
||||
/* 0A092C 8009FD2C 100002E5 */ b .L800A08C4
|
||||
/* 0A0930 8009FD30 AE020000 */ sw $v0, ($s0)
|
||||
@@ -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
|
||||
@@ -721,10 +721,10 @@ glabel L8009FD90
|
||||
glabel L8009FE9C
|
||||
/* 0A0A9C 8009FE9C 3C028019 */ lui $v0, %hi(gPlayerCount) # $v0, 0x8019
|
||||
/* 0A0AA0 8009FEA0 8042EDF3 */ lb $v0, %lo(gPlayerCount)($v0)
|
||||
/* 0A0AA4 8009FEA4 3C03800F */ lui $v1, %hi((D_800E86AC - 1)) # 0x800f
|
||||
/* 0A0AA8 8009FEA8 3C06800F */ lui $a2, %hi((D_800E86B0 - 3)) # 0x800f
|
||||
/* 0A0AA4 8009FEA4 3C03800F */ lui $v1, %hi((gGameModeMenuColumn - 1)) # 0x800f
|
||||
/* 0A0AA8 8009FEA8 3C06800F */ lui $a2, %hi((gGameModeSubMenuColumn - 3)) # 0x800f
|
||||
/* 0A0AAC 8009FEAC 00621821 */ addu $v1, $v1, $v0
|
||||
/* 0A0AB0 8009FEB0 806386AB */ lb $v1, %lo((D_800E86AC - 1))($v1) # -0x7955($v1)
|
||||
/* 0A0AB0 8009FEB0 806386AB */ lb $v1, %lo((gGameModeMenuColumn - 1))($v1) # -0x7955($v1)
|
||||
/* 0A0AB4 8009FEB4 00026880 */ sll $t5, $v0, 2
|
||||
/* 0A0AB8 8009FEB8 00025880 */ sll $t3, $v0, 2
|
||||
/* 0A0ABC 8009FEBC 01A26823 */ subu $t5, $t5, $v0
|
||||
@@ -738,7 +738,7 @@ glabel L8009FE9C
|
||||
/* 0A0ADC 8009FEDC 00CC3021 */ addu $a2, $a2, $t4
|
||||
/* 0A0AE0 8009FEE0 00AF2821 */ addu $a1, $a1, $t7
|
||||
/* 0A0AE4 8009FEE4 2F010008 */ sltiu $at, $t8, 8
|
||||
/* 0A0AE8 8009FEE8 80C686AD */ lb $a2, %lo((D_800E86B0 - 3))($a2) # -0x7953($a2)
|
||||
/* 0A0AE8 8009FEE8 80C686AD */ lb $a2, %lo((gGameModeSubMenuColumn - 3))($a2) # -0x7953($a2)
|
||||
/* 0A0AEC 8009FEEC 10200037 */ beqz $at, .L8009FFCC
|
||||
/* 0A0AF0 8009FEF0 8CA52B70 */ lw $a1, %lo((gGameModePlayerSelection - 0xC))($a1) # 0x2b70($a1)
|
||||
/* 0A0AF4 8009FEF4 0018C080 */ sll $t8, $t8, 2
|
||||
@@ -757,10 +757,10 @@ glabel L8009FF0C
|
||||
.L8009FF24:
|
||||
/* 0A0B24 8009FF24 00084880 */ sll $t1, $t0, 2
|
||||
.L8009FF28:
|
||||
/* 0A0B28 8009FF28 3C04800F */ lui $a0, %hi(D_800E824C) # 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_800E824C)($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_800E824C) # 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_800E824C)($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_800E824C) # 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_800E824C)($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
|
||||
@@ -866,7 +866,7 @@ glabel L8009FF90
|
||||
/* 0A0CB0 800A00B0 8E040000 */ lw $a0, ($s0)
|
||||
/* 0A0CB4 800A00B4 8FA5009C */ lw $a1, 0x9c($sp)
|
||||
/* 0A0CB8 800A00B8 8E26000C */ lw $a2, 0xc($s1)
|
||||
/* 0A0CBC 800A00BC 0C026E9D */ jal func_8009BA74
|
||||
/* 0A0CBC 800A00BC 0C026E9D */ jal render_menu_textures
|
||||
/* 0A0CC0 800A00C0 8E270010 */ lw $a3, 0x10($s1)
|
||||
/* 0A0CC4 800A00C4 100001FF */ b .L800A08C4
|
||||
/* 0A0CC8 800A00C8 AE020000 */ sw $v0, ($s0)
|
||||
@@ -880,7 +880,7 @@ glabel L800A00DC
|
||||
/* 0A0CE0 800A00E0 24A54B4C */ addiu $a1, %lo(D_02004B4C) # addiu $a1, $a1, 0x4b4c
|
||||
/* 0A0CE4 800A00E4 8E040000 */ lw $a0, ($s0)
|
||||
/* 0A0CE8 800A00E8 8E26000C */ lw $a2, 0xc($s1)
|
||||
/* 0A0CEC 800A00EC 0C026E9D */ jal func_8009BA74
|
||||
/* 0A0CEC 800A00EC 0C026E9D */ jal render_menu_textures
|
||||
/* 0A0CF0 800A00F0 8E270010 */ lw $a3, 0x10($s1)
|
||||
/* 0A0CF4 800A00F4 100001F3 */ b .L800A08C4
|
||||
/* 0A0CF8 800A00F8 AE020000 */ sw $v0, ($s0)
|
||||
@@ -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
|
||||
@@ -920,7 +920,7 @@ glabel L800A00FC
|
||||
.L800A0170:
|
||||
/* 0A0D70 800A0170 24C600BF */ addiu $a2, $a2, 0xbf
|
||||
.L800A0174:
|
||||
/* 0A0D74 800A0174 0C028474 */ jal func_800A11D0
|
||||
/* 0A0D74 800A0174 0C028474 */ jal render_cursor_player
|
||||
/* 0A0D78 800A0178 02202025 */ move $a0, $s1
|
||||
/* 0A0D7C 800A017C 100001D2 */ b .L800A08C8
|
||||
/* 0A0D80 800A0180 8FBF0034 */ lw $ra, 0x34($sp)
|
||||
@@ -968,7 +968,7 @@ glabel L800A01F8
|
||||
/* 0A0E18 800A0218 8E040000 */ lw $a0, ($s0)
|
||||
/* 0A0E1C 800A021C 00402825 */ move $a1, $v0
|
||||
/* 0A0E20 800A0220 8E26000C */ lw $a2, 0xc($s1)
|
||||
/* 0A0E24 800A0224 0C026E9D */ jal func_8009BA74
|
||||
/* 0A0E24 800A0224 0C026E9D */ jal render_menu_textures
|
||||
/* 0A0E28 800A0228 8E270010 */ lw $a3, 0x10($s1)
|
||||
/* 0A0E2C 800A022C AE020000 */ sw $v0, ($s0)
|
||||
/* 0A0E30 800A0230 0C02A329 */ jal func_800A8CA4
|
||||
@@ -984,7 +984,7 @@ glabel L800A0240
|
||||
/* 0A0E54 800A0254 8E040000 */ lw $a0, ($s0)
|
||||
/* 0A0E58 800A0258 00402825 */ move $a1, $v0
|
||||
/* 0A0E5C 800A025C 8E26000C */ lw $a2, 0xc($s1)
|
||||
/* 0A0E60 800A0260 0C026E9D */ jal func_8009BA74
|
||||
/* 0A0E60 800A0260 0C026E9D */ jal render_menu_textures
|
||||
/* 0A0E64 800A0264 8E270010 */ lw $a3, 0x10($s1)
|
||||
/* 0A0E68 800A0268 10000196 */ b .L800A08C4
|
||||
/* 0A0E6C 800A026C AE020000 */ sw $v0, ($s0)
|
||||
@@ -1039,22 +1039,22 @@ glabel L800A02DC
|
||||
/* 0A0F18 800A0318 C4261AF8 */ lwc1 $f6, %lo(D_800F1AF8)($at)
|
||||
/* 0A0F1C 800A031C 8E24000C */ lw $a0, 0xc($s1)
|
||||
/* 0A0F20 800A0320 8E250010 */ lw $a1, 0x10($s1)
|
||||
/* 0A0F24 800A0324 3C06800E */ lui $a2, %hi(D_800E7728 - 0x194)
|
||||
/* 0A0F24 800A0324 3C06800E */ lui $a2, %hi(gBestTimeText - 0x194)
|
||||
/* 0A0F28 800A0328 000B6080 */ sll $t4, $t3, 2
|
||||
/* 0A0F2C 800A032C 00CC3021 */ addu $a2, $a2, $t4
|
||||
/* 0A0F30 800A0330 8CC67594 */ lw $a2, %lo(D_800E7728 - 0x194)($a2)
|
||||
/* 0A0F30 800A0330 8CC67594 */ lw $a2, %lo(gBestTimeText - 0x194)($a2)
|
||||
/* 0A0F34 800A0334 00003825 */ move $a3, $zero
|
||||
/* 0A0F38 800A0338 E7A00010 */ swc1 $f0, 0x10($sp)
|
||||
/* 0A0F3C 800A033C E7A60014 */ swc1 $f6, 0x14($sp)
|
||||
/* 0A0F40 800A0340 24840008 */ addiu $a0, $a0, 8
|
||||
/* 0A0F44 800A0344 0C024CC9 */ jal func_80093324
|
||||
/* 0A0F44 800A0344 0C024CC9 */ jal print_text_mode_1
|
||||
/* 0A0F48 800A0348 24A50010 */ addiu $a1, $a1, 0x10
|
||||
/* 0A0F4C 800A034C 0C02A1D3 */ jal func_800A874C
|
||||
/* 0A0F50 800A0350 02202025 */ move $a0, $s1
|
||||
/* 0A0F54 800A0354 1000015C */ b .L800A08C8
|
||||
/* 0A0F58 800A0358 8FBF0034 */ lw $ra, 0x34($sp)
|
||||
glabel L800A035C
|
||||
/* 0A0F5C 800A035C 0C02A385 */ jal func_800A8E14
|
||||
/* 0A0F5C 800A035C 0C02A385 */ jal render_battle_introduction
|
||||
/* 0A0F60 800A0360 02202025 */ move $a0, $s1
|
||||
/* 0A0F64 800A0364 10000158 */ b .L800A08C8
|
||||
/* 0A0F68 800A0368 8FBF0034 */ lw $ra, 0x34($sp)
|
||||
@@ -1090,7 +1090,7 @@ glabel L800A037C
|
||||
/* 0A0FD8 800A03D8 8E040000 */ lw $a0, ($s0)
|
||||
/* 0A0FDC 800A03DC 00402825 */ move $a1, $v0
|
||||
/* 0A0FE0 800A03E0 8E26000C */ lw $a2, 0xc($s1)
|
||||
/* 0A0FE4 800A03E4 0C026E9D */ jal func_8009BA74
|
||||
/* 0A0FE4 800A03E4 0C026E9D */ jal render_menu_textures
|
||||
/* 0A0FE8 800A03E8 8E270010 */ lw $a3, 0x10($s1)
|
||||
/* 0A0FEC 800A03EC 10000135 */ b .L800A08C4
|
||||
/* 0A0FF0 800A03F0 AE020000 */ sw $v0, ($s0)
|
||||
@@ -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
|
||||
@@ -1169,24 +1169,24 @@ glabel L800A0428
|
||||
/* 0A10FC 800A04FC 24A7003F */ addiu $a3, $a1, 0x3f
|
||||
/* 0A1100 800A0500 AE020000 */ sw $v0, ($s0)
|
||||
.L800A0504:
|
||||
/* 0A1104 800A0504 3C050200 */ lui $a1, %hi(D_02004A34) # $a1, 0x200
|
||||
/* 0A1108 800A0508 24A54A34 */ addiu $a1, %lo(D_02004A34) # addiu $a1, $a1, 0x4a34
|
||||
/* 0A1104 800A0504 3C050200 */ lui $a1, %hi(seg2_data_texture) # $a1, 0x200
|
||||
/* 0A1108 800A0508 24A54A34 */ addiu $a1, %lo(seg2_data_texture) # addiu $a1, $a1, 0x4a34
|
||||
/* 0A110C 800A050C 8E040000 */ lw $a0, ($s0)
|
||||
/* 0A1110 800A0510 8E26000C */ lw $a2, 0xc($s1)
|
||||
/* 0A1114 800A0514 0C026E9D */ jal func_8009BA74
|
||||
/* 0A1114 800A0514 0C026E9D */ jal render_menu_textures
|
||||
/* 0A1118 800A0518 8E270010 */ lw $a3, 0x10($s1)
|
||||
/* 0A111C 800A051C AE020000 */ sw $v0, ($s0)
|
||||
/* 0A1120 800A0520 0C024C36 */ jal set_text_color
|
||||
/* 0A1124 800A0524 24040003 */ li $a0, 3
|
||||
/* 0A1128 800A0528 3C01800F */ lui $at, %hi(D_800F1AFC) # $at, 0x800f
|
||||
/* 0A112C 800A052C C4201AFC */ lwc1 $f0, %lo(D_800F1AFC)($at)
|
||||
/* 0A1130 800A0530 3C06800E */ lui $a2, %hi(D_800E77B4) # $a2, 0x800e
|
||||
/* 0A1134 800A0534 24C677B4 */ addiu $a2, %lo(D_800E77B4) # addiu $a2, $a2, 0x77b4
|
||||
/* 0A1130 800A0530 3C06800E */ lui $a2, %hi(gTextMenuData) # $a2, 0x800e
|
||||
/* 0A1134 800A0534 24C677B4 */ addiu $a2, %lo(gTextMenuData) # addiu $a2, $a2, 0x77b4
|
||||
/* 0A1138 800A0538 24040125 */ li $a0, 293
|
||||
/* 0A113C 800A053C 2405001C */ li $a1, 28
|
||||
/* 0A1140 800A0540 00003825 */ move $a3, $zero
|
||||
/* 0A1144 800A0544 E7A00010 */ swc1 $f0, 0x10($sp)
|
||||
/* 0A1148 800A0548 0C024DAE */ jal func_800936B8
|
||||
/* 0A1148 800A0548 0C024DAE */ jal print_text1_left
|
||||
/* 0A114C 800A054C E7A00014 */ swc1 $f0, 0x14($sp)
|
||||
/* 0A1150 800A0550 100000DD */ b .L800A08C8
|
||||
/* 0A1154 800A0554 8FBF0034 */ lw $ra, 0x34($sp)
|
||||
@@ -1216,7 +1216,7 @@ glabel L800A0578
|
||||
/* 0A11A8 800A05A8 8E27001C */ lw $a3, 0x1c($s1)
|
||||
/* 0A11AC 800A05AC 8CC67500 */ lw $a2, %lo(gCupNames)($a2)
|
||||
/* 0A11B0 800A05B0 E7A80014 */ swc1 $f8, 0x14($sp)
|
||||
/* 0A11B4 800A05B4 0C024DAE */ jal func_800936B8
|
||||
/* 0A11B4 800A05B4 0C024DAE */ jal print_text1_left
|
||||
/* 0A11B8 800A05B8 E7AA0010 */ swc1 $f10, 0x10($sp)
|
||||
/* 0A11BC 800A05BC 100000C2 */ b .L800A08C8
|
||||
/* 0A11C0 800A05C0 8FBF0034 */ lw $ra, 0x34($sp)
|
||||
@@ -1236,7 +1236,7 @@ glabel L800A05C4
|
||||
/* 0A11F4 800A05F4 8E27001C */ lw $a3, 0x1c($s1)
|
||||
/* 0A11F8 800A05F8 8CC67524 */ lw $a2, %lo(gCourseNames)($a2)
|
||||
/* 0A11FC 800A05FC E7B20014 */ swc1 $f18, 0x14($sp)
|
||||
/* 0A1200 800A0600 0C024CC9 */ jal func_80093324
|
||||
/* 0A1200 800A0600 0C024CC9 */ jal print_text_mode_1
|
||||
/* 0A1204 800A0604 E7B00010 */ swc1 $f16, 0x10($sp)
|
||||
/* 0A1208 800A0608 100000AF */ b .L800A08C8
|
||||
/* 0A120C 800A060C 8FBF0034 */ lw $ra, 0x34($sp)
|
||||
@@ -1299,7 +1299,7 @@ glabel L800A0694
|
||||
/* 0A12D0 800A06D0 8E040000 */ lw $a0, ($s0)
|
||||
/* 0A12D4 800A06D4 00402825 */ move $a1, $v0
|
||||
/* 0A12D8 800A06D8 8E26000C */ lw $a2, 0xc($s1)
|
||||
/* 0A12DC 800A06DC 0C026E9D */ jal func_8009BA74
|
||||
/* 0A12DC 800A06DC 0C026E9D */ jal render_menu_textures
|
||||
/* 0A12E0 800A06E0 8E270010 */ lw $a3, 0x10($s1)
|
||||
/* 0A12E4 800A06E4 AE020000 */ sw $v0, ($s0)
|
||||
/* 0A12E8 800A06E8 8E2E001C */ lw $t6, 0x1c($s1)
|
||||
@@ -1311,12 +1311,12 @@ glabel L800A0694
|
||||
/* 0A1300 800A0700 AFAE0010 */ sw $t6, 0x10($sp)
|
||||
/* 0A1304 800A0704 02202025 */ move $a0, $s1
|
||||
/* 0A1308 800A0708 8FA500A8 */ lw $a1, 0xa8($sp)
|
||||
/* 0A130C 800A070C 0C028474 */ jal func_800A11D0
|
||||
/* 0A130C 800A070C 0C028474 */ jal render_cursor_player
|
||||
/* 0A1310 800A0710 240600FF */ li $a2, 255
|
||||
/* 0A1314 800A0714 1000006C */ b .L800A08C8
|
||||
/* 0A1318 800A0718 8FBF0034 */ lw $ra, 0x34($sp)
|
||||
glabel L800A071C
|
||||
/* 0A131C 800A071C 0C028F21 */ jal func_800A3C84
|
||||
/* 0A131C 800A071C 0C028F21 */ jal time_trials_finish_text_render
|
||||
/* 0A1320 800A0720 02202025 */ move $a0, $s1
|
||||
/* 0A1324 800A0724 10000068 */ b .L800A08C8
|
||||
/* 0A1328 800A0728 8FBF0034 */ lw $ra, 0x34($sp)
|
||||
@@ -1326,7 +1326,7 @@ glabel L800A072C
|
||||
/* 0A1334 800A0734 10000064 */ b .L800A08C8
|
||||
/* 0A1338 800A0738 8FBF0034 */ lw $ra, 0x34($sp)
|
||||
glabel L800A073C
|
||||
/* 0A133C 800A073C 0C029289 */ jal func_800A4A24
|
||||
/* 0A133C 800A073C 0C029289 */ jal render_menu_item_announce_ghost
|
||||
/* 0A1340 800A0740 02202025 */ move $a0, $s1
|
||||
/* 0A1344 800A0744 10000060 */ b .L800A08C8
|
||||
/* 0A1348 800A0748 8FBF0034 */ lw $ra, 0x34($sp)
|
||||
@@ -1336,22 +1336,22 @@ glabel L800A074C
|
||||
/* 0A1354 800A0754 1000005C */ b .L800A08C8
|
||||
/* 0A1358 800A0758 8FBF0034 */ lw $ra, 0x34($sp)
|
||||
glabel L800A075C
|
||||
/* 0A135C 800A075C 0C0295CE */ jal func_800A5738
|
||||
/* 0A135C 800A075C 0C0295CE */ jal render_menu_item_end_course_option
|
||||
/* 0A1360 800A0760 02202025 */ move $a0, $s1
|
||||
/* 0A1364 800A0764 10000058 */ b .L800A08C8
|
||||
/* 0A1368 800A0768 8FBF0034 */ lw $ra, 0x34($sp)
|
||||
glabel L800A076C
|
||||
/* 0A136C 800A076C 0C028649 */ jal func_800A1924
|
||||
/* 0A136C 800A076C 0C028649 */ jal render_menu_item_data_course_image
|
||||
/* 0A1370 800A0770 02202025 */ move $a0, $s1
|
||||
/* 0A1374 800A0774 10000054 */ b .L800A08C8
|
||||
/* 0A1378 800A0778 8FBF0034 */ lw $ra, 0x34($sp)
|
||||
glabel L800A077C
|
||||
/* 0A137C 800A077C 0C028688 */ jal func_800A1A20
|
||||
/* 0A137C 800A077C 0C028688 */ jal render_menu_item_data_course_info
|
||||
/* 0A1380 800A0780 02202025 */ move $a0, $s1
|
||||
/* 0A1384 800A0784 10000050 */ b .L800A08C8
|
||||
/* 0A1388 800A0788 8FBF0034 */ lw $ra, 0x34($sp)
|
||||
glabel L800A078C
|
||||
/* 0A138C 800A078C 0C0286F8 */ jal func_800A1BE0
|
||||
/* 0A138C 800A078C 0C0286F8 */ jal menu_item_data_course_selectable
|
||||
/* 0A1390 800A0790 02202025 */ move $a0, $s1
|
||||
/* 0A1394 800A0794 1000004C */ b .L800A08C8
|
||||
/* 0A1398 800A0798 8FBF0034 */ lw $ra, 0x34($sp)
|
||||
@@ -1375,7 +1375,7 @@ glabel L800A07CC
|
||||
/* 0A13D0 800A07D0 24A54638 */ addiu $a1, %lo(D_02004638) # addiu $a1, $a1, 0x4638
|
||||
/* 0A13D4 800A07D4 8E040000 */ lw $a0, ($s0)
|
||||
/* 0A13D8 800A07D8 8E26000C */ lw $a2, 0xc($s1)
|
||||
/* 0A13DC 800A07DC 0C026E9D */ jal func_8009BA74
|
||||
/* 0A13DC 800A07DC 0C026E9D */ jal render_menu_textures
|
||||
/* 0A13E0 800A07E0 8E270010 */ lw $a3, 0x10($s1)
|
||||
/* 0A13E4 800A07E4 10000037 */ b .L800A08C4
|
||||
/* 0A13E8 800A07E8 AE020000 */ sw $v0, ($s0)
|
||||
@@ -1426,7 +1426,7 @@ glabel L800A084C
|
||||
/* 0A1480 800A0880 8E040000 */ lw $a0, ($s0)
|
||||
/* 0A1484 800A0884 00402825 */ move $a1, $v0
|
||||
/* 0A1488 800A0888 8E26000C */ lw $a2, 0xc($s1)
|
||||
/* 0A148C 800A088C 0C026E9D */ jal func_8009BA74
|
||||
/* 0A148C 800A088C 0C026E9D */ jal render_menu_textures
|
||||
/* 0A1490 800A0890 8E270010 */ lw $a3, 0x10($s1)
|
||||
/* 0A1494 800A0894 AE020000 */ sw $v0, ($s0)
|
||||
/* 0A1498 800A0898 8E29001C */ lw $t1, 0x1c($s1)
|
||||
@@ -1439,7 +1439,7 @@ glabel L800A084C
|
||||
/* 0A14B4 800A08B4 10000004 */ b .L800A08C8
|
||||
/* 0A14B8 800A08B8 8FBF0034 */ lw $ra, 0x34($sp)
|
||||
glabel L800A08BC
|
||||
/* 0A14BC 800A08BC 0C029DE4 */ jal func_800A7790
|
||||
/* 0A14BC 800A08BC 0C029DE4 */ jal menu_item_credits_render
|
||||
/* 0A14C0 800A08C0 02202025 */ move $a0, $s1
|
||||
.L800A08C4:
|
||||
glabel L800A08C4
|
||||
@@ -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
|
||||
@@ -49,10 +49,10 @@ glabel main_menu_act
|
||||
glabel L800B2A6C # case 0
|
||||
/* 0B366C 800B2A6C 3C0D8019 */ lui $t5, %hi(gPlayerCount) # $t5, 0x8019
|
||||
/* 0B3670 800B2A70 81ADEDF3 */ lb $t5, %lo(gPlayerCount)($t5)
|
||||
/* 0B3674 800B2A74 3C0F800F */ lui $t7, %hi((D_800E86AC - 1)) # 0x800f
|
||||
/* 0B3674 800B2A74 3C0F800F */ lui $t7, %hi((gGameModeMenuColumn - 1)) # 0x800f
|
||||
/* 0B3678 800B2A78 3C03800F */ lui $v1, %hi((gGameModePlayerSelection - 0xC)) # 0x800f
|
||||
/* 0B367C 800B2A7C 01ED7821 */ addu $t7, $t7, $t5
|
||||
/* 0B3680 800B2A80 81EF86AB */ lb $t7, %lo((D_800E86AC - 1))($t7) # -0x7955($t7)
|
||||
/* 0B3680 800B2A80 81EF86AB */ lb $t7, %lo((gGameModeMenuColumn - 1))($t7) # -0x7955($t7)
|
||||
/* 0B3684 800B2A84 000D7080 */ sll $t6, $t5, 2
|
||||
/* 0B3688 800B2A88 01CD7023 */ subu $t6, $t6, $t5
|
||||
/* 0B368C 800B2A8C 000E7080 */ sll $t6, $t6, 2
|
||||
@@ -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,17 +137,17 @@ 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
|
||||
/* 0B37CC 800B2BCC 81EFEDF3 */ lb $t7, %lo(gPlayerCount)($t7)
|
||||
/* 0B37D0 800B2BD0 3C18800F */ lui $t8, %hi((D_800E86AC - 1)) # 0x800f
|
||||
/* 0B37D0 800B2BD0 3C18800F */ lui $t8, %hi((gGameModeMenuColumn - 1)) # 0x800f
|
||||
/* 0B37D4 800B2BD4 3C03800F */ lui $v1, %hi((gGameModePlayerSelection - 0xC)) # 0x800f
|
||||
/* 0B37D8 800B2BD8 030FC021 */ addu $t8, $t8, $t7
|
||||
/* 0B37DC 800B2BDC 831886AB */ lb $t8, %lo((D_800E86AC - 1))($t8) # -0x7955($t8)
|
||||
/* 0B37DC 800B2BDC 831886AB */ lb $t8, %lo((gGameModeMenuColumn - 1))($t8) # -0x7955($t8)
|
||||
/* 0B37E0 800B2BE0 000F7080 */ sll $t6, $t7, 2
|
||||
/* 0B37E4 800B2BE4 01CF7023 */ subu $t6, $t6, $t7
|
||||
/* 0B37E8 800B2BE8 000E7080 */ sll $t6, $t6, 2
|
||||
@@ -160,17 +160,17 @@ 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
|
||||
/* 0B381C 800B2C1C 34848001 */ ori $a0, (0x49008001 & 0xFFFF) # ori $a0, $a0, 0x8001
|
||||
/* 0B3820 800B2C20 3C0C8019 */ lui $t4, %hi(gPlayerCount) # $t4, 0x8019
|
||||
/* 0B3824 800B2C24 818CEDF3 */ lb $t4, %lo(gPlayerCount)($t4)
|
||||
/* 0B3828 800B2C28 3C0F800F */ lui $t7, %hi((D_800E86AC - 1)) # 0x800f
|
||||
/* 0B3828 800B2C28 3C0F800F */ lui $t7, %hi((gGameModeMenuColumn - 1)) # 0x800f
|
||||
/* 0B382C 800B2C2C 3C03800F */ lui $v1, %hi((gGameModePlayerSelection - 0xC)) # 0x800f
|
||||
/* 0B3830 800B2C30 01EC7821 */ addu $t7, $t7, $t4
|
||||
/* 0B3834 800B2C34 81EF86AB */ lb $t7, %lo((D_800E86AC - 1))($t7) # -0x7955($t7)
|
||||
/* 0B3834 800B2C34 81EF86AB */ lb $t7, %lo((gGameModeMenuColumn - 1))($t7) # -0x7955($t7)
|
||||
/* 0B3838 800B2C38 000C6880 */ sll $t5, $t4, 2
|
||||
/* 0B383C 800B2C3C 01AC6823 */ subu $t5, $t5, $t4
|
||||
/* 0B3840 800B2C40 000D6880 */ sll $t5, $t5, 2
|
||||
@@ -189,10 +189,10 @@ glabel L800B2AA4 # case 3
|
||||
/* 0B3870 800B2C70 34849010 */ ori $a0, (0x49009010 & 0xFFFF) # ori $a0, $a0, 0x9010
|
||||
/* 0B3874 800B2C74 3C098019 */ lui $t1, %hi(gPlayerCount) # $t1, 0x8019
|
||||
/* 0B3878 800B2C78 8129EDF3 */ lb $t1, %lo(gPlayerCount)($t1)
|
||||
/* 0B387C 800B2C7C 3C0B800F */ lui $t3, %hi((D_800E86AC - 1)) # 0x800f
|
||||
/* 0B387C 800B2C7C 3C0B800F */ lui $t3, %hi((gGameModeMenuColumn - 1)) # 0x800f
|
||||
/* 0B3880 800B2C80 3C03800F */ lui $v1, %hi((gGameModePlayerSelection - 0xC)) # 0x800f
|
||||
/* 0B3884 800B2C84 01695821 */ addu $t3, $t3, $t1
|
||||
/* 0B3888 800B2C88 816B86AB */ lb $t3, %lo((D_800E86AC - 1))($t3) # -0x7955($t3)
|
||||
/* 0B3888 800B2C88 816B86AB */ lb $t3, %lo((gGameModeMenuColumn - 1))($t3) # -0x7955($t3)
|
||||
/* 0B388C 800B2C8C 00095080 */ sll $t2, $t1, 2
|
||||
/* 0B3890 800B2C90 01495023 */ subu $t2, $t2, $t1
|
||||
/* 0B3894 800B2C94 000A5080 */ sll $t2, $t2, 2
|
||||
@@ -212,10 +212,10 @@ glabel L800B2AA4 # case 3
|
||||
/* 0B38C8 800B2CC8 34849011 */ ori $a0, (0x49009011 & 0xFFFF) # ori $a0, $a0, 0x9011
|
||||
/* 0B38CC 800B2CCC 3C0E8019 */ lui $t6, %hi(gPlayerCount) # $t6, 0x8019
|
||||
/* 0B38D0 800B2CD0 81CEEDF3 */ lb $t6, %lo(gPlayerCount)($t6)
|
||||
/* 0B38D4 800B2CD4 3C09800F */ lui $t1, %hi((D_800E86AC - 1)) # 0x800f
|
||||
/* 0B38D4 800B2CD4 3C09800F */ lui $t1, %hi((gGameModeMenuColumn - 1)) # 0x800f
|
||||
/* 0B38D8 800B2CD8 3C03800F */ lui $v1, %hi((gGameModePlayerSelection - 0xC)) # 0x800f
|
||||
/* 0B38DC 800B2CDC 012E4821 */ addu $t1, $t1, $t6
|
||||
/* 0B38E0 800B2CE0 812986AB */ lb $t1, %lo((D_800E86AC - 1))($t1) # -0x7955($t1)
|
||||
/* 0B38E0 800B2CE0 812986AB */ lb $t1, %lo((gGameModeMenuColumn - 1))($t1) # -0x7955($t1)
|
||||
/* 0B38E4 800B2CE4 000EC880 */ sll $t9, $t6, 2
|
||||
/* 0B38E8 800B2CE8 032EC823 */ subu $t9, $t9, $t6
|
||||
/* 0B38EC 800B2CEC 0019C880 */ sll $t9, $t9, 2
|
||||
@@ -225,9 +225,9 @@ glabel L800B2AA4 # case 3
|
||||
/* 0B38FC 800B2CFC 100001F4 */ b .L800B34D0
|
||||
/* 0B3900 800B2D00 8C632B70 */ lw $v1, %lo((gGameModePlayerSelection - 0xC))($v1) # 0x2b70($v1)
|
||||
.L800B2D04:
|
||||
/* 0B3904 800B2D04 3C0F800F */ lui $t7, %hi((D_800E86AC - 1)) # 0x800f
|
||||
/* 0B3904 800B2D04 3C0F800F */ lui $t7, %hi((gGameModeMenuColumn - 1)) # 0x800f
|
||||
/* 0B3908 800B2D08 01E27821 */ addu $t7, $t7, $v0
|
||||
/* 0B390C 800B2D0C 81EF86AB */ lb $t7, %lo((D_800E86AC - 1))($t7) # -0x7955($t7)
|
||||
/* 0B390C 800B2D0C 81EF86AB */ lb $t7, %lo((gGameModeMenuColumn - 1))($t7) # -0x7955($t7)
|
||||
/* 0B3910 800B2D10 01826023 */ subu $t4, $t4, $v0
|
||||
/* 0B3914 800B2D14 000C6080 */ sll $t4, $t4, 2
|
||||
/* 0B3918 800B2D18 000F6880 */ sll $t5, $t7, 2
|
||||
@@ -242,8 +242,8 @@ glabel L800B2D30 # case 4
|
||||
/* 0B3938 800B2D38 00603025 */ move $a2, $v1
|
||||
/* 0B393C 800B2D3C 3C028019 */ lui $v0, %hi(gPlayerCount) # $v0, 0x8019
|
||||
/* 0B3940 800B2D40 8042EDF3 */ lb $v0, %lo(gPlayerCount)($v0)
|
||||
/* 0B3944 800B2D44 3C09800F */ lui $t1, %hi(D_800E86AC) # $t1, 0x800f
|
||||
/* 0B3948 800B2D48 252986AC */ addiu $t1, %lo(D_800E86AC) # addiu $t1, $t1, -0x7954
|
||||
/* 0B3944 800B2D44 3C09800F */ lui $t1, %hi(gGameModeMenuColumn) # $t1, 0x800f
|
||||
/* 0B3948 800B2D48 252986AC */ addiu $t1, %lo(gGameModeMenuColumn) # addiu $t1, $t1, -0x7954
|
||||
/* 0B394C 800B2D4C 3C19800F */ lui $t9, %hi((gPlayerModeSelection - 1)) # 0x800f
|
||||
/* 0B3950 800B2D50 0322C821 */ addu $t9, $t9, $v0
|
||||
/* 0B3954 800B2D54 00491821 */ addu $v1, $v0, $t1
|
||||
@@ -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
|
||||
@@ -268,37 +268,37 @@ glabel L800B2D30 # case 4
|
||||
/* 0B3998 800B2D98 11400011 */ beqz $t2, .L800B2DE0
|
||||
/* 0B399C 800B2D9C 3C0F8019 */ lui $t7, %hi(gPlayerCount) # $t7, 0x8019
|
||||
/* 0B39A0 800B2DA0 81EFEDF3 */ lb $t7, %lo(gPlayerCount)($t7)
|
||||
/* 0B39A4 800B2DA4 3C0C800F */ lui $t4, %hi(D_800E86AC) # $t4, 0x800f
|
||||
/* 0B39A8 800B2DA8 258C86AC */ addiu $t4, %lo(D_800E86AC) # addiu $t4, $t4, -0x7954
|
||||
/* 0B39A4 800B2DA4 3C0C800F */ lui $t4, %hi(gGameModeMenuColumn) # $t4, 0x800f
|
||||
/* 0B39A8 800B2DA8 258C86AC */ addiu $t4, %lo(gGameModeMenuColumn) # addiu $t4, $t4, -0x7954
|
||||
/* 0B39AC 800B2DAC 01EC1821 */ addu $v1, $t7, $t4
|
||||
/* 0B39B0 800B2DB0 8064FFFF */ lb $a0, -1($v1)
|
||||
/* 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
|
||||
/* 0B3A00 800B2E00 34848002 */ ori $a0, (0x49008002 & 0xFFFF) # ori $a0, $a0, 0x8002
|
||||
/* 0B3A04 800B2E04 3C0E8019 */ lui $t6, %hi(gPlayerCount) # $t6, 0x8019
|
||||
/* 0B3A08 800B2E08 81CEEDF3 */ lb $t6, %lo(gPlayerCount)($t6)
|
||||
/* 0B3A0C 800B2E0C 3C19800F */ lui $t9, %hi((D_800E86AC - 1)) # 0x800f
|
||||
/* 0B3A0C 800B2E0C 3C19800F */ lui $t9, %hi((gGameModeMenuColumn - 1)) # 0x800f
|
||||
/* 0B3A10 800B2E10 3C03800F */ lui $v1, %hi((gGameModePlayerSelection - 0xC)) # 0x800f
|
||||
/* 0B3A14 800B2E14 032EC821 */ addu $t9, $t9, $t6
|
||||
/* 0B3A18 800B2E18 833986AB */ lb $t9, %lo((D_800E86AC - 1))($t9) # -0x7955($t9)
|
||||
/* 0B3A18 800B2E18 833986AB */ lb $t9, %lo((gGameModeMenuColumn - 1))($t9) # -0x7955($t9)
|
||||
/* 0B3A1C 800B2E1C 000E4880 */ sll $t1, $t6, 2
|
||||
/* 0B3A20 800B2E20 012E4823 */ subu $t1, $t1, $t6
|
||||
/* 0B3A24 800B2E24 00094880 */ sll $t1, $t1, 2
|
||||
@@ -309,11 +309,11 @@ glabel L800B2D30 # case 4
|
||||
/* 0B3A38 800B2E38 8C632B70 */ lw $v1, %lo((gGameModePlayerSelection - 0xC))($v1) # 0x2b70($v1)
|
||||
.L800B2E3C:
|
||||
/* 0B3A3C 800B2E3C 8042EDF3 */ lb $v0, %lo(gPlayerCount)($v0)
|
||||
/* 0B3A40 800B2E40 3C04800F */ lui $a0, %hi((D_800E86AC - 1)) # 0x800f
|
||||
/* 0B3A40 800B2E40 3C04800F */ lui $a0, %hi((gGameModeMenuColumn - 1)) # 0x800f
|
||||
/* 0B3A44 800B2E44 30CF8000 */ andi $t7, $a2, 0x8000
|
||||
/* 0B3A48 800B2E48 00822021 */ addu $a0, $a0, $v0
|
||||
/* 0B3A4C 800B2E4C 11E0003F */ beqz $t7, .L800B2F4C
|
||||
/* 0B3A50 800B2E50 808486AB */ lb $a0, %lo((D_800E86AC - 1))($a0) # -0x7955($a0)
|
||||
/* 0B3A50 800B2E50 808486AB */ lb $a0, %lo((gGameModeMenuColumn - 1))($a0) # -0x7955($a0)
|
||||
/* 0B3A54 800B2E54 00026080 */ sll $t4, $v0, 2
|
||||
/* 0B3A58 800B2E58 01826023 */ subu $t4, $t4, $v0
|
||||
/* 0B3A5C 800B2E5C 000C6080 */ sll $t4, $t4, 2
|
||||
@@ -363,14 +363,14 @@ 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)
|
||||
/* 0B3B14 800B2F14 3C0D800F */ lui $t5, %hi((D_800E86AC - 1)) # 0x800f
|
||||
/* 0B3B14 800B2F14 3C0D800F */ lui $t5, %hi((gGameModeMenuColumn - 1)) # 0x800f
|
||||
/* 0B3B18 800B2F18 3C03800F */ lui $v1, %hi((gGameModePlayerSelection - 0xC)) # 0x800f
|
||||
/* 0B3B1C 800B2F1C 01AF6821 */ addu $t5, $t5, $t7
|
||||
/* 0B3B20 800B2F20 81AD86AB */ lb $t5, %lo((D_800E86AC - 1))($t5) # -0x7955($t5)
|
||||
/* 0B3B20 800B2F20 81AD86AB */ lb $t5, %lo((gGameModeMenuColumn - 1))($t5) # -0x7955($t5)
|
||||
/* 0B3B24 800B2F24 000F6080 */ sll $t4, $t7, 2
|
||||
/* 0B3B28 800B2F28 018F6023 */ subu $t4, $t4, $t7
|
||||
/* 0B3B2C 800B2F2C 000C6080 */ sll $t4, $t4, 2
|
||||
@@ -409,10 +409,10 @@ glabel L800B2F70 # case 5, 8
|
||||
/* 0B3BA8 800B2FA8 00000000 */ nop
|
||||
.L800B2FAC:
|
||||
/* 0B3BAC 800B2FAC 8042EDF3 */ lb $v0, %lo(gPlayerCount)($v0)
|
||||
/* 0B3BB0 800B2FB0 3C18800F */ lui $t8, %hi((D_800E86AC - 1)) # 0x800f
|
||||
/* 0B3BB0 800B2FB0 3C18800F */ lui $t8, %hi((gGameModeMenuColumn - 1)) # 0x800f
|
||||
/* 0B3BB4 800B2FB4 3C03800F */ lui $v1, %hi((gGameModePlayerSelection - 0xC)) # 0x800f
|
||||
/* 0B3BB8 800B2FB8 0302C021 */ addu $t8, $t8, $v0
|
||||
/* 0B3BBC 800B2FBC 831886AB */ lb $t8, %lo((D_800E86AC - 1))($t8) # -0x7955($t8)
|
||||
/* 0B3BBC 800B2FBC 831886AB */ lb $t8, %lo((gGameModeMenuColumn - 1))($t8) # -0x7955($t8)
|
||||
/* 0B3BC0 800B2FC0 00026080 */ sll $t4, $v0, 2
|
||||
/* 0B3BC4 800B2FC4 01826023 */ subu $t4, $t4, $v0
|
||||
/* 0B3BC8 800B2FC8 000C6080 */ sll $t4, $t4, 2
|
||||
@@ -433,13 +433,13 @@ glabel L800B2F70 # case 5, 8
|
||||
.L800B3000:
|
||||
/* 0B3C00 800B3000 3C028019 */ lui $v0, %hi(gPlayerCount) # $v0, 0x8019
|
||||
/* 0B3C04 800B3004 8042EDF3 */ lb $v0, %lo(gPlayerCount)($v0)
|
||||
/* 0B3C08 800B3008 3C0B800F */ lui $t3, %hi((D_800E86AC - 1)) # 0x800f
|
||||
/* 0B3C0C 800B300C 3C0F800F */ lui $t7, %hi(D_800E86B0) # $t7, 0x800f
|
||||
/* 0B3C08 800B3008 3C0B800F */ lui $t3, %hi((gGameModeMenuColumn - 1)) # 0x800f
|
||||
/* 0B3C0C 800B300C 3C0F800F */ lui $t7, %hi(gGameModeSubMenuColumn) # $t7, 0x800f
|
||||
/* 0B3C10 800B3010 01625821 */ addu $t3, $t3, $v0
|
||||
/* 0B3C14 800B3014 816B86AB */ lb $t3, %lo((D_800E86AC - 1))($t3) # -0x7955($t3)
|
||||
/* 0B3C14 800B3014 816B86AB */ lb $t3, %lo((gGameModeMenuColumn - 1))($t3) # -0x7955($t3)
|
||||
/* 0B3C18 800B3018 00024880 */ sll $t1, $v0, 2
|
||||
/* 0B3C1C 800B301C 01224823 */ subu $t1, $t1, $v0
|
||||
/* 0B3C20 800B3020 25EF86B0 */ addiu $t7, %lo(D_800E86B0) # addiu $t7, $t7, -0x7950
|
||||
/* 0B3C20 800B3020 25EF86B0 */ addiu $t7, %lo(gGameModeSubMenuColumn) # addiu $t7, $t7, -0x7950
|
||||
/* 0B3C24 800B3024 012B5021 */ addu $t2, $t1, $t3
|
||||
/* 0B3C28 800B3028 014F1821 */ addu $v1, $t2, $t7
|
||||
/* 0B3C2C 800B302C 8064FFFD */ lb $a0, -3($v1)
|
||||
@@ -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
|
||||
@@ -471,15 +471,15 @@ glabel L800B2F70 # case 5, 8
|
||||
/* 0B3C90 800B3090 8FA6001C */ lw $a2, 0x1c($sp)
|
||||
/* 0B3C94 800B3094 3C028019 */ lui $v0, %hi(gPlayerCount) # $v0, 0x8019
|
||||
/* 0B3C98 800B3098 8042EDF3 */ lb $v0, %lo(gPlayerCount)($v0)
|
||||
/* 0B3C9C 800B309C 3C04800F */ lui $a0, %hi((D_800E86AC - 1)) # 0x800f
|
||||
/* 0B3CA0 800B30A0 3C09800F */ lui $t1, %hi((gGameModePlayerColumnExtra - 3)) # 0x800f
|
||||
/* 0B3C9C 800B309C 3C04800F */ lui $a0, %hi((gGameModeMenuColumn - 1)) # 0x800f
|
||||
/* 0B3CA0 800B30A0 3C09800F */ lui $t1, %hi((sGameModePlayerColumnExtra - 3)) # 0x800f
|
||||
/* 0B3CA4 800B30A4 00822021 */ addu $a0, $a0, $v0
|
||||
/* 0B3CA8 800B30A8 808486AB */ lb $a0, %lo((D_800E86AC - 1))($a0) # -0x7955($a0)
|
||||
/* 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
|
||||
@@ -488,15 +488,15 @@ glabel L800B2F70 # case 5, 8
|
||||
.L800B30D4:
|
||||
/* 0B3CD4 800B30D4 3C028019 */ lui $v0, %hi(gPlayerCount) # $v0, 0x8019
|
||||
/* 0B3CD8 800B30D8 8042EDF3 */ lb $v0, %lo(gPlayerCount)($v0)
|
||||
/* 0B3CDC 800B30DC 3C04800F */ lui $a0, %hi((D_800E86AC - 1)) # 0x800f
|
||||
/* 0B3CE0 800B30E0 3C0F800F */ lui $t7, %hi((gGameModePlayerColumnDefault - 3)) # 0x800f
|
||||
/* 0B3CDC 800B30DC 3C04800F */ lui $a0, %hi((gGameModeMenuColumn - 1)) # 0x800f
|
||||
/* 0B3CE0 800B30E0 3C0F800F */ lui $t7, %hi((sGameModePlayerColumnDefault - 3)) # 0x800f
|
||||
/* 0B3CE4 800B30E4 00822021 */ addu $a0, $a0, $v0
|
||||
/* 0B3CE8 800B30E8 808486AB */ lb $a0, %lo((D_800E86AC - 1))($a0) # -0x7955($a0)
|
||||
/* 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
|
||||
@@ -505,14 +505,14 @@ glabel L800B2F70 # case 5, 8
|
||||
/* 0B3D10 800B3110 1060000F */ beqz $v1, .L800B3150
|
||||
/* 0B3D14 800B3114 00026880 */ sll $t5, $v0, 2
|
||||
/* 0B3D18 800B3118 01A26823 */ subu $t5, $t5, $v0
|
||||
/* 0B3D1C 800B311C 3C0C800F */ lui $t4, %hi(D_800E86B0) # $t4, 0x800f
|
||||
/* 0B3D20 800B3120 258C86B0 */ addiu $t4, %lo(D_800E86B0) # addiu $t4, $t4, -0x7950
|
||||
/* 0B3D1C 800B311C 3C0C800F */ lui $t4, %hi(gGameModeSubMenuColumn) # $t4, 0x800f
|
||||
/* 0B3D20 800B3120 258C86B0 */ addiu $t4, %lo(gGameModeSubMenuColumn) # addiu $t4, $t4, -0x7950
|
||||
/* 0B3D24 800B3124 01A4C021 */ addu $t8, $t5, $a0
|
||||
/* 0B3D28 800B3128 030C1821 */ addu $v1, $t8, $t4
|
||||
/* 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
|
||||
@@ -521,31 +521,31 @@ glabel L800B2F70 # case 5, 8
|
||||
.L800B3150:
|
||||
/* 0B3D50 800B3150 3C028019 */ lui $v0, %hi(gPlayerCount) # $v0, 0x8019
|
||||
/* 0B3D54 800B3154 8042EDF3 */ lb $v0, %lo(gPlayerCount)($v0)
|
||||
/* 0B3D58 800B3158 3C04800F */ lui $a0, %hi((D_800E86AC - 1)) # 0x800f
|
||||
/* 0B3D5C 800B315C 3C05800F */ lui $a1, %hi((D_800E86B0 - 3)) # 0x800f
|
||||
/* 0B3D58 800B3158 3C04800F */ lui $a0, %hi((gGameModeMenuColumn - 1)) # 0x800f
|
||||
/* 0B3D5C 800B315C 3C05800F */ lui $a1, %hi((gGameModeSubMenuColumn - 3)) # 0x800f
|
||||
/* 0B3D60 800B3160 00822021 */ addu $a0, $a0, $v0
|
||||
/* 0B3D64 800B3164 808486AB */ lb $a0, %lo((D_800E86AC - 1))($a0) # -0x7955($a0)
|
||||
/* 0B3D64 800B3164 808486AB */ lb $a0, %lo((gGameModeMenuColumn - 1))($a0) # -0x7955($a0)
|
||||
/* 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((D_800E86B0 - 3))($a1) # -0x7953($a1)
|
||||
/* 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
|
||||
/* 0B3DA0 800B31A0 34848002 */ ori $a0, (0x49008002 & 0xFFFF) # ori $a0, $a0, 0x8002
|
||||
/* 0B3DA4 800B31A4 3C0D8019 */ lui $t5, %hi(gPlayerCount) # $t5, 0x8019
|
||||
/* 0B3DA8 800B31A8 81ADEDF3 */ lb $t5, %lo(gPlayerCount)($t5)
|
||||
/* 0B3DAC 800B31AC 3C0C800F */ lui $t4, %hi((D_800E86AC - 1)) # 0x800f
|
||||
/* 0B3DAC 800B31AC 3C0C800F */ lui $t4, %hi((gGameModeMenuColumn - 1)) # 0x800f
|
||||
/* 0B3DB0 800B31B0 3C03800F */ lui $v1, %hi((gGameModePlayerSelection - 0xC)) # 0x800f
|
||||
/* 0B3DB4 800B31B4 018D6021 */ addu $t4, $t4, $t5
|
||||
/* 0B3DB8 800B31B8 818C86AB */ lb $t4, %lo((D_800E86AC - 1))($t4) # -0x7955($t4)
|
||||
/* 0B3DB8 800B31B8 818C86AB */ lb $t4, %lo((gGameModeMenuColumn - 1))($t4) # -0x7955($t4)
|
||||
/* 0B3DBC 800B31BC 000DC080 */ sll $t8, $t5, 2
|
||||
/* 0B3DC0 800B31C0 030DC023 */ subu $t8, $t8, $t5
|
||||
/* 0B3DC4 800B31C4 0018C080 */ sll $t8, $t8, 2
|
||||
@@ -558,16 +558,16 @@ 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)
|
||||
/* 0B3DF8 800B31F8 24070001 */ li $a3, 1
|
||||
/* 0B3DFC 800B31FC 8FA50028 */ lw $a1, 0x28($sp)
|
||||
/* 0B3E00 800B3200 14E2000E */ bne $a3, $v0, .L800B323C
|
||||
/* 0B3E04 800B3204 3C0B800F */ lui $t3, %hi((D_800E86AC - 1)) # 0x800f
|
||||
/* 0B3E04 800B3204 3C0B800F */ lui $t3, %hi((gGameModeMenuColumn - 1)) # 0x800f
|
||||
/* 0B3E08 800B3208 01625821 */ addu $t3, $t3, $v0
|
||||
/* 0B3E0C 800B320C 816B86AB */ lb $t3, %lo((D_800E86AC - 1))($t3) # -0x7955($t3)
|
||||
/* 0B3E0C 800B320C 816B86AB */ lb $t3, %lo((gGameModeMenuColumn - 1))($t3) # -0x7955($t3)
|
||||
/* 0B3E10 800B3210 54EB000B */ bnel $a3, $t3, .L800B3240
|
||||
/* 0B3E14 800B3214 240A0006 */ li $t2, 6
|
||||
/* 0B3E18 800B3218 54A70009 */ bnel $a1, $a3, .L800B3240
|
||||
@@ -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
|
||||
@@ -592,10 +592,10 @@ glabel L800B2F70 # case 5, 8
|
||||
.L800B325C:
|
||||
/* 0B3E5C 800B325C 3C0F8019 */ lui $t7, %hi(gPlayerCount) # $t7, 0x8019
|
||||
/* 0B3E60 800B3260 81EFEDF3 */ lb $t7, %lo(gPlayerCount)($t7)
|
||||
/* 0B3E64 800B3264 3C0C800F */ lui $t4, %hi((D_800E86AC - 1)) # 0x800f
|
||||
/* 0B3E64 800B3264 3C0C800F */ lui $t4, %hi((gGameModeMenuColumn - 1)) # 0x800f
|
||||
/* 0B3E68 800B3268 3C03800F */ lui $v1, %hi((gGameModePlayerSelection - 0xC)) # 0x800f
|
||||
/* 0B3E6C 800B326C 018F6021 */ addu $t4, $t4, $t7
|
||||
/* 0B3E70 800B3270 818C86AB */ lb $t4, %lo((D_800E86AC - 1))($t4) # -0x7955($t4)
|
||||
/* 0B3E70 800B3270 818C86AB */ lb $t4, %lo((gGameModeMenuColumn - 1))($t4) # -0x7955($t4)
|
||||
/* 0B3E74 800B3274 000F6880 */ sll $t5, $t7, 2
|
||||
/* 0B3E78 800B3278 01AF6823 */ subu $t5, $t5, $t7
|
||||
/* 0B3E7C 800B327C 000D6880 */ sll $t5, $t5, 2
|
||||
@@ -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
|
||||
@@ -643,10 +643,10 @@ glabel L800B32B4 # case 6, 7
|
||||
/* 0B3F10 800B3310 30D98000 */ andi $t9, $a2, 0x8000
|
||||
/* 0B3F14 800B3314 3C028019 */ lui $v0, %hi(gPlayerCount) # $v0, 0x8019
|
||||
/* 0B3F18 800B3318 8042EDF3 */ lb $v0, %lo(gPlayerCount)($v0)
|
||||
/* 0B3F1C 800B331C 3C0E800F */ lui $t6, %hi((D_800E86AC - 1)) # 0x800f
|
||||
/* 0B3F1C 800B331C 3C0E800F */ lui $t6, %hi((gGameModeMenuColumn - 1)) # 0x800f
|
||||
/* 0B3F20 800B3320 3C03800F */ lui $v1, %hi((gGameModePlayerSelection - 0xC)) # 0x800f
|
||||
/* 0B3F24 800B3324 01C27021 */ addu $t6, $t6, $v0
|
||||
/* 0B3F28 800B3328 81CE86AB */ lb $t6, %lo((D_800E86AC - 1))($t6) # -0x7955($t6)
|
||||
/* 0B3F28 800B3328 81CE86AB */ lb $t6, %lo((gGameModeMenuColumn - 1))($t6) # -0x7955($t6)
|
||||
/* 0B3F2C 800B332C 0002C080 */ sll $t8, $v0, 2
|
||||
/* 0B3F30 800B3330 0302C023 */ subu $t8, $t8, $v0
|
||||
/* 0B3F34 800B3334 0018C080 */ sll $t8, $t8, 2
|
||||
@@ -672,17 +672,17 @@ 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
|
||||
/* 0B3F94 800B3394 34848002 */ ori $a0, (0x49008002 & 0xFFFF) # ori $a0, $a0, 0x8002
|
||||
/* 0B3F98 800B3398 3C0F8019 */ lui $t7, %hi(gPlayerCount) # $t7, 0x8019
|
||||
/* 0B3F9C 800B339C 81EFEDF3 */ lb $t7, %lo(gPlayerCount)($t7)
|
||||
/* 0B3FA0 800B33A0 3C0D800F */ lui $t5, %hi((D_800E86AC - 1)) # 0x800f
|
||||
/* 0B3FA0 800B33A0 3C0D800F */ lui $t5, %hi((gGameModeMenuColumn - 1)) # 0x800f
|
||||
/* 0B3FA4 800B33A4 3C03800F */ lui $v1, %hi((gGameModePlayerSelection - 0xC)) # 0x800f
|
||||
/* 0B3FA8 800B33A8 01AF6821 */ addu $t5, $t5, $t7
|
||||
/* 0B3FAC 800B33AC 81AD86AB */ lb $t5, %lo((D_800E86AC - 1))($t5) # -0x7955($t5)
|
||||
/* 0B3FAC 800B33AC 81AD86AB */ lb $t5, %lo((gGameModeMenuColumn - 1))($t5) # -0x7955($t5)
|
||||
/* 0B3FB0 800B33B0 000F6080 */ sll $t4, $t7, 2
|
||||
/* 0B3FB4 800B33B4 018F6023 */ subu $t4, $t4, $t7
|
||||
/* 0B3FB8 800B33B8 000C6080 */ sll $t4, $t4, 2
|
||||
@@ -701,14 +701,14 @@ 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)
|
||||
/* 0B4004 800B3404 3C0A800F */ lui $t2, %hi((D_800E86AC - 1)) # 0x800f
|
||||
/* 0B4004 800B3404 3C0A800F */ lui $t2, %hi((gGameModeMenuColumn - 1)) # 0x800f
|
||||
/* 0B4008 800B3408 3C03800F */ lui $v1, %hi((gGameModePlayerSelection - 0xC)) # 0x800f
|
||||
/* 0B400C 800B340C 01495021 */ addu $t2, $t2, $t1
|
||||
/* 0B4010 800B3410 814A86AB */ lb $t2, %lo((D_800E86AC - 1))($t2) # -0x7955($t2)
|
||||
/* 0B4010 800B3410 814A86AB */ lb $t2, %lo((gGameModeMenuColumn - 1))($t2) # -0x7955($t2)
|
||||
/* 0B4014 800B3414 00095880 */ sll $t3, $t1, 2
|
||||
/* 0B4018 800B3418 01695823 */ subu $t3, $t3, $t1
|
||||
/* 0B401C 800B341C 000B5880 */ sll $t3, $t3, 2
|
||||
@@ -719,10 +719,10 @@ glabel L800B32B4 # case 6, 7
|
||||
/* 0B4030 800B3430 8C632B70 */ lw $v1, %lo((gGameModePlayerSelection - 0xC))($v1) # 0x2b70($v1)
|
||||
.L800B3434:
|
||||
/* 0B4034 800B3434 818CEDF3 */ lb $t4, %lo(gPlayerCount)($t4)
|
||||
/* 0B4038 800B3438 3C18800F */ lui $t8, %hi((D_800E86AC - 1)) # 0x800f
|
||||
/* 0B4038 800B3438 3C18800F */ lui $t8, %hi((gGameModeMenuColumn - 1)) # 0x800f
|
||||
/* 0B403C 800B343C 3C03800F */ lui $v1, %hi((gGameModePlayerSelection - 0xC)) # 0x800f
|
||||
/* 0B4040 800B3440 030CC021 */ addu $t8, $t8, $t4
|
||||
/* 0B4044 800B3444 831886AB */ lb $t8, %lo((D_800E86AC - 1))($t8) # -0x7955($t8)
|
||||
/* 0B4044 800B3444 831886AB */ lb $t8, %lo((gGameModeMenuColumn - 1))($t8) # -0x7955($t8)
|
||||
/* 0B4048 800B3448 000C7080 */ sll $t6, $t4, 2
|
||||
/* 0B404C 800B344C 01CC7023 */ subu $t6, $t6, $t4
|
||||
/* 0B4050 800B3450 000E7080 */ sll $t6, $t6, 2
|
||||
@@ -734,10 +734,10 @@ glabel L800B32B4 # case 6, 7
|
||||
glabel L800B3468 # case 1, 2
|
||||
/* 0B4068 800B3468 3C0A8019 */ lui $t2, %hi(gPlayerCount) # $t2, 0x8019
|
||||
/* 0B406C 800B346C 814AEDF3 */ lb $t2, %lo(gPlayerCount)($t2)
|
||||
/* 0B4070 800B3470 3C0F800F */ lui $t7, %hi((D_800E86AC - 1)) # 0x800f
|
||||
/* 0B4070 800B3470 3C0F800F */ lui $t7, %hi((gGameModeMenuColumn - 1)) # 0x800f
|
||||
/* 0B4074 800B3474 3C03800F */ lui $v1, %hi((gGameModePlayerSelection - 0xC)) # 0x800f
|
||||
/* 0B4078 800B3478 01EA7821 */ addu $t7, $t7, $t2
|
||||
/* 0B407C 800B347C 81EF86AB */ lb $t7, %lo((D_800E86AC - 1))($t7) # -0x7955($t7)
|
||||
/* 0B407C 800B347C 81EF86AB */ lb $t7, %lo((gGameModeMenuColumn - 1))($t7) # -0x7955($t7)
|
||||
/* 0B4080 800B3480 000A5880 */ sll $t3, $t2, 2
|
||||
/* 0B4084 800B3484 016A5823 */ subu $t3, $t3, $t2
|
||||
/* 0B4088 800B3488 000B5880 */ sll $t3, $t3, 2
|
||||
@@ -748,10 +748,10 @@ glabel L800B3468 # case 1, 2
|
||||
/* 0B409C 800B349C 8C632B70 */ lw $v1, %lo((gGameModePlayerSelection - 0xC))($v1) # 0x2b70($v1)
|
||||
.L800B34A0: # default
|
||||
/* 0B40A0 800B34A0 8318EDF3 */ lb $t8, %lo(gPlayerCount)($t8) # -0x120d($t8)
|
||||
/* 0B40A4 800B34A4 3C19800F */ lui $t9, %hi((D_800E86AC - 1)) # 0x800f
|
||||
/* 0B40A4 800B34A4 3C19800F */ lui $t9, %hi((gGameModeMenuColumn - 1)) # 0x800f
|
||||
/* 0B40A8 800B34A8 3C03800F */ lui $v1, %hi((gGameModePlayerSelection - 0xC)) # 0x800f
|
||||
/* 0B40AC 800B34AC 0338C821 */ addu $t9, $t9, $t8
|
||||
/* 0B40B0 800B34B0 833986AB */ lb $t9, %lo((D_800E86AC - 1))($t9) # -0x7955($t9)
|
||||
/* 0B40B0 800B34B0 833986AB */ lb $t9, %lo((gGameModeMenuColumn - 1))($t9) # -0x7955($t9)
|
||||
/* 0B40B4 800B34B4 00187080 */ sll $t6, $t8, 2
|
||||
/* 0B40B8 800B34B8 01D87023 */ subu $t6, $t6, $t8
|
||||
/* 0B40BC 800B34BC 000E7080 */ sll $t6, $t6, 2
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
glabel func_8004C6FC
|
||||
glabel render_texture_tile_rgba32_block
|
||||
/* 04D2FC 8004C6FC 27BDFFB8 */ addiu $sp, $sp, -0x48
|
||||
/* 04D300 8004C700 AFB10024 */ sw $s1, 0x24($sp)
|
||||
/* 04D304 8004C704 8FB10058 */ lw $s1, 0x58($sp)
|
||||
@@ -81,7 +81,7 @@ glabel func_8004C6FC
|
||||
/* 04D42C 8004C82C 03C02025 */ move $a0, $fp
|
||||
/* 04D430 8004C830 02802825 */ move $a1, $s4
|
||||
/* 04D434 8004C834 02403025 */ move $a2, $s2
|
||||
/* 04D438 8004C838 0C012E54 */ jal func_8004B950
|
||||
/* 04D438 8004C838 0C012E54 */ jal render_texture_rectangle_wrap
|
||||
/* 04D43C 8004C83C 02003825 */ move $a3, $s0
|
||||
/* 04D440 8004C840 02D11023 */ subu $v0, $s6, $s1
|
||||
/* 04D444 8004C844 04410008 */ bgez $v0, .L8004C868
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
glabel func_800B68F4
|
||||
/* 0B74F4 800B68F4 3C028019 */ lui $v0, %hi(D_8018D9C0) # $v0, 0x8019
|
||||
/* 0B74F8 800B68F8 8C42D9C0 */ lw $v0, %lo(D_8018D9C0)($v0)
|
||||
/* 0B74F4 800B68F4 3C028019 */ lui $v0, %hi(gSomeDLBuffer) # $v0, 0x8019
|
||||
/* 0B74F8 800B68F8 8C42D9C0 */ lw $v0, %lo(gSomeDLBuffer)($v0)
|
||||
/* 0B74FC 800B68FC 000471C0 */ sll $t6, $a0, 7
|
||||
/* 0B7500 800B6900 24870001 */ addiu $a3, $a0, 1
|
||||
/* 0B7504 800B6904 01C21821 */ addu $v1, $t6, $v0
|
||||
|
||||
+1
-1
@@ -73,7 +73,7 @@
|
||||
#include "src/update_objects.h"
|
||||
#include "src/code_80086E70.h"
|
||||
#include "src/code_80091440.h"
|
||||
#include "src/code_80091750.h"
|
||||
#include "src/menu_items.h"
|
||||
#include "src/code_800AF9B0.h"
|
||||
#include <assets/common_data.h>
|
||||
#include <assets/data_800E8700.h>
|
||||
|
||||
@@ -1,20 +0,0 @@
|
||||
# Mario Kart 64 Enhancements
|
||||
|
||||
This directory contains unofficial patches to the source code that provide various features
|
||||
and enhancements.
|
||||
|
||||
To apply a patch, run `tools/apply_patch.sh [patch]` where `[patch]` is the name of the
|
||||
.patch file you wish to apply. This will perform all of the patch's changes
|
||||
to the source code.
|
||||
|
||||
Likewise, to undo the changes from a patch you applied, run
|
||||
`tools/revert_patch.sh` with the name of the .patch file you wish to undo.
|
||||
|
||||
To create your own enhancement patch, switch to the `master` Git
|
||||
branch, make your changes to the code (but do not commit), then run `tools/create_patch.sh`. Your changes will be stored in the .patch file you specify.
|
||||
|
||||
The following enhancements are included in this directory:
|
||||
|
||||
## Flycam - `flycam.patch`
|
||||
|
||||
This enhancement provides a flycam mode.
|
||||
@@ -1,443 +0,0 @@
|
||||
diff --git a/mk64.ld b/mk64.ld
|
||||
index 70f4820..f36f11c 100644
|
||||
--- a/mk64.ld
|
||||
+++ b/mk64.ld
|
||||
@@ -75,6 +75,7 @@ SECTIONS
|
||||
BUILD_DIR/src/audio/seqplayer.o(.text);
|
||||
BUILD_DIR/src/audio/external.o(.text);
|
||||
BUILD_DIR/src/audio/port_eu.o(.text);
|
||||
+ BUILD_DIR/src/flycam.o(.text);
|
||||
#if DEBUG
|
||||
BUILD_DIR/src/os/osCartRomInit.o(.text);
|
||||
BUILD_DIR/src/debug/crash_screen_enhancement.o(.text);
|
||||
@@ -229,6 +230,7 @@ SECTIONS
|
||||
BUILD_DIR/src/audio/load.o(.data);
|
||||
BUILD_DIR/src/audio/playback.o(.data);
|
||||
BUILD_DIR/src/audio/effects.o(.data);
|
||||
+ BUILD_DIR/src/flycam.o(.data);
|
||||
#if DEBUG
|
||||
BUILD_DIR/src/debug/crash_screen_enhancement.o(.data);
|
||||
BUILD_DIR/src/debug/debug.o(.data);
|
||||
@@ -277,6 +279,7 @@ SECTIONS
|
||||
BUILD_DIR/src/audio/seqplayer.o(.rodata);
|
||||
BUILD_DIR/src/audio/external.o(.rodata);
|
||||
BUILD_DIR/src/audio/port_eu.o(.rodata);
|
||||
+ BUILD_DIR/src/flycam.o(.rodata);
|
||||
#if DEBUG
|
||||
BUILD_DIR/src/debug/crash_screen_enhancement.o(.rodata);
|
||||
BUILD_DIR/src/debug/debug.o(.rodata);
|
||||
@@ -311,6 +314,7 @@ SECTIONS
|
||||
BUILD_DIR/src/code_80091750.jp.o(.bss);
|
||||
BUILD_DIR/src/code_800AF9B0.o(.bss);
|
||||
BUILD_DIR/src/menus.o(.bss);
|
||||
+ BUILD_DIR/src/flycam.o(.bss);
|
||||
#if DEBUG
|
||||
BUILD_DIR/src/os/osCartRomInit.o(.bss);
|
||||
BUILD_DIR/src/debug/crash_screen_enhancement.o(.bss);
|
||||
diff --git a/src/camera.c b/src/camera.c
|
||||
index 02275b1..406739d 100644
|
||||
--- a/src/camera.c
|
||||
+++ b/src/camera.c
|
||||
@@ -969,7 +969,9 @@ void func_8001EE98(Player *player, Camera *camera, s8 index) {
|
||||
func_8001E8E8(camera, player, index);
|
||||
break;
|
||||
}
|
||||
- func_8001E45C(camera, player, index);
|
||||
+
|
||||
+ flycam(camera, player, index);
|
||||
+
|
||||
break;
|
||||
case 8:
|
||||
func_8001E0C4(camera, player, index);
|
||||
diff --git a/src/render_player.c b/src/render_player.c
|
||||
index 6b14e27..d10796b 100644
|
||||
--- a/src/render_player.c
|
||||
+++ b/src/render_player.c
|
||||
@@ -65,6 +65,8 @@ void func_8001F9E4(Player *player, Camera *camera, s8 arg2) {
|
||||
}
|
||||
}
|
||||
|
||||
+extern u32 isFlycam;
|
||||
+
|
||||
u16 check_player_camera_collision(Player *player, Camera *camera, f32 arg2, f32 arg3) {
|
||||
UNUSED f32 pad[6];
|
||||
f32 sp64;
|
||||
@@ -79,6 +81,10 @@ u16 check_player_camera_collision(Player *player, Camera *camera, f32 arg2, f32
|
||||
s16 var_v0;
|
||||
u16 ret;
|
||||
|
||||
+ if (isFlycam) {
|
||||
+ return 1;
|
||||
+ }
|
||||
+
|
||||
ret = 0;
|
||||
switch (gActiveScreenMode) { /* irregular */
|
||||
case SCREEN_MODE_1P:
|
||||
diff --git a/src/flycam.c b/src/flycam.c
|
||||
new file mode 100644
|
||||
index 0000000..5569838
|
||||
--- /dev/null
|
||||
+++ b/src/flycam.c
|
||||
@@ -0,0 +1,328 @@
|
||||
+#include <libultraship.h>
|
||||
+#include <PR/os.h>
|
||||
+#include <macros.h>
|
||||
++#include <defines.h>
|
||||
+#include <camera.h>
|
||||
+#include "main.h"
|
||||
+#include <libc/math.h>
|
||||
+#include <common_structs.h>
|
||||
+#include "racing/collision.h"
|
||||
+#include <variables.h>
|
||||
+#include "player_controller.h"
|
||||
+#include "code_80057C60.h"
|
||||
+
|
||||
+// Yaw/pitch rotation sensitivity
|
||||
+#define SENSITIVITY_X 0.0003f
|
||||
+#define SENSITIVITY_Y 0.0003f
|
||||
+
|
||||
+u32 isFlycam = false;
|
||||
+u32 fRankIndex = 0;
|
||||
+u32 fTargetPlayer = false;
|
||||
+u32 fMode; // flycam mode should probably be an enum
|
||||
+u32 fModeInit = false;
|
||||
+
|
||||
+typedef struct {
|
||||
+ Vec3f pos;
|
||||
+ Vec3f lookAt;
|
||||
+ Vec3s rot;
|
||||
+} FlycamSaveState;
|
||||
+
|
||||
+FlycamSaveState fState;
|
||||
+
|
||||
+void flycam_calculate_forward_vector(Camera* camera, Vec3f forwardVector);
|
||||
+void flycam_move_camera_forward(Camera* camera, struct Controller *controller, f32 distance);
|
||||
+void flycam_update(Camera* camera, struct Controller *controller);
|
||||
+void flycam_controller_manager(Camera *camera, struct Controller *controller, Player *player);
|
||||
+void flycam_target_player(Camera *camera, u32 playerIndex);
|
||||
+void flycam_move_camera_up(Camera* camera, struct Controller *controller, f32 distance);
|
||||
+void flycam_save_state(Camera *camera);
|
||||
+void flycam_load_state(Camera *camera);
|
||||
+
|
||||
+
|
||||
+/**
|
||||
+ * Controls
|
||||
+ *
|
||||
+ * Forward: A
|
||||
+ * Backward: B
|
||||
+ *
|
||||
+ * Go faster: Z
|
||||
+ *
|
||||
+ * Up: C-up
|
||||
+ * Down: C-down
|
||||
+ *
|
||||
+ * Targets players based on rank position
|
||||
+ *
|
||||
+ * Target player: R-trig
|
||||
+ * Target next player: C-right
|
||||
+ * Target previous player: C-left
|
||||
+ *
|
||||
+ * Switch camera modes: D-pad left
|
||||
+ *
|
||||
+ * Camera mode 1: Enter flycam at the player's position
|
||||
+ * Camera mode 2: Enter flycam at previous flycam spot
|
||||
+ *
|
||||
+*/
|
||||
+
|
||||
+void flycam(Camera *camera, Player *player, s8 index) {
|
||||
+ struct Controller *controller = &gControllers[0];
|
||||
+ Vec3f forwardVector;
|
||||
+ f32 dirX;
|
||||
+ f32 dirY;
|
||||
+ f32 dirZ;
|
||||
+ f32 length;
|
||||
+
|
||||
+ if (controller->buttonPressed & L_TRIG) {
|
||||
+ isFlycam = !isFlycam;
|
||||
+
|
||||
+ // Don't use `bool = !bool` here as the game code can swap these on you.
|
||||
+ // Which will confuse the code. This forces it to always be correct
|
||||
+ if (isFlycam) {
|
||||
+ player->type |= PLAYER_KART_AI;
|
||||
+ } else {
|
||||
+ player->type &= PLAYER_KART_AI;
|
||||
+ }
|
||||
+
|
||||
+ gIsHUDVisible = !isFlycam;
|
||||
+
|
||||
+ if (isFlycam) {
|
||||
+
|
||||
+ if (fMode && fModeInit) {
|
||||
+ flycam_load_state(camera);
|
||||
+ } else {
|
||||
+ // !fMode or fMode not initialized
|
||||
+ flycam_target_player(camera, get_player_index_for_player(player));
|
||||
+ }
|
||||
+
|
||||
+ return;
|
||||
+ } else {
|
||||
+ if(fMode) {
|
||||
+ flycam_save_state(camera);
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ // Driving mode
|
||||
+ if (!isFlycam) {
|
||||
+ // Use normal camera code
|
||||
+ func_8001E45C(camera, &gPlayers[fRankIndex], index);
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+
|
||||
+ //if (player == gPlayerOne) { return; }
|
||||
+
|
||||
+ //player->type &= ~PLAYER_HUMAN;
|
||||
+ //player->type |= PLAYER_HUMAN;
|
||||
+
|
||||
+ if ((player->type & PLAYER_START_SEQUENCE)) { return; }
|
||||
+
|
||||
+
|
||||
+ flycam_controller_manager(camera, controller, player);
|
||||
+
|
||||
+
|
||||
+
|
||||
+
|
||||
+}
|
||||
+
|
||||
+void flycam_save_state(Camera *camera) {
|
||||
+ fState.pos[0] = camera->pos[0];
|
||||
+ fState.pos[1] = camera->pos[1];
|
||||
+ fState.pos[2] = camera->pos[2];
|
||||
+
|
||||
+ fState.lookAt[0] = camera->lookAt[0];
|
||||
+ fState.lookAt[1] = camera->lookAt[1];
|
||||
+ fState.lookAt[2] = camera->lookAt[2];
|
||||
+
|
||||
+ fState.rot[0] = camera->rot[0];
|
||||
+ fState.rot[1] = camera->rot[1];
|
||||
+ fState.rot[2] = camera->rot[2];
|
||||
+ fModeInit = true;
|
||||
+}
|
||||
+
|
||||
+void flycam_load_state(Camera *camera) {
|
||||
+ camera->pos[0] = fState.pos[0];
|
||||
+ camera->pos[1] = fState.pos[1];
|
||||
+ camera->pos[2] = fState.pos[2];
|
||||
+
|
||||
+ camera->lookAt[0] = fState.lookAt[0];
|
||||
+ camera->lookAt[1] = fState.lookAt[1];
|
||||
+ camera->lookAt[2] = fState.lookAt[2];
|
||||
+
|
||||
+ camera->rot[0] = fState.rot[0];
|
||||
+ camera->rot[1] = fState.rot[1];
|
||||
+ camera->rot[2] = fState.rot[2];
|
||||
+}
|
||||
+
|
||||
+void flycam_controller_manager(Camera *camera, struct Controller *controller, Player *player) {
|
||||
+
|
||||
+ if (controller->buttonPressed & U_JPAD) {
|
||||
+ fMode = !fMode;
|
||||
+ }
|
||||
+
|
||||
+ // Target a player
|
||||
+ if (controller->buttonPressed & R_TRIG) {
|
||||
+ fTargetPlayer = !fTargetPlayer;
|
||||
+ }
|
||||
+
|
||||
+ // Target next player
|
||||
+ if (controller->buttonPressed & L_CBUTTONS) {
|
||||
+ if (fRankIndex > 0) {
|
||||
+ fRankIndex--;
|
||||
+ camera->playerId = fRankIndex;
|
||||
+ D_800DC5EC->player = &gPlayers[fRankIndex];
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ // Target previous player
|
||||
+ if (controller->buttonPressed & R_CBUTTONS) {
|
||||
+ if (fRankIndex < 7) {
|
||||
+ fRankIndex++;
|
||||
+ camera->playerId = fRankIndex;
|
||||
+ D_800DC5EC->player = &gPlayers[fRankIndex];
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ // Target camera at chosen player
|
||||
+ if (fTargetPlayer) {
|
||||
+ flycam_target_player(camera, gGPCurrentRacePlayerIdByRank[fRankIndex]);
|
||||
+ // Don't run the other camera code.
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ // Rotation
|
||||
+ if (!fTargetPlayer) {
|
||||
+ if (controller->stickDirection != 0) {
|
||||
+ flycam_update(camera, controller);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ // Forward
|
||||
+ if (controller->button & A_BUTTON) {
|
||||
+ flycam_move_camera_forward(camera, controller, 3.0f);
|
||||
+ }
|
||||
+
|
||||
+ // Backward B button but not A button.
|
||||
+ if (controller->button & B_BUTTON && !(controller->button & A_BUTTON)) {
|
||||
+ flycam_move_camera_forward(camera, controller, -3.0f);
|
||||
+ }
|
||||
+
|
||||
+ // Up
|
||||
+ if (controller->button & U_CBUTTONS) {
|
||||
+ flycam_move_camera_up(camera, controller, 2.0f);
|
||||
+ }
|
||||
+ // Up
|
||||
+ if (controller->button & D_CBUTTONS) {
|
||||
+ flycam_move_camera_up(camera, controller, -2.0f);
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+// Calculates the forward direction vector based on camera orientation
|
||||
+void flycam_calculate_forward_vector(Camera* camera, Vec3f forwardVector) {
|
||||
+ f32 pitch = (camera->rot[2] / 65535.0f) * 360.0f; // Convert pitch from 0-65535 to degrees
|
||||
+ f32 yaw = (camera->rot[1] / 65535.0f) * 360.0f; // Convert yaw from 0-65535 to degrees
|
||||
+
|
||||
+ // Convert degrees to radians
|
||||
+ pitch = pitch * M_PI / 180.0f;
|
||||
+ yaw = yaw * M_PI / 180.0f;
|
||||
+
|
||||
+ forwardVector[0] = -sinf(yaw) * cosf(pitch);
|
||||
+ forwardVector[1] = -sinf(pitch);
|
||||
+ forwardVector[2] = cosf(yaw) * cosf(pitch);
|
||||
+}
|
||||
+
|
||||
+// Function to move the camera forward
|
||||
+void flycam_move_camera_forward(Camera* camera, struct Controller *controller, f32 distance) {
|
||||
+ Vec3f forwardVector;
|
||||
+ Vec3f rightVector;
|
||||
+ f32 length;
|
||||
+ flycam_calculate_forward_vector(camera, forwardVector);
|
||||
+
|
||||
+ if (controller->button & Z_TRIG) {
|
||||
+ distance *= 3;
|
||||
+ }
|
||||
+
|
||||
+ // Normalize the forward vector
|
||||
+ length = sqrtf(forwardVector[0] * forwardVector[0] + forwardVector[1] * forwardVector[1] + forwardVector[2] * forwardVector[2]);
|
||||
+ forwardVector[0] /= length;
|
||||
+ forwardVector[1] /= length;
|
||||
+ forwardVector[2] /= length;
|
||||
+
|
||||
+ // Calculate the right vector by taking the cross product of forward and up
|
||||
+ rightVector[0] = forwardVector[1] * camera->up[2] - forwardVector[2] * camera->up[1];
|
||||
+ rightVector[1] = forwardVector[2] * camera->up[0] - forwardVector[0] * camera->up[2];
|
||||
+ rightVector[2] = forwardVector[0] * camera->up[1] - forwardVector[1] * camera->up[0];
|
||||
+
|
||||
+ // Move the camera's position along the forward vector while considering its up vector
|
||||
+ camera->pos[0] += forwardVector[0] * distance;
|
||||
+ camera->pos[1] += forwardVector[1] * distance;
|
||||
+ camera->pos[2] += forwardVector[2] * distance;
|
||||
+
|
||||
+ // Optionally, you can also adjust the lookAt point to maintain the same relative position
|
||||
+ camera->lookAt[0] += forwardVector[0] * distance;
|
||||
+ camera->lookAt[1] += forwardVector[1] * distance;
|
||||
+ camera->lookAt[2] += forwardVector[2] * distance;
|
||||
+}
|
||||
+
|
||||
+// Function to move the camera forward
|
||||
+void flycam_move_camera_up(Camera* camera, struct Controller *controller, f32 distance) {
|
||||
+ // Check if the Z button is pressed (for faster movement)
|
||||
+ if (controller->button & Z_TRIG) {
|
||||
+ distance *= 3;
|
||||
+ }
|
||||
+
|
||||
+ // Move the camera's position along its up vector (Y-axis)
|
||||
+ camera->pos[1] += distance;
|
||||
+
|
||||
+ // Optionally, adjust the lookAt point to maintain the same relative position
|
||||
+ camera->lookAt[1] += distance;
|
||||
+}
|
||||
+
|
||||
+// Update camera rotation and lookAt point based on input
|
||||
+void flycam_update(Camera* camera, struct Controller *controller) {
|
||||
+ // Calculate yaw (horizontal movement)
|
||||
+ f32 yawChange = controller->rawStickX * SENSITIVITY_X;
|
||||
+ f32 pitchChange = controller->rawStickY * SENSITIVITY_Y;
|
||||
+ Vec3f forwardVector;
|
||||
+
|
||||
+ check_bounding_collision(&camera->collision, 50, camera->pos[0], camera->pos[1], camera->pos[2]);
|
||||
+
|
||||
+ camera->rot[1] += (short)(yawChange * 65535.0f / (2 * M_PI)); // Convert radians to 0-65535 range
|
||||
+
|
||||
+ camera->rot[2] += (short)(-pitchChange * 65535.0f / (2 * M_PI)); // Convert radians to 0-65535 range
|
||||
+
|
||||
+ if (camera->rot[2] > 15999) {
|
||||
+ camera->rot[2] = 15999;
|
||||
+ } else if (camera->rot[2] < -15999) {
|
||||
+ camera->rot[2] = -15999;
|
||||
+ }
|
||||
+
|
||||
+ // Update the lookAt point based on the new orientation
|
||||
+ flycam_calculate_forward_vector(camera, forwardVector);
|
||||
+ camera->lookAt[0] = camera->pos[0] + forwardVector[0];
|
||||
+ camera->lookAt[1] = camera->pos[1] + forwardVector[1];
|
||||
+ camera->lookAt[2] = camera->pos[2] + forwardVector[2];
|
||||
+}
|
||||
+
|
||||
+void flycam_target_player(Camera *camera, u32 playerIndex) {
|
||||
+ Vec3f forwardVector;// = 2.0f;
|
||||
+ Player *player = &gPlayers[playerIndex];
|
||||
+
|
||||
+ // Calculate the direction from the player to the camera
|
||||
+ f32 dirX = player->pos[0] - camera->pos[0];
|
||||
+ f32 dirY = player->pos[1] - camera->pos[1];
|
||||
+ f32 dirZ = player->pos[2] - camera->pos[2];
|
||||
+
|
||||
+ // Normalize the direction vector (if needed)
|
||||
+ f32 length = sqrtf(dirX * dirX + dirY * dirY + dirZ * dirZ);
|
||||
+ if (length > 0) {
|
||||
+ dirX /= length;
|
||||
+ dirY /= length;
|
||||
+ dirZ /= length;
|
||||
+ }
|
||||
+
|
||||
+ // Update the camera's look-at direction
|
||||
+ camera->lookAt[0] = camera->pos[0] + dirX;
|
||||
+ camera->lookAt[1] = camera->pos[1] + dirY;
|
||||
+ camera->lookAt[2] = camera->pos[2] + dirZ;
|
||||
+}
|
||||
diff --git a/src/main.c b/src/main.c
|
||||
index 7c90951..135e98c 100644
|
||||
--- a/src/main.c
|
||||
+++ b/src/main.c
|
||||
@@ -578,6 +578,7 @@ void race_logic_loop(void) {
|
||||
gTickLogic = 2;
|
||||
staff_ghosts_loop();
|
||||
if (gIsGamePaused == 0) {
|
||||
+ func_8001EE98(gPlayerOneCopy, camera1, 0);
|
||||
for (i = 0; i < gTickLogic; i++) {
|
||||
if (D_8015011E) {
|
||||
gCourseTimer += 0.01666666; // 1 / 60
|
||||
@@ -585,7 +586,6 @@ void race_logic_loop(void) {
|
||||
func_802909F0();
|
||||
evaluate_collision_for_players_and_actors();
|
||||
func_800382DC();
|
||||
- func_8001EE98(gPlayerOneCopy, camera1, 0);
|
||||
func_80028F70();
|
||||
func_8028F474();
|
||||
func_80059AC8();
|
||||
diff --git a/src/racing/render_courses.c b/src/racing/render_courses.c
|
||||
index c2a84aa..338e2bd 100644
|
||||
--- a/src/racing/render_courses.c
|
||||
+++ b/src/racing/render_courses.c
|
||||
@@ -180,6 +180,11 @@ void render_course_segments(uintptr_t addr, struct UnkStruct_800DC5EC *arg1) {
|
||||
arg1->pathCounter = temp_v1;
|
||||
temp_v1 = ((temp_v1 - 1) * 4) + var_a3;
|
||||
|
||||
+ if (isFlycam) {
|
||||
+ func_8029569C();
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
gSPDisplayList(gDisplayListHead++, gfx[temp_v1]);
|
||||
}
|
||||
+8
-53
@@ -48,25 +48,6 @@
|
||||
#define HOLD_ALL_DPAD_AND_C_BUTTONS \
|
||||
(U_JPAD | L_JPAD | R_JPAD | D_JPAD | U_CBUTTONS | L_CBUTTONS | R_CBUTTONS | D_CBUTTONS)
|
||||
|
||||
/**
|
||||
* @brief Options for gDebugMenuSelection
|
||||
*/
|
||||
#define DEBUG_MENU_DISABLED 1
|
||||
#define DEBUG_MENU_DEBUG_MODE 2
|
||||
#define DEBUG_MENU_COURSE 3
|
||||
#define DEBUG_MENU_SCREEN_MODE 4
|
||||
#define DEBUG_MENU_PLAYER 5
|
||||
#define DEBUG_MENU_SOUND_MODE 6
|
||||
#define DEBUG_MENU_GIVE_ALL_GOLD_CUP 7
|
||||
#define DEBUG_MENU_EXITED 64
|
||||
|
||||
/**
|
||||
* @brief Options for gDebugGotoScene
|
||||
*/
|
||||
#define DEBUG_GOTO_RACING 0
|
||||
#define DEBUG_GOTO_ENDING 1
|
||||
#define DEBUG_GOTO_CREDITS_SEQUENCE_CC_50 2
|
||||
#define DEBUG_GOTO_CREDITS_SEQUENCE_CC_EXTRA 3
|
||||
|
||||
/**
|
||||
* @brief Jump to demo mode from the debug menu using L and A
|
||||
@@ -214,34 +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 gControllerPakMenuSelection
|
||||
*/
|
||||
#define CONTROLLER_PAK_MENU_SELECT_RECORD 1
|
||||
#define CONTROLLER_PAK_MENU_END 2
|
||||
#define CONTROLLER_PAK_MENU_ERASE 3
|
||||
#define CONTROLLER_PAK_MENU_QUIT 4
|
||||
#define CONTROLLER_PAK_MENU_TABLE_GAME_DATA 5
|
||||
#define CONTROLLER_PAK_MENU_GO_TO_ERASING 6
|
||||
#define CONTROLLER_PAK_MENU_ERASING 7
|
||||
#define CONTROLLER_PAK_MENU_ERASE_ERROR_NOT_ERASED 8
|
||||
#define CONTROLLER_PAK_MENU_ERASE_ERROR_NO_PAK 9
|
||||
#define CONTROLLER_PAK_MENU_ERASE_ERROR_PAK_CHANGED 10
|
||||
|
||||
/**
|
||||
* @brief Options for gScreenModeSelection and gActiveScreenMode
|
||||
*/
|
||||
@@ -269,12 +222,14 @@ enum { COURSE_ONE, COURSE_TWO, COURSE_THREE, COURSE_FOUR };
|
||||
* flashing between 2 colors, but also cause individual characters
|
||||
* to be cutoff on their right side
|
||||
*/
|
||||
#define TEXT_BLUE 0
|
||||
#define TEXT_GREEN 1
|
||||
#define TEXT_RED 2
|
||||
#define TEXT_YELLOW 3
|
||||
#define TEXT_BLUE_GREEN_RED_CYCLE_1 4
|
||||
#define TEXT_BLUE_GREEN_RED_CYCLE_2 5
|
||||
enum COLOR_ID {
|
||||
TEXT_BLUE,
|
||||
TEXT_GREEN,
|
||||
TEXT_RED,
|
||||
TEXT_YELLOW,
|
||||
TEXT_BLUE_GREEN_RED_CYCLE_1,
|
||||
TEXT_BLUE_GREEN_RED_CYCLE_2
|
||||
};
|
||||
|
||||
/**
|
||||
* @brief Sound mode options
|
||||
|
||||
+1
-1
@@ -5,7 +5,7 @@
|
||||
# Utility to aid in the generation of m2c output for specific functions
|
||||
#
|
||||
# example usages:
|
||||
# m2c_helper.sh code_80091750 func_800AAC18
|
||||
# m2c_helper.sh menu_items func_800AAC18
|
||||
# m2c_helper.sh audio/load audio_init
|
||||
#
|
||||
# Be sure to set DISASSEMBLY_FILE to a filename you are comfortable with.
|
||||
|
||||
-181
@@ -1,181 +0,0 @@
|
||||
# This file is auto-generated. DO NOT MODIFY!
|
||||
|
||||
SAFE_C_FILES := \
|
||||
build/us/src/camera.o \
|
||||
build/us/src/spawn_players.o \
|
||||
build/us/src/code_8003DC40.o \
|
||||
build/us/src/code_80091440.o \
|
||||
build/us/src/effects.o \
|
||||
build/us/src/code_80057C60_var.o \
|
||||
build/us/src/code_80091750.o \
|
||||
build/us/src/code_800029B0.o \
|
||||
build/us/src/animation.o \
|
||||
build/us/src/player_controller.o \
|
||||
build/us/src/code_80005FD0.o \
|
||||
build/us/src/profiler.o \
|
||||
build/us/src/render_player.o \
|
||||
build/us/src/code_80086E70.o \
|
||||
build/us/src/staff_ghosts.o \
|
||||
build/us/src/gbiMacro.o \
|
||||
build/us/src/kart_dma.o \
|
||||
build/us/src/math_util_2.o \
|
||||
build/us/src/main.o \
|
||||
build/us/src/data/some_data.o \
|
||||
build/us/src/data/kart_attributes.o \
|
||||
build/us/src/data/path_spawn_metadata.o \
|
||||
build/us/src/data/textures.o \
|
||||
build/us/src/data/trig_tables_bss.o \
|
||||
build/us/src/data/data_segment2.o \
|
||||
build/us/src/audio/seqplayer.o \
|
||||
build/us/src/audio/heap.o \
|
||||
build/us/src/audio/effects.o \
|
||||
build/us/src/audio/playback.o \
|
||||
build/us/src/audio/data.o \
|
||||
build/us/src/audio/audio_session_presets.o \
|
||||
build/us/src/audio/port_eu.o \
|
||||
build/us/src/buffers/gfx_output_buffer.o \
|
||||
build/us/src/buffers/trig_tables.o \
|
||||
build/us/src/buffers/buffers.o \
|
||||
build/us/src/buffers/random.o \
|
||||
build/us/src/buffers/trig_tables_bss.o \
|
||||
build/us/src/buffers/memory_pool.o \
|
||||
build/us/src/ending/credits.o \
|
||||
build/us/src/ending/code_80280000.o \
|
||||
build/us/src/ending/ceremony_and_credits.o \
|
||||
build/us/src/ending/dl_unk_80284EE0.o \
|
||||
build/us/src/ending/code_80281780.o \
|
||||
build/us/src/ending/podium_ceremony_actors.o \
|
||||
build/us/src/ending/code_80281C40.o \
|
||||
build/us/src/ending/camera_junk.o \
|
||||
build/us/src/debug/debug.o \
|
||||
build/us/src/debug/crash_screen_enhancement.o \
|
||||
build/us/src/racing/collision.o \
|
||||
build/us/src/racing/skybox_and_splitscreen.o \
|
||||
build/us/src/racing/memory.o \
|
||||
build/us/src/racing/race_logic.o \
|
||||
build/us/src/racing/actors_extended.o \
|
||||
build/us/src/racing/render_courses.o \
|
||||
build/us/src/racing/actors.o \
|
||||
build/us/src/os/guOrthoF.o \
|
||||
build/us/src/os/guLookAtF.o \
|
||||
build/us/src/os/__osSiDeviceBusy.o \
|
||||
build/us/src/os/_Litob.o \
|
||||
build/us/src/os/osContInit.o \
|
||||
build/us/src/os/osInitialize.o \
|
||||
build/us/src/os/osAiSetNextBuffer.o \
|
||||
build/us/src/os/guMtxCatL.o \
|
||||
build/us/src/os/__osAiDeviceBusy.o \
|
||||
build/us/src/os/contramread.o \
|
||||
build/us/src/os/osSpTaskLoadGo.o \
|
||||
build/us/src/os/crc.o \
|
||||
build/us/src/os/osCreateMesgQueue.o \
|
||||
build/us/src/os/guRotateF.o \
|
||||
build/us/src/os/__osLeoInterrupt.o \
|
||||
build/us/src/os/osContStartReadData.o \
|
||||
build/us/src/os/osGetThreadPri.o \
|
||||
build/us/src/os/osPfsNumFiles.o \
|
||||
build/us/src/os/__osSiRawReadIo.o \
|
||||
build/us/src/os/osSpTaskYield.o \
|
||||
build/us/src/os/osStartThread.o \
|
||||
build/us/src/os/osViData.o \
|
||||
build/us/src/os/osPfsFileState.o \
|
||||
build/us/src/os/contpfs.o \
|
||||
build/us/src/os/leointerrupt.o \
|
||||
build/us/src/os/osPfsAllocateFile.o \
|
||||
build/us/src/os/ldiv.o \
|
||||
build/us/src/os/osSpTaskYielded.o \
|
||||
build/us/src/os/__osSpSetPc.o \
|
||||
build/us/src/os/osSetTime.o \
|
||||
build/us/src/os/osYieldThread.o \
|
||||
build/us/src/os/osPiRawStartDma.o \
|
||||
build/us/src/os/osSetTimer.o \
|
||||
build/us/src/os/osPfsDeleteFile.o \
|
||||
build/us/src/os/__osSpDeviceBusy.o \
|
||||
build/us/src/os/osEepromRead.o \
|
||||
build/us/src/os/osPiRawReadIo.o \
|
||||
build/us/src/os/osSetEventMesg.o \
|
||||
build/us/src/os/NaN.o \
|
||||
build/us/src/os/osJamMesg.o \
|
||||
build/us/src/os/osPfsChecker.o \
|
||||
build/us/src/os/sprintf.o \
|
||||
build/us/src/os/_Printf.o \
|
||||
build/us/src/os/osViTable.o \
|
||||
build/us/src/os/osEepromLongWrite.o \
|
||||
build/us/src/os/__osEPiRawWriteIo.o \
|
||||
build/us/src/os/osViSetEvent.o \
|
||||
build/us/src/os/__osGetCurrFaultedThread.o \
|
||||
build/us/src/os/osCreatePiManager.o \
|
||||
build/us/src/os/epidma.o \
|
||||
build/us/src/os/osCartRomInit.o \
|
||||
build/us/src/os/osPfsFreeBlocks.o \
|
||||
build/us/src/os/osPfsSearchFile.o \
|
||||
build/us/src/os/__osAtomicDec.o \
|
||||
build/us/src/os/osViBlack.o \
|
||||
build/us/src/os/__osViInit.o \
|
||||
build/us/src/os/osEepromWrite.o \
|
||||
build/us/src/os/osAiSetFrequency.o \
|
||||
build/us/src/os/__osEPiRawReadIo.o \
|
||||
build/us/src/os/guLookAtRef.o \
|
||||
build/us/src/os/guPerspectiveF.o \
|
||||
build/us/src/os/contramwrite.o \
|
||||
build/us/src/os/osGetTime.o \
|
||||
build/us/src/os/__osViSwapContext.o \
|
||||
build/us/src/os/alBnkfNew.o \
|
||||
build/us/src/os/__osSpSetStatus.o \
|
||||
build/us/src/os/osPfsReadWriteFile.o \
|
||||
build/us/src/os/osPiStartDma.o \
|
||||
build/us/src/os/osRecvMesg.o \
|
||||
build/us/src/os/osDestroyThread.o \
|
||||
build/us/src/os/string.o \
|
||||
build/us/src/os/__osSiRawWriteIo.o \
|
||||
build/us/src/os/osPfsInit.o \
|
||||
build/us/src/os/guMtxCatF.o \
|
||||
build/us/src/os/osPfsIsPlug.o \
|
||||
build/us/src/os/__osDequeueThread.o \
|
||||
build/us/src/os/__osSiCreateAccessQueue.o \
|
||||
build/us/src/os/osViSwapBuffer.o \
|
||||
build/us/src/os/is_debug.o \
|
||||
build/us/src/os/__osViGetCurrentContext.o \
|
||||
build/us/src/os/__osPiCreateAccessQueue.o \
|
||||
build/us/src/os/__osSpRawStartDma.o \
|
||||
build/us/src/os/__osSyncPutChars.o \
|
||||
build/us/src/os/osSendMesg.o \
|
||||
build/us/src/os/osSyncPrintf.o \
|
||||
build/us/src/os/__osResetGlobalIntMask.o \
|
||||
build/us/src/os/guScaleF.o \
|
||||
build/us/src/os/osSetThreadPri.o \
|
||||
build/us/src/os/__osDevMgrMain.o \
|
||||
build/us/src/os/osVirtualToPhysical.o \
|
||||
build/us/src/os/osViSetMode.o \
|
||||
build/us/src/os/__osSetHWIntrRoutine.o \
|
||||
build/us/src/os/osCreateViManager.o \
|
||||
build/us/src/os/__osSiRawStartDma.o \
|
||||
build/us/src/os/guNormalize.o \
|
||||
build/us/src/os/osLeoDiskInit.o \
|
||||
build/us/src/os/__osSpGetStatus.o \
|
||||
build/us/src/os/osEepromLongRead.o \
|
||||
build/us/src/os/_Ldtob.o \
|
||||
build/us/src/os/guMtxF2L.o \
|
||||
build/us/src/os/osEPiRawStartDma.o \
|
||||
build/us/src/os/osPiGetCmdQueue.o \
|
||||
build/us/src/os/osAiGetLength.o \
|
||||
build/us/src/os/osViSetSpecialFeatures.o \
|
||||
build/us/src/os/osCreateThread.o \
|
||||
build/us/src/os/osTimer.o \
|
||||
build/us/src/os/osEepromProbe.o \
|
||||
build/us/src/os/__osSetGlobalIntMask.o \
|
||||
build/us/src/os/guTranslateF.o \
|
||||
build/us/src/os/math/llconv.o \
|
||||
build/us/src/os/math/cosf.o \
|
||||
build/us/src/os/math/llmuldiv.o \
|
||||
build/us/src/os/math/sinf.o \
|
||||
|
||||
# build/us/src/save.o
|
||||
# build/us/src/crash_screen.o
|
||||
# build/us/src/code_8006E9C0.o
|
||||
# build/us/src/audio/synthesis.o
|
||||
# build/us/src/code_80057C60.o
|
||||
# build/us/src/menus.o
|
||||
# build/us/src/render_objects.o
|
||||
# build/us/src/code_800AF9B0.o
|
||||
# build/us/src/update_objects.o
|
||||
-169
@@ -1,169 +0,0 @@
|
||||
# This file is auto-generated. DO NOT MODIFY!
|
||||
|
||||
SAFE_C_FILES := \
|
||||
build/us/src/camera.o \
|
||||
build/us/src/spawn_players.o \
|
||||
build/us/src/code_8003DC40.o \
|
||||
build/us/src/code_80091440.o \
|
||||
build/us/src/effects.o \
|
||||
build/us/src/code_80057C60_var.o \
|
||||
build/us/src/code_800029B0.o \
|
||||
build/us/src/code_80004740.o \
|
||||
build/us/src/player_controller.o \
|
||||
build/us/src/profiler.o \
|
||||
build/us/src/render_player.o \
|
||||
build/us/src/code_80086E70.o \
|
||||
build/us/src/staff_ghosts.o \
|
||||
build/us/src/gbiMacro.o \
|
||||
build/us/src/kart_dma.o \
|
||||
build/us/src/math_util_2.o \
|
||||
build/us/src/main.o \
|
||||
build/us/src/data/kart_attributes.o \
|
||||
build/us/src/data/path_spawn_metadata.o \
|
||||
build/us/src/data/textures.o \
|
||||
build/us/src/data/trig_tables_bss.o \
|
||||
build/us/src/data/data_segment2.o \
|
||||
build/us/src/audio/seqplayer.o \
|
||||
build/us/src/audio/heap.o \
|
||||
build/us/src/audio/effects.o \
|
||||
build/us/src/audio/playback.o \
|
||||
build/us/src/audio/audio_session_presets.o \
|
||||
build/us/src/audio/port_eu.o \
|
||||
build/us/src/buffers/gfx_output_buffer.o \
|
||||
build/us/src/buffers/trig_tables.o \
|
||||
build/us/src/buffers/buffers.o \
|
||||
build/us/src/buffers/random.o \
|
||||
build/us/src/buffers/trig_tables_bss.o \
|
||||
build/us/src/buffers/memory_pool.o \
|
||||
build/us/src/ending/credits.o \
|
||||
build/us/src/ending/code_80280000.o \
|
||||
build/us/src/ending/ceremony_and_credits.o \
|
||||
build/us/src/ending/dl_unk_80284EE0.o \
|
||||
build/us/src/ending/code_80281780.o \
|
||||
build/us/src/ending/podium_ceremony_actors.o \
|
||||
build/us/src/ending/code_80281C40.o \
|
||||
build/us/src/ending/camera_junk.o \
|
||||
build/us/src/debug/debug.o \
|
||||
build/us/src/debug/crash_screen_enhancement.o \
|
||||
build/us/src/racing/collision.o \
|
||||
build/us/src/racing/skybox_and_splitscreen.o \
|
||||
build/us/src/racing/memory.o \
|
||||
build/us/src/racing/race_logic.o \
|
||||
build/us/src/racing/actors_extended.o \
|
||||
build/us/src/racing/render_courses.o \
|
||||
build/us/src/racing/actors.o \
|
||||
build/us/src/os/guOrthoF.o \
|
||||
build/us/src/os/guLookAtF.o \
|
||||
build/us/src/os/__osSiDeviceBusy.o \
|
||||
build/us/src/os/_Litob.o \
|
||||
build/us/src/os/osContInit.o \
|
||||
build/us/src/os/osInitialize.o \
|
||||
build/us/src/os/osAiSetNextBuffer.o \
|
||||
build/us/src/os/guMtxCatL.o \
|
||||
build/us/src/os/__osAiDeviceBusy.o \
|
||||
build/us/src/os/contramread.o \
|
||||
build/us/src/os/osSpTaskLoadGo.o \
|
||||
build/us/src/os/crc.o \
|
||||
build/us/src/os/osCreateMesgQueue.o \
|
||||
build/us/src/os/guRotateF.o \
|
||||
build/us/src/os/__osLeoInterrupt.o \
|
||||
build/us/src/os/osContStartReadData.o \
|
||||
build/us/src/os/osGetThreadPri.o \
|
||||
build/us/src/os/osPfsNumFiles.o \
|
||||
build/us/src/os/__osSiRawReadIo.o \
|
||||
build/us/src/os/osSpTaskYield.o \
|
||||
build/us/src/os/osStartThread.o \
|
||||
build/us/src/os/osViData.o \
|
||||
build/us/src/os/osPfsFileState.o \
|
||||
build/us/src/os/contpfs.o \
|
||||
build/us/src/os/leointerrupt.o \
|
||||
build/us/src/os/osPfsAllocateFile.o \
|
||||
build/us/src/os/ldiv.o \
|
||||
build/us/src/os/osSpTaskYielded.o \
|
||||
build/us/src/os/__osSpSetPc.o \
|
||||
build/us/src/os/osSetTime.o \
|
||||
build/us/src/os/osYieldThread.o \
|
||||
build/us/src/os/osPiRawStartDma.o \
|
||||
build/us/src/os/osSetTimer.o \
|
||||
build/us/src/os/osPfsDeleteFile.o \
|
||||
build/us/src/os/__osSpDeviceBusy.o \
|
||||
build/us/src/os/osEepromRead.o \
|
||||
build/us/src/os/osPiRawReadIo.o \
|
||||
build/us/src/os/osSetEventMesg.o \
|
||||
build/us/src/os/NaN.o \
|
||||
build/us/src/os/osJamMesg.o \
|
||||
build/us/src/os/osPfsChecker.o \
|
||||
build/us/src/os/sprintf.o \
|
||||
build/us/src/os/_Printf.o \
|
||||
build/us/src/os/osViTable.o \
|
||||
build/us/src/os/osEepromLongWrite.o \
|
||||
build/us/src/os/__osEPiRawWriteIo.o \
|
||||
build/us/src/os/osViSetEvent.o \
|
||||
build/us/src/os/__osGetCurrFaultedThread.o \
|
||||
build/us/src/os/osCreatePiManager.o \
|
||||
build/us/src/os/epidma.o \
|
||||
build/us/src/os/osCartRomInit.o \
|
||||
build/us/src/os/osPfsFreeBlocks.o \
|
||||
build/us/src/os/osPfsSearchFile.o \
|
||||
build/us/src/os/__osAtomicDec.o \
|
||||
build/us/src/os/osViBlack.o \
|
||||
build/us/src/os/__osViInit.o \
|
||||
build/us/src/os/osEepromWrite.o \
|
||||
build/us/src/os/osAiSetFrequency.o \
|
||||
build/us/src/os/__osEPiRawReadIo.o \
|
||||
build/us/src/os/guLookAtRef.o \
|
||||
build/us/src/os/guPerspectiveF.o \
|
||||
build/us/src/os/contramwrite.o \
|
||||
build/us/src/os/osGetTime.o \
|
||||
build/us/src/os/__osViSwapContext.o \
|
||||
build/us/src/os/alBnkfNew.o \
|
||||
build/us/src/os/__osSpSetStatus.o \
|
||||
build/us/src/os/osPfsReadWriteFile.o \
|
||||
build/us/src/os/osPiStartDma.o \
|
||||
build/us/src/os/osRecvMesg.o \
|
||||
build/us/src/os/osDestroyThread.o \
|
||||
build/us/src/os/string.o \
|
||||
build/us/src/os/__osSiRawWriteIo.o \
|
||||
build/us/src/os/osPfsInit.o \
|
||||
build/us/src/os/guMtxCatF.o \
|
||||
build/us/src/os/osPfsIsPlug.o \
|
||||
build/us/src/os/__osDequeueThread.o \
|
||||
build/us/src/os/__osSiCreateAccessQueue.o \
|
||||
build/us/src/os/osViSwapBuffer.o \
|
||||
build/us/src/os/is_debug.o \
|
||||
build/us/src/os/__osViGetCurrentContext.o \
|
||||
build/us/src/os/__osPiCreateAccessQueue.o \
|
||||
build/us/src/os/__osSpRawStartDma.o \
|
||||
build/us/src/os/__osSyncPutChars.o \
|
||||
build/us/src/os/osSendMesg.o \
|
||||
build/us/src/os/osSyncPrintf.o \
|
||||
build/us/src/os/__osResetGlobalIntMask.o \
|
||||
build/us/src/os/guScaleF.o \
|
||||
build/us/src/os/osSetThreadPri.o \
|
||||
build/us/src/os/__osDevMgrMain.o \
|
||||
build/us/src/os/osVirtualToPhysical.o \
|
||||
build/us/src/os/osViSetMode.o \
|
||||
build/us/src/os/__osSetHWIntrRoutine.o \
|
||||
build/us/src/os/osCreateViManager.o \
|
||||
build/us/src/os/__osSiRawStartDma.o \
|
||||
build/us/src/os/guNormalize.o \
|
||||
build/us/src/os/osLeoDiskInit.o \
|
||||
build/us/src/os/__osSpGetStatus.o \
|
||||
build/us/src/os/osEepromLongRead.o \
|
||||
build/us/src/os/_Ldtob.o \
|
||||
build/us/src/os/guMtxF2L.o \
|
||||
build/us/src/os/osEPiRawStartDma.o \
|
||||
build/us/src/os/osPiGetCmdQueue.o \
|
||||
build/us/src/os/osAiGetLength.o \
|
||||
build/us/src/os/osViSetSpecialFeatures.o \
|
||||
build/us/src/os/osCreateThread.o \
|
||||
build/us/src/os/osTimer.o \
|
||||
build/us/src/os/osEepromProbe.o \
|
||||
build/us/src/os/__osSetGlobalIntMask.o \
|
||||
build/us/src/os/guTranslateF.o \
|
||||
build/us/src/os/math/llconv.o \
|
||||
build/us/src/os/math/cosf.o \
|
||||
build/us/src/os/math/llmuldiv.o \
|
||||
build/us/src/os/math/sinf.o \
|
||||
build/us/assets/code/common_data/common_data.o\
|
||||
build/us/assets/code/common_data/common_data.mio0.o\
|
||||
@@ -12,7 +12,7 @@
|
||||
#include "audio/port_eu.h"
|
||||
#include "code_800029B0.h"
|
||||
#include "code_80005FD0.h"
|
||||
#include "code_80091750.h"
|
||||
#include "menu_items.h"
|
||||
#include <stdbool.h>
|
||||
#include "port/Game.h"
|
||||
|
||||
|
||||
+1
-1
@@ -23,7 +23,7 @@ typedef struct {
|
||||
|
||||
/*
|
||||
* In render_player, spawn_players, and staff_ghosts D_802BFB80 is the arraySize8 entry
|
||||
* But in code_80091750 its the arraySize4 entry
|
||||
* But in menu_items its the arraySize4 entry
|
||||
* The only way to unify those 2 things is to use a union
|
||||
*/
|
||||
typedef union {
|
||||
|
||||
+1
-1
@@ -13,7 +13,7 @@
|
||||
#include <defines.h>
|
||||
#include "collision.h"
|
||||
#include "memory.h"
|
||||
#include "code_80091750.h"
|
||||
#include "menu_items.h"
|
||||
#include "skybox_and_splitscreen.h"
|
||||
#include "code_8006E9C0.h"
|
||||
#include "spawn_players.h"
|
||||
|
||||
+4
-4
@@ -27,7 +27,7 @@
|
||||
#include <common_structs.h>
|
||||
#include "main.h"
|
||||
#include "menus.h"
|
||||
#include "code_80091750.h"
|
||||
#include "menu_items.h"
|
||||
#include "audio/external.h"
|
||||
#include "ending/podium_ceremony_actors.h"
|
||||
#include "spawn_players.h"
|
||||
@@ -3553,7 +3553,7 @@ void func_8000F628(void) {
|
||||
}
|
||||
}
|
||||
}
|
||||
if ((D_8018EE08 == 1) && (GetCourse() != GetPodiumCeremony())) {
|
||||
if ((gDemoUseController == 1) && (GetCourse() != GetPodiumCeremony())) {
|
||||
for (i = 0; i < NUM_PLAYERS; i++) {
|
||||
D_80163330[i] = 0;
|
||||
}
|
||||
@@ -3605,7 +3605,7 @@ void func_8000F628(void) {
|
||||
D_8016348C = 0;
|
||||
D_801634EC = 0;
|
||||
func_8001AB00();
|
||||
if (D_8018EE08 == 1) {
|
||||
if (gDemoUseController == 1) {
|
||||
if (gDemoMode == 1) {
|
||||
|
||||
for (i = 0; i < NUM_PLAYERS; i++) {
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -521,7 +521,6 @@ extern s32 D_8018D1D4;
|
||||
// extern s32 D_8018D1D8; -> objects.h
|
||||
|
||||
extern s32 D_8018D1DC;
|
||||
extern u8* D_8018D1E0;
|
||||
extern f32 D_8018D1E8;
|
||||
extern s32 D_8018D1EC;
|
||||
// extern s32 D_8018D1F0; -> objects.h
|
||||
|
||||
@@ -77,7 +77,6 @@ s32 D_8018D1D0;
|
||||
s32 D_8018D1D4;
|
||||
s32 D_8018D1D8;
|
||||
s32 D_8018D1DC;
|
||||
u8* D_8018D1E0;
|
||||
UNUSED s32 D_8018D1E4;
|
||||
f32 D_8018D1E8;
|
||||
s32 D_8018D1EC;
|
||||
|
||||
+9
-7
@@ -23,7 +23,7 @@
|
||||
#include "menus.h"
|
||||
#include <assets/other_textures.h>
|
||||
#include "render_objects.h"
|
||||
#include "code_80091750.h"
|
||||
#include "menu_items.h"
|
||||
#include "src/data/some_data.h"
|
||||
#include "effects.h"
|
||||
#include <assets/boo_frames.h>
|
||||
@@ -117,7 +117,10 @@ void clear_object_list() {
|
||||
objectListSize = -1;
|
||||
}
|
||||
|
||||
u8* func_8006ED94(u8* devAddr, u8* baseAddress, u32 size, u32 offset) {
|
||||
/**
|
||||
* Dma's mario kart 64 logo and course outline textures.
|
||||
*/
|
||||
u8* dma_misc_textures(u8* devAddr, u8* baseAddress, u32 size, u32 offset) {
|
||||
#ifdef TARGET_N64
|
||||
u8** tempAddress;
|
||||
u8* address;
|
||||
@@ -139,9 +142,8 @@ u8* func_8006ED94(u8* devAddr, u8* baseAddress, u32 size, u32 offset) {
|
||||
return baseAddress;
|
||||
}
|
||||
|
||||
// Stubbed because load texture directly.
|
||||
void load_mario_kart_64_logo(void) {
|
||||
u8* d_gTextureLogoMarioKart64 = LOAD_ASSET(gTextureLogoMarioKart64);
|
||||
D_8018D1E0 = func_8006ED94((u8*) d_gTextureLogoMarioKart64, (u8*) D_8018D9B0, 0x79E1, 0x20000);
|
||||
}
|
||||
|
||||
// Some kind of initalization for the Item Window part of the HUD
|
||||
@@ -175,7 +177,7 @@ void func_8006EF60(void) {
|
||||
s16 huh;
|
||||
u8* wut;
|
||||
|
||||
wut = D_8018D9B4 + 0xFFFF0000;
|
||||
wut = gMenuCompressedBuffer + 0xFFFF0000;
|
||||
// clang-format off
|
||||
// God forgive me for my sins...
|
||||
huh = 0x14; if (0) {} for (i = 0; i < huh; i++) { D_8018D248[i] = CourseManager_GetProps()->MinimapTexture; wut += ResourceGetTexSizeByName(CourseManager_GetProps()->MinimapTexture); }
|
||||
@@ -382,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;
|
||||
|
||||
+1
-1
@@ -8,7 +8,7 @@ void init_hud(void);
|
||||
void reset_object_variable(void);
|
||||
void func_8006EB10(void);
|
||||
void clear_object_list(void);
|
||||
u8* func_8006ED94(u8*, u8*, u32, u32);
|
||||
u8* dma_misc_textures(u8*, u8*, u32, u32);
|
||||
void load_mario_kart_64_logo(void);
|
||||
void init_item_window(s32);
|
||||
void func_8006EEE8(s32);
|
||||
|
||||
@@ -1,619 +0,0 @@
|
||||
#ifndef CODE_80091750_H
|
||||
#define CODE_80091750_H
|
||||
|
||||
#include <common_structs.h>
|
||||
#include "textures.h"
|
||||
#include "main.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
extern u32 _course_mario_raceway_dl_mio0SegmentRomStart[];
|
||||
|
||||
/* File specific types */
|
||||
|
||||
/*
|
||||
Known `types` for `struct_8018D9E0_entry`
|
||||
0x53: "Mushroom Cup" box on the cup selection screen
|
||||
0x54: "Flower Cup" box on the cup selection screen
|
||||
0x55: "Star Cup" box on the cup selection screen
|
||||
0x56: "Special Cup" box on the cup selection screen
|
||||
0x5E: A box of static over the course images as the cup selection screen loads in.
|
||||
It is near unnoticeable though as in practice it doesn't last long enough to be seen.
|
||||
Try locking the word at `8018DC80` to see something like 0x20 just before confirming character selection to make
|
||||
it last longer See `func_80096CD8` for the actual drawing of the static
|
||||
*/
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ s32 type; // id maybe?
|
||||
/* 0x04 */ s32 cursor; // sound mode, maybe some other stuff
|
||||
/* 0x08 */ s32 unk8; // This is used but I can't tell what for
|
||||
/* 0x0C */ s32 column;
|
||||
/* 0x10 */ s32 row;
|
||||
/* 0x14 */ u8 priority; // priority/depth/z-level. Higher values are drawn on top of lower values
|
||||
// If equal, later entries in D_8018D9E0 are on top
|
||||
/* 0x15 */ u8 visible; // active? If 1 its displayed, if 0 its not
|
||||
// These seem to be generic space available for use by the struct, no 1 purpose for any given member
|
||||
/* 0x16 */ s16 unk16; // Potentially unused
|
||||
/* 0x18 */ s32 D_8018DEE0_index; // Index in D_8018DEE0, an array of some other struct type
|
||||
/* 0x1C */ s32 unk1C; // Multi use. Sometimes cup selection, sometimes course index.
|
||||
/* 0x20 */ s32 unk20; // Multi use, hard to tell what for though. Sometimes a random number, sometimes GP points
|
||||
/* 0x24 */ f32 unk24; // Multi use, x scaling for some things, rotation multiplier for the question box in some
|
||||
// menus, probably some other things
|
||||
} struct_8018D9E0_entry; // size = 0x28
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ MkAnimation* textureSequence;
|
||||
/* 0x04 */ s32 sequenceIndex; // Index in textureSequence that the animation is currently on
|
||||
/* 0x08 */ s32 frameCountDown; // Frames left for the given animation part
|
||||
/* 0x0C */ u32 visible; // visbile if 0x80000000, otherwise invisbile AND paused
|
||||
/* 0x10 */ s32 D_8018E118_index; // Don't know what D_8018E118 tracks
|
||||
/* 0x14 */ s32 unk14; // Flip flops between 0 and 1, use unknown
|
||||
} struct_8018DEE0_entry; // size = 0x18
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ MkTexture* texture;
|
||||
/* 0x4 */ s32 unk_4;
|
||||
} struct_8018E060_entry; // size = 0x8
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ MkTexture* mk64Texture;
|
||||
/* 0x4 */ s16 unk4;
|
||||
/* 0x6 */ s16 unk6;
|
||||
} struct_8018E0E8_entry; // size = 0x8
|
||||
|
||||
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 D_8018D9B0.
|
||||
* This value is (roughly) the sum of (width * height) of the
|
||||
* textures in all the previous entries in D_8018E118
|
||||
*/
|
||||
/* 0x04 */ s32 offset;
|
||||
} struct_8018E118_entry; // size = 0x08
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ MkTexture* textures;
|
||||
/* 0x04 */ Gfx* displayList;
|
||||
} struct_8018E768_entry; // size = 0x08
|
||||
|
||||
struct UnkStruct_8018E7E8 {
|
||||
/* 0x0 */ s16 x;
|
||||
/* 0x2 */ s16 y;
|
||||
/* 0x4 */ s16 unk1;
|
||||
/* 0x6 */ s16 unk2;
|
||||
}; // size = 0x8
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ s16 column;
|
||||
/* 0x02 */ s16 row;
|
||||
/* 0x04 */ s16 pad0;
|
||||
/* 0x06 */ s16 pad1;
|
||||
} Unk_D_800E70A0; // size = 0x08
|
||||
|
||||
/* Function Prototypes */
|
||||
|
||||
f64 exponent_by_squaring(f64, s32);
|
||||
f64 func_800917B0(f64, f64);
|
||||
f64 func_8009186C(f64);
|
||||
f64 func_8009195C(f64);
|
||||
f64 func_80091A6C(f64, s32);
|
||||
f64 func_80091AC0(f64, s32*);
|
||||
void swap_values(s32*, s32*);
|
||||
s32 func_80091D74(void);
|
||||
void func_80091EE4(void);
|
||||
void func_80091FA4(void);
|
||||
void func_80092148(void);
|
||||
void func_800921B4(void);
|
||||
void text_rainbow_effect(s32, s32, s32);
|
||||
void set_text_color_rainbow_if_selected(s32, s32, s32);
|
||||
void func_80092258(void);
|
||||
void func_80092290(s32, s32*, s32*);
|
||||
void func_80092500(void);
|
||||
void func_80092564(void);
|
||||
void func_800925A0(void);
|
||||
void func_800925CC(void);
|
||||
void func_80092604(void);
|
||||
void func_80092630(void);
|
||||
void func_8009265C(void);
|
||||
void func_80092688(void);
|
||||
void func_80092C80(void);
|
||||
s32 char_to_glyph_index(char*);
|
||||
s32 func_80092DF8(char*);
|
||||
s32 func_80092E1C(char*);
|
||||
s32 func_80092EE4(char*);
|
||||
s32 get_string_width(char*);
|
||||
void set_text_color(s32);
|
||||
void func_800930E4(s32, s32, char*);
|
||||
void print_text0(s32, s32, char*, s32, f32, f32, s32);
|
||||
void func_80093324(s32, s32, char*, s32, f32, f32);
|
||||
void func_80093358(s32, s32, char*, s32, f32, f32);
|
||||
void print_text1(s32, s32, char*, s32, f32, f32, s32);
|
||||
void func_800936B8(s32, s32, char*, s32, f32, f32);
|
||||
void draw_text(s32, s32, char*, s32, f32, f32);
|
||||
void func_80093720(s32, s32, char*, s32, f32, f32);
|
||||
void func_80093754(s32, s32, char*, s32, f32, f32);
|
||||
void print_text2(s32, s32, char*, s32, f32, f32, s32);
|
||||
void func_800939C8(s32, s32, char*, s32, f32, f32);
|
||||
void text_draw(s32, s32, char*, s32, f32, f32);
|
||||
void func_80093A30(s32);
|
||||
void func_80093A5C(u32);
|
||||
void func_80093B70(u32);
|
||||
void func_80093C1C(s32);
|
||||
void func_80093C88(void);
|
||||
void func_80093C90(void);
|
||||
void func_80093C98(s32);
|
||||
void func_80093E20(void);
|
||||
void func_80093E40(void);
|
||||
void func_80093E60(void);
|
||||
void func_80093F10(void);
|
||||
void func_800940EC(s32);
|
||||
void func_800942D0(void);
|
||||
void func_80094660(struct GfxPool*, s32);
|
||||
void render_checkered_flag(struct GfxPool*, s32);
|
||||
void func_80094A64(struct GfxPool*);
|
||||
void render_menus(void);
|
||||
void func_80095574(void);
|
||||
Gfx* draw_flash_select_case(Gfx*, s32, s32, s32, s32, s32);
|
||||
Gfx* draw_flash_select_case_slow(Gfx*, s32, s32, s32, s32);
|
||||
Gfx* draw_flash_select_case_fast(Gfx*, s32, s32, s32, s32);
|
||||
Gfx* func_800959F8(Gfx*, Vtx*);
|
||||
Gfx* func_80095BD0(Gfx*, u8*, f32, f32, u32, u32, f32, f32);
|
||||
Gfx* func_80095E10(Gfx*, s8, s32, s32, s32, s32, s32, s32, s32, s32, u8*, u32, u32);
|
||||
Gfx* func_800963F0(Gfx*, s8, s32, s32, f32, f32, s32, s32, s32, s32, s32, s32, u8*, u32, u32);
|
||||
Gfx* func_80096CD8(Gfx*, s32, s32, u32, u32);
|
||||
Gfx* func_80097274(Gfx* displayListHead, s8 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8,
|
||||
s32 arg9, u16* argA, u32 argB, u32 argC, s32 argD);
|
||||
Gfx* func_80097A14(Gfx*, s8, s32, s32, s32, s32, s32, s32, u8*, u32, u32);
|
||||
Gfx* func_80097AE4(Gfx*, s8, s32, s32, u8*, s32);
|
||||
Gfx* func_80097E58(Gfx* displayListHead, s8 fmt, u32 arg2, u32 arg3, u32 arg4, u32 arg5, s32 arg6, s32 arg7,
|
||||
u8* someTexture, u32 arg9, u32 argA, s32 width);
|
||||
Gfx* func_80098558(Gfx*, u32, u32, u32, u32, u32, u32, s32, s32);
|
||||
Gfx* func_800987D0(Gfx*, u32, u32, u32, u32, s32, s32, u8*, u32, s32);
|
||||
Gfx* draw_box_fill(Gfx*, s32, s32, s32, s32, s32, s32, s32, s32);
|
||||
Gfx* draw_box(Gfx*, s32, s32, s32, s32, u32, u32, u32, u32);
|
||||
Gfx* draw_box_wide(Gfx*, s32, s32, s32, s32, u32, u32, u32, u32);
|
||||
Gfx* func_80098FC8(Gfx*, s32, s32, s32, s32);
|
||||
void dma_copy_base_729a30(u64*, size_t, void*);
|
||||
void dma_copy_base_7fa3c0(u64*, size_t, void*);
|
||||
void func_80099110(void);
|
||||
void load_menu_img(MkTexture*);
|
||||
void* segmented_to_virtual_dupe(const void*);
|
||||
void* segmented_to_virtual_dupe_2(const void*);
|
||||
void load_img_wrap(MkTexture*);
|
||||
void load_menu_img2(MkTexture*, s32);
|
||||
void func_80099958(MkTexture*, s32, s32);
|
||||
void func_80099E54(void);
|
||||
void func_80099E60(MkTexture*, s32, s32);
|
||||
void func_80099EC4(void);
|
||||
void func_80099A70(void);
|
||||
void func_80099A94(MkTexture*, s32);
|
||||
void func_80099AEC(void);
|
||||
void func_8009A238(MkTexture*, s32);
|
||||
void func_8009A2F0(struct_8018E0E8_entry*);
|
||||
void func_8009A344(void);
|
||||
s32 animate_character_select_menu(MkAnimation*);
|
||||
s32 func_8009A478(MkAnimation*, s32);
|
||||
void func_8009A594(s32, s32, MkAnimation*);
|
||||
void func_8009A640(s32, s32, s32, MkAnimation*);
|
||||
void func_8009A6D4(void);
|
||||
void func_8009A76C(s32, s32, s32, s32);
|
||||
void func_8009A7EC(s32, s32, s32, s32, s32);
|
||||
MkTexture* func_8009A878(struct_8018DEE0_entry*);
|
||||
MkTexture* func_8009A944(struct_8018DEE0_entry*, s32);
|
||||
void func_8009A9FC(s32, s32, u32, s32);
|
||||
void func_8009AB7C(s32);
|
||||
void func_8009AD78(s32, s32);
|
||||
void convert_img_to_greyscale(s32, u32);
|
||||
void adjust_img_colour(s32, s32, s32, s32, s32);
|
||||
u16* func_8009B8C4(u64*);
|
||||
void func_8009B938(void);
|
||||
void func_8009B954(MkTexture*);
|
||||
void func_8009B998(void);
|
||||
Gfx* func_8009B9D0(Gfx*, MkTexture*);
|
||||
Gfx* func_8009BA74(Gfx*, MkTexture*, s32, s32);
|
||||
Gfx* func_8009BC9C(Gfx*, MkTexture*, s32, s32, s32, s32);
|
||||
Gfx* print_letter(Gfx*, MkTexture*, f32, f32, s32, f32, f32);
|
||||
Gfx* func_8009C204(Gfx*, MkTexture*, s32, s32, s32);
|
||||
Gfx* func_8009C434(Gfx*, struct_8018DEE0_entry*, s32, s32, s32);
|
||||
Gfx* func_8009C708(Gfx*, struct_8018DEE0_entry*, s32, s32, s32, s32);
|
||||
void func_8009C918(void);
|
||||
void func_8009CA2C(void);
|
||||
void func_8009CA6C(s32);
|
||||
void func_8009CBE4(s32, s32, s32);
|
||||
void func_8009CDDC(s32, s32);
|
||||
void func_8009CDFC(s32, s32);
|
||||
void func_8009CE1C(void);
|
||||
void func_8009CE64(s32);
|
||||
void func_8009D77C(s32, s32, s32);
|
||||
void func_8009D958(s32, s32);
|
||||
void func_8009D978(s32, s32);
|
||||
void func_8009D998(s32);
|
||||
void func_8009DAA8(void);
|
||||
void func_8009DB8C(void);
|
||||
void func_8009DEF8(u32, u32);
|
||||
void func_8009DF4C(s32);
|
||||
void func_8009DF6C(s32);
|
||||
void func_8009DF8C(u32, u32);
|
||||
void func_8009DFE0(s32);
|
||||
void func_8009E000(s32);
|
||||
void func_8009E020(s32, s32);
|
||||
void func_8009E088(s32, s32);
|
||||
void func_8009E0F0(s32);
|
||||
void func_8009E1C0(void);
|
||||
void func_8009E1E4(void);
|
||||
void func_8009E208(void);
|
||||
void func_8009E230(void);
|
||||
void func_8009E258(void);
|
||||
void func_8009E280(void);
|
||||
void func_8009E2A8(s32);
|
||||
void func_8009E2F0(s32);
|
||||
void func_8009E5BC(void);
|
||||
void func_8009E5FC(s32);
|
||||
void func_8009E620(void);
|
||||
void add_ui_element(s32, s32, s32, s8);
|
||||
void func_8009F5E0(struct_8018D9E0_entry*);
|
||||
void func_800A08D8(u8, s32, s32);
|
||||
s32 func_800A095C(char*, s32, s32, s32);
|
||||
void func_800A09E0(struct_8018D9E0_entry*);
|
||||
void func_800A0AD0(struct_8018D9E0_entry*);
|
||||
void func_800A0B80(struct_8018D9E0_entry*);
|
||||
void func_800A0DFC(void);
|
||||
void func_800A0EB8(struct_8018D9E0_entry*, s32);
|
||||
void func_800A0FA4(struct_8018D9E0_entry*, s32);
|
||||
void func_800A10CC(struct_8018D9E0_entry*);
|
||||
void func_800A11D0(struct_8018D9E0_entry*, s32, s32);
|
||||
void func_800A12BC(struct_8018D9E0_entry*, MkTexture*);
|
||||
void func_800A1350(struct_8018D9E0_entry*);
|
||||
void func_800A143C(struct_8018D9E0_entry*, s32);
|
||||
void func_800A1500(struct_8018D9E0_entry*);
|
||||
void func_800A15EC(struct_8018D9E0_entry*);
|
||||
void func_800A1780(struct_8018D9E0_entry*);
|
||||
void func_800A1924(struct_8018D9E0_entry*);
|
||||
void func_800A1A20(struct_8018D9E0_entry*);
|
||||
void func_800A1BE0(struct_8018D9E0_entry*);
|
||||
void func_800A1DE0(struct_8018D9E0_entry*);
|
||||
void func_800A1F30(struct_8018D9E0_entry*);
|
||||
void func_800A1FB0(struct_8018D9E0_entry*);
|
||||
void func_800A2D1C(struct_8018D9E0_entry*);
|
||||
void func_800A2EB8(struct_8018D9E0_entry*);
|
||||
void func_800A32B4(s32, s32, s32, s32);
|
||||
void func_800A34A8(struct_8018D9E0_entry*);
|
||||
void func_800A3A10(s8*);
|
||||
void func_800A3ADC(struct_8018D9E0_entry*, s32, s32, s32, s32, s8*);
|
||||
void func_800A3C84(struct_8018D9E0_entry*);
|
||||
void func_800A3E60(struct_8018D9E0_entry*);
|
||||
void func_800A4550(s32, s32, s32);
|
||||
void func_800A474C(s32, s32, s32);
|
||||
void func_800A4A24(struct_8018D9E0_entry*);
|
||||
void render_pause_menu(struct_8018D9E0_entry*);
|
||||
void render_pause_menu_time_trials(struct_8018D9E0_entry*);
|
||||
void render_pause_menu_versus(struct_8018D9E0_entry*);
|
||||
void render_pause_grand_prix(struct_8018D9E0_entry*);
|
||||
void render_pause_battle(struct_8018D9E0_entry*);
|
||||
void func_800A54EC(void);
|
||||
void func_800A5738(struct_8018D9E0_entry*);
|
||||
void func_800A6034(struct_8018D9E0_entry*);
|
||||
void func_800A6154(struct_8018D9E0_entry*);
|
||||
void func_800A638C(struct_8018D9E0_entry*);
|
||||
void func_800A66A8(struct_8018D9E0_entry*, Unk_D_800E70A0*);
|
||||
void func_800A69C8(struct_8018D9E0_entry*);
|
||||
void func_800A6BEC(struct_8018D9E0_entry*);
|
||||
void func_800A6CC0(struct_8018D9E0_entry*);
|
||||
void func_800A6D94(s32, s32, u8*);
|
||||
void func_800A6E94(s32, s32, u8*);
|
||||
void func_800A70E8(struct_8018D9E0_entry*);
|
||||
void func_800A7258(struct_8018D9E0_entry*);
|
||||
void func_800A72FC(struct_8018D9E0_entry*);
|
||||
void func_800A7448(struct_8018D9E0_entry*);
|
||||
void func_800A75A0(struct_8018D9E0_entry*);
|
||||
void func_800A761C(struct_8018D9E0_entry*);
|
||||
void func_800A7790(struct_8018D9E0_entry*);
|
||||
void convert_number_to_ascii(s32, char*);
|
||||
void write_dashes(char*);
|
||||
void get_time_record_minutes(s32, char*);
|
||||
void get_time_record_seconds(s32, char*);
|
||||
void get_time_record_centiseconds(s32, char*);
|
||||
void func_800A79F4(s32, char*);
|
||||
void func_800A7A4C(s32);
|
||||
void func_800A8230(void);
|
||||
void func_800A8250(void);
|
||||
void func_800A8270(s32, struct_8018D9E0_entry*);
|
||||
void func_800A8564(struct_8018D9E0_entry*);
|
||||
void func_800A86E8(struct_8018D9E0_entry*);
|
||||
void func_800A874C(struct_8018D9E0_entry*);
|
||||
void func_800A890C(s32, struct_8018D9E0_entry*);
|
||||
void func_800A8A98(struct_8018D9E0_entry*);
|
||||
void func_800A8CA4(struct_8018D9E0_entry*);
|
||||
void func_800A8E14(struct_8018D9E0_entry*);
|
||||
void func_800A8EC0(struct_8018D9E0_entry*);
|
||||
void func_800A8F48(struct_8018D9E0_entry*);
|
||||
void func_800A90D4(s32, struct_8018D9E0_entry*);
|
||||
void func_800A91D8(struct_8018D9E0_entry*, s32, s32);
|
||||
void func_800A9208(struct_8018D9E0_entry*, s32);
|
||||
void func_800A9278(struct_8018D9E0_entry*, s32);
|
||||
void func_800A92E8(struct_8018D9E0_entry*, s32);
|
||||
void func_800A939C(struct_8018D9E0_entry*, s32);
|
||||
void func_800A940C(struct_8018D9E0_entry*, s32);
|
||||
void func_800A94C8(struct_8018D9E0_entry*, s32, s32);
|
||||
void func_800A954C(struct_8018D9E0_entry*);
|
||||
void func_800A9710(struct_8018D9E0_entry*);
|
||||
void func_800A97BC(struct_8018D9E0_entry*);
|
||||
void func_800A9A98(struct_8018D9E0_entry*);
|
||||
void func_800A9B9C(struct_8018D9E0_entry*);
|
||||
void func_800A9C40(struct_8018D9E0_entry*);
|
||||
void func_800A9D5C(struct_8018D9E0_entry*);
|
||||
void func_800A9E58(struct_8018D9E0_entry*);
|
||||
void func_800AA280(struct_8018D9E0_entry*);
|
||||
void func_800AA2EC(struct_8018D9E0_entry*);
|
||||
void func_800AA5C8(struct_8018D9E0_entry*, s8);
|
||||
void func_800AA69C(struct_8018D9E0_entry*);
|
||||
void func_800AAA9C(struct_8018D9E0_entry*);
|
||||
void func_800AAB90(struct_8018D9E0_entry*);
|
||||
void func_800AAC18(struct_8018D9E0_entry*);
|
||||
void func_800AADD4(struct_8018D9E0_entry*);
|
||||
void func_800AAE18(struct_8018D9E0_entry*);
|
||||
struct_8018D9E0_entry* func_800AAE68(void);
|
||||
struct_8018D9E0_entry* func_800AAEB4(s32);
|
||||
struct_8018D9E0_entry* find_8018D9E0_entry_dupe(s32);
|
||||
struct_8018D9E0_entry* find_8018D9E0_entry(s32);
|
||||
s32 func_800AAF70(s32);
|
||||
void func_800AAF94(struct_8018D9E0_entry*, s32);
|
||||
s32 func_800AAFCC(s32);
|
||||
void func_800AB020(struct_8018D9E0_entry*);
|
||||
void func_800AB098(struct_8018D9E0_entry*);
|
||||
void func_800AB164(struct_8018D9E0_entry*);
|
||||
void func_800AB260(struct_8018D9E0_entry*);
|
||||
void func_800AB290(struct_8018D9E0_entry*);
|
||||
void func_800AB314(struct_8018D9E0_entry*);
|
||||
void func_800AB904(struct_8018D9E0_entry*);
|
||||
void func_800AB9B0(struct_8018D9E0_entry*);
|
||||
void func_800ABAE8(struct_8018D9E0_entry*);
|
||||
void func_800ABB24(struct_8018D9E0_entry*);
|
||||
void func_800ABBCC(struct_8018D9E0_entry*);
|
||||
void func_800ABC38(struct_8018D9E0_entry*);
|
||||
void func_800ABCF4(struct_8018D9E0_entry*);
|
||||
void func_800ABEAC(struct_8018D9E0_entry*);
|
||||
void func_800ABF68(struct_8018D9E0_entry*);
|
||||
void func_800AC128(struct_8018D9E0_entry*);
|
||||
void func_800AC300(struct_8018D9E0_entry*);
|
||||
void func_800AC324(struct_8018D9E0_entry*);
|
||||
void func_800AC458(struct_8018D9E0_entry*);
|
||||
void func_800AC978(struct_8018D9E0_entry*);
|
||||
void func_800ACA14(struct_8018D9E0_entry*);
|
||||
void func_800ACC50(struct_8018D9E0_entry*);
|
||||
void func_800ACF40(struct_8018D9E0_entry*);
|
||||
void func_800AD1A4(struct_8018D9E0_entry*);
|
||||
void func_800AD2E8(struct_8018D9E0_entry*);
|
||||
void func_800ADF48(struct_8018D9E0_entry*);
|
||||
void func_800AE218(struct_8018D9E0_entry*);
|
||||
void func_800AEC54(struct_8018D9E0_entry*);
|
||||
void func_800AEDBC(struct_8018D9E0_entry*);
|
||||
void func_800AEE90(struct_8018D9E0_entry*);
|
||||
void func_800AEEBC(struct_8018D9E0_entry*);
|
||||
void func_800AEEE8(struct_8018D9E0_entry*);
|
||||
void func_800AEF14(struct_8018D9E0_entry*);
|
||||
void func_800AEF74(struct_8018D9E0_entry*);
|
||||
void func_800AF004(struct_8018D9E0_entry*);
|
||||
void func_800AF1AC(struct_8018D9E0_entry*);
|
||||
void func_800AF270(struct_8018D9E0_entry*);
|
||||
void func_800AF480(struct_8018D9E0_entry*);
|
||||
void func_800AF4DC(struct_8018D9E0_entry*);
|
||||
void func_800AF740(struct_8018D9E0_entry*);
|
||||
|
||||
// This really, really shouldn't be in this header file, but I don't know where else to put it
|
||||
void rmonPrintf(const char*, ...);
|
||||
void tkmk00decode(u8*, u8*, u8*, s32);
|
||||
|
||||
/* File specific defines */
|
||||
|
||||
#define D_8018D9E0_SIZE 0x20
|
||||
#define D_8018DEE0_SIZE 0x10
|
||||
#define D_8018E060_SIZE 0x10
|
||||
#define D_8018E0E8_SIZE 0x05
|
||||
#define D_8018E118_SIZE 0xC8
|
||||
#define D_8018E768_SIZE 0x08
|
||||
#define D_8018E7E8_SIZE 0x05
|
||||
#define D_8018E810_SIZE 0x05
|
||||
|
||||
/* This is where I'd put my static data, if I had any */
|
||||
|
||||
extern s32 D_800DDB24;
|
||||
extern s16 D_80164478[];
|
||||
|
||||
extern u16* D_8018D9B0;
|
||||
extern u8* D_8018D9B4;
|
||||
extern u8* D_8018D9B8;
|
||||
extern u8* D_8018D9BC;
|
||||
extern void* D_8018D9C0;
|
||||
extern s8 gGPPointsByCharacterId[8];
|
||||
extern s8 gCharacterIdByGPOverallRank[];
|
||||
extern s8 D_8018D9D8;
|
||||
extern s8 D_8018D9D9;
|
||||
extern struct_8018D9E0_entry D_8018D9E0[D_8018D9E0_SIZE];
|
||||
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 gMenuTextureBufferIndex;
|
||||
extern struct_8018E118_entry D_8018E118[D_8018E118_SIZE];
|
||||
extern s32 gNumD_8018E118Entries;
|
||||
extern Gfx* D_8018E75C;
|
||||
extern s32 gNumD_8018E768Entries;
|
||||
extern struct_8018E768_entry D_8018E768[D_8018E768_SIZE];
|
||||
extern s32 gCycleFlashMenu;
|
||||
extern s8 D_8018E7AC[];
|
||||
extern u32 D_8018E7B8[];
|
||||
extern u32 D_8018E7D0[];
|
||||
extern struct UnkStruct_8018E7E8 D_8018E7E8[D_8018E7E8_SIZE];
|
||||
extern struct UnkStruct_8018E7E8 D_8018E810[D_8018E810_SIZE];
|
||||
extern s8 gTextColor;
|
||||
extern u8 D_8018ED90;
|
||||
extern u8 D_8018ED91;
|
||||
extern s8 D_8018E838[];
|
||||
extern s32 D_8018E840[];
|
||||
extern s32 D_8018E850[];
|
||||
extern s32 D_8018E854;
|
||||
extern s32 D_8018E858[];
|
||||
extern s32 D_8018E85C;
|
||||
|
||||
// extern u8 _textures_0aSegmentRomStart[];
|
||||
// extern u8 _textures_0bSegmentRomStart[];
|
||||
|
||||
extern Unk_D_800E70A0 D_800E70A0[];
|
||||
extern Unk_D_800E70A0 D_800E70E8[];
|
||||
extern Unk_D_800E70A0 D_800E7108[][4];
|
||||
extern Unk_D_800E70A0 D_800E7148[];
|
||||
extern Unk_D_800E70A0 D_800E7168[];
|
||||
extern Unk_D_800E70A0 D_800E7188[];
|
||||
extern Unk_D_800E70A0 D_800E7208[][2];
|
||||
extern Unk_D_800E70A0 D_800E7248[];
|
||||
extern Unk_D_800E70A0 D_800E7258[];
|
||||
extern Unk_D_800E70A0 D_800E7268[];
|
||||
extern Unk_D_800E70A0 D_800E7278[];
|
||||
extern Unk_D_800E70A0 D_800E72F8;
|
||||
extern Unk_D_800E70A0 D_800E7300[];
|
||||
extern Unk_D_800E70A0 D_800E7360[];
|
||||
extern Unk_D_800E70A0 D_800E7380[];
|
||||
extern Unk_D_800E70A0 D_800E7390[];
|
||||
extern Unk_D_800E70A0 D_800E73C0[];
|
||||
extern Unk_D_800E70A0 D_800E73D0[];
|
||||
extern Unk_D_800E70A0 D_800E73E0[];
|
||||
extern Unk_D_800E70A0 D_800E7410[];
|
||||
extern Unk_D_800E70A0 D_800E7420[];
|
||||
extern Unk_D_800E70A0 D_800E7430[];
|
||||
extern Unk_D_800E70A0 D_800E7458[];
|
||||
extern Unk_D_800E70A0 D_800E7480[];
|
||||
extern RGBA16 D_800E74A8[];
|
||||
extern RGBA16 D_800E74D0[];
|
||||
extern RGBA16 D_800E74E8[];
|
||||
extern const s16 gGlyphDisplayWidth[];
|
||||
extern char* gCupNames[];
|
||||
extern const s8 D_800EFD64[];
|
||||
extern char* D_800E7678[];
|
||||
extern char* gDebugCharacterNames[];
|
||||
extern char* D_800E76A8[];
|
||||
extern char* D_800E76CC[];
|
||||
extern char* D_800E76DC[];
|
||||
extern char* gDebugScreenModeNames[];
|
||||
extern char* gDebugSoundModeNames[];
|
||||
extern char* gSoundModeNames[]; // D_800E7710
|
||||
extern char* D_800E7720[];
|
||||
extern char* D_800E7728[];
|
||||
extern char* D_800E7730;
|
||||
extern char* D_800E7734[];
|
||||
extern char* D_800E7744[];
|
||||
extern char* gTextPauseButton[];
|
||||
extern char* D_800E7778[];
|
||||
extern char D_800E7780[];
|
||||
extern char* D_800E77A0[];
|
||||
extern char* D_800E77A8[];
|
||||
extern char D_800E77B4[];
|
||||
extern char D_800E77D8[];
|
||||
extern char* D_800E7834[];
|
||||
extern char* D_800E7840[];
|
||||
extern char* D_800E7848[];
|
||||
extern char* D_800E7860[];
|
||||
extern char* D_800E7868[];
|
||||
extern char* D_800E7878[];
|
||||
extern char* D_800E7884[];
|
||||
extern char* D_800E7890[];
|
||||
extern char* D_800E78D0[];
|
||||
extern char* D_800E7900[];
|
||||
extern char* D_800E7918[];
|
||||
extern char* D_800E7920[];
|
||||
extern char* D_800E7928[];
|
||||
extern char* D_800E7930[];
|
||||
extern char* D_800E7938[];
|
||||
extern char* D_800E7940[];
|
||||
extern char* D_800E7980[];
|
||||
extern char* D_800E798C[];
|
||||
extern char* D_800E7A34[];
|
||||
extern char* D_800E7A3C[];
|
||||
extern char* D_800E7A44;
|
||||
extern char* D_800E7A48[];
|
||||
extern char* D_800E7A54[];
|
||||
extern char* D_800E7A60[];
|
||||
extern char* D_800E7A6C[];
|
||||
extern char* D_800E7A74[];
|
||||
extern char* D_800E7A80[];
|
||||
extern char* D_800E7A88[];
|
||||
extern char* D_800E7A98;
|
||||
extern char* D_800E7A9C[];
|
||||
extern char* D_800E7AA4[];
|
||||
extern const s8 gGPPointRewards[];
|
||||
extern const s8 D_800F0B1C[];
|
||||
extern const s8 D_800F0B28[];
|
||||
extern const s8 D_800F0B50[];
|
||||
extern const s8 D_800F0B54[];
|
||||
extern RGBA16 D_800E7AC8[];
|
||||
extern RGBA16 D_800E7AE8[];
|
||||
extern MkTexture* D_800E7AF8[];
|
||||
extern MkTexture* D_800E7D0C[];
|
||||
extern MkAnimation* D_800E7D34[];
|
||||
extern MkTexture* D_800E7D4C[];
|
||||
extern MkTexture* D_800E7D54[];
|
||||
extern MkTexture* D_800E7D74[];
|
||||
extern MkTexture* D_800E7DC4[];
|
||||
extern MkAnimation* D_800E7E14[];
|
||||
extern MkAnimation* D_800E7E20[];
|
||||
extern MkAnimation* D_800E7E34[];
|
||||
extern MkTexture* gGlyphTextureLUT[];
|
||||
extern MkTexture* D_800E7FF0[];
|
||||
extern MkTexture* D_800E80A0[];
|
||||
extern MkTexture* D_800E8114[];
|
||||
extern MkTexture* D_800E8174[];
|
||||
extern MkTexture* D_800E817C[];
|
||||
extern MkTexture* D_800E81E4[];
|
||||
extern MkTexture* D_800E822C[];
|
||||
extern MkTexture* D_800E8234[];
|
||||
extern MkTexture* D_800E824C[];
|
||||
extern MkTexture* D_800E8254[];
|
||||
extern MkTexture* D_800E8274[];
|
||||
extern MkTexture* D_800E8294[];
|
||||
extern MkTexture* D_800E82B4[];
|
||||
extern MkTexture* D_800E82C4[];
|
||||
extern MkTexture* D_800E82F4[];
|
||||
extern MkAnimation* D_800E8320[];
|
||||
extern MkAnimation* D_800E8340[];
|
||||
extern MkAnimation* D_800E8360[];
|
||||
extern MkAnimation* gCharacterCelebrateAnimation[];
|
||||
extern MkAnimation* D_800E83A0[];
|
||||
extern MkAnimation* gCharacterDeselectAnimation[];
|
||||
extern MkAnimation* gCharacterSingleBlinkAnimation[];
|
||||
extern MkAnimation* gCharacterDoubleBlinkAnimation[];
|
||||
extern MkAnimation* gCharacterDefeatAnimation[];
|
||||
extern s32 D_800E8440[];
|
||||
extern s32 D_800E8460[];
|
||||
extern s32 D_800E8480[];
|
||||
extern s32 D_800E84A0[];
|
||||
extern Vtx* D_800E84C0[];
|
||||
extern Gfx* D_800E84CC[];
|
||||
extern Gfx* D_800E84EC[];
|
||||
extern Gfx* D_800E850C[];
|
||||
extern s8 D_800E852C;
|
||||
extern f32 D_800E8530;
|
||||
extern f32 D_800E8534;
|
||||
extern Unk_D_800E70A0 D_800E8538[];
|
||||
extern Unk_D_800E70A0 D_800E8540[];
|
||||
extern Unk_D_800E70A0 D_800E85C0[];
|
||||
extern Unk_D_800E70A0 D_800E8600[];
|
||||
|
||||
extern s32 gControllerPak1NumPagesFree;
|
||||
extern s32 gControllerPak1FileNote;
|
||||
extern s32 gControllerPak2FileNote;
|
||||
|
||||
extern f32 D_8018ED98;
|
||||
extern f32 D_8018ED9C;
|
||||
extern f32 D_8018EDA0;
|
||||
|
||||
extern f32 D_8018EDA4;
|
||||
extern f32 D_8018EDA8;
|
||||
extern f32 D_8018EDAC;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
+1
-1
@@ -4,7 +4,7 @@
|
||||
|
||||
#include "code_800AF9B0.h"
|
||||
|
||||
#include "code_80091750.h"
|
||||
#include "menu_items.h"
|
||||
#include "memory.h"
|
||||
#include "main.h"
|
||||
#include "math_util.h"
|
||||
|
||||
+2547
-2547
File diff suppressed because it is too large
Load Diff
@@ -22,7 +22,7 @@
|
||||
#include <code_80086E70.h>
|
||||
#include <effects.h>
|
||||
#include <code_80091440.h>
|
||||
#include <code_80091750.h>
|
||||
#include <menu_items.h>
|
||||
#include <code_800AF9B0.h>
|
||||
#include <save.h>
|
||||
#include <code_80280000.h>
|
||||
|
||||
+1
-1
@@ -16,7 +16,7 @@
|
||||
#include "effects.h"
|
||||
#include "audio/external.h"
|
||||
#include "spawn_players.h"
|
||||
#include "code_80091750.h"
|
||||
#include "menu_items.h"
|
||||
#include "port/Game.h"
|
||||
|
||||
s32 D_8018D900[8];
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
#include "audio/external.h"
|
||||
#include <sounds.h>
|
||||
#include "podium_ceremony_actors.h"
|
||||
#include "code_80091750.h"
|
||||
#include "menu_items.h"
|
||||
#include "code_80057C60.h"
|
||||
#include "defines.h"
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
#include "code_80280000.h"
|
||||
#include "code_80281780.h"
|
||||
#include "skybox_and_splitscreen.h"
|
||||
#include "code_80091750.h"
|
||||
#include "menu_items.h"
|
||||
#include "code_8006E9C0.h"
|
||||
#include "code_800029B0.h"
|
||||
#include "ceremony_and_credits.h"
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
#include "collision.h"
|
||||
#include "code_80281C40.h"
|
||||
#include "code_800029B0.h"
|
||||
#include "code_80091750.h"
|
||||
#include "menu_items.h"
|
||||
#include "main.h"
|
||||
#include "menus.h"
|
||||
#include "render_courses.h"
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
#include "skybox_and_splitscreen.h"
|
||||
#include "render_objects.h"
|
||||
#include "code_80057C60.h"
|
||||
#include "code_80091750.h"
|
||||
#include "menu_items.h"
|
||||
#include "podium_ceremony_actors.h"
|
||||
#include "ceremony_and_credits.h"
|
||||
#include "podium_ceremony_actors.h"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#include "credits.h"
|
||||
#include "defines.h"
|
||||
|
||||
struct_802850C0_entry D_802850C0[] = {
|
||||
CreditsRenderInfo gTextCreditsRenderInfo[] = {
|
||||
{ 0.80f, -200, 38, 160, 30, SLIDE_RIGHT, TEXT_BLUE_GREEN_RED_CYCLE_1, 0 },
|
||||
{ 0.90f, 520, 200, 160, 200, SLIDE_LEFT, TEXT_BLUE, 0 },
|
||||
{ 0.80f, -200, 38, 160, 30, SLIDE_RIGHT, TEXT_BLUE_GREEN_RED_CYCLE_1, 0 },
|
||||
|
||||
@@ -19,9 +19,9 @@ typedef struct {
|
||||
/* 0x0C */ s8 slideDirection; // 0 for slide right, 1 for slide left. May have other uses/effects
|
||||
/* 0x0D */ s8 textColor;
|
||||
/* 0x0E */ s16 padding; // Always seems to be 0, never read (that I can see)
|
||||
} struct_802850C0_entry; // size = 0x10
|
||||
} CreditsRenderInfo; // size = 0x10
|
||||
|
||||
extern struct_802850C0_entry D_802850C0[]; // D_802850C0
|
||||
extern CreditsRenderInfo gTextCreditsRenderInfo[]; // gTextCreditsRenderInfo
|
||||
extern char* gCreditsText[];
|
||||
|
||||
#endif
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ extern "C" {
|
||||
#include "engine/Matrix.h"
|
||||
#include "render_objects.h"
|
||||
#include "code_80086E70.h"
|
||||
#include "code_80091750.h"
|
||||
#include "menu_items.h"
|
||||
}
|
||||
|
||||
OTrophy::OTrophy(const FVector& pos, TrophyType trophy, Behaviour bhv) {
|
||||
|
||||
+1
-1
@@ -16,7 +16,7 @@
|
||||
// #include <filesystem>
|
||||
// #include <functional>
|
||||
// #include <main.h>
|
||||
// #include <code_80091750.h>
|
||||
// #include <menu_items.h>
|
||||
// #include <common_data.h>
|
||||
// #include <data_segment2.h>
|
||||
// #include <render_objects.h>
|
||||
|
||||
+1
-1
@@ -31,7 +31,7 @@
|
||||
#include "code_800029B0.h"
|
||||
#include "code_80280000.h"
|
||||
#include "podium_ceremony_actors.h"
|
||||
#include "code_80091750.h"
|
||||
#include "menu_items.h"
|
||||
#include "code_80057C60.h"
|
||||
#include "profiler.h"
|
||||
#include "player_controller.h"
|
||||
|
||||
+3223
-3246
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,863 @@
|
||||
#ifndef CODE_80091750_H
|
||||
#define CODE_80091750_H
|
||||
|
||||
#include <common_structs.h>
|
||||
#include "textures.h"
|
||||
#include "main.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
extern u32 _course_mario_raceway_dl_mio0SegmentRomStart[];
|
||||
|
||||
/* File specific types */
|
||||
|
||||
/*
|
||||
Known `types` for `MenuItem`
|
||||
0x53: "Mushroom Cup" box on the cup selection screen
|
||||
0x54: "Flower Cup" box on the cup selection screen
|
||||
0x55: "Star Cup" box on the cup selection screen
|
||||
0x56: "Special Cup" box on the cup selection screen
|
||||
0x5E: A box of static over the course images as the cup selection screen loads in.
|
||||
It is near unnoticeable though as in practice it doesn't last long enough to be seen.
|
||||
Try locking the word at `8018DC80` to see something like 0x20 just before confirming character selection to make
|
||||
it last longer See `func_80096CD8` for the actual drawing of the static
|
||||
*/
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ s32 type; // id maybe?
|
||||
/* 0x04 */ s32 state; // sound mode, maybe some other stuff
|
||||
/* 0x08 */ s32 subState; // This is used but I can't tell what for
|
||||
/* 0x0C */ s32 column;
|
||||
/* 0x10 */ s32 row;
|
||||
/* 0x14 */ u8 priority; // priority/depth/z-level. Higher values are drawn on top of lower values
|
||||
// If equal, later entries in gMenuItems are on top
|
||||
/* 0x15 */ u8 visible; // active? If 1 its displayed, if 0 its not
|
||||
// These seem to be generic space available for use by the struct, no 1 purpose for any given member
|
||||
/* 0x16 */ s16 unk16; // Potentially unused
|
||||
/* 0x18 */ s32 D_8018DEE0_index; // Index in D_8018DEE0, an array of some other struct type
|
||||
/* 0x1C */ s32 param1; // Multi use. Sometimes cup selection, sometimes course index.
|
||||
/* 0x20 */ s32 param2; // Multi use, hard to tell what for though. Sometimes a random number, sometimes GP points
|
||||
/* 0x24 */ f32 paramf; // Multi use, x scaling for some things, rotation multiplier for the question box in some
|
||||
// menus, probably some other things
|
||||
} MenuItem; // size = 0x28
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ MkAnimation* textureSequence;
|
||||
/* 0x04 */ s32 sequenceIndex; // Index in textureSequence that the animation is currently on
|
||||
/* 0x08 */ s32 frameCountDown; // Frames left for the given animation part
|
||||
/* 0x0C */ u32 visible; // visbile if 0x80000000, otherwise invisbile AND paused
|
||||
/* 0x10 */ s32 menuTextureIndex; // Don't know what sMenuTextureMap tracks
|
||||
/* 0x14 */ s32 unk14; // Flip flops between 0 and 1, use unknown
|
||||
} struct_8018DEE0_entry; // size = 0x18
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ MenuTexture* texture;
|
||||
/* 0x4 */ s32 texNum;
|
||||
} struct_8018E060_entry; // size = 0x8
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ MenuTexture* mk64Texture;
|
||||
/* 0x4 */ s16 unk4;
|
||||
/* 0x6 */ s16 unk6;
|
||||
} struct_8018E0E8_entry; // size = 0x8
|
||||
|
||||
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 sMenuTextureList.
|
||||
* This value is (roughly) the sum of (width * height) of the
|
||||
* textures in all the previous entries in sMenuTextureMap
|
||||
*/
|
||||
/* 0x04 */ s32 offset;
|
||||
} TextureMap; // size = 0x08
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ MenuTexture* textures;
|
||||
/* 0x04 */ Gfx* displayList;
|
||||
} struct_8018E768_entry; // size = 0x08
|
||||
|
||||
struct UnkStruct_8018E7E8 {
|
||||
/* 0x0 */ s16 x;
|
||||
/* 0x2 */ s16 y;
|
||||
/* 0x4 */ s16 unk1;
|
||||
/* 0x6 */ s16 unk2;
|
||||
}; // size = 0x8
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ s16 column;
|
||||
/* 0x02 */ s16 row;
|
||||
/* 0x04 */ s16 pad0;
|
||||
/* 0x06 */ s16 pad1;
|
||||
} Unk_D_800E70A0; // size = 0x08
|
||||
|
||||
enum MENU_ITEM_PRIORITY {
|
||||
MENU_ITEM_PRIORITY_0,
|
||||
MENU_ITEM_PRIORITY_1,
|
||||
MENU_ITEM_PRIORITY_2,
|
||||
MENU_ITEM_PRIORITY_3,
|
||||
MENU_ITEM_PRIORITY_4,
|
||||
MENU_ITEM_PRIORITY_5,
|
||||
MENU_ITEM_PRIORITY_6,
|
||||
MENU_ITEM_PRIORITY_7,
|
||||
MENU_ITEM_PRIORITY_8,
|
||||
MENU_ITEM_PRIORITY_9,
|
||||
MENU_ITEM_PRIORITY_A,
|
||||
MENU_ITEM_PRIORITY_B,
|
||||
MENU_ITEM_PRIORITY_C,
|
||||
MENU_ITEM_PRIORITY_D,
|
||||
MENU_ITEM_PRIORITY_E,
|
||||
MENU_ITEM_PRIORITY_F,
|
||||
MENU_ITEM_PRIORITY_MAX // 0x10
|
||||
};
|
||||
|
||||
enum CenterText { LEFT_TEXT = 1, CENTER_TEXT_MODE_1, RIGHT_TEXT, CENTER_TEXT_MODE_2 };
|
||||
|
||||
enum MENU_ITEM_TYPE {
|
||||
MENU_ITEM_UI_NONE,
|
||||
MENU_ITEM_UI_START_BACKGROUND,
|
||||
MENU_ITEM_UI_LOGO_AND_COPYRIGHT,
|
||||
MENU_ITEM_UI_PUSH_START_BUTTON,
|
||||
MENU_ITEM_UI_NO_CONTROLLER,
|
||||
MENU_ITEM_UI_START_RECORD_TIME,
|
||||
MENU_ITEM_UI_GAME_SELECT = 0xA,
|
||||
MENU_ITEM_UI_1P_GAME,
|
||||
MENU_ITEM_UI_2P_GAME,
|
||||
MENU_ITEM_UI_3P_GAME,
|
||||
MENU_ITEM_UI_4P_GAME,
|
||||
MENU_ITEM_UI_OK,
|
||||
MAIN_MENU_OPTION_GFX,
|
||||
MAIN_MENU_DATA_GFX,
|
||||
MAIN_MENU_50CC,
|
||||
MAIN_MENU_100CC,
|
||||
MAIN_MENU_150CC,
|
||||
MAIN_MENU_EXTRA_CC,
|
||||
MENU_ITEM_TYPE_016,
|
||||
MENU_ITEM_TYPE_017,
|
||||
MAIN_MENU_TIME_TRIALS_BEGIN,
|
||||
MAIN_MENU_TIME_TRIALS_DATA,
|
||||
MENU_ITEM_TYPE_01B = 0x1B,
|
||||
MAIN_MENU_BACKGROUND = 0x23,
|
||||
CHARACTER_SELECT_BACKGROUND,
|
||||
COURSE_SELECT_BACKGROUND,
|
||||
CHARACTER_SELECT_MENU_PLAYER_SELECT_BANNER = 0x2A,
|
||||
CHARACTER_SELECT_MENU_MARIO,
|
||||
CHARACTER_SELECT_MENU_LUIGI,
|
||||
CHARACTER_SELECT_MENU_TOAD,
|
||||
CHARACTER_SELECT_MENU_PEACH,
|
||||
CHARACTER_SELECT_MENU_YOSHI,
|
||||
CHARACTER_SELECT_MENU_DK,
|
||||
CHARACTER_SELECT_MENU_WARIO,
|
||||
CHARACTER_SELECT_MENU_BOWSER,
|
||||
CHARACTER_SELECT_MENU_OK,
|
||||
CHARACTER_SELECT_MENU_1P_CURSOR,
|
||||
CHARACTER_SELECT_MENU_2P_CURSOR,
|
||||
CHARACTER_SELECT_MENU_3P_CURSOR,
|
||||
CHARACTER_SELECT_MENU_4P_CURSOR,
|
||||
MENU_ITEM_TYPE_043 = 0x43,
|
||||
MENU_ITEM_TYPE_044,
|
||||
MENU_ITEM_TYPE_045,
|
||||
MENU_ITEM_TYPE_046,
|
||||
MENU_ITEM_TYPE_047,
|
||||
MENU_ITEM_TYPE_048,
|
||||
MENU_ITEM_TYPE_049,
|
||||
MENU_ITEM_TYPE_050 = 0x50,
|
||||
COURSE_SELECT_MAP_SELECT = 0x52,
|
||||
COURSE_SELECT_MUSHROOM_CUP,
|
||||
COURSE_SELECT_FLOWER_CUP,
|
||||
COURSE_SELECT_STAR_CUP,
|
||||
COURSE_SELECT_SPECIAL_CUP,
|
||||
MENU_ITEM_TYPE_058 = 0x58,
|
||||
COURSE_SELECT_COURSE_NAMES,
|
||||
MENU_ITEM_TYPE_05A,
|
||||
MENU_ITEM_TYPE_05B,
|
||||
COURSE_SELECT_BATTLE_NAMES,
|
||||
COURSE_SELECT_OK,
|
||||
MENU_ITEM_TYPE_05E,
|
||||
MENU_ITEM_TYPE_05F,
|
||||
MENU_ITEM_TYPE_060,
|
||||
MENU_ITEM_TYPE_061,
|
||||
MENU_ITEM_TYPE_062,
|
||||
MENU_ITEM_TYPE_064 = 0x64,
|
||||
MENU_ITEM_TYPE_065,
|
||||
MENU_ITEM_TYPE_066,
|
||||
MENU_ITEM_TYPE_067,
|
||||
MENU_ITEM_TYPE_068,
|
||||
MENU_ITEM_TYPE_069,
|
||||
MENU_ITEM_TYPE_06E = 0x6E,
|
||||
MENU_ITEM_TYPE_078 = 0x78,
|
||||
MENU_ITEM_TYPE_079,
|
||||
MENU_ITEM_TYPE_07A,
|
||||
MENU_ITEM_TYPE_07B,
|
||||
MENU_ITEM_TYPE_07C,
|
||||
MENU_ITEM_TYPE_07D,
|
||||
MENU_ITEM_TYPE_07E,
|
||||
MENU_ITEM_TYPE_07F,
|
||||
MENU_ITEM_TYPE_080,
|
||||
MENU_ITEM_TYPE_081,
|
||||
MENU_ITEM_TYPE_082,
|
||||
MENU_ITEM_TYPE_083,
|
||||
MENU_ITEM_TYPE_084,
|
||||
MENU_ITEM_TYPE_085,
|
||||
MENU_ITEM_TYPE_086,
|
||||
MENU_ITEM_TYPE_087,
|
||||
MENU_ITEM_TYPE_088,
|
||||
MENU_ITEM_TYPE_089,
|
||||
MENU_ITEM_TYPE_08A,
|
||||
MENU_ITEM_TYPE_08B,
|
||||
MENU_ITEM_TYPE_08C,
|
||||
MENU_ITEM_TYPE_08D,
|
||||
MENU_ITEM_TYPE_096 = 0x96,
|
||||
MENU_ITEM_TYPE_097,
|
||||
MENU_ITEM_TYPE_098,
|
||||
MENU_ITEM_TYPE_0A0 = 0xA0,
|
||||
MENU_ITEM_TYPE_0A1,
|
||||
MENU_ITEM_TYPE_0AA = 0xAA,
|
||||
MENU_ITEM_TYPE_0AB,
|
||||
MENU_ITEM_TYPE_0AC,
|
||||
MENU_ITEM_TYPE_0AF = 0XAF,
|
||||
MENU_ITEM_TYPE_0B0,
|
||||
MENU_ITEM_TYPE_0B1,
|
||||
MENU_ITEM_TYPE_0B2,
|
||||
MENU_ITEM_TYPE_0B3,
|
||||
MENU_ITEM_TYPE_0B4,
|
||||
MENU_ITEM_TYPE_0B9 = 0xB9,
|
||||
MENU_ITEM_TYPE_0BA,
|
||||
MENU_ITEM_TYPE_0BB,
|
||||
MENU_ITEM_ANNOUNCE_GHOST,
|
||||
MENU_ITEM_END_COURSE_OPTION,
|
||||
MENU_ITEM_TYPE_0BE,
|
||||
MENU_ITEM_PAUSE = 0xC7,
|
||||
MENU_ITEM_TYPE_0D2 = 0xD2,
|
||||
MENU_ITEM_TYPE_0D3,
|
||||
MENU_ITEM_TYPE_0D4,
|
||||
MENU_ITEM_TYPE_0D5,
|
||||
MENU_ITEM_TYPE_0D6,
|
||||
MENU_ITEM_TYPE_0D7,
|
||||
MENU_ITEM_TYPE_0D8,
|
||||
MENU_ITEM_TYPE_0D9,
|
||||
MENU_ITEM_TYPE_0DA,
|
||||
MENU_ITEM_DATA_COURSE_IMAGE = 0xE6,
|
||||
MENU_ITEM_DATA_COURSE_INFO,
|
||||
MENU_ITEM_DATA_COURSE_SELECTABLE,
|
||||
MENU_ITEM_TYPE_0E9,
|
||||
MENU_ITEM_TYPE_0EA,
|
||||
MENU_ITEM_TYPE_0F0 = 0xF0,
|
||||
MENU_ITEM_TYPE_0F1,
|
||||
MENU_ITEM_UI_LOGO_INTRO = 0xFA,
|
||||
START_MENU_FLAG,
|
||||
MENU_ITEM_TYPE_10E = 0x10E,
|
||||
MENU_ITEM_TYPE_12B = 0X12B,
|
||||
MENU_ITEM_TYPE_12C,
|
||||
MENU_ITEM_TYPE_12D,
|
||||
MENU_ITEM_TYPE_12E,
|
||||
MENU_ITEM_TYPE_12F,
|
||||
MENU_ITEM_TYPE_130,
|
||||
MENU_ITEM_TYPE_190 = 0x190,
|
||||
MENU_ITEM_TYPE_191,
|
||||
MENU_ITEM_TYPE_192,
|
||||
MENU_ITEM_TYPE_193,
|
||||
MENU_ITEM_TYPE_194,
|
||||
MENU_ITEM_TYPE_195,
|
||||
MENU_ITEM_TYPE_196,
|
||||
MENU_ITEM_TYPE_197,
|
||||
MENU_ITEM_TYPE_198,
|
||||
MENU_ITEM_TYPE_199,
|
||||
MENU_ITEM_TYPE_19A,
|
||||
MENU_ITEM_TYPE_19B,
|
||||
MENU_ITEM_TYPE_19C,
|
||||
MENU_ITEM_TYPE_19D,
|
||||
MENU_ITEM_TYPE_19E,
|
||||
MENU_ITEM_TYPE_19F,
|
||||
MENU_ITEM_TYPE_1A0,
|
||||
MENU_ITEM_TYPE_1A1,
|
||||
MENU_ITEM_TYPE_1A2,
|
||||
MENU_ITEM_TYPE_1A3,
|
||||
MENU_ITEM_TYPE_1A4,
|
||||
MENU_ITEM_TYPE_1A5,
|
||||
MENU_ITEM_TYPE_1A6,
|
||||
MENU_ITEM_TYPE_1A7,
|
||||
MENU_ITEM_TYPE_1A8,
|
||||
MENU_ITEM_TYPE_1A9,
|
||||
MENU_ITEM_TYPE_1AA,
|
||||
MENU_ITEM_TYPE_1AB,
|
||||
MENU_ITEM_TYPE_1AC,
|
||||
MENU_ITEM_TYPE_1AD,
|
||||
MENU_ITEM_TYPE_1AE,
|
||||
MENU_ITEM_TYPE_1AF,
|
||||
MENU_ITEM_TYPE_1B0,
|
||||
MENU_ITEM_TYPE_1B1,
|
||||
MENU_ITEM_TYPE_1B2,
|
||||
MENU_ITEM_TYPE_1B3,
|
||||
MENU_ITEM_TYPE_1B4,
|
||||
MENU_ITEM_TYPE_1B5,
|
||||
MENU_ITEM_TYPE_1B6,
|
||||
MENU_ITEM_TYPE_1B7,
|
||||
MENU_ITEM_TYPE_1B8,
|
||||
MENU_ITEM_TYPE_1B9,
|
||||
MENU_ITEM_TYPE_1BA,
|
||||
MENU_ITEM_TYPE_1BB,
|
||||
MENU_ITEM_TYPE_1BC,
|
||||
MENU_ITEM_TYPE_1BD,
|
||||
MENU_ITEM_TYPE_1BE,
|
||||
MENU_ITEM_TYPE_1BF,
|
||||
MENU_ITEM_TYPE_1C0,
|
||||
MENU_ITEM_TYPE_1C1,
|
||||
MENU_ITEM_TYPE_1C2,
|
||||
MENU_ITEM_TYPE_1C3,
|
||||
MENU_ITEM_TYPE_1C4,
|
||||
MENU_ITEM_TYPE_1C5,
|
||||
MENU_ITEM_TYPE_1C6,
|
||||
MENU_ITEM_TYPE_1C7,
|
||||
MENU_ITEM_TYPE_1C8,
|
||||
MENU_ITEM_TYPE_1C9,
|
||||
MENU_ITEM_TYPE_1CA,
|
||||
MENU_ITEM_TYPE_1CB,
|
||||
MENU_ITEM_TYPE_1CC,
|
||||
MENU_ITEM_TYPE_1CD,
|
||||
MENU_ITEM_TYPE_1CE
|
||||
};
|
||||
|
||||
enum LoadImgCompType {
|
||||
LOAD_MENU_IMG_MIO0_ONCE = -1,
|
||||
LOAD_MENU_IMG_TKMK00_ONCE,
|
||||
// Force load image even if the data is loaded before
|
||||
LOAD_MENU_IMG_FORCE = LOAD_MENU_IMG_TKMK00_ONCE, // 0
|
||||
LOAD_MENU_IMG_MIO0_FORCE,
|
||||
LOAD_MENU_IMG_TKMK00_FORCE
|
||||
};
|
||||
|
||||
enum TEXT_MENU_ID { CONTINUE_GAME, RETRY, COURSE_CHANGE, DRIVER_CHANGE, QUIT_TEXT_MENU, REPLAY, SAVE_GHOST };
|
||||
|
||||
/* Function Prototypes */
|
||||
|
||||
f64 exponent_by_squaring(f64, s32);
|
||||
f64 func_800917B0(f64, f64);
|
||||
f64 func_8009186C(f64);
|
||||
f64 func_8009195C(f64);
|
||||
f64 func_80091A6C(f64, s32);
|
||||
f64 func_80091AC0(f64, s32*);
|
||||
void swap_values(s32*, s32*);
|
||||
s32 func_80091D74(void);
|
||||
void func_80091EE4(void);
|
||||
void func_80091FA4(void);
|
||||
void func_80092148(void);
|
||||
void func_800921B4(void);
|
||||
void text_rainbow_effect(s32, s32, s32);
|
||||
void set_text_color_rainbow_if_selected(s32, s32, s32);
|
||||
void func_80092258(void);
|
||||
void func_80092290(s32, s32*, s32*);
|
||||
void func_80092500(void);
|
||||
void func_80092564(void);
|
||||
void func_800925A0(void);
|
||||
void func_800925CC(void);
|
||||
void func_80092604(void);
|
||||
void func_80092630(void);
|
||||
void func_8009265C(void);
|
||||
void func_80092688(void);
|
||||
void func_80092C80(void);
|
||||
s32 char_to_glyph_index(char*);
|
||||
s32 func_80092DF8(char*);
|
||||
s32 func_80092E1C(char*);
|
||||
s32 func_80092EE4(char*);
|
||||
s32 get_string_width(char*);
|
||||
void set_text_color(s32);
|
||||
void func_800930E4(s32, s32, char*);
|
||||
void print_text0(s32, s32, char*, s32, f32, f32, s32);
|
||||
void print_text_mode_1(s32, s32, char*, s32, f32, f32);
|
||||
void print_text_mode_2(s32, s32, char*, s32, f32, f32);
|
||||
void print_text1(s32, s32, char*, s32, f32, f32, s32);
|
||||
void print_text1_left(s32, s32, char*, s32, f32, f32);
|
||||
void print_text1_center_mode_1(s32, s32, char*, s32, f32, f32);
|
||||
void print_text1_right(s32, s32, char*, s32, f32, f32);
|
||||
void print_text1_center_mode_2(s32, s32, char*, s32, f32, f32);
|
||||
void print_text2(s32, s32, char*, s32, f32, f32, s32);
|
||||
void func_800939C8(s32, s32, char*, s32, f32, f32);
|
||||
void text_draw(s32, s32, char*, s32, f32, f32);
|
||||
void func_80093A30(s32);
|
||||
void func_80093A5C(u32);
|
||||
void func_80093B70(u32);
|
||||
void func_80093C1C(s32);
|
||||
void func_80093C88(void);
|
||||
void func_80093C90(void);
|
||||
void func_80093C98(s32);
|
||||
void func_80093E20(void);
|
||||
void func_80093E40(void);
|
||||
void func_80093E60(void);
|
||||
void func_80093F10(void);
|
||||
void func_800940EC(s32);
|
||||
void func_800942D0(void);
|
||||
void func_80094660(struct GfxPool*, s32);
|
||||
void render_checkered_flag(struct GfxPool*, s32);
|
||||
void func_80094A64(struct GfxPool*);
|
||||
void setup_menus(void);
|
||||
void func_80095574(void);
|
||||
Gfx* draw_flash_select_case(Gfx*, s32, s32, s32, s32, s32);
|
||||
Gfx* draw_flash_select_case_slow(Gfx*, s32, s32, s32, s32);
|
||||
Gfx* draw_flash_select_case_fast(Gfx*, s32, s32, s32, s32);
|
||||
Gfx* func_800959F8(Gfx*, Vtx*);
|
||||
Gfx* func_80095BD0(Gfx*, u8*, f32, f32, u32, u32, f32, f32);
|
||||
Gfx* func_80095E10(Gfx*, s8, s32, s32, s32, s32, s32, s32, s32, s32, u8*, u32, u32);
|
||||
Gfx* func_800963F0(Gfx*, s8, s32, s32, f32, f32, s32, s32, s32, s32, s32, s32, u8*, u32, u32);
|
||||
Gfx* func_80096CD8(Gfx*, s32, s32, u32, u32);
|
||||
Gfx* func_80097274(Gfx* displayListHead, s8 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8,
|
||||
s32 arg9, u16* argA, u32 argB, u32 argC, s32 argD);
|
||||
Gfx* func_80097A14(Gfx*, s8, s32, s32, s32, s32, s32, s32, u8*, u32, u32);
|
||||
Gfx* func_80097AE4(Gfx*, s8, s32, s32, u8*, s32);
|
||||
Gfx* func_80097E58(Gfx* displayListHead, s8 fmt, u32 arg2, u32 arg3, u32 arg4, u32 arg5, s32 arg6, s32 arg7,
|
||||
u8* someTexture, u32 arg9, u32 argA, s32 width);
|
||||
Gfx* func_80098558(Gfx*, u32, u32, u32, u32, u32, u32, s32, s32);
|
||||
Gfx* func_800987D0(Gfx*, u32, u32, u32, u32, s32, s32, u8*, u32, s32);
|
||||
Gfx* draw_box_fill(Gfx*, s32, s32, s32, s32, s32, s32, s32, s32);
|
||||
Gfx* draw_box(Gfx*, s32, s32, s32, s32, u32, u32, u32, u32);
|
||||
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 clear_menu_textures(void);
|
||||
void load_menu_img(MenuTexture*);
|
||||
void* segmented_to_virtual_dupe(const void*);
|
||||
void* segmented_to_virtual_dupe_2(const void*);
|
||||
void load_menu_img_mio0_forced(MenuTexture*);
|
||||
void load_menu_img_comp_type(MenuTexture*, s32);
|
||||
void func_80099958(MenuTexture*, s32, s32);
|
||||
void func_80099E54(void);
|
||||
void func_80099E60(MenuTexture*, s32, s32);
|
||||
void func_80099EC4(void);
|
||||
void func_80099A70(void);
|
||||
void func_80099A94(MenuTexture*, s32);
|
||||
void func_80099AEC(void);
|
||||
void func_8009A238(MenuTexture*, s32);
|
||||
void func_8009A2F0(struct_8018E0E8_entry*);
|
||||
void func_8009A344(void);
|
||||
s32 animate_character_select_menu(MkAnimation*);
|
||||
s32 func_8009A478(MkAnimation*, s32);
|
||||
void func_8009A594(s32, s32, MkAnimation*);
|
||||
void func_8009A640(s32, s32, s32, MkAnimation*);
|
||||
void func_8009A6D4(void);
|
||||
void func_8009A76C(s32, s32, s32, s32);
|
||||
void func_8009A7EC(s32, s32, s32, s32, s32);
|
||||
MenuTexture* func_8009A878(struct_8018DEE0_entry*);
|
||||
MenuTexture* func_8009A944(struct_8018DEE0_entry*, s32);
|
||||
void func_8009A9FC(s32, s32, u32, s32);
|
||||
void func_8009AB7C(s32);
|
||||
void func_8009AD78(s32, s32);
|
||||
void convert_img_to_greyscale(s32, u32);
|
||||
void adjust_img_colour(s32, s32, s32, s32, s32);
|
||||
u16* func_8009B8C4(u64*);
|
||||
void func_8009B938(void);
|
||||
void func_8009B954(MenuTexture*);
|
||||
void func_8009B998(void);
|
||||
Gfx* func_8009B9D0(Gfx*, MenuTexture*);
|
||||
Gfx* render_menu_textures(Gfx*, MenuTexture*, s32, s32);
|
||||
Gfx* func_8009BC9C(Gfx*, MenuTexture*, s32, s32, s32, s32);
|
||||
Gfx* print_letter(Gfx*, MenuTexture*, f32, f32, s32, f32, f32);
|
||||
Gfx* func_8009C204(Gfx*, MenuTexture*, s32, s32, s32);
|
||||
Gfx* func_8009C434(Gfx*, struct_8018DEE0_entry*, s32, s32, s32);
|
||||
Gfx* func_8009C708(Gfx*, struct_8018DEE0_entry*, s32, s32, s32, s32);
|
||||
void func_8009C918(void);
|
||||
void func_8009CA2C(void);
|
||||
void func_8009CA6C(s32);
|
||||
void func_8009CBE4(s32, s32, s32);
|
||||
void func_8009CDDC(s32, s32);
|
||||
void func_8009CDFC(s32, s32);
|
||||
void func_8009CE1C(void);
|
||||
void func_8009CE64(s32);
|
||||
void func_8009D77C(s32, s32, s32);
|
||||
void func_8009D958(s32, s32);
|
||||
void func_8009D978(s32, s32);
|
||||
void func_8009D998(s32);
|
||||
void func_8009DAA8(void);
|
||||
void func_8009DB8C(void);
|
||||
void func_8009DEF8(u32, u32);
|
||||
void func_8009DF4C(s32);
|
||||
void func_8009DF6C(s32);
|
||||
void func_8009DF8C(u32, u32);
|
||||
void func_8009DFE0(s32);
|
||||
void func_8009E000(s32);
|
||||
void func_8009E020(s32, s32);
|
||||
void func_8009E088(s32, s32);
|
||||
void func_8009E0F0(s32);
|
||||
void func_8009E1C0(void);
|
||||
void func_8009E1E4(void);
|
||||
void func_8009E208(void);
|
||||
void func_8009E230(void);
|
||||
void func_8009E258(void);
|
||||
void func_8009E280(void);
|
||||
void func_8009E2A8(s32);
|
||||
void func_8009E2F0(s32);
|
||||
void func_8009E5BC(void);
|
||||
void func_8009E5FC(s32);
|
||||
void clear_menus(void);
|
||||
void add_menu_item(s32, s32, s32, s8);
|
||||
void render_menus(MenuItem*);
|
||||
void func_800A08D8(u8, s32, s32);
|
||||
s32 func_800A095C(char*, s32, s32, s32);
|
||||
void func_800A09E0(MenuItem*);
|
||||
void func_800A0AD0(MenuItem*);
|
||||
void func_800A0B80(MenuItem*);
|
||||
void func_800A0DFC(void);
|
||||
void func_800A0EB8(MenuItem*, s32);
|
||||
void func_800A0FA4(MenuItem*, s32);
|
||||
void func_800A10CC(MenuItem*);
|
||||
void render_cursor_player(MenuItem*, s32, s32);
|
||||
void func_800A12BC(MenuItem*, MenuTexture*);
|
||||
void func_800A1350(MenuItem*);
|
||||
void func_800A143C(MenuItem*, s32);
|
||||
void func_800A1500(MenuItem*);
|
||||
void func_800A15EC(MenuItem*);
|
||||
void func_800A1780(MenuItem*);
|
||||
void render_menu_item_data_course_image(MenuItem*);
|
||||
void render_menu_item_data_course_info(MenuItem*);
|
||||
void menu_item_data_course_selectable(MenuItem*);
|
||||
void func_800A1DE0(MenuItem*);
|
||||
void func_800A1F30(MenuItem*);
|
||||
void func_800A1FB0(MenuItem*);
|
||||
void func_800A2D1C(MenuItem*);
|
||||
void func_800A2EB8(MenuItem*);
|
||||
void func_800A32B4(s32, s32, s32, s32);
|
||||
void func_800A34A8(MenuItem*);
|
||||
void func_800A3A10(s8*);
|
||||
void func_800A3ADC(MenuItem*, s32, s32, s32, s32, s8*);
|
||||
void time_trials_finish_text_render(MenuItem*);
|
||||
void func_800A3E60(MenuItem*);
|
||||
void render_lap_time(s32, s32, s32);
|
||||
void render_lap_times(s32, s32, s32);
|
||||
void render_menu_item_announce_ghost(MenuItem*);
|
||||
void render_pause_menu(MenuItem*);
|
||||
void render_pause_menu_time_trials(MenuItem*);
|
||||
void render_pause_menu_versus(MenuItem*);
|
||||
void render_pause_grand_prix(MenuItem*);
|
||||
void render_pause_battle(MenuItem*);
|
||||
void func_800A54EC(void);
|
||||
void render_menu_item_end_course_option(MenuItem*);
|
||||
void func_800A6034(MenuItem*);
|
||||
void func_800A6154(MenuItem*);
|
||||
void func_800A638C(MenuItem*);
|
||||
void func_800A66A8(MenuItem*, Unk_D_800E70A0*);
|
||||
void func_800A69C8(MenuItem*);
|
||||
void func_800A6BEC(MenuItem*);
|
||||
void func_800A6CC0(MenuItem*);
|
||||
void func_800A6D94(s32, s32, u8*);
|
||||
void func_800A6E94(s32, s32, u8*);
|
||||
void func_800A70E8(MenuItem*);
|
||||
void func_800A7258(MenuItem*);
|
||||
void func_800A72FC(MenuItem*);
|
||||
void func_800A7448(MenuItem*);
|
||||
void func_800A75A0(MenuItem*);
|
||||
void func_800A761C(MenuItem*);
|
||||
void menu_item_credits_render(MenuItem*);
|
||||
void convert_number_to_ascii(s32, char*);
|
||||
void write_dashes(char*);
|
||||
void get_time_record_minutes(s32, char*);
|
||||
void get_time_record_seconds(s32, char*);
|
||||
void get_time_record_centiseconds(s32, char*);
|
||||
void func_800A79F4(s32, char*);
|
||||
void handle_menus_with_pri_arg(s32);
|
||||
void handle_menus_default(void);
|
||||
void handle_menus_special(void);
|
||||
void func_800A8270(s32, MenuItem*);
|
||||
void func_800A8564(MenuItem*);
|
||||
void func_800A86E8(MenuItem*);
|
||||
void func_800A874C(MenuItem*);
|
||||
void func_800A890C(s32, MenuItem*);
|
||||
void func_800A8A98(MenuItem*);
|
||||
void func_800A8CA4(MenuItem*);
|
||||
void render_battle_introduction(MenuItem*);
|
||||
void func_800A8EC0(MenuItem*);
|
||||
void func_800A8F48(MenuItem*);
|
||||
void func_800A90D4(s32, MenuItem*);
|
||||
void func_800A91D8(MenuItem*, s32, s32);
|
||||
void func_800A9208(MenuItem*, s32);
|
||||
void func_800A9278(MenuItem*, s32);
|
||||
void func_800A92E8(MenuItem*, s32);
|
||||
void func_800A939C(MenuItem*, s32);
|
||||
void func_800A940C(MenuItem*, s32);
|
||||
void func_800A94C8(MenuItem*, s32, s32);
|
||||
void func_800A954C(MenuItem*);
|
||||
void func_800A9710(MenuItem*);
|
||||
void func_800A97BC(MenuItem*);
|
||||
void update_ok_menu_item(MenuItem*);
|
||||
void func_800A9B9C(MenuItem*);
|
||||
void func_800A9C40(MenuItem*);
|
||||
void func_800A9D5C(MenuItem*);
|
||||
void func_800A9E58(MenuItem*);
|
||||
void func_800AA280(MenuItem*);
|
||||
void func_800AA2EC(MenuItem*);
|
||||
void func_800AA5C8(MenuItem*, s8);
|
||||
void func_800AA69C(MenuItem*);
|
||||
void func_800AAA9C(MenuItem*);
|
||||
void func_800AAB90(MenuItem*);
|
||||
void func_800AAC18(MenuItem*);
|
||||
void update_cursor(MenuItem*);
|
||||
void func_800AAE18(MenuItem*);
|
||||
MenuItem* get_menu_item_player_count(void);
|
||||
MenuItem* get_menu_item_character(s32);
|
||||
MenuItem* find_menu_items_dupe(s32);
|
||||
MenuItem* find_menu_items(s32);
|
||||
s32 get_character_menu_state(s32);
|
||||
void hover_cursor_over_character_portrait(MenuItem*, s32);
|
||||
s32 func_800AAFCC(s32);
|
||||
void func_800AB020(MenuItem*);
|
||||
void func_800AB098(MenuItem*);
|
||||
void func_800AB164(MenuItem*);
|
||||
void func_800AB260(MenuItem*);
|
||||
void func_800AB290(MenuItem*);
|
||||
void func_800AB314(MenuItem*);
|
||||
void func_800AB904(MenuItem*);
|
||||
void func_800AB9B0(MenuItem*);
|
||||
void func_800ABAE8(MenuItem*);
|
||||
void func_800ABB24(MenuItem*);
|
||||
void func_800ABBCC(MenuItem*);
|
||||
void func_800ABC38(MenuItem*);
|
||||
void func_800ABCF4(MenuItem*);
|
||||
void func_800ABEAC(MenuItem*);
|
||||
void func_800ABF68(MenuItem*);
|
||||
void func_800AC128(MenuItem*);
|
||||
void func_800AC300(MenuItem*);
|
||||
void func_800AC324(MenuItem*);
|
||||
void func_800AC458(MenuItem*);
|
||||
void func_800AC978(MenuItem*);
|
||||
void func_800ACA14(MenuItem*);
|
||||
void func_800ACC50(MenuItem*);
|
||||
void func_800ACF40(MenuItem*);
|
||||
void func_800AD1A4(MenuItem*);
|
||||
void func_800AD2E8(MenuItem*);
|
||||
void func_800ADF48(MenuItem*);
|
||||
void func_800AE218(MenuItem*);
|
||||
void func_800AEC54(MenuItem*);
|
||||
void func_800AEDBC(MenuItem*);
|
||||
void func_800AEE90(MenuItem*);
|
||||
void func_800AEEBC(MenuItem*);
|
||||
void func_800AEEE8(MenuItem*);
|
||||
void func_800AEF14(MenuItem*);
|
||||
void func_800AEF74(MenuItem*);
|
||||
void func_800AF004(MenuItem*);
|
||||
void func_800AF1AC(MenuItem*);
|
||||
void func_800AF270(MenuItem*);
|
||||
void func_800AF480(MenuItem*);
|
||||
void func_800AF4DC(MenuItem*);
|
||||
void func_800AF740(MenuItem*);
|
||||
|
||||
// This really, really shouldn't be in this header file, but I don't know where else to put it
|
||||
void rmonPrintf(const char*, ...);
|
||||
void tkmk00decode(u8*, u8*, u8*, s32);
|
||||
|
||||
/* File specific defines */
|
||||
|
||||
#define MENU_ITEMS_MAX 0x20
|
||||
#define D_8018DEE0_SIZE 0x10
|
||||
#define D_8018E060_SIZE 0x10
|
||||
#define D_8018E0E8_SIZE 0x05
|
||||
#define TEXTURE_MAP_MAX 0xC8
|
||||
#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[];
|
||||
|
||||
/**
|
||||
* 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;
|
||||
extern void* gSomeDLBuffer;
|
||||
extern s8 gGPPointsByCharacterId[8];
|
||||
extern s8 gCharacterIdByGPOverallRank[];
|
||||
extern s8 D_8018D9D8;
|
||||
extern s8 D_8018D9D9;
|
||||
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 sMenuTextureListIndex; // Old name: sMenuTextureBufferIndex, index into sMenuTextureList
|
||||
extern TextureMap sMenuTextureMap[TEXTURE_MAP_MAX];
|
||||
extern s32 sMenuTextureEntries;
|
||||
extern Gfx* sGfxPtr;
|
||||
extern s32 gNumD_8018E768Entries;
|
||||
extern struct_8018E768_entry D_8018E768[D_8018E768_SIZE];
|
||||
extern s32 gCycleFlashMenu;
|
||||
extern s8 D_8018E7AC[];
|
||||
extern u32 D_8018E7B8[];
|
||||
extern u32 D_8018E7D0[];
|
||||
extern struct UnkStruct_8018E7E8 D_8018E7E8[D_8018E7E8_SIZE];
|
||||
extern struct UnkStruct_8018E7E8 D_8018E810[D_8018E810_SIZE];
|
||||
extern s8 gTextColor;
|
||||
extern u8 D_8018ED90;
|
||||
extern u8 D_8018ED91;
|
||||
extern s8 D_8018E838[];
|
||||
extern s32 D_8018E840[];
|
||||
extern s32 D_8018E850[];
|
||||
extern s32 D_8018E854;
|
||||
extern s32 D_8018E858[];
|
||||
extern s32 D_8018E85C;
|
||||
|
||||
// extern u8 _textures_0aSegmentRomStart[];
|
||||
// extern u8 _textures_0bSegmentRomStart[];
|
||||
|
||||
extern Unk_D_800E70A0 D_800E70A0[];
|
||||
extern Unk_D_800E70A0 D_800E70E8[];
|
||||
extern Unk_D_800E70A0 D_800E7108[][4];
|
||||
extern Unk_D_800E70A0 D_800E7148[];
|
||||
extern Unk_D_800E70A0 D_800E7168[];
|
||||
extern Unk_D_800E70A0 D_800E7188[];
|
||||
extern Unk_D_800E70A0 D_800E7208[][2];
|
||||
extern Unk_D_800E70A0 D_800E7248[];
|
||||
extern Unk_D_800E70A0 D_800E7258[];
|
||||
extern Unk_D_800E70A0 D_800E7268[];
|
||||
extern Unk_D_800E70A0 D_800E7278[];
|
||||
extern Unk_D_800E70A0 D_800E72F8;
|
||||
extern Unk_D_800E70A0 D_800E7300[];
|
||||
extern Unk_D_800E70A0 D_800E7360[];
|
||||
extern Unk_D_800E70A0 D_800E7380[];
|
||||
extern Unk_D_800E70A0 D_800E7390[];
|
||||
extern Unk_D_800E70A0 D_800E73C0[];
|
||||
extern Unk_D_800E70A0 D_800E73D0[];
|
||||
extern Unk_D_800E70A0 D_800E73E0[];
|
||||
extern Unk_D_800E70A0 D_800E7410[];
|
||||
extern Unk_D_800E70A0 D_800E7420[];
|
||||
extern Unk_D_800E70A0 D_800E7430[];
|
||||
extern Unk_D_800E70A0 D_800E7458[];
|
||||
extern Unk_D_800E70A0 D_800E7480[];
|
||||
extern RGBA16 D_800E74A8[];
|
||||
extern RGBA16 D_800E74D0[];
|
||||
extern RGBA16 D_800E74E8[];
|
||||
extern const s16 gGlyphDisplayWidth[];
|
||||
extern char* gCupNames[];
|
||||
extern const s8 D_800EFD64[];
|
||||
extern char* gCupText[];
|
||||
extern char* gDebugCharacterNames[];
|
||||
extern char* D_800E76A8[];
|
||||
extern char* D_800E76CC[];
|
||||
extern char* D_800E76DC[];
|
||||
extern char* gDebugScreenModeNames[];
|
||||
extern char* gDebugSoundModeNames[];
|
||||
extern char* gSoundModeNames[]; // D_800E7710
|
||||
extern char* gWinLoseText[];
|
||||
extern char* gBestTimeText[];
|
||||
extern char* gLapTimeText;
|
||||
extern char* gPrefixTimeText[];
|
||||
extern char* D_800E7744[];
|
||||
extern char* gTextPauseButton[];
|
||||
extern char* D_800E7778[];
|
||||
extern char gTextMenuAnnounceGhost[];
|
||||
extern char* gTextNoController[];
|
||||
extern char* gTextBattleIntroduction[];
|
||||
extern char gTextMenuData[];
|
||||
extern char gTextDistance[];
|
||||
extern char* gTextMenuOption[];
|
||||
extern char* D_800E7840[];
|
||||
extern char* gEraseBestGhostText[];
|
||||
extern char* D_800E7860[];
|
||||
extern char* gTextOptionMenu[];
|
||||
extern char* D_800E7878[];
|
||||
extern char* D_800E7884[];
|
||||
extern char* D_800E7890[];
|
||||
extern char* D_800E78D0[];
|
||||
extern char* D_800E7900[];
|
||||
extern char* D_800E7918[];
|
||||
extern char* D_800E7920[];
|
||||
extern char* D_800E7928[];
|
||||
extern char* D_800E7930[];
|
||||
extern char* D_800E7938[];
|
||||
extern char* D_800E7940[];
|
||||
extern char* D_800E7980[];
|
||||
extern char* D_800E798C[];
|
||||
extern char* D_800E7A34[];
|
||||
extern char* D_800E7A3C[];
|
||||
extern char* D_800E7A44;
|
||||
extern char* D_800E7A48[];
|
||||
extern char* D_800E7A54[];
|
||||
extern char* D_800E7A60[];
|
||||
extern char* D_800E7A6C[];
|
||||
extern char* D_800E7A74[];
|
||||
extern char* D_800E7A80[];
|
||||
extern char* D_800E7A88[];
|
||||
extern char* D_800E7A98;
|
||||
extern char* D_800E7A9C[];
|
||||
extern char* gPlaceText[];
|
||||
extern const s8 gGPPointRewards[];
|
||||
extern const s8 D_800F0B1C[];
|
||||
extern const s8 D_800F0B28[];
|
||||
extern const s8 D_800F0B50[];
|
||||
extern const s8 D_800F0B54[];
|
||||
extern RGBA16 D_800E7AC8[];
|
||||
extern RGBA16 D_800E7AE8[];
|
||||
extern MenuTexture* D_800E7AF8[];
|
||||
extern MenuTexture* D_800E7D0C[];
|
||||
extern MkAnimation* D_800E7D34[];
|
||||
extern MenuTexture* gMenuTexturesBackground[];
|
||||
extern MenuTexture* D_800E7D54[];
|
||||
extern MenuTexture* D_800E7D74[];
|
||||
extern MenuTexture* D_800E7DC4[];
|
||||
extern MkAnimation* D_800E7E14[];
|
||||
extern MkAnimation* D_800E7E20[];
|
||||
extern MkAnimation* D_800E7E34[];
|
||||
extern MenuTexture* gGlyphTextureLUT[];
|
||||
extern MenuTexture* D_800E7FF0[];
|
||||
extern MenuTexture* D_800E80A0[];
|
||||
extern MenuTexture* D_800E8114[];
|
||||
extern MenuTexture* D_800E8174[];
|
||||
extern MenuTexture* D_800E817C[];
|
||||
extern MenuTexture* D_800E81E4[];
|
||||
extern MenuTexture* D_800E822C[];
|
||||
extern MenuTexture* D_800E8234[];
|
||||
extern MenuTexture* D_800E8254[];
|
||||
extern MenuTexture* D_800E8274[];
|
||||
extern MenuTexture* D_800E8294[];
|
||||
extern MenuTexture* gMenuTexturesBorderPlayer[];
|
||||
extern MenuTexture* gMenuTexturesTrackSelection[];
|
||||
extern MenuTexture* D_800E82F4[];
|
||||
extern MkAnimation* D_800E8320[];
|
||||
extern MkAnimation* D_800E8340[];
|
||||
extern MkAnimation* D_800E8360[];
|
||||
extern MkAnimation* gCharacterCelebrateAnimation[];
|
||||
extern MkAnimation* D_800E83A0[];
|
||||
extern MkAnimation* gCharacterDeselectAnimation[];
|
||||
extern MkAnimation* gCharacterSingleBlinkAnimation[];
|
||||
extern MkAnimation* gCharacterDoubleBlinkAnimation[];
|
||||
extern MkAnimation* gCharacterDefeatAnimation[];
|
||||
extern s32 D_800E8440[];
|
||||
extern s32 D_800E8460[];
|
||||
extern s32 D_800E8480[];
|
||||
extern s32 D_800E84A0[];
|
||||
extern Vtx* D_800E84C0[];
|
||||
extern Gfx* D_800E84CC[];
|
||||
extern Gfx* D_800E84EC[];
|
||||
extern Gfx* D_800E850C[];
|
||||
extern s8 D_800E852C;
|
||||
extern f32 sIntroModelMotionSpeed;
|
||||
extern f32 sIntroModelSpeed;
|
||||
extern Unk_D_800E70A0 D_800E8538[];
|
||||
extern Unk_D_800E70A0 D_800E8540[];
|
||||
extern Unk_D_800E70A0 D_800E85C0[];
|
||||
extern Unk_D_800E70A0 D_800E8600[];
|
||||
|
||||
extern s32 gControllerPak1NumPagesFree;
|
||||
extern s32 gControllerPak1FileNote;
|
||||
extern s32 gControllerPak2FileNote;
|
||||
|
||||
extern f32 D_8018ED98;
|
||||
extern f32 D_8018ED9C;
|
||||
extern f32 D_8018EDA0;
|
||||
|
||||
extern f32 D_8018EDA4;
|
||||
extern f32 D_8018EDA8;
|
||||
extern f32 D_8018EDAC;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
+641
-603
File diff suppressed because it is too large
Load Diff
+220
-42
@@ -4,7 +4,7 @@
|
||||
#include <common_structs.h>
|
||||
#include <defines.h>
|
||||
|
||||
// D_8018EDEC is position on options screen?
|
||||
// gSubMenuSelection is position on options screen?
|
||||
enum MenuOptionsCursorPositions { MENU_OPTIONS_CSRPOS_SOUNDMODE = 0x16 };
|
||||
|
||||
// needs to be a union (or array...?) to go into rodata as a const
|
||||
@@ -14,6 +14,185 @@ union GameModePack {
|
||||
s32 word;
|
||||
};
|
||||
|
||||
/**
|
||||
* @brief Options for gMenuFadeType
|
||||
*/
|
||||
enum MenuFadeTypes {
|
||||
MENU_FADE_TYPE_MAIN,
|
||||
MENU_FADE_TYPE_BACK,
|
||||
MENU_FADE_TYPE_DEMO,
|
||||
MENU_FADE_TYPE_DATA,
|
||||
MENU_FADE_TYPE_OPTION,
|
||||
MENU_FADE_TYPE_MAX
|
||||
};
|
||||
|
||||
/**
|
||||
* @brief Options for gSubMenuSelection
|
||||
*/
|
||||
enum SubMenuSelectionType {
|
||||
SUB_MENU_NONE,
|
||||
SUB_MENU_DATA, // 0x01, value repurposed in map select
|
||||
SUB_MENU_MAP_SELECT_CUP = 0x01,
|
||||
SUB_MENU_MAP_SELECT_COURSE,
|
||||
SUB_MENU_MAP_SELECT_OK,
|
||||
SUB_MENU_MAP_SELECT_BATTLE_COURSE,
|
||||
SUB_MENU_DATA_OPTIONS = 0x0B,
|
||||
SUB_MENU_DATA_ERASE_CONFIRM,
|
||||
SUB_MENU_DATA_CANT_ERASE,
|
||||
SUB_MENU_OPTION_MIN = 0x15,
|
||||
SUB_MENU_OPTION_RETURN_GAME_SELECT = SUB_MENU_OPTION_MIN,
|
||||
SUB_MENU_OPTION_SOUND_MODE,
|
||||
SUB_MENU_OPTION_COPY_CONTROLLER_PAK,
|
||||
SUB_MENU_OPTION_ERASE_ALL_DATA,
|
||||
SUB_MENU_OPTION_MAX = SUB_MENU_OPTION_ERASE_ALL_DATA, // 0x18
|
||||
SUB_MENU_ERASE_MIN = 0x1E,
|
||||
SUB_MENU_ERASE_QUIT = SUB_MENU_ERASE_MIN,
|
||||
SUB_MENU_ERASE_ERASE,
|
||||
SUB_MENU_ERASE_MAX = SUB_MENU_ERASE_ERASE, // 0x1F
|
||||
SUB_MENU_SAVE_DATA_ERASED, // 0x20
|
||||
SUB_MENU_COPY_PAK_FROM_GHOST_MIN = 0x28,
|
||||
SUB_MENU_COPY_PAK_FROM_GHOST1_1P = SUB_MENU_COPY_PAK_FROM_GHOST_MIN,
|
||||
SUB_MENU_COPY_PAK_FROM_GHOST2_1P,
|
||||
SUB_MENU_COPY_PAK_FROM_GHOST_MAX = SUB_MENU_COPY_PAK_FROM_GHOST2_1P, // 0x29
|
||||
SUB_MENU_COPY_PAK_ERROR_2P_MIN, // 0x2A
|
||||
SUB_MENU_COPY_PAK_ERROR_NO_GHOST_DATA = SUB_MENU_COPY_PAK_ERROR_2P_MIN,
|
||||
SUB_MENU_COPY_PAK_ERROR_NO_GAME_DATA,
|
||||
SUB_MENU_COPY_PAK_ERROR_NO_PAK_2P,
|
||||
SUB_MENU_COPY_PAK_ERROR_BAD_READ_2P,
|
||||
SUB_MENU_COPY_PAK_ERROR_2P_MAX = SUB_MENU_COPY_PAK_ERROR_BAD_READ_2P, // 0x2D
|
||||
SUB_MENU_COPY_PAK_TO_GHOST_MIN = 0x32,
|
||||
SUB_MENU_COPY_PAK_TO_GHOST1_2P = SUB_MENU_COPY_PAK_TO_GHOST_MIN,
|
||||
SUB_MENU_COPY_PAK_TO_GHOST2_2P,
|
||||
SUB_MENU_COPY_PAK_TO_GHOST_MAX = SUB_MENU_COPY_PAK_TO_GHOST2_2P, // 0x33
|
||||
SUB_MENU_COPY_PAK_ERROR_1P_MIN,
|
||||
SUB_MENU_COPY_PAK_ERROR_NO_PAK_1P = SUB_MENU_COPY_PAK_ERROR_1P_MIN, // 0x34
|
||||
SUB_MENU_COPY_PAK_ERROR_BAD_READ_1P,
|
||||
SUB_MENU_COPY_PAK_ERROR_CANT_CREATE_1P,
|
||||
SUB_MENU_COPY_PAK_ERROR_NO_PAGES_1P,
|
||||
SUB_MENU_COPY_PAK_ERROR_1P_MAX,
|
||||
SUB_MENU_COPY_PAK_PROMPT_MIN = SUB_MENU_COPY_PAK_ERROR_1P_MAX, // 0x38
|
||||
SUB_MENU_COPY_PAK_PROMPT_QUIT = SUB_MENU_COPY_PAK_PROMPT_MIN,
|
||||
SUB_MENU_COPY_PAK_PROMPT_COPY,
|
||||
SUB_MENU_COPY_PAK_PROMPT_MAX = SUB_MENU_COPY_PAK_PROMPT_COPY, // 0x39
|
||||
SUB_MENU_COPY_PAK_ACTION_MIN,
|
||||
SUB_MENU_COPY_PAK_START = SUB_MENU_COPY_PAK_ACTION_MIN, // 0x3A
|
||||
SUB_MENU_COPY_PAK_COPYING,
|
||||
SUB_MENU_COPY_PAK_COMPLETED,
|
||||
SUB_MENU_COPY_PAK_ACTION_MAX = SUB_MENU_COPY_PAK_COMPLETED, // 0x3C
|
||||
SUB_MENU_COPY_PAK_UNABLE_ERROR_MIN = 0x41,
|
||||
SUB_MENU_COPY_PAK_UNABLE_COPY_FROM_1P = SUB_MENU_COPY_PAK_UNABLE_ERROR_MIN,
|
||||
SUB_MENU_COPY_PAK_UNABLE_READ_FROM_2P,
|
||||
SUB_MENU_COPY_PAK_UNABLE_ERROR_MAX = SUB_MENU_COPY_PAK_UNABLE_READ_FROM_2P,
|
||||
SUB_MENU_COPY_PAK_CREATE_GAME_DATA_INIT = 0x46,
|
||||
SUB_MENU_COPY_PAK_CREATE_GAME_DATA_DONE
|
||||
};
|
||||
|
||||
/**
|
||||
* @brief Options for gMainMenuSelection
|
||||
*/
|
||||
enum MainMenuSelectionType {
|
||||
MAIN_MENU_NONE,
|
||||
MAIN_MENU_OPTION,
|
||||
MAIN_MENU_DATA,
|
||||
MAIN_MENU_PLAYER_SELECT,
|
||||
MAIN_MENU_MODE_SELECT, // Mario GP - T. Trials - VS - Battle
|
||||
MAIN_MENU_MODE_SUB_SELECT, // CC Selection and T.Trials options (Begin, Data)
|
||||
MAIN_MENU_OK_SELECT, // OK option after selecting a submode
|
||||
MAIN_MENU_OK_SELECT_GO_BACK, // OK option after going back from player select
|
||||
MAIN_MENU_MODE_SUB_SELECT_GO_BACK // Used in T.Trials after going back to Data option from course data
|
||||
};
|
||||
|
||||
/**
|
||||
* @brief Options for gPlayerSelectMenuSelection
|
||||
*/
|
||||
enum PlayerSelectMenuSelectionTypes {
|
||||
PLAYER_SELECT_MENU_NONE,
|
||||
PLAYER_SELECT_MENU_MAIN,
|
||||
PLAYER_SELECT_MENU_OK, // OK option after selecting characters
|
||||
PLAYER_SELECT_MENU_OK_GO_BACK // OK option after going back from map select
|
||||
};
|
||||
|
||||
/**
|
||||
* @brief Options for gDebugMenuSelection
|
||||
*/
|
||||
enum DebugMenuSelectionTypes {
|
||||
DEBUG_MENU_NONE,
|
||||
DEBUG_MENU_DISABLED,
|
||||
DEBUG_MENU_DEBUG_MODE,
|
||||
DEBUG_MENU_COURSE,
|
||||
DEBUG_MENU_SCREEN_MODE,
|
||||
DEBUG_MENU_PLAYER,
|
||||
DEBUG_MENU_SOUND_MODE,
|
||||
DEBUG_MENU_GIVE_ALL_GOLD_CUP,
|
||||
DEBUG_MENU_OPTION_SELECTED = 0x40
|
||||
};
|
||||
|
||||
/**
|
||||
* @brief Options for gControllerPakMenuSelection
|
||||
*/
|
||||
enum ControllerPakMenuSelectionTypes {
|
||||
CONTROLLER_PAK_MENU_NONE,
|
||||
CONTROLLER_PAK_MENU_SELECT_RECORD,
|
||||
CONTROLLER_PAK_MENU_END,
|
||||
CONTROLLER_PAK_MENU_ERASE,
|
||||
CONTROLLER_PAK_MENU_QUIT,
|
||||
CONTROLLER_PAK_MENU_TABLE_GAME_DATA,
|
||||
CONTROLLER_PAK_MENU_GO_TO_ERASING,
|
||||
CONTROLLER_PAK_MENU_ERASING,
|
||||
CONTROLLER_PAK_MENU_ERASE_ERROR_NOT_ERASED,
|
||||
CONTROLLER_PAK_MENU_ERASE_ERROR_NO_PAK,
|
||||
CONTROLLER_PAK_MENU_ERASE_ERROR_PAK_CHANGED
|
||||
};
|
||||
|
||||
/**
|
||||
* @brief Options for gCourseRecordsMenuSelection
|
||||
*/
|
||||
enum CourseRecordsMenuSelectionTypes {
|
||||
COURSE_RECORDS_MENU_MIN,
|
||||
COURSE_RECORDS_MENU_RETURN_MENU = COURSE_RECORDS_MENU_MIN,
|
||||
COURSE_RECORDS_MENU_ERASE_RECORDS,
|
||||
COURSE_RECORDS_MENU_ERASE_GHOST,
|
||||
COURSE_RECORDS_MENU_MAX = COURSE_RECORDS_MENU_ERASE_GHOST
|
||||
};
|
||||
|
||||
/**
|
||||
* @brief Options for gCourseRecordsSubMenuSelection
|
||||
*/
|
||||
enum CourseRecordsSubMenuSelectionTypes {
|
||||
COURSE_RECORDS_SUB_MENU_MIN,
|
||||
COURSE_RECORDS_SUB_MENU_QUIT = COURSE_RECORDS_SUB_MENU_MIN,
|
||||
COURSE_RECORDS_SUB_MENU_ERASE,
|
||||
COURSE_RECORDS_SUB_MENU_MAX = COURSE_RECORDS_SUB_MENU_ERASE
|
||||
};
|
||||
|
||||
/**
|
||||
* @brief Options for gDebugGotoScene
|
||||
*/
|
||||
enum DebugGotoSceneTypes {
|
||||
DEBUG_GOTO_RACING,
|
||||
DEBUG_GOTO_ENDING,
|
||||
DEBUG_GOTO_CREDITS_SEQUENCE_DEFAULT,
|
||||
DEBUG_GOTO_CREDITS_SEQUENCE_EXTRA
|
||||
};
|
||||
|
||||
/**
|
||||
* @brief Options for gFadeModeSelection
|
||||
*/
|
||||
enum FadeModeSelectionTypes {
|
||||
FADE_MODE_NONE,
|
||||
FADE_MODE_MAIN,
|
||||
FADE_MODE_LOGO
|
||||
};
|
||||
|
||||
/**
|
||||
* @brief Options for gControllerPakScrollDirection
|
||||
*/
|
||||
enum ControllerPakScrollDirectionTypes {
|
||||
CONTROLLER_PAK_SCROLL_DIR_NONE,
|
||||
CONTROLLER_PAK_SCROLL_DIR_DOWN,
|
||||
CONTROLLER_PAK_SCROLL_DIR_UP
|
||||
};
|
||||
|
||||
// This really, really shouldn't be in this header file, but I don't know where else to put it
|
||||
void rmonPrintf(const char*, ...);
|
||||
|
||||
@@ -25,78 +204,77 @@ 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 func_800B3F74(s32);
|
||||
void func_800B44AC(void);
|
||||
void func_800B44BC(void);
|
||||
bool func_800B4520(void);
|
||||
void load_menu_states(s32);
|
||||
void reset_cycle_flash_menu(void);
|
||||
void set_sound_mode(void);
|
||||
bool is_screen_being_faded(void);
|
||||
|
||||
/* data */
|
||||
extern s32 D_8018EDC0;
|
||||
extern f32 D_8018EDC4;
|
||||
extern f32 D_8018EDC8;
|
||||
extern f32 D_8018EDCC;
|
||||
extern f32 D_8018EDD0;
|
||||
extern f32 D_8018EDD4;
|
||||
extern f32 D_8018EDD8;
|
||||
extern f32 D_8018EDDC;
|
||||
extern s32 D_8018EDE0;
|
||||
extern s32 gIntroModelZEye;
|
||||
extern f32 gIntroModelScale;
|
||||
extern f32 gIntroModelRotX;
|
||||
extern f32 gIntroModelRotY;
|
||||
extern f32 gIntroModelRotZ;
|
||||
extern f32 gIntroModelPosX;
|
||||
extern f32 gIntroModelPosY;
|
||||
extern f32 gIntroModelPosZ;
|
||||
extern s32 gMenuFadeType;
|
||||
|
||||
extern s8 gCharacterGridSelections[];
|
||||
extern s8 D_8018EDE8[];
|
||||
extern s8 D_8018EDEC;
|
||||
extern s8 gMainMenuSelectionDepth;
|
||||
extern s8 D_8018EDEE;
|
||||
extern s8 gCharacterGridIsSelected[];
|
||||
extern s8 gSubMenuSelection;
|
||||
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 D_8018EDF4;
|
||||
extern s8 D_8018EDF5;
|
||||
extern s8 D_8018EDF6;
|
||||
extern s8 gVersusResultCursorSelection;
|
||||
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 D_8018EE08;
|
||||
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 D_800E86A4;
|
||||
extern s32 gFadeModeSelection;
|
||||
extern s8 gCharacterSelections[];
|
||||
|
||||
extern s8 D_800E86AC[];
|
||||
extern s8 D_800E86B0[4][3];
|
||||
extern s8 gGameModeMenuColumn[];
|
||||
extern s8 gGameModeSubMenuColumn[4][3];
|
||||
extern s8 gNextDemoId;
|
||||
extern s8 gControllerPakSelectedTableRow;
|
||||
extern s8 D_800E86C4[];
|
||||
extern s8 D_800E86D0[];
|
||||
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
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
#include "code_800029B0.h"
|
||||
#include "menus.h"
|
||||
#include "audio/external.h"
|
||||
#include "code_80091750.h"
|
||||
#include "menu_items.h"
|
||||
#include "port/Game.h"
|
||||
|
||||
// PLAYER_EXISTS | PLAYER_STAGING | PLAYER_START_SEQUENCE | PLAYER_HUMAN
|
||||
@@ -129,7 +129,7 @@ void networking_start_session(const char* data) {
|
||||
gModeSelection = GRAND_PRIX;
|
||||
gPlayerCount = 1;
|
||||
// gCurrentCourseId = 8;
|
||||
gDebugMenuSelection = DEBUG_MENU_EXITED;
|
||||
gDebugMenuSelection = DEBUG_MENU_OPTION_SELECTED;
|
||||
func_8009E1C0();
|
||||
func_800CA330(0x19);
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
#include "memory.h"
|
||||
#include "waypoints.h"
|
||||
#include "code_80005FD0.h"
|
||||
#include "code_80091750.h"
|
||||
#include "menu_items.h"
|
||||
#include "collision.h"
|
||||
#include "actors.h"
|
||||
#include "actors_extended.h"
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
#include "code_800029B0.h"
|
||||
#include "code_80057C60.h"
|
||||
#include "update_objects.h"
|
||||
#include "code_80091750.h"
|
||||
#include "menu_items.h"
|
||||
#include "code_80005FD0.h"
|
||||
#include "spawn_players.h"
|
||||
#include "audio/external.h"
|
||||
@@ -853,7 +853,7 @@ void func_8028FCBC(void) {
|
||||
s32 i;
|
||||
u32 phi_v0_4;
|
||||
|
||||
if (D_8018EE08) {
|
||||
if (gDemoUseController) {
|
||||
func_8028FC34();
|
||||
}
|
||||
switch (D_800DC510) {
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
#include <assets/common_data.h>
|
||||
#include "render_player.h"
|
||||
#include "code_80057C60.h"
|
||||
#include "code_80091750.h"
|
||||
#include "menu_items.h"
|
||||
#include "actors.h"
|
||||
#include "render_courses.h"
|
||||
#include "math_util.h"
|
||||
@@ -131,7 +131,7 @@ void func_802A38B4(void) {
|
||||
gGamestate = 255;
|
||||
gIsInQuitToMenuTransition = 0;
|
||||
gQuitToMenuTransitionCounter = 0;
|
||||
D_800E86A4 = 1;
|
||||
gFadeModeSelection = 1;
|
||||
|
||||
switch (gGotoMode) {
|
||||
case START_MENU_FROM_QUIT:
|
||||
|
||||
+52
-53
@@ -26,7 +26,7 @@
|
||||
#include "code_8006E9C0.h"
|
||||
#include "render_objects.h"
|
||||
#include "update_objects.h"
|
||||
#include "code_80091750.h"
|
||||
#include "menu_items.h"
|
||||
#include "collision.h"
|
||||
#include "main.h"
|
||||
#include "menus.h"
|
||||
@@ -1535,7 +1535,7 @@ void func_8004B72C(s32 primRed, s32 primGreen, s32 primBlue, s32 envRed, s32 env
|
||||
PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0);
|
||||
}
|
||||
|
||||
void func_8004B7DC(s32 x, s32 y, s32 width, s32 height, s32 arg4, s32 arg5, s32 arg6) {
|
||||
void render_texture_rectangle(s32 x, s32 y, s32 width, s32 height, s32 s, s32 w, s32 mode) {
|
||||
|
||||
s32 xh = (((x + width) - 1) << 2);
|
||||
s32 yh = (((y + height) - 1) << 2);
|
||||
@@ -1545,17 +1545,19 @@ void func_8004B7DC(s32 x, s32 y, s32 width, s32 height, s32 arg4, s32 arg5, s32
|
||||
s32 xh2 = (((x + width)) << 2);
|
||||
s32 yh2 = ((y + height) << 2);
|
||||
|
||||
if (arg6 == 0) {
|
||||
// If no cycle mode is set, render texture rectangle in copy mode
|
||||
if (mode == 0) {
|
||||
//! @todo Update to F3DEX. Uses OLD definition for gspTextureRectangle.
|
||||
gSPTextureRectangle(gDisplayListHead++, xl, yl, xh, yh, G_TX_RENDERTILE, arg4 << 5, (arg5 << 5), 4 << 10,
|
||||
gSPTextureRectangle(gDisplayListHead++, xl, yl, xh, yh, G_TX_RENDERTILE, s << 5, (w << 5), 4 << 10,
|
||||
1 << 10);
|
||||
return;
|
||||
}
|
||||
gSPTextureRectangle(gDisplayListHead++, xl, yl, xh2, yh2, G_TX_RENDERTILE, arg4 << 5, (arg5 << 5), 1 << 10,
|
||||
// Render texture rectangle in default cycle mode (1 cycle or 2 cycle)
|
||||
gSPTextureRectangle(gDisplayListHead++, xl, yl, xh2, yh2, G_TX_RENDERTILE, s << 5, (w << 5), 1 << 10,
|
||||
1 << 10);
|
||||
}
|
||||
|
||||
void func_8004B7DC_wide(s32 x, s32 y, s32 width, s32 height, s32 arg4, s32 arg5, s32 arg6) {
|
||||
void render_texture_rectangle_wide(s32 x, s32 y, s32 width, s32 height, s32 arg4, s32 arg5, s32 arg6) {
|
||||
|
||||
s32 xh = (((x + width) - 1));
|
||||
s32 yh = (((y + height) - 1) << 2);
|
||||
@@ -1604,8 +1606,9 @@ void func_8004B7DC_wide(s32 x, s32 y, s32 width, s32 height, s32 arg4, s32 arg5,
|
||||
// 1 << 10);
|
||||
}
|
||||
|
||||
void func_8004B950(s32 x, s32 y, s32 width, s32 height, s32 arg4) {
|
||||
func_8004B7DC(x, y, width, height, 0, 0, arg4);
|
||||
void render_texture_rectangle_wrap(s32 x, s32 y, s32 width, s32 height, s32 mode) {
|
||||
// (0, 0) means texture coordinates will be rendered from the top left corner
|
||||
render_texture_rectangle(x, y, width, height, 0, 0, mode);
|
||||
}
|
||||
|
||||
// Positions item window, the Lap 1/2/3, TIME texture, and minimap on the screen.
|
||||
@@ -1629,7 +1632,7 @@ void func_8004B97C(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) {
|
||||
var_v0 = -arg1;
|
||||
var_a1 = 0;
|
||||
}
|
||||
func_8004B7DC(sp2C, var_a1, arg2 - var_v1, arg3 - var_v0, var_v1, var_v0, arg4);
|
||||
render_texture_rectangle(sp2C, var_a1, arg2 - var_v1, arg3 - var_v0, var_v1, var_v0, arg4);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1653,7 +1656,7 @@ void func_8004B97C_wide(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) {
|
||||
var_v0 = -arg1;
|
||||
var_a1 = 0;
|
||||
}
|
||||
func_8004B7DC_wide(sp2C, var_a1, arg2 - var_v1, arg3 - var_v0, var_v1, var_v0, arg4);
|
||||
render_texture_rectangle_wide(sp2C, var_a1, arg2 - var_v1, arg3 - var_v0, var_v1, var_v0, arg4);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1677,7 +1680,7 @@ void func_8004BA08(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) {
|
||||
phi_v0 = -arg1;
|
||||
phi_a1 = 0;
|
||||
}
|
||||
func_8004B7DC(sp2C, phi_a1, arg2 - phi_v1, arg3 - phi_v0, phi_v1 + arg2, phi_v0, arg4);
|
||||
render_texture_rectangle(sp2C, phi_a1, arg2 - phi_v1, arg3 - phi_v0, phi_v1 + arg2, phi_v0, arg4);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1708,7 +1711,7 @@ void func_8004BA98(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5, s
|
||||
sp30 = 0;
|
||||
phi_a3 = arg3 + arg1;
|
||||
}
|
||||
func_8004B7DC_wide(sp34, sp30, sp2C, phi_a3, phi_v0, phi_v1, arg6);
|
||||
render_texture_rectangle_wide(sp34, sp30, sp2C, phi_a3, phi_v0, phi_v1, arg6);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1738,7 +1741,7 @@ void func_8004BA98_wide(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 ar
|
||||
sp30 = 0;
|
||||
phi_a3 = arg3 + arg1;
|
||||
}
|
||||
func_8004B7DC_wide(sp34, sp30, sp2C, phi_a3, phi_v0, phi_v1, arg6);
|
||||
render_texture_rectangle_wide(sp34, sp30, sp2C, phi_a3, phi_v0, phi_v1, arg6);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1793,7 +1796,7 @@ UNUSED void func_8004BD14(s32 x, s32 y, u32 width, u32 height, s32 alpha, u8* te
|
||||
gDPLoadMultiTile(gDisplayListHead++, texture2, 256, G_TX_RENDERTILE + 1, G_IM_FMT_RGBA, G_IM_SIZ_16b, width, height,
|
||||
0, 0, width - 1, height - 1, 0, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP,
|
||||
G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
|
||||
func_8004B950(x, y, width, height, 2);
|
||||
render_texture_rectangle_wrap(x, y, width, height, 2);
|
||||
gSPDisplayList(gDisplayListHead++, D_0D008120);
|
||||
}
|
||||
|
||||
@@ -1879,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 `athing`, don't know that to make of. Can't quite get it over the finish line
|
||||
// though
|
||||
void func_8004C6FC(s16 arg0, s16 arg1, u8* texture, u32 width, u32 arg4) {
|
||||
s32 temp_v0_3;
|
||||
s32 var_s3;
|
||||
s32 var_s4;
|
||||
s32 athing;
|
||||
s32 temp_t3;
|
||||
u32 temp_t8;
|
||||
s32 heigth;
|
||||
s32 var_s6;
|
||||
u8* textureCopy;
|
||||
// non-matching
|
||||
void render_texture_tile_rgba32_block(s16 x, s16 y, u8* texture, u32 width, u32 height) {
|
||||
s32 remainingSize;
|
||||
s32 currX;
|
||||
s32 currY;
|
||||
u32 size;
|
||||
s32 tileHeight;
|
||||
s32 numTiles;
|
||||
s32 numTilesDup;
|
||||
|
||||
currX = x - (width / 2);
|
||||
currY = y - (height / 2);
|
||||
|
||||
athing = arg0 - (width / 2);
|
||||
var_s4 = arg1 - (arg4 / 2);
|
||||
textureCopy = texture;
|
||||
gSPDisplayList(gDisplayListHead++, D_0D007EF8);
|
||||
gDPSetRenderMode(gDisplayListHead++, G_RM_XLU_SURF, G_RM_XLU_SURF2);
|
||||
temp_t8 = width * arg4 * 4;
|
||||
temp_t3 = temp_t8 / 4096;
|
||||
if (temp_t8 % 4096) {
|
||||
temp_t3++;
|
||||
|
||||
size = width * height * 4;
|
||||
numTiles = size / 4096;
|
||||
if (size % 4096) {
|
||||
numTiles++;
|
||||
}
|
||||
heigth = arg4 / temp_t3;
|
||||
var_s6 = temp_t3;
|
||||
for (var_s3 = 0; var_s3 < var_s6; var_s3++) {
|
||||
load_texture_tile_rgba32_nomirror(textureCopy, width, heigth);
|
||||
func_8004B950(athing, var_s4, width, heigth, 1);
|
||||
temp_v0_3 = temp_t8 - (width * heigth * 4);
|
||||
textureCopy += (width * heigth * 4);
|
||||
if (temp_v0_3 < 0) {
|
||||
heigth = temp_t8 / 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 {
|
||||
temp_t8 = temp_v0_3;
|
||||
size -= (width * tileHeight * 4);
|
||||
}
|
||||
// Weird fakematch that is a HUGE improvement
|
||||
athing += var_s4 * 0;
|
||||
var_s4 += heigth;
|
||||
currX += currY * 0;
|
||||
currY += tileHeight;
|
||||
}
|
||||
|
||||
gSPDisplayList(gDisplayListHead++, D_0D007EB8);
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/render_objects/func_8004C6FC.s")
|
||||
#endif
|
||||
|
||||
void func_8004C8D4(s16 arg0, s16 arg1) {
|
||||
func_8004C6FC(arg0, arg1, D_8018D1E0, 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) {
|
||||
@@ -4242,7 +4241,7 @@ UNUSED void func_800573DC(void) {
|
||||
}
|
||||
|
||||
void func_800573E4(s32 x, s32 y, s8 str) {
|
||||
func_8004B7DC(x, y, 8, 8, (((str % 16) * 8) << 16) >> 16, (((unsigned short) (str / 16)) << 19) >> 16, 0);
|
||||
render_texture_rectangle(x, y, 8, 8, (((str % 16) * 8) << 16) >> 16, (((unsigned short) (str / 16)) << 19) >> 16, 0);
|
||||
}
|
||||
|
||||
void debug_wrap_text(s32* x, s32* y) {
|
||||
|
||||
@@ -206,12 +206,12 @@ void func_8004B5A8(s32, s32, s32, s32);
|
||||
void func_8004B614(s32, s32, s32, s32, s32, s32, s32);
|
||||
void func_8004B6C4(s32, s32, s32);
|
||||
void func_8004B72C(s32, s32, s32, s32, s32, s32, s32);
|
||||
void func_8004B950(s32, s32, s32, s32, s32);
|
||||
void render_texture_rectangle_wrap(s32, s32, s32, s32, s32);
|
||||
void func_8004BB34(void);
|
||||
void func_8004BB3C(s32, s32, s32, s32, f32);
|
||||
void func_8004BD14(s32, s32, u32, u32, s32, u8*, u8*);
|
||||
|
||||
void func_8004C6FC(s16, s16, u8*, u32, u32);
|
||||
void render_texture_tile_rgba32_block(s16, s16, u8*, u32, u32);
|
||||
|
||||
void func_8004C024(s16, s16, s16, u16, u16, u16, u16);
|
||||
void func_8004C148(s16, s16, s16, u16, u16, u16, u16);
|
||||
@@ -221,7 +221,7 @@ void draw_hud_2d_texture(s32, s32, u32, u32, u8*);
|
||||
void func_8004C450(s32, s32, u32, u32, u8*);
|
||||
void func_8004C53C(s32, s32, u32, u32, u8*);
|
||||
void func_8004C628(s32, s32, u32, u32, u8*);
|
||||
void func_8004C8D4(s16, s16);
|
||||
void render_game_logo(s16, s16);
|
||||
void func_8004C91C(s32, s32, u8*, s32, s32, s32);
|
||||
void func_8004C9D8(s32, s32, s32, u8*, s32, s32, s32, s32);
|
||||
void func_8004CA58(s32, s32, f32, u8*, s32, s32);
|
||||
|
||||
+15
-12
@@ -5,7 +5,7 @@
|
||||
|
||||
#include "save.h"
|
||||
|
||||
#include "code_80091750.h"
|
||||
#include "menu_items.h"
|
||||
#include "menus.h"
|
||||
#include "save_data.h"
|
||||
#include "staff_ghosts.h"
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
@@ -425,21 +428,21 @@ u8 func_800B5508(s32 cup, s32 ccGrandPrixPoints, s32 points_scored) {
|
||||
|
||||
// Check if all 4 cups have gold cups scored
|
||||
// for a given CC mode
|
||||
s32 func_800B5530(s32 cc_mode) {
|
||||
s32 is_cc_mode_complete(s32 cc_mode) {
|
||||
if (gSaveData.main.saveInfo.grandPrixPoints[cc_mode] == 0xFF) {
|
||||
return 1;
|
||||
return true;
|
||||
}
|
||||
return 0;
|
||||
return false;
|
||||
}
|
||||
|
||||
// Check if the 150CC mode has all 4 gold cups
|
||||
s32 has_unlocked_extra_mode(void) {
|
||||
return func_800B5530(CC_150);
|
||||
return is_cc_mode_complete(CC_150);
|
||||
}
|
||||
|
||||
// Check if the Extra mode has all 4 gold cups
|
||||
s32 has_completed_extra_mode(void) {
|
||||
return func_800B5530(CC_EXTRA);
|
||||
return is_cc_mode_complete(CC_EXTRA);
|
||||
}
|
||||
|
||||
void func_800B559C(s32 arg0) {
|
||||
@@ -911,7 +914,7 @@ s32 func_800B65F4(s32 arg0, s32 arg1) {
|
||||
writeStatus = osPfsReadWriteFile(&gControllerPak2FileHandle, gControllerPak2FileNote, 0U, (arg0 * 0x3C00) + 0x100,
|
||||
0x00003C00, (u8*) D_800DC714);
|
||||
if (writeStatus == 0) {
|
||||
temp_s3 = &((struct_8018EE10_entry*) D_8018D9C0)[arg0];
|
||||
temp_s3 = &((struct_8018EE10_entry*) gSomeDLBuffer)[arg0];
|
||||
for (i = 0; i < 0x3C; i++) {
|
||||
if (temp_s3->unk_07[i] != func_800B60E8(i)) {
|
||||
temp_s3->ghostDataSaved = 0;
|
||||
@@ -942,14 +945,14 @@ void func_800B6798(void) {
|
||||
s32 temp_s0;
|
||||
u8* tmp;
|
||||
|
||||
tmp = (u8*) D_8018D9C0;
|
||||
tmp = (u8*) gSomeDLBuffer;
|
||||
|
||||
osPfsReadWriteFile(&gControllerPak2FileHandle, gControllerPak2FileNote, PFS_READ, 0,
|
||||
0x100 /* 2*sizeof(struct_8018EE10_entry) ? */, tmp);
|
||||
|
||||
for (temp_s0 = 0; temp_s0 < 2; ++temp_s0) {
|
||||
// if (D_8018D9C0[temp_s0]->checksum != func_800B68F4(temp_s0)) {
|
||||
// D_8018D9C0[temp_s0]->ghostDataSaved = 0;
|
||||
// if (gSomeDLBuffer[temp_s0]->checksum != func_800B68F4(temp_s0)) {
|
||||
// gSomeDLBuffer[temp_s0]->ghostDataSaved = 0;
|
||||
// }
|
||||
if (((struct_8018EE10_entry*) (tmp + (temp_s0 << 7)))->checksum != func_800B68F4(temp_s0)) {
|
||||
((struct_8018EE10_entry*) (tmp + (temp_s0 << 7)))->ghostDataSaved = 0;
|
||||
@@ -974,7 +977,7 @@ u8 func_800B68F4(s32 arg0) {
|
||||
s32 i;
|
||||
checksum = 0;
|
||||
for (i = 0; i < 0x43; i++) {
|
||||
u8* addr = &((u8*) D_8018D9C0)[arg0];
|
||||
u8* addr = &((u8*) gSomeDLBuffer)[arg0];
|
||||
checksum += addr[i] * multiplier + i;
|
||||
}
|
||||
return checksum;
|
||||
|
||||
+3
-1
@@ -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
|
||||
@@ -54,7 +55,7 @@ void func_800B5404(s32, s32);
|
||||
u8 func_800B54C0(s32, s32);
|
||||
u8 func_800B54EC(s32, s32);
|
||||
u8 func_800B5508(s32, s32, s32);
|
||||
s32 func_800B5530(s32);
|
||||
s32 is_cc_mode_complete(s32);
|
||||
s32 has_unlocked_extra_mode(void);
|
||||
s32 has_completed_extra_mode(void);
|
||||
void func_800B559C(s32);
|
||||
@@ -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
|
||||
|
||||
+4
-4
@@ -23,7 +23,7 @@
|
||||
#include "main.h"
|
||||
#include "menus.h"
|
||||
#include "render_player.h"
|
||||
#include "code_80091750.h"
|
||||
#include "menu_items.h"
|
||||
#include "effects.h"
|
||||
#include "decode.h"
|
||||
#include "port/Game.h"
|
||||
@@ -488,7 +488,7 @@ void func_80039DA4(void) {
|
||||
};
|
||||
|
||||
if (((GetCupCursorPosition() == COURSE_ONE) && (D_8016556E == 0)) || (gDemoMode == 1) ||
|
||||
(gDebugMenuSelection == DEBUG_MENU_EXITED)) {
|
||||
(gDebugMenuSelection == DEBUG_MENU_OPTION_SELECTED)) {
|
||||
for (i = 0; i < NUM_PLAYERS; i++) {
|
||||
D_80165270[i] = sp2C[i];
|
||||
}
|
||||
@@ -506,7 +506,7 @@ UNUSED s16 D_800E43A8 = 0;
|
||||
void spawn_players_gp_one_player(f32* arg0, f32* arg1, f32 arg2) {
|
||||
func_80039DA4();
|
||||
if (((GetCupCursorPosition() == COURSE_ONE) && (D_8016556E == 0)) || (gDemoMode == 1) ||
|
||||
(gDebugMenuSelection == DEBUG_MENU_EXITED)) {
|
||||
(gDebugMenuSelection == DEBUG_MENU_OPTION_SELECTED)) {
|
||||
s16 rand;
|
||||
s16 i;
|
||||
|
||||
@@ -639,7 +639,7 @@ void spawn_players_versus_one_player(f32* arg0, f32* arg1, f32 arg2) {
|
||||
|
||||
void spawn_players_gp_two_player(f32* arg0, f32* arg1, f32 arg2) {
|
||||
func_80039DA4();
|
||||
if ((GetCupCursorPosition() == COURSE_ONE) || (gDemoMode == 1) || (gDebugMenuSelection == DEBUG_MENU_EXITED)) {
|
||||
if ((GetCupCursorPosition() == COURSE_ONE) || (gDemoMode == 1) || (gDebugMenuSelection == DEBUG_MENU_OPTION_SELECTED)) {
|
||||
s16 rand;
|
||||
s16 i;
|
||||
|
||||
|
||||
+1
-1
@@ -11,7 +11,7 @@
|
||||
#include "save.h"
|
||||
#include "staff_ghosts.h"
|
||||
#include "code_8006E9C0.h"
|
||||
#include "code_80091750.h"
|
||||
#include "menu_items.h"
|
||||
#include "code_80057C60.h"
|
||||
#include "kart_dma.h"
|
||||
#include "port/Game.h"
|
||||
|
||||
+630
-632
File diff suppressed because it is too large
Load Diff
@@ -26,7 +26,7 @@
|
||||
#include "collision.h"
|
||||
#include "effects.h"
|
||||
#include "code_80091440.h"
|
||||
#include "code_80091750.h"
|
||||
#include "menu_items.h"
|
||||
#include "podium_ceremony_actors.h"
|
||||
#include "courses/all_course_data.h"
|
||||
#include <assets/ceremony_data.h>
|
||||
|
||||
Reference in New Issue
Block a user