Bit more menu identification (#251)

* Squashed commit of the following:

commit 3ab4716110
Author: Fazana <52551480+FazanaJ@users.noreply.github.com>
Date:   Mon May 23 23:11:46 2022 +0100

    Mostly misc labelling, but also weather too (#232)

    * bit more labelling

    * identify some weather stuff

    * Update sound_ids.h

    * yum

    * more random identification

    * last weather stuff for now

    * Update README.md

    * Update README.md

    * Fix non equivalent

* I found the 60fps button

* match func_80052B64

* match racer_attack_handler

* match func_80048C7C

* buncha function declaring

* e

* tweak

* match func_8004DE38

oh man oh man

* Small bit of labelling

* Merge remote-tracking branch 'upstream/master' into the-many-against-the-few

* Update README.md

* Fix monumentally poor bout of misinformation in the readme

we wouldn't want to mislead the readers, would we?

* github please

* Update README.md

* requested changes

kinda funny because I knew this struct existed, and knew it was used for this, but never made the connection lol

* Update objects.c

* match racer_enter_door

A nice easy one after the pure hellscape of the last few days :)

* names

* renames

* match func_8005250C

* heehee

* Update racer.c

* identify some misc asset calls

* identify some surface types

* match func_8005492C

* Delete func_8005492C.s

* match func_80052D7C

* move some enums

* label all existing misc asset calls

granted I know what almost none of them are lmao, buut will make things slightly easier in the long run

* Update README.md

* requested changes

pain

* Update README.md

* just a bit of labelling

* labbel

* more

* Update structs.h

* file select

* file struct

* Update menu.c

* multiplayer box

* texture naming

* realised why there's 3 indices lol

* rounding

* Update menu.c

* identify textures

* pain

* fix non equiv

* Update src/menu.c

Co-authored-by: Ryan Myers <ryan.p.myers@gmail.com>

* Update src/unknown_078050.c

Co-authored-by: Ryan Myers <ryan.p.myers@gmail.com>

* Update src/menu.c

Co-authored-by: Ryan Myers <ryan.p.myers@gmail.com>

* more texture identification

* character select bytes

actually hate this so much

* Update menu.c

* I aged about 50 years doing this

* character select data

* fix conflicts

Co-authored-by: Ryan Myers <ryan.p.myers@gmail.com>
This commit is contained in:
Fazana
2022-10-04 16:01:27 +01:00
committed by GitHub
co-authored by Ryan Myers
parent 0458aa3f06
commit ec98ac4c24
9 changed files with 185 additions and 161 deletions
+2 -2
View File
@@ -14,9 +14,9 @@ glabel func_8008B358
/* 08BF88 8008B388 3C138012 */ lui $s3, %hi(D_801263C0) # $s3, 0x8012
/* 08BF8C 8008B38C 3C14800E */ lui $s4, %hi(gNumberOfActivePlayers) # $s4, 0x800e
/* 08BF90 8008B390 3C158012 */ lui $s5, %hi(D_801267D8) # $s5, 0x8012
/* 08BF94 8008B394 3C178012 */ lui $s7, %hi(D_801263CC) # $s7, 0x8012
/* 08BF94 8008B394 3C178012 */ lui $s7, %hi(gCurrCharacterSelectData) # $s7, 0x8012
/* 08BF98 8008B398 AFBF003C */ sw $ra, 0x3c($sp)
/* 08BF9C 8008B39C 26F763CC */ addiu $s7, %lo(D_801263CC) # addiu $s7, $s7, 0x63cc
/* 08BF9C 8008B39C 26F763CC */ addiu $s7, %lo(gCurrCharacterSelectData) # addiu $s7, $s7, 0x63cc
/* 08BFA0 8008B3A0 26B567D8 */ addiu $s5, %lo(D_801267D8) # addiu $s5, $s5, 0x67d8
/* 08BFA4 8008B3A4 2694F4BC */ addiu $s4, %lo(gNumberOfActivePlayers) # addiu $s4, $s4, -0xb44
/* 08BFA8 8008B3A8 267363C0 */ addiu $s3, %lo(D_801263C0) # addiu $s3, $s3, 0x63c0
+4 -4
View File
@@ -71,8 +71,8 @@ glabel func_8008B4C8
/* 08C1C8 8008B5C8 3C188012 */ lui $t8, %hi(gPlayersCharacterArray) # $t8, 0x8012
/* 08C1CC 8008B5CC 0311C021 */ addu $t8, $t8, $s1
/* 08C1D0 8008B5D0 831863E8 */ lb $t8, %lo(gPlayersCharacterArray)($t8)
/* 08C1D4 8008B5D4 3C1E8012 */ lui $fp, %hi(D_801263CC) # $fp, 0x8012
/* 08C1D8 8008B5D8 27DE63CC */ addiu $fp, %lo(D_801263CC) # addiu $fp, $fp, 0x63cc
/* 08C1D4 8008B5D4 3C1E8012 */ lui $fp, %hi(gCurrCharacterSelectData) # $fp, 0x8012
/* 08C1D8 8008B5D8 27DE63CC */ addiu $fp, %lo(gCurrCharacterSelectData) # addiu $fp, $fp, 0x63cc
/* 08C1DC 8008B5DC 0018C8C0 */ sll $t9, $t8, 3
/* 08C1E0 8008B5E0 8FCF0000 */ lw $t7, ($fp)
/* 08C1E4 8008B5E4 0338C823 */ subu $t9, $t9, $t8
@@ -109,14 +109,14 @@ glabel func_8008B4C8
/* 08C258 8008B658 8FBF003C */ lw $ra, 0x3c($sp)
.L8008B65C:
/* 08C25C 8008B65C 3C118012 */ lui $s1, %hi(gActivePlayersArray) # $s1, 0x8012
/* 08C260 8008B660 3C1E8012 */ lui $fp, %hi(D_801263CC) # $fp, 0x8012
/* 08C260 8008B660 3C1E8012 */ lui $fp, %hi(gCurrCharacterSelectData) # $fp, 0x8012
/* 08C264 8008B664 3C178012 */ lui $s7, %hi(D_80126808) # $s7, 0x8012
/* 08C268 8008B668 3C158012 */ lui $s5, %hi(D_801263DC) # $s5, 0x8012
/* 08C26C 8008B66C 3C13800E */ lui $s3, %hi(gNumberOfReadyPlayers) # $s3, 0x800e
/* 08C270 8008B670 2673F480 */ addiu $s3, %lo(gNumberOfReadyPlayers) # addiu $s3, $s3, -0xb80
/* 08C274 8008B674 26B563DC */ addiu $s5, %lo(D_801263DC) # addiu $s5, $s5, 0x63dc
/* 08C278 8008B678 26F76808 */ addiu $s7, %lo(D_80126808) # addiu $s7, $s7, 0x6808
/* 08C27C 8008B67C 27DE63CC */ addiu $fp, %lo(D_801263CC) # addiu $fp, $fp, 0x63cc
/* 08C27C 8008B67C 27DE63CC */ addiu $fp, %lo(gCurrCharacterSelectData) # addiu $fp, $fp, 0x63cc
/* 08C280 8008B680 263163D4 */ addiu $s1, %lo(gActivePlayersArray) # addiu $s1, $s1, 0x63d4
/* 08C284 8008B684 24160004 */ li $s6, 4
.L8008B688:
+2 -2
View File
@@ -10,11 +10,11 @@ glabel func_8008B758
/* 08C378 8008B778 3C108012 */ lui $s0, %hi(D_801263C0) # $s0, 0x8012
/* 08C37C 8008B77C 3C168012 */ lui $s6, %hi(gPlayersCharacterArray) # $s6, 0x8012
/* 08C380 8008B780 3C17800E */ lui $s7, %hi(gNumberOfReadyPlayers) # $s7, 0x800e
/* 08C384 8008B784 3C1E8012 */ lui $fp, %hi(D_801263CC) # $fp, 0x8012
/* 08C384 8008B784 3C1E8012 */ lui $fp, %hi(gCurrCharacterSelectData) # $fp, 0x8012
/* 08C388 8008B788 AFBF0044 */ sw $ra, 0x44($sp)
/* 08C38C 8008B78C AFB20028 */ sw $s2, 0x28($sp)
/* 08C390 8008B790 AFB10024 */ sw $s1, 0x24($sp)
/* 08C394 8008B794 27DE63CC */ addiu $fp, %lo(D_801263CC) # addiu $fp, $fp, 0x63cc
/* 08C394 8008B794 27DE63CC */ addiu $fp, %lo(gCurrCharacterSelectData) # addiu $fp, $fp, 0x63cc
/* 08C398 8008B798 26F7F480 */ addiu $s7, %lo(gNumberOfReadyPlayers) # addiu $s7, $s7, -0xb80
/* 08C39C 8008B79C 26D663E8 */ addiu $s6, %lo(gPlayersCharacterArray) # addiu $s6, $s6, 0x63e8
/* 08C3A0 8008B7A0 261063C0 */ addiu $s0, %lo(D_801263C0) # addiu $s0, $s0, 0x63c0
+18 -18
View File
@@ -99,11 +99,11 @@ glabel func_8008F00C
/* 08FD7C 8008F17C 3C01800E */ lui $at, %hi(gRaceSelectionHoverOpt) # $at, 0x800e
/* 08FD80 8008F180 AC2E0504 */ sw $t6, %lo(gRaceSelectionHoverOpt)($at)
/* 08FD84 8008F184 8C4F008C */ lw $t7, 0x8c($v0)
/* 08FD88 8008F188 3C01800E */ lui $at, %hi(gRaceSelectioPlaneOptHighlight) # $at, 0x800e
/* 08FD8C 8008F18C AC2F0514 */ sw $t7, %lo(gRaceSelectioPlaneOptHighlight)($at)
/* 08FD88 8008F188 3C01800E */ lui $at, %hi(gRaceSelectionPlaneOptHighlight) # $at, 0x800e
/* 08FD8C 8008F18C AC2F0514 */ sw $t7, %lo(gRaceSelectionPlaneOptHighlight)($at)
/* 08FD90 8008F190 8C580088 */ lw $t8, 0x88($v0)
/* 08FD94 8008F194 3C01800E */ lui $at, %hi(gRaceSelectioPlaneOpt) # $at, 0x800e
/* 08FD98 8008F198 AC380524 */ sw $t8, %lo(gRaceSelectioPlaneOpt)($at)
/* 08FD94 8008F194 3C01800E */ lui $at, %hi(gRaceSelectionPlaneOpt) # $at, 0x800e
/* 08FD98 8008F198 AC380524 */ sw $t8, %lo(gRaceSelectionPlaneOpt)($at)
/* 08FD9C 8008F19C 8C5900A0 */ lw $t9, 0xa0($v0)
/* 08FDA0 8008F1A0 3C01800E */ lui $at, %hi(gRaceSelectionTTOnOptHighlight) # $at, 0x800e
/* 08FDA4 8008F1A4 AC390534 */ sw $t9, %lo(gRaceSelectionTTOnOptHighlight)($at)
@@ -117,26 +117,26 @@ glabel func_8008F00C
/* 08FDC4 8008F1C4 3C01800E */ lui $at, %hi(gRaceSelectionTTOffOpt) # $at, 0x800e
/* 08FDC8 8008F1C8 AC2A0564 */ sw $t2, %lo(gRaceSelectionTTOffOpt)($at)
/* 08FDCC 8008F1CC 8C4B00B0 */ lw $t3, 0xb0($v0)
/* 08FDD0 8008F1D0 3C01800E */ lui $at, %hi(D_800E0574) # $at, 0x800e
/* 08FDD4 8008F1D4 AC2B0574 */ sw $t3, %lo(D_800E0574)($at)
/* 08FDD0 8008F1D0 3C01800E */ lui $at, %hi(gRaceSelectionPlayer1Texture) # $at, 0x800e
/* 08FDD4 8008F1D4 AC2B0574 */ sw $t3, %lo(gRaceSelectionPlayer1Texture)($at)
/* 08FDD8 8008F1D8 8C4C00B4 */ lw $t4, 0xb4($v0)
/* 08FDDC 8008F1DC 3C01800E */ lui $at, %hi(D_800E0584) # $at, 0x800e
/* 08FDE0 8008F1E0 AC2C0584 */ sw $t4, %lo(D_800E0584)($at)
/* 08FDDC 8008F1DC 3C01800E */ lui $at, %hi(gRaceSelectionPlayer2Texture) # $at, 0x800e
/* 08FDE0 8008F1E0 AC2C0584 */ sw $t4, %lo(gRaceSelectionPlayer2Texture)($at)
/* 08FDE4 8008F1E4 8C4D00B8 */ lw $t5, 0xb8($v0)
/* 08FDE8 8008F1E8 3C01800E */ lui $at, %hi(D_800E0594) # $at, 0x800e
/* 08FDEC 8008F1EC AC2D0594 */ sw $t5, %lo(D_800E0594)($at)
/* 08FDE8 8008F1E8 3C01800E */ lui $at, %hi(gRaceSelectionPlayer3Texture) # $at, 0x800e
/* 08FDEC 8008F1EC AC2D0594 */ sw $t5, %lo(gRaceSelectionPlayer3Texture)($at)
/* 08FDF0 8008F1F0 8C4E00BC */ lw $t6, 0xbc($v0)
/* 08FDF4 8008F1F4 3C01800E */ lui $at, %hi(D_800E05A4) # $at, 0x800e
/* 08FDF8 8008F1F8 AC2E05A4 */ sw $t6, %lo(D_800E05A4)($at)
/* 08FDF4 8008F1F4 3C01800E */ lui $at, %hi(gRaceSelectionPlayer4Texture) # $at, 0x800e
/* 08FDF8 8008F1F8 AC2E05A4 */ sw $t6, %lo(gRaceSelectionPlayer4Texture)($at)
/* 08FDFC 8008F1FC 8C4F00C0 */ lw $t7, 0xc0($v0)
/* 08FE00 8008F200 3C01800E */ lui $at, %hi(D_800E05B4) # $at, 0x800e
/* 08FE04 8008F204 AC2F05B4 */ sw $t7, %lo(D_800E05B4)($at)
/* 08FE00 8008F200 3C01800E */ lui $at, %hi(gRaceSelectionVehicleTitleTexture) # $at, 0x800e
/* 08FE04 8008F204 AC2F05B4 */ sw $t7, %lo(gRaceSelectionVehicleTitleTexture)($at)
/* 08FE08 8008F208 8C5800C4 */ lw $t8, 0xc4($v0)
/* 08FE0C 8008F20C 3C01800E */ lui $at, %hi(D_800E05C4) # $at, 0x800e
/* 08FE10 8008F210 AC3805C4 */ sw $t8, %lo(D_800E05C4)($at)
/* 08FE0C 8008F20C 3C01800E */ lui $at, %hi(gRaceSelectionTTTitleTexture) # $at, 0x800e
/* 08FE10 8008F210 AC3805C4 */ sw $t8, %lo(gRaceSelectionTTTitleTexture)($at)
/* 08FE14 8008F214 8C590178 */ lw $t9, 0x178($v0)
/* 08FE18 8008F218 3C01800E */ lui $at, %hi(D_800E0614) # $at, 0x800e
/* 08FE1C 8008F21C AC390614 */ sw $t9, %lo(D_800E0614)($at)
/* 08FE18 8008F218 3C01800E */ lui $at, %hi(gRaceSelectionTTTexture) # $at, 0x800e
/* 08FE1C 8008F21C AC390614 */ sw $t9, %lo(gRaceSelectionTTTexture)($at)
.L8008F220:
/* 08FE20 8008F220 8FBF0014 */ lw $ra, 0x14($sp)
.L8008F224:
+4 -4
View File
@@ -107,14 +107,14 @@ glabel func_80092E94
/* 093C34 80093034 3C0A800E */ lui $t2, %hi(sMenuGuiOpacity) # $t2, 0x800e
/* 093C38 80093038 8D4AF764 */ lw $t2, %lo(sMenuGuiOpacity)($t2)
/* 093C3C 8009303C 8FA70060 */ lw $a3, 0x60($sp)
/* 093C40 80093040 3C05800E */ lui $a1, %hi(D_800E0614) # $a1, 0x800e
/* 093C40 80093040 3C05800E */ lui $a1, %hi(gRaceSelectionTTTexture) # $a1, 0x800e
/* 093C44 80093044 241900FF */ li $t9, 255
/* 093C48 80093048 240800FF */ li $t0, 255
/* 093C4C 8009304C 240900FF */ li $t1, 255
/* 093C50 80093050 AFA90018 */ sw $t1, 0x18($sp)
/* 093C54 80093054 AFA80014 */ sw $t0, 0x14($sp)
/* 093C58 80093058 AFB90010 */ sw $t9, 0x10($sp)
/* 093C5C 8009305C 24A50614 */ addiu $a1, %lo(D_800E0614) # addiu $a1, $a1, 0x614
/* 093C5C 8009305C 24A50614 */ addiu $a1, %lo(gRaceSelectionTTTexture) # addiu $a1, $a1, 0x614
/* 093C60 80093060 02402025 */ move $a0, $s2
/* 093C64 80093064 240600CC */ li $a2, 204
/* 093C68 80093068 AFAA001C */ sw $t2, 0x1c($sp)
@@ -275,7 +275,7 @@ glabel func_80092E94
/* 093EC8 800932C8 0C0316D6 */ jal render_dialogue_box
/* 093ECC 800932CC 24070007 */ li $a3, 7
/* 093ED0 800932D0 8FA70060 */ lw $a3, 0x60($sp)
/* 093ED4 800932D4 3C05800E */ lui $a1, %hi(D_800E05B4) # $a1, 0x800e
/* 093ED4 800932D4 3C05800E */ lui $a1, %hi(gRaceSelectionVehicleTitleTexture) # $a1, 0x800e
/* 093ED8 800932D8 240C00FF */ li $t4, 255
/* 093EDC 800932DC 240800FF */ li $t0, 255
/* 093EE0 800932E0 240D00FF */ li $t5, 255
@@ -284,7 +284,7 @@ glabel func_80092E94
/* 093EEC 800932EC AFAD0018 */ sw $t5, 0x18($sp)
/* 093EF0 800932F0 AFA80014 */ sw $t0, 0x14($sp)
/* 093EF4 800932F4 AFAC0010 */ sw $t4, 0x10($sp)
/* 093EF8 800932F8 24A505B4 */ addiu $a1, %lo(D_800E05B4) # addiu $a1, $a1, 0x5b4
/* 093EF8 800932F8 24A505B4 */ addiu $a1, %lo(gRaceSelectionVehicleTitleTexture) # addiu $a1, $a1, 0x5b4
/* 093EFC 800932FC 02402025 */ move $a0, $s2
/* 093F00 80093300 24060088 */ li $a2, 136
/* 093F04 80093304 0C01E2AE */ jal render_textured_rectangle
@@ -53,8 +53,8 @@ glabel randomise_ai_racer_slots
/* 08C7F0 8008BBF0 10200042 */ beqz $at, .L8008BCFC
/* 08C7F4 8008BBF4 02009025 */ move $s2, $s0
/* 08C7F8 8008BBF8 271863F0 */ addiu $t8, %lo(gCharacterIdSlots) # addiu $t8, $t8, 0x63f0
/* 08C7FC 8008BBFC 3C148012 */ lui $s4, %hi(D_801263CC) # $s4, 0x8012
/* 08C800 8008BC00 269463CC */ addiu $s4, %lo(D_801263CC) # addiu $s4, $s4, 0x63cc
/* 08C7FC 8008BBFC 3C148012 */ lui $s4, %hi(gCurrCharacterSelectData) # $s4, 0x8012
/* 08C800 8008BC00 269463CC */ addiu $s4, %lo(gCurrCharacterSelectData) # addiu $s4, $s4, 0x63cc
/* 08C804 8008BC04 02189821 */ addu $s3, $s0, $t8
/* 08C808 8008BC08 2415000E */ li $s5, 14
.L8008BC0C:
@@ -467,14 +467,14 @@ glabel render_track_select_setup_ui
/* 09220C 8009160C 8FA70080 */ lw $a3, 0x80($sp)
/* 092210 80091610 8FCA0000 */ lw $t2, ($fp)
/* 092214 80091614 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012
/* 092218 80091618 3C05800E */ lui $a1, %hi(D_800E05B4) # $a1, 0x800e
/* 092218 80091618 3C05800E */ lui $a1, %hi(gRaceSelectionVehicleTitleTexture) # $a1, 0x800e
/* 09221C 8009161C 241900FF */ li $t9, 255
/* 092220 80091620 240900FF */ li $t1, 255
/* 092224 80091624 240800FF */ li $t0, 255
/* 092228 80091628 AFA80018 */ sw $t0, 0x18($sp)
/* 09222C 8009162C AFA90014 */ sw $t1, 0x14($sp)
/* 092230 80091630 AFB90010 */ sw $t9, 0x10($sp)
/* 092234 80091634 24A505B4 */ addiu $a1, %lo(D_800E05B4) # addiu $a1, $a1, 0x5b4
/* 092234 80091634 24A505B4 */ addiu $a1, %lo(gRaceSelectionVehicleTitleTexture) # addiu $a1, $a1, 0x5b4
/* 092238 80091638 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0
/* 09223C 8009163C 24060088 */ li $a2, 136
/* 092240 80091640 24E70072 */ addiu $a3, $a3, 0x72
@@ -485,14 +485,14 @@ glabel render_track_select_setup_ui
.L80091654:
/* 092254 80091654 8FA70080 */ lw $a3, 0x80($sp)
/* 092258 80091658 8FD80000 */ lw $t8, ($fp)
/* 09225C 8009165C 3C05800E */ lui $a1, %hi(D_800E05C4) # $a1, 0x800e
/* 09225C 8009165C 3C05800E */ lui $a1, %hi(gRaceSelectionTTTitleTexture) # $a1, 0x800e
/* 092260 80091660 240B00FF */ li $t3, 255
/* 092264 80091664 240C00FF */ li $t4, 255
/* 092268 80091668 240D00FF */ li $t5, 255
/* 09226C 8009166C AFAD0018 */ sw $t5, 0x18($sp)
/* 092270 80091670 AFAC0014 */ sw $t4, 0x14($sp)
/* 092274 80091674 AFAB0010 */ sw $t3, 0x10($sp)
/* 092278 80091678 24A505C4 */ addiu $a1, %lo(D_800E05C4) # addiu $a1, $a1, 0x5c4
/* 092278 80091678 24A505C4 */ addiu $a1, %lo(gRaceSelectionTTTitleTexture) # addiu $a1, $a1, 0x5c4
/* 09227C 8009167C 24060088 */ li $a2, 136
/* 092280 80091680 0000A825 */ move $s5, $zero
/* 092284 80091684 24E70072 */ addiu $a3, $a3, 0x72
@@ -1164,14 +1164,14 @@ glabel render_track_select_setup_ui
/* 092C44 80092044 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012
/* 092C48 80092048 8FA70080 */ lw $a3, 0x80($sp)
/* 092C4C 8009204C 8FCF0000 */ lw $t7, ($fp)
/* 092C50 80092050 3C05800E */ lui $a1, %hi(D_800E0614) # $a1, 0x800e
/* 092C50 80092050 3C05800E */ lui $a1, %hi(gRaceSelectionTTTexture) # $a1, 0x800e
/* 092C54 80092054 241800FF */ li $t8, 255
/* 092C58 80092058 240D00FF */ li $t5, 255
/* 092C5C 8009205C 240C00FF */ li $t4, 255
/* 092C60 80092060 AFAC0018 */ sw $t4, 0x18($sp)
/* 092C64 80092064 AFAD0014 */ sw $t5, 0x14($sp)
/* 092C68 80092068 AFB80010 */ sw $t8, 0x10($sp)
/* 092C6C 8009206C 24A50614 */ addiu $a1, %lo(D_800E0614) # addiu $a1, $a1, 0x614
/* 092C6C 8009206C 24A50614 */ addiu $a1, %lo(gRaceSelectionTTTexture) # addiu $a1, $a1, 0x614
/* 092C70 80092070 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0
/* 092C74 80092074 240600CC */ li $a2, 204
/* 092C78 80092078 24E7007A */ addiu $a3, $a3, 0x7a
+106 -73
View File
@@ -53,7 +53,7 @@ unk801263C0 D_801263C0;
s32 gIgnorePlayerInput;
UNUSED s32 sUnused_801263C8; // Set to 0 in menu_init, and never again.
unk801263CC (*D_801263CC)[8]; //Some sort of character list? Cares if T.T. and Drumstick are unlocked
CharacterSelectData (*gCurrCharacterSelectData)[8]; //Some sort of character list? Cares if T.T. and Drumstick are unlocked
s32 D_801263D0;
s8 gActivePlayersArray[4];
@@ -555,61 +555,92 @@ s16 D_800DFDC8[2] = { -1, 0 };
s16 D_800DFDCC[2] = { -1, 0 };
// Not sure what this is
// Used for D_801263CC when Neither T.T. Nor Drumstick are unlocked
// unk801263CC
s32 D_800DFDD0[28] = {
0xFFFF04FF, 0xFFFFFFFF, 0x010203FF, 0x0000FFFF,
0x05FF00FF, 0xFFFF0203, 0xFFFF0009, 0xFFFF06FF,
0x0100FFFF, 0x03FFFFFF, 0x0001FFFF, 0x07FF0201,
0x00FFFFFF, 0xFFFF0005, 0x00FFFFFF, 0xFFFFFFFF,
0x050607FF, 0x000301FF, 0xFFFF04FF, 0xFFFF0607,
0xFFFF0002, 0x02FFFFFF, 0x0504FFFF, 0x07FFFFFF,
0x000703FF, 0xFFFF0605, 0x04FFFFFF, 0xFFFF0004,
// Used for gCurrCharacterSelectData when Neither T.T. Nor Drumstick are unlocked
// CharacterSelectData
#define NONE 0xFF
#define KRUNCH 0
#define DIDDY 1
#define BUMPER 2
#define BANJO 3
#define CONKER 4
#define TIPTUP 5
#define PIPSY 6
#define TIMBER 7
#define DRUMSTICK 8
#define TICTOC 8 // Will later be redefined as 9.
/**
* Diddy Kong Racing's character select menu refers to these arrays below to know how
* to handle some certain things. This includes which direction selects which index, which voice ID
* they use, and which audio voices the BGM uses. It has a different table for each possible combination
* of which characters are available to select. This system is far from conventional.
* Unfortunately, because each entry is explicitly 14 bytes, it means a struct would not match, because
* a struct would align itself to 16 bytes, creating an extra 2 bytes of padding inbetween.
*
* The layout shows which character is in each cardinal direction. Presumably so it knows
* where to place extra cursors when a new player joins.
* Frankly, this is a comically overcomplicated method.
*/
// Default character select screen with the initial 8 characters.
/*Name Up Down Left Right Inputs Voice ID*/
u8 gCharacterSelectBytesDefault[] = {
/*Krunch*/ NONE, NONE, CONKER, NONE, NONE, NONE, NONE, NONE, DIDDY, BUMPER, BANJO, NONE, 0x00, 0x00,
/*Diddy*/ NONE, NONE, TIPTUP, NONE, KRUNCH, NONE, NONE, NONE, BUMPER, BANJO, NONE, NONE, 0x00, 0x09,
/*Bumper*/ NONE, NONE, PIPSY, NONE, DIDDY, KRUNCH, NONE, NONE, BANJO, NONE, NONE, NONE, 0x00, 0x01,
/*Banjo*/ NONE, NONE, TIMBER, NONE, BUMPER, DIDDY, KRUNCH, NONE, NONE, NONE, NONE, NONE, 0x00, 0x05,
/*Conker*/ KRUNCH, NONE, NONE, NONE, NONE, NONE, NONE, NONE, TIPTUP, PIPSY, TIMBER, NONE, 0x00, 0x03,
/*Tiptup*/ DIDDY, NONE, NONE, NONE, CONKER, NONE, NONE, NONE, PIPSY, TIMBER, NONE, NONE, 0x00, 0x02,
/*Pipsy*/ BUMPER, NONE, NONE, NONE, TIPTUP, CONKER, NONE, NONE, TIMBER, NONE, NONE, NONE, 0x00, 0x07,
/*Timber*/ BANJO, NONE, NONE, NONE, PIPSY, TIPTUP, CONKER, NONE, NONE, NONE, NONE, NONE, 0x00, 0x04,
};
// Not sure what this is
// Used for D_801263CC when only Drumstick is unlocked
// unk801263CC
s32 D_800DFE40[32] = {
0xFFFF04FF, 0xFFFFFFFF, 0x01080203, 0x0000FFFF,
0x040500FF, 0xFFFF0802, 0x03FF0009, 0xFFFF0607,
0x080100FF, 0x03FFFFFF, 0x0001FFFF, 0x07FF0208,
0x0100FFFF, 0xFFFF0005, 0x0001FFFF, 0xFFFFFFFF,
0x050607FF, 0x00030108, 0xFFFF04FF, 0xFFFF0607,
0xFFFF0002, 0x0802FFFF, 0x0504FFFF, 0x07FFFFFF,
0x00070203, 0xFFFF0605, 0x04FFFFFF, 0xFFFF0004,
0xFFFF0506, 0x0100FFFF, 0x0203FFFF, 0x00060000,
// Drumstick is unlocked, but T.T is not.
/*Name Up Down Left Right Voice ID*/
u8 gCharacterSelectBytesDrumStick[] = {
/*Krunch*/ NONE, NONE, CONKER, NONE, NONE, NONE, NONE, NONE, DIDDY, DRUMSTICK, BUMPER, BANJO, 0x00, 0x00,
/*Diddy*/ NONE, NONE, CONKER, TIPTUP, KRUNCH, NONE, NONE, NONE, DRUMSTICK, BUMPER, BANJO, NONE, 0x00, 0x09,
/*Bumper*/ NONE, NONE, PIPSY, TIMBER, DRUMSTICK, DIDDY, KRUNCH, NONE, BANJO, NONE, NONE, NONE, 0x00, 0x01,
/*Banjo*/ NONE, NONE, TIMBER, NONE, BUMPER, DRUMSTICK, DIDDY, KRUNCH, NONE, NONE, NONE, NONE, 0x00, 0x05,
/*Conker*/ KRUNCH, DIDDY, NONE, NONE, NONE, NONE, NONE, NONE, TIPTUP, PIPSY, TIMBER, NONE, 0x00, 0x03,
/*Tiptup*/ DIDDY, DRUMSTICK, NONE, NONE, CONKER, NONE, NONE, NONE, PIPSY, TIMBER, NONE, NONE, 0x00, 0x02,
/*Pipsy*/ DRUMSTICK, BUMPER, NONE, NONE, TIPTUP, CONKER, NONE, NONE, TIMBER, NONE, NONE, NONE, 0x00, 0x07,
/*Timber*/ BUMPER, BANJO, NONE, NONE, PIPSY, TIPTUP, CONKER, NONE, NONE, NONE, NONE, NONE, 0x00, 0x04,
/*Drumstick*/ NONE, NONE, TIPTUP, PIPSY, DIDDY, KRUNCH, NONE, NONE, BUMPER, BANJO, NONE, NONE, 0x00, 0x06,
};
// Not sure what this is
// Used for D_801263CC when only T.T. is unlocked
// unk801263CC
s32 D_800DFEC0[32] = {
0xFFFF04FF, 0xFFFFFFFF, 0x010203FF, 0x0000FFFF,
0x050800FF, 0xFFFF0203, 0xFFFF0009, 0xFFFF0806,
0x0100FFFF, 0x03FFFFFF, 0x0001FFFF, 0x06070201,
0x00FFFFFF, 0xFFFF0005, 0x00FFFFFF, 0xFFFFFFFF,
0x05080607, 0x00030001, 0xFFFF04FF, 0xFFFF0806,
0x07FF0002, 0x0203FFFF, 0x080504FF, 0x07FFFFFF,
0x000703FF, 0xFFFF0608, 0x0504FFFF, 0xFFFF0004,
0x0102FFFF, 0x0504FFFF, 0x0607FFFF, 0x00080000,
// Under the unlikely chance you have T.T unlocked, but not Drumstick.
/*Name Up Down Left Right Voice ID*/
u8 gCharacterSelectBytesTT[] = {
/*Krunch*/ NONE, NONE, CONKER, NONE, NONE, NONE, NONE, NONE, DIDDY, BUMPER, BANJO, NONE, 0x00, 0x00,
/*Diddy*/ NONE, NONE, TIPTUP, TICTOC, KRUNCH, NONE, NONE, NONE, BUMPER, BANJO, NONE, NONE, 0x00, 0x09,
/*Bumper*/ NONE, NONE, TICTOC, PIPSY, DIDDY, KRUNCH, NONE, NONE, BANJO, NONE, NONE, NONE, 0x00, 0x01,
/*Banjo*/ NONE, NONE, PIPSY, TIMBER, BUMPER, DIDDY, KRUNCH, NONE, NONE, NONE, NONE, NONE, 0x00, 0x05,
/*Conker*/ KRUNCH, NONE, NONE, NONE, NONE, NONE, NONE, NONE, TIPTUP, TICTOC, PIPSY, TIMBER, 0x00, 0x03,
/*Tiptup*/ KRUNCH, DIDDY, NONE, NONE, CONKER, NONE, NONE, NONE, TICTOC, PIPSY, TIMBER, NONE, 0x00, 0x02,
/*Pipsy*/ BUMPER, BANJO, NONE, NONE, TICTOC, TIPTUP, CONKER, NONE, TIMBER, NONE, NONE, NONE, 0x00, 0x07,
/*Timber*/ BANJO, NONE, NONE, NONE, PIPSY, TICTOC, TIPTUP, CONKER, NONE, NONE, NONE, NONE, 0x00, 0x04,
/*T.T*/ DIDDY, BUMPER, NONE, NONE, TIPTUP, CONKER, NONE, NONE, PIPSY, TIMBER, NONE, NONE, 0x00, 0x08,
};
// Not sure what this is
// Used for D_801263CC when both T.T. and Drumstick are unlocked
// unk801263CC
s32 D_800DFF40[36] = {
0xFFFF04FF, 0xFFFFFFFF, 0x01080203, 0x0000FFFF,
0x05FF00FF, 0xFFFF0802, 0x03FF0009, 0xFFFF06FF,
0x080100FF, 0x03FFFFFF, 0x0001FFFF, 0x07FF0208,
0x0100FFFF, 0xFFFF0005, 0x00FFFFFF, 0xFFFFFFFF,
0x05090607, 0x000301FF, 0xFFFF04FF, 0xFFFF0906,
0x07FF0002, 0x02FFFFFF, 0x090504FF, 0x07FFFFFF,
0x000703FF, 0xFFFF0609, 0x0504FFFF, 0xFFFF0004,
0xFFFF09FF, 0x0100FFFF, 0x0203FFFF, 0x000608FF,
0x05FF0504, 0xFFFF0607, 0xFFFF0008, 0x00000000,
#define TICTOC 9
// With everyone unlocked.
/*Name Up Down Left Right Voice ID*/
u8 gCharacterSelectBytesComplete[] = {
/*Krunch*/ NONE, NONE, CONKER, NONE, NONE, NONE, NONE, NONE, DIDDY, DRUMSTICK, BUMPER, BANJO, 0x00, 0x00,
/*Diddy*/ NONE, NONE, TIPTUP, NONE, KRUNCH, NONE, NONE, NONE, DRUMSTICK, BUMPER, BANJO, NONE, 0x00, 0x09,
/*Bumper*/ NONE, NONE, PIPSY, NONE, DRUMSTICK, DIDDY, KRUNCH, NONE, BANJO, NONE, NONE, NONE, 0x00, 0x01,
/*Banjo*/ NONE, NONE, TIMBER, NONE, BUMPER, DRUMSTICK, DIDDY, KRUNCH, NONE, NONE, NONE, NONE, 0x00, 0x05,
/*Conker*/ KRUNCH, NONE, NONE, NONE, NONE, NONE, NONE, NONE, TIPTUP, TICTOC, PIPSY, TIMBER, 0x00, 0x03,
/*Tiptup*/ DIDDY, NONE, NONE, NONE, CONKER, NONE, NONE, NONE, TICTOC, PIPSY, TIMBER, NONE, 0x00, 0x02,
/*Pipsy*/ BUMPER, NONE, NONE, NONE, TICTOC, TIPTUP, CONKER, NONE, TIMBER, NONE, NONE, NONE, 0x00, 0x07,
/*Timber*/ BANJO, NONE, NONE, NONE, PIPSY, TICTOC, TIPTUP, CONKER, NONE, NONE, NONE, NONE, 0x00, 0x04,
/*Drumstick*/ NONE, NONE, TICTOC, NONE, DIDDY, KRUNCH, NONE, NONE, BUMPER, BANJO, NONE, NONE, 0x00, 0x06,
/*T.T*/ DRUMSTICK, NONE, TIPTUP, NONE, TIPTUP, CONKER, NONE, NONE, PIPSY, TIMBER, NONE, NONE, 0x00, 0x08,
};
s32 D_800DFFCC = 0; // Likely unused.
s32 D_800DFFD0 = 0;
s32 D_800DFFD4 = -1;
@@ -705,27 +736,28 @@ DrawTexture gRaceSelectionCarOptHighlight[2] = { { NULL, 0, 0 }, { NULL, 0, 0 }
DrawTexture gRaceSelectionCarOpt[2] = { { NULL, 0, 0 }, { NULL, 0, 0 } };
DrawTexture gRaceSelectionHoverOptHighlight[2] = { { NULL, 0, 0 }, { NULL, 0, 0 } };
DrawTexture gRaceSelectionHoverOpt[2] = { { NULL, 0, 0 }, { NULL, 0, 0 } };
DrawTexture gRaceSelectioPlaneOptHighlight[2] = { { NULL, 0, 0 }, { NULL, 0, 0 } };
DrawTexture gRaceSelectioPlaneOpt[2] = { { NULL, 0, 0 }, { NULL, 0, 0 } };
DrawTexture gRaceSelectionPlaneOptHighlight[2] = { { NULL, 0, 0 }, { NULL, 0, 0 } };
DrawTexture gRaceSelectionPlaneOpt[2] = { { NULL, 0, 0 }, { NULL, 0, 0 } };
DrawTexture gRaceSelectionTTOnOptHighlight[2] = { { NULL, 0, 0 }, { NULL, 0, 0 } };
DrawTexture gRaceSelectionTTOffOptHighlight[2] = { { NULL, 0, 0 }, { NULL, 0, 0 } };
DrawTexture gRaceSelectionTTOnOpt[2] = { { NULL, 0, 0 }, { NULL, 0, 0 } };
DrawTexture gRaceSelectionTTOffOpt[2] = { { NULL, 0, 0 }, { NULL, 0, 0 } };
DrawTexture D_800E0574[2] = { { NULL, 0, 0 }, { NULL, 0, 0 } };
DrawTexture D_800E0584[2] = { { NULL, 0, 0 }, { NULL, 0, 0 } };
DrawTexture D_800E0594[2] = { { NULL, 0, 0 }, { NULL, 0, 0 } };
DrawTexture D_800E05A4[2] = { { NULL, 0, 0 }, { NULL, 0, 0 } };
DrawTexture D_800E05B4[2] = { { NULL, 0, 0 }, { NULL, 0, 0 } };
DrawTexture D_800E05C4[2] = { { NULL, 0, 0 }, { NULL, 0, 0 } };
DrawTexture gRaceSelectionPlayer1Texture[2] = { { NULL, 0, 0 }, { NULL, 0, 0 } };
DrawTexture gRaceSelectionPlayer2Texture[2] = { { NULL, 0, 0 }, { NULL, 0, 0 } };
DrawTexture gRaceSelectionPlayer3Texture[2] = { { NULL, 0, 0 }, { NULL, 0, 0 } };
DrawTexture gRaceSelectionPlayer4Texture[2] = { { NULL, 0, 0 }, { NULL, 0, 0 } };
DrawTexture gRaceSelectionVehicleTitleTexture[2] = { { NULL, 0, 0 }, { NULL, 0, 0 } };
DrawTexture gRaceSelectionTTTitleTexture[2] = { { NULL, 0, 0 }, { NULL, 0, 0 } };
// These are probably structs
s32 D_800E05D4[8] = { 0, 0xFFD0, 0, 0xFFF0, 0, 0x10, 0, 0 };
s32 D_800E05F4[8] = { 0, 0xFFD0, 0, 0xFFF0, 0, 0x10, 0, 0 };
DrawTexture D_800E0614[2] = { { NULL, -16, -16 }, { NULL, 0, 0 } };
DrawTexture gRaceSelectionTTTexture[2] = { { NULL, -16, -16 }, { NULL, 0, 0 } };
DrawTexture *gRaceSelectionImages[9] = {
gRaceSelectionCarTex, gRaceSelectionCarOptHighlight, gRaceSelectionCarOpt, gRaceSelectionHoverTex, gRaceSelectionHoverOptHighlight, gRaceSelectionHoverOpt, gRaceSelectionPlaneTex, gRaceSelectioPlaneOptHighlight, gRaceSelectioPlaneOpt
gRaceSelectionCarTex, gRaceSelectionCarOptHighlight, gRaceSelectionCarOpt, gRaceSelectionHoverTex, gRaceSelectionHoverOptHighlight, gRaceSelectionHoverOpt, gRaceSelectionPlaneTex, gRaceSelectionPlaneOptHighlight, gRaceSelectionPlaneOpt
};
DrawTexture *D_800E0648[6] = {
@@ -733,7 +765,7 @@ DrawTexture *D_800E0648[6] = {
};
DrawTexture *D_800E0660[6] = {
D_800E0574, D_800E0584, D_800E0594, D_800E05A4, D_800E05B4, D_800E05C4
gRaceSelectionPlayer1Texture, gRaceSelectionPlayer2Texture, gRaceSelectionPlayer3Texture, gRaceSelectionPlayer4Texture, gRaceSelectionVehicleTitleTexture, gRaceSelectionTTTitleTexture
};
DrawTexture *gMenuSelectionArrows[4] = {
@@ -4347,14 +4379,14 @@ void menu_character_select_init(void) {
initialise_player_ids();
if (is_drumstick_unlocked()) {
if (is_tt_unlocked()) {
D_801263CC = &D_800DFF40;
gCurrCharacterSelectData = &gCharacterSelectBytesComplete;
} else {
D_801263CC = &D_800DFE40;
gCurrCharacterSelectData = &gCharacterSelectBytesDrumStick;
}
} else if (is_tt_unlocked()) {
D_801263CC = &D_800DFEC0;
gCurrCharacterSelectData = &gCharacterSelectBytesTT;
} else {
D_801263CC = &D_800DFDD0;
gCurrCharacterSelectData = &gCharacterSelectBytesDefault;
}
for (i = 0; i < 4; i++) {
D_801263DC[i] = 0;
@@ -4366,7 +4398,7 @@ void menu_character_select_init(void) {
for (i = 0; (i < 4) && (!breakTheLoop); i++) {
if (gActivePlayersArray[i] != 0) {
breakTheLoop = TRUE;
D_801263C0.unk0 = (*D_801263CC)[gPlayersCharacterArray[i]].unkC;
D_801263C0.unk0 = (*gCurrCharacterSelectData)[gPlayersCharacterArray[i]].voiceID;
D_801263C0.unk2 = 0x7F;
D_801263C0.unk1 = 1;
}
@@ -4454,7 +4486,7 @@ void randomise_ai_racer_slots(s32 arg0) {
i = arg0;
while (i < 8) {
s1 = FALSE; // Check for duplicate racer id.
gCharacterIdSlots[i] = (*D_801263CC)[get_random_number_from_range(0, numCharacters)].unkC;
gCharacterIdSlots[i] = (*gCurrCharacterSelectData)[get_random_number_from_range(0, numCharacters)].voiceID;
for (j = 0; j < i; j++) {
if (gCharacterIdSlots[i] == gCharacterIdSlots[j]) {
s1 = TRUE; // Duplicate found!
@@ -4512,7 +4544,7 @@ s32 menu_character_select_loop(s32 updateRate) {
phi_a0 = 0;
for (j = 0; j < 4; j++) {
if (gActivePlayersArray[j]) {
gCharacterIdSlots[phi_a0] = (*D_801263CC)[gPlayersCharacterArray[j]].unkC;
gCharacterIdSlots[phi_a0] = (*gCurrCharacterSelectData)[gPlayersCharacterArray[j]].voiceID;
phi_a0++;
}
}
@@ -5701,9 +5733,9 @@ void render_track_select_setup_ui(s32 updateRate) {
set_current_dialogue_box_coords(7, 134, sp80 + 112, 186, sp80 + 137);
render_dialogue_box(&sMenuCurrDisplayList, 0, 0, 7);
if (D_801263E0 <= 0) {
render_textured_rectangle(&sMenuCurrDisplayList, &D_800E05B4, 136, sp80 + 114, 255, 0xFF, 255, sMenuGuiOpacity);
render_textured_rectangle(&sMenuCurrDisplayList, &gRaceSelectionVehicleTitleTexture, 136, sp80 + 114, 255, 0xFF, 255, sMenuGuiOpacity);
} else {
render_textured_rectangle(&sMenuCurrDisplayList, &D_800E05C4, 136, sp80 + 114, 255, 255, 255, sMenuGuiOpacity);
render_textured_rectangle(&sMenuCurrDisplayList, &gRaceSelectionTTTitleTexture, 136, sp80 + 114, 255, 255, 255, sMenuGuiOpacity);
for (i = 0; i < 2; i++) {
s32 yTemp = 0x97 + sp80 + (i * 0x18);
if (i == D_800E0414) {
@@ -5862,7 +5894,7 @@ void render_track_select_setup_ui(s32 updateRate) {
}
if ((gNumberOfActivePlayers == 1) && (D_801263E0 >= 0) && (func_80092BE0(gTrackIdForPreview) >= 0)) {
// Render small T.T. icon.
render_textured_rectangle(&sMenuCurrDisplayList, &D_800E0614, 0xCC, 0x7A, 0xFF, 0xFF, 0xFF, sMenuGuiOpacity);
render_textured_rectangle(&sMenuCurrDisplayList, &gRaceSelectionTTTexture, 0xCC, 0x7A, 0xFF, 0xFF, 0xFF, sMenuGuiOpacity);
func_8007B3D0(&sMenuCurrDisplayList);
}
if (D_801269C8 != 5) {
@@ -5950,10 +5982,11 @@ void menu_5_init(void) {
gRaceSelectionCarOpt[0].texture = D_80126550[TEXTURE_ICON_VEHICLE_SELECT_CAR];
gRaceSelectionHoverOptHighlight[0].texture = D_80126550[TEXTURE_ICON_VEHICLE_SELECT_HOVERCRAFT_HIGHLIGHT];
gRaceSelectionHoverOpt[0].texture = D_80126550[TEXTURE_ICON_VEHICLE_SELECT_HOVERCRAFT];
gRaceSelectioPlaneOptHighlight[0].texture = D_80126550[TEXTURE_ICON_VEHICLE_SELECT_PLANE_HIGHLIGHT];
gRaceSelectioPlaneOpt[0].texture = D_80126550[TEXTURE_ICON_VEHICLE_SELECT_PLANE];
D_800E05B4[0].texture = D_80126550[TEXTURE_UNK_30];
D_800E0614[0].texture = D_80126550[TEXTURE_UNK_5E];
gRaceSelectionPlaneOptHighlight[0].texture = D_80126550[TEXTURE_ICON_VEHICLE_SELECT_PLANE_HIGHLIGHT];
gRaceSelectionPlaneOpt[0].texture = D_80126550[TEXTURE_ICON_VEHICLE_SELECT_PLANE];
gRaceSelectionVehicleTitleTexture[0].texture = D_80126550[TEXTURE_ICON_VEHICLE_TITLE];
gRaceSelectionTTTexture[0].texture = D_80126550[TEXTURE_ICON_TT_HEAD];
func_800C01D8(&sMenuTransitionFadeOut);
D_801263BC = 0;
gMenuDelay = 0;
+41 -50
View File
@@ -188,10 +188,13 @@ typedef struct ButtonTextElement {
} ButtonTextElement;
/* Size: 0xE bytes. */
typedef struct unk801263CC {
u8 pad0[0xC];
s16 unkC;
} unk801263CC;
typedef struct CharacterSelectData {
u8 upInput[2];
u8 downInput[2];
u8 rightInput[4];
u8 LeftInput[4];
s16 voiceID;
} CharacterSelectData;
/* Size: 0x0C Bytes */
typedef struct SavefileInfo {
@@ -377,18 +380,6 @@ extern u8 D_800DFDB4[10][2];
extern s16 D_800DFDC8[2];
extern s16 D_800DFDCC[2];
// Not sure what this is
extern s32 D_800DFDD0[28];
// Not sure what this is
extern s32 D_800DFE40[32];
// Not sure what this is
extern s32 D_800DFEC0[32];
// Not sure what this is
extern s32 D_800DFF40[36];
extern s32 D_800DFFD0;
extern s32 D_800DFFD4;
@@ -424,24 +415,24 @@ extern DrawTexture gRaceSelectionCarOptHighlight[2];
extern DrawTexture gRaceSelectionCarOpt[2];
extern DrawTexture gRaceSelectionHoverOptHighlight[2];
extern DrawTexture gRaceSelectionHoverOpt[2];
extern DrawTexture gRaceSelectioPlaneOptHighlight[2];
extern DrawTexture gRaceSelectioPlaneOpt[2];
extern DrawTexture gRaceSelectionPlaneOptHighlight[2];
extern DrawTexture gRaceSelectionPlaneOpt[2];
extern DrawTexture gRaceSelectionTTOnOptHighlight[2];
extern DrawTexture gRaceSelectionTTOffOptHighlight[2];
extern DrawTexture gRaceSelectionTTOnOpt[2];
extern DrawTexture gRaceSelectionTTOffOpt[2];
extern DrawTexture D_800E0574[2];
extern DrawTexture D_800E0584[2];
extern DrawTexture D_800E0594[2];
extern DrawTexture D_800E05A4[2];
extern DrawTexture D_800E05B4[2];
extern DrawTexture D_800E05C4[2];
extern DrawTexture gRaceSelectionPlayer1Texture[2];
extern DrawTexture gRaceSelectionPlayer2Texture[2];
extern DrawTexture gRaceSelectionPlayer3Texture[2];
extern DrawTexture gRaceSelectionPlayer4Texture[2];
extern DrawTexture gRaceSelectionVehicleTitleTexture[2];
extern DrawTexture gRaceSelectionTTTitleTexture[2];
// These are probably structs
extern s32 D_800E05D4[8];
extern s32 D_800E05F4[8];
extern DrawTexture D_800E0614[2];
extern DrawTexture gRaceSelectionTTTexture[2];
extern DrawTexture *gRaceSelectionImages[9];
@@ -903,16 +894,16 @@ typedef enum MenuTextures {
/* 0x0B */ TEXTURE_UNK_0B,
/* 0x0C */ TEXTURE_UNK_0C,
/* 0x0D */ TEXTURE_UNK_0D,
/* 0x0E */ TEXTURE_UNK_0E,
/* 0x0F */ TEXTURE_UNK_0F,
/* 0x10 */ TEXTURE_UNK_10,
/* 0x11 */ TEXTURE_UNK_11,
/* 0x12 */ TEXTURE_UNK_12,
/* 0x13 */ TEXTURE_UNK_13,
/* 0x14 */ TEXTURE_UNK_14,
/* 0x15 */ TEXTURE_UNK_15,
/* 0x16 */ TEXTURE_UNK_16,
/* 0x17 */ TEXTURE_UNK_17,
/* 0x0E */ TEXTURE_BACKGROUND_DINO_DOMAIN_TOP,
/* 0x0F */ TEXTURE_BACKGROUND_DINO_DOMAIN_BOTTOM,
/* 0x10 */ TEXTURE_BACKGROUND_SHERBERT_ISLAND_TOP,
/* 0x11 */ TEXTURE_BACKGROUND_SHERBERT_ISLAND_BOTTOM,
/* 0x12 */ TEXTURE_BACKGROUND_SNOWFLAKE_MOUNTAIN_TOP,
/* 0x13 */ TEXTURE_BACKGROUND_SNOWFLAKE_MOUNTAIN_BOTTOM,
/* 0x14 */ TEXTURE_BACKGROUND_DRAGON_FOREST_TOP,
/* 0x15 */ TEXTURE_BACKGROUND_DRAGON_FOREST_BOTTOM,
/* 0x16 */ TEXTURE_BACKGROUND_FUTURE_FUN_LAND_TOP,
/* 0x17 */ TEXTURE_BACKGROUND_FUTURE_FUN_LAND_BOTTOM,
/* 0x18 */ TEXTURE_ICON_VEHICLE_CAR_TOP,
/* 0x19 */ TEXTURE_ICON_VEHICLE_CAR_BOTTOM,
/* 0x1A */ TEXTURE_ICON_VEHICLE_HOVERCRAFT_TOP,
@@ -925,20 +916,20 @@ typedef enum MenuTextures {
/* 0x21 */ TEXTURE_ICON_VEHICLE_SELECT_HOVERCRAFT_HIGHLIGHT,
/* 0x22 */ TEXTURE_ICON_VEHICLE_SELECT_PLANE,
/* 0x23 */ TEXTURE_ICON_VEHICLE_SELECT_PLANE_HIGHLIGHT,
/* 0x24 */ TEXTURE_UNK_24,
/* 0x25 */ TEXTURE_UNK_25,
/* 0x26 */ TEXTURE_UNK_26,
/* 0x27 */ TEXTURE_UNK_27,
/* 0x28 */ TEXTURE_UNK_28,
/* 0x29 */ TEXTURE_UNK_29,
/* 0x2A */ TEXTURE_UNK_2A,
/* 0x2B */ TEXTURE_UNK_2B,
/* 0x2C */ TEXTURE_UNK_2C,
/* 0x2D */ TEXTURE_UNK_2D,
/* 0x2E */ TEXTURE_UNK_2E,
/* 0x2F */ TEXTURE_UNK_2F,
/* 0x30 */ TEXTURE_UNK_30,
/* 0x31 */ TEXTURE_UNK_31,
/* 0x24 */ TEXTURE_ICON_TIMETRIAL_ON_TOP,
/* 0x25 */ TEXTURE_ICON_TIMETRIAL_ON_BOTTOM,
/* 0x26 */ TEXTURE_ICON_TIMETRIAL_OFF_TOP,
/* 0x27 */ TEXTURE_ICON_TIMETRIAL_OFF_BOTTOM,
/* 0x28 */ TEXTURE_ICON_TIMETRIAL_OPT_ON,
/* 0x29 */ TEXTURE_ICON_TIMETRIAL_OPT_OFF,
/* 0x2A */ TEXTURE_ICON_TIMETRIAL_OPT_ON_HIGHLIGHT,
/* 0x2B */ TEXTURE_ICON_TIMETRIAL_OPT_OFF_HIGHLIGHT,
/* 0x2C */ TEXTURE_ICON_PLAYER_1,
/* 0x2D */ TEXTURE_ICON_PLAYER_2,
/* 0x2E */ TEXTURE_ICON_PLAYER_3,
/* 0x2F */ TEXTURE_ICON_PLAYER_4,
/* 0x30 */ TEXTURE_ICON_VEHICLE_TITLE,
/* 0x31 */ TEXTURE_ICON_TT_TITLE,
/* 0x32 */ TEXTURE_ICON_PORTRAIT_KRUNCH,
/* 0x33 */ TEXTURE_ICON_PORTRAIT_DIDDY,
/* 0x34 */ TEXTURE_ICON_PORTRAIT_DRUMSTICK,
@@ -983,7 +974,7 @@ typedef enum MenuTextures {
/* 0x5B */ TEXTURE_UNK_5B,
/* 0x5C */ TEXTURE_UNK_5C,
/* 0x5D */ TEXTURE_UNK_5D,
/* 0x5E */ TEXTURE_UNK_5E,
/* 0x5E */ TEXTURE_ICON_TT_HEAD,
/* 0x5F */ TEXTURE_UNK_5F,
/* 0x60 */ TEXTURE_UNK_60,
/* 0x61 */ TEXTURE_UNK_61,