diff --git a/asm/non_matchings/game_text/func_800C2D6C.s b/asm/non_matchings/game_text/func_800C2D6C.s index e0f8e9f6..851e0302 100644 --- a/asm/non_matchings/game_text/func_800C2D6C.s +++ b/asm/non_matchings/game_text/func_800C2D6C.s @@ -39,7 +39,7 @@ glabel func_800C2D6C /* 0C39FC 800C2DFC 00000000 */ nop /* 0C3A00 800C2E00 03370019 */ multu $t9, $s7 /* 0C3A04 800C2E04 00002012 */ mflo $a0 -/* 0C3A08 800C2E08 0C00322D */ jal func_8000C8B4 +/* 0C3A08 800C2E08 0C00322D */ jal set_timer_region_adjusted /* 0C3A0C 800C2E0C 00000000 */ nop /* 0C3A10 800C2E10 8E280000 */ lw $t0, ($s1) /* 0C3A14 800C2E14 A6820000 */ sh $v0, ($s4) diff --git a/asm/non_matchings/game_text/func_800C38B4.s b/asm/non_matchings/game_text/func_800C38B4.s index 7881865e..1da47ef0 100644 --- a/asm/non_matchings/game_text/func_800C38B4.s +++ b/asm/non_matchings/game_text/func_800C38B4.s @@ -189,7 +189,7 @@ glabel L800C3B50 /* 0C4758 800C3B58 15800007 */ bnez $t4, .L800C3B78 /* 0C475C 800C3B5C 00000000 */ nop /* 0C4760 800C3B60 920E0001 */ lbu $t6, 1($s0) -/* 0C4764 800C3B64 0C00322D */ jal func_8000C8B4 +/* 0C4764 800C3B64 0C00322D */ jal set_timer_region_adjusted /* 0C4768 800C3B68 A28E0000 */ sb $t6, ($s4) /* 0C476C 800C3B6C 8E6F0000 */ lw $t7, ($s3) /* 0C4770 800C3B70 A2E20000 */ sb $v0, ($s7) diff --git a/asm/non_matchings/game_ui/func_800A277C.s b/asm/non_matchings/game_ui/func_800A277C.s index 1a2193ae..b5f40aed 100644 --- a/asm/non_matchings/game_ui/func_800A277C.s +++ b/asm/non_matchings/game_ui/func_800A277C.s @@ -344,14 +344,14 @@ glabel func_800A277C /* 0A3824 800A2C24 44093000 */ mfc1 $t1, $f6 /* 0A3828 800A2C28 00000000 */ nop .L800A2C2C: -/* 0A382C 800A2C2C 0C00322D */ jal func_8000C8B4 +/* 0A382C 800A2C2C 0C00322D */ jal set_timer_region_adjusted /* 0A3830 800A2C30 AFA900A8 */ sw $t1, 0xa8($sp) /* 0A3834 800A2C34 8FA900A8 */ lw $t1, 0xa8($sp) /* 0A3838 800A2C38 00000000 */ nop /* 0A383C 800A2C3C 0049082A */ slt $at, $v0, $t1 /* 0A3840 800A2C40 10200005 */ beqz $at, .L800A2C58 /* 0A3844 800A2C44 24100444 */ li $s0, 1092 -/* 0A3848 800A2C48 0C00322D */ jal func_8000C8B4 +/* 0A3848 800A2C48 0C00322D */ jal set_timer_region_adjusted /* 0A384C 800A2C4C 34048CA0 */ li $a0, 36000 /* 0A3850 800A2C50 00404825 */ move $t1, $v0 /* 0A3854 800A2C54 24100444 */ li $s0, 1092 diff --git a/asm/non_matchings/game_ui/func_800A7B68.s b/asm/non_matchings/game_ui/func_800A7B68.s index 0c75c988..bd06abb5 100644 --- a/asm/non_matchings/game_ui/func_800A7B68.s +++ b/asm/non_matchings/game_ui/func_800A7B68.s @@ -115,13 +115,13 @@ glabel func_800A7B68 /* 0A8914 800A7D14 00000000 */ nop .L800A7D18: /* 0A8918 800A7D18 34048CA0 */ li $a0, 36000 -/* 0A891C 800A7D1C 0C00322D */ jal func_8000C8B4 +/* 0A891C 800A7D1C 0C00322D */ jal set_timer_region_adjusted /* 0A8920 800A7D20 AFA90044 */ sw $t1, 0x44($sp) /* 0A8924 800A7D24 8FA90044 */ lw $t1, 0x44($sp) /* 0A8928 800A7D28 0050082A */ slt $at, $v0, $s0 /* 0A892C 800A7D2C 10200005 */ beqz $at, .L800A7D44 /* 0A8930 800A7D30 34048CA0 */ li $a0, 36000 -/* 0A8934 800A7D34 0C00322D */ jal func_8000C8B4 +/* 0A8934 800A7D34 0C00322D */ jal set_timer_region_adjusted /* 0A8938 800A7D38 AFA90044 */ sw $t1, 0x44($sp) /* 0A893C 800A7D3C 8FA90044 */ lw $t1, 0x44($sp) /* 0A8940 800A7D40 00408025 */ move $s0, $v0 @@ -136,7 +136,7 @@ glabel func_800A7B68 /* 0A8960 800A7D60 8FA90044 */ lw $t1, 0x44($sp) /* 0A8964 800A7D64 17000006 */ bnez $t8, .L800A7D80 /* 0A8968 800A7D68 34048CA0 */ li $a0, 36000 -/* 0A896C 800A7D6C 0C00322D */ jal func_8000C8B4 +/* 0A896C 800A7D6C 0C00322D */ jal set_timer_region_adjusted /* 0A8970 800A7D70 AFA90044 */ sw $t1, 0x44($sp) /* 0A8974 800A7D74 8FA90044 */ lw $t1, 0x44($sp) /* 0A8978 800A7D78 14500028 */ bne $v0, $s0, .L800A7E1C diff --git a/asm/non_matchings/game_ui/func_800ADCBC.s b/asm/non_matchings/game_ui/func_800ADCBC.s index faad555e..7679882b 100644 --- a/asm/non_matchings/game_ui/func_800ADCBC.s +++ b/asm/non_matchings/game_ui/func_800ADCBC.s @@ -35,7 +35,7 @@ glabel func_800ADCBC /* 0AE940 800ADD40 01E09025 */ move $s2, $t7 /* 0AE944 800ADD44 AFA3004C */ sw $v1, 0x4c($sp) /* 0AE948 800ADD48 00002012 */ mflo $a0 -/* 0AE94C 800ADD4C 0C00322D */ jal func_8000C8B4 +/* 0AE94C 800ADD4C 0C00322D */ jal set_timer_region_adjusted /* 0AE950 800ADD50 00000000 */ nop /* 0AE954 800ADD54 860F0000 */ lh $t7, ($s0) /* 0AE958 800ADD58 8FA3004C */ lw $v1, 0x4c($sp) @@ -47,7 +47,7 @@ glabel func_800ADCBC /* 0AE970 800ADD70 00000000 */ nop /* 0AE974 800ADD74 01AE0019 */ multu $t5, $t6 /* 0AE978 800ADD78 00002012 */ mflo $a0 -/* 0AE97C 800ADD7C 0C00322D */ jal func_8000C8B4 +/* 0AE97C 800ADD7C 0C00322D */ jal set_timer_region_adjusted /* 0AE980 800ADD80 00000000 */ nop /* 0AE984 800ADD84 860E0004 */ lh $t6, 4($s0) /* 0AE988 800ADD88 860F0002 */ lh $t7, 2($s0) diff --git a/asm/non_matchings/menu/func_80094688.s b/asm/non_matchings/menu/func_80094688.s index af73b424..4a399481 100644 --- a/asm/non_matchings/menu/func_80094688.s +++ b/asm/non_matchings/menu/func_80094688.s @@ -126,7 +126,7 @@ glabel func_80094688 /* 095458 80094858 31F80040 */ andi $t8, $t7, 0x40 /* 09545C 8009485C 13000005 */ beqz $t8, .L80094874 /* 095460 80094860 00000000 */ nop -/* 095464 80094864 0C00322D */ jal func_8000C8B4 +/* 095464 80094864 0C00322D */ jal set_timer_region_adjusted /* 095468 80094868 240400F0 */ li $a0, 240 /* 09546C 8009486C 3C018012 */ lui $at, %hi(gIgnorePlayerInput) # $at, 0x8012 /* 095470 80094870 AC2263C4 */ sw $v0, %lo(gIgnorePlayerInput)($at) diff --git a/asm/non_matchings/objects/func_80010994.s b/asm/non_matchings/objects/func_80010994.s index 15a5c11d..2ab12416 100644 --- a/asm/non_matchings/objects/func_80010994.s +++ b/asm/non_matchings/objects/func_80010994.s @@ -13,9 +13,9 @@ glabel func_80010994 /* 0115C0 800109C0 2404FFFF */ li $a0, -1 /* 0115C4 800109C4 3C028012 */ lui $v0, %hi(D_8011ADB0) # $v0, 0x8012 /* 0115C8 800109C8 8C42ADB0 */ lw $v0, %lo(D_8011ADB0)($v0) -/* 0115CC 800109CC 3C018012 */ lui $at, %hi(D_8011ADB8) # $at, 0x8012 +/* 0115CC 800109CC 3C018012 */ lui $at, %hi(gRaceStartCountdown) # $at, 0x8012 /* 0115D0 800109D0 1840000D */ blez $v0, .L80010A08 -/* 0115D4 800109D4 AC22ADB8 */ sw $v0, %lo(D_8011ADB8)($at) +/* 0115D4 800109D4 AC22ADB8 */ sw $v0, %lo(gRaceStartCountdown)($at) /* 0115D8 800109D8 0C028064 */ jal func_800A0190 /* 0115DC 800109DC 00000000 */ nop /* 0115E0 800109E0 10400009 */ beqz $v0, .L80010A08 diff --git a/asm/non_matchings/objects/func_8001EFA4.s b/asm/non_matchings/objects/func_8001EFA4.s index c8c7a36d..1dd95977 100644 --- a/asm/non_matchings/objects/func_8001EFA4.s +++ b/asm/non_matchings/objects/func_8001EFA4.s @@ -86,7 +86,7 @@ glabel func_8001EFA4 /* 01FCD4 8001F0D4 46209120 */ cvt.s.d $f4, $f18 /* 01FCD8 8001F0D8 E6040008 */ swc1 $f4, 8($s0) /* 01FCDC 8001F0DC 8624000E */ lh $a0, 0xe($s1) -/* 01FCE0 8001F0E0 0C00322D */ jal func_8000C8B4 +/* 01FCE0 8001F0E0 0C00322D */ jal set_timer_region_adjusted /* 01FCE4 8001F0E4 AFA5002C */ sw $a1, 0x2c($sp) /* 01FCE8 8001F0E8 8FA5002C */ lw $a1, 0x2c($sp) /* 01FCEC 8001F0EC A602002A */ sh $v0, 0x2a($s0) @@ -130,7 +130,7 @@ glabel func_8001EFA4 /* 01FD84 8001F184 A20F0034 */ sb $t7, 0x34($s0) /* 01FD88 8001F188 AE40006C */ sw $zero, 0x6c($s2) /* 01FD8C 8001F18C 86240024 */ lh $a0, 0x24($s1) -/* 01FD90 8001F190 0C00322D */ jal func_8000C8B4 +/* 01FD90 8001F190 0C00322D */ jal set_timer_region_adjusted /* 01FD94 8001F194 00000000 */ nop /* 01FD98 8001F198 A6020036 */ sh $v0, 0x36($s0) /* 01FD9C 8001F19C 82380026 */ lb $t8, 0x26($s1) diff --git a/asm/non_matchings/objects/func_8001F460.s b/asm/non_matchings/objects/func_8001F460.s index 286a1d28..1411ba61 100644 --- a/asm/non_matchings/objects/func_8001F460.s +++ b/asm/non_matchings/objects/func_8001F460.s @@ -269,7 +269,7 @@ glabel func_8001F460 /* 020400 8001F800 321900FF */ andi $t9, $s0, 0xff /* 020404 8001F804 27300384 */ addiu $s0, $t9, 0x384 /* 020408 8001F808 AFA80174 */ sw $t0, 0x174($sp) -/* 02040C 8001F80C 0C00322D */ jal func_8000C8B4 +/* 02040C 8001F80C 0C00322D */ jal set_timer_region_adjusted /* 020410 8001F810 24040006 */ li $a0, 6 /* 020414 8001F814 8FA80174 */ lw $t0, 0x174($sp) /* 020418 8001F818 82250002 */ lb $a1, 2($s1) @@ -350,7 +350,7 @@ glabel func_8001F460 .L8001F934: /* 020534 8001F934 A7AF00AA */ sh $t7, 0xaa($sp) .L8001F938: -/* 020538 8001F938 0C00322D */ jal func_8000C8B4 +/* 020538 8001F938 0C00322D */ jal set_timer_region_adjusted /* 02053C 8001F93C 24040006 */ li $a0, 6 /* 020540 8001F940 9278003C */ lbu $t8, 0x3c($s3) /* 020544 8001F944 00000000 */ nop diff --git a/asm/non_matchings/objects/func_8002125C.s b/asm/non_matchings/objects/func_8002125C.s index f10a0435..e6b8d532 100644 --- a/asm/non_matchings/objects/func_8002125C.s +++ b/asm/non_matchings/objects/func_8002125C.s @@ -35,7 +35,7 @@ glabel func_8002125C .L800212D8: /* 021ED8 800212D8 84A40024 */ lh $a0, 0x24($a1) /* 021EDC 800212DC AFA60020 */ sw $a2, 0x20($sp) -/* 021EE0 800212E0 0C00322D */ jal func_8000C8B4 +/* 021EE0 800212E0 0C00322D */ jal set_timer_region_adjusted /* 021EE4 800212E4 AFA5001C */ sw $a1, 0x1c($sp) /* 021EE8 800212E8 8FA5001C */ lw $a1, 0x1c($sp) /* 021EEC 800212EC 8FA60020 */ lw $a2, 0x20($sp) diff --git a/asm/non_matchings/objects/func_80022E18.s b/asm/non_matchings/objects/func_80022E18.s index e23ebe8d..b1eae65f 100644 --- a/asm/non_matchings/objects/func_80022E18.s +++ b/asm/non_matchings/objects/func_80022E18.s @@ -166,8 +166,8 @@ glabel func_80022E18 /* 023C80 80023080 3C018012 */ lui $at, %hi(D_8011ADB0) # $at, 0x8012 /* 023C84 80023084 AC20ADB0 */ sw $zero, %lo(D_8011ADB0)($at) /* 023C88 80023088 8FAF001C */ lw $t7, 0x1c($sp) -/* 023C8C 8002308C 3C018012 */ lui $at, %hi(D_8011ADB8) # $at, 0x8012 -/* 023C90 80023090 AC20ADB8 */ sw $zero, %lo(D_8011ADB8)($at) +/* 023C8C 8002308C 3C018012 */ lui $at, %hi(gRaceStartCountdown) # $at, 0x8012 +/* 023C90 80023090 AC20ADB8 */ sw $zero, %lo(gRaceStartCountdown)($at) /* 023C94 80023094 240D0014 */ li $t5, 20 /* 023C98 80023098 ADED0078 */ sw $t5, 0x78($t7) .L8002309C: diff --git a/asm/non_matchings/racer/func_80042D20.s b/asm/non_matchings/racer/func_80042D20.s index 09a8e29e..070d0950 100644 --- a/asm/non_matchings/racer/func_80042D20.s +++ b/asm/non_matchings/racer/func_80042D20.s @@ -134,8 +134,8 @@ glabel func_80042D20 /* 043A90 80042E90 A7AC0034 */ sh $t4, 0x34($sp) /* 043A94 80042E94 0C008D5A */ jal func_80023568 /* 043A98 80042E98 A7AD0078 */ sh $t5, 0x78($sp) -/* 043A9C 80042E9C 3C188012 */ lui $t8, %hi(D_8011D540) # $t8, 0x8012 -/* 043AA0 80042EA0 8F18D540 */ lw $t8, %lo(D_8011D540)($t8) +/* 043A9C 80042E9C 3C188012 */ lui $t8, %hi(gRaceStartTimer) # $t8, 0x8012 +/* 043AA0 80042EA0 8F18D540 */ lw $t8, %lo(gRaceStartTimer)($t8) /* 043AA4 80042EA4 87A80076 */ lh $t0, 0x76($sp) /* 043AA8 80042EA8 8FAA0060 */ lw $t2, 0x60($sp) /* 043AAC 80042EAC 87AC0034 */ lh $t4, 0x34($sp) @@ -361,8 +361,8 @@ glabel func_80042D20 /* 043DF4 800431F4 87AC0034 */ lh $t4, 0x34($sp) /* 043DF8 800431F8 87AD0078 */ lh $t5, 0x78($sp) /* 043DFC 800431FC 1440000F */ bnez $v0, .L8004323C -/* 043E00 80043200 3C0F8012 */ lui $t7, %hi(D_8011D540) # $t7, 0x8012 -/* 043E04 80043204 8DEFD540 */ lw $t7, %lo(D_8011D540)($t7) +/* 043E00 80043200 3C0F8012 */ lui $t7, %hi(gRaceStartTimer) # $t7, 0x8012 +/* 043E04 80043204 8DEFD540 */ lw $t7, %lo(gRaceStartTimer)($t7) /* 043E08 80043208 24010064 */ li $at, 100 /* 043E0C 8004320C 15E10022 */ bne $t7, $at, .L80043298 /* 043E10 80043210 00002025 */ move $a0, $zero @@ -900,8 +900,8 @@ glabel func_80042D20 /* 0445D8 800439D8 3338FFFB */ andi $t8, $t9, 0xfffb /* 0445DC 800439DC A2180209 */ sb $t8, 0x209($s0) .L800439E0: -/* 0445E0 800439E0 3C0F8012 */ lui $t7, %hi(D_8011D540) # $t7, 0x8012 -/* 0445E4 800439E4 8DEFD540 */ lw $t7, %lo(D_8011D540)($t7) +/* 0445E0 800439E0 3C0F8012 */ lui $t7, %hi(gRaceStartTimer) # $t7, 0x8012 +/* 0445E4 800439E4 8DEFD540 */ lw $t7, %lo(gRaceStartTimer)($t7) /* 0445E8 800439E8 8FB90054 */ lw $t9, 0x54($sp) /* 0445EC 800439EC 15E00050 */ bnez $t7, .L80043B30 /* 0445F0 800439F0 3C01800E */ lui $at, %hi(D_800E62B0 + 4) # $at, 0x800e @@ -1094,10 +1094,10 @@ glabel func_80042D20 /* 0448B4 80043CB4 E6120124 */ swc1 $f18, 0x124($s0) /* 0448B8 80043CB8 87AE0070 */ lh $t6, 0x70($sp) .L80043CBC: -/* 0448BC 80043CBC 3C0F8012 */ lui $t7, %hi(D_8011D540) # $t7, 0x8012 +/* 0448BC 80043CBC 3C0F8012 */ lui $t7, %hi(gRaceStartTimer) # $t7, 0x8012 /* 0448C0 80043CC0 11C00061 */ beqz $t6, .L80043E48 /* 0448C4 80043CC4 00000000 */ nop -/* 0448C8 80043CC8 8DEFD540 */ lw $t7, %lo(D_8011D540)($t7) +/* 0448C8 80043CC8 8DEFD540 */ lw $t7, %lo(gRaceStartTimer)($t7) /* 0448CC 80043CCC 3C038012 */ lui $v1, %hi(D_8011D5B8) # $v1, 0x8012 /* 0448D0 80043CD0 11E00006 */ beqz $t7, .L80043CEC /* 0448D4 80043CD4 2463D5B8 */ addiu $v1, %lo(D_8011D5B8) # addiu $v1, $v1, -0x2a48 diff --git a/asm/non_matchings/racer/func_8004447C.s b/asm/non_matchings/racer/func_8004447C.s index 31c06816..ac4faa9c 100644 --- a/asm/non_matchings/racer/func_8004447C.s +++ b/asm/non_matchings/racer/func_8004447C.s @@ -113,8 +113,8 @@ glabel func_8004447C /* 045204 80044604 3C018012 */ lui $at, %hi(gCurrentStickX) # $at, 0x8012 /* 045208 80044608 AC2ED534 */ sw $t6, %lo(gCurrentStickX)($at) .L8004460C: -/* 04520C 8004460C 3C0F8012 */ lui $t7, %hi(D_8011D540) # $t7, 0x8012 -/* 045210 80044610 8DEFD540 */ lw $t7, %lo(D_8011D540)($t7) +/* 04520C 8004460C 3C0F8012 */ lui $t7, %hi(gRaceStartTimer) # $t7, 0x8012 +/* 045210 80044610 8DEFD540 */ lw $t7, %lo(gRaceStartTimer)($t7) /* 045214 80044614 00000000 */ nop /* 045218 80044618 11E00002 */ beqz $t7, .L80044624 /* 04521C 8004461C 00000000 */ nop diff --git a/asm/non_matchings/racer/func_80046524.s b/asm/non_matchings/racer/func_80046524.s index d1c68e78..f9e34efd 100644 --- a/asm/non_matchings/racer/func_80046524.s +++ b/asm/non_matchings/racer/func_80046524.s @@ -472,7 +472,7 @@ glabel func_80046524 /* 047734 80046B34 0C015C2E */ jal func_800570B8 /* 047738 80046B38 24070082 */ li $a3, 130 .L80046B3C: -/* 04773C 80046B3C 0C00322D */ jal func_8000C8B4 +/* 04773C 80046B3C 0C00322D */ jal set_timer_region_adjusted /* 047740 80046B40 2404002D */ li $a0, 45 /* 047744 80046B44 920B020C */ lbu $t3, 0x20c($s0) /* 047748 80046B48 240A0002 */ li $t2, 2 @@ -1102,8 +1102,8 @@ glabel func_80046524 /* 048068 80047468 1040004B */ beqz $v0, .L80047598 /* 04806C 8004746C 02202025 */ move $a0, $s1 /* 048070 80047470 10A0001E */ beqz $a1, .L800474EC -/* 048074 80047474 3C188012 */ lui $t8, %hi(D_8011D540) # $t8, 0x8012 -/* 048078 80047478 8F18D540 */ lw $t8, %lo(D_8011D540)($t8) +/* 048074 80047474 3C188012 */ lui $t8, %hi(gRaceStartTimer) # $t8, 0x8012 +/* 048078 80047478 8F18D540 */ lw $t8, %lo(gRaceStartTimer)($t8) /* 04807C 8004747C 24010064 */ li $at, 100 /* 048080 80047480 1301002A */ beq $t8, $at, .L8004752C /* 048084 80047484 00000000 */ nop @@ -1183,7 +1183,7 @@ glabel func_80046524 /* 048198 80047598 02002825 */ move $a1, $s0 /* 04819C 8004759C A3A700AD */ sb $a3, 0xad($sp) /* 0481A0 800475A0 A3A900AF */ sb $t1, 0xaf($sp) -/* 0481A4 800475A4 0C015C88 */ jal func_80057220 +/* 0481A4 800475A4 0C015C88 */ jal handle_racer_top_speed /* 0481A8 800475A8 E7B20104 */ swc1 $f18, 0x104($sp) /* 0481AC 800475AC 3C01800E */ lui $at, %hi(D_800E6410 + 4) # $at, 0x800e /* 0481B0 800475B0 C4296410 */ lwc1 $f9, %lo(D_800E6410)($at) @@ -1198,8 +1198,8 @@ glabel func_80046524 /* 0481D4 800475D4 83A900AF */ lb $t1, 0xaf($sp) /* 0481D8 800475D8 18600019 */ blez $v1, .L80047640 /* 0481DC 800475DC 462034A0 */ cvt.s.d $f18, $f6 -/* 0481E0 800475E0 3C028012 */ lui $v0, %hi(D_8011D540) # $v0, 0x8012 -/* 0481E4 800475E4 8C42D540 */ lw $v0, %lo(D_8011D540)($v0) +/* 0481E0 800475E0 3C028012 */ lui $v0, %hi(gRaceStartTimer) # $v0, 0x8012 +/* 0481E4 800475E4 8C42D540 */ lw $v0, %lo(gRaceStartTimer)($v0) /* 0481E8 800475E8 3C013F80 */ li $at, 0x3F800000 # 1.000000 /* 0481EC 800475EC 14400018 */ bnez $v0, .L80047650 /* 0481F0 800475F0 00000000 */ nop @@ -1217,16 +1217,16 @@ glabel func_80046524 /* 048220 80047620 00000000 */ nop .L80047624: /* 048224 80047624 8FB80128 */ lw $t8, 0x128($sp) -/* 048228 80047628 3C028012 */ lui $v0, %hi(D_8011D540) # $v0, 0x8012 +/* 048228 80047628 3C028012 */ lui $v0, %hi(gRaceStartTimer) # $v0, 0x8012 /* 04822C 8004762C 00786823 */ subu $t5, $v1, $t8 /* 048230 80047630 A20D01D3 */ sb $t5, 0x1d3($s0) -/* 048234 80047634 8C42D540 */ lw $v0, %lo(D_8011D540)($v0) +/* 048234 80047634 8C42D540 */ lw $v0, %lo(gRaceStartTimer)($v0) /* 048238 80047638 10000005 */ b .L80047650 /* 04823C 8004763C 00000000 */ nop .L80047640: /* 048240 80047640 A20001D3 */ sb $zero, 0x1d3($s0) -/* 048244 80047644 3C028012 */ lui $v0, %hi(D_8011D540) # $v0, 0x8012 -/* 048248 80047648 8C42D540 */ lw $v0, %lo(D_8011D540)($v0) +/* 048244 80047644 3C028012 */ lui $v0, %hi(gRaceStartTimer) # $v0, 0x8012 +/* 048248 80047648 8C42D540 */ lw $v0, %lo(gRaceStartTimer)($v0) /* 04824C 8004764C 00000000 */ nop .L80047650: /* 048250 80047650 10400003 */ beqz $v0, .L80047660 @@ -1260,7 +1260,7 @@ glabel func_80046524 /* 0482B8 800476B8 24010003 */ li $at, 3 /* 0482BC 800476BC 1521001B */ bne $t1, $at, .L8004772C /* 0482C0 800476C0 2404002D */ li $a0, 45 -/* 0482C4 800476C4 0C00322D */ jal func_8000C8B4 +/* 0482C4 800476C4 0C00322D */ jal set_timer_region_adjusted /* 0482C8 800476C8 E7B20104 */ swc1 $f18, 0x104($sp) /* 0482CC 800476CC 920E020C */ lbu $t6, 0x20c($s0) /* 0482D0 800476D0 C7B20104 */ lwc1 $f18, 0x104($sp) @@ -1676,10 +1676,10 @@ glabel func_80046524 /* 0488E8 80047CE8 13200031 */ beqz $t9, .L80047DB0 /* 0488EC 80047CEC 00000000 */ nop /* 0488F0 80047CF0 814AD584 */ lb $t2, %lo(D_8011D584)($t2) -/* 0488F4 80047CF4 3C0C8012 */ lui $t4, %hi(D_8011D540) # $t4, 0x8012 +/* 0488F4 80047CF4 3C0C8012 */ lui $t4, %hi(gRaceStartTimer) # $t4, 0x8012 /* 0488F8 80047CF8 1540002D */ bnez $t2, .L80047DB0 /* 0488FC 80047CFC 00000000 */ nop -/* 048900 80047D00 8D8CD540 */ lw $t4, %lo(D_8011D540)($t4) +/* 048900 80047D00 8D8CD540 */ lw $t4, %lo(gRaceStartTimer)($t4) /* 048904 80047D04 C7A8012C */ lwc1 $f8, 0x12c($sp) /* 048908 80047D08 15800029 */ bnez $t4, .L80047DB0 /* 04890C 80047D0C 3C018012 */ lui $at, %hi(D_8011D56C) # $at, 0x8012 @@ -2577,8 +2577,8 @@ glabel func_80046524 /* 049618 80048A18 00AC5821 */ addu $t3, $a1, $t4 /* 04961C 80048A1C A60B01A4 */ sh $t3, 0x1a4($s0) .L80048A20: -/* 049620 80048A20 3C0E8012 */ lui $t6, %hi(D_8011D540) # $t6, 0x8012 -/* 049624 80048A24 8DCED540 */ lw $t6, %lo(D_8011D540)($t6) +/* 049620 80048A20 3C0E8012 */ lui $t6, %hi(gRaceStartTimer) # $t6, 0x8012 +/* 049624 80048A24 8DCED540 */ lw $t6, %lo(gRaceStartTimer)($t6) /* 049628 80048A28 3C0D8012 */ lui $t5, %hi(gActivePlayerButtonPress) # $t5, 0x8012 /* 04962C 80048A2C 11C00007 */ beqz $t6, .L80048A4C /* 049630 80048A30 02202025 */ move $a0, $s1 diff --git a/asm/non_matchings/racer/func_80049794.s b/asm/non_matchings/racer/func_80049794.s index 0cf9733e..4225d13b 100644 --- a/asm/non_matchings/racer/func_80049794.s +++ b/asm/non_matchings/racer/func_80049794.s @@ -867,7 +867,7 @@ glabel func_80049794 /* 04AF74 8004A374 2404002D */ li $a0, 45 /* 04AF78 8004A378 E7A10048 */ swc1 $f1, 0x48($sp) /* 04AF7C 8004A37C E7A0004C */ swc1 $f0, 0x4c($sp) -/* 04AF80 8004A380 0C00322D */ jal func_8000C8B4 +/* 04AF80 8004A380 0C00322D */ jal set_timer_region_adjusted /* 04AF84 8004A384 E7AE00DC */ swc1 $f14, 0xdc($sp) /* 04AF88 8004A388 9218020C */ lbu $t8, 0x20c($s0) /* 04AF8C 8004A38C C7A10048 */ lwc1 $f1, 0x48($sp) @@ -1009,7 +1009,7 @@ glabel func_80049794 /* 04B188 8004A588 920201FE */ lbu $v0, 0x1fe($s0) /* 04B18C 8004A58C C7AE00DC */ lwc1 $f14, 0xdc($sp) /* 04B190 8004A590 14400008 */ bnez $v0, .L8004A5B4 -/* 04B194 8004A594 3C0C8012 */ lui $t4, %hi(D_8011D540) # $t4, 0x8012 +/* 04B194 8004A594 3C0C8012 */ lui $t4, %hi(gRaceStartTimer) # $t4, 0x8012 /* 04B198 8004A598 8E380074 */ lw $t8, 0x74($s1) /* 04B19C 8004A59C 3C0140B0 */ li $at, 0x40B00000 # 5.500000 /* 04B1A0 8004A5A0 37190100 */ ori $t9, $t8, 0x100 @@ -1066,7 +1066,7 @@ glabel func_80049794 /* 04B260 8004A660 4481A000 */ mtc1 $at, $f20 /* 04B264 8004A664 00000000 */ nop .L8004A668: -/* 04B268 8004A668 8D8CD540 */ lw $t4, %lo(D_8011D540)($t4) +/* 04B268 8004A668 8D8CD540 */ lw $t4, %lo(gRaceStartTimer)($t4) /* 04B26C 8004A66C 00000000 */ nop /* 04B270 8004A670 11800003 */ beqz $t4, .L8004A680 /* 04B274 8004A674 3C013F80 */ li $at, 0x3F800000 # 1.000000 @@ -1158,7 +1158,7 @@ glabel func_80049794 /* 04B3B0 8004A7B0 00000000 */ nop .L8004A7B4: /* 04B3B4 8004A7B4 2404002D */ li $a0, 45 -/* 04B3B8 8004A7B8 0C00322D */ jal func_8000C8B4 +/* 04B3B8 8004A7B8 0C00322D */ jal set_timer_region_adjusted /* 04B3BC 8004A7BC E7AE00DC */ swc1 $f14, 0xdc($sp) /* 04B3C0 8004A7C0 920D020C */ lbu $t5, 0x20c($s0) /* 04B3C4 8004A7C4 C7AE00DC */ lwc1 $f14, 0xdc($sp) @@ -1485,7 +1485,7 @@ glabel func_80049794 /* 04B850 8004AC50 A20001E0 */ sb $zero, 0x1e0($s0) /* 04B854 8004AC54 A6200002 */ sh $zero, 2($s1) /* 04B858 8004AC58 E7AE00DC */ swc1 $f14, 0xdc($sp) -/* 04B85C 8004AC5C 0C00322D */ jal func_8000C8B4 +/* 04B85C 8004AC5C 0C00322D */ jal set_timer_region_adjusted /* 04B860 8004AC60 AFA800B8 */ sw $t0, 0xb8($sp) /* 04B864 8004AC64 920B020C */ lbu $t3, 0x20c($s0) /* 04B868 8004AC68 8FA800B8 */ lw $t0, 0xb8($sp) @@ -1532,7 +1532,7 @@ glabel func_80049794 /* 04B8FC 8004ACFC A20001E0 */ sb $zero, 0x1e0($s0) /* 04B900 8004AD00 A6200002 */ sh $zero, 2($s1) /* 04B904 8004AD04 E7AE00DC */ swc1 $f14, 0xdc($sp) -/* 04B908 8004AD08 0C00322D */ jal func_8000C8B4 +/* 04B908 8004AD08 0C00322D */ jal set_timer_region_adjusted /* 04B90C 8004AD0C AFA800B8 */ sw $t0, 0xb8($sp) /* 04B910 8004AD10 920E020C */ lbu $t6, 0x20c($s0) /* 04B914 8004AD14 8FA800B8 */ lw $t0, 0xb8($sp) @@ -1974,7 +1974,7 @@ glabel func_80049794 .L8004B378: /* 04BF78 8004B378 02002825 */ move $a1, $s0 .L8004B37C: -/* 04BF7C 8004B37C 0C015C88 */ jal func_80057220 +/* 04BF7C 8004B37C 0C015C88 */ jal handle_racer_top_speed /* 04BF80 8004B380 E7AE00DC */ swc1 $f14, 0xdc($sp) /* 04BF84 8004B384 C7AE00DC */ lwc1 $f14, 0xdc($sp) /* 04BF88 8004B388 3C01800E */ lui $at, %hi(D_800E6518 + 4) # $at, 0x800e @@ -1986,8 +1986,8 @@ glabel func_80049794 /* 04BFA0 8004B3A0 46283282 */ mul.d $f10, $f6, $f8 /* 04BFA4 8004B3A4 18400012 */ blez $v0, .L8004B3F0 /* 04BFA8 8004B3A8 462053A0 */ cvt.s.d $f14, $f10 -/* 04BFAC 8004B3AC 3C0D8012 */ lui $t5, %hi(D_8011D540) # $t5, 0x8012 -/* 04BFB0 8004B3B0 8DADD540 */ lw $t5, %lo(D_8011D540)($t5) +/* 04BFAC 8004B3AC 3C0D8012 */ lui $t5, %hi(gRaceStartTimer) # $t5, 0x8012 +/* 04BFB0 8004B3B0 8DADD540 */ lw $t5, %lo(gRaceStartTimer)($t5) /* 04BFB4 8004B3B4 3C013F80 */ li $at, 0x3F800000 # 1.000000 /* 04BFB8 8004B3B8 15A0000E */ bnez $t5, .L8004B3F4 /* 04BFBC 8004B3BC 00000000 */ nop @@ -2009,8 +2009,8 @@ glabel func_80049794 /* 04BFF4 8004B3F4 921901F5 */ lbu $t9, 0x1f5($s0) /* 04BFF8 8004B3F8 00000000 */ nop /* 04BFFC 8004B3FC 17200128 */ bnez $t9, .L8004B8A0 -/* 04C000 8004B400 3C0F8012 */ lui $t7, %hi(D_8011D540) # $t7, 0x8012 -/* 04C004 8004B404 8DEFD540 */ lw $t7, %lo(D_8011D540)($t7) +/* 04C000 8004B400 3C0F8012 */ lui $t7, %hi(gRaceStartTimer) # $t7, 0x8012 +/* 04C004 8004B404 8DEFD540 */ lw $t7, %lo(gRaceStartTimer)($t7) /* 04C008 8004B408 00000000 */ nop /* 04C00C 8004B40C 15E00124 */ bnez $t7, .L8004B8A0 /* 04C010 8004B410 00000000 */ nop @@ -2482,8 +2482,8 @@ glabel func_80049794 /* 04C6EC 8004BAEC 820F01D7 */ lb $t7, 0x1d7($s0) /* 04C6F0 8004BAF0 2401000D */ li $at, 13 /* 04C6F4 8004BAF4 15E10005 */ bne $t7, $at, .L8004BB0C -/* 04C6F8 8004BAF8 3C0D8012 */ lui $t5, %hi(D_8011D540) # $t5, 0x8012 -/* 04C6FC 8004BAFC 8DADD540 */ lw $t5, %lo(D_8011D540)($t5) +/* 04C6F8 8004BAF8 3C0D8012 */ lui $t5, %hi(gRaceStartTimer) # $t5, 0x8012 +/* 04C6FC 8004BAFC 8DADD540 */ lw $t5, %lo(gRaceStartTimer)($t5) /* 04C700 8004BB00 00000000 */ nop /* 04C704 8004BB04 11A0000B */ beqz $t5, .L8004BB34 /* 04C708 8004BB08 00000000 */ nop @@ -2537,7 +2537,7 @@ glabel func_80049794 /* 04C7B8 8004BBB8 E5840030 */ swc1 $f4, 0x30($t4) .L8004BBBC: /* 04C7BC 8004BBBC 820201D2 */ lb $v0, 0x1d2($s0) -/* 04C7C0 8004BBC0 3C0B8012 */ lui $t3, %hi(D_8011D540) # $t3, 0x8012 +/* 04C7C0 8004BBC0 3C0B8012 */ lui $t3, %hi(gRaceStartTimer) # $t3, 0x8012 /* 04C7C4 8004BBC4 1040000B */ beqz $v0, .L8004BBF4 /* 04C7C8 8004BBC8 3C058012 */ lui $a1, %hi(D_8011D510) # $a1, 0x8012 /* 04C7CC 8004BBCC 8FB900F8 */ lw $t9, 0xf8($sp) @@ -2576,7 +2576,7 @@ glabel func_80049794 /* 04C84C 8004BC4C 46004302 */ mul.s $f12, $f8, $f0 /* 04C850 8004BC50 00000000 */ nop .L8004BC54: -/* 04C854 8004BC54 8D6BD540 */ lw $t3, %lo(D_8011D540)($t3) +/* 04C854 8004BC54 8D6BD540 */ lw $t3, %lo(gRaceStartTimer)($t3) /* 04C858 8004BC58 24010064 */ li $at, 100 /* 04C85C 8004BC5C 15610005 */ bne $t3, $at, .L8004BC74 /* 04C860 8004BC60 24A5D510 */ addiu $a1, %lo(D_8011D510) # addiu $a1, $a1, -0x2af0 diff --git a/asm/non_matchings/racer/func_8004DE38.s b/asm/non_matchings/racer/func_8004DE38.s index dfd8839d..72f8f251 100644 --- a/asm/non_matchings/racer/func_8004DE38.s +++ b/asm/non_matchings/racer/func_8004DE38.s @@ -41,9 +41,9 @@ glabel func_8004DE38 /* 04EA68 8004DE68 A020D581 */ sb $zero, %lo(D_8011D581)($at) /* 04EA6C 8004DE6C 3C014049 */ li $at, 0x40490000 # 3.140625 /* 04EA70 8004DE70 44811800 */ mtc1 $at, $f3 -/* 04EA74 8004DE74 3C018012 */ lui $at, %hi(D_8011D540) # $at, 0x8012 +/* 04EA74 8004DE74 3C018012 */ lui $at, %hi(gRaceStartTimer) # $at, 0x8012 /* 04EA78 8004DE78 8FA300B4 */ lw $v1, 0xb4($sp) -/* 04EA7C 8004DE7C AC22D540 */ sw $v0, %lo(D_8011D540)($at) +/* 04EA7C 8004DE7C AC22D540 */ sw $v0, %lo(gRaceStartTimer)($at) /* 04EA80 8004DE80 C626001C */ lwc1 $f6, 0x1c($s1) /* 04EA84 8004DE84 44801000 */ mtc1 $zero, $f2 /* 04EA88 8004DE88 44832000 */ mtc1 $v1, $f4 @@ -221,8 +221,8 @@ glabel func_8004DE38 /* 04ECF4 8004E0F4 1000059D */ b .L8004F76C /* 04ECF8 8004E0F8 8FBF002C */ lw $ra, 0x2c($sp) .L8004E0FC: -/* 04ECFC 8004E0FC 3C0B8012 */ lui $t3, %hi(D_8011D540) # $t3, 0x8012 -/* 04ED00 8004E100 8D6BD540 */ lw $t3, %lo(D_8011D540)($t3) +/* 04ECFC 8004E0FC 3C0B8012 */ lui $t3, %hi(gRaceStartTimer) # $t3, 0x8012 +/* 04ED00 8004E100 8D6BD540 */ lw $t3, %lo(gRaceStartTimer)($t3) /* 04ED04 8004E104 00000000 */ nop /* 04ED08 8004E108 15600017 */ bnez $t3, .L8004E168 /* 04ED0C 8004E10C 00002025 */ move $a0, $zero @@ -262,8 +262,8 @@ glabel func_8004DE38 .L8004E18C: /* 04ED8C 8004E18C 0C01B683 */ jal get_render_context /* 04ED90 8004E190 00000000 */ nop -/* 04ED94 8004E194 3C0D8012 */ lui $t5, %hi(D_8011D540) # $t5, 0x8012 -/* 04ED98 8004E198 8DADD540 */ lw $t5, %lo(D_8011D540)($t5) +/* 04ED94 8004E194 3C0D8012 */ lui $t5, %hi(gRaceStartTimer) # $t5, 0x8012 +/* 04ED98 8004E198 8DADD540 */ lw $t5, %lo(gRaceStartTimer)($t5) /* 04ED9C 8004E19C AFA200A4 */ sw $v0, 0xa4($sp) /* 04EDA0 8004E1A0 15A00010 */ bnez $t5, .L8004E1E4 /* 04EDA4 8004E1A4 3C028012 */ lui $v0, %hi(D_8011D544) # $v0, 0x8012 @@ -642,8 +642,8 @@ glabel func_8004DE38 /* 04F31C 8004E71C 0C019944 */ jal func_80066510 /* 04F320 8004E720 00000000 */ nop /* 04F324 8004E724 14400014 */ bnez $v0, .L8004E778 -/* 04F328 8004E728 3C0D8012 */ lui $t5, %hi(D_8011D540) # $t5, 0x8012 -/* 04F32C 8004E72C 8DADD540 */ lw $t5, %lo(D_8011D540)($t5) +/* 04F328 8004E728 3C0D8012 */ lui $t5, %hi(gRaceStartTimer) # $t5, 0x8012 +/* 04F32C 8004E72C 8DADD540 */ lw $t5, %lo(gRaceStartTimer)($t5) /* 04F330 8004E730 24010064 */ li $at, 100 /* 04F334 8004E734 11A10010 */ beq $t5, $at, .L8004E778 /* 04F338 8004E738 00000000 */ nop @@ -751,8 +751,8 @@ glabel func_8004DE38 /* 04F4B0 8004E8B0 0C015B8B */ jal func_80056E2C /* 04F4B4 8004E8B4 02002825 */ move $a1, $s0 .L8004E8B8: -/* 04F4B8 8004E8B8 3C038012 */ lui $v1, %hi(D_8011D540) # $v1, 0x8012 -/* 04F4BC 8004E8BC 8C63D540 */ lw $v1, %lo(D_8011D540)($v1) +/* 04F4B8 8004E8B8 3C038012 */ lui $v1, %hi(gRaceStartTimer) # $v1, 0x8012 +/* 04F4BC 8004E8BC 8C63D540 */ lw $v1, %lo(gRaceStartTimer)($v1) /* 04F4C0 8004E8C0 00000000 */ nop /* 04F4C4 8004E8C4 10600010 */ beqz $v1, .L8004E908 /* 04F4C8 8004E8C8 00000000 */ nop @@ -782,7 +782,7 @@ glabel func_8004DE38 /* 04F520 8004E920 012B082A */ slt $at, $t1, $t3 /* 04F524 8004E924 10200015 */ beqz $at, .L8004E97C /* 04F528 8004E928 00000000 */ nop -/* 04F52C 8004E92C 0C00322D */ jal func_8000C8B4 +/* 04F52C 8004E92C 0C00322D */ jal set_timer_region_adjusted /* 04F530 8004E930 34048CA0 */ li $a0, 36000 /* 04F534 8004E934 820D0194 */ lb $t5, 0x194($s0) /* 04F538 8004E938 8FA500B4 */ lw $a1, 0xb4($sp) @@ -796,7 +796,7 @@ glabel func_8004DE38 /* 04F558 8004E958 10000008 */ b .L8004E97C /* 04F55C 8004E95C AC6F0128 */ sw $t7, 0x128($v1) .L8004E960: -/* 04F560 8004E960 0C00322D */ jal func_8000C8B4 +/* 04F560 8004E960 0C00322D */ jal set_timer_region_adjusted /* 04F564 8004E964 34048CA0 */ li $a0, 36000 /* 04F568 8004E968 82080194 */ lb $t0, 0x194($s0) /* 04F56C 8004E96C 00000000 */ nop @@ -987,8 +987,8 @@ glabel L8004EBF4 glabel L8004EC10 /* 04F810 8004EC10 3C0B8012 */ lui $t3, %hi(gCurrentCarInput) # $t3, 0x8012 /* 04F814 8004EC14 3C0D8012 */ lui $t5, %hi(gActivePlayerButtonPress) # $t5, 0x8012 -/* 04F818 8004EC18 3C0C8012 */ lui $t4, %hi(D_8011D540) # $t4, 0x8012 -/* 04F81C 8004EC1C 258CD540 */ addiu $t4, %lo(D_8011D540) # addiu $t4, $t4, -0x2ac0 +/* 04F818 8004EC18 3C0C8012 */ lui $t4, %hi(gRaceStartTimer) # $t4, 0x8012 +/* 04F81C 8004EC1C 258CD540 */ addiu $t4, %lo(gRaceStartTimer) # addiu $t4, $t4, -0x2ac0 /* 04F820 8004EC20 25ADD52C */ addiu $t5, %lo(gActivePlayerButtonPress) # addiu $t5, $t5, -0x2ad4 /* 04F824 8004EC24 256BD528 */ addiu $t3, %lo(gCurrentCarInput) # addiu $t3, $t3, -0x2ad8 /* 04F828 8004EC28 8FA400B4 */ lw $a0, 0xb4($sp) @@ -1004,8 +1004,8 @@ glabel L8004EC10 glabel L8004EC50 /* 04F850 8004EC50 3C0E8012 */ lui $t6, %hi(gCurrentCarInput) # $t6, 0x8012 /* 04F854 8004EC54 3C0F8012 */ lui $t7, %hi(gActivePlayerButtonPress) # $t7, 0x8012 -/* 04F858 8004EC58 3C088012 */ lui $t0, %hi(D_8011D540) # $t0, 0x8012 -/* 04F85C 8004EC5C 2508D540 */ addiu $t0, %lo(D_8011D540) # addiu $t0, $t0, -0x2ac0 +/* 04F858 8004EC58 3C088012 */ lui $t0, %hi(gRaceStartTimer) # $t0, 0x8012 +/* 04F85C 8004EC5C 2508D540 */ addiu $t0, %lo(gRaceStartTimer) # addiu $t0, $t0, -0x2ac0 /* 04F860 8004EC60 25EFD52C */ addiu $t7, %lo(gActivePlayerButtonPress) # addiu $t7, $t7, -0x2ad4 /* 04F864 8004EC64 25CED528 */ addiu $t6, %lo(gCurrentCarInput) # addiu $t6, $t6, -0x2ad8 /* 04F868 8004EC68 8FA400B4 */ lw $a0, 0xb4($sp) @@ -1021,8 +1021,8 @@ glabel L8004EC50 glabel L8004EC90 /* 04F890 8004EC90 3C188012 */ lui $t8, %hi(gCurrentCarInput) # $t8, 0x8012 /* 04F894 8004EC94 3C198012 */ lui $t9, %hi(gCurrentStickX) # $t9, 0x8012 -/* 04F898 8004EC98 3C0A8012 */ lui $t2, %hi(D_8011D540) # $t2, 0x8012 -/* 04F89C 8004EC9C 254AD540 */ addiu $t2, %lo(D_8011D540) # addiu $t2, $t2, -0x2ac0 +/* 04F898 8004EC98 3C0A8012 */ lui $t2, %hi(gRaceStartTimer) # $t2, 0x8012 +/* 04F89C 8004EC9C 254AD540 */ addiu $t2, %lo(gRaceStartTimer) # addiu $t2, $t2, -0x2ac0 /* 04F8A0 8004ECA0 2739D534 */ addiu $t9, %lo(gCurrentStickX) # addiu $t9, $t9, -0x2acc /* 04F8A4 8004ECA4 2718D528 */ addiu $t8, %lo(gCurrentCarInput) # addiu $t8, $t8, -0x2ad8 /* 04F8A8 8004ECA8 8FA400B4 */ lw $a0, 0xb4($sp) @@ -1038,8 +1038,8 @@ glabel L8004EC90 glabel L8004ECD0 /* 04F8D0 8004ECD0 3C098012 */ lui $t1, %hi(gCurrentCarInput) # $t1, 0x8012 /* 04F8D4 8004ECD4 3C0B8012 */ lui $t3, %hi(gActivePlayerButtonPress) # $t3, 0x8012 -/* 04F8D8 8004ECD8 3C0D8012 */ lui $t5, %hi(D_8011D540) # $t5, 0x8012 -/* 04F8DC 8004ECDC 25ADD540 */ addiu $t5, %lo(D_8011D540) # addiu $t5, $t5, -0x2ac0 +/* 04F8D8 8004ECD8 3C0D8012 */ lui $t5, %hi(gRaceStartTimer) # $t5, 0x8012 +/* 04F8DC 8004ECDC 25ADD540 */ addiu $t5, %lo(gRaceStartTimer) # addiu $t5, $t5, -0x2ac0 /* 04F8E0 8004ECE0 256BD52C */ addiu $t3, %lo(gActivePlayerButtonPress) # addiu $t3, $t3, -0x2ad4 /* 04F8E4 8004ECE4 2529D528 */ addiu $t1, %lo(gCurrentCarInput) # addiu $t1, $t1, -0x2ad8 /* 04F8E8 8004ECE8 8FA400B4 */ lw $a0, 0xb4($sp) @@ -1055,8 +1055,8 @@ glabel L8004ECD0 glabel L8004ED10 /* 04F910 8004ED10 3C0C8012 */ lui $t4, %hi(gCurrentCarInput) # $t4, 0x8012 /* 04F914 8004ED14 3C0E8012 */ lui $t6, %hi(gActivePlayerButtonPress) # $t6, 0x8012 -/* 04F918 8004ED18 3C0F8012 */ lui $t7, %hi(D_8011D540) # $t7, 0x8012 -/* 04F91C 8004ED1C 25EFD540 */ addiu $t7, %lo(D_8011D540) # addiu $t7, $t7, -0x2ac0 +/* 04F918 8004ED18 3C0F8012 */ lui $t7, %hi(gRaceStartTimer) # $t7, 0x8012 +/* 04F91C 8004ED1C 25EFD540 */ addiu $t7, %lo(gRaceStartTimer) # addiu $t7, $t7, -0x2ac0 /* 04F920 8004ED20 25CED52C */ addiu $t6, %lo(gActivePlayerButtonPress) # addiu $t6, $t6, -0x2ad4 /* 04F924 8004ED24 258CD528 */ addiu $t4, %lo(gCurrentCarInput) # addiu $t4, $t4, -0x2ad8 /* 04F928 8004ED28 8FA400B4 */ lw $a0, 0xb4($sp) @@ -1072,8 +1072,8 @@ glabel L8004ED10 glabel L8004ED50 /* 04F950 8004ED50 3C088012 */ lui $t0, %hi(gCurrentCarInput) # $t0, 0x8012 /* 04F954 8004ED54 3C188012 */ lui $t8, %hi(gActivePlayerButtonPress) # $t8, 0x8012 -/* 04F958 8004ED58 3C198012 */ lui $t9, %hi(D_8011D540) # $t9, 0x8012 -/* 04F95C 8004ED5C 2739D540 */ addiu $t9, %lo(D_8011D540) # addiu $t9, $t9, -0x2ac0 +/* 04F958 8004ED58 3C198012 */ lui $t9, %hi(gRaceStartTimer) # $t9, 0x8012 +/* 04F95C 8004ED5C 2739D540 */ addiu $t9, %lo(gRaceStartTimer) # addiu $t9, $t9, -0x2ac0 /* 04F960 8004ED60 2718D52C */ addiu $t8, %lo(gActivePlayerButtonPress) # addiu $t8, $t8, -0x2ad4 /* 04F964 8004ED64 2508D528 */ addiu $t0, %lo(gCurrentCarInput) # addiu $t0, $t0, -0x2ad8 /* 04F968 8004ED68 8FA400B4 */ lw $a0, 0xb4($sp) @@ -1621,10 +1621,10 @@ glabel L8004ED88 /* 050124 8004F524 1040000B */ beqz $v0, .L8004F554 /* 050128 8004F528 00000000 */ nop /* 05012C 8004F52C 860A0000 */ lh $t2, ($s0) -/* 050130 8004F530 3C098012 */ lui $t1, %hi(D_8011D540) # $t1, 0x8012 +/* 050130 8004F530 3C098012 */ lui $t1, %hi(gRaceStartTimer) # $t1, 0x8012 /* 050134 8004F534 15400007 */ bnez $t2, .L8004F554 /* 050138 8004F538 00000000 */ nop -/* 05013C 8004F53C 8D29D540 */ lw $t1, %lo(D_8011D540)($t1) +/* 05013C 8004F53C 8D29D540 */ lw $t1, %lo(gRaceStartTimer)($t1) /* 050140 8004F540 8FA500B4 */ lw $a1, 0xb4($sp) /* 050144 8004F544 15200003 */ bnez $t1, .L8004F554 /* 050148 8004F548 00000000 */ nop @@ -1644,10 +1644,10 @@ glabel L8004ED88 /* 050178 8004F578 3C018012 */ lui $at, %hi(D_8011D584) # $at, 0x8012 /* 05017C 8004F57C A020D584 */ sb $zero, %lo(D_8011D584)($at) /* 050180 8004F580 8E020150 */ lw $v0, 0x150($s0) -/* 050184 8004F584 3C0D8012 */ lui $t5, %hi(D_8011D540) # $t5, 0x8012 +/* 050184 8004F584 3C0D8012 */ lui $t5, %hi(gRaceStartTimer) # $t5, 0x8012 /* 050188 8004F588 1040003D */ beqz $v0, .L8004F680 /* 05018C 8004F58C 00000000 */ nop -/* 050190 8004F590 8DADD540 */ lw $t5, %lo(D_8011D540)($t5) +/* 050190 8004F590 8DADD540 */ lw $t5, %lo(gRaceStartTimer)($t5) /* 050194 8004F594 00002025 */ move $a0, $zero /* 050198 8004F598 15A0003A */ bnez $t5, .L8004F684 /* 05019C 8004F59C 240D00FF */ li $t5, 255 diff --git a/asm/non_matchings/racer/func_80050A28.s b/asm/non_matchings/racer/func_80050A28.s index a48459c8..19353cca 100644 --- a/asm/non_matchings/racer/func_80050A28.s +++ b/asm/non_matchings/racer/func_80050A28.s @@ -454,7 +454,7 @@ glabel func_80050A28 /* 051C0C 8005100C 00000000 */ nop /* 051C10 80051010 A20001E6 */ sb $zero, 0x1e6($s0) .L80051014: -/* 051C14 80051014 0C015C88 */ jal func_80057220 +/* 051C14 80051014 0C015C88 */ jal handle_racer_top_speed /* 051C18 80051018 AFA70078 */ sw $a3, 0x78($sp) /* 051C1C 8005101C 3C0F8012 */ lui $t7, %hi(gCurrentCarInput) # $t7, 0x8012 /* 051C20 80051020 8DEFD528 */ lw $t7, %lo(gCurrentCarInput)($t7) @@ -1062,7 +1062,7 @@ glabel func_80050A28 /* 0524DC 800518DC 1521001B */ bne $t1, $at, .L8005194C /* 0524E0 800518E0 2404002D */ li $a0, 45 /* 0524E4 800518E4 AFA90064 */ sw $t1, 0x64($sp) -/* 0524E8 800518E8 0C00322D */ jal func_8000C8B4 +/* 0524E8 800518E8 0C00322D */ jal set_timer_region_adjusted /* 0524EC 800518EC E7AE0044 */ swc1 $f14, 0x44($sp) /* 0524F0 800518F0 240F0002 */ li $t7, 2 /* 0524F4 800518F4 A20201D3 */ sb $v0, 0x1d3($s0) @@ -1353,8 +1353,8 @@ glabel func_80050A28 /* 052920 80051D20 44802000 */ mtc1 $zero, $f4 /* 052924 80051D24 46067382 */ mul.s $f14, $f14, $f6 /* 052928 80051D28 19600016 */ blez $t3, .L80051D84 -/* 05292C 80051D2C 3C188012 */ lui $t8, %hi(D_8011D540) # $t8, 0x8012 -/* 052930 80051D30 8F18D540 */ lw $t8, %lo(D_8011D540)($t8) +/* 05292C 80051D2C 3C188012 */ lui $t8, %hi(gRaceStartTimer) # $t8, 0x8012 +/* 052930 80051D30 8F18D540 */ lw $t8, %lo(gRaceStartTimer)($t8) /* 052934 80051D34 3C013F80 */ li $at, 0x3F800000 # 1.000000 /* 052938 80051D38 17000010 */ bnez $t8, .L80051D7C /* 05293C 80051D3C 00000000 */ nop @@ -1538,11 +1538,11 @@ glabel func_80050A28 /* 052BD4 80051FD4 4500003F */ bc1f .L800520D4 /* 052BD8 80051FD8 00000000 */ nop /* 052BDC 80051FDC 820C01D7 */ lb $t4, 0x1d7($s0) -/* 052BE0 80051FE0 3C0F8012 */ lui $t7, %hi(D_8011D540) # $t7, 0x8012 +/* 052BE0 80051FE0 3C0F8012 */ lui $t7, %hi(gRaceStartTimer) # $t7, 0x8012 /* 052BE4 80051FE4 29810005 */ slti $at, $t4, 5 /* 052BE8 80051FE8 1020003A */ beqz $at, .L800520D4 /* 052BEC 80051FEC 00000000 */ nop -/* 052BF0 80051FF0 8DEFD540 */ lw $t7, %lo(D_8011D540)($t7) +/* 052BF0 80051FF0 8DEFD540 */ lw $t7, %lo(gRaceStartTimer)($t7) /* 052BF4 80051FF4 00000000 */ nop /* 052BF8 80051FF8 15E00036 */ bnez $t7, .L800520D4 /* 052BFC 80051FFC 00000000 */ nop diff --git a/asm/non_matchings/racer/func_8005250C.s b/asm/non_matchings/racer/func_8005250C.s index 79510798..fd958165 100644 --- a/asm/non_matchings/racer/func_8005250C.s +++ b/asm/non_matchings/racer/func_8005250C.s @@ -77,8 +77,8 @@ glabel func_8005250C .L80052614: /* 053214 80052614 A0B801F2 */ sb $t8, 0x1f2($a1) .L80052618: -/* 053218 80052618 3C088012 */ lui $t0, %hi(D_8011D540) # $t0, 0x8012 -/* 05321C 8005261C 8D08D540 */ lw $t0, %lo(D_8011D540)($t0) +/* 053218 80052618 3C088012 */ lui $t0, %hi(gRaceStartTimer) # $t0, 0x8012 +/* 05321C 8005261C 8D08D540 */ lw $t0, %lo(gRaceStartTimer)($t0) /* 053220 80052620 00000000 */ nop /* 053224 80052624 11000003 */ beqz $t0, .L80052634 /* 053228 80052628 00000000 */ nop diff --git a/asm/non_matchings/racer/func_8005492C.s b/asm/non_matchings/racer/func_8005492C.s index 1794ce70..1d5e4283 100644 --- a/asm/non_matchings/racer/func_8005492C.s +++ b/asm/non_matchings/racer/func_8005492C.s @@ -42,7 +42,7 @@ glabel func_8005492C /* 055568 80054968 00E02025 */ move $a0, $a3 /* 05556C 8005496C AFA5004C */ sw $a1, 0x4c($sp) /* 055570 80054970 AFA70048 */ sw $a3, 0x48($sp) -/* 055574 80054974 0C015C88 */ jal func_80057220 +/* 055574 80054974 0C015C88 */ jal handle_racer_top_speed /* 055578 80054978 E7A20030 */ swc1 $f2, 0x30($sp) /* 05557C 8005497C 8FA5004C */ lw $a1, 0x4c($sp) /* 055580 80054980 E7A00018 */ swc1 $f0, 0x18($sp) @@ -183,7 +183,7 @@ glabel func_8005492C /* 055778 80054B78 AFA5004C */ sw $a1, 0x4c($sp) /* 05577C 80054B7C AFA70048 */ sw $a3, 0x48($sp) /* 055780 80054B80 E7A00028 */ swc1 $f0, 0x28($sp) -/* 055784 80054B84 0C00322D */ jal func_8000C8B4 +/* 055784 80054B84 0C00322D */ jal set_timer_region_adjusted /* 055788 80054B88 E7A20030 */ swc1 $f2, 0x30($sp) /* 05578C 80054B8C 8FA5004C */ lw $a1, 0x4c($sp) /* 055790 80054B90 8FA70048 */ lw $a3, 0x48($sp) @@ -264,7 +264,7 @@ glabel func_8005492C /* 0558A4 80054CA4 4602003C */ c.lt.s $f0, $f2 /* 0558A8 80054CA8 3C0B8012 */ lui $t3, %hi(D_8011D564) # $t3, 0x8012 /* 0558AC 80054CAC 45000002 */ bc1f .L80054CB8 -/* 0558B0 80054CB0 3C0E8012 */ lui $t6, %hi(D_8011D540) # $t6, 0x8012 +/* 0558B0 80054CB0 3C0E8012 */ lui $t6, %hi(gRaceStartTimer) # $t6, 0x8012 /* 0558B4 80054CB4 46000086 */ mov.s $f2, $f0 .L80054CB8: /* 0558B8 80054CB8 444CF800 */ cfc1 $t4, $31 @@ -304,7 +304,7 @@ glabel func_8005492C /* 055940 80054D40 460A1082 */ mul.s $f2, $f2, $f10 /* 055944 80054D44 19A00016 */ blez $t5, .L80054DA0 /* 055948 80054D48 00000000 */ nop -/* 05594C 80054D4C 8DCED540 */ lw $t6, %lo(D_8011D540)($t6) +/* 05594C 80054D4C 8DCED540 */ lw $t6, %lo(gRaceStartTimer)($t6) /* 055950 80054D50 3C013F80 */ li $at, 0x3F800000 # 1.000000 /* 055954 80054D54 15C00010 */ bnez $t6, .L80054D98 /* 055958 80054D58 00000000 */ nop @@ -337,7 +337,7 @@ glabel func_8005492C /* 0559B4 80054DB4 44805000 */ mtc1 $zero, $f10 /* 0559B8 80054DB8 3C014008 */ li $at, 0x40080000 # 2.125000 /* 0559BC 80054DBC 4620503C */ c.lt.d $f10, $f0 -/* 0559C0 80054DC0 3C0B8012 */ lui $t3, %hi(D_8011D540) # $t3, 0x8012 +/* 0559C0 80054DC0 3C0B8012 */ lui $t3, %hi(gRaceStartTimer) # $t3, 0x8012 /* 0559C4 80054DC4 4500001E */ bc1f .L80054E40 /* 0559C8 80054DC8 00000000 */ nop /* 0559CC 80054DCC 44818800 */ mtc1 $at, $f17 @@ -451,7 +451,7 @@ glabel func_8005492C /* 055B68 80054F68 00000000 */ nop /* 055B6C 80054F6C 4500000F */ bc1f .L80054FAC /* 055B70 80054F70 00000000 */ nop -/* 055B74 80054F74 8D6BD540 */ lw $t3, %lo(D_8011D540)($t3) +/* 055B74 80054F74 8D6BD540 */ lw $t3, %lo(gRaceStartTimer)($t3) /* 055B78 80054F78 3C014080 */ li $at, 0x40800000 # 4.000000 /* 055B7C 80054F7C 1560000B */ bnez $t3, .L80054FAC /* 055B80 80054F80 00000000 */ nop diff --git a/asm/non_matchings/racer/func_80055EC0.s b/asm/non_matchings/racer/func_80055EC0.s index 727bcdeb..84a3da79 100644 --- a/asm/non_matchings/racer/func_80055EC0.s +++ b/asm/non_matchings/racer/func_80055EC0.s @@ -373,21 +373,21 @@ glabel L800563EC /* 056FF4 800563F4 2401000F */ li $at, 15 /* 056FF8 800563F8 1501000D */ bne $t0, $at, .L80056430 /* 056FFC 800563FC 00000000 */ nop -/* 057000 80056400 0C00322D */ jal func_8000C8B4 +/* 057000 80056400 0C00322D */ jal set_timer_region_adjusted /* 057004 80056404 2404004B */ li $a0, 75 /* 057008 80056408 240D0002 */ li $t5, 2 /* 05700C 8005640C A20D0203 */ sb $t5, 0x203($s0) /* 057010 80056410 1000000B */ b .L80056440 /* 057014 80056414 A20201D3 */ sb $v0, 0x1d3($s0) .L80056418: -/* 057018 80056418 0C00322D */ jal func_8000C8B4 +/* 057018 80056418 0C00322D */ jal set_timer_region_adjusted /* 05701C 8005641C 24040037 */ li $a0, 55 /* 057020 80056420 240E0001 */ li $t6, 1 /* 057024 80056424 A20E0203 */ sb $t6, 0x203($s0) /* 057028 80056428 10000005 */ b .L80056440 /* 05702C 8005642C A20201D3 */ sb $v0, 0x1d3($s0) .L80056430: -/* 057030 80056430 0C00322D */ jal func_8000C8B4 +/* 057030 80056430 0C00322D */ jal set_timer_region_adjusted /* 057034 80056434 24040023 */ li $a0, 35 /* 057038 80056438 A20201D3 */ sb $v0, 0x1d3($s0) /* 05703C 8005643C A2000203 */ sb $zero, 0x203($s0) diff --git a/asm/non_matchings/racer/func_8005A6F0.s b/asm/non_matchings/racer/func_8005A6F0.s index a7d6309c..f19a5335 100644 --- a/asm/non_matchings/racer/func_8005A6F0.s +++ b/asm/non_matchings/racer/func_8005A6F0.s @@ -43,7 +43,7 @@ glabel func_8005A6F0 /* 05B320 8005A720 AFA20094 */ sw $v0, 0x94($sp) /* 05B324 8005A724 AFA20070 */ sw $v0, 0x70($sp) /* 05B328 8005A728 820301F6 */ lb $v1, 0x1f6($s0) -/* 05B32C 8005A72C 3C198012 */ lui $t9, %hi(D_8011D540) # $t9, 0x8012 +/* 05B32C 8005A72C 3C198012 */ lui $t9, %hi(gRaceStartTimer) # $t9, 0x8012 /* 05B330 8005A730 18600006 */ blez $v1, .L8005A74C /* 05B334 8005A734 00000000 */ nop /* 05B338 8005A738 8FAF00A8 */ lw $t7, 0xa8($sp) @@ -54,7 +54,7 @@ glabel func_8005A6F0 .L8005A74C: /* 05B34C 8005A74C A20001F6 */ sb $zero, 0x1f6($s0) .L8005A750: -/* 05B350 8005A750 8F39D540 */ lw $t9, %lo(D_8011D540)($t9) +/* 05B350 8005A750 8F39D540 */ lw $t9, %lo(gRaceStartTimer)($t9) /* 05B354 8005A754 00000000 */ nop /* 05B358 8005A758 13200005 */ beqz $t9, .L8005A770 /* 05B35C 8005A75C 2404FFC4 */ li $a0, -60 @@ -165,12 +165,12 @@ glabel func_8005A6F0 /* 05B4EC 8005A8EC 44813000 */ mtc1 $at, $f6 /* 05B4F0 8005A8F0 3C018012 */ lui $at, %hi(D_8011D544) # $at, 0x8012 /* 05B4F4 8005A8F4 C428D544 */ lwc1 $f8, %lo(D_8011D544)($at) -/* 05B4F8 8005A8F8 3C188012 */ lui $t8, %hi(D_8011D540) # $t8, 0x8012 +/* 05B4F8 8005A8F8 3C188012 */ lui $t8, %hi(gRaceStartTimer) # $t8, 0x8012 /* 05B4FC 8005A8FC 4608303C */ c.lt.s $f6, $f8 /* 05B500 8005A900 00000000 */ nop /* 05B504 8005A904 4501000A */ bc1t .L8005A930 /* 05B508 8005A908 240E001E */ li $t6, 30 -/* 05B50C 8005A90C 8F18D540 */ lw $t8, %lo(D_8011D540)($t8) +/* 05B50C 8005A90C 8F18D540 */ lw $t8, %lo(gRaceStartTimer)($t8) /* 05B510 8005A910 8FAF0070 */ lw $t7, 0x70($sp) /* 05B514 8005A914 17000006 */ bnez $t8, .L8005A930 /* 05B518 8005A918 240E001E */ li $t6, 30 @@ -581,8 +581,8 @@ glabel func_8005A6F0 /* 05BAE0 8005AEE0 8E0E0148 */ lw $t6, 0x148($s0) /* 05BAE4 8005AEE4 240B0001 */ li $t3, 1 /* 05BAE8 8005AEE8 15C00009 */ bnez $t6, .L8005AF10 -/* 05BAEC 8005AEEC 3C088012 */ lui $t0, %hi(D_8011D540) # $t0, 0x8012 -/* 05BAF0 8005AEF0 2508D540 */ addiu $t0, %lo(D_8011D540) # addiu $t0, $t0, -0x2ac0 +/* 05BAEC 8005AEEC 3C088012 */ lui $t0, %hi(gRaceStartTimer) # $t0, 0x8012 +/* 05BAF0 8005AEF0 2508D540 */ addiu $t0, %lo(gRaceStartTimer) # addiu $t0, $t0, -0x2ac0 /* 05BAF4 8005AEF4 8D180000 */ lw $t8, ($t0) /* 05BAF8 8005AEF8 00000000 */ nop /* 05BAFC 8005AEFC 17000004 */ bnez $t8, .L8005AF10 @@ -601,9 +601,9 @@ glabel func_8005A6F0 /* 05BB2C 8005AF2C AC600000 */ sw $zero, ($v1) /* 05BB30 8005AF30 3C018012 */ lui $at, %hi(D_8011D530) # $at, 0x8012 /* 05BB34 8005AF34 2442D52C */ addiu $v0, %lo(gActivePlayerButtonPress) # addiu $v0, $v0, -0x2ad4 -/* 05BB38 8005AF38 3C088012 */ lui $t0, %hi(D_8011D540) # $t0, 0x8012 +/* 05BB38 8005AF38 3C088012 */ lui $t0, %hi(gRaceStartTimer) # $t0, 0x8012 /* 05BB3C 8005AF3C AC20D530 */ sw $zero, %lo(D_8011D530)($at) -/* 05BB40 8005AF40 2508D540 */ addiu $t0, %lo(D_8011D540) # addiu $t0, $t0, -0x2ac0 +/* 05BB40 8005AF40 2508D540 */ addiu $t0, %lo(gRaceStartTimer) # addiu $t0, $t0, -0x2ac0 /* 05BB44 8005AF44 AC400000 */ sw $zero, ($v0) .L8005AF48: /* 05BB48 8005AF48 921901D6 */ lbu $t9, 0x1d6($s0) @@ -1149,10 +1149,10 @@ glabel L8005B1B0 /* 05C304 8005B704 3C018012 */ lui $at, %hi(D_8011D584) # $at, 0x8012 /* 05C308 8005B708 A020D584 */ sb $zero, %lo(D_8011D584)($at) /* 05C30C 8005B70C 8E020150 */ lw $v0, 0x150($s0) -/* 05C310 8005B710 3C198012 */ lui $t9, %hi(D_8011D540) # $t9, 0x8012 +/* 05C310 8005B710 3C198012 */ lui $t9, %hi(gRaceStartTimer) # $t9, 0x8012 /* 05C314 8005B714 10400038 */ beqz $v0, .L8005B7F8 /* 05C318 8005B718 00000000 */ nop -/* 05C31C 8005B71C 8F39D540 */ lw $t9, %lo(D_8011D540)($t9) +/* 05C31C 8005B71C 8F39D540 */ lw $t9, %lo(gRaceStartTimer)($t9) /* 05C320 8005B720 8FAD00A0 */ lw $t5, 0xa0($sp) /* 05C324 8005B724 17200034 */ bnez $t9, .L8005B7F8 /* 05C328 8005B728 00002025 */ move $a0, $zero diff --git a/asm/non_matchings/racer/update_camera_car.s b/asm/non_matchings/racer/update_camera_car.s index 80806caf..3a53bcb5 100644 --- a/asm/non_matchings/racer/update_camera_car.s +++ b/asm/non_matchings/racer/update_camera_car.s @@ -211,7 +211,7 @@ glabel update_camera_car /* 0590BC 800584BC 44804000 */ mtc1 $zero, $f8 /* 0590C0 800584C0 460001A1 */ cvt.d.s $f6, $f0 /* 0590C4 800584C4 4628303C */ c.lt.d $f6, $f8 -/* 0590C8 800584C8 3C0A8012 */ lui $t2, %hi(D_8011D540) # $t2, 0x8012 +/* 0590C8 800584C8 3C0A8012 */ lui $t2, %hi(gRaceStartTimer) # $t2, 0x8012 /* 0590CC 800584CC 45000016 */ bc1f .L80058528 /* 0590D0 800584D0 00000000 */ nop /* 0590D4 800584D4 460E0282 */ mul.s $f10, $f0, $f14 @@ -254,13 +254,13 @@ glabel update_camera_car /* 059158 80058558 46061202 */ mul.s $f8, $f2, $f6 /* 05915C 8005855C 46088400 */ add.s $f16, $f16, $f8 .L80058560: -/* 059160 80058560 8D4AD540 */ lw $t2, %lo(D_8011D540)($t2) +/* 059160 80058560 8D4AD540 */ lw $t2, %lo(gRaceStartTimer)($t2) /* 059164 80058564 E7B20050 */ swc1 $f18, 0x50($sp) /* 059168 80058568 15400014 */ bnez $t2, .L800585BC /* 05916C 8005856C 24040024 */ li $a0, 36 /* 059170 80058570 AFA70070 */ sw $a3, 0x70($sp) /* 059174 80058574 E7B00054 */ swc1 $f16, 0x54($sp) -/* 059178 80058578 0C00322D */ jal func_8000C8B4 +/* 059178 80058578 0C00322D */ jal set_timer_region_adjusted /* 05917C 8005857C E7B20050 */ swc1 $f18, 0x50($sp) /* 059180 80058580 8FA70070 */ lw $a3, 0x70($sp) /* 059184 80058584 3C088012 */ lui $t0, %hi(gCameraObject) # $t0, 0x8012 @@ -279,8 +279,8 @@ glabel update_camera_car /* 0591B4 800585B4 44818000 */ mtc1 $at, $f16 /* 0591B8 800585B8 00000000 */ nop .L800585BC: -/* 0591BC 800585BC 3C0B8012 */ lui $t3, %hi(D_8011D540) # $t3, 0x8012 -/* 0591C0 800585C0 8D6BD540 */ lw $t3, %lo(D_8011D540)($t3) +/* 0591BC 800585BC 3C0B8012 */ lui $t3, %hi(gRaceStartTimer) # $t3, 0x8012 +/* 0591C0 800585C0 8D6BD540 */ lw $t3, %lo(gRaceStartTimer)($t3) /* 0591C4 800585C4 C7B20050 */ lwc1 $f18, 0x50($sp) /* 0591C8 800585C8 8D050000 */ lw $a1, ($t0) /* 0591CC 800585CC 29610051 */ slti $at, $t3, 0x51 @@ -513,7 +513,7 @@ glabel update_camera_car /* 059540 80058940 44802000 */ mtc1 $zero, $f4 /* 059544 80058944 3C014000 */ li $at, 0x40000000 # 2.000000 /* 059548 80058948 46204420 */ cvt.s.d $f16, $f8 -/* 05954C 8005894C 3C098012 */ lui $t1, %hi(D_8011D540) # $t1, 0x8012 +/* 05954C 8005894C 3C098012 */ lui $t1, %hi(gRaceStartTimer) # $t1, 0x8012 /* 059550 80058950 460080A1 */ cvt.d.s $f2, $f16 /* 059554 80058954 4624103C */ c.lt.d $f2, $f4 /* 059558 80058958 00000000 */ nop @@ -543,7 +543,7 @@ glabel update_camera_car /* 0595B4 800589B4 E4A80010 */ swc1 $f8, 0x10($a1) /* 0595B8 800589B8 45010005 */ bc1t .L800589D0 /* 0595BC 800589BC 00000000 */ nop -/* 0595C0 800589C0 8D29D540 */ lw $t1, %lo(D_8011D540)($t1) +/* 0595C0 800589C0 8D29D540 */ lw $t1, %lo(gRaceStartTimer)($t1) /* 0595C4 800589C4 00000000 */ nop /* 0595C8 800589C8 11200004 */ beqz $t1, .L800589DC /* 0595CC 800589CC 00000000 */ nop diff --git a/asm/non_matchings/racer/update_camera_plane.s b/asm/non_matchings/racer/update_camera_plane.s index 88ba7de3..e231a235 100644 --- a/asm/non_matchings/racer/update_camera_plane.s +++ b/asm/non_matchings/racer/update_camera_plane.s @@ -247,7 +247,7 @@ glabel update_camera_plane /* 04D1F4 8004C5F4 008B1823 */ subu $v1, $a0, $t3 /* 04D1F8 8004C5F8 0061082A */ slt $at, $v1, $at /* 04D1FC 8004C5FC 14200004 */ bnez $at, .L8004C610 -/* 04D200 8004C600 3C198012 */ lui $t9, %hi(D_8011D540) # $t9, 0x8012 +/* 04D200 8004C600 3C198012 */ lui $t9, %hi(gRaceStartTimer) # $t9, 0x8012 /* 04D204 8004C604 3C01FFFF */ lui $at, (0xFFFF0001 >> 16) # lui $at, 0xffff /* 04D208 8004C608 34210001 */ ori $at, (0xFFFF0001 & 0xFFFF) # ori $at, $at, 1 /* 04D20C 8004C60C 00611821 */ addu $v1, $v1, $at @@ -348,13 +348,13 @@ glabel update_camera_plane .L8004C764: /* 04D364 8004C764 46107381 */ sub.s $f14, $f14, $f16 .L8004C768: -/* 04D368 8004C768 8F39D540 */ lw $t9, %lo(D_8011D540)($t9) +/* 04D368 8004C768 8F39D540 */ lw $t9, %lo(gRaceStartTimer)($t9) /* 04D36C 8004C76C 00000000 */ nop /* 04D370 8004C770 17200015 */ bnez $t9, .L8004C7C8 /* 04D374 8004C774 24040024 */ li $a0, 36 /* 04D378 8004C778 AFA70058 */ sw $a3, 0x58($sp) /* 04D37C 8004C77C E7AE0034 */ swc1 $f14, 0x34($sp) -/* 04D380 8004C780 0C00322D */ jal func_8000C8B4 +/* 04D380 8004C780 0C00322D */ jal set_timer_region_adjusted /* 04D384 8004C784 E7B20030 */ swc1 $f18, 0x30($sp) /* 04D388 8004C788 8FA70058 */ lw $a3, 0x58($sp) /* 04D38C 8004C78C 3C088012 */ lui $t0, %hi(gCameraObject) # $t0, 0x8012 @@ -374,8 +374,8 @@ glabel update_camera_plane /* 04D3C0 8004C7C0 44817000 */ mtc1 $at, $f14 /* 04D3C4 8004C7C4 00000000 */ nop .L8004C7C8: -/* 04D3C8 8004C7C8 3C0A8012 */ lui $t2, %hi(D_8011D540) # $t2, 0x8012 -/* 04D3CC 8004C7CC 8D4AD540 */ lw $t2, %lo(D_8011D540)($t2) +/* 04D3C8 8004C7C8 3C0A8012 */ lui $t2, %hi(gRaceStartTimer) # $t2, 0x8012 +/* 04D3CC 8004C7CC 8D4AD540 */ lw $t2, %lo(gRaceStartTimer)($t2) /* 04D3D0 8004C7D0 8D050000 */ lw $a1, ($t0) /* 04D3D4 8004C7D4 29410051 */ slti $at, $t2, 0x51 /* 04D3D8 8004C7D8 14200007 */ bnez $at, .L8004C7F8 diff --git a/asm/non_matchings/unknown_032760/func_8003E694.s b/asm/non_matchings/unknown_032760/func_8003E694.s index 87627b38..d06f072a 100644 --- a/asm/non_matchings/unknown_032760/func_8003E694.s +++ b/asm/non_matchings/unknown_032760/func_8003E694.s @@ -224,7 +224,7 @@ glabel func_8003E694 /* 03F5D4 8003E9D4 00402825 */ move $a1, $v0 /* 03F5D8 8003E9D8 144E000C */ bne $v0, $t6, .L8003EA0C /* 03F5DC 8003E9DC 240401C2 */ li $a0, 450 -/* 03F5E0 8003E9E0 0C00322D */ jal func_8000C8B4 +/* 03F5E0 8003E9E0 0C00322D */ jal set_timer_region_adjusted /* 03F5E4 8003E9E4 AFA200E4 */ sw $v0, 0xe4($sp) /* 03F5E8 8003E9E8 8E030078 */ lw $v1, 0x78($s0) /* 03F5EC 8003E9EC 8FA500E4 */ lw $a1, 0xe4($sp) diff --git a/asm/non_matchings/unknown_032760/func_8003F2E8.s b/asm/non_matchings/unknown_032760/func_8003F2E8.s index 0dac6658..627ea928 100644 --- a/asm/non_matchings/unknown_032760/func_8003F2E8.s +++ b/asm/non_matchings/unknown_032760/func_8003F2E8.s @@ -437,7 +437,7 @@ glabel func_8003F2E8 /* 040524 8003F924 1498000D */ bne $a0, $t8, .L8003F95C /* 040528 8003F928 240401C2 */ li $a0, 450 /* 04052C 8003F92C AFA50048 */ sw $a1, 0x48($sp) -/* 040530 8003F930 0C00322D */ jal func_8000C8B4 +/* 040530 8003F930 0C00322D */ jal set_timer_region_adjusted /* 040534 8003F934 AFA80038 */ sw $t0, 0x38($sp) /* 040538 8003F938 8FA80038 */ lw $t0, 0x38($sp) /* 04053C 8003F93C 8FA50048 */ lw $a1, 0x48($sp) @@ -597,7 +597,7 @@ glabel func_8003F2E8 /* 04077C 8003FB7C 1020002D */ beqz $at, .L8003FC34 /* 040780 8003FB80 AD0F0000 */ sw $t7, ($t0) /* 040784 8003FB84 2404FAD8 */ li $a0, -1320 -/* 040788 8003FB88 0C00322D */ jal func_8000C8B4 +/* 040788 8003FB88 0C00322D */ jal set_timer_region_adjusted /* 04078C 8003FB8C AFA80038 */ sw $t0, 0x38($sp) /* 040790 8003FB90 8FA80038 */ lw $t0, 0x38($sp) /* 040794 8003FB94 8FAC0040 */ lw $t4, 0x40($sp) diff --git a/include/structs.h b/include/structs.h index eb92488d..3e02ca53 100644 --- a/include/structs.h +++ b/include/structs.h @@ -949,7 +949,7 @@ typedef struct Object_Racer { /* 0x1D0 */ s8 spectateCamID; /* 0x1D1 */ u8 unk1D1; /* 0x1D2 */ s8 unk1D2; - /* 0x1D3 */ s8 unk1D3; + /* 0x1D3 */ s8 boostTimer; /* 0x1D4 */ u8 unk1D4; /* 0x1D5 */ u8 unk1D5; /* 0x1D6 */ s8 unk1D6; @@ -979,7 +979,7 @@ typedef struct Object_Racer { /* 0x1F1 */ u8 unk1F1; /* 0x1F2 */ u8 unk1F2; /* 0x1F3 */ u8 unk1F3; - /* 0x1F4 */ u8 unk1F4; + /* 0x1F4 */ u8 startInput; /* 0x1F5 */ u8 unk1F5; /* 0x1F6 */ u8 unk1F6; /* 0x1F7 */ u8 transparency; @@ -994,13 +994,13 @@ typedef struct Object_Racer { /* 0x200 */ s8 unk200; /* 0x201 */ s8 unk201; /* 0x202 */ s8 unk202; - /* 0x203 */ s8 unk203; + /* 0x203 */ s8 boostType; /* 0x204 */ s16 unk204; /* 0x206 */ s16 unk206; /* 0x208 */ s16 unk208; /* 0x20A */ s8 unk20A; /* 0x20B */ s8 unk20B; - /* 0x20C */ u8 unk20C; + /* 0x20C */ u8 throttleReleased; /* 0x20D */ u8 unk20D; /* 0x20E */ s16 unk20E; /* 0x210 */ s8 unk210; diff --git a/src/game_text.c b/src/game_text.c index fe0304a9..651fa484 100644 --- a/src/game_text.c +++ b/src/game_text.c @@ -190,7 +190,7 @@ void func_800C3440(s32 arg0) { if (D_8012A786 != 0) { D_8012A785 -= arg0; while (D_8012A785 < 0) { - D_8012A785 += func_8000C8B4(0x3C); + D_8012A785 += set_timer_region_adjusted(0x3C); D_8012A786--; } if (D_8012A786 <= 0) { diff --git a/src/menu.c b/src/menu.c index f0d51ea1..f3a19c2e 100644 --- a/src/menu.c +++ b/src/menu.c @@ -5227,20 +5227,20 @@ void func_80094C14(s32 arg0) { D_801263D8 += arg0; switch (D_800DF460) { case 0: - if (func_8000C8B4(0xF0) < D_801263D8) { + if (set_timer_region_adjusted(0xF0) < D_801263D8) { set_music_fade_timer(-0x100); D_800DF460 = 1; } break; case 1: - if (func_8000C8B4(0x12C) < D_801263D8) { + if (set_timer_region_adjusted(0x12C) < D_801263D8) { set_music_player_voice_limit(0x18); play_music(0x18); set_music_fade_timer(0x100); } break; } - if (func_8000C8B4(0x12C) < D_801263D8) { + if (set_timer_region_adjusted(0x12C) < D_801263D8) { D_801263D8 = -1; } } diff --git a/src/object_functions.c b/src/object_functions.c index b804adb9..aed8b17c 100644 --- a/src/object_functions.c +++ b/src/object_functions.c @@ -798,7 +798,7 @@ void obj_loop_airzippers_waterzippers(Object *obj, UNUSED s32 speed) { for (i = 0; i < numObjects; i++) { curRacerObj = racerObjs[i]; racerObj64 = &curRacerObj->unk64->racer; - if ((racerObj64->unk1F5 == 0) && (racerObj64->unk1D3 < 15)) { + if ((racerObj64->unk1F5 == 0) && (racerObj64->boostTimer < 15)) { xDiff = curRacerObj->segment.trans.x_position - obj->segment.trans.x_position; yDiff = curRacerObj->segment.trans.y_position - obj->segment.trans.y_position; zDiff = curRacerObj->segment.trans.z_position - obj->segment.trans.z_position; @@ -863,7 +863,7 @@ void obj_loop_groundzipper(Object *obj, UNUSED s32 speed) { for (i = 0; i < numObjects; i++) { curRacerObj = racerObjs[i]; racerObj64 = &curRacerObj->unk64->racer; - if ((racerObj64->unk1D3 < 15) && (racerObj64->unk1E2 != 0)) { + if ((racerObj64->boostTimer < 15) && (racerObj64->unk1E2 != 0)) { xDiff = curRacerObj->segment.trans.x_position - obj->segment.trans.x_position; yDiff = curRacerObj->segment.trans.y_position - obj->segment.trans.y_position; zDiff = curRacerObj->segment.trans.z_position - obj->segment.trans.z_position; @@ -871,10 +871,10 @@ void obj_loop_groundzipper(Object *obj, UNUSED s32 speed) { if (racerObj64->playerIndex != -1) { func_80001EA8(263, curRacerObj->segment.trans.x_position, curRacerObj->segment.trans.y_position, curRacerObj->segment.trans.z_position, NULL); } - racerObj64->unk1D3 = func_8000C8B4(45); - racerObj64->unk203 = 2; - if (racerObj64->unk20C) { - racerObj64->unk203 |= 4; + racerObj64->boostTimer = set_timer_region_adjusted(45); + racerObj64->boostType = BOOST_LARGE; + if (racerObj64->throttleReleased) { + racerObj64->boostType |= BOOST_SMALL_FAST; } if (racerObj64->raceStatus == STATUS_RACING) { func_80072348(racerObj64->playerIndex, 8); @@ -2249,7 +2249,7 @@ void obj_init_weapon(Object *obj, UNUSED LevelObjectEntry_Weapon *entry) { obj->unk4C->unk11 = 0; obj->unk4C->unk10 = 0x18; obj->unk4C->unk12 = 0; - obj->unk78 = func_8000C8B4(0x1E0); + obj->unk78 = set_timer_region_adjusted(0x1E0); obj->unk7C.word = 0; } diff --git a/src/objects.c b/src/objects.c index ba08b5f2..fafb0a83 100644 --- a/src/objects.c +++ b/src/objects.c @@ -167,7 +167,7 @@ f32 D_8011ADA8; s32 D_8011ADAC; s32 D_8011ADB0; s32 D_8011ADB4; -s32 D_8011ADB8; +s32 gRaceStartCountdown; s32 D_8011ADBC; s32 D_8011ADC0; u8 D_8011ADC4; @@ -482,11 +482,16 @@ void func_8000C844(s32 arg0) { } } -s32 func_8000C8B4(s32 arg0) { - if (osTvType != 0 || arg0 < 0) { - return arg0; +/** + * Converts the passed value into an accurate countdown value based on the systems region. + * Since PAL runs at 50Hz, it therefore will reduce the timer to 5/6 to match, keeping + * it consistent with non PAL timers, running 60Hz. + */ +s32 set_timer_region_adjusted(s32 timer) { + if (osTvType != TV_TYPE_PAL || timer < 0) { + return timer; } else { - return (arg0 * 5) / 6; + return (timer * 5) / 6; } } @@ -860,8 +865,13 @@ s32 func_8001139C() { return D_8011ADB0; } -s32 func_800113AC() { - return D_8011ADB8; +/** + * Return the timer countdown before the race starts. + * There exists another variable in racer.c with exactly the same purpose. + * This does not get used anywhere else. + */ +s32 get_race_start_timer() { + return gRaceStartCountdown; } s32 func_800113BC() { diff --git a/src/objects.h b/src/objects.h index 8366cab3..412d3a05 100644 --- a/src/objects.h +++ b/src/objects.h @@ -43,7 +43,7 @@ typedef struct unk800179D0 { /* Unknown Size */ typedef struct unk800179D0_2 { - s32 unk04; + s32 unk04; } unk800179D0_2; typedef struct unk8001D6E4_arg1_40 { @@ -130,7 +130,7 @@ Object *func_8000BF44(s32 arg0); void func_8000BF8C(void); void func_8000C460(void); void func_8000C604(void); -s32 func_8000C8B4(s32 arg0); +s32 set_timer_region_adjusted(s32 timer); void func_8000CBC0(void); s32 func_8000CC20(u32 *arg0); u32 func_8000E0B0(void); @@ -157,7 +157,7 @@ s32 func_80010018(void); s32 func_80010028(s32 arg0); void func_80011390(void); s32 func_8001139C(); -s32 func_800113AC(); +s32 get_race_start_timer(); s32 func_800113BC(); s32 func_80011560(void); void func_80012C30(void); diff --git a/src/racer.c b/src/racer.c index 7d8844c7..2caae07f 100644 --- a/src/racer.c +++ b/src/racer.c @@ -154,7 +154,7 @@ s32 D_8011D530; s32 gCurrentStickX; s32 gCurrentStickY; s32 D_8011D53C; -s32 D_8011D540; +s32 gRaceStartTimer; f32 D_8011D544; f32 D_8011D548; f32 D_8011D54C; @@ -295,7 +295,7 @@ void func_80044170(Object *obj, Object_Racer *racer, s32 updateRate) { } } - if (racer->velocity > -1.0 && racer->unk214 == 0 && !D_8011D540 && D_8011D544 == 0.0f && racer->unk1E2 && racer->unk215 == 0) { + if (racer->velocity > -1.0 && racer->unk214 == 0 && !gRaceStartTimer && D_8011D544 == 0.0f && racer->unk1E2 && racer->unk215 == 0) { racer->unk213 += updateRate; if (racer->unk213 > 60) { @@ -451,14 +451,14 @@ void update_camera_hovercraft(f32 updateRate, Object *obj, Object_Racer *racer) phi_f14 -= yVel; } phi_f14 += baseSpeed * 30.0f; - if (D_8011D540 == 0) { - if (func_8000C8B4(36) < racer->unk1D3) { + if (gRaceStartTimer == 0) { + if (set_timer_region_adjusted(36) < racer->boostTimer) { phi_f14 = -30.0f; - } else if (racer->unk1D3 > 0) { + } else if (racer->boostTimer > 0) { phi_f14 = 180.0f; } } - if (D_8011D540 > 80) { + if (gRaceStartTimer > 80) { gCameraObject->unk1C = phi_f14; gCameraObject->unk20 = phi_f18; } @@ -485,13 +485,13 @@ void update_camera_hovercraft(f32 updateRate, Object *obj, Object_Racer *racer) } else { yVel *= 0.25; } - if (racer->unk1D3 != 0) { + if (racer->boostTimer != 0) { yVel *= 2.0; } } gCameraObject->trans.y_position -= yVel; gCameraObject->trans.z_rotation = 0; - if (D_8011D540) { + if (gRaceStartTimer) { gCameraObject->trans.y_position = obj->segment.trans.y_position + phi_f18; } @@ -718,14 +718,14 @@ void update_camera_plane(f32 updateRate, Object* obj, Object_Racer* racer) { if (yOffset); phi_f14 -= tempVel; } - if (!D_8011D540) { - if (func_8000C8B4(36) < racer->unk1D3) { + if (!gRaceStartTimer) { + if (set_timer_region_adjusted(36) < racer->boostTimer) { phi_f14 = -30.0f; - } else if (racer->unk1D3 > 0) { + } else if (racer->boostTimer > 0) { phi_f14 = 180.0f; } } - if (D_8011D540 > 80) { + if (gRaceStartTimer > 80) { gCameraObject->unk1C = phi_f14; gCameraObject->unk20 = baseFloat1; } @@ -819,8 +819,8 @@ void update_camera_loop(f32 updateRate, Object* obj, Object_Racer* racer) { delta = (s32) updateRate; zoom = 120.0f; - if (D_8011D540 >= 0x3D) { - zoom += ((f32) (D_8011D540 - 0x3C) * 4.0f); + if (gRaceStartTimer >= 0x3D) { + zoom += ((f32) (gRaceStartTimer - 0x3C) * 4.0f); } racer->unk196 = 0x8000 - racer->unk1A0; if (get_viewport_count() == 1) { @@ -1145,13 +1145,13 @@ void func_800521C4(Object *obj, Object_Racer *racer, UNUSED s32 arg2) { } if (!foundObj) { tempObj = func_8001B7A8(racer, 1, &distance); - if (tempObj && !D_8011D540) { + if (tempObj && !gRaceStartTimer) { foundObj = func_80052388(obj, racer, tempObj, 160000.0f); } } if (!foundObj) { tempObj = func_8001B7A8(racer, -1, &distance); - if (tempObj && !D_8011D540) { + if (tempObj && !gRaceStartTimer) { foundObj = func_80052388(obj, racer, tempObj, 30000.0f); } } @@ -1659,83 +1659,94 @@ void func_800570B8(Object *obj, s32 arg1, s32 arg2, s32 arg3) { } } -f32 func_80057220(Object *obj, Object_Racer *racer) { +/** + * This function dictates the base top speed of a racer. + * During the race start sequence it hardsets it to 0 so you don't go anywhere. + * It then adds to the multiplier an amount based on your bananas. + */ +f32 handle_racer_top_speed(Object *obj, Object_Racer *racer) { f32 speedMultiplier; - s32 temp_v1; + s32 timer; f32 bananas; f32 cap; - s32 phi_a1; - s32 sp28; + s32 timer2; + s32 timer3; + // If you want to change the baseline speed of vehicles, this is what you change. speedMultiplier = 1.0f; - if (D_8011D540) { + // Set the player's top speed to 0 before the race starts, so you can't jump the start. + if (gRaceStartTimer) { speedMultiplier = 0.0f; } - sp28 = func_800113AC(); - if (D_8011D540); - if (D_8011D540 > 0 && D_8011D540 < 30 && !racer->unk1F4) { - temp_v1 = D_8011D540 - 14; + timer3 = get_race_start_timer(); + if (gRaceStartTimer); + // If the A button is held for the first time, 30 frames prior to starting, + // decide how much boost to add based on when it was pressed. + if (gRaceStartTimer > 0 && gRaceStartTimer < 30 && !racer->startInput) { + timer = gRaceStartTimer - 14; if (gActivePlayerButtonPress & A_BUTTON) { - if (temp_v1 < 0 && sp28 >= 0) { - temp_v1 = 0; + if (timer < 0 && timer3 >= 0) { + timer = 0; } - if (temp_v1 < 0) { - temp_v1 = -temp_v1; + // Keep the timer positive. + if (timer < 0) { + timer = -timer; } if ((gCurrentCarInput & Z_TRIG)) { - if (temp_v1 < 2) { - temp_v1 = 0; + if (timer < 2) { + timer = 0; } } - phi_a1 = 24 - temp_v1; - racer->unk1D3 = func_8000C8B4(phi_a1 >> 1); - if (phi_a1 == 24) { + timer2 = 24 - timer; + racer->boostTimer = set_timer_region_adjusted(timer2 >> 1); + if (timer2 == 24) { func_80057048(obj, 34); - racer->unk1D3 = func_8000C8B4(20); + racer->boostTimer = set_timer_region_adjusted(20); } - if (racer->unk1D3 < func_8000C8B4(20)) { - racer->unk203 = 0; - } else if (racer->unk1D3 < func_8000C8B4(35)) { - racer->unk203 = 1; + if (racer->boostTimer < set_timer_region_adjusted(20)) { + racer->boostType = BOOST_SMALL; + } else if (racer->boostTimer < set_timer_region_adjusted(35)) { + racer->boostType = BOOST_MEDIUM; } else { - racer->unk203 = 2; + racer->boostType = BOOST_LARGE; } - racer->boost_sound |= 1; + racer->boost_sound |= BOOST_RACE_START; D_8011D560 = 7; - D_8011D585 = racer->unk1D3; + D_8011D585 = racer->boostTimer; } if ((racer->playerIndex == PLAYER_COMPUTER) && (!racer->unk1CC || (racer->unk1CC == 1 && D_8011D585))) { if (D_8011D585) { - racer->unk1D3 = D_8011D585; + racer->boostTimer = D_8011D585; } else { - racer->unk1D3 = func_8000C8B4(5); + racer->boostTimer = set_timer_region_adjusted(5); } - if (racer->unk1D3 < func_8000C8B4(20)) { - racer->unk203 = 0; - } else if (racer->unk1D3 < func_8000C8B4(35)) { - racer->unk203 = 1; + if (racer->boostTimer < set_timer_region_adjusted(20)) { + racer->boostType = BOOST_SMALL; + } else if (racer->boostTimer < set_timer_region_adjusted(35)) { + racer->boostType = BOOST_MEDIUM; } else { - racer->unk203 = 2; + racer->boostType = BOOST_LARGE; } } } - if (racer->unk1D3 && !D_8011D540 && sp28 && racer->raceStatus == STATUS_RACING) { + if (racer->boostTimer && !gRaceStartTimer && timer3 && racer->raceStatus == STATUS_RACING) { func_80072348(racer->playerIndex, 6); } - if ((D_8011D540 < 80) && gActivePlayerButtonPress & A_BUTTON) { - racer->unk1F4 = 1; + if ((gRaceStartTimer < 80) && gActivePlayerButtonPress & A_BUTTON) { + racer->startInput = 1; } - if (!D_8011D540) { - if (racer->boost_sound & 1) { - racer->boost_sound = racer->boost_sound & 0xFFFE; + if (!gRaceStartTimer) { + if (racer->boost_sound & BOOST_RACE_START) { + racer->boost_sound &= ~BOOST_RACE_START; func_800570B8(obj, 354, 8, 130); func_80057048(obj, 33); } } - if (racer->boost_sound & 2) { - racer->boost_sound = racer->boost_sound & 0xFFFD; + + if (racer->boost_sound & BOOST_UNK2) { + racer->boost_sound &= ~BOOST_UNK2; } bananas = racer->bananas; // Cheats only apply to human players. @@ -1873,7 +1884,7 @@ void func_80057A40(Object *obj, Object_Racer *racer, f32 updateRate) { gCameraObject->trans.x_position += gCameraObject->x_velocity; gCameraObject->trans.y_position += gCameraObject->y_velocity + gCameraObject->unk30; gCameraObject->trans.z_position += gCameraObject->z_velocity; - if (!D_8011D540 && !D_8011D586) { + if (!gRaceStartTimer && !D_8011D586) { gCameraObject->x_velocity = gCameraObject->x_velocity * 0.95; gCameraObject->y_velocity = gCameraObject->y_velocity * 0.95; gCameraObject->z_velocity = gCameraObject->z_velocity * 0.95; @@ -1916,7 +1927,7 @@ void func_800580B4(Object *obj, Object_Racer *racer, s32 mode, f32 arg3) { zPos = gCameraObject->trans.z_position; gCameraObject->mode = mode; func_80057A40(obj, racer, arg3); - if (D_8011D540 == 0 && D_8011D582 == 0) { + if (gRaceStartTimer == 0 && D_8011D582 == 0) { gCameraObject->x_velocity = xPos - gCameraObject->trans.x_position; gCameraObject->y_velocity = yPos - (gCameraObject->trans.y_position + gCameraObject->unk30); gCameraObject->z_velocity = zPos - gCameraObject->trans.z_position; @@ -2042,14 +2053,14 @@ void update_camera_car(f32 updateRate, Object *obj, Object_Racer *racer) { } else { baseDistance += baseSpeed * 30.0f; } - if (D_8011D540 == 0) { - if (func_8000C8B4(0x24) < racer->unk1D3) { + if (gRaceStartTimer == 0) { + if (set_timer_region_adjusted(0x24) < racer->boostTimer) { baseDistance = -30.0f; - } else if (racer->unk1D3 > 0) { + } else if (racer->boostTimer > 0) { baseDistance = 180.0f; } } - if (D_8011D540 > 80) { + if (gRaceStartTimer > 80) { gCameraObject->unk1C = baseDistance; gCameraObject->unk20 = yVel; } @@ -2098,7 +2109,7 @@ void update_camera_car(f32 updateRate, Object *obj, Object_Racer *racer) { gCameraObject->trans.y_position -= temp_f16 + 2.0; } gCameraObject->trans.y_position -= temp_f16 * 0.25; - if (temp_f16 > 0.0f || D_8011D540) { + if (temp_f16 > 0.0f || gRaceStartTimer) { gCameraObject->trans.y_position = yOffset; } gCameraObject->trans.z_position = zOffset + (-sine_s(racer->unk196 + 0x4000) * racer->unkC8) + cosOffset; diff --git a/src/racer.h b/src/racer.h index 0421c684..92fd574e 100644 --- a/src/racer.h +++ b/src/racer.h @@ -25,6 +25,22 @@ typedef enum CameraZoom { ZOOM_VERY_CLOSE } CameraZoom; +typedef enum BoostSound { + BOOST_NONE, + BOOST_RACE_START, + BOOST_UNK2 +} BoostSound; + +typedef enum BoostType { + BOOST_SMALL, + BOOST_MEDIUM, + BOOST_LARGE, + BOOST_UNK3, + BOOST_SMALL_FAST, + BOOST_MEDIUM_FAST, + BOOST_LARGE_FAST, +} BoostType; + typedef struct ObjectCamera { /* 0x0014 */ ObjectTransform trans; /* 0x0018 */ f32 unk18; @@ -198,7 +214,7 @@ void antipiracy_modify_surface_traction_table(void); s32 func_80052388(Object *obj1, Object_Racer *racer, Object *obj2, f32 distance); void func_80055A84(Object *obj, Object_Racer *racer, s32 arg2); void func_8005C270(Object_Racer *racer); -f32 func_80057220(Object *obj, Object_Racer *racer); +f32 handle_racer_top_speed(Object *obj, Object_Racer *racer); void func_800570B8(Object *obj, s32 arg1, s32 arg2, s32 arg3); void apply_vehicle_rotation_offset(Object_Racer *obj, s32 max, s16 yRotation, s16 xRotation, s16 zRotation); void func_80059080(Object *obj, Object_Racer *racer, f32 *velX, f32 *velY, f32 *velZ);