Some assorted matches (#289)

Also renamed a couple variables

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
This commit is contained in:
Tyler McGavran 2023-01-31 09:02:40 -05:00 committed by GitHub
parent d1ebe06b29
commit 533d035875
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
53 changed files with 392 additions and 930 deletions

View File

@ -1041,7 +1041,7 @@ glabel D_8018CF78
# List of half-word character IDs indicating each character's
# place in the current Grand Prix race's standings
glabel gGPCurrentRaceRanks
glabel gGPCurrentRaceCharacterIdByRank
.skip 16
glabel D_8018CF90

View File

@ -145,7 +145,7 @@ glabel D_8016439C
glabel D_801643B0
.skip 8
glabel gPlayerPositions
glabel gGPCurrentRaceRankByPlayerId
.skip 2
glabel D_801643BA

View File

@ -185,10 +185,10 @@ glabel func_800070F4
/* 007F94 80007394 24A50001 */ addiu $a1, $a1, 1
.L80007398:
/* 007F98 80007398 3C028016 */ lui $v0, %hi(D_801643E0) # $v0, 0x8016
/* 007F9C 8000739C 3C038016 */ lui $v1, %hi(gPlayerPositions) # $v1, 0x8016
/* 007F9C 8000739C 3C038016 */ lui $v1, %hi(gGPCurrentRaceRankByPlayerId) # $v1, 0x8016
/* 007FA0 800073A0 3C048016 */ lui $a0, %hi(D_801643D8) # $a0, 0x8016
/* 007FA4 800073A4 248443D8 */ addiu $a0, %lo(D_801643D8) # addiu $a0, $a0, 0x43d8
/* 007FA8 800073A8 246343B8 */ addiu $v1, %lo(gPlayerPositions) # addiu $v1, $v1, 0x43b8
/* 007FA8 800073A8 246343B8 */ addiu $v1, %lo(gGPCurrentRaceRankByPlayerId) # addiu $v1, $v1, 0x43b8
/* 007FAC 800073AC 244243E0 */ addiu $v0, %lo(D_801643E0) # addiu $v0, $v0, 0x43e0
/* 007FB0 800073B0 24050001 */ li $a1, 1
.L800073B4:
@ -209,8 +209,8 @@ glabel func_800070F4
/* 007FEC 800073EC 0000C040 */ sll $t8, $zero, 1
/* 007FF0 800073F0 00007080 */ sll $t6, $zero, 2
/* 007FF4 800073F4 27AF0050 */ addiu $t7, $sp, 0x50
/* 007FF8 800073F8 3C0B8016 */ lui $t3, %hi(gPlayerPositions) # $t3, 0x8016
/* 007FFC 800073FC 256B43B8 */ addiu $t3, %lo(gPlayerPositions) # addiu $t3, $t3, 0x43b8
/* 007FF8 800073F8 3C0B8016 */ lui $t3, %hi(gGPCurrentRaceRankByPlayerId) # $t3, 0x8016
/* 007FFC 800073FC 256B43B8 */ addiu $t3, %lo(gGPCurrentRaceRankByPlayerId) # addiu $t3, $t3, 0x43b8
/* 008000 80007400 01CF1021 */ addu $v0, $t6, $t7
/* 008004 80007404 03194021 */ addu $t0, $t8, $t9
/* 008008 80007408 24050001 */ li $a1, 1
@ -229,13 +229,13 @@ glabel func_800070F4
.L80007438:
/* 008038 80007438 3C0F8016 */ lui $t7, %hi(gGPCurrentRacePlayerIdByRank) # $t7, 0x8016
/* 00803C 8000743C 25EF4360 */ addiu $t7, %lo(gGPCurrentRacePlayerIdByRank) # addiu $t7, $t7, 0x4360
/* 008040 80007440 3C0B8016 */ lui $t3, %hi(gPlayerPositions) # $t3, 0x8016
/* 008040 80007440 3C0B8016 */ lui $t3, %hi(gGPCurrentRaceRankByPlayerId) # $t3, 0x8016
/* 008044 80007444 00077040 */ sll $t6, $a3, 1
/* 008048 80007448 0007C080 */ sll $t8, $a3, 2
/* 00804C 8000744C 27B90050 */ addiu $t9, $sp, 0x50
/* 008050 80007450 03191021 */ addu $v0, $t8, $t9
/* 008054 80007454 01CF4021 */ addu $t0, $t6, $t7
/* 008058 80007458 256B43B8 */ addiu $t3, %lo(gPlayerPositions) # addiu $t3, $t3, 0x43b8
/* 008058 80007458 256B43B8 */ addiu $t3, %lo(gGPCurrentRaceRankByPlayerId) # addiu $t3, $t3, 0x43b8
/* 00805C 8000745C 24E50001 */ addiu $a1, $a3, 1
.L80007460:
/* 008060 80007460 8C430000 */ lw $v1, ($v0)

View File

@ -413,10 +413,10 @@ glabel func_800074D4
/* 0086B8 80007AB8 24E70001 */ addiu $a3, $a3, 1
.L80007ABC:
/* 0086BC 80007ABC 3C028016 */ lui $v0, %hi(D_801643E0) # $v0, 0x8016
/* 0086C0 80007AC0 3C038016 */ lui $v1, %hi(gPlayerPositions) # $v1, 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
/* 0086CC 80007ACC 246343B8 */ addiu $v1, %lo(gPlayerPositions) # addiu $v1, $v1, 0x43b8
/* 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
.L80007AD8:
@ -434,8 +434,8 @@ glabel func_800074D4
/* 008704 80007B04 0000C880 */ sll $t9, $zero, 2
/* 008708 80007B08 27AF0068 */ addiu $t7, $sp, 0x68
/* 00870C 80007B0C 0000C040 */ sll $t8, $zero, 1
/* 008710 80007B10 3C0C8016 */ lui $t4, %hi(gPlayerPositions) # $t4, 0x8016
/* 008714 80007B14 258C43B8 */ addiu $t4, %lo(gPlayerPositions) # addiu $t4, $t4, 0x43b8
/* 008710 80007B10 3C0C8016 */ lui $t4, %hi(gGPCurrentRaceRankByPlayerId) # $t4, 0x8016
/* 008714 80007B14 258C43B8 */ addiu $t4, %lo(gGPCurrentRaceRankByPlayerId) # addiu $t4, $t4, 0x43b8
/* 008718 80007B18 030E2021 */ addu $a0, $t8, $t6
/* 00871C 80007B1C 032F1021 */ addu $v0, $t9, $t7
/* 008720 80007B20 00002825 */ move $a1, $zero
@ -455,13 +455,13 @@ glabel func_800074D4
.L80007B54:
/* 008754 80007B54 3C0F8016 */ lui $t7, %hi(gGPCurrentRacePlayerIdByRank) # $t7, 0x8016
/* 008758 80007B58 25EF4360 */ addiu $t7, %lo(gGPCurrentRacePlayerIdByRank) # addiu $t7, $t7, 0x4360
/* 00875C 80007B5C 3C0C8016 */ lui $t4, %hi(gPlayerPositions) # $t4, 0x8016
/* 00875C 80007B5C 3C0C8016 */ lui $t4, %hi(gGPCurrentRaceRankByPlayerId) # $t4, 0x8016
/* 008760 80007B60 0008C080 */ sll $t8, $t0, 2
/* 008764 80007B64 27AE0068 */ addiu $t6, $sp, 0x68
/* 008768 80007B68 0008C840 */ sll $t9, $t0, 1
/* 00876C 80007B6C 032F2021 */ addu $a0, $t9, $t7
/* 008770 80007B70 030E1021 */ addu $v0, $t8, $t6
/* 008774 80007B74 258C43B8 */ addiu $t4, %lo(gPlayerPositions) # addiu $t4, $t4, 0x43b8
/* 008774 80007B74 258C43B8 */ addiu $t4, %lo(gGPCurrentRaceRankByPlayerId) # addiu $t4, $t4, 0x43b8
/* 008778 80007B78 25070001 */ addiu $a3, $t0, 1
.L80007B7C:
/* 00877C 80007B7C 8C430000 */ lw $v1, ($v0)

View File

@ -1,6 +1,6 @@
glabel func_80007D04
/* 008904 80007D04 3C0B8016 */ lui $t3, %hi(gPlayerPositions) # $t3, 0x8016
/* 008908 80007D08 256B43B8 */ addiu $t3, %lo(gPlayerPositions) # addiu $t3, $t3, 0x43b8
/* 008904 80007D04 3C0B8016 */ lui $t3, %hi(gGPCurrentRaceRankByPlayerId) # $t3, 0x8016
/* 008908 80007D08 256B43B8 */ addiu $t3, %lo(gGPCurrentRaceRankByPlayerId) # addiu $t3, $t3, 0x43b8
/* 00890C 80007D0C 3C038016 */ lui $v1, %hi(D_80163478) # $v1, 0x8016
/* 008910 80007D10 00041080 */ sll $v0, $a0, 2
/* 008914 80007D14 84633478 */ lh $v1, %lo(D_80163478)($v1)

View File

@ -240,11 +240,11 @@ glabel func_800088D8
/* 009850 80008C50 24633348 */ addiu $v1, %lo(D_80163348) # addiu $v1, $v1, 0x3348
/* 009854 80008C54 948F0000 */ lhu $t7, ($a0)
.L80008C58:
/* 009858 80008C58 3C198016 */ lui $t9, %hi(gPlayerPositions)
/* 009858 80008C58 3C198016 */ lui $t9, %hi(gGPCurrentRaceRankByPlayerId)
/* 00985C 80008C5C 24840002 */ addiu $a0, $a0, 2
/* 009860 80008C60 000FC080 */ sll $t8, $t7, 2
/* 009864 80008C64 0338C821 */ addu $t9, $t9, $t8
/* 009868 80008C68 8F3943B8 */ lw $t9, %lo(gPlayerPositions)($t9)
/* 009868 80008C68 8F3943B8 */ lw $t9, %lo(gGPCurrentRaceRankByPlayerId)($t9)
/* 00986C 80008C6C 0326082A */ slt $at, $t9, $a2
/* 009870 80008C70 50200005 */ beql $at, $zero, .L80008C88
/* 009874 80008C74 0083082B */ sltu $at, $a0, $v1
@ -257,10 +257,10 @@ glabel func_800088D8
/* 00988C 80008C8C 948F0000 */ lhu $t7, ($a0)
/* 009890 80008C90 3C098019 */ lui $t1, %hi(D_8018EDF3) # $t1, 0x8019
/* 009894 80008C94 8129EDF3 */ lb $t1, %lo(D_8018EDF3)($t1)
/* 009898 80008C98 3C188016 */ lui $t8, %hi(gPlayerPositions)
/* 009898 80008C98 3C188016 */ lui $t8, %hi(gGPCurrentRaceRankByPlayerId)
/* 00989C 80008C9C 00002025 */ move $a0, $zero
/* 0098A0 80008CA0 19200010 */ blez $t1, .L80008CE4
/* 0098A4 80008CA4 270343B8 */ addiu $v1, $t8, %lo(gPlayerPositions)
/* 0098A4 80008CA4 270343B8 */ addiu $v1, $t8, %lo(gGPCurrentRaceRankByPlayerId)
/* 0098A8 80008CA8 0009C880 */ sll $t9, $t1, 2
/* 0098AC 80008CAC 03237021 */ addu $t6, $t9, $v1
/* 0098B0 80008CB0 AFAE0004 */ sw $t6, 4($sp)

View File

@ -25,8 +25,8 @@ glabel func_800099EC
/* 00A648 80009A48 00008025 */ move $s0, $zero
/* 00A64C 80009A4C 0014A880 */ sll $s5, $s4, 2
/* 00A650 80009A50 18800021 */ blez $a0, .L80009AD8
/* 00A654 80009A54 3C198016 */ lui $t9, %hi(gPlayerPositions)
/* 00A658 80009A58 273243B8 */ addiu $s2, $t9, %lo(gPlayerPositions)
/* 00A654 80009A54 3C198016 */ lui $t9, %hi(gGPCurrentRaceRankByPlayerId)
/* 00A658 80009A58 273243B8 */ addiu $s2, $t9, %lo(gGPCurrentRaceRankByPlayerId)
/* 00A65C 80009A5C 3C1E2900 */ lui $fp, (0x2900800D >> 16) # lui $fp, 0x2900
/* 00A660 80009A60 3C138016 */ lui $s3, %hi(D_801643E0) # $s3, 0x8016
/* 00A664 80009A64 267343E0 */ addiu $s3, %lo(D_801643E0) # addiu $s3, $s3, 0x43e0

View File

@ -443,9 +443,9 @@ glabel func_80009B60
/* 00ADC4 8000A1C4 01685821 */ addu $t3, $t3, $t0
/* 00ADC8 8000A1C8 1539000E */ bne $t1, $t9, .L8000A204
/* 00ADCC 8000A1CC 8FAE0038 */ lw $t6, 0x38($sp)
/* 00ADD0 8000A1D0 3C0F8016 */ lui $t7, %hi(gPlayerPositions)
/* 00ADD0 8000A1D0 3C0F8016 */ lui $t7, %hi(gGPCurrentRaceRankByPlayerId)
/* 00ADD4 8000A1D4 01EE7821 */ addu $t7, $t7, $t6
/* 00ADD8 8000A1D8 8DEF43B8 */ lw $t7, %lo(gPlayerPositions)($t7)
/* 00ADD8 8000A1D8 8DEF43B8 */ lw $t7, %lo(gGPCurrentRaceRankByPlayerId)($t7)
/* 00ADDC 8000A1DC 956B334C */ lhu $t3, %lo(D_8016334C)($t3) # 0x334c($t3)
/* 00ADE0 8000A1E0 3C0C8016 */ lui $t4, %hi(D_80163210) # $t4, 0x8016
/* 00ADE4 8000A1E4 258C3210 */ addiu $t4, %lo(D_80163210) # addiu $t4, $t4, 0x3210

View File

@ -98,7 +98,7 @@ glabel func_8000F628
/* 0103A8 8000F7A8 25EF30B8 */ addiu $t7, %lo(D_801630B8) # addiu $t7, $t7, 0x30b8
/* 0103AC 8000F7AC 3C11800F */ lui $s1, %hi(gPlayers) # $s1, 0x800f
/* 0103B0 8000F7B0 3C128016 */ lui $s2, %hi(D_80163330) # $s2, 0x8016
/* 0103B4 8000F7B4 3C148016 */ lui $s4, %hi(gPlayerPositions) # $s4, 0x8016
/* 0103B4 8000F7B4 3C148016 */ lui $s4, %hi(gGPCurrentRaceRankByPlayerId) # $s4, 0x8016
/* 0103B8 8000F7B8 3C158016 */ lui $s5, %hi(D_801634F8) # $s5, 0x8016
/* 0103BC 8000F7BC 3C168016 */ lui $s6, %hi(D_801643E0) # $s6, 0x8016
/* 0103C0 8000F7C0 3C1F8016 */ lui $ra, %hi(D_801631A0) # $ra, 0x8016
@ -121,7 +121,7 @@ glabel func_8000F628
/* 010404 8000F804 27FF31A0 */ addiu $ra, %lo(D_801631A0) # addiu $ra, $ra, 0x31a0
/* 010408 8000F808 26D643E0 */ addiu $s6, %lo(D_801643E0) # addiu $s6, $s6, 0x43e0
/* 01040C 8000F80C 26B534F8 */ addiu $s5, %lo(D_801634F8) # addiu $s5, $s5, 0x34f8
/* 010410 8000F810 269443B8 */ addiu $s4, %lo(gPlayerPositions) # addiu $s4, $s4, 0x43b8
/* 010410 8000F810 269443B8 */ addiu $s4, %lo(gGPCurrentRaceRankByPlayerId) # addiu $s4, $s4, 0x43b8
/* 010414 8000F814 26523330 */ addiu $s2, %lo(D_80163330) # addiu $s2, $s2, 0x3330
/* 010418 8000F818 26316990 */ addiu $s1, %lo(gPlayers) # addiu $s1, $s1, 0x6990
/* 01041C 8000F81C AFAF004C */ sw $t7, 0x4c($sp)
@ -541,7 +541,7 @@ glabel func_8000F628
/* 010A6C 8000FE6C 1609FFF5 */ bne $s0, $t1, .L8000FE44
/* 010A70 8000FE70 A44EFFFE */ sh $t6, -2($v0)
.L8000FE74:
/* 010A74 8000FE74 3C148016 */ lui $s4, %hi(gPlayerPositions) # $s4, 0x8016
/* 010A74 8000FE74 3C148016 */ lui $s4, %hi(gGPCurrentRaceRankByPlayerId) # $s4, 0x8016
/* 010A78 8000FE78 3C028016 */ lui $v0, %hi(gPathIndexByPlayerId) # $v0, 0x8016
/* 010A7C 8000FE7C 3C038016 */ lui $v1, %hi(gNearestWaypointByPlayerId) # $v1, 0x8016
/* 010A80 8000FE80 3C058016 */ lui $a1, %hi(D_80164448) # $a1, 0x8016
@ -550,7 +550,7 @@ glabel func_8000F628
/* 010A8C 8000FE8C 24A54448 */ addiu $a1, %lo(D_80164448) # addiu $a1, $a1, 0x4448
/* 010A90 8000FE90 24634438 */ addiu $v1, %lo(gNearestWaypointByPlayerId) # addiu $v1, $v1, 0x4438
/* 010A94 8000FE94 244245B0 */ addiu $v0, %lo(gPathIndexByPlayerId) # addiu $v0, $v0, 0x45b0
/* 010A98 8000FE98 269443B8 */ addiu $s4, %lo(gPlayerPositions) # addiu $s4, $s4, 0x43b8
/* 010A98 8000FE98 269443B8 */ addiu $s4, %lo(gGPCurrentRaceRankByPlayerId) # addiu $s4, $s4, 0x43b8
.L8000FE9C:
/* 010A9C 8000FE9C 300EFFFF */ andi $t6, $zero, 0xffff
/* 010AA0 8000FEA0 000EC040 */ sll $t8, $t6, 1

View File

@ -1,8 +1,8 @@
glabel func_8001A124
/* 01AD24 8001A124 00047080 */ sll $t6, $a0, 2
/* 01AD28 8001A128 3C028016 */ lui $v0, %hi(gPlayerPositions)
/* 01AD28 8001A128 3C028016 */ lui $v0, %hi(gGPCurrentRaceRankByPlayerId)
/* 01AD2C 8001A12C 004E1021 */ addu $v0, $v0, $t6
/* 01AD30 8001A130 8C4243B8 */ lw $v0, %lo(gPlayerPositions)($v0)
/* 01AD30 8001A130 8C4243B8 */ lw $v0, %lo(gGPCurrentRaceRankByPlayerId)($v0)
/* 01AD34 8001A134 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 01AD38 8001A138 AFBF0014 */ sw $ra, 0x14($sp)
/* 01AD3C 8001A13C 1040000B */ beqz $v0, .L8001A16C

View File

@ -159,9 +159,9 @@ glabel func_8001A588
/* 01B3D4 8001A7D4 2401000B */ li $at, 11
/* 01B3D8 8001A7D8 14410009 */ bne $v0, $at, .L8001A800
.L8001A7DC:
/* 01B3DC 8001A7DC 3C058016 */ lui $a1, %hi(gPlayerPositions)
/* 01B3DC 8001A7DC 3C058016 */ lui $a1, %hi(gGPCurrentRaceRankByPlayerId)
/* 01B3E0 8001A7E0 00AC2821 */ addu $a1, $a1, $t4
/* 01B3E4 8001A7E4 8CA543B8 */ lw $a1, %lo(gPlayerPositions)($a1)
/* 01B3E4 8001A7E4 8CA543B8 */ lw $a1, %lo(gGPCurrentRaceRankByPlayerId)($a1)
/* 01B3E8 8001A7E8 0C006946 */ jal func_8001A518
/* 01B3EC 8001A7EC 00003025 */ move $a2, $zero
/* 01B3F0 8001A7F0 3C088016 */ lui $t0, %hi(D_801646C8) # $t0, 0x8016
@ -189,9 +189,9 @@ glabel func_8001A588
/* 01B440 8001A840 15A1000A */ bne $t5, $at, .L8001A86C
/* 01B444 8001A844 24060008 */ li $a2, 8
/* 01B448 8001A848 00107880 */ sll $t7, $s0, 2
/* 01B44C 8001A84C 3C058016 */ lui $a1, %hi(gPlayerPositions)
/* 01B44C 8001A84C 3C058016 */ lui $a1, %hi(gGPCurrentRaceRankByPlayerId)
/* 01B450 8001A850 00AF2821 */ addu $a1, $a1, $t7
/* 01B454 8001A854 8CA543B8 */ lw $a1, %lo(gPlayerPositions)($a1)
/* 01B454 8001A854 8CA543B8 */ lw $a1, %lo(gGPCurrentRaceRankByPlayerId)($a1)
/* 01B458 8001A858 02002025 */ move $a0, $s0
/* 01B45C 8001A85C 0C006946 */ jal func_8001A518
/* 01B460 8001A860 24060001 */ li $a2, 1

View File

@ -65,8 +65,8 @@ glabel L8001ACAC
/* 01B908 8001AD08 10200012 */ beqz $at, .L8001AD54
/* 01B90C 8001AD0C 00000000 */ nop
/* 01B910 8001AD10 8C634390 */ lw $v1, %lo(gLapCountByPlayerId)($v1) # 0x4390($v1)
/* 01B914 8001AD14 3C068016 */ lui $a2, %hi(gPlayerPositions) # $a2, 0x8016
/* 01B918 8001AD18 24C643B8 */ addiu $a2, %lo(gPlayerPositions) # addiu $a2, $a2, 0x43b8
/* 01B914 8001AD14 3C068016 */ lui $a2, %hi(gGPCurrentRaceRankByPlayerId) # $a2, 0x8016
/* 01B918 8001AD18 24C643B8 */ addiu $a2, %lo(gGPCurrentRaceRankByPlayerId) # addiu $a2, $a2, 0x43b8
/* 01B91C 8001AD1C 28610003 */ slti $at, $v1, 3
/* 01B920 8001AD20 1020000C */ beqz $at, .L8001AD54
/* 01B924 8001AD24 00C26821 */ addu $t5, $a2, $v0
@ -90,11 +90,11 @@ glabel L8001ACAC
glabel L8001AD64
/* 01B964 8001AD64 8FA20030 */ lw $v0, 0x30($sp)
/* 01B968 8001AD68 3C0E8016 */ lui $t6, %hi(gLapCountByPlayerId) # 0x8016
/* 01B96C 8001AD6C 3C068016 */ lui $a2, %hi(gPlayerPositions) # $a2, 0x8016
/* 01B96C 8001AD6C 3C068016 */ lui $a2, %hi(gGPCurrentRaceRankByPlayerId) # $a2, 0x8016
/* 01B970 8001AD70 00027880 */ sll $t7, $v0, 2
/* 01B974 8001AD74 01CF7021 */ addu $t6, $t6, $t7
/* 01B978 8001AD78 8DCE4390 */ lw $t6, %lo(gLapCountByPlayerId)($t6) # 0x4390($t6)
/* 01B97C 8001AD7C 24C643B8 */ addiu $a2, %lo(gPlayerPositions) # addiu $a2, $a2, 0x43b8
/* 01B97C 8001AD7C 24C643B8 */ addiu $a2, %lo(gGPCurrentRaceRankByPlayerId) # addiu $a2, $a2, 0x43b8
/* 01B980 8001AD80 3C038016 */ lui $v1, %hi(D_80163478) # $v1, 0x8016
/* 01B984 8001AD84 19C0004B */ blez $t6, .L8001AEB4
/* 01B988 8001AD88 00000000 */ nop

View File

@ -325,11 +325,11 @@ glabel set_places
/* 007878 80006C78 25290001 */ addiu $t1, $t1, 1
.L80006C7C:
/* 00787C 80006C7C 3C028016 */ lui $v0, %hi(D_801643E0) # $v0, 0x8016
/* 007880 80006C80 3C038016 */ lui $v1, %hi(gPlayerPositions) # $v1, 0x8016
/* 007880 80006C80 3C038016 */ lui $v1, %hi(gGPCurrentRaceRankByPlayerId) # $v1, 0x8016
/* 007884 80006C84 3C058016 */ lui $a1, %hi(D_801643D8) # $a1, 0x8016
/* 007888 80006C88 27A40080 */ addiu $a0, $sp, 0x80
/* 00788C 80006C8C 24A543D8 */ addiu $a1, %lo(D_801643D8) # addiu $a1, $a1, 0x43d8
/* 007890 80006C90 246343B8 */ addiu $v1, %lo(gPlayerPositions) # addiu $v1, $v1, 0x43b8
/* 007890 80006C90 246343B8 */ addiu $v1, %lo(gGPCurrentRaceRankByPlayerId) # addiu $v1, $v1, 0x43b8
/* 007894 80006C94 244243E0 */ addiu $v0, %lo(D_801643E0) # addiu $v0, $v0, 0x43e0
/* 007898 80006C98 24090001 */ li $t1, 1
.L80006C9C:
@ -349,8 +349,8 @@ glabel set_places
/* 0078D0 80006CD0 27184360 */ addiu $t8, %lo(gGPCurrentRacePlayerIdByRank) # addiu $t8, $t8, 0x4360
/* 0078D4 80006CD4 00007840 */ sll $t7, $zero, 1
/* 0078D8 80006CD8 00007080 */ sll $t6, $zero, 2
/* 0078DC 80006CDC 3C068016 */ lui $a2, %hi(gPlayerPositions) # $a2, 0x8016
/* 0078E0 80006CE0 24C643B8 */ addiu $a2, %lo(gPlayerPositions) # addiu $a2, $a2, 0x43b8
/* 0078DC 80006CDC 3C068016 */ lui $a2, %hi(gGPCurrentRaceRankByPlayerId) # $a2, 0x8016
/* 0078E0 80006CE0 24C643B8 */ addiu $a2, %lo(gGPCurrentRaceRankByPlayerId) # addiu $a2, $a2, 0x43b8
/* 0078E4 80006CE4 008E1021 */ addu $v0, $a0, $t6
/* 0078E8 80006CE8 01F85021 */ addu $t2, $t7, $t8
/* 0078EC 80006CEC 24090001 */ li $t1, 1
@ -369,12 +369,12 @@ glabel set_places
.L80006D1C:
/* 00791C 80006D1C 3C0E8016 */ lui $t6, %hi(gGPCurrentRacePlayerIdByRank) # $t6, 0x8016
/* 007920 80006D20 25CE4360 */ addiu $t6, %lo(gGPCurrentRacePlayerIdByRank) # addiu $t6, $t6, 0x4360
/* 007924 80006D24 3C068016 */ lui $a2, %hi(gPlayerPositions) # $a2, 0x8016
/* 007924 80006D24 3C068016 */ lui $a2, %hi(gGPCurrentRaceRankByPlayerId) # $a2, 0x8016
/* 007928 80006D28 000BC040 */ sll $t8, $t3, 1
/* 00792C 80006D2C 000BC880 */ sll $t9, $t3, 2
/* 007930 80006D30 00991021 */ addu $v0, $a0, $t9
/* 007934 80006D34 030E5021 */ addu $t2, $t8, $t6
/* 007938 80006D38 24C643B8 */ addiu $a2, %lo(gPlayerPositions) # addiu $a2, $a2, 0x43b8
/* 007938 80006D38 24C643B8 */ addiu $a2, %lo(gGPCurrentRaceRankByPlayerId) # addiu $a2, $a2, 0x43b8
/* 00793C 80006D3C 25690001 */ addiu $t1, $t3, 1
.L80006D40:
/* 007940 80006D40 8C430000 */ lw $v1, ($v0)

View File

@ -66,14 +66,14 @@ glabel func_8004E800
/* 04F4FC 8004E8FC 03282021 */ addu $a0, $t9, $t0
/* 04F500 8004E900 84490068 */ lh $t1, 0x68($v0)
/* 04F504 8004E904 844A0064 */ lh $t2, 0x64($v0)
/* 04F508 8004E908 3C088016 */ lui $t0, %hi(gPlayerPositions)
/* 04F508 8004E908 3C088016 */ lui $t0, %hi(gGPCurrentRaceRankByPlayerId)
/* 04F50C 8004E90C 3C0E800E */ lui $t6, %hi(D_800E55F8) # 0x800e
/* 04F510 8004E910 000C6880 */ sll $t5, $t4, 2
/* 04F514 8004E914 0018C880 */ sll $t9, $t8, 2
/* 04F518 8004E918 01194021 */ addu $t0, $t0, $t9
/* 04F51C 8004E91C 01CD7021 */ addu $t6, $t6, $t5
/* 04F520 8004E920 8DCE55F8 */ lw $t6, %lo(D_800E55F8)($t6) # 0x55f8($t6)
/* 04F524 8004E924 8D0843B8 */ lw $t0, %lo(gPlayerPositions)($t0)
/* 04F524 8004E924 8D0843B8 */ lw $t0, %lo(gGPCurrentRaceRankByPlayerId)($t0)
/* 04F528 8004E928 012A2821 */ addu $a1, $t1, $t2
/* 04F52C 8004E92C 3C0A0D01 */ lui $t2, %hi(D_0D00D258) # $t2, 0xd01
/* 04F530 8004E930 240F00FF */ li $t7, 255

View File

@ -17,9 +17,9 @@ glabel func_8004E998
/* 04F5D4 8004E9D4 1101002A */ beq $t0, $at, .L8004EA80
/* 04F5D8 8004E9D8 240B00FF */ li $t3, 255
/* 04F5DC 8004E9DC 000E7880 */ sll $t7, $t6, 2
/* 04F5E0 8004E9E0 3C038016 */ lui $v1, %hi(gPlayerPositions)
/* 04F5E0 8004E9E0 3C038016 */ lui $v1, %hi(gGPCurrentRaceRankByPlayerId)
/* 04F5E4 8004E9E4 006F1821 */ addu $v1, $v1, $t7
/* 04F5E8 8004E9E8 8C6343B8 */ lw $v1, %lo(gPlayerPositions)($v1)
/* 04F5E8 8004E9E8 8C6343B8 */ lw $v1, %lo(gGPCurrentRaceRankByPlayerId)($v1)
/* 04F5EC 8004E9EC 84490066 */ lh $t1, 0x66($v0)
/* 04F5F0 8004E9F0 844A0062 */ lh $t2, 0x62($v0)
/* 04F5F4 8004E9F4 844B0068 */ lh $t3, 0x68($v0)
@ -66,14 +66,14 @@ glabel func_8004E998
/* 04F694 8004EA94 03282021 */ addu $a0, $t9, $t0
/* 04F698 8004EA98 84490068 */ lh $t1, 0x68($v0)
/* 04F69C 8004EA9C 844A0064 */ lh $t2, 0x64($v0)
/* 04F6A0 8004EAA0 3C088016 */ lui $t0, %hi(gPlayerPositions)
/* 04F6A0 8004EAA0 3C088016 */ lui $t0, %hi(gGPCurrentRaceRankByPlayerId)
/* 04F6A4 8004EAA4 3C0E800E */ lui $t6, %hi(D_800E5618) # 0x800e
/* 04F6A8 8004EAA8 000C6880 */ sll $t5, $t4, 2
/* 04F6AC 8004EAAC 0018C880 */ sll $t9, $t8, 2
/* 04F6B0 8004EAB0 01194021 */ addu $t0, $t0, $t9
/* 04F6B4 8004EAB4 01CD7021 */ addu $t6, $t6, $t5
/* 04F6B8 8004EAB8 8DCE5618 */ lw $t6, %lo(D_800E5618)($t6) # 0x5618($t6)
/* 04F6BC 8004EABC 8D0843B8 */ lw $t0, %lo(gPlayerPositions)($t0)
/* 04F6BC 8004EABC 8D0843B8 */ lw $t0, %lo(gGPCurrentRaceRankByPlayerId)($t0)
/* 04F6C0 8004EAC0 012A2821 */ addu $a1, $t1, $t2
/* 04F6C4 8004EAC4 3C0A0D01 */ lui $t2, %hi(D_0D015258) # $t2, 0xd01
/* 04F6C8 8004EAC8 240F00FF */ li $t7, 255

View File

@ -76,9 +76,9 @@ glabel func_8004F168
/* 04FE88 8004F288 1101003F */ beq $t0, $at, .L8004F388
/* 04FE8C 8004F28C 00192C03 */ sra $a1, $t9, 0x10
/* 04FE90 8004F290 00074880 */ sll $t1, $a3, 2
/* 04FE94 8004F294 3C188016 */ lui $t8, %hi(gPlayerPositions)
/* 04FE94 8004F294 3C188016 */ lui $t8, %hi(gGPCurrentRaceRankByPlayerId)
/* 04FE98 8004F298 0309C021 */ addu $t8, $t8, $t1
/* 04FE9C 8004F29C 8F1843B8 */ lw $t8, %lo(gPlayerPositions)($t8)
/* 04FE9C 8004F29C 8F1843B8 */ lw $t8, %lo(gGPCurrentRaceRankByPlayerId)($t8)
/* 04FEA0 8004F2A0 3C02800E */ lui $v0, %hi(gModeSelection) # $v0, 0x800e
/* 04FEA4 8004F2A4 3C073F80 */ lui $a3, 0x3f80
/* 04FEA8 8004F2A8 1700001F */ bnez $t8, .L8004F328
@ -140,9 +140,9 @@ glabel func_8004F168
/* 04FF84 8004F384 8FBF002C */ lw $ra, 0x2c($sp)
.L8004F388:
/* 04FF88 8004F388 00075880 */ sll $t3, $a3, 2
/* 04FF8C 8004F38C 3C0D8016 */ lui $t5, %hi(gPlayerPositions)
/* 04FF8C 8004F38C 3C0D8016 */ lui $t5, %hi(gGPCurrentRaceRankByPlayerId)
/* 04FF90 8004F390 01AB6821 */ addu $t5, $t5, $t3
/* 04FF94 8004F394 8DAD43B8 */ lw $t5, %lo(gPlayerPositions)($t5)
/* 04FF94 8004F394 8DAD43B8 */ lw $t5, %lo(gGPCurrentRaceRankByPlayerId)($t5)
/* 04FF98 8004F398 24070008 */ li $a3, 8
/* 04FF9C 8004F39C 24060008 */ li $a2, 8
/* 04FFA0 8004F3A0 15A00009 */ bnez $t5, .L8004F3C8

View File

@ -41,12 +41,12 @@ glabel func_80050320
/* 050FB8 800503B8 45020035 */ bc1fl .L80050490
/* 050FBC 800503BC 26100001 */ addiu $s0, $s0, 1
/* 050FC0 800503C0 C5240000 */ lwc1 $f4, ($t1)
/* 050FC4 800503C4 3C188019 */ lui $t8, %hi(gGPCurrentRaceRanks) # $t8, 0x8019
/* 050FC4 800503C4 3C188019 */ lui $t8, %hi(gGPCurrentRaceCharacterIdByRank) # $t8, 0x8019
/* 050FC8 800503C8 3C198019 */ lui $t9, %hi(D_8018D028) # $t9, 0x8019
/* 050FCC 800503CC 460021A1 */ cvt.d.s $f6, $f4
/* 050FD0 800503D0 2739D028 */ addiu $t9, %lo(D_8018D028) # addiu $t9, $t9, -0x2fd8
/* 050FD4 800503D4 4634303C */ c.lt.d $f6, $f20
/* 050FD8 800503D8 2718CF80 */ addiu $t8, %lo(gGPCurrentRaceRanks) # addiu $t8, $t8, -0x3080
/* 050FD8 800503D8 2718CF80 */ addiu $t8, %lo(gGPCurrentRaceCharacterIdByRank) # addiu $t8, $t8, -0x3080
/* 050FDC 800503DC 00583821 */ addu $a3, $v0, $t8
/* 050FE0 800503E0 02394021 */ addu $t0, $s1, $t9
/* 050FE4 800503E4 45000002 */ bc1f .L800503F0

View File

@ -75,11 +75,11 @@ glabel func_800514BC
.L800515C8:
/* 0521C8 800515C8 8EEF0000 */ lw $t7, ($s7)
/* 0521CC 800515CC 00002025 */ move $a0, $zero
/* 0521D0 800515D0 3C058016 */ lui $a1, %hi(gPlayerPositions) # $a1, 0x8016
/* 0521D0 800515D0 3C058016 */ lui $a1, %hi(gGPCurrentRaceRankByPlayerId) # $a1, 0x8016
/* 0521D4 800515D4 16CF0003 */ bne $s6, $t7, .L800515E4
/* 0521D8 800515D8 00000000 */ nop
/* 0521DC 800515DC 0C01438D */ jal func_80050E34
/* 0521E0 800515E0 8CA543B8 */ lw $a1, %lo(gPlayerPositions)($a1)
/* 0521E0 800515E0 8CA543B8 */ lw $a1, %lo(gGPCurrentRaceRankByPlayerId)($a1)
.L800515E4:
/* 0521E4 800515E4 3C048015 */ lui $a0, %hi(gDisplayListHead) # $a0, 0x8015
/* 0521E8 800515E8 24840298 */ addiu $a0, %lo(gDisplayListHead) # addiu $a0, $a0, 0x298

View File

@ -1,39 +0,0 @@
glabel func_80059360
/* 059F60 80059360 3C0E8016 */ lui $t6, %hi(D_801657B0) # $t6, 0x8016
/* 059F64 80059364 81CE57B0 */ lb $t6, %lo(D_801657B0)($t6)
/* 059F68 80059368 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 059F6C 8005936C AFBF0014 */ sw $ra, 0x14($sp)
/* 059F70 80059370 55C0001C */ bnel $t6, $zero, .L800593E4
/* 059F74 80059374 8FBF0014 */ lw $ra, 0x14($sp)
/* 059F78 80059378 0C013E9E */ jal func_8004FA78
/* 059F7C 8005937C 00002025 */ move $a0, $zero
/* 059F80 80059380 3C028019 */ lui $v0, %hi(D_8018CA70) # $v0, 0x8019
/* 059F84 80059384 2442CA70 */ addiu $v0, %lo(D_8018CA70) # addiu $v0, $v0, -0x3590
/* 059F88 80059388 804F0071 */ lb $t7, 0x71($v0)
/* 059F8C 8005938C 24010003 */ li $at, 3
/* 059F90 80059390 3C060D01 */ lui $a2, %hi(D_0D00A958) # $a2, 0xd01
/* 059F94 80059394 11E10012 */ beq $t7, $at, .L800593E0
/* 059F98 80059398 24C6A958 */ addiu $a2, %lo(D_0D00A958) # addiu $a2, $a2, -0x56a8
/* 059F9C 8005939C 8444005A */ lh $a0, 0x5a($v0)
/* 059FA0 800593A0 0C0132D8 */ jal func_8004CB60
/* 059FA4 800593A4 84450060 */ lh $a1, 0x60($v0)
/* 059FA8 800593A8 3C028019 */ lui $v0, %hi(D_8018CA70) # $v0, 0x8019
/* 059FAC 800593AC 2442CA70 */ addiu $v0, %lo(D_8018CA70) # addiu $v0, $v0, -0x3590
/* 059FB0 800593B0 8444005A */ lh $a0, 0x5a($v0)
/* 059FB4 800593B4 84450060 */ lh $a1, 0x60($v0)
/* 059FB8 800593B8 80460072 */ lb $a2, 0x72($v0)
/* 059FBC 800593BC 2484000C */ addiu $a0, $a0, 0xc
/* 059FC0 800593C0 24A5FFFC */ addiu $a1, $a1, -4
/* 059FC4 800593C4 00054400 */ sll $t0, $a1, 0x10
/* 059FC8 800593C8 0004C400 */ sll $t8, $a0, 0x10
/* 059FCC 800593CC 00182403 */ sra $a0, $t8, 0x10
/* 059FD0 800593D0 0C013F1E */ jal func_8004FC78
/* 059FD4 800593D4 00082C03 */ sra $a1, $t0, 0x10
/* 059FD8 800593D8 0C01398E */ jal func_8004E638
/* 059FDC 800593DC 00002025 */ move $a0, $zero
.L800593E0:
/* 059FE0 800593E0 8FBF0014 */ lw $ra, 0x14($sp)
.L800593E4:
/* 059FE4 800593E4 27BD0018 */ addiu $sp, $sp, 0x18
/* 059FE8 800593E8 03E00008 */ jr $ra
/* 059FEC 800593EC 00000000 */ nop

View File

@ -1,39 +0,0 @@
glabel func_800593F8
/* 059FF8 800593F8 3C0E8016 */ lui $t6, %hi(D_801657B0) # $t6, 0x8016
/* 059FFC 800593FC 81CE57B0 */ lb $t6, %lo(D_801657B0)($t6)
/* 05A000 80059400 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 05A004 80059404 AFBF0014 */ sw $ra, 0x14($sp)
/* 05A008 80059408 55C0001C */ bnel $t6, $zero, .L8005947C
/* 05A00C 8005940C 8FBF0014 */ lw $ra, 0x14($sp)
/* 05A010 80059410 0C013E9E */ jal func_8004FA78
/* 05A014 80059414 24040001 */ li $a0, 1
/* 05A018 80059418 3C028019 */ lui $v0, %hi(D_8018CA70) # $v0, 0x8019
/* 05A01C 8005941C 2442CA70 */ addiu $v0, %lo(D_8018CA70) # addiu $v0, $v0, -0x3590
/* 05A020 80059420 804F00F5 */ lb $t7, 0xf5($v0)
/* 05A024 80059424 24010003 */ li $at, 3
/* 05A028 80059428 3C060D01 */ lui $a2, %hi(D_0D00A958) # $a2, 0xd01
/* 05A02C 8005942C 11E10012 */ beq $t7, $at, .L80059478
/* 05A030 80059430 24C6A958 */ addiu $a2, %lo(D_0D00A958) # addiu $a2, $a2, -0x56a8
/* 05A034 80059434 844400DE */ lh $a0, 0xde($v0)
/* 05A038 80059438 0C0132D8 */ jal func_8004CB60
/* 05A03C 8005943C 844500E4 */ lh $a1, 0xe4($v0)
/* 05A040 80059440 3C028019 */ lui $v0, %hi(D_8018CA70) # $v0, 0x8019
/* 05A044 80059444 2442CA70 */ addiu $v0, %lo(D_8018CA70) # addiu $v0, $v0, -0x3590
/* 05A048 80059448 844400DE */ lh $a0, 0xde($v0)
/* 05A04C 8005944C 844500E4 */ lh $a1, 0xe4($v0)
/* 05A050 80059450 804600F6 */ lb $a2, 0xf6($v0)
/* 05A054 80059454 2484000C */ addiu $a0, $a0, 0xc
/* 05A058 80059458 24A5FFFC */ addiu $a1, $a1, -4
/* 05A05C 8005945C 00054400 */ sll $t0, $a1, 0x10
/* 05A060 80059460 0004C400 */ sll $t8, $a0, 0x10
/* 05A064 80059464 00182403 */ sra $a0, $t8, 0x10
/* 05A068 80059468 0C013F1E */ jal func_8004FC78
/* 05A06C 8005946C 00082C03 */ sra $a1, $t0, 0x10
/* 05A070 80059470 0C01398E */ jal func_8004E638
/* 05A074 80059474 24040001 */ li $a0, 1
.L80059478:
/* 05A078 80059478 8FBF0014 */ lw $ra, 0x14($sp)
.L8005947C:
/* 05A07C 8005947C 27BD0018 */ addiu $sp, $sp, 0x18
/* 05A080 80059480 03E00008 */ jr $ra
/* 05A084 80059484 00000000 */ nop

View File

@ -1,47 +0,0 @@
glabel func_80059C50
/* 05A850 80059C50 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 05A854 80059C54 AFBF0014 */ sw $ra, 0x14($sp)
/* 05A858 80059C58 0C0168F0 */ jal func_8005A3C0
/* 05A85C 80059C5C 00000000 */ nop
/* 05A860 80059C60 3C048016 */ lui $a0, %hi(gGPCurrentRacePlayerIdByRank) # $a0, 0x8016
/* 05A864 80059C64 3C028019 */ lui $v0, %hi(gGPCurrentRaceRanks) # $v0, 0x8019
/* 05A868 80059C68 3C07800E */ lui $a3, %hi(gPlayerOne) # $a3, 0x800e
/* 05A86C 80059C6C 3C068019 */ lui $a2, %hi(D_8018CF90) # $a2, 0x8019
/* 05A870 80059C70 24C6CF90 */ addiu $a2, %lo(D_8018CF90) # addiu $a2, $a2, -0x3070
/* 05A874 80059C74 8CE7C4DC */ lw $a3, %lo(gPlayerOne)($a3)
/* 05A878 80059C78 2442CF80 */ addiu $v0, %lo(gGPCurrentRaceRanks) # addiu $v0, $v0, -0x3080
/* 05A87C 80059C7C 24844360 */ addiu $a0, %lo(gGPCurrentRacePlayerIdByRank) # addiu $a0, $a0, 0x4360
/* 05A880 80059C80 24050DD8 */ li $a1, 3544
.L80059C84:
/* 05A884 80059C84 84830000 */ lh $v1, ($a0)
/* 05A888 80059C88 24420002 */ addiu $v0, $v0, 2
/* 05A88C 80059C8C 0046082B */ sltu $at, $v0, $a2
/* 05A890 80059C90 00650019 */ multu $v1, $a1
/* 05A894 80059C94 24840002 */ addiu $a0, $a0, 2
/* 05A898 80059C98 00007012 */ mflo $t6
/* 05A89C 80059C9C 01C77821 */ addu $t7, $t6, $a3
/* 05A8A0 80059CA0 95F80254 */ lhu $t8, 0x254($t7)
/* 05A8A4 80059CA4 1420FFF7 */ bnez $at, .L80059C84
/* 05A8A8 80059CA8 A458FFFE */ sh $t8, -2($v0)
/* 05A8AC 80059CAC 3C038019 */ lui $v1, %hi(D_8018CF98) # $v1, 0x8019
/* 05A8B0 80059CB0 3C028016 */ lui $v0, %hi(gPlayerPositions) # $v0, 0x8016
/* 05A8B4 80059CB4 3C048016 */ lui $a0, %hi(D_801643D8) # $a0, 0x8016
/* 05A8B8 80059CB8 248443D8 */ addiu $a0, %lo(D_801643D8) # addiu $a0, $a0, 0x43d8
/* 05A8BC 80059CBC 244243B8 */ addiu $v0, %lo(gPlayerPositions) # addiu $v0, $v0, 0x43b8
/* 05A8C0 80059CC0 2463CF98 */ addiu $v1, %lo(D_8018CF98) # addiu $v1, $v1, -0x3068
.L80059CC4:
/* 05A8C4 80059CC4 8C480004 */ lw $t0, 4($v0)
/* 05A8C8 80059CC8 8C490008 */ lw $t1, 8($v0)
/* 05A8CC 80059CCC 8C4A000C */ lw $t2, 0xc($v0)
/* 05A8D0 80059CD0 8C590000 */ lw $t9, ($v0)
/* 05A8D4 80059CD4 24420010 */ addiu $v0, $v0, 0x10
/* 05A8D8 80059CD8 24630008 */ addiu $v1, $v1, 8
/* 05A8DC 80059CDC A468FFFA */ sh $t0, -6($v1)
/* 05A8E0 80059CE0 A469FFFC */ sh $t1, -4($v1)
/* 05A8E4 80059CE4 A46AFFFE */ sh $t2, -2($v1)
/* 05A8E8 80059CE8 1444FFF6 */ bne $v0, $a0, .L80059CC4
/* 05A8EC 80059CEC A479FFF8 */ sh $t9, -8($v1)
/* 05A8F0 80059CF0 8FBF0014 */ lw $ra, 0x14($sp)
/* 05A8F4 80059CF4 27BD0018 */ addiu $sp, $sp, 0x18
/* 05A8F8 80059CF8 03E00008 */ jr $ra
/* 05A8FC 80059CFC 00000000 */ nop

View File

@ -495,8 +495,8 @@ glabel L8005C000
/* 05CC0C 8005C00C 100000A0 */ b .L8005C290
/* 05CC10 8005C010 8C42D1CC */ lw $v0, %lo(D_8018D1CC)($v0)
glabel L8005C014
/* 05CC14 8005C014 3C088016 */ lui $t0, %hi(gPlayerPositions) # $t0, 0x8016
/* 05CC18 8005C018 8D0843B8 */ lw $t0, %lo(gPlayerPositions)($t0)
/* 05CC14 8005C014 3C088016 */ lui $t0, %hi(gGPCurrentRaceRankByPlayerId) # $t0, 0x8016
/* 05CC18 8005C018 8D0843B8 */ lw $t0, %lo(gGPCurrentRaceRankByPlayerId)($t0)
/* 05CC1C 8005C01C 29010004 */ slti $at, $t0, 4
/* 05CC20 8005C020 10200005 */ beqz $at, .L8005C038
/* 05CC24 8005C024 00000000 */ nop

View File

@ -10,7 +10,7 @@ glabel func_8005C980
/* 05D5A0 8005C9A0 000E7080 */ sll $t6, $t6, 2
/* 05D5A4 8005C9A4 01C67023 */ subu $t6, $t6, $a2
/* 05D5A8 8005C9A8 000E70C0 */ sll $t6, $t6, 3
/* 05D5AC 8005C9AC 3C048016 */ lui $a0, %hi(gPlayerPositions) # $a0, 0x8016
/* 05D5AC 8005C9AC 3C048016 */ lui $a0, %hi(gGPCurrentRaceRankByPlayerId) # $a0, 0x8016
/* 05D5B0 8005C9B0 3C058016 */ lui $a1, %hi(D_80165590) # $a1, 0x8016
/* 05D5B4 8005C9B4 3C0B8016 */ lui $t3, %hi(D_80165794) # $t3, 0x8016
/* 05D5B8 8005C9B8 3C0A8019 */ lui $t2, %hi(D_8018CF28) # $t2, 0x8019
@ -19,7 +19,7 @@ glabel func_8005C980
/* 05D5C4 8005C9C4 254ACF28 */ addiu $t2, %lo(D_8018CF28) # addiu $t2, $t2, -0x30d8
/* 05D5C8 8005C9C8 256B5794 */ addiu $t3, %lo(D_80165794) # addiu $t3, $t3, 0x5794
/* 05D5CC 8005C9CC 8CA55590 */ lw $a1, %lo(D_80165590)($a1)
/* 05D5D0 8005C9D0 248443B8 */ addiu $a0, %lo(gPlayerPositions) # addiu $a0, $a0, 0x43b8
/* 05D5D0 8005C9D0 248443B8 */ addiu $a0, %lo(gGPCurrentRaceRankByPlayerId) # addiu $a0, $a0, 0x43b8
/* 05D5D4 8005C9D4 00001025 */ move $v0, $zero
/* 05D5D8 8005C9D8 01C74021 */ addu $t0, $t6, $a3
.L8005C9DC:
@ -42,8 +42,8 @@ glabel func_8005C980
/* 05D614 8005CA14 3C048016 */ lui $a0, %hi(gGPCurrentRacePlayerIdByRank) # $a0, 0x8016
/* 05D618 8005CA18 3C088019 */ lui $t0, %hi(D_8018CF50) # $t0, 0x8019
/* 05D61C 8005CA1C 3C0B8019 */ lui $t3, %hi(D_8018CF60) # $t3, 0x8019
/* 05D620 8005CA20 3C098019 */ lui $t1, %hi(gGPCurrentRaceRanks) # $t1, 0x8019
/* 05D624 8005CA24 2529CF80 */ addiu $t1, %lo(gGPCurrentRaceRanks) # addiu $t1, $t1, -0x3080
/* 05D620 8005CA20 3C098019 */ lui $t1, %hi(gGPCurrentRaceCharacterIdByRank) # $t1, 0x8019
/* 05D624 8005CA24 2529CF80 */ addiu $t1, %lo(gGPCurrentRaceCharacterIdByRank) # addiu $t1, $t1, -0x3080
/* 05D628 8005CA28 256BCF60 */ addiu $t3, %lo(D_8018CF60) # addiu $t3, $t3, -0x30a0
/* 05D62C 8005CA2C 2508CF50 */ addiu $t0, %lo(D_8018CF50) # addiu $t0, $t0, -0x30b0
/* 05D630 8005CA30 24844360 */ addiu $a0, %lo(gGPCurrentRacePlayerIdByRank) # addiu $a0, $a0, 0x4360

View File

@ -46,7 +46,7 @@ glabel func_80071428
/* 0720D8 800714D8 46803220 */ cvt.s.w $f8, $f6
/* 0720DC 800714DC 240E0034 */ li $t6, 52
/* 0720E0 800714E0 240F00C8 */ li $t7, 200
/* 0720E4 800714E4 3C188016 */ lui $t8, %hi(gPlayerPositions) # $t8, 0x8016
/* 0720E4 800714E4 3C188016 */ lui $t8, %hi(gGPCurrentRaceRankByPlayerId) # $t8, 0x8016
/* 0720E8 800714E8 2402012C */ li $v0, 300
/* 0720EC 800714EC 2403FFD8 */ li $v1, -40
/* 0720F0 800714F0 E428CFEC */ swc1 $f8, %lo(D_8018CFEC)($at)
@ -66,7 +66,7 @@ glabel func_80071428
/* 072128 80071528 A50F0064 */ sh $t7, 0x64($t0)
/* 07212C 8007152C A5000066 */ sh $zero, 0x66($t0)
/* 072130 80071530 A5000068 */ sh $zero, 0x68($t0)
/* 072134 80071534 8F1843B8 */ lw $t8, %lo(gPlayerPositions)($t8)
/* 072134 80071534 8F1843B8 */ lw $t8, %lo(gGPCurrentRaceRankByPlayerId)($t8)
/* 072138 80071538 240DFFE0 */ li $t5, -32
/* 07213C 8007153C A502004E */ sh $v0, 0x4e($t0)
/* 072140 80071540 A5020050 */ sh $v0, 0x50($t0)

View File

@ -84,8 +84,8 @@ glabel func_80071818
/* 072560 80071960 3C013F00 */ li $at, 0x3F000000 # 0.500000
/* 072564 80071964 44812000 */ mtc1 $at, $f4
/* 072568 80071968 3C028019 */ lui $v0, %hi(D_8018CA70) # $v0, 0x8019
/* 07256C 8007196C 3C048016 */ lui $a0, %hi(gPlayerPositions) # $a0, 0x8016
/* 072570 80071970 248443B8 */ addiu $a0, %lo(gPlayerPositions) # addiu $a0, $a0, 0x43b8
/* 07256C 8007196C 3C048016 */ lui $a0, %hi(gGPCurrentRaceRankByPlayerId) # $a0, 0x8016
/* 072570 80071970 248443B8 */ addiu $a0, %lo(gGPCurrentRaceRankByPlayerId) # addiu $a0, $a0, 0x43b8
/* 072574 80071974 2442CA70 */ addiu $v0, %lo(D_8018CA70) # addiu $v0, $v0, -0x3590
/* 072578 80071978 E4440088 */ swc1 $f4, 0x88($v0)
/* 07257C 8007197C 8C8C0000 */ lw $t4, ($a0)

View File

@ -72,9 +72,9 @@ glabel func_80071A20
/* 072738 80071B38 3C0E800E */ lui $t6, %hi(gModeSelection) # $t6, 0x800e
/* 07273C 80071B3C 8DCEC53C */ lw $t6, %lo(gModeSelection)($t6)
/* 072740 80071B40 24010003 */ li $at, 3
/* 072744 80071B44 3C038016 */ lui $v1, %hi(gPlayerPositions) # $v1, 0x8016
/* 072744 80071B44 3C038016 */ lui $v1, %hi(gGPCurrentRaceRankByPlayerId) # $v1, 0x8016
/* 072748 80071B48 15C10005 */ bne $t6, $at, .L80071B60
/* 07274C 80071B4C 246343B8 */ addiu $v1, %lo(gPlayerPositions) # addiu $v1, $v1, 0x43b8
/* 07274C 80071B4C 246343B8 */ addiu $v1, %lo(gGPCurrentRaceRankByPlayerId) # addiu $v1, $v1, 0x43b8
/* 072750 80071B50 240F005E */ li $t7, 94
/* 072754 80071B54 241800D0 */ li $t8, 208
/* 072758 80071B58 A44F0044 */ sh $t7, 0x44($v0)

View File

@ -126,8 +126,8 @@ glabel func_80071C28
.L80071E18:
/* 072A18 80071E18 3C013F00 */ li $at, 0x3F000000 # 0.500000
/* 072A1C 80071E1C 44812000 */ mtc1 $at, $f4
/* 072A20 80071E20 3C028016 */ lui $v0, %hi(gPlayerPositions) # $v0, 0x8016
/* 072A24 80071E24 244243B8 */ addiu $v0, %lo(gPlayerPositions) # addiu $v0, $v0, 0x43b8
/* 072A20 80071E20 3C028016 */ lui $v0, %hi(gGPCurrentRaceRankByPlayerId) # $v0, 0x8016
/* 072A24 80071E24 244243B8 */ addiu $v0, %lo(gGPCurrentRaceRankByPlayerId) # addiu $v0, $v0, 0x43b8
/* 072A28 80071E28 E6040190 */ swc1 $f4, 0x190($s0)
/* 072A2C 80071E2C C6000190 */ lwc1 $f0, 0x190($s0)
/* 072A30 80071E30 8C590000 */ lw $t9, ($v0)

View File

@ -13,8 +13,8 @@ glabel func_8007C9F8
/* 07D61C 8007CA1C 3C038016 */ lui $v1, %hi(gGPCurrentRacePlayerIdByRank) # 0x8016
/* 07D620 8007CA20 3C0E800E */ lui $t6, %hi(gModeSelection) # $t6, 0x800e
/* 07D624 8007CA24 8DCEC53C */ lw $t6, %lo(gModeSelection)($t6)
/* 07D628 8007CA28 3C048016 */ lui $a0, %hi(gPlayerPositions) # $a0, 0x8016
/* 07D62C 8007CA2C 248443B8 */ addiu $a0, %lo(gPlayerPositions) # addiu $a0, $a0, 0x43b8
/* 07D628 8007CA28 3C048016 */ lui $a0, %hi(gGPCurrentRaceRankByPlayerId) # $a0, 0x8016
/* 07D62C 8007CA2C 248443B8 */ addiu $a0, %lo(gGPCurrentRaceRankByPlayerId) # addiu $a0, $a0, 0x43b8
/* 07D630 8007CA30 15C0000A */ bnez $t6, .L8007CA5C
/* 07D634 8007CA34 3C038016 */ lui $v1, %hi(gGPCurrentRacePlayerIdByRank) # 0x8016
/* 07D638 8007CA38 8C820000 */ lw $v0, ($a0)

View File

@ -1,58 +0,0 @@
glabel func_800958D4
/* 0964D4 800958D4 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 0964D8 800958D8 AFA40030 */ sw $a0, 0x30($sp)
/* 0964DC 800958DC 8FA40044 */ lw $a0, 0x44($sp)
/* 0964E0 800958E0 3C0E8019 */ lui $t6, %hi(D_8018E7A8) # $t6, 0x8019
/* 0964E4 800958E4 8DCEE7A8 */ lw $t6, %lo(D_8018E7A8)($t6)
/* 0964E8 800958E8 AFBF002C */ sw $ra, 0x2c($sp)
/* 0964EC 800958EC 8FA80040 */ lw $t0, 0x40($sp)
/* 0964F0 800958F0 01C4001A */ div $zero, $t6, $a0
/* 0964F4 800958F4 00007810 */ mfhi $t7
/* 0964F8 800958F8 000FC240 */ sll $t8, $t7, 9
/* 0964FC 800958FC 14800002 */ bnez $a0, .L80095908
/* 096500 80095900 00000000 */ nop
/* 096504 80095904 0007000D */ break 7
.L80095908:
/* 096508 80095908 2401FFFF */ li $at, -1
/* 09650C 8009590C 14810004 */ bne $a0, $at, .L80095920
/* 096510 80095910 3C018000 */ lui $at, 0x8000
/* 096514 80095914 15C10002 */ bne $t6, $at, .L80095920
/* 096518 80095918 00000000 */ nop
/* 09651C 8009591C 0006000D */ break 6
.L80095920:
/* 096520 80095920 0304001A */ div $zero, $t8, $a0
/* 096524 80095924 14800002 */ bnez $a0, .L80095930
/* 096528 80095928 00000000 */ nop
/* 09652C 8009592C 0007000D */ break 7
.L80095930:
/* 096530 80095930 2401FFFF */ li $at, -1
/* 096534 80095934 14810004 */ bne $a0, $at, .L80095948
/* 096538 80095938 3C018000 */ lui $at, 0x8000
/* 09653C 8009593C 17010002 */ bne $t8, $at, .L80095948
/* 096540 80095940 00000000 */ nop
/* 096544 80095944 0006000D */ break 6
.L80095948:
/* 096548 80095948 00001012 */ mflo $v0
/* 09654C 8009594C 28410101 */ slti $at, $v0, 0x101
/* 096550 80095950 14200003 */ bnez $at, .L80095960
/* 096554 80095954 3C048015 */ lui $a0, %hi(gDisplayListHead) # $a0, 0x8015
/* 096558 80095958 24190200 */ li $t9, 512
/* 09655C 8009595C 03221023 */ subu $v0, $t9, $v0
.L80095960:
/* 096560 80095960 28410100 */ slti $at, $v0, 0x100
/* 096564 80095964 14200002 */ bnez $at, .L80095970
/* 096568 80095968 240900FF */ li $t1, 255
/* 09656C 8009596C 240200FF */ li $v0, 255
.L80095970:
/* 096570 80095970 8C840298 */ lw $a0, %lo(gDisplayListHead)($a0)
/* 096574 80095974 AFA80010 */ sw $t0, 0x10($sp)
/* 096578 80095978 AFA20014 */ sw $v0, 0x14($sp)
/* 09657C 8009597C AFA20018 */ sw $v0, 0x18($sp)
/* 096580 80095980 AFA2001C */ sw $v0, 0x1c($sp)
/* 096584 80095984 0C026306 */ jal func_80098C18
/* 096588 80095988 AFA90020 */ sw $t1, 0x20($sp)
/* 09658C 8009598C 8FBF002C */ lw $ra, 0x2c($sp)
/* 096590 80095990 3C018015 */ lui $at, %hi(gDisplayListHead) # $at, 0x8015
/* 096594 80095994 AC220298 */ sw $v0, %lo(gDisplayListHead)($at)
/* 096598 80095998 03E00008 */ jr $ra
/* 09659C 8009599C 27BD0030 */ addiu $sp, $sp, 0x30

View File

@ -1,37 +0,0 @@
glabel func_800A095C
/* 0A155C 800A095C 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 0A1560 800A0960 AFB40028 */ sw $s4, 0x28($sp)
/* 0A1564 800A0964 AFB30024 */ sw $s3, 0x24($sp)
/* 0A1568 800A0968 AFB20020 */ sw $s2, 0x20($sp)
/* 0A156C 800A096C AFB1001C */ sw $s1, 0x1c($sp)
/* 0A1570 800A0970 AFB00018 */ sw $s0, 0x18($sp)
/* 0A1574 800A0974 00A08825 */ move $s1, $a1
/* 0A1578 800A0978 00809025 */ move $s2, $a0
/* 0A157C 800A097C 00E0A025 */ move $s4, $a3
/* 0A1580 800A0980 AFBF002C */ sw $ra, 0x2c($sp)
/* 0A1584 800A0984 00009825 */ move $s3, $zero
/* 0A1588 800A0988 10A0000C */ beqz $a1, .L800A09BC
/* 0A158C 800A098C 00C08025 */ move $s0, $a2
.L800A0990:
/* 0A1590 800A0990 82420000 */ lb $v0, ($s2)
/* 0A1594 800A0994 02002825 */ move $a1, $s0
/* 0A1598 800A0998 02803025 */ move $a2, $s4
/* 0A159C 800A099C 10400002 */ beqz $v0, .L800A09A8
/* 0A15A0 800A09A0 304400FF */ andi $a0, $v0, 0xff
/* 0A15A4 800A09A4 26730001 */ addiu $s3, $s3, 1
.L800A09A8:
/* 0A15A8 800A09A8 0C028236 */ jal func_800A08D8
/* 0A15AC 800A09AC 26520001 */ addiu $s2, $s2, 1
/* 0A15B0 800A09B0 2631FFFF */ addiu $s1, $s1, -1
/* 0A15B4 800A09B4 1620FFF6 */ bnez $s1, .L800A0990
/* 0A15B8 800A09B8 26100008 */ addiu $s0, $s0, 8
.L800A09BC:
/* 0A15BC 800A09BC 8FBF002C */ lw $ra, 0x2c($sp)
/* 0A15C0 800A09C0 02601025 */ move $v0, $s3
/* 0A15C4 800A09C4 8FB30024 */ lw $s3, 0x24($sp)
/* 0A15C8 800A09C8 8FB00018 */ lw $s0, 0x18($sp)
/* 0A15CC 800A09CC 8FB1001C */ lw $s1, 0x1c($sp)
/* 0A15D0 800A09D0 8FB20020 */ lw $s2, 0x20($sp)
/* 0A15D4 800A09D4 8FB40028 */ lw $s4, 0x28($sp)
/* 0A15D8 800A09D8 03E00008 */ jr $ra
/* 0A15DC 800A09DC 27BD0030 */ addiu $sp, $sp, 0x30

View File

@ -43,9 +43,9 @@ glabel func_800A69C8
/* 0A7668 800A6A68 00035080 */ sll $t2, $v1, 2
.L800A6A6C:
/* 0A766C 800A6A6C 00107880 */ sll $t7, $s0, 2
/* 0A7670 800A6A70 3C188016 */ lui $t8, %hi(gPlayerPositions)
/* 0A7670 800A6A70 3C188016 */ lui $t8, %hi(gGPCurrentRaceRankByPlayerId)
/* 0A7674 800A6A74 030FC021 */ addu $t8, $t8, $t7
/* 0A7678 800A6A78 8F1843B8 */ lw $t8, %lo(gPlayerPositions)($t8)
/* 0A7678 800A6A78 8F1843B8 */ lw $t8, %lo(gGPCurrentRaceRankByPlayerId)($t8)
/* 0A767C 800A6A7C 3C198016 */ lui $t9, %hi(gNmiUnknown1) # $t9, 0x8016
/* 0A7680 800A6A80 13000002 */ beqz $t8, .L800A6A8C
/* 0A7684 800A6A84 00000000 */ nop

View File

@ -1,9 +1,9 @@
glabel func_800A6E94
/* 0A7A94 800A6E94 27BDFFB0 */ addiu $sp, $sp, -0x50
/* 0A7A98 800A6E98 00057880 */ sll $t7, $a1, 2
/* 0A7A9C 800A6E9C 3C188016 */ lui $t8, %hi(gPlayerPositions)
/* 0A7A9C 800A6E9C 3C188016 */ lui $t8, %hi(gGPCurrentRaceRankByPlayerId)
/* 0A7AA0 800A6EA0 030FC021 */ addu $t8, $t8, $t7
/* 0A7AA4 800A6EA4 8F1843B8 */ lw $t8, %lo(gPlayerPositions)($t8)
/* 0A7AA4 800A6EA4 8F1843B8 */ lw $t8, %lo(gGPCurrentRaceRankByPlayerId)($t8)
/* 0A7AA8 800A6EA8 AFBF002C */ sw $ra, 0x2c($sp)
/* 0A7AAC 800A6EAC AFB00028 */ sw $s0, 0x28($sp)
/* 0A7AB0 800A6EB0 F7B40020 */ sdc1 $f20, 0x20($sp)

View File

@ -1,104 +0,0 @@
glabel func_800A890C
/* 0A950C 800A890C 27BDFFC8 */ addiu $sp, $sp, -0x38
/* 0A9510 800A8910 AFBF0034 */ sw $ra, 0x34($sp)
/* 0A9514 800A8914 AFB00030 */ sw $s0, 0x30($sp)
/* 0A9518 800A8918 AFA40038 */ sw $a0, 0x38($sp)
/* 0A951C 800A891C AFA5003C */ sw $a1, 0x3c($sp)
/* 0A9520 800A8920 8CA9001C */ lw $t1, 0x1c($a1)
/* 0A9524 800A8924 3C108015 */ lui $s0, %hi(gDisplayListHead) # $s0, 0x8015
/* 0A9528 800A8928 26100298 */ addiu $s0, %lo(gDisplayListHead) # addiu $s0, $s0, 0x298
/* 0A952C 800A892C 29210020 */ slti $at, $t1, 0x20
/* 0A9530 800A8930 10200054 */ beqz $at, .L800A8A84
/* 0A9534 800A8934 00091980 */ sll $v1, $t1, 6
/* 0A9538 800A8938 8FB8003C */ lw $t8, 0x3c($sp)
/* 0A953C 800A893C 8E020000 */ lw $v0, ($s0)
/* 0A9540 800A8940 3C0AE700 */ lui $t2, 0xe700
/* 0A9544 800A8944 8F08000C */ lw $t0, 0xc($t8)
/* 0A9548 800A8948 8F060010 */ lw $a2, 0x10($t8)
/* 0A954C 800A894C 24590008 */ addiu $t9, $v0, 8
/* 0A9550 800A8950 AE190000 */ sw $t9, ($s0)
/* 0A9554 800A8954 AC400004 */ sw $zero, 4($v0)
/* 0A9558 800A8958 AC4A0000 */ sw $t2, ($v0)
/* 0A955C 800A895C 8E020000 */ lw $v0, ($s0)
/* 0A9560 800A8960 3C0CB900 */ lui $t4, (0xB900031D >> 16) # lui $t4, 0xb900
/* 0A9564 800A8964 3C0D0F0A */ lui $t5, (0x0F0A4000 >> 16) # lui $t5, 0xf0a
/* 0A9568 800A8968 244B0008 */ addiu $t3, $v0, 8
/* 0A956C 800A896C AE0B0000 */ sw $t3, ($s0)
/* 0A9570 800A8970 00691821 */ addu $v1, $v1, $t1
/* 0A9574 800A8974 35AD4000 */ ori $t5, (0x0F0A4000 & 0xFFFF) # ori $t5, $t5, 0x4000
/* 0A9578 800A8978 358C031D */ ori $t4, (0xB900031D & 0xFFFF) # ori $t4, $t4, 0x31d
/* 0A957C 800A897C AC4C0000 */ sw $t4, ($v0)
/* 0A9580 800A8980 AC4D0004 */ sw $t5, 4($v0)
/* 0A9584 800A8984 8E020000 */ lw $v0, ($s0)
/* 0A9588 800A8988 04610003 */ bgez $v1, .L800A8998
/* 0A958C 800A898C 00037983 */ sra $t7, $v1, 6
/* 0A9590 800A8990 2461003F */ addiu $at, $v1, 0x3f
/* 0A9594 800A8994 00017983 */ sra $t7, $at, 6
.L800A8998:
/* 0A9598 800A8998 01E01825 */ move $v1, $t7
/* 0A959C 800A899C 244E0008 */ addiu $t6, $v0, 8
/* 0A95A0 800A89A0 AE0E0000 */ sw $t6, ($s0)
/* 0A95A4 800A89A4 3C0FFCFF */ lui $t7, (0xFCFFFFFF >> 16) # lui $t7, 0xfcff
/* 0A95A8 800A89A8 3C18FFFC */ lui $t8, (0xFFFCF279 >> 16) # lui $t8, 0xfffc
/* 0A95AC 800A89AC 3718F279 */ ori $t8, (0xFFFCF279 & 0xFFFF) # ori $t8, $t8, 0xf279
/* 0A95B0 800A89B0 35EFFFFF */ ori $t7, (0xFCFFFFFF & 0xFFFF) # ori $t7, $t7, 0xffff
/* 0A95B4 800A89B4 AC4F0000 */ sw $t7, ($v0)
/* 0A95B8 800A89B8 AC580004 */ sw $t8, 4($v0)
/* 0A95BC 800A89BC 3C0A8019 */ lui $t2, %hi(gCupSelection) # $t2, 0x8019
/* 0A95C0 800A89C0 814AEE09 */ lb $t2, %lo(gCupSelection)($t2)
/* 0A95C4 800A89C4 8FB90038 */ lw $t9, 0x38($sp)
/* 0A95C8 800A89C8 01033823 */ subu $a3, $t0, $v1
/* 0A95CC 800A89CC 24E70040 */ addiu $a3, $a3, 0x40
/* 0A95D0 800A89D0 172A001F */ bne $t9, $t2, .L800A8A50
/* 0A95D4 800A89D4 01032821 */ addu $a1, $t0, $v1
/* 0A95D8 800A89D8 3C0B8019 */ lui $t3, %hi(D_8018EDEC) # $t3, 0x8019
/* 0A95DC 800A89DC 816BEDEC */ lb $t3, %lo(D_8018EDEC)($t3)
/* 0A95E0 800A89E0 24010001 */ li $at, 1
/* 0A95E4 800A89E4 01032821 */ addu $a1, $t0, $v1
/* 0A95E8 800A89E8 1561000A */ bne $t3, $at, .L800A8A14
/* 0A95EC 800A89EC 01033823 */ subu $a3, $t0, $v1
/* 0A95F0 800A89F0 01033823 */ subu $a3, $t0, $v1
/* 0A95F4 800A89F4 24CC0027 */ addiu $t4, $a2, 0x27
/* 0A95F8 800A89F8 AFAC0010 */ sw $t4, 0x10($sp)
/* 0A95FC 800A89FC 24E70040 */ addiu $a3, $a3, 0x40
/* 0A9600 800A8A00 8E040000 */ lw $a0, ($s0)
/* 0A9604 800A8A04 0C025668 */ jal func_800959A0
/* 0A9608 800A8A08 01032821 */ addu $a1, $t0, $v1
/* 0A960C 800A8A0C 1000001D */ b .L800A8A84
/* 0A9610 800A8A10 AE020000 */ sw $v0, ($s0)
.L800A8A14:
/* 0A9614 800A8A14 24CD0027 */ addiu $t5, $a2, 0x27
/* 0A9618 800A8A18 240E00FF */ li $t6, 255
/* 0A961C 800A8A1C 240F00F9 */ li $t7, 249
/* 0A9620 800A8A20 241800DC */ li $t8, 220
/* 0A9624 800A8A24 241900FF */ li $t9, 255
/* 0A9628 800A8A28 AFB90020 */ sw $t9, 0x20($sp)
/* 0A962C 800A8A2C AFB8001C */ sw $t8, 0x1c($sp)
/* 0A9630 800A8A30 AFAF0018 */ sw $t7, 0x18($sp)
/* 0A9634 800A8A34 AFAE0014 */ sw $t6, 0x14($sp)
/* 0A9638 800A8A38 AFAD0010 */ sw $t5, 0x10($sp)
/* 0A963C 800A8A3C 8E040000 */ lw $a0, ($s0)
/* 0A9640 800A8A40 0C026306 */ jal func_80098C18
/* 0A9644 800A8A44 24E70040 */ addiu $a3, $a3, 0x40
/* 0A9648 800A8A48 1000000E */ b .L800A8A84
/* 0A964C 800A8A4C AE020000 */ sw $v0, ($s0)
.L800A8A50:
/* 0A9650 800A8A50 24CA0027 */ addiu $t2, $a2, 0x27
/* 0A9654 800A8A54 240B0001 */ li $t3, 1
/* 0A9658 800A8A58 240C0001 */ li $t4, 1
/* 0A965C 800A8A5C 240D0001 */ li $t5, 1
/* 0A9660 800A8A60 240E00FF */ li $t6, 255
/* 0A9664 800A8A64 AFAE0020 */ sw $t6, 0x20($sp)
/* 0A9668 800A8A68 AFAD001C */ sw $t5, 0x1c($sp)
/* 0A966C 800A8A6C AFAC0018 */ sw $t4, 0x18($sp)
/* 0A9670 800A8A70 AFAB0014 */ sw $t3, 0x14($sp)
/* 0A9674 800A8A74 AFAA0010 */ sw $t2, 0x10($sp)
/* 0A9678 800A8A78 0C026306 */ jal func_80098C18
/* 0A967C 800A8A7C 8E040000 */ lw $a0, ($s0)
/* 0A9680 800A8A80 AE020000 */ sw $v0, ($s0)
.L800A8A84:
/* 0A9684 800A8A84 8FBF0034 */ lw $ra, 0x34($sp)
/* 0A9688 800A8A88 8FB00030 */ lw $s0, 0x30($sp)
/* 0A968C 800A8A8C 27BD0038 */ addiu $sp, $sp, 0x38
/* 0A9690 800A8A90 03E00008 */ jr $ra
/* 0A9694 800A8A94 00000000 */ nop

View File

@ -69,9 +69,9 @@ glabel L800AD01C
/* 0ADC40 800AD040 1000000C */ b .L800AD074
/* 0ADC44 800AD044 00000000 */ nop
.L800AD048:
/* 0ADC48 800AD048 3C0C8016 */ lui $t4, %hi(gPlayerPositions)
/* 0ADC48 800AD048 3C0C8016 */ lui $t4, %hi(gGPCurrentRaceRankByPlayerId)
/* 0ADC4C 800AD04C 018B6021 */ addu $t4, $t4, $t3
/* 0ADC50 800AD050 8D8C43B8 */ lw $t4, %lo(gPlayerPositions)($t4)
/* 0ADC50 800AD050 8D8C43B8 */ lw $t4, %lo(gGPCurrentRaceRankByPlayerId)($t4)
/* 0ADC54 800AD054 11800007 */ beqz $t4, .L800AD074
/* 0ADC58 800AD058 00000000 */ nop
/* 0ADC5C 800AD05C 10000005 */ b .L800AD074

View File

@ -1,59 +0,0 @@
glabel func_802A7658
/* 110C68 802A7658 27BDFFF8 */ addiu $sp, $sp, -8
/* 110C6C 802A765C AFB00004 */ sw $s0, 4($sp)
/* 110C70 802A7660 00C08025 */ move $s0, $a2
/* 110C74 802A7664 00001025 */ move $v0, $zero
/* 110C78 802A7668 18E0002C */ blez $a3, .L802A771C
/* 110C7C 802A766C 00001825 */ move $v1, $zero
/* 110C80 802A7670 00057080 */ sll $t6, $a1, 2
/* 110C84 802A7674 01C57021 */ addu $t6, $t6, $a1
/* 110C88 802A7678 000E7180 */ sll $t6, $t6, 6
/* 110C8C 802A767C 01C43021 */ addu $a2, $t6, $a0
/* 110C90 802A7680 8FAA0018 */ lw $t2, 0x18($sp)
/* 110C94 802A7684 8FA8001C */ lw $t0, 0x1c($sp)
.L802A7688:
/* 110C98 802A7688 00C02025 */ move $a0, $a2
/* 110C9C 802A768C 1A000020 */ blez $s0, .L802A7710
/* 110CA0 802A7690 00002825 */ move $a1, $zero
/* 110CA4 802A7694 00027840 */ sll $t7, $v0, 1
/* 110CA8 802A7698 320D0003 */ andi $t5, $s0, 3
/* 110CAC 802A769C 11A0000D */ beqz $t5, .L802A76D4
/* 110CB0 802A76A0 010F4821 */ addu $t1, $t0, $t7
/* 110CB4 802A76A4 0004C040 */ sll $t8, $a0, 1
/* 110CB8 802A76A8 01585821 */ addu $t3, $t2, $t8
/* 110CBC 802A76AC 01A06025 */ move $t4, $t5
.L802A76B0:
/* 110CC0 802A76B0 95790000 */ lhu $t9, ($t3)
/* 110CC4 802A76B4 24A50001 */ addiu $a1, $a1, 1
/* 110CC8 802A76B8 24420001 */ addiu $v0, $v0, 1
/* 110CCC 802A76BC 25290002 */ addiu $t1, $t1, 2
/* 110CD0 802A76C0 24840001 */ addiu $a0, $a0, 1
/* 110CD4 802A76C4 256B0002 */ addiu $t3, $t3, 2
/* 110CD8 802A76C8 1585FFF9 */ bne $t4, $a1, .L802A76B0
/* 110CDC 802A76CC A539FFFE */ sh $t9, -2($t1)
/* 110CE0 802A76D0 10B0000F */ beq $a1, $s0, .L802A7710
.L802A76D4:
/* 110CE4 802A76D4 00047040 */ sll $t6, $a0, 1
/* 110CE8 802A76D8 014E5821 */ addu $t3, $t2, $t6
.L802A76DC:
/* 110CEC 802A76DC 956F0000 */ lhu $t7, ($t3)
/* 110CF0 802A76E0 24A50004 */ addiu $a1, $a1, 4
/* 110CF4 802A76E4 24420004 */ addiu $v0, $v0, 4
/* 110CF8 802A76E8 A52F0000 */ sh $t7, ($t1)
/* 110CFC 802A76EC 95780002 */ lhu $t8, 2($t3)
/* 110D00 802A76F0 25290008 */ addiu $t1, $t1, 8
/* 110D04 802A76F4 256B0008 */ addiu $t3, $t3, 8
/* 110D08 802A76F8 A538FFFA */ sh $t8, -6($t1)
/* 110D0C 802A76FC 9579FFFC */ lhu $t9, -4($t3)
/* 110D10 802A7700 A539FFFC */ sh $t9, -4($t1)
/* 110D14 802A7704 956EFFFE */ lhu $t6, -2($t3)
/* 110D18 802A7708 14B0FFF4 */ bne $a1, $s0, .L802A76DC
/* 110D1C 802A770C A52EFFFE */ sh $t6, -2($t1)
.L802A7710:
/* 110D20 802A7710 24630001 */ addiu $v1, $v1, 1
/* 110D24 802A7714 1467FFDC */ bne $v1, $a3, .L802A7688
/* 110D28 802A7718 24C60140 */ addiu $a2, $a2, 0x140
.L802A771C:
/* 110D2C 802A771C 8FB00004 */ lw $s0, 4($sp)
/* 110D30 802A7720 03E00008 */ jr $ra
/* 110D34 802A7724 27BD0008 */ addiu $sp, $sp, 8

View File

@ -1094,6 +1094,7 @@ glabel D_800ED038
glabel D_800ED03C
.float 0.15
#begin func_8000EF20
glabel D_800ED040
.float 0.3
@ -1105,6 +1106,7 @@ glabel D_800ED048
glabel D_800ED04C
.float 0.9
#end func_8000EF20
glabel D_800ED050
.float 0.015

View File

@ -2834,6 +2834,7 @@ glabel D_800F0B50
glabel D_800F0B54
.byte 0x20, 0x0f, 0x18, 0x2c
# being func_80095574
.balign 4
glabel D_800F0B58
.asciiz "debug_mode"
@ -2889,6 +2890,7 @@ glabel D_800F0BA4
.balign 4
glabel D_800F0BB0
.asciiz "push b to get all goldcup"
# end func_80095574
.balign 4
glabel D_800F0BCC
@ -3921,6 +3923,7 @@ glabel jpt_800F2868
.word L800ADE80, L800ADEA0, L800ADEB0, L800ADEC0
.word L800ADED0
# begin func_800ADF48
glabel jpt_800F287C
.word L800ADF84, L800AE208, L800AE208, L800AE208
.word L800AE208, L800AE208, L800AE208, L800AE208
@ -3943,6 +3946,7 @@ glabel D_800F2938
glabel D_800F2940
.double 4.2
#end func_800ADF48
glabel jpt_800F2948
.word L800AE260, L800AE2C8, L800AEC40, L800AEC40

View File

@ -58,7 +58,7 @@ extern s8 gNextDemoId; // D_800E86BC
extern u8 gPerCupIndexByCourseId[NUM_COURSES]; // D_800EFD50
extern s32 gPlayerCountSelection1;
extern s32 gPlayerIsThrottleActive[]; // D_801653E0
extern s32 gPlayerPositions[]; // D_801643B8
extern s32 gGPCurrentRaceRankByPlayerId[]; // D_801643B8
extern u8 gSaveDataSoundMode; // D_8018ED14
extern u8 gSaveDataSoundModeBackup; // D_8018ED8C

View File

@ -9,6 +9,7 @@
#include "code_80005FD0.h"
#include "code_8001F980.h"
#include "code_80027D00.h"
#include "code_80071F00.h"
#include "variables.h"
#include <actor_types.h>
#include "vehicles.h"
@ -478,7 +479,7 @@ block_34:
var_t1_3 += 1;
} while (var_t1_3 != sp30);
}
var_v1_5 = gPlayerPositions;
var_v1_5 = gGPCurrentRaceRankByPlayerId;
var_v0_5 = &D_801643E0;
do {
temp_t9 = *var_v1_5;
@ -497,7 +498,7 @@ block_34:
temp_v1_2 = *var_v0_6;
var_t2_6 += 2;
var_v0_6 += 4;
gPlayerPositions[temp_v1_2] = var_t3_3;
gGPCurrentRaceRankByPlayerId[temp_v1_2] = var_t3_3;
var_t3_3 = var_t1_4;
var_t2_6->unk-2 = (s16) temp_v1_2;
var_t1_4 += 1;
@ -514,19 +515,19 @@ block_50:
temp_v1_3 = *var_v0_7;
var_t2_7 += 8;
var_v0_7 += 0x10;
gPlayerPositions[temp_v1_3] = var_t3_3;
gGPCurrentRaceRankByPlayerId[temp_v1_3] = var_t3_3;
temp_a1 = var_v0_7->unk-C;
temp_t7 = var_t3_3 + 2;
var_t2_7->unk-8 = (s16) temp_v1_3;
gPlayerPositions[temp_a1] = var_t1_5;
gGPCurrentRaceRankByPlayerId[temp_a1] = var_t1_5;
temp_a3 = var_v0_7->unk-8;
temp_t9_2 = var_t3_3 + 3;
var_t3_3 += 4;
gPlayerPositions[temp_a3] = temp_t7;
gGPCurrentRaceRankByPlayerId[temp_a3] = temp_t7;
temp_t0_4 = var_v0_7->unk-4;
var_t1_5 += 4;
var_t2_7->unk-6 = (s16) temp_a1;
gPlayerPositions[temp_t0_4] = temp_t9_2;
gGPCurrentRaceRankByPlayerId[temp_t0_4] = temp_t9_2;
var_t2_7->unk-4 = (s16) temp_a3;
var_t2_7->unk-2 = (s16) temp_t0_4;
} while (var_t3_3 != var_t4);
@ -870,7 +871,7 @@ block_21:
var_a1_2 += 1;
} while (var_a1_2 != temp_t0);
}
var_v1_3 = gPlayerPositions;
var_v1_3 = gGPCurrentRaceRankByPlayerId;
var_v0_4 = &D_801643E0;
do {
temp_t7 = *var_v1_3;
@ -889,7 +890,7 @@ block_21:
temp_v1_2 = *var_v0_5;
var_t0_3 += 2;
var_v0_5 += 4;
gPlayerPositions[temp_v1_2] = var_a3_3;
gGPCurrentRaceRankByPlayerId[temp_v1_2] = var_a3_3;
var_a3_3 = var_a1_3;
var_t0_3->unk-2 = (s16) temp_v1_2;
var_a1_3 += 1;
@ -906,19 +907,19 @@ block_35:
temp_v1_3 = *var_v0_6;
var_t0_4 += 8;
var_v0_6 += 0x10;
gPlayerPositions[temp_v1_3] = var_a3_3;
gGPCurrentRaceRankByPlayerId[temp_v1_3] = var_a3_3;
temp_a0_6 = var_v0_6->unk-C;
temp_t6 = var_a3_3 + 2;
var_t0_4->unk-8 = (s16) temp_v1_3;
gPlayerPositions[temp_a0_6] = var_a1_4;
gGPCurrentRaceRankByPlayerId[temp_a0_6] = var_a1_4;
temp_t1_2 = var_v0_6->unk-8;
temp_t9 = var_a3_3 + 3;
var_a3_3 += 4;
gPlayerPositions[temp_t1_2] = temp_t6;
gGPCurrentRaceRankByPlayerId[temp_t1_2] = temp_t6;
temp_t2_6 = var_v0_6->unk-4;
var_a1_4 += 4;
var_t0_4->unk-6 = (s16) temp_a0_6;
gPlayerPositions[temp_t2_6] = temp_t9;
gGPCurrentRaceRankByPlayerId[temp_t2_6] = temp_t9;
var_t0_4->unk-4 = (s16) temp_t1_2;
var_t0_4->unk-2 = (s16) temp_t2_6;
} while (var_a3_3 != var_a2);
@ -1202,7 +1203,7 @@ block_55:
var_a3_3 += 1;
} while (var_a3_3 != 7);
}
var_v1_3 = gPlayerPositions;
var_v1_3 = gGPCurrentRaceRankByPlayerId;
var_v0_4 = &D_801643E0;
do {
temp_t6_3 = *var_v1_3;
@ -1218,19 +1219,19 @@ block_55:
temp_v1 = *var_v0_5;
var_v0_5 += 0x10;
var_a0_4 += 8;
gPlayerPositions[temp_v1] = var_t0_5;
gGPCurrentRaceRankByPlayerId[temp_v1] = var_t0_5;
temp_a1 = var_v0_5->unk-C;
temp_t8_3 = var_t0_5 + 2;
var_a0_4->unk-8 = (s16) temp_v1;
gPlayerPositions[temp_a1] = var_a3_4;
gGPCurrentRaceRankByPlayerId[temp_a1] = var_a3_4;
temp_a2 = var_v0_5->unk-8;
temp_t7_3 = var_t0_5 + 3;
var_t0_5 += 4;
gPlayerPositions[temp_a2] = temp_t8_3;
gGPCurrentRaceRankByPlayerId[temp_a2] = temp_t8_3;
temp_t1_2 = var_v0_5->unk-4;
var_a3_4 += 4;
var_a0_4->unk-6 = (s16) temp_a1;
gPlayerPositions[temp_t1_2] = temp_t7_3;
gGPCurrentRaceRankByPlayerId[temp_t1_2] = temp_t7_3;
var_a0_4->unk-4 = (s16) temp_a2;
var_a0_4->unk-2 = (s16) temp_t1_2;
} while (var_t0_5 != 8);
@ -1276,8 +1277,8 @@ void func_80007D04(s32 playerId, Player *player) {
temp_v1 = D_80163478;
temp_t1 = D_80164450[temp_v1];
temp_t2 = D_80164450[playerId];
if (gPlayerPositions[playerId] < 2) {
if (((s16) (temp_t2 - temp_t1) >= 0x191) && ((s16)gPlayerPositions[temp_v1] >= 6)) {
if (gGPCurrentRaceRankByPlayerId[playerId] < 2) {
if (((s16) (temp_t2 - temp_t1) >= 0x191) && ((s16)gGPCurrentRaceRankByPlayerId[temp_v1] >= 6)) {
player->unk_0BC &= ~0x200000;
func_80030FC8(player);
var_t5 = 4;
@ -1752,15 +1753,15 @@ s32 func_800088D8(s32 arg0, s16 arg1, s16 arg2) {
do {
temp_t7 = (u16) *var_a0_3;
var_a0_3 += 2;
if (gPlayerPositions[temp_t7] < arg2) {
if (gGPCurrentRaceRankByPlayerId[temp_t7] < arg2) {
var_v0 += 1;
}
} while ((u32) var_a0_3 < (u32) &D_80163348);
temp_t1_2 = D_8018EDF3;
var_a0_4 = 0;
var_v1 = gPlayerPositions;
var_v1 = gGPCurrentRaceRankByPlayerId;
if (temp_t1_2 > 0) {
sp4 = &gPlayerPositions[temp_t1_2];
sp4 = &gGPCurrentRaceRankByPlayerId[temp_t1_2];
do {
if (*var_v1 < arg2) {
var_a0_4 += 1;
@ -2204,10 +2205,10 @@ void func_800099EC(s32 arg0, ? arg1) {
phi_s0 = 0;
phi_a0 = temp_a0;
if (temp_a0 > ZERO_PLAYERS_SELECTED) {
phi_s2 = gPlayerPositions;
phi_s2 = gGPCurrentRaceRankByPlayerId;
phi_s1 = 0;
do {
temp_v0 = gPlayerPositions[arg0];
temp_v0 = gGPCurrentRaceRankByPlayerId[arg0];
temp_v1 = *phi_s2;
if ((temp_v0 < temp_v1) && (temp_v0 == *(&D_801643E0 + phi_s1)) && (temp_v1 == *(&D_801643E0 + (arg0 * 4)))) {
func_800C92CC(arg0 & 0xFF, 0x2900800D);
@ -2553,7 +2554,7 @@ block_63:
return;
}
temp_v0_9 = D_8018EDF3;
if ((temp_v0_9 > 0) && (temp_v0_9 < 3) && (*(&D_80163330 + sp34) == 1) && ((s32) *(&D_8016334C + sp34) < *(gPlayerPositions + sp38))) {
if ((temp_v0_9 > 0) && (temp_v0_9 < 3) && (*(&D_80163330 + sp34) == 1) && ((s32) *(&D_8016334C + sp34) < *(gGPCurrentRaceRankByPlayerId + sp38))) {
var_t0 = sp38 + &D_80163210;
*var_t0 = 0x41055555;
} else if (D_80162FD0 == (s16) 1U) {
@ -4498,79 +4499,55 @@ void func_8000EEDC(void) {
}
}
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
void func_80076D70(void *, f32, s16); // extern
extern f32 D_800ED040;
extern f32 D_800ED044;
extern f32 D_800ED048;
extern f32 D_800ED04C;
extern ? gActorList;
extern ? D_801641F8;
extern ? D_801642D8;
#ifdef NEEDS_RODATA
// data/data_0DD0A0_3.s
extern f32 D_800ED040;// = 0.3f;
extern f32 D_800ED044;// = 0.45f;
extern f32 D_800ED048;// = 0.15f;
extern f32 D_800ED04C;// = 0.9f;
void func_8000EF20(void) {
? *temp_s0;
f32 temp_f22;
s16 temp_v0;
u32 temp_t0;
u32 temp_v0_2;
u32 temp_v0_3;
u32 temp_v0_4;
void *temp_s1;
? *phi_s0;
u32 phi_v0;
f32 phi_f20;
s32 someIndex;
f32 var_f20;
struct Actor *temp_s1;
struct unk_41F8 *var_s0;
temp_f22 = D_800ED048;
phi_s0 = &D_801641F8;
do {
if (phi_s0->unkC == 1) {
temp_v0 = phi_s0->unk10;
temp_t0 = phi_s0->unk14 + 1;
phi_s0->unk14 = temp_t0;
temp_s1 = &gActorList + (phi_s0->unkE * 0x70);
if (temp_v0 != 0) {
if (temp_v0 != 1) {
if (temp_v0 != 2) {
phi_v0 = temp_t0;
phi_f20 = 1.0f;
} else {
temp_v0_2 = phi_s0->unk14;
phi_v0 = temp_v0_2;
if (temp_v0_2 < 0xA) {
phi_f20 = temp_f22;
} else {
goto block_14;
}
}
for (someIndex = 0; someIndex < 8; someIndex++) {
var_s0 = &D_801641F8[someIndex];
if (var_s0->unkC == 1) {
temp_s1 = &gActorList[var_s0->unkE];
var_s0->unk14++;
switch (var_s0->unk10) {
case 0:
if (var_s0->unk14 < 0xA) {
var_f20 = 0.3f;
} else {
temp_v0_3 = phi_s0->unk14;
phi_v0 = temp_v0_3;
if (temp_v0_3 < 0xA) {
phi_f20 = temp_f22;
} else {
block_14:
phi_v0 = phi_s0->unk14;
phi_f20 = D_800ED044;
}
var_f20 = 0.9f;
}
} else {
temp_v0_4 = phi_s0->unk14;
phi_v0 = temp_v0_4;
if (temp_v0_4 < 0xA) {
phi_f20 = D_800ED040;
break;
case 1:
if (var_s0->unk14 < 0xA) {
var_f20 = 0.15f;
} else {
phi_f20 = D_800ED04C;
var_f20 = 0.45f;
}
break;
case 2:
if (var_s0->unk14 < 0xA) {
var_f20 = 0.15f;
} else {
var_f20 = 0.45f;
}
break;
default:
var_f20 = 1.0f;
break;
}
if ((phi_v0 & 1) == 0) {
func_80076D70(temp_s1 + 0x18, ((random_int(0x1E) + 0x14) * phi_f20) / 50.0f, phi_s0->unk10);
if (!(var_s0->unk14 & 1)) {
func_80076D70(temp_s1->pos, ((random_int(30) + 20) * var_f20) / 50.0f, var_s0->unk10);
}
}
temp_s0 = phi_s0 + 0x1C;
phi_s0 = temp_s0;
} while (temp_s0 != &D_801642D8);
}
}
#else
GLOBAL_ASM("asm/non_matchings/code_80005FD0/func_8000EF20.s")
@ -5067,7 +5044,7 @@ void func_8000F628(void) {
var_ra = &D_801631A0;
var_s6 = &D_801643E0;
var_s5 = &D_801634F8;
var_s4 = gPlayerPositions;
var_s4 = gGPCurrentRaceRankByPlayerId;
var_s2 = &D_80163330;
var_s1 = gPlayers;
sp4C = &D_801630B8;
@ -5268,7 +5245,7 @@ void func_8000F628(void) {
}
var_v1 = gNearestWaypointByPlayerId;
var_v0_3 = gPathIndexByPlayerId;
var_s4_2 = gPlayerPositions;
var_s4_2 = gGPCurrentRaceRankByPlayerId;
do {
var_v1 += 2;
temp_t9_2 = (gWaypointCountByPathIndex[0 & 0xFFFF] - *var_s4_2) - 4;
@ -10224,7 +10201,7 @@ extern s16 D_80164680;
void func_8001A124(s32 arg0, s32 arg1) {
s32 temp_v0;
temp_v0 = gPlayerPositions[arg0];
temp_v0 = gGPCurrentRaceRankByPlayerId[arg0];
switch (temp_v0) { /* irregular */
case 0:
if (random_int(0x0064U) < 0x32) {
@ -10482,12 +10459,12 @@ void func_8001A588(s32 arg0, Camera *camera, u16 *arg2, s8 arg3, s32 arg4) {
D_801646C8 = 0;
}
if ((arg4 == 0) && ((temp_v0_4 = D_801646C8, (temp_v0_4 == 0x0000000A)) || (temp_v0_4 == 0x0000000B))) {
func_8001A518((s32) var_s0, gPlayerPositions[var_s0], 0, arg4);
func_8001A518((s32) var_s0, gGPCurrentRaceRankByPlayerId[var_s0], 0, arg4);
}
if ((gModeSelection != TIME_TRIALS) && (arg4 == 1) && ((temp_v0_5 = D_801646C8, (temp_v0_5 == 0x00000104)) || (temp_v0_5 == 0x00000105))) {
var_v1 = 0;
if (D_8018EDF3 == 2) {
func_8001A518((s32) var_s0, gPlayerPositions[var_s0], 1, arg4);
func_8001A518((s32) var_s0, gGPCurrentRaceRankByPlayerId[var_s0], 1, arg4);
} else {
sp44 = (s32) var_s0;
loop_34:
@ -10727,14 +10704,14 @@ void func_8001AC10(s32 playerId) {
case 0: /* switch 1 */
temp_s0->ffff = -1;
if ((((playerId * 0x14) + 0x64) < D_80164450[playerId]) && (temp_s0->timer >= 0x259) && (temp_s0->laps < 3) && (temp_v1 = gLapCountByPlayerId[playerId], ((temp_v1 < 3) != 0))) {
func_8001AB74(playerId, temp_s0, func_8007AF78((s32) (s16) temp_v1, gPlayerPositions[playerId].unk2));
func_8001AB74(playerId, temp_s0, func_8007AF78((s32) (s16) temp_v1, gGPCurrentRaceRankByPlayerId[playerId].unk2));
} else {
func_8001ABE0(playerId, (s32) temp_s0);
}
default: /* switch 1 */
break;
case 1: /* switch 1 */
if ((gLapCountByPlayerId[playerId] > 0) && (temp_v1_2 = D_80163478, temp_a0 = gPlayerPositions[temp_v1_2], ((temp_a0 < gPlayerPositions[playerId]) != 0)) && (temp_a0 == 0)) {
if ((gLapCountByPlayerId[playerId] > 0) && (temp_v1_2 = D_80163478, temp_a0 = gGPCurrentRaceRankByPlayerId[temp_v1_2], ((temp_a0 < gGPCurrentRaceRankByPlayerId[playerId]) != 0)) && (temp_a0 == 0)) {
temp_v0 = sp2C->characterId;
switch (temp_v0) { /* switch 3; irregular */
case 4: /* switch 3 */

View File

@ -21,7 +21,8 @@ struct unk_41F8 {
u16 unkC;
u16 unkE;
s16 unk10;
s32 unk14;
// s16 compilerPadding;
u32 unk14;
s32 unk18;
};
@ -64,6 +65,7 @@ s32 func_8000EDC8(s32);
void func_8000DF8C(s32);
s32 func_8000EE10(s32);
void func_8000EE58(s32);
void func_8000EF20();
void func_8000EEDC();
void func_8000EF20();
void func_8000F0E0();

View File

@ -2988,7 +2988,7 @@ void func_8004E800(s32 playerId) {
func_8004A384(temp_v0->slideRankX + temp_v0->rankX, temp_v0->slideRankY + temp_v0->rankY, 0U, temp_v0->rankScaling, 0x000000FF, D_800E55F8[temp_v1], 0, 0x000000FF, (s32) ((temp_v1 << 0xC) + D_0D00D258), D_0D0068F0, 0x00000080, 0x00000040, 0x00000080, 0x00000040);
return;
}
func_8004A384(temp_v0->slideRankX + temp_v0->rankX, temp_v0->slideRankY + temp_v0->rankY, 0U, temp_v0->rankScaling, 0x000000FF, D_800E55F8[D_80165594], 0, 0x000000FF, (s32) ((gPlayerPositions[playerId] << 0xC) + D_0D00D258), D_0D0068F0, 0x00000080, 0x00000040, 0x00000080, 0x00000040);
func_8004A384(temp_v0->slideRankX + temp_v0->rankX, temp_v0->slideRankY + temp_v0->rankY, 0U, temp_v0->rankScaling, 0x000000FF, D_800E55F8[D_80165594], 0, 0x000000FF, (s32) ((gGPCurrentRaceRankByPlayerId[playerId] << 0xC) + D_0D00D258), D_0D0068F0, 0x00000080, 0x00000040, 0x00000080, 0x00000040);
}
}
#else
@ -3007,11 +3007,11 @@ void func_8004E998(s32 playerId) {
temp_v0 = &D_8018CA70[playerId];
if ((u8) temp_v0->unk_81 != 0) {
if (temp_v0->lapCount != 3) {
temp_v1 = gPlayerPositions[playerId];
temp_v1 = gGPCurrentRaceRankByPlayerId[playerId];
func_8004A384(temp_v0->slideRankX + temp_v0->rankX, temp_v0->slideRankY + temp_v0->rankY, 0U, temp_v0->rankScaling, 0x000000FF, D_800E5618[temp_v1], 0, 0x000000FF, (s32) ((temp_v1 << 0xB) + D_0D015258), D_0D006030, 0x00000040, 0x00000040, 0x00000040, 0x00000040);
return;
}
func_8004A384(temp_v0->slideRankX + temp_v0->rankX, temp_v0->slideRankY + temp_v0->rankY, 0U, temp_v0->rankScaling, 0x000000FF, D_800E5618[D_80165598], 0, 0x000000FF, (s32) ((gPlayerPositions[playerId] << 0xB) + D_0D015258), D_0D006030, 0x00000040, 0x00000040, 0x00000040, 0x00000040);
func_8004A384(temp_v0->slideRankX + temp_v0->rankX, temp_v0->slideRankY + temp_v0->rankY, 0U, temp_v0->rankScaling, 0x000000FF, D_800E5618[D_80165598], 0, 0x000000FF, (s32) ((gGPCurrentRaceRankByPlayerId[playerId] << 0xB) + D_0D015258), D_0D006030, 0x00000040, 0x00000040, 0x00000040, 0x00000040);
}
}
#else
@ -3195,14 +3195,14 @@ void func_8004F168(s32 arg0, s32 arg1, s32 arg2) {
temp_a0 = ((*(&D_8018D2C0 + temp_t0) + D_8018D2F0) - ((s16) D_8018D2B0 / 2)) + D_8018D2E0 + (s16) (s32) (temp_v1->pos[0] * D_8018D2A0);
temp_a1 = ((*(&D_8018D2D8 + temp_t0) + D_8018D2F8) - ((s16) D_8018D2B8 / 2)) + D_8018D2E8 + (s32) (temp_v1->pos[2] * D_8018D2A0);
if (arg2 != 8) {
if ((gPlayerPositions[arg1] == 0) && (gModeSelection != 3) && (gModeSelection != 1)) {
if ((gGPCurrentRaceRankByPlayerId[arg1] == 0) && (gModeSelection != 3) && (gModeSelection != 1)) {
func_80046424((s32) temp_a0, (s32) temp_a1, (temp_v1->unk_02C[1] + 0x8000) & 0xFFFF, 1.0f, (s32) gMiniMapKartTextures[arg2], (s32) D_0D005470, 8, 8, 8, 8);
return;
}
func_800463B0((s32) temp_a0, (s32) temp_a1, (temp_v1->unk_02C[1] + 0x8000) & 0xFFFF, 1.0f, (s32) gMiniMapKartTextures[arg2], (s32) D_0D005470, 8, 8, 8, 8);
return;
}
if (gPlayerPositions[arg1] == 0) {
if (gGPCurrentRaceRankByPlayerId[arg1] == 0) {
func_8004C450((s32) temp_a0, (s32) temp_a1, 8U, 8U, (s32) gTextureMiniMapProgressDot);
return;
}
@ -3715,7 +3715,7 @@ extern ? D_8018D028;
extern f32 D_8018D050;
extern ? D_8018D078;
extern s32 D_8018D3E0;
extern ? gGPCurrentRaceRanks;
extern ? gGPCurrentRaceCharacterIdByRank;
void func_80050320(void) {
Gfx *temp_v1_3;
@ -3749,7 +3749,7 @@ void func_80050320(void) {
if ((f64) *(&D_8018D078 + var_s1) < 0.0) {
var_a0 = 1;
}
temp_v1 = *((var_s0 * 2) + &gGPCurrentRaceRanks);
temp_v1 = *((var_s0 * 2) + &gGPCurrentRaceCharacterIdByRank);
temp_a1 = gLapCountByPlayerId[gGPCurrentRacePlayerIdByRank[var_s0]];
if (temp_v1 == gPlayerOne->characterId) {
func_8004FDB4(*temp_t0, temp_f14, var_a0, temp_a1, var_s0, (s16) temp_a1, (s32) temp_v1, 0x000000FF, 1, var_a0, 0);
@ -3832,7 +3832,7 @@ s32 func_80050644(u16 arg0, s32 *arg1, s32 *arg2) {
}
} else if (gPlayerCountSelection1 == 1) {
*arg1 = 0x00000020;
*arg2 = (gPlayerPositions[arg0] * 0x14) + 0x20;
*arg2 = (gGPCurrentRaceRankByPlayerId[arg0] * 0x14) + 0x20;
} else {
thing = (s32) (gLapCompletionPercentByPlayerId[arg0] * 260);
*arg1 = thing;
@ -4324,7 +4324,7 @@ void func_800514BC(void) {
if (gModeSelection == TIME_TRIALS) {
func_80050E34(0, D_80164408);
} else if (gPlayerCountSelection1 == 1) {
func_80050E34(0, *gPlayerPositions);
func_80050E34(0, *gGPCurrentRaceRankByPlayerId);
}
temp_v1 = gDisplayListHead;
gDisplayListHead = temp_v1 + 8;

View File

@ -668,45 +668,31 @@ void func_80059358(void) {
}
#ifdef MIPS_TO_C
//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b
extern s8 D_801657B0;
void func_80059360(void) {
if (D_801657B0 == 0) {
func_8004FA78(0);
if (D_8018CA70->lapCount != 3) {
func_8004CB60((s32) D_8018CA70->lapX, (s32) D_8018CA70->lapY, (s32) D_0D00A958);
func_8004FC78((s16) (D_8018CA70->lapX + 0xC), (s16) (D_8018CA70->lapY - 4), D_8018CA70->alsoLapCount);
if (D_8018CA70[0].lapCount != 3) {
func_8004CB60(D_8018CA70[0].lapX, D_8018CA70[0].lapY, D_0D00A958);
func_8004FC78(D_8018CA70[0].lapX + 0xC, D_8018CA70[0].lapY - 4, D_8018CA70[0].alsoLapCount);
func_8004E638(0);
}
}
}
#else
GLOBAL_ASM("asm/non_matchings/code_80057C60/func_80059360.s")
#endif
void func_800593F0(void) {
}
#ifdef MIPS_TO_C
//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b
extern s8 D_801657B0;
void func_800593F8(void) {
if (D_801657B0 == 0) {
func_8004FA78(1);
if (D_8018CA70->unkF5 != 3) {
func_8004CB60((s32) D_8018CA70->unkDE, (s32) D_8018CA70->unkE4, (s32) D_0D00A958);
func_8004FC78((s16) (D_8018CA70->unkDE + 0xC), (s16) (D_8018CA70->unkE4 - 4), D_8018CA70->unkF6);
if (D_8018CA70[1].lapCount != 3) {
func_8004CB60(D_8018CA70[1].lapX, D_8018CA70[1].lapY, D_0D00A958);
func_8004FC78(D_8018CA70[1].lapX + 0xC, D_8018CA70[1].lapY - 4, D_8018CA70[1].alsoLapCount);
func_8004E638(1);
}
}
}
#else
GLOBAL_ASM("asm/non_matchings/code_80057C60/func_800593F8.s")
#endif
void func_80059488(s32 arg0) {
if ((gModeSelection != BATTLE) && (*(&D_80165800 + arg0) == 0) && (D_8018D188 != 0)) {
@ -970,51 +956,20 @@ void func_80059AC8(void) {
GLOBAL_ASM("asm/non_matchings/code_80057C60/func_80059AC8.s")
#endif
#ifdef MIPS_TO_C
//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b
extern ? D_801643D8;
extern ? D_8018CF90;
extern ? D_8018CF98;
extern ? gGPCurrentRaceRanks;
void func_80059C50(void) {
? *var_v0;
? *var_v1;
s16 *var_a0;
s32 *var_v0_2;
s32 temp_lo;
s32 temp_t0;
s32 temp_t1;
s32 temp_t2;
s32 temp_t9;
s32 someIndex;
s32 playerId;
func_8005A3C0();
var_v0 = &gGPCurrentRaceRanks;
var_a0 = gGPCurrentRacePlayerIdByRank;
do {
var_v0 += 2;
temp_lo = *var_a0 * 0xDD8;
var_a0 += 2;
var_v0->unk-2 = (u16) (temp_lo + gPlayerOne)->unk254;
} while ((u32) var_v0 < (u32) &D_8018CF90);
var_v0_2 = gPlayerPositions;
var_v1 = &D_8018CF98;
do {
temp_t0 = var_v0_2->unk4;
temp_t1 = var_v0_2->unk8;
temp_t2 = var_v0_2->unkC;
temp_t9 = var_v0_2->unk0;
var_v0_2 += 0x10;
var_v1 += 8;
var_v1->unk-6 = (s16) temp_t0;
var_v1->unk-4 = (s16) temp_t1;
var_v1->unk-2 = (s16) temp_t2;
var_v1->unk-8 = (s16) temp_t9;
} while (var_v0_2 != &D_801643D8);
for (someIndex = 0; someIndex < 8; someIndex++) {
playerId = gGPCurrentRacePlayerIdByRank[someIndex];
// I hate this dumb pointer access here
gGPCurrentRaceCharacterIdByRank[someIndex] = (gPlayerOne + playerId)->characterId;
}
for (someIndex = 0; someIndex < 8; someIndex++) {
D_8018CF98[someIndex] = gGPCurrentRaceRankByPlayerId[someIndex];
}
}
#else
GLOBAL_ASM("asm/non_matchings/code_80057C60/func_80059C50.s")
#endif
void func_80059D00(void) {
@ -2208,7 +2163,7 @@ block_76:
func_8005AA94(0x00000082);
goto block_76;
case 0x80:
if (*gPlayerPositions < 4) {
if (*gGPCurrentRaceRankByPlayerId < 4) {
func_8005AA6C(0x0000008C);
} else {
func_8005AA6C(0x00000082);
@ -2533,7 +2488,7 @@ extern s32 D_8018D3E8;
extern s32 D_8018D3EC;
extern s32 D_8018D3F4;
extern s32 D_8018D3F8;
extern ? gGPCurrentRaceRanks;
extern ? gGPCurrentRaceCharacterIdByRank;
static struct _struct_D_800E55D0_0x3 D_800E55D0[0xD] = {
{ 0x64, 0x64, 0x64 },
{ 0x96, 0x96, 0x73 },
@ -2570,7 +2525,7 @@ void func_8005C980(void) {
temp_a3 = gPlayerOne;
temp_a1 = D_80165590;
var_a0 = gPlayerPositions;
var_a0 = gGPCurrentRaceRankByPlayerId;
var_v0 = 0;
do {
temp_v1 = *var_a0;
@ -2591,23 +2546,23 @@ void func_8005C980(void) {
temp_v0 = var_a0_2->unk0;
var_t0->unk0 = temp_v0;
if (temp_a1 == 0) {
*(&gGPCurrentRaceRanks + var_v1) = temp_a3[temp_v0].characterId;
*(&gGPCurrentRaceCharacterIdByRank + var_v1) = temp_a3[temp_v0].characterId;
}
temp_a2 = var_a0_2->unk2;
var_t0->unk2 = temp_a2;
if (temp_a1 == 0) {
(&gGPCurrentRaceRanks + var_v1)->unk2 = (u16) temp_a3[temp_a2].characterId;
(&gGPCurrentRaceCharacterIdByRank + var_v1)->unk2 = (u16) temp_a3[temp_a2].characterId;
}
temp_a2_2 = var_a0_2->unk4;
var_t0->unk4 = temp_a2_2;
if (temp_a1 == 0) {
(&gGPCurrentRaceRanks + var_v1)->unk4 = (u16) temp_a3[temp_a2_2].characterId;
(&gGPCurrentRaceCharacterIdByRank + var_v1)->unk4 = (u16) temp_a3[temp_a2_2].characterId;
}
temp_a2_3 = var_a0_2->unk6;
var_a0_2 += 8;
var_t0->unk6 = temp_a2_3;
if (temp_a1 == 0) {
(&gGPCurrentRaceRanks + var_v1)->unk6 = (u16) temp_a3[temp_a2_3].characterId;
(&gGPCurrentRaceCharacterIdByRank + var_v1)->unk6 = (u16) temp_a3[temp_a2_3].characterId;
}
var_t0 += 8;
var_v1 += 8;
@ -2838,7 +2793,7 @@ void func_8005D18C(void) {
D_801657D8 = 1;
D_8018D2BC = 0;
D_8018D2A4 = 0;
if (gPlayerPositions[0] >= 4) {
if (gGPCurrentRaceRankByPlayerId[0] >= 4) {
D_8018D1FC = 1;
D_8018D2A4 = 1;
D_8018D2BC = 1;

View File

@ -55,6 +55,7 @@ void func_800598D4(s32);
void func_8005994C();
void func_8005995C();
void func_80059A88(s32);
void func_80059C50();
void func_80059D00();
void func_8005A070();
@ -301,6 +302,8 @@ extern s8 D_801657D8;
extern s8 D_801657E8;
extern s8 D_8018CAE0;
extern s16 gGPCurrentRaceCharacterIdByRank[];
extern s16 D_8018CF98[];
extern s32 D_8018D120;
extern s32 D_8018D170;

View File

@ -1878,7 +1878,7 @@ void func_80071428(void) {
D_8018CA70->itemBoxY = -0x0020;
D_8018CA70->slideItemBoxX = 0;
D_8018CA70->slideItemBoxY = 0;
D_8018CA70->stagingPosition = (s16) *gPlayerPositions;
D_8018CA70->stagingPosition = (s16) *gGPCurrentRaceRankByPlayerId;
func_8006EE7C(*gItemWindowObjectByPlayerId);
var_f0 = 35.0f;
var_v0 = &D_8018D078;
@ -2016,8 +2016,8 @@ void func_80071818(void) {
D_8018CA70->unkE4 = 0x0028;
func_8006EE7C(*(gItemWindowObjectByPlayerId + 4));
D_8018CA70->unk88 = 0.5f;
D_8018CA70->stagingPosition = (s16) gPlayerPositions->unk0;
D_8018CA70->unkEE = (s16) gPlayerPositions->unk4;
D_8018CA70->stagingPosition = (s16) gGPCurrentRaceRankByPlayerId->unk0;
D_8018CA70->unkEE = (s16) gGPCurrentRaceRankByPlayerId->unk4;
D_8018CA70->rankScaling = D_8018CA70->unk88;
D_8018D3C4 = 0x0000001E;
D_8018D3BC = 0x00000018;
@ -2094,8 +2094,8 @@ void func_80071A20(void) {
D_8018CA70->unkC8 = 0x00D0;
}
D_8018CA70->unk88 = 0.5f;
D_8018CA70->stagingPosition = (s16) gPlayerPositions->unk0;
D_8018CA70->unkEE = (s16) gPlayerPositions->unk4;
D_8018CA70->stagingPosition = (s16) gGPCurrentRaceRankByPlayerId->unk0;
D_8018CA70->unkEE = (s16) gGPCurrentRaceRankByPlayerId->unk4;
D_8018CA70->rankScaling = D_8018CA70->unk88;
func_8006EE7C(*gItemWindowObjectByPlayerId);
func_8006EE7C(*(gItemWindowObjectByPlayerId + 4));
@ -2210,10 +2210,10 @@ void func_80071C28(void) {
D_8018CA70->unk10C = (f32) D_8018CA70->unk190;
D_8018CA70->unk88 = (f32) D_8018CA70->unk190;
D_8018CA70->rankScaling = D_8018CA70->unk190;
D_8018CA70->stagingPosition = (s16) gPlayerPositions->unk0;
D_8018CA70->unkEE = (s16) gPlayerPositions->unk4;
D_8018CA70->unk172 = (s16) gPlayerPositions->unk8;
D_8018CA70->unk1F6 = (s16) gPlayerPositions->unkC;
D_8018CA70->stagingPosition = (s16) gGPCurrentRaceRankByPlayerId->unk0;
D_8018CA70->unkEE = (s16) gGPCurrentRaceRankByPlayerId->unk4;
D_8018CA70->unk172 = (s16) gGPCurrentRaceRankByPlayerId->unk8;
D_8018CA70->unk1F6 = (s16) gGPCurrentRaceRankByPlayerId->unkC;
func_8006EE7C(*gItemWindowObjectByPlayerId);
func_8006EE7C(*(gItemWindowObjectByPlayerId + 4));
func_8006EE7C(*(gItemWindowObjectByPlayerId + 8));

View File

@ -2248,7 +2248,7 @@ void func_80076C9C(s32 objectIndex, Vec3f arg1, s16 arg2) {
GLOBAL_ASM("asm/non_matchings/code_80071F00/func_80076C9C.s")
#endif
void func_80076D70(Vec3f arg0, s32 arg1, s16 arg2) {
void func_80076D70(Vec3f arg0, f32 arg1, s16 arg2) {
s32 temp_v0;
temp_v0 = func_80072044(D_8018C870, &D_80183E6C, 0x00000040);
@ -5217,7 +5217,7 @@ s16 func_8007C9F8(void) {
}
if (temp_v0 == 2) {
if (gModeSelection == GRAND_PRIX) {
if (gPlayerPositions->unk0 < gPlayerPositions->unk4) {
if (gGPCurrentRaceRankByPlayerId->unk0 < gGPCurrentRaceRankByPlayerId->unk4) {
return 0;
}
return 1;

View File

@ -142,7 +142,7 @@ void func_80076AEC(s32);
void func_80076B7C();
void func_80076B84();
void func_80076C9C(s32, Vec3f, s16);
void func_80076D70(Vec3f, s32, s16);
void func_80076D70(Vec3f, f32, s16);
void func_80076DC4(s32);
void func_80076E14(s32);
void func_80076ED8(s32);

View File

@ -333,7 +333,7 @@ void func_8008C8C4(Player* player, s8 arg1) {
if ((D_80165460[arg1] == 1) && ((player->unk_000 & 0x4000) == 0x4000)) {
player->unk_09C = (f32) (player->unk_09C + 100.0f);
}
if ((gModeSelection == VERSUS) && ((player->unk_000 & 0x1000) == 0x1000) && (D_800DC51C == 0) && ((player->unk_0CA & 2) == 0) && (gPlayerPositions[arg1] != 0)) {
if ((gModeSelection == VERSUS) && ((player->unk_000 & 0x1000) == 0x1000) && (D_800DC51C == 0) && ((player->unk_0CA & 2) == 0) && (gGPCurrentRaceRankByPlayerId[arg1] != 0)) {
player->statusEffects = (s32) (player->statusEffects | 0x400000);
}
}

View File

@ -1678,47 +1678,55 @@ void func_80094C60(void) {
GLOBAL_ASM("asm/non_matchings/code_80091750/func_80094C60.s")
#endif
#ifdef MIPS_TO_C
//generated by m2c commit d9d3d6575355663122de59f6b2882d8f174e2355 on Dec-11-2022
? func_8009E230(); /* extern */
static s8 *gDebugCourseNames[0x14] = {
"m circuit",
"mountain",
"castle",
"ghost",
"maze",
"snow",
"beach",
"p circuit",
"l circuit",
"farm",
"highway",
"desert",
"sherbet",
"rainbow",
"stadium",
"block",
"skyscraper",
"deck",
"jungle",
"doughnut",
};
static s8 *gDebugCharacterNames[8] = { "MARIO", "LUIGI", "YOSHI", "KINOPIO", "D.KONG", "WARIO", "PEACH", "KOOPA" };
static s8 *gDebugScreenModeNames[5] = { "1p", "2players UD", "2players LR", "3players", "4players" };
s16 gCurrentCourseId; /* unable to generate initializer */
s8 *gDebugSoundModeNames[4] = { "stereo", "head phone", "xxx", "monaural" };
#ifdef NEEDS_RODATA
// data_0DD0A0_3_0.s
extern char *D_800F0B58[];// = "debug_mode";
extern char *D_800F0B64[];// = "*";
extern char *D_800F0B68[];// = "*";
extern char *D_800F0B6C[];// = "*";
extern char *D_800F0B70[];// = "*";
extern char *D_800F0B74[];// = "*";
extern char *D_800F0B78[];// = "*";
extern char *D_800F0B7C[];// = "on";
extern char *D_800F0B80[];// = "off";
extern char *D_800F0B84[];// = "map_number";
extern char *D_800F0B90[];// = "screen_mode";
extern char *D_800F0B9C[];// = "player";
extern char *D_800F0BA4[];// = "sound mode";
extern char *D_800F0BB0[];// = "push b to get all goldcup";
// I think all these are plain data, don't know which file they belong in
extern char *gDebugCourseNames[0x14];// = {
// "m circuit",
// "mountain",
// "castle",
// "ghost",
// "maze",
// "snow",
// "beach",
// "p circuit",
// "l circuit",
// "farm",
// "highway",
// "desert",
// "sherbet",
// "rainbow",
// "stadium",
// "block",
// "skyscraper",
// "deck",
// "jungle",
// "doughnut",
// };
extern char *gDebugCharacterNames[8];// = { "MARIO", "LUIGI", "YOSHI", "KINOPIO", "D.KONG", "WARIO", "PEACH", "KOOPA" };
extern char *gDebugScreenModeNames[5];// = { "1p", "2players UD", "2players LR", "3players", "4players" };
extern char *gDebugSoundModeNames[4];// = { "stereo", "head phone", "xxx", "monaural" };
void func_80095574(void) {
Gfx *temp_v1;
s32 var_v0;
s32 var_v0_2;
s8 temp_v0;
if ((D_8018EE0C < 3) || (D_8018E7B0 != 0)) {
func_800A8230();
}
temp_v0 = gDebugMenuSelection;
if (temp_v0 >= 2) {
if (gDebugMenuSelection >= 2) {
load_debug_font();
debug_print_str2(0x00000050, 0x00000064, "debug_mode");
switch (gDebugMenuSelection) {
@ -1759,7 +1767,7 @@ void func_80095574(void) {
debug_print_str2(0x00000050, 0x00000078, "screen_mode");
debug_print_str2(0x000000AA, 0x00000078, gDebugScreenModeNames[D_8018EDF1]);
debug_print_str2(0x00000050, 0x00000082, "player");
debug_print_str2(0x000000AA, 0x00000082, gDebugCharacterNames[*gCharacterSelections]);
debug_print_str2(0x000000AA, 0x00000082, gDebugCharacterNames[gCharacterSelections[0]]);
debug_print_str2(0x00000050, 0x0000008C, "sound mode");
debug_print_str2(0x000000AA, 0x0000008C, gDebugSoundModeNames[gSoundMode]);
if (gDebugMenuSelection == DEBUG_MENU_GIVE_ALL_GOLD_CUP) {
@ -1767,59 +1775,48 @@ void func_80095574(void) {
}
func_80057778();
}
if (temp_v0 == DEBUG_MENU_DISABLED) {
if (gDebugMenuSelection == DEBUG_MENU_DISABLED) {
gMenuTimingCounter += 1;
} else {
gMenuTimingCounter = 3;
}
var_v0_2 = gMenuTimingCounter;
if (var_v0_2 == DEBUG_MENU_DEBUG_MODE) {
if (gMenuTimingCounter == DEBUG_MENU_DEBUG_MODE) {
play_sound2(0x49009009);
var_v0_2 = gMenuTimingCounter;
}
if (var_v0_2 >= 0x12D) {
if (gMenuTimingCounter >= 0x12D) {
func_8009E230();
func_800CA0A0();
}
temp_v1 = gDisplayListHead;
gDisplayListHead = temp_v1 + 8;
temp_v1->words.w0 = 0x06000000;
temp_v1->words.w1 = (u32) D_020076E0;
gSPDisplayList(gDisplayListHead++, D_020076E0);
}
#else
GLOBAL_ASM("asm/non_matchings/code_80091750/func_80095574.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 06ada559d7a32fdab49fa2d619cdfa027615bcda
extern s32 D_8018E7A8;
// While this matches, its a little screwy
// This function seemingly needs to return a Gfx*, but doing that explicity doesn't match
// Instead we depend on the fact that the result of func_80098C18 is left
// in v0 which means it is returned, sort of.
// Its also weird that the displayListHead argument goes entirely unused. What's up with that?
Gfx *func_800958D4(Gfx *displayListHead, s32 ulx, s32 uly, s32 lrx, s32 lry, s32 arg5) {
s32 temp_lo;
s32 phi_v0;
s32 phi_v0_2;
temp_lo = (s32) (((s32) D_8018E7A8 % arg5) << 9) / arg5;
phi_v0 = temp_lo;
if (temp_lo >= 0x101) {
phi_v0 = 0x200 - temp_lo;
phi_v0 = ((D_8018E7A8 % arg5) << 9) / arg5;
if (phi_v0 >= 0x101) {
phi_v0 = 0x200 - phi_v0;
}
phi_v0_2 = phi_v0;
if (phi_v0 >= 0x100) {
phi_v0_2 = 0xFF;
phi_v0 = 0xFF;
}
gDisplayListHead = func_80098C18(gDisplayListHead, ulx, uly, lrx, lry, phi_v0_2, phi_v0_2, phi_v0_2, 0xFF);
gDisplayListHead = func_80098C18(gDisplayListHead, ulx, uly, lrx, lry, phi_v0, phi_v0, phi_v0, 0xFF);
}
#else
GLOBAL_ASM("asm/non_matchings/code_80091750/func_800958D4.s")
#endif
Gfx *func_800959A0(Gfx *displayListHead, s32 arg1, s32 arg2, s32 arg3, s32 arg4) {
return func_800958D4(displayListHead, arg1, arg2, arg3, arg4, 64);
}
Gfx *func_800959CC(Gfx *displayListHead, s32 arg1, s32 arg2, s32 arg3, s32 arg4) {
func_800958D4(displayListHead, arg1, arg2, arg3, arg4, 4);
return func_800958D4(displayListHead, arg1, arg2, arg3, arg4, 4);
}
Gfx *func_800959F8(Gfx *displayListHead, Vtx *arg1) {
@ -7997,36 +7994,22 @@ void func_800A08D8(u8 arg0, s32 column, s32 row) {
GLOBAL_ASM("asm/non_matchings/code_80091750/func_800A08D8.s")
#endif
#ifdef MIPS_TO_C
//generated by m2c commit 6b6e1390bf30013247343623194964ff13d0c45b
s32 func_800A095C(s8 *arg0, s32 len, s32 column, s32 row) {
s32 var_s0;
s32 var_s1;
s32 var_s3;
s8 *var_s2;
s8 temp_v0;
var_s1 = len;
var_s2 = arg0;
var_s3 = 0;
var_s0 = column;
if (len != 0) {
do {
temp_v0 = *var_s2;
if (temp_v0 != 0) {
var_s3 += 1;
}
var_s2 += 1;
func_800A08D8(temp_v0 & 0xFF, var_s0, row);
var_s1 -= 1;
var_s0 += 8;
} while (var_s1 != 0);
// Walks through `someString` for `len` charcters, seemingly even going over null terminators.
// Returns a count of all non-terminator characters walked over.
s32 func_800A095C(char *someString, s32 len, s32 column, s32 row) {
s32 tempColumn;
s32 nonTerminatorCount;
nonTerminatorCount = 0;
tempColumn = column;
for (; len != 0; len--, tempColumn += 8) {
if(*someString != 0) {
nonTerminatorCount++;
}
func_800A08D8(*someString++, tempColumn, row);
}
return var_s3;
return nonTerminatorCount;
}
#else
GLOBAL_ASM("asm/non_matchings/code_80091750/func_800A095C.s")
#endif
#ifdef NON_MATCHING
// Non-matching due to the constants 9 and 0xA being saved to the wrong registers
@ -11014,7 +10997,7 @@ void func_800A69C8(s32 arg0) {
var_v1 = 0;
switch (temp_v0) { /* irregular */
case VERSUS:
if (gPlayerPositions[var_s0] != 0) {
if (gGPCurrentRaceRankByPlayerId[var_s0] != 0) {
var_v1 = 1;
}
var_s4 = gNmiUnknown1 + var_s0;
@ -11176,7 +11159,7 @@ void func_800A6E94(s32 arg0, s32 arg1, s32 arg2) {
u8 *temp_v0;
void *temp_s0;
temp_t8 = gPlayerPositions[arg1];
temp_t8 = gGPCurrentRaceRankByPlayerId[arg1];
sp3C = temp_t8;
if (temp_t8 == 0) {
set_text_color((s32) gGlobalTimer % 3);
@ -12115,50 +12098,30 @@ void func_800A874C(struct_8018D9E0_entry *arg0) {
GLOBAL_ASM("asm/non_matchings/code_80091750/func_800A874C.s")
#endif
#ifdef MIPS_TO_C
//generated by m2c commit 6b6e1390bf30013247343623194964ff13d0c45b
void func_800A890C(s32 arg0, struct_8018D9E0_entry *arg1) {
Gfx *temp_v0;
Gfx *temp_v0_2;
Gfx *temp_v0_3;
Gfx *var_v0;
s32 temp_a2;
s32 temp_t0;
s32 temp_t1;
s32 temp_t7;
temp_t1 = arg1->unk1C;
if (temp_t1 < 0x20) {
temp_v0 = gDisplayListHead;
temp_t0 = arg1->column;
if (arg1->unk1C < 32) {
if (1) {}
temp_t7 = (arg1->unk1C * 65) / 64;
temp_t1 = arg1->column;
temp_a2 = arg1->row;
gDisplayListHead = temp_v0 + 8;
temp_v0->words.w1 = 0;
temp_v0->words.w0 = 0xE7000000;
temp_v0_2 = gDisplayListHead;
gDisplayListHead = temp_v0_2 + 8;
temp_v0_2->words.w0 = 0xB900031D;
temp_v0_2->words.w1 = 0x0F0A4000;
temp_v0_3 = gDisplayListHead;
temp_t7 = (s32) (temp_t1 * 0x41) / 64;
gDisplayListHead = temp_v0_3 + 8;
temp_v0_3->words.w0 = 0xFCFFFFFF;
temp_v0_3->words.w1 = 0xFFFCF279;
gDPPipeSync(gDisplayListHead++);
gDPSetRenderMode(gDisplayListHead++, G_RM_OPA_SURF, G_RM_OPA_SURF2);
gDPSetCombineMode(gDisplayListHead++, G_CC_DECALRGBA, G_CC_DECALRGBA);
if (arg0 == gCupSelection) {
if (D_8018EDEC == 1) {
var_v0 = func_800959A0(gDisplayListHead, temp_t0 + temp_t7, temp_a2, (temp_t0 - temp_t7) + 0x40, temp_a2 + 0x27);
gDisplayListHead = func_800959A0(gDisplayListHead, temp_t1 + temp_t7, temp_a2, (temp_t1 - temp_t7) + 64, temp_a2 + 39);
} else {
var_v0 = func_80098C18(gDisplayListHead, temp_t0 + temp_t7, temp_a2, (temp_t0 - temp_t7) + 0x40, temp_a2 + 0x27, 0x000000FF, 0x000000F9, 0x000000DC, 0x000000FF);
gDisplayListHead = func_80098C18(gDisplayListHead, temp_t1 + temp_t7, temp_a2, (temp_t1 - temp_t7) + 64, temp_a2 + 39, 255, 249, 220, 255);
}
} else {
var_v0 = func_80098C18(gDisplayListHead, temp_t0 + temp_t7, temp_a2, (temp_t0 - temp_t7) + 0x40, temp_a2 + 0x27, 1, 1, 1, 0x000000FF);
gDisplayListHead = func_80098C18(gDisplayListHead, temp_t1 + temp_t7, temp_a2, (temp_t1 - temp_t7) + 64, temp_a2 + 39, 1, 1, 1, 255);
}
gDisplayListHead = var_v0;
}
}
#else
GLOBAL_ASM("asm/non_matchings/code_80091750/func_800A890C.s")
#endif
#ifdef NEEDS_RODATA
// data/data_0DD0A0_2_0.s
@ -14040,44 +14003,41 @@ GLOBAL_ASM("asm/non_matchings/code_80091750/func_800AB904.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 06ada559d7a32fdab49fa2d619cdfa027615bcda
//generated by m2c commit c5625f046032f9746ce523be6766af27204fcbe9 on Jan-28-2023
struct _struct_D_800E7268_0x8 {
/* 0x0 */ s16 unk0; /* inferred */
/* 0x2 */ s16 unk2; /* inferred */
/* 0x4 */ char pad4[4]; /* maybe part of unk2[3]? */
}; /* size = 0x8 */
void func_800A91D8(struct_8018D9E0_entry *, s16, s16); /* extern */
static struct _struct_D_800E7268_0x8 D_800E7268[0]; /* unable to generate initializer; const */
static ? D_800E7E20; /* unable to generate initializer; const */
static struct _struct_D_800E7268_0x8 D_800E7268[0]; /* unable to generate initializer */
static ? D_800E7E20; /* unable to generate initializer */
void func_800AB9B0(struct_8018D9E0_entry *arg0) {
s32 temp_v0;
s32 temp_v0_2;
s32 temp_v0_3;
s8 temp_v0;
struct _struct_D_800E7268_0x8 *temp_v1;
temp_v0 = gCupSelection;
if (temp_v0 != arg0->unk1C) {
arg0->unk1C = (s32) temp_v0;
temp_v0_2 = func_800B54C0((s32) gCupSelection, gCCSelection);
arg0->unk20 = temp_v0_2;
func_8009A594(arg0->D_8018DEE0_index, 0, segmented_to_virtual_dupe_2(*(&D_800E7E20 + ((((s32) gCCSelection / 2) * 0x10) + -(s32) (temp_v0_2 * 4)))));
if (gCupSelection != arg0->unk1C) {
arg0->unk1C = (s32) gCupSelection;
temp_v0 = func_800B54C0((s32) gCupSelection, gCCSelection);
arg0->unk20 = temp_v0;
func_8009A594(arg0->D_8018DEE0_index, 0, segmented_to_virtual_dupe_2(*(&D_800E7E20 + ((((s32) gCCSelection / 2) * 0x10) + -(temp_v0 * 4)))));
arg0->column = (s32) D_800E7268->unk0;
arg0->row = (s32) D_800E7268->unk2;
}
temp_v0_3 = arg0->unk4;
temp_v1 = &D_800E7268[temp_v0_3];
switch (temp_v0_3) { /* irregular */
temp_v0_2 = arg0->unk4;
temp_v1 = &D_800E7268[temp_v0_2];
switch (temp_v0_2) { /* irregular */
case 0:
func_800A91D8(arg0, temp_v1->unk0, temp_v1->unk2);
func_800A91D8(arg0, (s32) temp_v1->unk0, (s32) temp_v1->unk2);
if (D_8018EDEC == 3) {
arg0->unk4 = 1;
return;
}
return;
case 1:
func_800A91D8(arg0, temp_v1->unk0, temp_v1->unk2);
func_800A91D8(arg0, (s32) temp_v1->unk0, (s32) temp_v1->unk2);
if (D_8018EDEC == 1) {
arg0->unk4 = 0;
}
@ -14883,7 +14843,7 @@ void func_800ACF40(struct_8018D9E0_entry *arg0) {
var_v1 = 0;
switch (temp_v0_3) { /* switch 1; irregular */
case VERSUS: /* switch 1 */
if (gPlayerPositions[temp_a2] != 0) {
if (gGPCurrentRaceRankByPlayerId[temp_a2] != 0) {
block_11:
var_v1 = 1;
}
@ -15203,30 +15163,25 @@ block_56:
GLOBAL_ASM("asm/non_matchings/code_80091750/func_800AD2E8.s")
#endif
#ifdef MIPS_TO_C
//generated by m2c commit d9d3d6575355663122de59f6b2882d8f174e2355 on Dec-12-2022
static ? D_800F0B50; /* unable to generate initializer; const */
static ? D_800F0B54; /* unable to generate initializer; const */
#ifdef NEEDS_RODATA
// data_0DD0A0_3_0.s
// jpt_800F287C
extern f64 D_800F2930;// = 4.2;
extern f64 D_800F2938;// = 4.2;
extern f64 D_800F2940;// = 4.2;
// plain data I think?
extern s8 D_800F0B50[];// = {31, 11, 21, 41};
extern s8 D_800F0B54[];// = {32, 15, 24, 44};
void func_800ADF48(struct_8018D9E0_entry *arg0) {
void *sp18;
f64 temp_f0;
f64 temp_f0_2;
f64 temp_f0_3;
s32 temp_t7;
s32 temp_v0;
s32 temp_v0_2;
s32 var_a0;
s8 temp_v0_3;
u16 var_v1;
void *var_a2;
s32 stackPadding;
struct Controller *controller;
if (D_800DC5FC != 0) {
temp_t7 = arg0->unk4;
switch (temp_t7) {
switch (arg0->unk4) {
case 0:
arg0->unk4 = (s32) *(&D_800F0B50 + gModeSelection);
return;
arg0->unk4 = D_800F0B50[gModeSelection];
break;
case 11:
case 12:
case 13:
@ -15243,69 +15198,56 @@ void func_800ADF48(struct_8018D9E0_entry *arg0) {
case 43:
case 44:
if (func_800B4520() == 0) {
var_a2 = (D_800DC5FC * 0x10) - 0x10 + gControllers;
var_v1 = var_a2->unk6;
var_a0 = var_v1 | var_a2->unkC;
if (var_a0 & 0x800) {
temp_v0 = arg0->unk4;
if (*(&D_800F0B50 + gModeSelection) < temp_v0) {
arg0->unk4 = temp_v0 - 1;
sp18 = var_a2;
controller = &gControllers[D_800DC5FC - 1];
if ((controller->buttonPressed | controller->stickPressed) & 0x800) {
if (D_800F0B50[gModeSelection] < arg0->unk4) {
arg0->unk4--;
play_sound2(0x49008000);
temp_f0 = (f64) arg0->unk24;
if (temp_f0 < 4.2) {
arg0->unk24 = (f32) (temp_f0 + 4.0);
if (arg0->unk24 < 4.2) {
arg0->unk24 += 4.0;
}
arg0->unk8 = -1;
var_v1 = var_a2->unk6;
var_a0 = var_v1 | var_a2->unkC;
}
}
if (var_a0 & 0x400) {
temp_v0_2 = arg0->unk4;
if (temp_v0_2 < *(&D_800F0B54 + gModeSelection)) {
arg0->unk4 = temp_v0_2 + 1;
sp18 = var_a2;
if ((controller->buttonPressed | controller->stickPressed) & 0x400) {
if (arg0->unk4 < D_800F0B54[gModeSelection]) {
arg0->unk4++;
play_sound2(0x49008000);
temp_f0_2 = (f64) arg0->unk24;
if (temp_f0_2 < 4.2) {
arg0->unk24 = (f32) (temp_f0_2 + 4.0);
if (arg0->unk24 < 4.2) {
arg0->unk24 += 4.0;
}
arg0->unk8 = 1;
var_v1 = var_a2->unk6;
}
}
if (var_v1 & 0x4000) {
temp_v0_3 = *(&D_800F0B50 + gModeSelection);
if (arg0->unk4 != temp_v0_3) {
arg0->unk4 = (s32) temp_v0_3;
if (controller->buttonPressed & 0x4000) {
if (arg0->unk4 != D_800F0B50[gModeSelection]) {
arg0->unk4 = D_800F0B50[gModeSelection];
play_sound2(0x49008002);
return;
}
}
if (var_v1 & 0x9000) {
if (arg0->unk4 == *(&D_800F0B50 + gModeSelection)) {
if (controller->buttonPressed & 0x9000) {
if (arg0->unk4 == D_800F0B50[gModeSelection]) {
arg0->unk4 = 0;
D_800DC5FC = 0;
func_8028DF38(0x0000001E, arg0, var_a2, &gModeSelection);
func_8028DF38();
func_800C9F90(0U);
return;
}
func_8009DFE0(0x0000001E);
play_sound2(0x4900801B);
func_800CA330(0x3CU);
temp_f0_3 = (f64) arg0->unk24;
if (temp_f0_3 < 4.2) {
arg0->unk24 = (f32) (temp_f0_3 + 4.0);
return;
} else {
func_8009DFE0(30);
play_sound2(0x4900801B);
func_800CA330(60);
if (arg0->unk24 < 4.2) {
arg0->unk24 += 4.0;
}
}
}
}
break;
default:
break;
}
} else {
arg0->unk4 = 0;
default:
}
}
#else
@ -15906,7 +15848,7 @@ GLOBAL_ASM("asm/non_matchings/code_80091750/func_800AF1AC.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 06ada559d7a32fdab49fa2d619cdfa027615bcda
//generated by m2c commit c5625f046032f9746ce523be6766af27204fcbe9 on Jan-28-2023
struct _struct_D_800E7458_0x8 {
/* 0x0 */ s16 unk0; /* inferred */
/* 0x2 */ s16 unk2; /* inferred */
@ -15919,12 +15861,9 @@ struct _struct_D_800E7480_0x8 {
/* 0x4 */ char pad4[4]; /* maybe part of unk2[3]? */
}; /* size = 0x8 */
void func_800A91D8(struct_8018D9E0_entry *, s16, s16); /* extern */
void func_800C90F4(?, s32); /* extern */
void func_800CA0A0(); /* extern */
extern ? D_8018DEE4;
static struct _struct_D_800E7458_0x8 D_800E7458[0]; /* unable to generate initializer; const */
static struct _struct_D_800E7480_0x8 D_800E7480[0]; /* unable to generate initializer; const */
static struct _struct_D_800E7458_0x8 D_800E7458[0]; /* unable to generate initializer */
static struct _struct_D_800E7480_0x8 D_800E7480[0]; /* unable to generate initializer */
static MkAnimation *gCharacterCelebrateAnimation[8] = {
D_02006718,
D_02006900,
@ -15934,7 +15873,7 @@ static MkAnimation *gCharacterCelebrateAnimation[8] = {
D_02007290,
D_02007478,
D_02006AE8,
}; /* const */
};
static MkAnimation *D_800E83A0[8] = {
D_02006778,
D_02006960,
@ -15944,8 +15883,17 @@ static MkAnimation *D_800E83A0[8] = {
D_020072F0,
D_020074D8,
D_02006B48,
}; /* const */
static s32 D_800E8440[8] = { 0xA, 0xA, 0xA, 0xA, 0xA, 0xA, 0xA, 0xA }; /* const */
};
static s32 D_800E8440[8] = {
0x0000000A,
0x0000000A,
0x0000000A,
0x0000000A,
0x0000000A,
0x0000000A,
0x0000000A,
0x0000000A,
};
static ? D_800EFD64; /* unable to generate initializer; const */
void func_800AF270(struct_8018D9E0_entry *arg0) {
@ -15954,15 +15902,13 @@ void func_800AF270(struct_8018D9E0_entry *arg0) {
s32 temp_t2;
s32 temp_t8;
s32 temp_v1;
s8 temp_t6;
s8 temp_v0;
struct _struct_D_800E7458_0x8 *temp_v0_2;
struct _struct_D_800E7480_0x8 *temp_v0_3;
temp_t6 = D_802874D8.unk_1E;
sp30 = (s32) temp_t6;
sp30 = (s32) D_802874D8.unk_1E;
temp_t8 = arg0->unk4;
temp_v0 = *(&D_800EFD64 + temp_t6);
temp_v0 = *(&D_800EFD64 + D_802874D8.unk_1E);
temp_v1 = arg0->type - 0x12C;
switch (temp_t8) {
case 0:
@ -15974,7 +15920,7 @@ void func_800AF270(struct_8018D9E0_entry *arg0) {
case 1:
temp_v0_3 = &D_800E7480[temp_v1];
sp20 = temp_v0_3;
func_800A91D8(arg0, temp_v0_3->unk0, temp_v0_3->unk2);
func_800A91D8(arg0, (s32) temp_v0_3->unk0, (s32) temp_v0_3->unk2);
if ((temp_v0_3->unk0 == arg0->column) && (temp_v0_3->unk2 == arg0->row)) {
arg0->unk4 = 2;
arg0->unk20 = 0;
@ -15986,17 +15932,17 @@ void func_800AF270(struct_8018D9E0_entry *arg0) {
temp_t2 = arg0->unk20 + 1;
arg0->unk20 = temp_t2;
if (temp_t2 >= 0x1F) {
if ((s32) D_802874D8.unk_1D >= 3) {
if (D_802874D8.unk_1D >= 3) {
arg0->unk4 = 4;
func_800CA0B8();
func_800C90F4(0, (sp30 * 0x10) + 0x29008003);
func_800CA0B8((MkAnimation *(*)[]) gCharacterCelebrateAnimation, &D_802874D8);
func_800C90F4(0U, (sp30 * 0x10) + 0x29008003);
func_800CA0A0();
return;
}
arg0->unk4 = 3;
func_8009A640(arg0->D_8018DEE0_index, 0, sp30, segmented_to_virtual_dupe_2(gCharacterCelebrateAnimation[temp_v0]));
func_800CA0B8();
func_800C90F4(0, (sp30 * 0x10) + 0x29008007);
func_800C90F4(0U, (sp30 * 0x10) + 0x29008007);
func_800CA0A0();
return;
}

View File

@ -108,6 +108,7 @@ void func_800947B4(struct GfxPool*, s32);
void func_80094A64(Mtx*);
void func_80094C60();
void func_80095574();
Gfx *func_800958D4(Gfx*, s32, s32, s32, s32, s32);
Gfx *func_800959A0(Gfx*, s32, s32, s32, s32);
Gfx *func_800959F8(Gfx*, Vtx*);
Gfx *func_80098C18(Gfx*, s32, s32, s32, s32, s32, s32, s32, s32);
@ -169,6 +170,8 @@ void func_8009E5FC(s32);
void func_8009E620();
void add_8018D9E0_entry(s32, s32, s32, s8);
void func_800A08D8(u8, s32, s32);
s32 func_800A095C(char*, s32, s32, s32);
void func_800A09E0(struct_8018D9E0_entry*);
void func_800A0AD0(struct_8018D9E0_entry*);
void func_800A0DFC();
void func_800A11D0(struct_8018D9E0_entry*, s32, s32);
@ -203,6 +206,7 @@ void get_time_record_centiseconds(s32, char*);
void func_800A8230();
void func_800A8250();
void func_800A86E8(struct_8018D9E0_entry*);
void func_800A890C(s32, struct_8018D9E0_entry*);
void func_800A8A98(struct_8018D9E0_entry*);
void func_800A8E14(struct_8018D9E0_entry*);
void func_800A8EC0(struct_8018D9E0_entry*);
@ -248,6 +252,7 @@ void func_800AC300(struct_8018D9E0_entry*);
void func_800AC324(struct_8018D9E0_entry*);
void func_800AC978(struct_8018D9E0_entry*);
void func_800AD1A4(struct_8018D9E0_entry*);
void func_800ADF48(struct_8018D9E0_entry*);
void func_800AEC54(struct_8018D9E0_entry*);
void func_800AEDBC(struct_8018D9E0_entry*);
void func_800AEE90(struct_8018D9E0_entry*);

View File

@ -709,7 +709,7 @@ void update_race_position_data(void) {
if (((gPlayers[i].unk_000 & PLAYER_EXISTS) != 0) &&
((gPlayers[i].unk_000 & PLAYER_CINEMATIC_MODE) == 0) &&
((gPlayers[i].unk_000 & PLAYER_INVISIBLE_OR_BOMB) == 0)) {
position = gPlayerPositions[i];
position = gGPCurrentRaceRankByPlayerId[i];
gPlayers[i].currentRank = position;
gPlayerPositionLUT[position] = i;
}

View File

@ -38,7 +38,7 @@ void func_80290B14();
extern f32 gTimePlayerLastTouchedFinishLine[];
extern f32 gLapCompletionPercentByPlayerId[];
extern s32 gPlayerPositions[]; // D_801643B8 (position for each player)
extern s32 gGPCurrentRaceRankByPlayerId[]; // D_801643B8 (position for each player)
extern s16 gPlayerPositionLUT[]; // D_8015F8F0 (player index at each position)
extern u16 D_80162DD6;

View File

@ -517,7 +517,7 @@ GLOBAL_ASM("asm/non_matchings/skybox/func_802A4A0C.s")
#ifdef NEEDS_RODATA
//generated by m2c commit 9841ff34ca242f5f14b2eab2b54a7a65ac47d80f
// data/data_
// data/data_121DA0_2_2.s
// jtbl_802B9BB8
extern f32 D_802B9BB4;// = 6800.0f;
extern f32 D_802B9C04;// = 2700.0f;
@ -1301,69 +1301,20 @@ void func_802A74BC(void) {
}
}
#ifdef MIPS_TO_C
//generated by m2c commit 3b40ab93768f52ac241c5ae84ef58ef6bc4cb1de
void func_802A7658(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5) {
s32 temp_t5;
s32 var_a0;
s32 var_a1;
s32 var_a2;
s32 var_v0;
void func_802A7658(s32 arg0, s32 arg1, s32 arg2, s32 arg3, u16 *source, u16 *target) {
s32 var_v1;
u16 *var_t1;
u16 *var_t3;
u16 temp_t8;
u16 temp_t9;
void *var_t3_2;
s32 var_a1;
s32 targetIndex;
s32 sourceIndex;
var_v0 = 0;
var_v1 = 0;
if (arg3 > 0) {
var_a2 = (arg1 * 0x140) + arg0;
do {
var_a0 = var_a2;
var_a1 = 0;
if (arg2 > 0) {
temp_t5 = arg2 & 3;
var_t1 = arg5 + (var_v0 * 2);
if (temp_t5 != 0) {
var_t3 = arg4 + (var_a0 * 2);
do {
temp_t9 = *var_t3;
var_a1 += 1;
var_v0 += 1;
var_t1 += 2;
var_a0 += 1;
var_t3 += 2;
var_t1->unk-2 = temp_t9;
} while (temp_t5 != var_a1);
if (var_a1 != arg2) {
goto block_7;
}
} else {
block_7:
var_t3_2 = arg4 + (var_a0 * 2);
do {
var_a1 += 4;
var_v0 += 4;
*var_t1 = var_t3_2->unk0;
temp_t8 = var_t3_2->unk2;
var_t1 += 8;
var_t3_2 += 8;
var_t1->unk-6 = temp_t8;
var_t1->unk-4 = (u16) var_t3_2->unk-4;
var_t1->unk-2 = (u16) var_t3_2->unk-2;
} while (var_a1 != arg2);
}
}
var_v1 += 1;
var_a2 += 0x140;
} while (var_v1 != arg3);
targetIndex = 0;
for (var_v1 = 0; var_v1 < arg3; var_v1++) {
sourceIndex = ((arg1 + var_v1) * 320) + arg0;
for (var_a1 = 0; var_a1 < arg2; var_a1++, targetIndex++, sourceIndex++) {
target[targetIndex] = source[sourceIndex];
}
}
}
#else
GLOBAL_ASM("asm/non_matchings/skybox/func_802A7658.s")
#endif
extern s32 D_800DC5DC;
extern s32 D_800DC5E0;

View File

@ -416,7 +416,7 @@ void func_80039DA4(void) {
}
} else {
for (i = 0; i < 8; i++) {
D_80165270[i] = spC[gPlayerPositions[i]];
D_80165270[i] = spC[gGPCurrentRaceRankByPlayerId[i]];
}
}
}