mirror of
https://github.com/n64decomp/mk64
synced 2026-07-11 13:48:45 -04:00
Versus mode Bomb Kart stuff (#375)
Signed-off-by: Taggerung <tyler.taggerung@email.com>
This commit is contained in:
+8
-4
@@ -71,23 +71,27 @@ glabel D_80163DD8
|
||||
glabel D_80163DE4
|
||||
.skip 4
|
||||
|
||||
# D_80163DE8 should actually be of size 588 (0x54 * 7)
|
||||
# D_80163E2C is a fake variable
|
||||
glabel D_80163DE8
|
||||
.skip 66
|
||||
|
||||
glabel D_80163E2A
|
||||
.skip 2
|
||||
.skip 68
|
||||
|
||||
glabel D_80163E2C
|
||||
.skip 520
|
||||
# end D_80163DE8
|
||||
|
||||
glabel D_80164034
|
||||
.skip 4
|
||||
|
||||
# Seemingly an array of UnkActorInner, related to the VS mode Bomb Karts
|
||||
# D_80164038 should be of size 448 (0x40 * 7)
|
||||
# D_801640F4 is a fake variable
|
||||
glabel D_80164038
|
||||
.skip 188
|
||||
|
||||
glabel D_801640F4
|
||||
.skip 260
|
||||
# end D_80164038
|
||||
|
||||
glabel gUnexpiredActorsList
|
||||
.skip 224
|
||||
|
||||
@@ -1,138 +0,0 @@
|
||||
glabel func_8000DD78
|
||||
/* 00E978 8000DD78 27BDFF98 */ addiu $sp, $sp, -0x68
|
||||
/* 00E97C 8000DD7C F7BA0038 */ sdc1 $f26, 0x38($sp)
|
||||
/* 00E980 8000DD80 3C0144FA */ li $at, 0x44FA0000 # 2000.000000
|
||||
/* 00E984 8000DD84 4481D000 */ mtc1 $at, $f26
|
||||
/* 00E988 8000DD88 AFB60058 */ sw $s6, 0x58($sp)
|
||||
/* 00E98C 8000DD8C AFB50054 */ sw $s5, 0x54($sp)
|
||||
/* 00E990 8000DD90 AFB40050 */ sw $s4, 0x50($sp)
|
||||
/* 00E994 8000DD94 AFB20048 */ sw $s2, 0x48($sp)
|
||||
/* 00E998 8000DD98 AFB00040 */ sw $s0, 0x40($sp)
|
||||
/* 00E99C 8000DD9C F7B80030 */ sdc1 $f24, 0x30($sp)
|
||||
/* 00E9A0 8000DDA0 3C014000 */ li $at, 0x40000000 # 2.000000
|
||||
/* 00E9A4 8000DDA4 AFBE0060 */ sw $fp, 0x60($sp)
|
||||
/* 00E9A8 8000DDA8 AFB7005C */ sw $s7, 0x5c($sp)
|
||||
/* 00E9AC 8000DDAC AFB3004C */ sw $s3, 0x4c($sp)
|
||||
/* 00E9B0 8000DDB0 3C108016 */ lui $s0, %hi(D_80163DE8) # $s0, 0x8016
|
||||
/* 00E9B4 8000DDB4 3C128016 */ lui $s2, %hi(D_80164038) # $s2, 0x8016
|
||||
/* 00E9B8 8000DDB8 3C148016 */ lui $s4, %hi(D_80164550) # $s4, 0x8016
|
||||
/* 00E9BC 8000DDBC 3C15800E */ lui $s5, %hi(D_800DCC08)
|
||||
/* 00E9C0 8000DDC0 3C16800E */ lui $s6, %hi(gCurrentCourseId)
|
||||
/* 00E9C4 8000DDC4 4481C000 */ mtc1 $at, $f24
|
||||
/* 00E9C8 8000DDC8 AFBF0064 */ sw $ra, 0x64($sp)
|
||||
/* 00E9CC 8000DDCC AFB10044 */ sw $s1, 0x44($sp)
|
||||
/* 00E9D0 8000DDD0 F7B60028 */ sdc1 $f22, 0x28($sp)
|
||||
/* 00E9D4 8000DDD4 F7B40020 */ sdc1 $f20, 0x20($sp)
|
||||
/* 00E9D8 8000DDD8 26D6C5A0 */ addiu $s6, %lo(gCurrentCourseId) # addiu $s6, $s6, -0x3a60
|
||||
/* 00E9DC 8000DDDC 26B5CC08 */ addiu $s5, %lo(D_800DCC08) # addiu $s5, $s5, -0x33f8
|
||||
/* 00E9E0 8000DDE0 26944550 */ addiu $s4, %lo(D_80164550) # addiu $s4, $s4, 0x4550
|
||||
/* 00E9E4 8000DDE4 26524038 */ addiu $s2, %lo(D_80164038) # addiu $s2, $s2, 0x4038
|
||||
/* 00E9E8 8000DDE8 26103DE8 */ addiu $s0, %lo(D_80163DE8) # addiu $s0, $s0, 0x3de8
|
||||
/* 00E9EC 8000DDEC 00009825 */ move $s3, $zero
|
||||
/* 00E9F0 8000DDF0 24170004 */ li $s7, 4
|
||||
/* 00E9F4 8000DDF4 241E0014 */ li $fp, 20
|
||||
.L8000DDF8:
|
||||
/* 00E9F8 8000DDF8 86C20000 */ lh $v0, ($s6)
|
||||
/* 00E9FC 8000DDFC 00027080 */ sll $t6, $v0, 2
|
||||
/* 00EA00 8000DE00 01C27021 */ addu $t6, $t6, $v0
|
||||
/* 00EA04 8000DE04 000E7080 */ sll $t6, $t6, 2
|
||||
/* 00EA08 8000DE08 01C27021 */ addu $t6, $t6, $v0
|
||||
/* 00EA0C 8000DE0C 000E70C0 */ sll $t6, $t6, 3
|
||||
/* 00EA10 8000DE10 02AE7821 */ addu $t7, $s5, $t6
|
||||
/* 00EA14 8000DE14 12E20011 */ beq $s7, $v0, .L8000DE5C
|
||||
/* 00EA18 8000DE18 01F38821 */ addu $s1, $t7, $s3
|
||||
/* 00EA1C 8000DE1C 505E0018 */ beql $v0, $fp, .L8000DE80
|
||||
/* 00EA20 8000DE20 962D0000 */ lhu $t5, ($s1)
|
||||
/* 00EA24 8000DE24 96390000 */ lhu $t9, ($s1)
|
||||
/* 00EA28 8000DE28 8E980000 */ lw $t8, ($s4)
|
||||
/* 00EA2C 8000DE2C 001940C0 */ sll $t0, $t9, 3
|
||||
/* 00EA30 8000DE30 03081021 */ addu $v0, $t8, $t0
|
||||
/* 00EA34 8000DE34 84490000 */ lh $t1, ($v0)
|
||||
/* 00EA38 8000DE38 844A0002 */ lh $t2, 2($v0)
|
||||
/* 00EA3C 8000DE3C 844B0004 */ lh $t3, 4($v0)
|
||||
/* 00EA40 8000DE40 44892000 */ mtc1 $t1, $f4
|
||||
/* 00EA44 8000DE44 448A3000 */ mtc1 $t2, $f6
|
||||
/* 00EA48 8000DE48 448B4000 */ mtc1 $t3, $f8
|
||||
/* 00EA4C 8000DE4C 46802520 */ cvt.s.w $f20, $f4
|
||||
/* 00EA50 8000DE50 468030A0 */ cvt.s.w $f2, $f6
|
||||
/* 00EA54 8000DE54 10000016 */ b .L8000DEB0
|
||||
/* 00EA58 8000DE58 468045A0 */ cvt.s.w $f22, $f8
|
||||
.L8000DE5C:
|
||||
/* 00EA5C 8000DE5C C636000C */ lwc1 $f22, 0xc($s1)
|
||||
/* 00EA60 8000DE60 C6340008 */ lwc1 $f20, 8($s1)
|
||||
/* 00EA64 8000DE64 4600D386 */ mov.s $f14, $f26
|
||||
/* 00EA68 8000DE68 4406B000 */ mfc1 $a2, $f22
|
||||
/* 00EA6C 8000DE6C 0C0AB870 */ jal func_802AE1C0
|
||||
/* 00EA70 8000DE70 4600A306 */ mov.s $f12, $f20
|
||||
/* 00EA74 8000DE74 1000000E */ b .L8000DEB0
|
||||
/* 00EA78 8000DE78 46000086 */ mov.s $f2, $f0
|
||||
/* 00EA7C 8000DE7C 962D0000 */ lhu $t5, ($s1)
|
||||
.L8000DE80:
|
||||
/* 00EA80 8000DE80 8E8C000C */ lw $t4, 0xc($s4)
|
||||
/* 00EA84 8000DE84 000D70C0 */ sll $t6, $t5, 3
|
||||
/* 00EA88 8000DE88 018E1021 */ addu $v0, $t4, $t6
|
||||
/* 00EA8C 8000DE8C 844F0000 */ lh $t7, ($v0)
|
||||
/* 00EA90 8000DE90 84590002 */ lh $t9, 2($v0)
|
||||
/* 00EA94 8000DE94 84580004 */ lh $t8, 4($v0)
|
||||
/* 00EA98 8000DE98 448F5000 */ mtc1 $t7, $f10
|
||||
/* 00EA9C 8000DE9C 44998000 */ mtc1 $t9, $f16
|
||||
/* 00EAA0 8000DEA0 44989000 */ mtc1 $t8, $f18
|
||||
/* 00EAA4 8000DEA4 46805520 */ cvt.s.w $f20, $f10
|
||||
/* 00EAA8 8000DEA8 468080A0 */ cvt.s.w $f2, $f16
|
||||
/* 00EAAC 8000DEAC 468095A0 */ cvt.s.w $f22, $f18
|
||||
.L8000DEB0:
|
||||
/* 00EAB0 8000DEB0 E6140000 */ swc1 $f20, ($s0)
|
||||
/* 00EAB4 8000DEB4 E6020004 */ swc1 $f2, 4($s0)
|
||||
/* 00EAB8 8000DEB8 E6160008 */ swc1 $f22, 8($s0)
|
||||
/* 00EABC 8000DEBC E614000C */ swc1 $f20, 0xc($s0)
|
||||
/* 00EAC0 8000DEC0 E6020010 */ swc1 $f2, 0x10($s0)
|
||||
/* 00EAC4 8000DEC4 E6160014 */ swc1 $f22, 0x14($s0)
|
||||
/* 00EAC8 8000DEC8 E6140018 */ swc1 $f20, 0x18($s0)
|
||||
/* 00EACC 8000DECC E602001C */ swc1 $f2, 0x1c($s0)
|
||||
/* 00EAD0 8000DED0 E6160020 */ swc1 $f22, 0x20($s0)
|
||||
/* 00EAD4 8000DED4 E6140024 */ swc1 $f20, 0x24($s0)
|
||||
/* 00EAD8 8000DED8 E6020028 */ swc1 $f2, 0x28($s0)
|
||||
/* 00EADC 8000DEDC E616002C */ swc1 $f22, 0x2c($s0)
|
||||
/* 00EAE0 8000DEE0 E6140030 */ swc1 $f20, 0x30($s0)
|
||||
/* 00EAE4 8000DEE4 E6020034 */ swc1 $f2, 0x34($s0)
|
||||
/* 00EAE8 8000DEE8 E6160038 */ swc1 $f22, 0x38($s0)
|
||||
/* 00EAEC 8000DEEC 96280000 */ lhu $t0, ($s1)
|
||||
/* 00EAF0 8000DEF0 240A0001 */ li $t2, 1
|
||||
/* 00EAF4 8000DEF4 4405C000 */ mfc1 $a1, $f24
|
||||
/* 00EAF8 8000DEF8 A6080042 */ sh $t0, 0x42($s0)
|
||||
/* 00EAFC 8000DEFC C6240004 */ lwc1 $f4, 4($s1)
|
||||
/* 00EB00 8000DF00 A6000046 */ sh $zero, 0x46($s0)
|
||||
/* 00EB04 8000DF04 A6000048 */ sh $zero, 0x48($s0)
|
||||
/* 00EB08 8000DF08 E604003C */ swc1 $f4, 0x3c($s0)
|
||||
/* 00EB0C 8000DF0C 96290002 */ lhu $t1, 2($s1)
|
||||
/* 00EB10 8000DF10 4406A000 */ mfc1 $a2, $f20
|
||||
/* 00EB14 8000DF14 44071000 */ mfc1 $a3, $f2
|
||||
/* 00EB18 8000DF18 A600004A */ sh $zero, 0x4a($s0)
|
||||
/* 00EB1C 8000DF1C A60A004C */ sh $t2, 0x4c($s0)
|
||||
/* 00EB20 8000DF20 E6020050 */ swc1 $f2, 0x50($s0)
|
||||
/* 00EB24 8000DF24 E7B60010 */ swc1 $f22, 0x10($sp)
|
||||
/* 00EB28 8000DF28 02402025 */ move $a0, $s2
|
||||
/* 00EB2C 8000DF2C 0C0AB772 */ jal func_802ADDC8
|
||||
/* 00EB30 8000DF30 A6090044 */ sh $t1, 0x44($s0)
|
||||
/* 00EB34 8000DF34 3C0B8016 */ lui $t3, %hi(gUnexpiredActorsList) # $t3, 0x8016
|
||||
/* 00EB38 8000DF38 256B41F8 */ addiu $t3, %lo(gUnexpiredActorsList) # addiu $t3, $t3, 0x41f8
|
||||
/* 00EB3C 8000DF3C 26520040 */ addiu $s2, $s2, 0x40
|
||||
/* 00EB40 8000DF40 26730018 */ addiu $s3, $s3, 0x18
|
||||
/* 00EB44 8000DF44 164BFFAC */ bne $s2, $t3, .L8000DDF8
|
||||
/* 00EB48 8000DF48 26100054 */ addiu $s0, $s0, 0x54
|
||||
/* 00EB4C 8000DF4C 8FBF0064 */ lw $ra, 0x64($sp)
|
||||
/* 00EB50 8000DF50 D7B40020 */ ldc1 $f20, 0x20($sp)
|
||||
/* 00EB54 8000DF54 D7B60028 */ ldc1 $f22, 0x28($sp)
|
||||
/* 00EB58 8000DF58 D7B80030 */ ldc1 $f24, 0x30($sp)
|
||||
/* 00EB5C 8000DF5C D7BA0038 */ ldc1 $f26, 0x38($sp)
|
||||
/* 00EB60 8000DF60 8FB00040 */ lw $s0, 0x40($sp)
|
||||
/* 00EB64 8000DF64 8FB10044 */ lw $s1, 0x44($sp)
|
||||
/* 00EB68 8000DF68 8FB20048 */ lw $s2, 0x48($sp)
|
||||
/* 00EB6C 8000DF6C 8FB3004C */ lw $s3, 0x4c($sp)
|
||||
/* 00EB70 8000DF70 8FB40050 */ lw $s4, 0x50($sp)
|
||||
/* 00EB74 8000DF74 8FB50054 */ lw $s5, 0x54($sp)
|
||||
/* 00EB78 8000DF78 8FB60058 */ lw $s6, 0x58($sp)
|
||||
/* 00EB7C 8000DF7C 8FB7005C */ lw $s7, 0x5c($sp)
|
||||
/* 00EB80 8000DF80 8FBE0060 */ lw $fp, 0x60($sp)
|
||||
/* 00EB84 8000DF84 03E00008 */ jr $ra
|
||||
/* 00EB88 8000DF88 27BD0068 */ addiu $sp, $sp, 0x68
|
||||
@@ -1,67 +0,0 @@
|
||||
glabel func_800507D8
|
||||
/* 0513D8 800507D8 308EFFFF */ andi $t6, $a0, 0xffff
|
||||
/* 0513DC 800507DC 000E7880 */ sll $t7, $t6, 2
|
||||
/* 0513E0 800507E0 01EE7821 */ addu $t7, $t7, $t6
|
||||
/* 0513E4 800507E4 000F7880 */ sll $t7, $t7, 2
|
||||
/* 0513E8 800507E8 01EE7821 */ addu $t7, $t7, $t6
|
||||
/* 0513EC 800507EC 000F7880 */ sll $t7, $t7, 2
|
||||
/* 0513F0 800507F0 3C028016 */ lui $v0, %hi(D_80163E2A) # 0x8016
|
||||
/* 0513F4 800507F4 004F1021 */ addu $v0, $v0, $t7
|
||||
/* 0513F8 800507F8 94423E2A */ lhu $v0, %lo(D_80163E2A)($v0) # 0x3e2a($v0)
|
||||
/* 0513FC 800507FC AFA40000 */ sw $a0, ($sp)
|
||||
/* 051400 80050800 01C02025 */ move $a0, $t6
|
||||
/* 051404 80050804 10400013 */ beqz $v0, .L80050854
|
||||
/* 051408 80050808 00001825 */ move $v1, $zero
|
||||
/* 05140C 8005080C 0002C0C0 */ sll $t8, $v0, 3
|
||||
/* 051410 80050810 0302C023 */ subu $t8, $t8, $v0
|
||||
/* 051414 80050814 0018C080 */ sll $t8, $t8, 2
|
||||
/* 051418 80050818 0302C021 */ addu $t8, $t8, $v0
|
||||
/* 05141C 8005081C 3C198016 */ lui $t9, %hi(D_80164430) # $t9, 0x8016
|
||||
/* 051420 80050820 97394430 */ lhu $t9, %lo(D_80164430)($t9)
|
||||
/* 051424 80050824 0018C140 */ sll $t8, $t8, 5
|
||||
/* 051428 80050828 0319001A */ div $zero, $t8, $t9
|
||||
/* 05142C 8005082C 00001812 */ mflo $v1
|
||||
/* 051430 80050830 17200002 */ bnez $t9, .L8005083C
|
||||
/* 051434 80050834 00000000 */ nop
|
||||
/* 051438 80050838 0007000D */ break 7
|
||||
.L8005083C:
|
||||
/* 05143C 8005083C 2401FFFF */ li $at, -1
|
||||
/* 051440 80050840 17210004 */ bne $t9, $at, .L80050854
|
||||
/* 051444 80050844 3C018000 */ lui $at, 0x8000
|
||||
/* 051448 80050848 17010002 */ bne $t8, $at, .L80050854
|
||||
/* 05144C 8005084C 00000000 */ nop
|
||||
/* 051450 80050850 0006000D */ break 6
|
||||
.L80050854:
|
||||
/* 051454 80050854 28610104 */ slti $at, $v1, 0x104
|
||||
/* 051458 80050858 50200005 */ beql $at, $zero, .L80050870
|
||||
/* 05145C 8005085C 286101D0 */ slti $at, $v1, 0x1d0
|
||||
/* 051460 80050860 ACA30000 */ sw $v1, ($a1)
|
||||
/* 051464 80050864 03E00008 */ jr $ra
|
||||
/* 051468 80050868 ACC00000 */ sw $zero, ($a2)
|
||||
|
||||
/* 05146C 8005086C 286101D0 */ slti $at, $v1, 0x1d0
|
||||
.L80050870:
|
||||
/* 051470 80050870 10200005 */ beqz $at, .L80050888
|
||||
/* 051474 80050874 24080104 */ li $t0, 260
|
||||
/* 051478 80050878 ACA80000 */ sw $t0, ($a1)
|
||||
/* 05147C 8005087C 2469FEFC */ addiu $t1, $v1, -0x104
|
||||
/* 051480 80050880 03E00008 */ jr $ra
|
||||
/* 051484 80050884 ACC90000 */ sw $t1, ($a2)
|
||||
|
||||
.L80050888:
|
||||
/* 051488 80050888 286102D4 */ slti $at, $v1, 0x2d4
|
||||
/* 05148C 8005088C 10200007 */ beqz $at, .L800508AC
|
||||
/* 051490 80050890 240D03A0 */ li $t5, 928
|
||||
/* 051494 80050894 240A02D4 */ li $t2, 724
|
||||
/* 051498 80050898 01435823 */ subu $t3, $t2, $v1
|
||||
/* 05149C 8005089C ACAB0000 */ sw $t3, ($a1)
|
||||
/* 0514A0 800508A0 240C00CC */ li $t4, 204
|
||||
/* 0514A4 800508A4 03E00008 */ jr $ra
|
||||
/* 0514A8 800508A8 ACCC0000 */ sw $t4, ($a2)
|
||||
|
||||
.L800508AC:
|
||||
/* 0514AC 800508AC ACA00000 */ sw $zero, ($a1)
|
||||
/* 0514B0 800508B0 01A37023 */ subu $t6, $t5, $v1
|
||||
/* 0514B4 800508B4 ACCE0000 */ sw $t6, ($a2)
|
||||
/* 0514B8 800508B8 03E00008 */ jr $ra
|
||||
/* 0514BC 800508BC 00000000 */ nop
|
||||
@@ -1,126 +0,0 @@
|
||||
.section .late_rodata
|
||||
|
||||
glabel D_800EE064
|
||||
.float 0.6
|
||||
|
||||
.section .text
|
||||
|
||||
glabel func_80050C68
|
||||
/* 051868 80050C68 27BDFF70 */ addiu $sp, $sp, -0x90
|
||||
/* 05186C 80050C6C AFB20028 */ sw $s2, 0x28($sp)
|
||||
/* 051870 80050C70 AFB00020 */ sw $s0, 0x20($sp)
|
||||
/* 051874 80050C74 AFBE0040 */ sw $fp, 0x40($sp)
|
||||
/* 051878 80050C78 AFB7003C */ sw $s7, 0x3c($sp)
|
||||
/* 05187C 80050C7C AFB60038 */ sw $s6, 0x38($sp)
|
||||
/* 051880 80050C80 AFB10024 */ sw $s1, 0x24($sp)
|
||||
/* 051884 80050C84 F7B40018 */ sdc1 $f20, 0x18($sp)
|
||||
/* 051888 80050C88 3C108015 */ lui $s0, %hi(gDisplayListHead) # $s0, 0x8015
|
||||
/* 05188C 80050C8C 3C128016 */ lui $s2, %hi(D_80163DE8) # $s2, 0x8016
|
||||
/* 051890 80050C90 3C01800F */ lui $at, %hi(D_800EE064) # $at, 0x800f
|
||||
/* 051894 80050C94 AFBF0044 */ sw $ra, 0x44($sp)
|
||||
/* 051898 80050C98 AFB50034 */ sw $s5, 0x34($sp)
|
||||
/* 05189C 80050C9C AFB40030 */ sw $s4, 0x30($sp)
|
||||
/* 0518A0 80050CA0 AFB3002C */ sw $s3, 0x2c($sp)
|
||||
/* 0518A4 80050CA4 C434E064 */ lwc1 $f20, %lo(D_800EE064)($at)
|
||||
/* 0518A8 80050CA8 26523DE8 */ addiu $s2, %lo(D_80163DE8) # addiu $s2, $s2, 0x3de8
|
||||
/* 0518AC 80050CAC 26100298 */ addiu $s0, %lo(gDisplayListHead) # addiu $s0, $s0, 0x298
|
||||
/* 0518B0 80050CB0 00008825 */ move $s1, $zero
|
||||
/* 0518B4 80050CB4 3C160600 */ lui $s6, 0x600
|
||||
/* 0518B8 80050CB8 24170004 */ li $s7, 4
|
||||
/* 0518BC 80050CBC 27BE0088 */ addiu $fp, $sp, 0x88
|
||||
.L80050CC0:
|
||||
/* 0518C0 80050CC0 96420044 */ lhu $v0, 0x44($s2)
|
||||
/* 0518C4 80050CC4 52E2004B */ beql $s7, $v0, .L80050DF4
|
||||
/* 0518C8 80050CC8 26310001 */ addiu $s1, $s1, 1
|
||||
/* 0518CC 80050CCC 10400048 */ beqz $v0, .L80050DF0
|
||||
/* 0518D0 80050CD0 3224FFFF */ andi $a0, $s1, 0xffff
|
||||
/* 0518D4 80050CD4 3C130D00 */ lui $s3, %hi(D_0D007DB8) # $s3, 0xd00
|
||||
/* 0518D8 80050CD8 3C140D02 */ lui $s4, %hi(gTLUTPortraitBombKartAndQuestionMark) # $s4, 0xd02
|
||||
/* 0518DC 80050CDC 3C150D00 */ lui $s5, %hi(D_0D0069E0) # $s5, 0xd00
|
||||
/* 0518E0 80050CE0 26B569E0 */ addiu $s5, %lo(D_0D0069E0) # addiu $s5, $s5, 0x69e0
|
||||
/* 0518E4 80050CE4 2694B4D8 */ addiu $s4, %lo(gTLUTPortraitBombKartAndQuestionMark) # addiu $s4, $s4, -0x4b28
|
||||
/* 0518E8 80050CE8 26737DB8 */ addiu $s3, %lo(D_0D007DB8) # addiu $s3, $s3, 0x7db8
|
||||
/* 0518EC 80050CEC 03C02825 */ move $a1, $fp
|
||||
/* 0518F0 80050CF0 0C0141F6 */ jal func_800507D8
|
||||
/* 0518F4 80050CF4 27A60084 */ addiu $a2, $sp, 0x84
|
||||
/* 0518F8 80050CF8 8E020000 */ lw $v0, ($s0)
|
||||
/* 0518FC 80050CFC 3C18FD10 */ lui $t8, 0xfd10
|
||||
/* 051900 80050D00 3C0DE800 */ lui $t5, 0xe800
|
||||
/* 051904 80050D04 244E0008 */ addiu $t6, $v0, 8
|
||||
/* 051908 80050D08 AE0E0000 */ sw $t6, ($s0)
|
||||
/* 05190C 80050D0C AC530004 */ sw $s3, 4($v0)
|
||||
/* 051910 80050D10 AC560000 */ sw $s6, ($v0)
|
||||
/* 051914 80050D14 8E020000 */ lw $v0, ($s0)
|
||||
/* 051918 80050D18 3C040D02 */ lui $a0, %hi(gTexturePortraitBombKart) # $a0, 0xd02
|
||||
/* 05191C 80050D1C 2484D6D8 */ addiu $a0, %lo(gTexturePortraitBombKart) # addiu $a0, $a0, -0x2928
|
||||
/* 051920 80050D20 244F0008 */ addiu $t7, $v0, 8
|
||||
/* 051924 80050D24 AE0F0000 */ sw $t7, ($s0)
|
||||
/* 051928 80050D28 AC540004 */ sw $s4, 4($v0)
|
||||
/* 05192C 80050D2C AC580000 */ sw $t8, ($v0)
|
||||
/* 051930 80050D30 8E020000 */ lw $v0, ($s0)
|
||||
/* 051934 80050D34 3C0FF500 */ lui $t7, (0xF5000100 >> 16) # lui $t7, 0xf500
|
||||
/* 051938 80050D38 35EF0100 */ ori $t7, (0xF5000100 & 0xFFFF) # ori $t7, $t7, 0x100
|
||||
/* 05193C 80050D3C 24590008 */ addiu $t9, $v0, 8
|
||||
/* 051940 80050D40 AE190000 */ sw $t9, ($s0)
|
||||
/* 051944 80050D44 AC400004 */ sw $zero, 4($v0)
|
||||
/* 051948 80050D48 AC4D0000 */ sw $t5, ($v0)
|
||||
/* 05194C 80050D4C 8E020000 */ lw $v0, ($s0)
|
||||
/* 051950 80050D50 3C180700 */ lui $t8, 0x700
|
||||
/* 051954 80050D54 3C0DE600 */ lui $t5, 0xe600
|
||||
/* 051958 80050D58 244E0008 */ addiu $t6, $v0, 8
|
||||
/* 05195C 80050D5C AE0E0000 */ sw $t6, ($s0)
|
||||
/* 051960 80050D60 AC580004 */ sw $t8, 4($v0)
|
||||
/* 051964 80050D64 AC4F0000 */ sw $t7, ($v0)
|
||||
/* 051968 80050D68 8E020000 */ lw $v0, ($s0)
|
||||
/* 05196C 80050D6C 3C18073F */ lui $t8, (0x073FC000 >> 16) # lui $t8, 0x73f
|
||||
/* 051970 80050D70 3718C000 */ ori $t8, (0x073FC000 & 0xFFFF) # ori $t8, $t8, 0xc000
|
||||
/* 051974 80050D74 24590008 */ addiu $t9, $v0, 8
|
||||
/* 051978 80050D78 AE190000 */ sw $t9, ($s0)
|
||||
/* 05197C 80050D7C AC400004 */ sw $zero, 4($v0)
|
||||
/* 051980 80050D80 AC4D0000 */ sw $t5, ($v0)
|
||||
/* 051984 80050D84 8E020000 */ lw $v0, ($s0)
|
||||
/* 051988 80050D88 3C0FF000 */ lui $t7, 0xf000
|
||||
/* 05198C 80050D8C 3C0DE700 */ lui $t5, 0xe700
|
||||
/* 051990 80050D90 244E0008 */ addiu $t6, $v0, 8
|
||||
/* 051994 80050D94 AE0E0000 */ sw $t6, ($s0)
|
||||
/* 051998 80050D98 AC580004 */ sw $t8, 4($v0)
|
||||
/* 05199C 80050D9C AC4F0000 */ sw $t7, ($v0)
|
||||
/* 0519A0 80050DA0 8E020000 */ lw $v0, ($s0)
|
||||
/* 0519A4 80050DA4 24050020 */ li $a1, 32
|
||||
/* 0519A8 80050DA8 24060020 */ li $a2, 32
|
||||
/* 0519AC 80050DAC 24590008 */ addiu $t9, $v0, 8
|
||||
/* 0519B0 80050DB0 AE190000 */ sw $t9, ($s0)
|
||||
/* 0519B4 80050DB4 AC400004 */ sw $zero, 4($v0)
|
||||
/* 0519B8 80050DB8 0C0114A9 */ jal func_800452A4
|
||||
/* 0519BC 80050DBC AC4D0000 */ sw $t5, ($v0)
|
||||
/* 0519C0 80050DC0 8FA40088 */ lw $a0, 0x88($sp)
|
||||
/* 0519C4 80050DC4 8FA50084 */ lw $a1, 0x84($sp)
|
||||
/* 0519C8 80050DC8 4407A000 */ mfc1 $a3, $f20
|
||||
/* 0519CC 80050DCC 00003025 */ move $a2, $zero
|
||||
/* 0519D0 80050DD0 24840020 */ addiu $a0, $a0, 0x20
|
||||
/* 0519D4 80050DD4 0C0108CC */ jal func_80042330
|
||||
/* 0519D8 80050DD8 24A50012 */ addiu $a1, $a1, 0x12
|
||||
/* 0519DC 80050DDC 8E020000 */ lw $v0, ($s0)
|
||||
/* 0519E0 80050DE0 244E0008 */ addiu $t6, $v0, 8
|
||||
/* 0519E4 80050DE4 AE0E0000 */ sw $t6, ($s0)
|
||||
/* 0519E8 80050DE8 AC550004 */ sw $s5, 4($v0)
|
||||
/* 0519EC 80050DEC AC560000 */ sw $s6, ($v0)
|
||||
.L80050DF0:
|
||||
/* 0519F0 80050DF0 26310001 */ addiu $s1, $s1, 1
|
||||
.L80050DF4:
|
||||
/* 0519F4 80050DF4 24010007 */ li $at, 7
|
||||
/* 0519F8 80050DF8 1621FFB1 */ bne $s1, $at, .L80050CC0
|
||||
/* 0519FC 80050DFC 26520054 */ addiu $s2, $s2, 0x54
|
||||
/* 051A00 80050E00 8FBF0044 */ lw $ra, 0x44($sp)
|
||||
/* 051A04 80050E04 D7B40018 */ ldc1 $f20, 0x18($sp)
|
||||
/* 051A08 80050E08 8FB00020 */ lw $s0, 0x20($sp)
|
||||
/* 051A0C 80050E0C 8FB10024 */ lw $s1, 0x24($sp)
|
||||
/* 051A10 80050E10 8FB20028 */ lw $s2, 0x28($sp)
|
||||
/* 051A14 80050E14 8FB3002C */ lw $s3, 0x2c($sp)
|
||||
/* 051A18 80050E18 8FB40030 */ lw $s4, 0x30($sp)
|
||||
/* 051A1C 80050E1C 8FB50034 */ lw $s5, 0x34($sp)
|
||||
/* 051A20 80050E20 8FB60038 */ lw $s6, 0x38($sp)
|
||||
/* 051A24 80050E24 8FB7003C */ lw $s7, 0x3c($sp)
|
||||
/* 051A28 80050E28 8FBE0040 */ lw $fp, 0x40($sp)
|
||||
/* 051A2C 80050E2C 03E00008 */ jr $ra
|
||||
/* 051A30 80050E30 27BD0090 */ addiu $sp, $sp, 0x90
|
||||
@@ -1,79 +0,0 @@
|
||||
glabel func_80056AC0
|
||||
/* 0576C0 80056AC0 27BDFFB8 */ addiu $sp, $sp, -0x48
|
||||
/* 0576C4 80056AC4 F7B40018 */ sdc1 $f20, 0x18($sp)
|
||||
/* 0576C8 80056AC8 AFBE0040 */ sw $fp, 0x40($sp)
|
||||
/* 0576CC 80056ACC AFB50034 */ sw $s5, 0x34($sp)
|
||||
/* 0576D0 80056AD0 AFB3002C */ sw $s3, 0x2c($sp)
|
||||
/* 0576D4 80056AD4 3C014000 */ li $at, 0x40000000 # 2.000000
|
||||
/* 0576D8 80056AD8 AFB7003C */ sw $s7, 0x3c($sp)
|
||||
/* 0576DC 80056ADC AFB60038 */ sw $s6, 0x38($sp)
|
||||
/* 0576E0 80056AE0 AFB40030 */ sw $s4, 0x30($sp)
|
||||
/* 0576E4 80056AE4 AFB20028 */ sw $s2, 0x28($sp)
|
||||
/* 0576E8 80056AE8 3C138018 */ lui $s3, %hi(D_80183DD8) # $s3, 0x8018
|
||||
/* 0576EC 80056AEC 3C158016 */ lui $s5, %hi(D_80165C18) # $s5, 0x8016
|
||||
/* 0576F0 80056AF0 3C1E800E */ lui $fp, %hi(gPlayerOne) # $fp, 0x800e
|
||||
/* 0576F4 80056AF4 4481A800 */ mtc1 $at, $f21
|
||||
/* 0576F8 80056AF8 4480A000 */ mtc1 $zero, $f20
|
||||
/* 0576FC 80056AFC 0080A025 */ move $s4, $a0
|
||||
/* 057700 80056B00 AFBF0044 */ sw $ra, 0x44($sp)
|
||||
/* 057704 80056B04 AFB10024 */ sw $s1, 0x24($sp)
|
||||
/* 057708 80056B08 AFB00020 */ sw $s0, 0x20($sp)
|
||||
/* 05770C 80056B0C 27DEC4DC */ addiu $fp, %lo(gPlayerOne) # addiu $fp, $fp, -0x3b24
|
||||
/* 057710 80056B10 26B55C18 */ addiu $s5, %lo(D_80165C18) # addiu $s5, $s5, 0x5c18
|
||||
/* 057714 80056B14 26733DD8 */ addiu $s3, %lo(D_80183DD8) # addiu $s3, $s3, 0x3dd8
|
||||
/* 057718 80056B18 00009025 */ move $s2, $zero
|
||||
/* 05771C 80056B1C 241600E0 */ li $s6, 224
|
||||
/* 057720 80056B20 24170DD8 */ li $s7, 3544
|
||||
.L80056B24:
|
||||
/* 057724 80056B24 8E700000 */ lw $s0, ($s3)
|
||||
/* 057728 80056B28 02160019 */ multu $s0, $s6
|
||||
/* 05772C 80056B2C 00007012 */ mflo $t6
|
||||
/* 057730 80056B30 02AE1821 */ addu $v1, $s5, $t6
|
||||
/* 057734 80056B34 846F00A6 */ lh $t7, 0xa6($v1)
|
||||
/* 057738 80056B38 51E0001D */ beql $t7, $zero, .L80056BB0
|
||||
/* 05773C 80056B3C 26520001 */ addiu $s2, $s2, 1
|
||||
/* 057740 80056B40 02570019 */ multu $s2, $s7
|
||||
/* 057744 80056B44 8FD90000 */ lw $t9, ($fp)
|
||||
/* 057748 80056B48 847100A0 */ lh $s1, 0xa0($v1)
|
||||
/* 05774C 80056B4C 02002025 */ move $a0, $s0
|
||||
/* 057750 80056B50 02802825 */ move $a1, $s4
|
||||
/* 057754 80056B54 02203025 */ move $a2, $s1
|
||||
/* 057758 80056B58 0000C012 */ mflo $t8
|
||||
/* 05775C 80056B5C 03191021 */ addu $v0, $t8, $t9
|
||||
/* 057760 80056B60 C4440014 */ lwc1 $f4, 0x14($v0)
|
||||
/* 057764 80056B64 E4640004 */ swc1 $f4, 4($v1)
|
||||
/* 057768 80056B68 C4460018 */ lwc1 $f6, 0x18($v0)
|
||||
/* 05776C 80056B6C 46003221 */ cvt.d.s $f8, $f6
|
||||
/* 057770 80056B70 46344281 */ sub.d $f10, $f8, $f20
|
||||
/* 057774 80056B74 46205420 */ cvt.s.d $f16, $f10
|
||||
/* 057778 80056B78 E4700008 */ swc1 $f16, 8($v1)
|
||||
/* 05777C 80056B7C C452001C */ lwc1 $f18, 0x1c($v0)
|
||||
/* 057780 80056B80 E472000C */ swc1 $f18, 0xc($v1)
|
||||
/* 057784 80056B84 C4440074 */ lwc1 $f4, 0x74($v0)
|
||||
/* 057788 80056B88 0C0158F7 */ jal func_800563DC
|
||||
/* 05778C 80056B8C E4640044 */ swc1 $f4, 0x44($v1)
|
||||
/* 057790 80056B90 02002025 */ move $a0, $s0
|
||||
/* 057794 80056B94 02802825 */ move $a1, $s4
|
||||
/* 057798 80056B98 0C0159A7 */ jal func_8005669C
|
||||
/* 05779C 80056B9C 02203025 */ move $a2, $s1
|
||||
/* 0577A0 80056BA0 02002025 */ move $a0, $s0
|
||||
/* 0577A4 80056BA4 0C015A28 */ jal func_800568A0
|
||||
/* 0577A8 80056BA8 02802825 */ move $a1, $s4
|
||||
/* 0577AC 80056BAC 26520001 */ addiu $s2, $s2, 1
|
||||
.L80056BB0:
|
||||
/* 0577B0 80056BB0 24010004 */ li $at, 4
|
||||
/* 0577B4 80056BB4 1641FFDB */ bne $s2, $at, .L80056B24
|
||||
/* 0577B8 80056BB8 26730004 */ addiu $s3, $s3, 4
|
||||
/* 0577BC 80056BBC 8FBF0044 */ lw $ra, 0x44($sp)
|
||||
/* 0577C0 80056BC0 D7B40018 */ ldc1 $f20, 0x18($sp)
|
||||
/* 0577C4 80056BC4 8FB00020 */ lw $s0, 0x20($sp)
|
||||
/* 0577C8 80056BC8 8FB10024 */ lw $s1, 0x24($sp)
|
||||
/* 0577CC 80056BCC 8FB20028 */ lw $s2, 0x28($sp)
|
||||
/* 0577D0 80056BD0 8FB3002C */ lw $s3, 0x2c($sp)
|
||||
/* 0577D4 80056BD4 8FB40030 */ lw $s4, 0x30($sp)
|
||||
/* 0577D8 80056BD8 8FB50034 */ lw $s5, 0x34($sp)
|
||||
/* 0577DC 80056BDC 8FB60038 */ lw $s6, 0x38($sp)
|
||||
/* 0577E0 80056BE0 8FB7003C */ lw $s7, 0x3c($sp)
|
||||
/* 0577E4 80056BE4 8FBE0040 */ lw $fp, 0x40($sp)
|
||||
/* 0577E8 80056BE8 03E00008 */ jr $ra
|
||||
/* 0577EC 80056BEC 27BD0048 */ addiu $sp, $sp, 0x48
|
||||
@@ -1,108 +0,0 @@
|
||||
glabel func_80056E24
|
||||
/* 057A24 80056E24 00047880 */ sll $t7, $a0, 2
|
||||
/* 057A28 80056E28 01E47821 */ addu $t7, $t7, $a0
|
||||
/* 057A2C 80056E2C 27BDFF78 */ addiu $sp, $sp, -0x88
|
||||
/* 057A30 80056E30 000F7880 */ sll $t7, $t7, 2
|
||||
/* 057A34 80056E34 01E47821 */ addu $t7, $t7, $a0
|
||||
/* 057A38 80056E38 3C188016 */ lui $t8, %hi(D_80163DE8) # $t8, 0x8016
|
||||
/* 057A3C 80056E3C AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* 057A40 80056E40 27183DE8 */ addiu $t8, %lo(D_80163DE8) # addiu $t8, $t8, 0x3de8
|
||||
/* 057A44 80056E44 000F7880 */ sll $t7, $t7, 2
|
||||
/* 057A48 80056E48 3C108018 */ lui $s0, %hi(D_80183E80) # $s0, 0x8018
|
||||
/* 057A4C 80056E4C 3C088015 */ lui $t0, %hi(gDisplayListHead) # $t0, 0x8015
|
||||
/* 057A50 80056E50 01F8C821 */ addu $t9, $t7, $t8
|
||||
/* 057A54 80056E54 25080298 */ addiu $t0, %lo(gDisplayListHead) # addiu $t0, $t0, 0x298
|
||||
/* 057A58 80056E58 26103E80 */ addiu $s0, %lo(D_80183E80) # addiu $s0, $s0, 0x3e80
|
||||
/* 057A5C 80056E5C AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* 057A60 80056E60 AFA5008C */ sw $a1, 0x8c($sp)
|
||||
/* 057A64 80056E64 272B0054 */ addiu $t3, $t9, 0x54
|
||||
/* 057A68 80056E68 27AE002C */ addiu $t6, $sp, 0x2c
|
||||
.L80056E6C:
|
||||
/* 057A6C 80056E6C 8F210000 */ lw $at, ($t9)
|
||||
/* 057A70 80056E70 2739000C */ addiu $t9, $t9, 0xc
|
||||
/* 057A74 80056E74 25CE000C */ addiu $t6, $t6, 0xc
|
||||
/* 057A78 80056E78 ADC1FFF4 */ sw $at, -0xc($t6)
|
||||
/* 057A7C 80056E7C 8F21FFF8 */ lw $at, -8($t9)
|
||||
/* 057A80 80056E80 ADC1FFF8 */ sw $at, -8($t6)
|
||||
/* 057A84 80056E84 8F21FFFC */ lw $at, -4($t9)
|
||||
/* 057A88 80056E88 172BFFF8 */ bne $t9, $t3, .L80056E6C
|
||||
/* 057A8C 80056E8C ADC1FFFC */ sw $at, -4($t6)
|
||||
/* 057A90 80056E90 8D030000 */ lw $v1, ($t0)
|
||||
/* 057A94 80056E94 340C8000 */ li $t4, 32768
|
||||
/* 057A98 80056E98 3C180D00 */ lui $t8, %hi(D_0D0079C8) # $t8, 0xd00
|
||||
/* 057A9C 80056E9C 246D0008 */ addiu $t5, $v1, 8
|
||||
/* 057AA0 80056EA0 A6000000 */ sh $zero, ($s0)
|
||||
/* 057AA4 80056EA4 A60C0004 */ sh $t4, 4($s0)
|
||||
/* 057AA8 80056EA8 AD0D0000 */ sw $t5, ($t0)
|
||||
/* 057AAC 80056EAC 271879C8 */ addiu $t8, %lo(D_0D0079C8) # addiu $t8, $t8, 0x79c8
|
||||
/* 057AB0 80056EB0 3C0F0600 */ lui $t7, 0x600
|
||||
/* 057AB4 80056EB4 3C040D03 */ lui $a0, %hi(D_0D02AA58) # $a0, 0xd03
|
||||
/* 057AB8 80056EB8 2484AA58 */ addiu $a0, %lo(D_0D02AA58) # addiu $a0, $a0, -0x55a8
|
||||
/* 057ABC 80056EBC 24050010 */ li $a1, 16
|
||||
/* 057AC0 80056EC0 24060010 */ li $a2, 16
|
||||
/* 057AC4 80056EC4 AC6F0000 */ sw $t7, ($v1)
|
||||
/* 057AC8 80056EC8 0C010F54 */ jal func_80043D50
|
||||
/* 057ACC 80056ECC AC780004 */ sw $t8, 4($v1)
|
||||
/* 057AD0 80056ED0 C7AC0038 */ lwc1 $f12, 0x38($sp)
|
||||
/* 057AD4 80056ED4 C7AE0040 */ lwc1 $f14, 0x40($sp)
|
||||
/* 057AD8 80056ED8 0C01062B */ jal func_800418AC
|
||||
/* 057ADC 80056EDC 8FA6008C */ lw $a2, 0x8c($sp)
|
||||
/* 057AE0 80056EE0 3C063E19 */ lui $a2, (0x3E19999A >> 16) # lui $a2, 0x3e19
|
||||
/* 057AE4 80056EE4 3C070D00 */ lui $a3, %hi(D_0D005770) # $a3, 0xd00
|
||||
/* 057AE8 80056EE8 A6020002 */ sh $v0, 2($s0)
|
||||
/* 057AEC 80056EEC 24E75770 */ addiu $a3, %lo(D_0D005770) # addiu $a3, $a3, 0x5770
|
||||
/* 057AF0 80056EF0 34C6999A */ ori $a2, (0x3E19999A & 0xFFFF) # ori $a2, $a2, 0x999a
|
||||
/* 057AF4 80056EF4 27A40038 */ addiu $a0, $sp, 0x38
|
||||
/* 057AF8 80056EF8 0C010C6C */ jal func_800431B0
|
||||
/* 057AFC 80056EFC 02002825 */ move $a1, $s0
|
||||
/* 057B00 80056F00 C7AC0044 */ lwc1 $f12, 0x44($sp)
|
||||
/* 057B04 80056F04 C7AE004C */ lwc1 $f14, 0x4c($sp)
|
||||
/* 057B08 80056F08 0C01062B */ jal func_800418AC
|
||||
/* 057B0C 80056F0C 8FA6008C */ lw $a2, 0x8c($sp)
|
||||
/* 057B10 80056F10 3C063E19 */ lui $a2, (0x3E19999A >> 16) # lui $a2, 0x3e19
|
||||
/* 057B14 80056F14 3C070D00 */ lui $a3, %hi(D_0D005770) # $a3, 0xd00
|
||||
/* 057B18 80056F18 A6020002 */ sh $v0, 2($s0)
|
||||
/* 057B1C 80056F1C 24E75770 */ addiu $a3, %lo(D_0D005770) # addiu $a3, $a3, 0x5770
|
||||
/* 057B20 80056F20 34C6999A */ ori $a2, (0x3E19999A & 0xFFFF) # ori $a2, $a2, 0x999a
|
||||
/* 057B24 80056F24 27A40044 */ addiu $a0, $sp, 0x44
|
||||
/* 057B28 80056F28 0C010C6C */ jal func_800431B0
|
||||
/* 057B2C 80056F2C 02002825 */ move $a1, $s0
|
||||
/* 057B30 80056F30 C7AC0050 */ lwc1 $f12, 0x50($sp)
|
||||
/* 057B34 80056F34 C7AE0058 */ lwc1 $f14, 0x58($sp)
|
||||
/* 057B38 80056F38 0C01062B */ jal func_800418AC
|
||||
/* 057B3C 80056F3C 8FA6008C */ lw $a2, 0x8c($sp)
|
||||
/* 057B40 80056F40 3C063E19 */ lui $a2, (0x3E19999A >> 16) # lui $a2, 0x3e19
|
||||
/* 057B44 80056F44 3C070D00 */ lui $a3, %hi(D_0D005770) # $a3, 0xd00
|
||||
/* 057B48 80056F48 A6020002 */ sh $v0, 2($s0)
|
||||
/* 057B4C 80056F4C 24E75770 */ addiu $a3, %lo(D_0D005770) # addiu $a3, $a3, 0x5770
|
||||
/* 057B50 80056F50 34C6999A */ ori $a2, (0x3E19999A & 0xFFFF) # ori $a2, $a2, 0x999a
|
||||
/* 057B54 80056F54 27A40050 */ addiu $a0, $sp, 0x50
|
||||
/* 057B58 80056F58 0C010C6C */ jal func_800431B0
|
||||
/* 057B5C 80056F5C 02002825 */ move $a1, $s0
|
||||
/* 057B60 80056F60 C7AC005C */ lwc1 $f12, 0x5c($sp)
|
||||
/* 057B64 80056F64 C7AE0064 */ lwc1 $f14, 0x64($sp)
|
||||
/* 057B68 80056F68 0C01062B */ jal func_800418AC
|
||||
/* 057B6C 80056F6C 8FA6008C */ lw $a2, 0x8c($sp)
|
||||
/* 057B70 80056F70 3C063E19 */ lui $a2, (0x3E19999A >> 16) # lui $a2, 0x3e19
|
||||
/* 057B74 80056F74 3C070D00 */ lui $a3, %hi(D_0D005770) # $a3, 0xd00
|
||||
/* 057B78 80056F78 A6020002 */ sh $v0, 2($s0)
|
||||
/* 057B7C 80056F7C 24E75770 */ addiu $a3, %lo(D_0D005770) # addiu $a3, $a3, 0x5770
|
||||
/* 057B80 80056F80 34C6999A */ ori $a2, (0x3E19999A & 0xFFFF) # ori $a2, $a2, 0x999a
|
||||
/* 057B84 80056F84 27A4005C */ addiu $a0, $sp, 0x5c
|
||||
/* 057B88 80056F88 0C010C6C */ jal func_800431B0
|
||||
/* 057B8C 80056F8C 02002825 */ move $a1, $s0
|
||||
/* 057B90 80056F90 3C048015 */ lui $a0, %hi(gDisplayListHead) # $a0, 0x8015
|
||||
/* 057B94 80056F94 24840298 */ addiu $a0, %lo(gDisplayListHead) # addiu $a0, $a0, 0x298
|
||||
/* 057B98 80056F98 8C830000 */ lw $v1, ($a0)
|
||||
/* 057B9C 80056F9C 3C0B0001 */ lui $t3, (0x00010001 >> 16) # lui $t3, 1
|
||||
/* 057BA0 80056FA0 356B0001 */ ori $t3, (0x00010001 & 0xFFFF) # ori $t3, $t3, 1
|
||||
/* 057BA4 80056FA4 246A0008 */ addiu $t2, $v1, 8
|
||||
/* 057BA8 80056FA8 AC8A0000 */ sw $t2, ($a0)
|
||||
/* 057BAC 80056FAC 3C09BB00 */ lui $t1, 0xbb00
|
||||
/* 057BB0 80056FB0 AC690000 */ sw $t1, ($v1)
|
||||
/* 057BB4 80056FB4 AC6B0004 */ sw $t3, 4($v1)
|
||||
/* 057BB8 80056FB8 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* 057BBC 80056FBC 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* 057BC0 80056FC0 27BD0088 */ addiu $sp, $sp, 0x88
|
||||
/* 057BC4 80056FC4 03E00008 */ jr $ra
|
||||
/* 057BC8 80056FC8 00000000 */ nop
|
||||
@@ -1,83 +0,0 @@
|
||||
glabel func_80056FCC
|
||||
/* 057BCC 80056FCC 00047880 */ sll $t7, $a0, 2
|
||||
/* 057BD0 80056FD0 01E47821 */ addu $t7, $t7, $a0
|
||||
/* 057BD4 80056FD4 000F7880 */ sll $t7, $t7, 2
|
||||
/* 057BD8 80056FD8 01E47821 */ addu $t7, $t7, $a0
|
||||
/* 057BDC 80056FDC 3C188016 */ lui $t8, %hi(D_80163DE8) # $t8, 0x8016
|
||||
/* 057BE0 80056FE0 27183DE8 */ addiu $t8, %lo(D_80163DE8) # addiu $t8, $t8, 0x3de8
|
||||
/* 057BE4 80056FE4 000F7880 */ sll $t7, $t7, 2
|
||||
/* 057BE8 80056FE8 01F81021 */ addu $v0, $t7, $t8
|
||||
/* 057BEC 80056FEC C4460050 */ lwc1 $f6, 0x50($v0)
|
||||
/* 057BF0 80056FF0 3C013FF0 */ li $at, 0x3FF00000 # 1.875000
|
||||
/* 057BF4 80056FF4 44815800 */ mtc1 $at, $f11
|
||||
/* 057BF8 80056FF8 44805000 */ mtc1 $zero, $f10
|
||||
/* 057BFC 80056FFC 46003221 */ cvt.d.s $f8, $f6
|
||||
/* 057C00 80057000 27BDFF90 */ addiu $sp, $sp, -0x70
|
||||
/* 057C04 80057004 462A4400 */ add.d $f16, $f8, $f10
|
||||
/* 057C08 80057008 C4440000 */ lwc1 $f4, ($v0)
|
||||
/* 057C0C 8005700C AFA40070 */ sw $a0, 0x70($sp)
|
||||
/* 057C10 80057010 8FB90070 */ lw $t9, 0x70($sp)
|
||||
/* 057C14 80057014 3C068018 */ lui $a2, %hi(D_80183E50) # $a2, 0x8018
|
||||
/* 057C18 80057018 24C63E50 */ addiu $a2, %lo(D_80183E50) # addiu $a2, $a2, 0x3e50
|
||||
/* 057C1C 8005701C 462084A0 */ cvt.s.d $f18, $f16
|
||||
/* 057C20 80057020 3C013F00 */ li $at, 0x3F000000 # 0.500000
|
||||
/* 057C24 80057024 E4C40000 */ swc1 $f4, ($a2)
|
||||
/* 057C28 80057028 C4440008 */ lwc1 $f4, 8($v0)
|
||||
/* 057C2C 8005702C 44813000 */ mtc1 $at, $f6
|
||||
/* 057C30 80057030 3C0A8016 */ lui $t2, %hi(D_80164038) # $t2, 0x8016
|
||||
/* 057C34 80057034 00194180 */ sll $t0, $t9, 6
|
||||
/* 057C38 80057038 AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* 057C3C 8005703C 25090030 */ addiu $t1, $t0, 0x30
|
||||
/* 057C40 80057040 254A4038 */ addiu $t2, %lo(D_80164038) # addiu $t2, $t2, 0x4038
|
||||
/* 057C44 80057044 E4D20004 */ swc1 $f18, 4($a2)
|
||||
/* 057C48 80057048 012A2821 */ addu $a1, $t1, $t2
|
||||
/* 057C4C 8005704C 27A40030 */ addiu $a0, $sp, 0x30
|
||||
/* 057C50 80057050 00003825 */ move $a3, $zero
|
||||
/* 057C54 80057054 E4C40008 */ swc1 $f4, 8($a2)
|
||||
/* 057C58 80057058 0C010A88 */ jal func_80042A20
|
||||
/* 057C5C 8005705C E7A60010 */ swc1 $f6, 0x10($sp)
|
||||
/* 057C60 80057060 3C068019 */ lui $a2, %hi(D_8018D120) # $a2, 0x8019
|
||||
/* 057C64 80057064 24C6D120 */ addiu $a2, %lo(D_8018D120) # addiu $a2, $a2, -0x2ee0
|
||||
/* 057C68 80057068 8CCC0000 */ lw $t4, ($a2)
|
||||
/* 057C6C 8005706C 3C0B8015 */ lui $t3, %hi(gGfxPool) # $t3, 0x8015
|
||||
/* 057C70 80057070 8D6BEF40 */ lw $t3, %lo(gGfxPool)($t3)
|
||||
/* 057C74 80057074 000C6980 */ sll $t5, $t4, 6
|
||||
/* 057C78 80057078 27A50030 */ addiu $a1, $sp, 0x30
|
||||
/* 057C7C 8005707C 016D2021 */ addu $a0, $t3, $t5
|
||||
/* 057C80 80057080 0C008860 */ jal func_80022180
|
||||
/* 057C84 80057084 248402C0 */ addiu $a0, $a0, 0x2c0
|
||||
/* 057C88 80057088 3C058015 */ lui $a1, %hi(gDisplayListHead) # $a1, 0x8015
|
||||
/* 057C8C 8005708C 24A50298 */ addiu $a1, %lo(gDisplayListHead) # addiu $a1, $a1, 0x298
|
||||
/* 057C90 80057090 8CA20000 */ lw $v0, ($a1)
|
||||
/* 057C94 80057094 3C0F0102 */ lui $t7, (0x01020040 >> 16) # lui $t7, 0x102
|
||||
/* 057C98 80057098 3C068019 */ lui $a2, %hi(D_8018D120) # $a2, 0x8019
|
||||
/* 057C9C 8005709C 244E0008 */ addiu $t6, $v0, 8
|
||||
/* 057CA0 800570A0 ACAE0000 */ sw $t6, ($a1)
|
||||
/* 057CA4 800570A4 35EF0040 */ ori $t7, (0x01020040 & 0xFFFF) # ori $t7, $t7, 0x40
|
||||
/* 057CA8 800570A8 24C6D120 */ addiu $a2, %lo(D_8018D120) # addiu $a2, $a2, -0x2ee0
|
||||
/* 057CAC 800570AC AC4F0000 */ sw $t7, ($v0)
|
||||
/* 057CB0 800570B0 8CD90000 */ lw $t9, ($a2)
|
||||
/* 057CB4 800570B4 3C188015 */ lui $t8, %hi(gGfxPool) # $t8, 0x8015
|
||||
/* 057CB8 800570B8 8F18EF40 */ lw $t8, %lo(gGfxPool)($t8)
|
||||
/* 057CBC 800570BC 00194180 */ sll $t0, $t9, 6
|
||||
/* 057CC0 800570C0 3C011FFF */ lui $at, (0x1FFFFFFF >> 16) # lui $at, 0x1fff
|
||||
/* 057CC4 800570C4 03084821 */ addu $t1, $t8, $t0
|
||||
/* 057CC8 800570C8 252A02C0 */ addiu $t2, $t1, 0x2c0
|
||||
/* 057CCC 800570CC 3421FFFF */ ori $at, (0x1FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff
|
||||
/* 057CD0 800570D0 01416024 */ and $t4, $t2, $at
|
||||
/* 057CD4 800570D4 AC4C0004 */ sw $t4, 4($v0)
|
||||
/* 057CD8 800570D8 8CCB0000 */ lw $t3, ($a2)
|
||||
/* 057CDC 800570DC 8CA20000 */ lw $v0, ($a1)
|
||||
/* 057CE0 800570E0 3C190D00 */ lui $t9, %hi(D_0D007B98) # $t9, 0xd00
|
||||
/* 057CE4 800570E4 256D0001 */ addiu $t5, $t3, 1
|
||||
/* 057CE8 800570E8 244E0008 */ addiu $t6, $v0, 8
|
||||
/* 057CEC 800570EC ACCD0000 */ sw $t5, ($a2)
|
||||
/* 057CF0 800570F0 ACAE0000 */ sw $t6, ($a1)
|
||||
/* 057CF4 800570F4 27397B98 */ addiu $t9, %lo(D_0D007B98) # addiu $t9, $t9, 0x7b98
|
||||
/* 057CF8 800570F8 3C0F0600 */ lui $t7, 0x600
|
||||
/* 057CFC 800570FC AC4F0000 */ sw $t7, ($v0)
|
||||
/* 057D00 80057100 AC590004 */ sw $t9, 4($v0)
|
||||
/* 057D04 80057104 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* 057D08 80057108 27BD0070 */ addiu $sp, $sp, 0x70
|
||||
/* 057D0C 8005710C 03E00008 */ jr $ra
|
||||
/* 057D10 80057110 00000000 */ nop
|
||||
@@ -1,144 +0,0 @@
|
||||
glabel func_80057114
|
||||
/* 057D14 80057114 27BDFFC0 */ addiu $sp, $sp, -0x40
|
||||
/* 057D18 80057118 3C0E800E */ lui $t6, %hi(gGamestate) # $t6, 0x800e
|
||||
/* 057D1C 8005711C 8DCEC50C */ lw $t6, %lo(gGamestate)($t6)
|
||||
/* 057D20 80057120 AFBE0038 */ sw $fp, 0x38($sp)
|
||||
/* 057D24 80057124 24010005 */ li $at, 5
|
||||
/* 057D28 80057128 0080F025 */ move $fp, $a0
|
||||
/* 057D2C 8005712C AFBF003C */ sw $ra, 0x3c($sp)
|
||||
/* 057D30 80057130 AFB70034 */ sw $s7, 0x34($sp)
|
||||
/* 057D34 80057134 AFB60030 */ sw $s6, 0x30($sp)
|
||||
/* 057D38 80057138 AFB5002C */ sw $s5, 0x2c($sp)
|
||||
/* 057D3C 8005713C AFB40028 */ sw $s4, 0x28($sp)
|
||||
/* 057D40 80057140 AFB30024 */ sw $s3, 0x24($sp)
|
||||
/* 057D44 80057144 AFB20020 */ sw $s2, 0x20($sp)
|
||||
/* 057D48 80057148 AFB1001C */ sw $s1, 0x1c($sp)
|
||||
/* 057D4C 8005714C 15C10002 */ bne $t6, $at, .L80057158
|
||||
/* 057D50 80057150 AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* 057D54 80057154 0000F025 */ move $fp, $zero
|
||||
.L80057158:
|
||||
/* 057D58 80057158 001E7880 */ sll $t7, $fp, 2
|
||||
/* 057D5C 8005715C 01FE7823 */ subu $t7, $t7, $fp
|
||||
/* 057D60 80057160 000F78C0 */ sll $t7, $t7, 3
|
||||
/* 057D64 80057164 3C18800E */ lui $t8, %hi(camera1) # $t8, 0x800e
|
||||
/* 057D68 80057168 8F18DB40 */ lw $t8, %lo(camera1)($t8)
|
||||
/* 057D6C 8005716C 01FE7823 */ subu $t7, $t7, $fp
|
||||
/* 057D70 80057170 000F78C0 */ sll $t7, $t7, 3
|
||||
/* 057D74 80057174 17C00023 */ bnez $fp, .L80057204
|
||||
/* 057D78 80057178 01F8B821 */ addu $s7, $t7, $t8
|
||||
/* 057D7C 8005717C 3C118018 */ lui $s1, %hi(D_80183DD8) # $s1, 0x8018
|
||||
/* 057D80 80057180 3C138016 */ lui $s3, %hi(D_80163DE8) # $s3, 0x8016
|
||||
/* 057D84 80057184 26733DE8 */ addiu $s3, %lo(D_80163DE8) # addiu $s3, $s3, 0x3de8
|
||||
/* 057D88 80057188 26313DD8 */ addiu $s1, %lo(D_80183DD8) # addiu $s1, $s1, 0x3dd8
|
||||
/* 057D8C 8005718C 00009025 */ move $s2, $zero
|
||||
/* 057D90 80057190 3C160020 */ lui $s6, 0x20
|
||||
/* 057D94 80057194 24150001 */ li $s5, 1
|
||||
/* 057D98 80057198 24140054 */ li $s4, 84
|
||||
.L8005719C:
|
||||
/* 057D9C 8005719C 8E300000 */ lw $s0, ($s1)
|
||||
/* 057DA0 800571A0 02C02825 */ move $a1, $s6
|
||||
/* 057DA4 800571A4 0C01C88F */ jal func_8007223C
|
||||
/* 057DA8 800571A8 02002025 */ move $a0, $s0
|
||||
/* 057DAC 800571AC 10400006 */ beqz $v0, .L800571C8
|
||||
/* 057DB0 800571B0 02002025 */ move $a0, $s0
|
||||
/* 057DB4 800571B4 02540019 */ multu $s2, $s4
|
||||
/* 057DB8 800571B8 0000C812 */ mflo $t9
|
||||
/* 057DBC 800571BC 02794021 */ addu $t0, $s3, $t9
|
||||
/* 057DC0 800571C0 1000000A */ b .L800571EC
|
||||
/* 057DC4 800571C4 A500004A */ sh $zero, 0x4a($t0)
|
||||
.L800571C8:
|
||||
/* 057DC8 800571C8 3C09800E */ lui $t1, %hi(gGamestate) # $t1, 0x800e
|
||||
/* 057DCC 800571CC 8D29C50C */ lw $t1, %lo(gGamestate)($t1)
|
||||
/* 057DD0 800571D0 24010005 */ li $at, 5
|
||||
/* 057DD4 800571D4 11210005 */ beq $t1, $at, .L800571EC
|
||||
/* 057DD8 800571D8 00000000 */ nop
|
||||
/* 057DDC 800571DC 02540019 */ multu $s2, $s4
|
||||
/* 057DE0 800571E0 00005012 */ mflo $t2
|
||||
/* 057DE4 800571E4 026A5821 */ addu $t3, $s3, $t2
|
||||
/* 057DE8 800571E8 A575004A */ sh $s5, 0x4a($t3)
|
||||
.L800571EC:
|
||||
/* 057DEC 800571EC 0C01C87A */ jal func_800721E8
|
||||
/* 057DF0 800571F0 02C02825 */ move $a1, $s6
|
||||
/* 057DF4 800571F4 26520001 */ addiu $s2, $s2, 1
|
||||
/* 057DF8 800571F8 24010007 */ li $at, 7
|
||||
/* 057DFC 800571FC 1641FFE7 */ bne $s2, $at, .L8005719C
|
||||
/* 057E00 80057200 26310004 */ addiu $s1, $s1, 4
|
||||
.L80057204:
|
||||
/* 057E04 80057204 3C118016 */ lui $s1, %hi(D_80163DE8) # $s1, 0x8016
|
||||
/* 057E08 80057208 3C138018 */ lui $s3, %hi(D_80183E80) # $s3, 0x8018
|
||||
/* 057E0C 8005720C 3C160020 */ lui $s6, 0x20
|
||||
/* 057E10 80057210 26733E80 */ addiu $s3, %lo(D_80183E80) # addiu $s3, $s3, 0x3e80
|
||||
/* 057E14 80057214 26313DE8 */ addiu $s1, %lo(D_80163DE8) # addiu $s1, $s1, 0x3de8
|
||||
/* 057E18 80057218 00009025 */ move $s2, $zero
|
||||
.L8005721C:
|
||||
/* 057E1C 8005721C 96350044 */ lhu $s5, 0x44($s1)
|
||||
/* 057E20 80057220 00126080 */ sll $t4, $s2, 2
|
||||
/* 057E24 80057224 3C108018 */ lui $s0, %hi(D_80183DD8) # 0x8018
|
||||
/* 057E28 80057228 12A00031 */ beqz $s5, .L800572F0
|
||||
/* 057E2C 8005722C 020C8021 */ addu $s0, $s0, $t4
|
||||
/* 057E30 80057230 8E103DD8 */ lw $s0, %lo(D_80183DD8)($s0) # 0x3dd8($s0)
|
||||
/* 057E34 80057234 3C0E8016 */ lui $t6, %hi(D_80165C18) # $t6, 0x8016
|
||||
/* 057E38 80057238 25CE5C18 */ addiu $t6, %lo(D_80165C18) # addiu $t6, $t6, 0x5c18
|
||||
/* 057E3C 8005723C 001068C0 */ sll $t5, $s0, 3
|
||||
/* 057E40 80057240 01B06823 */ subu $t5, $t5, $s0
|
||||
/* 057E44 80057244 000D6940 */ sll $t5, $t5, 5
|
||||
/* 057E48 80057248 C6240000 */ lwc1 $f4, ($s1)
|
||||
/* 057E4C 8005724C C6260004 */ lwc1 $f6, 4($s1)
|
||||
/* 057E50 80057250 C6280008 */ lwc1 $f8, 8($s1)
|
||||
/* 057E54 80057254 01AE1021 */ addu $v0, $t5, $t6
|
||||
/* 057E58 80057258 03C02825 */ move $a1, $fp
|
||||
/* 057E5C 8005725C 240631C4 */ li $a2, 12740
|
||||
/* 057E60 80057260 240701F4 */ li $a3, 500
|
||||
/* 057E64 80057264 02002025 */ move $a0, $s0
|
||||
/* 057E68 80057268 E4440004 */ swc1 $f4, 4($v0)
|
||||
/* 057E6C 8005726C E4460008 */ swc1 $f6, 8($v0)
|
||||
/* 057E70 80057270 0C0228D9 */ jal func_8008A364
|
||||
/* 057E74 80057274 E448000C */ swc1 $f8, 0xc($v0)
|
||||
/* 057E78 80057278 0040A025 */ move $s4, $v0
|
||||
/* 057E7C 8005727C 02002025 */ move $a0, $s0
|
||||
/* 057E80 80057280 0C01C88F */ jal func_8007223C
|
||||
/* 057E84 80057284 3C050004 */ lui $a1, 4
|
||||
/* 057E88 80057288 10400019 */ beqz $v0, .L800572F0
|
||||
/* 057E8C 8005728C 02002025 */ move $a0, $s0
|
||||
/* 057E90 80057290 0C01C870 */ jal func_800721C0
|
||||
/* 057E94 80057294 02C02825 */ move $a1, $s6
|
||||
/* 057E98 80057298 A6600000 */ sh $zero, ($s3)
|
||||
/* 057E9C 8005729C C62C0000 */ lwc1 $f12, ($s1)
|
||||
/* 057EA0 800572A0 C62E0008 */ lwc1 $f14, 8($s1)
|
||||
/* 057EA4 800572A4 0C01062B */ jal func_800418AC
|
||||
/* 057EA8 800572A8 02E03025 */ move $a2, $s7
|
||||
/* 057EAC 800572AC 340F8000 */ li $t7, 32768
|
||||
/* 057EB0 800572B0 A6620002 */ sh $v0, 2($s3)
|
||||
/* 057EB4 800572B4 A66F0004 */ sh $t7, 4($s3)
|
||||
/* 057EB8 800572B8 02002025 */ move $a0, $s0
|
||||
/* 057EBC 800572BC 03C02825 */ move $a1, $fp
|
||||
/* 057EC0 800572C0 0C0158F7 */ jal func_800563DC
|
||||
/* 057EC4 800572C4 240600FF */ li $a2, 255
|
||||
/* 057EC8 800572C8 02402025 */ move $a0, $s2
|
||||
/* 057ECC 800572CC 0C015B89 */ jal func_80056E24
|
||||
/* 057ED0 800572D0 02E02825 */ move $a1, $s7
|
||||
/* 057ED4 800572D4 2E814E21 */ sltiu $at, $s4, 0x4e21
|
||||
/* 057ED8 800572D8 10200005 */ beqz $at, .L800572F0
|
||||
/* 057EDC 800572DC 24010004 */ li $at, 4
|
||||
/* 057EE0 800572E0 52A10004 */ beql $s5, $at, .L800572F4
|
||||
/* 057EE4 800572E4 26520001 */ addiu $s2, $s2, 1
|
||||
/* 057EE8 800572E8 0C015BF3 */ jal func_80056FCC
|
||||
/* 057EEC 800572EC 02402025 */ move $a0, $s2
|
||||
.L800572F0:
|
||||
/* 057EF0 800572F0 26520001 */ addiu $s2, $s2, 1
|
||||
.L800572F4:
|
||||
/* 057EF4 800572F4 24010007 */ li $at, 7
|
||||
/* 057EF8 800572F8 1641FFC8 */ bne $s2, $at, .L8005721C
|
||||
/* 057EFC 800572FC 26310054 */ addiu $s1, $s1, 0x54
|
||||
/* 057F00 80057300 8FBF003C */ lw $ra, 0x3c($sp)
|
||||
/* 057F04 80057304 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* 057F08 80057308 8FB1001C */ lw $s1, 0x1c($sp)
|
||||
/* 057F0C 8005730C 8FB20020 */ lw $s2, 0x20($sp)
|
||||
/* 057F10 80057310 8FB30024 */ lw $s3, 0x24($sp)
|
||||
/* 057F14 80057314 8FB40028 */ lw $s4, 0x28($sp)
|
||||
/* 057F18 80057318 8FB5002C */ lw $s5, 0x2c($sp)
|
||||
/* 057F1C 8005731C 8FB60030 */ lw $s6, 0x30($sp)
|
||||
/* 057F20 80057320 8FB70034 */ lw $s7, 0x34($sp)
|
||||
/* 057F24 80057324 8FBE0038 */ lw $fp, 0x38($sp)
|
||||
/* 057F28 80057328 03E00008 */ jr $ra
|
||||
/* 057F2C 8005732C 27BD0040 */ addiu $sp, $sp, 0x40
|
||||
+2
-1
@@ -5,6 +5,7 @@
|
||||
#include "include/libc/stdlib.h"
|
||||
#include "include/libc/string.h"
|
||||
#include "include/actor_types.h"
|
||||
#include "include/bomb_kart.h"
|
||||
#include "include/common_structs.h"
|
||||
#include "include/config.h"
|
||||
#include "include/course_offsets.h"
|
||||
@@ -87,6 +88,7 @@
|
||||
#include "src/math_util_2.h"
|
||||
#include "src/memory.h"
|
||||
#include "src/menus.h"
|
||||
#include "src/podium_ceremony_actors.h"
|
||||
#include "src/profiler.h"
|
||||
#include "src/race_logic.h"
|
||||
#include "src/render_courses.h"
|
||||
@@ -111,7 +113,6 @@
|
||||
#include "src/code_800AF9B0.h"
|
||||
#include "src/code_800B45E0.h"
|
||||
#include "src/code_80280000.h"
|
||||
#include "src/podium_ceremony_actors.h"
|
||||
#include "src/code_80281780.h"
|
||||
#include "src/code_80281C40.h"
|
||||
#include "src/code_802AAA70.h"
|
||||
|
||||
@@ -120,6 +120,7 @@ glabel D_800DCBB4
|
||||
.endm
|
||||
|
||||
glabel D_800DCC08
|
||||
# Mario Raceway Bomb Kart spawns
|
||||
Entry800DCC08 0x0028, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x0064, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x0109, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
@@ -127,6 +128,8 @@ Entry800DCC08 0x011d, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x01a4, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
|
||||
# Choco Mountain Bomb Kart spawns
|
||||
Entry800DCC08 0x008c, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x00a5, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x014a, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
@@ -134,6 +137,8 @@ Entry800DCC08 0x0226, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x0253, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
|
||||
# Bowser Castle Bomb Kart spawns
|
||||
Entry800DCC08 0x0032, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x0096, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x00c8, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
@@ -141,6 +146,8 @@ Entry800DCC08 0x0104, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x01b3, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
|
||||
# Banshee Boardwalk Bomb Kart spawns
|
||||
Entry800DCC08 0x006e, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x00be, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x00fa, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
@@ -148,6 +155,8 @@ Entry800DCC08 0x01db, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x0262, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
|
||||
# Yoshi Valley Bomb Kart spawns
|
||||
Entry800DCC08 0x0000, 0x0000, 0.8333333, -1533.0, -682.0, -103.0, 0.0
|
||||
Entry800DCC08 0x000a, 0x0000, 0.8333333, -1565.0, -619.0, -109.0, 0.0
|
||||
Entry800DCC08 0x0014, 0x0000, 0.8333333, -1529.0, -579.0, -109.0, 0.0
|
||||
@@ -155,6 +164,8 @@ Entry800DCC08 0x001e, 0x0000, 0.8333333, -1588.0, -534.0, -106.0, 0.0
|
||||
Entry800DCC08 0x0028, 0x0000, 0.8333333, -1598.0, -207.0, -105.0, 0.0
|
||||
Entry800DCC08 0x0032, 0x0000, 0.8333333, -1646.0, -147.0, -93.0, 0.0
|
||||
Entry800DCC08 0x003c, 0x0000, 0.8333333, -2532.0, -445.0, -90.0, 0.0
|
||||
|
||||
# Frappe Snowland Bomb Kart spawns
|
||||
Entry800DCC08 0x0032, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x0064, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x0096, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
@@ -162,6 +173,8 @@ Entry800DCC08 0x0122, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x015e, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
|
||||
# Koopa Troopa Beach Bomb Kart spawns
|
||||
Entry800DCC08 0x003c, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x0078, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x00c8, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
@@ -169,6 +182,8 @@ Entry800DCC08 0x0118, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x01b3, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
|
||||
# Royal Raceway Bomb Kart spawns
|
||||
Entry800DCC08 0x0032, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x0064, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x0128, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
@@ -176,6 +191,8 @@ Entry800DCC08 0x0190, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x02ea, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
|
||||
# Luigi Raceway Bomb Kart spawns
|
||||
Entry800DCC08 0x0032, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x00c8, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x0131, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
@@ -183,6 +200,8 @@ Entry800DCC08 0x01b8, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x0203, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
|
||||
# Moo Moo Farm Bomb Kart spawns
|
||||
Entry800DCC08 0x0032, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x008c, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x00e1, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
@@ -190,6 +209,8 @@ Entry800DCC08 0x013c, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x01b2, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
|
||||
# Toads Turnpike Bomb Kart spawns
|
||||
Entry800DCC08 0x0032, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x0064, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x0096, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
@@ -197,6 +218,8 @@ Entry800DCC08 0x00c8, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x00fa, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
|
||||
# Kalamari Desert Bomb Kart spawns
|
||||
Entry800DCC08 0x0032, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x008a, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x0118, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
@@ -204,6 +227,8 @@ Entry800DCC08 0x0194, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x01fe, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
|
||||
# Sherbet Land Bomb Kart spawns
|
||||
Entry800DCC08 0x0032, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x0064, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x0096, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
@@ -211,6 +236,8 @@ Entry800DCC08 0x00c8, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x00fa, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
|
||||
# Rainbow Road Bomb Kart spawns
|
||||
Entry800DCC08 0x0032, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x0064, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x0096, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
@@ -218,6 +245,8 @@ Entry800DCC08 0x00c8, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x00fa, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
|
||||
# Wario Stadium Bomb Kart spawns
|
||||
Entry800DCC08 0x0032, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x0064, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x0096, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
@@ -225,6 +254,8 @@ Entry800DCC08 0x00c8, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x00fa, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
|
||||
# Block Fort Bomb Kart spawns
|
||||
Entry800DCC08 0x0014, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x0028, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x003c, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0
|
||||
@@ -232,6 +263,8 @@ Entry800DCC08 0x0050, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x0064, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x0078, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x008c, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0
|
||||
|
||||
# Skyscraper Bomb Kart spawns
|
||||
Entry800DCC08 0x0014, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x0028, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x003c, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0
|
||||
@@ -239,6 +272,8 @@ Entry800DCC08 0x0050, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x0064, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x0078, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x008c, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0
|
||||
|
||||
# Double Deck Bomb Kart spawns
|
||||
Entry800DCC08 0x0014, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x0028, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x003c, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0
|
||||
@@ -246,6 +281,8 @@ Entry800DCC08 0x0050, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x0064, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x0078, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x008c, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0
|
||||
|
||||
# DK Jungle Bomb Kart spawns
|
||||
Entry800DCC08 0x0032, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x0064, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x0096, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
@@ -253,6 +290,8 @@ Entry800DCC08 0x00be, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x00fa, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0
|
||||
|
||||
# Big Donut Bomb Kart spawns
|
||||
Entry800DCC08 0x0014, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x0028, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x003c, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0
|
||||
@@ -260,6 +299,8 @@ Entry800DCC08 0x0050, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x0064, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x0078, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x008c, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0
|
||||
|
||||
# Award Ceremony Bomb Kart spawns
|
||||
Entry800DCC08 0x0003, 0x0005, 1.250000, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x0028, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0
|
||||
Entry800DCC08 0x003c, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0
|
||||
|
||||
@@ -0,0 +1,63 @@
|
||||
#ifndef BOMB_KART_H
|
||||
#define BOMB_KART_H
|
||||
|
||||
#include "common_structs.h"
|
||||
|
||||
#define NUM_BOMB_KARTS_MAX 7
|
||||
#define NUM_BOMB_KARTS_VERSUS 7
|
||||
#define NUM_BOMB_KARTS_BATTLE 4
|
||||
|
||||
#define BOMB_STATE_INACTIVE 0
|
||||
#define BOMB_STATE_CCW 1
|
||||
#define BOMB_STATE_CW 2
|
||||
#define BOMB_STATE_STATIONARY 3 // Paused?
|
||||
#define BOMB_STATE_EXPLODED 4 // Or maybe exploding?
|
||||
#define BOMB_STATE_UNKNOWN 5
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ u16 wayPointIndex;
|
||||
/* 0x02 */ u16 startingState;
|
||||
/* 0x04 */ f32 unk_04; // Used to set the value of unk_3C in struct_D_80163DE8_entry
|
||||
/* 0x08 */ f32 startingXPos;
|
||||
/* 0x0C */ f32 startingZPos;
|
||||
/**
|
||||
* These 2 never seem to get referenced. They also only have non-zero
|
||||
* data for the Yoshi Valley set of spawns
|
||||
**/
|
||||
/* 0x10 */ f32 unk_10;
|
||||
/* 0x14 */ f32 unk_14;
|
||||
} BombKartSpawn; // size = 0x18
|
||||
|
||||
typedef struct {
|
||||
/**
|
||||
* This struct is in part representative of the
|
||||
* bomb kart hazards in VS mode.
|
||||
* There may be objects associated with them too
|
||||
**/
|
||||
/* 0x00 */ Vec3f bombPos;
|
||||
/* 0x0C */ Vec3f wheel1Pos;
|
||||
/* 0x18 */ Vec3f wheel2Pos;
|
||||
/* 0x24 */ Vec3f wheel3Pos;
|
||||
/* 0x30 */ Vec3f wheel4Pos;
|
||||
/* 0x3C */ f32 unk_3C;
|
||||
/* 0x40 */ s16 someRot; // seems like an angle of some variety, can't figure out its purpose
|
||||
/* 0x42 */ u16 wayPointIndex; // probably the waypoint that the bomb circles
|
||||
/* 0x44 */ u16 state;
|
||||
/* 0x46 */ s16 bounceTimer; // timer? state? height?
|
||||
/* 0x48 */ s16 circleTimer; // timer? state? Somehow controls how it circles around
|
||||
/* 0x4A */ s16 unk_4A;
|
||||
/* 0x4C */ s16 unk_4C;
|
||||
/* 0x4E */ // s16 compilerPadding;
|
||||
/* 0x50 */ f32 yPos; // Y position of the center of the circle
|
||||
} struct_D_80163DE8_entry; // size = 0x54
|
||||
|
||||
// Indexes for the objects associated with the Bomb Karts
|
||||
extern s32 D_80183DD8[NUM_BOMB_KARTS_MAX];
|
||||
|
||||
extern struct_D_80163DE8_entry D_80163DE8[NUM_BOMB_KARTS_MAX];
|
||||
extern UnkActorInner D_80164038[NUM_BOMB_KARTS_MAX];
|
||||
|
||||
// data/data_0DD0A0_1.s
|
||||
extern BombKartSpawn D_800DCC08[NUM_COURSES][NUM_BOMB_KARTS_MAX];
|
||||
|
||||
#endif
|
||||
@@ -4,7 +4,6 @@
|
||||
#include "common_structs.h"
|
||||
|
||||
#define OBJECT_LIST_SIZE 0x226
|
||||
#define D_80183DD8_SIZE 7
|
||||
#define SOME_OBJECT_INDEX_LIST_SIZE 32
|
||||
|
||||
typedef struct
|
||||
@@ -89,7 +88,6 @@ extern struct_80165C18_entry D_80165C18[];
|
||||
* Lakitu?
|
||||
**/
|
||||
extern s32 D_80183DB8[];
|
||||
extern s32 D_80183DD8[];
|
||||
|
||||
// Appears to be a list of object list indices for the Item Window part of the HUD
|
||||
extern s32 gItemWindowObjectByPlayerId[];
|
||||
|
||||
+139
-166
@@ -16,6 +16,7 @@
|
||||
#include "vehicles.h"
|
||||
#include "hud_renderer.h"
|
||||
#include "code_80057C60.h"
|
||||
#include "bomb_kart.h"
|
||||
|
||||
// Strings, presented by google translate!
|
||||
// Note that these are EUC-JP encoded, see:
|
||||
@@ -4309,94 +4310,74 @@ void func_8000DBAC(Vec3f arg0, s16 *arg1, f32 arg2) {
|
||||
GLOBAL_ASM("asm/non_matchings/code_80005FD0/func_8000DBAC.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by m2c commit 3b40ab93768f52ac241c5ae84ef58ef6bc4cb1de
|
||||
extern ? D_80163DE8;
|
||||
extern UnkActorInner D_80164038;
|
||||
extern ? gUnexpiredActorsList;
|
||||
static struct _struct_D_800DCC08_0xA8 D_800DCC08[0]; /* unable to generate initializer */
|
||||
s16 gCurrentCourseId; /* unable to generate initializer */
|
||||
|
||||
void func_8000DD78(void) {
|
||||
? *var_s0;
|
||||
UnkActorInner *var_s2;
|
||||
f32 var_f20;
|
||||
f32 var_f22;
|
||||
f32 var_f2;
|
||||
s16 temp_v0;
|
||||
f32 startingXPos;
|
||||
f32 startingZPos;
|
||||
f32 startingYPos;
|
||||
s32 var_s3;
|
||||
struct TrackWayPoint *temp_v0_2;
|
||||
void *temp_s1;
|
||||
void *temp_v0_3;
|
||||
struct TrackWayPoint *temp_v0;
|
||||
struct_D_80163DE8_entry *var_s0;
|
||||
BombKartSpawn *temp_s1;
|
||||
|
||||
var_s2 = &D_80164038;
|
||||
var_s0 = &D_80163DE8;
|
||||
var_s3 = 0;
|
||||
do {
|
||||
temp_v0 = gCurrentCourseId;
|
||||
temp_s1 = &D_800DCC08[temp_v0] + var_s3;
|
||||
if (temp_v0 != 4) {
|
||||
if (temp_v0 != 0x0014) {
|
||||
temp_v0_2 = &D_80164550->unk0[temp_s1->unk0];
|
||||
var_f20 = (f32) temp_v0_2->wayPointX;
|
||||
var_f2 = (f32) temp_v0_2->wayPointY;
|
||||
var_f22 = (f32) temp_v0_2->wayPointZ;
|
||||
} else {
|
||||
temp_v0_3 = D_80164550->unkC + (temp_s1->unk0 * 8);
|
||||
var_f20 = (f32) temp_v0_3->unk0;
|
||||
var_f2 = (f32) temp_v0_3->unk2;
|
||||
var_f22 = (f32) temp_v0_3->unk4;
|
||||
}
|
||||
} else {
|
||||
var_f22 = temp_s1->unkC;
|
||||
var_f20 = temp_s1->unk8;
|
||||
var_f2 = func_802AE1C0(var_f20, 2000.0f, var_f22);
|
||||
for (var_s3 = 0; var_s3 < NUM_BOMB_KARTS_VERSUS; var_s3++) {
|
||||
temp_s1 = &D_800DCC08[gCurrentCourseId][var_s3];
|
||||
switch (gCurrentCourseId) {
|
||||
case COURSE_YOSHI_VALLEY:
|
||||
startingXPos = temp_s1->startingXPos;
|
||||
startingZPos = temp_s1->startingZPos;
|
||||
startingYPos = func_802AE1C0(startingXPos, 2000.0f, startingZPos);
|
||||
break;
|
||||
case COURSE_AWARD_CEREMONY:
|
||||
temp_v0 = &D_80164550[3][temp_s1->wayPointIndex];
|
||||
startingXPos = temp_v0->wayPointX;
|
||||
startingYPos = temp_v0->wayPointY;
|
||||
startingZPos = temp_v0->wayPointZ;
|
||||
break;
|
||||
default:
|
||||
temp_v0 = &D_80164550[0][temp_s1->wayPointIndex];
|
||||
startingXPos = temp_v0->wayPointX;
|
||||
startingYPos = temp_v0->wayPointY;
|
||||
startingZPos = temp_v0->wayPointZ;
|
||||
break;
|
||||
}
|
||||
var_s0->unk0 = var_f20;
|
||||
var_s0->unk4 = var_f2;
|
||||
var_s0->unk8 = var_f22;
|
||||
var_s0->unkC = var_f20;
|
||||
var_s0->unk10 = var_f2;
|
||||
var_s0->unk14 = var_f22;
|
||||
var_s0->unk18 = var_f20;
|
||||
var_s0->unk1C = var_f2;
|
||||
var_s0->unk20 = var_f22;
|
||||
var_s0->unk24 = var_f20;
|
||||
var_s0->unk28 = var_f2;
|
||||
var_s0->unk2C = var_f22;
|
||||
var_s0->unk30 = var_f20;
|
||||
var_s0->unk34 = var_f2;
|
||||
var_s0->unk38 = var_f22;
|
||||
var_s0->unk42 = (u16) temp_s1->unk0;
|
||||
var_s0->unk46 = 0;
|
||||
var_s0->unk48 = 0;
|
||||
var_s0->unk3C = (f32) temp_s1->unk4;
|
||||
var_s0->unk4A = 0;
|
||||
var_s0->unk4C = 1;
|
||||
var_s0->unk50 = var_f2;
|
||||
var_s0->unk44 = (u16) temp_s1->unk2;
|
||||
func_802ADDC8(var_s2, 2.0f, var_f20, var_f2, var_f22);
|
||||
var_s2 += 0x40;
|
||||
var_s3 += 0x18;
|
||||
var_s0 += 0x54;
|
||||
} while (var_s2 != &gUnexpiredActorsList);
|
||||
D_80163DE8[var_s3].bombPos[0] = startingXPos;
|
||||
D_80163DE8[var_s3].bombPos[1] = startingYPos;
|
||||
D_80163DE8[var_s3].bombPos[2] = startingZPos;
|
||||
D_80163DE8[var_s3].wheel1Pos[0] = startingXPos;
|
||||
D_80163DE8[var_s3].wheel1Pos[1] = startingYPos;
|
||||
D_80163DE8[var_s3].wheel1Pos[2] = startingZPos;
|
||||
D_80163DE8[var_s3].wheel2Pos[0] = startingXPos;
|
||||
D_80163DE8[var_s3].wheel2Pos[1] = startingYPos;
|
||||
D_80163DE8[var_s3].wheel2Pos[2] = startingZPos;
|
||||
D_80163DE8[var_s3].wheel3Pos[0] = startingXPos;
|
||||
D_80163DE8[var_s3].wheel3Pos[1] = startingYPos;
|
||||
D_80163DE8[var_s3].wheel3Pos[2] = startingZPos;
|
||||
D_80163DE8[var_s3].wheel4Pos[0] = startingXPos;
|
||||
D_80163DE8[var_s3].wheel4Pos[1] = startingYPos;
|
||||
D_80163DE8[var_s3].wheel4Pos[2] = startingZPos;
|
||||
D_80163DE8[var_s3].wayPointIndex = temp_s1->wayPointIndex;
|
||||
D_80163DE8[var_s3].unk_3C = temp_s1->unk_04;
|
||||
D_80163DE8[var_s3].bounceTimer = 0;
|
||||
D_80163DE8[var_s3].circleTimer = 0;
|
||||
D_80163DE8[var_s3].state = temp_s1->startingState;
|
||||
D_80163DE8[var_s3].unk_4A = 0;
|
||||
D_80163DE8[var_s3].unk_4C = 1;
|
||||
D_80163DE8[var_s3].yPos = startingYPos;
|
||||
func_802ADDC8(&D_80164038[var_s3], 2.0f, startingXPos, startingYPos, startingZPos);
|
||||
}
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80005FD0/func_8000DD78.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by m2c commit 3b40ab93768f52ac241c5ae84ef58ef6bc4cb1de
|
||||
//generated by m2c commit eefca95b040d7ee0c617bc58f9ac6cd1cf7bce87 on Aug-17-2023
|
||||
extern f32 D_80162FB0;
|
||||
extern f32 D_80162FC0;
|
||||
extern s16 D_8016347C;
|
||||
extern s16 D_8016347E;
|
||||
extern ? D_80163DE8;
|
||||
extern UnkActorInner D_80164038;
|
||||
extern ? D_80164038;
|
||||
extern u16 D_8016443E;
|
||||
extern s32 D_8016455C;
|
||||
extern u16 D_801645CE;
|
||||
extern s8 D_8018EDF3;
|
||||
s16 gCurrentCourseId; /* unable to generate initializer */
|
||||
|
||||
void func_8000DF8C(s32 arg0) {
|
||||
@@ -4418,7 +4399,6 @@ void func_8000DF8C(s32 arg0) {
|
||||
s32 sp4C; /* compiler-managed */
|
||||
s32 sp48; /* compiler-managed */
|
||||
s32 sp44;
|
||||
Player *temp_v0;
|
||||
Player *var_v0;
|
||||
UnkActorInner *temp_a0_4;
|
||||
f32 temp_f0;
|
||||
@@ -4450,12 +4430,11 @@ void func_8000DF8C(s32 arg0) {
|
||||
f64 temp_f10;
|
||||
f64 temp_f4;
|
||||
f64 temp_f8;
|
||||
s16 temp_v0_6;
|
||||
s16 temp_v0_5;
|
||||
s32 temp_a0;
|
||||
s32 temp_a0_2;
|
||||
s32 temp_a0_3;
|
||||
s32 temp_at;
|
||||
s32 temp_t0;
|
||||
s32 temp_t2;
|
||||
s32 temp_t2_2;
|
||||
s32 temp_t6;
|
||||
@@ -4464,46 +4443,43 @@ void func_8000DF8C(s32 arg0) {
|
||||
s32 temp_t9_2;
|
||||
s32 var_a0;
|
||||
s8 var_v1;
|
||||
struct TrackWayPoint *temp_a3_2;
|
||||
struct TrackWayPoint *temp_v0_3;
|
||||
struct TrackWayPoint *temp_v0_5;
|
||||
struct TrackWayPoint *temp_v0_8;
|
||||
struct TrackWayPoint *temp_v0_2;
|
||||
struct TrackWayPoint *temp_v0_4;
|
||||
struct TrackWayPoint *temp_v0_7;
|
||||
struct TrackWayPoint *temp_v1_2;
|
||||
u16 temp_a3;
|
||||
struct_D_80163DE8_entry *temp_s0;
|
||||
u16 temp_t4;
|
||||
u16 temp_t9;
|
||||
u16 temp_v0_2;
|
||||
u16 temp_v0_4;
|
||||
u16 temp_v0;
|
||||
u16 temp_v0_3;
|
||||
u16 var_s1;
|
||||
void *temp_s0;
|
||||
void *temp_v0_7;
|
||||
void *temp_v0_6;
|
||||
void *temp_v1;
|
||||
|
||||
temp_s0 = (arg0 * 0x54) + &D_80163DE8;
|
||||
temp_t9 = temp_s0->unk44;
|
||||
temp_s0 = &D_80163DE8[arg0];
|
||||
temp_t9 = (u16) temp_s0->state;
|
||||
temp_t2 = temp_t9 & 0xFFFF;
|
||||
sp4C = temp_t2;
|
||||
sp7E = temp_t9;
|
||||
if ((temp_t2 != 0) && ((temp_s0->unk4A != 1) || (gCurrentCourseId == 0x0014))) {
|
||||
var_f22 = temp_s0->unk0;
|
||||
var_f20 = temp_s0->unk4;
|
||||
var_f24 = temp_s0->unk8;
|
||||
spCA = temp_s0->unk42;
|
||||
spC4 = temp_s0->unk3C;
|
||||
spC2 = temp_s0->unk40;
|
||||
sp7C = temp_s0->unk46;
|
||||
var_s1 = temp_s0->unk48;
|
||||
if ((temp_t2 != 0) && (((u16) temp_s0->unk_4A != 1) || (gCurrentCourseId == 0x0014))) {
|
||||
var_f22 = temp_s0->bombPos[0];
|
||||
var_f20 = temp_s0->bombPos[1];
|
||||
var_f24 = temp_s0->bombPos[2];
|
||||
spCA = (u16) temp_s0->wayPointIndex;
|
||||
spC4 = temp_s0->unk_3C;
|
||||
spC2 = (u16) temp_s0->someRot;
|
||||
sp7C = (u16) temp_s0->bounceTimer;
|
||||
var_s1 = (u16) temp_s0->circleTimer;
|
||||
if ((sp4C != 0) && (sp4C != 4)) {
|
||||
if (gCurrentCourseId == 0x0014) {
|
||||
if (D_8016347E == (s16) 1U) {
|
||||
temp_v0 = gPlayerFour;
|
||||
temp_f0 = var_f22 - temp_v0->pos[0];
|
||||
temp_f2 = var_f20 - temp_v0->pos[1];
|
||||
temp_f12 = var_f24 - temp_v0->pos[2];
|
||||
temp_f0 = var_f22 - gPlayerFour->pos[0];
|
||||
temp_f2 = var_f20 - gPlayerFour->pos[1];
|
||||
temp_f12 = var_f24 - gPlayerFour->pos[2];
|
||||
if (((temp_f0 * temp_f0) + (temp_f2 * temp_f2) + (temp_f12 * temp_f12)) < 25.0f) {
|
||||
sp7E = 4;
|
||||
temp_v0->statusEffects |= 0x400000;
|
||||
temp_v0->unk_000 &= ~0x2000;
|
||||
gPlayerFour->statusEffects |= 0x400000;
|
||||
gPlayerFour->unk_000 &= ~0x2000;
|
||||
var_s1 = 0;
|
||||
sp4C = 4;
|
||||
}
|
||||
@@ -4540,77 +4516,75 @@ void func_8000DF8C(s32 arg0) {
|
||||
case 1:
|
||||
temp_t4 = ((s32) (var_s1 + 0x164) % 360) & 0xFFFF;
|
||||
temp_t6 = ((s32) (temp_t4 * 0xFFFF) / 360) & 0xFFFF;
|
||||
temp_v0_2 = temp_t4;
|
||||
temp_v0 = temp_t4;
|
||||
var_s1 = temp_t4;
|
||||
sp48 = (s32) temp_v0_2;
|
||||
sp48 = (s32) temp_v0;
|
||||
sp44 = temp_t6;
|
||||
sp118 = (f32) ((f64) coss((u16) temp_t6) * 25.0);
|
||||
temp_f0_3 = sins((u16) sp44);
|
||||
temp_v0_3 = &(*D_80164550)[spCA];
|
||||
var_f20 = temp_s0->unk50 + 3.5f;
|
||||
temp_v0_2 = &(*D_80164550)[spCA];
|
||||
var_f20 = temp_s0->yPos + 3.5f;
|
||||
temp_t7 = ((s32) (((s32) (sp48 + 1) % 360) * 0xFFFF) / 360) & 0xFFFF;
|
||||
var_f22 = (f32) temp_v0_3->wayPointX + sp118;
|
||||
var_f22 = (f32) temp_v0_2->wayPointX + sp118;
|
||||
D_80162FB0.unk4 = var_f20;
|
||||
D_80162FB0.unk0 = var_f22;
|
||||
sp44 = temp_t7;
|
||||
sp110 = temp_v0_3;
|
||||
var_f24 = (f32) temp_v0_3->wayPointZ + (f32) ((f64) temp_f0_3 * 25.0);
|
||||
sp110 = temp_v0_2;
|
||||
var_f24 = (f32) temp_v0_2->wayPointZ + (f32) ((f64) temp_f0_3 * 25.0);
|
||||
D_80162FB0.unk8 = var_f24;
|
||||
sp118 = (f32) ((f64) coss((u16) temp_t7) * 25.0);
|
||||
temp_f10 = (f64) sins((u16) sp44);
|
||||
D_80162FC0.unk0 = (f32) temp_v0_3->wayPointX + sp118;
|
||||
D_80162FC0.unk4 = (f32) temp_v0_3->wayPointY;
|
||||
D_80162FC0.unk8 = (f32) ((f32) temp_v0_3->wayPointZ + (f32) (temp_f10 * 25.0));
|
||||
D_80162FC0.unk0 = (f32) temp_v0_2->wayPointX + sp118;
|
||||
D_80162FC0.unk4 = (f32) temp_v0_2->wayPointY;
|
||||
D_80162FC0.unk8 = (f32) ((f32) temp_v0_2->wayPointZ + (f32) (temp_f10 * 25.0));
|
||||
spC2 = (u16) ((s32) (func_802B5224(&D_80162FB0, &D_80162FC0) * 0xFFFF) / 65520);
|
||||
break;
|
||||
case 2:
|
||||
temp_v0_4 = ((s32) (var_s1 + 4) % 360) & 0xFFFF;
|
||||
temp_a0 = ((s32) (temp_v0_4 * 0xFFFF) / 360) & 0xFFFF;
|
||||
var_s1 = temp_v0_4;
|
||||
temp_v0_3 = ((s32) (var_s1 + 4) % 360) & 0xFFFF;
|
||||
temp_a0 = ((s32) (temp_v0_3 * 0xFFFF) / 360) & 0xFFFF;
|
||||
var_s1 = temp_v0_3;
|
||||
sp44 = temp_a0;
|
||||
sp48 = (s32) temp_v0_4;
|
||||
sp48 = (s32) temp_v0_3;
|
||||
sp118 = (f32) ((f64) coss((u16) temp_a0) * 25.0);
|
||||
temp_v0_5 = &(*D_80164550)[spCA];
|
||||
var_f22 = (f32) temp_v0_5->wayPointX + sp118;
|
||||
var_f20 = temp_s0->unk50 + 3.5f;
|
||||
temp_v0_4 = &(*D_80164550)[spCA];
|
||||
var_f22 = (f32) temp_v0_4->wayPointX + sp118;
|
||||
var_f20 = temp_s0->yPos + 3.5f;
|
||||
temp_f4 = (f64) sins((u16) temp_a0) * 25.0;
|
||||
temp_a0_2 = ((s32) (((s32) (sp48 + 1) % 360) * 0xFFFF) / 360) & 0xFFFF;
|
||||
D_80162FB0.unk0 = var_f22;
|
||||
D_80162FB0.unk4 = var_f20;
|
||||
sp44 = temp_a0_2;
|
||||
sp110 = temp_v0_5;
|
||||
var_f24 = (f32) temp_v0_5->wayPointZ + (f32) temp_f4;
|
||||
sp110 = temp_v0_4;
|
||||
var_f24 = (f32) temp_v0_4->wayPointZ + (f32) temp_f4;
|
||||
D_80162FB0.unk8 = var_f24;
|
||||
sp118 = (f32) ((f64) coss((u16) temp_a0_2) * 25.0);
|
||||
temp_f8 = (f64) sins((u16) temp_a0_2);
|
||||
D_80162FC0.unk0 = (f32) temp_v0_5->wayPointX + sp118;
|
||||
D_80162FC0.unk4 = (f32) temp_v0_5->wayPointY;
|
||||
D_80162FC0.unk8 = (f32) ((f32) temp_v0_5->wayPointZ + (f32) (temp_f8 * 25.0));
|
||||
D_80162FC0.unk0 = (f32) temp_v0_4->wayPointX + sp118;
|
||||
D_80162FC0.unk4 = (f32) temp_v0_4->wayPointY;
|
||||
D_80162FC0.unk8 = (f32) ((f32) temp_v0_4->wayPointZ + (f32) (temp_f8 * 25.0));
|
||||
spC2 = (u16) ((s32) (func_802B5224(&D_80162FB0, &D_80162FC0) * 0xFFFF) / 65520);
|
||||
default:
|
||||
break;
|
||||
case 3:
|
||||
spC2 = 0;
|
||||
var_f20 = temp_s0->unk50 + 3.5f;
|
||||
var_f20 = temp_s0->yPos + 3.5f;
|
||||
break;
|
||||
case 5:
|
||||
if ((D_8016347C == 0) || ((s32) D_8016443E < 5)) {
|
||||
|
||||
} else {
|
||||
temp_v0_6 = func_8000D2B4(var_f22, var_f20, var_f24, (s16) spCA, 3);
|
||||
temp_a0_3 = temp_v0_6 & 0xFFFF;
|
||||
spCA = temp_v0_6;
|
||||
temp_v0_5 = func_8000D2B4(var_f22, var_f20, var_f24, (s16) spCA, 3);
|
||||
temp_a0_3 = temp_v0_5 & 0xFFFF;
|
||||
spCA = temp_v0_5;
|
||||
if ((temp_a0_3 < 0) || ((s32) D_801645CE < temp_a0_3)) {
|
||||
spCA = 0;
|
||||
}
|
||||
if ((s32) spCA < 0x1A) {
|
||||
temp_a3 = D_801645CE;
|
||||
temp_t0 = D_8016455C;
|
||||
temp_v0_7 = (((s32) (spCA + 1) % (s32) temp_a3) * 8) + temp_t0;
|
||||
D_80162FB0.unk0 = (f32) temp_v0_7->unk0;
|
||||
temp_v1 = (((s32) (spCA + 2) % (s32) temp_a3) * 8) + temp_t0;
|
||||
D_80162FB0.unk4 = (f32) temp_v0_7->unk2;
|
||||
D_80162FB0.unk8 = (f32) temp_v0_7->unk4;
|
||||
temp_v0_6 = (((s32) (spCA + 1) % (s32) D_801645CE) * 8) + D_8016455C;
|
||||
D_80162FB0.unk0 = (f32) temp_v0_6->unk0;
|
||||
temp_v1 = (((s32) (spCA + 2) % (s32) D_801645CE) * 8) + D_8016455C;
|
||||
D_80162FB0.unk4 = (f32) temp_v0_6->unk2;
|
||||
D_80162FB0.unk8 = (f32) temp_v0_6->unk4;
|
||||
D_80162FC0.unk0 = (f32) temp_v1->unk0;
|
||||
D_80162FC0.unk4 = (f32) temp_v1->unk2;
|
||||
D_80162FC0.unk8 = (f32) temp_v1->unk4;
|
||||
@@ -4630,7 +4604,7 @@ void func_8000DF8C(s32 arg0) {
|
||||
spF0 = temp_f16;
|
||||
temp_f0_4 = sqrtf((temp_f14 * temp_f14) + (temp_f16 * temp_f16));
|
||||
if (temp_f0_4 > 0.01f) {
|
||||
temp_f2_3 = temp_s0->unk3C;
|
||||
temp_f2_3 = temp_s0->unk_3C;
|
||||
var_f22 += (temp_f2_3 * temp_f14) / temp_f0_4;
|
||||
var_f24 += (temp_f2_3 * temp_f16) / temp_f0_4;
|
||||
} else {
|
||||
@@ -4641,18 +4615,17 @@ void func_8000DF8C(s32 arg0) {
|
||||
sp48 = temp_a0_4;
|
||||
var_f20 = func_802ABE30(var_f22, 2000.0f, var_f24, temp_a0_4->unk3A) + 3.5f;
|
||||
if ((f64) var_f20 < -1000.0) {
|
||||
var_f20 = temp_s0->unk4;
|
||||
var_f20 = temp_s0->bombPos[1];
|
||||
}
|
||||
func_802ADDC8(temp_a0_4, 10.0f, var_f22, var_f20, var_f24);
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
temp_a3_2 = *D_80164550;
|
||||
temp_v0_8 = &temp_a3_2[spCA];
|
||||
D_80162FB0.unk0 = (f32) temp_v0_8->wayPointX;
|
||||
D_80162FB0.unk4 = (f32) temp_v0_8->wayPointY;
|
||||
D_80162FB0.unk8 = (f32) temp_v0_8->wayPointZ;
|
||||
temp_v1_2 = &temp_a3_2[(s32) (spCA + 1) % (s32) *gWaypointCountByPathIndex];
|
||||
temp_v0_7 = &(*D_80164550)[spCA];
|
||||
D_80162FB0.unk0 = (f32) temp_v0_7->wayPointX;
|
||||
D_80162FB0.unk4 = (f32) temp_v0_7->wayPointY;
|
||||
D_80162FB0.unk8 = (f32) temp_v0_7->wayPointZ;
|
||||
temp_v1_2 = &(*D_80164550)[(s32) (spCA + 1) % (s32) *gWaypointCountByPathIndex];
|
||||
D_80162FC0.unk0 = (f32) temp_v1_2->wayPointX;
|
||||
D_80162FC0.unk4 = (f32) temp_v1_2->wayPointY;
|
||||
var_f6 = (f32) var_s1;
|
||||
@@ -4707,28 +4680,28 @@ void func_8000DF8C(s32 arg0) {
|
||||
}
|
||||
temp_f12_5 = -var_f18;
|
||||
temp_f0_5 = var_f18 + sp118;
|
||||
temp_s0->unkC = (f32) ((sp118 - var_f18) + var_f22);
|
||||
temp_s0->unk18 = (f32) (temp_f0_5 + var_f22);
|
||||
temp_s0->unk10 = spAC;
|
||||
temp_s0->unk14 = (f32) (temp_f0_5 + var_f24);
|
||||
temp_s0->wheel1Pos[0] = (sp118 - var_f18) + var_f22;
|
||||
temp_s0->wheel2Pos[0] = temp_f0_5 + var_f22;
|
||||
temp_s0->wheel1Pos[1] = spAC;
|
||||
temp_s0->wheel1Pos[2] = temp_f0_5 + var_f24;
|
||||
temp_f2_5 = -sp118;
|
||||
temp_s0->unk1C = spA0;
|
||||
temp_s0->unk20 = (f32) ((var_f18 - sp118) + var_f24);
|
||||
temp_s0->unk24 = (f32) ((temp_f2_5 - var_f18) + var_f22);
|
||||
temp_s0->unk2C = (f32) (temp_f12_5 + sp118 + var_f24);
|
||||
temp_s0->unk28 = sp94;
|
||||
temp_s0->unk30 = (f32) (temp_f2_5 + var_f18 + var_f22);
|
||||
temp_s0->unk0 = var_f22;
|
||||
temp_s0->unk38 = (f32) ((temp_f12_5 - sp118) + var_f24);
|
||||
temp_s0->unk4 = var_f20;
|
||||
temp_s0->unk8 = var_f24;
|
||||
temp_s0->unk34 = sp88;
|
||||
temp_s0->unk42 = spCA;
|
||||
temp_s0->unk3C = spC4;
|
||||
temp_s0->unk40 = spC2;
|
||||
temp_s0->unk44 = sp7E;
|
||||
temp_s0->unk48 = var_s1;
|
||||
temp_s0->unk46 = sp7C;
|
||||
temp_s0->wheel2Pos[1] = spA0;
|
||||
temp_s0->wheel2Pos[2] = (var_f18 - sp118) + var_f24;
|
||||
temp_s0->wheel3Pos[0] = (temp_f2_5 - var_f18) + var_f22;
|
||||
temp_s0->wheel3Pos[2] = temp_f12_5 + sp118 + var_f24;
|
||||
temp_s0->wheel3Pos[1] = sp94;
|
||||
temp_s0->wheel4Pos[0] = temp_f2_5 + var_f18 + var_f22;
|
||||
temp_s0->bombPos[0] = var_f22;
|
||||
temp_s0->wheel4Pos[2] = (temp_f12_5 - sp118) + var_f24;
|
||||
temp_s0->bombPos[1] = var_f20;
|
||||
temp_s0->bombPos[2] = var_f24;
|
||||
temp_s0->wheel4Pos[1] = sp88;
|
||||
temp_s0->wayPointIndex = (s16) spCA;
|
||||
temp_s0->unk_3C = spC4;
|
||||
temp_s0->someRot = (s16) spC2;
|
||||
temp_s0->state = (s16) sp7E;
|
||||
temp_s0->circleTimer = (s16) var_s1;
|
||||
temp_s0->bounceTimer = (s16) sp7C;
|
||||
}
|
||||
}
|
||||
#else
|
||||
@@ -11507,7 +11480,7 @@ extern s16 D_8016347C;
|
||||
extern s16 D_8016347E;
|
||||
extern s32 D_80163480;
|
||||
extern s32 D_80163484;
|
||||
extern u16 D_80163E2C;
|
||||
extern u16 D_80163E2C; // This is really D_80163DE8.state
|
||||
|
||||
void func_8001C14C(void) {
|
||||
Player *temp_s0;
|
||||
@@ -11574,7 +11547,7 @@ GLOBAL_ASM("asm/non_matchings/code_80005FD0/func_8001C14C.s")
|
||||
|
||||
void func_8001C3C4(s32 arg0) {
|
||||
if (gCurrentCourseId == COURSE_AWARD_CEREMONY) {
|
||||
if (D_80163E2A >= 16) {
|
||||
if (D_80163DE8[0].wayPointIndex >= 16) {
|
||||
func_80057114(3);
|
||||
}
|
||||
} else {
|
||||
|
||||
+32
-13
@@ -28,32 +28,31 @@ struct unexpiredActors {
|
||||
|
||||
/* Function Prototypes */
|
||||
|
||||
f32 func_80014EE4(f32 arg0, s32 arg1);
|
||||
void func_8001C14C(void);
|
||||
void func_800070F4(void);
|
||||
void func_80019DF4(void);
|
||||
void func_80019C50(s32);
|
||||
void func_80019FB4(s32);
|
||||
void func_80019D2C(Camera*, Player*, s32);
|
||||
void func_80019E58(void);
|
||||
s16 func_80005FD0(Vec3f, Vec3f);
|
||||
|
||||
s32 func_80006018(f32, f32, f32, f32, f32, f32, f32, f32);
|
||||
void func_80006114(Vec3f, Vec3f, s16);
|
||||
s32 func_800061DC(Vec3f, f32, s32);
|
||||
|
||||
void func_800070F4(void);
|
||||
void func_800074D4();
|
||||
s32 func_80007BF8(u16, u16, u16, u16, u16);
|
||||
|
||||
void func_80008DC0(s32);
|
||||
s32 func_80008E58(s32, s32);
|
||||
void func_80008F38(s32);
|
||||
|
||||
void func_80009000(s32);
|
||||
void func_800090F0(s32, Player*);
|
||||
void func_800097E0(void);
|
||||
void func_80009B60(s32);
|
||||
|
||||
s32 func_8000B7E4(s32, u16);
|
||||
s32 func_8000B820(s32);
|
||||
f32 func_8000B874(f32, f32, u16, s32);
|
||||
void func_8000B95C(s32, u16, s32);
|
||||
s16 func_8000BD94(f32, f32, f32, s32);
|
||||
|
||||
s16 func_8000C0BC(f32, f32, f32, u16, s32*);
|
||||
s16 func_8000C884(f32, f32, f32, s16, s32, u16);
|
||||
s16 func_8000C9DC(f32, f32, f32, s16, s32);
|
||||
@@ -61,24 +60,29 @@ void func_8000CBA4(f32, f32, f32, s16*);
|
||||
void func_8000CBF8(f32, f32, f32, s16*, s32);
|
||||
s16 func_8000CC88(f32, f32, f32, Player*, s32, s32*);
|
||||
s16 func_8000CD24(f32, f32, f32, s16, Player*, s32, s32);
|
||||
|
||||
s16 func_8000D24C(f32, f32, f32, s32*);
|
||||
s16 func_8000D2B4(f32, f32, f32, s16, s32);
|
||||
s16 func_8000D33C(f32, f32, f32, s16, s32);
|
||||
s16 func_8000D6D0(Vec3f, s16*, f32, f32, s32, s32);
|
||||
s16 func_8000D940(Vec3f, s16*, f32, f32, s32);
|
||||
s16 func_8000DBAC(Vec3f, s16*, f32);
|
||||
void func_8000DD78();
|
||||
void func_8000DF8C(s32);
|
||||
|
||||
s32 func_8000ED14(s32, s16);
|
||||
s32 func_8000ED80(s32);
|
||||
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_8000EF20();
|
||||
|
||||
void func_8000F0E0();
|
||||
void func_8000F124();
|
||||
void func_8000F2BC(struct TrackWayPoint*, size_t);
|
||||
|
||||
void func_80010218(s32);
|
||||
f32 func_80010480(s32, u16);
|
||||
void func_800107C4(s32);
|
||||
@@ -86,19 +90,23 @@ s16 func_80010CB0(s32, s32);
|
||||
void func_80010DBC(s32);
|
||||
f32 func_80010F40(f32, f32, f32, s32);
|
||||
f32 func_80010FA0(f32, f32, f32, s32);
|
||||
|
||||
s32 process_path_data(struct TrackWayPoint*, struct TrackWayPoint*);
|
||||
void func_80011AB8(s32);
|
||||
void func_80011AE4(s32);
|
||||
|
||||
void func_80012220(VehicleStuff*);
|
||||
void func_800122D8();
|
||||
void func_80012A48(TrainCarStuff*, s16);
|
||||
void func_80012AC0();
|
||||
void func_80012DC0(s32, Player*);
|
||||
|
||||
void func_800133C4();
|
||||
void func_80013854(Player*);
|
||||
f32 func_80013C74(s16, s16);
|
||||
void func_80013D20(VehicleStuff*);
|
||||
void func_80013F7C(s32, Player*, VehicleStuff*, f32, f32, s32, u32);
|
||||
|
||||
f32 func_800145A8(s16, f32, s16);
|
||||
void func_800146B8(s32, s32, VehicleStuff*);
|
||||
void func_8001487C();
|
||||
@@ -114,21 +122,32 @@ void func_80014C78();
|
||||
void func_80014CC0(s32, Player*);
|
||||
void func_80014D08(s32);
|
||||
void func_80014D30(s32, s32);
|
||||
f32 func_80014EE4(f32 arg0, s32 arg1);
|
||||
|
||||
void func_8001530C();
|
||||
void func_80015314(s32, s32, s32);
|
||||
void func_80015390(Camera*, Player*, s32);
|
||||
|
||||
void func_8001968C();
|
||||
void func_8001C05C();
|
||||
void func_80019C50(s32);
|
||||
void func_80019D2C(Camera*, Player*, s32);
|
||||
void func_80019DE4();
|
||||
void func_80019DF4(void);
|
||||
void func_80019E58(void);
|
||||
void func_80019ED0(void);
|
||||
void func_80019FB4(s32);
|
||||
|
||||
void func_8001A0A4(u16*, Camera*, Player*, s8, s32);
|
||||
void func_8001A0DC(u16*, Camera*, Player*, s8, s32);
|
||||
s32 func_8001A310(s32, s32);
|
||||
void func_8001A588(u16*, Camera*, Player*, s8, s32);
|
||||
void func_8001ABE0(s32, s32);
|
||||
void func_8001ABEC(struct struct_801642D8*);
|
||||
|
||||
void func_8001C05C();
|
||||
void func_8001C14C(void);
|
||||
void func_8001C3C4(s32);
|
||||
void func_8001C42C();
|
||||
void func_80019ED0(void);
|
||||
void func_8001A588(u16*, Camera*, Player*, s8, s32);
|
||||
|
||||
/* This is where I'd put my static data, if I had any */
|
||||
// 0 or 1, only 1 when when in extra (mirror) mode
|
||||
|
||||
+15
-20
@@ -19,6 +19,7 @@
|
||||
#include "common_textures.h"
|
||||
#include "audio/external.h"
|
||||
#include "objects.h"
|
||||
#include "bomb_kart.h"
|
||||
|
||||
// WARNING: this macro is undef'd at the end of this file
|
||||
#define MAKE_RGB(r,g,b) (((r) << 0x10) | ((g) << 0x08) | (b << 0x00))
|
||||
@@ -2536,31 +2537,25 @@ void func_8005D18C(void) {
|
||||
}
|
||||
}
|
||||
}
|
||||
extern u16 D_80163DE8[];
|
||||
extern struct_80165C18_entry D_80164034[];
|
||||
|
||||
void func_8005D1F4(s32 arg0)
|
||||
{
|
||||
s32 playerWaypoint;
|
||||
s32 bombWaypoint;
|
||||
s32 var_a2;
|
||||
u16 temp_a0;
|
||||
struct_8018CA70_entry* temp_v1;
|
||||
u16 new_var3;
|
||||
if (gModeSelection == 2) {
|
||||
u16 waypoint = gNearestWaypointByPlayerId[arg0];
|
||||
temp_v1 = &D_8018CA70[arg0];
|
||||
temp_v1->unk_74 = 0;
|
||||
for (var_a2 = 0; var_a2 != 294; var_a2 += 42) {
|
||||
temp_a0 = D_80163DE8[var_a2 + 0x22];
|
||||
if ((temp_a0 != 4) && (temp_a0 != 0)) {
|
||||
new_var3 = D_80163DE8[var_a2 + 0x21];
|
||||
if (((new_var3 - waypoint) >= (-5)) && (new_var3 - waypoint) < 0x1F) {
|
||||
temp_v1->unk_74 = 1;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
s32 waypointDiff;
|
||||
|
||||
var_a2 = 0;
|
||||
if (gModeSelection == 2) {
|
||||
playerWaypoint = gNearestWaypointByPlayerId[arg0];
|
||||
D_8018CA70[arg0].unk_74 = 0;
|
||||
for (var_a2 = 0; var_a2 < NUM_BOMB_KARTS_VERSUS; var_a2++) {
|
||||
if ((D_80163DE8[var_a2].state == BOMB_STATE_EXPLODED) || (D_80163DE8[var_a2].state == BOMB_STATE_INACTIVE)) continue;
|
||||
bombWaypoint = D_80163DE8[var_a2].wayPointIndex;
|
||||
waypointDiff = bombWaypoint - playerWaypoint;
|
||||
if ((waypointDiff < -5) || (waypointDiff > 0x1E)) continue;
|
||||
D_8018CA70[arg0].unk_74 = 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+2
-1
@@ -5,6 +5,7 @@
|
||||
#include "code_8006E9C0.h"
|
||||
#include "code_80071F00.h"
|
||||
#include "objects.h"
|
||||
#include "bomb_kart.h"
|
||||
#include "variables.h"
|
||||
#include "common_textures.h"
|
||||
#include <sounds.h>
|
||||
@@ -1047,7 +1048,7 @@ void func_80070190(void) {
|
||||
find_unused_obj_index(&D_8018C030[loopIndex]);
|
||||
}
|
||||
|
||||
for(loopIndex = 0; loopIndex < D_80183DD8_SIZE; loopIndex++) {
|
||||
for(loopIndex = 0; loopIndex < NUM_BOMB_KARTS_VERSUS; loopIndex++) {
|
||||
find_unused_obj_index(&D_80183DD8[loopIndex]);
|
||||
}
|
||||
}
|
||||
|
||||
+10
-15
@@ -7077,18 +7077,14 @@ void func_8008275C(s32 objectIndex) {
|
||||
}
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
|
||||
void func_80082714(s32, s32); /* extern */
|
||||
void func_8008275C(s32); /* extern */
|
||||
//generated by m2c commit eefca95b040d7ee0c617bc58f9ac6cd1cf7bce87 on Aug-17-2023
|
||||
extern s16 D_80165900;
|
||||
extern s8 D_80165908;
|
||||
extern s8 D_80165A90;
|
||||
extern f32 D_80183E40;
|
||||
extern s32 D_80183F2C;
|
||||
extern s32 gGamestate;
|
||||
extern s16 gCutsceneShotTimer;
|
||||
|
||||
void func_80082870(void) {
|
||||
s16 temp_v0;
|
||||
s32 *var_s4;
|
||||
s32 temp_s0;
|
||||
s32 var_s3;
|
||||
@@ -7106,23 +7102,22 @@ void func_80082870(void) {
|
||||
func_800722CC(temp_s0, 2);
|
||||
if (D_80165A90 != 0) {
|
||||
D_80165A90 = 0;
|
||||
D_80183E40.unk0 = 0.0f;
|
||||
D_80183E40.unk4 = 0.0f;
|
||||
D_80183E40.unk8 = 0.0f;
|
||||
D_80183E40->unk0 = 0.0f;
|
||||
D_80183E40->unk4 = 0.0f;
|
||||
D_80183E40->unk8 = 0.0f;
|
||||
if (gGamestate != 9) {
|
||||
func_800C98B8(temp_s1->pos, &D_80183E40, 0x19017043U);
|
||||
func_800C98B8(temp_s1->pos, D_80183E40, 0x19017043U);
|
||||
} else if (gCutsceneShotTimer < 0x97) {
|
||||
func_800C98B8(D_80165C18[D_80183F2C].pos, &D_80183E40, 0x19017043U);
|
||||
func_800C98B8(D_80165C18[D_80183F2C].pos, D_80183E40, 0x19017043U);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
var_s3 += 1;
|
||||
var_s4 += 4;
|
||||
} while (var_s3 != 0xA);
|
||||
temp_v0 = D_80165900;
|
||||
if (temp_v0 != 0) {
|
||||
D_80165900 = temp_v0 - 1;
|
||||
} while (var_s3 != 0x0000000A);
|
||||
if (D_80165900 != 0) {
|
||||
D_80165900 -= 1;
|
||||
} else {
|
||||
if (gGamestate != 9) {
|
||||
D_80165900 = 0x003C;
|
||||
|
||||
+100
-284
@@ -15,6 +15,8 @@
|
||||
#include "math_util_2.h"
|
||||
#include "objects.h"
|
||||
#include "variables.h"
|
||||
#include "waypoints.h"
|
||||
#include "bomb_kart.h"
|
||||
#include "common_textures.h"
|
||||
#include "code_8001F980.h"
|
||||
#include "code_80004740.h"
|
||||
@@ -3250,41 +3252,27 @@ s32 func_80050644(u16 arg0, s32 *arg1, s32 *arg2) {
|
||||
return var_v0;
|
||||
}
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
extern u16 D_80163E2A;
|
||||
extern u16 D_80164430;
|
||||
void func_800507D8(u16 bombIndex, s32 *arg1, s32 *arg2) {
|
||||
s32 temp_v0 = D_80163DE8[bombIndex].wayPointIndex;
|
||||
s32 var_v1 = 0;
|
||||
|
||||
void func_800507D8(s32 arg0, s32 *arg1, s32 *arg2) {
|
||||
u16 temp_v0;
|
||||
s32 phi_v1;
|
||||
|
||||
temp_v0 = *(&D_80163E2A + ((arg0 & 0xFFFF) * 0x54));
|
||||
phi_v1 = 0;
|
||||
if (temp_v0 != 0) {
|
||||
phi_v1 = (temp_v0 * 0x3A0) / D_80164430;
|
||||
var_v1 = (s32) (temp_v0 * 0x3A0) / (s32) D_80164430;
|
||||
}
|
||||
if (phi_v1 < 0x104) {
|
||||
*arg1 = phi_v1;
|
||||
if (var_v1 < 0x104) {
|
||||
*arg1 = var_v1;
|
||||
*arg2 = 0;
|
||||
return;
|
||||
} else if (var_v1 < 0x1D0) {
|
||||
*arg1 = 0x00000104;
|
||||
*arg2 = var_v1 - 0x104;
|
||||
} else if (var_v1 < 0x2D4) {
|
||||
*arg1 = 0x2D4 - var_v1;
|
||||
*arg2 = 0x000000CC;
|
||||
} else {
|
||||
*arg1 = 0;
|
||||
*arg2 = 0x3A0 - var_v1;
|
||||
}
|
||||
if (phi_v1 < 0x1D0) {
|
||||
*arg1 = 0x104;
|
||||
*arg2 = phi_v1 - 0x104;
|
||||
return;
|
||||
}
|
||||
if (phi_v1 < 0x2D4) {
|
||||
*arg1 = 0x2D4 - phi_v1;
|
||||
*arg2 = 0xCC;
|
||||
return;
|
||||
}
|
||||
*arg1 = 0;
|
||||
*arg2 = 0x3A0 - phi_v1;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/hud_renderer/func_800507D8.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b
|
||||
@@ -3388,74 +3376,24 @@ block_20:
|
||||
GLOBAL_ASM("asm/non_matchings/hud_renderer/func_800508C0.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b
|
||||
? func_800507D8(s32, s32 *, s32 *); /* extern */
|
||||
extern ? D_80163DE8;
|
||||
|
||||
void func_80050C68(void) {
|
||||
s32 stackPadding0;
|
||||
s32 sp88;
|
||||
s32 sp84;
|
||||
? *var_s2;
|
||||
Gfx *temp_v0_2;
|
||||
Gfx *temp_v0_3;
|
||||
Gfx *temp_v0_4;
|
||||
Gfx *temp_v0_5;
|
||||
Gfx *temp_v0_6;
|
||||
Gfx *temp_v0_7;
|
||||
Gfx *temp_v0_8;
|
||||
Gfx *temp_v0_9;
|
||||
s32 stackPadding1;
|
||||
s32 var_s1;
|
||||
u16 temp_v0;
|
||||
|
||||
var_s2 = &D_80163DE8;
|
||||
var_s1 = 0;
|
||||
do {
|
||||
temp_v0 = var_s2->unk44;
|
||||
if ((temp_v0 != 4) && (temp_v0 != 0)) {
|
||||
func_800507D8(var_s1 & 0xFFFF, &sp88, &sp84);
|
||||
temp_v0_2 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_2 + 8;
|
||||
temp_v0_2->words.w1 = (u32) D_0D007DB8;
|
||||
temp_v0_2->words.w0 = 0x06000000;
|
||||
temp_v0_3 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_3 + 8;
|
||||
temp_v0_3->words.w1 = (u32) gTLUTPortraitBombKartAndQuestionMark;
|
||||
temp_v0_3->words.w0 = 0xFD100000;
|
||||
temp_v0_4 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_4 + 8;
|
||||
temp_v0_4->words.w1 = 0;
|
||||
temp_v0_4->words.w0 = 0xE8000000;
|
||||
temp_v0_5 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_5 + 8;
|
||||
temp_v0_5->words.w1 = 0x07000000;
|
||||
temp_v0_5->words.w0 = 0xF5000100;
|
||||
temp_v0_6 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_6 + 8;
|
||||
temp_v0_6->words.w1 = 0;
|
||||
temp_v0_6->words.w0 = 0xE6000000;
|
||||
temp_v0_7 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_7 + 8;
|
||||
temp_v0_7->words.w1 = 0x073FC000;
|
||||
temp_v0_7->words.w0 = 0xF0000000;
|
||||
temp_v0_8 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_8 + 8;
|
||||
temp_v0_8->words.w1 = 0;
|
||||
temp_v0_8->words.w0 = 0xE7000000;
|
||||
for (var_s1 = 0; var_s1 < NUM_BOMB_KARTS_VERSUS; var_s1++) {
|
||||
if ((D_80163DE8[var_s1].state != BOMB_STATE_EXPLODED) && (D_80163DE8[var_s1].state != BOMB_STATE_INACTIVE)) {
|
||||
func_800507D8(var_s1, &sp88, &sp84);
|
||||
gSPDisplayList(gDisplayListHead++, D_0D007DB8);
|
||||
gDPLoadTLUT_pal256(gDisplayListHead++, gTLUTPortraitBombKartAndQuestionMark);
|
||||
func_800452A4(gTexturePortraitBombKart, 0x00000020, 0x00000020);
|
||||
func_80042330(sp88 + 0x20, sp84 + 0x12, 0U, 0.6f);
|
||||
temp_v0_9 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_9 + 8;
|
||||
temp_v0_9->words.w1 = (u32) D_0D0069E0;
|
||||
temp_v0_9->words.w0 = 0x06000000;
|
||||
gSPDisplayList(gDisplayListHead++, D_0D0069E0);
|
||||
}
|
||||
var_s1 += 1;
|
||||
var_s2 += 0x54;
|
||||
} while (var_s1 != 7);
|
||||
}
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/hud_renderer/func_80050C68.s")
|
||||
#endif
|
||||
|
||||
#ifdef NON_MATCHING
|
||||
|
||||
@@ -5597,88 +5535,58 @@ void func_80056A94(s32 arg0) {
|
||||
func_80072428(D_80183DD8[arg0]);
|
||||
}
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b
|
||||
? func_800563DC(s32, s32, s16); /* extern */
|
||||
? func_8005669C(s32, s32, s16); /* extern */
|
||||
|
||||
void func_80056AC0(s32 arg0) {
|
||||
void func_80056AC0(s32 cameraId) {
|
||||
Player *temp_v0;
|
||||
s16 temp_s1;
|
||||
s32 *var_s3;
|
||||
s32 temp_s1;
|
||||
s32 temp_s0;
|
||||
s32 var_s2;
|
||||
struct_80165C18_entry *temp_v1;
|
||||
|
||||
var_s3 = D_80183DD8;
|
||||
var_s2 = 0;
|
||||
do {
|
||||
temp_s0 = *var_s3;
|
||||
for (var_s2 = 0; var_s2 < NUM_BOMB_KARTS_BATTLE; var_s2++) {
|
||||
temp_s0 = D_80183DD8[var_s2];
|
||||
temp_v1 = &D_80165C18[temp_s0];
|
||||
if (temp_v1->unk_0A6 != 0) {
|
||||
temp_s1 = temp_v1->unk_0A0;
|
||||
temp_v0 = &gPlayerOne[var_s2];
|
||||
temp_v1->pos[0] = temp_v0->pos[0];
|
||||
temp_v1->pos[1] = (f32) ((f64) temp_v0->pos[1] - 2.0);
|
||||
temp_v1->pos[1] = temp_v0->pos[1] - 2.0;
|
||||
temp_v1->pos[2] = temp_v0->pos[2];
|
||||
temp_v1->unk_044 = temp_v0->unk_074;
|
||||
func_800563DC(temp_s0, arg0, temp_s1);
|
||||
func_8005669C(temp_s0, arg0, temp_s1);
|
||||
func_800568A0(temp_s0, arg0);
|
||||
func_800563DC(temp_s0, cameraId, temp_s1);
|
||||
func_8005669C(temp_s0, cameraId, temp_s1);
|
||||
func_800568A0(temp_s0, cameraId);
|
||||
}
|
||||
var_s2 += 1;
|
||||
var_s3 += 4;
|
||||
} while (var_s2 != 4);
|
||||
}
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/hud_renderer/func_80056AC0.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b
|
||||
//generated by m2c commit eefca95b040d7ee0c617bc58f9ac6cd1cf7bce87 on Aug-17-2023
|
||||
? func_800562E4(s32, s32, ?); /* extern */
|
||||
extern ? D_80163DE8;
|
||||
extern u32 D_801655CC;
|
||||
extern f32 D_80183E40;
|
||||
extern f32 D_80183E44;
|
||||
extern u16 D_80183E80;
|
||||
extern s16 D_80183E84;
|
||||
extern s32 D_8018D400;
|
||||
static ? D_800E471C; /* unable to generate initializer */
|
||||
|
||||
void func_80056BF0(s32 arg0) {
|
||||
f32 sp40;
|
||||
void func_80056BF0(s32 bombIndex) {
|
||||
struct_D_80163DE8_entry sp40;
|
||||
Gfx *temp_v1;
|
||||
f32 *var_t6;
|
||||
s32 *var_t9;
|
||||
s32 temp_at;
|
||||
s32 temp_s0;
|
||||
s32 temp_v0;
|
||||
s32 temp_v0_2;
|
||||
void *temp_t3;
|
||||
|
||||
var_t9 = (arg0 * 0x54) + &D_80163DE8;
|
||||
temp_t3 = var_t9 + 0x54;
|
||||
var_t6 = &sp40;
|
||||
do {
|
||||
temp_at = *var_t9;
|
||||
var_t9 += 0xC;
|
||||
var_t6 += 0xC;
|
||||
var_t6->unk-C = temp_at;
|
||||
var_t6->unk-8 = (s32) var_t9->unk-8;
|
||||
var_t6->unk-4 = (s32) var_t9->unk-4;
|
||||
} while (var_t9 != temp_t3);
|
||||
D_80183E40.unk0 = sp40;
|
||||
D_80183E40.unk4 = (f32) ((f64) sp44 + 1.0);
|
||||
D_80183E40.unk8 = sp48;
|
||||
func_800480B4(&D_80183E40, &D_80183E80, 0.25f, (s32) D_0D02A858, (s32) ((*(&D_800E471C + ((u32) D_801655CC % 6U)) << 0xA) + D_0D029858), D_0D005AE0, 0x00000020, 0x00000020, 0x00000020, 0x00000020);
|
||||
M2C_MEMCPY_ALIGNED(&sp40, &D_80163DE8[bombIndex], 0x54);
|
||||
D_80183E40->unk0 = (bitwise f32) sp40;
|
||||
D_80183E40->unk4 = (f32) ((f64) sp40.bombPos[1] + 1.0);
|
||||
D_80183E40->unk8 = sp40.bombPos[2];
|
||||
func_800480B4(D_80183E40, D_80183E80, 0.25f, (u8 *) D_0D02A858, (*(&D_800E471C + ((u32) D_801655CC % 6U)) << 0xA) + D_0D029858, D_0D005AE0, 0x00000020, 0x00000020, 0x00000020, 0x00000020);
|
||||
temp_v1 = gDisplayListHead;
|
||||
temp_s0 = D_8018D400;
|
||||
gDisplayListHead = temp_v1 + 8;
|
||||
temp_v1->words.w0 = 0x06000000;
|
||||
temp_v1->words.w1 = (u32) D_0D007B00;
|
||||
func_8004B414(0, 0, 0, 0x000000FF);
|
||||
D_80183E44 = (f32) ((f64) sp44 + 5.0);
|
||||
D_80183E44 = (f32) ((f64) sp40.bombPos[1] + 5.0);
|
||||
D_80183E84 = 0;
|
||||
func_800562E4(temp_s0 % 3, temp_s0 % 4, 0xFF);
|
||||
temp_v0 = temp_s0 + 1;
|
||||
@@ -5692,180 +5600,88 @@ void func_80056BF0(s32 arg0) {
|
||||
GLOBAL_ASM("asm/non_matchings/hud_renderer/func_80056BF0.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b
|
||||
extern ? D_80163DE8;
|
||||
extern s16 D_80183E80;
|
||||
void func_80056E24(s32 bombIndex, Vec3f arg1) {
|
||||
s32 stackPadding[2];
|
||||
struct_D_80163DE8_entry sp2C = D_80163DE8[bombIndex];
|
||||
|
||||
void func_80056E24(s32 arg0, f32 *arg1) {
|
||||
f32 sp5C;
|
||||
f32 sp50;
|
||||
f32 sp44;
|
||||
f32 sp38;
|
||||
? sp2C;
|
||||
? *var_t6;
|
||||
Gfx *temp_v1;
|
||||
Gfx *temp_v1_2;
|
||||
s32 *var_t9;
|
||||
s32 temp_at;
|
||||
void *temp_t3;
|
||||
|
||||
var_t9 = (arg0 * 0x54) + &D_80163DE8;
|
||||
temp_t3 = var_t9 + 0x54;
|
||||
var_t6 = &sp2C;
|
||||
do {
|
||||
temp_at = *var_t9;
|
||||
var_t9 += 0xC;
|
||||
var_t6 += 0xC;
|
||||
var_t6->unk-C = temp_at;
|
||||
var_t6->unk-8 = (s32) var_t9->unk-8;
|
||||
var_t6->unk-4 = (s32) var_t9->unk-4;
|
||||
} while (var_t9 != temp_t3);
|
||||
temp_v1 = gDisplayListHead;
|
||||
D_80183E80.unk0 = 0;
|
||||
D_80183E80.unk4 = 0x8000;
|
||||
gDisplayListHead = temp_v1 + 8;
|
||||
temp_v1->words.w0 = 0x06000000;
|
||||
temp_v1->words.w1 = (u32) D_0D0079C8;
|
||||
D_80183E80[0] = 0;
|
||||
D_80183E80[2] = 0x8000;
|
||||
gSPDisplayList(gDisplayListHead++, D_0D0079C8);
|
||||
func_80043D50(D_0D02AA58, 0x00000010, 0x00000010);
|
||||
D_80183E80.unk2 = func_800418AC(sp38, sp40, arg1);
|
||||
func_800431B0(&sp38, &D_80183E80, 0.15f, D_0D005770);
|
||||
D_80183E80.unk2 = func_800418AC(sp44, sp4C, arg1);
|
||||
func_800431B0(&sp44, &D_80183E80, 0.15f, D_0D005770);
|
||||
D_80183E80.unk2 = func_800418AC(sp50, sp58, arg1);
|
||||
func_800431B0(&sp50, &D_80183E80, 0.15f, D_0D005770);
|
||||
D_80183E80.unk2 = func_800418AC(sp5C, sp64, arg1);
|
||||
func_800431B0(&sp5C, &D_80183E80, 0.15f, D_0D005770);
|
||||
temp_v1_2 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v1_2 + 8;
|
||||
temp_v1_2->words.w0 = 0xBB000000;
|
||||
temp_v1_2->words.w1 = 0x00010001;
|
||||
D_80183E80[1] = func_800418AC(sp2C.wheel1Pos[0], sp2C.wheel1Pos[2], arg1);
|
||||
func_800431B0(sp2C.wheel1Pos, D_80183E80, 0.15f, D_0D005770);
|
||||
D_80183E80[1] = func_800418AC(sp2C.wheel2Pos[0], sp2C.wheel2Pos[2], arg1);
|
||||
func_800431B0(sp2C.wheel2Pos, D_80183E80, 0.15f, D_0D005770);
|
||||
D_80183E80[1] = func_800418AC(sp2C.wheel3Pos[0], sp2C.wheel3Pos[2], arg1);
|
||||
func_800431B0(sp2C.wheel3Pos, D_80183E80, 0.15f, D_0D005770);
|
||||
D_80183E80[1] = func_800418AC(sp2C.wheel4Pos[0], sp2C.wheel4Pos[2], arg1);
|
||||
func_800431B0(sp2C.wheel4Pos, D_80183E80, 0.15f, D_0D005770);
|
||||
gSPTexture(gDisplayListHead++, 1, 1, 0, G_TX_RENDERTILE, G_OFF);
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/hud_renderer/func_80056E24.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b
|
||||
extern Gfx D_0D007B98[];
|
||||
extern Vec3f D_80183E50;
|
||||
void func_80056FCC(s32 bombIndex) {
|
||||
Mat4 sp30;
|
||||
struct_D_80163DE8_entry *temp_v0;
|
||||
|
||||
struct UnkStruct_80163DE8 {
|
||||
f32 unk0[61];
|
||||
//f32 unk4[60];
|
||||
};
|
||||
extern struct_80165C18_entry D_80163DE8[];
|
||||
|
||||
struct struct_80056FCC {
|
||||
Vec3f u0;
|
||||
Vec3f uC;
|
||||
Vec3f u18;
|
||||
Vec3f u24;
|
||||
Vec3f u30;
|
||||
s8 pad[140];
|
||||
};
|
||||
extern struct struct_80056FCC D_80164038[];
|
||||
|
||||
void func_80056FCC(s32 arg0) {
|
||||
Mat4 mtx;
|
||||
struct struct_80056FCC *tmp = &D_80164038[arg0];
|
||||
struct_80165C18_entry *tmp2 = &D_80163DE8[arg0];
|
||||
|
||||
//temp_v0 = D_80163DE8[arg0];
|
||||
D_80183E50[0] = tmp2->sizeScaling ;// pos[0];
|
||||
D_80183E50[1] = tmp2->unk_050 + 1.0;
|
||||
D_80183E50[2] = tmp2->sizeScaling;
|
||||
func_80042A20(mtx, tmp->u30, D_80183E50, 0U, 0.5f);
|
||||
func_80022180(&gGfxPool->mtxPool[D_8018D120 + 0xB], mtx);
|
||||
temp_v0 = &D_80163DE8[bombIndex];
|
||||
D_80183E50[0] = temp_v0->bombPos[0];
|
||||
D_80183E50[1] = temp_v0->yPos + 1.0;
|
||||
D_80183E50[2] = temp_v0->bombPos[2];
|
||||
func_80042A20(sp30, D_80164038[bombIndex].unk60, D_80183E50, 0U, 0.5f);
|
||||
func_80022180(&gGfxPool->mtxPool[D_8018D120 + 0xB], sp30);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[D_8018D120 + 0xB]), G_MTX_LOAD | G_MTX_NOPUSH| G_MTX_MODELVIEW);
|
||||
D_8018D120++;
|
||||
gSPDisplayList(gDisplayListHead++, D_0D007B98);
|
||||
|
||||
// gDisplayListHead = temp_v0_2 + 8;
|
||||
// temp_v0_2->words.w0 = 0x01020040;
|
||||
// temp_v0_2->words.w1 = (s32) (&gGfxPool->mtxPool[D_8018D120] + 0x2C0) & 0x1FFFFFFF;
|
||||
// temp_v0_3 = gDisplayListHead;
|
||||
// D_8018D120 += 1;
|
||||
// gDisplayListHead = temp_v0_3 + 8;
|
||||
// temp_v0_3->words.w0 = 0x06000000;
|
||||
// temp_v0_3->words.w1 = (u32) &D_0D007B98;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/hud_renderer/func_80056FCC.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b
|
||||
? func_800563DC(s32, s32, ?); /* extern */
|
||||
? func_80056E24(s32, Camera *); /* extern */
|
||||
? func_80056FCC(s32); /* extern */
|
||||
extern ? D_80163DE8;
|
||||
extern ? D_80183E80;
|
||||
extern s32 gGamestate;
|
||||
|
||||
void func_80057114(s32 cameraId) {
|
||||
? *var_s1_2;
|
||||
Camera *temp_s7;
|
||||
s32 *var_s1;
|
||||
s32 temp_s0;
|
||||
s32 temp_s0_2;
|
||||
s32 var_fp;
|
||||
s32 temp_s4;
|
||||
s32 var_s2;
|
||||
s32 var_s2_2;
|
||||
struct_80165C18_entry *temp_v0;
|
||||
u16 temp_s5;
|
||||
u32 temp_s4;
|
||||
s32 state;
|
||||
struct_D_80163DE8_entry *var_s1_2;
|
||||
|
||||
var_fp = cameraId;
|
||||
if (gGamestate == 5) {
|
||||
var_fp = 0;
|
||||
cameraId = 0;
|
||||
}
|
||||
temp_s7 = &camera1[var_fp];
|
||||
if (var_fp == 0) {
|
||||
var_s1 = D_80183DD8;
|
||||
var_s2 = 0;
|
||||
do {
|
||||
temp_s0 = *var_s1;
|
||||
temp_s7 = &camera1[cameraId];
|
||||
if (cameraId == 0) {
|
||||
for (var_s2 = 0; var_s2 < NUM_BOMB_KARTS_VERSUS; var_s2++) {
|
||||
temp_s0 = D_80183DD8[var_s2];
|
||||
if (func_8007223C(temp_s0, 0x00200000) != 0) {
|
||||
(&D_80163DE8 + (var_s2 * 0x54))->unk4A = 0;
|
||||
D_80163DE8[var_s2].unk_4A = 0;
|
||||
} else if (gGamestate != 5) {
|
||||
(&D_80163DE8 + (var_s2 * 0x54))->unk4A = 1;
|
||||
D_80163DE8[var_s2].unk_4A = 1;
|
||||
}
|
||||
func_800721E8(temp_s0, 0x00200000);
|
||||
var_s2 += 1;
|
||||
var_s1 += 4;
|
||||
} while (var_s2 != 7);
|
||||
}
|
||||
}
|
||||
var_s1_2 = &D_80163DE8;
|
||||
var_s2_2 = 0;
|
||||
do {
|
||||
temp_s5 = var_s1_2->unk44;
|
||||
if (temp_s5 != 0) {
|
||||
temp_s0_2 = D_80183DD8[var_s2_2];
|
||||
temp_v0 = &D_80165C18[temp_s0_2];
|
||||
temp_v0->pos[0] = var_s1_2->unk0;
|
||||
temp_v0->pos[1] = var_s1_2->unk4;
|
||||
temp_v0->pos[2] = var_s1_2->unk8;
|
||||
temp_s4 = func_8008A364(temp_s0_2, var_fp, 0x31C4U, 0x000001F4);
|
||||
if (func_8007223C(temp_s0_2, 0x00040000) != 0) {
|
||||
func_800721C0(temp_s0_2, 0x00200000);
|
||||
D_80183E80.unk0 = 0;
|
||||
D_80183E80.unk2 = func_800418AC(var_s1_2->unk0, var_s1_2->unk8, temp_s7->pos);
|
||||
D_80183E80.unk4 = 0x8000;
|
||||
func_800563DC(temp_s0_2, var_fp, 0xFF);
|
||||
func_80056E24(var_s2_2, temp_s7);
|
||||
if ((temp_s4 < 0x4E21U) && (temp_s5 != 4)) {
|
||||
func_80056FCC(var_s2_2);
|
||||
|
||||
for (var_s2 = 0; var_s2 < NUM_BOMB_KARTS_VERSUS; var_s2++) {
|
||||
var_s1_2 = &D_80163DE8[var_s2];
|
||||
// huh???
|
||||
state = var_s1_2->state;
|
||||
if (var_s1_2->state != BOMB_STATE_INACTIVE) {
|
||||
temp_s0 = D_80183DD8[var_s2];
|
||||
D_80165C18[temp_s0].pos[0] = var_s1_2->bombPos[0];
|
||||
D_80165C18[temp_s0].pos[1] = var_s1_2->bombPos[1];
|
||||
D_80165C18[temp_s0].pos[2] = var_s1_2->bombPos[2];
|
||||
temp_s4 = func_8008A364(temp_s0, cameraId, 0x31C4U, 0x000001F4);
|
||||
if (func_8007223C(temp_s0, 0x00040000) != 0) {
|
||||
func_800721C0(temp_s0, 0x00200000);
|
||||
D_80183E80[0] = 0;
|
||||
D_80183E80[1] = func_800418AC(var_s1_2->bombPos[0], var_s1_2->bombPos[2], temp_s7->pos);
|
||||
D_80183E80[2] = 0x8000;
|
||||
func_800563DC(temp_s0, cameraId, 0x000000FF);
|
||||
func_80056E24(var_s2, temp_s7->pos);
|
||||
if (((u32) temp_s4 < 0x4E21U) && (state != BOMB_STATE_EXPLODED)) {
|
||||
func_80056FCC(var_s2);
|
||||
}
|
||||
}
|
||||
}
|
||||
var_s2_2 += 1;
|
||||
var_s1_2 += 0x54;
|
||||
} while (var_s2_2 != 7);
|
||||
}
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/hud_renderer/func_80057114.s")
|
||||
#endif
|
||||
|
||||
UNUSED void func_80057330(void) {
|
||||
|
||||
|
||||
+12
-1
@@ -301,6 +301,8 @@ void func_8004FDB4(f32, f32, s16, s16, s16, s32, s32, s32, s32);
|
||||
|
||||
void func_80050320();
|
||||
s32 func_80050644(u16, s32*, s32*);
|
||||
void func_800507D8(u16, s32*, s32*);
|
||||
void func_80050C68();
|
||||
void func_80050E34(s32, s32);
|
||||
|
||||
void func_800514BC();
|
||||
@@ -372,14 +374,17 @@ void func_80055FA0(s32, s32);
|
||||
|
||||
void func_80056160(s32);
|
||||
void func_80056188(s32);
|
||||
void func_800563DC(s32, s32, s32);
|
||||
void func_800568A0(s32, s32);
|
||||
void func_8005669C(s32, s32, s32);
|
||||
void func_800569F4(s32);
|
||||
void func_80056A40(s32, s32);
|
||||
void func_80056A94(s32);
|
||||
void func_80056AC0(s32);
|
||||
void func_80056E24(s32, Vec3f);
|
||||
void func_80056FCC(s32);
|
||||
|
||||
//void debug_print_number(s32*, s32*, u8*,u32);
|
||||
void func_80057114(s32);
|
||||
void func_8005762C(s32*,s32*,s32,u32);
|
||||
void func_80057330();
|
||||
void func_80057338();
|
||||
@@ -390,6 +395,8 @@ void func_800573D4();
|
||||
void func_800573DC();
|
||||
void func_800573E4(s32, s32, s8);
|
||||
void debug_wrap_text(s32*, s32*);
|
||||
void debug_print_string(s32*, s32*, char*);
|
||||
void debug_print_number(s32*, s32*, s32, u32);
|
||||
void func_80057708();
|
||||
void load_debug_font();
|
||||
void func_80057778();
|
||||
@@ -403,6 +410,10 @@ void func_80057960(s32, s32, char*, u32);
|
||||
void func_800579B8(s32, s32, char*);
|
||||
void func_800579F8(s32, s32, char*, u32);
|
||||
void func_80057A50(s32, s32, char*, u32);
|
||||
void func_80057AA8(s32, s32, char*, u32);
|
||||
void func_80057B14(s32, s32, char*, u32);
|
||||
void func_80057B80(s32, s32, char*, u32);
|
||||
void func_80057BEC(s32, s32, char*, u32);
|
||||
|
||||
extern s32 D_80165860;
|
||||
extern s32 D_8016586C;
|
||||
|
||||
Reference in New Issue
Block a user