mirror of
https://github.com/n64decomp/mk64.git
synced 2024-11-27 07:00:23 +00:00
Match the BSS segment for code_80005FD0 (#516)
Signed-off-by: Taggerung <tyler.taggerung@email.com>
This commit is contained in:
parent
c187c71bb9
commit
c89b4f6fe7
@ -1,296 +0,0 @@
|
||||
.include "macros.inc"
|
||||
|
||||
.section .bss
|
||||
|
||||
|
||||
#glabel D_80162E70
|
||||
#.skip 64
|
||||
|
||||
#glabel D_80162EB0
|
||||
#.skip 2
|
||||
|
||||
#glabel D_80162EB2
|
||||
#.skip 6
|
||||
|
||||
#glabel D_80162EB8
|
||||
#.skip 80
|
||||
|
||||
#glabel D_80162F08 # fake ptr
|
||||
#.skip 8
|
||||
|
||||
glabel D_80162F10
|
||||
.skip 64
|
||||
|
||||
glabel D_80162F50
|
||||
.skip 60
|
||||
|
||||
glabel D_80162F8C
|
||||
.skip 20
|
||||
|
||||
glabel D_80162FA0
|
||||
.skip 8
|
||||
|
||||
glabel D_80162FA8 # fake var?
|
||||
.skip 8
|
||||
|
||||
glabel D_80162FB0
|
||||
.skip 16
|
||||
|
||||
glabel D_80162FC0
|
||||
.skip 12
|
||||
|
||||
glabel D_80162FCC
|
||||
.skip 2
|
||||
|
||||
glabel D_80162FCE
|
||||
.skip 2
|
||||
|
||||
glabel D_80162FD0
|
||||
.skip 8
|
||||
|
||||
glabel gCourseCompletionPercentByRank
|
||||
.skip 32
|
||||
|
||||
glabel D_80162FF8
|
||||
.skip 24
|
||||
|
||||
glabel D_80163010
|
||||
.skip 24
|
||||
|
||||
glabel D_80163028
|
||||
.skip 40
|
||||
|
||||
glabel D_80163050
|
||||
.skip 24
|
||||
|
||||
glabel D_80163068
|
||||
.skip 40
|
||||
|
||||
glabel D_80163090
|
||||
.skip 40
|
||||
|
||||
glabel D_801630B8
|
||||
.skip 40
|
||||
|
||||
glabel D_801630E0
|
||||
.skip 2
|
||||
|
||||
glabel D_801630E2
|
||||
.skip 6
|
||||
|
||||
glabel D_801630E8
|
||||
.skip 20
|
||||
|
||||
glabel D_801630FC
|
||||
.skip 4
|
||||
|
||||
glabel D_80163100
|
||||
.skip 40
|
||||
|
||||
glabel D_80163128
|
||||
.skip 40
|
||||
|
||||
glabel D_80163150
|
||||
.skip 40
|
||||
|
||||
glabel D_80163178
|
||||
.skip 40
|
||||
|
||||
glabel D_801631A0
|
||||
.skip 40
|
||||
|
||||
glabel D_801631C8
|
||||
.skip 4
|
||||
|
||||
glabel D_801631CC
|
||||
.skip 4
|
||||
|
||||
glabel D_801631D0
|
||||
.skip 4
|
||||
|
||||
glabel D_801631D4
|
||||
.skip 4
|
||||
|
||||
glabel D_801631D8
|
||||
.skip 4
|
||||
|
||||
glabel D_801631DC
|
||||
.skip 4
|
||||
|
||||
glabel D_801631E0
|
||||
.skip 24
|
||||
|
||||
glabel D_801631F8
|
||||
.skip 20
|
||||
|
||||
glabel D_8016320C
|
||||
.skip 4
|
||||
|
||||
glabel D_80163210
|
||||
.skip 40
|
||||
|
||||
glabel D_80163238
|
||||
.skip 8
|
||||
|
||||
glabel D_80163240
|
||||
.skip 24
|
||||
|
||||
glabel D_80163258
|
||||
.skip 24
|
||||
|
||||
glabel D_80163270
|
||||
.skip 24
|
||||
|
||||
glabel D_80163288
|
||||
.skip 40
|
||||
|
||||
glabel D_801632B0
|
||||
.skip 8
|
||||
|
||||
glabel D_801632B8
|
||||
.skip 24
|
||||
|
||||
glabel D_801632D0
|
||||
.skip 24
|
||||
|
||||
glabel D_801632E8
|
||||
.skip 24
|
||||
|
||||
glabel D_80163300
|
||||
.skip 24
|
||||
|
||||
glabel D_80163318
|
||||
.skip 24
|
||||
|
||||
glabel D_80163330
|
||||
.skip 16
|
||||
|
||||
glabel D_80163340
|
||||
.skip 4
|
||||
|
||||
glabel D_80163344
|
||||
.skip 2
|
||||
|
||||
glabel D_80163346
|
||||
.skip 2
|
||||
|
||||
glabel D_80163348
|
||||
.skip 4
|
||||
|
||||
glabel D_8016334C
|
||||
.skip 4
|
||||
|
||||
glabel D_80163350
|
||||
.skip 24
|
||||
|
||||
glabel D_80163368
|
||||
.skip 16
|
||||
|
||||
glabel D_80163378
|
||||
.skip 4
|
||||
|
||||
glabel D_8016337C
|
||||
.skip 4
|
||||
|
||||
glabel D_80163380
|
||||
.skip 24
|
||||
|
||||
glabel D_80163398
|
||||
.skip 24
|
||||
|
||||
glabel D_801633B0
|
||||
.skip 24
|
||||
|
||||
glabel D_801633C8
|
||||
.skip 24
|
||||
|
||||
glabel D_801633E0
|
||||
.skip 24
|
||||
|
||||
glabel D_801633F8
|
||||
.skip 24
|
||||
|
||||
glabel D_80163410
|
||||
.skip 8
|
||||
|
||||
glabel D_80163418
|
||||
.skip 16
|
||||
|
||||
glabel D_80163428
|
||||
.skip 16
|
||||
|
||||
glabel D_80163438
|
||||
.skip 16
|
||||
|
||||
glabel D_80163448
|
||||
.skip 2
|
||||
|
||||
# D_8016344A is fake, its just the lower half-word of D_80163448
|
||||
glabel D_8016344A
|
||||
.skip 2
|
||||
|
||||
glabel D_8016344C
|
||||
.skip 4
|
||||
|
||||
glabel D_80163450
|
||||
.skip 40
|
||||
|
||||
glabel D_80163478
|
||||
.skip 2
|
||||
|
||||
glabel D_8016347A
|
||||
.skip 2
|
||||
|
||||
glabel D_8016347C
|
||||
.skip 2
|
||||
|
||||
glabel D_8016347E
|
||||
.skip 2
|
||||
|
||||
glabel D_80163480
|
||||
.skip 4
|
||||
|
||||
glabel D_80163484
|
||||
.skip 4
|
||||
|
||||
glabel D_80163488
|
||||
.skip 4
|
||||
|
||||
glabel D_8016348C
|
||||
.skip 4
|
||||
|
||||
glabel D_80163490
|
||||
.skip 24
|
||||
|
||||
glabel D_801634A8
|
||||
.skip 24
|
||||
|
||||
glabel D_801634C0
|
||||
.skip 24
|
||||
|
||||
glabel D_801634D8
|
||||
.skip 20
|
||||
|
||||
glabel D_801634EC
|
||||
.skip 4
|
||||
|
||||
glabel D_801634F0
|
||||
.skip 4
|
||||
|
||||
glabel D_801634F4
|
||||
.skip 4
|
||||
|
||||
glabel D_801634F8 # array ptrs below may be fake
|
||||
.skip 4
|
||||
|
||||
glabel D_801634FC
|
||||
.skip 8
|
||||
|
||||
glabel D_80163504
|
||||
.skip 148
|
||||
|
||||
glabel D_80163598
|
||||
.skip 4
|
||||
|
||||
glabel D_8016359C
|
||||
.skip 4
|
@ -1,321 +0,0 @@
|
||||
.include "macros.inc"
|
||||
|
||||
.section .bss
|
||||
|
||||
glabel sTrains
|
||||
.skip 536
|
||||
|
||||
glabel isCrossingTriggeredByIndex # Crossing activated boolean
|
||||
.skip 4
|
||||
|
||||
glabel D_801637BC # CrossingTimer
|
||||
.skip 2
|
||||
|
||||
glabel D_801637BE
|
||||
.skip 2
|
||||
|
||||
glabel gFerries
|
||||
.skip 4
|
||||
|
||||
glabel D_801637C4
|
||||
.skip 4
|
||||
|
||||
glabel D_801637C8
|
||||
.skip 32
|
||||
|
||||
glabel D_801637E8
|
||||
.skip 4
|
||||
|
||||
glabel D_801637EC
|
||||
.skip 4
|
||||
|
||||
glabel D_801637F0
|
||||
.skip 36
|
||||
|
||||
glabel D_80163814
|
||||
.skip 4
|
||||
|
||||
glabel gBoxTruckList
|
||||
.skip 364
|
||||
|
||||
glabel D_80163984
|
||||
.skip 4
|
||||
|
||||
glabel gSchoolBusList
|
||||
.skip 364
|
||||
|
||||
glabel D_80163AF4
|
||||
.skip 4
|
||||
|
||||
glabel gTankerTruckList
|
||||
.skip 364
|
||||
|
||||
glabel D_80163C64
|
||||
.skip 4
|
||||
|
||||
glabel gCarList
|
||||
.skip 364
|
||||
|
||||
glabel D_80163DD4
|
||||
.skip 4
|
||||
|
||||
glabel D_80163DD8
|
||||
.skip 12
|
||||
|
||||
glabel D_80163DE4
|
||||
.skip 4
|
||||
|
||||
glabel gBombKarts
|
||||
.skip 588
|
||||
|
||||
glabel D_80164034
|
||||
.skip 4
|
||||
|
||||
# Seemingly an array of UnkActorInner, related to the VS mode Bomb Karts
|
||||
# D_80164038 should be of size 448 (0x40 * 7)
|
||||
# D_801640F4 is a fake variable
|
||||
glabel D_80164038
|
||||
.skip 188
|
||||
|
||||
glabel D_801640F4
|
||||
.skip 260
|
||||
# end D_80164038
|
||||
|
||||
glabel gUnexpiredActorsList
|
||||
.skip 224
|
||||
|
||||
glabel D_801642D8
|
||||
.skip 6
|
||||
|
||||
glabel D_801642DE
|
||||
.skip 122
|
||||
|
||||
glabel D_80164358
|
||||
.skip 2
|
||||
|
||||
glabel D_8016435A
|
||||
.skip 2
|
||||
|
||||
glabel D_8016435C
|
||||
.skip 4
|
||||
|
||||
glabel gGPCurrentRacePlayerIdByRank
|
||||
.skip 8
|
||||
|
||||
glabel D_80164368
|
||||
.skip 8
|
||||
|
||||
glabel D_80164370
|
||||
.skip 6
|
||||
|
||||
glabel D_80164376
|
||||
.skip 2
|
||||
|
||||
glabel D_80164378
|
||||
.skip 14
|
||||
|
||||
glabel D_80164386
|
||||
.skip 10
|
||||
|
||||
# List of s32's, seemingly indexed by player ID
|
||||
# Indicates the number of completed laps for that player
|
||||
glabel gLapCountByPlayerId
|
||||
.skip 2
|
||||
|
||||
glabel D_80164392
|
||||
.skip 2
|
||||
|
||||
glabel D_80164394
|
||||
.skip 4
|
||||
|
||||
glabel D_80164398
|
||||
.skip 4
|
||||
|
||||
glabel D_8016439C
|
||||
.skip 20
|
||||
|
||||
glabel D_801643B0
|
||||
.skip 8
|
||||
|
||||
glabel gGPCurrentRaceRankByPlayerId
|
||||
.skip 2
|
||||
|
||||
glabel D_801643BA
|
||||
.skip 30
|
||||
|
||||
glabel D_801643D8
|
||||
.skip 8
|
||||
|
||||
glabel D_801643E0
|
||||
.skip 40
|
||||
|
||||
glabel D_80164408
|
||||
.skip 2
|
||||
|
||||
glabel D_8016440A
|
||||
.skip 2
|
||||
|
||||
glabel D_8016440C
|
||||
.skip 36
|
||||
|
||||
glabel D_80164430
|
||||
.skip 8
|
||||
|
||||
glabel gNearestWaypointByPlayerId
|
||||
.skip 6
|
||||
|
||||
glabel D_8016443E
|
||||
.skip 10
|
||||
|
||||
glabel D_80164448
|
||||
.skip 8
|
||||
|
||||
glabel D_80164450
|
||||
.skip 40
|
||||
|
||||
glabel D_80164478
|
||||
.skip 20
|
||||
|
||||
glabel D_8016448C
|
||||
.skip 4
|
||||
|
||||
glabel D_80164490
|
||||
.skip 8
|
||||
|
||||
glabel D_80164498
|
||||
.skip 16
|
||||
|
||||
glabel gLapCompletionPercentByPlayerId
|
||||
.skip 40
|
||||
|
||||
glabel gCourseCompletionPercentByPlayerId
|
||||
.skip 40
|
||||
|
||||
glabel D_801644F8
|
||||
.skip 24
|
||||
|
||||
glabel D_80164510
|
||||
.skip 28
|
||||
|
||||
glabel D_8016452C
|
||||
.skip 12
|
||||
|
||||
glabel D_80164538
|
||||
.skip 24
|
||||
|
||||
glabel D_80164550
|
||||
.skip 12
|
||||
|
||||
glabel D_8016455C
|
||||
.skip 4
|
||||
|
||||
glabel D_80164560
|
||||
.skip 16
|
||||
|
||||
glabel D_80164570
|
||||
.skip 16
|
||||
|
||||
glabel D_80164580
|
||||
.skip 16
|
||||
|
||||
glabel D_80164590
|
||||
.skip 16
|
||||
|
||||
glabel D_801645A0
|
||||
.skip 16
|
||||
|
||||
glabel gPathIndexByPlayerId
|
||||
.skip 24
|
||||
|
||||
glabel gWaypointCountByPathIndex
|
||||
.skip 6
|
||||
|
||||
glabel D_801645CE
|
||||
.skip 2
|
||||
|
||||
glabel D_801645D0
|
||||
.skip 16
|
||||
|
||||
glabel D_801645E0
|
||||
.skip 8
|
||||
|
||||
glabel D_801645E8
|
||||
.skip 16
|
||||
|
||||
glabel D_801645F8
|
||||
.skip 16
|
||||
|
||||
glabel D_80164608
|
||||
.skip 16
|
||||
|
||||
glabel D_80164618
|
||||
.skip 16
|
||||
|
||||
glabel D_80164628
|
||||
.skip 16
|
||||
|
||||
glabel D_80164638
|
||||
.skip 16
|
||||
|
||||
glabel D_80164648
|
||||
.skip 16
|
||||
|
||||
glabel D_80164658
|
||||
.skip 16
|
||||
|
||||
glabel gNearestWaypointByCameraId # size 4
|
||||
.skip 8
|
||||
|
||||
glabel D_80164670
|
||||
.skip 2
|
||||
|
||||
glabel D_80164672
|
||||
.skip 2
|
||||
|
||||
glabel D_80164674
|
||||
.skip 2
|
||||
|
||||
glabel D_80164676
|
||||
.skip 2
|
||||
|
||||
glabel D_80164678
|
||||
.skip 2
|
||||
|
||||
glabel D_8016467A
|
||||
.skip 2
|
||||
|
||||
glabel D_8016467C
|
||||
.skip 2
|
||||
|
||||
glabel D_8016467E
|
||||
.skip 2
|
||||
|
||||
glabel D_80164680
|
||||
.skip 2
|
||||
|
||||
glabel D_80164682
|
||||
.skip 6
|
||||
|
||||
glabel D_80164688
|
||||
.skip 16
|
||||
|
||||
glabel D_80164698
|
||||
.skip 4
|
||||
|
||||
glabel D_8016469C
|
||||
.skip 4
|
||||
|
||||
glabel D_801646A0
|
||||
.skip 32
|
||||
|
||||
glabel D_801646C0
|
||||
.skip 8
|
||||
|
||||
glabel D_801646C8
|
||||
.skip 4
|
||||
|
||||
glabel D_801646CC
|
||||
.skip 4
|
||||
|
||||
glabel D_801646D0
|
||||
.skip 32
|
@ -414,8 +414,8 @@ glabel func_800074D4
|
||||
.L80007ABC:
|
||||
/* 0086BC 80007ABC 3C028016 */ lui $v0, %hi(D_801643E0) # $v0, 0x8016
|
||||
/* 0086C0 80007AC0 3C038016 */ lui $v1, %hi(gGPCurrentRaceRankByPlayerId) # $v1, 0x8016
|
||||
/* 0086C4 80007AC4 3C048016 */ lui $a0, %hi(D_801643D8) # $a0, 0x8016
|
||||
/* 0086C8 80007AC8 248443D8 */ addiu $a0, %lo(D_801643D8) # addiu $a0, $a0, 0x43d8
|
||||
/* 0086C4 80007AC4 3C048016 */ lui $a0, %hi(gGPCurrentRaceRankByPlayerId + 0x20) # $a0, 0x8016
|
||||
/* 0086C8 80007AC8 248443D8 */ addiu $a0, %lo(gGPCurrentRaceRankByPlayerId + 0x20) # addiu $a0, $a0, 0x43d8
|
||||
/* 0086CC 80007ACC 246343B8 */ addiu $v1, %lo(gGPCurrentRaceRankByPlayerId) # addiu $v1, $v1, 0x43b8
|
||||
/* 0086D0 80007AD0 244243E0 */ addiu $v0, %lo(D_801643E0) # addiu $v0, $v0, 0x43e0
|
||||
/* 0086D4 80007AD4 24070001 */ li $a3, 1
|
||||
|
@ -144,15 +144,15 @@ glabel func_80008424
|
||||
/* 009210 80008610 3C028016 */ lui $v0, %hi(D_80163350) # 0x8016
|
||||
/* 009214 80008614 95AD3330 */ lhu $t5, %lo(D_80163330)($t5) # 0x3330($t5)
|
||||
/* 009218 80008618 8FA40038 */ lw $a0, 0x38($sp)
|
||||
/* 00921C 8000861C 3C058016 */ lui $a1, %hi(D_80164392) # 0x8016
|
||||
/* 00921C 8000861C 3C058016 */ lui $a1, %hi(gLapCountByPlayerId + 0x2) # 0x8016
|
||||
/* 009220 80008620 510D001F */ beql $t0, $t5, .L800086A0
|
||||
/* 009224 80008624 00461021 */ addu $v0, $v0, $a2
|
||||
/* 009228 80008628 00041080 */ sll $v0, $a0, 2
|
||||
/* 00922C 8000862C 3C068016 */ lui $a2, %hi(D_8016440A) # 0x8016
|
||||
/* 00922C 8000862C 3C068016 */ lui $a2, %hi(D_80164408 + 0x2) # 0x8016
|
||||
/* 009230 80008630 00C23021 */ addu $a2, $a2, $v0
|
||||
/* 009234 80008634 00A22821 */ addu $a1, $a1, $v0
|
||||
/* 009238 80008638 84A54392 */ lh $a1, %lo(D_80164392)($a1) # 0x4392($a1)
|
||||
/* 00923C 8000863C 84C6440A */ lh $a2, %lo(D_8016440A)($a2) # 0x440a($a2)
|
||||
/* 009238 80008638 84A54392 */ lh $a1, %lo(gLapCountByPlayerId + 0x2)($a1) # 0x4392($a1)
|
||||
/* 00923C 8000863C 84C6440A */ lh $a2, %lo(D_80164408 + 0x2)($a2) # 0x440a($a2)
|
||||
/* 009240 80008640 0C002236 */ jal func_800088D8
|
||||
/* 009244 80008644 AFA70040 */ sw $a3, 0x40($sp)
|
||||
/* 009248 80008648 24080001 */ li $t0, 1
|
||||
@ -270,7 +270,7 @@ glabel func_80008424
|
||||
.L800087E8:
|
||||
/* 0093E8 800087E8 95CE3330 */ lhu $t6, %lo(D_80163330)($t6) # 0x3330($t6)
|
||||
/* 0093EC 800087EC 8FA40038 */ lw $a0, 0x38($sp)
|
||||
/* 0093F0 800087F0 3C058016 */ lui $a1, %hi(D_80164392) # 0x8016
|
||||
/* 0093F0 800087F0 3C058016 */ lui $a1, %hi(gLapCountByPlayerId + 0x2) # 0x8016
|
||||
/* 0093F4 800087F4 150E0006 */ bne $t0, $t6, .L80008810
|
||||
/* 0093F8 800087F8 00041080 */ sll $v0, $a0, 2
|
||||
/* 0093FC 800087FC 8FA40038 */ lw $a0, 0x38($sp)
|
||||
@ -279,11 +279,11 @@ glabel func_80008424
|
||||
/* 009408 80008808 10000030 */ b .L800088CC
|
||||
/* 00940C 8000880C 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
.L80008810:
|
||||
/* 009410 80008810 3C068016 */ lui $a2, %hi(D_8016440A) # 0x8016
|
||||
/* 009410 80008810 3C068016 */ lui $a2, %hi(D_80164408 + 0x2) # 0x8016
|
||||
/* 009414 80008814 00C23021 */ addu $a2, $a2, $v0
|
||||
/* 009418 80008818 00A22821 */ addu $a1, $a1, $v0
|
||||
/* 00941C 8000881C 84A54392 */ lh $a1, %lo(D_80164392)($a1) # 0x4392($a1)
|
||||
/* 009420 80008820 84C6440A */ lh $a2, %lo(D_8016440A)($a2) # 0x440a($a2)
|
||||
/* 00941C 8000881C 84A54392 */ lh $a1, %lo(gLapCountByPlayerId + 0x2)($a1) # 0x4392($a1)
|
||||
/* 009420 80008820 84C6440A */ lh $a2, %lo(D_80164408 + 0x2)($a2) # 0x440a($a2)
|
||||
/* 009424 80008824 0C002236 */ jal func_800088D8
|
||||
/* 009428 80008828 AFA70040 */ sw $a3, 0x40($sp)
|
||||
/* 00942C 8000882C 24080001 */ li $t0, 1
|
||||
|
@ -73,8 +73,8 @@ glabel func_800088D8
|
||||
/* 0095E0 800089E0 24844450 */ addiu $a0, %lo(D_80164450) # addiu $a0, $a0, 0x4450
|
||||
/* 0095E4 800089E4 146E003A */ bne $v1, $t6, .L80008AD0
|
||||
/* 0095E8 800089E8 0088C021 */ addu $t8, $a0, $t0
|
||||
/* 0095EC 800089EC 3C188016 */ lui $t8, %hi(D_80164386) # $t8, 0x8016
|
||||
/* 0095F0 800089F0 87184386 */ lh $t8, %lo(D_80164386)($t8)
|
||||
/* 0095EC 800089EC 3C188016 */ lui $t8, %hi(D_80164378 + 0xE) # $t8, 0x8016
|
||||
/* 0095F0 800089F0 87184386 */ lh $t8, %lo(D_80164378 + 0xE)($t8)
|
||||
/* 0095F4 800089F4 3C048016 */ lui $a0, %hi(D_80164450) # $a0, 0x8016
|
||||
/* 0095F8 800089F8 24844450 */ addiu $a0, %lo(D_80164450) # addiu $a0, $a0, 0x4450
|
||||
/* 0095FC 800089FC 0018C880 */ sll $t9, $t8, 2
|
||||
@ -142,7 +142,7 @@ glabel func_800088D8
|
||||
/* 0096E4 80008AE4 0301001A */ div $zero, $t8, $at
|
||||
/* 0096E8 80008AE8 3C0B8016 */ lui $t3, %hi(D_80163478) # $t3, 0x8016
|
||||
/* 0096EC 80008AEC 856B3478 */ lh $t3, %lo(D_80163478)($t3)
|
||||
/* 0096F0 80008AF0 3C0D8016 */ lui $t5, %hi(D_801643BA) # 0x8016
|
||||
/* 0096F0 80008AF0 3C0D8016 */ lui $t5, %hi(gGPCurrentRaceRankByPlayerId + 0x2) # 0x8016
|
||||
/* 0096F4 80008AF4 000BC880 */ sll $t9, $t3, 2
|
||||
/* 0096F8 80008AF8 00997021 */ addu $t6, $a0, $t9
|
||||
/* 0096FC 80008AFC 85C30002 */ lh $v1, 2($t6)
|
||||
@ -151,13 +151,13 @@ glabel func_800088D8
|
||||
/* 009708 80008B08 00432823 */ subu $a1, $v0, $v1
|
||||
/* 00970C 80008B0C 0325082A */ slt $at, $t9, $a1
|
||||
/* 009710 80008B10 1020000B */ beqz $at, .L80008B40
|
||||
/* 009714 80008B14 85AD43BA */ lh $t5, %lo(D_801643BA)($t5) # 0x43ba($t5)
|
||||
/* 009714 80008B14 85AD43BA */ lh $t5, %lo(gGPCurrentRaceRankByPlayerId + 0x2)($t5) # 0x43ba($t5)
|
||||
/* 009718 80008B18 29A10006 */ slti $at, $t5, 6
|
||||
/* 00971C 80008B1C 14200008 */ bnez $at, .L80008B40
|
||||
/* 009720 80008B20 000D7040 */ sll $t6, $t5, 1
|
||||
/* 009724 80008B24 3C0F8016 */ lui $t7, %hi(D_80164376) # 0x8016
|
||||
/* 009724 80008B24 3C0F8016 */ lui $t7, %hi(gLapCountByPlayerId - 0x1A) # 0x8016
|
||||
/* 009728 80008B28 01EE7821 */ addu $t7, $t7, $t6
|
||||
/* 00972C 80008B2C 85EF4376 */ lh $t7, %lo(D_80164376)($t7) # 0x4376($t7)
|
||||
/* 00972C 80008B2C 85EF4376 */ lh $t7, %lo(gLapCountByPlayerId - 0x1A)($t7) # 0x4376($t7)
|
||||
/* 009730 80008B30 000FC080 */ sll $t8, $t7, 2
|
||||
/* 009734 80008B34 0098C821 */ addu $t9, $a0, $t8
|
||||
/* 009738 80008B38 87230002 */ lh $v1, 2($t9)
|
||||
|
@ -209,8 +209,8 @@ glabel func_8000929C
|
||||
/* 00A188 80009588 3C028016 */ lui $v0, %hi(gLapCountByPlayerId) # $v0, 0x8016
|
||||
/* 00A18C 8000958C 15810011 */ bne $t4, $at, .L800095D4
|
||||
/* 00A190 80009590 24424390 */ addiu $v0, %lo(gLapCountByPlayerId) # addiu $v0, $v0, 0x4390
|
||||
/* 00A194 80009594 3C038016 */ lui $v1, %hi(D_801643B0) # $v1, 0x8016
|
||||
/* 00A198 80009598 246343B0 */ addiu $v1, %lo(D_801643B0) # addiu $v1, $v1, 0x43b0
|
||||
/* 00A194 80009594 3C038016 */ lui $v1, %hi(gLapCountByPlayerId + 0x20) # $v1, 0x8016
|
||||
/* 00A198 80009598 246343B0 */ addiu $v1, %lo(gLapCountByPlayerId + 0x20) # addiu $v1, $v1, 0x43b0
|
||||
.L8000959C:
|
||||
/* 00A19C 8000959C 8C4D0000 */ lw $t5, ($v0)
|
||||
/* 00A1A0 800095A0 8C4F0004 */ lw $t7, 4($v0)
|
||||
@ -240,13 +240,13 @@ glabel func_8000929C
|
||||
/* 00A1F8 800095F8 8FA40050 */ lw $a0, 0x50($sp)
|
||||
/* 00A1FC 800095FC 3C0F8016 */ lui $t7, %hi(D_8016348C) # $t7, 0x8016
|
||||
/* 00A200 80009600 85EF348C */ lh $t7, %lo(D_8016348C)($t7)
|
||||
/* 00A204 80009604 3C018016 */ lui $at, %hi(D_801642DE) # 0x8016
|
||||
/* 00A204 80009604 3C018016 */ lui $at, %hi(D_801642D8 + 0x6) # 0x8016
|
||||
/* 00A208 80009608 00047100 */ sll $t6, $a0, 4
|
||||
/* 00A20C 8000960C 002E0821 */ addu $at, $at, $t6
|
||||
/* 00A210 80009610 8FA70030 */ lw $a3, 0x30($sp)
|
||||
/* 00A214 80009614 87A80034 */ lh $t0, 0x34($sp)
|
||||
/* 00A218 80009618 15E00012 */ bnez $t7, .L80009664
|
||||
/* 00A21C 8000961C A42042DE */ sh $zero, %lo(D_801642DE)($at) # 0x42de($at)
|
||||
/* 00A21C 8000961C A42042DE */ sh $zero, %lo(D_801642D8 + 0x6)($at) # 0x42de($at)
|
||||
/* 00A220 80009620 8FB80054 */ lw $t8, 0x54($sp)
|
||||
/* 00A224 80009624 8FA50038 */ lw $a1, 0x38($sp)
|
||||
/* 00A228 80009628 8FA60044 */ lw $a2, 0x44($sp)
|
||||
@ -343,8 +343,8 @@ glabel func_8000929C
|
||||
/* 00A37C 8000977C 00000000 */ nop
|
||||
/* 00A380 80009780 1480000C */ bnez $a0, .L800097B4
|
||||
/* 00A384 80009784 3C0F8016 */ lui $t7, %hi(D_80164408) # $t7, 0x8016
|
||||
/* 00A388 80009788 3C188016 */ lui $t8, %hi(D_8016440C) # $t8, 0x8016
|
||||
/* 00A38C 8000978C 8F18440C */ lw $t8, %lo(D_8016440C)($t8)
|
||||
/* 00A388 80009788 3C188016 */ lui $t8, %hi(D_80164408 + 0x4) # $t8, 0x8016
|
||||
/* 00A38C 8000978C 8F18440C */ lw $t8, %lo(D_80164408 + 0x4)($t8)
|
||||
/* 00A390 80009790 8DEF4408 */ lw $t7, %lo(D_80164408)($t7)
|
||||
/* 00A394 80009794 24190001 */ li $t9, 1
|
||||
/* 00A398 80009798 01F8082A */ slt $at, $t7, $t8
|
||||
|
@ -317,16 +317,16 @@ glabel func_80009B60
|
||||
/* 00AB94 80009F94 8FAA00D0 */ lw $t2, 0xd0($sp)
|
||||
/* 00AB98 80009F98 44808000 */ mtc1 $zero, $f16
|
||||
/* 00AB9C 80009F9C 000A5900 */ sll $t3, $t2, 4
|
||||
/* 00ABA0 80009FA0 3C018016 */ lui $at, %hi(D_801634FC)
|
||||
/* 00ABA0 80009FA0 3C018016 */ lui $at, %hi(D_801634F8 + 4)
|
||||
/* 00ABA4 80009FA4 002B0821 */ addu $at, $at, $t3
|
||||
/* 00ABA8 80009FA8 E43034FC */ swc1 $f16, %lo(D_801634FC)($at)
|
||||
/* 00ABA8 80009FA8 E43034FC */ swc1 $f16, %lo(D_801634F8 + 4)($at)
|
||||
.L80009FAC:
|
||||
/* 00ABAC 80009FAC 8FAE00D0 */ lw $t6, 0xd0($sp)
|
||||
/* 00ABB0 80009FB0 44809000 */ mtc1 $zero, $f18
|
||||
/* 00ABB4 80009FB4 3C018016 */ lui $at, %hi(D_80163504)
|
||||
/* 00ABB4 80009FB4 3C018016 */ lui $at, %hi(D_801634F8 + 12)
|
||||
/* 00ABB8 80009FB8 000E7900 */ sll $t7, $t6, 4
|
||||
/* 00ABBC 80009FBC 002F0821 */ addu $at, $at, $t7
|
||||
/* 00ABC0 80009FC0 E4323504 */ swc1 $f18, %lo(D_80163504)($at)
|
||||
/* 00ABC0 80009FC0 E4323504 */ swc1 $f18, %lo(D_801634F8 + 12)($at)
|
||||
.L80009FC4:
|
||||
/* 00ABC4 80009FC4 3C028016 */ lui $v0, %hi(D_80163448) # $v0, 0x8016
|
||||
/* 00ABC8 80009FC8 8C423448 */ lw $v0, %lo(D_80163448)($v0)
|
||||
@ -410,10 +410,10 @@ glabel func_80009B60
|
||||
/* 00ACEC 8000A0EC 00602025 */ move $a0, $v1
|
||||
.L8000A0F0:
|
||||
/* 00ACF0 8000A0F0 44803000 */ mtc1 $zero, $f6
|
||||
/* 00ACF4 8000A0F4 3C018016 */ lui $at, %hi(D_801634FC)
|
||||
/* 00ACF4 8000A0F4 3C018016 */ lui $at, %hi(D_801634F8 + 4)
|
||||
/* 00ACF8 8000A0F8 00390821 */ addu $at, $at, $t9
|
||||
/* 00ACFC 8000A0FC 1000000D */ b .L8000A134
|
||||
/* 00AD00 8000A100 E42634FC */ swc1 $f6, %lo(D_801634FC)($at)
|
||||
/* 00AD00 8000A100 E42634FC */ swc1 $f6, %lo(D_801634F8 + 4)($at)
|
||||
.L8000A104:
|
||||
/* 00AD04 8000A104 0C005243 */ jal func_8001490C
|
||||
/* 00AD08 8000A108 AFA5002C */ sw $a1, 0x2c($sp)
|
||||
@ -637,11 +637,11 @@ glabel func_80009B60
|
||||
/* 00B050 8000A450 00002010 */ mfhi $a0
|
||||
/* 00B054 8000A454 3C058016 */ lui $a1, %hi(D_80163090) # 0x8016
|
||||
/* 00B058 8000A458 308AFFFF */ andi $t2, $a0, 0xffff
|
||||
/* 00B05C 8000A45C 3C068016 */ lui $a2, %hi(D_8016344A) # $a2, 0x8016
|
||||
/* 00B05C 8000A45C 3C068016 */ lui $a2, %hi(D_80163448 + 2) # $a2, 0x8016
|
||||
/* 00B060 8000A460 00B92821 */ addu $a1, $a1, $t9
|
||||
/* 00B064 8000A464 01402025 */ move $a0, $t2
|
||||
/* 00B068 8000A468 8CA53090 */ lw $a1, %lo(D_80163090)($a1) # 0x3090($a1)
|
||||
/* 00B06C 8000A46C 84C6344A */ lh $a2, %lo(D_8016344A)($a2)
|
||||
/* 00B06C 8000A46C 84C6344A */ lh $a2, %lo(D_80163448 + 2)($a2)
|
||||
/* 00B070 8000A470 0C002EF6 */ jal func_8000BBD8
|
||||
/* 00B074 8000A474 AFA8003C */ sw $t0, 0x3c($sp)
|
||||
/* 00B078 8000A478 3C078016 */ lui $a3, %hi(D_80162FA0) # $a3, 0x8016
|
||||
@ -984,9 +984,9 @@ glabel func_80009B60
|
||||
/* 00B538 8000A938 27183068 */ addiu $t8, %lo(D_80163068) # addiu $t8, $t8, 0x3068
|
||||
/* 00B53C 8000A93C 308CFFFF */ andi $t4, $a0, 0xffff
|
||||
/* 00B540 8000A940 01384021 */ addu $t0, $t1, $t8
|
||||
/* 00B544 8000A944 3C068016 */ lui $a2, %hi(D_8016344A) # $a2, 0x8016
|
||||
/* 00B544 8000A944 3C068016 */ lui $a2, %hi(D_80163448 + 2) # $a2, 0x8016
|
||||
/* 00B548 8000A948 01802025 */ move $a0, $t4
|
||||
/* 00B54C 8000A94C 84C6344A */ lh $a2, %lo(D_8016344A)($a2)
|
||||
/* 00B54C 8000A94C 84C6344A */ lh $a2, %lo(D_80163448 + 2)($a2)
|
||||
/* 00B550 8000A950 8D050000 */ lw $a1, ($t0)
|
||||
/* 00B554 8000A954 AFA80020 */ sw $t0, 0x20($sp)
|
||||
/* 00B558 8000A958 0C002EF6 */ jal func_8000BBD8
|
||||
@ -1029,9 +1029,9 @@ glabel func_80009B60
|
||||
.L8000A9E4:
|
||||
/* 00B5E4 8000A9E4 00002010 */ mfhi $a0
|
||||
/* 00B5E8 8000A9E8 308BFFFF */ andi $t3, $a0, 0xffff
|
||||
/* 00B5EC 8000A9EC 3C068016 */ lui $a2, %hi(D_8016344A) # $a2, 0x8016
|
||||
/* 00B5EC 8000A9EC 3C068016 */ lui $a2, %hi(D_80163448 + 2) # $a2, 0x8016
|
||||
/* 00B5F0 8000A9F0 01602025 */ move $a0, $t3
|
||||
/* 00B5F4 8000A9F4 84C6344A */ lh $a2, %lo(D_8016344A)($a2)
|
||||
/* 00B5F4 8000A9F4 84C6344A */ lh $a2, %lo(D_80163448 + 2)($a2)
|
||||
/* 00B5F8 8000A9F8 0C002EF6 */ jal func_8000BBD8
|
||||
/* 00B5FC 8000A9FC 34A53333 */ ori $a1, (0xBF333333 & 0xFFFF) # ori $a1, $a1, 0x3333
|
||||
.L8000AA00:
|
||||
@ -1073,9 +1073,9 @@ glabel func_80009B60
|
||||
/* 00B684 8000AA84 00002010 */ mfhi $a0
|
||||
/* 00B688 8000AA88 308CFFFF */ andi $t4, $a0, 0xffff
|
||||
/* 00B68C 8000AA8C 00B82821 */ addu $a1, $a1, $t8
|
||||
/* 00B690 8000AA90 3C068016 */ lui $a2, %hi(D_8016344A) # $a2, 0x8016
|
||||
/* 00B690 8000AA90 3C068016 */ lui $a2, %hi(D_80163448 + 2) # $a2, 0x8016
|
||||
/* 00B694 8000AA94 01802025 */ move $a0, $t4
|
||||
/* 00B698 8000AA98 84C6344A */ lh $a2, %lo(D_8016344A)($a2)
|
||||
/* 00B698 8000AA98 84C6344A */ lh $a2, %lo(D_80163448 + 2)($a2)
|
||||
/* 00B69C 8000AA9C 0C002EF6 */ jal func_8000BBD8
|
||||
/* 00B6A0 8000AAA0 8CA53090 */ lw $a1, %lo(D_80163090)($a1) # 0x3090($a1)
|
||||
.L8000AAA4:
|
||||
|
@ -100,7 +100,7 @@ glabel func_8000BBD8
|
||||
/* 00C958 8000BD58 46045200 */ add.s $f8, $f10, $f4
|
||||
/* 00C95C 8000BD5C E4262FA0 */ swc1 $f6, %lo(D_80162FA0)($at)
|
||||
/* 00C960 8000BD60 C7A40010 */ lwc1 $f4, 0x10($sp)
|
||||
/* 00C964 8000BD64 3C018016 */ lui $at, %hi(D_80162FA8)
|
||||
/* 00C964 8000BD64 3C018016 */ lui $at, %hi(D_80162FA0 + 8)
|
||||
/* 00C968 8000BD68 46086182 */ mul.s $f6, $f12, $f8
|
||||
/* 00C96C 8000BD6C 46048200 */ add.s $f8, $f16, $f4
|
||||
/* 00C970 8000BD70 27BD0028 */ addiu $sp, $sp, 0x28
|
||||
@ -111,4 +111,4 @@ glabel func_8000BBD8
|
||||
/* 00C984 8000BD84 46023102 */ mul.s $f4, $f6, $f2
|
||||
/* 00C988 8000BD88 460A2200 */ add.s $f8, $f4, $f10
|
||||
/* 00C98C 8000BD8C 03E00008 */ jr $ra
|
||||
/* 00C990 8000BD90 E4282FA8 */ swc1 $f8, %lo(D_80162FA8)($at)
|
||||
/* 00C990 8000BD90 E4282FA8 */ swc1 $f8, %lo(D_80162FA0 + 8)($at)
|
||||
|
@ -479,10 +479,10 @@ glabel L8000E618
|
||||
glabel L8000E634
|
||||
/* 00F234 8000E634 3C0F8016 */ lui $t7, %hi(D_8016347C) # $t7, 0x8016
|
||||
/* 00F238 8000E638 85EF347C */ lh $t7, %lo(D_8016347C)($t7)
|
||||
/* 00F23C 8000E63C 3C198016 */ lui $t9, %hi(D_8016443E) # $t9, 0x8016
|
||||
/* 00F23C 8000E63C 3C198016 */ lui $t9, %hi(gNearestWaypointByPlayerId + 0x6) # $t9, 0x8016
|
||||
/* 00F240 8000E640 11E00007 */ beqz $t7, .L8000E660
|
||||
/* 00F244 8000E644 00000000 */ nop
|
||||
/* 00F248 8000E648 9739443E */ lhu $t9, %lo(D_8016443E)($t9)
|
||||
/* 00F248 8000E648 9739443E */ lhu $t9, %lo(gNearestWaypointByPlayerId + 0x6)($t9)
|
||||
/* 00F24C 8000E64C 87A700CA */ lh $a3, 0xca($sp)
|
||||
/* 00F250 8000E650 240B0003 */ li $t3, 3
|
||||
/* 00F254 8000E654 2B210005 */ slti $at, $t9, 5
|
||||
@ -501,8 +501,8 @@ glabel L8000E634
|
||||
/* 00F280 8000E680 00401825 */ move $v1, $v0
|
||||
/* 00F284 8000E684 04800006 */ bltz $a0, .L8000E6A0
|
||||
/* 00F288 8000E688 A7A200CA */ sh $v0, 0xca($sp)
|
||||
/* 00F28C 8000E68C 3C0A8016 */ lui $t2, %hi(D_801645CE) # $t2, 0x8016
|
||||
/* 00F290 8000E690 954A45CE */ lhu $t2, %lo(D_801645CE)($t2)
|
||||
/* 00F28C 8000E68C 3C0A8016 */ lui $t2, %hi(gWaypointCountByPathIndex + 0x6) # $t2, 0x8016
|
||||
/* 00F290 8000E690 954A45CE */ lhu $t2, %lo(gWaypointCountByPathIndex + 0x6)($t2)
|
||||
/* 00F294 8000E694 0144082A */ slt $at, $t2, $a0
|
||||
/* 00F298 8000E698 50200003 */ beql $at, $zero, .L8000E6A8
|
||||
/* 00F29C 8000E69C 97A900CA */ lhu $t1, 0xca($sp)
|
||||
@ -515,14 +515,14 @@ glabel L8000E634
|
||||
/* 00F2B0 8000E6B0 2921001A */ slti $at, $t1, 0x1a
|
||||
/* 00F2B4 8000E6B4 1020004E */ beqz $at, .L8000E7F0
|
||||
/* 00F2B8 8000E6B8 3C068016 */ lui $a2, %hi(D_80162FB0) # 0x8016
|
||||
/* 00F2BC 8000E6BC 3C078016 */ lui $a3, %hi(D_801645CE) # $a3, 0x8016
|
||||
/* 00F2C0 8000E6C0 94E745CE */ lhu $a3, %lo(D_801645CE)($a3)
|
||||
/* 00F2BC 8000E6BC 3C078016 */ lui $a3, %hi(gWaypointCountByPathIndex + 0x6) # $a3, 0x8016
|
||||
/* 00F2C0 8000E6C0 94E745CE */ lhu $a3, %lo(gWaypointCountByPathIndex + 0x6)($a3)
|
||||
/* 00F2C4 8000E6C4 252C0001 */ addiu $t4, $t1, 1
|
||||
/* 00F2C8 8000E6C8 252B0002 */ addiu $t3, $t1, 2
|
||||
/* 00F2CC 8000E6CC 0187001A */ div $zero, $t4, $a3
|
||||
/* 00F2D0 8000E6D0 00006810 */ mfhi $t5
|
||||
/* 00F2D4 8000E6D4 3C088016 */ lui $t0, %hi(D_8016455C) # $t0, 0x8016
|
||||
/* 00F2D8 8000E6D8 8D08455C */ lw $t0, %lo(D_8016455C)($t0)
|
||||
/* 00F2D4 8000E6D4 3C088016 */ lui $t0, %hi(D_80164550 + 0xC) # $t0, 0x8016
|
||||
/* 00F2D8 8000E6D8 8D08455C */ lw $t0, %lo(D_80164550 + 0xC)($t0)
|
||||
/* 00F2DC 8000E6DC 0167001A */ div $zero, $t3, $a3
|
||||
/* 00F2E0 8000E6E0 000D70C0 */ sll $t6, $t5, 3
|
||||
/* 00F2E4 8000E6E4 01C81021 */ addu $v0, $t6, $t0
|
||||
|
@ -95,26 +95,26 @@ glabel L80011C04
|
||||
glabel L80011C3C
|
||||
/* 01283C 80011C3C 44802000 */ mtc1 $zero, $f4
|
||||
/* 012840 80011C40 00047100 */ sll $t6, $a0, 4
|
||||
/* 012844 80011C44 3C018016 */ lui $at, %hi(D_801634FC)
|
||||
/* 012844 80011C44 3C018016 */ lui $at, %hi(D_801634F8 + 4)
|
||||
/* 012848 80011C48 002E0821 */ addu $at, $at, $t6
|
||||
/* 01284C 80011C4C 1000003A */ b .L80011D38
|
||||
/* 012850 80011C50 E42434FC */ swc1 $f4, %lo(D_801634FC)($at)
|
||||
/* 012850 80011C50 E42434FC */ swc1 $f4, %lo(D_801634F8 + 4)($at)
|
||||
glabel L80011C54
|
||||
/* 012854 80011C54 3C01800F */ lui $at, %hi(D_800ED0AC)
|
||||
/* 012858 80011C58 C426D0AC */ lwc1 $f6, %lo(D_800ED0AC)($at)
|
||||
/* 01285C 80011C5C 3C018016 */ lui $at, %hi(D_801634FC)
|
||||
/* 01285C 80011C5C 3C018016 */ lui $at, %hi(D_801634F8 + 4)
|
||||
/* 012860 80011C60 00047900 */ sll $t7, $a0, 4
|
||||
/* 012864 80011C64 002F0821 */ addu $at, $at, $t7
|
||||
/* 012868 80011C68 10000033 */ b .L80011D38
|
||||
/* 01286C 80011C6C E42634FC */ swc1 $f6, %lo(D_801634FC)($at)
|
||||
/* 01286C 80011C6C E42634FC */ swc1 $f6, %lo(D_801634F8 + 4)($at)
|
||||
glabel L80011C70
|
||||
/* 012870 80011C70 3C01800F */ lui $at, %hi(D_800ED0B0)
|
||||
/* 012874 80011C74 C428D0B0 */ lwc1 $f8, %lo(D_800ED0B0)($at)
|
||||
/* 012878 80011C78 3C018016 */ lui $at, %hi(D_801634FC)
|
||||
/* 012878 80011C78 3C018016 */ lui $at, %hi(D_801634F8 + 4)
|
||||
/* 01287C 80011C7C 0004C100 */ sll $t8, $a0, 4
|
||||
/* 012880 80011C80 00380821 */ addu $at, $at, $t8
|
||||
/* 012884 80011C84 1000002C */ b .L80011D38
|
||||
/* 012888 80011C88 E42834FC */ swc1 $f8, %lo(D_801634FC)($at)
|
||||
/* 012888 80011C88 E42834FC */ swc1 $f8, %lo(D_801634F8 + 4)($at)
|
||||
glabel L80011C8C
|
||||
/* 01288C 80011C8C 3C018016 */ lui $at, %hi(D_80163350) # 0x8016
|
||||
/* 012890 80011C90 00230821 */ addu $at, $at, $v1
|
||||
|
@ -69,11 +69,11 @@ glabel func_800146B8
|
||||
/* 015398 80014798 0C00516A */ jal func_800145A8
|
||||
/* 01539C 8001479C 8604002E */ lh $a0, 0x2e($s0)
|
||||
/* 0153A0 800147A0 8FAC0020 */ lw $t4, 0x20($sp)
|
||||
/* 0153A4 800147A4 3C018016 */ lui $at, %hi(D_801634FC)
|
||||
/* 0153A4 800147A4 3C018016 */ lui $at, %hi(D_801634F8 + 4)
|
||||
/* 0153A8 800147A8 000C6900 */ sll $t5, $t4, 4
|
||||
/* 0153AC 800147AC 002D0821 */ addu $at, $at, $t5
|
||||
/* 0153B0 800147B0 10000006 */ b .L800147CC
|
||||
/* 0153B4 800147B4 E42034FC */ swc1 $f0, %lo(D_801634FC)($at)
|
||||
/* 0153B4 800147B4 E42034FC */ swc1 $f0, %lo(D_801634F8 + 4)($at)
|
||||
.L800147B8:
|
||||
/* 0153B8 800147B8 1444FFE1 */ bne $v0, $a0, .L80014740
|
||||
/* 0153BC 800147BC 24630003 */ addiu $v1, $v1, 3
|
||||
|
@ -15,13 +15,13 @@ glabel func_8007B040
|
||||
/* 07BC74 8007B074 1020000B */ beqz $at, .L8007B0A4
|
||||
/* 07BC78 8007B078 320400FF */ andi $a0, $s0, 0xff
|
||||
/* 07BC7C 8007B07C 00101080 */ sll $v0, $s0, 2
|
||||
/* 07BC80 8007B080 3C048016 */ lui $a0, %hi(D_80164392) # 0x8016
|
||||
/* 07BC84 8007B084 3C058016 */ lui $a1, %hi(D_801643BA) # 0x8016
|
||||
/* 07BC80 8007B080 3C048016 */ lui $a0, %hi(gLapCountByPlayerId + 0x2) # 0x8016
|
||||
/* 07BC84 8007B084 3C058016 */ lui $a1, %hi(gGPCurrentRaceRankByPlayerId + 0x2) # 0x8016
|
||||
/* 07BC88 8007B088 00A22821 */ addu $a1, $a1, $v0
|
||||
/* 07BC8C 8007B08C 00822021 */ addu $a0, $a0, $v0
|
||||
/* 07BC90 8007B090 84844392 */ lh $a0, %lo(D_80164392)($a0) # 0x4392($a0)
|
||||
/* 07BC90 8007B090 84844392 */ lh $a0, %lo(gLapCountByPlayerId + 0x2)($a0) # 0x4392($a0)
|
||||
/* 07BC94 8007B094 0C01EBD0 */ jal gen_random_item_human
|
||||
/* 07BC98 8007B098 84A543BA */ lh $a1, %lo(D_801643BA)($a1) # 0x43ba($a1)
|
||||
/* 07BC98 8007B098 84A543BA */ lh $a1, %lo(gGPCurrentRaceRankByPlayerId + 0x2)($a1) # 0x43ba($a1)
|
||||
/* 07BC9C 8007B09C 10000006 */ b .L8007B0B8
|
||||
/* 07BCA0 8007B0A0 00401825 */ move $v1, $v0
|
||||
.L8007B0A4:
|
||||
|
@ -928,10 +928,10 @@ glabel L8009F264
|
||||
/* 09FEA8 8009F2A8 000F3080 */ sll $a2, $t7, 2
|
||||
.L8009F2AC:
|
||||
/* 09FEAC 8009F2AC 8FA60080 */ lw $a2, 0x80($sp)
|
||||
/* 09FEB0 8009F2B0 3C188016 */ lui $t8, %hi(D_801640F4) # 0x8016
|
||||
/* 09FEB0 8009F2B0 3C188016 */ lui $t8, %hi(gGPCurrentRaceRankByPlayerId - 0x2C4) # 0x8016
|
||||
/* 09FEB4 8009F2B4 0006C880 */ sll $t9, $a2, 2
|
||||
/* 09FEB8 8009F2B8 0319C021 */ addu $t8, $t8, $t9
|
||||
/* 09FEBC 8009F2BC 8F1840F4 */ lw $t8, %lo(D_801640F4)($t8) # 0x40f4($t8)
|
||||
/* 09FEBC 8009F2BC 8F1840F4 */ lw $t8, %lo(gGPCurrentRaceRankByPlayerId - 0x2C4)($t8) # 0x40f4($t8)
|
||||
/* 09FEC0 8009F2C0 03203025 */ move $a2, $t9
|
||||
/* 09FEC4 8009F2C4 1300000B */ beqz $t8, .L8009F2F4
|
||||
/* 09FEC8 8009F2C8 00000000 */ nop
|
||||
|
@ -7,13 +7,7 @@
|
||||
|
||||
extern s8 gCharacterIdByGPOverallRank[8]; // D_8018D9D0
|
||||
|
||||
extern s16 gGPCurrentRacePlayerIdByRank[8]; // D_80164360
|
||||
|
||||
extern f32 gLapCompletionPercentByPlayerId[8]; // D_801644A8
|
||||
extern s32 gLapCountByPlayerId[8]; // D_80164390
|
||||
|
||||
extern s32 gPlayerIsThrottleActive[]; // D_801653E0
|
||||
extern s32 gGPCurrentRaceRankByPlayerId[]; // D_801643B8
|
||||
|
||||
extern hud_player playerHUD[];
|
||||
|
||||
|
@ -10,7 +10,9 @@
|
||||
#define NUM_TRAINS 2
|
||||
#define LOCOMOTIVE_ONLY 0
|
||||
|
||||
#define NUM_PADDLE_WHEEL_BOATS 1
|
||||
// It seems like there's room for 2 Ferries, but only 1 is ever active
|
||||
#define NUM_ACTIVE_PADDLE_WHEEL_BOATS 1
|
||||
#define NUM_PADDLE_WHEEL_BOATS 2
|
||||
|
||||
#define NUM_RACE_BOX_TRUCKS 7
|
||||
#define NUM_RACE_SCHOOL_BUSES 7
|
||||
|
2
mk64.ld
2
mk64.ld
@ -307,8 +307,6 @@ SECTIONS
|
||||
BUILD_DIR/src/code_80004740.o(.bss);
|
||||
BUILD_DIR/src/staff_ghosts.o(.bss);
|
||||
BUILD_DIR/src/code_80005FD0.jp.o(.bss);
|
||||
BUILD_DIR/asm/bss_80005FD0.o(.bss);
|
||||
BUILD_DIR/asm/bss_MainSeg.o(.bss);
|
||||
BUILD_DIR/src/camera.o(.bss);
|
||||
BUILD_DIR/src/render_player.o(.bss);
|
||||
BUILD_DIR/asm/bss_80164AB0.o(.bss);
|
||||
|
@ -35,10 +35,183 @@ s32 unk_code_80005FD0_pad[24];
|
||||
Collision D_80162E70;
|
||||
s16 D_80162EB0; // Possibly a float.
|
||||
s16 D_80162EB2; // possibly [3]
|
||||
s16 code_80005FD0_pad[2];
|
||||
|
||||
uintptr_t *D_80162EB8[20];
|
||||
|
||||
// more padding?
|
||||
s32 D_80162F08[2];
|
||||
|
||||
s16 D_80162F10[30];
|
||||
s16 D_80162F50[30];
|
||||
|
||||
// padding, seemingly?
|
||||
s32 D_80162F90[4];
|
||||
|
||||
Vec3f D_80162FA0;
|
||||
Vec3f D_80162FB0;
|
||||
Vec3f D_80162FC0;
|
||||
s16 D_80162FCC;
|
||||
s16 D_80162FCE;
|
||||
s16 D_80162FD0;
|
||||
f32 gCourseCompletionPercentByRank[8];
|
||||
/*
|
||||
The size of many of these arrays is weird. Based on their usage, they would only need
|
||||
to be 8 entries long (enough for each player). But some are 10 or even 12 long.
|
||||
Its plausible that this is just some decompilation artifact?
|
||||
Or maybe at some point in development they had plans for more players?
|
||||
*/
|
||||
s16 D_80162FF8[12];
|
||||
s16 D_80163010[12];
|
||||
f32 D_80163028[10];
|
||||
s16 D_80163050[12];
|
||||
f32 D_80163068[10];
|
||||
f32 D_80163090[10];
|
||||
s32 D_801630B8[10];
|
||||
s16 D_801630E0;
|
||||
s16 D_801630E2;
|
||||
s16 D_801630E8[10];
|
||||
s16 D_801630FC;
|
||||
s32 D_80163100[10];
|
||||
s32 D_80163128[10];
|
||||
s32 D_80163150[10];
|
||||
f32 D_80163178[10];
|
||||
f32 D_801631A0[10];
|
||||
s16 D_801631C8;
|
||||
s32 D_801631CC;
|
||||
TrackWaypoint *D_801631D0;
|
||||
TrackWaypoint *D_801631D4;
|
||||
s16 *D_801631D8;
|
||||
u16 *D_801631DC;
|
||||
u16 D_801631E0[12];
|
||||
s16 D_801631F8[10];
|
||||
f32 D_8016320C;
|
||||
f32 D_80163210[10];
|
||||
s32 D_80163238;
|
||||
s16 D_80163240[12];
|
||||
u16 D_80163258[12];
|
||||
u16 D_80163270[12];
|
||||
s32 D_80163288[10];
|
||||
// Exact pointer type unknown
|
||||
// Maybe PathNoY or TrackWaypoint?
|
||||
void *D_801632B0;
|
||||
s16 D_801632B8[12];
|
||||
s16 D_801632D0[12];
|
||||
u16 D_801632E8[12];
|
||||
s16 D_80163300[12];
|
||||
u16 D_80163318[12];
|
||||
u16 D_80163330[10];
|
||||
u16 D_80163344[2];
|
||||
u16 D_80163348[2];
|
||||
u16 D_8016334C[2];
|
||||
s16 D_80163350[12];
|
||||
s32 D_80163368[4];
|
||||
s32 D_80163378;
|
||||
s32 D_8016337C;
|
||||
s16 D_80163380[12];
|
||||
s16 D_80163398[12];
|
||||
s16 D_801633B0[12];
|
||||
s16 D_801633C8[12];
|
||||
s16 D_801633E0[12];
|
||||
s16 D_801633F8[12];
|
||||
s16 D_80163410[4];
|
||||
f32 D_80163418[4];
|
||||
f32 D_80163428[4];
|
||||
f32 D_80163438[4];
|
||||
s32 D_80163448;
|
||||
f32 D_8016344C;
|
||||
f32 D_80163450[10];
|
||||
s16 D_80163478;
|
||||
s16 D_8016347A;
|
||||
s16 D_8016347C;
|
||||
s16 D_8016347E;
|
||||
s32 D_80163480;
|
||||
s32 D_80163484;
|
||||
s32 D_80163488;
|
||||
s16 D_8016348C;
|
||||
s16 D_80163490[12];
|
||||
s16 D_801634A8[12];
|
||||
s16 D_801634C0[12];
|
||||
s16 D_801634D8[10];
|
||||
s16 D_801634EC;
|
||||
s32 D_801634F0;
|
||||
s32 D_801634F4;
|
||||
Test D_801634F8[10];
|
||||
PathNoY *D_80163598;
|
||||
s32 D_8016359C;
|
||||
TrainStuff sTrains[NUM_TRAINS];
|
||||
u16 isCrossingTriggeredByIndex[2];
|
||||
u16 D_801637BC[2];
|
||||
PaddleWheelBoatStuff gFerries[NUM_PADDLE_WHEEL_BOATS];
|
||||
VehicleStuff gBoxTruckList[NUM_RACE_BOX_TRUCKS];
|
||||
VehicleStuff gSchoolBusList[NUM_RACE_SCHOOL_BUSES];
|
||||
VehicleStuff gTankerTruckList[NUM_RACE_TANKER_TRUCKS];
|
||||
VehicleStuff gCarList[NUM_RACE_CARS];
|
||||
s32 D_80163DD8[4];
|
||||
BombKart gBombKarts[NUM_BOMB_KARTS_MAX];
|
||||
Collision D_80164038[NUM_BOMB_KARTS_MAX];
|
||||
struct unexpiredActors gUnexpiredActorsList[8];
|
||||
D_801642D8_entry D_801642D8[8];
|
||||
s16 D_80164358;
|
||||
s16 D_8016435A;
|
||||
s16 D_8016435C;
|
||||
s16 gGPCurrentRacePlayerIdByRank[12]; // D_80164360
|
||||
s16 D_80164378[12];
|
||||
s32 gLapCountByPlayerId[10]; // D_80164390
|
||||
s32 gGPCurrentRaceRankByPlayerId[10]; // D_801643B8
|
||||
s32 D_801643E0[10];
|
||||
s32 D_80164408[10];
|
||||
u16 D_80164430;
|
||||
u16 gNearestWaypointByPlayerId[12];
|
||||
s32 D_80164450[10];
|
||||
s16 D_80164478[10];
|
||||
s32 D_8016448C;
|
||||
TrackWaypoint *D_80164490;
|
||||
f32 D_80164498[4];
|
||||
f32 gLapCompletionPercentByPlayerId[10]; // D_801644A8
|
||||
f32 gCourseCompletionPercentByPlayerId[10]; // D_801644D0
|
||||
s16 D_801644F8[12];
|
||||
f32 D_80164510[10];
|
||||
s16 D_80164538[12];
|
||||
TrackWaypoint *D_80164550[4];
|
||||
TrackWaypoint *D_80164560[4];
|
||||
TrackWaypoint *D_80164570[4];
|
||||
s16 *D_80164580[4];
|
||||
s16 *D_80164590[4];
|
||||
s16 *D_801645A0[4];
|
||||
u16 gPathIndexByPlayerId[12]; // D_801645B0
|
||||
u16 gWaypointCountByPathIndex[4]; // D_801645C8
|
||||
s32 D_801645D0[4];
|
||||
s16 *D_801645E0;
|
||||
s32 D_801645E8[4];
|
||||
f32 D_801645F8[4];
|
||||
s32 D_80164608[4];
|
||||
f32 D_80164618[4];
|
||||
s32 D_80164628[4];
|
||||
f32 D_80164638[4];
|
||||
f32 D_80164648[4];
|
||||
f32 D_80164658[4];
|
||||
s16 gNearestWaypointByCameraId[4];
|
||||
s16 D_80164670[4];
|
||||
s16 D_80164678[4];
|
||||
s16 D_80164680[4];
|
||||
f32 D_80164688[4];
|
||||
f32 D_80164698;
|
||||
f32 D_8016469C;
|
||||
f32 D_801646A0;
|
||||
// start padding
|
||||
s32 D_801646A4;
|
||||
s32 D_801646A8;
|
||||
s32 D_801646AC;
|
||||
s32 D_801646B0;
|
||||
s32 D_801646B4;
|
||||
s32 D_801646B8;
|
||||
s32 D_801646BC;
|
||||
// end padding
|
||||
s16 D_801646C0[4];
|
||||
u32 D_801646C8;
|
||||
s16 D_801646CC;
|
||||
UnkStruct_46D0 D_801646D0[4];
|
||||
|
||||
// Strings, presented by google translate!
|
||||
// Note that these are EUC-JP encoded, see:
|
||||
// https://en.wikipedia.org/wiki/Extended_Unix_Code#EUC-JP
|
||||
@ -376,47 +549,6 @@ char *D_800ECF3C = "4位の人終了\n";
|
||||
char *D_800ECF4C = "OGA 表彰 move 終了\n";
|
||||
char *D_800ECF60 = "OGAWA DEBUG DRAW\n";
|
||||
|
||||
/* end of bss_Main.s imported. Commented out cause need everything prior too.
|
||||
s16 *D_801645E0;
|
||||
s16 D_801645E4_pad[3];
|
||||
|
||||
f32 D_801645E8[4];
|
||||
|
||||
f32 D_801645F8[4];
|
||||
|
||||
s32 D_80164608[4];
|
||||
|
||||
f32 D_80164618[4];
|
||||
|
||||
f32 D_80164628[4];
|
||||
|
||||
f32 D_80164638[4];
|
||||
|
||||
f32 D_80164648[4];
|
||||
f32 D_80164658[4];
|
||||
|
||||
s16 gNearestWaypointByCameraId[4];
|
||||
|
||||
s16 D_80164670[4];
|
||||
s16 D_80164678[4];
|
||||
s16 D_80164680[4];
|
||||
f32 D_80164688[4];
|
||||
f32 D_80164698;
|
||||
f32 D_8016469C;
|
||||
f32 D_801646A0;
|
||||
|
||||
s32 D_801646A4_pad[7];
|
||||
|
||||
s16 D_801646C0[2];
|
||||
|
||||
s32 D_801646C8;
|
||||
|
||||
s16 D_801646CC;
|
||||
//.skip 4
|
||||
|
||||
UnkStruct_46D0 D_801646D0[4];
|
||||
*/
|
||||
|
||||
s16 func_80005FD0(Vec3f arg0, Vec3f arg1) {
|
||||
s16 temp_ret;
|
||||
s16 phi_v1;
|
||||
@ -1173,11 +1305,11 @@ s32 func_800088D8(s32 arg0, s16 arg1, s16 arg2) {
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
temp_v0 = D_80164450[arg0].unk2;
|
||||
var_a1_3 = temp_v0 - D_80164450[D_80163478].unk2;
|
||||
temp_t5_2 = *(&D_801643BA + (D_80163478 * 4));
|
||||
temp_v0 = D_80164450[arg0 + 1];
|
||||
var_a1_3 = temp_v0 - D_80164450[D_80163478 + 1];
|
||||
temp_t5_2 = gGPCurrentRaceRankByPlayerId[D_80163478];
|
||||
if ((((s32) (*gWaypointCountByPathIndex * 2) / 3) < var_a1_3) && (temp_t5_2 >= 6)) {
|
||||
var_a1_3 = temp_v0 - D_80164450[*(&D_80164376 + (temp_t5_2 * 2))].unk2;
|
||||
var_a1_3 = temp_v0 - D_80164450[gLapCountByPlayerId[temp_t5_2 - 6]].unk2;
|
||||
}
|
||||
if (var_a1_3 < 0) {
|
||||
var_a1_3 = -var_a1_3;
|
||||
@ -3627,7 +3759,7 @@ void func_8000F2DC(void) {
|
||||
D_80163368[3] = (s32) ptr->unk6;
|
||||
|
||||
temp = ptr->unk8;
|
||||
D_80163598 = (uintptr_t *) get_next_available_memory_addr(temp * 4);
|
||||
D_80163598 = get_next_available_memory_addr(temp * 4);
|
||||
|
||||
// Podium ceremony appears to allocate 1 * 8 bytes of data. Which would be aligned to 0x10.
|
||||
for (i = 0; i < 4; i++) {
|
||||
@ -3643,7 +3775,7 @@ void func_8000F2DC(void) {
|
||||
D_801631D0 = D_80164560[0];
|
||||
D_801631D4 = D_80164570[0];
|
||||
D_801631D8 = D_80164580[0];
|
||||
D_801631DC = *D_80164590;
|
||||
D_801631DC = D_80164590[0];
|
||||
D_801645E0 = D_801645A0[0];
|
||||
|
||||
// zero allocated memory?
|
||||
@ -4458,7 +4590,7 @@ GLOBAL_ASM("asm/non_matchings/code_80005FD0/func_80011B14.s")
|
||||
//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909
|
||||
//extern ? D_80162EB8;
|
||||
extern s16 D_801630E8[];
|
||||
extern s32 *D_801632B0;
|
||||
extern void *D_801632B0;
|
||||
|
||||
void func_80011D48(s32 playerIndex, Player *player) {
|
||||
//s32 temp_a2;
|
||||
@ -4474,8 +4606,8 @@ void func_80011D48(s32 playerIndex, Player *player) {
|
||||
D_801632B0 = D_801632D0[playerIndex] + D_80162EB8[gCurrentCourseId];
|
||||
test = gNearestWaypointByPlayerId[playerIndex];
|
||||
// temp_a2 = temp_t3;
|
||||
if (test >= (u16)*D_801632B0) {
|
||||
switch (*D_801632B0) {
|
||||
if (test >= (*(u16*)D_801632B0)) {
|
||||
switch (*(u16*)D_801632B0) {
|
||||
case 1:
|
||||
player->effects &= ~0x10;
|
||||
D_801630E8[playerIndex] = 0;
|
||||
@ -4555,7 +4687,7 @@ void func_80011EC0(s32 arg0, Player *player, s32 arg2, s32 arg3) {
|
||||
|
||||
void func_800120C8(void) {
|
||||
s32 i;
|
||||
s16 *temp;
|
||||
PathNoY *temp;
|
||||
TrackWaypoint *waypoint = (TrackWaypoint *) VIRTUAL_TO_PHYSICAL2(
|
||||
gSegmentTable[SEGMENT_NUMBER2(d_course_kalimari_desert_track_unknown_waypoints)]
|
||||
+ SEGMENT_OFFSET(d_course_kalimari_desert_track_unknown_waypoints));
|
||||
@ -4566,9 +4698,9 @@ void func_800120C8(void) {
|
||||
}
|
||||
}
|
||||
|
||||
temp = (s16 *)D_80163598;
|
||||
temp = D_80163598;
|
||||
D_8016359C = func_8001168C(temp, waypoint, i - 1);
|
||||
D_80162EB0 = func_802AE1C0(temp[0], 2000.0f, temp[1]);
|
||||
D_80162EB0 = func_802AE1C0(temp[0].x, 2000.0f, temp[0].z);
|
||||
}
|
||||
|
||||
void func_80012190(void) {
|
||||
@ -4664,7 +4796,7 @@ void init_course_vehicles(void) {
|
||||
}
|
||||
break;
|
||||
case COURSE_DK_JUNGLE:
|
||||
for(loopIndex = 0; loopIndex < NUM_PADDLE_WHEEL_BOATS; loopIndex++) {
|
||||
for(loopIndex = 0; loopIndex < NUM_ACTIVE_PADDLE_WHEEL_BOATS; loopIndex++) {
|
||||
tempPaddleWheelBoat = &gFerries[loopIndex];
|
||||
if(tempPaddleWheelBoat->isActive == 1) {
|
||||
origXPos = tempPaddleWheelBoat->position[0];
|
||||
@ -4714,10 +4846,6 @@ void func_80012780(TrainCarStuff *trainCar, s16 *arg1, u16 arg2) {
|
||||
trainCar->velocity[2] = 0.0f;
|
||||
}
|
||||
|
||||
// This is really Vec2s D_80163598[465] but that does not match.
|
||||
// Likely because this is a shared pointer between courses.
|
||||
//extern uintptr_t *D_80163598;
|
||||
|
||||
/**
|
||||
* Set waypoint spawn locations for each rolling stock
|
||||
* The railroad has 465 waypoints
|
||||
@ -4725,7 +4853,7 @@ void func_80012780(TrainCarStuff *trainCar, s16 *arg1, u16 arg2) {
|
||||
void func_800127E0(void) {
|
||||
u16 waypointOffset;
|
||||
TrainCarStuff *ptr1;
|
||||
s32 *ptr2;
|
||||
PathNoY *ptr2;
|
||||
s32 i;
|
||||
s32 j;
|
||||
|
||||
@ -4739,19 +4867,19 @@ void func_800127E0(void) {
|
||||
for (j = 0; j < NUM_PASSENGER_CAR_ENTRIES; j++) {
|
||||
waypointOffset += 4;
|
||||
ptr1 = &sTrains[i].passengerCars[j];
|
||||
ptr2 = &D_80163598[waypointOffset];
|
||||
ptr2 = &D_80163598[waypointOffset];
|
||||
func_80012780(ptr1, ptr2, waypointOffset);
|
||||
}
|
||||
// Smaller offset for the tender
|
||||
waypointOffset += 3;
|
||||
ptr1 = &sTrains[i].tender;
|
||||
ptr2 = &D_80163598[waypointOffset];
|
||||
ptr2 = &D_80163598[waypointOffset];
|
||||
func_80012780(ptr1, ptr2, waypointOffset);
|
||||
|
||||
waypointOffset += 4;
|
||||
ptr1 = &sTrains[i].locomotive;
|
||||
ptr2 = &D_80163598[waypointOffset];
|
||||
func_80012780(&sTrains[i].locomotive, ptr2, waypointOffset);
|
||||
func_80012780(ptr1, ptr2, waypointOffset);
|
||||
|
||||
// Only use locomotive unless overwritten below.
|
||||
sTrains[i].numCars = LOCOMOTIVE_ONLY;
|
||||
@ -4967,7 +5095,7 @@ void func_800131DC(s32 playerId) {
|
||||
|| (func_800061DC(gPlayers[playerId].pos, 1000.0f, 0))) {
|
||||
|
||||
if ((isCrossingTriggeredByIndex[1] == 1)
|
||||
&& ((D_801637BE) > 240)) {
|
||||
&& ((D_801637BC[1]) > 240)) {
|
||||
|
||||
if ((D_80162FCE > 176) && (D_80162FCE < 182)) {
|
||||
D_801634D8[playerId] = 1;
|
||||
@ -4985,18 +5113,15 @@ void func_800131DC(s32 playerId) {
|
||||
void func_800132F4(void) {
|
||||
PaddleWheelBoatStuff *var_a1;
|
||||
s32 i;
|
||||
TrackWaypoint *temp_a2;
|
||||
PathNoY *temp_a2;
|
||||
u16 temp;
|
||||
for (i = 0; i < NUM_PADDLE_WHEEL_BOATS; i++) {
|
||||
for (i = 0; i < NUM_ACTIVE_PADDLE_WHEEL_BOATS; i++) {
|
||||
temp = i * 0xB4;
|
||||
var_a1 = &gFerries[i];
|
||||
temp_a2 = &D_80163598[temp];
|
||||
var_a1->position[0] = (f32) temp_a2->posX;
|
||||
var_a1->position[1] = (f32) D_80162EB2;
|
||||
// Shouldn't this be posZ? Something doesn't seem right here.
|
||||
// Unless temp_a2 has been converted to X,Z with no Y. In-that case our
|
||||
// struct is wrong or the member name is wrong.
|
||||
var_a1->position[2] = (f32) temp_a2->posY;
|
||||
var_a1->position[0] = temp_a2->x;
|
||||
var_a1->position[1] = D_80162EB2;
|
||||
var_a1->position[2] = temp_a2->z;
|
||||
var_a1->waypointIndex = i * 0xB4;
|
||||
var_a1->actorIndex = -1;
|
||||
|
||||
@ -5008,8 +5133,6 @@ void func_800132F4(void) {
|
||||
var_a1->velocity[0] = 0.0f;
|
||||
var_a1->velocity[1] = 0.0f;
|
||||
var_a1->velocity[2] = 0.0f;
|
||||
// fakematch
|
||||
temp_a2 = &D_80163598[temp];
|
||||
var_a1->someMultiplier = 1.6666666f;
|
||||
var_a1->rotY = 0;
|
||||
}
|
||||
@ -5018,7 +5141,7 @@ void func_800132F4(void) {
|
||||
|
||||
void func_800133C4(void) {
|
||||
PaddleWheelBoatStuff *ferry;
|
||||
TrackWaypoint *waypoint;
|
||||
PathNoY *waypoint;
|
||||
s32 i;
|
||||
struct Actor *ferryActor;
|
||||
f32 temp_f26;
|
||||
@ -5033,7 +5156,7 @@ void func_800133C4(void) {
|
||||
Vec3f sp78;
|
||||
s32 pad2;
|
||||
D_801630FC += 1;
|
||||
for (i = 0; i < NUM_PADDLE_WHEEL_BOATS; i++) {
|
||||
for (i = 0; i < NUM_ACTIVE_PADDLE_WHEEL_BOATS; i++) {
|
||||
ferry = &gFerries[i];
|
||||
if (ferry->isActive == 1) {
|
||||
temp_f26 = ferry->position[0];
|
||||
@ -5063,10 +5186,10 @@ void func_800133C4(void) {
|
||||
sp94[0] = temp_f26;
|
||||
sp94[1] = temp_f28;
|
||||
sp94[2] = temp_f30;
|
||||
waypoint = (TrackWaypoint *) &D_80163598[(ferry->waypointIndex + 5) % D_8016359C];
|
||||
sp88[0] = (f32) waypoint->posX;
|
||||
waypoint = &D_80163598[(ferry->waypointIndex + 5) % D_8016359C];
|
||||
sp88[0] = (f32) waypoint->x;
|
||||
sp88[1] = (f32) D_80162EB0;
|
||||
sp88[2] = (f32) waypoint->posY;
|
||||
sp88[2] = (f32) waypoint->z;
|
||||
temp_a1 = func_80005FD0(sp94, sp88);
|
||||
temp = temp_a1 - ferry->rotY;
|
||||
var_v1 = temp;
|
||||
@ -5130,7 +5253,7 @@ void func_80013854(Player *player) {
|
||||
playerX = player->pos[0];
|
||||
playerY = player->pos[1];
|
||||
playerZ = player->pos[2];
|
||||
for (someIndex = 0; someIndex < NUM_PADDLE_WHEEL_BOATS; someIndex++) {
|
||||
for (someIndex = 0; someIndex < NUM_ACTIVE_PADDLE_WHEEL_BOATS; someIndex++) {
|
||||
tempPaddleWheelBoat = &gFerries[someIndex];
|
||||
if (tempPaddleWheelBoat->isActive == 1) {
|
||||
x_diff = playerX - tempPaddleWheelBoat->position[0];
|
||||
@ -7620,8 +7743,6 @@ void func_8001A518(s32 arg0, s32 arg1, s32 arg2) {
|
||||
}
|
||||
}
|
||||
|
||||
extern u32 D_801646C8;
|
||||
|
||||
void func_8001A588(u16 *localD_80152300, Camera *camera, Player *player, s8 index, s32 cameraIndex) {
|
||||
s32 var_v1;
|
||||
UnkStruct_46D0 *temp_v0_4;
|
||||
|
@ -15,25 +15,23 @@ struct struct_801642D8 {
|
||||
};
|
||||
|
||||
struct unexpiredActors {
|
||||
s32 unk0;
|
||||
s32 unk4;
|
||||
s32 unk8;
|
||||
u16 unkC;
|
||||
u16 actorIndex;
|
||||
s16 unk10;
|
||||
// s16 compilerPadding;
|
||||
u32 unk14;
|
||||
s32 unk18;
|
||||
};
|
||||
/* 0x00 */ s32 unk0;
|
||||
/* 0x04 */ s32 unk4;
|
||||
/* 0x08 */ s32 unk8;
|
||||
/* 0x0C */ u16 unkC;
|
||||
/* 0x0E */ u16 actorIndex;
|
||||
/* 0x10 */ s16 unk10;
|
||||
/* 0x12 */ // s16 compilerPadding;
|
||||
/* 0x14 */ u32 unk14;
|
||||
/* 0x18 */ s32 unk18;
|
||||
}; // size = 0x1C
|
||||
|
||||
typedef struct {
|
||||
f32 unk0;
|
||||
f32 unk4;
|
||||
f32 unk8;
|
||||
f32 unkC;
|
||||
} Test;
|
||||
|
||||
extern Test D_801634F8[];
|
||||
/* 0x00 */ f32 unk0;
|
||||
/* 0x04 */ f32 unk4;
|
||||
/* 0x08 */ f32 unk8;
|
||||
/* 0x0C */ f32 unkC;
|
||||
} Test; // size = 0x10
|
||||
|
||||
// Something related to CPU item usage
|
||||
typedef struct {
|
||||
@ -47,8 +45,6 @@ typedef struct {
|
||||
/* 0x0E */ s16 unk_0E;
|
||||
} D_801642D8_entry; // size = 0x10
|
||||
|
||||
extern D_801642D8_entry D_801642D8[];
|
||||
|
||||
typedef struct {
|
||||
s16 unk0;
|
||||
s16 unk2;
|
||||
@ -243,8 +239,6 @@ void func_8001C3C4(s32);
|
||||
void func_8001C42C(void);
|
||||
|
||||
/* This is where I'd put my static data, if I had any */
|
||||
// 0 or 1, only 1 when when in extra (mirror) mode
|
||||
extern s16 D_8016347A;
|
||||
|
||||
// Suspected to be the "width" of each waypoint. See data_0DD0A0_1.s
|
||||
extern f32 D_800DCA4C[];
|
||||
@ -257,118 +251,158 @@ struct _struct_D_800DD9D0_0x10 {
|
||||
/* 0x08 */ u16 unk8;
|
||||
/* 0x0A */ char padA[6];
|
||||
}; // size 0x10
|
||||
extern uintptr_t *D_80163598;
|
||||
|
||||
extern uintptr_t gCoursePathTable[20][4];
|
||||
extern uintptr_t D_800DC8D0[20][4];
|
||||
// An array of 21 items. The final element is for podium ceremony.
|
||||
extern struct _struct_D_800DD9D0_0x10 D_800DD9D0[];
|
||||
|
||||
|
||||
extern Collision D_80162E70;
|
||||
extern s16 D_80162EB0; // Possibly a float.
|
||||
extern s16 D_80162EB2; // possibly [3]
|
||||
extern uintptr_t *D_80162EB8[];
|
||||
extern s16 D_80162F10[];
|
||||
extern s16 D_80162F50[];
|
||||
extern Vec3f D_80162FA0;
|
||||
extern Vec3f D_80162FB0;
|
||||
extern Vec3f D_80162FC0;
|
||||
extern s16 D_80162FCC;
|
||||
extern s16 D_80162FCE;
|
||||
extern s16 D_80162FD0;
|
||||
extern f32 gCourseCompletionPercentByRank[]; // D_80162FD8
|
||||
extern s16 D_80162FF8[];
|
||||
extern s16 D_80163010[];
|
||||
extern f32 D_80163028[];
|
||||
extern s16 D_80163050[];
|
||||
extern f32 D_80163068[];
|
||||
extern f32 D_80163090[];
|
||||
extern s32 D_801630B8[];
|
||||
extern s16 D_801630E0;
|
||||
extern s16 D_801630E2;
|
||||
extern s16 D_801630E8[];
|
||||
extern s16 D_801630FC;
|
||||
extern s32 D_80163100[];
|
||||
extern s32 D_80163128[];
|
||||
extern s32 D_80163150[];
|
||||
extern f32 D_80163178[];
|
||||
extern f32 D_801631A0[];
|
||||
extern s16 D_801631C8;
|
||||
extern s32 D_801631CC;
|
||||
extern TrackWaypoint *D_801631D0;
|
||||
extern TrackWaypoint *D_801631D4;
|
||||
extern s16 *D_801631D8;
|
||||
extern u16 *D_801631DC;
|
||||
extern u16 D_801631E0[];
|
||||
extern s16 D_801631F8[];
|
||||
extern f32 D_8016320C;
|
||||
extern f32 D_80163210[];
|
||||
extern s32 D_80163238;
|
||||
extern s16 D_80163240[];
|
||||
extern u16 D_80163258[];
|
||||
extern u16 D_80163270[];
|
||||
extern f32 D_80163210[];
|
||||
extern s32 D_80163288[];
|
||||
extern u16 D_80163330[]; // static?
|
||||
// Exact pointer type unknown
|
||||
extern void *D_801632B0;
|
||||
extern s16 D_801632B8[];
|
||||
extern s16 D_801632D0[];
|
||||
extern u16 D_801632E8[];
|
||||
extern s16 D_80163300[];
|
||||
extern u16 D_80163318[];
|
||||
extern u16 D_80163330[];
|
||||
extern u16 D_80163344[];
|
||||
extern u16 D_80163348[];
|
||||
extern u16 D_8016334C[];
|
||||
extern s16 D_80163350[];
|
||||
extern s32 D_80163368[];
|
||||
extern s32 D_80163378;
|
||||
extern s32 D_8016337C;
|
||||
extern s16 D_80163380[];
|
||||
extern s16 D_80163398[];
|
||||
extern s16 D_801633B0[];
|
||||
extern s16 D_801633C8[];
|
||||
extern s16 D_801633E0[];
|
||||
extern s16 D_801633F8[];
|
||||
extern s16 D_80163410[];
|
||||
extern f32 D_80163418[];
|
||||
extern f32 D_80163428[];
|
||||
extern f32 D_80163438[];
|
||||
extern s32 D_80163448;
|
||||
extern f32 D_8016344C;
|
||||
extern f32 D_80163450[];
|
||||
extern s16 D_80163478;
|
||||
// 0 or 1, only 1 when when in extra (mirror) mode
|
||||
extern s16 D_8016347A;
|
||||
extern s16 D_8016347C;
|
||||
extern s16 D_8016347E;
|
||||
extern s32 D_80163480;
|
||||
extern s32 D_80163484;
|
||||
extern s32 D_80163488;
|
||||
extern s16 D_8016348C;
|
||||
extern s16 D_80163490[];
|
||||
extern s16 D_801634A8[];
|
||||
extern s16 D_801634C0[];
|
||||
extern s16 D_801634D8[];
|
||||
extern s16 D_801634EC;
|
||||
extern s32 D_801634F0;
|
||||
extern s32 D_801634F4;
|
||||
extern Test D_801634F8[];
|
||||
extern PathNoY *D_80163598;
|
||||
extern s32 D_8016359C;
|
||||
extern u16 isCrossingTriggeredByIndex[];
|
||||
extern u16 D_801637BC[];
|
||||
extern s32 D_80163DD8[];
|
||||
extern struct unexpiredActors gUnexpiredActorsList[];
|
||||
extern D_801642D8_entry D_801642D8[];
|
||||
extern s16 D_80164358;
|
||||
extern s16 D_8016435A;
|
||||
extern s16 D_8016435C;
|
||||
extern s16 gGPCurrentRacePlayerIdByRank[]; // D_80164360
|
||||
extern s16 D_80164378[];
|
||||
extern s32 gLapCountByPlayerId[]; // D_80164390
|
||||
extern s32 gGPCurrentRaceRankByPlayerId[]; // D_801643B8
|
||||
extern s32 D_801643E0[];
|
||||
extern s32 D_80164408[];
|
||||
extern u16 D_80164430;
|
||||
extern u16 gNearestWaypointByPlayerId[];
|
||||
extern s32 D_80164450[];
|
||||
extern s16 D_80164478[];
|
||||
extern s32 D_8016448C;
|
||||
extern f32 D_80164498[];
|
||||
extern f32 gLapCompletionPercentByPlayerId[]; // D_801644A8
|
||||
extern f32 gCourseCompletionPercentByPlayerId[]; // D_801644D0
|
||||
extern s16 D_801644F8[];
|
||||
extern f32 D_80164510[];
|
||||
extern s16 D_80164538[];
|
||||
extern s32 D_801645D0[];
|
||||
extern s32 D_801645E8[];
|
||||
extern s32 D_80164608[];
|
||||
extern s32 D_80164628[];
|
||||
extern f32 D_80164698;
|
||||
extern f32 D_8016469C;
|
||||
extern f32 D_801646A0;
|
||||
extern f32 D_800DCAA0[];
|
||||
|
||||
|
||||
// See bss_80005FD0.s
|
||||
extern Collision D_80162E70;
|
||||
extern s16 D_80162EB0;
|
||||
extern s16 D_80162FCC;
|
||||
extern f32 D_80162FA0[];
|
||||
extern f32 gCourseCompletionPercentByRank[8]; // D_80162FD8
|
||||
extern u16 D_80163348[];
|
||||
extern s16 D_80164378[];
|
||||
extern s32 D_801643E0[];
|
||||
extern struct unexpiredActors gUnexpiredActorsList[];
|
||||
extern s32 D_801643E0[];
|
||||
extern s32 D_80164408[];
|
||||
extern s32 D_8016448C;
|
||||
extern f32 D_80164498[];
|
||||
extern f32 gCourseCompletionPercentByPlayerId[8]; // D_801644D0
|
||||
extern f32 D_801645F8[];
|
||||
extern s32 D_80164608[];
|
||||
extern f32 D_80164618[];
|
||||
extern s32 D_80164628[];
|
||||
extern f32 D_80164638[];
|
||||
extern f32 D_80164648[];
|
||||
extern f32 D_80164658[];
|
||||
extern s16 D_80164670[];
|
||||
extern s16 D_80164672;
|
||||
extern s16 D_80164674;
|
||||
extern s16 D_80164676;
|
||||
extern s16 D_80164678[]; // Size 4? Is the three below this fake?
|
||||
extern s16 D_80164678[];
|
||||
extern s16 D_80164680[];
|
||||
extern f32 D_80164688[];
|
||||
extern f32 D_80164698;
|
||||
extern f32 D_8016469C;
|
||||
extern f32 D_801646A0;
|
||||
extern s16 D_801646C0[];
|
||||
extern u32 D_801646C8;
|
||||
extern s16 D_801646CC;
|
||||
extern UnkStruct_46D0 D_801646D0[];
|
||||
extern s16 D_801630FC;
|
||||
extern s16 D_801631C8;
|
||||
extern u16 D_801631E0[8];
|
||||
extern s32 D_80163238;
|
||||
extern s16 D_801632B8[];
|
||||
extern s16 D_801632D0[];
|
||||
extern u16 D_801632E8[];
|
||||
extern s32 D_8016337C;
|
||||
extern s16 D_80163410[]; // One per player?
|
||||
extern f32 D_80163418[];
|
||||
extern f32 D_80163428[];
|
||||
extern f32 D_80163438[];
|
||||
extern s16 D_80163478;
|
||||
extern s32 D_80163488;
|
||||
extern s16 D_8016348C;
|
||||
extern s16 D_801634D8[8];
|
||||
extern s32 D_8016359C;
|
||||
extern u16 D_801637BC[2];
|
||||
|
||||
extern f32 D_800DCAA0[];
|
||||
|
||||
|
||||
// See bss_80005FD0.s
|
||||
extern f32 gCourseCompletionPercentByRank[8];
|
||||
extern s32 D_801643E0[];
|
||||
extern s32 D_8016448C;
|
||||
extern u16 D_801637BE;
|
||||
extern s32 D_80163DD8[];
|
||||
extern u16 D_80163E2A;
|
||||
|
||||
extern Gfx D_0D0076F8[];
|
||||
|
@ -2484,13 +2484,13 @@ void func_8005D0FC(s32 arg0) {
|
||||
func_8005CB60(arg0, gLapCountByPlayerId[0]);
|
||||
break;
|
||||
case 1:
|
||||
func_8005CB60(arg0, D_80164394);
|
||||
func_8005CB60(arg0, gLapCountByPlayerId[1]);
|
||||
break;
|
||||
case 2:
|
||||
func_8005CB60(arg0, D_80164398);
|
||||
func_8005CB60(arg0, gLapCountByPlayerId[2]);
|
||||
break;
|
||||
case 3:
|
||||
func_8005CB60(arg0, D_8016439C);
|
||||
func_8005CB60(arg0, gLapCountByPlayerId[3]);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -313,9 +313,6 @@ extern u8 *D_8018D4C8;
|
||||
extern u16 gPlayerBalloonStatus[8][3]; // D_8018D5F0
|
||||
extern s16 gPlayerBalloonCount[]; // D_8018D8C0
|
||||
|
||||
extern s32 D_80164394;
|
||||
extern s32 D_80164398;
|
||||
extern s32 D_8016439C;
|
||||
extern f32 D_801652A0[];
|
||||
extern s32 D_801655C0;
|
||||
extern s32 D_801655F0;
|
||||
|
@ -4,6 +4,7 @@
|
||||
#include <defines.h>
|
||||
|
||||
#include "code_800029B0.h"
|
||||
#include "code_80005FD0.h"
|
||||
#include "code_80057C60.h"
|
||||
#include "code_8006E9C0.h"
|
||||
#include "code_80086E70.h"
|
||||
|
@ -1753,8 +1753,6 @@ void func_80075B84(s32 objectIndex) {
|
||||
func_8008BF18(objectIndex);
|
||||
}
|
||||
|
||||
extern s32 D_801637E8;
|
||||
extern s32 D_80163814;
|
||||
extern s16 D_8016578C;
|
||||
extern s16 D_80165790;
|
||||
|
||||
@ -1770,7 +1768,7 @@ void func_80075CA8(void) {
|
||||
if (D_80165790 != 0) {
|
||||
D_80165790 -= 1;
|
||||
}
|
||||
if ((D_801637E8 != 0) || (D_8016578C != 0)) {
|
||||
if ((gFerries[0].someFlags != 0) || (D_8016578C != 0)) {
|
||||
count = 0;
|
||||
for (i = 0; i < 128; i++) {
|
||||
temp_a0 = D_8018C3F0[i];
|
||||
@ -1789,7 +1787,7 @@ void func_80075CA8(void) {
|
||||
D_8016578C = 100;
|
||||
}
|
||||
}
|
||||
if ((D_80163814 != 0) || (D_80165790 != 0)) {
|
||||
if ((gFerries[1].someFlags != 0) || (D_80165790 != 0)) {
|
||||
count = 0;
|
||||
for (i = 0; i < 128; i++) {
|
||||
temp_a0 = D_8018C630[i];
|
||||
|
@ -3736,12 +3736,12 @@ void func_80054414(s32 cameraId) {
|
||||
func_8004B72C(255, 255, 255, 255, 255, 255, 255);
|
||||
D_80183E80[0] = 0;
|
||||
D_80183E80[2] = 0x8000;
|
||||
if ((D_801637E8 != 0) && (func_80041980(&D_801637C4, camera, 0x4000U) != 0)) {
|
||||
if ((gFerries[0].someFlags != 0) && (func_80041980(gFerries[0].position, camera, 0x4000U) != 0)) {
|
||||
for (i = 0; i < D_8018C3F0_SIZE; i++) {
|
||||
func_80054324(D_8018C3F0[i], cameraId);
|
||||
}
|
||||
}
|
||||
if ((D_80163814 != 0) && (func_80041980(&D_801637F0, camera, 0x4000U) != 0)) {
|
||||
if ((gFerries[1].someFlags != 0) && (func_80041980(gFerries[1].position, camera, 0x4000U) != 0)) {
|
||||
for (i = 0; i < D_8018C630_SIZE; i++) {
|
||||
func_80054324(D_8018C630[i], cameraId);
|
||||
}
|
||||
|
@ -68,9 +68,6 @@ extern StaffGhost *d_mario_raceway_staff_ghost;
|
||||
extern StaffGhost *d_royal_raceway_staff_ghost;
|
||||
extern StaffGhost *d_luigi_raceway_staff_ghost;
|
||||
|
||||
extern s32 D_80164394;
|
||||
extern s32 D_80164398;
|
||||
|
||||
void func_80004EF0(void) {
|
||||
D_80162DA4 = (u32 *) &D_802BFB80[0][2][3];
|
||||
osInvalDCache(&D_80162DA4[0], 0x4000);
|
||||
@ -542,10 +539,10 @@ void func_80005B18(void) {
|
||||
|
||||
void func_80005E6C(void) {
|
||||
if ((gModeSelection == TIME_TRIALS) && (gModeSelection == TIME_TRIALS) && (gActiveScreenMode == SCREEN_MODE_1P)) {
|
||||
if ((D_80162DD8 == 0) && (D_80164394 != 3)) {
|
||||
if ((D_80162DD8 == 0) && (gLapCountByPlayerId[1] != 3)) {
|
||||
func_800057DC(); //3
|
||||
}
|
||||
if ((D_80162DD6 == 0) && (D_80164398 != 3)) {
|
||||
if ((D_80162DD6 == 0) && (gLapCountByPlayerId[2] != 3)) {
|
||||
func_8000561C(); //2
|
||||
}
|
||||
if ((gPlayerOne->type & PLAYER_CINEMATIC_MODE) != PLAYER_CINEMATIC_MODE) {
|
||||
|
Loading…
Reference in New Issue
Block a user