From 494c36bdb15bae2aeb618ad4d2fb85fa7b570627 Mon Sep 17 00:00:00 2001 From: Tyler McGavran Date: Fri, 31 Dec 2021 15:30:55 -0500 Subject: [PATCH] Match assorted functions and identify a variable (#122) Signed-off-by: Taggerung --- asm/bss_8001C4D0.s | 2 +- .../code_80091750/func_8009E650.s | 8 +- .../code_80091750/func_800A11D0.s | 60 ------ .../code_80091750/func_800A1924.s | 67 ------ .../code_80091750/func_800A1A20.s | 4 +- .../code_80091750/func_800A1BE0.s | 4 +- .../code_80091750/func_800A474C.s | 8 +- .../code_80091750/func_800A86E8.s | 26 --- .../code_80091750/func_800A8E14.s | 44 ---- .../code_80091750/func_800A8EC0.s | 36 ---- .../code_80091750/func_800AB260.s | 15 -- .../code_80091750/func_800ABB24.s | 4 +- .../code_80091750/func_800AEDBC.s | 4 +- .../code_800AF9B0/func_800B13B0.s | 16 +- .../code_800AF9B0/func_800B15AC.s | 28 +-- .../code_800AF9B0/func_800B3F74.s | 4 +- include/common_structs.h | 27 +++ include/defines.h | 5 + include/variables.h | 3 +- src/code_80091750.c | 190 ++++++------------ src/code_800AF9B0.c | 54 ++--- 21 files changed, 160 insertions(+), 449 deletions(-) delete mode 100644 asm/non_matchings/code_80091750/func_800A11D0.s delete mode 100644 asm/non_matchings/code_80091750/func_800A1924.s delete mode 100644 asm/non_matchings/code_80091750/func_800A86E8.s delete mode 100644 asm/non_matchings/code_80091750/func_800A8E14.s delete mode 100644 asm/non_matchings/code_80091750/func_800A8EC0.s delete mode 100644 asm/non_matchings/code_80091750/func_800AB260.s diff --git a/asm/bss_8001C4D0.s b/asm/bss_8001C4D0.s index b2953cfa8..0f0474375 100644 --- a/asm/bss_8001C4D0.s +++ b/asm/bss_8001C4D0.s @@ -2103,7 +2103,7 @@ glabel D_8018EDF5 glabel D_8018EDF6 .skip 1 -glabel D_8018EDF7 +glabel gTimeTrialDataCourseIndex .skip 1 glabel D_8018EDF8 diff --git a/asm/non_matchings/code_80091750/func_8009E650.s b/asm/non_matchings/code_80091750/func_8009E650.s index dcd068859..d0decd386 100644 --- a/asm/non_matchings/code_80091750/func_8009E650.s +++ b/asm/non_matchings/code_80091750/func_8009E650.s @@ -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 diff --git a/asm/non_matchings/code_80091750/func_800A11D0.s b/asm/non_matchings/code_80091750/func_800A11D0.s deleted file mode 100644 index 1dbfd993c..000000000 --- a/asm/non_matchings/code_80091750/func_800A11D0.s +++ /dev/null @@ -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 diff --git a/asm/non_matchings/code_80091750/func_800A1924.s b/asm/non_matchings/code_80091750/func_800A1924.s deleted file mode 100644 index f8a4b9037..000000000 --- a/asm/non_matchings/code_80091750/func_800A1924.s +++ /dev/null @@ -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 diff --git a/asm/non_matchings/code_80091750/func_800A1A20.s b/asm/non_matchings/code_80091750/func_800A1A20.s index 25e3acaa3..b25dcd4ba 100644 --- a/asm/non_matchings/code_80091750/func_800A1A20.s +++ b/asm/non_matchings/code_80091750/func_800A1A20.s @@ -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) diff --git a/asm/non_matchings/code_80091750/func_800A1BE0.s b/asm/non_matchings/code_80091750/func_800A1BE0.s index 3a8741cad..fbb717381 100644 --- a/asm/non_matchings/code_80091750/func_800A1BE0.s +++ b/asm/non_matchings/code_80091750/func_800A1BE0.s @@ -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) diff --git a/asm/non_matchings/code_80091750/func_800A474C.s b/asm/non_matchings/code_80091750/func_800A474C.s index c3d979710..3e56384c6 100644 --- a/asm/non_matchings/code_80091750/func_800A474C.s +++ b/asm/non_matchings/code_80091750/func_800A474C.s @@ -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) diff --git a/asm/non_matchings/code_80091750/func_800A86E8.s b/asm/non_matchings/code_80091750/func_800A86E8.s deleted file mode 100644 index 9839f769a..000000000 --- a/asm/non_matchings/code_80091750/func_800A86E8.s +++ /dev/null @@ -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 diff --git a/asm/non_matchings/code_80091750/func_800A8E14.s b/asm/non_matchings/code_80091750/func_800A8E14.s deleted file mode 100644 index 703b3caa1..000000000 --- a/asm/non_matchings/code_80091750/func_800A8E14.s +++ /dev/null @@ -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 diff --git a/asm/non_matchings/code_80091750/func_800A8EC0.s b/asm/non_matchings/code_80091750/func_800A8EC0.s deleted file mode 100644 index 73a3a3ca2..000000000 --- a/asm/non_matchings/code_80091750/func_800A8EC0.s +++ /dev/null @@ -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 diff --git a/asm/non_matchings/code_80091750/func_800AB260.s b/asm/non_matchings/code_80091750/func_800AB260.s deleted file mode 100644 index 8a43e6427..000000000 --- a/asm/non_matchings/code_80091750/func_800AB260.s +++ /dev/null @@ -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 diff --git a/asm/non_matchings/code_80091750/func_800ABB24.s b/asm/non_matchings/code_80091750/func_800ABB24.s index ca086c9b4..1121993ec 100644 --- a/asm/non_matchings/code_80091750/func_800ABB24.s +++ b/asm/non_matchings/code_80091750/func_800ABB24.s @@ -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 diff --git a/asm/non_matchings/code_80091750/func_800AEDBC.s b/asm/non_matchings/code_80091750/func_800AEDBC.s index 0709eeb00..43092b29e 100644 --- a/asm/non_matchings/code_80091750/func_800AEDBC.s +++ b/asm/non_matchings/code_80091750/func_800AEDBC.s @@ -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) diff --git a/asm/non_matchings/code_800AF9B0/func_800B13B0.s b/asm/non_matchings/code_800AF9B0/func_800B13B0.s index 5b38f717f..32ccc0e8d 100644 --- a/asm/non_matchings/code_800AF9B0/func_800B13B0.s +++ b/asm/non_matchings/code_800AF9B0/func_800B13B0.s @@ -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 diff --git a/asm/non_matchings/code_800AF9B0/func_800B15AC.s b/asm/non_matchings/code_800AF9B0/func_800B15AC.s index 234f7cbe1..51906fed7 100644 --- a/asm/non_matchings/code_800AF9B0/func_800B15AC.s +++ b/asm/non_matchings/code_800AF9B0/func_800B15AC.s @@ -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 diff --git a/asm/non_matchings/code_800AF9B0/func_800B3F74.s b/asm/non_matchings/code_800AF9B0/func_800B3F74.s index 0f16e0aa9..f76cfdec8 100644 --- a/asm/non_matchings/code_800AF9B0/func_800B3F74.s +++ b/asm/non_matchings/code_800AF9B0/func_800B3F74.s @@ -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 diff --git a/include/common_structs.h b/include/common_structs.h index 693e8fc94..2c1234035 100644 --- a/include/common_structs.h +++ b/include/common_structs.h @@ -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 diff --git a/include/defines.h b/include/defines.h index 6b099f550..de579b2a1 100644 --- a/include/defines.h +++ b/include/defines.h @@ -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 diff --git a/include/variables.h b/include/variables.h index 669c40176..c250d9bfd 100644 --- a/include/variables.h +++ b/include/variables.h @@ -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 diff --git a/src/code_80091750.c b/src/code_80091750.c index ec4efc0f1..ff96e26be 100644 --- a/src/code_80091750.c +++ b/src/code_80091750.c @@ -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) { diff --git a/src/code_800AF9B0.c b/src/code_800AF9B0.c index 1a57d8700..9c622cfc9 100644 --- a/src/code_800AF9B0.c +++ b/src/code_800AF9B0.c @@ -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;