Match assorted functions and identify a variable (#122)

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
This commit is contained in:
Tyler McGavran 2021-12-31 15:30:55 -05:00 committed by GitHub
parent 2263234e58
commit 494c36bdb1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
21 changed files with 160 additions and 449 deletions

View File

@ -2103,7 +2103,7 @@ glabel D_8018EDF5
glabel D_8018EDF6
.skip 1
glabel D_8018EDF7
glabel gTimeTrialDataCourseIndex
.skip 1
glabel D_8018EDF8

View File

@ -947,8 +947,8 @@ glabel L8009F388
/* 0A0028 8009F428 1000006A */ b .L8009F5D4
/* 0A002C 8009F42C 8FBF001C */ lw $ra, 0x1c($sp)
glabel L8009F430
/* 0A0030 8009F430 3C028019 */ lui $v0, %hi(D_8018EDF7) # $v0, 0x8019
/* 0A0034 8009F434 8042EDF7 */ lb $v0, %lo(D_8018EDF7)($v0)
/* 0A0030 8009F430 3C028019 */ lui $v0, %hi(gTimeTrialDataCourseIndex) # $v0, 0x8019
/* 0A0034 8009F434 8042EDF7 */ lb $v0, %lo(gTimeTrialDataCourseIndex)($v0)
/* 0A0038 8009F438 3C04800E */ lui $a0, %hi(D_800E7E34)
/* 0A003C 8009F43C AFBF007C */ sw $ra, 0x7c($sp)
/* 0A0040 8009F440 04410003 */ bgez $v0, .L8009F450
@ -975,10 +975,10 @@ glabel L8009F430
/* 0A008C 8009F48C 0C0268DD */ jal func_8009A374
/* 0A0090 8009F490 00402025 */ move $a0, $v0
/* 0A0094 8009F494 8FBF007C */ lw $ra, 0x7c($sp)
/* 0A0098 8009F498 3C198019 */ lui $t9, %hi(D_8018EDF7) # $t9, 0x8019
/* 0A0098 8009F498 3C198019 */ lui $t9, %hi(gTimeTrialDataCourseIndex) # $t9, 0x8019
/* 0A009C 8009F49C 3C040200 */ lui $a0, %hi(D_02004A0C) # $a0, 0x200
/* 0A00A0 8009F4A0 AFE20018 */ sw $v0, 0x18($ra)
/* 0A00A4 8009F4A4 8339EDF7 */ lb $t9, %lo(D_8018EDF7)($t9)
/* 0A00A4 8009F4A4 8339EDF7 */ lb $t9, %lo(gTimeTrialDataCourseIndex)($t9)
/* 0A00A8 8009F4A8 24844A0C */ addiu $a0, %lo(D_02004A0C) # addiu $a0, $a0, 0x4a0c
/* 0A00AC 8009F4AC AFF9001C */ sw $t9, 0x1c($ra)
/* 0A00B0 8009F4B0 0C026449 */ jal segmented_to_virtual

View File

@ -1,60 +0,0 @@
glabel func_800A11D0
/* 0A1DD0 800A11D0 3C0A8015 */ lui $t2, %hi(gDisplayListHead) # $t2, 0x8015
/* 0A1DD4 800A11D4 254A0298 */ addiu $t2, %lo(gDisplayListHead) # addiu $t2, $t2, 0x298
/* 0A1DD8 800A11D8 8D420000 */ lw $v0, ($t2)
/* 0A1DDC 800A11DC 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 0A1DE0 800A11E0 3C19800E */ lui $t9, %hi(D_800E74A8) # $t9, 0x800e
/* 0A1DE4 800A11E4 244E0008 */ addiu $t6, $v0, 8
/* 0A1DE8 800A11E8 AFBF0014 */ sw $ra, 0x14($sp)
/* 0A1DEC 800A11EC AFA40018 */ sw $a0, 0x18($sp)
/* 0A1DF0 800A11F0 AD4E0000 */ sw $t6, ($t2)
/* 0A1DF4 800A11F4 273974A8 */ addiu $t9, %lo(D_800E74A8) # addiu $t9, $t9, 0x74a8
/* 0A1DF8 800A11F8 3C0FFA00 */ lui $t7, 0xfa00
/* 0A1DFC 800A11FC 0005C0C0 */ sll $t8, $a1, 3
/* 0A1E00 800A1200 03191821 */ addu $v1, $t8, $t9
/* 0A1E04 800A1204 AC4F0000 */ sw $t7, ($v0)
/* 0A1E08 800A1208 946E0002 */ lhu $t6, 2($v1)
/* 0A1E0C 800A120C 946C0000 */ lhu $t4, ($v1)
/* 0A1E10 800A1210 946B0004 */ lhu $t3, 4($v1)
/* 0A1E14 800A1214 31CF00FF */ andi $t7, $t6, 0xff
/* 0A1E18 800A1218 000FC400 */ sll $t8, $t7, 0x10
/* 0A1E1C 800A121C 000C6E00 */ sll $t5, $t4, 0x18
/* 0A1E20 800A1220 01B8C825 */ or $t9, $t5, $t8
/* 0A1E24 800A1224 946D0006 */ lhu $t5, 6($v1)
/* 0A1E28 800A1228 316C00FF */ andi $t4, $t3, 0xff
/* 0A1E2C 800A122C 000C7200 */ sll $t6, $t4, 8
/* 0A1E30 800A1230 032E7825 */ or $t7, $t9, $t6
/* 0A1E34 800A1234 31B800FF */ andi $t8, $t5, 0xff
/* 0A1E38 800A1238 01F85825 */ or $t3, $t7, $t8
/* 0A1E3C 800A123C AC4B0004 */ sw $t3, 4($v0)
/* 0A1E40 800A1240 8D420000 */ lw $v0, ($t2)
/* 0A1E44 800A1244 30C700FF */ andi $a3, $a2, 0xff
/* 0A1E48 800A1248 00077600 */ sll $t6, $a3, 0x18
/* 0A1E4C 800A124C 244C0008 */ addiu $t4, $v0, 8
/* 0A1E50 800A1250 AD4C0000 */ sw $t4, ($t2)
/* 0A1E54 800A1254 00076C00 */ sll $t5, $a3, 0x10
/* 0A1E58 800A1258 01CD7825 */ or $t7, $t6, $t5
/* 0A1E5C 800A125C 0007C200 */ sll $t8, $a3, 8
/* 0A1E60 800A1260 01F85825 */ or $t3, $t7, $t8
/* 0A1E64 800A1264 3C19FB00 */ lui $t9, 0xfb00
/* 0A1E68 800A1268 00056080 */ sll $t4, $a1, 2
/* 0A1E6C 800A126C 3C04800F */ lui $a0, %hi(D_800E82B4) # 0x800f
/* 0A1E70 800A1270 008C2021 */ addu $a0, $a0, $t4
/* 0A1E74 800A1274 AC590000 */ sw $t9, ($v0)
/* 0A1E78 800A1278 AC4B0004 */ sw $t3, 4($v0)
/* 0A1E7C 800A127C 0C026449 */ jal segmented_to_virtual
/* 0A1E80 800A1280 8C8482B4 */ lw $a0, %lo(D_800E82B4)($a0) # -0x7d4c($a0)
/* 0A1E84 800A1284 8FA30018 */ lw $v1, 0x18($sp)
/* 0A1E88 800A1288 3C0A8015 */ lui $t2, %hi(gDisplayListHead) # $t2, 0x8015
/* 0A1E8C 800A128C 254A0298 */ addiu $t2, %lo(gDisplayListHead) # addiu $t2, $t2, 0x298
/* 0A1E90 800A1290 8D440000 */ lw $a0, ($t2)
/* 0A1E94 800A1294 00402825 */ move $a1, $v0
/* 0A1E98 800A1298 8C66000C */ lw $a2, 0xc($v1)
/* 0A1E9C 800A129C 0C026E9D */ jal func_8009BA74
/* 0A1EA0 800A12A0 8C670010 */ lw $a3, 0x10($v1)
/* 0A1EA4 800A12A4 8FBF0014 */ lw $ra, 0x14($sp)
/* 0A1EA8 800A12A8 3C0A8015 */ lui $t2, %hi(gDisplayListHead) # $t2, 0x8015
/* 0A1EAC 800A12AC 254A0298 */ addiu $t2, %lo(gDisplayListHead) # addiu $t2, $t2, 0x298
/* 0A1EB0 800A12B0 AD420000 */ sw $v0, ($t2)
/* 0A1EB4 800A12B4 03E00008 */ jr $ra
/* 0A1EB8 800A12B8 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,67 +0,0 @@
glabel func_800A1924
/* 0A2524 800A1924 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 0A2528 800A1928 AFBF001C */ sw $ra, 0x1c($sp)
/* 0A252C 800A192C AFA40020 */ sw $a0, 0x20($sp)
/* 0A2530 800A1930 8C840018 */ lw $a0, 0x18($a0)
/* 0A2534 800A1934 24050017 */ li $a1, 23
/* 0A2538 800A1938 24060084 */ li $a2, 132
/* 0A253C 800A193C 0C0269DB */ jal func_8009A76C
/* 0A2540 800A1940 2407FFFF */ li $a3, -1
/* 0A2544 800A1944 3C048019 */ lui $a0, %hi(D_8018EDF7) # $a0, 0x8019
/* 0A2548 800A1948 0C02D8E7 */ jal func_800B639C
/* 0A254C 800A194C 8084EDF7 */ lb $a0, %lo(D_8018EDF7)($a0)
/* 0A2550 800A1950 04400013 */ bltz $v0, .L800A19A0
/* 0A2554 800A1954 3C048015 */ lui $a0, %hi(gDisplayListHead) # $a0, 0x8015
/* 0A2558 800A1958 240F0095 */ li $t7, 149
/* 0A255C 800A195C AFAF0010 */ sw $t7, 0x10($sp)
/* 0A2560 800A1960 8C840298 */ lw $a0, %lo(gDisplayListHead)($a0)
/* 0A2564 800A1964 24050057 */ li $a1, 87
/* 0A2568 800A1968 24060084 */ li $a2, 132
/* 0A256C 800A196C 0C025668 */ jal func_800959A0
/* 0A2570 800A1970 24070096 */ li $a3, 150
/* 0A2574 800A1974 3C038015 */ lui $v1, %hi(gDisplayListHead) # $v1, 0x8015
/* 0A2578 800A1978 24630298 */ addiu $v1, %lo(gDisplayListHead) # addiu $v1, $v1, 0x298
/* 0A257C 800A197C 3C050200 */ lui $a1, %hi(D_02004A0C) # $a1, 0x200
/* 0A2580 800A1980 AC620000 */ sw $v0, ($v1)
/* 0A2584 800A1984 24A54A0C */ addiu $a1, %lo(D_02004A0C) # addiu $a1, $a1, 0x4a0c
/* 0A2588 800A1988 00402025 */ move $a0, $v0
/* 0A258C 800A198C 24060057 */ li $a2, 87
/* 0A2590 800A1990 0C026E9D */ jal func_8009BA74
/* 0A2594 800A1994 24070084 */ li $a3, 132
/* 0A2598 800A1998 3C018015 */ lui $at, %hi(gDisplayListHead) # $at, 0x8015
/* 0A259C 800A199C AC220298 */ sw $v0, %lo(gDisplayListHead)($at)
.L800A19A0:
/* 0A25A0 800A19A0 3C028019 */ lui $v0, %hi(D_8018EDF7) # $v0, 0x8019
/* 0A25A4 800A19A4 8042EDF7 */ lb $v0, %lo(D_8018EDF7)($v0)
/* 0A25A8 800A19A8 3C04800F */ lui $a0, %hi(gCupCourseOrder)
/* 0A25AC 800A19AC 04410003 */ bgez $v0, .L800A19BC
/* 0A25B0 800A19B0 0002C083 */ sra $t8, $v0, 2
/* 0A25B4 800A19B4 24410003 */ addiu $at, $v0, 3
/* 0A25B8 800A19B8 0001C083 */ sra $t8, $at, 2
.L800A19BC:
/* 0A25BC 800A19BC 0018C8C0 */ sll $t9, $t8, 3
/* 0A25C0 800A19C0 04410004 */ bgez $v0, .L800A19D4
/* 0A25C4 800A19C4 30480003 */ andi $t0, $v0, 3
/* 0A25C8 800A19C8 11000002 */ beqz $t0, .L800A19D4
/* 0A25CC 800A19CC 00000000 */ nop
/* 0A25D0 800A19D0 2508FFFC */ addiu $t0, $t0, -4
.L800A19D4:
/* 0A25D4 800A19D4 00084840 */ sll $t1, $t0, 1
/* 0A25D8 800A19D8 03295021 */ addu $t2, $t9, $t1
/* 0A25DC 800A19DC 008A2021 */ addu $a0, $a0, $t2
/* 0A25E0 800A19E0 0C013BE7 */ jal func_8004EF9C
/* 0A25E4 800A19E4 84842BB4 */ lh $a0, %lo(gCupCourseOrder)($a0)
/* 0A25E8 800A19E8 3C048015 */ lui $a0, %hi(gDisplayListHead) # $a0, 0x8015
/* 0A25EC 800A19EC 24840298 */ addiu $a0, %lo(gDisplayListHead) # addiu $a0, $a0, 0x298
/* 0A25F0 800A19F0 8C820000 */ lw $v0, ($a0)
/* 0A25F4 800A19F4 3C0CBA00 */ lui $t4, (0xBA000C02 >> 16) # lui $t4, 0xba00
/* 0A25F8 800A19F8 358C0C02 */ ori $t4, (0xBA000C02 & 0xFFFF) # ori $t4, $t4, 0xc02
/* 0A25FC 800A19FC 244B0008 */ addiu $t3, $v0, 8
/* 0A2600 800A1A00 AC8B0000 */ sw $t3, ($a0)
/* 0A2604 800A1A04 240D2000 */ li $t5, 8192
/* 0A2608 800A1A08 AC4D0004 */ sw $t5, 4($v0)
/* 0A260C 800A1A0C AC4C0000 */ sw $t4, ($v0)
/* 0A2610 800A1A10 8FBF001C */ lw $ra, 0x1c($sp)
/* 0A2614 800A1A14 27BD0020 */ addiu $sp, $sp, 0x20
/* 0A2618 800A1A18 03E00008 */ jr $ra
/* 0A261C 800A1A1C 00000000 */ nop

View File

@ -1,6 +1,6 @@
glabel func_800A1A20
/* 0A2620 800A1A20 3C028019 */ lui $v0, %hi(D_8018EDF7) # $v0, 0x8019
/* 0A2624 800A1A24 8042EDF7 */ lb $v0, %lo(D_8018EDF7)($v0)
/* 0A2620 800A1A20 3C028019 */ lui $v0, %hi(gTimeTrialDataCourseIndex) # $v0, 0x8019
/* 0A2624 800A1A24 8042EDF7 */ lb $v0, %lo(gTimeTrialDataCourseIndex)($v0)
/* 0A2628 800A1A28 27BDFFC8 */ addiu $sp, $sp, -0x38
/* 0A262C 800A1A2C AFB10028 */ sw $s1, 0x28($sp)
/* 0A2630 800A1A30 3C11800F */ lui $s1, %hi(gCupCourseOrder)

View File

@ -1,8 +1,8 @@
glabel func_800A1BE0
/* 0A27E0 800A1BE0 27BDFF70 */ addiu $sp, $sp, -0x90
/* 0A27E4 800A1BE4 AFB70044 */ sw $s7, 0x44($sp)
/* 0A27E8 800A1BE8 3C178019 */ lui $s7, %hi(D_8018EDF7) # $s7, 0x8019
/* 0A27EC 800A1BEC 26F7EDF7 */ addiu $s7, %lo(D_8018EDF7) # addiu $s7, $s7, -0x1209
/* 0A27E8 800A1BE8 3C178019 */ lui $s7, %hi(gTimeTrialDataCourseIndex) # $s7, 0x8019
/* 0A27EC 800A1BEC 26F7EDF7 */ addiu $s7, %lo(gTimeTrialDataCourseIndex) # addiu $s7, $s7, -0x1209
/* 0A27F0 800A1BF0 82E20000 */ lb $v0, ($s7)
/* 0A27F4 800A1BF4 AFB5003C */ sw $s5, 0x3c($sp)
/* 0A27F8 800A1BF8 AFB30034 */ sw $s3, 0x34($sp)

View File

@ -21,7 +21,7 @@ glabel func_800A474C
/* 0A5390 800A4790 8FA80030 */ lw $t0, 0x30($sp)
/* 0A5394 800A4794 8FB90030 */ lw $t9, 0x30($sp)
/* 0A5398 800A4798 8FA40050 */ lw $a0, 0x50($sp)
/* 0A539C 800A479C 3C058019 */ lui $a1, %hi(D_8018EDF7) # $a1, 0x8019
/* 0A539C 800A479C 3C058019 */ lui $a1, %hi(gTimeTrialDataCourseIndex) # $a1, 0x8019
/* 0A53A0 800A47A0 17200005 */ bnez $t9, .L800A47B8
/* 0A53A4 800A47A4 00000000 */ nop
/* 0A53A8 800A47A8 0C02D389 */ jal func_800B4E24
@ -30,7 +30,7 @@ glabel func_800A474C
/* 0A53B4 800A47B4 AFA20048 */ sw $v0, 0x48($sp)
.L800A47B8:
/* 0A53B8 800A47B8 0C02D3AD */ jal func_800B4EB4
/* 0A53BC 800A47BC 80A5EDF7 */ lb $a1, %lo(D_8018EDF7)($a1)
/* 0A53BC 800A47BC 80A5EDF7 */ lb $a1, %lo(gTimeTrialDataCourseIndex)($a1)
/* 0A53C0 800A47C0 AFA20048 */ sw $v0, 0x48($sp)
.L800A47C4:
/* 0A53C4 800A47C4 0C024C36 */ jal set_text_color
@ -39,7 +39,7 @@ glabel func_800A474C
/* 0A53D0 800A47D0 8FA90050 */ lw $t1, 0x50($sp)
/* 0A53D4 800A47D4 8FA80030 */ lw $t0, 0x30($sp)
.L800A47D8:
/* 0A53D8 800A47D8 3C048019 */ lui $a0, %hi(D_8018EDF7) # $a0, 0x8019
/* 0A53D8 800A47D8 3C048019 */ lui $a0, %hi(gTimeTrialDataCourseIndex) # $a0, 0x8019
/* 0A53DC 800A47DC 15000005 */ bnez $t0, .L800A47F4
/* 0A53E0 800A47E0 00000000 */ nop
/* 0A53E4 800A47E4 0C02D3CB */ jal func_800B4F2C
@ -48,7 +48,7 @@ glabel func_800A474C
/* 0A53F0 800A47F0 AFA20048 */ sw $v0, 0x48($sp)
.L800A47F4:
/* 0A53F4 800A47F4 0C02D3EC */ jal func_800B4FB0
/* 0A53F8 800A47F8 8084EDF7 */ lb $a0, %lo(D_8018EDF7)($a0)
/* 0A53F8 800A47F8 8084EDF7 */ lb $a0, %lo(gTimeTrialDataCourseIndex)($a0)
/* 0A53FC 800A47FC AFA20048 */ sw $v0, 0x48($sp)
.L800A4800:
/* 0A5400 800A4800 8FA90050 */ lw $t1, 0x50($sp)

View File

@ -1,26 +0,0 @@
glabel func_800A86E8
/* 0A92E8 800A86E8 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 0A92EC 800A86EC AFA40030 */ sw $a0, 0x30($sp)
/* 0A92F0 800A86F0 8FAE0030 */ lw $t6, 0x30($sp)
/* 0A92F4 800A86F4 AFBF002C */ sw $ra, 0x2c($sp)
/* 0A92F8 800A86F8 3C048015 */ lui $a0, %hi(gDisplayListHead) # $a0, 0x8015
/* 0A92FC 800A86FC 8DC60010 */ lw $a2, 0x10($t6)
/* 0A9300 800A8700 8DC5000C */ lw $a1, 0xc($t6)
/* 0A9304 800A8704 24180001 */ li $t8, 1
/* 0A9308 800A8708 24190001 */ li $t9, 1
/* 0A930C 800A870C 24080001 */ li $t0, 1
/* 0A9310 800A8710 240900FF */ li $t1, 255
/* 0A9314 800A8714 24CF0027 */ addiu $t7, $a2, 0x27
/* 0A9318 800A8718 AFAF0010 */ sw $t7, 0x10($sp)
/* 0A931C 800A871C AFA90020 */ sw $t1, 0x20($sp)
/* 0A9320 800A8720 AFA8001C */ sw $t0, 0x1c($sp)
/* 0A9324 800A8724 AFB90018 */ sw $t9, 0x18($sp)
/* 0A9328 800A8728 AFB80014 */ sw $t8, 0x14($sp)
/* 0A932C 800A872C 8C840298 */ lw $a0, %lo(gDisplayListHead)($a0)
/* 0A9330 800A8730 0C026306 */ jal func_80098C18
/* 0A9334 800A8734 24A70064 */ addiu $a3, $a1, 0x64
/* 0A9338 800A8738 8FBF002C */ lw $ra, 0x2c($sp)
/* 0A933C 800A873C 3C018015 */ lui $at, %hi(gDisplayListHead) # $at, 0x8015
/* 0A9340 800A8740 AC220298 */ sw $v0, %lo(gDisplayListHead)($at)
/* 0A9344 800A8744 03E00008 */ jr $ra
/* 0A9348 800A8748 27BD0030 */ addiu $sp, $sp, 0x30

View File

@ -1,44 +0,0 @@
glabel func_800A8E14
/* 0A9A14 800A8E14 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 0A9A18 800A8E18 AFBF001C */ sw $ra, 0x1c($sp)
/* 0A9A1C 800A8E1C AFA40020 */ sw $a0, 0x20($sp)
/* 0A9A20 800A8E20 0C024C36 */ jal set_text_color
/* 0A9A24 800A8E24 24040003 */ li $a0, 3
/* 0A9A28 800A8E28 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 0A9A2C 800A8E2C 44810000 */ mtc1 $at, $f0
/* 0A9A30 800A8E30 3C06800E */ lui $a2, %hi(D_800E77A8) # $a2, 0x800e
/* 0A9A34 800A8E34 8CC677A8 */ lw $a2, %lo(D_800E77A8)($a2)
/* 0A9A38 800A8E38 24040098 */ li $a0, 152
/* 0A9A3C 800A8E3C 24050044 */ li $a1, 68
/* 0A9A40 800A8E40 00003825 */ move $a3, $zero
/* 0A9A44 800A8E44 E7A00010 */ swc1 $f0, 0x10($sp)
/* 0A9A48 800A8E48 0C024DBB */ jal draw_text
/* 0A9A4C 800A8E4C E7A00014 */ swc1 $f0, 0x14($sp)
/* 0A9A50 800A8E50 3C01800F */ lui $at, %hi(D_800F24A8) # $at, 0x800f
/* 0A9A54 800A8E54 C42424A8 */ lwc1 $f4, %lo(D_800F24A8)($at)
/* 0A9A58 800A8E58 3C01800F */ lui $at, %hi(D_800F24AC) # $at, 0x800f
/* 0A9A5C 800A8E5C C42624AC */ lwc1 $f6, %lo(D_800F24AC)($at)
/* 0A9A60 800A8E60 3C06800E */ lui $a2, %hi(D_800E77AC) # $a2, 0x800e
/* 0A9A64 800A8E64 8CC677AC */ lw $a2, %lo(D_800E77AC)($a2)
/* 0A9A68 800A8E68 24040017 */ li $a0, 23
/* 0A9A6C 800A8E6C 24050058 */ li $a1, 88
/* 0A9A70 800A8E70 00003825 */ move $a3, $zero
/* 0A9A74 800A8E74 E7A40010 */ swc1 $f4, 0x10($sp)
/* 0A9A78 800A8E78 0C024CC9 */ jal func_80093324
/* 0A9A7C 800A8E7C E7A60014 */ swc1 $f6, 0x14($sp)
/* 0A9A80 800A8E80 3C01800F */ lui $at, %hi(D_800F24B0) # $at, 0x800f
/* 0A9A84 800A8E84 C42824B0 */ lwc1 $f8, %lo(D_800F24B0)($at)
/* 0A9A88 800A8E88 3C01800F */ lui $at, %hi(D_800F24B4) # $at, 0x800f
/* 0A9A8C 800A8E8C C42A24B4 */ lwc1 $f10, %lo(D_800F24B4)($at)
/* 0A9A90 800A8E90 3C06800E */ lui $a2, %hi(D_800E77B0) # $a2, 0x800e
/* 0A9A94 800A8E94 8CC677B0 */ lw $a2, %lo(D_800E77B0)($a2)
/* 0A9A98 800A8E98 24040017 */ li $a0, 23
/* 0A9A9C 800A8E9C 2405006A */ li $a1, 106
/* 0A9AA0 800A8EA0 00003825 */ move $a3, $zero
/* 0A9AA4 800A8EA4 E7A80010 */ swc1 $f8, 0x10($sp)
/* 0A9AA8 800A8EA8 0C024CC9 */ jal func_80093324
/* 0A9AAC 800A8EAC E7AA0014 */ swc1 $f10, 0x14($sp)
/* 0A9AB0 800A8EB0 8FBF001C */ lw $ra, 0x1c($sp)
/* 0A9AB4 800A8EB4 27BD0020 */ addiu $sp, $sp, 0x20
/* 0A9AB8 800A8EB8 03E00008 */ jr $ra
/* 0A9ABC 800A8EBC 00000000 */ nop

View File

@ -1,36 +0,0 @@
glabel func_800A8EC0
/* 0A9AC0 800A8EC0 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 0A9AC4 800A8EC4 AFBF0024 */ sw $ra, 0x24($sp)
/* 0A9AC8 800A8EC8 AFB00020 */ sw $s0, 0x20($sp)
/* 0A9ACC 800A8ECC 8C8E0020 */ lw $t6, 0x20($a0)
/* 0A9AD0 800A8ED0 00808025 */ move $s0, $a0
/* 0A9AD4 800A8ED4 2407FFFF */ li $a3, -1
/* 0A9AD8 800A8ED8 51C00017 */ beql $t6, $zero, .L800A8F38
/* 0A9ADC 800A8EDC 8FBF0024 */ lw $ra, 0x24($sp)
/* 0A9AE0 800A8EE0 8C840018 */ lw $a0, 0x18($a0)
/* 0A9AE4 800A8EE4 8E05000C */ lw $a1, 0xc($s0)
/* 0A9AE8 800A8EE8 0C0269DB */ jal func_8009A76C
/* 0A9AEC 800A8EEC 8E060010 */ lw $a2, 0x10($s0)
/* 0A9AF0 800A8EF0 0C024C36 */ jal set_text_color
/* 0A9AF4 800A8EF4 24040003 */ li $a0, 3
/* 0A9AF8 800A8EF8 8E0F0020 */ lw $t7, 0x20($s0)
/* 0A9AFC 800A8EFC 3C01800F */ lui $at, %hi(D_800F24B8) # $at, 0x800f
/* 0A9B00 800A8F00 C42024B8 */ lwc1 $f0, %lo(D_800F24B8)($at)
/* 0A9B04 800A8F04 8E04000C */ lw $a0, 0xc($s0)
/* 0A9B08 800A8F08 8E050010 */ lw $a1, 0x10($s0)
/* 0A9B0C 800A8F0C 3C06800E */ lui $a2, %hi(D_800E7678)
/* 0A9B10 800A8F10 000FC080 */ sll $t8, $t7, 2
/* 0A9B14 800A8F14 00D83021 */ addu $a2, $a2, $t8
/* 0A9B18 800A8F18 8CC67678 */ lw $a2, %lo(D_800E7678)($a2)
/* 0A9B1C 800A8F1C 00003825 */ move $a3, $zero
/* 0A9B20 800A8F20 E7A00014 */ swc1 $f0, 0x14($sp)
/* 0A9B24 800A8F24 E7A00010 */ swc1 $f0, 0x10($sp)
/* 0A9B28 800A8F28 24840020 */ addiu $a0, $a0, 0x20
/* 0A9B2C 800A8F2C 0C024CC9 */ jal func_80093324
/* 0A9B30 800A8F30 24A50028 */ addiu $a1, $a1, 0x28
/* 0A9B34 800A8F34 8FBF0024 */ lw $ra, 0x24($sp)
.L800A8F38:
/* 0A9B38 800A8F38 8FB00020 */ lw $s0, 0x20($sp)
/* 0A9B3C 800A8F3C 27BD0028 */ addiu $sp, $sp, 0x28
/* 0A9B40 800A8F40 03E00008 */ jr $ra
/* 0A9B44 800A8F44 00000000 */ nop

View File

@ -1,15 +0,0 @@
glabel func_800AB260
/* 0ABE60 800AB260 8C820000 */ lw $v0, ($a0)
/* 0ABE64 800AB264 3C0E8019 */ lui $t6, %hi(gCupSelection) # $t6, 0x8019
/* 0ABE68 800AB268 81CEEE09 */ lb $t6, %lo(gCupSelection)($t6)
/* 0ABE6C 800AB26C 2442FFA8 */ addiu $v0, $v0, -0x58
/* 0ABE70 800AB270 240F0001 */ li $t7, 1
/* 0ABE74 800AB274 544E0004 */ bnel $v0, $t6, .L800AB288
/* 0ABE78 800AB278 A0800015 */ sb $zero, 0x15($a0)
/* 0ABE7C 800AB27C 03E00008 */ jr $ra
/* 0ABE80 800AB280 A08F0015 */ sb $t7, 0x15($a0)
/* 0ABE84 800AB284 A0800015 */ sb $zero, 0x15($a0)
.L800AB288:
/* 0ABE88 800AB288 03E00008 */ jr $ra
/* 0ABE8C 800AB28C 00000000 */ nop

View File

@ -1,6 +1,6 @@
glabel func_800ABB24
/* 0AC724 800ABB24 3C028019 */ lui $v0, %hi(D_8018EDF7) # $v0, 0x8019
/* 0AC728 800ABB28 8042EDF7 */ lb $v0, %lo(D_8018EDF7)($v0)
/* 0AC724 800ABB24 3C028019 */ lui $v0, %hi(gTimeTrialDataCourseIndex) # $v0, 0x8019
/* 0AC728 800ABB28 8042EDF7 */ lb $v0, %lo(gTimeTrialDataCourseIndex)($v0)
/* 0AC72C 800ABB2C 3C18800E */ lui $t8, %hi(D_800E7430) # $t8, 0x800e
/* 0AC730 800ABB30 27187430 */ addiu $t8, %lo(D_800E7430) # addiu $t8, $t8, 0x7430
/* 0AC734 800ABB34 04410003 */ bgez $v0, .L800ABB44

View File

@ -1,7 +1,7 @@
glabel func_800AEDBC
/* 0AF9BC 800AEDBC 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 0AF9C0 800AEDC0 3C038019 */ lui $v1, %hi(D_8018EDF7) # $v1, 0x8019
/* 0AF9C4 800AEDC4 2463EDF7 */ addiu $v1, %lo(D_8018EDF7) # addiu $v1, $v1, -0x1209
/* 0AF9C0 800AEDC0 3C038019 */ lui $v1, %hi(gTimeTrialDataCourseIndex) # $v1, 0x8019
/* 0AF9C4 800AEDC4 2463EDF7 */ addiu $v1, %lo(gTimeTrialDataCourseIndex) # addiu $v1, $v1, -0x1209
/* 0AF9C8 800AEDC8 AFBF0014 */ sw $ra, 0x14($sp)
/* 0AF9CC 800AEDCC 8C8E001C */ lw $t6, 0x1c($a0)
/* 0AF9D0 800AEDD0 80620000 */ lb $v0, ($v1)

View File

@ -29,8 +29,8 @@ glabel func_800B13B0
/* 0B2018 800B1418 306F8000 */ andi $t7, $v1, 0x8000
/* 0B201C 800B141C 30AB0400 */ andi $t3, $a1, 0x400
/* 0B2020 800B1420 11600011 */ beqz $t3, .L800B1468
/* 0B2024 800B1424 3C058019 */ lui $a1, %hi(D_8018EDF7) # $a1, 0x8019
/* 0B2028 800B1428 24A5EDF7 */ addiu $a1, %lo(D_8018EDF7) # addiu $a1, $a1, -0x1209
/* 0B2024 800B1424 3C058019 */ lui $a1, %hi(gTimeTrialDataCourseIndex) # $a1, 0x8019
/* 0B2028 800B1428 24A5EDF7 */ addiu $a1, %lo(gTimeTrialDataCourseIndex) # addiu $a1, $a1, -0x1209
/* 0B202C 800B142C 80A20000 */ lb $v0, ($a1)
/* 0B2030 800B1430 24010003 */ li $at, 3
/* 0B2034 800B1434 3C044900 */ lui $a0, (0x49008000 >> 16) # lui $a0, 0x4900
@ -48,10 +48,10 @@ glabel func_800B13B0
/* 0B2060 800B1460 AFA30018 */ sw $v1, 0x18($sp)
/* 0B2064 800B1464 8FA30018 */ lw $v1, 0x18($sp)
.L800B1468:
/* 0B2068 800B1468 3C058019 */ lui $a1, %hi(D_8018EDF7) # $a1, 0x8019
/* 0B2068 800B1468 3C058019 */ lui $a1, %hi(gTimeTrialDataCourseIndex) # $a1, 0x8019
/* 0B206C 800B146C 306E0800 */ andi $t6, $v1, 0x800
/* 0B2070 800B1470 11C0000D */ beqz $t6, .L800B14A8
/* 0B2074 800B1474 24A5EDF7 */ addiu $a1, %lo(D_8018EDF7) # addiu $a1, $a1, -0x1209
/* 0B2074 800B1474 24A5EDF7 */ addiu $a1, %lo(gTimeTrialDataCourseIndex) # addiu $a1, $a1, -0x1209
/* 0B2078 800B1478 80A20000 */ lb $v0, ($a1)
/* 0B207C 800B147C 3C044900 */ lui $a0, (0x49008000 >> 16) # lui $a0, 0x4900
/* 0B2080 800B1480 34848000 */ ori $a0, (0x49008000 & 0xFFFF) # ori $a0, $a0, 0x8000
@ -61,8 +61,8 @@ glabel func_800B13B0
/* 0B2090 800B1490 A0B80000 */ sb $t8, ($a1)
/* 0B2094 800B1494 0C032384 */ jal play_sound2
/* 0B2098 800B1498 AFA30018 */ sw $v1, 0x18($sp)
/* 0B209C 800B149C 3C058019 */ lui $a1, %hi(D_8018EDF7) # $a1, 0x8019
/* 0B20A0 800B14A0 24A5EDF7 */ addiu $a1, %lo(D_8018EDF7) # addiu $a1, $a1, -0x1209
/* 0B209C 800B149C 3C058019 */ lui $a1, %hi(gTimeTrialDataCourseIndex) # $a1, 0x8019
/* 0B20A0 800B14A0 24A5EDF7 */ addiu $a1, %lo(gTimeTrialDataCourseIndex) # addiu $a1, $a1, -0x1209
/* 0B20A4 800B14A4 8FA30018 */ lw $v1, 0x18($sp)
.L800B14A8:
/* 0B20A8 800B14A8 30790100 */ andi $t9, $v1, 0x100
@ -82,8 +82,8 @@ glabel func_800B13B0
/* 0B20DC 800B14DC A0A90000 */ sb $t1, ($a1)
/* 0B20E0 800B14E0 0C032384 */ jal play_sound2
/* 0B20E4 800B14E4 AFA30018 */ sw $v1, 0x18($sp)
/* 0B20E8 800B14E8 3C058019 */ lui $a1, %hi(D_8018EDF7) # $a1, 0x8019
/* 0B20EC 800B14EC 24A5EDF7 */ addiu $a1, %lo(D_8018EDF7) # addiu $a1, $a1, -0x1209
/* 0B20E8 800B14E8 3C058019 */ lui $a1, %hi(gTimeTrialDataCourseIndex) # $a1, 0x8019
/* 0B20EC 800B14EC 24A5EDF7 */ addiu $a1, %lo(gTimeTrialDataCourseIndex) # addiu $a1, $a1, -0x1209
/* 0B20F0 800B14F0 8FA30018 */ lw $v1, 0x18($sp)
.L800B14F4:
/* 0B20F4 800B14F4 306A0200 */ andi $t2, $v1, 0x200

View File

@ -37,8 +37,8 @@ glabel func_800B15AC
.L800B1634:
/* 0B2234 800B1634 1180000C */ beqz $t4, .L800B1668
/* 0B2238 800B1638 00603825 */ move $a3, $v1
/* 0B223C 800B163C 3C028019 */ lui $v0, %hi(D_8018EDF7) # $v0, 0x8019
/* 0B2240 800B1640 2442EDF7 */ addiu $v0, %lo(D_8018EDF7) # addiu $v0, $v0, -0x1209
/* 0B223C 800B163C 3C028019 */ lui $v0, %hi(gTimeTrialDataCourseIndex) # $v0, 0x8019
/* 0B2240 800B1640 2442EDF7 */ addiu $v0, %lo(gTimeTrialDataCourseIndex) # addiu $v0, $v0, -0x1209
/* 0B2244 800B1644 80450000 */ lb $a1, ($v0)
/* 0B2248 800B1648 3C044900 */ lui $a0, (0x49008000 >> 16) # lui $a0, 0x4900
/* 0B224C 800B164C 34848000 */ ori $a0, (0x49008000 & 0xFFFF) # ori $a0, $a0, 0x8000
@ -49,10 +49,10 @@ glabel func_800B15AC
/* 0B2260 800B1660 AFA30018 */ sw $v1, 0x18($sp)
/* 0B2264 800B1664 8FA70018 */ lw $a3, 0x18($sp)
.L800B1668:
/* 0B2268 800B1668 3C028019 */ lui $v0, %hi(D_8018EDF7) # $v0, 0x8019
/* 0B2268 800B1668 3C028019 */ lui $v0, %hi(gTimeTrialDataCourseIndex) # $v0, 0x8019
/* 0B226C 800B166C 30EE0100 */ andi $t6, $a3, 0x100
/* 0B2270 800B1670 11C0000B */ beqz $t6, .L800B16A0
/* 0B2274 800B1674 2442EDF7 */ addiu $v0, %lo(D_8018EDF7) # addiu $v0, $v0, -0x1209
/* 0B2274 800B1674 2442EDF7 */ addiu $v0, %lo(gTimeTrialDataCourseIndex) # addiu $v0, $v0, -0x1209
/* 0B2278 800B1678 80450000 */ lb $a1, ($v0)
/* 0B227C 800B167C 3C044900 */ lui $a0, (0x49008000 >> 16) # lui $a0, 0x4900
/* 0B2280 800B1680 34848000 */ ori $a0, (0x49008000 & 0xFFFF) # ori $a0, $a0, 0x8000
@ -67,8 +67,8 @@ glabel func_800B15AC
/* 0B22A0 800B16A0 240400E8 */ li $a0, 232
/* 0B22A4 800B16A4 0C02ABBD */ jal func_800AAEF4
/* 0B22A8 800B16A8 AFA70018 */ sw $a3, 0x18($sp)
/* 0B22AC 800B16AC 3C058019 */ lui $a1, %hi(D_8018EDF7) # $a1, 0x8019
/* 0B22B0 800B16B0 80A5EDF7 */ lb $a1, %lo(D_8018EDF7)($a1)
/* 0B22AC 800B16AC 3C058019 */ lui $a1, %hi(gTimeTrialDataCourseIndex) # $a1, 0x8019
/* 0B22B0 800B16B0 80A5EDF7 */ lb $a1, %lo(gTimeTrialDataCourseIndex)($a1)
/* 0B22B4 800B16B4 3C038019 */ lui $v1, %hi(D_8018EDF8) # $v1, 0x8019
/* 0B22B8 800B16B8 2463EDF8 */ addiu $v1, %lo(D_8018EDF8) # addiu $v1, $v1, -0x1208
/* 0B22BC 800B16BC 806E0000 */ lb $t6, ($v1)
@ -178,7 +178,7 @@ glabel func_800B15AC
/* 0B243C 800B183C A06A0000 */ sb $t2, ($v1)
/* 0B2440 800B1840 80620000 */ lb $v0, ($v1)
/* 0B2444 800B1844 24010002 */ li $at, 2
/* 0B2448 800B1848 3C048019 */ lui $a0, %hi(D_8018EDF7)
/* 0B2448 800B1848 3C048019 */ lui $a0, %hi(gTimeTrialDataCourseIndex)
/* 0B244C 800B184C 15220007 */ bne $t1, $v0, .L800B186C
/* 0B2450 800B1850 00000000 */ nop
/* 0B2454 800B1854 91190012 */ lbu $t9, 0x12($t0)
@ -190,7 +190,7 @@ glabel func_800B15AC
.L800B186C:
/* 0B246C 800B186C 54410015 */ bnel $v0, $at, .L800B18C4
/* 0B2470 800B1870 3C044900 */ lui $a0, (0x49008000 >> 16) # $a0, 0x4900
/* 0B2474 800B1874 8084EDF7 */ lb $a0, %lo(D_8018EDF7)($a0)
/* 0B2474 800B1874 8084EDF7 */ lb $a0, %lo(gTimeTrialDataCourseIndex)($a0)
/* 0B2478 800B1878 AFA60028 */ sw $a2, 0x28($sp)
/* 0B247C 800B187C AFA70018 */ sw $a3, 0x18($sp)
/* 0B2480 800B1880 0C02D8E7 */ jal func_800B639C
@ -385,17 +385,17 @@ glabel func_800B15AC
/* 0B2744 800B1B44 00002825 */ move $a1, $zero
/* 0B2748 800B1B48 24010002 */ li $at, 2
/* 0B274C 800B1B4C 10490005 */ beq $v0, $t1, .L800B1B64
/* 0B2750 800B1B50 3C048019 */ lui $a0, %hi(D_8018EDF7)
/* 0B2750 800B1B50 3C048019 */ lui $a0, %hi(gTimeTrialDataCourseIndex)
/* 0B2754 800B1B54 1041000D */ beq $v0, $at, .L800B1B8C
/* 0B2758 800B1B58 3C048019 */ lui $a0, %hi(D_8018EDF7) # $a0, 0x8019
/* 0B2758 800B1B58 3C048019 */ lui $a0, %hi(gTimeTrialDataCourseIndex) # $a0, 0x8019
/* 0B275C 800B1B5C 10000026 */ b .L800B1BF8
/* 0B2760 800B1B60 24AC0001 */ addiu $t4, $a1, 1
.L800B1B64:
/* 0B2764 800B1B64 0C02D1CA */ jal func_800B4728
/* 0B2768 800B1B68 8084EDF7 */ lb $a0, %lo(D_8018EDF7)($a0)
/* 0B276C 800B1B6C 3C048019 */ lui $a0, %hi(D_8018EDF7) # $a0, 0x8019
/* 0B2768 800B1B68 8084EDF7 */ lb $a0, %lo(gTimeTrialDataCourseIndex)($a0)
/* 0B276C 800B1B6C 3C048019 */ lui $a0, %hi(gTimeTrialDataCourseIndex) # $a0, 0x8019
/* 0B2770 800B1B70 0C02D567 */ jal func_800B559C
/* 0B2774 800B1B74 8084EDF7 */ lb $a0, %lo(D_8018EDF7)($a0)
/* 0B2774 800B1B74 8084EDF7 */ lb $a0, %lo(gTimeTrialDataCourseIndex)($a0)
/* 0B2778 800B1B78 3C044900 */ lui $a0, (0x4900801D >> 16) # $a0, 0x4900
/* 0B277C 800B1B7C 0C032384 */ jal play_sound2
/* 0B2780 800B1B80 3484801D */ ori $a0, (0x4900801D & 0xFFFF) # ori $a0, $a0, 0x801d
@ -403,7 +403,7 @@ glabel func_800B15AC
/* 0B2788 800B1B88 2405FFFF */ li $a1, -1
.L800B1B8C:
/* 0B278C 800B1B8C 0C02D8E7 */ jal func_800B639C
/* 0B2790 800B1B90 8084EDF7 */ lb $a0, %lo(D_8018EDF7)($a0)
/* 0B2790 800B1B90 8084EDF7 */ lb $a0, %lo(gTimeTrialDataCourseIndex)($a0)
/* 0B2794 800B1B94 04400017 */ bltz $v0, .L800B1BF4
/* 0B2798 800B1B98 00402825 */ move $a1, $v0
/* 0B279C 800B1B9C 00402025 */ move $a0, $v0

View File

@ -78,9 +78,9 @@ glabel L800B4070
/* 0B4C8C 800B408C 3C018019 */ lui $at, %hi(gCupCourseSelection) # $at, 0x8019
/* 0B4C90 800B4090 A020EE0B */ sb $zero, %lo(gCupCourseSelection)($at)
/* 0B4C94 800B4094 3C048019 */ lui $a0, %hi(D_8018EDF3) # $a0, 0x8019
/* 0B4C98 800B4098 3C018019 */ lui $at, %hi(D_8018EDF7) # $at, 0x8019
/* 0B4C98 800B4098 3C018019 */ lui $at, %hi(gTimeTrialDataCourseIndex) # $at, 0x8019
/* 0B4C9C 800B409C 2484EDF3 */ addiu $a0, %lo(D_8018EDF3) # addiu $a0, $a0, -0x120d
/* 0B4CA0 800B40A0 A020EDF7 */ sb $zero, %lo(D_8018EDF7)($at)
/* 0B4CA0 800B40A0 A020EDF7 */ sb $zero, %lo(gTimeTrialDataCourseIndex)($at)
/* 0B4CA4 800B40A4 80870000 */ lb $a3, ($a0)
/* 0B4CA8 800B40A8 24080004 */ li $t0, 4
/* 0B4CAC 800B40AC 3C19800F */ lui $t9, %hi(D_800F2BDF) # 0x800f

View File

@ -32,6 +32,26 @@ typedef enum {
/* 0x15 */ NUM_COURSES
} COURSES;
typedef enum {
/* 0x00 */ TIME_TRIAL_DATA_LUIGI_RACEWAY,
/* 0x01 */ TIME_TRIAL_DATA_MOO_MOO_FARM,
/* 0x02 */ TIME_TRIAL_DATA_KOOPA_BEACH,
/* 0x03 */ TIME_TRIAL_DATA_KALAMARI_DESERT,
/* 0x04 */ TIME_TRIAL_DATA_TOADS_TURNPIKE,
/* 0x05 */ TIME_TRIAL_DATA_FRAPPE_SNOWLAND,
/* 0x06 */ TIME_TRIAL_DATA_CHOCO_MOUNTAIN,
/* 0x07 */ TIME_TRIAL_DATA_MARIO_RACEWAY,
/* 0x08 */ TIME_TRIAL_DATA_WARIO_STADIUM,
/* 0x09 */ TIME_TRIAL_DATA_SHERBET_LAND,
/* 0x0A */ TIME_TRIAL_DATA_ROYAL_RACEWAY,
/* 0x0B */ TIME_TRIAL_DATA_BOWSER_CASTLE,
/* 0x0C */ TIME_TRIAL_DATA_DK_JUNGLE,
/* 0x0D */ TIME_TRIAL_DATA_YOSHI_VALLEY,
/* 0x0E */ TIME_TRIAL_DATA_BANSHEE_BOARDWALK,
/* 0x0F */ TIME_TRIAL_DATA_RAINBOW_ROAD,
/* 0x10 */ NUM_TIME_TRIAL_DATA
} TIME_TRIAL_DATA_INDEX;
// This was added as a silly idea:
// In the data to use "A, B, Z, R" instead of hex numbers.
typedef enum {
@ -454,4 +474,11 @@ typedef struct {
/* 0x14 */ s32 unk14; // Flip flops between 0 and 1, use unknown
} struct_8018DEE0_entry; // size = 0x18
typedef struct {
/* 0x00 */ u16 red;
/* 0x02 */ u16 green;
/* 0x04 */ u16 blue;
/* 0x06 */ u16 alpha;
} RGBA16; // size = 0x08
#endif

View File

@ -170,4 +170,9 @@
#define CUP_COURSE_FOUR 3
#define NUM_COURSES_PER_CUP 4
/**
* Max representable time, 100 minutes measured in centiseconds
*/
#define MAX_TIME 0x927C0
#endif // DEFINES_H

View File

@ -13,7 +13,7 @@ extern f32 gCourseCompletionPercentByPlayerId[8]; // D_801644D0
extern f32 gCourseCompletionPercentByRank[8]; // D_80162FD8
extern s8 gCupCourseSelection; // D_8018EE0B
extern char *gCupNames[]; // D_800E7500
extern s8 gCupSelection;
extern s8 gCupSelection; // D_8018EE09
// Maps course IDs (as defined in the COURSES enum) to the cup they belong to
extern u8 gCupSelectionByCourseId[NUM_COURSES]; // D_800E7664
extern s16 gCurrentCourseId;
@ -39,6 +39,7 @@ extern u8 gSoundMode; // D_8018EDF2
extern char *gSoundModeNames[NUM_SOUND_MODES]; // D_800E7710
// Indexed by Player ID. Track time in seconds since player has last crossed the finish line
extern f32 gTimePlayerLastTouchedFinishLine[8]; // D_8015F898
extern s8 gTimeTrialDataCourseIndex; // D_8018EDF7
extern struct_8018D9E0_entry D_8018D9E0[32]; // D_8018D9E0
extern struct_8018DEE0_entry D_8018DEE0[16]; // D_8018DEE0

View File

@ -8241,10 +8241,10 @@ block_63:
/* Duplicate return node #87. Try simplifying control flow for better match */
return;
case 0xE6: /* switch 2 */
temp_v0_8 = D_8018EDF7;
temp_v0_8 = gTimeTrialDataCourseIndex;
sp7C = phi_ra;
phi_ra->unk18 = func_8009A374(segmented_to_virtual_dupe(*(&D_800E7E34 + (*(&gCupCourseOrder + (((temp_v0_8 / 4) * 8) + ((temp_v0_8 % 4) * 2))) * 4))));
phi_ra->unk1C = D_8018EDF7;
phi_ra->unk1C = gTimeTrialDataCourseIndex;
func_800996BC(segmented_to_virtual(&D_02004A0C), 0);
func_8006EF60();
if (func_800B5B94() == 0) {
@ -9363,35 +9363,17 @@ to all jump sources and move the label, or add a nop to the delay slot).
GLOBAL_ASM("asm/non_matchings/code_80091750/func_800A10CC.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
void *func_8009BA74(void *, s32, s32, s32); // extern
void *segmented_to_virtual(segment_address_t); // extern
extern ? D_800E74A8;
extern ? D_800E82B4;
extern void *gDisplayListHead;
extern RGBA16 D_800E74A8[5];
extern Mk64_Texture_Group *D_800E82B4[5];
void func_800A11D0(void *arg0, s32 arg1, s32 arg2) {
s32 temp_a3;
void *temp_v0;
void *temp_v0_2;
void *temp_v1;
void func_800A11D0(struct_8018D9E0_entry *arg0, s32 arg1, s32 arg2) {
RGBA16 *temp_v1;
temp_v0 = gDisplayListHead;
gDisplayListHead = temp_v0 + 8;
temp_v1 = (arg1 * 8) + &D_800E74A8;
temp_v0->unk0 = 0xFA000000;
temp_v0->unk4 = (temp_v1->unk0 << 0x18) | ((temp_v1->unk2 & 0xFF) << 0x10) | ((temp_v1->unk4 & 0xFF) << 8) | (temp_v1->unk6 & 0xFF);
temp_v0_2 = gDisplayListHead;
temp_a3 = arg2 & 0xFF;
gDisplayListHead = temp_v0_2 + 8;
temp_v0_2->unk0 = 0xFB000000;
temp_v0_2->unk4 = (temp_a3 << 0x18) | (temp_a3 << 0x10) | (temp_a3 << 8);
gDisplayListHead = func_8009BA74(gDisplayListHead, segmented_to_virtual(*(&D_800E82B4 + (arg1 * 4))), arg0->unkC, arg0->unk10);
temp_v1 = &D_800E74A8[arg1];
gDPSetPrimColor(gDisplayListHead++, 0, 0, temp_v1->red, temp_v1->green, temp_v1->blue, temp_v1->alpha);
gDPSetEnvColor(gDisplayListHead++, arg2, arg2, arg2, 0x00);
gDisplayListHead = func_8009BA74(gDisplayListHead, segmented_to_virtual(D_800E82B4[arg1]), arg0->column, arg0->row);
}
#else
GLOBAL_ASM("asm/non_matchings/code_80091750/func_800A11D0.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909
@ -9562,39 +9544,20 @@ void func_800A1780(void *arg0) {
GLOBAL_ASM("asm/non_matchings/code_80091750/func_800A1780.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
? func_8004EF9C(s16); // extern
void *func_800959A0(void *, ?, ?, ?, s32); // extern
? func_8009A76C(s32, ?, ?, ?); // extern
void *func_8009BA74(void *, ? *, ?, ?); // extern
s32 func_800B639C(s8); // extern
extern ? D_02004A0C;
extern s8 D_8018EDF7;
extern ? gCupCourseOrder;
extern void *gDisplayListHead;
extern Gfx D_02004A0C[];
extern s16 gCupCourseOrder[4][4];
void func_800A1924(void *arg0) {
s8 temp_v0_2;
void *temp_v0;
void *temp_v0_3;
func_8009A76C(arg0->unk18, 0x17, 0x84, -1);
if (func_800B639C(D_8018EDF7) >= 0) {
temp_v0 = func_800959A0(gDisplayListHead, 0x57, 0x84, 0x96, 0x95);
gDisplayListHead = temp_v0;
gDisplayListHead = func_8009BA74(temp_v0, &D_02004A0C, 0x57, 0x84);
void func_800A1924(struct_8018D9E0_entry *arg0) {
func_8009A76C(arg0->D_8018DEE0_index, 0x17, 0x84, -1);
if (func_800B639C(gTimeTrialDataCourseIndex) >= TIME_TRIAL_DATA_LUIGI_RACEWAY) {
gDisplayListHead = func_800959A0(gDisplayListHead, 0x57, 0x84, 0x96, 0x95);
gDisplayListHead = func_8009BA74(gDisplayListHead, D_02004A0C, 0x57, 0x84);
}
temp_v0_2 = D_8018EDF7;
func_8004EF9C(*(&gCupCourseOrder + (((temp_v0_2 / 4) * 8) + ((temp_v0_2 % 4) * 2))));
temp_v0_3 = gDisplayListHead;
gDisplayListHead = temp_v0_3 + 8;
temp_v0_3->unk4 = 0x2000;
temp_v0_3->unk0 = 0xBA000C02;
func_8004EF9C(gCupCourseOrder[gTimeTrialDataCourseIndex / 4][gTimeTrialDataCourseIndex % 4]);
do {
gDPSetTextureFilter(gDisplayListHead++, G_TF_BILERP);
} while(0);
}
#else
GLOBAL_ASM("asm/non_matchings/code_80091750/func_800A1924.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
@ -9608,7 +9571,7 @@ extern ? *D_800E7728;
extern ? *D_800E772C;
extern ? D_800E77D8;
extern ? D_800E77E4;
extern s8 D_8018EDF7;
extern s8 gTimeTrialDataCourseIndex;
extern ? gCupCourseOrder;
void func_800A1A20(void *arg0) {
@ -9619,7 +9582,7 @@ void func_800A1A20(void *arg0) {
s32 phi_s0;
s32 phi_s1;
temp_v0 = D_8018EDF7;
temp_v0 = gTimeTrialDataCourseIndex;
temp_s1 = *(&gCupCourseOrder + (((temp_v0 / 4) * 8) + ((temp_v0 % 4) * 2)));
arg0->unkC = 0x14;
set_text_color(TEXT_BLUE_GREEN_RED_CYCLE_1);
@ -9657,7 +9620,7 @@ s32 func_800B639C(s8); // extern
extern s32 D_800E7834;
extern f32 D_800F1B54;
extern ? D_8018EB90;
extern s8 D_8018EDF7;
extern s8 gTimeTrialDataCourseIndex;
extern s8 D_8018EDF8;
extern void *gDisplayListHead;
@ -9674,7 +9637,7 @@ void func_800A1BE0(s32 arg0) {
s32 *phi_s3;
? phi_s2;
temp_v0 = D_8018EDF7;
temp_v0 = gTimeTrialDataCourseIndex;
temp_f20 = D_800F1B54;
phi_s0 = 0;
phi_s4 = 0x3F;
@ -9688,7 +9651,7 @@ void func_800A1BE0(s32 arg0) {
if (phi_s0 != 1) {
if (phi_s0 != 2) {
} else if (func_800B639C(D_8018EDF7) < 0) {
} else if (func_800B639C(gTimeTrialDataCourseIndex) < 0) {
goto block_9;
}
} else if ((((temp_v0 / 4) * 0x60) + ((temp_v0 % 4) * 0x18) + &D_8018EB90)->unk12 == 0) {
@ -11193,7 +11156,7 @@ extern ? D_800E7744;
extern ? D_800F0C54;
extern ? D_800F0C58;
extern f32 D_800F1DC8;
extern s8 D_8018EDF7;
extern s8 gTimeTrialDataCourseIndex;
extern s32 gGlobalTimer;
void func_800A474C(s32 arg0, s32 arg1, s32 arg2) {
@ -11216,17 +11179,17 @@ void func_800A474C(s32 arg0, s32 arg1, s32 arg2) {
}
if (arg0 < 5) {
if (sp30 == 0) {
phi_v0 = func_800B4E24(arg0, &D_8018EDF7);
phi_v0 = func_800B4E24(arg0, &gTimeTrialDataCourseIndex);
} else {
phi_v0 = func_800B4EB4(arg0, D_8018EDF7);
phi_v0 = func_800B4EB4(arg0, gTimeTrialDataCourseIndex);
}
sp48 = phi_v0;
set_text_color(TEXT_GREEN);
} else {
if (sp30 == 0) {
phi_v0_2 = func_800B4F2C(&D_8018EDF7);
phi_v0_2 = func_800B4F2C(&gTimeTrialDataCourseIndex);
} else {
phi_v0_2 = func_800B4FB0(D_8018EDF7);
phi_v0_2 = func_800B4FB0(gTimeTrialDataCourseIndex);
}
sp48 = phi_v0_2;
}
@ -11265,7 +11228,7 @@ block_21:
get_time_record_centiseconds(sp2C, &sp38);
// Print millisecond
func_800939C8(arg1 + 0x50, arg2, &sp38, 0, temp_f20, temp_f20);
if (sp2C < 0x927C0) {
if (sp2C < MAX_TIME) {
phi_v0_3 = sp48 >> 0x14;
} else {
phi_v0_3 = 8;
@ -12756,7 +12719,7 @@ void write_dashes(char *buffer) {
void get_time_record_minutes(s32 timeRecord, char *buffer) {
// If timeRecord is greater than 100 minutes, put '-'
// in buffer
if (timeRecord >= 0x927C0) {
if (timeRecord >= MAX_TIME) {
write_dashes(buffer);
return;
}
@ -12768,7 +12731,7 @@ void get_time_record_minutes(s32 timeRecord, char *buffer) {
void get_time_record_seconds(s32 timeRecord, char *buffer) {
// If timeRecord is greater than 100 minutes, put '-'
// in buffer
if (timeRecord >= 0x927C0) {
if (timeRecord >= MAX_TIME) {
write_dashes(buffer);
return;
}
@ -12780,7 +12743,7 @@ void get_time_record_seconds(s32 timeRecord, char *buffer) {
void get_time_record_centiseconds(s32 timeRecord, char *buffer) {
// If timeRecord is greater than 100 minutes, put '-'
// in buffer
if (timeRecord >= 0x927C0) {
if (timeRecord >= MAX_TIME) {
write_dashes(buffer);
return;
}
@ -13440,22 +13403,9 @@ block_12:
GLOBAL_ASM("asm/non_matchings/code_80091750/func_800A8564.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
s32 func_80098C18(s32, s32, s32, s32, s32, s32, s32, s32, s32); // extern
extern s32 gDisplayListHead;
void func_800A86E8(void *arg0) {
s32 temp_a1;
s32 temp_a2;
temp_a2 = arg0->unk10;
temp_a1 = arg0->unkC;
gDisplayListHead = func_80098C18(gDisplayListHead, temp_a1, temp_a2, temp_a1 + 0x64, temp_a2 + 0x27, 1, 1, 1, 0xFF);
void func_800A86E8(struct_8018D9E0_entry *arg0) {
gDisplayListHead = func_80098C18(gDisplayListHead, arg0->column, arg0->row, arg0->column + 0x64, arg0->row + 0x27, 1, 1, 1, 0xFF);
}
#else
GLOBAL_ASM("asm/non_matchings/code_80091750/func_800A86E8.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
@ -13499,7 +13449,7 @@ void func_800A874C(void *arg0) {
func_80093324(arg0->unkC + 0x20, arg0->unk10 + 0x21, &D_800F0C9C, 0, temp_f20, temp_f22);
get_time_record_centiseconds(temp_s1, &sp58);
text_draw(arg0->unkC + 0x29, arg0->unk10 + 0x21, &sp58, 0, temp_f20, temp_f22);
if (temp_s1 < 0x927C0) {
if (temp_s1 < MAX_TIME) {
phi_s2 = phi_v0 >> 0x14;
} else {
phi_s2 = 8;
@ -13675,50 +13625,31 @@ void func_800A8CA4(void *arg0) {
GLOBAL_ASM("asm/non_matchings/code_80091750/func_800A8CA4.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
? draw_text(?, ?, s32, ?, f32, f32); // extern
? func_80093324(?, ?, s32, ?, f32, f32); // extern
? set_text_color(?); // extern
extern s32 D_800E77A8;
extern s32 D_800E77AC;
extern s32 D_800E77B0;
extern char *D_800E77A8;
extern char *D_800E77AC;
extern char *D_800E77B0;
extern f32 D_800F24A8;
extern f32 D_800F24AC;
extern f32 D_800F24B0;
extern f32 D_800F24B4;
void func_800A8E14(s32 arg0) {
void func_800A8E14(struct_8018D9E0_entry *unused) {
set_text_color(TEXT_YELLOW);
draw_text(0x98, 0x44, D_800E77A8, 0, 1.0f, 1.0f);
func_80093324(0x17, 0x58, D_800E77AC, 0, D_800F24A8, D_800F24AC);
func_80093324(0x17, 0x6A, D_800E77B0, 0, D_800F24B0, D_800F24B4);
}
#else
GLOBAL_ASM("asm/non_matchings/code_80091750/func_800A8E14.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
? func_80093324(s32, s32, s32, ?, f32, f32); // extern
? func_8009A76C(s32, s32, s32, ?); // extern
? set_text_color(?); // extern
extern ? D_800E7678;
extern char *D_800E7678[];
extern f32 D_800F24B8;
void func_800A8EC0(void *arg0) {
f32 temp_f0;
void func_800A8EC0(struct_8018D9E0_entry *arg0) {
if (arg0->unk20 != 0) {
func_8009A76C(arg0->unk18, arg0->unkC, arg0->unk10, -1);
func_8009A76C(arg0->D_8018DEE0_index, arg0->column, arg0->row, -1);
set_text_color(TEXT_YELLOW);
temp_f0 = D_800F24B8;
func_80093324(arg0->unkC + 0x20, arg0->unk10 + 0x28, *(&D_800E7678 + (arg0->unk20 * 4)), 0, temp_f0, temp_f0);
func_80093324(arg0->column + 0x20, arg0->row + 0x28, D_800E7678[arg0->unk20], 0, D_800F24B8, D_800F24B8);
}
}
#else
GLOBAL_ASM("asm/non_matchings/code_80091750/func_800A8EC0.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
@ -15394,20 +15325,15 @@ void func_800AB164(void *arg0) {
GLOBAL_ASM("asm/non_matchings/code_80091750/func_800AB164.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
extern s8 gCupSelection;
void func_800AB260(void *arg0) {
if ((arg0->unk0 - 0x58) == gCupSelection) {
arg0->unk15 = 1;
return;
void func_800AB260(struct_8018D9E0_entry *arg0) {
s32 temp = (arg0->type - 0x58);
if (temp == gCupSelection) {
arg0->visible = 1;
}
else{
arg0->visible = 0;
}
arg0->unk15 = 0;
}
#else
GLOBAL_ASM("asm/non_matchings/code_80091750/func_800AB260.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
@ -15766,14 +15692,14 @@ GLOBAL_ASM("asm/non_matchings/code_80091750/func_800ABAE8.s")
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
extern ? D_800E7430;
extern s8 D_8018EDF7;
extern s8 gTimeTrialDataCourseIndex;
void func_800ABB24(void *arg0) {
s32 temp_t7;
s8 temp_v0;
void *temp_v1;
temp_v0 = D_8018EDF7;
temp_v0 = gTimeTrialDataCourseIndex;
temp_v1 = ((temp_v0 / 4) * 8) + &D_800E7430;
arg0->unkC = temp_v1->unk0 - 2;
temp_t7 = arg0->unk1C + 0x10;
@ -17655,7 +17581,7 @@ s32 func_800B5B94(); // extern
? func_800B6708(); // extern
void *segmented_to_virtual_dupe(segment_address_t); // extern
extern ? D_800E7E34;
extern s8 D_8018EDF7;
extern s8 gTimeTrialDataCourseIndex;
extern ? D_8018EE10;
extern ? gCupCourseOrder;
@ -17664,11 +17590,11 @@ void func_800AEDBC(void *arg0) {
s8 temp_v0_2;
void *temp_a3;
temp_v0 = D_8018EDF7;
temp_v0 = gTimeTrialDataCourseIndex;
temp_a3 = arg0;
if (temp_v0 != arg0->unk1C) {
arg0->unk1C = temp_v0;
temp_v0_2 = D_8018EDF7;
temp_v0_2 = gTimeTrialDataCourseIndex;
arg0 = temp_a3;
func_8009A594(arg0->unk18, 0, segmented_to_virtual_dupe(*(&D_800E7E34 + (*(&gCupCourseOrder + (((temp_v0_2 / 4) * 8) + ((temp_v0_2 % 4) * 2))) * 4))), arg0);
if (func_800B5B94() == 0) {

View File

@ -1056,7 +1056,7 @@ GLOBAL_ASM("asm/non_matchings/code_800AF9B0/func_800B053C.s")
s32 func_800B4520(u16); // extern
? play_sound2(?, s8 *); // extern
extern s8 D_8018EDEC;
extern s8 D_8018EDF7;
extern s8 gTimeTrialDataCourseIndex;
extern s8 D_8018EDF8;
void func_800B13B0(void *arg0, ? arg1) {
@ -1079,29 +1079,29 @@ void func_800B13B0(void *arg0, ? arg1) {
if (func_800B4520(phi_a1) == 0) {
if (D_8018EDEC == 1) {
if ((phi_a1 & 0x400) != 0) {
temp_v0 = D_8018EDF7;
temp_v0 = gTimeTrialDataCourseIndex;
if ((temp_v0 % 4) != 3) {
D_8018EDF7 = temp_v0 + 1;
gTimeTrialDataCourseIndex = temp_v0 + 1;
sp18 = phi_a1;
play_sound2(0x49008000, &D_8018EDF7);
play_sound2(0x49008000, &gTimeTrialDataCourseIndex);
}
}
if ((phi_a1 & 0x800) != 0) {
temp_v0_2 = D_8018EDF7;
temp_v0_2 = gTimeTrialDataCourseIndex;
if ((temp_v0_2 & 3) != 0) {
D_8018EDF7 = temp_v0_2 - 1;
gTimeTrialDataCourseIndex = temp_v0_2 - 1;
sp18 = phi_a1;
play_sound2(0x49008000, &D_8018EDF7);
play_sound2(0x49008000, &gTimeTrialDataCourseIndex);
}
}
phi_a1_2 = &D_8018EDF7;
phi_a1_2 = &gTimeTrialDataCourseIndex;
if ((phi_a1 & 0x100) != 0) {
temp_v0_3 = D_8018EDF7;
temp_v0_3 = gTimeTrialDataCourseIndex;
if ((temp_v0_3 / 4) != 3) {
D_8018EDF7 = temp_v0_3 + 4;
gTimeTrialDataCourseIndex = temp_v0_3 + 4;
sp18 = phi_a1;
play_sound2(0x49008000, &D_8018EDF7);
phi_a1_2 = &D_8018EDF7;
play_sound2(0x49008000, &gTimeTrialDataCourseIndex);
phi_a1_2 = &gTimeTrialDataCourseIndex;
}
}
if ((phi_a1 & 0x200) != 0) {
@ -1154,7 +1154,7 @@ extern f64 D_800F2DA8;
extern f64 D_800F2DB0;
extern ? D_8018EB90;
extern s8 D_8018EDEC;
extern s8 D_8018EDF7;
extern s8 gTimeTrialDataCourseIndex;
extern s8 D_8018EDF8;
extern s8 D_8018EDF9;
@ -1257,7 +1257,7 @@ void func_800B15AC(void *arg0, ? arg1) {
if (temp_v0_4 != 2) {
} else {
temp_v0_5 = func_800B639C(D_8018EDF7, 0, temp_a2, sp18);
temp_v0_5 = func_800B639C(gTimeTrialDataCourseIndex, 0, temp_a2, sp18);
phi_a1 = temp_v0_5;
if (temp_v0_5 >= 0) {
sp20 = temp_v0_5;
@ -1276,8 +1276,8 @@ void func_800B15AC(void *arg0, ? arg1) {
}
}
} else {
func_800B4728(D_8018EDF7, 0, temp_a2, sp18);
func_800B559C(D_8018EDF7);
func_800B4728(gTimeTrialDataCourseIndex, 0, temp_a2, sp18);
func_800B559C(gTimeTrialDataCourseIndex);
play_sound2(0x4900801D);
phi_a1 = -1;
}
@ -1297,24 +1297,24 @@ void func_800B15AC(void *arg0, ? arg1) {
}
phi_a3 = phi_v1;
if ((phi_v1 & 0x200) != 0) {
temp_a1_2 = D_8018EDF7;
if (temp_a1_2 > 0) {
D_8018EDF7 = temp_a1_2 - 1;
temp_a1_2 = gTimeTrialDataCourseIndex;
if (temp_a1_2 > TIME_TRIAL_DATA_LUIGI_RACEWAY) {
gTimeTrialDataCourseIndex = temp_a1_2 - 1;
sp18 = phi_v1;
play_sound2(0x49008000, temp_a1_2);
phi_a3 = sp18;
}
}
if ((phi_a3 & 0x100) != 0) {
temp_a1_3 = D_8018EDF7;
if (temp_a1_3 < 0xF) {
D_8018EDF7 = temp_a1_3 + 1;
temp_a1_3 = gTimeTrialDataCourseIndex;
if (temp_a1_3 < TIME_TRIAL_DATA_RAINBOW_ROAD) {
gTimeTrialDataCourseIndex = temp_a1_3 + 1;
sp18 = phi_a3;
play_sound2(0x49008000, temp_a1_3);
}
}
sp18 = phi_a3;
temp_a1_4 = D_8018EDF7;
temp_a1_4 = gTimeTrialDataCourseIndex;
temp_a2_2 = func_800AAEF4(0xE8);
temp_t4 = ((temp_a1_4 / 4) * 0x60) + ((temp_a1_4 % 4) * 0x18);
if (D_8018EDF8 == 2) {
@ -1361,7 +1361,7 @@ void func_800B15AC(void *arg0, ? arg1) {
if ((temp_v0_10 == 1) && ((temp_t4 + &D_8018EB90)->unk12 == 0)) {
*phi_v1_2 = temp_v0_10 + 1;
}
if ((*phi_v1_2 == 2) && (sp28 = temp_a2_2, sp18 = phi_a3, sp24 = temp_t4 + &D_8018EB90, phi_a3_2 = phi_a3, phi_a2 = temp_a2_2, phi_v1_3 = &D_8018EDF8, (func_800B639C(D_8018EDF7) < 0))) {
if ((*phi_v1_2 == 2) && (sp28 = temp_a2_2, sp18 = phi_a3, sp24 = temp_t4 + &D_8018EB90, phi_a3_2 = phi_a3, phi_a2 = temp_a2_2, phi_v1_3 = &D_8018EDF8, (func_800B639C(gTimeTrialDataCourseIndex) < 0))) {
if ((temp_t4 + &D_8018EB90)->unk12 == 0) {
D_8018EDF8 = 0;
} else {
@ -2549,7 +2549,7 @@ extern s8 D_8018EDEE;
extern s8 gDebugMenuSelection;
extern s8 D_8018EDF1;
extern s8 D_8018EDF3;
extern s8 D_8018EDF7;
extern s8 gTimeTrialDataCourseIndex;
extern s8 gDebugGotoScene;
extern s8 D_8018EDFB;
extern s8 D_8018EDFC;
@ -2618,7 +2618,7 @@ void func_800B3F74(u32 arg0) {
gEnableDebugMode = 0;
gCupSelection = MUSHROOM_CUP;
gCupCourseSelection = CUP_COURSE_ONE;
D_8018EDF7 = 0;
gTimeTrialDataCourseIndex = TIME_TRIAL_DATA_LUIGI_RACEWAY;
if (D_8018EDF3 <= 0) {
D_8018EDF3 = 1;
}
@ -3092,7 +3092,7 @@ void func_800B4A9C(s32 arg0) {
s32 phi_a3;
s32 phi_a3_2;
if ((func_800B4EB4(0, arg0) & 0xFFFFF) < 0x927C0) {
if ((func_800B4EB4(0, arg0) & 0xFFFFF) < MAX_TIME) {
*(&D_8018EBA2 + (((arg0 / 4) * 0x60) + ((arg0 % 4) * 0x18))) = 1;
}
temp_t2 = ((arg0 / 4) * 0x60) + ((arg0 % 4) * 0x18) + &D_8018EB90;