From 52f93d135f66f075b01b1d64b19b160f02bb0c8d Mon Sep 17 00:00:00 2001
From: Synray <31429825+Synray@users.noreply.github.com>
Date: Sun, 26 Sep 2021 06:35:01 -0700
Subject: [PATCH] Decompile Object Kankyo (#960)
* Decompile Object Kankyo
* Remove asm, format
* Start documenting object kankyo
* Document object kankyo
* Remove reloc
* Review changes
and formatted again :(
* WIP
* Review changes
---
.../ovl_Object_Kankyo/ObjectKankyo_Destroy.s | 10 -
.../ovl_Object_Kankyo/ObjectKankyo_Draw.s | 52 -
.../ovl_Object_Kankyo/ObjectKankyo_Init.s | 257 ----
.../ObjectKankyo_SetupAction.s | 3 -
.../ovl_Object_Kankyo/ObjectKankyo_Update.s | 10 -
.../actors/ovl_Object_Kankyo/func_80BA2DC8.s | 4 -
.../actors/ovl_Object_Kankyo/func_80BA2DD4.s | 1079 -----------------
.../actors/ovl_Object_Kankyo/func_80BA3C94.s | 339 ------
.../actors/ovl_Object_Kankyo/func_80BA414C.s | 552 ---------
.../actors/ovl_Object_Kankyo/func_80BA4914.s | 49 -
.../actors/ovl_Object_Kankyo/func_80BA49BC.s | 167 ---
.../actors/ovl_Object_Kankyo/func_80BA4BFC.s | 42 -
.../actors/ovl_Object_Kankyo/func_80BA4C68.s | 30 -
.../actors/ovl_Object_Kankyo/func_80BA4CD4.s | 53 -
.../actors/ovl_Object_Kankyo/func_80BA4D7C.s | 393 ------
.../actors/ovl_Object_Kankyo/func_80BA5304.s | 42 -
.../actors/ovl_Object_Kankyo/func_80BA5370.s | 26 -
.../actors/ovl_Object_Kankyo/func_80BA53CC.s | 67 -
.../actors/ovl_Object_Kankyo/func_80BA54AC.s | 297 -----
assets/xml/objects/object_spot02_objects.xml | 10 +-
data/overlays/actors/z_object_kankyo.data.s | 54 -
data/overlays/actors/z_object_kankyo.reloc.s | 13 -
spec | 3 +-
src/code/z_demo.c | 4 +-
.../ovl_Object_Kankyo/z_object_kankyo.c | 914 +++++++++++++-
.../ovl_Object_Kankyo/z_object_kankyo.h | 23 +-
undefined_syms.txt | 1 -
27 files changed, 926 insertions(+), 3568 deletions(-)
delete mode 100644 asm/non_matchings/overlays/actors/ovl_Object_Kankyo/ObjectKankyo_Destroy.s
delete mode 100644 asm/non_matchings/overlays/actors/ovl_Object_Kankyo/ObjectKankyo_Draw.s
delete mode 100644 asm/non_matchings/overlays/actors/ovl_Object_Kankyo/ObjectKankyo_Init.s
delete mode 100644 asm/non_matchings/overlays/actors/ovl_Object_Kankyo/ObjectKankyo_SetupAction.s
delete mode 100644 asm/non_matchings/overlays/actors/ovl_Object_Kankyo/ObjectKankyo_Update.s
delete mode 100644 asm/non_matchings/overlays/actors/ovl_Object_Kankyo/func_80BA2DC8.s
delete mode 100644 asm/non_matchings/overlays/actors/ovl_Object_Kankyo/func_80BA2DD4.s
delete mode 100644 asm/non_matchings/overlays/actors/ovl_Object_Kankyo/func_80BA3C94.s
delete mode 100644 asm/non_matchings/overlays/actors/ovl_Object_Kankyo/func_80BA414C.s
delete mode 100644 asm/non_matchings/overlays/actors/ovl_Object_Kankyo/func_80BA4914.s
delete mode 100644 asm/non_matchings/overlays/actors/ovl_Object_Kankyo/func_80BA49BC.s
delete mode 100644 asm/non_matchings/overlays/actors/ovl_Object_Kankyo/func_80BA4BFC.s
delete mode 100644 asm/non_matchings/overlays/actors/ovl_Object_Kankyo/func_80BA4C68.s
delete mode 100644 asm/non_matchings/overlays/actors/ovl_Object_Kankyo/func_80BA4CD4.s
delete mode 100644 asm/non_matchings/overlays/actors/ovl_Object_Kankyo/func_80BA4D7C.s
delete mode 100644 asm/non_matchings/overlays/actors/ovl_Object_Kankyo/func_80BA5304.s
delete mode 100644 asm/non_matchings/overlays/actors/ovl_Object_Kankyo/func_80BA5370.s
delete mode 100644 asm/non_matchings/overlays/actors/ovl_Object_Kankyo/func_80BA53CC.s
delete mode 100644 asm/non_matchings/overlays/actors/ovl_Object_Kankyo/func_80BA54AC.s
delete mode 100644 data/overlays/actors/z_object_kankyo.data.s
delete mode 100644 data/overlays/actors/z_object_kankyo.reloc.s
diff --git a/asm/non_matchings/overlays/actors/ovl_Object_Kankyo/ObjectKankyo_Destroy.s b/asm/non_matchings/overlays/actors/ovl_Object_Kankyo/ObjectKankyo_Destroy.s
deleted file mode 100644
index 9d94e20bc6..0000000000
--- a/asm/non_matchings/overlays/actors/ovl_Object_Kankyo/ObjectKankyo_Destroy.s
+++ /dev/null
@@ -1,10 +0,0 @@
-glabel ObjectKankyo_Destroy
-/* 00308 80BA2DA8 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
-/* 0030C 80BA2DAC AFBF0014 */ sw $ra, 0x0014($sp)
-/* 00310 80BA2DB0 0C00B55C */ jal Actor_Kill
-
-/* 00314 80BA2DB4 AFA5001C */ sw $a1, 0x001C($sp)
-/* 00318 80BA2DB8 8FBF0014 */ lw $ra, 0x0014($sp)
-/* 0031C 80BA2DBC 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
-/* 00320 80BA2DC0 03E00008 */ jr $ra
-/* 00324 80BA2DC4 00000000 */ nop
diff --git a/asm/non_matchings/overlays/actors/ovl_Object_Kankyo/ObjectKankyo_Draw.s b/asm/non_matchings/overlays/actors/ovl_Object_Kankyo/ObjectKankyo_Draw.s
deleted file mode 100644
index 2a32c291dc..0000000000
--- a/asm/non_matchings/overlays/actors/ovl_Object_Kankyo/ObjectKankyo_Draw.s
+++ /dev/null
@@ -1,52 +0,0 @@
-.late_rodata
-glabel jtbl_80BA5C84
- .word L80BA3C3C
- .word L80BA3C84
- .word L80BA3C4C
- .word L80BA3C5C
- .word L80BA3C6C
- .word L80BA3C7C
-
-.text
-glabel ObjectKankyo_Draw
-/* 01170 80BA3C10 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
-/* 01174 80BA3C14 AFBF0014 */ sw $ra, 0x0014($sp)
-/* 01178 80BA3C18 948E001C */ lhu $t6, 0x001C($a0) ## 0000001C
-/* 0117C 80BA3C1C 2DC10006 */ sltiu $at, $t6, 0x0006
-/* 01180 80BA3C20 10200018 */ beq $at, $zero, .L80BA3C84
-/* 01184 80BA3C24 000E7080 */ sll $t6, $t6, 2
-/* 01188 80BA3C28 3C0180BA */ lui $at, %hi(jtbl_80BA5C84) ## $at = 80BA0000
-/* 0118C 80BA3C2C 002E0821 */ addu $at, $at, $t6
-/* 01190 80BA3C30 8C2E5C84 */ lw $t6, %lo(jtbl_80BA5C84)($at)
-/* 01194 80BA3C34 01C00008 */ jr $t6
-/* 01198 80BA3C38 00000000 */ nop
-glabel L80BA3C3C
-/* 0119C 80BA3C3C 0C2E8F25 */ jal func_80BA3C94
-/* 011A0 80BA3C40 00000000 */ nop
-/* 011A4 80BA3C44 10000010 */ beq $zero, $zero, .L80BA3C88
-/* 011A8 80BA3C48 8FBF0014 */ lw $ra, 0x0014($sp)
-glabel L80BA3C4C
-/* 011AC 80BA3C4C 0C2E926F */ jal func_80BA49BC
-/* 011B0 80BA3C50 00000000 */ nop
-/* 011B4 80BA3C54 1000000C */ beq $zero, $zero, .L80BA3C88
-/* 011B8 80BA3C58 8FBF0014 */ lw $ra, 0x0014($sp)
-glabel L80BA3C5C
-/* 011BC 80BA3C5C 0C2E9053 */ jal func_80BA414C
-/* 011C0 80BA3C60 00000000 */ nop
-/* 011C4 80BA3C64 10000008 */ beq $zero, $zero, .L80BA3C88
-/* 011C8 80BA3C68 8FBF0014 */ lw $ra, 0x0014($sp)
-glabel L80BA3C6C
-/* 011CC 80BA3C6C 0C2E935F */ jal func_80BA4D7C
-/* 011D0 80BA3C70 00000000 */ nop
-/* 011D4 80BA3C74 10000004 */ beq $zero, $zero, .L80BA3C88
-/* 011D8 80BA3C78 8FBF0014 */ lw $ra, 0x0014($sp)
-glabel L80BA3C7C
-/* 011DC 80BA3C7C 0C2E952B */ jal func_80BA54AC
-/* 011E0 80BA3C80 00000000 */ nop
-glabel L80BA3C84
-.L80BA3C84:
-/* 011E4 80BA3C84 8FBF0014 */ lw $ra, 0x0014($sp)
-.L80BA3C88:
-/* 011E8 80BA3C88 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
-/* 011EC 80BA3C8C 03E00008 */ jr $ra
-/* 011F0 80BA3C90 00000000 */ nop
diff --git a/asm/non_matchings/overlays/actors/ovl_Object_Kankyo/ObjectKankyo_Init.s b/asm/non_matchings/overlays/actors/ovl_Object_Kankyo/ObjectKankyo_Init.s
deleted file mode 100644
index 279191e4e4..0000000000
--- a/asm/non_matchings/overlays/actors/ovl_Object_Kankyo/ObjectKankyo_Init.s
+++ /dev/null
@@ -1,257 +0,0 @@
-.late_rodata
-glabel jtbl_80BA5BE0
- .word L80BA2B10
- .word L80BA2D98
- .word L80BA2B90
- .word L80BA2B50
- .word L80BA2BA8
- .word L80BA2BE4
-
-glabel D_80BA5BF8
- .float 0.1
-
-glabel D_80BA5BFC
- .float 0.1
-
-glabel D_80BA5C00
- .float 0.1
-
-glabel D_80BA5C04
- .float 0.1
-
-glabel D_80BA5C08
- .float 0.1
-
-glabel D_80BA5C0C
- .float 0.1
-
-glabel D_80BA5C10
- .float 0.1
-
-.text
-glabel ObjectKankyo_Init
-/* 00008 80BA2AA8 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
-/* 0000C 80BA2AAC AFBF0014 */ sw $ra, 0x0014($sp)
-/* 00010 80BA2AB0 AFA5001C */ sw $a1, 0x001C($sp)
-/* 00014 80BA2AB4 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
-/* 00018 80BA2AB8 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
-/* 0001C 80BA2ABC 24030054 */ addiu $v1, $zero, 0x0054 ## $v1 = 00000054
-.L80BA2AC0:
-/* 00020 80BA2AC0 00430019 */ multu $v0, $v1
-/* 00024 80BA2AC4 24420001 */ addiu $v0, $v0, 0x0001 ## $v0 = 00000001
-/* 00028 80BA2AC8 00021400 */ sll $v0, $v0, 16
-/* 0002C 80BA2ACC 00021403 */ sra $v0, $v0, 16
-/* 00030 80BA2AD0 28410040 */ slti $at, $v0, 0x0040
-/* 00034 80BA2AD4 00007012 */ mflo $t6
-/* 00038 80BA2AD8 00CE7821 */ addu $t7, $a2, $t6
-/* 0003C 80BA2ADC 1420FFF8 */ bne $at, $zero, .L80BA2AC0
-/* 00040 80BA2AE0 A1E0014C */ sb $zero, 0x014C($t7) ## 0000014C
-/* 00044 80BA2AE4 94D9001C */ lhu $t9, 0x001C($a2) ## 0000001C
-/* 00048 80BA2AE8 2418FFFF */ addiu $t8, $zero, 0xFFFF ## $t8 = FFFFFFFF
-/* 0004C 80BA2AEC A0D80003 */ sb $t8, 0x0003($a2) ## 00000003
-/* 00050 80BA2AF0 2F210006 */ sltiu $at, $t9, 0x0006
-/* 00054 80BA2AF4 102000A8 */ beq $at, $zero, .L80BA2D98
-/* 00058 80BA2AF8 0019C880 */ sll $t9, $t9, 2
-/* 0005C 80BA2AFC 3C0180BA */ lui $at, %hi(jtbl_80BA5BE0) ## $at = 80BA0000
-/* 00060 80BA2B00 00390821 */ addu $at, $at, $t9
-/* 00064 80BA2B04 8C395BE0 */ lw $t9, %lo(jtbl_80BA5BE0)($at)
-/* 00068 80BA2B08 03200008 */ jr $t9
-/* 0006C 80BA2B0C 00000000 */ nop
-glabel L80BA2B10
-/* 00070 80BA2B10 3C0880BA */ lui $t0, %hi(D_80BA5940) ## $t0 = 80BA0000
-/* 00074 80BA2B14 91085940 */ lbu $t0, %lo(D_80BA5940)($t0)
-/* 00078 80BA2B18 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
-/* 0007C 80BA2B1C 3C0580BA */ lui $a1, %hi(func_80BA2DD4) ## $a1 = 80BA0000
-/* 00080 80BA2B20 15000007 */ bne $t0, $zero, .L80BA2B40
-/* 00084 80BA2B24 00000000 */ nop
-/* 00088 80BA2B28 0C2E8AA8 */ jal ObjectKankyo_SetupAction
-/* 0008C 80BA2B2C 24A52DD4 */ addiu $a1, $a1, %lo(func_80BA2DD4) ## $a1 = 80BA2DD4
-/* 00090 80BA2B30 24090001 */ addiu $t1, $zero, 0x0001 ## $t1 = 00000001
-/* 00094 80BA2B34 3C0180BA */ lui $at, %hi(D_80BA5940) ## $at = 80BA0000
-/* 00098 80BA2B38 10000097 */ beq $zero, $zero, .L80BA2D98
-/* 0009C 80BA2B3C A0295940 */ sb $t1, %lo(D_80BA5940)($at)
-.L80BA2B40:
-/* 000A0 80BA2B40 0C00B55C */ jal Actor_Kill
-
-/* 000A4 80BA2B44 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
-/* 000A8 80BA2B48 10000094 */ beq $zero, $zero, .L80BA2D9C
-/* 000AC 80BA2B4C 8FBF0014 */ lw $ra, 0x0014($sp)
-glabel L80BA2B50
-/* 000B0 80BA2B50 3C0A80BA */ lui $t2, %hi(D_80BA5940) ## $t2 = 80BA0000
-/* 000B4 80BA2B54 914A5940 */ lbu $t2, %lo(D_80BA5940)($t2)
-/* 000B8 80BA2B58 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
-/* 000BC 80BA2B5C 3C0580BA */ lui $a1, %hi(func_80BA2DC8) ## $a1 = 80BA0000
-/* 000C0 80BA2B60 15400007 */ bne $t2, $zero, .L80BA2B80
-/* 000C4 80BA2B64 00000000 */ nop
-/* 000C8 80BA2B68 0C2E8AA8 */ jal ObjectKankyo_SetupAction
-/* 000CC 80BA2B6C 24A52DC8 */ addiu $a1, $a1, %lo(func_80BA2DC8) ## $a1 = 80BA2DC8
-/* 000D0 80BA2B70 240B0001 */ addiu $t3, $zero, 0x0001 ## $t3 = 00000001
-/* 000D4 80BA2B74 3C0180BA */ lui $at, %hi(D_80BA5940) ## $at = 80BA0000
-/* 000D8 80BA2B78 10000087 */ beq $zero, $zero, .L80BA2D98
-/* 000DC 80BA2B7C A02B5940 */ sb $t3, %lo(D_80BA5940)($at)
-.L80BA2B80:
-/* 000E0 80BA2B80 0C00B55C */ jal Actor_Kill
-
-/* 000E4 80BA2B84 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
-/* 000E8 80BA2B88 10000084 */ beq $zero, $zero, .L80BA2D9C
-/* 000EC 80BA2B8C 8FBF0014 */ lw $ra, 0x0014($sp)
-glabel L80BA2B90
-/* 000F0 80BA2B90 3C0580BA */ lui $a1, %hi(func_80BA4914) ## $a1 = 80BA0000
-/* 000F4 80BA2B94 24A54914 */ addiu $a1, $a1, %lo(func_80BA4914) ## $a1 = 80BA4914
-/* 000F8 80BA2B98 0C2E8AA8 */ jal ObjectKankyo_SetupAction
-/* 000FC 80BA2B9C 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
-/* 00100 80BA2BA0 1000007E */ beq $zero, $zero, .L80BA2D9C
-/* 00104 80BA2BA4 8FBF0014 */ lw $ra, 0x0014($sp)
-glabel L80BA2BA8
-/* 00108 80BA2BA8 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
-/* 0010C 80BA2BAC A0C0018C */ sb $zero, 0x018C($a2) ## 0000018C
-/* 00110 80BA2BB0 24070007 */ addiu $a3, $zero, 0x0007 ## $a3 = 00000007
-/* 00114 80BA2BB4 E4C40198 */ swc1 $f4, 0x0198($a2) ## 00000198
-/* 00118 80BA2BB8 8FA4001C */ lw $a0, 0x001C($sp)
-/* 0011C 80BA2BBC AFA60018 */ sw $a2, 0x0018($sp)
-/* 00120 80BA2BC0 0C00CDD2 */ jal Actor_ChangeCategory
-
-/* 00124 80BA2BC4 24851C24 */ addiu $a1, $a0, 0x1C24 ## $a1 = 00001C24
-/* 00128 80BA2BC8 8FA40018 */ lw $a0, 0x0018($sp)
-/* 0012C 80BA2BCC 3C0580BA */ lui $a1, %hi(func_80BA4BFC) ## $a1 = 80BA0000
-/* 00130 80BA2BD0 24A54BFC */ addiu $a1, $a1, %lo(func_80BA4BFC) ## $a1 = 80BA4BFC
-/* 00134 80BA2BD4 0C2E8AA8 */ jal ObjectKankyo_SetupAction
-/* 00138 80BA2BD8 A0801659 */ sb $zero, 0x1659($a0) ## 00001659
-/* 0013C 80BA2BDC 1000006F */ beq $zero, $zero, .L80BA2D9C
-/* 00140 80BA2BE0 8FBF0014 */ lw $ra, 0x0014($sp)
-glabel L80BA2BE4
-/* 00144 80BA2BE4 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00
-/* 00148 80BA2BE8 A0C0018C */ sb $zero, 0x018C($a2) ## 0000018C
-/* 0014C 80BA2BEC 3C0180BA */ lui $at, %hi(D_80BA5BF8) ## $at = 80BA0000
-/* 00150 80BA2BF0 E4C60198 */ swc1 $f6, 0x0198($a2) ## 00000198
-/* 00154 80BA2BF4 C4205BF8 */ lwc1 $f0, %lo(D_80BA5BF8)($at)
-/* 00158 80BA2BF8 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
-.L80BA2BFC:
-/* 0015C 80BA2BFC 00430019 */ multu $v0, $v1
-/* 00160 80BA2C00 24420001 */ addiu $v0, $v0, 0x0001 ## $v0 = 00000001
-/* 00164 80BA2C04 00021400 */ sll $v0, $v0, 16
-/* 00168 80BA2C08 00021403 */ sra $v0, $v0, 16
-/* 0016C 80BA2C0C 28410006 */ slti $at, $v0, 0x0006
-/* 00170 80BA2C10 00006812 */ mflo $t5
-/* 00174 80BA2C14 00CD7021 */ addu $t6, $a2, $t5
-/* 00178 80BA2C18 1420FFF8 */ bne $at, $zero, .L80BA2BFC
-/* 0017C 80BA2C1C E5C00190 */ swc1 $f0, 0x0190($t6) ## 00000190
-/* 00180 80BA2C20 240400BB */ addiu $a0, $zero, 0x00BB ## $a0 = 000000BB
-/* 00184 80BA2C24 0C00D6D3 */ jal Flags_GetEventChkInf
-
-/* 00188 80BA2C28 AFA60018 */ sw $a2, 0x0018($sp)
-/* 0018C 80BA2C2C 10400004 */ beq $v0, $zero, .L80BA2C40
-/* 00190 80BA2C30 8FA60018 */ lw $a2, 0x0018($sp)
-/* 00194 80BA2C34 44804000 */ mtc1 $zero, $f8 ## $f8 = 0.00
-/* 00198 80BA2C38 00000000 */ nop
-/* 0019C 80BA2C3C E4C80190 */ swc1 $f8, 0x0190($a2) ## 00000190
-.L80BA2C40:
-/* 001A0 80BA2C40 240400BC */ addiu $a0, $zero, 0x00BC ## $a0 = 000000BC
-/* 001A4 80BA2C44 0C00D6D3 */ jal Flags_GetEventChkInf
-
-/* 001A8 80BA2C48 AFA60018 */ sw $a2, 0x0018($sp)
-/* 001AC 80BA2C4C 10400004 */ beq $v0, $zero, .L80BA2C60
-/* 001B0 80BA2C50 8FA60018 */ lw $a2, 0x0018($sp)
-/* 001B4 80BA2C54 44805000 */ mtc1 $zero, $f10 ## $f10 = 0.00
-/* 001B8 80BA2C58 00000000 */ nop
-/* 001BC 80BA2C5C E4CA01E4 */ swc1 $f10, 0x01E4($a2) ## 000001E4
-.L80BA2C60:
-/* 001C0 80BA2C60 240400BD */ addiu $a0, $zero, 0x00BD ## $a0 = 000000BD
-/* 001C4 80BA2C64 0C00D6D3 */ jal Flags_GetEventChkInf
-
-/* 001C8 80BA2C68 AFA60018 */ sw $a2, 0x0018($sp)
-/* 001CC 80BA2C6C 10400004 */ beq $v0, $zero, .L80BA2C80
-/* 001D0 80BA2C70 8FA60018 */ lw $a2, 0x0018($sp)
-/* 001D4 80BA2C74 44808000 */ mtc1 $zero, $f16 ## $f16 = 0.00
-/* 001D8 80BA2C78 00000000 */ nop
-/* 001DC 80BA2C7C E4D00238 */ swc1 $f16, 0x0238($a2) ## 00000238
-.L80BA2C80:
-/* 001E0 80BA2C80 240400BE */ addiu $a0, $zero, 0x00BE ## $a0 = 000000BE
-/* 001E4 80BA2C84 0C00D6D3 */ jal Flags_GetEventChkInf
-
-/* 001E8 80BA2C88 AFA60018 */ sw $a2, 0x0018($sp)
-/* 001EC 80BA2C8C 10400004 */ beq $v0, $zero, .L80BA2CA0
-/* 001F0 80BA2C90 8FA60018 */ lw $a2, 0x0018($sp)
-/* 001F4 80BA2C94 44809000 */ mtc1 $zero, $f18 ## $f18 = 0.00
-/* 001F8 80BA2C98 00000000 */ nop
-/* 001FC 80BA2C9C E4D2028C */ swc1 $f18, 0x028C($a2) ## 0000028C
-.L80BA2CA0:
-/* 00200 80BA2CA0 240400BF */ addiu $a0, $zero, 0x00BF ## $a0 = 000000BF
-/* 00204 80BA2CA4 0C00D6D3 */ jal Flags_GetEventChkInf
-
-/* 00208 80BA2CA8 AFA60018 */ sw $a2, 0x0018($sp)
-/* 0020C 80BA2CAC 10400004 */ beq $v0, $zero, .L80BA2CC0
-/* 00210 80BA2CB0 8FA60018 */ lw $a2, 0x0018($sp)
-/* 00214 80BA2CB4 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
-/* 00218 80BA2CB8 00000000 */ nop
-/* 0021C 80BA2CBC E4C402E0 */ swc1 $f4, 0x02E0($a2) ## 000002E0
-.L80BA2CC0:
-/* 00220 80BA2CC0 240400AD */ addiu $a0, $zero, 0x00AD ## $a0 = 000000AD
-/* 00224 80BA2CC4 0C00D6D3 */ jal Flags_GetEventChkInf
-
-/* 00228 80BA2CC8 AFA60018 */ sw $a2, 0x0018($sp)
-/* 0022C 80BA2CCC 3C0180BA */ lui $at, %hi(D_80BA5C10) ## $at = 80BA0000
-/* 00230 80BA2CD0 C4205C10 */ lwc1 $f0, %lo(D_80BA5C10)($at)
-/* 00234 80BA2CD4 10400004 */ beq $v0, $zero, .L80BA2CE8
-/* 00238 80BA2CD8 8FA60018 */ lw $a2, 0x0018($sp)
-/* 0023C 80BA2CDC 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00
-/* 00240 80BA2CE0 00000000 */ nop
-/* 00244 80BA2CE4 E4C60334 */ swc1 $f6, 0x0334($a2) ## 00000334
-.L80BA2CE8:
-/* 00248 80BA2CE8 3C038016 */ lui $v1, %hi(gSaveContext)
-/* 0024C 80BA2CEC 2463E660 */ addiu $v1, %lo(gSaveContext)
-/* 00250 80BA2CF0 906F1414 */ lbu $t7, 0x1414($v1) ## 8015FA74
-/* 00254 80BA2CF4 3C0580BA */ lui $a1, %hi(func_80BA5304) ## $a1 = 80BA0000
-/* 00258 80BA2CF8 24A55304 */ addiu $a1, $a1, %lo(func_80BA5304) ## $a1 = 80BA5304
-/* 0025C 80BA2CFC 11E00024 */ beq $t7, $zero, .L80BA2D90
-/* 00260 80BA2D00 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
-/* 00264 80BA2D04 8C620000 */ lw $v0, 0x0000($v1) ## 8015E660
-/* 00268 80BA2D08 24010538 */ addiu $at, $zero, 0x0538 ## $at = 00000538
-/* 0026C 80BA2D0C 54410005 */ bnel $v0, $at, .L80BA2D24
-/* 00270 80BA2D10 2401053C */ addiu $at, $zero, 0x053C ## $at = 0000053C
-/* 00274 80BA2D14 E4C00190 */ swc1 $f0, 0x0190($a2) ## 00000190
-/* 00278 80BA2D18 3C028016 */ lui $v0, %hi(gSaveContext)
-/* 0027C 80BA2D1C 8C42E660 */ lw $v0, %lo(gSaveContext)($v0)
-/* 00280 80BA2D20 2401053C */ addiu $at, $zero, 0x053C ## $at = 0000053C
-.L80BA2D24:
-/* 00284 80BA2D24 54410005 */ bnel $v0, $at, .L80BA2D3C
-/* 00288 80BA2D28 24010540 */ addiu $at, $zero, 0x0540 ## $at = 00000540
-/* 0028C 80BA2D2C E4C001E4 */ swc1 $f0, 0x01E4($a2) ## 000001E4
-/* 00290 80BA2D30 3C028016 */ lui $v0, %hi(gSaveContext)
-/* 00294 80BA2D34 8C42E660 */ lw $v0, %lo(gSaveContext)($v0)
-/* 00298 80BA2D38 24010540 */ addiu $at, $zero, 0x0540 ## $at = 00000540
-.L80BA2D3C:
-/* 0029C 80BA2D3C 54410005 */ bnel $v0, $at, .L80BA2D54
-/* 002A0 80BA2D40 24010544 */ addiu $at, $zero, 0x0544 ## $at = 00000544
-/* 002A4 80BA2D44 E4C00238 */ swc1 $f0, 0x0238($a2) ## 00000238
-/* 002A8 80BA2D48 3C028016 */ lui $v0, %hi(gSaveContext)
-/* 002AC 80BA2D4C 8C42E660 */ lw $v0, %lo(gSaveContext)($v0)
-/* 002B0 80BA2D50 24010544 */ addiu $at, $zero, 0x0544 ## $at = 00000544
-.L80BA2D54:
-/* 002B4 80BA2D54 54410005 */ bnel $v0, $at, .L80BA2D6C
-/* 002B8 80BA2D58 24010548 */ addiu $at, $zero, 0x0548 ## $at = 00000548
-/* 002BC 80BA2D5C E4C0028C */ swc1 $f0, 0x028C($a2) ## 0000028C
-/* 002C0 80BA2D60 3C028016 */ lui $v0, %hi(gSaveContext)
-/* 002C4 80BA2D64 8C42E660 */ lw $v0, %lo(gSaveContext)($v0)
-/* 002C8 80BA2D68 24010548 */ addiu $at, $zero, 0x0548 ## $at = 00000548
-.L80BA2D6C:
-/* 002CC 80BA2D6C 54410005 */ bnel $v0, $at, .L80BA2D84
-/* 002D0 80BA2D70 2401054C */ addiu $at, $zero, 0x054C ## $at = 0000054C
-/* 002D4 80BA2D74 E4C002E0 */ swc1 $f0, 0x02E0($a2) ## 000002E0
-/* 002D8 80BA2D78 3C028016 */ lui $v0, %hi(gSaveContext)
-/* 002DC 80BA2D7C 8C42E660 */ lw $v0, %lo(gSaveContext)($v0)
-/* 002E0 80BA2D80 2401054C */ addiu $at, $zero, 0x054C ## $at = 0000054C
-.L80BA2D84:
-/* 002E4 80BA2D84 14410002 */ bne $v0, $at, .L80BA2D90
-/* 002E8 80BA2D88 00000000 */ nop
-/* 002EC 80BA2D8C E4C00334 */ swc1 $f0, 0x0334($a2) ## 00000334
-.L80BA2D90:
-/* 002F0 80BA2D90 0C2E8AA8 */ jal ObjectKankyo_SetupAction
-/* 002F4 80BA2D94 A0C01659 */ sb $zero, 0x1659($a2) ## 00001659
-glabel L80BA2D98
-.L80BA2D98:
-/* 002F8 80BA2D98 8FBF0014 */ lw $ra, 0x0014($sp)
-.L80BA2D9C:
-/* 002FC 80BA2D9C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
-/* 00300 80BA2DA0 03E00008 */ jr $ra
-/* 00304 80BA2DA4 00000000 */ nop
diff --git a/asm/non_matchings/overlays/actors/ovl_Object_Kankyo/ObjectKankyo_SetupAction.s b/asm/non_matchings/overlays/actors/ovl_Object_Kankyo/ObjectKankyo_SetupAction.s
deleted file mode 100644
index 7a133be15e..0000000000
--- a/asm/non_matchings/overlays/actors/ovl_Object_Kankyo/ObjectKankyo_SetupAction.s
+++ /dev/null
@@ -1,3 +0,0 @@
-glabel ObjectKankyo_SetupAction
-/* 00000 80BA2AA0 03E00008 */ jr $ra
-/* 00004 80BA2AA4 AC85165C */ sw $a1, 0x165C($a0) ## 0000165C
diff --git a/asm/non_matchings/overlays/actors/ovl_Object_Kankyo/ObjectKankyo_Update.s b/asm/non_matchings/overlays/actors/ovl_Object_Kankyo/ObjectKankyo_Update.s
deleted file mode 100644
index c893162b6d..0000000000
--- a/asm/non_matchings/overlays/actors/ovl_Object_Kankyo/ObjectKankyo_Update.s
+++ /dev/null
@@ -1,10 +0,0 @@
-glabel ObjectKankyo_Update
-/* 0114C 80BA3BEC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
-/* 01150 80BA3BF0 AFBF0014 */ sw $ra, 0x0014($sp)
-/* 01154 80BA3BF4 8C99165C */ lw $t9, 0x165C($a0) ## 0000165C
-/* 01158 80BA3BF8 0320F809 */ jalr $ra, $t9
-/* 0115C 80BA3BFC 00000000 */ nop
-/* 01160 80BA3C00 8FBF0014 */ lw $ra, 0x0014($sp)
-/* 01164 80BA3C04 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
-/* 01168 80BA3C08 03E00008 */ jr $ra
-/* 0116C 80BA3C0C 00000000 */ nop
diff --git a/asm/non_matchings/overlays/actors/ovl_Object_Kankyo/func_80BA2DC8.s b/asm/non_matchings/overlays/actors/ovl_Object_Kankyo/func_80BA2DC8.s
deleted file mode 100644
index f6e0cfede9..0000000000
--- a/asm/non_matchings/overlays/actors/ovl_Object_Kankyo/func_80BA2DC8.s
+++ /dev/null
@@ -1,4 +0,0 @@
-glabel func_80BA2DC8
-/* 00328 80BA2DC8 AFA40000 */ sw $a0, 0x0000($sp)
-/* 0032C 80BA2DCC 03E00008 */ jr $ra
-/* 00330 80BA2DD0 AFA50004 */ sw $a1, 0x0004($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_Object_Kankyo/func_80BA2DD4.s b/asm/non_matchings/overlays/actors/ovl_Object_Kankyo/func_80BA2DD4.s
deleted file mode 100644
index e95043bfe2..0000000000
--- a/asm/non_matchings/overlays/actors/ovl_Object_Kankyo/func_80BA2DD4.s
+++ /dev/null
@@ -1,1079 +0,0 @@
-.late_rodata
-glabel D_80BA5C14
- .float 0.4
-
-glabel D_80BA5C18
- .float 0.6
-
-glabel D_80BA5C1C
- .float 0.2
-
-glabel D_80BA5C20
- .float 1.6
-
-glabel D_80BA5C24
- .float 65535.0
-
-glabel D_80BA5C28
- .float 0.1
-
-glabel D_80BA5C2C
- .float 0.01
-
-glabel D_80BA5C30
- .float 0.4
-
-glabel D_80BA5C34
- .float 9.99999974738e-06
-
-glabel D_80BA5C38
- .float 0.02
-
-glabel D_80BA5C3C
- .float 0.008
-
-glabel D_80BA5C40
- .float 0.05
-
-glabel D_80BA5C44
- .float 0.0149999996
-
-glabel D_80BA5C48
- .float 0.01
-
-glabel D_80BA5C4C
- .float 0.05
-
-glabel D_80BA5C50
- .float 0.005
-
-glabel D_80BA5C54
- .float 0.01
-
-glabel D_80BA5C58
- .float 0.4
-
-glabel D_80BA5C5C
- .float 0.004
-
-glabel D_80BA5C60
- .double 1.0E-2
-
-glabel D_80BA5C68
- .float 0.08
-
-glabel D_80BA5C6C
- .float 0.05
-
-glabel D_80BA5C70
- .float 1.6
-
-glabel D_80BA5C74
- .float 9.99999974738e-06
-
-glabel D_80BA5C78
- .float 0.1
-
-glabel D_80BA5C7C
- .float 9.99999974738e-06
-
-glabel D_80BA5C80
- .float 0.0002
-
-.text
-glabel func_80BA2DD4
-/* 00334 80BA2DD4 27BDFF08 */ addiu $sp, $sp, 0xFF08 ## $sp = FFFFFF08
-/* 00338 80BA2DD8 3C0F80BA */ lui $t7, %hi(D_80BA5948) ## $t7 = 80BA0000
-/* 0033C 80BA2DDC AFBF006C */ sw $ra, 0x006C($sp)
-/* 00340 80BA2DE0 AFB60068 */ sw $s6, 0x0068($sp)
-/* 00344 80BA2DE4 AFB50064 */ sw $s5, 0x0064($sp)
-/* 00348 80BA2DE8 AFB40060 */ sw $s4, 0x0060($sp)
-/* 0034C 80BA2DEC AFB3005C */ sw $s3, 0x005C($sp)
-/* 00350 80BA2DF0 AFB20058 */ sw $s2, 0x0058($sp)
-/* 00354 80BA2DF4 AFB10054 */ sw $s1, 0x0054($sp)
-/* 00358 80BA2DF8 AFB00050 */ sw $s0, 0x0050($sp)
-/* 0035C 80BA2DFC F7BE0048 */ sdc1 $f30, 0x0048($sp)
-/* 00360 80BA2E00 F7BC0040 */ sdc1 $f28, 0x0040($sp)
-/* 00364 80BA2E04 F7BA0038 */ sdc1 $f26, 0x0038($sp)
-/* 00368 80BA2E08 F7B80030 */ sdc1 $f24, 0x0030($sp)
-/* 0036C 80BA2E0C F7B60028 */ sdc1 $f22, 0x0028($sp)
-/* 00370 80BA2E10 F7B40020 */ sdc1 $f20, 0x0020($sp)
-/* 00374 80BA2E14 AFA400F8 */ sw $a0, 0x00F8($sp)
-/* 00378 80BA2E18 25EF5948 */ addiu $t7, $t7, %lo(D_80BA5948) ## $t7 = 80BA5948
-/* 0037C 80BA2E1C 8DF90000 */ lw $t9, 0x0000($t7) ## 80BA5948
-/* 00380 80BA2E20 27AE00B8 */ addiu $t6, $sp, 0x00B8 ## $t6 = FFFFFFC0
-/* 00384 80BA2E24 8DF80004 */ lw $t8, 0x0004($t7) ## 80BA594C
-/* 00388 80BA2E28 ADD90000 */ sw $t9, 0x0000($t6) ## FFFFFFC0
-/* 0038C 80BA2E2C 8DF90008 */ lw $t9, 0x0008($t7) ## 80BA5950
-/* 00390 80BA2E30 3C0980BA */ lui $t1, %hi(D_80BA5954) ## $t1 = 80BA0000
-/* 00394 80BA2E34 25295954 */ addiu $t1, $t1, %lo(D_80BA5954) ## $t1 = 80BA5954
-/* 00398 80BA2E38 ADD80004 */ sw $t8, 0x0004($t6) ## FFFFFFC4
-/* 0039C 80BA2E3C ADD90008 */ sw $t9, 0x0008($t6) ## FFFFFFC8
-/* 003A0 80BA2E40 8D2B0000 */ lw $t3, 0x0000($t1) ## 80BA5954
-/* 003A4 80BA2E44 27A800AC */ addiu $t0, $sp, 0x00AC ## $t0 = FFFFFFB4
-/* 003A8 80BA2E48 8D2A0004 */ lw $t2, 0x0004($t1) ## 80BA5958
-/* 003AC 80BA2E4C AD0B0000 */ sw $t3, 0x0000($t0) ## FFFFFFB4
-/* 003B0 80BA2E50 8D2B0008 */ lw $t3, 0x0008($t1) ## 80BA595C
-/* 003B4 80BA2E54 AD0A0004 */ sw $t2, 0x0004($t0) ## FFFFFFB8
-/* 003B8 80BA2E58 24010055 */ addiu $at, $zero, 0x0055 ## $at = 00000055
-/* 003BC 80BA2E5C AD0B0008 */ sw $t3, 0x0008($t0) ## FFFFFFBC
-/* 003C0 80BA2E60 84AC00A4 */ lh $t4, 0x00A4($a1) ## 000000A4
-/* 003C4 80BA2E64 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
-/* 003C8 80BA2E68 8CB41C44 */ lw $s4, 0x1C44($a1) ## 00001C44
-/* 003CC 80BA2E6C 15810047 */ bne $t4, $at, .L80BA2F8C
-/* 003D0 80BA2E70 3C108016 */ lui $s0, %hi(gSaveContext)
-/* 003D4 80BA2E74 2610E660 */ addiu $s0, %lo(gSaveContext)
-/* 003D8 80BA2E78 8E0D1360 */ lw $t5, 0x1360($s0) ## 8015F9C0
-/* 003DC 80BA2E7C 8FA400F8 */ lw $a0, 0x00F8($sp)
-/* 003E0 80BA2E80 24010007 */ addiu $at, $zero, 0x0007 ## $at = 00000007
-/* 003E4 80BA2E84 15A10041 */ bne $t5, $at, .L80BA2F8C
-/* 003E8 80BA2E88 2484164C */ addiu $a0, $a0, 0x164C ## $a0 = 0000164C
-/* 003EC 80BA2E8C 0C032D9E */ jal Math3D_Vec3f_DistXYZ
-/* 003F0 80BA2E90 24A500E0 */ addiu $a1, $a1, 0x00E0 ## $a1 = 000000E0
-/* 003F4 80BA2E94 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000
-/* 003F8 80BA2E98 44815000 */ mtc1 $at, $f10 ## $f10 = 30.00
-/* 003FC 80BA2E9C C62400E0 */ lwc1 $f4, 0x00E0($s1) ## 000000E0
-/* 00400 80BA2EA0 8FAE00F8 */ lw $t6, 0x00F8($sp)
-/* 00404 80BA2EA4 460A0303 */ div.s $f12, $f0, $f10
-/* 00408 80BA2EA8 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
-/* 0040C 80BA2EAC E5C4164C */ swc1 $f4, 0x164C($t6) ## 0000164C
-/* 00410 80BA2EB0 8FAF00F8 */ lw $t7, 0x00F8($sp)
-/* 00414 80BA2EB4 C62600E4 */ lwc1 $f6, 0x00E4($s1) ## 000000E4
-/* 00418 80BA2EB8 44812000 */ mtc1 $at, $f4 ## $f4 = 1.00
-/* 0041C 80BA2EBC 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
-/* 00420 80BA2EC0 E5E61650 */ swc1 $f6, 0x1650($t7) ## 00001650
-/* 00424 80BA2EC4 8FB800F8 */ lw $t8, 0x00F8($sp)
-/* 00428 80BA2EC8 C62800E8 */ lwc1 $f8, 0x00E8($s1) ## 000000E8
-/* 0042C 80BA2ECC E7081654 */ swc1 $f8, 0x1654($t8) ## 00001654
-/* 00430 80BA2ED0 460C203C */ c.lt.s $f4, $f12
-/* 00434 80BA2ED4 00000000 */ nop
-/* 00438 80BA2ED8 45000003 */ bc1f .L80BA2EE8
-/* 0043C 80BA2EDC 00000000 */ nop
-/* 00440 80BA2EE0 44816000 */ mtc1 $at, $f12 ## $f12 = 1.00
-/* 00444 80BA2EE4 00000000 */ nop
-.L80BA2EE8:
-/* 00448 80BA2EE8 3C0180BA */ lui $at, %hi(D_80BA5C14) ## $at = 80BA0000
-/* 0044C 80BA2EEC C4265C14 */ lwc1 $f6, %lo(D_80BA5C14)($at)
-/* 00450 80BA2EF0 3C0180BA */ lui $at, %hi(D_80BA5C18) ## $at = 80BA0000
-/* 00454 80BA2EF4 C42A5C18 */ lwc1 $f10, %lo(D_80BA5C18)($at)
-/* 00458 80BA2EF8 460C3202 */ mul.s $f8, $f6, $f12
-/* 0045C 80BA2EFC 3C0480BA */ lui $a0, %hi(D_80BA5960) ## $a0 = 80BA0000
-/* 00460 80BA2F00 24845960 */ addiu $a0, $a0, %lo(D_80BA5960) ## $a0 = 80BA5960
-/* 00464 80BA2F04 24052071 */ addiu $a1, $zero, 0x2071 ## $a1 = 00002071
-/* 00468 80BA2F08 460A4100 */ add.s $f4, $f8, $f10
-/* 0046C 80BA2F0C 44062000 */ mfc1 $a2, $f4
-/* 00470 80BA2F10 0C03D0DB */ jal func_800F436C
-/* 00474 80BA2F14 00000000 */ nop
-/* 00478 80BA2F18 96221D74 */ lhu $v0, 0x1D74($s1) ## 00001D74
-/* 0047C 80BA2F1C 240101D9 */ addiu $at, $zero, 0x01D9 ## $at = 000001D9
-/* 00480 80BA2F20 1041000A */ beq $v0, $at, .L80BA2F4C
-/* 00484 80BA2F24 24010247 */ addiu $at, $zero, 0x0247 ## $at = 00000247
-/* 00488 80BA2F28 1041000C */ beq $v0, $at, .L80BA2F5C
-/* 0048C 80BA2F2C 3C048013 */ lui $a0, %hi(D_801333D4)
-/* 00490 80BA2F30 240102FB */ addiu $at, $zero, 0x02FB ## $at = 000002FB
-/* 00494 80BA2F34 1041000F */ beq $v0, $at, .L80BA2F74
-/* 00498 80BA2F38 24010303 */ addiu $at, $zero, 0x0303 ## $at = 00000303
-/* 0049C 80BA2F3C 10410011 */ beq $v0, $at, .L80BA2F84
-/* 004A0 80BA2F40 00000000 */ nop
-/* 004A4 80BA2F44 10000012 */ beq $zero, $zero, .L80BA2F90
-/* 004A8 80BA2F48 3C010001 */ lui $at, 0x0001 ## $at = 00010000
-.L80BA2F4C:
-/* 004AC 80BA2F4C 0C01E233 */ jal func_800788CC
-/* 004B0 80BA2F50 24046844 */ addiu $a0, $zero, 0x6844 ## $a0 = 00006844
-/* 004B4 80BA2F54 1000000E */ beq $zero, $zero, .L80BA2F90
-/* 004B8 80BA2F58 3C010001 */ lui $at, 0x0001 ## $at = 00010000
-.L80BA2F5C:
-/* 004BC 80BA2F5C 248433D4 */ addiu $a0, %lo(D_801333D4)
-/* 004C0 80BA2F60 2405685F */ addiu $a1, $zero, 0x685F ## $a1 = 0000685F
-/* 004C4 80BA2F64 0C03D149 */ jal func_800F4524
-/* 004C8 80BA2F68 24060020 */ addiu $a2, $zero, 0x0020 ## $a2 = 00000020
-/* 004CC 80BA2F6C 10000008 */ beq $zero, $zero, .L80BA2F90
-/* 004D0 80BA2F70 3C010001 */ lui $at, 0x0001 ## $at = 00010000
-.L80BA2F74:
-/* 004D4 80BA2F74 0C01E221 */ jal func_80078884
-/* 004D8 80BA2F78 24042072 */ addiu $a0, $zero, 0x2072 ## $a0 = 00002072
-/* 004DC 80BA2F7C 10000004 */ beq $zero, $zero, .L80BA2F90
-/* 004E0 80BA2F80 3C010001 */ lui $at, 0x0001 ## $at = 00010000
-.L80BA2F84:
-/* 004E4 80BA2F84 0C01E221 */ jal func_80078884
-/* 004E8 80BA2F88 24046865 */ addiu $a0, $zero, 0x6865 ## $a0 = 00006865
-.L80BA2F8C:
-/* 004EC 80BA2F8C 3C010001 */ lui $at, 0x0001 ## $at = 00010000
-.L80BA2F90:
-/* 004F0 80BA2F90 0221C821 */ addu $t9, $s1, $at
-/* 004F4 80BA2F94 AFB90088 */ sw $t9, 0x0088($sp)
-/* 004F8 80BA2F98 93220B15 */ lbu $v0, 0x0B15($t9) ## 00000B15
-/* 004FC 80BA2F9C 3C108016 */ lui $s0, %hi(gSaveContext)
-/* 00500 80BA2FA0 2610E660 */ addiu $s0, %lo(gSaveContext)
-/* 00504 80BA2FA4 28410040 */ slti $at, $v0, 0x0040
-/* 00508 80BA2FA8 1020000F */ beq $at, $zero, .L80BA2FE8
-/* 0050C 80BA2FAC 00401825 */ or $v1, $v0, $zero ## $v1 = 00000000
-/* 00510 80BA2FB0 8E090000 */ lw $t1, 0x0000($s0) ## 8015E660
-/* 00514 80BA2FB4 240100EE */ addiu $at, $zero, 0x00EE ## $at = 000000EE
-/* 00518 80BA2FB8 8FAC0088 */ lw $t4, 0x0088($sp)
-/* 0051C 80BA2FBC 55210007 */ bnel $t1, $at, .L80BA2FDC
-/* 00520 80BA2FC0 246B0010 */ addiu $t3, $v1, 0x0010 ## $t3 = 00000010
-/* 00524 80BA2FC4 8E0A1360 */ lw $t2, 0x1360($s0) ## 8015F9C0
-/* 00528 80BA2FC8 24010004 */ addiu $at, $zero, 0x0004 ## $at = 00000004
-/* 0052C 80BA2FCC 55410003 */ bnel $t2, $at, .L80BA2FDC
-/* 00530 80BA2FD0 246B0010 */ addiu $t3, $v1, 0x0010 ## $t3 = 00000010
-/* 00534 80BA2FD4 10400004 */ beq $v0, $zero, .L80BA2FE8
-/* 00538 80BA2FD8 246B0010 */ addiu $t3, $v1, 0x0010 ## $t3 = 00000010
-.L80BA2FDC:
-/* 0053C 80BA2FDC A18B0B15 */ sb $t3, 0x0B15($t4) ## 00000B15
-/* 00540 80BA2FE0 8FAD0088 */ lw $t5, 0x0088($sp)
-/* 00544 80BA2FE4 91A30B15 */ lbu $v1, 0x0B15($t5) ## 00000B15
-.L80BA2FE8:
-/* 00548 80BA2FE8 186002F0 */ blez $v1, .L80BA3BAC
-/* 0054C 80BA2FEC 00009025 */ or $s2, $zero, $zero ## $s2 = 00000000
-/* 00550 80BA2FF0 3C014302 */ lui $at, 0x4302 ## $at = 43020000
-/* 00554 80BA2FF4 4481C000 */ mtc1 $at, $f24 ## $f24 = 130.00
-/* 00558 80BA2FF8 3C0180BA */ lui $at, %hi(D_80BA5C1C) ## $at = 80BA0000
-/* 0055C 80BA2FFC C4365C1C */ lwc1 $f22, %lo(D_80BA5C1C)($at)
-/* 00560 80BA3000 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
-/* 00564 80BA3004 3C1380BA */ lui $s3, %hi(D_80BA5944) ## $s3 = 80BA0000
-/* 00568 80BA3008 4481A000 */ mtc1 $at, $f20 ## $f20 = 0.50
-/* 0056C 80BA300C 4480D000 */ mtc1 $zero, $f26 ## $f26 = 0.00
-/* 00570 80BA3010 26735944 */ addiu $s3, $s3, %lo(D_80BA5944) ## $s3 = 80BA5944
-/* 00574 80BA3014 24160002 */ addiu $s6, $zero, 0x0002 ## $s6 = 00000002
-/* 00578 80BA3018 24150001 */ addiu $s5, $zero, 0x0001 ## $s5 = 00000001
-/* 0057C 80BA301C C63000E0 */ lwc1 $f16, 0x00E0($s1) ## 000000E0
-.L80BA3020:
-/* 00580 80BA3020 C62600EC */ lwc1 $f6, 0x00EC($s1) ## 000000EC
-/* 00584 80BA3024 C62800F0 */ lwc1 $f8, 0x00F0($s1) ## 000000F0
-/* 00588 80BA3028 C62A00E4 */ lwc1 $f10, 0x00E4($s1) ## 000000E4
-/* 0058C 80BA302C 46103081 */ sub.s $f2, $f6, $f16
-/* 00590 80BA3030 C62600E8 */ lwc1 $f6, 0x00E8($s1) ## 000000E8
-/* 00594 80BA3034 C62400F4 */ lwc1 $f4, 0x00F4($s1) ## 000000F4
-/* 00598 80BA3038 460A4301 */ sub.s $f12, $f8, $f10
-/* 0059C 80BA303C 46021202 */ mul.s $f8, $f2, $f2
-/* 005A0 80BA3040 00127880 */ sll $t7, $s2, 2
-/* 005A4 80BA3044 46062381 */ sub.s $f14, $f4, $f6
-/* 005A8 80BA3048 460C6282 */ mul.s $f10, $f12, $f12
-/* 005AC 80BA304C 01F27821 */ addu $t7, $t7, $s2
-/* 005B0 80BA3050 8FAE00F8 */ lw $t6, 0x00F8($sp)
-/* 005B4 80BA3054 460E7182 */ mul.s $f6, $f14, $f14
-/* 005B8 80BA3058 000F7880 */ sll $t7, $t7, 2
-/* 005BC 80BA305C 01F27821 */ addu $t7, $t7, $s2
-/* 005C0 80BA3060 000F7880 */ sll $t7, $t7, 2
-/* 005C4 80BA3064 01CF8021 */ addu $s0, $t6, $t7
-/* 005C8 80BA3068 460A4100 */ add.s $f4, $f8, $f10
-/* 005CC 80BA306C 3C0142A0 */ lui $at, 0x42A0 ## $at = 42A00000
-/* 005D0 80BA3070 46062000 */ add.s $f0, $f4, $f6
-/* 005D4 80BA3074 46000004 */ sqrt.s $f0, $f0
-/* 005D8 80BA3078 46006203 */ div.s $f8, $f12, $f0
-/* 005DC 80BA307C 46007103 */ div.s $f4, $f14, $f0
-/* 005E0 80BA3080 E7A8007C */ swc1 $f8, 0x007C($sp)
-/* 005E4 80BA3084 C7AA007C */ lwc1 $f10, 0x007C($sp)
-/* 005E8 80BA3088 E7AA00D8 */ swc1 $f10, 0x00D8($sp)
-/* 005EC 80BA308C 46001483 */ div.s $f18, $f2, $f0
-/* 005F0 80BA3090 E7A40078 */ swc1 $f4, 0x0078($sp)
-/* 005F4 80BA3094 C7A60078 */ lwc1 $f6, 0x0078($sp)
-/* 005F8 80BA3098 E7A600D4 */ swc1 $f6, 0x00D4($sp)
-/* 005FC 80BA309C E7B200DC */ swc1 $f18, 0x00DC($sp)
-/* 00600 80BA30A0 9202014C */ lbu $v0, 0x014C($s0) ## 8015E7AC
-/* 00604 80BA30A4 C7A800DC */ lwc1 $f8, 0x00DC($sp)
-/* 00608 80BA30A8 5040000B */ beql $v0, $zero, .L80BA30D8
-/* 0060C 80BA30AC 4481E000 */ mtc1 $at, $f28 ## $f28 = 80.00
-/* 00610 80BA30B0 1055006F */ beq $v0, $s5, .L80BA3270
-/* 00614 80BA30B4 3C0142A0 */ lui $at, 0x42A0 ## $at = 42A00000
-/* 00618 80BA30B8 5056006E */ beql $v0, $s6, .L80BA3274
-/* 0061C 80BA30BC 44810000 */ mtc1 $at, $f0 ## $f0 = 80.00
-/* 00620 80BA30C0 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
-/* 00624 80BA30C4 504102B1 */ beql $v0, $at, .L80BA3B8C
-/* 00628 80BA30C8 A200014C */ sb $zero, 0x014C($s0) ## 8015E7AC
-/* 0062C 80BA30CC 100002B2 */ beq $zero, $zero, .L80BA3B98
-/* 00630 80BA30D0 26520001 */ addiu $s2, $s2, 0x0001 ## $s2 = 00000001
-/* 00634 80BA30D4 4481E000 */ mtc1 $at, $f28 ## $f28 = 0.00
-.L80BA30D8:
-/* 00638 80BA30D8 00000000 */ nop
-/* 0063C 80BA30DC 461C4282 */ mul.s $f10, $f8, $f28
-/* 00640 80BA30E0 460A8100 */ add.s $f4, $f16, $f10
-/* 00644 80BA30E4 E6040168 */ swc1 $f4, 0x0168($s0) ## 8015E7C8
-/* 00648 80BA30E8 C7A800D8 */ lwc1 $f8, 0x00D8($sp)
-/* 0064C 80BA30EC C62600E4 */ lwc1 $f6, 0x00E4($s1) ## 000000E4
-/* 00650 80BA30F0 461C4282 */ mul.s $f10, $f8, $f28
-/* 00654 80BA30F4 460A3100 */ add.s $f4, $f6, $f10
-/* 00658 80BA30F8 E604016C */ swc1 $f4, 0x016C($s0) ## 8015E7CC
-/* 0065C 80BA30FC C7A600D4 */ lwc1 $f6, 0x00D4($sp)
-/* 00660 80BA3100 C62800E8 */ lwc1 $f8, 0x00E8($s1) ## 000000E8
-/* 00664 80BA3104 461C3282 */ mul.s $f10, $f6, $f28
-/* 00668 80BA3108 460A4100 */ add.s $f4, $f8, $f10
-/* 0066C 80BA310C 0C03F66B */ jal Rand_ZeroOne
- ## Rand.Next() float
-/* 00670 80BA3110 E6040170 */ swc1 $f4, 0x0170($s0) ## 8015E7D0
-/* 00674 80BA3114 46140181 */ sub.s $f6, $f0, $f20
-/* 00678 80BA3118 3C014320 */ lui $at, 0x4320 ## $at = 43200000
-/* 0067C 80BA311C 44814000 */ mtc1 $at, $f8 ## $f8 = 160.00
-/* 00680 80BA3120 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000
-/* 00684 80BA3124 44812000 */ mtc1 $at, $f4 ## $f4 = 30.00
-/* 00688 80BA3128 46083282 */ mul.s $f10, $f6, $f8
-/* 0068C 80BA312C E6040154 */ swc1 $f4, 0x0154($s0) ## 8015E7B4
-/* 00690 80BA3130 0C03F66B */ jal Rand_ZeroOne
- ## Rand.Next() float
-/* 00694 80BA3134 E60A0150 */ swc1 $f10, 0x0150($s0) ## 8015E7B0
-/* 00698 80BA3138 46140181 */ sub.s $f6, $f0, $f20
-/* 0069C 80BA313C 3C014320 */ lui $at, 0x4320 ## $at = 43200000
-/* 006A0 80BA3140 44814000 */ mtc1 $at, $f8 ## $f8 = 160.00
-/* 006A4 80BA3144 00000000 */ nop
-/* 006A8 80BA3148 46083282 */ mul.s $f10, $f6, $f8
-/* 006AC 80BA314C 0C03F66B */ jal Rand_ZeroOne
- ## Rand.Next() float
-/* 006B0 80BA3150 E60A0158 */ swc1 $f10, 0x0158($s0) ## 8015E7B8
-/* 006B4 80BA3154 3C0180BA */ lui $at, %hi(D_80BA5C20) ## $at = 80BA0000
-/* 006B8 80BA3158 C4245C20 */ lwc1 $f4, %lo(D_80BA5C20)($at)
-/* 006BC 80BA315C A200018C */ sb $zero, 0x018C($s0) ## 8015E7EC
-/* 006C0 80BA3160 46040182 */ mul.s $f6, $f0, $f4
-/* 006C4 80BA3164 46143200 */ add.s $f8, $f6, $f20
-/* 006C8 80BA3168 0C03F66B */ jal Rand_ZeroOne
- ## Rand.Next() float
-/* 006CC 80BA316C E6080184 */ swc1 $f8, 0x0184($s0) ## 8015E7E4
-/* 006D0 80BA3170 3C0180BA */ lui $at, %hi(D_80BA5C24) ## $at = 80BA0000
-/* 006D4 80BA3174 C42A5C24 */ lwc1 $f10, %lo(D_80BA5C24)($at)
-/* 006D8 80BA3178 24190001 */ addiu $t9, $zero, 0x0001 ## $t9 = 00000001
-/* 006DC 80BA317C 3C014F00 */ lui $at, 0x4F00 ## $at = 4F000000
-/* 006E0 80BA3180 460A0102 */ mul.s $f4, $f0, $f10
-/* 006E4 80BA3184 4458F800 */ cfc1 $t8, $31
-/* 006E8 80BA3188 44D9F800 */ ctc1 $t9, $31
-/* 006EC 80BA318C 00000000 */ nop
-/* 006F0 80BA3190 460021A4 */ cvt.w.s $f6, $f4
-/* 006F4 80BA3194 4459F800 */ cfc1 $t9, $31
-/* 006F8 80BA3198 00000000 */ nop
-/* 006FC 80BA319C 33390078 */ andi $t9, $t9, 0x0078 ## $t9 = 00000000
-/* 00700 80BA31A0 53200013 */ beql $t9, $zero, .L80BA31F0
-/* 00704 80BA31A4 44193000 */ mfc1 $t9, $f6
-/* 00708 80BA31A8 44813000 */ mtc1 $at, $f6 ## $f6 = 2147483648.00
-/* 0070C 80BA31AC 24190001 */ addiu $t9, $zero, 0x0001 ## $t9 = 00000001
-/* 00710 80BA31B0 46062181 */ sub.s $f6, $f4, $f6
-/* 00714 80BA31B4 44D9F800 */ ctc1 $t9, $31
-/* 00718 80BA31B8 00000000 */ nop
-/* 0071C 80BA31BC 460031A4 */ cvt.w.s $f6, $f6
-/* 00720 80BA31C0 4459F800 */ cfc1 $t9, $31
-/* 00724 80BA31C4 00000000 */ nop
-/* 00728 80BA31C8 33390078 */ andi $t9, $t9, 0x0078 ## $t9 = 00000000
-/* 0072C 80BA31CC 17200005 */ bne $t9, $zero, .L80BA31E4
-/* 00730 80BA31D0 00000000 */ nop
-/* 00734 80BA31D4 44193000 */ mfc1 $t9, $f6
-/* 00738 80BA31D8 3C018000 */ lui $at, 0x8000 ## $at = 80000000
-/* 0073C 80BA31DC 10000007 */ beq $zero, $zero, .L80BA31FC
-/* 00740 80BA31E0 0321C825 */ or $t9, $t9, $at ## $t9 = 80000000
-.L80BA31E4:
-/* 00744 80BA31E4 10000005 */ beq $zero, $zero, .L80BA31FC
-/* 00748 80BA31E8 2419FFFF */ addiu $t9, $zero, 0xFFFF ## $t9 = FFFFFFFF
-/* 0074C 80BA31EC 44193000 */ mfc1 $t9, $f6
-.L80BA31F0:
-/* 00750 80BA31F0 00000000 */ nop
-/* 00754 80BA31F4 0720FFFB */ bltz $t9, .L80BA31E4
-/* 00758 80BA31F8 00000000 */ nop
-.L80BA31FC:
-/* 0075C 80BA31FC A6190188 */ sh $t9, 0x0188($s0) ## 8015E7E8
-/* 00760 80BA3200 3C0180BA */ lui $at, %hi(D_80BA5C28) ## $at = 80BA0000
-/* 00764 80BA3204 C4285C28 */ lwc1 $f8, %lo(D_80BA5C28)($at)
-/* 00768 80BA3208 44D8F800 */ ctc1 $t8, $31
-/* 0076C 80BA320C 0C03F66B */ jal Rand_ZeroOne
- ## Rand.Next() float
-/* 00770 80BA3210 E6080190 */ swc1 $f8, 0x0190($s0) ## 8015E7F0
-/* 00774 80BA3214 3C0143B4 */ lui $at, 0x43B4 ## $at = 43B40000
-/* 00778 80BA3218 44815000 */ mtc1 $at, $f10 ## $f10 = 360.00
-/* 0077C 80BA321C 00000000 */ nop
-/* 00780 80BA3220 460A0102 */ mul.s $f4, $f0, $f10
-/* 00784 80BA3224 0C03F66B */ jal Rand_ZeroOne
- ## Rand.Next() float
-/* 00788 80BA3228 E6040174 */ swc1 $f4, 0x0174($s0) ## 8015E7D4
-/* 0078C 80BA322C 3C0143B4 */ lui $at, 0x43B4 ## $at = 43B40000
-/* 00790 80BA3230 44813000 */ mtc1 $at, $f6 ## $f6 = 360.00
-/* 00794 80BA3234 00000000 */ nop
-/* 00798 80BA3238 46060202 */ mul.s $f8, $f0, $f6
-/* 0079C 80BA323C 0C03F66B */ jal Rand_ZeroOne
- ## Rand.Next() float
-/* 007A0 80BA3240 E6080178 */ swc1 $f8, 0x0178($s0) ## 8015E7D8
-/* 007A4 80BA3244 3C0143B4 */ lui $at, 0x43B4 ## $at = 43B40000
-/* 007A8 80BA3248 44815000 */ mtc1 $at, $f10 ## $f10 = 360.00
-/* 007AC 80BA324C 9208014C */ lbu $t0, 0x014C($s0) ## 8015E7AC
-/* 007B0 80BA3250 A600019C */ sh $zero, 0x019C($s0) ## 8015E7FC
-/* 007B4 80BA3254 460A0102 */ mul.s $f4, $f0, $f10
-/* 007B8 80BA3258 25090001 */ addiu $t1, $t0, 0x0001 ## $t1 = 00000001
-/* 007BC 80BA325C A209014C */ sb $t1, 0x014C($s0) ## 8015E7AC
-/* 007C0 80BA3260 E604017C */ swc1 $f4, 0x017C($s0) ## 8015E7DC
-/* 007C4 80BA3264 8FAA0088 */ lw $t2, 0x0088($sp)
-/* 007C8 80BA3268 1000024A */ beq $zero, $zero, .L80BA3B94
-/* 007CC 80BA326C 91430B15 */ lbu $v1, 0x0B15($t2) ## 00000B15
-.L80BA3270:
-/* 007D0 80BA3270 44810000 */ mtc1 $at, $f0 ## $f0 = 360.00
-.L80BA3274:
-/* 007D4 80BA3274 960B0188 */ lhu $t3, 0x0188($s0) ## 8015E7E8
-/* 007D8 80BA3278 3C01C080 */ lui $at, 0xC080 ## $at = C0800000
-/* 007DC 80BA327C 46009202 */ mul.s $f8, $f18, $f0
-/* 007E0 80BA3280 256C0001 */ addiu $t4, $t3, 0x0001 ## $t4 = 00000001
-/* 007E4 80BA3284 A60C0188 */ sh $t4, 0x0188($s0) ## 8015E7E8
-/* 007E8 80BA3288 C62600E0 */ lwc1 $f6, 0x00E0($s1) ## 000000E0
-/* 007EC 80BA328C 24030001 */ addiu $v1, $zero, 0x0001 ## $v1 = 00000001
-/* 007F0 80BA3290 46083280 */ add.s $f10, $f6, $f8
-/* 007F4 80BA3294 C7A6007C */ lwc1 $f6, 0x007C($sp)
-/* 007F8 80BA3298 46003202 */ mul.s $f8, $f6, $f0
-/* 007FC 80BA329C E7AA00CC */ swc1 $f10, 0x00CC($sp)
-/* 00800 80BA32A0 C62400E4 */ lwc1 $f4, 0x00E4($s1) ## 000000E4
-/* 00804 80BA32A4 C7A60078 */ lwc1 $f6, 0x0078($sp)
-/* 00808 80BA32A8 C62A00E8 */ lwc1 $f10, 0x00E8($s1) ## 000000E8
-/* 0080C 80BA32AC 46082700 */ add.s $f28, $f4, $f8
-/* 00810 80BA32B0 46003102 */ mul.s $f4, $f6, $f0
-/* 00814 80BA32B4 C6080150 */ lwc1 $f8, 0x0150($s0) ## 8015E7B0
-/* 00818 80BA32B8 C6060154 */ lwc1 $f6, 0x0154($s0) ## 8015E7B4
-/* 0081C 80BA32BC E608015C */ swc1 $f8, 0x015C($s0) ## 8015E7BC
-/* 00820 80BA32C0 E6060160 */ swc1 $f6, 0x0160($s0) ## 8015E7C0
-/* 00824 80BA32C4 46045780 */ add.s $f30, $f10, $f4
-/* 00828 80BA32C8 C60A0158 */ lwc1 $f10, 0x0158($s0) ## 8015E7B8
-/* 0082C 80BA32CC 44812000 */ mtc1 $at, $f4 ## $f4 = -4.00
-/* 00830 80BA32D0 2A410020 */ slti $at, $s2, 0x0020
-/* 00834 80BA32D4 E60A0164 */ swc1 $f10, 0x0164($s0) ## 8015E7C4
-/* 00838 80BA32D8 C6860060 */ lwc1 $f6, 0x0060($s4) ## 00000060
-/* 0083C 80BA32DC C688005C */ lwc1 $f8, 0x005C($s4) ## 0000005C
-/* 00840 80BA32E0 46064280 */ add.s $f10, $f8, $f6
-/* 00844 80BA32E4 C6880064 */ lwc1 $f8, 0x0064($s4) ## 00000064
-/* 00848 80BA32E8 46085180 */ add.s $f6, $f10, $f8
-/* 0084C 80BA32EC 46062032 */ c.eq.s $f4, $f6
-/* 00850 80BA32F0 00000000 */ nop
-/* 00854 80BA32F4 45020007 */ bc1fl .L80BA3314
-/* 00858 80BA32F8 A600019C */ sh $zero, 0x019C($s0) ## 8015E7FC
-/* 0085C 80BA32FC 960D019C */ lhu $t5, 0x019C($s0) ## 8015E7FC
-/* 00860 80BA3300 00001825 */ or $v1, $zero, $zero ## $v1 = 00000000
-/* 00864 80BA3304 25AE0001 */ addiu $t6, $t5, 0x0001 ## $t6 = 00000001
-/* 00868 80BA3308 10000002 */ beq $zero, $zero, .L80BA3314
-/* 0086C 80BA330C A60E019C */ sh $t6, 0x019C($s0) ## 8015E7FC
-/* 00870 80BA3310 A600019C */ sh $zero, 0x019C($s0) ## 8015E7FC
-.L80BA3314:
-/* 00874 80BA3314 9202014C */ lbu $v0, 0x014C($s0) ## 8015E7AC
-/* 00878 80BA3318 16A200E6 */ bne $s5, $v0, .L80BA36B4
-/* 0087C 80BA331C 00000000 */ nop
-/* 00880 80BA3320 10200057 */ beq $at, $zero, .L80BA3480
-/* 00884 80BA3324 00000000 */ nop
-/* 00888 80BA3328 14600055 */ bne $v1, $zero, .L80BA3480
-/* 0088C 80BA332C 00000000 */ nop
-/* 00890 80BA3330 960F019C */ lhu $t7, 0x019C($s0) ## 8015E7FC
-/* 00894 80BA3334 29E10101 */ slti $at, $t7, 0x0101
-/* 00898 80BA3338 14200051 */ bne $at, $zero, .L80BA3480
-/* 0089C 80BA333C 00000000 */ nop
-/* 008A0 80BA3340 0C03F66B */ jal Rand_ZeroOne
- ## Rand.Next() float
-/* 008A4 80BA3344 A600019C */ sh $zero, 0x019C($s0) ## 8015E7FC
-/* 008A8 80BA3348 4614003C */ c.lt.s $f0, $f20
-/* 008AC 80BA334C 00000000 */ nop
-/* 008B0 80BA3350 4500000D */ bc1f .L80BA3388
-/* 008B4 80BA3354 00000000 */ nop
-/* 008B8 80BA3358 0C03F66B */ jal Rand_ZeroOne
- ## Rand.Next() float
-/* 008BC 80BA335C 00000000 */ nop
-/* 008C0 80BA3360 3C014348 */ lui $at, 0x4348 ## $at = 43480000
-/* 008C4 80BA3364 44815000 */ mtc1 $at, $f10 ## $f10 = 200.00
-/* 008C8 80BA3368 00000000 */ nop
-/* 008CC 80BA336C 460A0202 */ mul.s $f8, $f0, $f10
-/* 008D0 80BA3370 4600410D */ trunc.w.s $f4, $f8
-/* 008D4 80BA3374 44092000 */ mfc1 $t1, $f4
-/* 008D8 80BA3378 00000000 */ nop
-/* 008DC 80BA337C 252A00C8 */ addiu $t2, $t1, 0x00C8 ## $t2 = 000000C8
-/* 008E0 80BA3380 1000000C */ beq $zero, $zero, .L80BA33B4
-/* 008E4 80BA3384 A60A0194 */ sh $t2, 0x0194($s0) ## 8015E7F4
-.L80BA3388:
-/* 008E8 80BA3388 0C03F66B */ jal Rand_ZeroOne
- ## Rand.Next() float
-/* 008EC 80BA338C 00000000 */ nop
-/* 008F0 80BA3390 3C014348 */ lui $at, 0x4348 ## $at = 43480000
-/* 008F4 80BA3394 44813000 */ mtc1 $at, $f6 ## $f6 = 200.00
-/* 008F8 80BA3398 240FFF38 */ addiu $t7, $zero, 0xFF38 ## $t7 = FFFFFF38
-/* 008FC 80BA339C 46060282 */ mul.s $f10, $f0, $f6
-/* 00900 80BA33A0 4600520D */ trunc.w.s $f8, $f10
-/* 00904 80BA33A4 440E4000 */ mfc1 $t6, $f8
-/* 00908 80BA33A8 00000000 */ nop
-/* 0090C 80BA33AC 01EEC023 */ subu $t8, $t7, $t6
-/* 00910 80BA33B0 A6180194 */ sh $t8, 0x0194($s0) ## 8015E7F4
-.L80BA33B4:
-/* 00914 80BA33B4 0C03F66B */ jal Rand_ZeroOne
- ## Rand.Next() float
-/* 00918 80BA33B8 00000000 */ nop
-/* 0091C 80BA33BC 3C014248 */ lui $at, 0x4248 ## $at = 42480000
-/* 00920 80BA33C0 44812000 */ mtc1 $at, $f4 ## $f4 = 50.00
-/* 00924 80BA33C4 00000000 */ nop
-/* 00928 80BA33C8 46040182 */ mul.s $f6, $f0, $f4
-/* 0092C 80BA33CC 4600328D */ trunc.w.s $f10, $f6
-/* 00930 80BA33D0 440A5000 */ mfc1 $t2, $f10
-/* 00934 80BA33D4 00000000 */ nop
-/* 00938 80BA33D8 254B000F */ addiu $t3, $t2, 0x000F ## $t3 = 0000000F
-/* 0093C 80BA33DC 0C03F66B */ jal Rand_ZeroOne
- ## Rand.Next() float
-/* 00940 80BA33E0 A60B0196 */ sh $t3, 0x0196($s0) ## 8015E7F6
-/* 00944 80BA33E4 3C014120 */ lui $at, 0x4120 ## $at = 41200000
-/* 00948 80BA33E8 44811000 */ mtc1 $at, $f2 ## $f2 = 10.00
-/* 0094C 80BA33EC 3C0180BA */ lui $at, %hi(D_80BA5C2C) ## $at = 80BA0000
-/* 00950 80BA33F0 C4265C2C */ lwc1 $f6, %lo(D_80BA5C2C)($at)
-/* 00954 80BA33F4 46020202 */ mul.s $f8, $f0, $f2
-/* 00958 80BA33F8 46024100 */ add.s $f4, $f8, $f2
-/* 0095C 80BA33FC 46062282 */ mul.s $f10, $f4, $f6
-/* 00960 80BA3400 0C03F66B */ jal Rand_ZeroOne
- ## Rand.Next() float
-/* 00964 80BA3404 E60A0198 */ swc1 $f10, 0x0198($s0) ## 8015E7F8
-/* 00968 80BA3408 4616003C */ c.lt.s $f0, $f22
-/* 0096C 80BA340C 24190002 */ addiu $t9, $zero, 0x0002 ## $t9 = 00000002
-/* 00970 80BA3410 45020004 */ bc1fl .L80BA3424
-/* 00974 80BA3414 4616003C */ c.lt.s $f0, $f22
-/* 00978 80BA3418 10000012 */ beq $zero, $zero, .L80BA3464
-/* 0097C 80BA341C A6750000 */ sh $s5, 0x0000($s3) ## 80BA5944
-/* 00980 80BA3420 4616003C */ c.lt.s $f0, $f22
-.L80BA3424:
-/* 00984 80BA3424 240C0003 */ addiu $t4, $zero, 0x0003 ## $t4 = 00000003
-/* 00988 80BA3428 3C0180BA */ lui $at, %hi(D_80BA5C30) ## $at = 80BA0000
-/* 0098C 80BA342C 45000003 */ bc1f .L80BA343C
-/* 00990 80BA3430 00000000 */ nop
-/* 00994 80BA3434 1000000B */ beq $zero, $zero, .L80BA3464
-/* 00998 80BA3438 A66C0000 */ sh $t4, 0x0000($s3) ## 80BA5944
-.L80BA343C:
-/* 0099C 80BA343C C4285C30 */ lwc1 $f8, %lo(D_80BA5C30)($at)
-/* 009A0 80BA3440 240D0007 */ addiu $t5, $zero, 0x0007 ## $t5 = 00000007
-/* 009A4 80BA3444 240F000F */ addiu $t7, $zero, 0x000F ## $t7 = 0000000F
-/* 009A8 80BA3448 4608003C */ c.lt.s $f0, $f8
-/* 009AC 80BA344C 00000000 */ nop
-/* 009B0 80BA3450 45020004 */ bc1fl .L80BA3464
-/* 009B4 80BA3454 A66F0000 */ sh $t7, 0x0000($s3) ## 80BA5944
-/* 009B8 80BA3458 10000002 */ beq $zero, $zero, .L80BA3464
-/* 009BC 80BA345C A66D0000 */ sh $t5, 0x0000($s3) ## 80BA5944
-/* 009C0 80BA3460 A66F0000 */ sh $t7, 0x0000($s3) ## 80BA5944
-.L80BA3464:
-/* 009C4 80BA3464 866E0000 */ lh $t6, 0x0000($s3) ## 80BA5944
-/* 009C8 80BA3468 024EC024 */ and $t8, $s2, $t6
-/* 009CC 80BA346C 57000003 */ bnel $t8, $zero, .L80BA347C
-/* 009D0 80BA3470 A219014C */ sb $t9, 0x014C($s0) ## 8015E7AC
-/* 009D4 80BA3474 E61A0154 */ swc1 $f26, 0x0154($s0) ## 8015E7B4
-/* 009D8 80BA3478 A219014C */ sb $t9, 0x014C($s0) ## 8015E7AC
-.L80BA347C:
-/* 009DC 80BA347C E61A0184 */ swc1 $f26, 0x0184($s0) ## 8015E7E4
-.L80BA3480:
-/* 009E0 80BA3480 3C0180BA */ lui $at, %hi(D_80BA5C34) ## $at = 80BA0000
-/* 009E4 80BA3484 C4245C34 */ lwc1 $f4, %lo(D_80BA5C34)($at)
-/* 009E8 80BA3488 3C053DCC */ lui $a1, 0x3DCC ## $a1 = 3DCC0000
-/* 009EC 80BA348C 34A5CCCD */ ori $a1, $a1, 0xCCCD ## $a1 = 3DCCCCCD
-/* 009F0 80BA3490 3C073A83 */ lui $a3, 0x3A83 ## $a3 = 3A830000
-/* 009F4 80BA3494 34E7126F */ ori $a3, $a3, 0x126F ## $a3 = 3A83126F
-/* 009F8 80BA3498 00A03021 */ addu $a2, $a1, $zero
-/* 009FC 80BA349C 26040190 */ addiu $a0, $s0, 0x0190 ## $a0 = 8015E7F0
-/* 00A00 80BA34A0 0C01E0C4 */ jal Math_SmoothStepToF
-
-/* 00A04 80BA34A4 E7A40010 */ swc1 $f4, 0x0010($sp)
-/* 00A08 80BA34A8 3C0180BA */ lui $at, %hi(D_80BA5C38) ## $at = 80BA0000
-/* 00A0C 80BA34AC C4265C38 */ lwc1 $f6, %lo(D_80BA5C38)($at)
-/* 00A10 80BA34B0 8E050184 */ lw $a1, 0x0184($s0) ## 8015E7E4
-/* 00A14 80BA34B4 4406A000 */ mfc1 $a2, $f20
-/* 00A18 80BA34B8 4407B000 */ mfc1 $a3, $f22
-/* 00A1C 80BA34BC 26040180 */ addiu $a0, $s0, 0x0180 ## $a0 = 8015E7E0
-/* 00A20 80BA34C0 0C01E0C4 */ jal Math_SmoothStepToF
-
-/* 00A24 80BA34C4 E7A60010 */ swc1 $f6, 0x0010($sp)
-/* 00A28 80BA34C8 0C0400A4 */ jal sinf
-
-/* 00A2C 80BA34CC C60C0174 */ lwc1 $f12, 0x0174($s0) ## 8015E7D4
-/* 00A30 80BA34D0 C6080180 */ lwc1 $f8, 0x0180($s0) ## 8015E7E0
-/* 00A34 80BA34D4 C60A0150 */ lwc1 $f10, 0x0150($s0) ## 8015E7B0
-/* 00A38 80BA34D8 C60C0178 */ lwc1 $f12, 0x0178($s0) ## 8015E7D8
-/* 00A3C 80BA34DC 46080102 */ mul.s $f4, $f0, $f8
-/* 00A40 80BA34E0 46045180 */ add.s $f6, $f10, $f4
-/* 00A44 80BA34E4 0C0400A4 */ jal sinf
-
-/* 00A48 80BA34E8 E6060150 */ swc1 $f6, 0x0150($s0) ## 8015E7B0
-/* 00A4C 80BA34EC C60A0180 */ lwc1 $f10, 0x0180($s0) ## 8015E7E0
-/* 00A50 80BA34F0 C6080154 */ lwc1 $f8, 0x0154($s0) ## 8015E7B4
-/* 00A54 80BA34F4 C60C017C */ lwc1 $f12, 0x017C($s0) ## 8015E7DC
-/* 00A58 80BA34F8 460A0102 */ mul.s $f4, $f0, $f10
-/* 00A5C 80BA34FC 46044180 */ add.s $f6, $f8, $f4
-/* 00A60 80BA3500 0C0400A4 */ jal sinf
-
-/* 00A64 80BA3504 E6060154 */ swc1 $f6, 0x0154($s0) ## 8015E7B4
-/* 00A68 80BA3508 C6080180 */ lwc1 $f8, 0x0180($s0) ## 8015E7E0
-/* 00A6C 80BA350C C60A0158 */ lwc1 $f10, 0x0158($s0) ## 8015E7B8
-/* 00A70 80BA3510 00121043 */ sra $v0, $s2, 1
-/* 00A74 80BA3514 46080102 */ mul.s $f4, $f0, $f8
-/* 00A78 80BA3518 30420003 */ andi $v0, $v0, 0x0003 ## $v0 = 00000000
-/* 00A7C 80BA351C 3C0180BA */ lui $at, %hi(D_80BA5C3C) ## $at = 80BA0000
-/* 00A80 80BA3520 46045180 */ add.s $f6, $f10, $f4
-/* 00A84 80BA3524 10400009 */ beq $v0, $zero, .L80BA354C
-/* 00A88 80BA3528 E6060158 */ swc1 $f6, 0x0158($s0) ## 8015E7B8
-/* 00A8C 80BA352C 10550018 */ beq $v0, $s5, .L80BA3590
-/* 00A90 80BA3530 00000000 */ nop
-/* 00A94 80BA3534 1056002D */ beq $v0, $s6, .L80BA35EC
-/* 00A98 80BA3538 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
-/* 00A9C 80BA353C 10410042 */ beq $v0, $at, .L80BA3648
-/* 00AA0 80BA3540 00000000 */ nop
-/* 00AA4 80BA3544 10000059 */ beq $zero, $zero, .L80BA36AC
-/* 00AA8 80BA3548 00000000 */ nop
-.L80BA354C:
-/* 00AAC 80BA354C C6080174 */ lwc1 $f8, 0x0174($s0) ## 8015E7D4
-/* 00AB0 80BA3550 C42A5C3C */ lwc1 $f10, %lo(D_80BA5C3C)($at)
-/* 00AB4 80BA3554 460A4100 */ add.s $f4, $f8, $f10
-/* 00AB8 80BA3558 0C03F66B */ jal Rand_ZeroOne
- ## Rand.Next() float
-/* 00ABC 80BA355C E6040174 */ swc1 $f4, 0x0174($s0) ## 8015E7D4
-/* 00AC0 80BA3560 3C0180BA */ lui $at, %hi(D_80BA5C40) ## $at = 80BA0000
-/* 00AC4 80BA3564 C4285C40 */ lwc1 $f8, %lo(D_80BA5C40)($at)
-/* 00AC8 80BA3568 C6060178 */ lwc1 $f6, 0x0178($s0) ## 8015E7D8
-/* 00ACC 80BA356C 3C0180BA */ lui $at, %hi(D_80BA5C44) ## $at = 80BA0000
-/* 00AD0 80BA3570 46004282 */ mul.s $f10, $f8, $f0
-/* 00AD4 80BA3574 C608017C */ lwc1 $f8, 0x017C($s0) ## 8015E7DC
-/* 00AD8 80BA3578 460A3100 */ add.s $f4, $f6, $f10
-/* 00ADC 80BA357C E6040178 */ swc1 $f4, 0x0178($s0) ## 8015E7D8
-/* 00AE0 80BA3580 C4265C44 */ lwc1 $f6, %lo(D_80BA5C44)($at)
-/* 00AE4 80BA3584 46064280 */ add.s $f10, $f8, $f6
-/* 00AE8 80BA3588 10000048 */ beq $zero, $zero, .L80BA36AC
-/* 00AEC 80BA358C E60A017C */ swc1 $f10, 0x017C($s0) ## 8015E7DC
-.L80BA3590:
-/* 00AF0 80BA3590 0C03F66B */ jal Rand_ZeroOne
- ## Rand.Next() float
-/* 00AF4 80BA3594 00000000 */ nop
-/* 00AF8 80BA3598 3C0180BA */ lui $at, %hi(D_80BA5C48) ## $at = 80BA0000
-/* 00AFC 80BA359C C4285C48 */ lwc1 $f8, %lo(D_80BA5C48)($at)
-/* 00B00 80BA35A0 C6040174 */ lwc1 $f4, 0x0174($s0) ## 8015E7D4
-/* 00B04 80BA35A4 46004182 */ mul.s $f6, $f8, $f0
-/* 00B08 80BA35A8 46062280 */ add.s $f10, $f4, $f6
-/* 00B0C 80BA35AC 0C03F66B */ jal Rand_ZeroOne
- ## Rand.Next() float
-/* 00B10 80BA35B0 E60A0174 */ swc1 $f10, 0x0174($s0) ## 8015E7D4
-/* 00B14 80BA35B4 3C0180BA */ lui $at, %hi(D_80BA5C4C) ## $at = 80BA0000
-/* 00B18 80BA35B8 C4245C4C */ lwc1 $f4, %lo(D_80BA5C4C)($at)
-/* 00B1C 80BA35BC C6080178 */ lwc1 $f8, 0x0178($s0) ## 8015E7D8
-/* 00B20 80BA35C0 46002182 */ mul.s $f6, $f4, $f0
-/* 00B24 80BA35C4 46064280 */ add.s $f10, $f8, $f6
-/* 00B28 80BA35C8 0C03F66B */ jal Rand_ZeroOne
- ## Rand.Next() float
-/* 00B2C 80BA35CC E60A0178 */ swc1 $f10, 0x0178($s0) ## 8015E7D8
-/* 00B30 80BA35D0 3C0180BA */ lui $at, %hi(D_80BA5C50) ## $at = 80BA0000
-/* 00B34 80BA35D4 C4285C50 */ lwc1 $f8, %lo(D_80BA5C50)($at)
-/* 00B38 80BA35D8 C604017C */ lwc1 $f4, 0x017C($s0) ## 8015E7DC
-/* 00B3C 80BA35DC 46004182 */ mul.s $f6, $f8, $f0
-/* 00B40 80BA35E0 46062280 */ add.s $f10, $f4, $f6
-/* 00B44 80BA35E4 10000031 */ beq $zero, $zero, .L80BA36AC
-/* 00B48 80BA35E8 E60A017C */ swc1 $f10, 0x017C($s0) ## 8015E7DC
-.L80BA35EC:
-/* 00B4C 80BA35EC 0C03F66B */ jal Rand_ZeroOne
- ## Rand.Next() float
-/* 00B50 80BA35F0 00000000 */ nop
-/* 00B54 80BA35F4 3C0180BA */ lui $at, %hi(D_80BA5C54) ## $at = 80BA0000
-/* 00B58 80BA35F8 C4245C54 */ lwc1 $f4, %lo(D_80BA5C54)($at)
-/* 00B5C 80BA35FC C6080174 */ lwc1 $f8, 0x0174($s0) ## 8015E7D4
-/* 00B60 80BA3600 46002182 */ mul.s $f6, $f4, $f0
-/* 00B64 80BA3604 46064280 */ add.s $f10, $f8, $f6
-/* 00B68 80BA3608 0C03F66B */ jal Rand_ZeroOne
- ## Rand.Next() float
-/* 00B6C 80BA360C E60A0174 */ swc1 $f10, 0x0174($s0) ## 8015E7D4
-/* 00B70 80BA3610 3C0180BA */ lui $at, %hi(D_80BA5C58) ## $at = 80BA0000
-/* 00B74 80BA3614 C4285C58 */ lwc1 $f8, %lo(D_80BA5C58)($at)
-/* 00B78 80BA3618 C6040178 */ lwc1 $f4, 0x0178($s0) ## 8015E7D8
-/* 00B7C 80BA361C 46004182 */ mul.s $f6, $f8, $f0
-/* 00B80 80BA3620 46062280 */ add.s $f10, $f4, $f6
-/* 00B84 80BA3624 0C03F66B */ jal Rand_ZeroOne
- ## Rand.Next() float
-/* 00B88 80BA3628 E60A0178 */ swc1 $f10, 0x0178($s0) ## 8015E7D8
-/* 00B8C 80BA362C 3C0180BA */ lui $at, %hi(D_80BA5C5C) ## $at = 80BA0000
-/* 00B90 80BA3630 C4245C5C */ lwc1 $f4, %lo(D_80BA5C5C)($at)
-/* 00B94 80BA3634 C608017C */ lwc1 $f8, 0x017C($s0) ## 8015E7DC
-/* 00B98 80BA3638 46002182 */ mul.s $f6, $f4, $f0
-/* 00B9C 80BA363C 46064280 */ add.s $f10, $f8, $f6
-/* 00BA0 80BA3640 1000001A */ beq $zero, $zero, .L80BA36AC
-/* 00BA4 80BA3644 E60A017C */ swc1 $f10, 0x017C($s0) ## 8015E7DC
-.L80BA3648:
-/* 00BA8 80BA3648 0C03F66B */ jal Rand_ZeroOne
- ## Rand.Next() float
-/* 00BAC 80BA364C 00000000 */ nop
-/* 00BB0 80BA3650 3C0180BA */ lui $at, %hi(D_80BA5C60) ## $at = 80BA0000
-/* 00BB4 80BA3654 D4245C60 */ ldc1 $f4, %lo(D_80BA5C60)($at)
-/* 00BB8 80BA3658 46000221 */ cvt.d.s $f8, $f0
-/* 00BBC 80BA365C C60A0174 */ lwc1 $f10, 0x0174($s0) ## 8015E7D4
-/* 00BC0 80BA3660 46282182 */ mul.d $f6, $f4, $f8
-/* 00BC4 80BA3664 46005121 */ cvt.d.s $f4, $f10
-/* 00BC8 80BA3668 46262200 */ add.d $f8, $f4, $f6
-/* 00BCC 80BA366C 462042A0 */ cvt.s.d $f10, $f8
-/* 00BD0 80BA3670 0C03F66B */ jal Rand_ZeroOne
- ## Rand.Next() float
-/* 00BD4 80BA3674 E60A0174 */ swc1 $f10, 0x0174($s0) ## 8015E7D4
-/* 00BD8 80BA3678 3C0180BA */ lui $at, %hi(D_80BA5C68) ## $at = 80BA0000
-/* 00BDC 80BA367C C4265C68 */ lwc1 $f6, %lo(D_80BA5C68)($at)
-/* 00BE0 80BA3680 C6040178 */ lwc1 $f4, 0x0178($s0) ## 8015E7D8
-/* 00BE4 80BA3684 46003202 */ mul.s $f8, $f6, $f0
-/* 00BE8 80BA3688 46082280 */ add.s $f10, $f4, $f8
-/* 00BEC 80BA368C 0C03F66B */ jal Rand_ZeroOne
- ## Rand.Next() float
-/* 00BF0 80BA3690 E60A0178 */ swc1 $f10, 0x0178($s0) ## 8015E7D8
-/* 00BF4 80BA3694 3C0180BA */ lui $at, %hi(D_80BA5C6C) ## $at = 80BA0000
-/* 00BF8 80BA3698 C4245C6C */ lwc1 $f4, %lo(D_80BA5C6C)($at)
-/* 00BFC 80BA369C C606017C */ lwc1 $f6, 0x017C($s0) ## 8015E7DC
-/* 00C00 80BA36A0 46002202 */ mul.s $f8, $f4, $f0
-/* 00C04 80BA36A4 46083280 */ add.s $f10, $f6, $f8
-/* 00C08 80BA36A8 E60A017C */ swc1 $f10, 0x017C($s0) ## 8015E7DC
-.L80BA36AC:
-/* 00C0C 80BA36AC 100000C4 */ beq $zero, $zero, .L80BA39C0
-/* 00C10 80BA36B0 9202014C */ lbu $v0, 0x014C($s0) ## 8015E7AC
-.L80BA36B4:
-/* 00C14 80BA36B4 16C200C2 */ bne $s6, $v0, .L80BA39C0
-/* 00C18 80BA36B8 00000000 */ nop
-/* 00C1C 80BA36BC 14600004 */ bne $v1, $zero, .L80BA36D0
-/* 00C20 80BA36C0 24090001 */ addiu $t1, $zero, 0x0001 ## $t1 = 00000001
-/* 00C24 80BA36C4 9608019C */ lhu $t0, 0x019C($s0) ## 8015E7FC
-/* 00C28 80BA36C8 29010501 */ slti $at, $t0, 0x0501
-/* 00C2C 80BA36CC 1420000B */ bne $at, $zero, .L80BA36FC
-.L80BA36D0:
-/* 00C30 80BA36D0 3C013FC0 */ lui $at, 0x3FC0 ## $at = 3FC00000
-/* 00C34 80BA36D4 44812000 */ mtc1 $at, $f4 ## $f4 = 1.50
-/* 00C38 80BA36D8 A600019C */ sh $zero, 0x019C($s0) ## 8015E7FC
-/* 00C3C 80BA36DC A209014C */ sb $t1, 0x014C($s0) ## 8015E7AC
-/* 00C40 80BA36E0 0C03F66B */ jal Rand_ZeroOne
- ## Rand.Next() float
-/* 00C44 80BA36E4 E6040180 */ swc1 $f4, 0x0180($s0) ## 8015E7E0
-/* 00C48 80BA36E8 3C0180BA */ lui $at, %hi(D_80BA5C70) ## $at = 80BA0000
-/* 00C4C 80BA36EC C4265C70 */ lwc1 $f6, %lo(D_80BA5C70)($at)
-/* 00C50 80BA36F0 46060202 */ mul.s $f8, $f0, $f6
-/* 00C54 80BA36F4 46144280 */ add.s $f10, $f8, $f20
-/* 00C58 80BA36F8 E60A0184 */ swc1 $f10, 0x0184($s0) ## 8015E7E4
-.L80BA36FC:
-/* 00C5C 80BA36FC 866A0000 */ lh $t2, 0x0000($s3) ## 80BA5944
-/* 00C60 80BA3700 3C053DCC */ lui $a1, 0x3DCC ## $a1 = 3DCC0000
-/* 00C64 80BA3704 34A5CCCD */ ori $a1, $a1, 0xCCCD ## $a1 = 3DCCCCCD
-/* 00C68 80BA3708 024A5824 */ and $t3, $s2, $t2
-/* 00C6C 80BA370C 15600089 */ bne $t3, $zero, .L80BA3934
-/* 00C70 80BA3710 26040190 */ addiu $a0, $s0, 0x0190 ## $a0 = 8015E7F0
-/* 00C74 80BA3714 3C0180BA */ lui $at, %hi(D_80BA5C74) ## $at = 80BA0000
-/* 00C78 80BA3718 C4245C74 */ lwc1 $f4, %lo(D_80BA5C74)($at)
-/* 00C7C 80BA371C 3C063DCC */ lui $a2, 0x3DCC ## $a2 = 3DCC0000
-/* 00C80 80BA3720 3C073A83 */ lui $a3, 0x3A83 ## $a3 = 3A830000
-/* 00C84 80BA3724 34E7126F */ ori $a3, $a3, 0x126F ## $a3 = 3A83126F
-/* 00C88 80BA3728 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3DCCCCCD
-/* 00C8C 80BA372C 26040190 */ addiu $a0, $s0, 0x0190 ## $a0 = 8015E7F0
-/* 00C90 80BA3730 3C053E80 */ lui $a1, 0x3E80 ## $a1 = 3E800000
-/* 00C94 80BA3734 0C01E0C4 */ jal Math_SmoothStepToF
-
-/* 00C98 80BA3738 E7A40010 */ swc1 $f4, 0x0010($sp)
-/* 00C9C 80BA373C 8E850024 */ lw $a1, 0x0024($s4) ## 00000024
-/* 00CA0 80BA3740 4406A000 */ mfc1 $a2, $f20
-/* 00CA4 80BA3744 E7B60010 */ swc1 $f22, 0x0010($sp)
-/* 00CA8 80BA3748 26040168 */ addiu $a0, $s0, 0x0168 ## $a0 = 8015E7C8
-/* 00CAC 80BA374C 0C01E0C4 */ jal Math_SmoothStepToF
-
-/* 00CB0 80BA3750 3C073F80 */ lui $a3, 0x3F80 ## $a3 = 3F800000
-/* 00CB4 80BA3754 3C014248 */ lui $at, 0x4248 ## $at = 42480000
-/* 00CB8 80BA3758 44814000 */ mtc1 $at, $f8 ## $f8 = 50.00
-/* 00CBC 80BA375C C6860028 */ lwc1 $f6, 0x0028($s4) ## 00000028
-/* 00CC0 80BA3760 4406A000 */ mfc1 $a2, $f20
-/* 00CC4 80BA3764 E7B60010 */ swc1 $f22, 0x0010($sp)
-/* 00CC8 80BA3768 46083280 */ add.s $f10, $f6, $f8
-/* 00CCC 80BA376C 2604016C */ addiu $a0, $s0, 0x016C ## $a0 = 8015E7CC
-/* 00CD0 80BA3770 3C073F80 */ lui $a3, 0x3F80 ## $a3 = 3F800000
-/* 00CD4 80BA3774 44055000 */ mfc1 $a1, $f10
-/* 00CD8 80BA3778 0C01E0C4 */ jal Math_SmoothStepToF
-
-/* 00CDC 80BA377C 00000000 */ nop
-/* 00CE0 80BA3780 8E85002C */ lw $a1, 0x002C($s4) ## 0000002C
-/* 00CE4 80BA3784 4406A000 */ mfc1 $a2, $f20
-/* 00CE8 80BA3788 E7B60010 */ swc1 $f22, 0x0010($sp)
-/* 00CEC 80BA378C 26040170 */ addiu $a0, $s0, 0x0170 ## $a0 = 8015E7D0
-/* 00CF0 80BA3790 0C01E0C4 */ jal Math_SmoothStepToF
-
-/* 00CF4 80BA3794 3C073F80 */ lui $a3, 0x3F80 ## $a3 = 3F800000
-/* 00CF8 80BA3798 9604018A */ lhu $a0, 0x018A($s0) ## 8015E7EA
-/* 00CFC 80BA379C 24018000 */ addiu $at, $zero, 0x8000 ## $at = FFFF8000
-/* 00D00 80BA37A0 00812021 */ addu $a0, $a0, $at
-/* 00D04 80BA37A4 00042400 */ sll $a0, $a0, 16
-/* 00D08 80BA37A8 0C01DE1C */ jal Math_SinS
- ## sins?
-/* 00D0C 80BA37AC 00042403 */ sra $a0, $a0, 16
-/* 00D10 80BA37B0 960C0196 */ lhu $t4, 0x0196($s0) ## 8015E7F6
-/* 00D14 80BA37B4 26040150 */ addiu $a0, $s0, 0x0150 ## $a0 = 8015E7B0
-/* 00D18 80BA37B8 3C014F80 */ lui $at, 0x4F80 ## $at = 4F800000
-/* 00D1C 80BA37BC 448C2000 */ mtc1 $t4, $f4 ## $f4 = 0.00
-/* 00D20 80BA37C0 05810004 */ bgez $t4, .L80BA37D4
-/* 00D24 80BA37C4 468021A0 */ cvt.s.w $f6, $f4
-/* 00D28 80BA37C8 44814000 */ mtc1 $at, $f8 ## $f8 = 4294967296.00
-/* 00D2C 80BA37CC 00000000 */ nop
-/* 00D30 80BA37D0 46083180 */ add.s $f6, $f6, $f8
-.L80BA37D4:
-/* 00D34 80BA37D4 46003282 */ mul.s $f10, $f6, $f0
-/* 00D38 80BA37D8 4406A000 */ mfc1 $a2, $f20
-/* 00D3C 80BA37DC 3C074000 */ lui $a3, 0x4000 ## $a3 = 40000000
-/* 00D40 80BA37E0 E7B60010 */ swc1 $f22, 0x0010($sp)
-/* 00D44 80BA37E4 44055000 */ mfc1 $a1, $f10
-/* 00D48 80BA37E8 0C01E0C4 */ jal Math_SmoothStepToF
-
-/* 00D4C 80BA37EC 00000000 */ nop
-/* 00D50 80BA37F0 9604018A */ lhu $a0, 0x018A($s0) ## 8015E7EA
-/* 00D54 80BA37F4 24018000 */ addiu $at, $zero, 0x8000 ## $at = FFFF8000
-/* 00D58 80BA37F8 00812021 */ addu $a0, $a0, $at
-/* 00D5C 80BA37FC 00042400 */ sll $a0, $a0, 16
-/* 00D60 80BA3800 0C01DE0D */ jal Math_CosS
- ## coss?
-/* 00D64 80BA3804 00042403 */ sra $a0, $a0, 16
-/* 00D68 80BA3808 960D0196 */ lhu $t5, 0x0196($s0) ## 8015E7F6
-/* 00D6C 80BA380C 26040158 */ addiu $a0, $s0, 0x0158 ## $a0 = 8015E7B8
-/* 00D70 80BA3810 3C014F80 */ lui $at, 0x4F80 ## $at = 4F800000
-/* 00D74 80BA3814 448D2000 */ mtc1 $t5, $f4 ## $f4 = 0.00
-/* 00D78 80BA3818 05A10004 */ bgez $t5, .L80BA382C
-/* 00D7C 80BA381C 46802220 */ cvt.s.w $f8, $f4
-/* 00D80 80BA3820 44813000 */ mtc1 $at, $f6 ## $f6 = 4294967296.00
-/* 00D84 80BA3824 00000000 */ nop
-/* 00D88 80BA3828 46064200 */ add.s $f8, $f8, $f6
-.L80BA382C:
-/* 00D8C 80BA382C 46004282 */ mul.s $f10, $f8, $f0
-/* 00D90 80BA3830 4406A000 */ mfc1 $a2, $f20
-/* 00D94 80BA3834 3C074000 */ lui $a3, 0x4000 ## $a3 = 40000000
-/* 00D98 80BA3838 E7B60010 */ swc1 $f22, 0x0010($sp)
-/* 00D9C 80BA383C 44055000 */ mfc1 $a1, $f10
-/* 00DA0 80BA3840 0C01E0C4 */ jal Math_SmoothStepToF
-
-/* 00DA4 80BA3844 00000000 */ nop
-/* 00DA8 80BA3848 960F018A */ lhu $t7, 0x018A($s0) ## 8015E7EA
-/* 00DAC 80BA384C 960E0194 */ lhu $t6, 0x0194($s0) ## 8015E7F4
-/* 00DB0 80BA3850 C60C0178 */ lwc1 $f12, 0x0178($s0) ## 8015E7D8
-/* 00DB4 80BA3854 01EEC021 */ addu $t8, $t7, $t6
-/* 00DB8 80BA3858 0C0400A4 */ jal sinf
-
-/* 00DBC 80BA385C A618018A */ sh $t8, 0x018A($s0) ## 8015E7EA
-/* 00DC0 80BA3860 C6040154 */ lwc1 $f4, 0x0154($s0) ## 8015E7B4
-/* 00DC4 80BA3864 46002180 */ add.s $f6, $f4, $f0
-/* 00DC8 80BA3868 0C03F66B */ jal Rand_ZeroOne
- ## Rand.Next() float
-/* 00DCC 80BA386C E6060154 */ swc1 $f6, 0x0154($s0) ## 8015E7B4
-/* 00DD0 80BA3870 4600B282 */ mul.s $f10, $f22, $f0
-/* 00DD4 80BA3874 C6080174 */ lwc1 $f8, 0x0174($s0) ## 8015E7D4
-/* 00DD8 80BA3878 C6060178 */ lwc1 $f6, 0x0178($s0) ## 8015E7D8
-/* 00DDC 80BA387C 460A4100 */ add.s $f4, $f8, $f10
-/* 00DE0 80BA3880 C6080198 */ lwc1 $f8, 0x0198($s0) ## 8015E7F8
-/* 00DE4 80BA3884 46083280 */ add.s $f10, $f6, $f8
-/* 00DE8 80BA3888 E6040174 */ swc1 $f4, 0x0174($s0) ## 8015E7D4
-/* 00DEC 80BA388C 0C03F66B */ jal Rand_ZeroOne
- ## Rand.Next() float
-/* 00DF0 80BA3890 E60A0178 */ swc1 $f10, 0x0178($s0) ## 8015E7D8
-/* 00DF4 80BA3894 3C0180BA */ lui $at, %hi(D_80BA5C78) ## $at = 80BA0000
-/* 00DF8 80BA3898 C4265C78 */ lwc1 $f6, %lo(D_80BA5C78)($at)
-/* 00DFC 80BA389C C604017C */ lwc1 $f4, 0x017C($s0) ## 8015E7DC
-/* 00E00 80BA38A0 9604018A */ lhu $a0, 0x018A($s0) ## 8015E7EA
-/* 00E04 80BA38A4 46003202 */ mul.s $f8, $f6, $f0
-/* 00E08 80BA38A8 24018000 */ addiu $at, $zero, 0x8000 ## $at = FFFF8000
-/* 00E0C 80BA38AC 00812021 */ addu $a0, $a0, $at
-/* 00E10 80BA38B0 00042400 */ sll $a0, $a0, 16
-/* 00E14 80BA38B4 00042403 */ sra $a0, $a0, 16
-/* 00E18 80BA38B8 46082280 */ add.s $f10, $f4, $f8
-/* 00E1C 80BA38BC 0C01DE1C */ jal Math_SinS
- ## sins?
-/* 00E20 80BA38C0 E60A017C */ swc1 $f10, 0x017C($s0) ## 8015E7DC
-/* 00E24 80BA38C4 96190196 */ lhu $t9, 0x0196($s0) ## 8015E7F6
-/* 00E28 80BA38C8 3C014F80 */ lui $at, 0x4F80 ## $at = 4F800000
-/* 00E2C 80BA38CC 44993000 */ mtc1 $t9, $f6 ## $f6 = 0.00
-/* 00E30 80BA38D0 07210004 */ bgez $t9, .L80BA38E4
-/* 00E34 80BA38D4 46803120 */ cvt.s.w $f4, $f6
-/* 00E38 80BA38D8 44814000 */ mtc1 $at, $f8 ## $f8 = 4294967296.00
-/* 00E3C 80BA38DC 00000000 */ nop
-/* 00E40 80BA38E0 46082100 */ add.s $f4, $f4, $f8
-.L80BA38E4:
-/* 00E44 80BA38E4 46002282 */ mul.s $f10, $f4, $f0
-/* 00E48 80BA38E8 9604018A */ lhu $a0, 0x018A($s0) ## 8015E7EA
-/* 00E4C 80BA38EC 24018000 */ addiu $at, $zero, 0x8000 ## $at = FFFF8000
-/* 00E50 80BA38F0 00812021 */ addu $a0, $a0, $at
-/* 00E54 80BA38F4 00042400 */ sll $a0, $a0, 16
-/* 00E58 80BA38F8 00042403 */ sra $a0, $a0, 16
-/* 00E5C 80BA38FC 0C01DE0D */ jal Math_CosS
- ## coss?
-/* 00E60 80BA3900 E60A0150 */ swc1 $f10, 0x0150($s0) ## 8015E7B0
-/* 00E64 80BA3904 96080196 */ lhu $t0, 0x0196($s0) ## 8015E7F6
-/* 00E68 80BA3908 3C014F80 */ lui $at, 0x4F80 ## $at = 4F800000
-/* 00E6C 80BA390C 44883000 */ mtc1 $t0, $f6 ## $f6 = 0.00
-/* 00E70 80BA3910 05010004 */ bgez $t0, .L80BA3924
-/* 00E74 80BA3914 46803220 */ cvt.s.w $f8, $f6
-/* 00E78 80BA3918 44812000 */ mtc1 $at, $f4 ## $f4 = 4294967296.00
-/* 00E7C 80BA391C 00000000 */ nop
-/* 00E80 80BA3920 46044200 */ add.s $f8, $f8, $f4
-.L80BA3924:
-/* 00E84 80BA3924 46004282 */ mul.s $f10, $f8, $f0
-/* 00E88 80BA3928 9202014C */ lbu $v0, 0x014C($s0) ## 8015E7AC
-/* 00E8C 80BA392C 10000024 */ beq $zero, $zero, .L80BA39C0
-/* 00E90 80BA3930 E60A0158 */ swc1 $f10, 0x0158($s0) ## 8015E7B8
-.L80BA3934:
-/* 00E94 80BA3934 3C0180BA */ lui $at, %hi(D_80BA5C7C) ## $at = 80BA0000
-/* 00E98 80BA3938 C4265C7C */ lwc1 $f6, %lo(D_80BA5C7C)($at)
-/* 00E9C 80BA393C 3C073A83 */ lui $a3, 0x3A83 ## $a3 = 3A830000
-/* 00EA0 80BA3940 34E7126F */ ori $a3, $a3, 0x126F ## $a3 = 3A83126F
-/* 00EA4 80BA3944 00A03021 */ addu $a2, $a1, $zero
-/* 00EA8 80BA3948 0C01E0C4 */ jal Math_SmoothStepToF
-
-/* 00EAC 80BA394C E7A60010 */ swc1 $f6, 0x0010($sp)
-/* 00EB0 80BA3950 3C0180BA */ lui $at, %hi(D_80BA5C80) ## $at = 80BA0000
-/* 00EB4 80BA3954 C4245C80 */ lwc1 $f4, %lo(D_80BA5C80)($at)
-/* 00EB8 80BA3958 4406A000 */ mfc1 $a2, $f20
-/* 00EBC 80BA395C 3C073DCC */ lui $a3, 0x3DCC ## $a3 = 3DCC0000
-/* 00EC0 80BA3960 34E7CCCD */ ori $a3, $a3, 0xCCCD ## $a3 = 3DCCCCCD
-/* 00EC4 80BA3964 26040180 */ addiu $a0, $s0, 0x0180 ## $a0 = 8015E7E0
-/* 00EC8 80BA3968 3C053FC0 */ lui $a1, 0x3FC0 ## $a1 = 3FC00000
-/* 00ECC 80BA396C 0C01E0C4 */ jal Math_SmoothStepToF
-
-/* 00ED0 80BA3970 E7A40010 */ swc1 $f4, 0x0010($sp)
-/* 00ED4 80BA3974 C6080114 */ lwc1 $f8, 0x0114($s0) ## 8015E774
-/* 00ED8 80BA3978 C60A0168 */ lwc1 $f10, 0x0168($s0) ## 8015E7C8
-/* 00EDC 80BA397C C6040108 */ lwc1 $f4, 0x0108($s0) ## 8015E768
-/* 00EE0 80BA3980 9202014C */ lbu $v0, 0x014C($s0) ## 8015E7AC
-/* 00EE4 80BA3984 460A4181 */ sub.s $f6, $f8, $f10
-/* 00EE8 80BA3988 C60A0118 */ lwc1 $f10, 0x0118($s0) ## 8015E778
-/* 00EEC 80BA398C 46043200 */ add.s $f8, $f6, $f4
-/* 00EF0 80BA3990 C606016C */ lwc1 $f6, 0x016C($s0) ## 8015E7CC
-/* 00EF4 80BA3994 46065101 */ sub.s $f4, $f10, $f6
-/* 00EF8 80BA3998 E6080150 */ swc1 $f8, 0x0150($s0) ## 8015E7B0
-/* 00EFC 80BA399C C608010C */ lwc1 $f8, 0x010C($s0) ## 8015E76C
-/* 00F00 80BA39A0 C606011C */ lwc1 $f6, 0x011C($s0) ## 8015E77C
-/* 00F04 80BA39A4 46082280 */ add.s $f10, $f4, $f8
-/* 00F08 80BA39A8 C6040170 */ lwc1 $f4, 0x0170($s0) ## 8015E7D0
-/* 00F0C 80BA39AC 46043201 */ sub.s $f8, $f6, $f4
-/* 00F10 80BA39B0 E60A0154 */ swc1 $f10, 0x0154($s0) ## 8015E7B4
-/* 00F14 80BA39B4 C60A0110 */ lwc1 $f10, 0x0110($s0) ## 8015E770
-/* 00F18 80BA39B8 460A4180 */ add.s $f6, $f8, $f10
-/* 00F1C 80BA39BC E6060158 */ swc1 $f6, 0x0158($s0) ## 8015E7B8
-.L80BA39C0:
-/* 00F20 80BA39C0 52C2006F */ beql $s6, $v0, .L80BA3B80
-/* 00F24 80BA39C4 8FA90088 */ lw $t1, 0x0088($sp)
-/* 00F28 80BA39C8 C6040150 */ lwc1 $f4, 0x0150($s0) ## 8015E7B0
-/* 00F2C 80BA39CC C6080168 */ lwc1 $f8, 0x0168($s0) ## 8015E7C8
-/* 00F30 80BA39D0 C7A600CC */ lwc1 $f6, 0x00CC($sp)
-/* 00F34 80BA39D4 4600C307 */ neg.s $f12, $f24
-/* 00F38 80BA39D8 46082280 */ add.s $f10, $f4, $f8
-/* 00F3C 80BA39DC 46065081 */ sub.s $f2, $f10, $f6
-/* 00F40 80BA39E0 4602C03C */ c.lt.s $f24, $f2
-/* 00F44 80BA39E4 00000000 */ nop
-/* 00F48 80BA39E8 4503001E */ bc1tl .L80BA3A64
-/* 00F4C 80BA39EC 4602C03C */ c.lt.s $f24, $f2
-/* 00F50 80BA39F0 460C103C */ c.lt.s $f2, $f12
-/* 00F54 80BA39F4 00000000 */ nop
-/* 00F58 80BA39F8 4503001A */ bc1tl .L80BA3A64
-/* 00F5C 80BA39FC 4602C03C */ c.lt.s $f24, $f2
-/* 00F60 80BA3A00 C6040154 */ lwc1 $f4, 0x0154($s0) ## 8015E7B4
-/* 00F64 80BA3A04 C608016C */ lwc1 $f8, 0x016C($s0) ## 8015E7CC
-/* 00F68 80BA3A08 46082280 */ add.s $f10, $f4, $f8
-/* 00F6C 80BA3A0C 461C5001 */ sub.s $f0, $f10, $f28
-/* 00F70 80BA3A10 4600C03C */ c.lt.s $f24, $f0
-/* 00F74 80BA3A14 00000000 */ nop
-/* 00F78 80BA3A18 45030012 */ bc1tl .L80BA3A64
-/* 00F7C 80BA3A1C 4602C03C */ c.lt.s $f24, $f2
-/* 00F80 80BA3A20 460C003C */ c.lt.s $f0, $f12
-/* 00F84 80BA3A24 00000000 */ nop
-/* 00F88 80BA3A28 4503000E */ bc1tl .L80BA3A64
-/* 00F8C 80BA3A2C 4602C03C */ c.lt.s $f24, $f2
-/* 00F90 80BA3A30 C6060158 */ lwc1 $f6, 0x0158($s0) ## 8015E7B8
-/* 00F94 80BA3A34 C6040170 */ lwc1 $f4, 0x0170($s0) ## 8015E7D0
-/* 00F98 80BA3A38 46043200 */ add.s $f8, $f6, $f4
-/* 00F9C 80BA3A3C 461E4001 */ sub.s $f0, $f8, $f30
-/* 00FA0 80BA3A40 4600C03C */ c.lt.s $f24, $f0
-/* 00FA4 80BA3A44 00000000 */ nop
-/* 00FA8 80BA3A48 45030006 */ bc1tl .L80BA3A64
-/* 00FAC 80BA3A4C 4602C03C */ c.lt.s $f24, $f2
-/* 00FB0 80BA3A50 460C003C */ c.lt.s $f0, $f12
-/* 00FB4 80BA3A54 00000000 */ nop
-/* 00FB8 80BA3A58 45020049 */ bc1fl .L80BA3B80
-/* 00FBC 80BA3A5C 8FA90088 */ lw $t1, 0x0088($sp)
-/* 00FC0 80BA3A60 4602C03C */ c.lt.s $f24, $f2
-.L80BA3A64:
-/* 00FC4 80BA3A64 C7AA00CC */ lwc1 $f10, 0x00CC($sp)
-/* 00FC8 80BA3A68 4502000A */ bc1fl .L80BA3A94
-/* 00FCC 80BA3A6C 460C103C */ c.lt.s $f2, $f12
-/* 00FD0 80BA3A70 46185181 */ sub.s $f6, $f10, $f24
-/* 00FD4 80BA3A74 E61A0150 */ swc1 $f26, 0x0150($s0) ## 8015E7B0
-/* 00FD8 80BA3A78 C6040150 */ lwc1 $f4, 0x0150($s0) ## 8015E7B0
-/* 00FDC 80BA3A7C E6060168 */ swc1 $f6, 0x0168($s0) ## 8015E7C8
-/* 00FE0 80BA3A80 C6080168 */ lwc1 $f8, 0x0168($s0) ## 8015E7C8
-/* 00FE4 80BA3A84 C7A600CC */ lwc1 $f6, 0x00CC($sp)
-/* 00FE8 80BA3A88 46082280 */ add.s $f10, $f4, $f8
-/* 00FEC 80BA3A8C 46065081 */ sub.s $f2, $f10, $f6
-/* 00FF0 80BA3A90 460C103C */ c.lt.s $f2, $f12
-.L80BA3A94:
-/* 00FF4 80BA3A94 C7A400CC */ lwc1 $f4, 0x00CC($sp)
-/* 00FF8 80BA3A98 45020005 */ bc1fl .L80BA3AB0
-/* 00FFC 80BA3A9C C60A0154 */ lwc1 $f10, 0x0154($s0) ## 8015E7B4
-/* 01000 80BA3AA0 46182200 */ add.s $f8, $f4, $f24
-/* 01004 80BA3AA4 E61A0150 */ swc1 $f26, 0x0150($s0) ## 8015E7B0
-/* 01008 80BA3AA8 E6080168 */ swc1 $f8, 0x0168($s0) ## 8015E7C8
-/* 0100C 80BA3AAC C60A0154 */ lwc1 $f10, 0x0154($s0) ## 8015E7B4
-.L80BA3AB0:
-/* 01010 80BA3AB0 C606016C */ lwc1 $f6, 0x016C($s0) ## 8015E7CC
-/* 01014 80BA3AB4 3C014248 */ lui $at, 0x4248 ## $at = 42480000
-/* 01018 80BA3AB8 44814000 */ mtc1 $at, $f8 ## $f8 = 50.00
-/* 0101C 80BA3ABC 46065100 */ add.s $f4, $f10, $f6
-/* 01020 80BA3AC0 3C014248 */ lui $at, 0x4248 ## $at = 42480000
-/* 01024 80BA3AC4 461C2001 */ sub.s $f0, $f4, $f28
-/* 01028 80BA3AC8 4600403C */ c.lt.s $f8, $f0
-/* 0102C 80BA3ACC 00000000 */ nop
-/* 01030 80BA3AD0 4502000A */ bc1fl .L80BA3AFC
-/* 01034 80BA3AD4 3C01C248 */ lui $at, 0xC248 ## $at = C2480000
-/* 01038 80BA3AD8 44815000 */ mtc1 $at, $f10 ## $f10 = -50.00
-/* 0103C 80BA3ADC E61A0154 */ swc1 $f26, 0x0154($s0) ## 8015E7B4
-/* 01040 80BA3AE0 C6040154 */ lwc1 $f4, 0x0154($s0) ## 8015E7B4
-/* 01044 80BA3AE4 460AE181 */ sub.s $f6, $f28, $f10
-/* 01048 80BA3AE8 E606016C */ swc1 $f6, 0x016C($s0) ## 8015E7CC
-/* 0104C 80BA3AEC C608016C */ lwc1 $f8, 0x016C($s0) ## 8015E7CC
-/* 01050 80BA3AF0 46082280 */ add.s $f10, $f4, $f8
-/* 01054 80BA3AF4 461C5001 */ sub.s $f0, $f10, $f28
-/* 01058 80BA3AF8 3C01C248 */ lui $at, 0xC248 ## $at = C2480000
-.L80BA3AFC:
-/* 0105C 80BA3AFC 44813000 */ mtc1 $at, $f6 ## $f6 = -50.00
-/* 01060 80BA3B00 3C014248 */ lui $at, 0x4248 ## $at = 42480000
-/* 01064 80BA3B04 4606003C */ c.lt.s $f0, $f6
-/* 01068 80BA3B08 00000000 */ nop
-/* 0106C 80BA3B0C 45020006 */ bc1fl .L80BA3B28
-/* 01070 80BA3B10 C60A0158 */ lwc1 $f10, 0x0158($s0) ## 8015E7B8
-/* 01074 80BA3B14 44812000 */ mtc1 $at, $f4 ## $f4 = 50.00
-/* 01078 80BA3B18 E61A0154 */ swc1 $f26, 0x0154($s0) ## 8015E7B4
-/* 0107C 80BA3B1C 4604E200 */ add.s $f8, $f28, $f4
-/* 01080 80BA3B20 E608016C */ swc1 $f8, 0x016C($s0) ## 8015E7CC
-/* 01084 80BA3B24 C60A0158 */ lwc1 $f10, 0x0158($s0) ## 8015E7B8
-.L80BA3B28:
-/* 01088 80BA3B28 C6060170 */ lwc1 $f6, 0x0170($s0) ## 8015E7D0
-/* 0108C 80BA3B2C 46065100 */ add.s $f4, $f10, $f6
-/* 01090 80BA3B30 461E2001 */ sub.s $f0, $f4, $f30
-/* 01094 80BA3B34 4600C03C */ c.lt.s $f24, $f0
-/* 01098 80BA3B38 00000000 */ nop
-/* 0109C 80BA3B3C 45020009 */ bc1fl .L80BA3B64
-/* 010A0 80BA3B40 460C003C */ c.lt.s $f0, $f12
-/* 010A4 80BA3B44 4618F201 */ sub.s $f8, $f30, $f24
-/* 010A8 80BA3B48 E61A0158 */ swc1 $f26, 0x0158($s0) ## 8015E7B8
-/* 010AC 80BA3B4C C60A0158 */ lwc1 $f10, 0x0158($s0) ## 8015E7B8
-/* 010B0 80BA3B50 E6080170 */ swc1 $f8, 0x0170($s0) ## 8015E7D0
-/* 010B4 80BA3B54 C6060170 */ lwc1 $f6, 0x0170($s0) ## 8015E7D0
-/* 010B8 80BA3B58 46065100 */ add.s $f4, $f10, $f6
-/* 010BC 80BA3B5C 461E2001 */ sub.s $f0, $f4, $f30
-/* 010C0 80BA3B60 460C003C */ c.lt.s $f0, $f12
-.L80BA3B64:
-/* 010C4 80BA3B64 00000000 */ nop
-/* 010C8 80BA3B68 45020005 */ bc1fl .L80BA3B80
-/* 010CC 80BA3B6C 8FA90088 */ lw $t1, 0x0088($sp)
-/* 010D0 80BA3B70 4618F200 */ add.s $f8, $f30, $f24
-/* 010D4 80BA3B74 E61A0158 */ swc1 $f26, 0x0158($s0) ## 8015E7B8
-/* 010D8 80BA3B78 E6080170 */ swc1 $f8, 0x0170($s0) ## 8015E7D0
-/* 010DC 80BA3B7C 8FA90088 */ lw $t1, 0x0088($sp)
-.L80BA3B80:
-/* 010E0 80BA3B80 10000004 */ beq $zero, $zero, .L80BA3B94
-/* 010E4 80BA3B84 91230B15 */ lbu $v1, 0x0B15($t1) ## 00000B15
-/* 010E8 80BA3B88 A200014C */ sb $zero, 0x014C($s0) ## 8015E7AC
-.L80BA3B8C:
-/* 010EC 80BA3B8C 8FAA0088 */ lw $t2, 0x0088($sp)
-/* 010F0 80BA3B90 91430B15 */ lbu $v1, 0x0B15($t2) ## 00000B15
-.L80BA3B94:
-/* 010F4 80BA3B94 26520001 */ addiu $s2, $s2, 0x0001 ## $s2 = 00000002
-.L80BA3B98:
-/* 010F8 80BA3B98 00129400 */ sll $s2, $s2, 16
-/* 010FC 80BA3B9C 00129403 */ sra $s2, $s2, 16
-/* 01100 80BA3BA0 0243082A */ slt $at, $s2, $v1
-/* 01104 80BA3BA4 5420FD1E */ bnel $at, $zero, .L80BA3020
-/* 01108 80BA3BA8 C63000E0 */ lwc1 $f16, 0x00E0($s1) ## 000000E0
-.L80BA3BAC:
-/* 0110C 80BA3BAC 8FBF006C */ lw $ra, 0x006C($sp)
-/* 01110 80BA3BB0 D7B40020 */ ldc1 $f20, 0x0020($sp)
-/* 01114 80BA3BB4 D7B60028 */ ldc1 $f22, 0x0028($sp)
-/* 01118 80BA3BB8 D7B80030 */ ldc1 $f24, 0x0030($sp)
-/* 0111C 80BA3BBC D7BA0038 */ ldc1 $f26, 0x0038($sp)
-/* 01120 80BA3BC0 D7BC0040 */ ldc1 $f28, 0x0040($sp)
-/* 01124 80BA3BC4 D7BE0048 */ ldc1 $f30, 0x0048($sp)
-/* 01128 80BA3BC8 8FB00050 */ lw $s0, 0x0050($sp)
-/* 0112C 80BA3BCC 8FB10054 */ lw $s1, 0x0054($sp)
-/* 01130 80BA3BD0 8FB20058 */ lw $s2, 0x0058($sp)
-/* 01134 80BA3BD4 8FB3005C */ lw $s3, 0x005C($sp)
-/* 01138 80BA3BD8 8FB40060 */ lw $s4, 0x0060($sp)
-/* 0113C 80BA3BDC 8FB50064 */ lw $s5, 0x0064($sp)
-/* 01140 80BA3BE0 8FB60068 */ lw $s6, 0x0068($sp)
-/* 01144 80BA3BE4 03E00008 */ jr $ra
-/* 01148 80BA3BE8 27BD00F8 */ addiu $sp, $sp, 0x00F8 ## $sp = 00000000
diff --git a/asm/non_matchings/overlays/actors/ovl_Object_Kankyo/func_80BA3C94.s b/asm/non_matchings/overlays/actors/ovl_Object_Kankyo/func_80BA3C94.s
deleted file mode 100644
index be01e2c02d..0000000000
--- a/asm/non_matchings/overlays/actors/ovl_Object_Kankyo/func_80BA3C94.s
+++ /dev/null
@@ -1,339 +0,0 @@
-.rdata
-glabel D_80BA5A40
- .asciz "../z_object_kankyo.c"
- .balign 4
-
-glabel D_80BA5A58
- .asciz "../z_object_kankyo.c"
- .balign 4
-
-glabel D_80BA5A70
- .asciz "../z_object_kankyo.c"
- .balign 4
-
-.late_rodata
-glabel D_80BA5C9C
- .float 0.017453292
-
-glabel D_80BA5CA0
- .float 0.05
-
-.text
-glabel func_80BA3C94
-/* 011F4 80BA3C94 27BDFF48 */ addiu $sp, $sp, 0xFF48 ## $sp = FFFFFF48
-/* 011F8 80BA3C98 3C0F80BA */ lui $t7, %hi(D_80BA596C) ## $t7 = 80BA0000
-/* 011FC 80BA3C9C AFBF003C */ sw $ra, 0x003C($sp)
-/* 01200 80BA3CA0 AFB70038 */ sw $s7, 0x0038($sp)
-/* 01204 80BA3CA4 AFB60034 */ sw $s6, 0x0034($sp)
-/* 01208 80BA3CA8 AFB50030 */ sw $s5, 0x0030($sp)
-/* 0120C 80BA3CAC AFB4002C */ sw $s4, 0x002C($sp)
-/* 01210 80BA3CB0 AFB30028 */ sw $s3, 0x0028($sp)
-/* 01214 80BA3CB4 AFB20024 */ sw $s2, 0x0024($sp)
-/* 01218 80BA3CB8 AFB10020 */ sw $s1, 0x0020($sp)
-/* 0121C 80BA3CBC AFB0001C */ sw $s0, 0x001C($sp)
-/* 01220 80BA3CC0 F7B40010 */ sdc1 $f20, 0x0010($sp)
-/* 01224 80BA3CC4 25EF596C */ addiu $t7, $t7, %lo(D_80BA596C) ## $t7 = 80BA596C
-/* 01228 80BA3CC8 8DF90000 */ lw $t9, 0x0000($t7) ## 80BA596C
-/* 0122C 80BA3CCC 27AE00A0 */ addiu $t6, $sp, 0x00A0 ## $t6 = FFFFFFE8
-/* 01230 80BA3CD0 8DF80004 */ lw $t8, 0x0004($t7) ## 80BA5970
-/* 01234 80BA3CD4 ADD90000 */ sw $t9, 0x0000($t6) ## FFFFFFE8
-/* 01238 80BA3CD8 8DF90008 */ lw $t9, 0x0008($t7) ## 80BA5974
-/* 0123C 80BA3CDC 3C0980BA */ lui $t1, %hi(D_80BA5978) ## $t1 = 80BA0000
-/* 01240 80BA3CE0 25295978 */ addiu $t1, $t1, %lo(D_80BA5978) ## $t1 = 80BA5978
-/* 01244 80BA3CE4 ADD80004 */ sw $t8, 0x0004($t6) ## FFFFFFEC
-/* 01248 80BA3CE8 ADD90008 */ sw $t9, 0x0008($t6) ## FFFFFFF0
-/* 0124C 80BA3CEC 8D2B0000 */ lw $t3, 0x0000($t1) ## 80BA5978
-/* 01250 80BA3CF0 27A80094 */ addiu $t0, $sp, 0x0094 ## $t0 = FFFFFFDC
-/* 01254 80BA3CF4 8D2A0004 */ lw $t2, 0x0004($t1) ## 80BA597C
-/* 01258 80BA3CF8 AD0B0000 */ sw $t3, 0x0000($t0) ## FFFFFFDC
-/* 0125C 80BA3CFC 8D2B0008 */ lw $t3, 0x0008($t1) ## 80BA5980
-/* 01260 80BA3D00 AD0A0004 */ sw $t2, 0x0004($t0) ## FFFFFFE0
-/* 01264 80BA3D04 00808825 */ or $s1, $a0, $zero ## $s1 = 00000000
-/* 01268 80BA3D08 AD0B0008 */ sw $t3, 0x0008($t0) ## FFFFFFE4
-/* 0126C 80BA3D0C 8CAC0790 */ lw $t4, 0x0790($a1) ## 00000790
-/* 01270 80BA3D10 3C0680BA */ lui $a2, %hi(D_80BA5A40) ## $a2 = 80BA0000
-/* 01274 80BA3D14 00A0A025 */ or $s4, $a1, $zero ## $s4 = 00000000
-/* 01278 80BA3D18 858D014C */ lh $t5, 0x014C($t4) ## 0000014C
-/* 0127C 80BA3D1C 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000
-/* 01280 80BA3D20 24C65A40 */ addiu $a2, $a2, %lo(D_80BA5A40) ## $a2 = 80BA5A40
-/* 01284 80BA3D24 31AE0100 */ andi $t6, $t5, 0x0100 ## $t6 = 00000000
-/* 01288 80BA3D28 15C000FC */ bne $t6, $zero, .L80BA411C
-/* 0128C 80BA3D2C 27A4007C */ addiu $a0, $sp, 0x007C ## $a0 = FFFFFFC4
-/* 01290 80BA3D30 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000
-/* 01294 80BA3D34 24070327 */ addiu $a3, $zero, 0x0327 ## $a3 = 00000327
-/* 01298 80BA3D38 0C031AB1 */ jal Graph_OpenDisps
-/* 0129C 80BA3D3C 00A09025 */ or $s2, $a1, $zero ## $s2 = 00000000
-/* 012A0 80BA3D40 8E4402D0 */ lw $a0, 0x02D0($s2) ## 000002D0
-/* 012A4 80BA3D44 0C024DDD */ jal Gfx_CallSetupDL
-/* 012A8 80BA3D48 24050014 */ addiu $a1, $zero, 0x0014 ## $a1 = 00000014
-/* 012AC 80BA3D4C 3C040405 */ lui $a0, %hi(gSun1Tex) ## $a0 = 04050000
-/* 012B0 80BA3D50 2484C160 */ addiu $a0, $a0, %lo(gSun1Tex) ## $a0 = 0404C160
-/* 012B4 80BA3D54 0004C900 */ sll $t9, $a0, 4
-/* 012B8 80BA3D58 AE4202D0 */ sw $v0, 0x02D0($s2) ## 000002D0
-/* 012BC 80BA3D5C 00194702 */ srl $t0, $t9, 28
-/* 012C0 80BA3D60 244F0008 */ addiu $t7, $v0, 0x0008 ## $t7 = 00000008
-/* 012C4 80BA3D64 3C18DB06 */ lui $t8, 0xDB06 ## $t8 = DB060000
-/* 012C8 80BA3D68 37180020 */ ori $t8, $t8, 0x0020 ## $t8 = DB060020
-/* 012CC 80BA3D6C AE4F02D0 */ sw $t7, 0x02D0($s2) ## 000002D0
-/* 012D0 80BA3D70 00084880 */ sll $t1, $t0, 2
-/* 012D4 80BA3D74 3C0A8016 */ lui $t2, %hi(gSegments)
-/* 012D8 80BA3D78 01495021 */ addu $t2, $t2, $t1
-/* 012DC 80BA3D7C AC580000 */ sw $t8, 0x0000($v0) ## 00000000
-/* 012E0 80BA3D80 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000
-/* 012E4 80BA3D84 8D4A6FA8 */ lw $t2, %lo(gSegments)($t2)
-/* 012E8 80BA3D88 3421FFFF */ ori $at, $at, 0xFFFF ## $at = 00FFFFFF
-/* 012EC 80BA3D8C 00815824 */ and $t3, $a0, $at
-/* 012F0 80BA3D90 3C018000 */ lui $at, 0x8000 ## $at = 80000000
-/* 012F4 80BA3D94 014B6021 */ addu $t4, $t2, $t3
-/* 012F8 80BA3D98 01816821 */ addu $t5, $t4, $at
-/* 012FC 80BA3D9C AC4D0004 */ sw $t5, 0x0004($v0) ## 00000004
-/* 01300 80BA3DA0 8E4202D0 */ lw $v0, 0x02D0($s2) ## 000002D0
-/* 01304 80BA3DA4 3C180405 */ lui $t8, %hi(gKokiriDustMoteTextureLoadDL ) ## $t8 = 04050000
-/* 01308 80BA3DA8 2718D160 */ addiu $t8, $t8, %lo(gKokiriDustMoteTextureLoadDL ) ## $t8 = 0404D160
-/* 0130C 80BA3DAC 244E0008 */ addiu $t6, $v0, 0x0008 ## $t6 = 00000008
-/* 01310 80BA3DB0 AE4E02D0 */ sw $t6, 0x02D0($s2) ## 000002D0
-/* 01314 80BA3DB4 3C0FDE00 */ lui $t7, 0xDE00 ## $t7 = DE000000
-/* 01318 80BA3DB8 3C190001 */ lui $t9, 0x0001 ## $t9 = 00010000
-/* 0131C 80BA3DBC 0334C821 */ addu $t9, $t9, $s4
-/* 01320 80BA3DC0 AC4F0000 */ sw $t7, 0x0000($v0) ## 00000000
-/* 01324 80BA3DC4 AC580004 */ sw $t8, 0x0004($v0) ## 00000004
-/* 01328 80BA3DC8 93390B15 */ lbu $t9, 0x0B15($t9) ## 00010B15
-/* 0132C 80BA3DCC 3C010001 */ lui $at, 0x0001 ## $at = 00010000
-/* 01330 80BA3DD0 02014021 */ addu $t0, $s0, $at
-/* 01334 80BA3DD4 1B2000CB */ blez $t9, .L80BA4104
-/* 01338 80BA3DD8 00009825 */ or $s3, $zero, $zero ## $s3 = 00000000
-/* 0133C 80BA3DDC 34211DA0 */ ori $at, $at, 0x1DA0 ## $at = 00011DA0
-/* 01340 80BA3DE0 02815021 */ addu $t2, $s4, $at
-/* 01344 80BA3DE4 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
-/* 01348 80BA3DE8 3C090405 */ lui $t1, %hi(gKokiriDustMoteDL) ## $t1 = 04050000
-/* 0134C 80BA3DEC 2529D1A8 */ addiu $t1, $t1, %lo(gKokiriDustMoteDL) ## $t1 = 0404D1A8
-/* 01350 80BA3DF0 4481A000 */ mtc1 $at, $f20 ## $f20 = 1.00
-/* 01354 80BA3DF4 AFA90048 */ sw $t1, 0x0048($sp)
-/* 01358 80BA3DF8 AFAA0040 */ sw $t2, 0x0040($sp)
-/* 0135C 80BA3DFC AFA80050 */ sw $t0, 0x0050($sp)
-/* 01360 80BA3E00 3C17FB00 */ lui $s7, 0xFB00 ## $s7 = FB000000
-/* 01364 80BA3E04 3C16FA00 */ lui $s6, 0xFA00 ## $s6 = FA000000
-/* 01368 80BA3E08 24150002 */ addiu $s5, $zero, 0x0002 ## $s5 = 00000002
-/* 0136C 80BA3E0C 00135880 */ sll $t3, $s3, 2
-.L80BA3E10:
-/* 01370 80BA3E10 01735821 */ addu $t3, $t3, $s3
-/* 01374 80BA3E14 000B5880 */ sll $t3, $t3, 2
-/* 01378 80BA3E18 01735821 */ addu $t3, $t3, $s3
-/* 0137C 80BA3E1C 000B5880 */ sll $t3, $t3, 2
-/* 01380 80BA3E20 022B8021 */ addu $s0, $s1, $t3
-/* 01384 80BA3E24 C6040150 */ lwc1 $f4, 0x0150($s0) ## 00000150
-/* 01388 80BA3E28 C6060168 */ lwc1 $f6, 0x0168($s0) ## 00000168
-/* 0138C 80BA3E2C C6100158 */ lwc1 $f16, 0x0158($s0) ## 00000158
-/* 01390 80BA3E30 C6120170 */ lwc1 $f18, 0x0170($s0) ## 00000170
-/* 01394 80BA3E34 46062300 */ add.s $f12, $f4, $f6
-/* 01398 80BA3E38 C6080154 */ lwc1 $f8, 0x0154($s0) ## 00000154
-/* 0139C 80BA3E3C C60A016C */ lwc1 $f10, 0x016C($s0) ## 0000016C
-/* 013A0 80BA3E40 46128100 */ add.s $f4, $f16, $f18
-/* 013A4 80BA3E44 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
-/* 013A8 80BA3E48 460A4380 */ add.s $f14, $f8, $f10
-/* 013AC 80BA3E4C 44062000 */ mfc1 $a2, $f4
-/* 013B0 80BA3E50 0C034261 */ jal Matrix_Translate
-/* 013B4 80BA3E54 00000000 */ nop
-/* 013B8 80BA3E58 920C018C */ lbu $t4, 0x018C($s0) ## 0000018C
-/* 013BC 80BA3E5C 3C014F80 */ lui $at, 0x4F80 ## $at = 4F800000
-/* 013C0 80BA3E60 448C3000 */ mtc1 $t4, $f6 ## $f6 = 0.00
-/* 013C4 80BA3E64 05810004 */ bgez $t4, .L80BA3E78
-/* 013C8 80BA3E68 46803220 */ cvt.s.w $f8, $f6
-/* 013CC 80BA3E6C 44815000 */ mtc1 $at, $f10 ## $f10 = 4294967296.00
-/* 013D0 80BA3E70 00000000 */ nop
-/* 013D4 80BA3E74 460A4200 */ add.s $f8, $f8, $f10
-.L80BA3E78:
-/* 013D8 80BA3E78 3C014248 */ lui $at, 0x4248 ## $at = 42480000
-/* 013DC 80BA3E7C 44818000 */ mtc1 $at, $f16 ## $f16 = 50.00
-/* 013E0 80BA3E80 00000000 */ nop
-/* 013E4 80BA3E84 46104003 */ div.s $f0, $f8, $f16
-/* 013E8 80BA3E88 4600A03C */ c.lt.s $f20, $f0
-/* 013EC 80BA3E8C 00000000 */ nop
-/* 013F0 80BA3E90 45020003 */ bc1fl .L80BA3EA0
-/* 013F4 80BA3E94 C6120190 */ lwc1 $f18, 0x0190($s0) ## 00000190
-/* 013F8 80BA3E98 4600A006 */ mov.s $f0, $f20
-/* 013FC 80BA3E9C C6120190 */ lwc1 $f18, 0x0190($s0) ## 00000190
-.L80BA3EA0:
-/* 01400 80BA3EA0 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
-/* 01404 80BA3EA4 46009302 */ mul.s $f12, $f18, $f0
-/* 01408 80BA3EA8 44066000 */ mfc1 $a2, $f12
-/* 0140C 80BA3EAC 0C0342A3 */ jal Matrix_Scale
-/* 01410 80BA3EB0 46006386 */ mov.s $f14, $f12
-/* 01414 80BA3EB4 2A610020 */ slti $at, $s3, 0x0020
-/* 01418 80BA3EB8 1020000F */ beq $at, $zero, .L80BA3EF8
-/* 0141C 80BA3EBC 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
-/* 01420 80BA3EC0 920D014C */ lbu $t5, 0x014C($s0) ## 0000014C
-/* 01424 80BA3EC4 52AD0007 */ beql $s5, $t5, .L80BA3EE4
-/* 01428 80BA3EC8 9202018C */ lbu $v0, 0x018C($s0) ## 0000018C
-/* 0142C 80BA3ECC 9202018C */ lbu $v0, 0x018C($s0) ## 0000018C
-/* 01430 80BA3ED0 1840002D */ blez $v0, .L80BA3F88
-/* 01434 80BA3ED4 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
-/* 01438 80BA3ED8 1000002B */ beq $zero, $zero, .L80BA3F88
-/* 0143C 80BA3EDC A20E018C */ sb $t6, 0x018C($s0) ## 0000018C
-/* 01440 80BA3EE0 9202018C */ lbu $v0, 0x018C($s0) ## 0000018C
-.L80BA3EE4:
-/* 01444 80BA3EE4 28410064 */ slti $at, $v0, 0x0064
-/* 01448 80BA3EE8 10200027 */ beq $at, $zero, .L80BA3F88
-/* 0144C 80BA3EEC 244F0001 */ addiu $t7, $v0, 0x0001 ## $t7 = 00000001
-/* 01450 80BA3EF0 10000025 */ beq $zero, $zero, .L80BA3F88
-/* 01454 80BA3EF4 A20F018C */ sb $t7, 0x018C($s0) ## 0000018C
-.L80BA3EF8:
-/* 01458 80BA3EF8 9218014C */ lbu $t8, 0x014C($s0) ## 0000014C
-/* 0145C 80BA3EFC 52B80013 */ beql $s5, $t8, .L80BA3F4C
-/* 01460 80BA3F00 960B0188 */ lhu $t3, 0x0188($s0) ## 00000188
-/* 01464 80BA3F04 96190188 */ lhu $t9, 0x0188($s0) ## 00000188
-/* 01468 80BA3F08 3328001F */ andi $t0, $t9, 0x001F ## $t0 = 00000000
-/* 0146C 80BA3F0C 29010010 */ slti $at, $t0, 0x0010
-/* 01470 80BA3F10 50200008 */ beql $at, $zero, .L80BA3F34
-/* 01474 80BA3F14 9202018C */ lbu $v0, 0x018C($s0) ## 0000018C
-/* 01478 80BA3F18 9202018C */ lbu $v0, 0x018C($s0) ## 0000018C
-/* 0147C 80BA3F1C 284100EB */ slti $at, $v0, 0x00EB
-/* 01480 80BA3F20 10200019 */ beq $at, $zero, .L80BA3F88
-/* 01484 80BA3F24 24490014 */ addiu $t1, $v0, 0x0014 ## $t1 = 00000014
-/* 01488 80BA3F28 10000017 */ beq $zero, $zero, .L80BA3F88
-/* 0148C 80BA3F2C A209018C */ sb $t1, 0x018C($s0) ## 0000018C
-/* 01490 80BA3F30 9202018C */ lbu $v0, 0x018C($s0) ## 0000018C
-.L80BA3F34:
-/* 01494 80BA3F34 28410015 */ slti $at, $v0, 0x0015
-/* 01498 80BA3F38 14200013 */ bne $at, $zero, .L80BA3F88
-/* 0149C 80BA3F3C 244AFFEC */ addiu $t2, $v0, 0xFFEC ## $t2 = FFFFFFEC
-/* 014A0 80BA3F40 10000011 */ beq $zero, $zero, .L80BA3F88
-/* 014A4 80BA3F44 A20A018C */ sb $t2, 0x018C($s0) ## 0000018C
-/* 014A8 80BA3F48 960B0188 */ lhu $t3, 0x0188($s0) ## 00000188
-.L80BA3F4C:
-/* 014AC 80BA3F4C 316C000F */ andi $t4, $t3, 0x000F ## $t4 = 00000000
-/* 014B0 80BA3F50 29810008 */ slti $at, $t4, 0x0008
-/* 014B4 80BA3F54 50200008 */ beql $at, $zero, .L80BA3F78
-/* 014B8 80BA3F58 9202018C */ lbu $v0, 0x018C($s0) ## 0000018C
-/* 014BC 80BA3F5C 9202018C */ lbu $v0, 0x018C($s0) ## 0000018C
-/* 014C0 80BA3F60 284100FF */ slti $at, $v0, 0x00FF
-/* 014C4 80BA3F64 10200008 */ beq $at, $zero, .L80BA3F88
-/* 014C8 80BA3F68 244D0064 */ addiu $t5, $v0, 0x0064 ## $t5 = 00000064
-/* 014CC 80BA3F6C 10000006 */ beq $zero, $zero, .L80BA3F88
-/* 014D0 80BA3F70 A20D018C */ sb $t5, 0x018C($s0) ## 0000018C
-/* 014D4 80BA3F74 9202018C */ lbu $v0, 0x018C($s0) ## 0000018C
-.L80BA3F78:
-/* 014D8 80BA3F78 2841000B */ slti $at, $v0, 0x000B
-/* 014DC 80BA3F7C 14200002 */ bne $at, $zero, .L80BA3F88
-/* 014E0 80BA3F80 244EFFF6 */ addiu $t6, $v0, 0xFFF6 ## $t6 = FFFFFFF6
-/* 014E4 80BA3F84 A20E018C */ sb $t6, 0x018C($s0) ## 0000018C
-.L80BA3F88:
-/* 014E8 80BA3F88 8E4202D0 */ lw $v0, 0x02D0($s2) ## 000002D0
-/* 014EC 80BA3F8C 3C18E700 */ lui $t8, 0xE700 ## $t8 = E7000000
-/* 014F0 80BA3F90 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
-/* 014F4 80BA3F94 244F0008 */ addiu $t7, $v0, 0x0008 ## $t7 = 00000008
-/* 014F8 80BA3F98 AE4F02D0 */ sw $t7, 0x02D0($s2) ## 000002D0
-/* 014FC 80BA3F9C AC400004 */ sw $zero, 0x0004($v0) ## 00000004
-/* 01500 80BA3FA0 AC580000 */ sw $t8, 0x0000($v0) ## 00000000
-/* 01504 80BA3FA4 32620001 */ andi $v0, $s3, 0x0001 ## $v0 = 00000000
-/* 01508 80BA3FA8 50400006 */ beql $v0, $zero, .L80BA3FC4
-/* 0150C 80BA3FAC 8E4202D0 */ lw $v0, 0x02D0($s2) ## 000002D0
-/* 01510 80BA3FB0 50410015 */ beql $v0, $at, .L80BA4008
-/* 01514 80BA3FB4 8E4202D0 */ lw $v0, 0x02D0($s2) ## 000002D0
-/* 01518 80BA3FB8 10000023 */ beq $zero, $zero, .L80BA4048
-/* 0151C 80BA3FBC 00000000 */ nop
-/* 01520 80BA3FC0 8E4202D0 */ lw $v0, 0x02D0($s2) ## 000002D0
-.L80BA3FC4:
-/* 01524 80BA3FC4 24019B00 */ addiu $at, $zero, 0x9B00 ## $at = FFFF9B00
-/* 01528 80BA3FC8 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008
-/* 0152C 80BA3FCC AE5902D0 */ sw $t9, 0x02D0($s2) ## 000002D0
-/* 01530 80BA3FD0 AC560000 */ sw $s6, 0x0000($v0) ## 00000000
-/* 01534 80BA3FD4 9209018C */ lbu $t1, 0x018C($s0) ## 0000018C
-/* 01538 80BA3FD8 01215025 */ or $t2, $t1, $at ## $t2 = FFFF9B14
-/* 0153C 80BA3FDC AC4A0004 */ sw $t2, 0x0004($v0) ## 00000004
-/* 01540 80BA3FE0 8E4202D0 */ lw $v0, 0x02D0($s2) ## 000002D0
-/* 01544 80BA3FE4 3C01FAB4 */ lui $at, 0xFAB4 ## $at = FAB40000
-/* 01548 80BA3FE8 244B0008 */ addiu $t3, $v0, 0x0008 ## $t3 = 00000008
-/* 0154C 80BA3FEC AE4B02D0 */ sw $t3, 0x02D0($s2) ## 000002D0
-/* 01550 80BA3FF0 AC570000 */ sw $s7, 0x0000($v0) ## 00000000
-/* 01554 80BA3FF4 920D018C */ lbu $t5, 0x018C($s0) ## 0000018C
-/* 01558 80BA3FF8 01A17025 */ or $t6, $t5, $at ## $t6 = FAB40064
-/* 0155C 80BA3FFC 10000012 */ beq $zero, $zero, .L80BA4048
-/* 01560 80BA4000 AC4E0004 */ sw $t6, 0x0004($v0) ## 00000004
-/* 01564 80BA4004 8E4202D0 */ lw $v0, 0x02D0($s2) ## 000002D0
-.L80BA4008:
-/* 01568 80BA4008 2401FF00 */ addiu $at, $zero, 0xFF00 ## $at = FFFFFF00
-/* 0156C 80BA400C 244F0008 */ addiu $t7, $v0, 0x0008 ## $t7 = 00000008
-/* 01570 80BA4010 AE4F02D0 */ sw $t7, 0x02D0($s2) ## 000002D0
-/* 01574 80BA4014 AC560000 */ sw $s6, 0x0000($v0) ## 00000000
-/* 01578 80BA4018 9219018C */ lbu $t9, 0x018C($s0) ## 0000018C
-/* 0157C 80BA401C 03214025 */ or $t0, $t9, $at ## $t0 = FFFFFF08
-/* 01580 80BA4020 AC480004 */ sw $t0, 0x0004($v0) ## 00000004
-/* 01584 80BA4024 8E4202D0 */ lw $v0, 0x02D0($s2) ## 000002D0
-/* 01588 80BA4028 3C010064 */ lui $at, 0x0064 ## $at = 00640000
-/* 0158C 80BA402C 3421FF00 */ ori $at, $at, 0xFF00 ## $at = 0064FF00
-/* 01590 80BA4030 24490008 */ addiu $t1, $v0, 0x0008 ## $t1 = 00000008
-/* 01594 80BA4034 AE4902D0 */ sw $t1, 0x02D0($s2) ## 000002D0
-/* 01598 80BA4038 AC570000 */ sw $s7, 0x0000($v0) ## 00000000
-/* 0159C 80BA403C 920B018C */ lbu $t3, 0x018C($s0) ## 0000018C
-/* 015A0 80BA4040 01616025 */ or $t4, $t3, $at ## $t4 = 0064FF08
-/* 015A4 80BA4044 AC4C0004 */ sw $t4, 0x0004($v0) ## 00000004
-.L80BA4048:
-/* 015A8 80BA4048 0C03424C */ jal Matrix_Mult
-/* 015AC 80BA404C 8FA40040 */ lw $a0, 0x0040($sp)
-/* 015B0 80BA4050 8E8D009C */ lw $t5, 0x009C($s4) ## 0000009C
-/* 015B4 80BA4054 3C014F80 */ lui $at, 0x4F80 ## $at = 4F800000
-/* 015B8 80BA4058 448D2000 */ mtc1 $t5, $f4 ## $f4 = 0.00
-/* 015BC 80BA405C 05A10004 */ bgez $t5, .L80BA4070
-/* 015C0 80BA4060 468021A0 */ cvt.s.w $f6, $f4
-/* 015C4 80BA4064 44815000 */ mtc1 $at, $f10 ## $f10 = 4294967296.00
-/* 015C8 80BA4068 00000000 */ nop
-/* 015CC 80BA406C 460A3180 */ add.s $f6, $f6, $f10
-.L80BA4070:
-/* 015D0 80BA4070 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
-/* 015D4 80BA4074 44814000 */ mtc1 $at, $f8 ## $f8 = 20.00
-/* 015D8 80BA4078 3C0180BA */ lui $at, %hi(D_80BA5C9C) ## $at = 80BA0000
-/* 015DC 80BA407C C4325C9C */ lwc1 $f18, %lo(D_80BA5C9C)($at)
-/* 015E0 80BA4080 46083402 */ mul.s $f16, $f6, $f8
-/* 015E4 80BA4084 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
-/* 015E8 80BA4088 46128302 */ mul.s $f12, $f16, $f18
-/* 015EC 80BA408C 0C0343B5 */ jal Matrix_RotateZ
-/* 015F0 80BA4090 00000000 */ nop
-/* 015F4 80BA4094 8E4202D0 */ lw $v0, 0x02D0($s2) ## 000002D0
-/* 015F8 80BA4098 3C0FDA38 */ lui $t7, 0xDA38 ## $t7 = DA380000
-/* 015FC 80BA409C 35EF0003 */ ori $t7, $t7, 0x0003 ## $t7 = DA380003
-/* 01600 80BA40A0 244E0008 */ addiu $t6, $v0, 0x0008 ## $t6 = 00000008
-/* 01604 80BA40A4 AE4E02D0 */ sw $t6, 0x02D0($s2) ## 000002D0
-/* 01608 80BA40A8 3C0580BA */ lui $a1, %hi(D_80BA5A58) ## $a1 = 80BA0000
-/* 0160C 80BA40AC AC4F0000 */ sw $t7, 0x0000($v0) ## 00000000
-/* 01610 80BA40B0 8E840000 */ lw $a0, 0x0000($s4) ## 00000000
-/* 01614 80BA40B4 24A55A58 */ addiu $a1, $a1, %lo(D_80BA5A58) ## $a1 = 80BA5A58
-/* 01618 80BA40B8 24060391 */ addiu $a2, $zero, 0x0391 ## $a2 = 00000391
-/* 0161C 80BA40BC 0C0346A2 */ jal Matrix_NewMtx
-/* 01620 80BA40C0 00408025 */ or $s0, $v0, $zero ## $s0 = 00000000
-/* 01624 80BA40C4 AE020004 */ sw $v0, 0x0004($s0) ## 00000004
-/* 01628 80BA40C8 8E4202D0 */ lw $v0, 0x02D0($s2) ## 000002D0
-/* 0162C 80BA40CC 3C19DE00 */ lui $t9, 0xDE00 ## $t9 = DE000000
-/* 01630 80BA40D0 26730001 */ addiu $s3, $s3, 0x0001 ## $s3 = 00000001
-/* 01634 80BA40D4 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008
-/* 01638 80BA40D8 AE5802D0 */ sw $t8, 0x02D0($s2) ## 000002D0
-/* 0163C 80BA40DC AC590000 */ sw $t9, 0x0000($v0) ## 00000000
-/* 01640 80BA40E0 8FA80048 */ lw $t0, 0x0048($sp)
-/* 01644 80BA40E4 00139C00 */ sll $s3, $s3, 16
-/* 01648 80BA40E8 00139C03 */ sra $s3, $s3, 16
-/* 0164C 80BA40EC AC480004 */ sw $t0, 0x0004($v0) ## 00000004
-/* 01650 80BA40F0 8FA90050 */ lw $t1, 0x0050($sp)
-/* 01654 80BA40F4 912A0B15 */ lbu $t2, 0x0B15($t1) ## 00000B15
-/* 01658 80BA40F8 026A082A */ slt $at, $s3, $t2
-/* 0165C 80BA40FC 5420FF44 */ bnel $at, $zero, .L80BA3E10
-/* 01660 80BA4100 00135880 */ sll $t3, $s3, 2
-.L80BA4104:
-/* 01664 80BA4104 3C0680BA */ lui $a2, %hi(D_80BA5A70) ## $a2 = 80BA0000
-/* 01668 80BA4108 24C65A70 */ addiu $a2, $a2, %lo(D_80BA5A70) ## $a2 = 80BA5A70
-/* 0166C 80BA410C 27A4007C */ addiu $a0, $sp, 0x007C ## $a0 = FFFFFFC4
-/* 01670 80BA4110 8E850000 */ lw $a1, 0x0000($s4) ## 00000000
-/* 01674 80BA4114 0C031AD5 */ jal Graph_CloseDisps
-/* 01678 80BA4118 2407039A */ addiu $a3, $zero, 0x039A ## $a3 = 0000039A
-.L80BA411C:
-/* 0167C 80BA411C 8FBF003C */ lw $ra, 0x003C($sp)
-/* 01680 80BA4120 D7B40010 */ ldc1 $f20, 0x0010($sp)
-/* 01684 80BA4124 8FB0001C */ lw $s0, 0x001C($sp)
-/* 01688 80BA4128 8FB10020 */ lw $s1, 0x0020($sp)
-/* 0168C 80BA412C 8FB20024 */ lw $s2, 0x0024($sp)
-/* 01690 80BA4130 8FB30028 */ lw $s3, 0x0028($sp)
-/* 01694 80BA4134 8FB4002C */ lw $s4, 0x002C($sp)
-/* 01698 80BA4138 8FB50030 */ lw $s5, 0x0030($sp)
-/* 0169C 80BA413C 8FB60034 */ lw $s6, 0x0034($sp)
-/* 016A0 80BA4140 8FB70038 */ lw $s7, 0x0038($sp)
-/* 016A4 80BA4144 03E00008 */ jr $ra
-/* 016A8 80BA4148 27BD00B8 */ addiu $sp, $sp, 0x00B8 ## $sp = 00000000
diff --git a/asm/non_matchings/overlays/actors/ovl_Object_Kankyo/func_80BA414C.s b/asm/non_matchings/overlays/actors/ovl_Object_Kankyo/func_80BA414C.s
deleted file mode 100644
index 1a57e684aa..0000000000
--- a/asm/non_matchings/overlays/actors/ovl_Object_Kankyo/func_80BA414C.s
+++ /dev/null
@@ -1,552 +0,0 @@
-.rdata
-glabel D_80BA5A88
- .asciz "../z_object_kankyo.c"
- .balign 4
-
-glabel D_80BA5AA0
- .asciz "../z_object_kankyo.c"
- .balign 4
-
-glabel D_80BA5AB8
- .asciz "../z_object_kankyo.c"
- .balign 4
-
-.late_rodata
-glabel D_80BA5CA4
- .float 0.049999997
-
-glabel D_80BA5CA8
- .float 0.01
-
-glabel D_80BA5CAC
- .float 0.01
-
-glabel D_80BA5CB0
- .float 0.05
-
-.text
-glabel func_80BA414C
-/* 016AC 80BA414C 27BDFEE8 */ addiu $sp, $sp, 0xFEE8 ## $sp = FFFFFEE8
-/* 016B0 80BA4150 3C0F80BA */ lui $t7, %hi(D_80BA5984) ## $t7 = 80BA0000
-/* 016B4 80BA4154 AFBF005C */ sw $ra, 0x005C($sp)
-/* 016B8 80BA4158 AFB50058 */ sw $s5, 0x0058($sp)
-/* 016BC 80BA415C AFB40054 */ sw $s4, 0x0054($sp)
-/* 016C0 80BA4160 AFB30050 */ sw $s3, 0x0050($sp)
-/* 016C4 80BA4164 AFB2004C */ sw $s2, 0x004C($sp)
-/* 016C8 80BA4168 AFB10048 */ sw $s1, 0x0048($sp)
-/* 016CC 80BA416C AFB00044 */ sw $s0, 0x0044($sp)
-/* 016D0 80BA4170 F7BE0038 */ sdc1 $f30, 0x0038($sp)
-/* 016D4 80BA4174 F7BC0030 */ sdc1 $f28, 0x0030($sp)
-/* 016D8 80BA4178 F7BA0028 */ sdc1 $f26, 0x0028($sp)
-/* 016DC 80BA417C F7B80020 */ sdc1 $f24, 0x0020($sp)
-/* 016E0 80BA4180 F7B60018 */ sdc1 $f22, 0x0018($sp)
-/* 016E4 80BA4184 F7B40010 */ sdc1 $f20, 0x0010($sp)
-/* 016E8 80BA4188 25EF5984 */ addiu $t7, $t7, %lo(D_80BA5984) ## $t7 = 80BA5984
-/* 016EC 80BA418C 8DF90000 */ lw $t9, 0x0000($t7) ## 80BA5984
-/* 016F0 80BA4190 27AE00E0 */ addiu $t6, $sp, 0x00E0 ## $t6 = FFFFFFC8
-/* 016F4 80BA4194 8DF80004 */ lw $t8, 0x0004($t7) ## 80BA5988
-/* 016F8 80BA4198 ADD90000 */ sw $t9, 0x0000($t6) ## FFFFFFC8
-/* 016FC 80BA419C 8DF90008 */ lw $t9, 0x0008($t7) ## 80BA598C
-/* 01700 80BA41A0 3C0980BA */ lui $t1, %hi(D_80BA5990) ## $t1 = 80BA0000
-/* 01704 80BA41A4 25295990 */ addiu $t1, $t1, %lo(D_80BA5990) ## $t1 = 80BA5990
-/* 01708 80BA41A8 ADD80004 */ sw $t8, 0x0004($t6) ## FFFFFFCC
-/* 0170C 80BA41AC ADD90008 */ sw $t9, 0x0008($t6) ## FFFFFFD0
-/* 01710 80BA41B0 8D2B0000 */ lw $t3, 0x0000($t1) ## 80BA5990
-/* 01714 80BA41B4 27A800D4 */ addiu $t0, $sp, 0x00D4 ## $t0 = FFFFFFBC
-/* 01718 80BA41B8 8D2A0004 */ lw $t2, 0x0004($t1) ## 80BA5994
-/* 0171C 80BA41BC AD0B0000 */ sw $t3, 0x0000($t0) ## FFFFFFBC
-/* 01720 80BA41C0 8D2B0008 */ lw $t3, 0x0008($t1) ## 80BA5998
-/* 01724 80BA41C4 AD0A0004 */ sw $t2, 0x0004($t0) ## FFFFFFC0
-/* 01728 80BA41C8 00808825 */ or $s1, $a0, $zero ## $s1 = 00000000
-/* 0172C 80BA41CC AD0B0008 */ sw $t3, 0x0008($t0) ## FFFFFFC4
-/* 01730 80BA41D0 8CAC0790 */ lw $t4, 0x0790($a1) ## 00000790
-/* 01734 80BA41D4 3C0680BA */ lui $a2, %hi(D_80BA5A88) ## $a2 = 80BA0000
-/* 01738 80BA41D8 00A09825 */ or $s3, $a1, $zero ## $s3 = 00000000
-/* 0173C 80BA41DC 858D014C */ lh $t5, 0x014C($t4) ## 0000014C
-/* 01740 80BA41E0 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000
-/* 01744 80BA41E4 24C65A88 */ addiu $a2, $a2, %lo(D_80BA5A88) ## $a2 = 80BA5A88
-/* 01748 80BA41E8 31AE0100 */ andi $t6, $t5, 0x0100 ## $t6 = 00000000
-/* 0174C 80BA41EC 15C001BA */ bne $t6, $zero, .L80BA48D8
-/* 01750 80BA41F0 27A400B4 */ addiu $a0, $sp, 0x00B4 ## $a0 = FFFFFF9C
-/* 01754 80BA41F4 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000
-/* 01758 80BA41F8 240703BE */ addiu $a3, $zero, 0x03BE ## $a3 = 000003BE
-/* 0175C 80BA41FC 0C031AB1 */ jal Graph_OpenDisps
-/* 01760 80BA4200 00A09025 */ or $s2, $a1, $zero ## $s2 = 00000000
-/* 01764 80BA4204 3C010001 */ lui $at, 0x0001 ## $at = 00010000
-/* 01768 80BA4208 02611821 */ addu $v1, $s3, $at
-/* 0176C 80BA420C 90620B14 */ lbu $v0, 0x0B14($v1) ## 00000B14
-/* 01770 80BA4210 90640B15 */ lbu $a0, 0x0B15($v1) ## 00000B15
-/* 01774 80BA4214 3C15E700 */ lui $s5, 0xE700 ## $s5 = E7000000
-/* 01778 80BA4218 0044082A */ slt $at, $v0, $a0
-/* 0177C 80BA421C 5020000A */ beql $at, $zero, .L80BA4248
-/* 01780 80BA4220 0082082A */ slt $at, $a0, $v0
-/* 01784 80BA4224 8E6F009C */ lw $t7, 0x009C($s3) ## 0000009C
-/* 01788 80BA4228 24590002 */ addiu $t9, $v0, 0x0002 ## $t9 = 00000002
-/* 0178C 80BA422C 31F8000F */ andi $t8, $t7, 0x000F ## $t8 = 00000000
-/* 01790 80BA4230 1700000E */ bne $t8, $zero, .L80BA426C
-/* 01794 80BA4234 00000000 */ nop
-/* 01798 80BA4238 A0790B14 */ sb $t9, 0x0B14($v1) ## 00000B14
-/* 0179C 80BA423C 1000000B */ beq $zero, $zero, .L80BA426C
-/* 017A0 80BA4240 332200FF */ andi $v0, $t9, 0x00FF ## $v0 = 00000002
-/* 017A4 80BA4244 0082082A */ slt $at, $a0, $v0
-.L80BA4248:
-/* 017A8 80BA4248 10200008 */ beq $at, $zero, .L80BA426C
-/* 017AC 80BA424C 00000000 */ nop
-/* 017B0 80BA4250 8E68009C */ lw $t0, 0x009C($s3) ## 0000009C
-/* 017B4 80BA4254 244AFFFE */ addiu $t2, $v0, 0xFFFE ## $t2 = 00000000
-/* 017B8 80BA4258 3109000F */ andi $t1, $t0, 0x000F ## $t1 = 00000000
-/* 017BC 80BA425C 15200003 */ bne $t1, $zero, .L80BA426C
-/* 017C0 80BA4260 00000000 */ nop
-/* 017C4 80BA4264 A06A0B14 */ sb $t2, 0x0B14($v1) ## 00000B14
-/* 017C8 80BA4268 314200FF */ andi $v0, $t2, 0x00FF ## $v0 = 00000000
-.L80BA426C:
-/* 017CC 80BA426C 18400194 */ blez $v0, .L80BA48C0
-/* 017D0 80BA4270 0000A025 */ or $s4, $zero, $zero ## $s4 = 00000000
-/* 017D4 80BA4274 3C010001 */ lui $at, 0x0001 ## $at = 00010000
-/* 017D8 80BA4278 02015821 */ addu $t3, $s0, $at
-/* 017DC 80BA427C 3C020405 */ lui $v0, %hi(gDust5Tex) ## $v0 = 04050000
-/* 017E0 80BA4280 24422DB0 */ addiu $v0, $v0, %lo(gDust5Tex) ## $v0 = 04052DB0
-/* 017E4 80BA4284 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000
-/* 017E8 80BA4288 3421FFFF */ ori $at, $at, 0xFFFF ## $at = 00FFFFFF
-/* 017EC 80BA428C 0041C824 */ and $t9, $v0, $at
-/* 017F0 80BA4290 00026100 */ sll $t4, $v0, 4
-/* 017F4 80BA4294 000C6F02 */ srl $t5, $t4, 28
-/* 017F8 80BA4298 3C0142A0 */ lui $at, 0x42A0 ## $at = 42A00000
-/* 017FC 80BA429C 3C0F8016 */ lui $t7, %hi(gSegments)
-/* 01800 80BA42A0 25EF6FA8 */ addiu $t7, %lo(gSegments)
-/* 01804 80BA42A4 000D7080 */ sll $t6, $t5, 2
-/* 01808 80BA42A8 3C080100 */ lui $t0, %hi(D_01000000) ## $t0 = 01000000
-/* 0180C 80BA42AC 3C090401 */ lui $t1, %hi(gEffDustDL) ## $t1 = 04010000
-/* 01810 80BA42B0 25290050 */ addiu $t1, $t1, %lo(gEffDustDL) ## $t1 = 04010050
-/* 01814 80BA42B4 25080000 */ addiu $t0, $t0, %lo(D_01000000) ## $t0 = 01000000
-/* 01818 80BA42B8 01CFC021 */ addu $t8, $t6, $t7
-/* 0181C 80BA42BC 4481F000 */ mtc1 $at, $f30 ## $f30 = 80.00
-/* 01820 80BA42C0 4481E000 */ mtc1 $at, $f28 ## $f28 = 80.00
-/* 01824 80BA42C4 AFB8007C */ sw $t8, 0x007C($sp)
-/* 01828 80BA42C8 AFA80074 */ sw $t0, 0x0074($sp)
-/* 0182C 80BA42CC AFA90070 */ sw $t1, 0x0070($sp)
-/* 01830 80BA42D0 AFB90078 */ sw $t9, 0x0078($sp)
-/* 01834 80BA42D4 AFAB0084 */ sw $t3, 0x0084($sp)
-/* 01838 80BA42D8 00145080 */ sll $t2, $s4, 2
-.L80BA42DC:
-/* 0183C 80BA42DC 01545021 */ addu $t2, $t2, $s4
-/* 01840 80BA42E0 000A5080 */ sll $t2, $t2, 2
-/* 01844 80BA42E4 01545021 */ addu $t2, $t2, $s4
-/* 01848 80BA42E8 000A5080 */ sll $t2, $t2, 2
-/* 0184C 80BA42EC 022A8021 */ addu $s0, $s1, $t2
-/* 01850 80BA42F0 9202014C */ lbu $v0, 0x014C($s0) ## 0000014C
-/* 01854 80BA42F4 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
-/* 01858 80BA42F8 50400010 */ beql $v0, $zero, .L80BA433C
-/* 0185C 80BA42FC C67200E0 */ lwc1 $f18, 0x00E0($s3) ## 000000E0
-/* 01860 80BA4300 10410061 */ beq $v0, $at, .L80BA4488
-/* 01864 80BA4304 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
-/* 01868 80BA4308 5041010B */ beql $v0, $at, .L80BA4738
-/* 0186C 80BA430C C6040154 */ lwc1 $f4, 0x0154($s0) ## 00000154
-/* 01870 80BA4310 C6040154 */ lwc1 $f4, 0x0154($s0) ## 00000154
-/* 01874 80BA4314 C606016C */ lwc1 $f6, 0x016C($s0) ## 0000016C
-/* 01878 80BA4318 C6080158 */ lwc1 $f8, 0x0158($s0) ## 00000158
-/* 0187C 80BA431C C60A0170 */ lwc1 $f10, 0x0170($s0) ## 00000170
-/* 01880 80BA4320 46062380 */ add.s $f14, $f4, $f6
-/* 01884 80BA4324 C6060168 */ lwc1 $f6, 0x0168($s0) ## 00000168
-/* 01888 80BA4328 C6040150 */ lwc1 $f4, 0x0150($s0) ## 00000150
-/* 0188C 80BA432C 460A4080 */ add.s $f2, $f8, $f10
-/* 01890 80BA4330 1000010A */ beq $zero, $zero, .L80BA475C
-/* 01894 80BA4334 46062300 */ add.s $f12, $f4, $f6
-/* 01898 80BA4338 C67200E0 */ lwc1 $f18, 0x00E0($s3) ## 000000E0
-.L80BA433C:
-/* 0189C 80BA433C C66800EC */ lwc1 $f8, 0x00EC($s3) ## 000000EC
-/* 018A0 80BA4340 C66A00F0 */ lwc1 $f10, 0x00F0($s3) ## 000000F0
-/* 018A4 80BA4344 C66400E4 */ lwc1 $f4, 0x00E4($s3) ## 000000E4
-/* 018A8 80BA4348 46124081 */ sub.s $f2, $f8, $f18
-/* 018AC 80BA434C C66800E8 */ lwc1 $f8, 0x00E8($s3) ## 000000E8
-/* 018B0 80BA4350 C66600F4 */ lwc1 $f6, 0x00F4($s3) ## 000000F4
-/* 018B4 80BA4354 46045301 */ sub.s $f12, $f10, $f4
-/* 018B8 80BA4358 46021282 */ mul.s $f10, $f2, $f2
-/* 018BC 80BA435C 46083381 */ sub.s $f14, $f6, $f8
-/* 018C0 80BA4360 460C6102 */ mul.s $f4, $f12, $f12
-/* 018C4 80BA4364 46045180 */ add.s $f6, $f10, $f4
-/* 018C8 80BA4368 460E7202 */ mul.s $f8, $f14, $f14
-/* 018CC 80BA436C 46083000 */ add.s $f0, $f6, $f8
-/* 018D0 80BA4370 46000004 */ sqrt.s $f0, $f0
-/* 018D4 80BA4374 46001283 */ div.s $f10, $f2, $f0
-/* 018D8 80BA4378 46007403 */ div.s $f16, $f14, $f0
-/* 018DC 80BA437C 461E5102 */ mul.s $f4, $f10, $f30
-/* 018E0 80BA4380 46006283 */ div.s $f10, $f12, $f0
-/* 018E4 80BA4384 46049180 */ add.s $f6, $f18, $f4
-/* 018E8 80BA4388 E6060168 */ swc1 $f6, 0x0168($s0) ## 00000168
-/* 018EC 80BA438C C66800E4 */ lwc1 $f8, 0x00E4($s3) ## 000000E4
-/* 018F0 80BA4390 461E5102 */ mul.s $f4, $f10, $f30
-/* 018F4 80BA4394 46044180 */ add.s $f6, $f8, $f4
-/* 018F8 80BA4398 461E8202 */ mul.s $f8, $f16, $f30
-/* 018FC 80BA439C E606016C */ swc1 $f6, 0x016C($s0) ## 0000016C
-/* 01900 80BA43A0 C66A00E8 */ lwc1 $f10, 0x00E8($s3) ## 000000E8
-/* 01904 80BA43A4 46085100 */ add.s $f4, $f10, $f8
-/* 01908 80BA43A8 0C03F66B */ jal Rand_ZeroOne
- ## Rand.Next() float
-/* 0190C 80BA43AC E6040170 */ swc1 $f4, 0x0170($s0) ## 00000170
-/* 01910 80BA43B0 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
-/* 01914 80BA43B4 4481A000 */ mtc1 $at, $f20 ## $f20 = 0.50
-/* 01918 80BA43B8 3C014320 */ lui $at, 0x4320 ## $at = 43200000
-/* 0191C 80BA43BC 4481C000 */ mtc1 $at, $f24 ## $f24 = 160.00
-/* 01920 80BA43C0 46140181 */ sub.s $f6, $f0, $f20
-/* 01924 80BA43C4 E61E0154 */ swc1 $f30, 0x0154($s0) ## 00000154
-/* 01928 80BA43C8 46183282 */ mul.s $f10, $f6, $f24
-/* 0192C 80BA43CC 0C03F66B */ jal Rand_ZeroOne
- ## Rand.Next() float
-/* 01930 80BA43D0 E60A0150 */ swc1 $f10, 0x0150($s0) ## 00000150
-/* 01934 80BA43D4 46140201 */ sub.s $f8, $f0, $f20
-/* 01938 80BA43D8 C6060154 */ lwc1 $f6, 0x0154($s0) ## 00000154
-/* 0193C 80BA43DC C60A016C */ lwc1 $f10, 0x016C($s0) ## 0000016C
-/* 01940 80BA43E0 3C014248 */ lui $at, 0x4248 ## $at = 42480000
-/* 01944 80BA43E4 46184102 */ mul.s $f4, $f8, $f24
-/* 01948 80BA43E8 460A3200 */ add.s $f8, $f6, $f10
-/* 0194C 80BA43EC 4481B000 */ mtc1 $at, $f22 ## $f22 = 50.00
-/* 01950 80BA43F0 00000000 */ nop
-/* 01954 80BA43F4 4616403C */ c.lt.s $f8, $f22
-/* 01958 80BA43F8 E6040158 */ swc1 $f4, 0x0158($s0) ## 00000158
-/* 0195C 80BA43FC 45000002 */ bc1f .L80BA4408
-/* 01960 80BA4400 00000000 */ nop
-/* 01964 80BA4404 E616016C */ swc1 $f22, 0x016C($s0) ## 0000016C
-.L80BA4408:
-/* 01968 80BA4408 0C03F66B */ jal Rand_ZeroOne
- ## Rand.Next() float
-/* 0196C 80BA440C 00000000 */ nop
-/* 01970 80BA4410 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000
-/* 01974 80BA4414 44812000 */ mtc1 $at, $f4 ## $f4 = 5.00
-/* 01978 80BA4418 00000000 */ nop
-/* 0197C 80BA441C 46040182 */ mul.s $f6, $f0, $f4
-/* 01980 80BA4420 46143280 */ add.s $f10, $f6, $f20
-/* 01984 80BA4424 0C03F66B */ jal Rand_ZeroOne
- ## Rand.Next() float
-/* 01988 80BA4428 E60A0180 */ swc1 $f10, 0x0180($s0) ## 00000180
-/* 0198C 80BA442C 3C0143B4 */ lui $at, 0x43B4 ## $at = 43B40000
-/* 01990 80BA4430 44814000 */ mtc1 $at, $f8 ## $f8 = 360.00
-/* 01994 80BA4434 00000000 */ nop
-/* 01998 80BA4438 46080102 */ mul.s $f4, $f0, $f8
-/* 0199C 80BA443C 0C03F66B */ jal Rand_ZeroOne
- ## Rand.Next() float
-/* 019A0 80BA4440 E6040174 */ swc1 $f4, 0x0174($s0) ## 00000174
-/* 019A4 80BA4444 3C0143B4 */ lui $at, 0x43B4 ## $at = 43B40000
-/* 019A8 80BA4448 44813000 */ mtc1 $at, $f6 ## $f6 = 360.00
-/* 019AC 80BA444C C6080154 */ lwc1 $f8, 0x0154($s0) ## 00000154
-/* 019B0 80BA4450 C604016C */ lwc1 $f4, 0x016C($s0) ## 0000016C
-/* 019B4 80BA4454 46060282 */ mul.s $f10, $f0, $f6
-/* 019B8 80BA4458 920B014C */ lbu $t3, 0x014C($s0) ## 0000014C
-/* 019BC 80BA445C 46044380 */ add.s $f14, $f8, $f4
-/* 019C0 80BA4460 C6040168 */ lwc1 $f4, 0x0168($s0) ## 00000168
-/* 019C4 80BA4464 C6080150 */ lwc1 $f8, 0x0150($s0) ## 00000150
-/* 019C8 80BA4468 C6060158 */ lwc1 $f6, 0x0158($s0) ## 00000158
-/* 019CC 80BA446C 256C0001 */ addiu $t4, $t3, 0x0001 ## $t4 = 00000001
-/* 019D0 80BA4470 E60A017C */ swc1 $f10, 0x017C($s0) ## 0000017C
-/* 019D4 80BA4474 C60A0170 */ lwc1 $f10, 0x0170($s0) ## 00000170
-/* 019D8 80BA4478 A20C014C */ sb $t4, 0x014C($s0) ## 0000014C
-/* 019DC 80BA447C 46044300 */ add.s $f12, $f8, $f4
-/* 019E0 80BA4480 100000B6 */ beq $zero, $zero, .L80BA475C
-/* 019E4 80BA4484 460A3080 */ add.s $f2, $f6, $f10
-.L80BA4488:
-/* 019E8 80BA4488 C67200E0 */ lwc1 $f18, 0x00E0($s3) ## 000000E0
-/* 019EC 80BA448C C66600EC */ lwc1 $f6, 0x00EC($s3) ## 000000EC
-/* 019F0 80BA4490 C67400E4 */ lwc1 $f20, 0x00E4($s3) ## 000000E4
-/* 019F4 80BA4494 C66A00F0 */ lwc1 $f10, 0x00F0($s3) ## 000000F0
-/* 019F8 80BA4498 46123081 */ sub.s $f2, $f6, $f18
-/* 019FC 80BA449C C67000E8 */ lwc1 $f16, 0x00E8($s3) ## 000000E8
-/* 01A00 80BA44A0 C66800F4 */ lwc1 $f8, 0x00F4($s3) ## 000000F4
-/* 01A04 80BA44A4 46145301 */ sub.s $f12, $f10, $f20
-/* 01A08 80BA44A8 46021102 */ mul.s $f4, $f2, $f2
-/* 01A0C 80BA44AC 46104381 */ sub.s $f14, $f8, $f16
-/* 01A10 80BA44B0 460C6182 */ mul.s $f6, $f12, $f12
-/* 01A14 80BA44B4 4600E607 */ neg.s $f24, $f28
-/* 01A18 80BA44B8 460E7202 */ mul.s $f8, $f14, $f14
-/* 01A1C 80BA44BC 46062280 */ add.s $f10, $f4, $f6
-/* 01A20 80BA44C0 46085000 */ add.s $f0, $f10, $f8
-/* 01A24 80BA44C4 46000004 */ sqrt.s $f0, $f0
-/* 01A28 80BA44C8 46001103 */ div.s $f4, $f2, $f0
-/* 01A2C 80BA44CC 46006283 */ div.s $f10, $f12, $f0
-/* 01A30 80BA44D0 461E2182 */ mul.s $f6, $f4, $f30
-/* 01A34 80BA44D4 46069680 */ add.s $f26, $f18, $f6
-/* 01A38 80BA44D8 461E5202 */ mul.s $f8, $f10, $f30
-/* 01A3C 80BA44DC 46007183 */ div.s $f6, $f14, $f0
-/* 01A40 80BA44E0 4608A100 */ add.s $f4, $f20, $f8
-/* 01A44 80BA44E4 E7A400F0 */ swc1 $f4, 0x00F0($sp)
-/* 01A48 80BA44E8 461E3282 */ mul.s $f10, $f6, $f30
-/* 01A4C 80BA44EC 0C03F66B */ jal Rand_ZeroOne
- ## Rand.Next() float
-/* 01A50 80BA44F0 460A8580 */ add.s $f22, $f16, $f10
-/* 01A54 80BA44F4 3C0180BA */ lui $at, %hi(D_80BA5CA4) ## $at = 80BA0000
-/* 01A58 80BA44F8 C4345CA4 */ lwc1 $f20, %lo(D_80BA5CA4)($at)
-/* 01A5C 80BA44FC C6080174 */ lwc1 $f8, 0x0174($s0) ## 00000174
-/* 01A60 80BA4500 4600A102 */ mul.s $f4, $f20, $f0
-/* 01A64 80BA4504 46044180 */ add.s $f6, $f8, $f4
-/* 01A68 80BA4508 0C03F66B */ jal Rand_ZeroOne
- ## Rand.Next() float
-/* 01A6C 80BA450C E6060174 */ swc1 $f6, 0x0174($s0) ## 00000174
-/* 01A70 80BA4510 4600A202 */ mul.s $f8, $f20, $f0
-/* 01A74 80BA4514 C60A017C */ lwc1 $f10, 0x017C($s0) ## 0000017C
-/* 01A78 80BA4518 3C0180BA */ lui $at, %hi(D_80BA5CA8) ## $at = 80BA0000
-/* 01A7C 80BA451C C6060174 */ lwc1 $f6, 0x0174($s0) ## 00000174
-/* 01A80 80BA4520 46085100 */ add.s $f4, $f10, $f8
-/* 01A84 80BA4524 E604017C */ swc1 $f4, 0x017C($s0) ## 0000017C
-/* 01A88 80BA4528 C42A5CA8 */ lwc1 $f10, %lo(D_80BA5CA8)($at)
-/* 01A8C 80BA452C 460A3302 */ mul.s $f12, $f6, $f10
-/* 01A90 80BA4530 0C0400A4 */ jal sinf
-
-/* 01A94 80BA4534 00000000 */ nop
-/* 01A98 80BA4538 C6080150 */ lwc1 $f8, 0x0150($s0) ## 00000150
-/* 01A9C 80BA453C 3C0180BA */ lui $at, %hi(D_80BA5CAC) ## $at = 80BA0000
-/* 01AA0 80BA4540 C606017C */ lwc1 $f6, 0x017C($s0) ## 0000017C
-/* 01AA4 80BA4544 46004100 */ add.s $f4, $f8, $f0
-/* 01AA8 80BA4548 E6040150 */ swc1 $f4, 0x0150($s0) ## 00000150
-/* 01AAC 80BA454C C42A5CAC */ lwc1 $f10, %lo(D_80BA5CAC)($at)
-/* 01AB0 80BA4550 460A3302 */ mul.s $f12, $f6, $f10
-/* 01AB4 80BA4554 0C041184 */ jal cosf
-
-/* 01AB8 80BA4558 00000000 */ nop
-/* 01ABC 80BA455C C6080158 */ lwc1 $f8, 0x0158($s0) ## 00000158
-/* 01AC0 80BA4560 C6060154 */ lwc1 $f6, 0x0154($s0) ## 00000154
-/* 01AC4 80BA4564 C60A0180 */ lwc1 $f10, 0x0180($s0) ## 00000180
-/* 01AC8 80BA4568 46004100 */ add.s $f4, $f8, $f0
-/* 01ACC 80BA456C 3C014316 */ lui $at, 0x4316 ## $at = 43160000
-/* 01AD0 80BA4570 460A3201 */ sub.s $f8, $f6, $f10
-/* 01AD4 80BA4574 E6040158 */ swc1 $f4, 0x0158($s0) ## 00000158
-/* 01AD8 80BA4578 C606016C */ lwc1 $f6, 0x016C($s0) ## 0000016C
-/* 01ADC 80BA457C E6080154 */ swc1 $f8, 0x0154($s0) ## 00000154
-/* 01AE0 80BA4580 C6040154 */ lwc1 $f4, 0x0154($s0) ## 00000154
-/* 01AE4 80BA4584 C62A0028 */ lwc1 $f10, 0x0028($s1) ## 00000028
-/* 01AE8 80BA4588 46062380 */ add.s $f14, $f4, $f6
-/* 01AEC 80BA458C 460A703C */ c.lt.s $f14, $f10
-/* 01AF0 80BA4590 00000000 */ nop
-/* 01AF4 80BA4594 4503000A */ bc1tl .L80BA45C0
-/* 01AF8 80BA4598 920D014C */ lbu $t5, 0x014C($s0) ## 0000014C
-/* 01AFC 80BA459C C66800E4 */ lwc1 $f8, 0x00E4($s3) ## 000000E4
-/* 01B00 80BA45A0 44812000 */ mtc1 $at, $f4 ## $f4 = 150.00
-/* 01B04 80BA45A4 00000000 */ nop
-/* 01B08 80BA45A8 46044181 */ sub.s $f6, $f8, $f4
-/* 01B0C 80BA45AC 4606703C */ c.lt.s $f14, $f6
-/* 01B10 80BA45B0 00000000 */ nop
-/* 01B14 80BA45B4 45020005 */ bc1fl .L80BA45CC
-/* 01B18 80BA45B8 C60A0150 */ lwc1 $f10, 0x0150($s0) ## 00000150
-/* 01B1C 80BA45BC 920D014C */ lbu $t5, 0x014C($s0) ## 0000014C
-.L80BA45C0:
-/* 01B20 80BA45C0 25AE0001 */ addiu $t6, $t5, 0x0001 ## $t6 = 00000001
-/* 01B24 80BA45C4 A20E014C */ sb $t6, 0x014C($s0) ## 0000014C
-/* 01B28 80BA45C8 C60A0150 */ lwc1 $f10, 0x0150($s0) ## 00000150
-.L80BA45CC:
-/* 01B2C 80BA45CC C6080168 */ lwc1 $f8, 0x0168($s0) ## 00000168
-/* 01B30 80BA45D0 46085100 */ add.s $f4, $f10, $f8
-/* 01B34 80BA45D4 461A2301 */ sub.s $f12, $f4, $f26
-/* 01B38 80BA45D8 460CE03C */ c.lt.s $f28, $f12
-/* 01B3C 80BA45DC 00000000 */ nop
-/* 01B40 80BA45E0 4503001F */ bc1tl .L80BA4660
-/* 01B44 80BA45E4 460CE03C */ c.lt.s $f28, $f12
-/* 01B48 80BA45E8 4618603C */ c.lt.s $f12, $f24
-/* 01B4C 80BA45EC 00000000 */ nop
-/* 01B50 80BA45F0 4503001B */ bc1tl .L80BA4660
-/* 01B54 80BA45F4 460CE03C */ c.lt.s $f28, $f12
-/* 01B58 80BA45F8 C6060154 */ lwc1 $f6, 0x0154($s0) ## 00000154
-/* 01B5C 80BA45FC C60A016C */ lwc1 $f10, 0x016C($s0) ## 0000016C
-/* 01B60 80BA4600 C7A400F0 */ lwc1 $f4, 0x00F0($sp)
-/* 01B64 80BA4604 460A3200 */ add.s $f8, $f6, $f10
-/* 01B68 80BA4608 46044001 */ sub.s $f0, $f8, $f4
-/* 01B6C 80BA460C 4600E03C */ c.lt.s $f28, $f0
-/* 01B70 80BA4610 00000000 */ nop
-/* 01B74 80BA4614 45030012 */ bc1tl .L80BA4660
-/* 01B78 80BA4618 460CE03C */ c.lt.s $f28, $f12
-/* 01B7C 80BA461C 4618003C */ c.lt.s $f0, $f24
-/* 01B80 80BA4620 00000000 */ nop
-/* 01B84 80BA4624 4503000E */ bc1tl .L80BA4660
-/* 01B88 80BA4628 460CE03C */ c.lt.s $f28, $f12
-/* 01B8C 80BA462C C6060158 */ lwc1 $f6, 0x0158($s0) ## 00000158
-/* 01B90 80BA4630 C60A0170 */ lwc1 $f10, 0x0170($s0) ## 00000170
-/* 01B94 80BA4634 460A3080 */ add.s $f2, $f6, $f10
-/* 01B98 80BA4638 46161001 */ sub.s $f0, $f2, $f22
-/* 01B9C 80BA463C 4600E03C */ c.lt.s $f28, $f0
-/* 01BA0 80BA4640 00000000 */ nop
-/* 01BA4 80BA4644 45030006 */ bc1tl .L80BA4660
-/* 01BA8 80BA4648 460CE03C */ c.lt.s $f28, $f12
-/* 01BAC 80BA464C 4618003C */ c.lt.s $f0, $f24
-/* 01BB0 80BA4650 00000000 */ nop
-/* 01BB4 80BA4654 45020031 */ bc1fl .L80BA471C
-/* 01BB8 80BA4658 C6040154 */ lwc1 $f4, 0x0154($s0) ## 00000154
-/* 01BBC 80BA465C 460CE03C */ c.lt.s $f28, $f12
-.L80BA4660:
-/* 01BC0 80BA4660 00000000 */ nop
-/* 01BC4 80BA4664 4502000A */ bc1fl .L80BA4690
-/* 01BC8 80BA4668 4618603C */ c.lt.s $f12, $f24
-/* 01BCC 80BA466C 461CD201 */ sub.s $f8, $f26, $f28
-/* 01BD0 80BA4670 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
-/* 01BD4 80BA4674 E6080168 */ swc1 $f8, 0x0168($s0) ## 00000168
-/* 01BD8 80BA4678 E6040150 */ swc1 $f4, 0x0150($s0) ## 00000150
-/* 01BDC 80BA467C C6060150 */ lwc1 $f6, 0x0150($s0) ## 00000150
-/* 01BE0 80BA4680 C60A0168 */ lwc1 $f10, 0x0168($s0) ## 00000168
-/* 01BE4 80BA4684 460A3200 */ add.s $f8, $f6, $f10
-/* 01BE8 80BA4688 461A4301 */ sub.s $f12, $f8, $f26
-/* 01BEC 80BA468C 4618603C */ c.lt.s $f12, $f24
-.L80BA4690:
-/* 01BF0 80BA4690 00000000 */ nop
-/* 01BF4 80BA4694 45020006 */ bc1fl .L80BA46B0
-/* 01BF8 80BA4698 C60A0158 */ lwc1 $f10, 0x0158($s0) ## 00000158
-/* 01BFC 80BA469C 461CD100 */ add.s $f4, $f26, $f28
-/* 01C00 80BA46A0 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00
-/* 01C04 80BA46A4 E6040168 */ swc1 $f4, 0x0168($s0) ## 00000168
-/* 01C08 80BA46A8 E6060150 */ swc1 $f6, 0x0150($s0) ## 00000150
-/* 01C0C 80BA46AC C60A0158 */ lwc1 $f10, 0x0158($s0) ## 00000158
-.L80BA46B0:
-/* 01C10 80BA46B0 C6080170 */ lwc1 $f8, 0x0170($s0) ## 00000170
-/* 01C14 80BA46B4 46085080 */ add.s $f2, $f10, $f8
-/* 01C18 80BA46B8 46161001 */ sub.s $f0, $f2, $f22
-/* 01C1C 80BA46BC 4600E03C */ c.lt.s $f28, $f0
-/* 01C20 80BA46C0 00000000 */ nop
-/* 01C24 80BA46C4 4502000A */ bc1fl .L80BA46F0
-/* 01C28 80BA46C8 4618003C */ c.lt.s $f0, $f24
-/* 01C2C 80BA46CC 461CB101 */ sub.s $f4, $f22, $f28
-/* 01C30 80BA46D0 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00
-/* 01C34 80BA46D4 E6040170 */ swc1 $f4, 0x0170($s0) ## 00000170
-/* 01C38 80BA46D8 E6060158 */ swc1 $f6, 0x0158($s0) ## 00000158
-/* 01C3C 80BA46DC C60A0158 */ lwc1 $f10, 0x0158($s0) ## 00000158
-/* 01C40 80BA46E0 C6080170 */ lwc1 $f8, 0x0170($s0) ## 00000170
-/* 01C44 80BA46E4 46085080 */ add.s $f2, $f10, $f8
-/* 01C48 80BA46E8 46161001 */ sub.s $f0, $f2, $f22
-/* 01C4C 80BA46EC 4618003C */ c.lt.s $f0, $f24
-.L80BA46F0:
-/* 01C50 80BA46F0 00000000 */ nop
-/* 01C54 80BA46F4 45020009 */ bc1fl .L80BA471C
-/* 01C58 80BA46F8 C6040154 */ lwc1 $f4, 0x0154($s0) ## 00000154
-/* 01C5C 80BA46FC 461CB100 */ add.s $f4, $f22, $f28
-/* 01C60 80BA4700 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00
-/* 01C64 80BA4704 E6040170 */ swc1 $f4, 0x0170($s0) ## 00000170
-/* 01C68 80BA4708 E6060158 */ swc1 $f6, 0x0158($s0) ## 00000158
-/* 01C6C 80BA470C C60A0158 */ lwc1 $f10, 0x0158($s0) ## 00000158
-/* 01C70 80BA4710 C6080170 */ lwc1 $f8, 0x0170($s0) ## 00000170
-/* 01C74 80BA4714 46085080 */ add.s $f2, $f10, $f8
-/* 01C78 80BA4718 C6040154 */ lwc1 $f4, 0x0154($s0) ## 00000154
-.L80BA471C:
-/* 01C7C 80BA471C C606016C */ lwc1 $f6, 0x016C($s0) ## 0000016C
-/* 01C80 80BA4720 C60A0150 */ lwc1 $f10, 0x0150($s0) ## 00000150
-/* 01C84 80BA4724 C6080168 */ lwc1 $f8, 0x0168($s0) ## 00000168
-/* 01C88 80BA4728 46062380 */ add.s $f14, $f4, $f6
-/* 01C8C 80BA472C 1000000B */ beq $zero, $zero, .L80BA475C
-/* 01C90 80BA4730 46085300 */ add.s $f12, $f10, $f8
-/* 01C94 80BA4734 C6040154 */ lwc1 $f4, 0x0154($s0) ## 00000154
-.L80BA4738:
-/* 01C98 80BA4738 C606016C */ lwc1 $f6, 0x016C($s0) ## 0000016C
-/* 01C9C 80BA473C C60A0158 */ lwc1 $f10, 0x0158($s0) ## 00000158
-/* 01CA0 80BA4740 C6080170 */ lwc1 $f8, 0x0170($s0) ## 00000170
-/* 01CA4 80BA4744 46062380 */ add.s $f14, $f4, $f6
-/* 01CA8 80BA4748 C6060168 */ lwc1 $f6, 0x0168($s0) ## 00000168
-/* 01CAC 80BA474C C6040150 */ lwc1 $f4, 0x0150($s0) ## 00000150
-/* 01CB0 80BA4750 A200014C */ sb $zero, 0x014C($s0) ## 0000014C
-/* 01CB4 80BA4754 46085080 */ add.s $f2, $f10, $f8
-/* 01CB8 80BA4758 46062300 */ add.s $f12, $f4, $f6
-.L80BA475C:
-/* 01CBC 80BA475C 44061000 */ mfc1 $a2, $f2
-/* 01CC0 80BA4760 0C034261 */ jal Matrix_Translate
-/* 01CC4 80BA4764 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
-/* 01CC8 80BA4768 3C0180BA */ lui $at, %hi(D_80BA5CB0) ## $at = 80BA0000
-/* 01CCC 80BA476C C42E5CB0 */ lwc1 $f14, %lo(D_80BA5CB0)($at)
-/* 01CD0 80BA4770 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
-/* 01CD4 80BA4774 44067000 */ mfc1 $a2, $f14
-/* 01CD8 80BA4778 0C0342A3 */ jal Matrix_Scale
-/* 01CDC 80BA477C 46007306 */ mov.s $f12, $f14
-/* 01CE0 80BA4780 8E4202D0 */ lw $v0, 0x02D0($s2) ## 000002D0
-/* 01CE4 80BA4784 3C04C8C8 */ lui $a0, 0xC8C8 ## $a0 = C8C80000
-/* 01CE8 80BA4788 3484C8B4 */ ori $a0, $a0, 0xC8B4 ## $a0 = C8C8C8B4
-/* 01CEC 80BA478C 244F0008 */ addiu $t7, $v0, 0x0008 ## $t7 = 00000008
-/* 01CF0 80BA4790 AE4F02D0 */ sw $t7, 0x02D0($s2) ## 000002D0
-/* 01CF4 80BA4794 AC550000 */ sw $s5, 0x0000($v0) ## 00000000
-/* 01CF8 80BA4798 AC400004 */ sw $zero, 0x0004($v0) ## 00000004
-/* 01CFC 80BA479C 8E4202D0 */ lw $v0, 0x02D0($s2) ## 000002D0
-/* 01D00 80BA47A0 3C19FA00 */ lui $t9, 0xFA00 ## $t9 = FA000000
-/* 01D04 80BA47A4 3C09FB00 */ lui $t1, 0xFB00 ## $t1 = FB000000
-/* 01D08 80BA47A8 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008
-/* 01D0C 80BA47AC AE5802D0 */ sw $t8, 0x02D0($s2) ## 000002D0
-/* 01D10 80BA47B0 AC590000 */ sw $t9, 0x0000($v0) ## 00000000
-/* 01D14 80BA47B4 AC440004 */ sw $a0, 0x0004($v0) ## 00000004
-/* 01D18 80BA47B8 8E4202D0 */ lw $v0, 0x02D0($s2) ## 000002D0
-/* 01D1C 80BA47BC 3C0BDA38 */ lui $t3, 0xDA38 ## $t3 = DA380000
-/* 01D20 80BA47C0 356B0003 */ ori $t3, $t3, 0x0003 ## $t3 = DA380003
-/* 01D24 80BA47C4 24480008 */ addiu $t0, $v0, 0x0008 ## $t0 = 00000008
-/* 01D28 80BA47C8 AE4802D0 */ sw $t0, 0x02D0($s2) ## 000002D0
-/* 01D2C 80BA47CC AC490000 */ sw $t1, 0x0000($v0) ## 00000000
-/* 01D30 80BA47D0 AC440004 */ sw $a0, 0x0004($v0) ## 00000004
-/* 01D34 80BA47D4 8E4202D0 */ lw $v0, 0x02D0($s2) ## 000002D0
-/* 01D38 80BA47D8 3C0580BA */ lui $a1, %hi(D_80BA5AA0) ## $a1 = 80BA0000
-/* 01D3C 80BA47DC 24A55AA0 */ addiu $a1, $a1, %lo(D_80BA5AA0) ## $a1 = 80BA5AA0
-/* 01D40 80BA47E0 244A0008 */ addiu $t2, $v0, 0x0008 ## $t2 = 00000008
-/* 01D44 80BA47E4 AE4A02D0 */ sw $t2, 0x02D0($s2) ## 000002D0
-/* 01D48 80BA47E8 AC4B0000 */ sw $t3, 0x0000($v0) ## 00000000
-/* 01D4C 80BA47EC 8E640000 */ lw $a0, 0x0000($s3) ## 00000000
-/* 01D50 80BA47F0 24060453 */ addiu $a2, $zero, 0x0453 ## $a2 = 00000453
-/* 01D54 80BA47F4 0C0346A2 */ jal Matrix_NewMtx
-/* 01D58 80BA47F8 00408025 */ or $s0, $v0, $zero ## $s0 = 00000000
-/* 01D5C 80BA47FC AE020004 */ sw $v0, 0x0004($s0) ## 00000004
-/* 01D60 80BA4800 8E4202D0 */ lw $v0, 0x02D0($s2) ## 000002D0
-/* 01D64 80BA4804 3C0DDB06 */ lui $t5, 0xDB06 ## $t5 = DB060000
-/* 01D68 80BA4808 35AD0020 */ ori $t5, $t5, 0x0020 ## $t5 = DB060020
-/* 01D6C 80BA480C 244C0008 */ addiu $t4, $v0, 0x0008 ## $t4 = 00000008
-/* 01D70 80BA4810 AE4C02D0 */ sw $t4, 0x02D0($s2) ## 000002D0
-/* 01D74 80BA4814 AC4D0000 */ sw $t5, 0x0000($v0) ## 00000000
-/* 01D78 80BA4818 8FAE007C */ lw $t6, 0x007C($sp)
-/* 01D7C 80BA481C 8FB80078 */ lw $t8, 0x0078($sp)
-/* 01D80 80BA4820 3C018000 */ lui $at, 0x8000 ## $at = 80000000
-/* 01D84 80BA4824 8DCF0000 */ lw $t7, 0x0000($t6) ## 00000000
-/* 01D88 80BA4828 01F8C821 */ addu $t9, $t7, $t8
-/* 01D8C 80BA482C 03214021 */ addu $t0, $t9, $at
-/* 01D90 80BA4830 AC480004 */ sw $t0, 0x0004($v0) ## 00000004
-/* 01D94 80BA4834 0C025314 */ jal func_80094C50
-/* 01D98 80BA4838 8E640000 */ lw $a0, 0x0000($s3) ## 00000000
-/* 01D9C 80BA483C 8E4202D0 */ lw $v0, 0x02D0($s2) ## 000002D0
-/* 01DA0 80BA4840 3C0ADA38 */ lui $t2, 0xDA38 ## $t2 = DA380000
-/* 01DA4 80BA4844 354A0001 */ ori $t2, $t2, 0x0001 ## $t2 = DA380001
-/* 01DA8 80BA4848 24490008 */ addiu $t1, $v0, 0x0008 ## $t1 = 00000008
-/* 01DAC 80BA484C AE4902D0 */ sw $t1, 0x02D0($s2) ## 000002D0
-/* 01DB0 80BA4850 AC4A0000 */ sw $t2, 0x0000($v0) ## 00000000
-/* 01DB4 80BA4854 8FAB0074 */ lw $t3, 0x0074($sp)
-/* 01DB8 80BA4858 3C0EDE00 */ lui $t6, 0xDE00 ## $t6 = DE000000
-/* 01DBC 80BA485C 26940001 */ addiu $s4, $s4, 0x0001 ## $s4 = 00000001
-/* 01DC0 80BA4860 AC4B0004 */ sw $t3, 0x0004($v0) ## 00000004
-/* 01DC4 80BA4864 8E4202D0 */ lw $v0, 0x02D0($s2) ## 000002D0
-/* 01DC8 80BA4868 0014A400 */ sll $s4, $s4, 16
-/* 01DCC 80BA486C 0014A403 */ sra $s4, $s4, 16
-/* 01DD0 80BA4870 244C0008 */ addiu $t4, $v0, 0x0008 ## $t4 = 00000008
-/* 01DD4 80BA4874 AE4C02D0 */ sw $t4, 0x02D0($s2) ## 000002D0
-/* 01DD8 80BA4878 AC400004 */ sw $zero, 0x0004($v0) ## 00000004
-/* 01DDC 80BA487C AC550000 */ sw $s5, 0x0000($v0) ## 00000000
-/* 01DE0 80BA4880 8E4202D0 */ lw $v0, 0x02D0($s2) ## 000002D0
-/* 01DE4 80BA4884 244D0008 */ addiu $t5, $v0, 0x0008 ## $t5 = 00000008
-/* 01DE8 80BA4888 AE4D02D0 */ sw $t5, 0x02D0($s2) ## 000002D0
-/* 01DEC 80BA488C AC4E0000 */ sw $t6, 0x0000($v0) ## 00000000
-/* 01DF0 80BA4890 8FAF0070 */ lw $t7, 0x0070($sp)
-/* 01DF4 80BA4894 AC4F0004 */ sw $t7, 0x0004($v0) ## 00000004
-/* 01DF8 80BA4898 8E4202D0 */ lw $v0, 0x02D0($s2) ## 000002D0
-/* 01DFC 80BA489C 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008
-/* 01E00 80BA48A0 AE5802D0 */ sw $t8, 0x02D0($s2) ## 000002D0
-/* 01E04 80BA48A4 AC400004 */ sw $zero, 0x0004($v0) ## 00000004
-/* 01E08 80BA48A8 AC550000 */ sw $s5, 0x0000($v0) ## 00000000
-/* 01E0C 80BA48AC 8FB90084 */ lw $t9, 0x0084($sp)
-/* 01E10 80BA48B0 93280B14 */ lbu $t0, 0x0B14($t9) ## 00000B14
-/* 01E14 80BA48B4 0288082A */ slt $at, $s4, $t0
-/* 01E18 80BA48B8 5420FE88 */ bnel $at, $zero, .L80BA42DC
-/* 01E1C 80BA48BC 00145080 */ sll $t2, $s4, 2
-.L80BA48C0:
-/* 01E20 80BA48C0 3C0680BA */ lui $a2, %hi(D_80BA5AB8) ## $a2 = 80BA0000
-/* 01E24 80BA48C4 24C65AB8 */ addiu $a2, $a2, %lo(D_80BA5AB8) ## $a2 = 80BA5AB8
-/* 01E28 80BA48C8 27A400B4 */ addiu $a0, $sp, 0x00B4 ## $a0 = FFFFFF9C
-/* 01E2C 80BA48CC 8E650000 */ lw $a1, 0x0000($s3) ## 00000000
-/* 01E30 80BA48D0 0C031AD5 */ jal Graph_CloseDisps
-/* 01E34 80BA48D4 24070467 */ addiu $a3, $zero, 0x0467 ## $a3 = 00000467
-.L80BA48D8:
-/* 01E38 80BA48D8 8FBF005C */ lw $ra, 0x005C($sp)
-/* 01E3C 80BA48DC D7B40010 */ ldc1 $f20, 0x0010($sp)
-/* 01E40 80BA48E0 D7B60018 */ ldc1 $f22, 0x0018($sp)
-/* 01E44 80BA48E4 D7B80020 */ ldc1 $f24, 0x0020($sp)
-/* 01E48 80BA48E8 D7BA0028 */ ldc1 $f26, 0x0028($sp)
-/* 01E4C 80BA48EC D7BC0030 */ ldc1 $f28, 0x0030($sp)
-/* 01E50 80BA48F0 D7BE0038 */ ldc1 $f30, 0x0038($sp)
-/* 01E54 80BA48F4 8FB00044 */ lw $s0, 0x0044($sp)
-/* 01E58 80BA48F8 8FB10048 */ lw $s1, 0x0048($sp)
-/* 01E5C 80BA48FC 8FB2004C */ lw $s2, 0x004C($sp)
-/* 01E60 80BA4900 8FB30050 */ lw $s3, 0x0050($sp)
-/* 01E64 80BA4904 8FB40054 */ lw $s4, 0x0054($sp)
-/* 01E68 80BA4908 8FB50058 */ lw $s5, 0x0058($sp)
-/* 01E6C 80BA490C 03E00008 */ jr $ra
-/* 01E70 80BA4910 27BD0118 */ addiu $sp, $sp, 0x0118 ## $sp = 00000000
diff --git a/asm/non_matchings/overlays/actors/ovl_Object_Kankyo/func_80BA4914.s b/asm/non_matchings/overlays/actors/ovl_Object_Kankyo/func_80BA4914.s
deleted file mode 100644
index 1330536e57..0000000000
--- a/asm/non_matchings/overlays/actors/ovl_Object_Kankyo/func_80BA4914.s
+++ /dev/null
@@ -1,49 +0,0 @@
-glabel func_80BA4914
-/* 01E74 80BA4914 90AE1D6C */ lbu $t6, 0x1D6C($a1) ## 00001D6C
-/* 01E78 80BA4918 11C00026 */ beq $t6, $zero, .L80BA49B4
-/* 01E7C 80BA491C 00000000 */ nop
-/* 01E80 80BA4920 8CA21D8C */ lw $v0, 0x1D8C($a1) ## 00001D8C
-/* 01E84 80BA4924 10400023 */ beq $v0, $zero, .L80BA49B4
-/* 01E88 80BA4928 00000000 */ nop
-/* 01E8C 80BA492C 9083014C */ lbu $v1, 0x014C($a0) ## 0000014C
-/* 01E90 80BA4930 50600009 */ beql $v1, $zero, .L80BA4958
-/* 01E94 80BA4934 A480019C */ sh $zero, 0x019C($a0) ## 0000019C
-/* 01E98 80BA4938 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
-/* 01E9C 80BA493C 1065000F */ beq $v1, $a1, .L80BA497C
-/* 01EA0 80BA4940 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
-/* 01EA4 80BA4944 50610018 */ beql $v1, $at, .L80BA49A8
-/* 01EA8 80BA4948 944E0000 */ lhu $t6, 0x0000($v0) ## 00000000
-/* 01EAC 80BA494C 03E00008 */ jr $ra
-/* 01EB0 80BA4950 00000000 */ nop
-.L80BA4954:
-/* 01EB4 80BA4954 A480019C */ sh $zero, 0x019C($a0) ## 0000019C
-.L80BA4958:
-/* 01EB8 80BA4958 8CAF1D8C */ lw $t7, 0x1D8C($a1) ## 00001D8D
-/* 01EBC 80BA495C 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
-/* 01EC0 80BA4960 95F80000 */ lhu $t8, 0x0000($t7) ## 00000000
-/* 01EC4 80BA4964 17010013 */ bne $t8, $at, .L80BA49B4
-/* 01EC8 80BA4968 00000000 */ nop
-/* 01ECC 80BA496C 9099014C */ lbu $t9, 0x014C($a0) ## 0000014C
-/* 01ED0 80BA4970 27280001 */ addiu $t0, $t9, 0x0001 ## $t0 = 00000001
-/* 01ED4 80BA4974 03E00008 */ jr $ra
-/* 01ED8 80BA4978 A088014C */ sb $t0, 0x014C($a0) ## 0000014C
-.L80BA497C:
-/* 01EDC 80BA497C 9489019C */ lhu $t1, 0x019C($a0) ## 0000019C
-/* 01EE0 80BA4980 252A0001 */ addiu $t2, $t1, 0x0001 ## $t2 = 00000001
-/* 01EE4 80BA4984 314BFFFF */ andi $t3, $t2, 0xFFFF ## $t3 = 00000001
-/* 01EE8 80BA4988 29610007 */ slti $at, $t3, 0x0007
-/* 01EEC 80BA498C 14200009 */ bne $at, $zero, .L80BA49B4
-/* 01EF0 80BA4990 A48A019C */ sh $t2, 0x019C($a0) ## 0000019C
-/* 01EF4 80BA4994 908C014C */ lbu $t4, 0x014C($a0) ## 0000014C
-/* 01EF8 80BA4998 258D0001 */ addiu $t5, $t4, 0x0001 ## $t5 = 00000001
-/* 01EFC 80BA499C 03E00008 */ jr $ra
-/* 01F00 80BA49A0 A08D014C */ sb $t5, 0x014C($a0) ## 0000014C
-.L80BA49A4:
-/* 01F04 80BA49A4 944E0000 */ lhu $t6, 0x0000($v0) ## 00000000
-.L80BA49A8:
-/* 01F08 80BA49A8 14AE0002 */ bne $a1, $t6, .L80BA49B4
-/* 01F0C 80BA49AC 00000000 */ nop
-/* 01F10 80BA49B0 A080014C */ sb $zero, 0x014C($a0) ## 0000014C
-.L80BA49B4:
-/* 01F14 80BA49B4 03E00008 */ jr $ra
-/* 01F18 80BA49B8 00000000 */ nop
diff --git a/asm/non_matchings/overlays/actors/ovl_Object_Kankyo/func_80BA49BC.s b/asm/non_matchings/overlays/actors/ovl_Object_Kankyo/func_80BA49BC.s
deleted file mode 100644
index d1d550124c..0000000000
--- a/asm/non_matchings/overlays/actors/ovl_Object_Kankyo/func_80BA49BC.s
+++ /dev/null
@@ -1,167 +0,0 @@
-.rdata
-glabel D_80BA5AD0
- .asciz "../z_object_kankyo.c"
- .balign 4
-
-glabel D_80BA5AE8
- .asciz "../z_object_kankyo.c"
- .balign 4
-
-glabel D_80BA5B00
- .asciz "../z_object_kankyo.c"
- .balign 4
-
-.late_rodata
-glabel D_80BA5CB4
- .float 0.34906584
-
-glabel D_80BA5CB8
- .float 0.34906584
-
-.text
-glabel func_80BA49BC
-/* 01F1C 80BA49BC 27BDFFA0 */ addiu $sp, $sp, 0xFFA0 ## $sp = FFFFFFA0
-/* 01F20 80BA49C0 AFBF001C */ sw $ra, 0x001C($sp)
-/* 01F24 80BA49C4 AFB00018 */ sw $s0, 0x0018($sp)
-/* 01F28 80BA49C8 AFA40060 */ sw $a0, 0x0060($sp)
-/* 01F2C 80BA49CC AFA50064 */ sw $a1, 0x0064($sp)
-/* 01F30 80BA49D0 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000
-/* 01F34 80BA49D4 3C0680BA */ lui $a2, %hi(D_80BA5AD0) ## $a2 = 80BA0000
-/* 01F38 80BA49D8 24C65AD0 */ addiu $a2, $a2, %lo(D_80BA5AD0) ## $a2 = 80BA5AD0
-/* 01F3C 80BA49DC 27A40044 */ addiu $a0, $sp, 0x0044 ## $a0 = FFFFFFE4
-/* 01F40 80BA49E0 2407049E */ addiu $a3, $zero, 0x049E ## $a3 = 0000049E
-/* 01F44 80BA49E4 0C031AB1 */ jal Graph_OpenDisps
-/* 01F48 80BA49E8 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000
-/* 01F4C 80BA49EC 8FAF0060 */ lw $t7, 0x0060($sp)
-/* 01F50 80BA49F0 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
-/* 01F54 80BA49F4 8FB90064 */ lw $t9, 0x0064($sp)
-/* 01F58 80BA49F8 91F8014C */ lbu $t8, 0x014C($t7) ## 0000014C
-/* 01F5C 80BA49FC 57010074 */ bnel $t8, $at, .L80BA4BD0
-/* 01F60 80BA4A00 8FAB0064 */ lw $t3, 0x0064($sp)
-/* 01F64 80BA4A04 8F221D8C */ lw $v0, 0x1D8C($t9) ## 00001D8C
-/* 01F68 80BA4A08 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
-/* 01F6C 80BA4A0C 8C4A0014 */ lw $t2, 0x0014($v0) ## 00000014
-/* 01F70 80BA4A10 8C48000C */ lw $t0, 0x000C($v0) ## 0000000C
-/* 01F74 80BA4A14 8C490010 */ lw $t1, 0x0010($v0) ## 00000010
-/* 01F78 80BA4A18 448A4000 */ mtc1 $t2, $f8 ## $f8 = 0.00
-/* 01F7C 80BA4A1C 44882000 */ mtc1 $t0, $f4 ## $f4 = 0.00
-/* 01F80 80BA4A20 44893000 */ mtc1 $t1, $f6 ## $f6 = 0.00
-/* 01F84 80BA4A24 46804220 */ cvt.s.w $f8, $f8
-/* 01F88 80BA4A28 46802320 */ cvt.s.w $f12, $f4
-/* 01F8C 80BA4A2C 44064000 */ mfc1 $a2, $f8
-/* 01F90 80BA4A30 0C034261 */ jal Matrix_Translate
-/* 01F94 80BA4A34 468033A0 */ cvt.s.w $f14, $f6
-/* 01F98 80BA4A38 3C0180BA */ lui $at, %hi(D_80BA5CB4) ## $at = 80BA0000
-/* 01F9C 80BA4A3C C42C5CB4 */ lwc1 $f12, %lo(D_80BA5CB4)($at)
-/* 01FA0 80BA4A40 0C0342DC */ jal Matrix_RotateX
-/* 01FA4 80BA4A44 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
-/* 01FA8 80BA4A48 3C0180BA */ lui $at, %hi(D_80BA5CB8) ## $at = 80BA0000
-/* 01FAC 80BA4A4C C42C5CB8 */ lwc1 $f12, %lo(D_80BA5CB8)($at)
-/* 01FB0 80BA4A50 0C0343B5 */ jal Matrix_RotateZ
-/* 01FB4 80BA4A54 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
-/* 01FB8 80BA4A58 3C014000 */ lui $at, 0x4000 ## $at = 40000000
-/* 01FBC 80BA4A5C 44816000 */ mtc1 $at, $f12 ## $f12 = 2.00
-/* 01FC0 80BA4A60 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000
-/* 01FC4 80BA4A64 44817000 */ mtc1 $at, $f14 ## $f14 = 5.00
-/* 01FC8 80BA4A68 44066000 */ mfc1 $a2, $f12
-/* 01FCC 80BA4A6C 0C0342A3 */ jal Matrix_Scale
-/* 01FD0 80BA4A70 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
-/* 01FD4 80BA4A74 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
-/* 01FD8 80BA4A78 3C0CFA00 */ lui $t4, 0xFA00 ## $t4 = FA000000
-/* 01FDC 80BA4A7C 240DFF80 */ addiu $t5, $zero, 0xFF80 ## $t5 = FFFFFF80
-/* 01FE0 80BA4A80 244B0008 */ addiu $t3, $v0, 0x0008 ## $t3 = 00000008
-/* 01FE4 80BA4A84 AE0B02D0 */ sw $t3, 0x02D0($s0) ## 000002D0
-/* 01FE8 80BA4A88 AC4C0000 */ sw $t4, 0x0000($v0) ## 00000000
-/* 01FEC 80BA4A8C AC4D0004 */ sw $t5, 0x0004($v0) ## 00000004
-/* 01FF0 80BA4A90 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
-/* 01FF4 80BA4A94 3C1800FF */ lui $t8, 0x00FF ## $t8 = 00FF0000
-/* 01FF8 80BA4A98 3718FF80 */ ori $t8, $t8, 0xFF80 ## $t8 = 00FFFF80
-/* 01FFC 80BA4A9C 244E0008 */ addiu $t6, $v0, 0x0008 ## $t6 = 00000008
-/* 02000 80BA4AA0 AE0E02D0 */ sw $t6, 0x02D0($s0) ## 000002D0
-/* 02004 80BA4AA4 3C0FFB00 */ lui $t7, 0xFB00 ## $t7 = FB000000
-/* 02008 80BA4AA8 AC4F0000 */ sw $t7, 0x0000($v0) ## 00000000
-/* 0200C 80BA4AAC AC580004 */ sw $t8, 0x0004($v0) ## 00000004
-/* 02010 80BA4AB0 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
-/* 02014 80BA4AB4 3C08DA38 */ lui $t0, 0xDA38 ## $t0 = DA380000
-/* 02018 80BA4AB8 35080003 */ ori $t0, $t0, 0x0003 ## $t0 = DA380003
-/* 0201C 80BA4ABC 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008
-/* 02020 80BA4AC0 AE1902D0 */ sw $t9, 0x02D0($s0) ## 000002D0
-/* 02024 80BA4AC4 AC480000 */ sw $t0, 0x0000($v0) ## 00000000
-/* 02028 80BA4AC8 8FA90064 */ lw $t1, 0x0064($sp)
-/* 0202C 80BA4ACC 3C0580BA */ lui $a1, %hi(D_80BA5AE8) ## $a1 = 80BA0000
-/* 02030 80BA4AD0 24A55AE8 */ addiu $a1, $a1, %lo(D_80BA5AE8) ## $a1 = 80BA5AE8
-/* 02034 80BA4AD4 8D240000 */ lw $a0, 0x0000($t1) ## 00000000
-/* 02038 80BA4AD8 240604BD */ addiu $a2, $zero, 0x04BD ## $a2 = 000004BD
-/* 0203C 80BA4ADC 0C0346A2 */ jal Matrix_NewMtx
-/* 02040 80BA4AE0 AFA20038 */ sw $v0, 0x0038($sp)
-/* 02044 80BA4AE4 8FA30038 */ lw $v1, 0x0038($sp)
-/* 02048 80BA4AE8 3C0BDB06 */ lui $t3, 0xDB06 ## $t3 = DB060000
-/* 0204C 80BA4AEC 356B0020 */ ori $t3, $t3, 0x0020 ## $t3 = DB060020
-/* 02050 80BA4AF0 AC620004 */ sw $v0, 0x0004($v1) ## 00000004
-/* 02054 80BA4AF4 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
-/* 02058 80BA4AF8 3C0480BA */ lui $a0, %hi(D_80BA58E0) ## $a0 = 80BA0000
-/* 0205C 80BA4AFC 3C098016 */ lui $t1, %hi(gSegments)
-/* 02060 80BA4B00 244A0008 */ addiu $t2, $v0, 0x0008 ## $t2 = 00000008
-/* 02064 80BA4B04 AE0A02D0 */ sw $t2, 0x02D0($s0) ## 000002D0
-/* 02068 80BA4B08 AC4B0000 */ sw $t3, 0x0000($v0) ## 00000000
-/* 0206C 80BA4B0C 8FAC0060 */ lw $t4, 0x0060($sp)
-/* 02070 80BA4B10 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000
-/* 02074 80BA4B14 3421FFFF */ ori $at, $at, 0xFFFF ## $at = 00FFFFFF
-/* 02078 80BA4B18 958D019C */ lhu $t5, 0x019C($t4) ## 0000019C
-/* 0207C 80BA4B1C 000D7080 */ sll $t6, $t5, 2
-/* 02080 80BA4B20 008E2021 */ addu $a0, $a0, $t6
-/* 02084 80BA4B24 8C8458E0 */ lw $a0, %lo(D_80BA58E0)($a0)
-/* 02088 80BA4B28 0004C100 */ sll $t8, $a0, 4
-/* 0208C 80BA4B2C 0018CF02 */ srl $t9, $t8, 28
-/* 02090 80BA4B30 00194080 */ sll $t0, $t9, 2
-/* 02094 80BA4B34 01284821 */ addu $t1, $t1, $t0
-/* 02098 80BA4B38 8D296FA8 */ lw $t1, %lo(gSegments)($t1)
-/* 0209C 80BA4B3C 00817824 */ and $t7, $a0, $at
-/* 020A0 80BA4B40 3C018000 */ lui $at, 0x8000 ## $at = 80000000
-/* 020A4 80BA4B44 01E95021 */ addu $t2, $t7, $t1
-/* 020A8 80BA4B48 01415821 */ addu $t3, $t2, $at
-/* 020AC 80BA4B4C AC4B0004 */ sw $t3, 0x0004($v0) ## 00000004
-/* 020B0 80BA4B50 8FAC0064 */ lw $t4, 0x0064($sp)
-/* 020B4 80BA4B54 0C025314 */ jal func_80094C50
-/* 020B8 80BA4B58 8D840000 */ lw $a0, 0x0000($t4) ## 00000000
-/* 020BC 80BA4B5C 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
-/* 020C0 80BA4B60 3C0EDA38 */ lui $t6, 0xDA38 ## $t6 = DA380000
-/* 020C4 80BA4B64 3C180100 */ lui $t8, %hi(D_01000000) ## $t8 = 01000000
-/* 020C8 80BA4B68 244D0008 */ addiu $t5, $v0, 0x0008 ## $t5 = 00000008
-/* 020CC 80BA4B6C AE0D02D0 */ sw $t5, 0x02D0($s0) ## 000002D0
-/* 020D0 80BA4B70 27180000 */ addiu $t8, $t8, %lo(D_01000000) ## $t8 = 01000000
-/* 020D4 80BA4B74 35CE0001 */ ori $t6, $t6, 0x0001 ## $t6 = DA380001
-/* 020D8 80BA4B78 AC4E0000 */ sw $t6, 0x0000($v0) ## 00000000
-/* 020DC 80BA4B7C AC580004 */ sw $t8, 0x0004($v0) ## 00000004
-/* 020E0 80BA4B80 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
-/* 020E4 80BA4B84 3C04E700 */ lui $a0, 0xE700 ## $a0 = E7000000
-/* 020E8 80BA4B88 3C090403 */ lui $t1, %hi(gEffLightningDL) ## $t1 = 04030000
-/* 020EC 80BA4B8C 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008
-/* 020F0 80BA4B90 AE1902D0 */ sw $t9, 0x02D0($s0) ## 000002D0
-/* 020F4 80BA4B94 AC400004 */ sw $zero, 0x0004($v0) ## 00000004
-/* 020F8 80BA4B98 AC440000 */ sw $a0, 0x0000($v0) ## 00000000
-/* 020FC 80BA4B9C 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
-/* 02100 80BA4BA0 2529CF30 */ addiu $t1, $t1, %lo(gEffLightningDL) ## $t1 = 0402CF30
-/* 02104 80BA4BA4 3C0FDE00 */ lui $t7, 0xDE00 ## $t7 = DE000000
-/* 02108 80BA4BA8 24480008 */ addiu $t0, $v0, 0x0008 ## $t0 = 00000008
-/* 0210C 80BA4BAC AE0802D0 */ sw $t0, 0x02D0($s0) ## 000002D0
-/* 02110 80BA4BB0 AC490004 */ sw $t1, 0x0004($v0) ## 00000004
-/* 02114 80BA4BB4 AC4F0000 */ sw $t7, 0x0000($v0) ## 00000000
-/* 02118 80BA4BB8 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
-/* 0211C 80BA4BBC 244A0008 */ addiu $t2, $v0, 0x0008 ## $t2 = 00000008
-/* 02120 80BA4BC0 AE0A02D0 */ sw $t2, 0x02D0($s0) ## 000002D0
-/* 02124 80BA4BC4 AC400004 */ sw $zero, 0x0004($v0) ## 00000004
-/* 02128 80BA4BC8 AC440000 */ sw $a0, 0x0000($v0) ## 00000000
-/* 0212C 80BA4BCC 8FAB0064 */ lw $t3, 0x0064($sp)
-.L80BA4BD0:
-/* 02130 80BA4BD0 3C0680BA */ lui $a2, %hi(D_80BA5B00) ## $a2 = 80BA0000
-/* 02134 80BA4BD4 24C65B00 */ addiu $a2, $a2, %lo(D_80BA5B00) ## $a2 = 80BA5B00
-/* 02138 80BA4BD8 27A40044 */ addiu $a0, $sp, 0x0044 ## $a0 = FFFFFFE4
-/* 0213C 80BA4BDC 240704D1 */ addiu $a3, $zero, 0x04D1 ## $a3 = 000004D1
-/* 02140 80BA4BE0 0C031AD5 */ jal Graph_CloseDisps
-/* 02144 80BA4BE4 8D650000 */ lw $a1, 0x0000($t3) ## 00000000
-/* 02148 80BA4BE8 8FBF001C */ lw $ra, 0x001C($sp)
-/* 0214C 80BA4BEC 8FB00018 */ lw $s0, 0x0018($sp)
-/* 02150 80BA4BF0 27BD0060 */ addiu $sp, $sp, 0x0060 ## $sp = 00000000
-/* 02154 80BA4BF4 03E00008 */ jr $ra
-/* 02158 80BA4BF8 00000000 */ nop
diff --git a/asm/non_matchings/overlays/actors/ovl_Object_Kankyo/func_80BA4BFC.s b/asm/non_matchings/overlays/actors/ovl_Object_Kankyo/func_80BA4BFC.s
deleted file mode 100644
index 607ba27d95..0000000000
--- a/asm/non_matchings/overlays/actors/ovl_Object_Kankyo/func_80BA4BFC.s
+++ /dev/null
@@ -1,42 +0,0 @@
-.rdata
-glabel D_80BA5B18
- .asciz "0"
- .balign 4
-
-glabel D_80BA5B1C
- .asciz "../z_object_kankyo.c"
- .balign 4
-
-.text
-glabel func_80BA4BFC
-/* 0215C 80BA4BFC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
-/* 02160 80BA4C00 3C010001 */ lui $at, 0x0001 ## $at = 00010000
-/* 02164 80BA4C04 AFA40018 */ sw $a0, 0x0018($sp)
-/* 02168 80BA4C08 342117A4 */ ori $at, $at, 0x17A4 ## $at = 000117A4
-/* 0216C 80BA4C0C AFBF0014 */ sw $ra, 0x0014($sp)
-/* 02170 80BA4C10 00A12021 */ addu $a0, $a1, $at
-/* 02174 80BA4C14 0C02604B */ jal Object_GetIndex
- ## ObjectIndex
-/* 02178 80BA4C18 240500A1 */ addiu $a1, $zero, 0x00A1 ## $a1 = 000000A1
-/* 0217C 80BA4C1C 04410009 */ bgez $v0, .L80BA4C44
-/* 02180 80BA4C20 8FAE0018 */ lw $t6, 0x0018($sp)
-/* 02184 80BA4C24 3C0480BA */ lui $a0, %hi(D_80BA5B18) ## $a0 = 80BA0000
-/* 02188 80BA4C28 3C0580BA */ lui $a1, %hi(D_80BA5B1C) ## $a1 = 80BA0000
-/* 0218C 80BA4C2C 24A55B1C */ addiu $a1, $a1, %lo(D_80BA5B1C) ## $a1 = 80BA5B1C
-/* 02190 80BA4C30 24845B18 */ addiu $a0, $a0, %lo(D_80BA5B18) ## $a0 = 80BA5B18
-/* 02194 80BA4C34 0C0007FC */ jal __assert
-
-/* 02198 80BA4C38 240604E3 */ addiu $a2, $zero, 0x04E3 ## $a2 = 000004E3
-/* 0219C 80BA4C3C 10000002 */ beq $zero, $zero, .L80BA4C48
-/* 021A0 80BA4C40 00000000 */ nop
-.L80BA4C44:
-/* 021A4 80BA4C44 A1C21658 */ sb $v0, 0x1658($t6) ## 00001658
-.L80BA4C48:
-/* 021A8 80BA4C48 3C0580BA */ lui $a1, %hi(func_80BA4C68) ## $a1 = 80BA0000
-/* 021AC 80BA4C4C 24A54C68 */ addiu $a1, $a1, %lo(func_80BA4C68) ## $a1 = 80BA4C68
-/* 021B0 80BA4C50 0C2E8AA8 */ jal ObjectKankyo_SetupAction
-/* 021B4 80BA4C54 8FA40018 */ lw $a0, 0x0018($sp)
-/* 021B8 80BA4C58 8FBF0014 */ lw $ra, 0x0014($sp)
-/* 021BC 80BA4C5C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
-/* 021C0 80BA4C60 03E00008 */ jr $ra
-/* 021C4 80BA4C64 00000000 */ nop
diff --git a/asm/non_matchings/overlays/actors/ovl_Object_Kankyo/func_80BA4C68.s b/asm/non_matchings/overlays/actors/ovl_Object_Kankyo/func_80BA4C68.s
deleted file mode 100644
index b45ed88bfb..0000000000
--- a/asm/non_matchings/overlays/actors/ovl_Object_Kankyo/func_80BA4C68.s
+++ /dev/null
@@ -1,30 +0,0 @@
-glabel func_80BA4C68
-/* 021C8 80BA4C68 3C010001 */ lui $at, 0x0001 ## $at = 00010000
-/* 021CC 80BA4C6C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
-/* 021D0 80BA4C70 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
-/* 021D4 80BA4C74 342117A4 */ ori $at, $at, 0x17A4 ## $at = 000117A4
-/* 021D8 80BA4C78 AFBF0014 */ sw $ra, 0x0014($sp)
-/* 021DC 80BA4C7C 00A12021 */ addu $a0, $a1, $at
-/* 021E0 80BA4C80 90C51658 */ lbu $a1, 0x1658($a2) ## 00001658
-/* 021E4 80BA4C84 0C026062 */ jal Object_IsLoaded
-
-/* 021E8 80BA4C88 AFA60018 */ sw $a2, 0x0018($sp)
-/* 021EC 80BA4C8C 1040000D */ beq $v0, $zero, .L80BA4CC4
-/* 021F0 80BA4C90 8FA60018 */ lw $a2, 0x0018($sp)
-/* 021F4 80BA4C94 3C0140E0 */ lui $at, 0x40E0 ## $at = 40E00000
-/* 021F8 80BA4C98 90CF1658 */ lbu $t7, 0x1658($a2) ## 00001658
-/* 021FC 80BA4C9C 44812000 */ mtc1 $at, $f4 ## $f4 = 7.00
-/* 02200 80BA4CA0 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001
-/* 02204 80BA4CA4 3C0580BA */ lui $a1, %hi(func_80BA4CD4) ## $a1 = 80BA0000
-/* 02208 80BA4CA8 A0CE1659 */ sb $t6, 0x1659($a2) ## 00001659
-/* 0220C 80BA4CAC A0C0018C */ sb $zero, 0x018C($a2) ## 0000018C
-/* 02210 80BA4CB0 24A54CD4 */ addiu $a1, $a1, %lo(func_80BA4CD4) ## $a1 = 80BA4CD4
-/* 02214 80BA4CB4 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
-/* 02218 80BA4CB8 A0CF001E */ sb $t7, 0x001E($a2) ## 0000001E
-/* 0221C 80BA4CBC 0C2E8AA8 */ jal ObjectKankyo_SetupAction
-/* 02220 80BA4CC0 E4C40190 */ swc1 $f4, 0x0190($a2) ## 00000190
-.L80BA4CC4:
-/* 02224 80BA4CC4 8FBF0014 */ lw $ra, 0x0014($sp)
-/* 02228 80BA4CC8 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
-/* 0222C 80BA4CCC 03E00008 */ jr $ra
-/* 02230 80BA4CD0 00000000 */ nop
diff --git a/asm/non_matchings/overlays/actors/ovl_Object_Kankyo/func_80BA4CD4.s b/asm/non_matchings/overlays/actors/ovl_Object_Kankyo/func_80BA4CD4.s
deleted file mode 100644
index 14ed66c8bf..0000000000
--- a/asm/non_matchings/overlays/actors/ovl_Object_Kankyo/func_80BA4CD4.s
+++ /dev/null
@@ -1,53 +0,0 @@
-.late_rodata
-glabel D_80BA5CBC
- .float 0.01
-
-.text
-glabel func_80BA4CD4
-/* 02234 80BA4CD4 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
-/* 02238 80BA4CD8 AFBF0024 */ sw $ra, 0x0024($sp)
-/* 0223C 80BA4CDC AFB00020 */ sw $s0, 0x0020($sp)
-/* 02240 80BA4CE0 90AE1D6C */ lbu $t6, 0x1D6C($a1) ## 00001D6C
-/* 02244 80BA4CE4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
-/* 02248 80BA4CE8 51C00020 */ beql $t6, $zero, .L80BA4D6C
-/* 0224C 80BA4CEC 8FBF0024 */ lw $ra, 0x0024($sp)
-/* 02250 80BA4CF0 8CA21D90 */ lw $v0, 0x1D90($a1) ## 00001D90
-/* 02254 80BA4CF4 5040001D */ beql $v0, $zero, .L80BA4D6C
-/* 02258 80BA4CF8 8FBF0024 */ lw $ra, 0x0024($sp)
-/* 0225C 80BA4CFC 944F0000 */ lhu $t7, 0x0000($v0) ## 00000000
-/* 02260 80BA4D00 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
-/* 02264 80BA4D04 55E10019 */ bnel $t7, $at, .L80BA4D6C
-/* 02268 80BA4D08 8FBF0024 */ lw $ra, 0x0024($sp)
-/* 0226C 80BA4D0C 0C00BE0A */ jal Audio_PlayActorSound2
-
-/* 02270 80BA4D10 2405309A */ addiu $a1, $zero, 0x309A ## $a1 = 0000309A
-/* 02274 80BA4D14 9202018C */ lbu $v0, 0x018C($s0) ## 0000018C
-/* 02278 80BA4D18 3C053FE6 */ lui $a1, 0x3FE6 ## $a1 = 3FE60000
-/* 0227C 80BA4D1C 34A56666 */ ori $a1, $a1, 0x6666 ## $a1 = 3FE66666
-/* 02280 80BA4D20 0002C400 */ sll $t8, $v0, 16
-/* 02284 80BA4D24 0018CC03 */ sra $t9, $t8, 16
-/* 02288 80BA4D28 27280014 */ addiu $t0, $t9, 0x0014 ## $t0 = 00000014
-/* 0228C 80BA4D2C 29010100 */ slti $at, $t0, 0x0100
-/* 02290 80BA4D30 14200004 */ bne $at, $zero, .L80BA4D44
-/* 02294 80BA4D34 26040190 */ addiu $a0, $s0, 0x0190 ## $a0 = 00000190
-/* 02298 80BA4D38 240900FF */ addiu $t1, $zero, 0x00FF ## $t1 = 000000FF
-/* 0229C 80BA4D3C 10000003 */ beq $zero, $zero, .L80BA4D4C
-/* 022A0 80BA4D40 A209018C */ sb $t1, 0x018C($s0) ## 0000018C
-.L80BA4D44:
-/* 022A4 80BA4D44 244A0014 */ addiu $t2, $v0, 0x0014 ## $t2 = 00000014
-/* 022A8 80BA4D48 A20A018C */ sb $t2, 0x018C($s0) ## 0000018C
-.L80BA4D4C:
-/* 022AC 80BA4D4C 3C0180BA */ lui $at, %hi(D_80BA5CBC) ## $at = 80BA0000
-/* 022B0 80BA4D50 C4245CBC */ lwc1 $f4, %lo(D_80BA5CBC)($at)
-/* 022B4 80BA4D54 3C073E8F */ lui $a3, 0x3E8F ## $a3 = 3E8F0000
-/* 022B8 80BA4D58 34E75C29 */ ori $a3, $a3, 0x5C29 ## $a3 = 3E8F5C29
-/* 022BC 80BA4D5C 3C063F00 */ lui $a2, 0x3F00 ## $a2 = 3F000000
-/* 022C0 80BA4D60 0C01E0C4 */ jal Math_SmoothStepToF
-
-/* 022C4 80BA4D64 E7A40010 */ swc1 $f4, 0x0010($sp)
-/* 022C8 80BA4D68 8FBF0024 */ lw $ra, 0x0024($sp)
-.L80BA4D6C:
-/* 022CC 80BA4D6C 8FB00020 */ lw $s0, 0x0020($sp)
-/* 022D0 80BA4D70 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
-/* 022D4 80BA4D74 03E00008 */ jr $ra
-/* 022D8 80BA4D78 00000000 */ nop
diff --git a/asm/non_matchings/overlays/actors/ovl_Object_Kankyo/func_80BA4D7C.s b/asm/non_matchings/overlays/actors/ovl_Object_Kankyo/func_80BA4D7C.s
deleted file mode 100644
index b9008a2e60..0000000000
--- a/asm/non_matchings/overlays/actors/ovl_Object_Kankyo/func_80BA4D7C.s
+++ /dev/null
@@ -1,393 +0,0 @@
-.rdata
-glabel D_80BA5B34
- .asciz "../z_object_kankyo.c"
- .balign 4
-
-glabel D_80BA5B4C
- .asciz "../z_object_kankyo.c"
- .balign 4
-
-glabel D_80BA5B64
- .asciz "../z_object_kankyo.c"
- .balign 4
-
-.late_rodata
-glabel D_80BA5CC0
- .float 0.142857149
-
-glabel D_80BA5CC4
- .float 0.142857149
-
-glabel D_80BA5CC8
- .float 0.1
-
-.text
-glabel func_80BA4D7C
-/* 022DC 80BA4D7C 27BDFF80 */ addiu $sp, $sp, 0xFF80 ## $sp = FFFFFF80
-/* 022E0 80BA4D80 AFB10018 */ sw $s1, 0x0018($sp)
-/* 022E4 80BA4D84 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
-/* 022E8 80BA4D88 AFBF001C */ sw $ra, 0x001C($sp)
-/* 022EC 80BA4D8C AFB00014 */ sw $s0, 0x0014($sp)
-/* 022F0 80BA4D90 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000
-/* 022F4 80BA4D94 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
-/* 022F8 80BA4D98 3C0680BA */ lui $a2, %hi(D_80BA5B34) ## $a2 = 80BA0000
-/* 022FC 80BA4D9C 24C65B34 */ addiu $a2, $a2, %lo(D_80BA5B34) ## $a2 = 80BA5B34
-/* 02300 80BA4DA0 27A40048 */ addiu $a0, $sp, 0x0048 ## $a0 = FFFFFFC8
-/* 02304 80BA4DA4 2407052C */ addiu $a3, $zero, 0x052C ## $a3 = 0000052C
-/* 02308 80BA4DA8 0C031AB1 */ jal Graph_OpenDisps
-/* 0230C 80BA4DAC AFA50058 */ sw $a1, 0x0058($sp)
-/* 02310 80BA4DB0 922E1D6C */ lbu $t6, 0x1D6C($s1) ## 00001D6C
-/* 02314 80BA4DB4 8FA80058 */ lw $t0, 0x0058($sp)
-/* 02318 80BA4DB8 11C00147 */ beq $t6, $zero, .L80BA52D8
-/* 0231C 80BA4DBC 00000000 */ nop
-/* 02320 80BA4DC0 8E221D90 */ lw $v0, 0x1D90($s1) ## 00001D90
-/* 02324 80BA4DC4 10400144 */ beq $v0, $zero, .L80BA52D8
-/* 02328 80BA4DC8 00000000 */ nop
-/* 0232C 80BA4DCC 944F0000 */ lhu $t7, 0x0000($v0) ## 00000000
-/* 02330 80BA4DD0 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
-/* 02334 80BA4DD4 15E10140 */ bne $t7, $at, .L80BA52D8
-/* 02338 80BA4DD8 00000000 */ nop
-/* 0233C 80BA4DDC 92181659 */ lbu $t8, 0x1659($s0) ## 00001659
-/* 02340 80BA4DE0 1300013D */ beq $t8, $zero, .L80BA52D8
-/* 02344 80BA4DE4 00000000 */ nop
-/* 02348 80BA4DE8 9219014C */ lbu $t9, 0x014C($s0) ## 0000014C
-/* 0234C 80BA4DEC 17200011 */ bne $t9, $zero, .L80BA4E34
-/* 02350 80BA4DF0 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
-/* 02354 80BA4DF4 44810000 */ mtc1 $at, $f0 ## $f0 = 1.00
-/* 02358 80BA4DF8 3C0180BA */ lui $at, %hi(D_80BA5CC0) ## $at = 80BA0000
-/* 0235C 80BA4DFC C4265CC0 */ lwc1 $f6, %lo(D_80BA5CC0)($at)
-/* 02360 80BA4E00 C6040198 */ lwc1 $f4, 0x0198($s0) ## 00000198
-/* 02364 80BA4E04 46062200 */ add.s $f8, $f4, $f6
-/* 02368 80BA4E08 E6080198 */ swc1 $f8, 0x0198($s0) ## 00000198
-/* 0236C 80BA4E0C C60A0198 */ lwc1 $f10, 0x0198($s0) ## 00000198
-/* 02370 80BA4E10 460A003E */ c.le.s $f0, $f10
-/* 02374 80BA4E14 00000000 */ nop
-/* 02378 80BA4E18 45020016 */ bc1fl .L80BA4E74
-/* 0237C 80BA4E1C 960B019C */ lhu $t3, 0x019C($s0) ## 0000019C
-/* 02380 80BA4E20 9209014C */ lbu $t1, 0x014C($s0) ## 0000014C
-/* 02384 80BA4E24 E6000198 */ swc1 $f0, 0x0198($s0) ## 00000198
-/* 02388 80BA4E28 252A0001 */ addiu $t2, $t1, 0x0001 ## $t2 = 00000001
-/* 0238C 80BA4E2C 10000010 */ beq $zero, $zero, .L80BA4E70
-/* 02390 80BA4E30 A20A014C */ sb $t2, 0x014C($s0) ## 0000014C
-.L80BA4E34:
-/* 02394 80BA4E34 3C0180BA */ lui $at, %hi(D_80BA5CC4) ## $at = 80BA0000
-/* 02398 80BA4E38 C4265CC4 */ lwc1 $f6, %lo(D_80BA5CC4)($at)
-/* 0239C 80BA4E3C C6040198 */ lwc1 $f4, 0x0198($s0) ## 00000198
-/* 023A0 80BA4E40 3C0180BA */ lui $at, %hi(D_80BA5CC8) ## $at = 80BA0000
-/* 023A4 80BA4E44 46062201 */ sub.s $f8, $f4, $f6
-/* 023A8 80BA4E48 E6080198 */ swc1 $f8, 0x0198($s0) ## 00000198
-/* 023AC 80BA4E4C C6040198 */ lwc1 $f4, 0x0198($s0) ## 00000198
-/* 023B0 80BA4E50 C42A5CC8 */ lwc1 $f10, %lo(D_80BA5CC8)($at)
-/* 023B4 80BA4E54 460A203E */ c.le.s $f4, $f10
-/* 023B8 80BA4E58 00000000 */ nop
-/* 023BC 80BA4E5C 45020005 */ bc1fl .L80BA4E74
-/* 023C0 80BA4E60 960B019C */ lhu $t3, 0x019C($s0) ## 0000019C
-/* 023C4 80BA4E64 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00
-/* 023C8 80BA4E68 A200014C */ sb $zero, 0x014C($s0) ## 0000014C
-/* 023CC 80BA4E6C E6060198 */ swc1 $f6, 0x0198($s0) ## 00000198
-.L80BA4E70:
-/* 023D0 80BA4E70 960B019C */ lhu $t3, 0x019C($s0) ## 0000019C
-.L80BA4E74:
-/* 023D4 80BA4E74 256C0001 */ addiu $t4, $t3, 0x0001 ## $t4 = 00000001
-/* 023D8 80BA4E78 318DFFFF */ andi $t5, $t4, 0xFFFF ## $t5 = 00000001
-/* 023DC 80BA4E7C 29A10008 */ slti $at, $t5, 0x0008
-/* 023E0 80BA4E80 14200002 */ bne $at, $zero, .L80BA4E8C
-/* 023E4 80BA4E84 A60C019C */ sh $t4, 0x019C($s0) ## 0000019C
-/* 023E8 80BA4E88 A600019C */ sh $zero, 0x019C($s0) ## 0000019C
-.L80BA4E8C:
-/* 023EC 80BA4E8C 8E221D90 */ lw $v0, 0x1D90($s1) ## 00001D90
-/* 023F0 80BA4E90 8C4E000C */ lw $t6, 0x000C($v0) ## 0000000C
-/* 023F4 80BA4E94 8C590018 */ lw $t9, 0x0018($v0) ## 00000018
-/* 023F8 80BA4E98 8C4F0010 */ lw $t7, 0x0010($v0) ## 00000010
-/* 023FC 80BA4E9C 448E4000 */ mtc1 $t6, $f8 ## $f8 = 0.00
-/* 02400 80BA4EA0 44993000 */ mtc1 $t9, $f6 ## $f6 = 0.00
-/* 02404 80BA4EA4 8C580014 */ lw $t8, 0x0014($v0) ## 00000014
-/* 02408 80BA4EA8 468040A0 */ cvt.s.w $f2, $f8
-/* 0240C 80BA4EAC 448F5000 */ mtc1 $t7, $f10 ## $f10 = 0.00
-/* 02410 80BA4EB0 44982000 */ mtc1 $t8, $f4 ## $f4 = 0.00
-/* 02414 80BA4EB4 46803220 */ cvt.s.w $f8, $f6
-/* 02418 80BA4EB8 46805420 */ cvt.s.w $f16, $f10
-/* 0241C 80BA4EBC E7A80060 */ swc1 $f8, 0x0060($sp)
-/* 02420 80BA4EC0 8C49001C */ lw $t1, 0x001C($v0) ## 0000001C
-/* 02424 80BA4EC4 44895000 */ mtc1 $t1, $f10 ## $f10 = 0.00
-/* 02428 80BA4EC8 468024A0 */ cvt.s.w $f18, $f4
-/* 0242C 80BA4ECC 46805120 */ cvt.s.w $f4, $f10
-/* 02430 80BA4ED0 E7A40064 */ swc1 $f4, 0x0064($sp)
-/* 02434 80BA4ED4 8C4A0020 */ lw $t2, 0x0020($v0) ## 00000020
-/* 02438 80BA4ED8 448A3000 */ mtc1 $t2, $f6 ## $f6 = 0.00
-/* 0243C 80BA4EDC 00000000 */ nop
-/* 02440 80BA4EE0 46803220 */ cvt.s.w $f8, $f6
-/* 02444 80BA4EE4 E7A80068 */ swc1 $f8, 0x0068($sp)
-/* 02448 80BA4EE8 96261D74 */ lhu $a2, 0x1D74($s1) ## 00001D74
-/* 0244C 80BA4EEC 94450002 */ lhu $a1, 0x0002($v0) ## 00000002
-/* 02450 80BA4EF0 94440004 */ lhu $a0, 0x0004($v0) ## 00000004
-/* 02454 80BA4EF4 E7B20074 */ swc1 $f18, 0x0074($sp)
-/* 02458 80BA4EF8 E7B00070 */ swc1 $f16, 0x0070($sp)
-/* 0245C 80BA4EFC E7A2006C */ swc1 $f2, 0x006C($sp)
-/* 02460 80BA4F00 0C01BE4F */ jal Environment_LerpWeight
-/* 02464 80BA4F04 AFA80058 */ sw $t0, 0x0058($sp)
-/* 02468 80BA4F08 C7A2006C */ lwc1 $f2, 0x006C($sp)
-/* 0246C 80BA4F0C C7AA0060 */ lwc1 $f10, 0x0060($sp)
-/* 02470 80BA4F10 C7B00070 */ lwc1 $f16, 0x0070($sp)
-/* 02474 80BA4F14 C7A80064 */ lwc1 $f8, 0x0064($sp)
-/* 02478 80BA4F18 46025101 */ sub.s $f4, $f10, $f2
-/* 0247C 80BA4F1C C7B20074 */ lwc1 $f18, 0x0074($sp)
-/* 02480 80BA4F20 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
-/* 02484 80BA4F24 46104281 */ sub.s $f10, $f8, $f16
-/* 02488 80BA4F28 46002182 */ mul.s $f6, $f4, $f0
-/* 0248C 80BA4F2C 46023300 */ add.s $f12, $f6, $f2
-/* 02490 80BA4F30 C7A60068 */ lwc1 $f6, 0x0068($sp)
-/* 02494 80BA4F34 46005102 */ mul.s $f4, $f10, $f0
-/* 02498 80BA4F38 46123201 */ sub.s $f8, $f6, $f18
-/* 0249C 80BA4F3C 46004282 */ mul.s $f10, $f8, $f0
-/* 024A0 80BA4F40 46102380 */ add.s $f14, $f4, $f16
-/* 024A4 80BA4F44 46125100 */ add.s $f4, $f10, $f18
-/* 024A8 80BA4F48 44062000 */ mfc1 $a2, $f4
-/* 024AC 80BA4F4C 0C034261 */ jal Matrix_Translate
-/* 024B0 80BA4F50 00000000 */ nop
-/* 024B4 80BA4F54 C60C0190 */ lwc1 $f12, 0x0190($s0) ## 00000190
-/* 024B8 80BA4F58 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
-/* 024BC 80BA4F5C 44066000 */ mfc1 $a2, $f12
-/* 024C0 80BA4F60 0C0342A3 */ jal Matrix_Scale
-/* 024C4 80BA4F64 46006386 */ mov.s $f14, $f12
-/* 024C8 80BA4F68 0C024F61 */ jal func_80093D84
-/* 024CC 80BA4F6C 8E240000 */ lw $a0, 0x0000($s1) ## 00000000
-/* 024D0 80BA4F70 8FA80058 */ lw $t0, 0x0058($sp)
-/* 024D4 80BA4F74 3C0CE700 */ lui $t4, 0xE700 ## $t4 = E7000000
-/* 024D8 80BA4F78 3C0EFA00 */ lui $t6, 0xFA00 ## $t6 = FA000000
-/* 024DC 80BA4F7C 8D0202D0 */ lw $v0, 0x02D0($t0) ## 000002D0
-/* 024E0 80BA4F80 3C0142D2 */ lui $at, 0x42D2 ## $at = 42D20000
-/* 024E4 80BA4F84 44813000 */ mtc1 $at, $f6 ## $f6 = 105.00
-/* 024E8 80BA4F88 244B0008 */ addiu $t3, $v0, 0x0008 ## $t3 = 00000008
-/* 024EC 80BA4F8C AD0B02D0 */ sw $t3, 0x02D0($t0) ## 000002D0
-/* 024F0 80BA4F90 AC400004 */ sw $zero, 0x0004($v0) ## 00000004
-/* 024F4 80BA4F94 AC4C0000 */ sw $t4, 0x0000($v0) ## 00000000
-/* 024F8 80BA4F98 8D0302D0 */ lw $v1, 0x02D0($t0) ## 000002D0
-/* 024FC 80BA4F9C 24040001 */ addiu $a0, $zero, 0x0001 ## $a0 = 00000001
-/* 02500 80BA4FA0 3C014F00 */ lui $at, 0x4F00 ## $at = 4F000000
-/* 02504 80BA4FA4 246D0008 */ addiu $t5, $v1, 0x0008 ## $t5 = 00000008
-/* 02508 80BA4FA8 AD0D02D0 */ sw $t5, 0x02D0($t0) ## 000002D0
-/* 0250C 80BA4FAC AC6E0000 */ sw $t6, 0x0000($v1) ## 00000000
-/* 02510 80BA4FB0 C6080198 */ lwc1 $f8, 0x0198($s0) ## 00000198
-/* 02514 80BA4FB4 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
-/* 02518 80BA4FB8 46083282 */ mul.s $f10, $f6, $f8
-/* 0251C 80BA4FBC 444FF800 */ cfc1 $t7, $31
-/* 02520 80BA4FC0 44C4F800 */ ctc1 $a0, $31
-/* 02524 80BA4FC4 00000000 */ nop
-/* 02528 80BA4FC8 46005124 */ cvt.w.s $f4, $f10
-/* 0252C 80BA4FCC 4444F800 */ cfc1 $a0, $31
-/* 02530 80BA4FD0 00000000 */ nop
-/* 02534 80BA4FD4 30840078 */ andi $a0, $a0, 0x0078 ## $a0 = 00000000
-/* 02538 80BA4FD8 50800013 */ beql $a0, $zero, .L80BA5028
-/* 0253C 80BA4FDC 44042000 */ mfc1 $a0, $f4
-/* 02540 80BA4FE0 44812000 */ mtc1 $at, $f4 ## $f4 = 2147483648.00
-/* 02544 80BA4FE4 24040001 */ addiu $a0, $zero, 0x0001 ## $a0 = 00000001
-/* 02548 80BA4FE8 46045101 */ sub.s $f4, $f10, $f4
-/* 0254C 80BA4FEC 44C4F800 */ ctc1 $a0, $31
-/* 02550 80BA4FF0 00000000 */ nop
-/* 02554 80BA4FF4 46002124 */ cvt.w.s $f4, $f4
-/* 02558 80BA4FF8 4444F800 */ cfc1 $a0, $31
-/* 0255C 80BA4FFC 00000000 */ nop
-/* 02560 80BA5000 30840078 */ andi $a0, $a0, 0x0078 ## $a0 = 00000000
-/* 02564 80BA5004 14800005 */ bne $a0, $zero, .L80BA501C
-/* 02568 80BA5008 00000000 */ nop
-/* 0256C 80BA500C 44042000 */ mfc1 $a0, $f4
-/* 02570 80BA5010 3C018000 */ lui $at, 0x8000 ## $at = 80000000
-/* 02574 80BA5014 10000007 */ beq $zero, $zero, .L80BA5034
-/* 02578 80BA5018 00812025 */ or $a0, $a0, $at ## $a0 = 80000000
-.L80BA501C:
-/* 0257C 80BA501C 10000005 */ beq $zero, $zero, .L80BA5034
-/* 02580 80BA5020 2404FFFF */ addiu $a0, $zero, 0xFFFF ## $a0 = FFFFFFFF
-/* 02584 80BA5024 44042000 */ mfc1 $a0, $f4
-.L80BA5028:
-/* 02588 80BA5028 00000000 */ nop
-/* 0258C 80BA502C 0480FFFB */ bltz $a0, .L80BA501C
-/* 02590 80BA5030 00000000 */ nop
-.L80BA5034:
-/* 02594 80BA5034 9219018C */ lbu $t9, 0x018C($s0) ## 0000018C
-/* 02598 80BA5038 24840096 */ addiu $a0, $a0, 0x0096 ## $a0 = 00000095
-/* 0259C 80BA503C 308400FF */ andi $a0, $a0, 0x00FF ## $a0 = 00000095
-/* 025A0 80BA5040 00044E00 */ sll $t1, $a0, 24
-/* 025A4 80BA5044 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000
-/* 025A8 80BA5048 03295025 */ or $t2, $t9, $t1 ## $t2 = 00000000
-/* 025AC 80BA504C 01415825 */ or $t3, $t2, $at ## $t3 = 00FF0000
-/* 025B0 80BA5050 00046200 */ sll $t4, $a0, 8
-/* 025B4 80BA5054 016C6825 */ or $t5, $t3, $t4 ## $t5 = E7FF0000
-/* 025B8 80BA5058 AC6D0004 */ sw $t5, 0x0004($v1) ## 00000004
-/* 025BC 80BA505C 8D0302D0 */ lw $v1, 0x02D0($t0) ## 000002D0
-/* 025C0 80BA5060 44CFF800 */ ctc1 $t7, $31
-/* 025C4 80BA5064 3C0FFB00 */ lui $t7, 0xFB00 ## $t7 = FB000000
-/* 025C8 80BA5068 246E0008 */ addiu $t6, $v1, 0x0008 ## $t6 = 00000008
-/* 025CC 80BA506C AD0E02D0 */ sw $t6, 0x02D0($t0) ## 000002D0
-/* 025D0 80BA5070 3C01437F */ lui $at, 0x437F ## $at = 437F0000
-/* 025D4 80BA5074 AC6F0000 */ sw $t7, 0x0000($v1) ## 00000000
-/* 025D8 80BA5078 C6000198 */ lwc1 $f0, 0x0198($s0) ## 00000198
-/* 025DC 80BA507C 44813000 */ mtc1 $at, $f6 ## $f6 = 255.00
-/* 025E0 80BA5080 24040001 */ addiu $a0, $zero, 0x0001 ## $a0 = 00000001
-/* 025E4 80BA5084 3C014F00 */ lui $at, 0x4F00 ## $at = 4F000000
-/* 025E8 80BA5088 46003202 */ mul.s $f8, $f6, $f0
-/* 025EC 80BA508C 4458F800 */ cfc1 $t8, $31
-/* 025F0 80BA5090 44C4F800 */ ctc1 $a0, $31
-/* 025F4 80BA5094 00000000 */ nop
-/* 025F8 80BA5098 460042A4 */ cvt.w.s $f10, $f8
-/* 025FC 80BA509C 4444F800 */ cfc1 $a0, $31
-/* 02600 80BA50A0 00000000 */ nop
-/* 02604 80BA50A4 30840078 */ andi $a0, $a0, 0x0078 ## $a0 = 00000000
-/* 02608 80BA50A8 50800013 */ beql $a0, $zero, .L80BA50F8
-/* 0260C 80BA50AC 44045000 */ mfc1 $a0, $f10
-/* 02610 80BA50B0 44815000 */ mtc1 $at, $f10 ## $f10 = 2147483648.00
-/* 02614 80BA50B4 24040001 */ addiu $a0, $zero, 0x0001 ## $a0 = 00000001
-/* 02618 80BA50B8 460A4281 */ sub.s $f10, $f8, $f10
-/* 0261C 80BA50BC 44C4F800 */ ctc1 $a0, $31
-/* 02620 80BA50C0 00000000 */ nop
-/* 02624 80BA50C4 460052A4 */ cvt.w.s $f10, $f10
-/* 02628 80BA50C8 4444F800 */ cfc1 $a0, $31
-/* 0262C 80BA50CC 00000000 */ nop
-/* 02630 80BA50D0 30840078 */ andi $a0, $a0, 0x0078 ## $a0 = 00000000
-/* 02634 80BA50D4 14800005 */ bne $a0, $zero, .L80BA50EC
-/* 02638 80BA50D8 00000000 */ nop
-/* 0263C 80BA50DC 44045000 */ mfc1 $a0, $f10
-/* 02640 80BA50E0 3C018000 */ lui $at, 0x8000 ## $at = 80000000
-/* 02644 80BA50E4 10000007 */ beq $zero, $zero, .L80BA5104
-/* 02648 80BA50E8 00812025 */ or $a0, $a0, $at ## $a0 = 80000000
-.L80BA50EC:
-/* 0264C 80BA50EC 10000005 */ beq $zero, $zero, .L80BA5104
-/* 02650 80BA50F0 2404FFFF */ addiu $a0, $zero, 0xFFFF ## $a0 = FFFFFFFF
-/* 02654 80BA50F4 44045000 */ mfc1 $a0, $f10
-.L80BA50F8:
-/* 02658 80BA50F8 00000000 */ nop
-/* 0265C 80BA50FC 0480FFFB */ bltz $a0, .L80BA50EC
-/* 02660 80BA5100 00000000 */ nop
-.L80BA5104:
-/* 02664 80BA5104 3C01431B */ lui $at, 0x431B ## $at = 431B0000
-/* 02668 80BA5108 44D8F800 */ ctc1 $t8, $31
-/* 0266C 80BA510C 44812000 */ mtc1 $at, $f4 ## $f4 = 155.00
-/* 02670 80BA5110 240B0001 */ addiu $t3, $zero, 0x0001 ## $t3 = 00000001
-/* 02674 80BA5114 308400FF */ andi $a0, $a0, 0x00FF ## $a0 = 000000FF
-/* 02678 80BA5118 46002182 */ mul.s $f6, $f4, $f0
-/* 0267C 80BA511C 309900FF */ andi $t9, $a0, 0x00FF ## $t9 = 000000FF
-/* 02680 80BA5120 3C014F00 */ lui $at, 0x4F00 ## $at = 4F000000
-/* 02684 80BA5124 9209018C */ lbu $t1, 0x018C($s0) ## 0000018C
-/* 02688 80BA5128 444AF800 */ cfc1 $t2, $31
-/* 0268C 80BA512C 44CBF800 */ ctc1 $t3, $31
-/* 02690 80BA5130 00000000 */ nop
-/* 02694 80BA5134 46003224 */ cvt.w.s $f8, $f6
-/* 02698 80BA5138 444BF800 */ cfc1 $t3, $31
-/* 0269C 80BA513C 00000000 */ nop
-/* 026A0 80BA5140 316B0078 */ andi $t3, $t3, 0x0078 ## $t3 = 00000000
-/* 026A4 80BA5144 51600013 */ beql $t3, $zero, .L80BA5194
-/* 026A8 80BA5148 440B4000 */ mfc1 $t3, $f8
-/* 026AC 80BA514C 44814000 */ mtc1 $at, $f8 ## $f8 = 2147483648.00
-/* 026B0 80BA5150 240B0001 */ addiu $t3, $zero, 0x0001 ## $t3 = 00000001
-/* 026B4 80BA5154 46083201 */ sub.s $f8, $f6, $f8
-/* 026B8 80BA5158 44CBF800 */ ctc1 $t3, $31
-/* 026BC 80BA515C 00000000 */ nop
-/* 026C0 80BA5160 46004224 */ cvt.w.s $f8, $f8
-/* 026C4 80BA5164 444BF800 */ cfc1 $t3, $31
-/* 026C8 80BA5168 00000000 */ nop
-/* 026CC 80BA516C 316B0078 */ andi $t3, $t3, 0x0078 ## $t3 = 00000000
-/* 026D0 80BA5170 15600005 */ bne $t3, $zero, .L80BA5188
-/* 026D4 80BA5174 00000000 */ nop
-/* 026D8 80BA5178 440B4000 */ mfc1 $t3, $f8
-/* 026DC 80BA517C 3C018000 */ lui $at, 0x8000 ## $at = 80000000
-/* 026E0 80BA5180 10000007 */ beq $zero, $zero, .L80BA51A0
-/* 026E4 80BA5184 01615825 */ or $t3, $t3, $at ## $t3 = 80000000
-.L80BA5188:
-/* 026E8 80BA5188 10000005 */ beq $zero, $zero, .L80BA51A0
-/* 026EC 80BA518C 240BFFFF */ addiu $t3, $zero, 0xFFFF ## $t3 = FFFFFFFF
-/* 026F0 80BA5190 440B4000 */ mfc1 $t3, $f8
-.L80BA5194:
-/* 026F4 80BA5194 00000000 */ nop
-/* 026F8 80BA5198 0560FFFB */ bltz $t3, .L80BA5188
-/* 026FC 80BA519C 00000000 */ nop
-.L80BA51A0:
-/* 02700 80BA51A0 01606025 */ or $t4, $t3, $zero ## $t4 = FFFFFFFF
-/* 02704 80BA51A4 258E0064 */ addiu $t6, $t4, 0x0064 ## $t6 = 00000063
-/* 02708 80BA51A8 000E7E00 */ sll $t7, $t6, 24
-/* 0270C 80BA51AC 240C00FF */ addiu $t4, $zero, 0x00FF ## $t4 = 000000FF
-/* 02710 80BA51B0 01846823 */ subu $t5, $t4, $a0
-/* 02714 80BA51B4 012FC025 */ or $t8, $t1, $t7 ## $t8 = FB000000
-/* 02718 80BA51B8 44CAF800 */ ctc1 $t2, $31
-/* 0271C 80BA51BC 00195400 */ sll $t2, $t9, 16
-/* 02720 80BA51C0 31AE00FF */ andi $t6, $t5, 0x00FF ## $t6 = 00000000
-/* 02724 80BA51C4 000E4A00 */ sll $t1, $t6, 8
-/* 02728 80BA51C8 030A5825 */ or $t3, $t8, $t2 ## $t3 = FB000000
-/* 0272C 80BA51CC 01697825 */ or $t7, $t3, $t1 ## $t7 = FB000000
-/* 02730 80BA51D0 3C010001 */ lui $at, 0x0001 ## $at = 00010000
-/* 02734 80BA51D4 AC6F0004 */ sw $t7, 0x0004($v1) ## 00000004
-/* 02738 80BA51D8 34211DA0 */ ori $at, $at, 0x1DA0 ## $at = 00011DA0
-/* 0273C 80BA51DC 02212021 */ addu $a0, $s1, $at
-/* 02740 80BA51E0 0C03424C */ jal Matrix_Mult
-/* 02744 80BA51E4 AFA80058 */ sw $t0, 0x0058($sp)
-/* 02748 80BA51E8 8FA80058 */ lw $t0, 0x0058($sp)
-/* 0274C 80BA51EC 3C18DA38 */ lui $t8, 0xDA38 ## $t8 = DA380000
-/* 02750 80BA51F0 37180003 */ ori $t8, $t8, 0x0003 ## $t8 = DA380003
-/* 02754 80BA51F4 8D0202D0 */ lw $v0, 0x02D0($t0) ## 000002D0
-/* 02758 80BA51F8 3C0580BA */ lui $a1, %hi(D_80BA5B4C) ## $a1 = 80BA0000
-/* 0275C 80BA51FC 24A55B4C */ addiu $a1, $a1, %lo(D_80BA5B4C) ## $a1 = 80BA5B4C
-/* 02760 80BA5200 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008
-/* 02764 80BA5204 AD1902D0 */ sw $t9, 0x02D0($t0) ## 000002D0
-/* 02768 80BA5208 AC580000 */ sw $t8, 0x0000($v0) ## 00000000
-/* 0276C 80BA520C 8E240000 */ lw $a0, 0x0000($s1) ## 00000000
-/* 02770 80BA5210 24060588 */ addiu $a2, $zero, 0x0588 ## $a2 = 00000588
-/* 02774 80BA5214 AFA80058 */ sw $t0, 0x0058($sp)
-/* 02778 80BA5218 0C0346A2 */ jal Matrix_NewMtx
-/* 0277C 80BA521C AFA20038 */ sw $v0, 0x0038($sp)
-/* 02780 80BA5220 8FA30038 */ lw $v1, 0x0038($sp)
-/* 02784 80BA5224 8FA80058 */ lw $t0, 0x0058($sp)
-/* 02788 80BA5228 3C0CDB06 */ lui $t4, 0xDB06 ## $t4 = DB060000
-/* 0278C 80BA522C AC620004 */ sw $v0, 0x0004($v1) ## 00000004
-/* 02790 80BA5230 8D0202D0 */ lw $v0, 0x02D0($t0) ## 000002D0
-/* 02794 80BA5234 358C0020 */ ori $t4, $t4, 0x0020 ## $t4 = DB060020
-/* 02798 80BA5238 3C0480BA */ lui $a0, %hi(D_80BA5900) ## $a0 = 80BA0000
-/* 0279C 80BA523C 244A0008 */ addiu $t2, $v0, 0x0008 ## $t2 = 00000008
-/* 027A0 80BA5240 AD0A02D0 */ sw $t2, 0x02D0($t0) ## 000002D0
-/* 027A4 80BA5244 AC4C0000 */ sw $t4, 0x0000($v0) ## 00000000
-/* 027A8 80BA5248 960D019C */ lhu $t5, 0x019C($s0) ## 0000019C
-/* 027AC 80BA524C 3C188016 */ lui $t8, %hi(gSegments)
-/* 027B0 80BA5250 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000
-/* 027B4 80BA5254 000D7080 */ sll $t6, $t5, 2
-/* 027B8 80BA5258 008E2021 */ addu $a0, $a0, $t6
-/* 027BC 80BA525C 8C845900 */ lw $a0, %lo(D_80BA5900)($a0)
-/* 027C0 80BA5260 3421FFFF */ ori $at, $at, 0xFFFF ## $at = 00FFFFFF
-/* 027C4 80BA5264 00044900 */ sll $t1, $a0, 4
-/* 027C8 80BA5268 00097F02 */ srl $t7, $t1, 28
-/* 027CC 80BA526C 000FC880 */ sll $t9, $t7, 2
-/* 027D0 80BA5270 0319C021 */ addu $t8, $t8, $t9
-/* 027D4 80BA5274 8F186FA8 */ lw $t8, %lo(gSegments)($t8)
-/* 027D8 80BA5278 00815824 */ and $t3, $a0, $at
-/* 027DC 80BA527C 3C018000 */ lui $at, 0x8000 ## $at = 80000000
-/* 027E0 80BA5280 01785021 */ addu $t2, $t3, $t8
-/* 027E4 80BA5284 01416021 */ addu $t4, $t2, $at
-/* 027E8 80BA5288 AC4C0004 */ sw $t4, 0x0004($v0) ## 00000004
-/* 027EC 80BA528C 8D0202D0 */ lw $v0, 0x02D0($t0) ## 000002D0
-/* 027F0 80BA5290 3C04E700 */ lui $a0, 0xE700 ## $a0 = E7000000
-/* 027F4 80BA5294 3C0F0601 */ lui $t7, %hi(D_06009620) ## $t7 = 06010000
-/* 027F8 80BA5298 244D0008 */ addiu $t5, $v0, 0x0008 ## $t5 = 00000008
-/* 027FC 80BA529C AD0D02D0 */ sw $t5, 0x02D0($t0) ## 000002D0
-/* 02800 80BA52A0 AC400004 */ sw $zero, 0x0004($v0) ## 00000004
-/* 02804 80BA52A4 AC440000 */ sw $a0, 0x0000($v0) ## 00000000
-/* 02808 80BA52A8 8D0202D0 */ lw $v0, 0x02D0($t0) ## 000002D0
-/* 0280C 80BA52AC 25EF9620 */ addiu $t7, $t7, %lo(D_06009620) ## $t7 = 06009620
-/* 02810 80BA52B0 3C09DE00 */ lui $t1, 0xDE00 ## $t1 = DE000000
-/* 02814 80BA52B4 244E0008 */ addiu $t6, $v0, 0x0008 ## $t6 = 00000008
-/* 02818 80BA52B8 AD0E02D0 */ sw $t6, 0x02D0($t0) ## 000002D0
-/* 0281C 80BA52BC AC4F0004 */ sw $t7, 0x0004($v0) ## 00000004
-/* 02820 80BA52C0 AC490000 */ sw $t1, 0x0000($v0) ## 00000000
-/* 02824 80BA52C4 8D0202D0 */ lw $v0, 0x02D0($t0) ## 000002D0
-/* 02828 80BA52C8 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008
-/* 0282C 80BA52CC AD1902D0 */ sw $t9, 0x02D0($t0) ## 000002D0
-/* 02830 80BA52D0 AC400004 */ sw $zero, 0x0004($v0) ## 00000004
-/* 02834 80BA52D4 AC440000 */ sw $a0, 0x0000($v0) ## 00000000
-.L80BA52D8:
-/* 02838 80BA52D8 3C0680BA */ lui $a2, %hi(D_80BA5B64) ## $a2 = 80BA0000
-/* 0283C 80BA52DC 24C65B64 */ addiu $a2, $a2, %lo(D_80BA5B64) ## $a2 = 80BA5B64
-/* 02840 80BA52E0 27A40048 */ addiu $a0, $sp, 0x0048 ## $a0 = FFFFFFC8
-/* 02844 80BA52E4 8E250000 */ lw $a1, 0x0000($s1) ## 00000000
-/* 02848 80BA52E8 0C031AD5 */ jal Graph_CloseDisps
-/* 0284C 80BA52EC 24070598 */ addiu $a3, $zero, 0x0598 ## $a3 = 00000598
-/* 02850 80BA52F0 8FBF001C */ lw $ra, 0x001C($sp)
-/* 02854 80BA52F4 8FB00014 */ lw $s0, 0x0014($sp)
-/* 02858 80BA52F8 8FB10018 */ lw $s1, 0x0018($sp)
-/* 0285C 80BA52FC 03E00008 */ jr $ra
-/* 02860 80BA5300 27BD0080 */ addiu $sp, $sp, 0x0080 ## $sp = 00000000
diff --git a/asm/non_matchings/overlays/actors/ovl_Object_Kankyo/func_80BA5304.s b/asm/non_matchings/overlays/actors/ovl_Object_Kankyo/func_80BA5304.s
deleted file mode 100644
index a9606c231a..0000000000
--- a/asm/non_matchings/overlays/actors/ovl_Object_Kankyo/func_80BA5304.s
+++ /dev/null
@@ -1,42 +0,0 @@
-.rdata
-glabel D_80BA5B7C
- .asciz "0"
- .balign 4
-
-glabel D_80BA5B80
- .asciz "../z_object_kankyo.c"
- .balign 4
-
-.text
-glabel func_80BA5304
-/* 02864 80BA5304 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
-/* 02868 80BA5308 3C010001 */ lui $at, 0x0001 ## $at = 00010000
-/* 0286C 80BA530C AFA40018 */ sw $a0, 0x0018($sp)
-/* 02870 80BA5310 342117A4 */ ori $at, $at, 0x17A4 ## $at = 000117A4
-/* 02874 80BA5314 AFBF0014 */ sw $ra, 0x0014($sp)
-/* 02878 80BA5318 00A12021 */ addu $a0, $a1, $at
-/* 0287C 80BA531C 0C02604B */ jal Object_GetIndex
- ## ObjectIndex
-/* 02880 80BA5320 24050179 */ addiu $a1, $zero, 0x0179 ## $a1 = 00000179
-/* 02884 80BA5324 04410009 */ bgez $v0, .L80BA534C
-/* 02888 80BA5328 8FAE0018 */ lw $t6, 0x0018($sp)
-/* 0288C 80BA532C 3C0480BA */ lui $a0, %hi(D_80BA5B7C) ## $a0 = 80BA0000
-/* 02890 80BA5330 3C0580BA */ lui $a1, %hi(D_80BA5B80) ## $a1 = 80BA0000
-/* 02894 80BA5334 24A55B80 */ addiu $a1, $a1, %lo(D_80BA5B80) ## $a1 = 80BA5B80
-/* 02898 80BA5338 24845B7C */ addiu $a0, $a0, %lo(D_80BA5B7C) ## $a0 = 80BA5B7C
-/* 0289C 80BA533C 0C0007FC */ jal __assert
-
-/* 028A0 80BA5340 240605A9 */ addiu $a2, $zero, 0x05A9 ## $a2 = 000005A9
-/* 028A4 80BA5344 10000002 */ beq $zero, $zero, .L80BA5350
-/* 028A8 80BA5348 00000000 */ nop
-.L80BA534C:
-/* 028AC 80BA534C A1C21658 */ sb $v0, 0x1658($t6) ## 00001658
-.L80BA5350:
-/* 028B0 80BA5350 3C0580BA */ lui $a1, %hi(func_80BA5370) ## $a1 = 80BA0000
-/* 028B4 80BA5354 24A55370 */ addiu $a1, $a1, %lo(func_80BA5370) ## $a1 = 80BA5370
-/* 028B8 80BA5358 0C2E8AA8 */ jal ObjectKankyo_SetupAction
-/* 028BC 80BA535C 8FA40018 */ lw $a0, 0x0018($sp)
-/* 028C0 80BA5360 8FBF0014 */ lw $ra, 0x0014($sp)
-/* 028C4 80BA5364 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
-/* 028C8 80BA5368 03E00008 */ jr $ra
-/* 028CC 80BA536C 00000000 */ nop
diff --git a/asm/non_matchings/overlays/actors/ovl_Object_Kankyo/func_80BA5370.s b/asm/non_matchings/overlays/actors/ovl_Object_Kankyo/func_80BA5370.s
deleted file mode 100644
index 19e79f420a..0000000000
--- a/asm/non_matchings/overlays/actors/ovl_Object_Kankyo/func_80BA5370.s
+++ /dev/null
@@ -1,26 +0,0 @@
-glabel func_80BA5370
-/* 028D0 80BA5370 3C010001 */ lui $at, 0x0001 ## $at = 00010000
-/* 028D4 80BA5374 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
-/* 028D8 80BA5378 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
-/* 028DC 80BA537C 342117A4 */ ori $at, $at, 0x17A4 ## $at = 000117A4
-/* 028E0 80BA5380 AFBF0014 */ sw $ra, 0x0014($sp)
-/* 028E4 80BA5384 00A12021 */ addu $a0, $a1, $at
-/* 028E8 80BA5388 90C51658 */ lbu $a1, 0x1658($a2) ## 00001658
-/* 028EC 80BA538C 0C026062 */ jal Object_IsLoaded
-
-/* 028F0 80BA5390 AFA60018 */ sw $a2, 0x0018($sp)
-/* 028F4 80BA5394 10400009 */ beq $v0, $zero, .L80BA53BC
-/* 028F8 80BA5398 8FA60018 */ lw $a2, 0x0018($sp)
-/* 028FC 80BA539C 90CF1658 */ lbu $t7, 0x1658($a2) ## 00001658
-/* 02900 80BA53A0 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001
-/* 02904 80BA53A4 3C0580BA */ lui $a1, %hi(func_80BA53CC) ## $a1 = 80BA0000
-/* 02908 80BA53A8 A0CE1659 */ sb $t6, 0x1659($a2) ## 00001659
-/* 0290C 80BA53AC 24A553CC */ addiu $a1, $a1, %lo(func_80BA53CC) ## $a1 = 80BA53CC
-/* 02910 80BA53B0 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
-/* 02914 80BA53B4 0C2E8AA8 */ jal ObjectKankyo_SetupAction
-/* 02918 80BA53B8 A0CF001E */ sb $t7, 0x001E($a2) ## 0000001E
-.L80BA53BC:
-/* 0291C 80BA53BC 8FBF0014 */ lw $ra, 0x0014($sp)
-/* 02920 80BA53C0 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
-/* 02924 80BA53C4 03E00008 */ jr $ra
-/* 02928 80BA53C8 00000000 */ nop
diff --git a/asm/non_matchings/overlays/actors/ovl_Object_Kankyo/func_80BA53CC.s b/asm/non_matchings/overlays/actors/ovl_Object_Kankyo/func_80BA53CC.s
deleted file mode 100644
index 082aa60a73..0000000000
--- a/asm/non_matchings/overlays/actors/ovl_Object_Kankyo/func_80BA53CC.s
+++ /dev/null
@@ -1,67 +0,0 @@
-.late_rodata
-glabel D_80BA5CCC
- .float 0.1
-
-.text
-glabel func_80BA53CC
-/* 0292C 80BA53CC 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
-/* 02930 80BA53D0 AFBF0034 */ sw $ra, 0x0034($sp)
-/* 02934 80BA53D4 AFB50030 */ sw $s5, 0x0030($sp)
-/* 02938 80BA53D8 AFB4002C */ sw $s4, 0x002C($sp)
-/* 0293C 80BA53DC AFB30028 */ sw $s3, 0x0028($sp)
-/* 02940 80BA53E0 AFB20024 */ sw $s2, 0x0024($sp)
-/* 02944 80BA53E4 AFB10020 */ sw $s1, 0x0020($sp)
-/* 02948 80BA53E8 AFB0001C */ sw $s0, 0x001C($sp)
-/* 0294C 80BA53EC F7B40010 */ sdc1 $f20, 0x0010($sp)
-/* 02950 80BA53F0 90AE1D6C */ lbu $t6, 0x1D6C($a1) ## 00001D6C
-/* 02954 80BA53F4 00A0A025 */ or $s4, $a1, $zero ## $s4 = 00000000
-/* 02958 80BA53F8 0080A825 */ or $s5, $a0, $zero ## $s5 = 00000000
-/* 0295C 80BA53FC 11C00021 */ beq $t6, $zero, .L80BA5484
-/* 02960 80BA5400 00008825 */ or $s1, $zero, $zero ## $s1 = 00000000
-/* 02964 80BA5404 3C0180BA */ lui $at, %hi(D_80BA5CCC) ## $at = 80BA0000
-/* 02968 80BA5408 C4345CCC */ lwc1 $f20, %lo(D_80BA5CCC)($at)
-/* 0296C 80BA540C 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
-/* 02970 80BA5410 24130054 */ addiu $s3, $zero, 0x0054 ## $s3 = 00000054
-/* 02974 80BA5414 24120002 */ addiu $s2, $zero, 0x0002 ## $s2 = 00000002
-.L80BA5418:
-/* 02978 80BA5418 00027880 */ sll $t7, $v0, 2
-/* 0297C 80BA541C 028FC021 */ addu $t8, $s4, $t7
-/* 02980 80BA5420 8F031D90 */ lw $v1, 0x1D90($t8) ## 00001D90
-/* 02984 80BA5424 50600013 */ beql $v1, $zero, .L80BA5474
-/* 02988 80BA5428 26310001 */ addiu $s1, $s1, 0x0001 ## $s1 = 00000001
-/* 0298C 80BA542C 94790000 */ lhu $t9, 0x0000($v1) ## 00000000
-/* 02990 80BA5430 56590010 */ bnel $s2, $t9, .L80BA5474
-/* 02994 80BA5434 26310001 */ addiu $s1, $s1, 0x0001 ## $s1 = 00000002
-/* 02998 80BA5438 02330019 */ multu $s1, $s3
-/* 0299C 80BA543C 00004012 */ mflo $t0
-/* 029A0 80BA5440 02A88021 */ addu $s0, $s5, $t0
-/* 029A4 80BA5444 C6040190 */ lwc1 $f4, 0x0190($s0) ## 00000190
-/* 029A8 80BA5448 4604A032 */ c.eq.s $f20, $f4
-/* 029AC 80BA544C 00000000 */ nop
-/* 029B0 80BA5450 45020004 */ bc1fl .L80BA5464
-/* 029B4 80BA5454 4405A000 */ mfc1 $a1, $f20
-/* 029B8 80BA5458 0C03CFCF */ jal func_800F3F3C
-/* 029BC 80BA545C 2404000B */ addiu $a0, $zero, 0x000B ## $a0 = 0000000B
-/* 029C0 80BA5460 4405A000 */ mfc1 $a1, $f20
-.L80BA5464:
-/* 029C4 80BA5464 4406A000 */ mfc1 $a2, $f20
-/* 029C8 80BA5468 0C01E123 */ jal Math_ApproachZeroF
-
-/* 029CC 80BA546C 26040190 */ addiu $a0, $s0, 0x0190 ## $a0 = 00000190
-/* 029D0 80BA5470 26310001 */ addiu $s1, $s1, 0x0001 ## $s1 = 00000003
-.L80BA5474:
-/* 029D4 80BA5474 323100FF */ andi $s1, $s1, 0x00FF ## $s1 = 00000003
-/* 029D8 80BA5478 2A210006 */ slti $at, $s1, 0x0006
-/* 029DC 80BA547C 1420FFE6 */ bne $at, $zero, .L80BA5418
-/* 029E0 80BA5480 02201025 */ or $v0, $s1, $zero ## $v0 = 00000003
-.L80BA5484:
-/* 029E4 80BA5484 8FBF0034 */ lw $ra, 0x0034($sp)
-/* 029E8 80BA5488 D7B40010 */ ldc1 $f20, 0x0010($sp)
-/* 029EC 80BA548C 8FB0001C */ lw $s0, 0x001C($sp)
-/* 029F0 80BA5490 8FB10020 */ lw $s1, 0x0020($sp)
-/* 029F4 80BA5494 8FB20024 */ lw $s2, 0x0024($sp)
-/* 029F8 80BA5498 8FB30028 */ lw $s3, 0x0028($sp)
-/* 029FC 80BA549C 8FB4002C */ lw $s4, 0x002C($sp)
-/* 02A00 80BA54A0 8FB50030 */ lw $s5, 0x0030($sp)
-/* 02A04 80BA54A4 03E00008 */ jr $ra
-/* 02A08 80BA54A8 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000
diff --git a/asm/non_matchings/overlays/actors/ovl_Object_Kankyo/func_80BA54AC.s b/asm/non_matchings/overlays/actors/ovl_Object_Kankyo/func_80BA54AC.s
deleted file mode 100644
index 56d67d2be8..0000000000
--- a/asm/non_matchings/overlays/actors/ovl_Object_Kankyo/func_80BA54AC.s
+++ /dev/null
@@ -1,297 +0,0 @@
-.rdata
-glabel D_80BA5B98
- .asciz "../z_object_kankyo.c"
- .balign 4
-
-glabel D_80BA5BB0
- .asciz "../z_object_kankyo.c"
- .balign 4
-
-glabel D_80BA5BC8
- .asciz "../z_object_kankyo.c"
- .balign 4
-
-.late_rodata
-glabel D_80BA5CD0
- .float 0.1
-
-glabel D_80BA5CD4
- .float 0.001
-
-glabel D_80BA5CD8
- .float 0.017453292
-
-.text
-glabel func_80BA54AC
-/* 02A0C 80BA54AC 27BDFEC8 */ addiu $sp, $sp, 0xFEC8 ## $sp = FFFFFEC8
-/* 02A10 80BA54B0 3C0F80BA */ lui $t7, %hi(D_80BA599C) ## $t7 = 80BA0000
-/* 02A14 80BA54B4 AFBF0074 */ sw $ra, 0x0074($sp)
-/* 02A18 80BA54B8 AFBE0070 */ sw $s8, 0x0070($sp)
-/* 02A1C 80BA54BC AFB7006C */ sw $s7, 0x006C($sp)
-/* 02A20 80BA54C0 AFB60068 */ sw $s6, 0x0068($sp)
-/* 02A24 80BA54C4 AFB50064 */ sw $s5, 0x0064($sp)
-/* 02A28 80BA54C8 AFB40060 */ sw $s4, 0x0060($sp)
-/* 02A2C 80BA54CC AFB3005C */ sw $s3, 0x005C($sp)
-/* 02A30 80BA54D0 AFB20058 */ sw $s2, 0x0058($sp)
-/* 02A34 80BA54D4 AFB10054 */ sw $s1, 0x0054($sp)
-/* 02A38 80BA54D8 AFB00050 */ sw $s0, 0x0050($sp)
-/* 02A3C 80BA54DC F7B80048 */ sdc1 $f24, 0x0048($sp)
-/* 02A40 80BA54E0 F7B60040 */ sdc1 $f22, 0x0040($sp)
-/* 02A44 80BA54E4 F7B40038 */ sdc1 $f20, 0x0038($sp)
-/* 02A48 80BA54E8 25EF599C */ addiu $t7, $t7, %lo(D_80BA599C) ## $t7 = 80BA599C
-/* 02A4C 80BA54EC 8DF90000 */ lw $t9, 0x0000($t7) ## 80BA599C
-/* 02A50 80BA54F0 8DF80004 */ lw $t8, 0x0004($t7) ## 80BA59A0
-/* 02A54 80BA54F4 27AE0114 */ addiu $t6, $sp, 0x0114 ## $t6 = FFFFFFDC
-/* 02A58 80BA54F8 ADD90000 */ sw $t9, 0x0000($t6) ## FFFFFFDC
-/* 02A5C 80BA54FC ADD80004 */ sw $t8, 0x0004($t6) ## FFFFFFE0
-/* 02A60 80BA5500 8DF8000C */ lw $t8, 0x000C($t7) ## 80BA59A8
-/* 02A64 80BA5504 8DF90008 */ lw $t9, 0x0008($t7) ## 80BA59A4
-/* 02A68 80BA5508 3C0980BA */ lui $t1, %hi(D_80BA59B4) ## $t1 = 80BA0000
-/* 02A6C 80BA550C ADD8000C */ sw $t8, 0x000C($t6) ## FFFFFFE8
-/* 02A70 80BA5510 ADD90008 */ sw $t9, 0x0008($t6) ## FFFFFFE4
-/* 02A74 80BA5514 8DF90010 */ lw $t9, 0x0010($t7) ## 80BA59AC
-/* 02A78 80BA5518 8DF80014 */ lw $t8, 0x0014($t7) ## 80BA59B0
-/* 02A7C 80BA551C 252959B4 */ addiu $t1, $t1, %lo(D_80BA59B4) ## $t1 = 80BA59B4
-/* 02A80 80BA5520 ADD90010 */ sw $t9, 0x0010($t6) ## FFFFFFEC
-/* 02A84 80BA5524 ADD80014 */ sw $t8, 0x0014($t6) ## FFFFFFF0
-/* 02A88 80BA5528 8D2A0004 */ lw $t2, 0x0004($t1) ## 80BA59B8
-/* 02A8C 80BA552C 8D2B0000 */ lw $t3, 0x0000($t1) ## 80BA59B4
-/* 02A90 80BA5530 27A800FC */ addiu $t0, $sp, 0x00FC ## $t0 = FFFFFFC4
-/* 02A94 80BA5534 AD0A0004 */ sw $t2, 0x0004($t0) ## FFFFFFC8
-/* 02A98 80BA5538 AD0B0000 */ sw $t3, 0x0000($t0) ## FFFFFFC4
-/* 02A9C 80BA553C 8D2B0008 */ lw $t3, 0x0008($t1) ## 80BA59BC
-/* 02AA0 80BA5540 8D2A000C */ lw $t2, 0x000C($t1) ## 80BA59C0
-/* 02AA4 80BA5544 3C0D80BA */ lui $t5, %hi(D_80BA59CC) ## $t5 = 80BA0000
-/* 02AA8 80BA5548 AD0B0008 */ sw $t3, 0x0008($t0) ## FFFFFFCC
-/* 02AAC 80BA554C AD0A000C */ sw $t2, 0x000C($t0) ## FFFFFFD0
-/* 02AB0 80BA5550 8D2A0014 */ lw $t2, 0x0014($t1) ## 80BA59C8
-/* 02AB4 80BA5554 8D2B0010 */ lw $t3, 0x0010($t1) ## 80BA59C4
-/* 02AB8 80BA5558 25AD59CC */ addiu $t5, $t5, %lo(D_80BA59CC) ## $t5 = 80BA59CC
-/* 02ABC 80BA555C AD0A0014 */ sw $t2, 0x0014($t0) ## FFFFFFD8
-/* 02AC0 80BA5560 AD0B0010 */ sw $t3, 0x0010($t0) ## FFFFFFD4
-/* 02AC4 80BA5564 8DAE0004 */ lw $t6, 0x0004($t5) ## 80BA59D0
-/* 02AC8 80BA5568 8DAF0000 */ lw $t7, 0x0000($t5) ## 80BA59CC
-/* 02ACC 80BA556C 27AC00E4 */ addiu $t4, $sp, 0x00E4 ## $t4 = FFFFFFAC
-/* 02AD0 80BA5570 AD8E0004 */ sw $t6, 0x0004($t4) ## FFFFFFB0
-/* 02AD4 80BA5574 AD8F0000 */ sw $t7, 0x0000($t4) ## FFFFFFAC
-/* 02AD8 80BA5578 8DAF0008 */ lw $t7, 0x0008($t5) ## 80BA59D4
-/* 02ADC 80BA557C 8DAE000C */ lw $t6, 0x000C($t5) ## 80BA59D8
-/* 02AE0 80BA5580 3C1980BA */ lui $t9, %hi(D_80BA59E4) ## $t9 = 80BA0000
-/* 02AE4 80BA5584 AD8F0008 */ sw $t7, 0x0008($t4) ## FFFFFFB4
-/* 02AE8 80BA5588 AD8E000C */ sw $t6, 0x000C($t4) ## FFFFFFB8
-/* 02AEC 80BA558C 8DAE0014 */ lw $t6, 0x0014($t5) ## 80BA59E0
-/* 02AF0 80BA5590 8DAF0010 */ lw $t7, 0x0010($t5) ## 80BA59DC
-/* 02AF4 80BA5594 273959E4 */ addiu $t9, $t9, %lo(D_80BA59E4) ## $t9 = 80BA59E4
-/* 02AF8 80BA5598 AD8E0014 */ sw $t6, 0x0014($t4) ## FFFFFFC0
-/* 02AFC 80BA559C AD8F0010 */ sw $t7, 0x0010($t4) ## FFFFFFBC
-/* 02B00 80BA55A0 8F280004 */ lw $t0, 0x0004($t9) ## 80BA59E8
-/* 02B04 80BA55A4 8F290000 */ lw $t1, 0x0000($t9) ## 80BA59E4
-/* 02B08 80BA55A8 27B800CC */ addiu $t8, $sp, 0x00CC ## $t8 = FFFFFF94
-/* 02B0C 80BA55AC AF080004 */ sw $t0, 0x0004($t8) ## FFFFFF98
-/* 02B10 80BA55B0 AF090000 */ sw $t1, 0x0000($t8) ## FFFFFF94
-/* 02B14 80BA55B4 8F290008 */ lw $t1, 0x0008($t9) ## 80BA59EC
-/* 02B18 80BA55B8 8F28000C */ lw $t0, 0x000C($t9) ## 80BA59F0
-/* 02B1C 80BA55BC 3C0B80BA */ lui $t3, %hi(D_80BA59FC) ## $t3 = 80BA0000
-/* 02B20 80BA55C0 AF090008 */ sw $t1, 0x0008($t8) ## FFFFFF9C
-/* 02B24 80BA55C4 AF08000C */ sw $t0, 0x000C($t8) ## FFFFFFA0
-/* 02B28 80BA55C8 8F280014 */ lw $t0, 0x0014($t9) ## 80BA59F8
-/* 02B2C 80BA55CC 8F290010 */ lw $t1, 0x0010($t9) ## 80BA59F4
-/* 02B30 80BA55D0 256B59FC */ addiu $t3, $t3, %lo(D_80BA59FC) ## $t3 = 80BA59FC
-/* 02B34 80BA55D4 AF080014 */ sw $t0, 0x0014($t8) ## FFFFFFA8
-/* 02B38 80BA55D8 AF090010 */ sw $t1, 0x0010($t8) ## FFFFFFA4
-/* 02B3C 80BA55DC 8D6C0004 */ lw $t4, 0x0004($t3) ## 80BA5A00
-/* 02B40 80BA55E0 8D6D0000 */ lw $t5, 0x0000($t3) ## 80BA59FC
-/* 02B44 80BA55E4 27AA00B4 */ addiu $t2, $sp, 0x00B4 ## $t2 = FFFFFF7C
-/* 02B48 80BA55E8 AD4C0004 */ sw $t4, 0x0004($t2) ## FFFFFF80
-/* 02B4C 80BA55EC AD4D0000 */ sw $t5, 0x0000($t2) ## FFFFFF7C
-/* 02B50 80BA55F0 8D6D0008 */ lw $t5, 0x0008($t3) ## 80BA5A04
-/* 02B54 80BA55F4 8D6C000C */ lw $t4, 0x000C($t3) ## 80BA5A08
-/* 02B58 80BA55F8 00A0A025 */ or $s4, $a1, $zero ## $s4 = 00000000
-/* 02B5C 80BA55FC AD4D0008 */ sw $t5, 0x0008($t2) ## FFFFFF84
-/* 02B60 80BA5600 AD4C000C */ sw $t4, 0x000C($t2) ## FFFFFF88
-/* 02B64 80BA5604 8D6C0014 */ lw $t4, 0x0014($t3) ## 80BA5A10
-/* 02B68 80BA5608 8D6D0010 */ lw $t5, 0x0010($t3) ## 80BA5A0C
-/* 02B6C 80BA560C 0080B025 */ or $s6, $a0, $zero ## $s6 = 00000000
-/* 02B70 80BA5610 AD4C0014 */ sw $t4, 0x0014($t2) ## FFFFFF90
-/* 02B74 80BA5614 AD4D0010 */ sw $t5, 0x0010($t2) ## FFFFFF8C
-/* 02B78 80BA5618 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000
-/* 02B7C 80BA561C 3C0680BA */ lui $a2, %hi(D_80BA5B98) ## $a2 = 80BA0000
-/* 02B80 80BA5620 24C65B98 */ addiu $a2, $a2, %lo(D_80BA5B98) ## $a2 = 80BA5B98
-/* 02B84 80BA5624 27A400A0 */ addiu $a0, $sp, 0x00A0 ## $a0 = FFFFFF68
-/* 02B88 80BA5628 24070603 */ addiu $a3, $zero, 0x0603 ## $a3 = 00000603
-/* 02B8C 80BA562C 0C031AB1 */ jal Graph_OpenDisps
-/* 02B90 80BA5630 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
-/* 02B94 80BA5634 92CE1659 */ lbu $t6, 0x1659($s6) ## 00001659
-/* 02B98 80BA5638 00009825 */ or $s3, $zero, $zero ## $s3 = 00000000
-/* 02B9C 80BA563C 3C0180BA */ lui $at, %hi(D_80BA5CD0) ## $at = 80BA0000
-/* 02BA0 80BA5640 11C00090 */ beq $t6, $zero, .L80BA5884
-/* 02BA4 80BA5644 24170054 */ addiu $s7, $zero, 0x0054 ## $s7 = 00000054
-/* 02BA8 80BA5648 C4385CD0 */ lwc1 $f24, %lo(D_80BA5CD0)($at)
-/* 02BAC 80BA564C 3C0180BA */ lui $at, %hi(D_80BA5CD4) ## $at = 80BA0000
-/* 02BB0 80BA5650 C4365CD4 */ lwc1 $f22, %lo(D_80BA5CD4)($at)
-/* 02BB4 80BA5654 3C0180BA */ lui $at, %hi(D_80BA5CD8) ## $at = 80BA0000
-/* 02BB8 80BA5658 C4345CD8 */ lwc1 $f20, %lo(D_80BA5CD8)($at)
-/* 02BBC 80BA565C 3C1EE700 */ lui $s8, 0xE700 ## $s8 = E7000000
-.L80BA5660:
-/* 02BC0 80BA5660 02770019 */ multu $s3, $s7
-/* 02BC4 80BA5664 00138080 */ sll $s0, $s3, 2
-/* 02BC8 80BA5668 3C150600 */ lui $s5, %hi(gDemoKekkaiDL_005FF0) ## $s5 = 06000000
-/* 02BCC 80BA566C 26B55FF0 */ addiu $s5, $s5, %lo(gDemoKekkaiDL_005FF0) ## $s5 = 06005FF0
-/* 02BD0 80BA5670 03B0C021 */ addu $t8, $sp, $s0
-/* 02BD4 80BA5674 03B0C821 */ addu $t9, $sp, $s0
-/* 02BD8 80BA5678 03B04021 */ addu $t0, $sp, $s0
-/* 02BDC 80BA567C 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
-/* 02BE0 80BA5680 00007812 */ mflo $t7
-/* 02BE4 80BA5684 02CF9021 */ addu $s2, $s6, $t7
-/* 02BE8 80BA5688 C6440190 */ lwc1 $f4, 0x0190($s2) ## 00000190
-/* 02BEC 80BA568C 4604B03C */ c.lt.s $f22, $f4
-/* 02BF0 80BA5690 00000000 */ nop
-/* 02BF4 80BA5694 45020076 */ bc1fl .L80BA5870
-/* 02BF8 80BA5698 26730001 */ addiu $s3, $s3, 0x0001 ## $s3 = 00000001
-/* 02BFC 80BA569C C70C0114 */ lwc1 $f12, 0x0114($t8) ## 00000114
-/* 02C00 80BA56A0 C72E00FC */ lwc1 $f14, 0x00FC($t9) ## 000000FC
-/* 02C04 80BA56A4 0C034261 */ jal Matrix_Translate
-/* 02C08 80BA56A8 8D0600E4 */ lw $a2, 0x00E4($t0) ## 000000E4
-/* 02C0C 80BA56AC 03B04821 */ addu $t1, $sp, $s0
-/* 02C10 80BA56B0 C52600CC */ lwc1 $f6, 0x00CC($t1) ## 000000CC
-/* 02C14 80BA56B4 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
-/* 02C18 80BA56B8 46143302 */ mul.s $f12, $f6, $f20
-/* 02C1C 80BA56BC 0C034348 */ jal Matrix_RotateY
-/* 02C20 80BA56C0 00000000 */ nop
-/* 02C24 80BA56C4 03B05021 */ addu $t2, $sp, $s0
-/* 02C28 80BA56C8 C54800B4 */ lwc1 $f8, 0x00B4($t2) ## 000000B4
-/* 02C2C 80BA56CC 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
-/* 02C30 80BA56D0 46144302 */ mul.s $f12, $f8, $f20
-/* 02C34 80BA56D4 0C0342DC */ jal Matrix_RotateX
-/* 02C38 80BA56D8 00000000 */ nop
-/* 02C3C 80BA56DC C64C0190 */ lwc1 $f12, 0x0190($s2) ## 00000190
-/* 02C40 80BA56E0 4600C386 */ mov.s $f14, $f24
-/* 02C44 80BA56E4 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
-/* 02C48 80BA56E8 44066000 */ mfc1 $a2, $f12
-/* 02C4C 80BA56EC 0C0342A3 */ jal Matrix_Scale
-/* 02C50 80BA56F0 00000000 */ nop
-/* 02C54 80BA56F4 0C024F61 */ jal func_80093D84
-/* 02C58 80BA56F8 8E840000 */ lw $a0, 0x0000($s4) ## 00000000
-/* 02C5C 80BA56FC 8E2202D0 */ lw $v0, 0x02D0($s1) ## 000002D0
-/* 02C60 80BA5700 3C0DFA00 */ lui $t5, 0xFA00 ## $t5 = FA000000
-/* 02C64 80BA5704 00132880 */ sll $a1, $s3, 2
-/* 02C68 80BA5708 244B0008 */ addiu $t3, $v0, 0x0008 ## $t3 = 00000008
-/* 02C6C 80BA570C AE2B02D0 */ sw $t3, 0x02D0($s1) ## 000002D0
-/* 02C70 80BA5710 AC5E0000 */ sw $s8, 0x0000($v0) ## 00000000
-/* 02C74 80BA5714 AC400004 */ sw $zero, 0x0004($v0) ## 00000004
-/* 02C78 80BA5718 8E2202D0 */ lw $v0, 0x02D0($s1) ## 000002D0
-/* 02C7C 80BA571C 3C0E80BA */ lui $t6, %hi(D_80BA5A14) ## $t6 = 80BA0000
-/* 02C80 80BA5720 25CE5A14 */ addiu $t6, $t6, %lo(D_80BA5A14) ## $t6 = 80BA5A14
-/* 02C84 80BA5724 244C0008 */ addiu $t4, $v0, 0x0008 ## $t4 = 00000008
-/* 02C88 80BA5728 AE2C02D0 */ sw $t4, 0x02D0($s1) ## 000002D0
-/* 02C8C 80BA572C 00B32823 */ subu $a1, $a1, $s3
-/* 02C90 80BA5730 35AD0080 */ ori $t5, $t5, 0x0080 ## $t5 = FA000080
-/* 02C94 80BA5734 00AE1821 */ addu $v1, $a1, $t6
-/* 02C98 80BA5738 AC4D0000 */ sw $t5, 0x0000($v0) ## 00000000
-/* 02C9C 80BA573C 90690000 */ lbu $t1, 0x0000($v1) ## 00000000
-/* 02CA0 80BA5740 90780002 */ lbu $t8, 0x0002($v1) ## 00000002
-/* 02CA4 80BA5744 906D0001 */ lbu $t5, 0x0001($v1) ## 00000001
-/* 02CA8 80BA5748 00095600 */ sll $t2, $t1, 24
-/* 02CAC 80BA574C 0018CA00 */ sll $t9, $t8, 8
-/* 02CB0 80BA5750 032A5825 */ or $t3, $t9, $t2 ## $t3 = 00000000
-/* 02CB4 80BA5754 000D7400 */ sll $t6, $t5, 16
-/* 02CB8 80BA5758 016E7825 */ or $t7, $t3, $t6 ## $t7 = 80BA5A14
-/* 02CBC 80BA575C 35F80080 */ ori $t8, $t7, 0x0080 ## $t8 = 80BA5A94
-/* 02CC0 80BA5760 AC580004 */ sw $t8, 0x0004($v0) ## 00000004
-/* 02CC4 80BA5764 8E2202D0 */ lw $v0, 0x02D0($s1) ## 000002D0
-/* 02CC8 80BA5768 3C1980BA */ lui $t9, %hi(D_80BA5A28) ## $t9 = 80BA0000
-/* 02CCC 80BA576C 27395A28 */ addiu $t9, $t9, %lo(D_80BA5A28) ## $t9 = 80BA5A28
-/* 02CD0 80BA5770 24480008 */ addiu $t0, $v0, 0x0008 ## $t0 = 00000008
-/* 02CD4 80BA5774 AE2802D0 */ sw $t0, 0x02D0($s1) ## 000002D0
-/* 02CD8 80BA5778 3C09FB00 */ lui $t1, 0xFB00 ## $t1 = FB000000
-/* 02CDC 80BA577C 00B91821 */ addu $v1, $a1, $t9
-/* 02CE0 80BA5780 AC490000 */ sw $t1, 0x0000($v0) ## 00000000
-/* 02CE4 80BA5784 906E0000 */ lbu $t6, 0x0000($v1) ## 00000000
-/* 02CE8 80BA5788 906C0002 */ lbu $t4, 0x0002($v1) ## 00000002
-/* 02CEC 80BA578C 90690001 */ lbu $t1, 0x0001($v1) ## 00000001
-/* 02CF0 80BA5790 000E7E00 */ sll $t7, $t6, 24
-/* 02CF4 80BA5794 000C6A00 */ sll $t5, $t4, 8
-/* 02CF8 80BA5798 01AFC025 */ or $t8, $t5, $t7 ## $t8 = FABA5A94
-/* 02CFC 80BA579C 0009CC00 */ sll $t9, $t1, 16
-/* 02D00 80BA57A0 03195025 */ or $t2, $t8, $t9 ## $t2 = FABA5ABC
-/* 02D04 80BA57A4 354C0080 */ ori $t4, $t2, 0x0080 ## $t4 = FABA5ABC
-/* 02D08 80BA57A8 AC4C0004 */ sw $t4, 0x0004($v0) ## 00000004
-/* 02D0C 80BA57AC 8E2202D0 */ lw $v0, 0x02D0($s1) ## 000002D0
-/* 02D10 80BA57B0 3C0EDA38 */ lui $t6, 0xDA38 ## $t6 = DA380000
-/* 02D14 80BA57B4 35CE0003 */ ori $t6, $t6, 0x0003 ## $t6 = DA380003
-/* 02D18 80BA57B8 244B0008 */ addiu $t3, $v0, 0x0008 ## $t3 = 00000008
-/* 02D1C 80BA57BC AE2B02D0 */ sw $t3, 0x02D0($s1) ## 000002D0
-/* 02D20 80BA57C0 3C0580BA */ lui $a1, %hi(D_80BA5BB0) ## $a1 = 80BA0000
-/* 02D24 80BA57C4 AC4E0000 */ sw $t6, 0x0000($v0) ## 00000000
-/* 02D28 80BA57C8 8E840000 */ lw $a0, 0x0000($s4) ## 00000000
-/* 02D2C 80BA57CC 24A55BB0 */ addiu $a1, $a1, %lo(D_80BA5BB0) ## $a1 = 80BA5BB0
-/* 02D30 80BA57D0 24060632 */ addiu $a2, $zero, 0x0632 ## $a2 = 00000632
-/* 02D34 80BA57D4 0C0346A2 */ jal Matrix_NewMtx
-/* 02D38 80BA57D8 00408025 */ or $s0, $v0, $zero ## $s0 = 00000000
-/* 02D3C 80BA57DC AE020004 */ sw $v0, 0x0004($s0) ## 00000004
-/* 02D40 80BA57E0 8E2202D0 */ lw $v0, 0x02D0($s1) ## 000002D0
-/* 02D44 80BA57E4 3C0FDB06 */ lui $t7, 0xDB06 ## $t7 = DB060000
-/* 02D48 80BA57E8 35EF0020 */ ori $t7, $t7, 0x0020 ## $t7 = DB060020
-/* 02D4C 80BA57EC 244D0008 */ addiu $t5, $v0, 0x0008 ## $t5 = 00000008
-/* 02D50 80BA57F0 AE2D02D0 */ sw $t5, 0x02D0($s1) ## 000002D0
-/* 02D54 80BA57F4 AC4F0000 */ sw $t7, 0x0000($v0) ## 00000000
-/* 02D58 80BA57F8 8E83009C */ lw $v1, 0x009C($s4) ## 0000009C
-/* 02D5C 80BA57FC 8E840000 */ lw $a0, 0x0000($s4) ## 00000000
-/* 02D60 80BA5800 24080020 */ addiu $t0, $zero, 0x0020 ## $t0 = 00000020
-/* 02D64 80BA5804 00033880 */ sll $a3, $v1, 2
-/* 02D68 80BA5808 00E33821 */ addu $a3, $a3, $v1
-/* 02D6C 80BA580C 00033080 */ sll $a2, $v1, 2
-/* 02D70 80BA5810 00073840 */ sll $a3, $a3, 1
-/* 02D74 80BA5814 24090040 */ addiu $t1, $zero, 0x0040 ## $t1 = 00000040
-/* 02D78 80BA5818 24180001 */ addiu $t8, $zero, 0x0001 ## $t8 = 00000001
-/* 02D7C 80BA581C 24190020 */ addiu $t9, $zero, 0x0020 ## $t9 = 00000020
-/* 02D80 80BA5820 240A0040 */ addiu $t2, $zero, 0x0040 ## $t2 = 00000040
-/* 02D84 80BA5824 00C33021 */ addu $a2, $a2, $v1
-/* 02D88 80BA5828 AFA6001C */ sw $a2, 0x001C($sp)
-/* 02D8C 80BA582C AFAA0028 */ sw $t2, 0x0028($sp)
-/* 02D90 80BA5830 AFB90024 */ sw $t9, 0x0024($sp)
-/* 02D94 80BA5834 AFB80018 */ sw $t8, 0x0018($sp)
-/* 02D98 80BA5838 AFA90014 */ sw $t1, 0x0014($sp)
-/* 02D9C 80BA583C AFA70020 */ sw $a3, 0x0020($sp)
-/* 02DA0 80BA5840 AFA80010 */ sw $t0, 0x0010($sp)
-/* 02DA4 80BA5844 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
-/* 02DA8 80BA5848 0C0253D0 */ jal Gfx_TwoTexScroll
-/* 02DAC 80BA584C 00408025 */ or $s0, $v0, $zero ## $s0 = 00000000
-/* 02DB0 80BA5850 AE020004 */ sw $v0, 0x0004($s0) ## 00000004
-/* 02DB4 80BA5854 8E2202D0 */ lw $v0, 0x02D0($s1) ## 000002D0
-/* 02DB8 80BA5858 3C0BDE00 */ lui $t3, 0xDE00 ## $t3 = DE000000
-/* 02DBC 80BA585C 244C0008 */ addiu $t4, $v0, 0x0008 ## $t4 = 00000008
-/* 02DC0 80BA5860 AE2C02D0 */ sw $t4, 0x02D0($s1) ## 000002D0
-/* 02DC4 80BA5864 AC550004 */ sw $s5, 0x0004($v0) ## 00000004
-/* 02DC8 80BA5868 AC4B0000 */ sw $t3, 0x0000($v0) ## 00000000
-/* 02DCC 80BA586C 26730001 */ addiu $s3, $s3, 0x0001 ## $s3 = 00000002
-.L80BA5870:
-/* 02DD0 80BA5870 00139C00 */ sll $s3, $s3, 16
-/* 02DD4 80BA5874 00139C03 */ sra $s3, $s3, 16
-/* 02DD8 80BA5878 2A610006 */ slti $at, $s3, 0x0006
-/* 02DDC 80BA587C 1420FF78 */ bne $at, $zero, .L80BA5660
-/* 02DE0 80BA5880 00000000 */ nop
-.L80BA5884:
-/* 02DE4 80BA5884 3C0680BA */ lui $a2, %hi(D_80BA5BC8) ## $a2 = 80BA0000
-/* 02DE8 80BA5888 24C65BC8 */ addiu $a2, $a2, %lo(D_80BA5BC8) ## $a2 = 80BA5BC8
-/* 02DEC 80BA588C 27A400A0 */ addiu $a0, $sp, 0x00A0 ## $a0 = FFFFFF68
-/* 02DF0 80BA5890 8E850000 */ lw $a1, 0x0000($s4) ## 00000000
-/* 02DF4 80BA5894 0C031AD5 */ jal Graph_CloseDisps
-/* 02DF8 80BA5898 24070647 */ addiu $a3, $zero, 0x0647 ## $a3 = 00000647
-/* 02DFC 80BA589C 8FBF0074 */ lw $ra, 0x0074($sp)
-/* 02E00 80BA58A0 D7B40038 */ ldc1 $f20, 0x0038($sp)
-/* 02E04 80BA58A4 D7B60040 */ ldc1 $f22, 0x0040($sp)
-/* 02E08 80BA58A8 D7B80048 */ ldc1 $f24, 0x0048($sp)
-/* 02E0C 80BA58AC 8FB00050 */ lw $s0, 0x0050($sp)
-/* 02E10 80BA58B0 8FB10054 */ lw $s1, 0x0054($sp)
-/* 02E14 80BA58B4 8FB20058 */ lw $s2, 0x0058($sp)
-/* 02E18 80BA58B8 8FB3005C */ lw $s3, 0x005C($sp)
-/* 02E1C 80BA58BC 8FB40060 */ lw $s4, 0x0060($sp)
-/* 02E20 80BA58C0 8FB50064 */ lw $s5, 0x0064($sp)
-/* 02E24 80BA58C4 8FB60068 */ lw $s6, 0x0068($sp)
-/* 02E28 80BA58C8 8FB7006C */ lw $s7, 0x006C($sp)
-/* 02E2C 80BA58CC 8FBE0070 */ lw $s8, 0x0070($sp)
-/* 02E30 80BA58D0 03E00008 */ jr $ra
-/* 02E34 80BA58D4 27BD0138 */ addiu $sp, $sp, 0x0138 ## $sp = 00000000
-/* 02E38 80BA58D8 00000000 */ nop
-/* 02E3C 80BA58DC 00000000 */ nop
diff --git a/assets/xml/objects/object_spot02_objects.xml b/assets/xml/objects/object_spot02_objects.xml
index 28452bf5ad..978b7cba87 100644
--- a/assets/xml/objects/object_spot02_objects.xml
+++ b/assets/xml/objects/object_spot02_objects.xml
@@ -3,7 +3,7 @@
-
+
@@ -21,5 +21,13 @@
+
+
+
+
+
+
+
+
diff --git a/data/overlays/actors/z_object_kankyo.data.s b/data/overlays/actors/z_object_kankyo.data.s
deleted file mode 100644
index 734bb97b56..0000000000
--- a/data/overlays/actors/z_object_kankyo.data.s
+++ /dev/null
@@ -1,54 +0,0 @@
-.include "macro.inc"
-
- # assembler directives
- .set noat # allow manual use of $at
- .set noreorder # don't insert nops after branches
- .set gp=64 # allow use of 64-bit general purpose registers
-
-.section .data
-
-.balign 16
-
-glabel D_80BA58E0
- .word gEffLightning1Tex, gEffLightning2Tex, gEffLightning3Tex, gEffLightning4Tex, gEffLightning5Tex, gEffLightning6Tex, gEffLightning7Tex, gEffLightning8Tex
-glabel D_80BA5900
- .word 0x060015E0, 0x060025E0, 0x060035E0, 0x060045E0, 0x060055E0, 0x060065E0, 0x060075E0, 0x060085E0
-glabel Object_Kankyo_InitVars
- .word 0x00970700, 0x02000030, 0x00010000, 0x00001660
-.word ObjectKankyo_Init
-.word ObjectKankyo_Destroy
-.word ObjectKankyo_Update
-.word ObjectKankyo_Draw
-glabel D_80BA5940
- .word 0x00000000
-glabel D_80BA5944
- .word 0x00000000
-glabel D_80BA5948
- .word 0x00000000, 0x00000000, 0x00000000
-glabel D_80BA5954
- .word 0x00000000, 0x00000000, 0x00000000
-glabel D_80BA5960
- .word 0x00000000, 0x00000000, 0x00000000
-glabel D_80BA596C
- .word 0x00000000, 0x00000000, 0x00000000
-glabel D_80BA5978
- .word 0x00000000, 0x00000000, 0x00000000
-glabel D_80BA5984
- .word 0x00000000, 0x00000000, 0x00000000
-glabel D_80BA5990
- .word 0x00000000, 0x00000000, 0x00000000
-glabel D_80BA599C
- .word 0x43D70000, 0x44570000, 0x43D70000, 0xC3D50000, 0xC4578000, 0xC3DC0000
-glabel D_80BA59B4
- .word 0x4409C000, 0x4409C000, 0x4409C000, 0x440A8000, 0x4409C000, 0x4408C000
-glabel D_80BA59CC
- .word 0xC2C00000, 0xC4520000, 0xC4C62000, 0xC4C54000, 0xC4520000, 0xC29C0000
-glabel D_80BA59E4
- .word 0x41EF3333, 0x42B40000, 0x43160000, 0x41F00000, 0x42B40000, 0xC1F0CCCD
-glabel D_80BA59FC
- .word 0x42CECCCD, 0x42CF999A, 0x42CF3333, 0xC2CECCCD, 0xC2CF0000, 0x42CF0000
-glabel D_80BA5A14
- .word 0xFFFFAAAA, 0xFFFFFFAA, 0xFFFFFFAA, 0xFFFFAAFF, 0xFFAA0000
-glabel D_80BA5A28
- .word 0x00C80000, 0x32FF6400, 0xC8C80000, 0xC8FF00FF, 0x78000000, 0x00000000
-
diff --git a/data/overlays/actors/z_object_kankyo.reloc.s b/data/overlays/actors/z_object_kankyo.reloc.s
deleted file mode 100644
index 99d279d8e0..0000000000
--- a/data/overlays/actors/z_object_kankyo.reloc.s
+++ /dev/null
@@ -1,13 +0,0 @@
-.include "macro.inc"
-
- # assembler directives
- .set noat # allow manual use of $at
- .set noreorder # don't insert nops after branches
- .set gp=64 # allow use of 64-bit general purpose registers
-
-.section .rodata
-
-.balign 16
-
-glabel D_80BA5CE0
- .incbin "baserom/ovl_Object_Kankyo", 0x3240, 0x00000390
diff --git a/spec b/spec
index 2f1c992b03..c5ab5abf6c 100644
--- a/spec
+++ b/spec
@@ -3331,8 +3331,7 @@ endseg
beginseg
name "ovl_Object_Kankyo"
include "build/src/overlays/actors/ovl_Object_Kankyo/z_object_kankyo.o"
- include "build/data/overlays/actors/z_object_kankyo.data.o"
- include "build/data/overlays/actors/z_object_kankyo.reloc.o"
+ include "build/src/overlays/actors/ovl_Object_Kankyo/ovl_Object_Kankyo_reloc.o"
endseg
beginseg
diff --git a/src/code/z_demo.c b/src/code/z_demo.c
index 8b750641f8..f2f39d57fc 100644
--- a/src/code/z_demo.c
+++ b/src/code/z_demo.c
@@ -181,7 +181,7 @@ void func_80064824(GlobalContext* globalCtx, CutsceneContext* csCtx, CsCmdBase*
if (sp3F != 0) {
func_800F6D58(0xE, 4, 0x3F);
func_800F6D58(0xE, 1, 1);
- globalCtx->envCtx.unk_EE[0] = 0x14;
+ globalCtx->envCtx.unk_EE[0] = 20;
}
break;
case 2:
@@ -223,7 +223,7 @@ void func_80064824(GlobalContext* globalCtx, CutsceneContext* csCtx, CsCmdBase*
}
break;
case 9:
- globalCtx->envCtx.unk_EE[3] = 0x10;
+ globalCtx->envCtx.unk_EE[3] = 16;
break;
case 10:
Flags_SetEnv(globalCtx, 1);
diff --git a/src/overlays/actors/ovl_Object_Kankyo/z_object_kankyo.c b/src/overlays/actors/ovl_Object_Kankyo/z_object_kankyo.c
index 2fafc23510..723c2355c0 100644
--- a/src/overlays/actors/ovl_Object_Kankyo/z_object_kankyo.c
+++ b/src/overlays/actors/ovl_Object_Kankyo/z_object_kankyo.c
@@ -7,6 +7,7 @@
#include "z_object_kankyo.h"
#include "objects/object_demo_kekkai/object_demo_kekkai.h"
#include "objects/gameplay_keep/gameplay_keep.h"
+#include "objects/object_spot02_objects/object_spot02_objects.h"
#define FLAGS 0x02000030
@@ -17,9 +18,35 @@ void ObjectKankyo_Destroy(Actor* thisx, GlobalContext* globalCtx);
void ObjectKankyo_Update(Actor* thisx, GlobalContext* globalCtx);
void ObjectKankyo_Draw(Actor* thisx, GlobalContext* globalCtx);
-extern UNK_TYPE D_06009620;
+void ObjectKankyo_SetupAction(ObjectKankyo* this, ObjectKankyoActionFunc func);
+void ObjectKankyo_Fairies(ObjectKankyo* this, GlobalContext* globalCtx);
+void ObjectKankyo_SunGraveSparkInit(ObjectKankyo* this, GlobalContext* globalCtx);
+void ObjectKankyo_Snow(ObjectKankyo* this, GlobalContext* globalCtx);
+void ObjectKankyo_Lightning(ObjectKankyo* this, GlobalContext* globalCtx);
+void ObjectKankyo_InitBeams(ObjectKankyo* this, GlobalContext* globalCtx);
+void ObjectKankyo_WaitForSunGraveSparkObject(ObjectKankyo* this, GlobalContext* globalCtx);
+void ObjectKankyo_SunGraveSpark(ObjectKankyo* this, GlobalContext* globalCtx);
+void ObjectKankyo_WaitForBeamObject(ObjectKankyo* this, GlobalContext* globalCtx);
+void ObjectKankyo_Beams(ObjectKankyo* this, GlobalContext* globalCtx);
+
+void ObjectKankyo_DrawFairies(ObjectKankyo* this, GlobalContext* globalCtx);
+void ObjectKankyo_DrawSnow(ObjectKankyo* this, GlobalContext* globalCtx);
+void ObjectKankyo_DrawLightning(ObjectKankyo* this, GlobalContext* globalCtx);
+void ObjectKankyo_DrawSunGraveSpark(ObjectKankyo* this, GlobalContext* globalCtx);
+void ObjectKankyo_DrawBeams(ObjectKankyo* this, GlobalContext* globalCtx);
+
+extern Mtx D_01000000;
+
+static void* sEffLightningTextures[] = {
+ gEffLightning1Tex, gEffLightning2Tex, gEffLightning3Tex, gEffLightning4Tex,
+ gEffLightning5Tex, gEffLightning6Tex, gEffLightning7Tex, gEffLightning8Tex,
+};
+
+static void* D_80BA5900[] = {
+ gEffSunGraveSpark1Tex, gEffSunGraveSpark2Tex, gEffSunGraveSpark3Tex, gEffSunGraveSpark4Tex,
+ gEffSunGraveSpark5Tex, gEffSunGraveSpark6Tex, gEffSunGraveSpark7Tex, gEffSunGraveSpark8Tex,
+};
-/*
const ActorInit Object_Kankyo_InitVars = {
ACTOR_OBJECT_KANKYO,
ACTORCAT_ITEMACTION,
@@ -31,41 +58,884 @@ const ActorInit Object_Kankyo_InitVars = {
(ActorFunc)ObjectKankyo_Update,
(ActorFunc)ObjectKankyo_Draw,
};
-*/
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Object_Kankyo/ObjectKankyo_SetupAction.s")
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Object_Kankyo/ObjectKankyo_Init.s")
+static u8 sIsSpawned = false;
+static s16 sTrailingFairies = 0;
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Object_Kankyo/ObjectKankyo_Destroy.s")
+void ObjectKankyo_SetupAction(ObjectKankyo* this, ObjectKankyoActionFunc action) {
+ this->actionFunc = action;
+}
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Object_Kankyo/func_80BA2DC8.s")
+void ObjectKankyo_Init(Actor* thisx, GlobalContext* globalCtx) {
+ ObjectKankyo* this = THIS;
+ s32 pad;
+ s16 i;
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Object_Kankyo/func_80BA2DD4.s")
+ for (i = 0; i < ARRAY_COUNT(this->effects); i++) {
+ this->effects[i].state = 0;
+ }
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Object_Kankyo/ObjectKankyo_Update.s")
+ this->actor.room = -1;
+ switch (this->actor.params) {
+ case 0:
+ if (!sIsSpawned) {
+ ObjectKankyo_SetupAction(this, ObjectKankyo_Fairies);
+ sIsSpawned = true;
+ } else {
+ Actor_Kill(&this->actor);
+ }
+ break;
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Object_Kankyo/ObjectKankyo_Draw.s")
+ case 3:
+ if (!sIsSpawned) {
+ ObjectKankyo_SetupAction(this, ObjectKankyo_Snow);
+ sIsSpawned = true;
+ } else {
+ Actor_Kill(&this->actor);
+ }
+ break;
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Object_Kankyo/func_80BA3C94.s")
+ case 2:
+ ObjectKankyo_SetupAction(this, ObjectKankyo_Lightning);
+ break;
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Object_Kankyo/func_80BA414C.s")
+ case 4:
+ this->effects[0].alpha = 0;
+ this->effects[0].amplitude = 0.0f;
+ Actor_ChangeCategory(globalCtx, &globalCtx->actorCtx, &this->actor, ACTORCAT_ITEMACTION);
+ this->requiredObjectLoaded = false;
+ ObjectKankyo_SetupAction(this, ObjectKankyo_SunGraveSparkInit);
+ break;
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Object_Kankyo/func_80BA4914.s")
+ case 5:
+ this->effects[0].alpha = 0;
+ this->effects[0].amplitude = 0.0f;
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Object_Kankyo/func_80BA49BC.s")
+ for (i = 0; i < 6; i++) {
+ this->effects[i].size = 0.1f;
+ }
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Object_Kankyo/func_80BA4BFC.s")
+ // Check which beams are disabled
+ if (Flags_GetEventChkInf(0xBB)) {
+ this->effects[0].size = 0.0f;
+ }
+ if (Flags_GetEventChkInf(0xBC)) {
+ this->effects[1].size = 0.0f;
+ }
+ if (Flags_GetEventChkInf(0xBD)) {
+ this->effects[2].size = 0.0f;
+ }
+ if (Flags_GetEventChkInf(0xBE)) {
+ this->effects[3].size = 0.0f;
+ }
+ if (Flags_GetEventChkInf(0xBF)) {
+ this->effects[4].size = 0.0f;
+ }
+ if (Flags_GetEventChkInf(0xAD)) {
+ this->effects[5].size = 0.0f;
+ }
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Object_Kankyo/func_80BA4C68.s")
+ if (gSaveContext.cutsceneTrigger != 0) {
+ if (gSaveContext.entranceIndex == 0x0538) {
+ this->effects[0].size = 0.1f;
+ }
+ if (gSaveContext.entranceIndex == 0x053C) {
+ this->effects[1].size = 0.1f;
+ }
+ if (gSaveContext.entranceIndex == 0x0540) {
+ this->effects[2].size = 0.1f;
+ }
+ if (gSaveContext.entranceIndex == 0x0544) {
+ this->effects[3].size = 0.1f;
+ }
+ if (gSaveContext.entranceIndex == 0x0548) {
+ this->effects[4].size = 0.1f;
+ }
+ if (gSaveContext.entranceIndex == 0x054C) {
+ this->effects[5].size = 0.1f;
+ }
+ }
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Object_Kankyo/func_80BA4CD4.s")
+ this->requiredObjectLoaded = false;
+ ObjectKankyo_SetupAction(this, ObjectKankyo_InitBeams);
+ break;
+ }
+}
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Object_Kankyo/func_80BA4D7C.s")
+void ObjectKankyo_Destroy(Actor* thisx, GlobalContext* globalCtx) {
+ Actor_Kill(thisx);
+}
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Object_Kankyo/func_80BA5304.s")
+void ObjectKankyo_Snow(ObjectKankyo* this, GlobalContext* globalCtx) {
+}
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Object_Kankyo/func_80BA5370.s")
+void ObjectKankyo_Fairies(ObjectKankyo* this, GlobalContext* globalCtx) {
+ static Vec3f sSoundPos = { 0.0f, 0.0f, 0.0f };
+ Player* player;
+ f32 dist;
+ s32 playerMoved;
+ f32 dx;
+ f32 dy;
+ f32 dz;
+ f32 viewForwardsX;
+ f32 viewForwardsY;
+ f32 viewForwardsZ;
+ f32 maxDist;
+ f32 baseX;
+ f32 baseY;
+ f32 baseZ;
+ Vec3f vec1 = { 0.0f, 0.0f, 0.0f };
+ Vec3f vec2 = { 0.0f, 0.0f, 0.0f };
+ f32 random;
+ s16 i;
+ Vec3f viewForwards;
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Object_Kankyo/func_80BA53CC.s")
+ player = GET_PLAYER(globalCtx);
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Object_Kankyo/func_80BA54AC.s")
+ if (globalCtx->sceneNum == SCENE_SPOT04 && gSaveContext.sceneSetupIndex == 7) {
+ dist = Math3D_Vec3f_DistXYZ(&this->prevEyePos, &globalCtx->view.eye);
+
+ this->prevEyePos.x = globalCtx->view.eye.x;
+ this->prevEyePos.y = globalCtx->view.eye.y;
+ this->prevEyePos.z = globalCtx->view.eye.z;
+
+ dist /= 30.0f;
+ if (dist > 1.0f) {
+ dist = 1.0f;
+ }
+
+ func_800F436C(&sSoundPos, NA_SE_EV_NAVY_FLY - SFX_FLAG, (0.4f * dist) + 0.6f);
+ switch (globalCtx->csCtx.frames) {
+ case 473:
+ func_800788CC(NA_SE_VO_NA_HELLO_3);
+ break;
+
+ case 583:
+ func_800F4524(&D_801333D4, NA_SE_VO_NA_HELLO_2, 32);
+ break;
+
+ case 763:
+ func_80078884(NA_SE_EV_NAVY_CRASH - SFX_FLAG);
+ break;
+
+ case 771:
+ func_80078884(NA_SE_VO_RT_THROW);
+ break;
+ }
+ }
+
+ if (globalCtx->envCtx.unk_EE[3] < 64 &&
+ (gSaveContext.entranceIndex != 0x00EE || gSaveContext.sceneSetupIndex != 4 || globalCtx->envCtx.unk_EE[3])) {
+ globalCtx->envCtx.unk_EE[3] += 16;
+ }
+
+ for (i = 0; i < globalCtx->envCtx.unk_EE[3]; i++) {
+ // spawn in front of the camera
+ dx = globalCtx->view.lookAt.x - globalCtx->view.eye.x;
+ dy = globalCtx->view.lookAt.y - globalCtx->view.eye.y;
+ dz = globalCtx->view.lookAt.z - globalCtx->view.eye.z;
+ dist = sqrtf(SQ(dx) + SQ(dy) + SQ(dz));
+
+ viewForwards.x = dx / dist;
+ viewForwards.y = dy / dist;
+ viewForwards.z = dz / dist;
+
+ viewForwardsX = viewForwards.x;
+ viewForwardsY = viewForwards.y;
+ viewForwardsZ = viewForwards.z;
+
+ switch (this->effects[i].state) {
+ case 0: // init
+ this->effects[i].base.x = globalCtx->view.eye.x + viewForwardsX * 80.0f;
+ this->effects[i].base.y = globalCtx->view.eye.y + viewForwardsY * 80.0f;
+ this->effects[i].base.z = globalCtx->view.eye.z + viewForwardsZ * 80.0f;
+
+ this->effects[i].pos.x = (Rand_ZeroOne() - 0.5f) * 160.0f;
+ this->effects[i].pos.y = 30.0f;
+ this->effects[i].pos.z = (Rand_ZeroOne() - 0.5f) * 160.0f;
+ this->effects[i].targetSpeed = Rand_ZeroOne() * 1.6f + 0.5f;
+ this->effects[i].alpha = 0;
+ this->effects[i].alphaTimer = Rand_ZeroOne() * 65535.0f;
+ this->effects[i].size = 0.1f;
+ this->effects[i].dirPhase.x = Rand_ZeroOne() * 360.0f;
+ this->effects[i].dirPhase.y = Rand_ZeroOne() * 360.0f;
+ this->effects[i].dirPhase.z = Rand_ZeroOne() * 360.0f;
+ this->effects[i].state++;
+ this->effects[i].timer = 0;
+ break;
+
+ case 1: // blinking fairies / inactive fairy trails
+ case 2: // fairy trails
+ this->effects[i].alphaTimer++;
+ baseX = globalCtx->view.eye.x + viewForwards.x * 80.0f;
+ baseY = globalCtx->view.eye.y + viewForwards.y * 80.0f;
+ baseZ = globalCtx->view.eye.z + viewForwards.z * 80.0f;
+
+ this->effects[i].prevPos.x = this->effects[i].pos.x;
+ this->effects[i].prevPos.y = this->effects[i].pos.y;
+ this->effects[i].prevPos.z = this->effects[i].pos.z;
+
+ playerMoved = true;
+ // y velocity is set to -4 when the player is on the ground
+ if (player->actor.velocity.x + player->actor.velocity.y + player->actor.velocity.z == -4.0f) {
+ playerMoved = false;
+ this->effects[i].timer++;
+ } else {
+ this->effects[i].timer = 0;
+ }
+
+ if (this->effects[i].state == 1) {
+ // the first 32 fairies are invisible until the player stands still
+ if (i < 32 && !playerMoved && this->effects[i].timer > 256) {
+ this->effects[i].timer = 0;
+ if (Rand_ZeroOne() < 0.5f) {
+ this->effects[i].angleVel = (s16)(Rand_ZeroOne() * 200.0f) + 200;
+ } else {
+ this->effects[i].angleVel = -((s16)(Rand_ZeroOne() * 200.0f) + 200);
+ }
+
+ this->effects[i].flightRadius = (s16)(Rand_ZeroOne() * 50.0f) + 15;
+
+ // uniformly scales the length and height of the wave that the lead fairy flies in
+ // lower numbers have a larger amplitude and period
+ this->effects[i].amplitude = (Rand_ZeroOne() * 10.0f + 10.0f) * 0.01f;
+
+ random = Rand_ZeroOne();
+ if (random < 0.2f) {
+ sTrailingFairies = 1;
+ } else if (random < 0.2f) {
+ // unreachable
+ sTrailingFairies = 3;
+ } else if (random < 0.4f) {
+ sTrailingFairies = 7;
+ } else {
+ sTrailingFairies = 15;
+ }
+
+ if ((i & sTrailingFairies) == 0) {
+ this->effects[i].pos.y = 0.0f;
+ }
+
+ this->effects[i].state = 2;
+ this->effects[i].targetSpeed = 0.0f;
+ }
+
+ Math_SmoothStepToF(&this->effects[i].size, 0.1f, 0.10f, 0.001f, 0.00001f);
+ Math_SmoothStepToF(&this->effects[i].speed, this->effects[i].targetSpeed, 0.5f, 0.2f, 0.02f);
+
+ this->effects[i].pos.x += sinf(this->effects[i].dirPhase.x) * this->effects[i].speed;
+ this->effects[i].pos.y += sinf(this->effects[i].dirPhase.y) * this->effects[i].speed;
+ this->effects[i].pos.z += sinf(this->effects[i].dirPhase.z) * this->effects[i].speed;
+
+ switch ((i >> 1) & 3) {
+ case 0:
+ this->effects[i].dirPhase.x += 0.008f;
+ this->effects[i].dirPhase.y += 0.05f * Rand_ZeroOne();
+ this->effects[i].dirPhase.z += 0.015f;
+ break;
+
+ case 1:
+ this->effects[i].dirPhase.x += 0.01f * Rand_ZeroOne();
+ this->effects[i].dirPhase.y += 0.05f * Rand_ZeroOne();
+ this->effects[i].dirPhase.z += 0.005f * Rand_ZeroOne();
+ break;
+
+ case 2:
+ this->effects[i].dirPhase.x += 0.01f * Rand_ZeroOne();
+ this->effects[i].dirPhase.y += 0.4f * Rand_ZeroOne();
+ this->effects[i].dirPhase.z += 0.004f * Rand_ZeroOne();
+ break;
+
+ case 3:
+ this->effects[i].dirPhase.x += 0.01 * Rand_ZeroOne();
+ this->effects[i].dirPhase.y += 0.08f * Rand_ZeroOne();
+ this->effects[i].dirPhase.z += 0.05f * Rand_ZeroOne();
+ break;
+ }
+ } else if (this->effects[i].state == 2) {
+ // scatter when the player moves or after a long enough time
+ if (playerMoved || this->effects[i].timer > 1280) {
+ this->effects[i].timer = 0;
+ this->effects[i].state = 1;
+ this->effects[i].speed = 1.5f;
+ this->effects[i].targetSpeed = Rand_ZeroOne() * 1.6f + 0.5f;
+ }
+
+ if ((i & sTrailingFairies) == 0) { // leader fairy
+ Math_SmoothStepToF(&this->effects[i].size, 0.25f, 0.1f, 0.001f, 0.00001f);
+
+ // move the center of the flight path to player's position
+ Math_SmoothStepToF(&this->effects[i].base.x, player->actor.world.pos.x, 0.5f, 1.0f, 0.2f);
+ Math_SmoothStepToF(&this->effects[i].base.y, player->actor.world.pos.y + 50.0f, 0.5f, 1.0f,
+ 0.2f);
+ Math_SmoothStepToF(&this->effects[i].base.z, player->actor.world.pos.z, 0.5f, 1.0f, 0.2f);
+
+ // results unused
+ Math_SmoothStepToF(&this->effects[i].pos.x,
+ Math_SinS(this->effects[i].angle - 0x8000) * this->effects[i].flightRadius,
+ 0.5f, 2.0f, 0.2f);
+ Math_SmoothStepToF(&this->effects[i].pos.z,
+ Math_CosS(this->effects[i].angle - 0x8000) * this->effects[i].flightRadius,
+ 0.5f, 2.0f, 0.2f);
+
+ // the lead fairy's y position approximately follows a sine wave with `amplitude` as angular
+ // frequency and `1 / amplitude` as amplitude
+ this->effects[i].angle += this->effects[i].angleVel;
+ this->effects[i].pos.y += sinf(this->effects[i].dirPhase.y);
+
+ this->effects[i].dirPhase.x += 0.2f * Rand_ZeroOne();
+ this->effects[i].dirPhase.y += this->effects[i].amplitude;
+ this->effects[i].dirPhase.z += 0.1f * Rand_ZeroOne();
+
+ // circle around the player
+ this->effects[i].pos.x =
+ Math_SinS(this->effects[i].angle - 0x8000) * this->effects[i].flightRadius;
+ this->effects[i].pos.z =
+ Math_CosS(this->effects[i].angle - 0x8000) * this->effects[i].flightRadius;
+ } else { // trailing fairy
+ Math_SmoothStepToF(&this->effects[i].size, 0.1f, 0.10f, 0.001f, 0.00001f);
+ Math_SmoothStepToF(&this->effects[i].speed, 1.5f, 0.5f, 0.1f, 0.0002f);
+
+ // follow previous fairy, translate their position to be relative to our home
+ this->effects[i].pos.x =
+ this->effects[i - 1].prevPos.x + (this->effects[i - 1].base.x - this->effects[i].base.x);
+ this->effects[i].pos.y =
+ this->effects[i - 1].prevPos.y + (this->effects[i - 1].base.y - this->effects[i].base.y);
+ this->effects[i].pos.z =
+ this->effects[i - 1].prevPos.z + (this->effects[i - 1].base.z - this->effects[i].base.z);
+ }
+ }
+
+ if (this->effects[i].state != 2) {
+ maxDist = 130.0f;
+ if (this->effects[i].base.x + this->effects[i].pos.x - baseX > maxDist ||
+ this->effects[i].base.x + this->effects[i].pos.x - baseX < -maxDist ||
+ this->effects[i].base.y + this->effects[i].pos.y - baseY > maxDist ||
+ this->effects[i].base.y + this->effects[i].pos.y - baseY < -maxDist ||
+ this->effects[i].base.z + this->effects[i].pos.z - baseZ > maxDist ||
+ this->effects[i].base.z + this->effects[i].pos.z - baseZ < -maxDist) {
+
+ // when a fairy moves off screen, wrap around to the other side
+ if (this->effects[i].base.x + this->effects[i].pos.x - baseX > maxDist) {
+ this->effects[i].base.x = baseX - maxDist;
+ this->effects[i].pos.x = 0.0f;
+ }
+ if (this->effects[i].base.x + this->effects[i].pos.x - baseX < -maxDist) {
+ this->effects[i].base.x = baseX + maxDist;
+ this->effects[i].pos.x = 0.0f;
+ }
+ if (this->effects[i].base.y + this->effects[i].pos.y - baseY > 50.0f) {
+ this->effects[i].base.y = baseY - 50.0f;
+ this->effects[i].pos.y = 0.0f;
+ }
+ if (this->effects[i].base.y + this->effects[i].pos.y - baseY < -50.0f) {
+ this->effects[i].base.y = baseY + 50.0f;
+ this->effects[i].pos.y = 0.0f;
+ }
+ if (this->effects[i].base.z + this->effects[i].pos.z - baseZ > maxDist) {
+ this->effects[i].base.z = baseZ - maxDist;
+ this->effects[i].pos.z = 0.0f;
+ }
+ if (this->effects[i].base.z + this->effects[i].pos.z - baseZ < -maxDist) {
+ this->effects[i].base.z = baseZ + maxDist;
+ this->effects[i].pos.z = 0.0f;
+ }
+ }
+ }
+ break;
+
+ case 3: // reset, never reached
+ this->effects[i].state = 0;
+ break;
+ }
+ }
+}
+
+void ObjectKankyo_Update(Actor* thisx, GlobalContext* globalCtx) {
+ ObjectKankyo* this = THIS;
+
+ this->actionFunc(this, globalCtx);
+}
+
+void ObjectKankyo_Draw(Actor* thisx, GlobalContext* globalCtx) {
+ ObjectKankyo* this = THIS;
+
+ switch (this->actor.params) {
+ case 0:
+ ObjectKankyo_DrawFairies(this, globalCtx);
+ break;
+
+ case 2:
+ ObjectKankyo_DrawLightning(this, globalCtx);
+ break;
+
+ case 3:
+ ObjectKankyo_DrawSnow(this, globalCtx);
+ break;
+
+ case 4:
+ ObjectKankyo_DrawSunGraveSpark(this, globalCtx);
+ break;
+
+ case 5:
+ ObjectKankyo_DrawBeams(this, globalCtx);
+ break;
+ }
+}
+
+void ObjectKankyo_DrawFairies(ObjectKankyo* this2, GlobalContext* globalCtx2) {
+ ObjectKankyo* this = this2;
+ GlobalContext* globalCtx = globalCtx2;
+ f32 alphaScale;
+ Vec3f vec1 = { 0.0f, 0.0f, 0.0f };
+ Vec3f vec2 = { 0.0f, 0.0f, 0.0f };
+ s16 i;
+
+ if (!(globalCtx->cameraPtrs[0]->unk_14C & 0x100)) {
+ OPEN_DISPS(globalCtx->state.gfxCtx, "../z_object_kankyo.c", 807);
+ POLY_XLU_DISP = Gfx_CallSetupDL(POLY_XLU_DISP, 0x14);
+ gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(gSun1Tex));
+ gSPDisplayList(POLY_XLU_DISP++, gKokiriDustMoteTextureLoadDL);
+
+ for (i = 0; i < globalCtx->envCtx.unk_EE[3]; i++) {
+ Matrix_Translate(this->effects[i].base.x + this->effects[i].pos.x,
+ this->effects[i].base.y + this->effects[i].pos.y,
+ this->effects[i].base.z + this->effects[i].pos.z, MTXMODE_NEW);
+
+ // scale when fading in or out
+ alphaScale = this->effects[i].alpha / 50.0f;
+ if (alphaScale > 1.0f) {
+ alphaScale = 1.0f;
+ }
+
+ Matrix_Scale(this->effects[i].size * alphaScale, this->effects[i].size * alphaScale,
+ this->effects[i].size * alphaScale, MTXMODE_APPLY);
+ if (i < 32) {
+ if (this->effects[i].state != 2) {
+ if (this->effects[i].alpha > 0) {
+ this->effects[i].alpha--;
+ }
+ } else {
+ if (this->effects[i].alpha < 100) {
+ this->effects[i].alpha++;
+ }
+ }
+ } else {
+ if (this->effects[i].state != 2) {
+ if ((this->effects[i].alphaTimer & 0x1F) < 16) {
+ if (this->effects[i].alpha < 235) {
+ this->effects[i].alpha += 20;
+ }
+ } else {
+ if (this->effects[i].alpha > 20) {
+ this->effects[i].alpha -= 20;
+ }
+ }
+ } else {
+ // unreachable
+ if ((this->effects[i].alphaTimer & 0xF) < 8) {
+ if (this->effects[i].alpha < 255) {
+ this->effects[i].alpha += 100;
+ }
+ } else {
+ if (this->effects[i].alpha > 10) {
+ this->effects[i].alpha -= 10;
+ }
+ }
+ }
+ }
+
+ gDPPipeSync(POLY_XLU_DISP++);
+
+ switch (i & 1) {
+ case 0:
+ gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 255, 155, this->effects[i].alpha);
+ gDPSetEnvColor(POLY_XLU_DISP++, 250, 180, 0, this->effects[i].alpha);
+ break;
+
+ case 1:
+ gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 255, 255, this->effects[i].alpha);
+ gDPSetEnvColor(POLY_XLU_DISP++, 0, 100, 255, this->effects[i].alpha);
+ break;
+ }
+
+ Matrix_Mult(&globalCtx->mf_11DA0, MTXMODE_APPLY);
+ Matrix_RotateZ(DEG_TO_RAD(globalCtx->state.frames * 20.0f), MTXMODE_APPLY);
+ gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_object_kankyo.c", 913), G_MTX_LOAD);
+ gSPDisplayList(POLY_XLU_DISP++, gKokiriDustMoteDL);
+ }
+ CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_object_kankyo.c", 922);
+ }
+}
+
+void ObjectKankyo_DrawSnow(ObjectKankyo* this2, GlobalContext* globalCtx2) {
+ ObjectKankyo* this = this2;
+ GlobalContext* globalCtx = globalCtx2;
+ f32 dist;
+ f32 dx;
+ f32 dy;
+ f32 dz;
+ f32 maxDist;
+ f32 temp;
+ f32 baseX;
+ f32 baseY;
+ f32 baseZ;
+ Vec3f vec1 = { 0.0f, 0.0f, 0.0f };
+ Vec3f vec2 = { 0.0f, 0.0f, 0.0f };
+ s16 i;
+ s32 pad;
+ s32 pad2;
+
+ if (!(globalCtx->cameraPtrs[0]->unk_14C & 0x100)) {
+ OPEN_DISPS(globalCtx->state.gfxCtx, "../z_object_kankyo.c", 958);
+ if (globalCtx->envCtx.unk_EE[2] < globalCtx->envCtx.unk_EE[3]) {
+ if (globalCtx->state.frames % 16 == 0) {
+ globalCtx->envCtx.unk_EE[2] += 2;
+ }
+ } else if (globalCtx->envCtx.unk_EE[2] > globalCtx->envCtx.unk_EE[3]) {
+ if (globalCtx->state.frames % 16 == 0) {
+ globalCtx->envCtx.unk_EE[2] -= 2;
+ }
+ }
+
+ for (i = 0; i < globalCtx->envCtx.unk_EE[2]; i++) {
+ switch (this->effects[i].state) {
+ case 0:
+ // spawn in front of the camera
+ dx = globalCtx->view.lookAt.x - globalCtx->view.eye.x;
+ dy = globalCtx->view.lookAt.y - globalCtx->view.eye.y;
+ dz = globalCtx->view.lookAt.z - globalCtx->view.eye.z;
+ dist = sqrtf(SQ(dx) + SQ(dy) + SQ(dz));
+
+ // fake
+ temp = dz / dist;
+ this->effects[i].base.x = globalCtx->view.eye.x + dx / dist * 80.0f;
+ this->effects[i].base.y = globalCtx->view.eye.y + dy / dist * 80.0f;
+ this->effects[i].base.z = globalCtx->view.eye.z + temp * 80.0f;
+
+ this->effects[i].pos.x = (Rand_ZeroOne() - 0.5f) * 160.0f;
+ this->effects[i].pos.y = 80.0f;
+ this->effects[i].pos.z = (Rand_ZeroOne() - 0.5f) * 160.0f;
+ if (this->effects[i].base.y + this->effects[i].pos.y < 50.0f) {
+ this->effects[i].base.y = 50.0f;
+ }
+ this->effects[i].speed = Rand_ZeroOne() * 5.0f + 0.5f;
+ this->effects[i].dirPhase.x = Rand_ZeroOne() * 360.0f;
+ this->effects[i].dirPhase.z = Rand_ZeroOne() * 360.0f;
+ this->effects[i].state++;
+ break;
+
+ case 1:
+ dx = globalCtx->view.lookAt.x - globalCtx->view.eye.x;
+ dy = globalCtx->view.lookAt.y - globalCtx->view.eye.y;
+ dz = globalCtx->view.lookAt.z - globalCtx->view.eye.z;
+ dist = sqrtf(SQ(dx) + SQ(dy) + SQ(dz));
+
+ baseX = globalCtx->view.eye.x + dx / dist * 80.0f;
+ baseY = globalCtx->view.eye.y + dy / dist * 80.0f;
+ baseZ = globalCtx->view.eye.z + dz / dist * 80.0f;
+
+ this->effects[i].dirPhase.x += 0.049999997f * Rand_ZeroOne();
+ this->effects[i].dirPhase.z += 0.049999997f * Rand_ZeroOne();
+ this->effects[i].pos.x += sinf(this->effects[i].dirPhase.x * 0.01f);
+ this->effects[i].pos.z += cosf(this->effects[i].dirPhase.z * 0.01f);
+ this->effects[i].pos.y += -this->effects[i].speed;
+
+ if (this->effects[i].base.y + this->effects[i].pos.y < this->actor.world.pos.y ||
+ this->effects[i].base.y + this->effects[i].pos.y < globalCtx->view.eye.y - 150.0f) {
+ this->effects[i].state++;
+ }
+
+ maxDist = 80;
+ if (this->effects[i].base.x + this->effects[i].pos.x - baseX > maxDist ||
+ this->effects[i].base.x + this->effects[i].pos.x - baseX < -maxDist ||
+ this->effects[i].base.y + this->effects[i].pos.y - baseY > maxDist ||
+ this->effects[i].base.y + this->effects[i].pos.y - baseY < -maxDist ||
+ this->effects[i].base.z + this->effects[i].pos.z - baseZ > maxDist ||
+ this->effects[i].base.z + this->effects[i].pos.z - baseZ < -maxDist) {
+
+ // when off screen, wrap around to the other side
+ if (this->effects[i].base.x + this->effects[i].pos.x - baseX > maxDist) {
+ this->effects[i].base.x = baseX - maxDist;
+ this->effects[i].pos.x = 0.0f;
+ }
+ if (this->effects[i].base.x + this->effects[i].pos.x - baseX < -maxDist) {
+ this->effects[i].base.x = baseX + maxDist;
+ this->effects[i].pos.x = 0.0f;
+ }
+ if (this->effects[i].base.z + this->effects[i].pos.z - baseZ > maxDist) {
+ this->effects[i].base.z = baseZ - maxDist;
+ this->effects[i].pos.z = 0.0f;
+ }
+ if (this->effects[i].base.z + this->effects[i].pos.z - baseZ < -maxDist) {
+ this->effects[i].base.z = baseZ + maxDist;
+ this->effects[i].pos.z = 0.0f;
+ }
+ }
+ break;
+
+ case 2:
+ this->effects[i].state = 0;
+ break;
+ }
+
+ if (1) {}
+ if (1) {}
+ Matrix_Translate(this->effects[i].base.x + this->effects[i].pos.x,
+ this->effects[i].base.y + this->effects[i].pos.y,
+ this->effects[i].base.z + this->effects[i].pos.z, MTXMODE_NEW);
+ Matrix_Scale(0.05f, 0.05f, 0.05f, MTXMODE_APPLY);
+ gDPPipeSync(POLY_XLU_DISP++);
+
+ gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 200, 200, 200, 180);
+ gDPSetEnvColor(POLY_XLU_DISP++, 200, 200, 200, 180);
+
+ gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_object_kankyo.c", 1107),
+ G_MTX_LOAD);
+
+ gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(gDust5Tex));
+
+ func_80094C50(globalCtx->state.gfxCtx);
+ gSPMatrix(POLY_XLU_DISP++, &D_01000000, G_MTX_MODELVIEW | G_MTX_NOPUSH | G_MTX_MUL);
+
+ gDPPipeSync(POLY_XLU_DISP++);
+
+ gSPDisplayList(POLY_XLU_DISP++, gEffDustDL);
+
+ gDPPipeSync(POLY_XLU_DISP++);
+ }
+
+ CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_object_kankyo.c", 1127);
+ }
+}
+
+void ObjectKankyo_Lightning(ObjectKankyo* this, GlobalContext* globalCtx) {
+ if (globalCtx->csCtx.state != 0 && globalCtx->csCtx.npcActions[0] != NULL) {
+ switch (this->effects[0].state) {
+ case 0:
+ this->effects[0].timer = 0;
+ if (globalCtx->csCtx.npcActions[0]->action == 2) {
+ this->effects[0].state++;
+ }
+ break;
+
+ case 1:
+ if (++this->effects[0].timer >= 7) {
+ this->effects[0].state++;
+ }
+ break;
+
+ case 2:
+ if (globalCtx->csCtx.npcActions[0]->action == 1) {
+ this->effects[0].state = 0;
+ }
+ break;
+ }
+ }
+}
+
+void ObjectKankyo_DrawLightning(ObjectKankyo* this, GlobalContext* globalCtx) {
+ s32 pad;
+ s32 pad2;
+
+ OPEN_DISPS(globalCtx->state.gfxCtx, "../z_object_kankyo.c", 1182);
+
+ if (this->effects[0].state == 1) {
+ Matrix_Translate(globalCtx->csCtx.npcActions[0]->startPos.x, globalCtx->csCtx.npcActions[0]->startPos.y,
+ globalCtx->csCtx.npcActions[0]->startPos.z, MTXMODE_NEW);
+ Matrix_RotateX(DEG_TO_RAD(20.0f), MTXMODE_APPLY);
+ Matrix_RotateZ(DEG_TO_RAD(20.0f), MTXMODE_APPLY);
+ Matrix_Scale(2.0f, 5.0f, 2.0f, MTXMODE_APPLY);
+ gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 255, 255, 128);
+ gDPSetEnvColor(POLY_XLU_DISP++, 0, 255, 255, 128);
+ gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_object_kankyo.c", 1213), G_MTX_LOAD);
+ gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sEffLightningTextures[this->effects[0].timer]));
+ func_80094C50(globalCtx->state.gfxCtx);
+ gSPMatrix(POLY_XLU_DISP++, &D_01000000, G_MTX_MODELVIEW | G_MTX_NOPUSH | G_MTX_MUL);
+ gDPPipeSync(POLY_XLU_DISP++);
+ gSPDisplayList(POLY_XLU_DISP++, gEffLightningDL);
+ gDPPipeSync(POLY_XLU_DISP++);
+ }
+
+ CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_object_kankyo.c", 1233);
+}
+
+void ObjectKankyo_SunGraveSparkInit(ObjectKankyo* this, GlobalContext* globalCtx) {
+ s32 objBankIndex = Object_GetIndex(&globalCtx->objectCtx, OBJECT_SPOT02_OBJECTS);
+
+ if (objBankIndex < 0) {
+ ASSERT(0, "0", "../z_object_kankyo.c", 1251);
+ } else {
+ this->requiredObjBankIndex = objBankIndex;
+ }
+ ObjectKankyo_SetupAction(this, ObjectKankyo_WaitForSunGraveSparkObject);
+}
+
+void ObjectKankyo_WaitForSunGraveSparkObject(ObjectKankyo* this, GlobalContext* globalCtx) {
+ if (Object_IsLoaded(&globalCtx->objectCtx, this->requiredObjBankIndex)) {
+ this->requiredObjectLoaded = true;
+ this->effects[0].alpha = 0;
+ this->actor.objBankIndex = this->requiredObjBankIndex;
+ this->effects[0].size = 7.0f;
+ ObjectKankyo_SetupAction(this, ObjectKankyo_SunGraveSpark);
+ }
+}
+
+void ObjectKankyo_SunGraveSpark(ObjectKankyo* this, GlobalContext* globalCtx) {
+ if (globalCtx->csCtx.state != 0) {
+ if (globalCtx->csCtx.npcActions[1] != NULL && globalCtx->csCtx.npcActions[1]->action == 2) {
+ Audio_PlayActorSound2(&this->actor, NA_SE_EN_BIRI_SPARK - SFX_FLAG);
+ if ((s16)this->effects[0].alpha + 20 > 255) {
+ this->effects[0].alpha = 255;
+ } else {
+ this->effects[0].alpha += 20;
+ }
+ Math_SmoothStepToF(&this->effects[0].size, 1.8f, 0.5f, 0.28f, 0.01f);
+ }
+ }
+}
+
+void ObjectKankyo_DrawSunGraveSpark(ObjectKankyo* this2, GlobalContext* globalCtx2) {
+ ObjectKankyo* this = this2;
+ GlobalContext* globalCtx = globalCtx2;
+ Vec3f start;
+ Vec3f end;
+ f32 weight;
+
+ OPEN_DISPS(globalCtx->state.gfxCtx, "../z_object_kankyo.c", 1324);
+ if (globalCtx->csCtx.state != 0) {
+ if (globalCtx->csCtx.npcActions[1] != NULL && globalCtx->csCtx.npcActions[1]->action == 2 &&
+ this->requiredObjectLoaded) {
+ // apparently, light waves with larger amplitudes look brighter, so the name 'amplitude' kind of works here
+ if (this->effects[0].state == 0) {
+ this->effects[0].amplitude += 1.0f / 7.0f;
+ if (this->effects[0].amplitude >= 1.0f) {
+ this->effects[0].amplitude = 1.0f;
+ this->effects[0].state++;
+ }
+ } else {
+ this->effects[0].amplitude -= 1.0f / 7.0f;
+ if (this->effects[0].amplitude <= 0.1f) {
+ this->effects[0].amplitude = 0.0f;
+ this->effects[0].state = 0;
+ }
+ }
+
+ if (++this->effects[0].timer > 7) {
+ this->effects[0].timer = 0;
+ }
+
+ start.x = globalCtx->csCtx.npcActions[1]->startPos.x;
+ start.y = globalCtx->csCtx.npcActions[1]->startPos.y;
+ start.z = globalCtx->csCtx.npcActions[1]->startPos.z;
+
+ end.x = globalCtx->csCtx.npcActions[1]->endPos.x;
+ end.y = globalCtx->csCtx.npcActions[1]->endPos.y;
+ end.z = globalCtx->csCtx.npcActions[1]->endPos.z;
+
+ weight = Environment_LerpWeight(globalCtx->csCtx.npcActions[1]->endFrame,
+ globalCtx->csCtx.npcActions[1]->startFrame, globalCtx->csCtx.frames);
+ Matrix_Translate((end.x - start.x) * weight + start.x, (end.y - start.y) * weight + start.y,
+ (end.z - start.z) * weight + start.z, MTXMODE_NEW);
+ Matrix_Scale(this->effects[0].size, this->effects[0].size, this->effects[0].size, MTXMODE_APPLY);
+ func_80093D84(globalCtx->state.gfxCtx);
+ gDPPipeSync(POLY_XLU_DISP++);
+ gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, (u8)(105 * this->effects[0].amplitude) + 150, 255,
+ (u8)(105 * this->effects[0].amplitude) + 150, this->effects[0].alpha);
+ gDPSetEnvColor(POLY_XLU_DISP++, (u8)(155 * this->effects[0].amplitude) + 100,
+ (u8)(255 * this->effects[0].amplitude), 255 - (u8)(255 * this->effects[0].amplitude),
+ this->effects[0].alpha);
+
+ Matrix_Mult(&globalCtx->mf_11DA0, MTXMODE_APPLY);
+ gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_object_kankyo.c", 1416),
+ G_MTX_LOAD);
+
+ gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(D_80BA5900[this->effects[0].timer]));
+ gDPPipeSync(POLY_XLU_DISP++);
+
+ gSPDisplayList(POLY_XLU_DISP++, object_spot02_objects_DL_009620);
+ gDPPipeSync(POLY_XLU_DISP++);
+ }
+ }
+
+ CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_object_kankyo.c", 1432);
+}
+
+void ObjectKankyo_InitBeams(ObjectKankyo* this, GlobalContext* globalCtx) {
+ s32 objectIndex = Object_GetIndex(&globalCtx->objectCtx, OBJECT_DEMO_KEKKAI);
+
+ if (objectIndex < 0) {
+ ASSERT(0, "0", "../z_object_kankyo.c", 1449);
+ } else {
+ this->requiredObjBankIndex = objectIndex;
+ }
+ ObjectKankyo_SetupAction(this, ObjectKankyo_WaitForBeamObject);
+}
+
+void ObjectKankyo_WaitForBeamObject(ObjectKankyo* this, GlobalContext* globalCtx) {
+ if (Object_IsLoaded(&globalCtx->objectCtx, this->requiredObjBankIndex)) {
+ this->requiredObjectLoaded = true;
+ this->actor.objBankIndex = this->requiredObjBankIndex;
+ ObjectKankyo_SetupAction(this, ObjectKankyo_Beams);
+ }
+}
+
+void ObjectKankyo_Beams(ObjectKankyo* this, GlobalContext* globalCtx) {
+ u8 i;
+
+ if (globalCtx->csCtx.state != 0) {
+ for (i = 0; i < 6; i++) {
+ if (globalCtx->csCtx.npcActions[i + 1] != NULL && globalCtx->csCtx.npcActions[i + 1]->action == 2) {
+ if (this->effects[i].size == 0.1f) {
+ func_800F3F3C(11);
+ }
+ Math_ApproachZeroF(&this->effects[i].size, 0.1f, 0.1f);
+ }
+ }
+ }
+}
+
+void ObjectKankyo_DrawBeams(ObjectKankyo* this2, GlobalContext* globalCtx2) {
+ static Color_RGB8 sBeamPrimColors[] = {
+ { 255, 255, 170 }, { 170, 255, 255 }, { 255, 170, 255 },
+ { 255, 255, 170 }, { 255, 255, 170 }, { 255, 255, 170 },
+ };
+ static Color_RGB8 sBeamEnvColors[] = {
+ { 0, 200, 0 }, { 0, 50, 255 }, { 100, 0, 200 }, { 200, 0, 0 }, { 200, 255, 0 }, { 255, 120, 0 },
+ };
+ ObjectKankyo* this = this2;
+ GlobalContext* globalCtx = globalCtx2;
+ s16 i;
+ f32 beamX[] = { 430.0f, 860.0f, 430.0f, -426.0f, -862.0f, -440.0f };
+ f32 beamY[] = { 551.0f, 551.0f, 551.0f, 554.0f, 551.0f, 547.0f };
+ f32 beamZ[] = { -96.0f, -840.0f, -1585.0f, -1578.0f, -840.0f, -78.0f };
+ f32 beamYaw[] = { 29.9f, 90.0f, 150.0f, 30.0f, 90.0f, -30.1f };
+ f32 beamPitch[] = { 103.4f, 103.8f, 103.6f, -103.4f, -103.5f, 103.5f };
+
+ OPEN_DISPS(globalCtx->state.gfxCtx, "../z_object_kankyo.c", 1539);
+
+ if (this->requiredObjectLoaded) {
+ for (i = 0; i < 6; i++) {
+ if (this->effects[i].size > 0.001f) {
+ Matrix_Translate(beamX[i], beamY[i], beamZ[i], MTXMODE_NEW);
+ Matrix_RotateY(DEG_TO_RAD(beamYaw[i]), MTXMODE_APPLY);
+ Matrix_RotateX(DEG_TO_RAD(beamPitch[i]), MTXMODE_APPLY);
+ Matrix_Scale(this->effects[i].size, 0.1f, this->effects[i].size, MTXMODE_APPLY);
+ func_80093D84(globalCtx->state.gfxCtx);
+ gDPPipeSync(POLY_XLU_DISP++);
+ gDPSetPrimColor(POLY_XLU_DISP++, 0, 128, sBeamPrimColors[i].r, sBeamPrimColors[i].g,
+ sBeamPrimColors[i].b, 128);
+ gDPSetEnvColor(POLY_XLU_DISP++, sBeamEnvColors[i].r, sBeamEnvColors[i].g, sBeamEnvColors[i].b, 128);
+ gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_object_kankyo.c", 1586),
+ G_MTX_LOAD);
+ gSPSegment(POLY_XLU_DISP++, 0x08,
+ Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, globalCtx->state.frames * 5,
+ globalCtx->state.frames * 10, 32, 64, 1, globalCtx->state.frames * 5,
+ globalCtx->state.frames * 10, 32, 64));
+ gSPDisplayList(POLY_XLU_DISP++, gDemoKekkaiDL_005FF0);
+ }
+ }
+ }
+
+ CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_object_kankyo.c", 1607);
+}
diff --git a/src/overlays/actors/ovl_Object_Kankyo/z_object_kankyo.h b/src/overlays/actors/ovl_Object_Kankyo/z_object_kankyo.h
index aaa4efdc85..9b9a699753 100644
--- a/src/overlays/actors/ovl_Object_Kankyo/z_object_kankyo.h
+++ b/src/overlays/actors/ovl_Object_Kankyo/z_object_kankyo.h
@@ -8,9 +8,30 @@ struct ObjectKankyo;
typedef void (*ObjectKankyoActionFunc)(struct ObjectKankyo*, GlobalContext*);
+typedef struct ObjectKankyoEffect {
+ /* 0x00 */ u8 state;
+ /* 0x04 */ Vec3f pos; // relative to base
+ /* 0x10 */ Vec3f prevPos;
+ /* 0x1C */ Vec3f base;
+ /* 0x28 */ Vec3f dirPhase; // input to sin/cos for movement direction
+ /* 0x34 */ f32 speed;
+ /* 0x38 */ f32 targetSpeed;
+ /* 0x3C */ u16 alphaTimer;
+ /* 0x3E */ u16 angle;
+ /* 0x40 */ u8 alpha;
+ /* 0x44 */ f32 size;
+ /* 0x48 */ u16 angleVel;
+ /* 0x4A */ u16 flightRadius;
+ /* 0x4C */ f32 amplitude;
+ /* 0x50 */ u16 timer;
+} ObjectKankyoEffect; // size = 0x54
+
typedef struct ObjectKankyo {
/* 0x0000 */ Actor actor;
- /* 0x014C */ char unk_14C[0x1510];
+ /* 0x014C */ ObjectKankyoEffect effects[64];
+ /* 0x164C */ Vec3f prevEyePos;
+ /* 0x1658 */ u8 requiredObjBankIndex;
+ /* 0x1659 */ u8 requiredObjectLoaded;
/* 0x165C */ ObjectKankyoActionFunc actionFunc;
} ObjectKankyo; // size = 0x1660
diff --git a/undefined_syms.txt b/undefined_syms.txt
index e8e2a02898..c74a4ca61c 100644
--- a/undefined_syms.txt
+++ b/undefined_syms.txt
@@ -214,4 +214,3 @@ D_060224F8 = 0x060224F8;
// z_object_kankyo
D_01000000 = 0x01000000;
-D_06009620 = 0x06009620;