code_8008C1D0 - player struct functions (#135)

* Match functions in code_8008C1D0
This commit is contained in:
ChiefFruitcake 2022-01-11 07:47:57 -05:00 committed by GitHub
parent dd05d49f5f
commit 162b4c256d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
16 changed files with 222 additions and 1010 deletions

View File

@ -1,104 +0,0 @@
glabel func_8008C73C
/* 08D33C 8008C73C 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 08D340 8008C740 AFB00018 */ sw $s0, 0x18($sp)
/* 08D344 8008C744 00058600 */ sll $s0, $a1, 0x18
/* 08D348 8008C748 00107603 */ sra $t6, $s0, 0x18
/* 08D34C 8008C74C AFA50024 */ sw $a1, 0x24($sp)
/* 08D350 8008C750 000E2E00 */ sll $a1, $t6, 0x18
/* 08D354 8008C754 AFBF001C */ sw $ra, 0x1c($sp)
/* 08D358 8008C758 00057E03 */ sra $t7, $a1, 0x18
/* 08D35C 8008C75C 01C08025 */ move $s0, $t6
/* 08D360 8008C760 01E02825 */ move $a1, $t7
/* 08D364 8008C764 0C0230D5 */ jal func_8008C354
/* 08D368 8008C768 AFA40020 */ sw $a0, 0x20($sp)
/* 08D36C 8008C76C 8FA60020 */ lw $a2, 0x20($sp)
/* 08D370 8008C770 24010080 */ li $at, 128
/* 08D374 8008C774 8CC200BC */ lw $v0, 0xbc($a2)
/* 08D378 8008C778 30580080 */ andi $t8, $v0, 0x80
/* 08D37C 8008C77C 1301004C */ beq $t8, $at, .L8008C8B0
/* 08D380 8008C780 30590040 */ andi $t9, $v0, 0x40
/* 08D384 8008C784 24010040 */ li $at, 64
/* 08D388 8008C788 13210049 */ beq $t9, $at, .L8008C8B0
/* 08D38C 8008C78C 24050001 */ li $a1, 1
/* 08D390 8008C790 84C900C0 */ lh $t1, 0xc0($a2)
/* 08D394 8008C794 2401FFEF */ li $at, -17
/* 08D398 8008C798 00414024 */ and $t0, $v0, $at
/* 08D39C 8008C79C 240100B6 */ li $at, 182
/* 08D3A0 8008C7A0 0121001A */ div $zero, $t1, $at
/* 08D3A4 8008C7A4 00005012 */ mflo $t2
/* 08D3A8 8008C7A8 ACC800BC */ sw $t0, 0xbc($a2)
/* 08D3AC 8008C7AC 05400004 */ bltz $t2, .L8008C7C0
/* 08D3B0 8008C7B0 00102040 */ sll $a0, $s0, 1
/* 08D3B4 8008C7B4 350C0040 */ ori $t4, $t0, 0x40
/* 08D3B8 8008C7B8 10000004 */ b .L8008C7CC
/* 08D3BC 8008C7BC ACCC00BC */ sw $t4, 0xbc($a2)
.L8008C7C0:
/* 08D3C0 8008C7C0 8CCD00BC */ lw $t5, 0xbc($a2)
/* 08D3C4 8008C7C4 35AE0080 */ ori $t6, $t5, 0x80
/* 08D3C8 8008C7C8 ACCE00BC */ sw $t6, 0xbc($a2)
.L8008C7CC:
/* 08D3CC 8008C7CC 94CF00B6 */ lhu $t7, 0xb6($a2)
/* 08D3D0 8008C7D0 84D9002E */ lh $t9, 0x2e($a2)
/* 08D3D4 8008C7D4 3C098016 */ lui $t1, %hi(D_80165190) # $t1, 0x8016
/* 08D3D8 8008C7D8 24080002 */ li $t0, 2
/* 08D3DC 8008C7DC 25295190 */ addiu $t1, %lo(D_80165190) # addiu $t1, $t1, 0x5190
/* 08D3E0 8008C7E0 35F80080 */ ori $t8, $t7, 0x80
/* 08D3E4 8008C7E4 A4D800B6 */ sh $t8, 0xb6($a2)
/* 08D3E8 8008C7E8 A4C800B2 */ sh $t0, 0xb2($a2)
/* 08D3EC 8008C7EC A4C000C0 */ sh $zero, 0xc0($a2)
/* 08D3F0 8008C7F0 ACC0007C */ sw $zero, 0x7c($a2)
/* 08D3F4 8008C7F4 A4C00078 */ sh $zero, 0x78($a2)
/* 08D3F8 8008C7F8 00891821 */ addu $v1, $a0, $t1
/* 08D3FC 8008C7FC A4D900AE */ sh $t9, 0xae($a2)
/* 08D400 8008C800 A4650000 */ sh $a1, ($v1)
/* 08D404 8008C804 A4650010 */ sh $a1, 0x10($v1)
/* 08D408 8008C808 A4650020 */ sh $a1, 0x20($v1)
/* 08D40C 8008C80C A4650030 */ sh $a1, 0x30($v1)
/* 08D410 8008C810 C4C4009C */ lwc1 $f4, 0x9c($a2)
/* 08D414 8008C814 00101080 */ sll $v0, $s0, 2
/* 08D418 8008C818 3C018016 */ lui $at, %hi(D_80165280)
/* 08D41C 8008C81C 00220821 */ addu $at, $at, $v0
/* 08D420 8008C820 E4245280 */ swc1 $f4, %lo(D_80165280)($at)
/* 08D424 8008C824 3C018016 */ lui $at, %hi(D_80165480) # 0x8016
/* 08D428 8008C828 00220821 */ addu $at, $at, $v0
/* 08D42C 8008C82C AC205480 */ sw $zero, %lo(D_80165480)($at) # 0x5480($at)
/* 08D430 8008C830 3C018016 */ lui $at, %hi(D_80165460) # 0x8016
/* 08D434 8008C834 00220821 */ addu $at, $at, $v0
/* 08D438 8008C838 AC205460 */ sw $zero, %lo(D_80165460)($at) # 0x5460($at)
/* 08D43C 8008C83C 3C018016 */ lui $at, %hi(D_80165440) # 0x8016
/* 08D440 8008C840 00220821 */ addu $at, $at, $v0
/* 08D444 8008C844 AC205440 */ sw $zero, %lo(D_80165440)($at) # 0x5440($at)
/* 08D448 8008C848 3C018016 */ lui $at, %hi(D_80165420) # 0x8016
/* 08D44C 8008C84C 00220821 */ addu $at, $at, $v0
/* 08D450 8008C850 AC205420 */ sw $zero, %lo(D_80165420)($at) # 0x5420($at)
/* 08D454 8008C854 3C018019 */ lui $at, %hi(D_8018D920) # 0x8019
/* 08D458 8008C858 00240821 */ addu $at, $at, $a0
/* 08D45C 8008C85C A420D920 */ sh $zero, %lo(D_8018D920)($at) # -0x26e0($at)
/* 08D460 8008C860 94C70000 */ lhu $a3, ($a2)
/* 08D464 8008C864 24014000 */ li $at, 16384
/* 08D468 8008C868 02002025 */ move $a0, $s0
/* 08D46C 8008C86C 30EA4000 */ andi $t2, $a3, 0x4000
/* 08D470 8008C870 1541000D */ bne $t2, $at, .L8008C8A8
/* 08D474 8008C874 30EB0100 */ andi $t3, $a3, 0x100
/* 08D478 8008C878 24010100 */ li $at, 256
/* 08D47C 8008C87C 1161000A */ beq $t3, $at, .L8008C8A8
/* 08D480 8008C880 00000000 */ nop
/* 08D484 8008C884 94C50254 */ lhu $a1, 0x254($a2)
/* 08D488 8008C888 3C012900 */ lui $at, (0x29008003 >> 16) # lui $at, 0x2900
/* 08D48C 8008C88C 34218003 */ ori $at, (0x29008003 & 0xFFFF) # ori $at, $at, 0x8003
/* 08D490 8008C890 00056100 */ sll $t4, $a1, 4
/* 08D494 8008C894 01812821 */ addu $a1, $t4, $at
/* 08D498 8008C898 0C03243D */ jal func_800C90F4
/* 08D49C 8008C89C 320400FF */ andi $a0, $s0, 0xff
/* 08D4A0 8008C8A0 10000004 */ b .L8008C8B4
/* 08D4A4 8008C8A4 8FBF001C */ lw $ra, 0x1c($sp)
.L8008C8A8:
/* 08D4A8 8008C8A8 0C00263F */ jal func_800098FC
/* 08D4AC 8008C8AC 00C02825 */ move $a1, $a2
.L8008C8B0:
/* 08D4B0 8008C8B0 8FBF001C */ lw $ra, 0x1c($sp)
.L8008C8B4:
/* 08D4B4 8008C8B4 8FB00018 */ lw $s0, 0x18($sp)
/* 08D4B8 8008C8B8 27BD0020 */ addiu $sp, $sp, 0x20
/* 08D4BC 8008C8BC 03E00008 */ jr $ra
/* 08D4C0 8008C8C0 00000000 */ nop

View File

@ -1,77 +0,0 @@
glabel func_8008C8C4
/* 08D4C4 8008C8C4 AFA50004 */ sw $a1, 4($sp)
/* 08D4C8 8008C8C8 8C9800BC */ lw $t8, 0xbc($a0)
/* 08D4CC 8008C8CC 2401FF7F */ li $at, -129
/* 08D4D0 8008C8D0 00057600 */ sll $t6, $a1, 0x18
/* 08D4D4 8008C8D4 0301C824 */ and $t9, $t8, $at
/* 08D4D8 8008C8D8 2401FFBF */ li $at, -65
/* 08D4DC 8008C8DC 03214824 */ and $t1, $t9, $at
/* 08D4E0 8008C8E0 848A00AE */ lh $t2, 0xae($a0)
/* 08D4E4 8008C8E4 000E2E03 */ sra $a1, $t6, 0x18
/* 08D4E8 8008C8E8 AC9900BC */ sw $t9, 0xbc($a0)
/* 08D4EC 8008C8EC 2401F7FF */ li $at, -2049
/* 08D4F0 8008C8F0 3C0E8016 */ lui $t6, %hi(D_80165190) # $t6, 0x8016
/* 08D4F4 8008C8F4 AC8900BC */ sw $t1, 0xbc($a0)
/* 08D4F8 8008C8F8 01216024 */ and $t4, $t1, $at
/* 08D4FC 8008C8FC 25CE5190 */ addiu $t6, %lo(D_80165190) # addiu $t6, $t6, 0x5190
/* 08D500 8008C900 00056840 */ sll $t5, $a1, 1
/* 08D504 8008C904 24060001 */ li $a2, 1
/* 08D508 8008C908 A48000A8 */ sh $zero, 0xa8($a0)
/* 08D50C 8008C90C AC80007C */ sw $zero, 0x7c($a0)
/* 08D510 8008C910 A48000C0 */ sh $zero, 0xc0($a0)
/* 08D514 8008C914 AC8C00BC */ sw $t4, 0xbc($a0)
/* 08D518 8008C918 01AE1021 */ addu $v0, $t5, $t6
/* 08D51C 8008C91C A48A002E */ sh $t2, 0x2e($a0)
/* 08D520 8008C920 A4460000 */ sh $a2, ($v0)
/* 08D524 8008C924 A4460010 */ sh $a2, 0x10($v0)
/* 08D528 8008C928 A4460020 */ sh $a2, 0x20($v0)
/* 08D52C 8008C92C A4460030 */ sh $a2, 0x30($v0)
/* 08D530 8008C930 948F0046 */ lhu $t7, 0x46($a0)
/* 08D534 8008C934 3C198016 */ lui $t9, %hi(D_80165460) # 0x8016
/* 08D538 8008C938 00051880 */ sll $v1, $a1, 2
/* 08D53C 8008C93C 31F8FFBF */ andi $t8, $t7, 0xffbf
/* 08D540 8008C940 A4980046 */ sh $t8, 0x46($a0)
/* 08D544 8008C944 0323C821 */ addu $t9, $t9, $v1
/* 08D548 8008C948 8F395460 */ lw $t9, %lo(D_80165460)($t9) # 0x5460($t9)
/* 08D54C 8008C94C 3C0A800E */ lui $t2, %hi(gModeSelection) # $t2, 0x800e
/* 08D550 8008C950 14D9000A */ bne $a2, $t9, .L8008C97C
/* 08D554 8008C954 00000000 */ nop
/* 08D558 8008C958 94880000 */ lhu $t0, ($a0)
/* 08D55C 8008C95C 24014000 */ li $at, 16384
/* 08D560 8008C960 31094000 */ andi $t1, $t0, 0x4000
/* 08D564 8008C964 15210005 */ bne $t1, $at, .L8008C97C
/* 08D568 8008C968 3C0142C8 */ li $at, 0x42C80000 # 100.000000
/* 08D56C 8008C96C 44813000 */ mtc1 $at, $f6
/* 08D570 8008C970 C484009C */ lwc1 $f4, 0x9c($a0)
/* 08D574 8008C974 46062200 */ add.s $f8, $f4, $f6
/* 08D578 8008C978 E488009C */ swc1 $f8, 0x9c($a0)
.L8008C97C:
/* 08D57C 8008C97C 8D4AC53C */ lw $t2, %lo(gModeSelection)($t2)
/* 08D580 8008C980 24010002 */ li $at, 2
/* 08D584 8008C984 15410017 */ bne $t2, $at, .L8008C9E4
/* 08D588 8008C988 00000000 */ nop
/* 08D58C 8008C98C 948B0000 */ lhu $t3, ($a0)
/* 08D590 8008C990 24011000 */ li $at, 4096
/* 08D594 8008C994 3C0D800E */ lui $t5, %hi(D_800DC51C) # $t5, 0x800e
/* 08D598 8008C998 316C1000 */ andi $t4, $t3, 0x1000
/* 08D59C 8008C99C 15810011 */ bne $t4, $at, .L8008C9E4
/* 08D5A0 8008C9A0 00000000 */ nop
/* 08D5A4 8008C9A4 95ADC51C */ lhu $t5, %lo(D_800DC51C)($t5)
/* 08D5A8 8008C9A8 15A0000E */ bnez $t5, .L8008C9E4
/* 08D5AC 8008C9AC 00000000 */ nop
/* 08D5B0 8008C9B0 848E00CA */ lh $t6, 0xca($a0)
/* 08D5B4 8008C9B4 3C188016 */ lui $t8, %hi(gPlayerPositions)
/* 08D5B8 8008C9B8 0303C021 */ addu $t8, $t8, $v1
/* 08D5BC 8008C9BC 31CF0002 */ andi $t7, $t6, 2
/* 08D5C0 8008C9C0 15E00008 */ bnez $t7, .L8008C9E4
/* 08D5C4 8008C9C4 00000000 */ nop
/* 08D5C8 8008C9C8 8F1843B8 */ lw $t8, %lo(gPlayerPositions)($t8)
/* 08D5CC 8008C9CC 13000005 */ beqz $t8, .L8008C9E4
/* 08D5D0 8008C9D0 00000000 */ nop
/* 08D5D4 8008C9D4 8C99000C */ lw $t9, 0xc($a0)
/* 08D5D8 8008C9D8 3C010040 */ lui $at, 0x40
/* 08D5DC 8008C9DC 03214025 */ or $t0, $t9, $at
/* 08D5E0 8008C9E0 AC88000C */ sw $t0, 0xc($a0)
.L8008C9E4:
/* 08D5E4 8008C9E4 03E00008 */ jr $ra
/* 08D5E8 8008C9E8 00000000 */ nop

View File

@ -1,64 +0,0 @@
glabel func_8008CDC0
/* 08D9C0 8008CDC0 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 08D9C4 8008CDC4 AFBF0014 */ sw $ra, 0x14($sp)
/* 08D9C8 8008CDC8 AFA5001C */ sw $a1, 0x1c($sp)
/* 08D9CC 8008CDCC 83A5001F */ lb $a1, 0x1f($sp)
/* 08D9D0 8008CDD0 0C0230D5 */ jal func_8008C354
/* 08D9D4 8008CDD4 AFA40018 */ sw $a0, 0x18($sp)
/* 08D9D8 8008CDD8 8FA40018 */ lw $a0, 0x18($sp)
/* 08D9DC 8008CDDC 2401FFFE */ li $at, -2
/* 08D9E0 8008CDE0 24180001 */ li $t8, 1
/* 08D9E4 8008CDE4 8C8E000C */ lw $t6, 0xc($a0)
/* 08D9E8 8008CDE8 8C9900BC */ lw $t9, 0xbc($a0)
/* 08D9EC 8008CDEC 8C82007C */ lw $v0, 0x7c($a0)
/* 08D9F0 8008CDF0 01C17824 */ and $t7, $t6, $at
/* 08D9F4 8008CDF4 3C014040 */ li $at, 0x40400000 # 3.000000
/* 08D9F8 8008CDF8 44812000 */ mtc1 $at, $f4
/* 08D9FC 8008CDFC 2401FFEF */ li $at, -17
/* 08DA00 8008CE00 03214024 */ and $t0, $t9, $at
/* 08DA04 8008CE04 00024C03 */ sra $t1, $v0, 0x10
/* 08DA08 8008CE08 29210014 */ slti $at, $t1, 0x14
/* 08DA0C 8008CE0C AC8F000C */ sw $t7, 0xc($a0)
/* 08DA10 8008CE10 A48000B4 */ sh $zero, 0xb4($a0)
/* 08DA14 8008CE14 A49800AC */ sh $t8, 0xac($a0)
/* 08DA18 8008CE18 AC8800BC */ sw $t0, 0xbc($a0)
/* 08DA1C 8008CE1C 1020001B */ beqz $at, .L8008CE8C
/* 08DA20 8008CE20 E48400B8 */ swc1 $f4, 0xb8($a0)
/* 08DA24 8008CE24 2921FFED */ slti $at, $t1, -0x13
/* 08DA28 8008CE28 14200018 */ bnez $at, .L8008CE8C
/* 08DA2C 8008CE2C 3C0141F0 */ li $at, 0x41F00000 # 30.000000
/* 08DA30 8008CE30 44813000 */ mtc1 $at, $f6
/* 08DA34 8008CE34 3C014190 */ li $at, 0x41900000 # 18.000000
/* 08DA38 8008CE38 44815000 */ mtc1 $at, $f10
/* 08DA3C 8008CE3C C4880094 */ lwc1 $f8, 0x94($a0)
/* 08DA40 8008CE40 3C014358 */ li $at, 0x43580000 # 216.000000
/* 08DA44 8008CE44 44819000 */ mtc1 $at, $f18
/* 08DA48 8008CE48 460A4403 */ div.s $f16, $f8, $f10
/* 08DA4C 8008CE4C 310A0008 */ andi $t2, $t0, 8
/* 08DA50 8008CE50 46128102 */ mul.s $f4, $f16, $f18
/* 08DA54 8008CE54 4606203E */ c.le.s $f4, $f6
/* 08DA58 8008CE58 00000000 */ nop
/* 08DA5C 8008CE5C 4501000B */ bc1t .L8008CE8C
/* 08DA60 8008CE60 00000000 */ nop
/* 08DA64 8008CE64 15400009 */ bnez $t2, .L8008CE8C
/* 08DA68 8008CE68 01001025 */ move $v0, $t0
/* 08DA6C 8008CE6C 948B0000 */ lhu $t3, ($a0)
/* 08DA70 8008CE70 310D1000 */ andi $t5, $t0, 0x1000
/* 08DA74 8008CE74 344E0800 */ ori $t6, $v0, 0x800
/* 08DA78 8008CE78 316C4000 */ andi $t4, $t3, 0x4000
/* 08DA7C 8008CE7C 55800008 */ bnel $t4, $zero, .L8008CEA0
/* 08DA80 8008CE80 AC8E00BC */ sw $t6, 0xbc($a0)
/* 08DA84 8008CE84 55A00006 */ bnel $t5, $zero, .L8008CEA0
/* 08DA88 8008CE88 AC8E00BC */ sw $t6, 0xbc($a0)
.L8008CE8C:
/* 08DA8C 8008CE8C 0C0231CF */ jal func_8008C73C
/* 08DA90 8008CE90 83A5001F */ lb $a1, 0x1f($sp)
/* 08DA94 8008CE94 10000003 */ b .L8008CEA4
/* 08DA98 8008CE98 8FBF0014 */ lw $ra, 0x14($sp)
/* 08DA9C 8008CE9C AC8E00BC */ sw $t6, 0xbc($a0)
.L8008CEA0:
/* 08DAA0 8008CEA0 8FBF0014 */ lw $ra, 0x14($sp)
.L8008CEA4:
/* 08DAA4 8008CEA4 27BD0018 */ addiu $sp, $sp, 0x18
/* 08DAA8 8008CEA8 03E00008 */ jr $ra
/* 08DAAC 8008CEAC 00000000 */ nop

View File

@ -1,7 +0,0 @@
glabel func_8008D0E4
/* 08DCE4 8008D0E4 AFA50004 */ sw $a1, 4($sp)
/* 08DCE8 8008D0E8 8C8E00BC */ lw $t6, 0xbc($a0)
/* 08DCEC 8008D0EC 2401F7FF */ li $at, -2049
/* 08DCF0 8008D0F0 01C17824 */ and $t7, $t6, $at
/* 08DCF4 8008D0F4 03E00008 */ jr $ra
/* 08DCF8 8008D0F8 AC8F00BC */ sw $t7, 0xbc($a0)

View File

@ -1,30 +0,0 @@
glabel func_8008D0FC
/* 08DCFC 8008D0FC 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 08DD00 8008D100 AFBF0014 */ sw $ra, 0x14($sp)
/* 08DD04 8008D104 AFA5001C */ sw $a1, 0x1c($sp)
/* 08DD08 8008D108 00057600 */ sll $t6, $a1, 0x18
/* 08DD0C 8008D10C 000E2E03 */ sra $a1, $t6, 0x18
/* 08DD10 8008D110 0C0230D5 */ jal func_8008C354
/* 08DD14 8008D114 AFA40018 */ sw $a0, 0x18($sp)
/* 08DD18 8008D118 8FA40018 */ lw $a0, 0x18($sp)
/* 08DD1C 8008D11C 2401FF7F */ li $at, -129
/* 08DD20 8008D120 24080001 */ li $t0, 1
/* 08DD24 8008D124 8C98000C */ lw $t8, 0xc($a0)
/* 08DD28 8008D128 8C8900BC */ lw $t1, 0xbc($a0)
/* 08DD2C 8008D12C 848B0044 */ lh $t3, 0x44($a0)
/* 08DD30 8008D130 0301C824 */ and $t9, $t8, $at
/* 08DD34 8008D134 3C014000 */ li $at, 0x40000000 # 2.000000
/* 08DD38 8008D138 44812000 */ mtc1 $at, $f4
/* 08DD3C 8008D13C 2401FFEF */ li $at, -17
/* 08DD40 8008D140 01215024 */ and $t2, $t1, $at
/* 08DD44 8008D144 356C4000 */ ori $t4, $t3, 0x4000
/* 08DD48 8008D148 AC99000C */ sw $t9, 0xc($a0)
/* 08DD4C 8008D14C A48000B4 */ sh $zero, 0xb4($a0)
/* 08DD50 8008D150 A48800AC */ sh $t0, 0xac($a0)
/* 08DD54 8008D154 AC8A00BC */ sw $t2, 0xbc($a0)
/* 08DD58 8008D158 A48C0044 */ sh $t4, 0x44($a0)
/* 08DD5C 8008D15C E48400B8 */ swc1 $f4, 0xb8($a0)
/* 08DD60 8008D160 8FBF0014 */ lw $ra, 0x14($sp)
/* 08DD64 8008D164 27BD0018 */ addiu $sp, $sp, 0x18
/* 08DD68 8008D168 03E00008 */ jr $ra
/* 08DD6C 8008D16C 00000000 */ nop

View File

@ -1,6 +0,0 @@
glabel func_8008D3B0
/* 08DFB0 8008D3B0 AFA50004 */ sw $a1, 4($sp)
/* 08DFB4 8008D3B4 848E0044 */ lh $t6, 0x44($a0)
/* 08DFB8 8008D3B8 31CFBFFF */ andi $t7, $t6, 0xbfff
/* 08DFBC 8008D3BC 03E00008 */ jr $ra
/* 08DFC0 8008D3C0 A48F0044 */ sh $t7, 0x44($a0)

View File

@ -1,64 +0,0 @@
glabel func_8008D3C4
/* 08DFC4 8008D3C4 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 08DFC8 8008D3C8 AFA5002C */ sw $a1, 0x2c($sp)
/* 08DFCC 8008D3CC 00057600 */ sll $t6, $a1, 0x18
/* 08DFD0 8008D3D0 000E2E03 */ sra $a1, $t6, 0x18
/* 08DFD4 8008D3D4 AFBF001C */ sw $ra, 0x1c($sp)
/* 08DFD8 8008D3D8 AFB00018 */ sw $s0, 0x18($sp)
/* 08DFDC 8008D3DC 00808025 */ move $s0, $a0
/* 08DFE0 8008D3E0 0C0230D5 */ jal func_8008C354
/* 08DFE4 8008D3E4 A3A5002F */ sb $a1, 0x2f($sp)
/* 08DFE8 8008D3E8 8E08000C */ lw $t0, 0xc($s0)
/* 08DFEC 8008D3EC 2401FDFF */ li $at, -513
/* 08DFF0 8008D3F0 8E1800BC */ lw $t8, 0xbc($s0)
/* 08DFF4 8008D3F4 01014824 */ and $t1, $t0, $at
/* 08DFF8 8008D3F8 83A5002F */ lb $a1, 0x2f($sp)
/* 08DFFC 8008D3FC 3C014100 */ li $at, 0x41000000 # 8.000000
/* 08E000 8008D400 44812000 */ mtc1 $at, $f4
/* 08E004 8008D404 37192000 */ ori $t9, $t8, 0x2000
/* 08E008 8008D408 AE1900BC */ sw $t9, 0xbc($s0)
/* 08E00C 8008D40C AE09000C */ sw $t1, 0xc($s0)
/* 08E010 8008D410 A6000DB4 */ sh $zero, 0xdb4($s0)
/* 08E014 8008D414 3C0A8016 */ lui $t2, %hi(D_8015F890) # $t2, 0x8016
/* 08E018 8008D418 E6040DBC */ swc1 $f4, 0xdbc($s0)
/* 08E01C 8008D41C 954AF890 */ lhu $t2, %lo(D_8015F890)($t2)
/* 08E020 8008D420 24010001 */ li $at, 1
/* 08E024 8008D424 3C0D800E */ lui $t5, %hi(gPlayerOne) # $t5, 0x800e
/* 08E028 8008D428 11410011 */ beq $t2, $at, .L8008D470
/* 08E02C 8008D42C 00000000 */ nop
/* 08E030 8008D430 96020000 */ lhu $v0, ($s0)
/* 08E034 8008D434 24014000 */ li $at, 16384
/* 08E038 8008D438 304B4000 */ andi $t3, $v0, 0x4000
/* 08E03C 8008D43C 15610016 */ bne $t3, $at, .L8008D498
/* 08E040 8008D440 304C0100 */ andi $t4, $v0, 0x100
/* 08E044 8008D444 24010100 */ li $at, 256
/* 08E048 8008D448 11810013 */ beq $t4, $at, .L8008D498
/* 08E04C 8008D44C 30A400FF */ andi $a0, $a1, 0xff
/* 08E050 8008D450 0C032494 */ jal func_800C9250
/* 08E054 8008D454 AFA40024 */ sw $a0, 0x24($sp)
/* 08E058 8008D458 3C051900 */ lui $a1, (0x1900A40B >> 16) # lui $a1, 0x1900
/* 08E05C 8008D45C 8FA40024 */ lw $a0, 0x24($sp)
/* 08E060 8008D460 0C032418 */ jal func_800C9060
/* 08E064 8008D464 34A5A40B */ ori $a1, (0x1900A40B & 0xFFFF) # ori $a1, $a1, 0xa40b
/* 08E068 8008D468 1000000C */ b .L8008D49C
/* 08E06C 8008D46C 240E0050 */ li $t6, 80
.L8008D470:
/* 08E070 8008D470 8DADC4DC */ lw $t5, %lo(gPlayerOne)($t5)
/* 08E074 8008D474 30A400FF */ andi $a0, $a1, 0xff
/* 08E078 8008D478 560D0008 */ bnel $s0, $t5, .L8008D49C
/* 08E07C 8008D47C 240E0050 */ li $t6, 80
/* 08E080 8008D480 0C032494 */ jal func_800C9250
/* 08E084 8008D484 AFA40024 */ sw $a0, 0x24($sp)
/* 08E088 8008D488 3C051900 */ lui $a1, (0x1900A40B >> 16) # lui $a1, 0x1900
/* 08E08C 8008D48C 8FA40024 */ lw $a0, 0x24($sp)
/* 08E090 8008D490 0C032418 */ jal func_800C9060
/* 08E094 8008D494 34A5A40B */ ori $a1, (0x1900A40B & 0xFFFF) # ori $a1, $a1, 0xa40b
.L8008D498:
/* 08E098 8008D498 240E0050 */ li $t6, 80
.L8008D49C:
/* 08E09C 8008D49C A60E00DC */ sh $t6, 0xdc($s0)
/* 08E0A0 8008D4A0 8FBF001C */ lw $ra, 0x1c($sp)
/* 08E0A4 8008D4A4 8FB00018 */ lw $s0, 0x18($sp)
/* 08E0A8 8008D4A8 27BD0028 */ addiu $sp, $sp, 0x28
/* 08E0AC 8008D4AC 03E00008 */ jr $ra
/* 08E0B0 8008D4B0 00000000 */ nop

View File

@ -1,8 +0,0 @@
glabel func_8008D554
/* 08E154 8008D554 8C8E00BC */ lw $t6, 0xbc($a0)
/* 08E158 8008D558 44802000 */ mtc1 $zero, $f4
/* 08E15C 8008D55C 2401DFFF */ li $at, -8193
/* 08E160 8008D560 01C17824 */ and $t7, $t6, $at
/* 08E164 8008D564 AC8F00BC */ sw $t7, 0xbc($a0)
/* 08E168 8008D568 03E00008 */ jr $ra
/* 08E16C 8008D56C E4840080 */ swc1 $f4, 0x80($a0)

View File

@ -1,77 +0,0 @@
glabel func_8008D570
/* 08E170 8008D570 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 08E174 8008D574 AFBF0014 */ sw $ra, 0x14($sp)
/* 08E178 8008D578 AFA5001C */ sw $a1, 0x1c($sp)
/* 08E17C 8008D57C 83A5001F */ lb $a1, 0x1f($sp)
/* 08E180 8008D580 0C0230D5 */ jal func_8008C354
/* 08E184 8008D584 AFA40018 */ sw $a0, 0x18($sp)
/* 08E188 8008D588 8FA60018 */ lw $a2, 0x18($sp)
/* 08E18C 8008D58C 3C010008 */ lui $at, 8
/* 08E190 8008D590 83A7001F */ lb $a3, 0x1f($sp)
/* 08E194 8008D594 8CCF00BC */ lw $t7, 0xbc($a2)
/* 08E198 8008D598 8CC9000C */ lw $t1, 0xc($a2)
/* 08E19C 8008D59C 94C20254 */ lhu $v0, 0x254($a2)
/* 08E1A0 8008D5A0 01E1C025 */ or $t8, $t7, $at
/* 08E1A4 8008D5A4 2401FFEF */ li $at, -17
/* 08E1A8 8008D5A8 03014024 */ and $t0, $t8, $at
/* 08E1AC 8008D5AC 84CE002E */ lh $t6, 0x2e($a2)
/* 08E1B0 8008D5B0 2401EFFF */ li $at, -4097
/* 08E1B4 8008D5B4 01215024 */ and $t2, $t1, $at
/* 08E1B8 8008D5B8 3C01800E */ lui $at, %hi(D_800E3730)
/* 08E1BC 8008D5BC ACD800BC */ sw $t8, 0xbc($a2)
/* 08E1C0 8008D5C0 00025880 */ sll $t3, $v0, 2
/* 08E1C4 8008D5C4 002B0821 */ addu $at, $at, $t3
/* 08E1C8 8008D5C8 ACC800BC */ sw $t0, 0xbc($a2)
/* 08E1CC 8008D5CC ACCA000C */ sw $t2, 0xc($a2)
/* 08E1D0 8008D5D0 A4CE00AE */ sh $t6, 0xae($a2)
/* 08E1D4 8008D5D4 C4243730 */ lwc1 $f4, %lo(D_800E3730)($at)
/* 08E1D8 8008D5D8 44803000 */ mtc1 $zero, $f6
/* 08E1DC 8008D5DC 3C01800E */ lui $at, %hi(D_800E3710)
/* 08E1E0 8008D5E0 002B0821 */ addu $at, $at, $t3
/* 08E1E4 8008D5E4 E4C400F0 */ swc1 $f4, 0xf0($a2)
/* 08E1E8 8008D5E8 E4C600F4 */ swc1 $f6, 0xf4($a2)
/* 08E1EC 8008D5EC C4283710 */ lwc1 $f8, %lo(D_800E3710)($at)
/* 08E1F0 8008D5F0 240C0001 */ li $t4, 1
/* 08E1F4 8008D5F4 3C018019 */ lui $at, %hi(D_8018D920) # 0x8019
/* 08E1F8 8008D5F8 00076840 */ sll $t5, $a3, 1
/* 08E1FC 8008D5FC 002D0821 */ addu $at, $at, $t5
/* 08E200 8008D600 A4CC00B2 */ sh $t4, 0xb2($a2)
/* 08E204 8008D604 A4C000C0 */ sh $zero, 0xc0($a2)
/* 08E208 8008D608 ACC0007C */ sw $zero, 0x7c($a2)
/* 08E20C 8008D60C A4C00078 */ sh $zero, 0x78($a2)
/* 08E210 8008D610 E4C800EC */ swc1 $f8, 0xec($a2)
/* 08E214 8008D614 A420D920 */ sh $zero, %lo(D_8018D920)($at) # -0x26e0($at)
/* 08E218 8008D618 94C30000 */ lhu $v1, ($a2)
/* 08E21C 8008D61C 24014000 */ li $at, 16384
/* 08E220 8008D620 30644000 */ andi $a0, $v1, 0x4000
/* 08E224 8008D624 1481000C */ bne $a0, $at, .L8008D658
/* 08E228 8008D628 306E0100 */ andi $t6, $v1, 0x100
/* 08E22C 8008D62C 24010100 */ li $at, 256
/* 08E230 8008D630 11C10009 */ beq $t6, $at, .L8008D658
/* 08E234 8008D634 3C051900 */ lui $a1, (0x19008002 >> 16) # lui $a1, 0x1900
/* 08E238 8008D638 30E400FF */ andi $a0, $a3, 0xff
/* 08E23C 8008D63C 34A58002 */ ori $a1, (0x19008002 & 0xFFFF) # ori $a1, $a1, 0x8002
/* 08E240 8008D640 0C032418 */ jal func_800C9060
/* 08E244 8008D644 AFA60018 */ sw $a2, 0x18($sp)
/* 08E248 8008D648 8FA60018 */ lw $a2, 0x18($sp)
/* 08E24C 8008D64C 83A7001F */ lb $a3, 0x1f($sp)
/* 08E250 8008D650 94C30000 */ lhu $v1, ($a2)
/* 08E254 8008D654 30644000 */ andi $a0, $v1, 0x4000
.L8008D658:
/* 08E258 8008D658 24014000 */ li $at, 16384
/* 08E25C 8008D65C 1481000A */ bne $a0, $at, .L8008D688
/* 08E260 8008D660 306F0100 */ andi $t7, $v1, 0x100
/* 08E264 8008D664 24010100 */ li $at, 256
/* 08E268 8008D668 11E10007 */ beq $t7, $at, .L8008D688
/* 08E26C 8008D66C 30E400FF */ andi $a0, $a3, 0xff
/* 08E270 8008D670 94C50254 */ lhu $a1, 0x254($a2)
/* 08E274 8008D674 3C012900 */ lui $at, (0x2900800C >> 16) # lui $at, 0x2900
/* 08E278 8008D678 3421800C */ ori $at, (0x2900800C & 0xFFFF) # ori $at, $at, 0x800c
/* 08E27C 8008D67C 0005C100 */ sll $t8, $a1, 4
/* 08E280 8008D680 0C03243D */ jal func_800C90F4
/* 08E284 8008D684 03012821 */ addu $a1, $t8, $at
.L8008D688:
/* 08E288 8008D688 8FBF0014 */ lw $ra, 0x14($sp)
/* 08E28C 8008D68C 27BD0018 */ addiu $sp, $sp, 0x18
/* 08E290 8008D690 03E00008 */ jr $ra
/* 08E294 8008D694 00000000 */ nop

View File

@ -1,21 +0,0 @@
glabel func_8008D760
/* 08E360 8008D760 8C8F00BC */ lw $t7, 0xbc($a0)
/* 08E364 8008D764 94990254 */ lhu $t9, 0x254($a0)
/* 08E368 8008D768 3C01FFF7 */ lui $at, (0xFFF7FFFF >> 16) # lui $at, 0xfff7
/* 08E36C 8008D76C 848E00AE */ lh $t6, 0xae($a0)
/* 08E370 8008D770 3421FFFF */ ori $at, (0xFFF7FFFF & 0xFFFF) # ori $at, $at, 0xffff
/* 08E374 8008D774 01E1C024 */ and $t8, $t7, $at
/* 08E378 8008D778 94890000 */ lhu $t1, ($a0)
/* 08E37C 8008D77C 3C01800E */ lui $at, %hi(gKartGravityTable)
/* 08E380 8008D780 00194080 */ sll $t0, $t9, 2
/* 08E384 8008D784 A48000A8 */ sh $zero, 0xa8($a0)
/* 08E388 8008D788 AC80007C */ sw $zero, 0x7c($a0)
/* 08E38C 8008D78C A48000C0 */ sh $zero, 0xc0($a0)
/* 08E390 8008D790 AC9800BC */ sw $t8, 0xbc($a0)
/* 08E394 8008D794 00280821 */ addu $at, $at, $t0
/* 08E398 8008D798 A48E002E */ sh $t6, 0x2e($a0)
/* 08E39C 8008D79C C4242650 */ lwc1 $f4, %lo(gKartGravityTable)($at)
/* 08E3A0 8008D7A0 312AFF7F */ andi $t2, $t1, 0xff7f
/* 08E3A4 8008D7A4 A48A0000 */ sh $t2, ($a0)
/* 08E3A8 8008D7A8 03E00008 */ jr $ra
/* 08E3AC 8008D7AC E4840100 */ swc1 $f4, 0x100($a0)

View File

@ -1,67 +0,0 @@
glabel func_8008D7B0
/* 08E3B0 8008D7B0 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 08E3B4 8008D7B4 AFA5001C */ sw $a1, 0x1c($sp)
/* 08E3B8 8008D7B8 00A07025 */ move $t6, $a1
/* 08E3BC 8008D7BC 000E2E00 */ sll $a1, $t6, 0x18
/* 08E3C0 8008D7C0 AFBF0014 */ sw $ra, 0x14($sp)
/* 08E3C4 8008D7C4 00057E03 */ sra $t7, $a1, 0x18
/* 08E3C8 8008D7C8 01E02825 */ move $a1, $t7
/* 08E3CC 8008D7CC A3AE001F */ sb $t6, 0x1f($sp)
/* 08E3D0 8008D7D0 0C0230D5 */ jal func_8008C354
/* 08E3D4 8008D7D4 AFA40018 */ sw $a0, 0x18($sp)
/* 08E3D8 8008D7D8 8FA60018 */ lw $a2, 0x18($sp)
/* 08E3DC 8008D7DC 3C010080 */ lui $at, 0x80
/* 08E3E0 8008D7E0 83A7001F */ lb $a3, 0x1f($sp)
/* 08E3E4 8008D7E4 8CD900BC */ lw $t9, 0xbc($a2)
/* 08E3E8 8008D7E8 8CCB000C */ lw $t3, 0xc($a2)
/* 08E3EC 8008D7EC 94C20254 */ lhu $v0, 0x254($a2)
/* 08E3F0 8008D7F0 03214025 */ or $t0, $t9, $at
/* 08E3F4 8008D7F4 2401FFEF */ li $at, -17
/* 08E3F8 8008D7F8 01015024 */ and $t2, $t0, $at
/* 08E3FC 8008D7FC 3C01FFFD */ lui $at, (0xFFFDFFFF >> 16) # lui $at, 0xfffd
/* 08E400 8008D800 84D8002E */ lh $t8, 0x2e($a2)
/* 08E404 8008D804 3421FFFF */ ori $at, (0xFFFDFFFF & 0xFFFF) # ori $at, $at, 0xffff
/* 08E408 8008D808 01616024 */ and $t4, $t3, $at
/* 08E40C 8008D80C 3C01800E */ lui $at, %hi(D_800E3770)
/* 08E410 8008D810 ACC800BC */ sw $t0, 0xbc($a2)
/* 08E414 8008D814 00026880 */ sll $t5, $v0, 2
/* 08E418 8008D818 002D0821 */ addu $at, $at, $t5
/* 08E41C 8008D81C ACCA00BC */ sw $t2, 0xbc($a2)
/* 08E420 8008D820 ACCC000C */ sw $t4, 0xc($a2)
/* 08E424 8008D824 A4D800AE */ sh $t8, 0xae($a2)
/* 08E428 8008D828 C4243770 */ lwc1 $f4, %lo(D_800E3770)($at)
/* 08E42C 8008D82C 44803000 */ mtc1 $zero, $f6
/* 08E430 8008D830 3C01800E */ lui $at, %hi(D_800E3750)
/* 08E434 8008D834 002D0821 */ addu $at, $at, $t5
/* 08E438 8008D838 E4C400F0 */ swc1 $f4, 0xf0($a2)
/* 08E43C 8008D83C E4C600F4 */ swc1 $f6, 0xf4($a2)
/* 08E440 8008D840 C4283750 */ lwc1 $f8, %lo(D_800E3750)($at)
/* 08E444 8008D844 3C018019 */ lui $at, %hi(D_8018D920) # 0x8019
/* 08E448 8008D848 00077040 */ sll $t6, $a3, 1
/* 08E44C 8008D84C 002E0821 */ addu $at, $at, $t6
/* 08E450 8008D850 E4C800EC */ swc1 $f8, 0xec($a2)
/* 08E454 8008D854 A420D920 */ sh $zero, %lo(D_8018D920)($at) # -0x26e0($at)
/* 08E458 8008D858 94C30000 */ lhu $v1, ($a2)
/* 08E45C 8008D85C 240F0004 */ li $t7, 4
/* 08E460 8008D860 24014000 */ li $at, 16384
/* 08E464 8008D864 30784000 */ andi $t8, $v1, 0x4000
/* 08E468 8008D868 A4CF00B2 */ sh $t7, 0xb2($a2)
/* 08E46C 8008D86C A4C000C0 */ sh $zero, 0xc0($a2)
/* 08E470 8008D870 ACC0007C */ sw $zero, 0x7c($a2)
/* 08E474 8008D874 1701000B */ bne $t8, $at, .L8008D8A4
/* 08E478 8008D878 A4C00078 */ sh $zero, 0x78($a2)
/* 08E47C 8008D87C 30790100 */ andi $t9, $v1, 0x100
/* 08E480 8008D880 24010100 */ li $at, 256
/* 08E484 8008D884 13210007 */ beq $t9, $at, .L8008D8A4
/* 08E488 8008D888 30E400FF */ andi $a0, $a3, 0xff
/* 08E48C 8008D88C 94C50254 */ lhu $a1, 0x254($a2)
/* 08E490 8008D890 3C012900 */ lui $at, (0x29008003 >> 16) # lui $at, 0x2900
/* 08E494 8008D894 34218003 */ ori $at, (0x29008003 & 0xFFFF) # ori $at, $at, 0x8003
/* 08E498 8008D898 00054100 */ sll $t0, $a1, 4
/* 08E49C 8008D89C 0C03243D */ jal func_800C90F4
/* 08E4A0 8008D8A0 01012821 */ addu $a1, $t0, $at
.L8008D8A4:
/* 08E4A4 8008D8A4 8FBF0014 */ lw $ra, 0x14($sp)
/* 08E4A8 8008D8A8 27BD0018 */ addiu $sp, $sp, 0x18
/* 08E4AC 8008D8AC 03E00008 */ jr $ra
/* 08E4B0 8008D8B0 00000000 */ nop

View File

@ -1,18 +0,0 @@
glabel func_8008D97C
/* 08E57C 8008D97C 8C8F00BC */ lw $t7, 0xbc($a0)
/* 08E580 8008D980 94990254 */ lhu $t9, 0x254($a0)
/* 08E584 8008D984 3C01FF7F */ lui $at, (0xFF7FFFFF >> 16) # lui $at, 0xff7f
/* 08E588 8008D988 848E00AE */ lh $t6, 0xae($a0)
/* 08E58C 8008D98C 3421FFFF */ ori $at, (0xFF7FFFFF & 0xFFFF) # ori $at, $at, 0xffff
/* 08E590 8008D990 01E1C024 */ and $t8, $t7, $at
/* 08E594 8008D994 3C01800E */ lui $at, %hi(gKartGravityTable)
/* 08E598 8008D998 00194080 */ sll $t0, $t9, 2
/* 08E59C 8008D99C A48000A8 */ sh $zero, 0xa8($a0)
/* 08E5A0 8008D9A0 AC80007C */ sw $zero, 0x7c($a0)
/* 08E5A4 8008D9A4 A48000C0 */ sh $zero, 0xc0($a0)
/* 08E5A8 8008D9A8 AC9800BC */ sw $t8, 0xbc($a0)
/* 08E5AC 8008D9AC 00280821 */ addu $at, $at, $t0
/* 08E5B0 8008D9B0 A48E002E */ sh $t6, 0x2e($a0)
/* 08E5B4 8008D9B4 C4242650 */ lwc1 $f4, %lo(gKartGravityTable)($at)
/* 08E5B8 8008D9B8 03E00008 */ jr $ra
/* 08E5BC 8008D9BC E4840100 */ swc1 $f4, 0x100($a0)

View File

@ -1,67 +0,0 @@
glabel func_8008D9C0
/* 08E5C0 8008D9C0 3C01430C */ li $at, 0x430C0000 # 140.000000
/* 08E5C4 8008D9C4 44810000 */ mtc1 $at, $f0
/* 08E5C8 8008D9C8 3C014100 */ li $at, 0x41000000 # 8.000000
/* 08E5CC 8008D9CC 44813000 */ mtc1 $at, $f6
/* 08E5D0 8008D9D0 C4840DA0 */ lwc1 $f4, 0xda0($a0)
/* 08E5D4 8008D9D4 46062200 */ add.s $f8, $f4, $f6
/* 08E5D8 8008D9D8 E4880DA0 */ swc1 $f8, 0xda0($a0)
/* 08E5DC 8008D9DC C48A0DA0 */ lwc1 $f10, 0xda0($a0)
/* 08E5E0 8008D9E0 460A003E */ c.le.s $f0, $f10
/* 08E5E4 8008D9E4 00000000 */ nop
/* 08E5E8 8008D9E8 45020003 */ bc1fl .L8008D9F8
/* 08E5EC 8008D9EC 848E0D98 */ lh $t6, 0xd98($a0)
/* 08E5F0 8008D9F0 E4800DA0 */ swc1 $f0, 0xda0($a0)
/* 08E5F4 8008D9F4 848E0D98 */ lh $t6, 0xd98($a0)
.L8008D9F8:
/* 08E5F8 8008D9F8 24010001 */ li $at, 1
/* 08E5FC 8008D9FC 55C10017 */ bnel $t6, $at, .L8008DA5C
/* 08E600 8008DA00 84990D98 */ lh $t9, 0xd98($a0)
/* 08E604 8008DA04 C4900D9C */ lwc1 $f16, 0xd9c($a0)
/* 08E608 8008DA08 C4920DA0 */ lwc1 $f18, 0xda0($a0)
/* 08E60C 8008DA0C 3C01800F */ lui $at, %hi(D_800EF568) # $at, 0x800f
/* 08E610 8008DA10 46128100 */ add.s $f4, $f16, $f18
/* 08E614 8008DA14 E4840D9C */ swc1 $f4, 0xd9c($a0)
/* 08E618 8008DA18 C428F568 */ lwc1 $f8, %lo(D_800EF568)($at)
/* 08E61C 8008DA1C C4860D9C */ lwc1 $f6, 0xd9c($a0)
/* 08E620 8008DA20 4606403E */ c.le.s $f8, $f6
/* 08E624 8008DA24 00000000 */ nop
/* 08E628 8008DA28 4502000C */ bc1fl .L8008DA5C
/* 08E62C 8008DA2C 84990D98 */ lh $t9, 0xd98($a0)
/* 08E630 8008DA30 848F0D98 */ lh $t7, 0xd98($a0)
/* 08E634 8008DA34 2402FFFF */ li $v0, -1
/* 08E638 8008DA38 3C014120 */ li $at, 0x41200000 # 10.000000
/* 08E63C 8008DA3C 01E20019 */ multu $t7, $v0
/* 08E640 8008DA40 44815000 */ mtc1 $at, $f10
/* 08E644 8008DA44 00000000 */ nop
/* 08E648 8008DA48 E48A0DA0 */ swc1 $f10, 0xda0($a0)
/* 08E64C 8008DA4C 0000C012 */ mflo $t8
/* 08E650 8008DA50 A4980D98 */ sh $t8, 0xd98($a0)
/* 08E654 8008DA54 00000000 */ nop
/* 08E658 8008DA58 84990D98 */ lh $t9, 0xd98($a0)
.L8008DA5C:
/* 08E65C 8008DA5C 2402FFFF */ li $v0, -1
/* 08E660 8008DA60 14590014 */ bne $v0, $t9, .L8008DAB4
/* 08E664 8008DA64 00000000 */ nop
/* 08E668 8008DA68 C4900D9C */ lwc1 $f16, 0xd9c($a0)
/* 08E66C 8008DA6C C4920DA0 */ lwc1 $f18, 0xda0($a0)
/* 08E670 8008DA70 3C01800F */ lui $at, %hi(D_800EF56C) # $at, 0x800f
/* 08E674 8008DA74 46128101 */ sub.s $f4, $f16, $f18
/* 08E678 8008DA78 E4840D9C */ swc1 $f4, 0xd9c($a0)
/* 08E67C 8008DA7C C4880D9C */ lwc1 $f8, 0xd9c($a0)
/* 08E680 8008DA80 C426F56C */ lwc1 $f6, %lo(D_800EF56C)($at)
/* 08E684 8008DA84 4606403E */ c.le.s $f8, $f6
/* 08E688 8008DA88 00000000 */ nop
/* 08E68C 8008DA8C 45000009 */ bc1f .L8008DAB4
/* 08E690 8008DA90 00000000 */ nop
/* 08E694 8008DA94 84880D98 */ lh $t0, 0xd98($a0)
/* 08E698 8008DA98 3C014120 */ li $at, 0x41200000 # 10.000000
/* 08E69C 8008DA9C 44815000 */ mtc1 $at, $f10
/* 08E6A0 8008DAA0 01020019 */ multu $t0, $v0
/* 08E6A4 8008DAA4 E48A0DA0 */ swc1 $f10, 0xda0($a0)
/* 08E6A8 8008DAA8 00004812 */ mflo $t1
/* 08E6AC 8008DAAC A4890D98 */ sh $t1, 0xd98($a0)
/* 08E6B0 8008DAB0 00000000 */ nop
.L8008DAB4:
/* 08E6B4 8008DAB4 03E00008 */ jr $ra
/* 08E6B8 8008DAB8 00000000 */ nop

View File

@ -159,7 +159,7 @@ typedef struct {
/* 0x0040 */ char unk_040[0x2];
/* 0x0042 */ s16 unk_042;
/* 0x0044 */ s16 unk_044;
/* 0x0046 */ s16 unk_046;
/* 0x0046 */ u16 unk_046;
/* 0x0048 */ char unk_048[0x10];
/* 0x0058 */ f32 unk_058;
/* 0x005C */ f32 unk_05C;
@ -189,7 +189,7 @@ typedef struct {
/* 0x00B0 */ s16 unk_0B0;
/* 0x00B2 */ s16 unk_0B2;
/* 0x00B4 */ s16 unk_0B4;
/* 0x00B6 */ s16 unk_0B6;
/* 0x00B6 */ u16 unk_0B6;
/* 0x00B8 */ f32 unk_0B8;
/* 0x00BC */ s32 unk_0BC;
/* 0x00C0 */ s16 unk_0C0;

View File

@ -272,109 +272,61 @@ void func_8008C6D0(Player *player, s8 arg1) {
player->unk_042 = 0;
}
#ifdef MIPS_TO_C
//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909
? func_800098FC(s8, void *, void *, u16); /* extern */
? func_8008C354(s8); /* extern */
? func_800C90F4(s32, s32, void *, u16); /* extern */
extern ? D_80165190;
extern ? D_80165280;
extern ? D_80165420;
extern ? D_80165440;
extern ? D_80165460;
extern ? D_80165480;
extern ? D_8018D920;
void func_8008C73C(Player *player, s8 arg1) {
func_8008C354(player, arg1);
if (((player->unk_0BC & 0x80) != 0x80) && ((player->unk_0BC & 0x40) != 0x40)) {
player->unk_0BC &= ~0x10;
void func_8008C73C(void *arg0, s8 arg1) {
s32 temp_a0;
s32 temp_t0;
s32 temp_v0;
s32 temp_v0_2;
u16 temp_a3;
void *temp_v1;
func_8008C354(arg1);
temp_v0 = arg0->unkBC;
if (((temp_v0 & 0x80) != 0x80) && ((temp_v0 & 0x40) != 0x40)) {
temp_t0 = temp_v0 & ~0x10;
arg0->unkBC = temp_t0;
temp_a0 = arg1 * 2;
if ((arg0->unkC0 / 182) >= 0) {
arg0->unkBC = temp_t0 | 0x40;
if ((player->unk_0C0 / 182) >= 0) {
player->unk_0BC |= 0x40;
} else {
arg0->unkBC = arg0->unkBC | 0x80;
player->unk_0BC |= 0x80;
}
arg0->unkB6 = arg0->unkB6 | 0x80;
arg0->unkB2 = 2;
arg0->unkC0 = 0;
arg0->unk7C = 0;
arg0->unk78 = 0;
temp_v1 = temp_a0 + &D_80165190;
arg0->unkAE = arg0->unk2E;
temp_v1->unk0 = 1;
temp_v1->unk10 = 1;
temp_v1->unk20 = 1;
temp_v1->unk30 = 1;
temp_v0_2 = arg1 * 4;
*(&D_80165280 + temp_v0_2) = arg0->unk9C;
*(&D_80165480 + temp_v0_2) = 0;
*(&D_80165460 + temp_v0_2) = 0;
*(&D_80165440 + temp_v0_2) = 0;
*(&D_80165420 + temp_v0_2) = 0;
*(&D_8018D920 + temp_a0) = 0;
temp_a3 = arg0->unk0;
if (((temp_a3 & 0x4000) == 0x4000) && ((temp_a3 & 0x100) != 0x100)) {
func_800C90F4(arg1 & 0xFF, (arg0->unk254 * 0x10) + 0x29008003, arg0, temp_a3);
return;
player->unk_0B6 |= 0x80;
player->unk_0C0 = 0; player->unk_07C = 0; player->unk_078 = 0; player->unk_0AE = player->unk_02E; player->unk_0B2 = 2;
D_80165190[0][arg1] = 1;
D_80165190[1][arg1] = 1;
D_80165190[2][arg1] = 1;
D_80165190[3][arg1] = 1;
D_80165280[arg1] = player->unk_09C;
D_80165480[arg1] = 0;
D_80165460[arg1] = 0;
D_80165440[arg1] = 0;
D_80165420[arg1] = 0;
D_8018D920[arg1] = 0;
if (((player->unk_000 & 0x4000) == 0x4000) && ((player->unk_000 & 0x100) != 0x100)) {
func_800C90F4(arg1 & 0xFF, (player->characterId * 0x10) + 0x29008003);
} else {
func_800098FC(arg1, player);
}
func_800098FC(arg1, arg0, arg0, temp_a3);
/* Duplicate return node #9. Try simplifying control flow for better match */
}
}
#else
GLOBAL_ASM("asm/non_matchings/code_8008C1D0/func_8008C73C.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909
extern u16 D_800DC51C;
extern ? gPlayerPositions;
extern ? D_80165190;
extern ? D_80165460;
extern s32 gModeSelection;
void func_8008C8C4(Player* player, s8 arg1) {
player->unk_0BC &= ~0x80;
player->unk_0BC &= ~0x40;
player->unk_0A8 = 0;
player->unk_02E = player->unk_0AE;
player->unk_07C = 0;
player->unk_0C0 = 0;
player->unk_0BC &= ~0x800;
void func_8008C8C4(void *arg0, s8 arg1) {
s32 temp_t1;
s32 temp_t9;
s32 temp_v1;
void *temp_v0;
D_80165190[0][arg1] = 1;
D_80165190[1][arg1] = 1;
D_80165190[2][arg1] = 1;
D_80165190[3][arg1] = 1;
temp_t9 = arg0->unkBC & ~0x80;
temp_t1 = temp_t9 & ~0x40;
arg0->unkBC = temp_t9;
arg0->unkBC = temp_t1;
arg0->unkA8 = 0;
arg0->unk7C = 0;
arg0->unkC0 = 0;
arg0->unkBC = temp_t1 & ~0x800;
temp_v0 = (arg1 * 2) + &D_80165190;
arg0->unk2E = arg0->unkAE;
temp_v0->unk0 = 1;
temp_v0->unk10 = 1;
temp_v0->unk20 = 1;
temp_v0->unk30 = 1;
temp_v1 = arg1 * 4;
arg0->unk46 = arg0->unk46 & 0xFFBF;
if ((*(&D_80165460 + temp_v1) == 1) && ((arg0->unk0 & 0x4000) == 0x4000)) {
arg0->unk9C = arg0->unk9C + 100.0f;
player->unk_046 &= 0xFFBF;
if ((D_80165460[arg1] == 1) && ((player->unk_000 & 0x4000) == 0x4000)) {
player->unk_09C = (f32) (player->unk_09C + 100.0f);
}
if ((gModeSelection == VERSUS) && ((arg0->unk0 & 0x1000) == 0x1000) && (D_800DC51C == 0) && ((arg0->unkCA & 2) == 0) && (*(&gPlayerPositions + temp_v1) != 0)) {
arg0->unkC = arg0->unkC | 0x400000;
if ((gModeSelection == VERSUS) && ((player->unk_000 & 0x1000) == 0x1000) && (D_800DC51C == 0) && ((player->unk_0CA & 2) == 0) && (gPlayerPositions[arg1] != 0)) {
player->unk_00C = (s32) (player->unk_00C | 0x400000);
}
}
#else
GLOBAL_ASM("asm/non_matchings/code_8008C1D0/func_8008C8C4.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909
@ -461,32 +413,22 @@ void func_8008C9EC(void *arg0, s8 arg1) {
GLOBAL_ASM("asm/non_matchings/code_8008C1D0/func_8008C9EC.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909
? func_8008C354(s8); /* extern */
? func_8008C73C(void *, s8); /* extern */
void func_8008CDC0(Player* player, s8 arg1) {
func_8008C354(player, arg1);
void func_8008CDC0(void *arg0, s8 arg1) {
s32 temp_t0;
s32 temp_t1;
func_8008C354(arg1);
temp_t0 = arg0->unkBC & ~0x10;
temp_t1 = arg0->unk7C >> 0x10;
arg0->unkC = arg0->unkC & ~1;
arg0->unkB4 = 0;
arg0->unkAC = 1;
arg0->unkBC = temp_t0;
arg0->unkB8 = 3.0f;
if ((temp_t1 >= 0x14) || (temp_t1 < -0x13) || (((arg0->unk94 / 18.0f) * 216.0f) <= 30.0f) || ((temp_t0 & 8) != 0) || (((arg0->unk0 & 0x4000) == 0) && ((temp_t0 & 0x1000) == 0))) {
func_8008C73C(arg0, arg1);
return;
player->unk_00C &= ~1;
player->unk_0B4 = 0;
player->unk_0B8 = 3.0f;
player->unk_0AC = 1;
player->unk_0BC &= ~0x10;
if (((player->unk_07C >> 0x10) >= 0x14) || ((player->unk_07C >> 0x10) < -0x13) || (((player->unk_094 / 18.0f) * 216.0f) <= 30.0f) || ((player->unk_0BC & 8) != 0) || (((player->unk_000 & 0x4000) == 0) && ((player->unk_0BC & 0x1000) == 0))) {
func_8008C73C(player, arg1);
}
else {
player->unk_0BC |= 0x800;
}
arg0->unkBC = temp_t0 | 0x800;
}
#else
GLOBAL_ASM("asm/non_matchings/code_8008C1D0/func_8008CDC0.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909
@ -581,31 +523,20 @@ block_9:
GLOBAL_ASM("asm/non_matchings/code_8008C1D0/func_8008CEB0.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909
void func_8008D0E4(void *arg0, ? arg1) {
arg0->unkBC = arg0->unkBC & ~0x800;
void func_8008D0E4(Player* player, UNUSED s8 arg1) {
player->unk_0BC &= ~0x800;
}
#else
GLOBAL_ASM("asm/non_matchings/code_8008C1D0/func_8008D0E4.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909
? func_8008C354(s8); /* extern */
void func_8008D0FC(Player *player, s8 arg1) {
func_8008C354(player, arg1);
void func_8008D0FC(void *arg0, s8 arg1) {
func_8008C354(arg1);
arg0->unkC = arg0->unkC & ~0x80;
arg0->unkB4 = 0;
arg0->unkAC = 1;
arg0->unkBC = arg0->unkBC & ~0x10;
arg0->unk44 = arg0->unk44 | 0x4000;
arg0->unkB8 = 2.0f;
player->unk_00C &= ~0x80;
player->unk_0B4 = 0;
player->unk_0B8 = 2.0f;
player->unk_0AC = 1;
player->unk_0BC &= ~0x10;
player->unk_044 |= 0x4000;
}
#else
GLOBAL_ASM("asm/non_matchings/code_8008C1D0/func_8008D0FC.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909
@ -700,160 +631,84 @@ block_10:
GLOBAL_ASM("asm/non_matchings/code_8008C1D0/func_8008D170.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909
void func_8008D3B0(void *arg0, ? arg1) {
arg0->unk44 = arg0->unk44 & 0xBFFF;
void func_8008D3B0(Player* player, UNUSED s8 arg1) {
player->unk_044 &= 0xBFFF;
}
#else
GLOBAL_ASM("asm/non_matchings/code_8008C1D0/func_8008D3B0.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909
? func_8008C354(s8); /* extern */
? func_800C9060(s32, ?); /* extern */
? func_800C9250(s32, s8); /* extern */
extern s32 gPlayerOne;
extern u16 D_8015F890;
void func_8008D3C4(Player* player, s8 arg1) {
void func_8008D3C4(void *arg0, s8 arg1) {
s32 sp24;
s32 temp_a0;
s32 temp_a0_2;
s8 temp_a1;
u16 temp_v0;
func_8008C354(player, arg1);
temp_a1 = arg1;
arg1 = temp_a1;
func_8008C354(temp_a1);
arg0->unkBC = arg0->unkBC | 0x2000;
arg0->unkC = arg0->unkC & ~0x200;
arg0->unkDB4 = 0;
arg0->unkDBC = 8.0f;
player->unk_0BC |= 0x2000;
player->unk_00C &= ~0x200;
player->unk_DB4 = 0;
player->unk_DBC = 8.0f;
if (D_8015F890 != 1) {
temp_v0 = arg0->unk0;
if ((temp_v0 & 0x4000) == 0x4000) {
temp_a0 = arg1 & 0xFF;
if ((temp_v0 & 0x100) != 0x100) {
sp24 = temp_a0;
func_800C9250(temp_a0, arg1);
func_800C9060(temp_a0, 0x1900A40B);
}
if (((player->unk_000 & 0x4000) == 0x4000) && ((player->unk_000 & 0x100) != 0x100)) {
func_800C9250(arg1 & 0xFF);
func_800C9060(arg1 & 0xFF, 0x1900A40B);
}
} else {
temp_a0_2 = arg1 & 0xFF;
if (arg0 == gPlayerOne) {
sp24 = temp_a0_2;
func_800C9250(temp_a0_2, arg1);
func_800C9060(temp_a0_2, 0x1900A40B);
if (player == gPlayerOne) {
func_800C9250(arg1 & 0xFF);
func_800C9060(arg1 & 0xFF, 0x1900A40B);
}
}
arg0->unkDC = 0x50;
player->unk_0DC = 0x50;
}
#else
GLOBAL_ASM("asm/non_matchings/code_8008C1D0/func_8008D3C4.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909
? move_f32_towards(void *, ?, ?, void *); /* extern */
void func_8008D4B4(void *arg0) {
s16 temp_v0;
void *temp_a0;
void *temp_a3;
temp_v0 = arg0->unkDC;
temp_a3 = arg0;
arg0->unk9C = arg0->unk214;
if (temp_v0 > 0) {
arg0->unkDC = temp_v0 - 1;
#ifdef NEEDS_RODATA
void func_8008D4B4(Player* arg0) {
arg0->unk_09C = (f32) arg0->unk_214;
if ( arg0->unk_0DC > 0) {
--arg0->unk_0DC;
}
if (arg0->unkDC != 0) {
temp_a0 = temp_a3 + 0x80;
arg0 = temp_a3;
move_f32_towards(temp_a0, 0x43C80000, 0x3F000000, temp_a3);
if (arg0->unk_0DC != 0) {
move_f32_towards(&arg0->unk_080, 400.0f, 0.5f);
} else {
arg0 = temp_a3;
move_f32_towards(temp_a3 + 0x80, 0, 0x3DCCCCCD, temp_a3);
move_f32_towards(&arg0->unk_080, 0.0f, 0.1f);
}
if (arg0->unk80 <= 1.0f) {
arg0->unkBC = arg0->unkBC & ~0x2000;
if (arg0->unk_080 <= 1.0f) {
arg0->unk_0BC &= ~0x2000;
}
}
#else
GLOBAL_ASM("asm/non_matchings/code_8008C1D0/func_8008D4B4.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909
void func_8008D554(void *arg0) {
arg0->unkBC = arg0->unkBC & ~0x2000;
arg0->unk80 = 0.0f;
void func_8008D554(Player* player) {
player->unk_0BC &= ~0x2000;
player->unk_080 = 0.0f;
}
#else
GLOBAL_ASM("asm/non_matchings/code_8008C1D0/func_8008D554.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909
? func_8008C354(s8); /* extern */
? func_800C9060(s32, ?, void *, s8); /* extern */
? func_800C90F4(s32, s32, void *, s8); /* extern */
extern ? D_800E3710;
extern ? D_800E3730;
extern ? D_8018D920;
void func_8008D570(Player *player, s8 arg1) {
func_8008C354(player, arg1);
void func_8008D570(void *arg0, s8 arg1) {
s32 temp_a0;
s32 temp_t0;
s32 temp_t3;
s32 temp_t8;
u16 temp_v1;
u16 temp_v1_2;
void *temp_a2;
s32 phi_a0;
u16 phi_v1;
void *phi_a2;
player->unk_0AE = player->unk_02E;
player->unk_0BC |= 0x80000;
player->unk_0BC &= ~0x10;
player->unk_00C &= ~0x1000;
player->kartHopJerk = D_800E3730[player->characterId];
player->kartHopAcceleration = 0.0f;
player->kartHopVelocity = (f32) D_800E3710[player->characterId];
player->unk_0B2 = 1;
player->unk_0C0 = 0;
player->unk_07C = 0;
player->unk_078 = 0;
D_8018D920[arg1] = 0;
func_8008C354(arg1);
temp_a2 = arg0;
temp_t8 = temp_a2->unkBC | 0x80000;
temp_t0 = temp_t8 & ~0x10;
temp_a2->unkBC = temp_t8;
temp_t3 = temp_a2->unk254 * 4;
temp_a2->unkBC = temp_t0;
temp_a2->unkC = temp_a2->unkC & ~0x1000;
temp_a2->unkAE = temp_a2->unk2E;
temp_a2->unkF0 = *(&D_800E3730 + temp_t3);
temp_a2->unkF4 = 0.0f;
temp_a2->unkB2 = 1;
temp_a2->unkC0 = 0;
temp_a2->unk7C = 0;
temp_a2->unk78 = 0;
temp_a2->unkEC = *(&D_800E3710 + temp_t3);
*(&D_8018D920 + (arg1 * 2)) = 0;
temp_v1 = temp_a2->unk0;
temp_a0 = temp_v1 & 0x4000;
phi_a0 = temp_a0;
phi_v1 = temp_v1;
phi_a2 = temp_a2;
if ((temp_a0 == 0x4000) && ((temp_v1 & 0x100) != 0x100)) {
arg0 = temp_a2;
func_800C9060(arg1 & 0xFF, 0x19008002, temp_a2, arg1);
temp_v1_2 = arg0->unk0;
phi_a0 = temp_v1_2 & 0x4000;
phi_v1 = temp_v1_2;
phi_a2 = arg0;
if (((player->unk_000 & 0x4000) == 0x4000) && ((player->unk_000 & 0x100) != 0x100)) {
func_800C9060(arg1 & 0xFF, 0x19008002);
}
if ((phi_a0 == 0x4000) && ((phi_v1 & 0x100) != 0x100)) {
func_800C90F4(arg1 & 0xFF, (phi_a2->unk254 * 0x10) + 0x2900800C, phi_a2, arg1);
if (((player->unk_000 & 0x4000) == 0x4000) && ((player->unk_000 & 0x100) != 0x100)) {
func_800C90F4(arg1 & 0xFF, (player->characterId * 0x10) + 0x2900800C);
}
}
#else
GLOBAL_ASM("asm/non_matchings/code_8008C1D0/func_8008D570.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909
@ -891,64 +746,36 @@ void func_8008D698(void *arg0, s8 arg1) {
GLOBAL_ASM("asm/non_matchings/code_8008C1D0/func_8008D698.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909
extern ? gKartGravityTable;
void func_8008D760(void *arg0) {
arg0->unkA8 = 0;
arg0->unk7C = 0;
arg0->unkC0 = 0;
arg0->unkBC = arg0->unkBC & 0xFFF7FFFF;
arg0->unk2E = arg0->unkAE;
arg0->unk0 = arg0->unk0 & 0xFF7F;
arg0->unk100 = *(&gKartGravityTable + (arg0->unk254 * 4));
void func_8008D760(Player* player) {
player->unk_0A8 = 0;
player->unk_07C = 0;
player->unk_0C0 = 0;
player->unk_02E = player->unk_0AE;
player->unk_0BC &= 0xFFF7FFFF;
player->unk_100 = gKartGravityTable[player->characterId];
player->unk_000 &= 0xFF7F;
}
#else
GLOBAL_ASM("asm/non_matchings/code_8008C1D0/func_8008D760.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909
? func_8008C354(s8); /* extern */
? func_800C90F4(s32, s32, void *, s8); /* extern */
extern ? D_800E3750;
extern ? D_800E3770;
extern ? D_8018D920;
void func_8008D7B0(Player* player, s8 arg1) {
func_8008C354(player, arg1);
void func_8008D7B0(void *arg0, s8 arg1) {
s32 temp_t0;
s32 temp_t2;
s32 temp_t5;
s8 temp_a1;
u16 temp_v1;
player->unk_0AE = player->unk_02E;
player->unk_0BC |= 0x800000;
player->unk_0BC &= ~0x10;
player->unk_00C &= 0xFFFDFFFF;
player->kartHopJerk = D_800E3770[player->characterId];
player->kartHopAcceleration = 0.0f;
player->kartHopVelocity = D_800E3750[player->characterId];
D_8018D920[arg1] = 0;
player->unk_0B2 = 4;
player->unk_0C0 = 0;
player->unk_07C = 0;
player->unk_078 = 0;
temp_a1 = arg1;
arg1 = arg1;
func_8008C354(temp_a1);
temp_t0 = arg0->unkBC | 0x800000;
temp_t2 = temp_t0 & ~0x10;
arg0->unkBC = temp_t0;
temp_t5 = arg0->unk254 * 4;
arg0->unkBC = temp_t2;
arg0->unkC = arg0->unkC & 0xFFFDFFFF;
arg0->unkAE = arg0->unk2E;
arg0->unkF0 = *(&D_800E3770 + temp_t5);
arg0->unkF4 = 0.0f;
arg0->unkEC = *(&D_800E3750 + temp_t5);
*(&D_8018D920 + (arg1 * 2)) = 0;
temp_v1 = arg0->unk0;
arg0->unkB2 = 4;
arg0->unkC0 = 0;
arg0->unk7C = 0;
arg0->unk78 = 0;
if (((temp_v1 & 0x4000) == 0x4000) && ((temp_v1 & 0x100) != 0x100)) {
func_800C90F4(arg1 & 0xFF, (arg0->unk254 * 0x10) + 0x29008003, arg0, arg1);
if (((player->unk_000 & 0x4000) == 0x4000) && ((player->unk_000 & 0x100) != 0x100)) {
func_800C90F4(arg1 & 0xFF, (player->characterId * 0x10) + 0x29008003);
}
}
#else
GLOBAL_ASM("asm/non_matchings/code_8008C1D0/func_8008D7B0.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909
@ -986,47 +813,36 @@ void func_8008D8B4(void *arg0, s8 arg1) {
GLOBAL_ASM("asm/non_matchings/code_8008C1D0/func_8008D8B4.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909
extern ? gKartGravityTable;
void func_8008D97C(void *arg0) {
arg0->unkA8 = 0;
arg0->unk7C = 0;
arg0->unkC0 = 0;
arg0->unkBC = arg0->unkBC & 0xFF7FFFFF;
arg0->unk2E = arg0->unkAE;
arg0->unk100 = *(&gKartGravityTable + (arg0->unk254 * 4));
void func_8008D97C(Player *player) {
player->unk_0A8 = 0;
player->unk_07C = 0;
player->unk_0C0 = 0;
player->unk_02E = player->unk_0AE;
player->unk_0BC &= 0xFF7FFFFF;
player->unk_100 = gKartGravityTable[player->characterId];
}
#else
GLOBAL_ASM("asm/non_matchings/code_8008C1D0/func_8008D97C.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909
void func_8008D9C0(void *arg0) {
arg0->unkDA0 = arg0->unkDA0 + 8.0f;
if (arg0->unkDA0 >= 140.0f) {
arg0->unkDA0 = 140.0f;
void func_8008D9C0(Player* player) {
player->unk_DA0 += 8.0f;
if (player->unk_DA0 >= 140.0f) {
player->unk_DA0 = 140.0f;
}
if (arg0->unkD98 == 1) {
arg0->unkD9C = arg0->unkD9C + arg0->unkDA0;
if (arg0->unkD9C >= 2002.0f) {
arg0->unkDA0 = 10.0f;
arg0->unkD98 = arg0->unkD98 * -1;
if (player->unk_D98 == 1) {
player->unk_D9C += player->unk_DA0;
if (D_800EF568 <= player->unk_D9C) {
player->unk_DA0 = 10.0f;
player->unk_D98 *= -1;
}
}
if (arg0->unkD98 == -1) {
arg0->unkD9C = arg0->unkD9C - arg0->unkDA0;
if (arg0->unkD9C <= -2002.0f) {
arg0->unkDA0 = 10.0f;
arg0->unkD98 = arg0->unkD98 * -1;
if (player->unk_D98 == -1) {
player->unk_D9C -= player->unk_DA0;
if (player->unk_D9C <= D_800EF56C) {
player->unk_DA0 = 10.0f;
player->unk_D98 *= -1;
}
}
}
#else
GLOBAL_ASM("asm/non_matchings/code_8008C1D0/func_8008D9C0.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909

View File

@ -1,51 +1,57 @@
#ifndef CODE_8008C1D0_H
#define CODE_8008C1D0_H
#include "common_structs.h"
/* Function Prototypes */
void func_8008C310(Player*);
void func_8008C354(Player*, s8);
void func_8008C528(Player*, s8);
void func_8008C62C(Player*, s8);
void func_8008C6D0(Player*, s8);
s32 func_8008D0E4();
s32 func_8008D3B0();
s32 func_8008D554();
s32 func_8008D760();
s32 func_8008D97C();
s32 func_8008E884();
s32 func_8008EC34();
s32 func_8008EEC4();
s32 func_8008F0E8(void *);
s32 func_8008F3E0(void *);
s32 func_8008F5A4(void *, s8);
s32 func_8008FEDC(void *, s8);
void func_8008C8C4(Player*, s8);
void func_8008C6D0(Player*, s8);
void func_800C90F4();
void func_800C9060();
void func_800098FC();
// code_80057C60
s32 func_8006B8B4();
// code_80027D00.c
s32 func_80031F48(Player*, float);
/* This is where I'd put my static data, if I had any */
extern u16 D_800DC51C;
extern f32 D_800E37B0[];
extern f32 D_800E3790[];
extern s16 D_80165190[4][8];
extern f32 D_80165280[];
extern s32 D_80165420[];
extern s32 D_80165440[];
extern s32 D_80165460[];
extern s32 D_80165480[];
extern s32 D_8018D920[];
#endif
#ifndef CODE_8008C1D0_H
#define CODE_8008C1D0_H
#include "common_structs.h"
/* Function Prototypes */
void func_8008C310(Player*);
void func_8008C354(Player*, s8);
void func_8008C528(Player*, s8);
void func_8008C62C(Player*, s8);
void func_8008C6D0(Player*, s8);
void func_8008D0E4(Player*, s8);
void func_8008D3B0(Player*, s8);
void func_8008D554(Player*);
void func_8008D760(Player*);
void func_8008D97C(Player*);
s32 func_8008E884();
s32 func_8008EC34();
s32 func_8008EEC4();
s32 func_8008F0E8(void *);
s32 func_8008F3E0(void *);
s32 func_8008F5A4(void *, s8);
s32 func_8008FEDC(void *, s8);
void func_8008C8C4(Player*, s8);
void func_8008C6D0(Player*, s8);
void func_800C90F4(s32, s32);
void func_800C9060();
void func_800C9250(s32);
void func_800098FC(u32, Player*);
// code_80057C60
s32 func_8006B8B4();
// code_80027D00.c
s32 func_80031F48(Player*, float);
/* This is where I'd put my static data, if I had any */
extern u16 D_800DC51C;
extern f32 D_800E3710[];
extern f32 D_800E3730[];
extern f32 D_800E3750[];
extern f32 D_800E3770[];
extern f32 D_800E37B0[];
extern f32 D_800E3790[];
extern f32 D_800EF568;
extern f32 D_800EF56C;
extern s16 D_80165190[4][8];
extern f32 D_80165280[];
extern s32 D_80165420[];
extern s32 D_80165440[];
extern s32 D_80165460[];
extern s32 D_80165480[];
extern s16 D_8018D920[];
#endif