Match 7 different functions, and several more WIP (#401)

* Explicitly mark some object functions as void, which exposed a minor flaw in render_hud.

* WIP func_80006FC8

* More func_80006FC8 WIP

* MORE WIP

* Much progress, such wow.

* Look at all the commits I have!

* Score to 35k

* 15529

* BEEP BOOP

* Remove file

* 14973

* 8482

* 8046

* 7300

* func_80006AC8 near match

* Move some asm files into more apprproate folders for the file they are part of.

* Match func_800050D0

* Match func_80006AC8

* func_80006FC8 4894

* 3569!

* 3024, if statement fix.

* Make a m2cfiles dir so I stop accidentally committing those files.

* Score improvement

* Make func_80005254 buildable, but not anything mor

* func_80005254 29432

* func_80005254 16987

* func_80005254 15632

* func_80006BFC 1015

* Match func_80006BFC

* Update score

* func_80005D08 5605

* func_80005D08 3190

* func_80005D08 2386

* func_80005D08 165

* func_80005D08 score 65.

* Promote func_80005D08 to NON_MATCHING

* Matched func_80005D08!

* func_80005254 3347

* func_80005254 3185

* parking func_80005254 for now.

* func_800063EC compiling

* Park func_800063EC at 3011

* Fix func_80004B40 for M2C

* Start func_80004B40

* REALLY ROUGH func_80004B40

* Kind of wandering ROUGHLY Towards correct on func_80004B40

* Rename a field to make it clear it's currently just padding space

* Bring func_8002E234 to a reasonably close match WIP

* func_8002E234 2359

* Update sprintf signature

* func_8002E234 993 with shenanigans

* Woops

* Increase score for func_80005254

* func_8002FA64 score 10.

* Match func_8002FA64

* Start identifying some var types

* Little more variable identifcations

* Match func_8002C0C4

* Really close on func_8000C8F8

* Make func_8000C8F8 NON_MATCHING

* Match func_8000E898

* Add UNUSED tags to a couple functions

* Update score
This commit is contained in:
Ryan Myers
2023-09-01 08:17:01 -04:00
committed by GitHub
parent c8a8d8a3a7
commit f723489a0f
36 changed files with 1498 additions and 1654 deletions
+3
View File
@@ -19,6 +19,9 @@ ctx.c
ctx_includes.c
ctx.c.m2c
#Folder for automatically decompiled functions output from mips2c
m2cfiles/
# Misc stuff that should be ignored.
.*/
+9 -9
View File
@@ -5,9 +5,9 @@ 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 June 22, 2023, this is our current score:
As of August 31, 2023, this is our current score:
&emsp;&emsp;&emsp;&emsp;Decomp progress: 52.10%
&emsp;&emsp;&emsp;&emsp;Decomp progress: 52.69%
&emsp;&emsp;&emsp;&emsp;Documentation progress: 26.72%
<!-- README_SCORE_SUMMARY_END -->
@@ -128,20 +128,20 @@ s32 is_drumstick_unlocked(void) {
```
<!-- README_SCORE_BEGIN -->
As of June 22, 2023, this is our current score:
As of August 31st, 2023, this is our current score:
```
=================================================
ADVENTURE ONE (ASM -> C Decompilation)
---------------- 52.10% Complete ----------------
# Decompiled functions: 1508
# GLOBAL_ASM remaining: 323
# NON_MATCHING functions: 12
# NON_EQUIVALENT WIP functions: 65
---------------- 52.69% Complete ----------------
# Decompiled functions: 1515
# GLOBAL_ASM remaining: 316
# NON_MATCHING functions: 13
# 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
-------------------------------------------------
We are racing the octopus boss Bubbler. (Lap 2/3)
We are racing the octopus boss Bubbler. (Lap 3/3)
=================================================
ADVENTURE TWO (Cleanup & Documentation)
---------------- 26.72% Complete ----------------
-49
View File
@@ -1,49 +0,0 @@
glabel func_8000E898
/* 00F498 8000E898 3C0F8012 */ lui $t7, %hi(D_8011AEA0) # $t7, 0x8012
/* 00F49C 8000E89C 25EFAEA0 */ addiu $t7, %lo(D_8011AEA0) # addiu $t7, $t7, -0x5160
/* 00F4A0 8000E8A0 00053080 */ sll $a2, $a1, 2
/* 00F4A4 8000E8A4 90820001 */ lbu $v0, 1($a0)
/* 00F4A8 8000E8A8 00CF3821 */ addu $a3, $a2, $t7
/* 00F4AC 8000E8AC 3C188012 */ lui $t8, %hi(D_8011AE98) # $t8, 0x8012
/* 00F4B0 8000E8B0 8CE80000 */ lw $t0, ($a3)
/* 00F4B4 8000E8B4 0306C021 */ addu $t8, $t8, $a2
/* 00F4B8 8000E8B8 8F18AE98 */ lw $t8, %lo(D_8011AE98)($t8)
/* 00F4BC 8000E8BC 304E003F */ andi $t6, $v0, 0x3f
/* 00F4C0 8000E8C0 010EC821 */ addu $t9, $t0, $t6
/* 00F4C4 8000E8C4 01C01025 */ move $v0, $t6
/* 00F4C8 8000E8C8 ACF90000 */ sw $t9, ($a3)
/* 00F4CC 8000E8CC 00004825 */ move $t1, $zero
/* 00F4D0 8000E8D0 19C0001B */ blez $t6, .L8000E940
/* 00F4D4 8000E8D4 01181821 */ addu $v1, $t0, $t8
/* 00F4D8 8000E8D8 31C80003 */ andi $t0, $t6, 3
/* 00F4DC 8000E8DC 1100000A */ beqz $t0, .L8000E908
/* 00F4E0 8000E8E0 01002825 */ move $a1, $t0
/* 00F4E4 8000E8E4 00603021 */ addu $a2, $v1, $zero
/* 00F4E8 8000E8E8 00803821 */ addu $a3, $a0, $zero
.L8000E8EC:
/* 00F4EC 8000E8EC 90EA0000 */ lbu $t2, ($a3)
/* 00F4F0 8000E8F0 25290001 */ addiu $t1, $t1, 1
/* 00F4F4 8000E8F4 24C60001 */ addiu $a2, $a2, 1
/* 00F4F8 8000E8F8 24E70001 */ addiu $a3, $a3, 1
/* 00F4FC 8000E8FC 14A9FFFB */ bne $a1, $t1, .L8000E8EC
/* 00F500 8000E900 A0CAFFFF */ sb $t2, -1($a2)
/* 00F504 8000E904 1122000E */ beq $t1, $v0, .L8000E940
.L8000E908:
/* 00F508 8000E908 00693021 */ addu $a2, $v1, $t1
/* 00F50C 8000E90C 00893821 */ addu $a3, $a0, $t1
.L8000E910:
/* 00F510 8000E910 90EB0000 */ lbu $t3, ($a3)
/* 00F514 8000E914 25290004 */ addiu $t1, $t1, 4
/* 00F518 8000E918 A0CB0000 */ sb $t3, ($a2)
/* 00F51C 8000E91C 90EC0001 */ lbu $t4, 1($a3)
/* 00F520 8000E920 24C60004 */ addiu $a2, $a2, 4
/* 00F524 8000E924 A0CCFFFD */ sb $t4, -3($a2)
/* 00F528 8000E928 90ED0002 */ lbu $t5, 2($a3)
/* 00F52C 8000E92C 24E70004 */ addiu $a3, $a3, 4
/* 00F530 8000E930 A0CDFFFE */ sb $t5, -2($a2)
/* 00F534 8000E934 90EEFFFF */ lbu $t6, -1($a3)
/* 00F538 8000E938 1522FFF5 */ bne $t1, $v0, .L8000E910
/* 00F53C 8000E93C A0CEFFFF */ sb $t6, -1($a2)
.L8000E940:
/* 00F540 8000E940 03E00008 */ jr $ra
/* 00F544 8000E944 00601025 */ move $v0, $v1
-233
View File
@@ -1,233 +0,0 @@
glabel func_800249F0
/* 0255F0 800249F0 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 0255F4 800249F4 AFBF0024 */ sw $ra, 0x24($sp)
/* 0255F8 800249F8 AFB2001C */ sw $s2, 0x1c($sp)
/* 0255FC 800249FC AFB10018 */ sw $s1, 0x18($sp)
/* 025600 80024A00 00808825 */ move $s1, $a0
/* 025604 80024A04 00A09025 */ move $s2, $a1
/* 025608 80024A08 AFB30020 */ sw $s3, 0x20($sp)
/* 02560C 80024A0C AFB00014 */ sw $s0, 0x14($sp)
/* 025610 80024A10 AFA60030 */ sw $a2, 0x30($sp)
/* 025614 80024A14 0C01AF6C */ jal get_current_level_header
/* 025618 80024A18 AFA70034 */ sw $a3, 0x34($sp)
/* 02561C 80024A1C 3C048012 */ lui $a0, %hi(D_8011B0F8) # $a0, 0x8012
/* 025620 80024A20 3C05800E */ lui $a1, %hi(gCurrentLevelHeader2) # $a1, 0x800e
/* 025624 80024A24 24A5C91C */ addiu $a1, %lo(gCurrentLevelHeader2) # addiu $a1, $a1, -0x36e4
/* 025628 80024A28 2484B0F8 */ addiu $a0, %lo(D_8011B0F8) # addiu $a0, $a0, -0x4f08
/* 02562C 80024A2C ACA20000 */ sw $v0, ($a1)
/* 025630 80024A30 AC800000 */ sw $zero, ($a0)
/* 025634 80024A34 3C018012 */ lui $at, %hi(D_8011B100) # $at, 0x8012
/* 025638 80024A38 AC20B100 */ sw $zero, %lo(D_8011B100)($at)
/* 02563C 80024A3C 3C018012 */ lui $at, %hi(D_8011B104) # $at, 0x8012
/* 025640 80024A40 AC20B104 */ sw $zero, %lo(D_8011B104)($at)
/* 025644 80024A44 3C018012 */ lui $at, %hi(D_8011B108) # $at, 0x8012
/* 025648 80024A48 AC20B108 */ sw $zero, %lo(D_8011B108)($at)
/* 02564C 80024A4C 3C018012 */ lui $at, %hi(D_8011B10C) # $at, 0x8012
/* 025650 80024A50 AC20B10C */ sw $zero, %lo(D_8011B10C)($at)
/* 025654 80024A54 8CAE0000 */ lw $t6, ($a1)
/* 025658 80024A58 24010006 */ li $at, 6
/* 02565C 80024A5C 81C3004C */ lb $v1, 0x4c($t6)
/* 025660 80024A60 00000000 */ nop
/* 025664 80024A64 10610002 */ beq $v1, $at, .L80024A70
/* 025668 80024A68 24010007 */ li $at, 7
/* 02566C 80024A6C 14610002 */ bne $v1, $at, .L80024A78
.L80024A70:
/* 025670 80024A70 240F0001 */ li $t7, 1
/* 025674 80024A74 AC8F0000 */ sw $t7, ($a0)
.L80024A78:
/* 025678 80024A78 0C00B031 */ jal func_8002C0C4
/* 02567C 80024A7C 02202025 */ move $a0, $s1
/* 025680 80024A80 8FB80030 */ lw $t8, 0x30($sp)
/* 025684 80024A84 3C108012 */ lui $s0, %hi(D_8011D384) # $s0, 0x8012
/* 025688 80024A88 2610D384 */ addiu $s0, %lo(D_8011D384) # addiu $s0, $s0, -0x2c7c
/* 02568C 80024A8C 2B010002 */ slti $at, $t8, 2
/* 025690 80024A90 1020001E */ beqz $at, .L80024B0C
/* 025694 80024A94 AE000000 */ sw $zero, ($s0)
/* 025698 80024A98 3C02800E */ lui $v0, %hi(gCurrentLevelModel) # $v0, 0x800e
/* 02569C 80024A9C 8C42C918 */ lw $v0, %lo(gCurrentLevelModel)($v0)
/* 0256A0 80024AA0 00003025 */ move $a2, $zero
/* 0256A4 80024AA4 8444001A */ lh $a0, 0x1a($v0)
/* 0256A8 80024AA8 00001825 */ move $v1, $zero
/* 0256AC 80024AAC 18800017 */ blez $a0, .L80024B0C
/* 0256B0 80024AB0 24050001 */ li $a1, 1
.L80024AB4:
/* 0256B4 80024AB4 8C590004 */ lw $t9, 4($v0)
/* 0256B8 80024AB8 24C60001 */ addiu $a2, $a2, 1
/* 0256BC 80024ABC 03234021 */ addu $t0, $t9, $v1
/* 0256C0 80024AC0 8109002B */ lb $t1, 0x2b($t0)
/* 0256C4 80024AC4 00000000 */ nop
/* 0256C8 80024AC8 1120000E */ beqz $t1, .L80024B04
/* 0256CC 80024ACC 00C4082A */ slt $at, $a2, $a0
/* 0256D0 80024AD0 8E0A0000 */ lw $t2, ($s0)
/* 0256D4 80024AD4 00000000 */ nop
/* 0256D8 80024AD8 254B0001 */ addiu $t3, $t2, 1
/* 0256DC 80024ADC AE0B0000 */ sw $t3, ($s0)
/* 0256E0 80024AE0 8C4C0004 */ lw $t4, 4($v0)
/* 0256E4 80024AE4 3C02800E */ lui $v0, %hi(gCurrentLevelModel) # $v0, 0x800e
/* 0256E8 80024AE8 01836821 */ addu $t5, $t4, $v1
/* 0256EC 80024AEC A1A5002B */ sb $a1, 0x2b($t5)
/* 0256F0 80024AF0 8C42C918 */ lw $v0, %lo(gCurrentLevelModel)($v0)
/* 0256F4 80024AF4 00000000 */ nop
/* 0256F8 80024AF8 8444001A */ lh $a0, 0x1a($v0)
/* 0256FC 80024AFC 00000000 */ nop
/* 025700 80024B00 00C4082A */ slt $at, $a2, $a0
.L80024B04:
/* 025704 80024B04 1420FFEB */ bnez $at, .L80024AB4
/* 025708 80024B08 24630044 */ addiu $v1, $v1, 0x44
.L80024B0C:
/* 02570C 80024B0C 0C027B20 */ jal is_in_two_player_adventure
/* 025710 80024B10 00000000 */ nop
/* 025714 80024B14 1040000B */ beqz $v0, .L80024B44
/* 025718 80024B18 3C0E800E */ lui $t6, %hi(gCurrentLevelHeader2) # $t6, 0x800e
/* 02571C 80024B1C 8DCEC91C */ lw $t6, %lo(gCurrentLevelHeader2)($t6)
/* 025720 80024B20 00000000 */ nop
/* 025724 80024B24 81C3004C */ lb $v1, 0x4c($t6)
/* 025728 80024B28 00000000 */ nop
/* 02572C 80024B2C 10600003 */ beqz $v1, .L80024B3C
/* 025730 80024B30 306F0040 */ andi $t7, $v1, 0x40
/* 025734 80024B34 11E00004 */ beqz $t7, .L80024B48
/* 025738 80024B38 8FA60030 */ lw $a2, 0x30($sp)
.L80024B3C:
/* 02573C 80024B3C 10000004 */ b .L80024B50
/* 025740 80024B40 24060002 */ li $a2, 2
.L80024B44:
/* 025744 80024B44 8FA60030 */ lw $a2, 0x30($sp)
.L80024B48:
/* 025748 80024B48 00000000 */ nop
/* 02574C 80024B4C 24C60001 */ addiu $a2, $a2, 1
.L80024B50:
/* 025750 80024B50 8E180000 */ lw $t8, ($s0)
/* 025754 80024B54 00000000 */ nop
/* 025758 80024B58 13000006 */ beqz $t8, .L80024B74
/* 02575C 80024B5C 3C04800E */ lui $a0, %hi(gCurrentLevelModel) # $a0, 0x800e
/* 025760 80024B60 3C05800E */ lui $a1, %hi(gCurrentLevelHeader2) # $a1, 0x800e
/* 025764 80024B64 8CA5C91C */ lw $a1, %lo(gCurrentLevelHeader2)($a1)
/* 025768 80024B68 8C84C918 */ lw $a0, %lo(gCurrentLevelModel)($a0)
/* 02576C 80024B6C 0C02E0AD */ jal func_800B82B4
/* 025770 80024B70 00000000 */ nop
.L80024B74:
/* 025774 80024B74 8FA40030 */ lw $a0, 0x30($sp)
/* 025778 80024B78 0C01994B */ jal set_active_viewports_and_max
/* 02577C 80024B7C 00000000 */ nop
/* 025780 80024B80 0C009FF1 */ jal spawn_skydome
/* 025784 80024B84 02402025 */ move $a0, $s2
/* 025788 80024B88 3C018012 */ lui $at, %hi(D_8011B110) # $at, 0x8012
/* 02578C 80024B8C AC20B110 */ sw $zero, %lo(D_8011B110)($at)
/* 025790 80024B90 3C018012 */ lui $at, %hi(D_8011B114) # $at, 0x8012
/* 025794 80024B94 3C190001 */ lui $t9, 1
/* 025798 80024B98 0C0044E4 */ jal func_80011390
/* 02579C 80024B9C AC39B114 */ sw $t9, %lo(D_8011B114)($at)
/* 0257A0 80024BA0 8FA40040 */ lw $a0, 0x40($sp)
/* 0257A4 80024BA4 0C00323E */ jal func_8000C8F8
/* 0257A8 80024BA8 00002825 */ move $a1, $zero
/* 0257AC 80024BAC 8FA4003C */ lw $a0, 0x3c($sp)
/* 0257B0 80024BB0 0C00323E */ jal func_8000C8F8
/* 0257B4 80024BB4 24050001 */ li $a1, 1
/* 0257B8 80024BB8 8FB00038 */ lw $s0, 0x38($sp)
/* 0257BC 80024BBC 8FA80030 */ lw $t0, 0x30($sp)
/* 0257C0 80024BC0 3C138012 */ lui $s3, %hi(gScenePlayerViewports) # $s3, 0x8012
/* 0257C4 80024BC4 2673D37C */ addiu $s3, %lo(gScenePlayerViewports) # addiu $s3, $s3, -0x2c84
/* 0257C8 80024BC8 8FA40034 */ lw $a0, 0x34($sp)
/* 0257CC 80024BCC 8FA60030 */ lw $a2, 0x30($sp)
/* 0257D0 80024BD0 02002825 */ move $a1, $s0
/* 0257D4 80024BD4 0C00331F */ jal func_8000CC7C
/* 0257D8 80024BD8 AE680000 */ sw $t0, ($s3)
/* 0257DC 80024BDC 24040048 */ li $a0, 72
/* 0257E0 80024BE0 0C002C08 */ jal func_8000B020
/* 0257E4 80024BE4 24050040 */ li $a1, 64
/* 0257E8 80024BE8 16200008 */ bnez $s1, .L80024C0C
/* 0257EC 80024BEC 3C04800E */ lui $a0, %hi(D_800DC874) # $a0, 0x800e
/* 0257F0 80024BF0 16000006 */ bnez $s0, .L80024C0C
/* 0257F4 80024BF4 00000000 */ nop
/* 0257F8 80024BF8 3C04800E */ lui $a0, %hi(D_800DC87C) # $a0, 0x800e
/* 0257FC 80024BFC 0C030076 */ jal transition_begin
/* 025800 80024C00 2484C87C */ addiu $a0, %lo(D_800DC87C) # addiu $a0, $a0, -0x3784
/* 025804 80024C04 10000004 */ b .L80024C18
/* 025808 80024C08 8E640000 */ lw $a0, ($s3)
.L80024C0C:
/* 02580C 80024C0C 0C030076 */ jal transition_begin
/* 025810 80024C10 2484C874 */ addiu $a0, %lo(D_800DC874) # addiu $a0, $a0, -0x378c
/* 025814 80024C14 8E640000 */ lw $a0, ($s3)
.L80024C18:
/* 025818 80024C18 0C01994B */ jal set_active_viewports_and_max
/* 02581C 80024C1C 00000000 */ nop
/* 025820 80024C20 8E690000 */ lw $t1, ($s3)
/* 025824 80024C24 3C018012 */ lui $at, %hi(gAntiAliasing) # $at, 0x8012
/* 025828 80024C28 3C13FFFF */ lui $s3, (0xFFFF00FF >> 16) # lui $s3, 0xffff
/* 02582C 80024C2C 3C118012 */ lui $s1, %hi(D_8011D350) # $s1, 0x8012
/* 025830 80024C30 3C128012 */ lui $s2, %hi(D_8011D320) # $s2, 0x8012
/* 025834 80024C34 3C108012 */ lui $s0, %hi(D_8011D338) # $s0, 0x8012
/* 025838 80024C38 AC20B0FC */ sw $zero, %lo(gAntiAliasing)($at)
/* 02583C 80024C3C 2610D338 */ addiu $s0, %lo(D_8011D338) # addiu $s0, $s0, -0x2cc8
/* 025840 80024C40 2652D320 */ addiu $s2, %lo(D_8011D320) # addiu $s2, $s2, -0x2ce0
/* 025844 80024C44 2631D350 */ addiu $s1, %lo(D_8011D350) # addiu $s1, $s1, -0x2cb0
/* 025848 80024C48 367300FF */ ori $s3, (0xFFFF00FF & 0xFFFF) # ori $s3, $s3, 0xff
/* 02584C 80024C4C AFA90030 */ sw $t1, 0x30($sp)
.L80024C50:
/* 025850 80024C50 24040C80 */ li $a0, 3200
/* 025854 80024C54 0C01C327 */ jal allocate_from_main_pool_safe
/* 025858 80024C58 02602825 */ move $a1, $s3
/* 02585C 80024C5C AE220000 */ sw $v0, ($s1)
/* 025860 80024C60 24043200 */ li $a0, 12800
/* 025864 80024C64 0C01C327 */ jal allocate_from_main_pool_safe
/* 025868 80024C68 02602825 */ move $a1, $s3
/* 02586C 80024C6C AE420000 */ sw $v0, ($s2)
/* 025870 80024C70 24044E20 */ li $a0, 20000
/* 025874 80024C74 0C01C327 */ jal allocate_from_main_pool_safe
/* 025878 80024C78 02602825 */ move $a1, $s3
/* 02587C 80024C7C 3C0A8012 */ lui $t2, %hi(D_8011D348) # $t2, 0x8012
/* 025880 80024C80 254AD348 */ addiu $t2, %lo(D_8011D348) # addiu $t2, $t2, -0x2cb8
/* 025884 80024C84 26100004 */ addiu $s0, $s0, 4
/* 025888 80024C88 26310004 */ addiu $s1, $s1, 4
/* 02588C 80024C8C 26520004 */ addiu $s2, $s2, 4
/* 025890 80024C90 160AFFEF */ bne $s0, $t2, .L80024C50
/* 025894 80024C94 AE02FFFC */ sw $v0, -4($s0)
/* 025898 80024C98 3C108012 */ lui $s0, %hi(D_8011B0C8) # $s0, 0x8012
/* 02589C 80024C9C 2610B0C8 */ addiu $s0, %lo(D_8011B0C8) # addiu $s0, $s0, -0x4f38
/* 0258A0 80024CA0 AE000000 */ sw $zero, ($s0)
/* 0258A4 80024CA4 24040001 */ li $a0, 1
/* 0258A8 80024CA8 24050001 */ li $a1, 1
/* 0258AC 80024CAC 0C00B637 */ jal func_8002D8DC
/* 0258B0 80024CB0 00003025 */ move $a2, $zero
/* 0258B4 80024CB4 24040002 */ li $a0, 2
/* 0258B8 80024CB8 24050002 */ li $a1, 2
/* 0258BC 80024CBC 0C00B637 */ jal func_8002D8DC
/* 0258C0 80024CC0 00003025 */ move $a2, $zero
/* 0258C4 80024CC4 240B0001 */ li $t3, 1
/* 0258C8 80024CC8 AE0B0000 */ sw $t3, ($s0)
/* 0258CC 80024CCC 24040001 */ li $a0, 1
/* 0258D0 80024CD0 24050001 */ li $a1, 1
/* 0258D4 80024CD4 0C00B637 */ jal func_8002D8DC
/* 0258D8 80024CD8 00003025 */ move $a2, $zero
/* 0258DC 80024CDC 24040002 */ li $a0, 2
/* 0258E0 80024CE0 24050002 */ li $a1, 2
/* 0258E4 80024CE4 0C00B637 */ jal func_8002D8DC
/* 0258E8 80024CE8 00003025 */ move $a2, $zero
/* 0258EC 80024CEC AE000000 */ sw $zero, ($s0)
/* 0258F0 80024CF0 3C02800E */ lui $v0, %hi(gCurrentLevelHeader2) # $v0, 0x800e
/* 0258F4 80024CF4 8C42C91C */ lw $v0, %lo(gCurrentLevelHeader2)($v0)
/* 0258F8 80024CF8 3C018012 */ lui $at, %hi(D_8011B0E1) # $at, 0x8012
/* 0258FC 80024CFC 904C00B7 */ lbu $t4, 0xb7($v0)
/* 025900 80024D00 00000000 */ nop
/* 025904 80024D04 1180000D */ beqz $t4, .L80024D3C
/* 025908 80024D08 8FBF0024 */ lw $ra, 0x24($sp)
/* 02590C 80024D0C 904D00B4 */ lbu $t5, 0xb4($v0)
/* 025910 80024D10 8FA40030 */ lw $a0, 0x30($sp)
/* 025914 80024D14 A02DB0E1 */ sb $t5, %lo(D_8011B0E1)($at)
/* 025918 80024D18 904E00B5 */ lbu $t6, 0xb5($v0)
/* 02591C 80024D1C 3C018012 */ lui $at, %hi(D_8011B0E2) # $at, 0x8012
/* 025920 80024D20 A02EB0E2 */ sb $t6, %lo(D_8011B0E2)($at)
/* 025924 80024D24 904F00B6 */ lbu $t7, 0xb6($v0)
/* 025928 80024D28 3C018012 */ lui $at, %hi(D_8011B0E3) # $at, 0x8012
/* 02592C 80024D2C 24840001 */ addiu $a0, $a0, 1
/* 025930 80024D30 0C009544 */ jal func_80025510
/* 025934 80024D34 A02FB0E3 */ sb $t7, %lo(D_8011B0E3)($at)
/* 025938 80024D38 8FBF0024 */ lw $ra, 0x24($sp)
.L80024D3C:
/* 02593C 80024D3C 8FB00014 */ lw $s0, 0x14($sp)
/* 025940 80024D40 8FB10018 */ lw $s1, 0x18($sp)
/* 025944 80024D44 8FB2001C */ lw $s2, 0x1c($sp)
/* 025948 80024D48 8FB30020 */ lw $s3, 0x20($sp)
/* 02594C 80024D4C 03E00008 */ jr $ra
/* 025950 80024D50 27BD0028 */ addiu $sp, $sp, 0x28
+2 -2
View File
@@ -308,10 +308,10 @@ glabel func_8002E234
/* 02F2A8 8002E6A8 AC20C230 */ sw $zero, %lo(D_8011C230)($at)
/* 02F2AC 8002E6AC 3C018012 */ lui $at, %hi(D_8011B118) # $at, 0x8012
/* 02F2B0 8002E6B0 3C038012 */ lui $v1, %hi(D_8011B320) # $v1, 0x8012
/* 02F2B4 8002E6B4 3C048012 */ lui $a0, %hi(D_8011B330) # $a0, 0x8012
/* 02F2B4 8002E6B4 3C048012 */ lui $a0, %hi(D_8011B320) # $a0, 0x8012
/* 02F2B8 8002E6B8 AFA20070 */ sw $v0, 0x70($sp)
/* 02F2BC 8002E6BC AC20B118 */ sw $zero, %lo(D_8011B118)($at)
/* 02F2C0 8002E6C0 2484B330 */ addiu $a0, %lo(D_8011B330) # addiu $a0, $a0, -0x4cd0
/* 02F2C0 8002E6C0 2484B330 */ addiu $a0, %lo(D_8011B320) + 0x10 # addiu $a0, $a0, -0x4cd0
/* 02F2C4 8002E6C4 2463B320 */ addiu $v1, %lo(D_8011B320) # addiu $v1, $v1, -0x4ce0
.L8002E6C8:
/* 02F2C8 8002E6C8 24630004 */ addiu $v1, $v1, 4
+2 -2
View File
@@ -47,8 +47,8 @@ glabel func_8002F2AC
/* 02FF58 8002F358 E488FFF4 */ swc1 $f8, -0xc($a0)
.L8002F35C:
/* 02FF5C 8002F35C 3C058012 */ lui $a1, %hi(D_8011B320) # $a1, 0x8012
/* 02FF60 8002F360 3C088012 */ lui $t0, %hi(D_8011B330) # $t0, 0x8012
/* 02FF64 8002F364 2508B330 */ addiu $t0, %lo(D_8011B330) # addiu $t0, $t0, -0x4cd0
/* 02FF60 8002F360 3C088012 */ lui $t0, %hi(D_8011B320) # $t0, 0x8012
/* 02FF64 8002F364 2508B330 */ addiu $t0, %lo(D_8011B320 + 0x10) # addiu $t0, $t0, -0x4cd0
/* 02FF68 8002F368 24A5B320 */ addiu $a1, %lo(D_8011B320) # addiu $a1, $a1, -0x4ce0
/* 02FF6C 8002F36C 00002025 */ move $a0, $zero
.L8002F370:
-215
View File
@@ -1,215 +0,0 @@
.late_rodata
glabel D_800E5F5C
.float 0.99
.text
glabel func_8002FA64
/* 030664 8002FA64 27BDFF88 */ addiu $sp, $sp, -0x78
/* 030668 8002FA68 3C038012 */ lui $v1, %hi(D_8011C230) # $v1, 0x8012
/* 03066C 8002FA6C 8C63C230 */ lw $v1, %lo(D_8011C230)($v1)
/* 030670 8002FA70 44801000 */ mtc1 $zero, $f2
/* 030674 8002FA74 AFBF006C */ sw $ra, 0x6c($sp)
/* 030678 8002FA78 AFB70068 */ sw $s7, 0x68($sp)
/* 03067C 8002FA7C AFB60064 */ sw $s6, 0x64($sp)
/* 030680 8002FA80 AFB50060 */ sw $s5, 0x60($sp)
/* 030684 8002FA84 AFB4005C */ sw $s4, 0x5c($sp)
/* 030688 8002FA88 AFB30058 */ sw $s3, 0x58($sp)
/* 03068C 8002FA8C AFB20054 */ sw $s2, 0x54($sp)
/* 030690 8002FA90 AFB10050 */ sw $s1, 0x50($sp)
/* 030694 8002FA94 AFB0004C */ sw $s0, 0x4c($sp)
/* 030698 8002FA98 E7BF0040 */ swc1 $f31, 0x40($sp)
/* 03069C 8002FA9C E7BE0044 */ swc1 $f30, 0x44($sp)
/* 0306A0 8002FAA0 E7BD0038 */ swc1 $f29, 0x38($sp)
/* 0306A4 8002FAA4 E7BC003C */ swc1 $f28, 0x3c($sp)
/* 0306A8 8002FAA8 E7BB0030 */ swc1 $f27, 0x30($sp)
/* 0306AC 8002FAAC E7BA0034 */ swc1 $f26, 0x34($sp)
/* 0306B0 8002FAB0 E7B90028 */ swc1 $f25, 0x28($sp)
/* 0306B4 8002FAB4 E7B8002C */ swc1 $f24, 0x2c($sp)
/* 0306B8 8002FAB8 E7B70020 */ swc1 $f23, 0x20($sp)
/* 0306BC 8002FABC E7B60024 */ swc1 $f22, 0x24($sp)
/* 0306C0 8002FAC0 E7B50018 */ swc1 $f21, 0x18($sp)
/* 0306C4 8002FAC4 18600090 */ blez $v1, .L8002FD08
/* 0306C8 8002FAC8 E7B4001C */ swc1 $f20, 0x1c($sp)
/* 0306CC 8002FACC 3C0E8012 */ lui $t6, %hi(D_8011D0EC) # $t6, 0x8012
/* 0306D0 8002FAD0 8DCED0EC */ lw $t6, %lo(D_8011D0EC)($t6)
/* 0306D4 8002FAD4 3C028012 */ lui $v0, %hi(D_8011D0E8) # $v0, 0x8012
/* 0306D8 8002FAD8 11C0000E */ beqz $t6, .L8002FB14
/* 0306DC 8002FADC 00000000 */ nop
/* 0306E0 8002FAE0 8C42D0E8 */ lw $v0, %lo(D_8011D0E8)($v0)
/* 0306E4 8002FAE4 3C16800E */ lui $s6, %hi(D_800DC884) # $s6, 0x800e
/* 0306E8 8002FAE8 1840007C */ blez $v0, .L8002FCDC
/* 0306EC 8002FAEC 26D6C884 */ addiu $s6, %lo(D_800DC884) # addiu $s6, $s6, -0x377c
/* 0306F0 8002FAF0 00027880 */ sll $t7, $v0, 2
/* 0306F4 8002FAF4 02CFC021 */ addu $t8, $s6, $t7
/* 0306F8 8002FAF8 3C018012 */ lui $at, %hi(D_8011D0E4) # $at, 0x8012
/* 0306FC 8002FAFC C426D0E4 */ lwc1 $f6, %lo(D_8011D0E4)($at)
/* 030700 8002FB00 C7040000 */ lwc1 $f4, ($t8)
/* 030704 8002FB04 00000000 */ nop
/* 030708 8002FB08 46062082 */ mul.s $f2, $f4, $f6
/* 03070C 8002FB0C 10000073 */ b .L8002FCDC
/* 030710 8002FB10 00000000 */ nop
.L8002FB14:
/* 030714 8002FB14 18600071 */ blez $v1, .L8002FCDC
/* 030718 8002FB18 0000B825 */ move $s7, $zero
/* 03071C 8002FB1C 3C138012 */ lui $s3, %hi(D_8011C238) # $s3, 0x8012
/* 030720 8002FB20 3C16800E */ lui $s6, %hi(D_800DC884) # $s6, 0x800e
/* 030724 8002FB24 3C158012 */ lui $s5, %hi(D_8011B120) # $s5, 0x8012
/* 030728 8002FB28 3C148012 */ lui $s4, %hi(D_8011B330) # $s4, 0x8012
/* 03072C 8002FB2C 2694B330 */ addiu $s4, %lo(D_8011B330) # addiu $s4, $s4, -0x4cd0
/* 030730 8002FB30 26B5B120 */ addiu $s5, %lo(D_8011B120) # addiu $s5, $s5, -0x4ee0
/* 030734 8002FB34 26D6C884 */ addiu $s6, %lo(D_800DC884) # addiu $s6, $s6, -0x377c
/* 030738 8002FB38 2673C238 */ addiu $s3, %lo(D_8011C238) # addiu $s3, $s3, -0x3dc8
.L8002FB3C:
/* 03073C 8002FB3C 8679000A */ lh $t9, 0xa($s3)
/* 030740 8002FB40 00000000 */ nop
/* 030744 8002FB44 1B200061 */ blez $t9, .L8002FCCC
/* 030748 8002FB48 00000000 */ nop
/* 03074C 8002FB4C 92710001 */ lbu $s1, 1($s3)
/* 030750 8002FB50 24120002 */ li $s2, 2
/* 030754 8002FB54 32280001 */ andi $t0, $s1, 1
/* 030758 8002FB58 11000009 */ beqz $t0, .L8002FB80
/* 03075C 8002FB5C 00000000 */ nop
/* 030760 8002FB60 92690002 */ lbu $t1, 2($s3)
/* 030764 8002FB64 00000000 */ nop
/* 030768 8002FB68 00095140 */ sll $t2, $t1, 5
/* 03076C 8002FB6C 028A1021 */ addu $v0, $s4, $t2
/* 030770 8002FB70 C45C0000 */ lwc1 $f28, ($v0)
/* 030774 8002FB74 C45E0008 */ lwc1 $f30, 8($v0)
/* 030778 8002FB78 10000009 */ b .L8002FBA0
/* 03077C 8002FB7C 00116843 */ sra $t5, $s1, 1
.L8002FB80:
/* 030780 8002FB80 926B0002 */ lbu $t3, 2($s3)
/* 030784 8002FB84 00000000 */ nop
/* 030788 8002FB88 000B6100 */ sll $t4, $t3, 4
/* 03078C 8002FB8C 02AC1021 */ addu $v0, $s5, $t4
/* 030790 8002FB90 C45C0000 */ lwc1 $f28, ($v0)
/* 030794 8002FB94 C45E0008 */ lwc1 $f30, 8($v0)
/* 030798 8002FB98 00000000 */ nop
/* 03079C 8002FB9C 00116843 */ sra $t5, $s1, 1
.L8002FBA0:
/* 0307A0 8002FBA0 31AE0001 */ andi $t6, $t5, 1
/* 0307A4 8002FBA4 11C00009 */ beqz $t6, .L8002FBCC
/* 0307A8 8002FBA8 01A08825 */ move $s1, $t5
/* 0307AC 8002FBAC 926F0003 */ lbu $t7, 3($s3)
/* 0307B0 8002FBB0 00000000 */ nop
/* 0307B4 8002FBB4 000FC140 */ sll $t8, $t7, 5
/* 0307B8 8002FBB8 02981021 */ addu $v0, $s4, $t8
/* 0307BC 8002FBBC C4580000 */ lwc1 $f24, ($v0)
/* 0307C0 8002FBC0 C45A0008 */ lwc1 $f26, 8($v0)
/* 0307C4 8002FBC4 10000009 */ b .L8002FBEC
/* 0307C8 8002FBC8 926A0000 */ lbu $t2, ($s3)
.L8002FBCC:
/* 0307CC 8002FBCC 92790003 */ lbu $t9, 3($s3)
/* 0307D0 8002FBD0 00000000 */ nop
/* 0307D4 8002FBD4 00194100 */ sll $t0, $t9, 4
/* 0307D8 8002FBD8 02A81021 */ addu $v0, $s5, $t0
/* 0307DC 8002FBDC C4580000 */ lwc1 $f24, ($v0)
/* 0307E0 8002FBE0 C45A0008 */ lwc1 $f26, 8($v0)
/* 0307E4 8002FBE4 00000000 */ nop
/* 0307E8 8002FBE8 926A0000 */ lbu $t2, ($s3)
.L8002FBEC:
/* 0307EC 8002FBEC 00114843 */ sra $t1, $s1, 1
/* 0307F0 8002FBF0 29410003 */ slti $at, $t2, 3
/* 0307F4 8002FBF4 14200035 */ bnez $at, .L8002FCCC
/* 0307F8 8002FBF8 01208825 */ move $s1, $t1
/* 0307FC 8002FBFC 00175880 */ sll $t3, $s7, 2
/* 030800 8002FC00 01775823 */ subu $t3, $t3, $s7
/* 030804 8002FC04 000B5880 */ sll $t3, $t3, 2
/* 030808 8002FC08 3C0D8012 */ lui $t5, %hi(D_8011C238) # $t5, 0x8012
/* 03080C 8002FC0C 25ADC238 */ addiu $t5, %lo(D_8011C238) # addiu $t5, $t5, -0x3dc8
/* 030810 8002FC10 256C0002 */ addiu $t4, $t3, 2
/* 030814 8002FC14 018D8021 */ addu $s0, $t4, $t5
.L8002FC18:
/* 030818 8002FC18 322E0001 */ andi $t6, $s1, 1
/* 03081C 8002FC1C 11C00009 */ beqz $t6, .L8002FC44
/* 030820 8002FC20 00000000 */ nop
/* 030824 8002FC24 920F0002 */ lbu $t7, 2($s0)
/* 030828 8002FC28 00000000 */ nop
/* 03082C 8002FC2C 000FC140 */ sll $t8, $t7, 5
/* 030830 8002FC30 02981021 */ addu $v0, $s4, $t8
/* 030834 8002FC34 C4540000 */ lwc1 $f20, ($v0)
/* 030838 8002FC38 C4560008 */ lwc1 $f22, 8($v0)
/* 03083C 8002FC3C 10000009 */ b .L8002FC64
/* 030840 8002FC40 00114843 */ sra $t1, $s1, 1
.L8002FC44:
/* 030844 8002FC44 92190002 */ lbu $t9, 2($s0)
/* 030848 8002FC48 00000000 */ nop
/* 03084C 8002FC4C 00194100 */ sll $t0, $t9, 4
/* 030850 8002FC50 02A81021 */ addu $v0, $s5, $t0
/* 030854 8002FC54 C4540000 */ lwc1 $f20, ($v0)
/* 030858 8002FC58 C4560008 */ lwc1 $f22, 8($v0)
/* 03085C 8002FC5C 00000000 */ nop
/* 030860 8002FC60 00114843 */ sra $t1, $s1, 1
.L8002FC64:
/* 030864 8002FC64 4406C000 */ mfc1 $a2, $f24
/* 030868 8002FC68 4407D000 */ mfc1 $a3, $f26
/* 03086C 8002FC6C 01208825 */ move $s1, $t1
/* 030870 8002FC70 4600E306 */ mov.s $f12, $f28
/* 030874 8002FC74 4600F386 */ mov.s $f14, $f30
/* 030878 8002FC78 E7B40010 */ swc1 $f20, 0x10($sp)
/* 03087C 8002FC7C E7B60014 */ swc1 $f22, 0x14($sp)
/* 030880 8002FC80 0C01C28B */ jal area_triangle_2d
/* 030884 8002FC84 E7A20074 */ swc1 $f2, 0x74($sp)
/* 030888 8002FC88 866A000A */ lh $t2, 0xa($s3)
/* 03088C 8002FC8C 926D0000 */ lbu $t5, ($s3)
/* 030890 8002FC90 000A5880 */ sll $t3, $t2, 2
/* 030894 8002FC94 02CB6021 */ addu $t4, $s6, $t3
/* 030898 8002FC98 C5880000 */ lwc1 $f8, ($t4)
/* 03089C 8002FC9C C7A20074 */ lwc1 $f2, 0x74($sp)
/* 0308A0 8002FCA0 46080282 */ mul.s $f10, $f0, $f8
/* 0308A4 8002FCA4 26520001 */ addiu $s2, $s2, 1
/* 0308A8 8002FCA8 024D082A */ slt $at, $s2, $t5
/* 0308AC 8002FCAC 26100001 */ addiu $s0, $s0, 1
/* 0308B0 8002FCB0 4600A606 */ mov.s $f24, $f20
/* 0308B4 8002FCB4 4600B686 */ mov.s $f26, $f22
/* 0308B8 8002FCB8 1420FFD7 */ bnez $at, .L8002FC18
/* 0308BC 8002FCBC 460A1080 */ add.s $f2, $f2, $f10
/* 0308C0 8002FCC0 3C038012 */ lui $v1, %hi(D_8011C230) # $v1, 0x8012
/* 0308C4 8002FCC4 8C63C230 */ lw $v1, %lo(D_8011C230)($v1)
/* 0308C8 8002FCC8 00000000 */ nop
.L8002FCCC:
/* 0308CC 8002FCCC 26F70001 */ addiu $s7, $s7, 1
/* 0308D0 8002FCD0 02E3082A */ slt $at, $s7, $v1
/* 0308D4 8002FCD4 1420FF99 */ bnez $at, .L8002FB3C
/* 0308D8 8002FCD8 2673000C */ addiu $s3, $s3, 0xc
.L8002FCDC:
/* 0308DC 8002FCDC 3C018012 */ lui $at, %hi(D_8011D0E4) # $at, 0x8012
/* 0308E0 8002FCE0 C42CD0E4 */ lwc1 $f12, %lo(D_8011D0E4)($at)
/* 0308E4 8002FCE4 3C01800E */ lui $at, %hi(D_800E5F5C) # $at, 0x800e
/* 0308E8 8002FCE8 4602603C */ c.lt.s $f12, $f2
/* 0308EC 8002FCEC 00000000 */ nop
/* 0308F0 8002FCF0 45000005 */ bc1f .L8002FD08
/* 0308F4 8002FCF4 00000000 */ nop
/* 0308F8 8002FCF8 C4305F5C */ lwc1 $f16, %lo(D_800E5F5C)($at)
/* 0308FC 8002FCFC 00000000 */ nop
/* 030900 8002FD00 46106082 */ mul.s $f2, $f12, $f16
/* 030904 8002FD04 00000000 */ nop
.L8002FD08:
/* 030908 8002FD08 3C018012 */ lui $at, %hi(D_8011D0E4) # $at, 0x8012
/* 03090C 8002FD0C C42CD0E4 */ lwc1 $f12, %lo(D_8011D0E4)($at)
/* 030910 8002FD10 8FBF006C */ lw $ra, 0x6c($sp)
/* 030914 8002FD14 46026481 */ sub.s $f18, $f12, $f2
/* 030918 8002FD18 C7B50018 */ lwc1 $f21, 0x18($sp)
/* 03091C 8002FD1C C7B4001C */ lwc1 $f20, 0x1c($sp)
/* 030920 8002FD20 C7B70020 */ lwc1 $f23, 0x20($sp)
/* 030924 8002FD24 C7B60024 */ lwc1 $f22, 0x24($sp)
/* 030928 8002FD28 C7B90028 */ lwc1 $f25, 0x28($sp)
/* 03092C 8002FD2C C7B8002C */ lwc1 $f24, 0x2c($sp)
/* 030930 8002FD30 C7BB0030 */ lwc1 $f27, 0x30($sp)
/* 030934 8002FD34 C7BA0034 */ lwc1 $f26, 0x34($sp)
/* 030938 8002FD38 C7BD0038 */ lwc1 $f29, 0x38($sp)
/* 03093C 8002FD3C C7BC003C */ lwc1 $f28, 0x3c($sp)
/* 030940 8002FD40 C7BF0040 */ lwc1 $f31, 0x40($sp)
/* 030944 8002FD44 C7BE0044 */ lwc1 $f30, 0x44($sp)
/* 030948 8002FD48 8FB0004C */ lw $s0, 0x4c($sp)
/* 03094C 8002FD4C 8FB10050 */ lw $s1, 0x50($sp)
/* 030950 8002FD50 8FB20054 */ lw $s2, 0x54($sp)
/* 030954 8002FD54 8FB30058 */ lw $s3, 0x58($sp)
/* 030958 8002FD58 8FB4005C */ lw $s4, 0x5c($sp)
/* 03095C 8002FD5C 8FB50060 */ lw $s5, 0x60($sp)
/* 030960 8002FD60 8FB60064 */ lw $s6, 0x64($sp)
/* 030964 8002FD64 8FB70068 */ lw $s7, 0x68($sp)
/* 030968 8002FD68 27BD0078 */ addiu $sp, $sp, 0x78
/* 03096C 8002FD6C 03E00008 */ jr $ra
/* 030970 8002FD70 460C9003 */ div.s $f0, $f18, $f12
@@ -45,9 +45,9 @@ glabel func_80004B40
/* 0057CC 80004BCC AFA2003C */ sw $v0, 0x3c($sp)
/* 0057D0 80004BD0 0019C880 */ sll $t9, $t9, 2
/* 0057D4 80004BD4 8C4F001C */ lw $t7, 0x1c($v0)
/* 0057D8 80004BD8 3C1200FF */ lui $s2, %hi(0x00FF0018) # $s2, 0xff
/* 0057D8 80004BD8 3C1200FF */ lui $s2, (0xFFFFFF >> 16)
/* 0057DC 80004BDC 0338C823 */ subu $t9, $t9, $t8
/* 0057E0 80004BE0 3652FFFF */ ori $s2, (0x00FFFFFF & 0xFFFF) # ori $s2, $s2, 0xffff
/* 0057E0 80004BE0 3652FFFF */ ori $s2, $s2, (0xFFFFFF & 0xFFFF)
/* 0057E4 80004BE4 0019C880 */ sll $t9, $t9, 2
/* 0057E8 80004BE8 02402825 */ move $a1, $s2
/* 0057EC 80004BEC 2404004C */ li $a0, 76
@@ -163,7 +163,7 @@ glabel func_80004B40
/* 00599C 80004D9C A12F0004 */ sb $t7, 4($t1)
/* 0059A0 80004DA0 96790018 */ lhu $t9, 0x18($s3)
/* 0059A4 80004DA4 25850002 */ addiu $a1, $t4, 2
/* 0059A8 80004DA8 A6590018 */ sh $t9, %lo(0x00FF0018)($s2)
/* 0059A8 80004DA8 A6590018 */ sh $t9, 0x18($s2)
/* 0059AC 80004DAC 914E000E */ lbu $t6, 0xe($t2)
/* 0059B0 80004DB0 25A40001 */ addiu $a0, $t5, 1
/* 0059B4 80004DB4 A12E000E */ sb $t6, 0xe($t1)
@@ -1,106 +0,0 @@
glabel func_800050D0
/* 005CD0 800050D0 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 005CD4 800050D4 3C0E800E */ lui $t6, %hi(D_800DC6D0) # $t6, 0x800e
/* 005CD8 800050D8 91CEC6D0 */ lbu $t6, %lo(D_800DC6D0)($t6)
/* 005CDC 800050DC AFB00018 */ sw $s0, 0x18($sp)
/* 005CE0 800050E0 00808025 */ move $s0, $a0
/* 005CE4 800050E4 AFBF001C */ sw $ra, 0x1c($sp)
/* 005CE8 800050E8 AFA50024 */ sw $a1, 0x24($sp)
/* 005CEC 800050EC 11C00055 */ beqz $t6, .L80005244
/* 005CF0 800050F0 AFA7002C */ sw $a3, 0x2c($sp)
/* 005CF4 800050F4 8C8F0064 */ lw $t7, 0x64($a0)
/* 005CF8 800050F8 3C028012 */ lui $v0, %hi(D_80119C3C) # $v0, 0x8012
/* 005CFC 800050FC 24429C3C */ addiu $v0, %lo(D_80119C3C) # addiu $v0, $v0, -0x63c4
/* 005D00 80005100 AC4F0000 */ sw $t7, ($v0)
/* 005D04 80005104 8DF90118 */ lw $t9, 0x118($t7)
/* 005D08 80005108 3C058012 */ lui $a1, %hi(D_80119C38) # $a1, 0x8012
/* 005D0C 8000510C 24A59C38 */ addiu $a1, %lo(D_80119C38) # addiu $a1, $a1, -0x63c8
/* 005D10 80005110 1320004C */ beqz $t9, .L80005244
/* 005D14 80005114 ACB90000 */ sw $t9, ($a1)
/* 005D18 80005118 0C0044E7 */ jal func_8001139C
/* 005D1C 8000511C AFA60028 */ sw $a2, 0x28($sp)
/* 005D20 80005120 3C058012 */ lui $a1, %hi(D_80119C38) # $a1, 0x8012
/* 005D24 80005124 8FA60028 */ lw $a2, 0x28($sp)
/* 005D28 80005128 10400014 */ beqz $v0, .L8000517C
/* 005D2C 8000512C 24A59C38 */ addiu $a1, %lo(D_80119C38) # addiu $a1, $a1, -0x63c8
/* 005D30 80005130 3C098012 */ lui $t1, %hi(D_80119C3C) # $t1, 0x8012
/* 005D34 80005134 8D299C3C */ lw $t1, %lo(D_80119C3C)($t1)
/* 005D38 80005138 2401FFFF */ li $at, -1
/* 005D3C 8000513C 85240000 */ lh $a0, ($t1)
/* 005D40 80005140 00000000 */ nop
/* 005D44 80005144 1081000D */ beq $a0, $at, .L8000517C
/* 005D48 80005148 00000000 */ nop
/* 005D4C 8000514C 0C01A94A */ jal get_buttons_held_from_player
/* 005D50 80005150 00000000 */ nop
/* 005D54 80005154 3C0A8012 */ lui $t2, %hi(D_80119C3C) # $t2, 0x8012
/* 005D58 80005158 8D4A9C3C */ lw $t2, %lo(D_80119C3C)($t2)
/* 005D5C 8000515C 00000000 */ nop
/* 005D60 80005160 85440000 */ lh $a0, ($t2)
/* 005D64 80005164 0C01A955 */ jal get_buttons_pressed_from_player
/* 005D68 80005168 AFA20028 */ sw $v0, 0x28($sp)
/* 005D6C 8000516C 3C058012 */ lui $a1, %hi(D_80119C38) # $a1, 0x8012
/* 005D70 80005170 8FA60028 */ lw $a2, 0x28($sp)
/* 005D74 80005174 24A59C38 */ addiu $a1, %lo(D_80119C38) # addiu $a1, $a1, -0x63c8
/* 005D78 80005178 AFA20024 */ sw $v0, 0x24($sp)
.L8000517C:
/* 005D7C 8000517C 8CA20000 */ lw $v0, ($a1)
/* 005D80 80005180 3C01C6FA */ li $at, 0xC6FA0000 # -32000.000000
/* 005D84 80005184 944B0000 */ lhu $t3, ($v0)
/* 005D88 80005188 00000000 */ nop
/* 005D8C 8000518C 1560000A */ bnez $t3, .L800051B8
/* 005D90 80005190 00000000 */ nop
/* 005D94 80005194 44810000 */ mtc1 $at, $f0
/* 005D98 80005198 00000000 */ nop
/* 005D9C 8000519C E4400078 */ swc1 $f0, 0x78($v0)
/* 005DA0 800051A0 8CAC0000 */ lw $t4, ($a1)
/* 005DA4 800051A4 00000000 */ nop
/* 005DA8 800051A8 E580007C */ swc1 $f0, 0x7c($t4)
/* 005DAC 800051AC 8CAD0000 */ lw $t5, ($a1)
/* 005DB0 800051B0 10000024 */ b .L80005244
/* 005DB4 800051B4 E5A00080 */ swc1 $f0, 0x80($t5)
.L800051B8:
/* 005DB8 800051B8 C604000C */ lwc1 $f4, 0xc($s0)
/* 005DBC 800051BC 3C188012 */ lui $t8, %hi(D_80119C3C) # $t8, 0x8012
/* 005DC0 800051C0 E4440078 */ swc1 $f4, 0x78($v0)
/* 005DC4 800051C4 8CAE0000 */ lw $t6, ($a1)
/* 005DC8 800051C8 C6060010 */ lwc1 $f6, 0x10($s0)
/* 005DCC 800051CC 24010001 */ li $at, 1
/* 005DD0 800051D0 E5C6007C */ swc1 $f6, 0x7c($t6)
/* 005DD4 800051D4 8CAF0000 */ lw $t7, ($a1)
/* 005DD8 800051D8 C6080014 */ lwc1 $f8, 0x14($s0)
/* 005DDC 800051DC 00000000 */ nop
/* 005DE0 800051E0 E5E80080 */ swc1 $f8, 0x80($t7)
/* 005DE4 800051E4 8F189C3C */ lw $t8, %lo(D_80119C3C)($t8)
/* 005DE8 800051E8 8FA7002C */ lw $a3, 0x2c($sp)
/* 005DEC 800051EC 830301D7 */ lb $v1, 0x1d7($t8)
/* 005DF0 800051F0 8FA50024 */ lw $a1, 0x24($sp)
/* 005DF4 800051F4 10610005 */ beq $v1, $at, .L8000520C
/* 005DF8 800051F8 24010002 */ li $at, 2
/* 005DFC 800051FC 10610008 */ beq $v1, $at, .L80005220
/* 005E00 80005200 8FA50024 */ lw $a1, 0x24($sp)
/* 005E04 80005204 1000000C */ b .L80005238
/* 005E08 80005208 8FA50024 */ lw $a1, 0x24($sp)
.L8000520C:
/* 005E0C 8000520C 0C001742 */ jal func_80005D08
/* 005E10 80005210 02002025 */ move $a0, $s0
/* 005E14 80005214 1000000C */ b .L80005248
/* 005E18 80005218 8FBF001C */ lw $ra, 0x1c($sp)
/* 005E1C 8000521C 8FA50024 */ lw $a1, 0x24($sp)
.L80005220:
/* 005E20 80005220 8FA7002C */ lw $a3, 0x2c($sp)
/* 005E24 80005224 0C0018FB */ jal func_800063EC
/* 005E28 80005228 02002025 */ move $a0, $s0
/* 005E2C 8000522C 10000006 */ b .L80005248
/* 005E30 80005230 8FBF001C */ lw $ra, 0x1c($sp)
/* 005E34 80005234 8FA50024 */ lw $a1, 0x24($sp)
.L80005238:
/* 005E38 80005238 8FA7002C */ lw $a3, 0x2c($sp)
/* 005E3C 8000523C 0C001495 */ jal func_80005254
/* 005E40 80005240 02002025 */ move $a0, $s0
.L80005244:
/* 005E44 80005244 8FBF001C */ lw $ra, 0x1c($sp)
.L80005248:
/* 005E48 80005248 8FB00018 */ lw $s0, 0x18($sp)
/* 005E4C 8000524C 03E00008 */ jr $ra
/* 005E50 80005250 27BD0020 */ addiu $sp, $sp, 0x20
@@ -1,493 +0,0 @@
.late_rodata
glabel D_800E4C50
.double 0.05
glabel D_800E4C58
.double 0.95
glabel D_800E4C60
.double 0.3
glabel D_800E4C68
.double 6.5534
glabel D_800E4C70
.float 6.5534
glabel D_800E4C74
.float 10000.0
.text
glabel func_80005D08
/* 006908 80005D08 27BDFFC8 */ addiu $sp, $sp, -0x38
/* 00690C 80005D0C AFBF0014 */ sw $ra, 0x14($sp)
/* 006910 80005D10 AFA40038 */ sw $a0, 0x38($sp)
/* 006914 80005D14 AFA5003C */ sw $a1, 0x3c($sp)
/* 006918 80005D18 AFA60040 */ sw $a2, 0x40($sp)
/* 00691C 80005D1C 0C0044E7 */ jal func_8001139C
/* 006920 80005D20 AFA70044 */ sw $a3, 0x44($sp)
/* 006924 80005D24 8FA30038 */ lw $v1, 0x38($sp)
/* 006928 80005D28 1440000A */ bnez $v0, .L80005D54
/* 00692C 80005D2C 00000000 */ nop
/* 006930 80005D30 C460001C */ lwc1 $f0, 0x1c($v1)
/* 006934 80005D34 C4620024 */ lwc1 $f2, 0x24($v1)
/* 006938 80005D38 46000102 */ mul.s $f4, $f0, $f0
/* 00693C 80005D3C 00000000 */ nop
/* 006940 80005D40 46021182 */ mul.s $f6, $f2, $f2
/* 006944 80005D44 0C0326B4 */ jal sqrtf
/* 006948 80005D48 46062300 */ add.s $f12, $f4, $f6
/* 00694C 80005D4C 10000003 */ b .L80005D5C
/* 006950 80005D50 46000406 */ mov.s $f16, $f0
.L80005D54:
/* 006954 80005D54 44808000 */ mtc1 $zero, $f16
/* 006958 80005D58 00000000 */ nop
.L80005D5C:
/* 00695C 80005D5C 3C098012 */ lui $t1, %hi(D_80119C38) # $t1, 0x8012
/* 006960 80005D60 25299C38 */ addiu $t1, %lo(D_80119C38) # addiu $t1, $t1, -0x63c8
/* 006964 80005D64 8D230000 */ lw $v1, ($t1)
/* 006968 80005D68 8FAE0040 */ lw $t6, 0x40($sp)
/* 00696C 80005D6C C46E00D4 */ lwc1 $f14, 0xd4($v1)
/* 006970 80005D70 31CF8000 */ andi $t7, $t6, 0x8000
/* 006974 80005D74 11E00019 */ beqz $t7, .L80005DDC
/* 006978 80005D78 3C048012 */ lui $a0, %hi(D_80119C3C) # $a0, 0x8012
/* 00697C 80005D7C 8FB80044 */ lw $t8, 0x44($sp)
/* 006980 80005D80 C46800B0 */ lwc1 $f8, 0xb0($v1)
/* 006984 80005D84 44985000 */ mtc1 $t8, $f10
/* 006988 80005D88 00000000 */ nop
/* 00698C 80005D8C 46805120 */ cvt.s.w $f4, $f10
/* 006990 80005D90 C46A00A4 */ lwc1 $f10, 0xa4($v1)
/* 006994 80005D94 46044182 */ mul.s $f6, $f8, $f4
/* 006998 80005D98 46065200 */ add.s $f8, $f10, $f6
/* 00699C 80005D9C E46800A4 */ swc1 $f8, 0xa4($v1)
/* 0069A0 80005DA0 8D230000 */ lw $v1, ($t1)
/* 0069A4 80005DA4 00000000 */ nop
/* 0069A8 80005DA8 C46200C8 */ lwc1 $f2, 0xc8($v1)
/* 0069AC 80005DAC C46000A4 */ lwc1 $f0, 0xa4($v1)
/* 0069B0 80005DB0 00000000 */ nop
/* 0069B4 80005DB4 4600103C */ c.lt.s $f2, $f0
/* 0069B8 80005DB8 00000000 */ nop
/* 0069BC 80005DBC 45000014 */ bc1f .L80005E10
/* 0069C0 80005DC0 00000000 */ nop
/* 0069C4 80005DC4 E46200A4 */ swc1 $f2, 0xa4($v1)
/* 0069C8 80005DC8 8D230000 */ lw $v1, ($t1)
/* 0069CC 80005DCC 00000000 */ nop
/* 0069D0 80005DD0 C46000A4 */ lwc1 $f0, 0xa4($v1)
/* 0069D4 80005DD4 1000000F */ b .L80005E14
/* 0069D8 80005DD8 44801000 */ mtc1 $zero, $f2
.L80005DDC:
/* 0069DC 80005DDC 8FB90044 */ lw $t9, 0x44($sp)
/* 0069E0 80005DE0 C46400B4 */ lwc1 $f4, 0xb4($v1)
/* 0069E4 80005DE4 44995000 */ mtc1 $t9, $f10
/* 0069E8 80005DE8 00000000 */ nop
/* 0069EC 80005DEC 468051A0 */ cvt.s.w $f6, $f10
/* 0069F0 80005DF0 C46A00A4 */ lwc1 $f10, 0xa4($v1)
/* 0069F4 80005DF4 46062202 */ mul.s $f8, $f4, $f6
/* 0069F8 80005DF8 46085101 */ sub.s $f4, $f10, $f8
/* 0069FC 80005DFC E46400A4 */ swc1 $f4, 0xa4($v1)
/* 006A00 80005E00 8D230000 */ lw $v1, ($t1)
/* 006A04 80005E04 00000000 */ nop
/* 006A08 80005E08 C46000A4 */ lwc1 $f0, 0xa4($v1)
/* 006A0C 80005E0C 00000000 */ nop
.L80005E10:
/* 006A10 80005E10 44801000 */ mtc1 $zero, $f2
.L80005E14:
/* 006A14 80005E14 00000000 */ nop
/* 006A18 80005E18 4602003C */ c.lt.s $f0, $f2
/* 006A1C 80005E1C 00000000 */ nop
/* 006A20 80005E20 45000002 */ bc1f .L80005E2C
/* 006A24 80005E24 00000000 */ nop
/* 006A28 80005E28 E46200A4 */ swc1 $f2, 0xa4($v1)
.L80005E2C:
/* 006A2C 80005E2C 8C849C3C */ lw $a0, %lo(D_80119C3C)($a0)
/* 006A30 80005E30 34018000 */ li $at, 32768
/* 006A34 80005E34 848A0196 */ lh $t2, 0x196($a0)
/* 006A38 80005E38 848C01A0 */ lh $t4, 0x1a0($a0)
/* 006A3C 80005E3C 000A5823 */ negu $t3, $t2
/* 006A40 80005E40 318DFFFF */ andi $t5, $t4, 0xffff
/* 006A44 80005E44 016D1023 */ subu $v0, $t3, $t5
/* 006A48 80005E48 00411021 */ addu $v0, $v0, $at
/* 006A4C 80005E4C 34018001 */ li $at, 32769
/* 006A50 80005E50 0041082A */ slt $at, $v0, $at
/* 006A54 80005E54 14200003 */ bnez $at, .L80005E64
/* 006A58 80005E58 3C01FFFF */ lui $at, (0xFFFF0001 >> 16) # lui $at, 0xffff
/* 006A5C 80005E5C 34210001 */ ori $at, (0xFFFF0001 & 0xFFFF) # ori $at, $at, 1
/* 006A60 80005E60 00411021 */ addu $v0, $v0, $at
.L80005E64:
/* 006A64 80005E64 28418000 */ slti $at, $v0, -0x8000
/* 006A68 80005E68 10200002 */ beqz $at, .L80005E74
/* 006A6C 80005E6C 3401FFFF */ li $at, 65535
/* 006A70 80005E70 00411021 */ addu $v0, $v0, $at
.L80005E74:
/* 006A74 80005E74 00022400 */ sll $a0, $v0, 0x10
/* 006A78 80005E78 00047403 */ sra $t6, $a0, 0x10
/* 006A7C 80005E7C 01C02025 */ move $a0, $t6
/* 006A80 80005E80 E7AE001C */ swc1 $f14, 0x1c($sp)
/* 006A84 80005E84 0C01C1F1 */ jal sins_f
/* 006A88 80005E88 E7B00030 */ swc1 $f16, 0x30($sp)
/* 006A8C 80005E8C 44803000 */ mtc1 $zero, $f6
/* 006A90 80005E90 C7AE001C */ lwc1 $f14, 0x1c($sp)
/* 006A94 80005E94 4606003C */ c.lt.s $f0, $f6
/* 006A98 80005E98 C7B00030 */ lwc1 $f16, 0x30($sp)
/* 006A9C 80005E9C 45000002 */ bc1f .L80005EA8
/* 006AA0 80005EA0 46000086 */ mov.s $f2, $f0
/* 006AA4 80005EA4 46000087 */ neg.s $f2, $f0
.L80005EA8:
/* 006AA8 80005EA8 E7A20024 */ swc1 $f2, 0x24($sp)
/* 006AAC 80005EAC E7AE001C */ swc1 $f14, 0x1c($sp)
/* 006AB0 80005EB0 0C019944 */ jal check_if_showing_cutscene_camera
/* 006AB4 80005EB4 E7B00030 */ swc1 $f16, 0x30($sp)
/* 006AB8 80005EB8 C7A20024 */ lwc1 $f2, 0x24($sp)
/* 006ABC 80005EBC C7AE001C */ lwc1 $f14, 0x1c($sp)
/* 006AC0 80005EC0 C7B00030 */ lwc1 $f16, 0x30($sp)
/* 006AC4 80005EC4 14400017 */ bnez $v0, .L80005F24
/* 006AC8 80005EC8 00000000 */ nop
/* 006ACC 80005ECC E7A20024 */ swc1 $f2, 0x24($sp)
/* 006AD0 80005ED0 E7AE001C */ swc1 $f14, 0x1c($sp)
/* 006AD4 80005ED4 0C0044E7 */ jal func_8001139C
/* 006AD8 80005ED8 E7B00030 */ swc1 $f16, 0x30($sp)
/* 006ADC 80005EDC 3C098012 */ lui $t1, %hi(D_80119C38) # $t1, 0x8012
/* 006AE0 80005EE0 C7A20024 */ lwc1 $f2, 0x24($sp)
/* 006AE4 80005EE4 C7AE001C */ lwc1 $f14, 0x1c($sp)
/* 006AE8 80005EE8 C7B00030 */ lwc1 $f16, 0x30($sp)
/* 006AEC 80005EEC 1440000D */ bnez $v0, .L80005F24
/* 006AF0 80005EF0 25299C38 */ addiu $t1, %lo(D_80119C38) # addiu $t1, $t1, -0x63c8
/* 006AF4 80005EF4 8D2F0000 */ lw $t7, ($t1)
/* 006AF8 80005EF8 3C01402E */ li $at, 0x402E0000 # 2.718750
/* 006AFC 80005EFC C5EA00BC */ lwc1 $f10, 0xbc($t7)
/* 006B00 80005F00 44815800 */ mtc1 $at, $f11
/* 006B04 80005F04 46025202 */ mul.s $f8, $f10, $f2
/* 006B08 80005F08 44805000 */ mtc1 $zero, $f10
/* 006B0C 80005F0C 46104102 */ mul.s $f4, $f8, $f16
/* 006B10 80005F10 460021A1 */ cvt.d.s $f6, $f4
/* 006B14 80005F14 00000000 */ nop
/* 006B18 80005F18 462A3203 */ div.d $f8, $f6, $f10
/* 006B1C 80005F1C 10000003 */ b .L80005F2C
/* 006B20 80005F20 462044A0 */ cvt.s.d $f18, $f8
.L80005F24:
/* 006B24 80005F24 44809000 */ mtc1 $zero, $f18
/* 006B28 80005F28 00000000 */ nop
.L80005F2C:
/* 006B2C 80005F2C E7AE001C */ swc1 $f14, 0x1c($sp)
/* 006B30 80005F30 E7B00030 */ swc1 $f16, 0x30($sp)
/* 006B34 80005F34 0C028064 */ jal func_800A0190
/* 006B38 80005F38 E7B20020 */ swc1 $f18, 0x20($sp)
/* 006B3C 80005F3C 3C098012 */ lui $t1, %hi(D_80119C38) # $t1, 0x8012
/* 006B40 80005F40 C7AE001C */ lwc1 $f14, 0x1c($sp)
/* 006B44 80005F44 C7B00030 */ lwc1 $f16, 0x30($sp)
/* 006B48 80005F48 C7B20020 */ lwc1 $f18, 0x20($sp)
/* 006B4C 80005F4C 14400005 */ bnez $v0, .L80005F64
/* 006B50 80005F50 25299C38 */ addiu $t1, %lo(D_80119C38) # addiu $t1, $t1, -0x63c8
/* 006B54 80005F54 44802000 */ mtc1 $zero, $f4
/* 006B58 80005F58 8D380000 */ lw $t8, ($t1)
/* 006B5C 80005F5C 00000000 */ nop
/* 006B60 80005F60 E70400A4 */ swc1 $f4, 0xa4($t8)
.L80005F64:
/* 006B64 80005F64 3C014024 */ li $at, 0x40240000 # 2.562500
/* 006B68 80005F68 44811800 */ mtc1 $at, $f3
/* 006B6C 80005F6C 44801000 */ mtc1 $zero, $f2
/* 006B70 80005F70 46008021 */ cvt.d.s $f0, $f16
/* 006B74 80005F74 4620103C */ c.lt.d $f2, $f0
/* 006B78 80005F78 44805800 */ mtc1 $zero, $f11
/* 006B7C 80005F7C 45000004 */ bc1f .L80005F90
/* 006B80 80005F80 3C048012 */ lui $a0, %hi(D_80119C3C) # $a0, 0x8012
/* 006B84 80005F84 46220181 */ sub.d $f6, $f0, $f2
/* 006B88 80005F88 10000003 */ b .L80005F98
/* 006B8C 80005F8C 46203420 */ cvt.s.d $f16, $f6
.L80005F90:
/* 006B90 80005F90 44808000 */ mtc1 $zero, $f16
/* 006B94 80005F94 00000000 */ nop
.L80005F98:
/* 006B98 80005F98 44805000 */ mtc1 $zero, $f10
/* 006B9C 80005F9C 46008221 */ cvt.d.s $f8, $f16
/* 006BA0 80005FA0 46285032 */ c.eq.d $f10, $f8
# Used to access D_800E4C58 and D_800E4C58 + 4.
/* 006BA4 80005FA4 3C01800E */ lui $at, %hi(D_800E4C58) # $at, 0x800e
/* 006BA8 80005FA8 45010034 */ bc1t .L8000607C
/* 006BAC 80005FAC 00000000 */ nop
/* 006BB0 80005FB0 8C849C3C */ lw $a0, %lo(D_80119C3C)($a0)
/* 006BB4 80005FB4 00000000 */ nop
/* 006BB8 80005FB8 80820185 */ lb $v0, 0x185($a0)
/* 006BBC 80005FBC 00000000 */ nop
/* 006BC0 80005FC0 1040002E */ beqz $v0, .L8000607C
/* 006BC4 80005FC4 00000000 */ nop
/* 006BC8 80005FC8 2841000B */ slti $at, $v0, 0xb
/* 006BCC 80005FCC 10200003 */ beqz $at, .L80005FDC
/* 006BD0 80005FD0 2405000A */ li $a1, 10
/* 006BD4 80005FD4 10000001 */ b .L80005FDC
/* 006BD8 80005FD8 00402825 */ move $a1, $v0
.L80005FDC:
/* 006BDC 80005FDC 44853000 */ mtc1 $a1, $f6
/* 006BE0 80005FE0 3C01800E */ lui $at, %hi(D_800E4C58 + 4) # $at, 0x800e
/* 006BE4 80005FE4 468032A1 */ cvt.d.w $f10, $f6
/* 006BE8 80005FE8 C4254C50 */ lwc1 $f5, %lo(D_800E4C50)($at)
/* 006BEC 80005FEC C4244C54 */ lwc1 $f4, %lo(D_800E4C50 + 4)($at)
/* 006BF0 80005FF0 8D230000 */ lw $v1, ($t1)
/* 006BF4 80005FF4 462A2002 */ mul.d $f0, $f4, $f10
/* 006BF8 80005FF8 C46C003C */ lwc1 $f12, 0x3c($v1)
/* 006BFC 80005FFC 0005C980 */ sll $t9, $a1, 6
/* 006C00 80006000 460060A1 */ cvt.d.s $f2, $f12
/* 006C04 80006004 4620103C */ c.lt.d $f2, $f0
/* 006C08 80006008 00000000 */ nop
/* 006C0C 8000600C 4500000E */ bc1f .L80006048
/* 006C10 80006010 00000000 */ nop
/* 006C14 80006014 44994000 */ mtc1 $t9, $f8
/* 006C18 80006018 3C048012 */ lui $a0, %hi(D_80119C3C) # $a0, 0x8012
/* 006C1C 8000601C 468041A1 */ cvt.d.w $f6, $f8
/* 006C20 80006020 00000000 */ nop
/* 006C24 80006024 46260103 */ div.d $f4, $f0, $f6
/* 006C28 80006028 46241280 */ add.d $f10, $f2, $f4
/* 006C2C 8000602C 46205220 */ cvt.s.d $f8, $f10
/* 006C30 80006030 E468003C */ swc1 $f8, 0x3c($v1)
/* 006C34 80006034 8D230000 */ lw $v1, ($t1)
/* 006C38 80006038 8C849C3C */ lw $a0, %lo(D_80119C3C)($a0)
/* 006C3C 8000603C C46C003C */ lwc1 $f12, 0x3c($v1)
/* 006C40 80006040 1000001C */ b .L800060B4
/* 006C44 80006044 460C7380 */ add.s $f14, $f14, $f12
.L80006048:
/* 006C48 80006048 4622003C */ c.lt.d $f0, $f2
/* 006C4C 8000604C 00000000 */ nop
/* 006C50 80006050 45000008 */ bc1f .L80006074
/* 006C54 80006054 00000000 */ nop
/* 006C58 80006058 462001A0 */ cvt.s.d $f6, $f0
/* 006C5C 8000605C 3C048012 */ lui $a0, %hi(D_80119C3C) # $a0, 0x8012
/* 006C60 80006060 E466003C */ swc1 $f6, 0x3c($v1)
/* 006C64 80006064 8D230000 */ lw $v1, ($t1)
/* 006C68 80006068 8C849C3C */ lw $a0, %lo(D_80119C3C)($a0)
/* 006C6C 8000606C C46C003C */ lwc1 $f12, 0x3c($v1)
/* 006C70 80006070 00000000 */ nop
.L80006074:
/* 006C74 80006074 1000000F */ b .L800060B4
/* 006C78 80006078 460C7380 */ add.s $f14, $f14, $f12
.L8000607C:
/* 006C7C 8000607C 8D230000 */ lw $v1, ($t1)
/* 006C80 80006080 C4294C58 */ lwc1 $f9, %lo(D_800E4C58)($at)
/* 006C84 80006084 C464003C */ lwc1 $f4, 0x3c($v1)
/* 006C88 80006088 C4284C5C */ lwc1 $f8, %lo(D_800E4C58 + 4)($at)
/* 006C8C 8000608C 460022A1 */ cvt.d.s $f10, $f4
/* 006C90 80006090 46285182 */ mul.d $f6, $f10, $f8
/* 006C94 80006094 3C048012 */ lui $a0, %hi(D_80119C3C) # $a0, 0x8012
/* 006C98 80006098 46203120 */ cvt.s.d $f4, $f6
/* 006C9C 8000609C E464003C */ swc1 $f4, 0x3c($v1)
/* 006CA0 800060A0 8D230000 */ lw $v1, ($t1)
/* 006CA4 800060A4 8C849C3C */ lw $a0, %lo(D_80119C3C)($a0)
/* 006CA8 800060A8 C46A003C */ lwc1 $f10, 0x3c($v1)
/* 006CAC 800060AC 00000000 */ nop
/* 006CB0 800060B0 460A7380 */ add.s $f14, $f14, $f10
.L800060B4:
/* 006CB4 800060B4 C46800CC */ lwc1 $f8, 0xcc($v1)
/* 006CB8 800060B8 C46A00A4 */ lwc1 $f10, 0xa4($v1)
/* 006CBC 800060BC 46088182 */ mul.s $f6, $f16, $f8
/* 006CC0 800060C0 848A0000 */ lh $t2, ($a0)
/* 006CC4 800060C4 2401FFFF */ li $at, -1
/* 006CC8 800060C8 46123100 */ add.s $f4, $f6, $f18
/* 006CCC 800060CC 460A2200 */ add.s $f8, $f4, $f10
/* 006CD0 800060D0 11410016 */ beq $t2, $at, .L8000612C
/* 006CD4 800060D4 46087380 */ add.s $f14, $f14, $f8
/* 006CD8 800060D8 808C01E2 */ lb $t4, 0x1e2($a0)
/* 006CDC 800060DC 00000000 */ nop
/* 006CE0 800060E0 15800012 */ bnez $t4, .L8000612C
/* 006CE4 800060E4 00000000 */ nop
/* 006CE8 800060E8 808B01E5 */ lb $t3, 0x1e5($a0)
/* 006CEC 800060EC 00000000 */ nop
/* 006CF0 800060F0 29610004 */ slti $at, $t3, 4
/* 006CF4 800060F4 1020000D */ beqz $at, .L8000612C
/* 006CF8 800060F8 00000000 */ nop
/* 006CFC 800060FC 0C0044E7 */ jal func_8001139C
/* 006D00 80006100 E7AE001C */ swc1 $f14, 0x1c($sp)
/* 006D04 80006104 3C098012 */ lui $t1, %hi(D_80119C38) # $t1, 0x8012
/* 006D08 80006108 C7AE001C */ lwc1 $f14, 0x1c($sp)
/* 006D0C 8000610C 14400007 */ bnez $v0, .L8000612C
/* 006D10 80006110 25299C38 */ addiu $t1, %lo(D_80119C38) # addiu $t1, $t1, -0x63c8
/* 006D14 80006114 3C01800E */ lui $at, %hi(D_800E4C60 + 4) # $at, 0x800e
/* 006D18 80006118 C4254C60 */ lwc1 $f5, %lo(D_800E4C60)($at)
/* 006D1C 8000611C C4244C64 */ lwc1 $f4, %lo(D_800E4C60 + 4)($at)
/* 006D20 80006120 460071A1 */ cvt.d.s $f6, $f14
/* 006D24 80006124 46243280 */ add.d $f10, $f6, $f4
/* 006D28 80006128 462053A0 */ cvt.s.d $f14, $f10
.L8000612C:
/* 006D2C 8000612C 8D230000 */ lw $v1, ($t1)
/* 006D30 80006130 3C014100 */ li $at, 0x41000000 # 8.000000
/* 006D34 80006134 C460005C */ lwc1 $f0, 0x5c($v1)
/* 006D38 80006138 44811000 */ mtc1 $at, $f2
/* 006D3C 8000613C 46007201 */ sub.s $f8, $f14, $f0
/* 006D40 80006140 3C01800E */ lui $at, %hi(D_800E4C68) # $at, 0x800e
/* 006D44 80006144 46024183 */ div.s $f6, $f8, $f2
/* 006D48 80006148 46060100 */ add.s $f4, $f0, $f6
/* 006D4C 8000614C E464005C */ swc1 $f4, 0x5c($v1)
/* 006D50 80006150 8D230000 */ lw $v1, ($t1)
/* 006D54 80006154 C42A4C6C */ lwc1 $f10, %lo(D_800E4C68 + 4)($at)
/* 006D58 80006158 C460005C */ lwc1 $f0, 0x5c($v1)
/* 006D5C 8000615C C42B4C68 */ lwc1 $f11, %lo(D_800E4C68)($at)
/* 006D60 80006160 46000221 */ cvt.d.s $f8, $f0
/* 006D64 80006164 4628503C */ c.lt.d $f10, $f8
/* 006D68 80006168 3C01800E */ lui $at, %hi(D_800E4C70) # $at, 0x800e
/* 006D6C 8000616C 45000008 */ bc1f .L80006190
/* 006D70 80006170 00000000 */ nop
/* 006D74 80006174 C4264C70 */ lwc1 $f6, %lo(D_800E4C70)($at)
/* 006D78 80006178 00000000 */ nop
/* 006D7C 8000617C E466005C */ swc1 $f6, 0x5c($v1)
/* 006D80 80006180 8D230000 */ lw $v1, ($t1)
/* 006D84 80006184 00000000 */ nop
/* 006D88 80006188 C460005C */ lwc1 $f0, 0x5c($v1)
/* 006D8C 8000618C 00000000 */ nop
.L80006190:
/* 006D90 80006190 3C01800E */ lui $at, %hi(D_800E4C74) # $at, 0x800e
/* 006D94 80006194 C4244C74 */ lwc1 $f4, %lo(D_800E4C74)($at)
/* 006D98 80006198 24050001 */ li $a1, 1
/* 006D9C 8000619C 46040282 */ mul.s $f10, $f0, $f4
/* 006DA0 800061A0 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000
/* 006DA4 800061A4 444DF800 */ cfc1 $t5, $31
/* 006DA8 800061A8 44C5F800 */ ctc1 $a1, $31
/* 006DAC 800061AC 00000000 */ nop
/* 006DB0 800061B0 46005224 */ cvt.w.s $f8, $f10
/* 006DB4 800061B4 4445F800 */ cfc1 $a1, $31
/* 006DB8 800061B8 00000000 */ nop
/* 006DBC 800061BC 30A50078 */ andi $a1, $a1, 0x78
/* 006DC0 800061C0 10A00012 */ beqz $a1, .L8000620C
/* 006DC4 800061C4 00000000 */ nop
/* 006DC8 800061C8 44814000 */ mtc1 $at, $f8
/* 006DCC 800061CC 24050001 */ li $a1, 1
/* 006DD0 800061D0 46085201 */ sub.s $f8, $f10, $f8
/* 006DD4 800061D4 3C018000 */ lui $at, 0x8000
/* 006DD8 800061D8 44C5F800 */ ctc1 $a1, $31
/* 006DDC 800061DC 00000000 */ nop
/* 006DE0 800061E0 46004224 */ cvt.w.s $f8, $f8
/* 006DE4 800061E4 4445F800 */ cfc1 $a1, $31
/* 006DE8 800061E8 00000000 */ nop
/* 006DEC 800061EC 30A50078 */ andi $a1, $a1, 0x78
/* 006DF0 800061F0 14A00004 */ bnez $a1, .L80006204
/* 006DF4 800061F4 00000000 */ nop
/* 006DF8 800061F8 44054000 */ mfc1 $a1, $f8
/* 006DFC 800061FC 10000007 */ b .L8000621C
/* 006E00 80006200 00A12825 */ or $a1, $a1, $at
.L80006204:
/* 006E04 80006204 10000005 */ b .L8000621C
/* 006E08 80006208 2405FFFF */ li $a1, -1
.L8000620C:
/* 006E0C 8000620C 44054000 */ mfc1 $a1, $f8
/* 006E10 80006210 00000000 */ nop
/* 006E14 80006214 04A0FFFB */ bltz $a1, .L80006204
/* 006E18 80006218 00000000 */ nop
.L8000621C:
/* 006E1C 8000621C 946F0018 */ lhu $t7, 0x18($v1)
/* 006E20 80006220 30A4FFFF */ andi $a0, $a1, 0xffff
/* 006E24 80006224 44CDF800 */ ctc1 $t5, $31
/* 006E28 80006228 008F082A */ slt $at, $a0, $t7
/* 006E2C 8000622C 1420000C */ bnez $at, .L80006260
/* 006E30 80006230 00001025 */ move $v0, $zero
.L80006234:
/* 006E34 80006234 24420001 */ addiu $v0, $v0, 1
/* 006E38 80006238 305800FF */ andi $t8, $v0, 0xff
/* 006E3C 8000623C 0018C840 */ sll $t9, $t8, 1
/* 006E40 80006240 00795021 */ addu $t2, $v1, $t9
/* 006E44 80006244 954C0018 */ lhu $t4, 0x18($t2)
/* 006E48 80006248 03001025 */ move $v0, $t8
/* 006E4C 8000624C 008C082A */ slt $at, $a0, $t4
/* 006E50 80006250 14200003 */ bnez $at, .L80006260
/* 006E54 80006254 2B010004 */ slti $at, $t8, 4
/* 006E58 80006258 1420FFF6 */ bnez $at, .L80006234
/* 006E5C 8000625C 00000000 */ nop
.L80006260:
/* 006E60 80006260 24010004 */ li $at, 4
/* 006E64 80006264 14410005 */ bne $v0, $at, .L8000627C
/* 006E68 80006268 00402825 */ move $a1, $v0
/* 006E6C 8000626C 00625821 */ addu $t3, $v1, $v0
/* 006E70 80006270 9168002C */ lbu $t0, 0x2c($t3)
/* 006E74 80006274 10000045 */ b .L8000638C
/* 006E78 80006278 44882000 */ mtc1 $t0, $f4
.L8000627C:
/* 006E7C 8000627C 10A00004 */ beqz $a1, .L80006290
/* 006E80 80006280 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000
/* 006E84 80006284 2442FFFF */ addiu $v0, $v0, -1
/* 006E88 80006288 304500FF */ andi $a1, $v0, 0xff
/* 006E8C 8000628C 00A01025 */ move $v0, $a1
.L80006290:
/* 006E90 80006290 00027040 */ sll $t6, $v0, 1
/* 006E94 80006294 006E7821 */ addu $t7, $v1, $t6
/* 006E98 80006298 0005C840 */ sll $t9, $a1, 1
/* 006E9C 8000629C 95E60018 */ lhu $a2, 0x18($t7)
/* 006EA0 800062A0 00795021 */ addu $t2, $v1, $t9
/* 006EA4 800062A4 954C001A */ lhu $t4, 0x1a($t2)
/* 006EA8 800062A8 0086C023 */ subu $t8, $a0, $a2
/* 006EAC 800062AC 01865823 */ subu $t3, $t4, $a2
/* 006EB0 800062B0 448B5000 */ mtc1 $t3, $f10
/* 006EB4 800062B4 44983000 */ mtc1 $t8, $f6
/* 006EB8 800062B8 46805220 */ cvt.s.w $f8, $f10
/* 006EBC 800062BC 00657021 */ addu $t6, $v1, $a1
/* 006EC0 800062C0 00626821 */ addu $t5, $v1, $v0
/* 006EC4 800062C4 46803120 */ cvt.s.w $f4, $f6
/* 006EC8 800062C8 91A7002C */ lbu $a3, 0x2c($t5)
/* 006ECC 800062CC 91CF002D */ lbu $t7, 0x2d($t6)
/* 006ED0 800062D0 46082003 */ div.s $f0, $f4, $f8
/* 006ED4 800062D4 01E7C023 */ subu $t8, $t7, $a3
/* 006ED8 800062D8 44983000 */ mtc1 $t8, $f6
/* 006EDC 800062DC 44874000 */ mtc1 $a3, $f8
/* 006EE0 800062E0 468032A0 */ cvt.s.w $f10, $f6
/* 006EE4 800062E4 46005102 */ mul.s $f4, $f10, $f0
/* 006EE8 800062E8 04E10004 */ bgez $a3, .L800062FC
/* 006EEC 800062EC 468041A0 */ cvt.s.w $f6, $f8
/* 006EF0 800062F0 44815000 */ mtc1 $at, $f10
/* 006EF4 800062F4 00000000 */ nop
/* 006EF8 800062F8 460A3180 */ add.s $f6, $f6, $f10
.L800062FC:
/* 006EFC 800062FC 46062200 */ add.s $f8, $f4, $f6
/* 006F00 80006300 24080001 */ li $t0, 1
/* 006F04 80006304 4459F800 */ cfc1 $t9, $31
/* 006F08 80006308 44C8F800 */ ctc1 $t0, $31
/* 006F0C 8000630C 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000
/* 006F10 80006310 460042A4 */ cvt.w.s $f10, $f8
/* 006F14 80006314 4448F800 */ cfc1 $t0, $31
/* 006F18 80006318 00000000 */ nop
/* 006F1C 8000631C 31080078 */ andi $t0, $t0, 0x78
/* 006F20 80006320 11000012 */ beqz $t0, .L8000636C
/* 006F24 80006324 00000000 */ nop
/* 006F28 80006328 44815000 */ mtc1 $at, $f10
/* 006F2C 8000632C 24080001 */ li $t0, 1
/* 006F30 80006330 460A4281 */ sub.s $f10, $f8, $f10
/* 006F34 80006334 3C018000 */ lui $at, 0x8000
/* 006F38 80006338 44C8F800 */ ctc1 $t0, $31
/* 006F3C 8000633C 00000000 */ nop
/* 006F40 80006340 460052A4 */ cvt.w.s $f10, $f10
/* 006F44 80006344 4448F800 */ cfc1 $t0, $31
/* 006F48 80006348 00000000 */ nop
/* 006F4C 8000634C 31080078 */ andi $t0, $t0, 0x78
/* 006F50 80006350 15000004 */ bnez $t0, .L80006364
/* 006F54 80006354 00000000 */ nop
/* 006F58 80006358 44085000 */ mfc1 $t0, $f10
/* 006F5C 8000635C 10000007 */ b .L8000637C
/* 006F60 80006360 01014025 */ or $t0, $t0, $at
.L80006364:
/* 006F64 80006364 10000005 */ b .L8000637C
/* 006F68 80006368 2408FFFF */ li $t0, -1
.L8000636C:
/* 006F6C 8000636C 44085000 */ mfc1 $t0, $f10
/* 006F70 80006370 00000000 */ nop
/* 006F74 80006374 0500FFFB */ bltz $t0, .L80006364
/* 006F78 80006378 00000000 */ nop
.L8000637C:
/* 006F7C 8000637C 44D9F800 */ ctc1 $t9, $31
/* 006F80 80006380 310A00FF */ andi $t2, $t0, 0xff
/* 006F84 80006384 01404025 */ move $t0, $t2
/* 006F88 80006388 44882000 */ mtc1 $t0, $f4
.L8000638C:
/* 006F8C 8000638C C4600054 */ lwc1 $f0, 0x54($v1)
/* 006F90 80006390 05010005 */ bgez $t0, .L800063A8
/* 006F94 80006394 468021A0 */ cvt.s.w $f6, $f4
/* 006F98 80006398 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000
/* 006F9C 8000639C 44814000 */ mtc1 $at, $f8
/* 006FA0 800063A0 00000000 */ nop
/* 006FA4 800063A4 46083180 */ add.s $f6, $f6, $f8
.L800063A8:
/* 006FA8 800063A8 46003281 */ sub.s $f10, $f6, $f0
/* 006FAC 800063AC 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 006FB0 800063B0 46025103 */ div.s $f4, $f10, $f2
/* 006FB4 800063B4 44813000 */ mtc1 $at, $f6
/* 006FB8 800063B8 44805000 */ mtc1 $zero, $f10
/* 006FBC 800063BC 46040200 */ add.s $f8, $f0, $f4
/* 006FC0 800063C0 E4680054 */ swc1 $f8, 0x54($v1)
/* 006FC4 800063C4 8D2C0000 */ lw $t4, ($t1)
/* 006FC8 800063C8 00000000 */ nop
/* 006FCC 800063CC E5860060 */ swc1 $f6, 0x60($t4)
/* 006FD0 800063D0 8D2B0000 */ lw $t3, ($t1)
/* 006FD4 800063D4 00000000 */ nop
/* 006FD8 800063D8 E56A0058 */ swc1 $f10, 0x58($t3)
/* 006FDC 800063DC 8FBF0014 */ lw $ra, 0x14($sp)
/* 006FE0 800063E0 27BD0038 */ addiu $sp, $sp, 0x38
/* 006FE4 800063E4 03E00008 */ jr $ra
/* 006FE8 800063E8 00000000 */ nop
@@ -1,86 +0,0 @@
glabel func_80006AC8
/* 0076C8 80006AC8 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 0076CC 80006ACC AFBF0024 */ sw $ra, 0x24($sp)
/* 0076D0 80006AD0 AFB20020 */ sw $s2, 0x20($sp)
/* 0076D4 80006AD4 AFB1001C */ sw $s1, 0x1c($sp)
/* 0076D8 80006AD8 AFB00018 */ sw $s0, 0x18($sp)
/* 0076DC 80006ADC AFA40028 */ sw $a0, 0x28($sp)
/* 0076E0 80006AE0 8C8F0064 */ lw $t7, 0x64($a0)
/* 0076E4 80006AE4 3C128012 */ lui $s2, %hi(D_80119C38) # $s2, 0x8012
/* 0076E8 80006AE8 8DE50118 */ lw $a1, 0x118($t7)
/* 0076EC 80006AEC 26529C38 */ addiu $s2, %lo(D_80119C38) # addiu $s2, $s2, -0x63c8
/* 0076F0 80006AF0 10A0003C */ beqz $a1, .L80006BE4
/* 0076F4 80006AF4 AE450000 */ sw $a1, ($s2)
/* 0076F8 80006AF8 00008025 */ move $s0, $zero
/* 0076FC 80006AFC 24110008 */ li $s1, 8
/* 007700 80006B00 00B0C821 */ addu $t9, $a1, $s0
.L80006B04:
/* 007704 80006B04 8F240048 */ lw $a0, 0x48($t9)
/* 007708 80006B08 00000000 */ nop
/* 00770C 80006B0C 10800009 */ beqz $a0, .L80006B34
/* 007710 80006B10 00000000 */ nop
/* 007714 80006B14 0C001223 */ jal func_8000488C
/* 007718 80006B18 00000000 */ nop
/* 00771C 80006B1C 8E480000 */ lw $t0, ($s2)
/* 007720 80006B20 00000000 */ nop
/* 007724 80006B24 01104821 */ addu $t1, $t0, $s0
/* 007728 80006B28 AD200048 */ sw $zero, 0x48($t1)
/* 00772C 80006B2C 8E450000 */ lw $a1, ($s2)
/* 007730 80006B30 00000000 */ nop
.L80006B34:
/* 007734 80006B34 26100004 */ addiu $s0, $s0, 4
/* 007738 80006B38 1611FFF2 */ bne $s0, $s1, .L80006B04
/* 00773C 80006B3C 00B0C821 */ addu $t9, $a1, $s0
/* 007740 80006B40 8CA40050 */ lw $a0, 0x50($a1)
/* 007744 80006B44 00000000 */ nop
/* 007748 80006B48 10800008 */ beqz $a0, .L80006B6C
/* 00774C 80006B4C 00000000 */ nop
/* 007750 80006B50 0C001223 */ jal func_8000488C
/* 007754 80006B54 00000000 */ nop
/* 007758 80006B58 8E4A0000 */ lw $t2, ($s2)
/* 00775C 80006B5C 00000000 */ nop
/* 007760 80006B60 AD400050 */ sw $zero, 0x50($t2)
/* 007764 80006B64 8E450000 */ lw $a1, ($s2)
/* 007768 80006B68 00000000 */ nop
.L80006B6C:
/* 00776C 80006B6C 8CA400A8 */ lw $a0, 0xa8($a1)
/* 007770 80006B70 00000000 */ nop
/* 007774 80006B74 10800008 */ beqz $a0, .L80006B98
/* 007778 80006B78 00000000 */ nop
/* 00777C 80006B7C 0C001223 */ jal func_8000488C
/* 007780 80006B80 00000000 */ nop
/* 007784 80006B84 8E4B0000 */ lw $t3, ($s2)
/* 007788 80006B88 00000000 */ nop
/* 00778C 80006B8C AD6000A8 */ sw $zero, 0xa8($t3)
/* 007790 80006B90 8E450000 */ lw $a1, ($s2)
/* 007794 80006B94 00000000 */ nop
.L80006B98:
/* 007798 80006B98 3C028012 */ lui $v0, %hi(D_80119C30) # $v0, 0x8012
/* 00779C 80006B9C 3C038012 */ lui $v1, %hi(D_80119C38) # $v1, 0x8012
/* 0077A0 80006BA0 24639C38 */ addiu $v1, %lo(D_80119C38) # addiu $v1, $v1, -0x63c8
/* 0077A4 80006BA4 24429C30 */ addiu $v0, %lo(D_80119C30) # addiu $v0, $v0, -0x63d0
.L80006BA8:
/* 0077A8 80006BA8 8C4C0000 */ lw $t4, ($v0)
/* 0077AC 80006BAC 00000000 */ nop
/* 0077B0 80006BB0 14AC0002 */ bne $a1, $t4, .L80006BBC
/* 0077B4 80006BB4 00000000 */ nop
/* 0077B8 80006BB8 AC400000 */ sw $zero, ($v0)
.L80006BBC:
/* 0077BC 80006BBC 24420004 */ addiu $v0, $v0, 4
/* 0077C0 80006BC0 1443FFF9 */ bne $v0, $v1, .L80006BA8
/* 0077C4 80006BC4 00000000 */ nop
/* 0077C8 80006BC8 0C01C450 */ jal free_from_memory_pool
/* 0077CC 80006BCC 00A02025 */ move $a0, $a1
/* 0077D0 80006BD0 8FAD0028 */ lw $t5, 0x28($sp)
/* 0077D4 80006BD4 00000000 */ nop
/* 0077D8 80006BD8 8DAE0064 */ lw $t6, 0x64($t5)
/* 0077DC 80006BDC 00000000 */ nop
/* 0077E0 80006BE0 ADC00118 */ sw $zero, 0x118($t6)
.L80006BE4:
/* 0077E4 80006BE4 8FBF0024 */ lw $ra, 0x24($sp)
/* 0077E8 80006BE8 8FB00018 */ lw $s0, 0x18($sp)
/* 0077EC 80006BEC 8FB1001C */ lw $s1, 0x1c($sp)
/* 0077F0 80006BF0 8FB20020 */ lw $s2, 0x20($sp)
/* 0077F4 80006BF4 03E00008 */ jr $ra
/* 0077F8 80006BF8 27BD0028 */ addiu $sp, $sp, 0x28
@@ -1,274 +0,0 @@
.late_rodata
glabel D_800E4CA0
.double 1731.23404
glabel D_800E4CA8
.double 0.8
glabel D_800E4CB0
.float 0.8
.word 0 # Padding
glabel D_800E4CB8
.double -0.8
glabel D_800E4CC0
.float -0.8
.text
glabel func_80006BFC
/* 0077FC 80006BFC 27BDFFB8 */ addiu $sp, $sp, -0x48
/* 007800 80006C00 AFBF0014 */ sw $ra, 0x14($sp)
/* 007804 80006C04 AFA70054 */ sw $a3, 0x54($sp)
/* 007808 80006C08 8CC20064 */ lw $v0, 0x64($a2)
/* 00780C 80006C0C 8C830064 */ lw $v1, 0x64($a0)
/* 007810 80006C10 8C4E0118 */ lw $t6, 0x118($v0)
/* 007814 80006C14 3C018012 */ lui $at, %hi(D_80119C38) # $at, 0x8012
/* 007818 80006C18 3C0F8012 */ lui $t7, %hi(D_80119C38) # $t7, 0x8012
/* 00781C 80006C1C AC2E9C38 */ sw $t6, %lo(D_80119C38)($at)
/* 007820 80006C20 8DEF9C38 */ lw $t7, %lo(D_80119C38)($t7)
/* 007824 80006C24 00000000 */ nop
/* 007828 80006C28 11E000E4 */ beqz $t7, .L80006FBC
/* 00782C 80006C2C 8FBF0014 */ lw $ra, 0x14($sp)
/* 007830 80006C30 10A0000E */ beqz $a1, .L80006C6C
/* 007834 80006C34 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 007838 80006C38 84780000 */ lh $t8, ($v1)
/* 00783C 80006C3C 44814000 */ mtc1 $at, $f8
/* 007840 80006C40 0018C900 */ sll $t9, $t8, 4
/* 007844 80006C44 0338C821 */ addu $t9, $t9, $t8
/* 007848 80006C48 0019C880 */ sll $t9, $t9, 2
/* 00784C 80006C4C 00B91021 */ addu $v0, $a1, $t9
/* 007850 80006C50 C4440010 */ lwc1 $f4, 0x10($v0)
/* 007854 80006C54 C452000C */ lwc1 $f18, 0xc($v0)
/* 007858 80006C58 E7A40038 */ swc1 $f4, 0x38($sp)
/* 00785C 80006C5C C4460014 */ lwc1 $f6, 0x14($v0)
/* 007860 80006C60 E7A8001C */ swc1 $f8, 0x1c($sp)
/* 007864 80006C64 10000047 */ b .L80006D84
/* 007868 80006C68 E7A60034 */ swc1 $f6, 0x34($sp)
.L80006C6C:
/* 00786C 80006C6C C48A0010 */ lwc1 $f10, 0x10($a0)
/* 007870 80006C70 C492000C */ lwc1 $f18, 0xc($a0)
/* 007874 80006C74 E7AA0038 */ swc1 $f10, 0x38($sp)
/* 007878 80006C78 C4840014 */ lwc1 $f4, 0x14($a0)
/* 00787C 80006C7C 24010001 */ li $at, 1
/* 007880 80006C80 E7A40034 */ swc1 $f4, 0x34($sp)
/* 007884 80006C84 806201D6 */ lb $v0, 0x1d6($v1)
/* 007888 80006C88 00000000 */ nop
/* 00788C 80006C8C 10400005 */ beqz $v0, .L80006CA4
/* 007890 80006C90 00000000 */ nop
/* 007894 80006C94 1041000E */ beq $v0, $at, .L80006CD0
/* 007898 80006C98 00000000 */ nop
/* 00789C 80006C9C 1000001B */ b .L80006D0C
/* 0078A0 80006CA0 C480001C */ lwc1 $f0, 0x1c($a0)
.L80006CA4:
/* 0078A4 80006CA4 C460002C */ lwc1 $f0, 0x2c($v1)
/* 0078A8 80006CA8 44803000 */ mtc1 $zero, $f6
/* 0078AC 80006CAC 00000000 */ nop
/* 0078B0 80006CB0 4600303E */ c.le.s $f6, $f0
/* 0078B4 80006CB4 00000000 */ nop
/* 0078B8 80006CB8 45000003 */ bc1f .L80006CC8
/* 0078BC 80006CBC 00000000 */ nop
/* 0078C0 80006CC0 10000021 */ b .L80006D48
/* 0078C4 80006CC4 46000086 */ mov.s $f2, $f0
.L80006CC8:
/* 0078C8 80006CC8 1000001F */ b .L80006D48
/* 0078CC 80006CCC 46000087 */ neg.s $f2, $f0
.L80006CD0:
/* 0078D0 80006CD0 C480001C */ lwc1 $f0, 0x1c($a0)
/* 0078D4 80006CD4 C4820024 */ lwc1 $f2, 0x24($a0)
/* 0078D8 80006CD8 46000202 */ mul.s $f8, $f0, $f0
/* 0078DC 80006CDC E7B2003C */ swc1 $f18, 0x3c($sp)
/* 0078E0 80006CE0 AFA60050 */ sw $a2, 0x50($sp)
/* 0078E4 80006CE4 AFA30044 */ sw $v1, 0x44($sp)
/* 0078E8 80006CE8 46021282 */ mul.s $f10, $f2, $f2
/* 0078EC 80006CEC 0C0326B4 */ jal sqrtf
/* 0078F0 80006CF0 460A4300 */ add.s $f12, $f8, $f10
/* 0078F4 80006CF4 8FA30044 */ lw $v1, 0x44($sp)
/* 0078F8 80006CF8 8FA60050 */ lw $a2, 0x50($sp)
/* 0078FC 80006CFC C7B2003C */ lwc1 $f18, 0x3c($sp)
/* 007900 80006D00 10000011 */ b .L80006D48
/* 007904 80006D04 46000086 */ mov.s $f2, $f0
/* 007908 80006D08 C480001C */ lwc1 $f0, 0x1c($a0)
.L80006D0C:
/* 00790C 80006D0C C4820024 */ lwc1 $f2, 0x24($a0)
/* 007910 80006D10 46000102 */ mul.s $f4, $f0, $f0
/* 007914 80006D14 C48E0020 */ lwc1 $f14, 0x20($a0)
/* 007918 80006D18 E7B2003C */ swc1 $f18, 0x3c($sp)
/* 00791C 80006D1C AFA60050 */ sw $a2, 0x50($sp)
/* 007920 80006D20 46021182 */ mul.s $f6, $f2, $f2
/* 007924 80006D24 AFA30044 */ sw $v1, 0x44($sp)
/* 007928 80006D28 460E7282 */ mul.s $f10, $f14, $f14
/* 00792C 80006D2C 46062200 */ add.s $f8, $f4, $f6
/* 007930 80006D30 0C0326B4 */ jal sqrtf
/* 007934 80006D34 460A4300 */ add.s $f12, $f8, $f10
/* 007938 80006D38 8FA30044 */ lw $v1, 0x44($sp)
/* 00793C 80006D3C 8FA60050 */ lw $a2, 0x50($sp)
/* 007940 80006D40 C7B2003C */ lwc1 $f18, 0x3c($sp)
/* 007944 80006D44 46000086 */ mov.s $f2, $f0
.L80006D48:
/* 007948 80006D48 3C014170 */ li $at, 0x41700000 # 15.000000
/* 00794C 80006D4C 44818000 */ mtc1 $at, $f16
/* 007950 80006D50 00000000 */ nop
/* 007954 80006D54 4602803C */ c.lt.s $f16, $f2
/* 007958 80006D58 00000000 */ nop
/* 00795C 80006D5C 45000003 */ bc1f .L80006D6C
/* 007960 80006D60 00000000 */ nop
/* 007964 80006D64 46008086 */ mov.s $f2, $f16
/* 007968 80006D68 00000000 */ nop
.L80006D6C:
/* 00796C 80006D6C 46101183 */ div.s $f6, $f2, $f16
/* 007970 80006D70 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 007974 80006D74 44812000 */ mtc1 $at, $f4
/* 007978 80006D78 00000000 */ nop
/* 00797C 80006D7C 46062201 */ sub.s $f8, $f4, $f6
/* 007980 80006D80 E7A8001C */ swc1 $f8, 0x1c($sp)
.L80006D84:
/* 007984 80006D84 C4CA000C */ lwc1 $f10, 0xc($a2)
/* 007988 80006D88 C4C40010 */ lwc1 $f4, 0x10($a2)
/* 00798C 80006D8C C7A60038 */ lwc1 $f6, 0x38($sp)
/* 007990 80006D90 46125001 */ sub.s $f0, $f10, $f18
/* 007994 80006D94 C7AA0034 */ lwc1 $f10, 0x34($sp)
/* 007998 80006D98 46062081 */ sub.s $f2, $f4, $f6
/* 00799C 80006D9C C4C80014 */ lwc1 $f8, 0x14($a2)
/* 0079A0 80006DA0 46000102 */ mul.s $f4, $f0, $f0
/* 0079A4 80006DA4 460A4381 */ sub.s $f14, $f8, $f10
/* 0079A8 80006DA8 AFA30044 */ sw $v1, 0x44($sp)
/* 0079AC 80006DAC 46021182 */ mul.s $f6, $f2, $f2
/* 0079B0 80006DB0 00000000 */ nop
/* 0079B4 80006DB4 460E7282 */ mul.s $f10, $f14, $f14
/* 0079B8 80006DB8 46062200 */ add.s $f8, $f4, $f6
/* 0079BC 80006DBC 0C0326B4 */ jal sqrtf
/* 0079C0 80006DC0 460A4300 */ add.s $f12, $f8, $f10
/* 0079C4 80006DC4 8FA30044 */ lw $v1, 0x44($sp)
/* 0079C8 80006DC8 E7A00020 */ swc1 $f0, 0x20($sp)
/* 0079CC 80006DCC 84680000 */ lh $t0, ($v1)
/* 0079D0 80006DD0 3C028012 */ lui $v0, %hi(D_80119C38) # $v0, 0x8012
/* 0079D4 80006DD4 8C429C38 */ lw $v0, %lo(D_80119C38)($v0)
/* 0079D8 80006DD8 8FAB0054 */ lw $t3, 0x54($sp)
/* 0079DC 80006DDC 00084880 */ sll $t1, $t0, 2
/* 0079E0 80006DE0 448B4000 */ mtc1 $t3, $f8
/* 0079E4 80006DE4 00495021 */ addu $t2, $v0, $t1
/* 0079E8 80006DE8 C544006C */ lwc1 $f4, 0x6c($t2)
/* 0079EC 80006DEC 468042A0 */ cvt.s.w $f10, $f8
/* 0079F0 80006DF0 3C014170 */ li $at, 0x41700000 # 15.000000
/* 0079F4 80006DF4 44818000 */ mtc1 $at, $f16
/* 0079F8 80006DF8 46002181 */ sub.s $f6, $f4, $f0
/* 0079FC 80006DFC 3C01C170 */ li $at, 0xC1700000 # -15.000000
/* 007A00 80006E00 460A3083 */ div.s $f2, $f6, $f10
/* 007A04 80006E04 4602803C */ c.lt.s $f16, $f2
/* 007A08 80006E08 00000000 */ nop
/* 007A0C 80006E0C 45000003 */ bc1f .L80006E1C
/* 007A10 80006E10 00000000 */ nop
/* 007A14 80006E14 10000008 */ b .L80006E38
/* 007A18 80006E18 46008086 */ mov.s $f2, $f16
.L80006E1C:
/* 007A1C 80006E1C 44810000 */ mtc1 $at, $f0
/* 007A20 80006E20 00000000 */ nop
/* 007A24 80006E24 4600103C */ c.lt.s $f2, $f0
/* 007A28 80006E28 00000000 */ nop
/* 007A2C 80006E2C 45000002 */ bc1f .L80006E38
/* 007A30 80006E30 00000000 */ nop
/* 007A34 80006E34 46000086 */ mov.s $f2, $f0
.L80006E38:
/* 007A38 80006E38 C44C005C */ lwc1 $f12, 0x5c($v0)
/* 007A3C 80006E3C E7A20024 */ swc1 $f2, 0x24($sp)
/* 007A40 80006E40 0C001FE9 */ jal func_80007FA4
/* 007A44 80006E44 AFA30044 */ sw $v1, 0x44($sp)
/* 007A48 80006E48 3C01428C */ li $at, 0x428C0000 # 70.000000
/* 007A4C 80006E4C 44816000 */ mtc1 $at, $f12
/* 007A50 80006E50 C7A20024 */ lwc1 $f2, 0x24($sp)
/* 007A54 80006E54 3C01800E */ lui $at, %hi(D_800E4CA0 + 4) # $at, 0x800e
/* 007A58 80006E58 46026100 */ add.s $f4, $f12, $f2
/* 007A5C 80006E5C C4254CA0 */ lwc1 $f5, %lo(D_800E4CA0)($at)
/* 007A60 80006E60 46026201 */ sub.s $f8, $f12, $f2
/* 007A64 80006E64 00000000 */ nop
/* 007A68 80006E68 46082183 */ div.s $f6, $f4, $f8
/* 007A6C 80006E6C C4244CA4 */ lwc1 $f4, %lo(D_800E4CA0 + 4)($at)
/* 007A70 80006E70 460002A1 */ cvt.d.s $f10, $f0
/* 007A74 80006E74 46245202 */ mul.d $f8, $f10, $f4
/* 007A78 80006E78 444CF800 */ cfc1 $t4, $31
/* 007A7C 80006E7C 00000000 */ nop
/* 007A80 80006E80 35810003 */ ori $at, $t4, 3
/* 007A84 80006E84 38210002 */ xori $at, $at, 2
/* 007A88 80006E88 44C1F800 */ ctc1 $at, $31
/* 007A8C 80006E8C 00000000 */ nop
/* 007A90 80006E90 462042A4 */ cvt.w.d $f10, $f8
/* 007A94 80006E94 440D5000 */ mfc1 $t5, $f10
/* 007A98 80006E98 44CCF800 */ ctc1 $t4, $31
/* 007A9C 80006E9C 448D2000 */ mtc1 $t5, $f4
/* 007AA0 80006EA0 00000000 */ nop
/* 007AA4 80006EA4 46802220 */ cvt.s.w $f8, $f4
/* 007AA8 80006EA8 46083282 */ mul.s $f10, $f6, $f8
/* 007AAC 80006EAC 444EF800 */ cfc1 $t6, $31
/* 007AB0 80006EB0 00000000 */ nop
/* 007AB4 80006EB4 35C10003 */ ori $at, $t6, 3
/* 007AB8 80006EB8 38210002 */ xori $at, $at, 2
/* 007ABC 80006EBC 44C1F800 */ ctc1 $at, $31
/* 007AC0 80006EC0 00000000 */ nop
/* 007AC4 80006EC4 46005124 */ cvt.w.s $f4, $f10
/* 007AC8 80006EC8 44042000 */ mfc1 $a0, $f4
/* 007ACC 80006ECC 44CEF800 */ ctc1 $t6, $31
/* 007AD0 80006ED0 0C032678 */ jal alCents2Ratio
/* 007AD4 80006ED4 00000000 */ nop
/* 007AD8 80006ED8 3C028012 */ lui $v0, %hi(D_80119C38) # $v0, 0x8012
/* 007ADC 80006EDC 8C429C38 */ lw $v0, %lo(D_80119C38)($v0)
/* 007AE0 80006EE0 3C014000 */ li $at, 0x40000000 # 2.000000
/* 007AE4 80006EE4 C446005C */ lwc1 $f6, 0x5c($v0)
/* 007AE8 80006EE8 C4420068 */ lwc1 $f2, 0x68($v0)
/* 007AEC 80006EEC 46060201 */ sub.s $f8, $f0, $f6
/* 007AF0 80006EF0 44812000 */ mtc1 $at, $f4
/* 007AF4 80006EF4 46024281 */ sub.s $f10, $f8, $f2
/* 007AF8 80006EF8 8FA30044 */ lw $v1, 0x44($sp)
/* 007AFC 80006EFC 46045183 */ div.s $f6, $f10, $f4
/* 007B00 80006F00 3C01800E */ lui $at, %hi(D_800E4CA8) # $at, 0x800e
/* 007B04 80006F04 46061200 */ add.s $f8, $f2, $f6
/* 007B08 80006F08 E4480068 */ swc1 $f8, 0x68($v0)
/* 007B0C 80006F0C 3C028012 */ lui $v0, %hi(D_80119C38) # $v0, 0x8012
/* 007B10 80006F10 8C429C38 */ lw $v0, %lo(D_80119C38)($v0)
/* 007B14 80006F14 C7A4001C */ lwc1 $f4, 0x1c($sp)
/* 007B18 80006F18 C44A0068 */ lwc1 $f10, 0x68($v0)
/* 007B1C 80006F1C 00000000 */ nop
/* 007B20 80006F20 46045182 */ mul.s $f6, $f10, $f4
/* 007B24 80006F24 E4460068 */ swc1 $f6, 0x68($v0)
/* 007B28 80006F28 3C028012 */ lui $v0, %hi(D_80119C38) # $v0, 0x8012
/* 007B2C 80006F2C 8C429C38 */ lw $v0, %lo(D_80119C38)($v0)
/* 007B30 80006F30 C42A4CAC */ lwc1 $f10, %lo(D_800E4CA8 + 4)($at)
/* 007B34 80006F34 C4480068 */ lwc1 $f8, 0x68($v0)
/* 007B38 80006F38 C42B4CA8 */ lwc1 $f11, %lo(D_800E4CA8)($at)
/* 007B3C 80006F3C 46004321 */ cvt.d.s $f12, $f8
/* 007B40 80006F40 462C503C */ c.lt.d $f10, $f12
# Used to access D_800E4CB8 and D_800E4CB8 + 4.
/* 007B44 80006F44 3C01800E */ lui $at, %hi(D_800E4CB8) # $at, 0x800e
/* 007B48 80006F48 45000009 */ bc1f .L80006F70
/* 007B4C 80006F4C 00000000 */ nop
/* 007B50 80006F50 3C01800E */ lui $at, %hi(D_800E4CB8 + 4) # $at, 0x800e
/* 007B54 80006F54 C4244CB0 */ lwc1 $f4, %lo(D_800E4CB0)($at)
/* 007B58 80006F58 00000000 */ nop
/* 007B5C 80006F5C E4440068 */ swc1 $f4, 0x68($v0)
/* 007B60 80006F60 3C028012 */ lui $v0, %hi(D_80119C38) # $v0, 0x8012
/* 007B64 80006F64 8C429C38 */ lw $v0, %lo(D_80119C38)($v0)
/* 007B68 80006F68 1000000F */ b .L80006FA8
/* 007B6C 80006F6C 846F0000 */ lh $t7, ($v1)
.L80006F70:
/* 007B70 80006F70 C4274CB8 */ lwc1 $f7, %lo(D_800E4CB8)($at)
/* 007B74 80006F74 C4264CBC */ lwc1 $f6, %lo(D_800E4CB8 + 4)($at)
/* 007B78 80006F78 3C01800E */ lui $at, %hi(D_800E4CC0) # $at, 0x800e
/* 007B7C 80006F7C 4626603C */ c.lt.d $f12, $f6
/* 007B80 80006F80 00000000 */ nop
/* 007B84 80006F84 45000007 */ bc1f .L80006FA4
/* 007B88 80006F88 00000000 */ nop
/* 007B8C 80006F8C C4284CC0 */ lwc1 $f8, %lo(D_800E4CC0)($at)
/* 007B90 80006F90 00000000 */ nop
/* 007B94 80006F94 E4480068 */ swc1 $f8, 0x68($v0)
/* 007B98 80006F98 3C028012 */ lui $v0, %hi(D_80119C38) # $v0, 0x8012
/* 007B9C 80006F9C 8C429C38 */ lw $v0, %lo(D_80119C38)($v0)
/* 007BA0 80006FA0 00000000 */ nop
.L80006FA4:
/* 007BA4 80006FA4 846F0000 */ lh $t7, ($v1)
.L80006FA8:
/* 007BA8 80006FA8 C7AA0020 */ lwc1 $f10, 0x20($sp)
/* 007BAC 80006FAC 000FC080 */ sll $t8, $t7, 2
/* 007BB0 80006FB0 0058C821 */ addu $t9, $v0, $t8
/* 007BB4 80006FB4 E72A006C */ swc1 $f10, 0x6c($t9)
/* 007BB8 80006FB8 8FBF0014 */ lw $ra, 0x14($sp)
.L80006FBC:
/* 007BBC 80006FBC 27BD0048 */ addiu $sp, $sp, 0x48
/* 007BC0 80006FC0 03E00008 */ jr $ra
/* 007BC4 80006FC4 00000000 */ nop

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