# GLOBAL_ASM remaining: 300 (#405)

* Declare free_texture and free_sprite as NON_MATCHING now

* Match func_8007B380 and split func_800149C0 from func_80014814

* Match func_800149C0

* Move weather asm to its own folder

* Rename the unknown_05CEF0 folder to vehicle_tricky

* 2 matches, remove matched asm files, and fix other things

* WIP func_800BEFC4

* WIP update on func_800BEFC4

* Match func_800BEEB4

* Maybe better func_800BEEB4

* Update Score

* Fix NON_EQUIVALENT build.
This commit is contained in:
Ryan Myers
2023-09-18 14:46:32 -04:00
committed by GitHub
parent 14970cac4b
commit 7202d9efa5
35 changed files with 425 additions and 1527 deletions
+14 -14
View File
@@ -5,11 +5,11 @@ This repo contains a work-in-progress decompilation of Diddy Kong Racing for the
Currently, only the US 1.0 version of the game is supported. US 1.1, EU 1.0, EU 1.1, and JP are not supported at this time.
<!-- README_SCORE_SUMMARY_BEGIN -->
As of September 14, 2023, this is our current score:
As of September 18, 2023, this is our current score:
&emsp;&emsp;&emsp;&emsp;Decomp progress: 53.21%
&emsp;&emsp;&emsp;&emsp;Decomp progress: 53.37%
&emsp;&emsp;&emsp;&emsp;Documentation progress: 26.77%
&emsp;&emsp;&emsp;&emsp;Documentation progress: 27.64%
<!-- README_SCORE_SUMMARY_END -->
---
@@ -128,15 +128,15 @@ s32 is_drumstick_unlocked(void) {
```
<!-- README_SCORE_BEGIN -->
As of September 14th, 2023, this is our current score:
As of September 18th, 2023, this is our current score:
```
========================================================
ADVENTURE ONE (ASM -> C Decompilation)
------------------- 53.21% Complete --------------------
# Decompiled functions: 1526
# GLOBAL_ASM remaining: 305
# NON_MATCHING functions: 12
# NON_EQUIVALENT WIP functions: 71
------------------- 53.37% Complete --------------------
# Decompiled functions: 1532
# GLOBAL_ASM remaining: 300
# NON_MATCHING functions: 14
# NON_EQUIVALENT WIP functions: 70
--------------------- Game Status ----------------------
Balloons: 26/47, Keys: 3/4, Trophies: 2/5
T.T. Amulets: 2/4, Wizpig Amulets: 2/4
@@ -144,14 +144,14 @@ As of September 14th, 2023, this is our current score:
We are battling in Darkwater Beach. (3 opponents remain)
========================================================
ADVENTURE TWO (Cleanup & Documentation)
------------------- 26.77% Complete --------------------
# Documented functions: 574
# Undocumented remaining: 989
------------------- 27.64% Complete --------------------
# Documented functions: 604
# Undocumented remaining: 960
--------------------- Game Status ----------------------
Balloons: 13/47, Keys: 1/4, Trophies: 1/5
Balloons: 14/47, Keys: 1/4, Trophies: 1/5
T.T. Amulets: 1/4, Wizpig Amulets: 1/4
--------------------------------------------------------
We are racing in Everfrost Peak. (Lap 3/3)
We are racing in Walrus Cove. (Lap 1/3)
========================================================
```
<!-- README_SCORE_END -->
+3 -3
View File
@@ -5,12 +5,12 @@ glabel func_80081C04
/* 082810 80081C10 00A0A025 */ move $s4, $a1
/* 082814 80081C14 AFB30024 */ sw $s3, 0x24($sp)
/* 082818 80081C18 AFB1001C */ sw $s1, 0x1c($sp)
/* 08281C 80081C1C 3C103B9A */ lui $s0, %hi(0x3B9A0001) # $s0, 0x3b9a
/* 08281C 80081C1C 3C103B9A */ lui $s0, (0x3B9ACA00 >> 16)
/* 082820 80081C20 00808825 */ move $s1, $a0
/* 082824 80081C24 AFBF002C */ sw $ra, 0x2c($sp)
/* 082828 80081C28 AFB20020 */ sw $s2, 0x20($sp)
/* 08282C 80081C2C 00009825 */ move $s3, $zero
/* 082830 80081C30 3610CA00 */ ori $s0, (0x3B9ACA00 & 0xFFFF) # ori $s0, $s0, 0xca00
/* 082830 80081C30 3610CA00 */ ori $s0, $s0, (0x3B9ACA00 & 0xFFFF)
/* 082834 80081C34 00004025 */ move $t0, $zero
/* 082838 80081C38 2405000A */ li $a1, 10
/* 08283C 80081C3C 27A30038 */ addiu $v1, $sp, 0x38
@@ -135,7 +135,7 @@ glabel func_80081C04
/* 0829E0 80081DE0 92290000 */ lbu $t1, ($s1)
/* 0829E4 80081DE4 0C027298 */ jal func_8009CA60
/* 0829E8 80081DE8 A5490018 */ sh $t1, 0x18($t2)
/* 0829EC 80081DEC 26100001 */ addiu $s0, %lo(0x3B9A0001) # addiu $s0, $s0, 1
/* 0829EC 80081DEC 26100001 */ addiu $s0, $s0, 0x1
/* 0829F0 80081DF0 26310001 */ addiu $s1, $s1, 1
/* 0829F4 80081DF4 1613FFF4 */ bne $s0, $s3, .L80081DC8
/* 0829F8 80081DF8 2694000C */ addiu $s4, $s4, 0xc
@@ -1,50 +0,0 @@
glabel trim_filename_string
/* 0983D0 800977D0 908E0000 */ lbu $t6, ($a0)
/* 0983D4 800977D4 00A03825 */ move $a3, $a1
/* 0983D8 800977D8 11C00024 */ beqz $t6, .L8009786C
/* 0983DC 800977DC 00001025 */ move $v0, $zero
/* 0983E0 800977E0 90860000 */ lbu $a2, ($a0)
/* 0983E4 800977E4 00802825 */ move $a1, $a0
/* 0983E8 800977E8 24080020 */ li $t0, 32
.L800977EC:
/* 0983EC 800977EC 15060018 */ bne $t0, $a2, .L80097850
/* 0983F0 800977F0 00401825 */ move $v1, $v0
/* 0983F4 800977F4 90A60001 */ lbu $a2, 1($a1)
/* 0983F8 800977F8 24420001 */ addiu $v0, $v0, 1
/* 0983FC 800977FC 15060005 */ bne $t0, $a2, .L80097814
/* 098400 80097800 24A50001 */ addiu $a1, $a1, 1
.L80097804:
/* 098404 80097804 90A60001 */ lbu $a2, 1($a1)
/* 098408 80097808 24420001 */ addiu $v0, $v0, 1
/* 09840C 8009780C 1106FFFD */ beq $t0, $a2, .L80097804
/* 098410 80097810 24A50001 */ addiu $a1, $a1, 1
.L80097814:
/* 098414 80097814 10C00013 */ beqz $a2, .L80097864
/* 098418 80097818 0062082A */ slt $at, $v1, $v0
/* 09841C 8009781C 10200011 */ beqz $at, .L80097864
/* 098420 80097820 00000000 */ nop
/* 098424 80097824 00643021 */ addu $a2, $v1, $a0
.L80097828:
/* 098428 80097828 90CF0000 */ lbu $t7, ($a2)
/* 09842C 8009782C 24630001 */ addiu $v1, $v1, 1
/* 098430 80097830 0062082A */ slt $at, $v1, $v0
/* 098434 80097834 24E70001 */ addiu $a3, $a3, 1
/* 098438 80097838 24C60001 */ addiu $a2, $a2, 1
/* 09843C 8009783C 1420FFFA */ bnez $at, .L80097828
/* 098440 80097840 A0EFFFFF */ sb $t7, -1($a3)
/* 098444 80097844 90A60000 */ lbu $a2, ($a1)
/* 098448 80097848 10000006 */ b .L80097864
/* 09844C 8009784C 00000000 */ nop
.L80097850:
/* 098450 80097850 A0E60000 */ sb $a2, ($a3)
/* 098454 80097854 90A60001 */ lbu $a2, 1($a1)
/* 098458 80097858 24E70001 */ addiu $a3, $a3, 1
/* 09845C 8009785C 24420001 */ addiu $v0, $v0, 1
/* 098460 80097860 24A50001 */ addiu $a1, $a1, 1
.L80097864:
/* 098464 80097864 14C0FFE1 */ bnez $a2, .L800977EC
/* 098468 80097868 00000000 */ nop
.L8009786C:
/* 09846C 8009786C 03E00008 */ jr $ra
/* 098470 80097870 A0E00000 */ sb $zero, ($a3)
File diff suppressed because it is too large Load Diff
@@ -1,83 +0,0 @@
glabel free_object_model
/* 060C58 80060058 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 060C5C 8006005C AFBF0024 */ sw $ra, 0x24($sp)
/* 060C60 80060060 AFB20020 */ sw $s2, 0x20($sp)
/* 060C64 80060064 AFB1001C */ sw $s1, 0x1c($sp)
/* 060C68 80060068 AFB00018 */ sw $s0, 0x18($sp)
/* 060C6C 8006006C 84820022 */ lh $v0, 0x22($a0)
/* 060C70 80060070 00809025 */ move $s2, $a0
/* 060C74 80060074 18400011 */ blez $v0, .L800600BC
/* 060C78 80060078 00008025 */ move $s0, $zero
/* 060C7C 8006007C 00008825 */ move $s1, $zero
.L80060080:
/* 060C80 80060080 8E4E0000 */ lw $t6, ($s2)
/* 060C84 80060084 00000000 */ nop
/* 060C88 80060088 01D17821 */ addu $t7, $t6, $s1
/* 060C8C 8006008C 8DE40000 */ lw $a0, ($t7)
/* 060C90 80060090 00000000 */ nop
/* 060C94 80060094 10800005 */ beqz $a0, .L800600AC
/* 060C98 80060098 00000000 */ nop
/* 060C9C 8006009C 0C01ECAF */ jal free_texture
/* 060CA0 800600A0 00000000 */ nop
/* 060CA4 800600A4 86420022 */ lh $v0, 0x22($s2)
/* 060CA8 800600A8 00000000 */ nop
.L800600AC:
/* 060CAC 800600AC 26100001 */ addiu $s0, $s0, 1
/* 060CB0 800600B0 0202082A */ slt $at, $s0, $v0
/* 060CB4 800600B4 1420FFF2 */ bnez $at, .L80060080
/* 060CB8 800600B8 26310008 */ addiu $s1, $s1, 8
.L800600BC:
/* 060CBC 800600BC 8E44000C */ lw $a0, 0xc($s2)
/* 060CC0 800600C0 00000000 */ nop
/* 060CC4 800600C4 10800003 */ beqz $a0, .L800600D4
/* 060CC8 800600C8 00000000 */ nop
/* 060CCC 800600CC 0C01C450 */ jal free_from_memory_pool
/* 060CD0 800600D0 00000000 */ nop
.L800600D4:
/* 060CD4 800600D4 8E440010 */ lw $a0, 0x10($s2)
/* 060CD8 800600D8 00000000 */ nop
/* 060CDC 800600DC 10800003 */ beqz $a0, .L800600EC
/* 060CE0 800600E0 00000000 */ nop
/* 060CE4 800600E4 0C01C450 */ jal free_from_memory_pool
/* 060CE8 800600E8 00000000 */ nop
.L800600EC:
/* 060CEC 800600EC 8E440040 */ lw $a0, 0x40($s2)
/* 060CF0 800600F0 00000000 */ nop
/* 060CF4 800600F4 10800003 */ beqz $a0, .L80060104
/* 060CF8 800600F8 00000000 */ nop
/* 060CFC 800600FC 0C01C450 */ jal free_from_memory_pool
/* 060D00 80060100 00000000 */ nop
.L80060104:
/* 060D04 80060104 8E580044 */ lw $t8, 0x44($s2)
/* 060D08 80060108 00000000 */ nop
/* 060D0C 8006010C 13000013 */ beqz $t8, .L8006015C
/* 060D10 80060110 00000000 */ nop
/* 060D14 80060114 86590048 */ lh $t9, 0x48($s2)
/* 060D18 80060118 00008025 */ move $s0, $zero
/* 060D1C 8006011C 1320000F */ beqz $t9, .L8006015C
/* 060D20 80060120 00008825 */ move $s1, $zero
.L80060124:
/* 060D24 80060124 8E480044 */ lw $t0, 0x44($s2)
/* 060D28 80060128 00000000 */ nop
/* 060D2C 8006012C 01114821 */ addu $t1, $t0, $s1
/* 060D30 80060130 8D240000 */ lw $a0, ($t1)
/* 060D34 80060134 0C01C450 */ jal free_from_memory_pool
/* 060D38 80060138 2484FFFC */ addiu $a0, $a0, -4
/* 060D3C 8006013C 864A0048 */ lh $t2, 0x48($s2)
/* 060D40 80060140 26100001 */ addiu $s0, $s0, 1
/* 060D44 80060144 020A082A */ slt $at, $s0, $t2
/* 060D48 80060148 1420FFF6 */ bnez $at, .L80060124
/* 060D4C 8006014C 26310008 */ addiu $s1, $s1, 8
/* 060D50 80060150 8E440044 */ lw $a0, 0x44($s2)
/* 060D54 80060154 0C01C450 */ jal free_from_memory_pool
/* 060D58 80060158 00000000 */ nop
.L8006015C:
/* 060D5C 8006015C 0C01C450 */ jal free_from_memory_pool
/* 060D60 80060160 02402025 */ move $a0, $s2
/* 060D64 80060164 8FBF0024 */ lw $ra, 0x24($sp)
/* 060D68 80060168 8FB00018 */ lw $s0, 0x18($sp)
/* 060D6C 8006016C 8FB1001C */ lw $s1, 0x1c($sp)
/* 060D70 80060170 8FB20020 */ lw $s2, 0x20($sp)
/* 060D74 80060174 03E00008 */ jr $ra
/* 060D78 80060178 27BD0028 */ addiu $sp, $sp, 0x28
-105
View File
@@ -124,108 +124,3 @@ glabel func_80014814
/* 0155B8 800149B8 03E00008 */ jr $ra
/* 0155BC 800149BC 00000000 */ nop
/* 0155C0 800149C0 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 0155C4 800149C4 AFBF0014 */ sw $ra, 0x14($sp)
/* 0155C8 800149C8 AFA40028 */ sw $a0, 0x28($sp)
/* 0155CC 800149CC AFA5002C */ sw $a1, 0x2c($sp)
/* 0155D0 800149D0 AFA60030 */ sw $a2, 0x30($sp)
/* 0155D4 800149D4 AFA70034 */ sw $a3, 0x34($sp)
/* 0155D8 800149D8 848F0006 */ lh $t7, 6($a0)
/* 0155DC 800149DC 00807025 */ move $t6, $a0
/* 0155E0 800149E0 448F2000 */ mtc1 $t7, $f4
/* 0155E4 800149E4 00C02025 */ move $a0, $a2
/* 0155E8 800149E8 46802020 */ cvt.s.w $f0, $f4
/* 0155EC 800149EC 00E02825 */ move $a1, $a3
/* 0155F0 800149F0 91C70004 */ lbu $a3, 4($t6)
/* 0155F4 800149F4 44060000 */ mfc1 $a2, $f0
/* 0155F8 800149F8 0C0052D4 */ jal func_80014B50
/* 0155FC 800149FC E7A00018 */ swc1 $f0, 0x18($sp)
/* 015600 80014A00 8FB80028 */ lw $t8, 0x28($sp)
/* 015604 80014A04 C7A00018 */ lwc1 $f0, 0x18($sp)
/* 015608 80014A08 93070004 */ lbu $a3, 4($t8)
/* 01560C 80014A0C 8FA40030 */ lw $a0, 0x30($sp)
/* 015610 80014A10 44060000 */ mfc1 $a2, $f0
/* 015614 80014A14 AFA20020 */ sw $v0, 0x20($sp)
/* 015618 80014A18 2445FFFF */ addiu $a1, $v0, -1
/* 01561C 80014A1C 0C0052D4 */ jal func_80014B50
/* 015620 80014A20 24E70008 */ addiu $a3, $a3, 8
/* 015624 80014A24 8FAB0020 */ lw $t3, 0x20($sp)
/* 015628 80014A28 00402825 */ move $a1, $v0
/* 01562C 80014A2C 004B082A */ slt $at, $v0, $t3
/* 015630 80014A30 1020003D */ beqz $at, .L80014B28
/* 015634 80014A34 01622023 */ subu $a0, $t3, $v0
/* 015638 80014A38 30990003 */ andi $t9, $a0, 3
/* 01563C 80014A3C 13200010 */ beqz $t9, .L80014A80
/* 015640 80014A40 03223021 */ addu $a2, $t9, $v0
/* 015644 80014A44 3C098012 */ lui $t1, %hi(gObjPtrList) # $t1, 0x8012
/* 015648 80014A48 8FA80040 */ lw $t0, 0x40($sp)
/* 01564C 80014A4C 2529AE58 */ addiu $t1, %lo(gObjPtrList) # addiu $t1, $t1, -0x51a8
/* 015650 80014A50 00051880 */ sll $v1, $a1, 2
.L80014A54:
/* 015654 80014A54 8D2C0000 */ lw $t4, ($t1)
/* 015658 80014A58 24A50001 */ addiu $a1, $a1, 1
/* 01565C 80014A5C 01836821 */ addu $t5, $t4, $v1
/* 015660 80014A60 8DA40000 */ lw $a0, ($t5)
/* 015664 80014A64 24630004 */ addiu $v1, $v1, 4
/* 015668 80014A68 808F0038 */ lb $t7, 0x38($a0)
/* 01566C 80014A6C 00000000 */ nop
/* 015670 80014A70 01E87021 */ addu $t6, $t7, $t0
/* 015674 80014A74 14C5FFF7 */ bne $a2, $a1, .L80014A54
/* 015678 80014A78 A08E0038 */ sb $t6, 0x38($a0)
/* 01567C 80014A7C 10AB002A */ beq $a1, $t3, .L80014B28
.L80014A80:
/* 015680 80014A80 3C098012 */ lui $t1, %hi(gObjPtrList) # $t1, 0x8012
/* 015684 80014A84 8FA80040 */ lw $t0, 0x40($sp)
/* 015688 80014A88 2529AE58 */ addiu $t1, %lo(gObjPtrList) # addiu $t1, $t1, -0x51a8
/* 01568C 80014A8C 00051880 */ sll $v1, $a1, 2
/* 015690 80014A90 000B5080 */ sll $t2, $t3, 2
.L80014A94:
/* 015694 80014A94 8D380000 */ lw $t8, ($t1)
/* 015698 80014A98 00000000 */ nop
/* 01569C 80014A9C 0303C821 */ addu $t9, $t8, $v1
/* 0156A0 80014AA0 8F240000 */ lw $a0, ($t9)
/* 0156A4 80014AA4 00000000 */ nop
/* 0156A8 80014AA8 808C0038 */ lb $t4, 0x38($a0)
/* 0156AC 80014AAC 00000000 */ nop
/* 0156B0 80014AB0 01886821 */ addu $t5, $t4, $t0
/* 0156B4 80014AB4 A08D0038 */ sb $t5, 0x38($a0)
/* 0156B8 80014AB8 8D2F0000 */ lw $t7, ($t1)
/* 0156BC 80014ABC 00000000 */ nop
/* 0156C0 80014AC0 01E37021 */ addu $t6, $t7, $v1
/* 0156C4 80014AC4 8DC50004 */ lw $a1, 4($t6)
/* 0156C8 80014AC8 00000000 */ nop
/* 0156CC 80014ACC 80B80038 */ lb $t8, 0x38($a1)
/* 0156D0 80014AD0 00000000 */ nop
/* 0156D4 80014AD4 0308C821 */ addu $t9, $t8, $t0
/* 0156D8 80014AD8 A0B90038 */ sb $t9, 0x38($a1)
/* 0156DC 80014ADC 8D2C0000 */ lw $t4, ($t1)
/* 0156E0 80014AE0 00000000 */ nop
/* 0156E4 80014AE4 01836821 */ addu $t5, $t4, $v1
/* 0156E8 80014AE8 8DA60008 */ lw $a2, 8($t5)
/* 0156EC 80014AEC 00000000 */ nop
/* 0156F0 80014AF0 80CF0038 */ lb $t7, 0x38($a2)
/* 0156F4 80014AF4 00000000 */ nop
/* 0156F8 80014AF8 01E87021 */ addu $t6, $t7, $t0
/* 0156FC 80014AFC A0CE0038 */ sb $t6, 0x38($a2)
/* 015700 80014B00 8D380000 */ lw $t8, ($t1)
/* 015704 80014B04 00000000 */ nop
/* 015708 80014B08 0303C821 */ addu $t9, $t8, $v1
/* 01570C 80014B0C 8F27000C */ lw $a3, 0xc($t9)
/* 015710 80014B10 24630010 */ addiu $v1, $v1, 0x10
/* 015714 80014B14 80EC0038 */ lb $t4, 0x38($a3)
/* 015718 80014B18 00000000 */ nop
/* 01571C 80014B1C 01886821 */ addu $t5, $t4, $t0
/* 015720 80014B20 146AFFDC */ bne $v1, $t2, .L80014A94
/* 015724 80014B24 A0ED0038 */ sb $t5, 0x38($a3)
.L80014B28:
/* 015728 80014B28 8FAF0038 */ lw $t7, 0x38($sp)
/* 01572C 80014B2C 256EFFFF */ addiu $t6, $t3, -1
/* 015730 80014B30 ADE20000 */ sw $v0, ($t7)
/* 015734 80014B34 8FB8003C */ lw $t8, 0x3c($sp)
/* 015738 80014B38 00000000 */ nop
/* 01573C 80014B3C AF0E0000 */ sw $t6, ($t8)
/* 015740 80014B40 8FBF0014 */ lw $ra, 0x14($sp)
/* 015744 80014B44 27BD0028 */ addiu $sp, $sp, 0x28
/* 015748 80014B48 03E00008 */ jr $ra
/* 01574C 80014B4C 00000000 */ nop
-111
View File
@@ -1,111 +0,0 @@
glabel func_8001C524
/* 01D124 8001C524 27BDFF80 */ addiu $sp, $sp, -0x80
/* 01D128 8001C528 E7BA0034 */ swc1 $f26, 0x34($sp)
/* 01D12C 8001C52C 4486D000 */ mtc1 $a2, $f26
/* 01D130 8001C530 AFB20040 */ sw $s2, 0x40($sp)
/* 01D134 8001C534 E7B90028 */ swc1 $f25, 0x28($sp)
/* 01D138 8001C538 E7B8002C */ swc1 $f24, 0x2c($sp)
/* 01D13C 8001C53C E7B70020 */ swc1 $f23, 0x20($sp)
/* 01D140 8001C540 E7B60024 */ swc1 $f22, 0x24($sp)
/* 01D144 8001C544 46007586 */ mov.s $f22, $f14
/* 01D148 8001C548 46006606 */ mov.s $f24, $f12
/* 01D14C 8001C54C 00E09025 */ move $s2, $a3
/* 01D150 8001C550 AFBF005C */ sw $ra, 0x5c($sp)
/* 01D154 8001C554 AFBE0058 */ sw $fp, 0x58($sp)
/* 01D158 8001C558 AFB70054 */ sw $s7, 0x54($sp)
/* 01D15C 8001C55C AFB60050 */ sw $s6, 0x50($sp)
/* 01D160 8001C560 AFB5004C */ sw $s5, 0x4c($sp)
/* 01D164 8001C564 AFB40048 */ sw $s4, 0x48($sp)
/* 01D168 8001C568 AFB30044 */ sw $s3, 0x44($sp)
/* 01D16C 8001C56C AFB1003C */ sw $s1, 0x3c($sp)
/* 01D170 8001C570 AFB00038 */ sw $s0, 0x38($sp)
/* 01D174 8001C574 E7BB0030 */ swc1 $f27, 0x30($sp)
/* 01D178 8001C578 E7B50018 */ swc1 $f21, 0x18($sp)
/* 01D17C 8001C57C 10E00004 */ beqz $a3, .L8001C590
/* 01D180 8001C580 E7B4001C */ swc1 $f20, 0x1c($sp)
/* 01D184 8001C584 0C007106 */ jal func_8001C418
/* 01D188 8001C588 46007306 */ mov.s $f12, $f14
/* 01D18C 8001C58C AFA20064 */ sw $v0, 0x64($sp)
.L8001C590:
/* 01D190 8001C590 3C01800E */ lui $at, %hi(D_800E5644) # $at, 0x800e
/* 01D194 8001C594 3C138012 */ lui $s3, %hi(D_8011AF04) # $s3, 0x8012
/* 01D198 8001C598 8FBE0064 */ lw $fp, 0x64($sp)
/* 01D19C 8001C59C C4345644 */ lwc1 $f20, %lo(D_800E5644)($at)
/* 01D1A0 8001C5A0 241700FF */ li $s7, 255
/* 01D1A4 8001C5A4 2673AF04 */ addiu $s3, %lo(D_8011AF04) # addiu $s3, $s3, -0x50fc
/* 01D1A8 8001C5A8 00008025 */ move $s0, $zero
/* 01D1AC 8001C5AC 00008825 */ move $s1, $zero
/* 01D1B0 8001C5B0 24160080 */ li $s6, 128
/* 01D1B4 8001C5B4 24150003 */ li $s5, 3
/* 01D1B8 8001C5B8 24140002 */ li $s4, 2
.L8001C5BC:
/* 01D1BC 8001C5BC 8E6E0000 */ lw $t6, ($s3)
/* 01D1C0 8001C5C0 00000000 */ nop
/* 01D1C4 8001C5C4 01D17821 */ addu $t7, $t6, $s1
/* 01D1C8 8001C5C8 8DE20000 */ lw $v0, ($t7)
/* 01D1CC 8001C5CC 00000000 */ nop
/* 01D1D0 8001C5D0 10400024 */ beqz $v0, .L8001C664
/* 01D1D4 8001C5D4 00000000 */ nop
/* 01D1D8 8001C5D8 8C43003C */ lw $v1, 0x3c($v0)
/* 01D1DC 8001C5DC 12400006 */ beqz $s2, .L8001C5F8
/* 01D1E0 8001C5E0 24040001 */ li $a0, 1
/* 01D1E4 8001C5E4 8078000E */ lb $t8, 0xe($v1)
/* 01D1E8 8001C5E8 00000000 */ nop
/* 01D1EC 8001C5EC 13D80002 */ beq $fp, $t8, .L8001C5F8
/* 01D1F0 8001C5F0 00000000 */ nop
/* 01D1F4 8001C5F4 00002025 */ move $a0, $zero
.L8001C5F8:
/* 01D1F8 8001C5F8 16540006 */ bne $s2, $s4, .L8001C614
/* 01D1FC 8001C5FC 00000000 */ nop
/* 01D200 8001C600 90790008 */ lbu $t9, 8($v1)
/* 01D204 8001C604 00000000 */ nop
/* 01D208 8001C608 12B90002 */ beq $s5, $t9, .L8001C614
/* 01D20C 8001C60C 00000000 */ nop
/* 01D210 8001C610 00002025 */ move $a0, $zero
.L8001C614:
/* 01D214 8001C614 10800013 */ beqz $a0, .L8001C664
/* 01D218 8001C618 00000000 */ nop
/* 01D21C 8001C61C C444000C */ lwc1 $f4, 0xc($v0)
/* 01D220 8001C620 C4460010 */ lwc1 $f6, 0x10($v0)
/* 01D224 8001C624 46182001 */ sub.s $f0, $f4, $f24
/* 01D228 8001C628 C4480014 */ lwc1 $f8, 0x14($v0)
/* 01D22C 8001C62C 46000282 */ mul.s $f10, $f0, $f0
/* 01D230 8001C630 46163081 */ sub.s $f2, $f6, $f22
/* 01D234 8001C634 46021402 */ mul.s $f16, $f2, $f2
/* 01D238 8001C638 461A4381 */ sub.s $f14, $f8, $f26
/* 01D23C 8001C63C 460E7102 */ mul.s $f4, $f14, $f14
/* 01D240 8001C640 46105480 */ add.s $f18, $f10, $f16
/* 01D244 8001C644 0C0326B4 */ jal sqrtf
/* 01D248 8001C648 46049300 */ add.s $f12, $f18, $f4
/* 01D24C 8001C64C 4614003C */ c.lt.s $f0, $f20
/* 01D250 8001C650 00000000 */ nop
/* 01D254 8001C654 45000003 */ bc1f .L8001C664
/* 01D258 8001C658 00000000 */ nop
/* 01D25C 8001C65C 46000506 */ mov.s $f20, $f0
/* 01D260 8001C660 0200B825 */ move $s7, $s0
.L8001C664:
/* 01D264 8001C664 26100001 */ addiu $s0, $s0, 1
/* 01D268 8001C668 1616FFD4 */ bne $s0, $s6, .L8001C5BC
/* 01D26C 8001C66C 26310004 */ addiu $s1, $s1, 4
/* 01D270 8001C670 8FBF005C */ lw $ra, 0x5c($sp)
/* 01D274 8001C674 02E01025 */ move $v0, $s7
/* 01D278 8001C678 8FB70054 */ lw $s7, 0x54($sp)
/* 01D27C 8001C67C C7B50018 */ lwc1 $f21, 0x18($sp)
/* 01D280 8001C680 C7B4001C */ lwc1 $f20, 0x1c($sp)
/* 01D284 8001C684 C7B70020 */ lwc1 $f23, 0x20($sp)
/* 01D288 8001C688 C7B60024 */ lwc1 $f22, 0x24($sp)
/* 01D28C 8001C68C C7B90028 */ lwc1 $f25, 0x28($sp)
/* 01D290 8001C690 C7B8002C */ lwc1 $f24, 0x2c($sp)
/* 01D294 8001C694 C7BB0030 */ lwc1 $f27, 0x30($sp)
/* 01D298 8001C698 C7BA0034 */ lwc1 $f26, 0x34($sp)
/* 01D29C 8001C69C 8FB00038 */ lw $s0, 0x38($sp)
/* 01D2A0 8001C6A0 8FB1003C */ lw $s1, 0x3c($sp)
/* 01D2A4 8001C6A4 8FB20040 */ lw $s2, 0x40($sp)
/* 01D2A8 8001C6A8 8FB30044 */ lw $s3, 0x44($sp)
/* 01D2AC 8001C6AC 8FB40048 */ lw $s4, 0x48($sp)
/* 01D2B0 8001C6B0 8FB5004C */ lw $s5, 0x4c($sp)
/* 01D2B4 8001C6B4 8FB60050 */ lw $s6, 0x50($sp)
/* 01D2B8 8001C6B8 8FBE0058 */ lw $fp, 0x58($sp)
/* 01D2BC 8001C6BC 03E00008 */ jr $ra
/* 01D2C0 8001C6C0 27BD0080 */ addiu $sp, $sp, 0x80
-47
View File
@@ -1,47 +0,0 @@
glabel func_8001E89C
/* 01F49C 8001E89C 3C028012 */ lui $v0, %hi(D_8011AE01) # $v0, 0x8012
/* 01F4A0 8001E8A0 2442AE01 */ addiu $v0, %lo(D_8011AE01) # addiu $v0, $v0, -0x51ff
/* 01F4A4 8001E8A4 804E0000 */ lb $t6, ($v0)
/* 01F4A8 8001E8A8 00000000 */ nop
/* 01F4AC 8001E8AC 11C00003 */ beqz $t6, .L8001E8BC
/* 01F4B0 8001E8B0 00000000 */ nop
/* 01F4B4 8001E8B4 03E00008 */ jr $ra
/* 01F4B8 8001E8B8 A0400000 */ sb $zero, ($v0)
.L8001E8BC:
/* 01F4BC 8001E8BC 3C038012 */ lui $v1, %hi(D_8011AE00) # $v1, 0x8012
/* 01F4C0 8001E8C0 8063AE00 */ lb $v1, %lo(D_8011AE00)($v1)
/* 01F4C4 8001E8C4 00001025 */ move $v0, $zero
/* 01F4C8 8001E8C8 1860001A */ blez $v1, .L8001E934
/* 01F4CC 8001E8CC 3C058012 */ lui $a1, %hi(D_8011ADD8) # $a1, 0x8012
/* 01F4D0 8001E8D0 24A5ADD8 */ addiu $a1, %lo(D_8011ADD8) # addiu $a1, $a1, -0x5228
.L8001E8D4:
/* 01F4D4 8001E8D4 8CA40000 */ lw $a0, ($a1)
/* 01F4D8 8001E8D8 24420001 */ addiu $v0, $v0, 1
/* 01F4DC 8001E8DC 8C860064 */ lw $a2, 0x64($a0)
/* 01F4E0 8001E8E0 00000000 */ nop
/* 01F4E4 8001E8E4 8CC7000C */ lw $a3, 0xc($a2)
/* 01F4E8 8001E8E8 00000000 */ nop
/* 01F4EC 8001E8EC 10E0000F */ beqz $a3, .L8001E92C
/* 01F4F0 8001E8F0 0043082A */ slt $at, $v0, $v1
/* 01F4F4 8001E8F4 C4C40000 */ lwc1 $f4, ($a2)
/* 01F4F8 8001E8F8 3C038012 */ lui $v1, %hi(D_8011AE00) # $v1, 0x8012
/* 01F4FC 8001E8FC E4E4000C */ swc1 $f4, 0xc($a3)
/* 01F500 8001E900 8CCF000C */ lw $t7, 0xc($a2)
/* 01F504 8001E904 C4C60004 */ lwc1 $f6, 4($a2)
/* 01F508 8001E908 00000000 */ nop
/* 01F50C 8001E90C E5E60010 */ swc1 $f6, 0x10($t7)
/* 01F510 8001E910 8CD8000C */ lw $t8, 0xc($a2)
/* 01F514 8001E914 C4C80008 */ lwc1 $f8, 8($a2)
/* 01F518 8001E918 00000000 */ nop
/* 01F51C 8001E91C E7080014 */ swc1 $f8, 0x14($t8)
/* 01F520 8001E920 8063AE00 */ lb $v1, %lo(D_8011AE00)($v1)
/* 01F524 8001E924 00000000 */ nop
/* 01F528 8001E928 0043082A */ slt $at, $v0, $v1
.L8001E92C:
/* 01F52C 8001E92C 1420FFE9 */ bnez $at, .L8001E8D4
/* 01F530 8001E930 24A50004 */ addiu $a1, $a1, 4
.L8001E934:
/* 01F534 8001E934 03E00008 */ jr $ra
/* 01F538 8001E938 00000000 */ nop
@@ -1,72 +0,0 @@
glabel func_800B3564
/* 0B4164 800B3564 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 0B4168 800B3568 AFB30028 */ sw $s3, 0x28($sp)
/* 0B416C 800B356C 3C138012 */ lui $s3, %hi(D_80127C80) # $s3, 0x8012
/* 0B4170 800B3570 26737C80 */ addiu $s3, %lo(D_80127C80) # addiu $s3, $s3, 0x7c80
/* 0B4174 800B3574 8E620000 */ lw $v0, ($s3)
/* 0B4178 800B3578 AFB10020 */ sw $s1, 0x20($sp)
/* 0B417C 800B357C AFB0001C */ sw $s0, 0x1c($sp)
/* 0B4180 800B3580 0002702A */ slt $t6, $zero, $v0
/* 0B4184 800B3584 00808025 */ move $s0, $a0
/* 0B4188 800B3588 AFBF002C */ sw $ra, 0x2c($sp)
/* 0B418C 800B358C AFB20024 */ sw $s2, 0x24($sp)
/* 0B4190 800B3590 E7B50010 */ swc1 $f21, 0x10($sp)
/* 0B4194 800B3594 E7B40014 */ swc1 $f20, 0x14($sp)
/* 0B4198 800B3598 11C0002E */ beqz $t6, .L800B3654
/* 0B419C 800B359C 24110001 */ li $s1, 1
/* 0B41A0 800B35A0 4480A000 */ mtc1 $zero, $f20
/* 0B41A4 800B35A4 2492001C */ addiu $s2, $a0, 0x1c
.L800B35A8:
/* 0B41A8 800B35A8 C6040058 */ lwc1 $f4, 0x58($s0)
/* 0B41AC 800B35AC E614001C */ swc1 $f20, 0x1c($s0)
/* 0B41B0 800B35B0 46002187 */ neg.s $f6, $f4
/* 0B41B4 800B35B4 E6140020 */ swc1 $f20, 0x20($s0)
/* 0B41B8 800B35B8 E6060024 */ swc1 $f6, 0x24($s0)
/* 0B41BC 800B35BC 02002025 */ move $a0, $s0
/* 0B41C0 800B35C0 0C01C124 */ jal f32_vec3_apply_object_rotation3
/* 0B41C4 800B35C4 02402825 */ move $a1, $s2
/* 0B41C8 800B35C8 C608000C */ lwc1 $f8, 0xc($s0)
/* 0B41CC 800B35CC C60A001C */ lwc1 $f10, 0x1c($s0)
/* 0B41D0 800B35D0 C6120020 */ lwc1 $f18, 0x20($s0)
/* 0B41D4 800B35D4 C6040068 */ lwc1 $f4, 0x68($s0)
/* 0B41D8 800B35D8 460A4400 */ add.s $f16, $f8, $f10
/* 0B41DC 800B35DC C6080010 */ lwc1 $f8, 0x10($s0)
/* 0B41E0 800B35E0 46049181 */ sub.s $f6, $f18, $f4
/* 0B41E4 800B35E4 E610000C */ swc1 $f16, 0xc($s0)
/* 0B41E8 800B35E8 46064280 */ add.s $f10, $f8, $f6
/* 0B41EC 800B35EC C6100014 */ lwc1 $f16, 0x14($s0)
/* 0B41F0 800B35F0 C6120024 */ lwc1 $f18, 0x24($s0)
/* 0B41F4 800B35F4 C6060028 */ lwc1 $f6, 0x28($s0)
/* 0B41F8 800B35F8 C6080008 */ lwc1 $f8, 8($s0)
/* 0B41FC 800B35FC 860F0000 */ lh $t7, ($s0)
/* 0B4200 800B3600 86180062 */ lh $t8, 0x62($s0)
/* 0B4204 800B3604 86080002 */ lh $t0, 2($s0)
/* 0B4208 800B3608 86090064 */ lh $t1, 0x64($s0)
/* 0B420C 800B360C 860B0004 */ lh $t3, 4($s0)
/* 0B4210 800B3610 860C0066 */ lh $t4, 0x66($s0)
/* 0B4214 800B3614 E60A0010 */ swc1 $f10, 0x10($s0)
/* 0B4218 800B3618 46128100 */ add.s $f4, $f16, $f18
/* 0B421C 800B361C 01F8C821 */ addu $t9, $t7, $t8
/* 0B4220 800B3620 46064280 */ add.s $f10, $f8, $f6
/* 0B4224 800B3624 01095021 */ addu $t2, $t0, $t1
/* 0B4228 800B3628 016C6821 */ addu $t5, $t3, $t4
/* 0B422C 800B362C E6040014 */ swc1 $f4, 0x14($s0)
/* 0B4230 800B3630 E60A0008 */ swc1 $f10, 8($s0)
/* 0B4234 800B3634 A6190000 */ sh $t9, ($s0)
/* 0B4238 800B3638 A60A0002 */ sh $t2, 2($s0)
/* 0B423C 800B363C A60D0004 */ sh $t5, 4($s0)
/* 0B4240 800B3640 8E6E0000 */ lw $t6, ($s3)
/* 0B4244 800B3644 00000000 */ nop
/* 0B4248 800B3648 022E102A */ slt $v0, $s1, $t6
/* 0B424C 800B364C 1440FFD6 */ bnez $v0, .L800B35A8
/* 0B4250 800B3650 26310001 */ addiu $s1, $s1, 1
.L800B3654:
/* 0B4254 800B3654 8FBF002C */ lw $ra, 0x2c($sp)
/* 0B4258 800B3658 C7B50010 */ lwc1 $f21, 0x10($sp)
/* 0B425C 800B365C C7B40014 */ lwc1 $f20, 0x14($sp)
/* 0B4260 800B3660 8FB0001C */ lw $s0, 0x1c($sp)
/* 0B4264 800B3664 8FB10020 */ lw $s1, 0x20($sp)
/* 0B4268 800B3668 8FB20024 */ lw $s2, 0x24($sp)
/* 0B426C 800B366C 8FB30028 */ lw $s3, 0x28($sp)
/* 0B4270 800B3670 03E00008 */ jr $ra
/* 0B4274 800B3674 27BD0030 */ addiu $sp, $sp, 0x30
-187
View File
@@ -1,187 +0,0 @@
.late_rodata
glabel D_800E64A0
.double 0.16666666666666666
.text
glabel rotate_racer_in_water
/* 04A0E0 800494E0 27BDFF78 */ addiu $sp, $sp, -0x88
/* 04A0E4 800494E4 8FB80098 */ lw $t8, 0x98($sp)
/* 04A0E8 800494E8 00077600 */ sll $t6, $a3, 0x18
/* 04A0EC 800494EC 44982000 */ mtc1 $t8, $f4
/* 04A0F0 800494F0 000E7E03 */ sra $t7, $t6, 0x18
/* 04A0F4 800494F4 AFB10028 */ sw $s1, 0x28($sp)
/* 04A0F8 800494F8 AFB00024 */ sw $s0, 0x24($sp)
/* 04A0FC 800494FC 2401000E */ li $at, 14
/* 04A100 80049500 00C08025 */ move $s0, $a2
/* 04A104 80049504 00808825 */ move $s1, $a0
/* 04A108 80049508 AFBF002C */ sw $ra, 0x2c($sp)
/* 04A10C 8004950C AFA5008C */ sw $a1, 0x8c($sp)
/* 04A110 80049510 AFA70094 */ sw $a3, 0x94($sp)
/* 04A114 80049514 15E10019 */ bne $t7, $at, .L8004957C
/* 04A118 80049518 46802020 */ cvt.s.w $f0, $f4
/* 04A11C 8004951C 44800000 */ mtc1 $zero, $f0
/* 04A120 80049520 C4A2002C */ lwc1 $f2, 0x2c($a1)
/* 04A124 80049524 3C01800E */ lui $at, %hi(D_800E64A0 + 4) # $at, 0x800e
/* 04A128 80049528 4600103C */ c.lt.s $f2, $f0
/* 04A12C 8004952C 00000000 */ nop
/* 04A130 80049530 45000002 */ bc1f .L8004953C
/* 04A134 80049534 00000000 */ nop
/* 04A138 80049538 46001087 */ neg.s $f2, $f2
.L8004953C:
/* 04A13C 8004953C C42964A0 */ lwc1 $f9, %lo(D_800E64A0)($at)
/* 04A140 80049540 C42864A4 */ lwc1 $f8, %lo(D_800E64A0 + 4)($at)
/* 04A144 80049544 460011A1 */ cvt.d.s $f6, $f2
/* 04A148 80049548 46283282 */ mul.d $f10, $f6, $f8
/* 04A14C 8004954C 3C013FF0 */ li $at, 0x3FF00000 # 1.875000
/* 04A150 80049550 44818800 */ mtc1 $at, $f17
/* 04A154 80049554 44808000 */ mtc1 $zero, $f16
/* 04A158 80049558 00000000 */ nop
/* 04A15C 8004955C 462A8481 */ sub.d $f18, $f16, $f10
/* 04A160 80049560 462090A0 */ cvt.s.d $f2, $f18
/* 04A164 80049564 4600103C */ c.lt.s $f2, $f0
/* 04A168 80049568 00000000 */ nop
/* 04A16C 8004956C 45000014 */ bc1f .L800495C0
/* 04A170 80049570 00000000 */ nop
/* 04A174 80049574 10000012 */ b .L800495C0
/* 04A178 80049578 46000086 */ mov.s $f2, $f0
.L8004957C:
/* 04A17C 8004957C C6060000 */ lwc1 $f6, ($s0)
/* 04A180 80049580 C7AC00A0 */ lwc1 $f12, 0xa0($sp)
/* 04A184 80049584 46003202 */ mul.s $f8, $f6, $f0
/* 04A188 80049588 C624000C */ lwc1 $f4, 0xc($s1)
/* 04A18C 8004958C C6320014 */ lwc1 $f18, 0x14($s1)
/* 04A190 80049590 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 04A194 80049594 460C4402 */ mul.s $f16, $f8, $f12
/* 04A198 80049598 44811000 */ mtc1 $at, $f2
/* 04A19C 8004959C 46102280 */ add.s $f10, $f4, $f16
/* 04A1A0 800495A0 E62A000C */ swc1 $f10, 0xc($s1)
/* 04A1A4 800495A4 C6060008 */ lwc1 $f6, 8($s0)
/* 04A1A8 800495A8 00000000 */ nop
/* 04A1AC 800495AC 46003202 */ mul.s $f8, $f6, $f0
/* 04A1B0 800495B0 44800000 */ mtc1 $zero, $f0
/* 04A1B4 800495B4 460C4102 */ mul.s $f4, $f8, $f12
/* 04A1B8 800495B8 46049400 */ add.s $f16, $f18, $f4
/* 04A1BC 800495BC E6300014 */ swc1 $f16, 0x14($s1)
.L800495C0:
/* 04A1C0 800495C0 86280000 */ lh $t0, ($s1)
/* 04A1C4 800495C4 3C058012 */ lui $a1, %hi(gCurrentRacerTransform) # $a1, 0x8012
/* 04A1C8 800495C8 24A5D510 */ addiu $a1, %lo(gCurrentRacerTransform) # addiu $a1, $a1, -0x2af0
/* 04A1CC 800495CC 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 04A1D0 800495D0 44815000 */ mtc1 $at, $f10
/* 04A1D4 800495D4 00084823 */ negu $t1, $t0
/* 04A1D8 800495D8 A4A90000 */ sh $t1, ($a1)
/* 04A1DC 800495DC A4A00002 */ sh $zero, 2($a1)
/* 04A1E0 800495E0 A4A00004 */ sh $zero, 4($a1)
/* 04A1E4 800495E4 E4A0000C */ swc1 $f0, 0xc($a1)
/* 04A1E8 800495E8 E4A00010 */ swc1 $f0, 0x10($a1)
/* 04A1EC 800495EC E4A00014 */ swc1 $f0, 0x14($a1)
/* 04A1F0 800495F0 E7A20044 */ swc1 $f2, 0x44($sp)
/* 04A1F4 800495F4 27A40048 */ addiu $a0, $sp, 0x48
/* 04A1F8 800495F8 0C01BF9D */ jal object_transform_to_matrix_2
/* 04A1FC 800495FC E4AA0008 */ swc1 $f10, 8($a1)
/* 04A200 80049600 8E050000 */ lw $a1, ($s0)
/* 04A204 80049604 8E060004 */ lw $a2, 4($s0)
/* 04A208 80049608 8E070008 */ lw $a3, 8($s0)
/* 04A20C 8004960C 260A0004 */ addiu $t2, $s0, 4
/* 04A210 80049610 260B0008 */ addiu $t3, $s0, 8
/* 04A214 80049614 AFAB0018 */ sw $t3, 0x18($sp)
/* 04A218 80049618 AFAA0014 */ sw $t2, 0x14($sp)
/* 04A21C 8004961C AFB00010 */ sw $s0, 0x10($sp)
/* 04A220 80049620 0C01BD93 */ jal guMtxXFMF
/* 04A224 80049624 27A40048 */ addiu $a0, $sp, 0x48
/* 04A228 80049628 C60C0000 */ lwc1 $f12, ($s0)
/* 04A22C 8004962C C60E0004 */ lwc1 $f14, 4($s0)
/* 04A230 80049630 0C01C1D4 */ jal arctan2_f
/* 04A234 80049634 00000000 */ nop
/* 04A238 80049638 00026400 */ sll $t4, $v0, 0x10
/* 04A23C 8004963C 000C6C03 */ sra $t5, $t4, 0x10
/* 04A240 80049640 000D7023 */ negu $t6, $t5
/* 04A244 80049644 448E3000 */ mtc1 $t6, $f6
/* 04A248 80049648 C7A20044 */ lwc1 $f2, 0x44($sp)
/* 04A24C 8004964C 46803220 */ cvt.s.w $f8, $f6
/* 04A250 80049650 8FA5008C */ lw $a1, 0x8c($sp)
/* 04A254 80049654 8FB9009C */ lw $t9, 0x9c($sp)
/* 04A258 80049658 46024482 */ mul.s $f18, $f8, $f2
/* 04A25C 8004965C 84A301A4 */ lh $v1, 0x1a4($a1)
/* 04A260 80049660 00194180 */ sll $t0, $t9, 6
/* 04A264 80049664 306BFFFF */ andi $t3, $v1, 0xffff
/* 04A268 80049668 444FF800 */ cfc1 $t7, $31
/* 04A26C 8004966C 8FAC0098 */ lw $t4, 0x98($sp)
/* 04A270 80049670 35E10003 */ ori $at, $t7, 3
/* 04A274 80049674 38210002 */ xori $at, $at, 2
/* 04A278 80049678 44C1F800 */ ctc1 $at, $31
/* 04A27C 8004967C 34018001 */ li $at, 32769
/* 04A280 80049680 46009124 */ cvt.w.s $f4, $f18
/* 04A284 80049684 44182000 */ mfc1 $t8, $f4
/* 04A288 80049688 44CFF800 */ ctc1 $t7, $31
/* 04A28C 8004968C 03084823 */ subu $t1, $t8, $t0
/* 04A290 80049690 312AFFFF */ andi $t2, $t1, 0xffff
/* 04A294 80049694 014B2023 */ subu $a0, $t2, $t3
/* 04A298 80049698 0081082A */ slt $at, $a0, $at
/* 04A29C 8004969C 14200003 */ bnez $at, .L800496AC
/* 04A2A0 800496A0 3C01FFFF */ lui $at, (0xFFFF0001 >> 16) # lui $at, 0xffff
/* 04A2A4 800496A4 34210001 */ ori $at, (0xFFFF0001 & 0xFFFF) # ori $at, $at, 1
/* 04A2A8 800496A8 00812021 */ addu $a0, $a0, $at
.L800496AC:
/* 04A2AC 800496AC 28818000 */ slti $at, $a0, -0x8000
/* 04A2B0 800496B0 10200002 */ beqz $at, .L800496BC
/* 04A2B4 800496B4 3401FFFF */ li $at, 65535
/* 04A2B8 800496B8 00812021 */ addu $a0, $a0, $at
.L800496BC:
/* 04A2BC 800496BC 008C0019 */ multu $a0, $t4
/* 04A2C0 800496C0 00006812 */ mflo $t5
/* 04A2C4 800496C4 000D7103 */ sra $t6, $t5, 4
/* 04A2C8 800496C8 006E7821 */ addu $t7, $v1, $t6
/* 04A2CC 800496CC A4AF01A4 */ sh $t7, 0x1a4($a1)
/* 04A2D0 800496D0 C60E0004 */ lwc1 $f14, 4($s0)
/* 04A2D4 800496D4 C60C0008 */ lwc1 $f12, 8($s0)
/* 04A2D8 800496D8 0C01C1D4 */ jal arctan2_f
/* 04A2DC 800496DC E7A20044 */ swc1 $f2, 0x44($sp)
/* 04A2E0 800496E0 0002CC00 */ sll $t9, $v0, 0x10
/* 04A2E4 800496E4 0019C403 */ sra $t8, $t9, 0x10
/* 04A2E8 800496E8 44988000 */ mtc1 $t8, $f16
/* 04A2EC 800496EC C7A20044 */ lwc1 $f2, 0x44($sp)
/* 04A2F0 800496F0 468082A0 */ cvt.s.w $f10, $f16
/* 04A2F4 800496F4 3C0A8012 */ lui $t2, %hi(gCurrentStickY) # $t2, 0x8012
/* 04A2F8 800496F8 8D4AD538 */ lw $t2, %lo(gCurrentStickY)($t2)
/* 04A2FC 800496FC 46025182 */ mul.s $f6, $f10, $f2
/* 04A300 80049700 000A5823 */ negu $t3, $t2
/* 04A304 80049704 000B6140 */ sll $t4, $t3, 5
/* 04A308 80049708 86250002 */ lh $a1, 2($s1)
/* 04A30C 8004970C 4448F800 */ cfc1 $t0, $31
/* 04A310 80049710 30AEFFFF */ andi $t6, $a1, 0xffff
/* 04A314 80049714 35010003 */ ori $at, $t0, 3
/* 04A318 80049718 38210002 */ xori $at, $at, 2
/* 04A31C 8004971C 44C1F800 */ ctc1 $at, $31
/* 04A320 80049720 34018001 */ li $at, 32769
/* 04A324 80049724 46003224 */ cvt.w.s $f8, $f6
/* 04A328 80049728 8FAF0098 */ lw $t7, 0x98($sp)
/* 04A32C 8004972C 44094000 */ mfc1 $t1, $f8
/* 04A330 80049730 44C8F800 */ ctc1 $t0, $31
/* 04A334 80049734 012C1821 */ addu $v1, $t1, $t4
/* 04A338 80049738 246303C0 */ addiu $v1, $v1, 0x3c0
/* 04A33C 8004973C 306DFFFF */ andi $t5, $v1, 0xffff
/* 04A340 80049740 01AE2023 */ subu $a0, $t5, $t6
/* 04A344 80049744 0081082A */ slt $at, $a0, $at
/* 04A348 80049748 14200003 */ bnez $at, .L80049758
/* 04A34C 8004974C 3C01FFFF */ lui $at, (0xFFFF0001 >> 16) # lui $at, 0xffff
/* 04A350 80049750 34210001 */ ori $at, (0xFFFF0001 & 0xFFFF) # ori $at, $at, 1
/* 04A354 80049754 00812021 */ addu $a0, $a0, $at
.L80049758:
/* 04A358 80049758 28818000 */ slti $at, $a0, -0x8000
/* 04A35C 8004975C 10200002 */ beqz $at, .L80049768
/* 04A360 80049760 3401FFFF */ li $at, 65535
/* 04A364 80049764 00812021 */ addu $a0, $a0, $at
.L80049768:
/* 04A368 80049768 008F0019 */ multu $a0, $t7
/* 04A36C 8004976C 46001006 */ mov.s $f0, $f2
/* 04A370 80049770 0000C812 */ mflo $t9
/* 04A374 80049774 0019C103 */ sra $t8, $t9, 4
/* 04A378 80049778 00B84021 */ addu $t0, $a1, $t8
/* 04A37C 8004977C A6280002 */ sh $t0, 2($s1)
/* 04A380 80049780 8FBF002C */ lw $ra, 0x2c($sp)
/* 04A384 80049784 8FB10028 */ lw $s1, 0x28($sp)
/* 04A388 80049788 8FB00024 */ lw $s0, 0x24($sp)
/* 04A38C 8004978C 03E00008 */ jr $ra
/* 04A390 80049790 27BD0088 */ addiu $sp, $sp, 0x88
@@ -1,61 +0,0 @@
glabel func_80072348
/* 072F48 80072348 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 072F4C 8007234C 00047400 */ sll $t6, $a0, 0x10
/* 072F50 80072350 30B800FF */ andi $t8, $a1, 0xff
/* 072F54 80072354 000E7C03 */ sra $t7, $t6, 0x10
/* 072F58 80072358 AFA40020 */ sw $a0, 0x20($sp)
/* 072F5C 8007235C 2B010013 */ slti $at, $t8, 0x13
/* 072F60 80072360 01E02025 */ move $a0, $t7
/* 072F64 80072364 AFBF0014 */ sw $ra, 0x14($sp)
/* 072F68 80072368 1020002A */ beqz $at, .L80072414
/* 072F6C 8007236C AFA50024 */ sw $a1, 0x24($sp)
/* 072F70 80072370 05E00028 */ bltz $t7, .L80072414
/* 072F74 80072374 29E10004 */ slti $at, $t7, 4
/* 072F78 80072378 10200027 */ beqz $at, .L80072418
/* 072F7C 8007237C 8FBF0014 */ lw $ra, 0x14($sp)
/* 072F80 80072380 A7AF0022 */ sh $t7, 0x22($sp)
/* 072F84 80072384 0C01C894 */ jal func_80072250
/* 072F88 80072388 AFB80018 */ sw $t8, 0x18($sp)
/* 072F8C 8007238C 3059FFFF */ andi $t9, $v0, 0xffff
/* 072F90 80072390 00194080 */ sll $t0, $t9, 2
/* 072F94 80072394 01194021 */ addu $t0, $t0, $t9
/* 072F98 80072398 3C098012 */ lui $t1, %hi(D_801241B8) # $t1, 0x8012
/* 072F9C 8007239C 252941B8 */ addiu $t1, %lo(D_801241B8) # addiu $t1, $t1, 0x41b8
/* 072FA0 800723A0 00084040 */ sll $t0, $t0, 1
/* 072FA4 800723A4 01091821 */ addu $v1, $t0, $t1
/* 072FA8 800723A8 8FA60018 */ lw $a2, 0x18($sp)
/* 072FAC 800723AC 846A0000 */ lh $t2, ($v1)
/* 072FB0 800723B0 87A40022 */ lh $a0, 0x22($sp)
/* 072FB4 800723B4 14CA000C */ bne $a2, $t2, .L800723E8
/* 072FB8 800723B8 3C088012 */ lui $t0, %hi(sUnkMiscAsset19) # $t0, 0x8012
/* 072FBC 800723BC 846B0008 */ lh $t3, 8($v1)
/* 072FC0 800723C0 240CFED4 */ li $t4, -300
/* 072FC4 800723C4 05610002 */ bgez $t3, .L800723D0
/* 072FC8 800723C8 3C0D8012 */ lui $t5, %hi(sUnkMiscAsset19) # $t5, 0x8012
/* 072FCC 800723CC A46C0008 */ sh $t4, 8($v1)
.L800723D0:
/* 072FD0 800723D0 8DAD41E0 */ lw $t5, %lo(sUnkMiscAsset19)($t5)
/* 072FD4 800723D4 00067880 */ sll $t7, $a2, 2
/* 072FD8 800723D8 01AFC021 */ addu $t8, $t5, $t7
/* 072FDC 800723DC 87190002 */ lh $t9, 2($t8)
/* 072FE0 800723E0 1000000C */ b .L80072414
/* 072FE4 800723E4 A4790004 */ sh $t9, 4($v1)
.L800723E8:
/* 072FE8 800723E8 A4660000 */ sh $a2, ($v1)
/* 072FEC 800723EC 8D0841E0 */ lw $t0, %lo(sUnkMiscAsset19)($t0)
/* 072FF0 800723F0 00065080 */ sll $t2, $a2, 2
/* 072FF4 800723F4 010A1021 */ addu $v0, $t0, $t2
/* 072FF8 800723F8 84450000 */ lh $a1, ($v0)
/* 072FFC 800723FC 00000000 */ nop
/* 073000 80072400 10A00005 */ beqz $a1, .L80072418
/* 073004 80072404 8FBF0014 */ lw $ra, 0x14($sp)
/* 073008 80072408 84460002 */ lh $a2, 2($v0)
/* 07300C 8007240C 0C01C95E */ jal func_80072578
/* 073010 80072410 00000000 */ nop
.L80072414:
/* 073014 80072414 8FBF0014 */ lw $ra, 0x14($sp)
.L80072418:
/* 073018 80072418 27BD0020 */ addiu $sp, $sp, 0x20
/* 07301C 8007241C 03E00008 */ jr $ra
/* 073020 80072420 00000000 */ nop
@@ -1,24 +0,0 @@
glabel func_8007B380
/* 07BF80 8007B380 04800006 */ bltz $a0, .L8007B39C
/* 07BF84 8007B384 3C0E8012 */ lui $t6, %hi(gNumberOfLoadedTextures) # $t6, 0x8012
/* 07BF88 8007B388 8DCE6330 */ lw $t6, %lo(gNumberOfLoadedTextures)($t6)
/* 07BF8C 8007B38C 3C0F8012 */ lui $t7, %hi(gTextureCache) # $t7, 0x8012
/* 07BF90 8007B390 008E082A */ slt $at, $a0, $t6
/* 07BF94 8007B394 14200003 */ bnez $at, .L8007B3A4
/* 07BF98 8007B398 00000000 */ nop
.L8007B39C:
/* 07BF9C 8007B39C 03E00008 */ jr $ra
/* 07BFA0 8007B3A0 00001025 */ move $v0, $zero
.L8007B3A4:
/* 07BFA4 8007B3A4 8DEF6328 */ lw $t7, %lo(gTextureCache)($t7)
/* 07BFA8 8007B3A8 0004C8C0 */ sll $t9, $a0, 3
/* 07BFAC 8007B3AC 01F94021 */ addu $t0, $t7, $t9
/* 07BFB0 8007B3B0 8D030004 */ lw $v1, 4($t0)
/* 07BFB4 8007B3B4 2401FFFF */ li $at, -1
/* 07BFB8 8007B3B8 14610003 */ bne $v1, $at, .L8007B3C8
/* 07BFBC 8007B3BC 00601025 */ move $v0, $v1
/* 07BFC0 8007B3C0 03E00008 */ jr $ra
/* 07BFC4 8007B3C4 00001025 */ move $v0, $zero
.L8007B3C8:
/* 07BFC8 8007B3C8 03E00008 */ jr $ra
/* 07BFCC 8007B3CC 00000000 */ nop
-77
View File
@@ -1,77 +0,0 @@
glabel func_800BEEB4
/* 0BFAB4 800BEEB4 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 0BFAB8 800BEEB8 AFBF0014 */ sw $ra, 0x14($sp)
/* 0BFABC 800BEEBC 948E0004 */ lhu $t6, 4($a0)
/* 0BFAC0 800BEEC0 94830006 */ lhu $v1, 6($a0)
/* 0BFAC4 800BEEC4 01C57821 */ addu $t7, $t6, $a1
/* 0BFAC8 800BEEC8 31E2FFFF */ andi $v0, $t7, 0xffff
/* 0BFACC 800BEECC 0043082A */ slt $at, $v0, $v1
/* 0BFAD0 800BEED0 00803825 */ move $a3, $a0
/* 0BFAD4 800BEED4 14200006 */ bnez $at, .L800BEEF0
/* 0BFAD8 800BEED8 A48F0004 */ sh $t7, 4($a0)
.L800BEEDC:
/* 0BFADC 800BEEDC 0043C023 */ subu $t8, $v0, $v1
/* 0BFAE0 800BEEE0 3302FFFF */ andi $v0, $t8, 0xffff
/* 0BFAE4 800BEEE4 0043082A */ slt $at, $v0, $v1
/* 0BFAE8 800BEEE8 1020FFFC */ beqz $at, .L800BEEDC
/* 0BFAEC 800BEEEC A4F80004 */ sh $t8, 4($a3)
.L800BEEF0:
/* 0BFAF0 800BEEF0 0002C843 */ sra $t9, $v0, 1
/* 0BFAF4 800BEEF4 00F92021 */ addu $a0, $a3, $t9
/* 0BFAF8 800BEEF8 8088000E */ lb $t0, 0xe($a0)
/* 0BFAFC 800BEEFC 30490001 */ andi $t1, $v0, 1
/* 0BFB00 800BEF00 11200012 */ beqz $t1, .L800BEF4C
/* 0BFB04 800BEF04 244A0001 */ addiu $t2, $v0, 1
/* 0BFB08 800BEF08 0143082A */ slt $at, $t2, $v1
/* 0BFB0C 800BEF0C 14200004 */ bnez $at, .L800BEF20
/* 0BFB10 800BEF10 00000000 */ nop
/* 0BFB14 800BEF14 80EB000E */ lb $t3, 0xe($a3)
/* 0BFB18 800BEF18 10000004 */ b .L800BEF2C
/* 0BFB1C 800BEF1C 010B4021 */ addu $t0, $t0, $t3
.L800BEF20:
/* 0BFB20 800BEF20 808C000F */ lb $t4, 0xf($a0)
/* 0BFB24 800BEF24 00000000 */ nop
/* 0BFB28 800BEF28 010C4021 */ addu $t0, $t0, $t4
.L800BEF2C:
/* 0BFB2C 800BEF2C 90E20002 */ lbu $v0, 2($a3)
/* 0BFB30 800BEF30 00087043 */ sra $t6, $t0, 1
/* 0BFB34 800BEF34 18400003 */ blez $v0, .L800BEF44
/* 0BFB38 800BEF38 244D001F */ addiu $t5, $v0, 0x1f
/* 0BFB3C 800BEF3C 10000006 */ b .L800BEF58
/* 0BFB40 800BEF40 01A84004 */ sllv $t0, $t0, $t5
.L800BEF44:
/* 0BFB44 800BEF44 10000004 */ b .L800BEF58
/* 0BFB48 800BEF48 01C04025 */ move $t0, $t6
.L800BEF4C:
/* 0BFB4C 800BEF4C 90EF0002 */ lbu $t7, 2($a3)
/* 0BFB50 800BEF50 00000000 */ nop
/* 0BFB54 800BEF54 01E84004 */ sllv $t0, $t0, $t7
.L800BEF58:
/* 0BFB58 800BEF58 44882000 */ mtc1 $t0, $f4
/* 0BFB5C 800BEF5C 84F80000 */ lh $t8, ($a3)
/* 0BFB60 800BEF60 468021A0 */ cvt.s.w $f6, $f4
/* 0BFB64 800BEF64 3C013FB0 */ li $at, 0x3FB00000 # 1.375000
/* 0BFB68 800BEF68 44815800 */ mtc1 $at, $f11
/* 0BFB6C 800BEF6C 44805000 */ mtc1 $zero, $f10
/* 0BFB70 800BEF70 44989000 */ mtc1 $t8, $f18
/* 0BFB74 800BEF74 46003221 */ cvt.d.s $f8, $f6
/* 0BFB78 800BEF78 462A4402 */ mul.d $f16, $f8, $f10
/* 0BFB7C 800BEF7C 46809120 */ cvt.s.w $f4, $f18
/* 0BFB80 800BEF80 3C018013 */ lui $at, %hi(D_80129FC8 + 64) # $at, 0x8013
/* 0BFB84 800BEF84 C42AA008 */ lwc1 $f10, %lo(D_80129FC8 + 64)($at)
/* 0BFB88 800BEF88 94E4000C */ lhu $a0, 0xc($a3)
/* 0BFB8C 800BEF8C 460021A1 */ cvt.d.s $f6, $f4
/* 0BFB90 800BEF90 46268200 */ add.d $f8, $f16, $f6
/* 0BFB94 800BEF94 94E50008 */ lhu $a1, 8($a3)
/* 0BFB98 800BEF98 462040A0 */ cvt.s.d $f2, $f8
/* 0BFB9C 800BEF9C 94E6000A */ lhu $a2, 0xa($a3)
/* 0BFBA0 800BEFA0 460A1082 */ mul.s $f2, $f2, $f10
/* 0BFBA4 800BEFA4 0C02FBF1 */ jal func_800BEFC4
/* 0BFBA8 800BEFA8 E7A20018 */ swc1 $f2, 0x18($sp)
/* 0BFBAC 800BEFAC C7A20018 */ lwc1 $f2, 0x18($sp)
/* 0BFBB0 800BEFB0 8FBF0014 */ lw $ra, 0x14($sp)
/* 0BFBB4 800BEFB4 46001080 */ add.s $f2, $f2, $f0
/* 0BFBB8 800BEFB8 27BD0020 */ addiu $sp, $sp, 0x20
/* 0BFBBC 800BEFBC 03E00008 */ jr $ra
/* 0BFBC0 800BEFC0 46001006 */ mov.s $f0, $f2

Some files were not shown because too many files have changed in this diff Show More