summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLéo Peltier <L-P@users.noreply.github.com>2020-07-16 10:02:27 +0000
committerGitHub <noreply@github.com>2020-07-16 06:02:27 -0400
commitbc14f6d93e2463dfe81660013c591b3ddd6b3ab3 (patch)
tree3db0af5cb8fcc6f37efc46061d89a75e83433b6d
parent106f7a3f6a7694cc4d73c84e4980b38852916aa8 (diff)
Decompile ovl_En_Fhg_Fire (#248)
* Decomp EnFhgFire_Init and EnFhgFire_SetActorFunc * Decomp EnFhgFire_Destroy * Decomp func_80A0F6F8 * Run format * Decomp func_80A0FA90 * Decomp func_80A0FC48 * Decomp func_80A0FD8C * Decomp EffectSsFhgFlash_Spawn ex func_80029CF0 * Decomp EffectSsFhgFlash_Spawn2 ex func_80029D5C * Decomp EnFhgFire_Update * Decomp EnFhgFire_Draw, not matching * Decomp func_80A10F18 * Move InitVars * PR fixes Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com> Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com>
-rw-r--r--asm/non_matchings/code/z_effect_soft_sprite_old_init/func_80029CF0.s29
-rw-r--r--asm/non_matchings/code/z_effect_soft_sprite_old_init/func_80029D5C.s26
-rw-r--r--asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/BossGanondrof_Update.s2
-rw-r--r--asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/func_8091156C.s2
-rw-r--r--asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/func_80912594.s2
-rw-r--r--asm/non_matchings/overlays/actors/ovl_En_Fhg_Fire/EnFhgFire_Destroy.s33
-rw-r--r--asm/non_matchings/overlays/actors/ovl_En_Fhg_Fire/EnFhgFire_Init.s311
-rw-r--r--asm/non_matchings/overlays/actors/ovl_En_Fhg_Fire/EnFhgFire_Update.s23
-rw-r--r--asm/non_matchings/overlays/actors/ovl_En_Fhg_Fire/func_80A0F260.s3
-rw-r--r--asm/non_matchings/overlays/actors/ovl_En_Fhg_Fire/func_80A0F6F8.s258
-rw-r--r--asm/non_matchings/overlays/actors/ovl_En_Fhg_Fire/func_80A0FA90.s137
-rw-r--r--asm/non_matchings/overlays/actors/ovl_En_Fhg_Fire/func_80A0FC48.s92
-rw-r--r--asm/non_matchings/overlays/actors/ovl_En_Fhg_Fire/func_80A0FD8C.s180
-rw-r--r--asm/non_matchings/overlays/actors/ovl_En_Fhg_Fire/func_80A10008.s171
-rw-r--r--asm/non_matchings/overlays/actors/ovl_En_Fhg_Fire/func_80A10220.s8
-rw-r--r--asm/non_matchings/overlays/actors/ovl_En_Fhg_Fire/func_80A10F18.s145
-rw-r--r--asm/non_matchings/overlays/actors/ovl_player_actor/func_80848B44.s2
-rw-r--r--data/overlays/actors/z_en_fhg_fire.data.s6
-rw-r--r--include/functions.h5
-rw-r--r--include/z64.h3
-rw-r--r--include/z64effect.h2
-rw-r--r--src/code/z_effect_soft_sprite_old_init.c26
-rw-r--r--src/overlays/actors/ovl_En_Fhg_Fire/z_en_fhg_fire.c510
-rw-r--r--src/overlays/actors/ovl_En_Fhg_Fire/z_en_fhg_fire.h30
-rw-r--r--src/overlays/actors/ovl_En_fHG/z_en_fhg.c6
-rw-r--r--src/overlays/actors/ovl_En_fHG/z_en_fhg.h12
-rw-r--r--src/overlays/effects/ovl_Effect_Ss_Fhg_Flash/z_eff_ss_fhg_flash.h17
-rw-r--r--undefined_syms.txt6
28 files changed, 605 insertions, 1442 deletions
diff --git a/asm/non_matchings/code/z_effect_soft_sprite_old_init/func_80029CF0.s b/asm/non_matchings/code/z_effect_soft_sprite_old_init/func_80029CF0.s
deleted file mode 100644
index c003a1cfd..000000000
--- a/asm/non_matchings/code/z_effect_soft_sprite_old_init/func_80029CF0.s
+++ /dev/null
@@ -1,29 +0,0 @@
-glabel func_80029CF0
-/* AA0E90 80029CF0 27BDFFB8 */ addiu $sp, $sp, -0x48
-/* AA0E94 80029CF4 AFBF0014 */ sw $ra, 0x14($sp)
-/* AA0E98 80029CF8 AFA40048 */ sw $a0, 0x48($sp)
-/* AA0E9C 80029CFC AFA60050 */ sw $a2, 0x50($sp)
-/* AA0EA0 80029D00 AFA70054 */ sw $a3, 0x54($sp)
-/* AA0EA4 80029D04 0C01DF90 */ jal Math_Vec3f_Copy
-/* AA0EA8 80029D08 27A40018 */ addiu $a0, $sp, 0x18
-/* AA0EAC 80029D0C 27A40024 */ addiu $a0, $sp, 0x24
-/* AA0EB0 80029D10 0C01DF90 */ jal Math_Vec3f_Copy
-/* AA0EB4 80029D14 8FA50050 */ lw $a1, 0x50($sp)
-/* AA0EB8 80029D18 27A40030 */ addiu $a0, $sp, 0x30
-/* AA0EBC 80029D1C 0C01DF90 */ jal Math_Vec3f_Copy
-/* AA0EC0 80029D20 8FA50054 */ lw $a1, 0x54($sp)
-/* AA0EC4 80029D24 87AE005A */ lh $t6, 0x5a($sp)
-/* AA0EC8 80029D28 93AF005F */ lbu $t7, 0x5f($sp)
-/* AA0ECC 80029D2C A3A00044 */ sb $zero, 0x44($sp)
-/* AA0ED0 80029D30 8FA40048 */ lw $a0, 0x48($sp)
-/* AA0ED4 80029D34 24050016 */ li $a1, 22
-/* AA0ED8 80029D38 24060080 */ li $a2, 128
-/* AA0EDC 80029D3C 27A70018 */ addiu $a3, $sp, 0x18
-/* AA0EE0 80029D40 A7AE003C */ sh $t6, 0x3c($sp)
-/* AA0EE4 80029D44 0C009DE6 */ jal EffectSs_Spawn
-/* AA0EE8 80029D48 A3AF003E */ sb $t7, 0x3e($sp)
-/* AA0EEC 80029D4C 8FBF0014 */ lw $ra, 0x14($sp)
-/* AA0EF0 80029D50 27BD0048 */ addiu $sp, $sp, 0x48
-/* AA0EF4 80029D54 03E00008 */ jr $ra
-/* AA0EF8 80029D58 00000000 */ nop
-
diff --git a/asm/non_matchings/code/z_effect_soft_sprite_old_init/func_80029D5C.s b/asm/non_matchings/code/z_effect_soft_sprite_old_init/func_80029D5C.s
deleted file mode 100644
index 712cf996b..000000000
--- a/asm/non_matchings/code/z_effect_soft_sprite_old_init/func_80029D5C.s
+++ /dev/null
@@ -1,26 +0,0 @@
-glabel func_80029D5C
-/* AA0EFC 80029D5C 27BDFFB8 */ addiu $sp, $sp, -0x48
-/* AA0F00 80029D60 AFBF0014 */ sw $ra, 0x14($sp)
-/* AA0F04 80029D64 AFA40048 */ sw $a0, 0x48($sp)
-/* AA0F08 80029D68 AFA5004C */ sw $a1, 0x4c($sp)
-/* AA0F0C 80029D6C AFA50040 */ sw $a1, 0x40($sp)
-/* AA0F10 80029D70 AFA70054 */ sw $a3, 0x54($sp)
-/* AA0F14 80029D74 00C02825 */ move $a1, $a2
-/* AA0F18 80029D78 0C01DF90 */ jal Math_Vec3f_Copy
-/* AA0F1C 80029D7C 27A40018 */ addiu $a0, $sp, 0x18
-/* AA0F20 80029D80 87AF0056 */ lh $t7, 0x56($sp)
-/* AA0F24 80029D84 93B8005B */ lbu $t8, 0x5b($sp)
-/* AA0F28 80029D88 24190001 */ li $t9, 1
-/* AA0F2C 80029D8C A3B90044 */ sb $t9, 0x44($sp)
-/* AA0F30 80029D90 8FA40048 */ lw $a0, 0x48($sp)
-/* AA0F34 80029D94 24050016 */ li $a1, 22
-/* AA0F38 80029D98 24060080 */ li $a2, 128
-/* AA0F3C 80029D9C 27A70018 */ addiu $a3, $sp, 0x18
-/* AA0F40 80029DA0 A7AF003C */ sh $t7, 0x3c($sp)
-/* AA0F44 80029DA4 0C009DE6 */ jal EffectSs_Spawn
-/* AA0F48 80029DA8 A3B8003E */ sb $t8, 0x3e($sp)
-/* AA0F4C 80029DAC 8FBF0014 */ lw $ra, 0x14($sp)
-/* AA0F50 80029DB0 27BD0048 */ addiu $sp, $sp, 0x48
-/* AA0F54 80029DB4 03E00008 */ jr $ra
-/* AA0F58 80029DB8 00000000 */ nop
-
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/BossGanondrof_Update.s b/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/BossGanondrof_Update.s
index 2c5a8559e..ea5671048 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/BossGanondrof_Update.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/BossGanondrof_Update.s
@@ -264,7 +264,7 @@ glabel BossGanondrof_Update
/* 03BE0 80914220 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000
/* 03BE4 80914224 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
/* 03BE8 80914228 8FA60048 */ lw $a2, 0x0048($sp)
-/* 03BEC 8091422C 0C00A757 */ jal func_80029D5C
+/* 03BEC 8091422C 0C00A757 */ jal EffectSsFhgFlash_Spawn2
/* 03BF0 80914230 2407002D */ addiu $a3, $zero, 0x002D ## $a3 = 0000002D
/* 03BF4 80914234 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001
/* 03BF8 80914238 00108400 */ sll $s0, $s0, 16
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/func_8091156C.s b/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/func_8091156C.s
index f75089cdd..b7bcf474f 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/func_8091156C.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/func_8091156C.s
@@ -485,7 +485,7 @@ glabel func_8091156C
/* 01604 80911C44 00095400 */ sll $t2, $t1, 16
/* 01608 80911C48 000A5C03 */ sra $t3, $t2, 16
/* 0160C 80911C4C 256C0096 */ addiu $t4, $t3, 0x0096 ## $t4 = 00000096
-/* 01610 80911C50 0C00A73C */ jal func_80029CF0
+/* 01610 80911C50 0C00A73C */ jal EffectSsFhgFlash_Spawn
/* 01614 80911C54 AFAC0010 */ sw $t4, 0x0010($sp)
/* 01618 80911C58 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001
/* 0161C 80911C5C 00108400 */ sll $s0, $s0, 16
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/func_80912594.s b/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/func_80912594.s
index 6c93c7793..5f11320fe 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/func_80912594.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/func_80912594.s
@@ -436,7 +436,7 @@ glabel func_80912594
/* 0259C 80912BDC 461C5102 */ mul.s $f4, $f10, $f28
/* 025A0 80912BE0 46142483 */ div.s $f18, $f4, $f20
/* 025A4 80912BE4 E7A8009C */ swc1 $f8, 0x009C($sp)
-/* 025A8 80912BE8 0C00A73C */ jal func_80029CF0
+/* 025A8 80912BE8 0C00A73C */ jal EffectSsFhgFlash_Spawn
/* 025AC 80912BEC E7B200A0 */ swc1 $f18, 0x00A0($sp)
/* 025B0 80912BF0 863801AC */ lh $t8, 0x01AC($s1) ## 000001AC
/* 025B4 80912BF4 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Fhg_Fire/EnFhgFire_Destroy.s b/asm/non_matchings/overlays/actors/ovl_En_Fhg_Fire/EnFhgFire_Destroy.s
deleted file mode 100644
index 191c6efbb..000000000
--- a/asm/non_matchings/overlays/actors/ovl_En_Fhg_Fire/EnFhgFire_Destroy.s
+++ /dev/null
@@ -1,33 +0,0 @@
-glabel EnFhgFire_Destroy
-/* 0042C 80A0F68C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
-/* 00430 80A0F690 AFBF0014 */ sw $ra, 0x0014($sp)
-/* 00434 80A0F694 AFA5001C */ sw $a1, 0x001C($sp)
-/* 00438 80A0F698 8482001C */ lh $v0, 0x001C($a0) ## 0000001C
-/* 0043C 80A0F69C 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000
-/* 00440 80A0F6A0 24010023 */ addiu $at, $zero, 0x0023 ## $at = 00000023
-/* 00444 80A0F6A4 10410005 */ beq $v0, $at, .L80A0F6BC
-/* 00448 80A0F6A8 8FA4001C */ lw $a0, 0x001C($sp)
-/* 0044C 80A0F6AC 24010024 */ addiu $at, $zero, 0x0024 ## $at = 00000024
-/* 00450 80A0F6B0 10410002 */ beq $v0, $at, .L80A0F6BC
-/* 00454 80A0F6B4 24010032 */ addiu $at, $zero, 0x0032 ## $at = 00000032
-/* 00458 80A0F6B8 14410005 */ bne $v0, $at, .L80A0F6D0
-.L80A0F6BC:
-/* 0045C 80A0F6BC 24E501B0 */ addiu $a1, $a3, 0x01B0 ## $a1 = 000001B0
-/* 00460 80A0F6C0 0C0170EB */ jal Collider_DestroyCylinder
-
-/* 00464 80A0F6C4 AFA70018 */ sw $a3, 0x0018($sp)
-/* 00468 80A0F6C8 8FA70018 */ lw $a3, 0x0018($sp)
-/* 0046C 80A0F6CC 84E2001C */ lh $v0, 0x001C($a3) ## 0000001C
-.L80A0F6D0:
-/* 00470 80A0F6D0 24010032 */ addiu $at, $zero, 0x0032 ## $at = 00000032
-/* 00474 80A0F6D4 14410004 */ bne $v0, $at, .L80A0F6E8
-/* 00478 80A0F6D8 8FA4001C */ lw $a0, 0x001C($sp)
-/* 0047C 80A0F6DC 248507A8 */ addiu $a1, $a0, 0x07A8 ## $a1 = 000007A8
-/* 00480 80A0F6E0 0C01E9F1 */ jal Lights_Remove
-
-/* 00484 80A0F6E4 8CE6019C */ lw $a2, 0x019C($a3) ## 0000019C
-.L80A0F6E8:
-/* 00488 80A0F6E8 8FBF0014 */ lw $ra, 0x0014($sp)
-/* 0048C 80A0F6EC 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
-/* 00490 80A0F6F0 03E00008 */ jr $ra
-/* 00494 80A0F6F4 00000000 */ nop
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Fhg_Fire/EnFhgFire_Init.s b/asm/non_matchings/overlays/actors/ovl_En_Fhg_Fire/EnFhgFire_Init.s
deleted file mode 100644
index c1e8b6894..000000000
--- a/asm/non_matchings/overlays/actors/ovl_En_Fhg_Fire/EnFhgFire_Init.s
+++ /dev/null
@@ -1,311 +0,0 @@
-.rdata
-glabel D_80A11840
- .asciz "yari hikari ct 1\n"
- .balign 4
-
-glabel D_80A11854
- .asciz "yari hikari ct 2\n"
- .balign 4
-
-.late_rodata
-glabel D_80A119C4
- .word 0x3E051EB8
-glabel D_80A119C8
- .word 0x4622F983
-glabel D_80A119CC
- .word 0x4622F983
-
-.text
-glabel EnFhgFire_Init
-/* 00008 80A0F268 27BDFFA8 */ addiu $sp, $sp, 0xFFA8 ## $sp = FFFFFFA8
-/* 0000C 80A0F26C 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
-/* 00010 80A0F270 AFBF002C */ sw $ra, 0x002C($sp)
-/* 00014 80A0F274 AFB00028 */ sw $s0, 0x0028($sp)
-/* 00018 80A0F278 AFA5005C */ sw $a1, 0x005C($sp)
-/* 0001C 80A0F27C 8CAF1C44 */ lw $t7, 0x1C44($a1) ## 00001C44
-/* 00020 80A0F280 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
-/* 00024 80A0F284 248400B4 */ addiu $a0, $a0, 0x00B4 ## $a0 = 000000B4
-/* 00028 80A0F288 44050000 */ mfc1 $a1, $f0
-/* 0002C 80A0F28C 44070000 */ mfc1 $a3, $f0
-/* 00030 80A0F290 AFA40038 */ sw $a0, 0x0038($sp)
-/* 00034 80A0F294 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
-/* 00038 80A0F298 0C00AC78 */ jal ActorShape_Init
-
-/* 0003C 80A0F29C AFAF004C */ sw $t7, 0x004C($sp)
-/* 00040 80A0F2A0 8602001C */ lh $v0, 0x001C($s0) ## 0000001C
-/* 00044 80A0F2A4 24010023 */ addiu $at, $zero, 0x0023 ## $at = 00000023
-/* 00048 80A0F2A8 8FA4005C */ lw $a0, 0x005C($sp)
-/* 0004C 80A0F2AC 10410006 */ beq $v0, $at, .L80A0F2C8
-/* 00050 80A0F2B0 260501B0 */ addiu $a1, $s0, 0x01B0 ## $a1 = 000001B0
-/* 00054 80A0F2B4 24010024 */ addiu $at, $zero, 0x0024 ## $at = 00000024
-/* 00058 80A0F2B8 10410003 */ beq $v0, $at, .L80A0F2C8
-/* 0005C 80A0F2BC 24010032 */ addiu $at, $zero, 0x0032 ## $at = 00000032
-/* 00060 80A0F2C0 5441000A */ bnel $v0, $at, .L80A0F2EC
-/* 00064 80A0F2C4 3C014348 */ lui $at, 0x4348 ## $at = 43480000
-.L80A0F2C8:
-/* 00068 80A0F2C8 0C0170D9 */ jal Collider_InitCylinder
-
-/* 0006C 80A0F2CC AFA50034 */ sw $a1, 0x0034($sp)
-/* 00070 80A0F2D0 3C0780A1 */ lui $a3, %hi(D_80A11790) ## $a3 = 80A10000
-/* 00074 80A0F2D4 8FA50034 */ lw $a1, 0x0034($sp)
-/* 00078 80A0F2D8 24E71790 */ addiu $a3, $a3, %lo(D_80A11790) ## $a3 = 80A11790
-/* 0007C 80A0F2DC 8FA4005C */ lw $a0, 0x005C($sp)
-/* 00080 80A0F2E0 0C01712B */ jal Collider_SetCylinder
-
-/* 00084 80A0F2E4 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
-/* 00088 80A0F2E8 3C014348 */ lui $at, 0x4348 ## $at = 43480000
-.L80A0F2EC:
-/* 0008C 80A0F2EC 44812000 */ mtc1 $at, $f4 ## $f4 = 200.00
-/* 00090 80A0F2F0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
-/* 00094 80A0F2F4 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
-/* 00098 80A0F2F8 0C00B58B */ jal Actor_SetScale
-
-/* 0009C 80A0F2FC E6040160 */ swc1 $f4, 0x0160($s0) ## 00000160
-/* 000A0 80A0F300 8602001C */ lh $v0, 0x001C($s0) ## 0000001C
-/* 000A4 80A0F304 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
-/* 000A8 80A0F308 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
-/* 000AC 80A0F30C 14410008 */ bne $v0, $at, .L80A0F330
-/* 000B0 80A0F310 3C0580A1 */ lui $a1, %hi(func_80A0F6F8) ## $a1 = 80A10000
-/* 000B4 80A0F314 0C283C98 */ jal func_80A0F260
-/* 000B8 80A0F318 24A5F6F8 */ addiu $a1, $a1, %lo(func_80A0F6F8) ## $a1 = 80A0F6F8
-/* 000BC 80A0F31C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
-/* 000C0 80A0F320 0C00BE0A */ jal Audio_PlayActorSound2
-
-/* 000C4 80A0F324 240538A2 */ addiu $a1, $zero, 0x38A2 ## $a1 = 000038A2
-/* 000C8 80A0F328 1000000F */ beq $zero, $zero, .L80A0F368
-/* 000CC 80A0F32C 8602001C */ lh $v0, 0x001C($s0) ## 0000001C
-.L80A0F330:
-/* 000D0 80A0F330 28410064 */ slti $at, $v0, 0x0064
-/* 000D4 80A0F334 1420000C */ bne $at, $zero, .L80A0F368
-/* 000D8 80A0F338 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
-/* 000DC 80A0F33C 3C0580A1 */ lui $a1, %hi(func_80A0FA90) ## $a1 = 80A10000
-/* 000E0 80A0F340 0C283C98 */ jal func_80A0F260
-/* 000E4 80A0F344 24A5FA90 */ addiu $a1, $a1, %lo(func_80A0FA90) ## $a1 = 80A0FA90
-/* 000E8 80A0F348 8A080030 */ lwl $t0, 0x0030($s0) ## 00000030
-/* 000EC 80A0F34C 8FB80038 */ lw $t8, 0x0038($sp)
-/* 000F0 80A0F350 9A080033 */ lwr $t0, 0x0033($s0) ## 00000033
-/* 000F4 80A0F354 AB080000 */ swl $t0, 0x0000($t8) ## 00000000
-/* 000F8 80A0F358 BB080003 */ swr $t0, 0x0003($t8) ## 00000003
-/* 000FC 80A0F35C 96080034 */ lhu $t0, 0x0034($s0) ## 00000034
-/* 00100 80A0F360 A7080004 */ sh $t0, 0x0004($t8) ## 00000004
-/* 00104 80A0F364 8602001C */ lh $v0, 0x001C($s0) ## 0000001C
-.L80A0F368:
-/* 00108 80A0F368 24010023 */ addiu $at, $zero, 0x0023 ## $at = 00000023
-/* 0010C 80A0F36C 1441000D */ bne $v0, $at, .L80A0F3A4
-/* 00110 80A0F370 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
-/* 00114 80A0F374 3C0580A1 */ lui $a1, %hi(func_80A0FC48) ## $a1 = 80A10000
-/* 00118 80A0F378 AE000134 */ sw $zero, 0x0134($s0) ## 00000134
-/* 0011C 80A0F37C 0C283C98 */ jal func_80A0F260
-/* 00120 80A0F380 24A5FC48 */ addiu $a1, $a1, %lo(func_80A0FC48) ## $a1 = 80A0FC48
-/* 00124 80A0F384 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000
-/* 00128 80A0F388 44813000 */ mtc1 $at, $f6 ## $f6 = 30.00
-/* 0012C 80A0F38C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
-/* 00130 80A0F390 240538A3 */ addiu $a1, $zero, 0x38A3 ## $a1 = 000038A3
-/* 00134 80A0F394 0C00BE0A */ jal Audio_PlayActorSound2
-
-/* 00138 80A0F398 E6060068 */ swc1 $f6, 0x0068($s0) ## 00000068
-/* 0013C 80A0F39C 100000B7 */ beq $zero, $zero, .L80A0F67C
-/* 00140 80A0F3A0 8FBF002C */ lw $ra, 0x002C($sp)
-.L80A0F3A4:
-/* 00144 80A0F3A4 24010024 */ addiu $at, $zero, 0x0024 ## $at = 00000024
-/* 00148 80A0F3A8 1441001E */ bne $v0, $at, .L80A0F424
-/* 0014C 80A0F3AC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
-/* 00150 80A0F3B0 3C0580A1 */ lui $a1, %hi(func_80A0FD8C) ## $a1 = 80A10000
-/* 00154 80A0F3B4 0C283C98 */ jal func_80A0F260
-/* 00158 80A0F3B8 24A5FD8C */ addiu $a1, $a1, %lo(func_80A0FD8C) ## $a1 = 80A0FD8C
-/* 0015C 80A0F3BC 860C0030 */ lh $t4, 0x0030($s0) ## 00000030
-/* 00160 80A0F3C0 3C01437F */ lui $at, 0x437F ## $at = 437F0000
-/* 00164 80A0F3C4 44814000 */ mtc1 $at, $f8 ## $f8 = 255.00
-/* 00168 80A0F3C8 448C5000 */ mtc1 $t4, $f10 ## $f10 = 0.00
-/* 0016C 80A0F3CC 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
-/* 00170 80A0F3D0 44819000 */ mtc1 $at, $f18 ## $f18 = 100.00
-/* 00174 80A0F3D4 46805020 */ cvt.s.w $f0, $f10
-/* 00178 80A0F3D8 24090020 */ addiu $t1, $zero, 0x0020 ## $t1 = 00000020
-/* 0017C 80A0F3DC 240A0032 */ addiu $t2, $zero, 0x0032 ## $t2 = 00000032
-/* 00180 80A0F3E0 240B000A */ addiu $t3, $zero, 0x000A ## $t3 = 0000000A
-/* 00184 80A0F3E4 A6090150 */ sh $t1, 0x0150($s0) ## 00000150
-/* 00188 80A0F3E8 A60A0152 */ sh $t2, 0x0152($s0) ## 00000152
-/* 0018C 80A0F3EC 46120103 */ div.s $f4, $f0, $f18
-/* 00190 80A0F3F0 A60B01FE */ sh $t3, 0x01FE($s0) ## 000001FE
-/* 00194 80A0F3F4 3C0180A1 */ lui $at, %hi(D_80A119C4) ## $at = 80A10000
-/* 00198 80A0F3F8 E6080160 */ swc1 $f8, 0x0160($s0) ## 00000160
-/* 0019C 80A0F3FC E604018C */ swc1 $f4, 0x018C($s0) ## 0000018C
-/* 001A0 80A0F400 C42619C4 */ lwc1 $f6, %lo(D_80A119C4)($at)
-/* 001A4 80A0F404 A60001F4 */ sh $zero, 0x01F4($s0) ## 000001F4
-/* 001A8 80A0F408 46060202 */ mul.s $f8, $f0, $f6
-/* 001AC 80A0F40C 4600428D */ trunc.w.s $f10, $f8
-/* 001B0 80A0F410 44025000 */ mfc1 $v0, $f10
-/* 001B4 80A0F414 00000000 */ nop
-/* 001B8 80A0F418 A60201F0 */ sh $v0, 0x01F0($s0) ## 000001F0
-/* 001BC 80A0F41C 10000096 */ beq $zero, $zero, .L80A0F678
-/* 001C0 80A0F420 A60201F2 */ sh $v0, 0x01F2($s0) ## 000001F2
-.L80A0F424:
-/* 001C4 80A0F424 24010026 */ addiu $at, $zero, 0x0026 ## $at = 00000026
-/* 001C8 80A0F428 1441000F */ bne $v0, $at, .L80A0F468
-/* 001CC 80A0F42C 3C0480A1 */ lui $a0, %hi(D_80A11840) ## $a0 = 80A10000
-/* 001D0 80A0F430 0C00084C */ jal osSyncPrintf
-
-/* 001D4 80A0F434 24841840 */ addiu $a0, $a0, %lo(D_80A11840) ## $a0 = 80A11840
-/* 001D8 80A0F438 3C0580A1 */ lui $a1, %hi(func_80A10008) ## $a1 = 80A10000
-/* 001DC 80A0F43C 24A50008 */ addiu $a1, $a1, %lo(func_80A10008) ## $a1 = 80A10008
-/* 001E0 80A0F440 0C283C98 */ jal func_80A0F260
-/* 001E4 80A0F444 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
-/* 001E8 80A0F448 3C0480A1 */ lui $a0, %hi(D_80A11854) ## $a0 = 80A10000
-/* 001EC 80A0F44C 0C00084C */ jal osSyncPrintf
-
-/* 001F0 80A0F450 24841854 */ addiu $a0, $a0, %lo(D_80A11854) ## $a0 = 80A11854
-/* 001F4 80A0F454 860E0030 */ lh $t6, 0x0030($s0) ## 00000030
-/* 001F8 80A0F458 860F0032 */ lh $t7, 0x0032($s0) ## 00000032
-/* 001FC 80A0F45C A60E0150 */ sh $t6, 0x0150($s0) ## 00000150
-/* 00200 80A0F460 10000085 */ beq $zero, $zero, .L80A0F678
-/* 00204 80A0F464 A60F0158 */ sh $t7, 0x0158($s0) ## 00000158
-.L80A0F468:
-/* 00208 80A0F468 24010027 */ addiu $at, $zero, 0x0027 ## $at = 00000027
-/* 0020C 80A0F46C 10410006 */ beq $v0, $at, .L80A0F488
-/* 00210 80A0F470 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
-/* 00214 80A0F474 24010028 */ addiu $at, $zero, 0x0028 ## $at = 00000028
-/* 00218 80A0F478 10410003 */ beq $v0, $at, .L80A0F488
-/* 0021C 80A0F47C 24010029 */ addiu $at, $zero, 0x0029 ## $at = 00000029
-/* 00220 80A0F480 5441001B */ bnel $v0, $at, .L80A0F4F0
-/* 00224 80A0F484 24010032 */ addiu $at, $zero, 0x0032 ## $at = 00000032
-.L80A0F488:
-/* 00228 80A0F488 0C00B58B */ jal Actor_SetScale
-
-/* 0022C 80A0F48C 3C0540E0 */ lui $a1, 0x40E0 ## $a1 = 40E00000
-/* 00230 80A0F490 3C0580A1 */ lui $a1, %hi(func_80A10F18) ## $a1 = 80A10000
-/* 00234 80A0F494 24A50F18 */ addiu $a1, $a1, %lo(func_80A10F18) ## $a1 = 80A10F18
-/* 00238 80A0F498 0C283C98 */ jal func_80A0F260
-/* 0023C 80A0F49C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
-/* 00240 80A0F4A0 8618001C */ lh $t8, 0x001C($s0) ## 0000001C
-/* 00244 80A0F4A4 24010029 */ addiu $at, $zero, 0x0029 ## $at = 00000029
-/* 00248 80A0F4A8 2408004C */ addiu $t0, $zero, 0x004C ## $t0 = 0000004C
-/* 0024C 80A0F4AC 17010007 */ bne $t8, $at, .L80A0F4CC
-/* 00250 80A0F4B0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
-/* 00254 80A0F4B4 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
-/* 00258 80A0F4B8 44819000 */ mtc1 $at, $f18 ## $f18 = 1.00
-/* 0025C 80A0F4BC 241901B8 */ addiu $t9, $zero, 0x01B8 ## $t9 = 000001B8
-/* 00260 80A0F4C0 A6190150 */ sh $t9, 0x0150($s0) ## 00000150
-/* 00264 80A0F4C4 1000006C */ beq $zero, $zero, .L80A0F678
-/* 00268 80A0F4C8 E6120058 */ swc1 $f18, 0x0058($s0) ## 00000058
-.L80A0F4CC:
-/* 0026C 80A0F4CC A6080150 */ sh $t0, 0x0150($s0) ## 00000150
-/* 00270 80A0F4D0 0C00BE0A */ jal Audio_PlayActorSound2
-
-/* 00274 80A0F4D4 2405283F */ addiu $a1, $zero, 0x283F ## $a1 = 0000283F
-/* 00278 80A0F4D8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
-/* 0027C 80A0F4DC 0C00BE0A */ jal Audio_PlayActorSound2
-
-/* 00280 80A0F4E0 24052853 */ addiu $a1, $zero, 0x2853 ## $a1 = 00002853
-/* 00284 80A0F4E4 10000065 */ beq $zero, $zero, .L80A0F67C
-/* 00288 80A0F4E8 8FBF002C */ lw $ra, 0x002C($sp)
-/* 0028C 80A0F4EC 24010032 */ addiu $at, $zero, 0x0032 ## $at = 00000032
-.L80A0F4F0:
-/* 00290 80A0F4F0 14410061 */ bne $v0, $at, .L80A0F678
-/* 00294 80A0F4F4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
-/* 00298 80A0F4F8 86090030 */ lh $t1, 0x0030($s0) ## 00000030
-/* 0029C 80A0F4FC 3C014040 */ lui $at, 0x4040 ## $at = 40400000
-/* 002A0 80A0F500 3C0580A1 */ lui $a1, %hi(func_80A10220) ## $a1 = 80A10000
-/* 002A4 80A0F504 55200006 */ bnel $t1, $zero, .L80A0F520
-/* 002A8 80A0F508 44813000 */ mtc1 $at, $f6 ## $f6 = 3.00
-/* 002AC 80A0F50C 3C014100 */ lui $at, 0x4100 ## $at = 41000000
-/* 002B0 80A0F510 44812000 */ mtc1 $at, $f4 ## $f4 = 8.00
-/* 002B4 80A0F514 10000004 */ beq $zero, $zero, .L80A0F528
-/* 002B8 80A0F518 E6040068 */ swc1 $f4, 0x0068($s0) ## 00000068
-/* 002BC 80A0F51C 44813000 */ mtc1 $at, $f6 ## $f6 = 8.00
-.L80A0F520:
-/* 002C0 80A0F520 00000000 */ nop
-/* 002C4 80A0F524 E6060068 */ swc1 $f6, 0x0068($s0) ## 00000068
-.L80A0F528:
-/* 002C8 80A0F528 0C283C98 */ jal func_80A0F260
-/* 002CC 80A0F52C 24A50220 */ addiu $a1, $a1, %lo(func_80A10220) ## $a1 = 80A10220
-/* 002D0 80A0F530 8FA2004C */ lw $v0, 0x004C($sp)
-/* 002D4 80A0F534 240A0046 */ addiu $t2, $zero, 0x0046 ## $t2 = 00000046
-/* 002D8 80A0F538 240B0002 */ addiu $t3, $zero, 0x0002 ## $t3 = 00000002
-/* 002DC 80A0F53C A60A0150 */ sh $t2, 0x0150($s0) ## 00000150
-/* 002E0 80A0F540 A60B0152 */ sh $t3, 0x0152($s0) ## 00000152
-/* 002E4 80A0F544 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000
-/* 002E8 80A0F548 C60A0024 */ lwc1 $f10, 0x0024($s0) ## 00000024
-/* 002EC 80A0F54C 44812000 */ mtc1 $at, $f4 ## $f4 = 30.00
-/* 002F0 80A0F550 C4480024 */ lwc1 $f8, 0x0024($v0) ## 00000024
-/* 002F4 80A0F554 C4520028 */ lwc1 $f18, 0x0028($v0) ## 00000028
-/* 002F8 80A0F558 460A4301 */ sub.s $f12, $f8, $f10
-/* 002FC 80A0F55C C6080028 */ lwc1 $f8, 0x0028($s0) ## 00000028
-/* 00300 80A0F560 46049180 */ add.s $f6, $f18, $f4
-/* 00304 80A0F564 46083281 */ sub.s $f10, $f6, $f8
-/* 00308 80A0F568 E7AA0044 */ swc1 $f10, 0x0044($sp)
-/* 0030C 80A0F56C C604002C */ lwc1 $f4, 0x002C($s0) ## 0000002C
-/* 00310 80A0F570 C452002C */ lwc1 $f18, 0x002C($v0) ## 0000002C
-/* 00314 80A0F574 E7AC0048 */ swc1 $f12, 0x0048($sp)
-/* 00318 80A0F578 46049381 */ sub.s $f14, $f18, $f4
-/* 0031C 80A0F57C 0C03F494 */ jal Math_atan2f
-/* 00320 80A0F580 E7AE0040 */ swc1 $f14, 0x0040($sp)
-/* 00324 80A0F584 3C0180A1 */ lui $at, %hi(D_80A119C8) ## $at = 80A10000
-/* 00328 80A0F588 C42619C8 */ lwc1 $f6, %lo(D_80A119C8)($at)
-/* 0032C 80A0F58C C7A20048 */ lwc1 $f2, 0x0048($sp)
-/* 00330 80A0F590 C7B00040 */ lwc1 $f16, 0x0040($sp)
-/* 00334 80A0F594 46060202 */ mul.s $f8, $f0, $f6
-/* 00338 80A0F598 00000000 */ nop
-/* 0033C 80A0F59C 46021482 */ mul.s $f18, $f2, $f2
-/* 00340 80A0F5A0 00000000 */ nop
-/* 00344 80A0F5A4 46108102 */ mul.s $f4, $f16, $f16
-/* 00348 80A0F5A8 4600428D */ trunc.w.s $f10, $f8
-/* 0034C 80A0F5AC 46049000 */ add.s $f0, $f18, $f4
-/* 00350 80A0F5B0 440D5000 */ mfc1 $t5, $f10
-/* 00354 80A0F5B4 00000000 */ nop
-/* 00358 80A0F5B8 A60D0032 */ sh $t5, 0x0032($s0) ## 00000032
-/* 0035C 80A0F5BC 46000384 */ sqrt.s $f14, $f0
-/* 00360 80A0F5C0 0C03F494 */ jal Math_atan2f
-/* 00364 80A0F5C4 C7AC0044 */ lwc1 $f12, 0x0044($sp)
-/* 00368 80A0F5C8 3C0180A1 */ lui $at, %hi(D_80A119CC) ## $at = 80A10000
-/* 0036C 80A0F5CC C42619CC */ lwc1 $f6, %lo(D_80A119CC)($at)
-/* 00370 80A0F5D0 24180028 */ addiu $t8, $zero, 0x0028 ## $t8 = 00000028
-/* 00374 80A0F5D4 24190032 */ addiu $t9, $zero, 0x0032 ## $t9 = 00000032
-/* 00378 80A0F5D8 46060202 */ mul.s $f8, $f0, $f6
-/* 0037C 80A0F5DC 2408FFE7 */ addiu $t0, $zero, 0xFFE7 ## $t0 = FFFFFFE7
-/* 00380 80A0F5E0 A61801F0 */ sh $t8, 0x01F0($s0) ## 000001F0
-/* 00384 80A0F5E4 A61901F2 */ sh $t9, 0x01F2($s0) ## 000001F2
-/* 00388 80A0F5E8 A60801F4 */ sh $t0, 0x01F4($s0) ## 000001F4
-/* 0038C 80A0F5EC 260601A0 */ addiu $a2, $s0, 0x01A0 ## $a2 = 000001A0
-/* 00390 80A0F5F0 4600428D */ trunc.w.s $f10, $f8
-/* 00394 80A0F5F4 440F5000 */ mfc1 $t7, $f10
-/* 00398 80A0F5F8 00000000 */ nop
-/* 0039C 80A0F5FC A60F0030 */ sh $t7, 0x0030($s0) ## 00000030
-/* 003A0 80A0F600 8FA4005C */ lw $a0, 0x005C($sp)
-/* 003A4 80A0F604 AFA60038 */ sw $a2, 0x0038($sp)
-/* 003A8 80A0F608 0C01E9D9 */ jal Lights_Insert
-
-/* 003AC 80A0F60C 248507A8 */ addiu $a1, $a0, 0x07A8 ## $a1 = 000007A8
-/* 003B0 80A0F610 C6120024 */ lwc1 $f18, 0x0024($s0) ## 00000024
-/* 003B4 80A0F614 C6060028 */ lwc1 $f6, 0x0028($s0) ## 00000028
-/* 003B8 80A0F618 C60A002C */ lwc1 $f10, 0x002C($s0) ## 0000002C
-/* 003BC 80A0F61C 4600910D */ trunc.w.s $f4, $f18
-/* 003C0 80A0F620 AE02019C */ sw $v0, 0x019C($s0) ## 0000019C
-/* 003C4 80A0F624 240D00FF */ addiu $t5, $zero, 0x00FF ## $t5 = 000000FF
-/* 003C8 80A0F628 4600320D */ trunc.w.s $f8, $f6
-/* 003CC 80A0F62C 44052000 */ mfc1 $a1, $f4
-/* 003D0 80A0F630 240E00FF */ addiu $t6, $zero, 0x00FF ## $t6 = 000000FF
-/* 003D4 80A0F634 4600548D */ trunc.w.s $f18, $f10
-/* 003D8 80A0F638 44064000 */ mfc1 $a2, $f8
-/* 003DC 80A0F63C 240F00FF */ addiu $t7, $zero, 0x00FF ## $t7 = 000000FF
-/* 003E0 80A0F640 241800FF */ addiu $t8, $zero, 0x00FF ## $t8 = 000000FF
-/* 003E4 80A0F644 44079000 */ mfc1 $a3, $f18
-/* 003E8 80A0F648 00052C00 */ sll $a1, $a1, 16
-/* 003EC 80A0F64C 00063400 */ sll $a2, $a2, 16
-/* 003F0 80A0F650 00073C00 */ sll $a3, $a3, 16
-/* 003F4 80A0F654 00073C03 */ sra $a3, $a3, 16
-/* 003F8 80A0F658 00063403 */ sra $a2, $a2, 16
-/* 003FC 80A0F65C 00052C03 */ sra $a1, $a1, 16
-/* 00400 80A0F660 AFB8001C */ sw $t8, 0x001C($sp)
-/* 00404 80A0F664 AFAF0018 */ sw $t7, 0x0018($sp)
-/* 00408 80A0F668 AFAE0014 */ sw $t6, 0x0014($sp)
-/* 0040C 80A0F66C AFAD0010 */ sw $t5, 0x0010($sp)
-/* 00410 80A0F670 0C01E763 */ jal Lights_InitType0PositionalLight
-
-/* 00414 80A0F674 8FA40038 */ lw $a0, 0x0038($sp)
-.L80A0F678:
-/* 00418 80A0F678 8FBF002C */ lw $ra, 0x002C($sp)
-.L80A0F67C:
-/* 0041C 80A0F67C 8FB00028 */ lw $s0, 0x0028($sp)
-/* 00420 80A0F680 27BD0058 */ addiu $sp, $sp, 0x0058 ## $sp = 00000000
-/* 00424 80A0F684 03E00008 */ jr $ra
-/* 00428 80A0F688 00000000 */ nop
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Fhg_Fire/EnFhgFire_Update.s b/asm/non_matchings/overlays/actors/ovl_En_Fhg_Fire/EnFhgFire_Update.s
deleted file mode 100644
index e680213d1..000000000
--- a/asm/non_matchings/overlays/actors/ovl_En_Fhg_Fire/EnFhgFire_Update.s
+++ /dev/null
@@ -1,23 +0,0 @@
-glabel EnFhgFire_Update
-/* 01E88 80A110E8 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
-/* 01E8C 80A110EC AFBF0014 */ sw $ra, 0x0014($sp)
-/* 01E90 80A110F0 848E0156 */ lh $t6, 0x0156($a0) ## 00000156
-/* 01E94 80A110F4 84820150 */ lh $v0, 0x0150($a0) ## 00000150
-/* 01E98 80A110F8 25CF0001 */ addiu $t7, $t6, 0x0001 ## $t7 = 00000001
-/* 01E9C 80A110FC 10400003 */ beq $v0, $zero, .L80A1110C
-/* 01EA0 80A11100 A48F0156 */ sh $t7, 0x0156($a0) ## 00000156
-/* 01EA4 80A11104 2458FFFF */ addiu $t8, $v0, 0xFFFF ## $t8 = FFFFFFFF
-/* 01EA8 80A11108 A4980150 */ sh $t8, 0x0150($a0) ## 00000150
-.L80A1110C:
-/* 01EAC 80A1110C 84820152 */ lh $v0, 0x0152($a0) ## 00000152
-/* 01EB0 80A11110 10400002 */ beq $v0, $zero, .L80A1111C
-/* 01EB4 80A11114 2459FFFF */ addiu $t9, $v0, 0xFFFF ## $t9 = FFFFFFFF
-/* 01EB8 80A11118 A4990152 */ sh $t9, 0x0152($a0) ## 00000152
-.L80A1111C:
-/* 01EBC 80A1111C 8C99014C */ lw $t9, 0x014C($a0) ## 0000014C
-/* 01EC0 80A11120 0320F809 */ jalr $ra, $t9
-/* 01EC4 80A11124 00000000 */ nop
-/* 01EC8 80A11128 8FBF0014 */ lw $ra, 0x0014($sp)
-/* 01ECC 80A1112C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
-/* 01ED0 80A11130 03E00008 */ jr $ra
-/* 01ED4 80A11134 00000000 */ nop
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Fhg_Fire/func_80A0F260.s b/asm/non_matchings/overlays/actors/ovl_En_Fhg_Fire/func_80A0F260.s
deleted file mode 100644
index c4e857ed2..000000000
--- a/asm/non_matchings/overlays/actors/ovl_En_Fhg_Fire/func_80A0F260.s
+++ /dev/null
@@ -1,3 +0,0 @@
-glabel func_80A0F260
-/* 00000 80A0F260 03E00008 */ jr $ra
-/* 00004 80A0F264 AC85014C */ sw $a1, 0x014C($a0) ## 0000014C
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Fhg_Fire/func_80A0F6F8.s b/asm/non_matchings/overlays/actors/ovl_En_Fhg_Fire/func_80A0F6F8.s
deleted file mode 100644
index 8f4aa6c51..000000000
--- a/asm/non_matchings/overlays/actors/ovl_En_Fhg_Fire/func_80A0F6F8.s
+++ /dev/null
@@ -1,258 +0,0 @@
-.late_rodata
-glabel D_80A119D0
- .word 0xBE4CCCCD
-
-.text
-glabel func_80A0F6F8
-/* 00498 80A0F6F8 27BDFF70 */ addiu $sp, $sp, 0xFF70 ## $sp = FFFFFF70
-/* 0049C 80A0F6FC AFB10044 */ sw $s1, 0x0044($sp)
-/* 004A0 80A0F700 00808825 */ or $s1, $a0, $zero ## $s1 = 00000000
-/* 004A4 80A0F704 AFB40050 */ sw $s4, 0x0050($sp)
-/* 004A8 80A0F708 00A0A025 */ or $s4, $a1, $zero ## $s4 = 00000000
-/* 004AC 80A0F70C AFBF0054 */ sw $ra, 0x0054($sp)
-/* 004B0 80A0F710 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
-/* 004B4 80A0F714 AFB3004C */ sw $s3, 0x004C($sp)
-/* 004B8 80A0F718 AFB20048 */ sw $s2, 0x0048($sp)
-/* 004BC 80A0F71C AFB00040 */ sw $s0, 0x0040($sp)
-/* 004C0 80A0F720 F7B40038 */ sdc1 $f20, 0x0038($sp)
-/* 004C4 80A0F724 0C030129 */ jal Gameplay_GetCamera
-/* 004C8 80A0F728 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
-/* 004CC 80A0F72C 86230158 */ lh $v1, 0x0158($s1) ## 00000158
-/* 004D0 80A0F730 00402025 */ or $a0, $v0, $zero ## $a0 = 00000000
-/* 004D4 80A0F734 240E000A */ addiu $t6, $zero, 0x000A ## $t6 = 0000000A
-/* 004D8 80A0F738 10600008 */ beq $v1, $zero, .L80A0F75C
-/* 004DC 80A0F73C 240F0007 */ addiu $t7, $zero, 0x0007 ## $t7 = 00000007
-/* 004E0 80A0F740 2401000A */ addiu $at, $zero, 0x000A ## $at = 0000000A
-/* 004E4 80A0F744 10610008 */ beq $v1, $at, .L80A0F768
-/* 004E8 80A0F748 2401000B */ addiu $at, $zero, 0x000B ## $at = 0000000B
-/* 004EC 80A0F74C 1061006F */ beq $v1, $at, .L80A0F90C
-/* 004F0 80A0F750 00000000 */ nop
-/* 004F4 80A0F754 100000C3 */ beq $zero, $zero, .L80A0FA64
-/* 004F8 80A0F758 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
-.L80A0F75C:
-/* 004FC 80A0F75C A62E0158 */ sh $t6, 0x0158($s1) ## 00000158
-/* 00500 80A0F760 100000BF */ beq $zero, $zero, .L80A0FA60
-/* 00504 80A0F764 A62F0150 */ sh $t7, 0x0150($s1) ## 00000150
-.L80A0F768:
-/* 00508 80A0F768 0C016A52 */ jal func_8005A948
-/* 0050C 80A0F76C 00000000 */ nop
-/* 00510 80A0F770 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
-/* 00514 80A0F774 44810000 */ mtc1 $at, $f0 ## $f0 = 1.00
-/* 00518 80A0F778 86390156 */ lh $t9, 0x0156($s1) ## 00000156
-/* 0051C 80A0F77C 3C073E4C */ lui $a3, 0x3E4C ## $a3 = 3E4C0000
-/* 00520 80A0F780 44050000 */ mfc1 $a1, $f0
-/* 00524 80A0F784 001943C0 */ sll $t0, $t9, 15
-/* 00528 80A0F788 01024821 */ addu $t1, $t0, $v0
-/* 0052C 80A0F78C 44060000 */ mfc1 $a2, $f0
-/* 00530 80A0F790 A62900B6 */ sh $t1, 0x00B6($s1) ## 000000B6
-/* 00534 80A0F794 34E7CCCD */ ori $a3, $a3, 0xCCCD ## $a3 = 3E4CCCCD
-/* 00538 80A0F798 0C01E107 */ jal Math_SmoothScaleMaxF
-
-/* 0053C 80A0F79C 2624016C */ addiu $a0, $s1, 0x016C ## $a0 = 0000016C
-/* 00540 80A0F7A0 862A0150 */ lh $t2, 0x0150($s1) ## 00000150
-/* 00544 80A0F7A4 240B000B */ addiu $t3, $zero, 0x000B ## $t3 = 0000000B
-/* 00548 80A0F7A8 34018000 */ ori $at, $zero, 0x8000 ## $at = 00008000
-/* 0054C 80A0F7AC 154000AC */ bne $t2, $zero, .L80A0FA60
-/* 00550 80A0F7B0 240E0025 */ addiu $t6, $zero, 0x0025 ## $t6 = 00000025
-/* 00554 80A0F7B4 862C00B8 */ lh $t4, 0x00B8($s1) ## 000000B8
-/* 00558 80A0F7B8 C6240028 */ lwc1 $f4, 0x0028($s1) ## 00000028
-/* 0055C 80A0F7BC C62A0024 */ lwc1 $f10, 0x0024($s1) ## 00000024
-/* 00560 80A0F7C0 01816821 */ addu $t5, $t4, $at
-/* 00564 80A0F7C4 3C014348 */ lui $at, 0x4348 ## $at = 43480000
-/* 00568 80A0F7C8 44813000 */ mtc1 $at, $f6 ## $f6 = 200.00
-/* 0056C 80A0F7CC A62B0158 */ sh $t3, 0x0158($s1) ## 00000158
-/* 00570 80A0F7D0 A62D00B8 */ sh $t5, 0x00B8($s1) ## 000000B8
-/* 00574 80A0F7D4 46062201 */ sub.s $f8, $f4, $f6
-/* 00578 80A0F7D8 A62E0150 */ sh $t6, 0x0150($s1) ## 00000150
-/* 0057C 80A0F7DC 240F01F4 */ addiu $t7, $zero, 0x01F4 ## $t7 = 000001F4
-/* 00580 80A0F7E0 24180024 */ addiu $t8, $zero, 0x0024 ## $t8 = 00000024
-/* 00584 80A0F7E4 E6280028 */ swc1 $f8, 0x0028($s1) ## 00000028
-/* 00588 80A0F7E8 E7AA0010 */ swc1 $f10, 0x0010($sp)
-/* 0058C 80A0F7EC C6300028 */ lwc1 $f16, 0x0028($s1) ## 00000028
-/* 00590 80A0F7F0 26841C24 */ addiu $a0, $s4, 0x1C24 ## $a0 = 00001C24
-/* 00594 80A0F7F4 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
-/* 00598 80A0F7F8 E7B00014 */ swc1 $f16, 0x0014($sp)
-/* 0059C 80A0F7FC C632002C */ lwc1 $f18, 0x002C($s1) ## 0000002C
-/* 005A0 80A0F800 AFB80028 */ sw $t8, 0x0028($sp)
-/* 005A4 80A0F804 AFA00024 */ sw $zero, 0x0024($sp)
-/* 005A8 80A0F808 AFA00020 */ sw $zero, 0x0020($sp)
-/* 005AC 80A0F80C AFAF001C */ sw $t7, 0x001C($sp)
-/* 005B0 80A0F810 02803025 */ or $a2, $s4, $zero ## $a2 = 00000000
-/* 005B4 80A0F814 2407006D */ addiu $a3, $zero, 0x006D ## $a3 = 0000006D
-/* 005B8 80A0F818 0C00C916 */ jal Actor_SpawnAttached
-
-/* 005BC 80A0F81C E7B20018 */ swc1 $f18, 0x0018($sp)
-/* 005C0 80A0F820 3C1980A1 */ lui $t9, %hi(D_80A117BC) ## $t9 = 80A10000
-/* 005C4 80A0F824 273917BC */ addiu $t9, $t9, %lo(D_80A117BC) ## $t9 = 80A117BC
-/* 005C8 80A0F828 8F290000 */ lw $t1, 0x0000($t9) ## 80A117BC
-/* 005CC 80A0F82C 27B30070 */ addiu $s3, $sp, 0x0070 ## $s3 = FFFFFFE0
-/* 005D0 80A0F830 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000
-/* 005D4 80A0F834 AE690000 */ sw $t1, 0x0000($s3) ## FFFFFFE0
-/* 005D8 80A0F838 8F280004 */ lw $t0, 0x0004($t9) ## 80A117C0
-/* 005DC 80A0F83C 4481A000 */ mtc1 $at, $f20 ## $f20 = 30.00
-/* 005E0 80A0F840 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000
-/* 005E4 80A0F844 AE680004 */ sw $t0, 0x0004($s3) ## FFFFFFE4
-/* 005E8 80A0F848 8F290008 */ lw $t1, 0x0008($t9) ## 80A117C4
-/* 005EC 80A0F84C 26320024 */ addiu $s2, $s1, 0x0024 ## $s2 = 00000024
-/* 005F0 80A0F850 AE690008 */ sw $t1, 0x0008($s3) ## FFFFFFE8
-.L80A0F854:
-/* 005F4 80A0F854 0C00CFC8 */ jal Math_Rand_CenteredFloat
-
-/* 005F8 80A0F858 4600A306 */ mov.s $f12, $f20
-/* 005FC 80A0F85C 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000
-/* 00600 80A0F860 44816000 */ mtc1 $at, $f12 ## $f12 = 5.00
-/* 00604 80A0F864 0C00CFBE */ jal Math_Rand_ZeroFloat
-
-/* 00608 80A0F868 E7A0007C */ swc1 $f0, 0x007C($sp)
-/* 0060C 80A0F86C 3C014040 */ lui $at, 0x4040 ## $at = 40400000
-/* 00610 80A0F870 44812000 */ mtc1 $at, $f4 ## $f4 = 3.00
-/* 00614 80A0F874 4600A306 */ mov.s $f12, $f20
-/* 00618 80A0F878 46040180 */ add.s $f6, $f0, $f4
-/* 0061C 80A0F87C 0C00CFC8 */ jal Math_Rand_CenteredFloat
-
-/* 00620 80A0F880 E7A60080 */ swc1 $f6, 0x0080($sp)
-/* 00624 80A0F884 3C0180A1 */ lui $at, %hi(D_80A119D0) ## $at = 80A10000
-/* 00628 80A0F888 C42819D0 */ lwc1 $f8, %lo(D_80A119D0)($at)
-/* 0062C 80A0F88C E7A00084 */ swc1 $f0, 0x0084($sp)
-/* 00630 80A0F890 0C03F66B */ jal Math_Rand_ZeroOne
- ## Rand.Next() float
-/* 00634 80A0F894 E7A80074 */ swc1 $f8, 0x0074($sp)
-/* 00638 80A0F898 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
-/* 0063C 80A0F89C 44815000 */ mtc1 $at, $f10 ## $f10 = 100.00
-/* 00640 80A0F8A0 02802025 */ or $a0, $s4, $zero ## $a0 = 00000000
-/* 00644 80A0F8A4 02402825 */ or $a1, $s2, $zero ## $a1 = 00000024
-/* 00648 80A0F8A8 460A0402 */ mul.s $f16, $f0, $f10
-/* 0064C 80A0F8AC 27A6007C */ addiu $a2, $sp, 0x007C ## $a2 = FFFFFFEC
-/* 00650 80A0F8B0 02603825 */ or $a3, $s3, $zero ## $a3 = FFFFFFE0
-/* 00654 80A0F8B4 AFA00014 */ sw $zero, 0x0014($sp)
-/* 00658 80A0F8B8 4600848D */ trunc.w.s $f18, $f16
-/* 0065C 80A0F8BC 440B9000 */ mfc1 $t3, $f18
-/* 00660 80A0F8C0 00000000 */ nop
-/* 00664 80A0F8C4 000B6400 */ sll $t4, $t3, 16
-/* 00668 80A0F8C8 000C6C03 */ sra $t5, $t4, 16
-/* 0066C 80A0F8CC 25AE00F0 */ addiu $t6, $t5, 0x00F0 ## $t6 = 000000F0
-/* 00670 80A0F8D0 0C00A73C */ jal func_80029CF0
-/* 00674 80A0F8D4 AFAE0010 */ sw $t6, 0x0010($sp)
-/* 00678 80A0F8D8 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001
-/* 0067C 80A0F8DC 00108400 */ sll $s0, $s0, 16
-/* 00680 80A0F8E0 00108403 */ sra $s0, $s0, 16
-/* 00684 80A0F8E4 2A010023 */ slti $at, $s0, 0x0023
-/* 00688 80A0F8E8 1420FFDA */ bne $at, $zero, .L80A0F854
-/* 0068C 80A0F8EC 00000000 */ nop
-/* 00690 80A0F8F0 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
-/* 00694 80A0F8F4 02802825 */ or $a1, $s4, $zero ## $a1 = 00000000
-/* 00698 80A0F8F8 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004
-/* 0069C 80A0F8FC 0C00CFA2 */ jal func_80033E88
-/* 006A0 80A0F900 2407000A */ addiu $a3, $zero, 0x000A ## $a3 = 0000000A
-/* 006A4 80A0F904 10000057 */ beq $zero, $zero, .L80A0FA64
-/* 006A8 80A0F908 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
-.L80A0F90C:
-/* 006AC 80A0F90C 0C016A52 */ jal func_8005A948
-/* 006B0 80A0F910 00000000 */ nop
-/* 006B4 80A0F914 86380156 */ lh $t8, 0x0156($s1) ## 00000156
-/* 006B8 80A0F918 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
-/* 006BC 80A0F91C 44810000 */ mtc1 $at, $f0 ## $f0 = 1.00
-/* 006C0 80A0F920 0018CBC0 */ sll $t9, $t8, 15
-/* 006C4 80A0F924 03224021 */ addu $t0, $t9, $v0
-/* 006C8 80A0F928 3C073E4C */ lui $a3, 0x3E4C ## $a3 = 3E4C0000
-/* 006CC 80A0F92C 44060000 */ mfc1 $a2, $f0
-/* 006D0 80A0F930 A62800B6 */ sh $t0, 0x00B6($s1) ## 000000B6
-/* 006D4 80A0F934 34E7CCCD */ ori $a3, $a3, 0xCCCD ## $a3 = 3E4CCCCD
-/* 006D8 80A0F938 2624016C */ addiu $a0, $s1, 0x016C ## $a0 = 0000016C
-/* 006DC 80A0F93C 0C01E107 */ jal Math_SmoothScaleMaxF
-
-/* 006E0 80A0F940 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
-/* 006E4 80A0F944 86220150 */ lh $v0, 0x0150($s1) ## 00000150
-/* 006E8 80A0F948 2401001E */ addiu $at, $zero, 0x001E ## $at = 0000001E
-/* 006EC 80A0F94C 14410040 */ bne $v0, $at, .L80A0FA50
-/* 006F0 80A0F950 00000000 */ nop
-/* 006F4 80A0F954 0C03F66B */ jal Math_Rand_ZeroOne
- ## Rand.Next() float
-/* 006F8 80A0F958 00000000 */ nop
-/* 006FC 80A0F95C 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
-/* 00700 80A0F960 44812000 */ mtc1 $at, $f4 ## $f4 = 0.50
-/* 00704 80A0F964 00009025 */ or $s2, $zero, $zero ## $s2 = 00000000
-/* 00708 80A0F968 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000
-/* 0070C 80A0F96C 4604003C */ c.lt.s $f0, $f4
-/* 00710 80A0F970 26931C24 */ addiu $s3, $s4, 0x1C24 ## $s3 = 00001C24
-/* 00714 80A0F974 45000003 */ bc1f .L80A0F984
-/* 00718 80A0F978 00000000 */ nop
-/* 0071C 80A0F97C 10000001 */ beq $zero, $zero, .L80A0F984
-/* 00720 80A0F980 24121000 */ addiu $s2, $zero, 0x1000 ## $s2 = 00001000
-.L80A0F984:
-/* 00724 80A0F984 C6260024 */ lwc1 $f6, 0x0024($s1) ## 00000024
-.L80A0F988:
-/* 00728 80A0F988 00104B40 */ sll $t1, $s0, 13
-/* 0072C 80A0F98C 01325021 */ addu $t2, $t1, $s2
-/* 00730 80A0F990 E7A60010 */ swc1 $f6, 0x0010($sp)
-/* 00734 80A0F994 C6280028 */ lwc1 $f8, 0x0028($s1) ## 00000028
-/* 00738 80A0F998 240B4000 */ addiu $t3, $zero, 0x4000 ## $t3 = 00004000
-/* 0073C 80A0F99C 260C0064 */ addiu $t4, $s0, 0x0064 ## $t4 = 00000064
-/* 00740 80A0F9A0 E7A80014 */ swc1 $f8, 0x0014($sp)
-/* 00744 80A0F9A4 C62A002C */ lwc1 $f10, 0x002C($s1) ## 0000002C
-/* 00748 80A0F9A8 AFAC0028 */ sw $t4, 0x0028($sp)
-/* 0074C 80A0F9AC AFAB0024 */ sw $t3, 0x0024($sp)
-/* 00750 80A0F9B0 AFAA0020 */ sw $t2, 0x0020($sp)
-/* 00754 80A0F9B4 AFA0001C */ sw $zero, 0x001C($sp)
-/* 00758 80A0F9B8 02602025 */ or $a0, $s3, $zero ## $a0 = 00001C24
-/* 0075C 80A0F9BC 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
-/* 00760 80A0F9C0 02803025 */ or $a2, $s4, $zero ## $a2 = 00000000
-/* 00764 80A0F9C4 2407006D */ addiu $a3, $zero, 0x006D ## $a3 = 0000006D
-/* 00768 80A0F9C8 0C00C916 */ jal Actor_SpawnAttached
-
-/* 0076C 80A0F9CC E7AA0018 */ swc1 $f10, 0x0018($sp)
-/* 00770 80A0F9D0 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001
-/* 00774 80A0F9D4 00108400 */ sll $s0, $s0, 16
-/* 00778 80A0F9D8 00108403 */ sra $s0, $s0, 16
-/* 0077C 80A0F9DC 2A010008 */ slti $at, $s0, 0x0008
-/* 00780 80A0F9E0 5420FFE9 */ bnel $at, $zero, .L80A0F988
-/* 00784 80A0F9E4 C6260024 */ lwc1 $f6, 0x0024($s1) ## 00000024
-/* 00788 80A0F9E8 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000
-/* 0078C 80A0F9EC C6300024 */ lwc1 $f16, 0x0024($s1) ## 00000024
-.L80A0F9F0:
-/* 00790 80A0F9F0 00106B40 */ sll $t5, $s0, 13
-/* 00794 80A0F9F4 01B27021 */ addu $t6, $t5, $s2
-/* 00798 80A0F9F8 E7B00010 */ swc1 $f16, 0x0010($sp)
-/* 0079C 80A0F9FC C6320028 */ lwc1 $f18, 0x0028($s1) ## 00000028
-/* 007A0 80A0FA00 240F0023 */ addiu $t7, $zero, 0x0023 ## $t7 = 00000023
-/* 007A4 80A0FA04 02602025 */ or $a0, $s3, $zero ## $a0 = 00001C24
-/* 007A8 80A0FA08 E7B20014 */ swc1 $f18, 0x0014($sp)
-/* 007AC 80A0FA0C C624002C */ lwc1 $f4, 0x002C($s1) ## 0000002C
-/* 007B0 80A0FA10 AFAF0028 */ sw $t7, 0x0028($sp)
-/* 007B4 80A0FA14 AFA00024 */ sw $zero, 0x0024($sp)
-/* 007B8 80A0FA18 AFAE0020 */ sw $t6, 0x0020($sp)
-/* 007BC 80A0FA1C AFA0001C */ sw $zero, 0x001C($sp)
-/* 007C0 80A0FA20 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
-/* 007C4 80A0FA24 02803025 */ or $a2, $s4, $zero ## $a2 = 00000000
-/* 007C8 80A0FA28 2407006D */ addiu $a3, $zero, 0x006D ## $a3 = 0000006D
-/* 007CC 80A0FA2C 0C00C916 */ jal Actor_SpawnAttached
-
-/* 007D0 80A0FA30 E7A40018 */ swc1 $f4, 0x0018($sp)
-/* 007D4 80A0FA34 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001
-/* 007D8 80A0FA38 00108400 */ sll $s0, $s0, 16
-/* 007DC 80A0FA3C 00108403 */ sra $s0, $s0, 16
-/* 007E0 80A0FA40 2A010008 */ slti $at, $s0, 0x0008
-/* 007E4 80A0FA44 5420FFEA */ bnel $at, $zero, .L80A0F9F0
-/* 007E8 80A0FA48 C6300024 */ lwc1 $f16, 0x0024($s1) ## 00000024
-/* 007EC 80A0FA4C 86220150 */ lh $v0, 0x0150($s1) ## 00000150
-.L80A0FA50:
-/* 007F0 80A0FA50 54400004 */ bnel $v0, $zero, .L80A0FA64
-/* 007F4 80A0FA54 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
-/* 007F8 80A0FA58 0C00B55C */ jal Actor_Kill
-
-/* 007FC 80A0FA5C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
-.L80A0FA60:
-/* 00800 80A0FA60 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
-.L80A0FA64:
-/* 00804 80A0FA64 0C00B58B */ jal Actor_SetScale
-
-/* 00808 80A0FA68 8E25016C */ lw $a1, 0x016C($s1) ## 0000016C
-/* 0080C 80A0FA6C 8FBF0054 */ lw $ra, 0x0054($sp)
-/* 00810 80A0FA70 D7B40038 */ ldc1 $f20, 0x0038($sp)
-/* 00814 80A0FA74 8FB00040 */ lw $s0, 0x0040($sp)
-/* 00818 80A0FA78 8FB10044 */ lw $s1, 0x0044($sp)
-/* 0081C 80A0FA7C 8FB20048 */ lw $s2, 0x0048($sp)
-/* 00820 80A0FA80 8FB3004C */ lw $s3, 0x004C($sp)
-/* 00824 80A0FA84 8FB40050 */ lw $s4, 0x0050($sp)
-/* 00828 80A0FA88 03E00008 */ jr $ra
-/* 0082C 80A0FA8C 27BD0090 */ addiu $sp, $sp, 0x0090 ## $sp = 00000000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Fhg_Fire/func_80A0FA90.s b/asm/non_matchings/overlays/actors/ovl_En_Fhg_Fire/func_80A0FA90.s
deleted file mode 100644
index 0996d4028..000000000
--- a/asm/non_matchings/overlays/actors/ovl_En_Fhg_Fire/func_80A0FA90.s
+++ /dev/null
@@ -1,137 +0,0 @@
-.rdata
-glabel D_80A11868
- .asciz "FF MOVE 1\n"
- .balign 4
-
-glabel D_80A11874
- .asciz "FF MOVE 2\n"
- .balign 4
-
-.text
-glabel func_80A0FA90
-/* 00830 80A0FA90 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
-/* 00834 80A0FA94 AFB00018 */ sw $s0, 0x0018($sp)
-/* 00838 80A0FA98 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
-/* 0083C 80A0FA9C AFBF001C */ sw $ra, 0x001C($sp)
-/* 00840 80A0FAA0 3C0480A1 */ lui $a0, %hi(D_80A11868) ## $a0 = 80A10000
-/* 00844 80A0FAA4 AFA50024 */ sw $a1, 0x0024($sp)
-/* 00848 80A0FAA8 0C00084C */ jal osSyncPrintf
-
-/* 0084C 80A0FAAC 24841868 */ addiu $a0, $a0, %lo(D_80A11868) ## $a0 = 80A11868
-/* 00850 80A0FAB0 0C03F66B */ jal Math_Rand_ZeroOne
- ## Rand.Next() float
-/* 00854 80A0FAB4 00000000 */ nop
-/* 00858 80A0FAB8 3C01457A */ lui $at, 0x457A ## $at = 457A0000
-/* 0085C 80A0FABC 44812000 */ mtc1 $at, $f4 ## $f4 = 4000.00
-/* 00860 80A0FAC0 860E00B4 */ lh $t6, 0x00B4($s0) ## 000000B4
-/* 00864 80A0FAC4 86020158 */ lh $v0, 0x0158($s0) ## 00000158
-/* 00868 80A0FAC8 46040182 */ mul.s $f6, $f0, $f4
-/* 0086C 80A0FACC 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
-/* 00870 80A0FAD0 240B0001 */ addiu $t3, $zero, 0x0001 ## $t3 = 00000001
-/* 00874 80A0FAD4 4600320D */ trunc.w.s $f8, $f6
-/* 00878 80A0FAD8 44084000 */ mfc1 $t0, $f8
-/* 0087C 80A0FADC 00000000 */ nop
-/* 00880 80A0FAE0 01C84821 */ addu $t1, $t6, $t0
-/* 00884 80A0FAE4 252A4000 */ addiu $t2, $t1, 0x4000 ## $t2 = 00004000
-/* 00888 80A0FAE8 10400007 */ beq $v0, $zero, .L80A0FB08
-/* 0088C 80A0FAEC A60A00B4 */ sh $t2, 0x00B4($s0) ## 000000B4
-/* 00890 80A0FAF0 10410010 */ beq $v0, $at, .L80A0FB34
-/* 00894 80A0FAF4 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
-/* 00898 80A0FAF8 10410036 */ beq $v0, $at, .L80A0FBD4
-/* 0089C 80A0FAFC 2604016C */ addiu $a0, $s0, 0x016C ## $a0 = 0000016C
-/* 008A0 80A0FB00 1000003E */ beq $zero, $zero, .L80A0FBFC
-/* 008A4 80A0FB04 C600016C */ lwc1 $f0, 0x016C($s0) ## 0000016C
-.L80A0FB08:
-/* 008A8 80A0FB08 0C03F66B */ jal Math_Rand_ZeroOne
- ## Rand.Next() float
-/* 008AC 80A0FB0C A60B0158 */ sh $t3, 0x0158($s0) ## 00000158
-/* 008B0 80A0FB10 3C0140E0 */ lui $at, 0x40E0 ## $at = 40E00000
-/* 008B4 80A0FB14 44815000 */ mtc1 $at, $f10 ## $f10 = 7.00
-/* 008B8 80A0FB18 00000000 */ nop
-/* 008BC 80A0FB1C 460A0402 */ mul.s $f16, $f0, $f10
-/* 008C0 80A0FB20 4600848D */ trunc.w.s $f18, $f16
-/* 008C4 80A0FB24 44189000 */ mfc1 $t8, $f18
-/* 008C8 80A0FB28 00000000 */ nop
-/* 008CC 80A0FB2C 27190007 */ addiu $t9, $t8, 0x0007 ## $t9 = 00000007
-/* 008D0 80A0FB30 A6190150 */ sh $t9, 0x0150($s0) ## 00000150
-.L80A0FB34:
-/* 008D4 80A0FB34 3C053FD9 */ lui $a1, 0x3FD9 ## $a1 = 3FD90000
-/* 008D8 80A0FB38 3C073EAE */ lui $a3, 0x3EAE ## $a3 = 3EAE0000
-/* 008DC 80A0FB3C 34E7147B */ ori $a3, $a3, 0x147B ## $a3 = 3EAE147B
-/* 008E0 80A0FB40 34A5999A */ ori $a1, $a1, 0x999A ## $a1 = 3FD9999A
-/* 008E4 80A0FB44 2604016C */ addiu $a0, $s0, 0x016C ## $a0 = 0000016C
-/* 008E8 80A0FB48 0C01E107 */ jal Math_SmoothScaleMaxF
-
-/* 008EC 80A0FB4C 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
-/* 008F0 80A0FB50 860E0150 */ lh $t6, 0x0150($s0) ## 00000150
-/* 008F4 80A0FB54 24080002 */ addiu $t0, $zero, 0x0002 ## $t0 = 00000002
-/* 008F8 80A0FB58 2409000A */ addiu $t1, $zero, 0x000A ## $t1 = 0000000A
-/* 008FC 80A0FB5C 15C0001B */ bne $t6, $zero, .L80A0FBCC
-/* 00900 80A0FB60 00000000 */ nop
-/* 00904 80A0FB64 A6080158 */ sh $t0, 0x0158($s0) ## 00000158
-/* 00908 80A0FB68 A6090150 */ sh $t1, 0x0150($s0) ## 00000150
-/* 0090C 80A0FB6C 0C01DE1C */ jal Math_Sins
- ## sins?
-/* 00910 80A0FB70 860400B6 */ lh $a0, 0x00B6($s0) ## 000000B6
-/* 00914 80A0FB74 3C01C348 */ lui $at, 0xC348 ## $at = C3480000
-/* 00918 80A0FB78 44812000 */ mtc1 $at, $f4 ## $f4 = -200.00
-/* 0091C 80A0FB7C C608016C */ lwc1 $f8, 0x016C($s0) ## 0000016C
-/* 00920 80A0FB80 C610002C */ lwc1 $f16, 0x002C($s0) ## 0000002C
-/* 00924 80A0FB84 46040182 */ mul.s $f6, $f0, $f4
-/* 00928 80A0FB88 860400B6 */ lh $a0, 0x00B6($s0) ## 000000B6
-/* 0092C 80A0FB8C 46083282 */ mul.s $f10, $f6, $f8
-/* 00930 80A0FB90 460A8480 */ add.s $f18, $f16, $f10
-/* 00934 80A0FB94 0C01DE0D */ jal Math_Coss
- ## coss?
-/* 00938 80A0FB98 E612002C */ swc1 $f18, 0x002C($s0) ## 0000002C
-/* 0093C 80A0FB9C 3C014348 */ lui $at, 0x4348 ## $at = 43480000
-/* 00940 80A0FBA0 44812000 */ mtc1 $at, $f4 ## $f4 = 200.00
-/* 00944 80A0FBA4 C608016C */ lwc1 $f8, 0x016C($s0) ## 0000016C
-/* 00948 80A0FBA8 C60A0024 */ lwc1 $f10, 0x0024($s0) ## 00000024
-/* 0094C 80A0FBAC 46040182 */ mul.s $f6, $f0, $f4
-/* 00950 80A0FBB0 860A00B6 */ lh $t2, 0x00B6($s0) ## 000000B6
-/* 00954 80A0FBB4 34018000 */ ori $at, $zero, 0x8000 ## $at = 00008000
-/* 00958 80A0FBB8 01415821 */ addu $t3, $t2, $at
-/* 0095C 80A0FBBC A60B00B6 */ sh $t3, 0x00B6($s0) ## 000000B6
-/* 00960 80A0FBC0 46083402 */ mul.s $f16, $f6, $f8
-/* 00964 80A0FBC4 46105480 */ add.s $f18, $f10, $f16
-/* 00968 80A0FBC8 E6120024 */ swc1 $f18, 0x0024($s0) ## 00000024
-.L80A0FBCC:
-/* 0096C 80A0FBCC 1000000B */ beq $zero, $zero, .L80A0FBFC
-/* 00970 80A0FBD0 C600016C */ lwc1 $f0, 0x016C($s0) ## 0000016C
-.L80A0FBD4:
-/* 00974 80A0FBD4 3C063EAE */ lui $a2, 0x3EAE ## $a2 = 3EAE0000
-/* 00978 80A0FBD8 34C6147B */ ori $a2, $a2, 0x147B ## $a2 = 3EAE147B
-/* 0097C 80A0FBDC 0C01E123 */ jal Math_SmoothDownscaleMaxF
-
-/* 00980 80A0FBE0 3C053F80 */ lui $a1, 0x3F80 ## $a1 = 3F800000
-/* 00984 80A0FBE4 860C0150 */ lh $t4, 0x0150($s0) ## 00000150
-/* 00988 80A0FBE8 55800004 */ bnel $t4, $zero, .L80A0FBFC
-/* 0098C 80A0FBEC C600016C */ lwc1 $f0, 0x016C($s0) ## 0000016C
-/* 00990 80A0FBF0 0C00B55C */ jal Actor_Kill
-
-/* 00994 80A0FBF4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
-/* 00998 80A0FBF8 C600016C */ lwc1 $f0, 0x016C($s0) ## 0000016C
-.L80A0FBFC:
-/* 0099C 80A0FBFC 44050000 */ mfc1 $a1, $f0
-/* 009A0 80A0FC00 0C00B58B */ jal Actor_SetScale
-
-/* 009A4 80A0FC04 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
-/* 009A8 80A0FC08 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
-/* 009AC 80A0FC0C 44810000 */ mtc1 $at, $f0 ## $f0 = 1.00
-/* 009B0 80A0FC10 C6040050 */ lwc1 $f4, 0x0050($s0) ## 00000050
-/* 009B4 80A0FC14 3C0480A1 */ lui $a0, %hi(D_80A11874) ## $a0 = 80A10000
-/* 009B8 80A0FC18 4604003C */ c.lt.s $f0, $f4
-/* 009BC 80A0FC1C 00000000 */ nop
-/* 009C0 80A0FC20 45000002 */ bc1f .L80A0FC2C
-/* 009C4 80A0FC24 00000000 */ nop
-/* 009C8 80A0FC28 E6000050 */ swc1 $f0, 0x0050($s0) ## 00000050
-.L80A0FC2C:
-/* 009CC 80A0FC2C 0C00084C */ jal osSyncPrintf
-
-/* 009D0 80A0FC30 24841874 */ addiu $a0, $a0, %lo(D_80A11874) ## $a0 = 80A11874
-/* 009D4 80A0FC34 8FBF001C */ lw $ra, 0x001C($sp)
-/* 009D8 80A0FC38 8FB00018 */ lw $s0, 0x0018($sp)
-/* 009DC 80A0FC3C 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
-/* 009E0 80A0FC40 03E00008 */ jr $ra
-/* 009E4 80A0FC44 00000000 */ nop
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Fhg_Fire/func_80A0FC48.s b/asm/non_matchings/overlays/actors/ovl_En_Fhg_Fire/func_80A0FC48.s
deleted file mode 100644
index eee2e43e0..000000000
--- a/asm/non_matchings/overlays/actors/ovl_En_Fhg_Fire/func_80A0FC48.s
+++ /dev/null
@@ -1,92 +0,0 @@
-glabel func_80A0FC48
-/* 009E8 80A0FC48 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0
-/* 009EC 80A0FC4C AFBF0024 */ sw $ra, 0x0024($sp)
-/* 009F0 80A0FC50 AFB10020 */ sw $s1, 0x0020($sp)
-/* 009F4 80A0FC54 AFB0001C */ sw $s0, 0x001C($sp)
-/* 009F8 80A0FC58 8CAE1C44 */ lw $t6, 0x1C44($a1) ## 00001C44
-/* 009FC 80A0FC5C 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
-/* 00A00 80A0FC60 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
-/* 00A04 80A0FC64 AFAE003C */ sw $t6, 0x003C($sp)
-/* 00A08 80A0FC68 908201C0 */ lbu $v0, 0x01C0($a0) ## 000001C0
-/* 00A0C 80A0FC6C 240538A8 */ addiu $a1, $zero, 0x38A8 ## $a1 = 000038A8
-/* 00A10 80A0FC70 304F0002 */ andi $t7, $v0, 0x0002 ## $t7 = 00000000
-/* 00A14 80A0FC74 11E00003 */ beq $t7, $zero, .L80A0FC84
-/* 00A18 80A0FC78 3058FFFD */ andi $t8, $v0, 0xFFFD ## $t8 = 00000000
-/* 00A1C 80A0FC7C 0C00BE0A */ jal Audio_PlayActorSound2
-
-/* 00A20 80A0FC80 A09801C0 */ sb $t8, 0x01C0($a0) ## 000001C0
-.L80A0FC84:
-/* 00A24 80A0FC84 0C03F66B */ jal Math_Rand_ZeroOne
- ## Rand.Next() float
-/* 00A28 80A0FC88 00000000 */ nop
-/* 00A2C 80A0FC8C 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
-/* 00A30 80A0FC90 44812000 */ mtc1 $at, $f4 ## $f4 = 0.50
-/* 00A34 80A0FC94 00000000 */ nop
-/* 00A38 80A0FC98 4604003C */ c.lt.s $f0, $f4
-/* 00A3C 80A0FC9C 00000000 */ nop
-/* 00A40 80A0FCA0 45000012 */ bc1f .L80A0FCEC
-/* 00A44 80A0FCA4 00000000 */ nop
-/* 00A48 80A0FCA8 8E080024 */ lw $t0, 0x0024($s0) ## 00000024
-/* 00A4C 80A0FCAC 27A60030 */ addiu $a2, $sp, 0x0030 ## $a2 = FFFFFFF0
-/* 00A50 80A0FCB0 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
-/* 00A54 80A0FCB4 ACC80000 */ sw $t0, 0x0000($a2) ## FFFFFFF0
-/* 00A58 80A0FCB8 8E190028 */ lw $t9, 0x0028($s0) ## 00000028
-/* 00A5C 80A0FCBC 44814000 */ mtc1 $at, $f8 ## $f8 = 20.00
-/* 00A60 80A0FCC0 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
-/* 00A64 80A0FCC4 ACD90004 */ sw $t9, 0x0004($a2) ## FFFFFFF4
-/* 00A68 80A0FCC8 8E08002C */ lw $t0, 0x002C($s0) ## 0000002C
-/* 00A6C 80A0FCCC 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
-/* 00A70 80A0FCD0 240700C8 */ addiu $a3, $zero, 0x00C8 ## $a3 = 000000C8
-/* 00A74 80A0FCD4 ACC80008 */ sw $t0, 0x0008($a2) ## FFFFFFF8
-/* 00A78 80A0FCD8 C7A60034 */ lwc1 $f6, 0x0034($sp)
-/* 00A7C 80A0FCDC AFA00010 */ sw $zero, 0x0010($sp)
-/* 00A80 80A0FCE0 46083281 */ sub.s $f10, $f6, $f8
-/* 00A84 80A0FCE4 0C00A757 */ jal func_80029D5C
-/* 00A88 80A0FCE8 E7AA0034 */ swc1 $f10, 0x0034($sp)
-.L80A0FCEC:
-/* 00A8C 80A0FCEC 0C00B638 */ jal Actor_MoveForward
-
-/* 00A90 80A0FCF0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
-/* 00A94 80A0FCF4 260601B0 */ addiu $a2, $s0, 0x01B0 ## $a2 = 000001B0
-/* 00A98 80A0FCF8 00C02825 */ or $a1, $a2, $zero ## $a1 = 000001B0
-/* 00A9C 80A0FCFC AFA6002C */ sw $a2, 0x002C($sp)
-/* 00AA0 80A0FD00 0C0189B7 */ jal Collider_CylinderUpdate
-
-/* 00AA4 80A0FD04 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
-/* 00AA8 80A0FD08 8FA9003C */ lw $t1, 0x003C($sp)
-/* 00AAC 80A0FD0C 3C010001 */ lui $at, 0x0001 ## $at = 00010000
-/* 00AB0 80A0FD10 8FA6002C */ lw $a2, 0x002C($sp)
-/* 00AB4 80A0FD14 812A0A78 */ lb $t2, 0x0A78($t1) ## 00000A78
-/* 00AB8 80A0FD18 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
-/* 00ABC 80A0FD1C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
-/* 00AC0 80A0FD20 55400004 */ bnel $t2, $zero, .L80A0FD34
-/* 00AC4 80A0FD24 3C014248 */ lui $at, 0x4248 ## $at = 42480000
-/* 00AC8 80A0FD28 0C0175E7 */ jal CollisionCheck_SetAT
- ## CollisionCheck_setAT
-/* 00ACC 80A0FD2C 02212821 */ addu $a1, $s1, $at
-/* 00AD0 80A0FD30 3C014248 */ lui $at, 0x4248 ## $at = 42480000
-.L80A0FD34:
-/* 00AD4 80A0FD34 44810000 */ mtc1 $at, $f0 ## $f0 = 50.00
-/* 00AD8 80A0FD38 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
-/* 00ADC 80A0FD3C 44818000 */ mtc1 $at, $f16 ## $f16 = 100.00
-/* 00AE0 80A0FD40 240B0001 */ addiu $t3, $zero, 0x0001 ## $t3 = 00000001
-/* 00AE4 80A0FD44 44060000 */ mfc1 $a2, $f0
-/* 00AE8 80A0FD48 44070000 */ mfc1 $a3, $f0
-/* 00AEC 80A0FD4C AFAB0014 */ sw $t3, 0x0014($sp)
-/* 00AF0 80A0FD50 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
-/* 00AF4 80A0FD54 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
-/* 00AF8 80A0FD58 0C00B92D */ jal func_8002E4B4
-/* 00AFC 80A0FD5C E7B00010 */ swc1 $f16, 0x0010($sp)
-/* 00B00 80A0FD60 960C0088 */ lhu $t4, 0x0088($s0) ## 00000088
-/* 00B04 80A0FD64 318D0008 */ andi $t5, $t4, 0x0008 ## $t5 = 00000000
-/* 00B08 80A0FD68 51A00004 */ beql $t5, $zero, .L80A0FD7C
-/* 00B0C 80A0FD6C 8FBF0024 */ lw $ra, 0x0024($sp)
-/* 00B10 80A0FD70 0C00B55C */ jal Actor_Kill
-
-/* 00B14 80A0FD74 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
-/* 00B18 80A0FD78 8FBF0024 */ lw $ra, 0x0024($sp)
-.L80A0FD7C:
-/* 00B1C 80A0FD7C 8FB0001C */ lw $s0, 0x001C($sp)
-/* 00B20 80A0FD80 8FB10020 */ lw $s1, 0x0020($sp)
-/* 00B24 80A0FD84 03E00008 */ jr $ra
-/* 00B28 80A0FD88 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Fhg_Fire/func_80A0FD8C.s b/asm/non_matchings/overlays/actors/ovl_En_Fhg_Fire/func_80A0FD8C.s
deleted file mode 100644
index 260d03b75..000000000
--- a/asm/non_matchings/overlays/actors/ovl_En_Fhg_Fire/func_80A0FD8C.s
+++ /dev/null
@@ -1,180 +0,0 @@
-glabel func_80A0FD8C
-/* 00B2C 80A0FD8C 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
-/* 00B30 80A0FD90 AFBF001C */ sw $ra, 0x001C($sp)
-/* 00B34 80A0FD94 AFB10018 */ sw $s1, 0x0018($sp)
-/* 00B38 80A0FD98 AFB00014 */ sw $s0, 0x0014($sp)
-/* 00B3C 80A0FD9C 8CAE1C44 */ lw $t6, 0x1C44($a1) ## 00001C44
-/* 00B40 80A0FDA0 3C010001 */ lui $at, 0x0001 ## $at = 00010000
-/* 00B44 80A0FDA4 24080001 */ addiu $t0, $zero, 0x0001 ## $t0 = 00000001
-/* 00B48 80A0FDA8 00250821 */ addu $at, $at, $a1
-/* 00B4C 80A0FDAC AFAE002C */ sw $t6, 0x002C($sp)
-/* 00B50 80A0FDB0 A0280B05 */ sb $t0, 0x0B05($at) ## 00010B05
-/* 00B54 80A0FDB4 848F00B6 */ lh $t7, 0x00B6($a0) ## 000000B6
-/* 00B58 80A0FDB8 84820152 */ lh $v0, 0x0152($a0) ## 00000152
-/* 00B5C 80A0FDBC 24010031 */ addiu $at, $zero, 0x0031 ## $at = 00000031
-/* 00B60 80A0FDC0 25F81000 */ addiu $t8, $t7, 0x1000 ## $t8 = 00001000
-/* 00B64 80A0FDC4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
-/* 00B68 80A0FDC8 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
-/* 00B6C 80A0FDCC 14410009 */ bne $v0, $at, .L80A0FDF4
-/* 00B70 80A0FDD0 A49800B6 */ sh $t8, 0x00B6($a0) ## 000000B6
-/* 00B74 80A0FDD4 3C010001 */ lui $at, 0x0001 ## $at = 00010000
-/* 00B78 80A0FDD8 00250821 */ addu $at, $at, $a1
-/* 00B7C 80A0FDDC A0280AE3 */ sb $t0, 0x0AE3($at) ## 00010AE3
-/* 00B80 80A0FDE0 3C010001 */ lui $at, 0x0001 ## $at = 00010000
-/* 00B84 80A0FDE4 00250821 */ addu $at, $at, $a1
-/* 00B88 80A0FDE8 241900FF */ addiu $t9, $zero, 0x00FF ## $t9 = 000000FF
-/* 00B8C 80A0FDEC A4390AFA */ sh $t9, 0x0AFA($at) ## 00010AFA
-/* 00B90 80A0FDF0 84820152 */ lh $v0, 0x0152($a0) ## 00000152
-.L80A0FDF4:
-/* 00B94 80A0FDF4 2401001F */ addiu $at, $zero, 0x001F ## $at = 0000001F
-/* 00B98 80A0FDF8 14410008 */ bne $v0, $at, .L80A0FE1C
-/* 00B9C 80A0FDFC 24090014 */ addiu $t1, $zero, 0x0014 ## $t1 = 00000014
-/* 00BA0 80A0FE00 3C010001 */ lui $at, 0x0001 ## $at = 00010000
-/* 00BA4 80A0FE04 00310821 */ addu $at, $at, $s1
-/* 00BA8 80A0FE08 A0200AE3 */ sb $zero, 0x0AE3($at) ## 00010AE3
-/* 00BAC 80A0FE0C 3C010001 */ lui $at, 0x0001 ## $at = 00010000
-/* 00BB0 80A0FE10 00310821 */ addu $at, $at, $s1
-/* 00BB4 80A0FE14 A4290AFA */ sh $t1, 0x0AFA($at) ## 00010AFA
-/* 00BB8 80A0FE18 86020152 */ lh $v0, 0x0152($s0) ## 00000152
-.L80A0FE1C:
-/* 00BBC 80A0FE1C 28410030 */ slti $at, $v0, 0x0030
-/* 00BC0 80A0FE20 1420000F */ bne $at, $zero, .L80A0FE60
-/* 00BC4 80A0FE24 240300FF */ addiu $v1, $zero, 0x00FF ## $v1 = 000000FF
-/* 00BC8 80A0FE28 3C010001 */ lui $at, 0x0001 ## $at = 00010000
-/* 00BCC 80A0FE2C 02211021 */ addu $v0, $s1, $at
-/* 00BD0 80A0FE30 A0430B08 */ sb $v1, 0x0B08($v0) ## 00000B08
-/* 00BD4 80A0FE34 A0430B07 */ sb $v1, 0x0B07($v0) ## 00000B07
-/* 00BD8 80A0FE38 A0430B06 */ sb $v1, 0x0B06($v0) ## 00000B06
-/* 00BDC 80A0FE3C 860B0150 */ lh $t3, 0x0150($s0) ## 00000150
-/* 00BE0 80A0FE40 240D0046 */ addiu $t5, $zero, 0x0046 ## $t5 = 00000046
-/* 00BE4 80A0FE44 316C0001 */ andi $t4, $t3, 0x0001 ## $t4 = 00000000
-/* 00BE8 80A0FE48 11800003 */ beq $t4, $zero, .L80A0FE58
-/* 00BEC 80A0FE4C 00000000 */ nop
-/* 00BF0 80A0FE50 10000006 */ beq $zero, $zero, .L80A0FE6C
-/* 00BF4 80A0FE54 A04D0B09 */ sb $t5, 0x0B09($v0) ## 00000B09
-.L80A0FE58:
-/* 00BF8 80A0FE58 10000004 */ beq $zero, $zero, .L80A0FE6C
-/* 00BFC 80A0FE5C A0400B09 */ sb $zero, 0x0B09($v0) ## 00000B09
-.L80A0FE60:
-/* 00C00 80A0FE60 3C010001 */ lui $at, 0x0001 ## $at = 00010000
-/* 00C04 80A0FE64 00310821 */ addu $at, $at, $s1
-/* 00C08 80A0FE68 A0200B09 */ sb $zero, 0x0B09($at) ## 00010B09
-.L80A0FE6C:
-/* 00C0C 80A0FE6C 860E0150 */ lh $t6, 0x0150($s0) ## 00000150
-/* 00C10 80A0FE70 2604016C */ addiu $a0, $s0, 0x016C ## $a0 = 0000016C
-/* 00C14 80A0FE74 3C063F00 */ lui $a2, 0x3F00 ## $a2 = 3F000000
-/* 00C18 80A0FE78 29C10015 */ slti $at, $t6, 0x0015
-/* 00C1C 80A0FE7C 1020000B */ beq $at, $zero, .L80A0FEAC
-/* 00C20 80A0FE80 3C074040 */ lui $a3, 0x4040 ## $a3 = 40400000
-/* 00C24 80A0FE84 26040160 */ addiu $a0, $s0, 0x0160 ## $a0 = 00000160
-/* 00C28 80A0FE88 3C053F80 */ lui $a1, 0x3F80 ## $a1 = 3F800000
-/* 00C2C 80A0FE8C 0C01E123 */ jal Math_SmoothDownscaleMaxF
-
-/* 00C30 80A0FE90 3C064234 */ lui $a2, 0x4234 ## $a2 = 42340000
-/* 00C34 80A0FE94 2604016C */ addiu $a0, $s0, 0x016C ## $a0 = 0000016C
-/* 00C38 80A0FE98 3C053F80 */ lui $a1, 0x3F80 ## $a1 = 3F800000
-/* 00C3C 80A0FE9C 0C01E123 */ jal Math_SmoothDownscaleMaxF
-
-/* 00C40 80A0FEA0 3C063F00 */ lui $a2, 0x3F00 ## $a2 = 3F000000
-/* 00C44 80A0FEA4 10000004 */ beq $zero, $zero, .L80A0FEB8
-/* 00C48 80A0FEA8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
-.L80A0FEAC:
-/* 00C4C 80A0FEAC 0C01E107 */ jal Math_SmoothScaleMaxF
-
-/* 00C50 80A0FEB0 8E05018C */ lw $a1, 0x018C($s0) ## 0000018C
-/* 00C54 80A0FEB4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
-.L80A0FEB8:
-/* 00C58 80A0FEB8 0C00B58B */ jal Actor_SetScale
-
-/* 00C5C 80A0FEBC 8E05016C */ lw $a1, 0x016C($s0) ## 0000016C
-/* 00C60 80A0FEC0 3C014040 */ lui $at, 0x4040 ## $at = 40400000
-/* 00C64 80A0FEC4 44812000 */ mtc1 $at, $f4 ## $f4 = 3.00
-/* 00C68 80A0FEC8 C606018C */ lwc1 $f6, 0x018C($s0) ## 0000018C
-/* 00C6C 80A0FECC 260601B0 */ addiu $a2, $s0, 0x01B0 ## $a2 = 000001B0
-/* 00C70 80A0FED0 00C02825 */ or $a1, $a2, $zero ## $a1 = 000001B0
-/* 00C74 80A0FED4 4606203C */ c.lt.s $f4, $f6
-/* 00C78 80A0FED8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
-/* 00C7C 80A0FEDC 4502000E */ bc1fl .L80A0FF18
-/* 00C80 80A0FEE0 86190150 */ lh $t9, 0x0150($s0) ## 00000150
-/* 00C84 80A0FEE4 0C0189B7 */ jal Collider_CylinderUpdate
-
-/* 00C88 80A0FEE8 AFA60024 */ sw $a2, 0x0024($sp)
-/* 00C8C 80A0FEEC 8FAF002C */ lw $t7, 0x002C($sp)
-/* 00C90 80A0FEF0 3C010001 */ lui $at, 0x0001 ## $at = 00010000
-/* 00C94 80A0FEF4 8FA60024 */ lw $a2, 0x0024($sp)
-/* 00C98 80A0FEF8 81F80A78 */ lb $t8, 0x0A78($t7) ## 00000A78
-/* 00C9C 80A0FEFC 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
-/* 00CA0 80A0FF00 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
-/* 00CA4 80A0FF04 57000004 */ bnel $t8, $zero, .L80A0FF18
-/* 00CA8 80A0FF08 86190150 */ lh $t9, 0x0150($s0) ## 00000150
-/* 00CAC 80A0FF0C 0C0175E7 */ jal CollisionCheck_SetAT
- ## CollisionCheck_setAT
-/* 00CB0 80A0FF10 02212821 */ addu $a1, $s1, $at
-/* 00CB4 80A0FF14 86190150 */ lh $t9, 0x0150($s0) ## 00000150
-.L80A0FF18:
-/* 00CB8 80A0FF18 57200007 */ bnel $t9, $zero, .L80A0FF38
-/* 00CBC 80A0FF1C 860201FE */ lh $v0, 0x01FE($s0) ## 000001FE
-/* 00CC0 80A0FF20 0C00B55C */ jal Actor_Kill
-
-/* 00CC4 80A0FF24 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
-/* 00CC8 80A0FF28 3C010001 */ lui $at, 0x0001 ## $at = 00010000
-/* 00CCC 80A0FF2C 00310821 */ addu $at, $at, $s1
-/* 00CD0 80A0FF30 A0200B05 */ sb $zero, 0x0B05($at) ## 00010B05
-/* 00CD4 80A0FF34 860201FE */ lh $v0, 0x01FE($s0) ## 000001FE
-.L80A0FF38:
-/* 00CD8 80A0FF38 26040200 */ addiu $a0, $s0, 0x0200 ## $a0 = 00000200
-/* 00CDC 80A0FF3C 3C053F80 */ lui $a1, 0x3F80 ## $a1 = 3F800000
-/* 00CE0 80A0FF40 1040000C */ beq $v0, $zero, .L80A0FF74
-/* 00CE4 80A0FF44 2449FFFF */ addiu $t1, $v0, 0xFFFF ## $t1 = FFFFFFFF
-/* 00CE8 80A0FF48 240A0001 */ addiu $t2, $zero, 0x0001 ## $t2 = 00000001
-/* 00CEC 80A0FF4C 3C063E99 */ lui $a2, 0x3E99 ## $a2 = 3E990000
-/* 00CF0 80A0FF50 A60901FE */ sh $t1, 0x01FE($s0) ## 000001FE
-/* 00CF4 80A0FF54 A20A01FC */ sb $t2, 0x01FC($s0) ## 000001FC
-/* 00CF8 80A0FF58 34C6999A */ ori $a2, $a2, 0x999A ## $a2 = 3E99999A
-/* 00CFC 80A0FF5C 26040200 */ addiu $a0, $s0, 0x0200 ## $a0 = 00000200
-/* 00D00 80A0FF60 3C054220 */ lui $a1, 0x4220 ## $a1 = 42200000
-/* 00D04 80A0FF64 0C01E107 */ jal Math_SmoothScaleMaxF
-
-/* 00D08 80A0FF68 3C074120 */ lui $a3, 0x4120 ## $a3 = 41200000
-/* 00D0C 80A0FF6C 1000000B */ beq $zero, $zero, .L80A0FF9C
-/* 00D10 80A0FF70 920B01FC */ lbu $t3, 0x01FC($s0) ## 000001FC
-.L80A0FF74:
-/* 00D14 80A0FF74 0C01E123 */ jal Math_SmoothDownscaleMaxF
-
-/* 00D18 80A0FF78 3C0640A0 */ lui $a2, 0x40A0 ## $a2 = 40A00000
-/* 00D1C 80A0FF7C 44804000 */ mtc1 $zero, $f8 ## $f8 = 0.00
-/* 00D20 80A0FF80 C60A0200 */ lwc1 $f10, 0x0200($s0) ## 00000200
-/* 00D24 80A0FF84 460A4032 */ c.eq.s $f8, $f10
-/* 00D28 80A0FF88 00000000 */ nop
-/* 00D2C 80A0FF8C 45020003 */ bc1fl .L80A0FF9C
-/* 00D30 80A0FF90 920B01FC */ lbu $t3, 0x01FC($s0) ## 000001FC
-/* 00D34 80A0FF94 A20001FC */ sb $zero, 0x01FC($s0) ## 000001FC
-/* 00D38 80A0FF98 920B01FC */ lbu $t3, 0x01FC($s0) ## 000001FC
-.L80A0FF9C:
-/* 00D3C 80A0FF9C 3C018016 */ lui $at, %hi(D_8015FCF0)
-/* 00D40 80A0FFA0 3C0C8016 */ lui $t4, %hi(D_8015FCF8)
-/* 00D44 80A0FFA4 A02BFCF0 */ sb $t3, %lo(D_8015FCF0)($at)
-/* 00D48 80A0FFA8 8E0E0024 */ lw $t6, 0x0024($s0) ## 00000024
-/* 00D4C 80A0FFAC 258CFCF8 */ addiu $t4, %lo(D_8015FCF8)
-/* 00D50 80A0FFB0 3C018016 */ lui $at, %hi(D_8015FD06)
-/* 00D54 80A0FFB4 AD8E0000 */ sw $t6, 0x0000($t4) ## 8015FCF8
-/* 00D58 80A0FFB8 8E0D0028 */ lw $t5, 0x0028($s0) ## 00000028
-/* 00D5C 80A0FFBC AD8D0004 */ sw $t5, 0x0004($t4) ## 8015FCFC
-/* 00D60 80A0FFC0 8E0E002C */ lw $t6, 0x002C($s0) ## 0000002C
-/* 00D64 80A0FFC4 AD8E0008 */ sw $t6, 0x0008($t4) ## 8015FD00
-/* 00D68 80A0FFC8 C6100200 */ lwc1 $f16, 0x0200($s0) ## 00000200
-/* 00D6C 80A0FFCC 8FBF001C */ lw $ra, 0x001C($sp)
-/* 00D70 80A0FFD0 8FB00014 */ lw $s0, 0x0014($sp)
-/* 00D74 80A0FFD4 4600848D */ trunc.w.s $f18, $f16
-/* 00D78 80A0FFD8 8FB10018 */ lw $s1, 0x0018($sp)
-/* 00D7C 80A0FFDC 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
-/* 00D80 80A0FFE0 44189000 */ mfc1 $t8, $f18
-/* 00D84 80A0FFE4 00000000 */ nop
-/* 00D88 80A0FFE8 A438FD06 */ sh $t8, %lo(D_8015FD06)($at)
-/* 00D8C 80A0FFEC 3C014120 */ lui $at, 0x4120 ## $at = 41200000
-/* 00D90 80A0FFF0 44812000 */ mtc1 $at, $f4 ## $f4 = 10.00
-/* 00D94 80A0FFF4 3C018016 */ lui $at, %hi(D_8015FD08)
-/* 00D98 80A0FFF8 E424FD08 */ swc1 $f4, %lo(D_8015FD08)($at)
-/* 00D9C 80A0FFFC 3C018016 */ lui $at, %hi(D_8015FD0C)
-/* 00DA0 80A10000 03E00008 */ jr $ra
-/* 00DA4 80A10004 A420FD0C */ sh $zero, %lo(D_8015FD0C)($at)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Fhg_Fire/func_80A10008.s b/asm/non_matchings/overlays/actors/ovl_En_Fhg_Fire/func_80A10008.s
deleted file mode 100644
index 16235991c..000000000
--- a/asm/non_matchings/overlays/actors/ovl_En_Fhg_Fire/func_80A10008.s
+++ /dev/null
@@ -1,171 +0,0 @@
-.rdata
-glabel D_80A11880
- .asciz "yari hikari 1\n"
- .balign 4
-
-glabel D_80A11890
- .asciz "yari hikari 2\n"
- .balign 4
-
-glabel D_80A118A0
- .asciz "FLASH !!\n"
- .balign 4
-
-.late_rodata
-glabel D_80A119D4
- .word 0x469C4000
-glabel D_80A119D8
- .word 0xBDA3D70A
-
-.text
-glabel func_80A10008
-/* 00DA8 80A10008 27BDFF80 */ addiu $sp, $sp, 0xFF80 ## $sp = FFFFFF80
-/* 00DAC 80A1000C AFB10038 */ sw $s1, 0x0038($sp)
-/* 00DB0 80A10010 00808825 */ or $s1, $a0, $zero ## $s1 = 00000000
-/* 00DB4 80A10014 AFBF004C */ sw $ra, 0x004C($sp)
-/* 00DB8 80A10018 AFB50048 */ sw $s5, 0x0048($sp)
-/* 00DBC 80A1001C 3C0480A1 */ lui $a0, %hi(D_80A11880) ## $a0 = 80A10000
-/* 00DC0 80A10020 00A0A825 */ or $s5, $a1, $zero ## $s5 = 00000000
-/* 00DC4 80A10024 AFB40044 */ sw $s4, 0x0044($sp)
-/* 00DC8 80A10028 AFB30040 */ sw $s3, 0x0040($sp)
-/* 00DCC 80A1002C AFB2003C */ sw $s2, 0x003C($sp)
-/* 00DD0 80A10030 AFB00034 */ sw $s0, 0x0034($sp)
-/* 00DD4 80A10034 F7B80028 */ sdc1 $f24, 0x0028($sp)
-/* 00DD8 80A10038 F7B60020 */ sdc1 $f22, 0x0020($sp)
-/* 00DDC 80A1003C F7B40018 */ sdc1 $f20, 0x0018($sp)
-/* 00DE0 80A10040 0C00084C */ jal osSyncPrintf
-
-/* 00DE4 80A10044 24841880 */ addiu $a0, $a0, %lo(D_80A11880) ## $a0 = 80A11880
-/* 00DE8 80A10048 862E0156 */ lh $t6, 0x0156($s1) ## 00000156
-/* 00DEC 80A1004C 8E300118 */ lw $s0, 0x0118($s1) ## 00000118
-/* 00DF0 80A10050 3C0540C0 */ lui $a1, 0x40C0 ## $a1 = 40C00000
-/* 00DF4 80A10054 31CF0001 */ andi $t7, $t6, 0x0001 ## $t7 = 00000000
-/* 00DF8 80A10058 11E00005 */ beq $t7, $zero, .L80A10070
-/* 00DFC 80A1005C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
-/* 00E00 80A10060 0C00B58B */ jal Actor_SetScale
-
-/* 00E04 80A10064 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
-/* 00E08 80A10068 10000004 */ beq $zero, $zero, .L80A1007C
-/* 00E0C 80A1006C 8E190200 */ lw $t9, 0x0200($s0) ## 00000200
-.L80A10070:
-/* 00E10 80A10070 0C00B58B */ jal Actor_SetScale
-
-/* 00E14 80A10074 3C0540A8 */ lui $a1, 0x40A8 ## $a1 = 40A80000
-/* 00E18 80A10078 8E190200 */ lw $t9, 0x0200($s0) ## 00000200
-.L80A1007C:
-/* 00E1C 80A1007C AE390024 */ sw $t9, 0x0024($s1) ## 00000024
-/* 00E20 80A10080 8E180204 */ lw $t8, 0x0204($s0) ## 00000204
-/* 00E24 80A10084 AE380028 */ sw $t8, 0x0028($s1) ## 00000028
-/* 00E28 80A10088 8E190208 */ lw $t9, 0x0208($s0) ## 00000208
-/* 00E2C 80A1008C 0C03F66B */ jal Math_Rand_ZeroOne
- ## Rand.Next() float
-/* 00E30 80A10090 AE39002C */ sw $t9, 0x002C($s1) ## 0000002C
-/* 00E34 80A10094 3C0180A1 */ lui $at, %hi(D_80A119D4) ## $at = 80A10000
-/* 00E38 80A10098 C42419D4 */ lwc1 $f4, %lo(D_80A119D4)($at)
-/* 00E3C 80A1009C 862800B8 */ lh $t0, 0x00B8($s1) ## 000000B8
-/* 00E40 80A100A0 3C0480A1 */ lui $a0, %hi(D_80A11890) ## $a0 = 80A10000
-/* 00E44 80A100A4 46040182 */ mul.s $f6, $f0, $f4
-/* 00E48 80A100A8 24841890 */ addiu $a0, $a0, %lo(D_80A11890) ## $a0 = 80A11890
-/* 00E4C 80A100AC 4600320D */ trunc.w.s $f8, $f6
-/* 00E50 80A100B0 440C4000 */ mfc1 $t4, $f8
-/* 00E54 80A100B4 00000000 */ nop
-/* 00E58 80A100B8 010C6821 */ addu $t5, $t0, $t4
-/* 00E5C 80A100BC 25AE4000 */ addiu $t6, $t5, 0x4000 ## $t6 = 00004000
-/* 00E60 80A100C0 0C00084C */ jal osSyncPrintf
-
-/* 00E64 80A100C4 A62E00B8 */ sh $t6, 0x00B8($s1) ## 000000B8
-/* 00E68 80A100C8 862F0158 */ lh $t7, 0x0158($s1) ## 00000158
-/* 00E6C 80A100CC 3C1880A1 */ lui $t8, %hi(D_80A117C8) ## $t8 = 80A10000
-/* 00E70 80A100D0 271817C8 */ addiu $t8, $t8, %lo(D_80A117C8) ## $t8 = 80A117C8
-/* 00E74 80A100D4 55E00042 */ bnel $t7, $zero, .L80A101E0
-/* 00E78 80A100D8 86390150 */ lh $t9, 0x0150($s1) ## 00000150
-/* 00E7C 80A100DC 8F090000 */ lw $t1, 0x0000($t8) ## 80A117C8
-/* 00E80 80A100E0 27B20060 */ addiu $s2, $sp, 0x0060 ## $s2 = FFFFFFE0
-/* 00E84 80A100E4 3C0A80A1 */ lui $t2, %hi(D_80A117D4) ## $t2 = 80A10000
-/* 00E88 80A100E8 AE490000 */ sw $t1, 0x0000($s2) ## FFFFFFE0
-/* 00E8C 80A100EC 8F190004 */ lw $t9, 0x0004($t8) ## 80A117CC
-/* 00E90 80A100F0 254A17D4 */ addiu $t2, $t2, %lo(D_80A117D4) ## $t2 = 80A117D4
-/* 00E94 80A100F4 27B30054 */ addiu $s3, $sp, 0x0054 ## $s3 = FFFFFFD4
-/* 00E98 80A100F8 AE590004 */ sw $t9, 0x0004($s2) ## FFFFFFE4
-/* 00E9C 80A100FC 8F090008 */ lw $t1, 0x0008($t8) ## 80A117D0
-/* 00EA0 80A10100 3C0480A1 */ lui $a0, %hi(D_80A118A0) ## $a0 = 80A10000
-/* 00EA4 80A10104 248418A0 */ addiu $a0, $a0, %lo(D_80A118A0) ## $a0 = 80A118A0
-/* 00EA8 80A10108 AE490008 */ sw $t1, 0x0008($s2) ## FFFFFFE8
-/* 00EAC 80A1010C 8D480000 */ lw $t0, 0x0000($t2) ## 80A117D4
-/* 00EB0 80A10110 AE680000 */ sw $t0, 0x0000($s3) ## FFFFFFD4
-/* 00EB4 80A10114 8D4B0004 */ lw $t3, 0x0004($t2) ## 80A117D8
-/* 00EB8 80A10118 AE6B0004 */ sw $t3, 0x0004($s3) ## FFFFFFD8
-/* 00EBC 80A1011C 8D480008 */ lw $t0, 0x0008($t2) ## 80A117DC
-/* 00EC0 80A10120 0C00084C */ jal osSyncPrintf
-
-/* 00EC4 80A10124 AE680008 */ sw $t0, 0x0008($s3) ## FFFFFFDC
-/* 00EC8 80A10128 3C0142A0 */ lui $at, 0x42A0 ## $at = 42A00000
-/* 00ECC 80A1012C 4481C000 */ mtc1 $at, $f24 ## $f24 = 80.00
-/* 00ED0 80A10130 3C0180A1 */ lui $at, %hi(D_80A119D8) ## $at = 80A10000
-/* 00ED4 80A10134 C43619D8 */ lwc1 $f22, %lo(D_80A119D8)($at)
-/* 00ED8 80A10138 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
-/* 00EDC 80A1013C 4481A000 */ mtc1 $at, $f20 ## $f20 = 20.00
-/* 00EE0 80A10140 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000
-/* 00EE4 80A10144 27B4006C */ addiu $s4, $sp, 0x006C ## $s4 = FFFFFFEC
-.L80A10148:
-/* 00EE8 80A10148 0C00CFC8 */ jal Math_Rand_CenteredFloat
-
-/* 00EEC 80A1014C 4600A306 */ mov.s $f12, $f20
-/* 00EF0 80A10150 C62A0024 */ lwc1 $f10, 0x0024($s1) ## 00000024
-/* 00EF4 80A10154 4600A306 */ mov.s $f12, $f20
-/* 00EF8 80A10158 460A0400 */ add.s $f16, $f0, $f10
-/* 00EFC 80A1015C 0C00CFC8 */ jal Math_Rand_CenteredFloat
-
-/* 00F00 80A10160 E7B0006C */ swc1 $f16, 0x006C($sp)
-/* 00F04 80A10164 C6320028 */ lwc1 $f18, 0x0028($s1) ## 00000028
-/* 00F08 80A10168 4600A306 */ mov.s $f12, $f20
-/* 00F0C 80A1016C 46120100 */ add.s $f4, $f0, $f18
-/* 00F10 80A10170 0C00CFC8 */ jal Math_Rand_CenteredFloat
-
-/* 00F14 80A10174 E7A40070 */ swc1 $f4, 0x0070($sp)
-/* 00F18 80A10178 C626002C */ lwc1 $f6, 0x002C($s1) ## 0000002C
-/* 00F1C 80A1017C E7B60058 */ swc1 $f22, 0x0058($sp)
-/* 00F20 80A10180 46060200 */ add.s $f8, $f0, $f6
-/* 00F24 80A10184 0C03F66B */ jal Math_Rand_ZeroOne
- ## Rand.Next() float
-/* 00F28 80A10188 E7A80074 */ swc1 $f8, 0x0074($sp)
-/* 00F2C 80A1018C 46180282 */ mul.s $f10, $f0, $f24
-/* 00F30 80A10190 02A02025 */ or $a0, $s5, $zero ## $a0 = 00000000
-/* 00F34 80A10194 02802825 */ or $a1, $s4, $zero ## $a1 = FFFFFFEC
-/* 00F38 80A10198 02403025 */ or $a2, $s2, $zero ## $a2 = FFFFFFE0
-/* 00F3C 80A1019C 02603825 */ or $a3, $s3, $zero ## $a3 = FFFFFFD4
-/* 00F40 80A101A0 AFA00014 */ sw $zero, 0x0014($sp)
-/* 00F44 80A101A4 4600540D */ trunc.w.s $f16, $f10
-/* 00F48 80A101A8 440D8000 */ mfc1 $t5, $f16
-/* 00F4C 80A101AC 00000000 */ nop
-/* 00F50 80A101B0 000D7400 */ sll $t6, $t5, 16
-/* 00F54 80A101B4 000E7C03 */ sra $t7, $t6, 16
-/* 00F58 80A101B8 25F80096 */ addiu $t8, $t7, 0x0096 ## $t8 = 00000096
-/* 00F5C 80A101BC 0C00A73C */ jal func_80029CF0
-/* 00F60 80A101C0 AFB80010 */ sw $t8, 0x0010($sp)
-/* 00F64 80A101C4 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001
-/* 00F68 80A101C8 00108400 */ sll $s0, $s0, 16
-/* 00F6C 80A101CC 00108403 */ sra $s0, $s0, 16
-/* 00F70 80A101D0 2A010002 */ slti $at, $s0, 0x0002
-/* 00F74 80A101D4 1420FFDC */ bne $at, $zero, .L80A10148
-/* 00F78 80A101D8 00000000 */ nop
-/* 00F7C 80A101DC 86390150 */ lh $t9, 0x0150($s1) ## 00000150
-.L80A101E0:
-/* 00F80 80A101E0 57200004 */ bnel $t9, $zero, .L80A101F4
-/* 00F84 80A101E4 8FBF004C */ lw $ra, 0x004C($sp)
-/* 00F88 80A101E8 0C00B55C */ jal Actor_Kill
-
-/* 00F8C 80A101EC 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
-/* 00F90 80A101F0 8FBF004C */ lw $ra, 0x004C($sp)
-.L80A101F4:
-/* 00F94 80A101F4 D7B40018 */ ldc1 $f20, 0x0018($sp)
-/* 00F98 80A101F8 D7B60020 */ ldc1 $f22, 0x0020($sp)
-/* 00F9C 80A101FC D7B80028 */ ldc1 $f24, 0x0028($sp)
-/* 00FA0 80A10200 8FB00034 */ lw $s0, 0x0034($sp)
-/* 00FA4 80A10204 8FB10038 */ lw $s1, 0x0038($sp)
-/* 00FA8 80A10208 8FB2003C */ lw $s2, 0x003C($sp)
-/* 00FAC 80A1020C 8FB30040 */ lw $s3, 0x0040($sp)
-/* 00FB0 80A10210 8FB40044 */ lw $s4, 0x0044($sp)
-/* 00FB4 80A10214 8FB50048 */ lw $s5, 0x0048($sp)
-/* 00FB8 80A10218 03E00008 */ jr $ra
-/* 00FBC 80A1021C 27BD0080 */ addiu $sp, $sp, 0x0080 ## $sp = 00000000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Fhg_Fire/func_80A10220.s b/asm/non_matchings/overlays/actors/ovl_En_Fhg_Fire/func_80A10220.s
index bade13c4a..6e32d224d 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Fhg_Fire/func_80A10220.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Fhg_Fire/func_80A10220.s
@@ -192,7 +192,7 @@ glabel func_80A10220
/* 011D4 80A10434 000FC400 */ sll $t8, $t7, 16
/* 011D8 80A10438 0018CC03 */ sra $t9, $t8, 16
/* 011DC 80A1043C 27290096 */ addiu $t1, $t9, 0x0096 ## $t1 = 00000096
-/* 011E0 80A10440 0C00A73C */ jal func_80029CF0
+/* 011E0 80A10440 0C00A73C */ jal EffectSsFhgFlash_Spawn
/* 011E4 80A10444 AFA90010 */ sw $t1, 0x0010($sp)
/* 011E8 80A10448 87A200E0 */ lh $v0, 0x00E0($sp)
/* 011EC 80A1044C 24420001 */ addiu $v0, $v0, 0x0001 ## $v0 = 00000001
@@ -309,7 +309,7 @@ glabel func_80A10220
/* 0137C 80A105DC 00086400 */ sll $t4, $t0, 16
/* 01380 80A105E0 000C5C03 */ sra $t3, $t4, 16
/* 01384 80A105E4 256E0032 */ addiu $t6, $t3, 0x0032 ## $t6 = 00000032
-/* 01388 80A105E8 0C00A73C */ jal func_80029CF0
+/* 01388 80A105E8 0C00A73C */ jal EffectSsFhgFlash_Spawn
/* 0138C 80A105EC AFAE0010 */ sw $t6, 0x0010($sp)
/* 01390 80A105F0 87A200B6 */ lh $v0, 0x00B6($sp)
/* 01394 80A105F4 24420001 */ addiu $v0, $v0, 0x0001 ## $v0 = 00000001
@@ -702,7 +702,7 @@ glabel func_80A10220
/* 01928 80A10B88 00086400 */ sll $t4, $t0, 16
/* 0192C 80A10B8C 000C5C03 */ sra $t3, $t4, 16
/* 01930 80A10B90 256E0050 */ addiu $t6, $t3, 0x0050 ## $t6 = 00000050
-/* 01934 80A10B94 0C00A73C */ jal func_80029CF0
+/* 01934 80A10B94 0C00A73C */ jal EffectSsFhgFlash_Spawn
/* 01938 80A10B98 AFAE0010 */ sw $t6, 0x0010($sp)
/* 0193C 80A10B9C 87A20096 */ lh $v0, 0x0096($sp)
/* 01940 80A10BA0 24420001 */ addiu $v0, $v0, 0x0001 ## $v0 = 00000001
@@ -832,7 +832,7 @@ glabel func_80A10220
/* 01B04 80A10D64 000C5C00 */ sll $t3, $t4, 16
/* 01B08 80A10D68 000B7403 */ sra $t6, $t3, 16
/* 01B0C 80A10D6C 25CF0064 */ addiu $t7, $t6, 0x0064 ## $t7 = 00000064
-/* 01B10 80A10D70 0C00A73C */ jal func_80029CF0
+/* 01B10 80A10D70 0C00A73C */ jal EffectSsFhgFlash_Spawn
/* 01B14 80A10D74 AFAF0010 */ sw $t7, 0x0010($sp)
/* 01B18 80A10D78 87A20078 */ lh $v0, 0x0078($sp)
/* 01B1C 80A10D7C 24420001 */ addiu $v0, $v0, 0x0001 ## $v0 = 00000001
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Fhg_Fire/func_80A10F18.s b/asm/non_matchings/overlays/actors/ovl_En_Fhg_Fire/func_80A10F18.s
deleted file mode 100644
index 93f4fca3b..000000000
--- a/asm/non_matchings/overlays/actors/ovl_En_Fhg_Fire/func_80A10F18.s
+++ /dev/null
@@ -1,145 +0,0 @@
-.rdata
-glabel D_80A11910
- .asciz "EFC 1\n"
- .balign 4
-
-glabel D_80A11918
- .asciz "EFC 2\n"
- .balign 4
-
-.text
-glabel func_80A10F18
-/* 01CB8 80A10F18 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
-/* 01CBC 80A10F1C AFBF001C */ sw $ra, 0x001C($sp)
-/* 01CC0 80A10F20 AFB00018 */ sw $s0, 0x0018($sp)
-/* 01CC4 80A10F24 AFA5002C */ sw $a1, 0x002C($sp)
-/* 01CC8 80A10F28 8C8E0118 */ lw $t6, 0x0118($a0) ## 00000118
-/* 01CCC 80A10F2C 3C0141C8 */ lui $at, 0x41C8 ## $at = 41C80000
-/* 01CD0 80A10F30 44813000 */ mtc1 $at, $f6 ## $f6 = 25.00
-/* 01CD4 80A10F34 AFAE0024 */ sw $t6, 0x0024($sp)
-/* 01CD8 80A10F38 C4800184 */ lwc1 $f0, 0x0184($a0) ## 00000184
-/* 01CDC 80A10F3C 3C014220 */ lui $at, 0x4220 ## $at = 42200000
-/* 01CE0 80A10F40 44819000 */ mtc1 $at, $f18 ## $f18 = 40.00
-/* 01CE4 80A10F44 46003202 */ mul.s $f8, $f6, $f0
-/* 01CE8 80A10F48 C4840174 */ lwc1 $f4, 0x0174($a0) ## 00000174
-/* 01CEC 80A10F4C C4900178 */ lwc1 $f16, 0x0178($a0) ## 00000178
-/* 01CF0 80A10F50 46009182 */ mul.s $f6, $f18, $f0
-/* 01CF4 80A10F54 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000
-/* 01CF8 80A10F58 848F001C */ lh $t7, 0x001C($a0) ## 0000001C
-/* 01CFC 80A10F5C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
-/* 01D00 80A10F60 46082280 */ add.s $f10, $f4, $f8
-/* 01D04 80A10F64 C488017C */ lwc1 $f8, 0x017C($a0) ## 0000017C
-/* 01D08 80A10F68 46068101 */ sub.s $f4, $f16, $f6
-/* 01D0C 80A10F6C E48A0174 */ swc1 $f10, 0x0174($a0) ## 00000174
-/* 01D10 80A10F70 44815000 */ mtc1 $at, $f10 ## $f10 = 5.00
-/* 01D14 80A10F74 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000
-/* 01D18 80A10F78 E4840178 */ swc1 $f4, 0x0178($a0) ## 00000178
-/* 01D1C 80A10F7C 46005482 */ mul.s $f18, $f10, $f0
-/* 01D20 80A10F80 44812000 */ mtc1 $at, $f4 ## $f4 = 30.00
-/* 01D24 80A10F84 C4860180 */ lwc1 $f6, 0x0180($a0) ## 00000180
-/* 01D28 80A10F88 24010029 */ addiu $at, $zero, 0x0029 ## $at = 00000029
-/* 01D2C 80A10F8C 46002282 */ mul.s $f10, $f4, $f0
-/* 01D30 80A10F90 46124400 */ add.s $f16, $f8, $f18
-/* 01D34 80A10F94 460A3201 */ sub.s $f8, $f6, $f10
-/* 01D38 80A10F98 E490017C */ swc1 $f16, 0x017C($a0) ## 0000017C
-/* 01D3C 80A10F9C 15E10013 */ bne $t7, $at, .L80A10FEC
-/* 01D40 80A10FA0 E4880180 */ swc1 $f8, 0x0180($a0) ## 00000180
-/* 01D44 80A10FA4 84820150 */ lh $v0, 0x0150($a0) ## 00000150
-/* 01D48 80A10FA8 28410047 */ slti $at, $v0, 0x0047
-/* 01D4C 80A10FAC 54200008 */ bnel $at, $zero, .L80A10FD0
-/* 01D50 80A10FB0 24010046 */ addiu $at, $zero, 0x0046 ## $at = 00000046
-/* 01D54 80A10FB4 0C00BE0A */ jal Audio_PlayActorSound2
-
-/* 01D58 80A10FB8 24052040 */ addiu $a1, $zero, 0x2040 ## $a1 = 00002040
-/* 01D5C 80A10FBC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
-/* 01D60 80A10FC0 0C00BE0A */ jal Audio_PlayActorSound2
-
-/* 01D64 80A10FC4 24052054 */ addiu $a1, $zero, 0x2054 ## $a1 = 00002054
-/* 01D68 80A10FC8 86020150 */ lh $v0, 0x0150($s0) ## 00000150
-/* 01D6C 80A10FCC 24010046 */ addiu $at, $zero, 0x0046 ## $at = 00000046
-.L80A10FD0:
-/* 01D70 80A10FD0 14410006 */ bne $v0, $at, .L80A10FEC
-/* 01D74 80A10FD4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
-/* 01D78 80A10FD8 0C00BE0A */ jal Audio_PlayActorSound2
-
-/* 01D7C 80A10FDC 2405283F */ addiu $a1, $zero, 0x283F ## $a1 = 0000283F
-/* 01D80 80A10FE0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
-/* 01D84 80A10FE4 0C00BE0A */ jal Audio_PlayActorSound2
-
-/* 01D88 80A10FE8 24052853 */ addiu $a1, $zero, 0x2853 ## $a1 = 00002853
-.L80A10FEC:
-/* 01D8C 80A10FEC 86020150 */ lh $v0, 0x0150($s0) ## 00000150
-/* 01D90 80A10FF0 26040184 */ addiu $a0, $s0, 0x0184 ## $a0 = 00000184
-/* 01D94 80A10FF4 3C073D23 */ lui $a3, 0x3D23 ## $a3 = 3D230000
-/* 01D98 80A10FF8 28410033 */ slti $at, $v0, 0x0033
-/* 01D9C 80A10FFC 54200017 */ bnel $at, $zero, .L80A1105C
-/* 01DA0 80A11000 2841001A */ slti $at, $v0, 0x001A
-/* 01DA4 80A11004 8618001C */ lh $t8, 0x001C($s0) ## 0000001C
-/* 01DA8 80A11008 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
-/* 01DAC 80A1100C 44811000 */ mtc1 $at, $f2 ## $f2 = 1.00
-/* 01DB0 80A11010 2B010028 */ slti $at, $t8, 0x0028
-/* 01DB4 80A11014 14200004 */ bne $at, $zero, .L80A11028
-/* 01DB8 80A11018 46001006 */ mov.s $f0, $f2
-/* 01DBC 80A1101C 3C01BF80 */ lui $at, 0xBF80 ## $at = BF800000
-/* 01DC0 80A11020 44810000 */ mtc1 $at, $f0 ## $f0 = -1.00
-/* 01DC4 80A11024 00000000 */ nop
-.L80A11028:
-/* 01DC8 80A11028 44050000 */ mfc1 $a1, $f0
-/* 01DCC 80A1102C 44061000 */ mfc1 $a2, $f2
-/* 01DD0 80A11030 0C01E107 */ jal Math_SmoothScaleMaxF
-
-/* 01DD4 80A11034 34E7D70A */ ori $a3, $a3, 0xD70A ## $a3 = 3D23D70A
-/* 01DD8 80A11038 3C074123 */ lui $a3, 0x4123 ## $a3 = 41230000
-/* 01DDC 80A1103C 34E73333 */ ori $a3, $a3, 0x3333 ## $a3 = 41233333
-/* 01DE0 80A11040 26040188 */ addiu $a0, $s0, 0x0188 ## $a0 = 00000188
-/* 01DE4 80A11044 3C05437F */ lui $a1, 0x437F ## $a1 = 437F0000
-/* 01DE8 80A11048 0C01E107 */ jal Math_SmoothScaleMaxF
-
-/* 01DEC 80A1104C 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
-/* 01DF0 80A11050 1000000D */ beq $zero, $zero, .L80A11088
-/* 01DF4 80A11054 00000000 */ nop
-/* 01DF8 80A11058 2841001A */ slti $at, $v0, 0x001A
-.L80A1105C:
-/* 01DFC 80A1105C 1020000A */ beq $at, $zero, .L80A11088
-/* 01E00 80A11060 26040184 */ addiu $a0, $s0, 0x0184 ## $a0 = 00000184
-/* 01E04 80A11064 3C063D23 */ lui $a2, 0x3D23 ## $a2 = 3D230000
-/* 01E08 80A11068 34C6D70A */ ori $a2, $a2, 0xD70A ## $a2 = 3D23D70A
-/* 01E0C 80A1106C 0C01E123 */ jal Math_SmoothDownscaleMaxF
-
-/* 01E10 80A11070 3C053F80 */ lui $a1, 0x3F80 ## $a1 = 3F800000
-/* 01E14 80A11074 3C064123 */ lui $a2, 0x4123 ## $a2 = 41230000
-/* 01E18 80A11078 34C63333 */ ori $a2, $a2, 0x3333 ## $a2 = 41233333
-/* 01E1C 80A1107C 26040188 */ addiu $a0, $s0, 0x0188 ## $a0 = 00000188
-/* 01E20 80A11080 0C01E123 */ jal Math_SmoothDownscaleMaxF
-
-/* 01E24 80A11084 3C053F80 */ lui $a1, 0x3F80 ## $a1 = 3F800000
-.L80A11088:
-/* 01E28 80A11088 3C0480A1 */ lui $a0, %hi(D_80A11910) ## $a0 = 80A10000
-/* 01E2C 80A1108C 0C00084C */ jal osSyncPrintf
-
-/* 01E30 80A11090 24841910 */ addiu $a0, $a0, %lo(D_80A11910) ## $a0 = 80A11910
-/* 01E34 80A11094 86190150 */ lh $t9, 0x0150($s0) ## 00000150
-/* 01E38 80A11098 13200009 */ beq $t9, $zero, .L80A110C0
-/* 01E3C 80A1109C 00000000 */ nop
-/* 01E40 80A110A0 8608001C */ lh $t0, 0x001C($s0) ## 0000001C
-/* 01E44 80A110A4 24010027 */ addiu $at, $zero, 0x0027 ## $at = 00000027
-/* 01E48 80A110A8 8FA90024 */ lw $t1, 0x0024($sp)
-/* 01E4C 80A110AC 15010006 */ bne $t0, $at, .L80A110C8
-/* 01E50 80A110B0 00000000 */ nop
-/* 01E54 80A110B4 912A014F */ lbu $t2, 0x014F($t1) ## 0000014F
-/* 01E58 80A110B8 11400003 */ beq $t2, $zero, .L80A110C8
-/* 01E5C 80A110BC 00000000 */ nop
-.L80A110C0:
-/* 01E60 80A110C0 0C00B55C */ jal Actor_Kill
-
-/* 01E64 80A110C4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
-.L80A110C8:
-/* 01E68 80A110C8 3C0480A1 */ lui $a0, %hi(D_80A11918) ## $a0 = 80A10000
-/* 01E6C 80A110CC 0C00084C */ jal osSyncPrintf
-
-/* 01E70 80A110D0 24841918 */ addiu $a0, $a0, %lo(D_80A11918) ## $a0 = 80A11918
-/* 01E74 80A110D4 8FBF001C */ lw $ra, 0x001C($sp)
-/* 01E78 80A110D8 8FB00018 */ lw $s0, 0x0018($sp)
-/* 01E7C 80A110DC 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
-/* 01E80 80A110E0 03E00008 */ jr $ra
-/* 01E84 80A110E4 00000000 */ nop
diff --git a/asm/non_matchings/overlays/actors/ovl_player_actor/func_80848B44.s b/asm/non_matchings/overlays/actors/ovl_player_actor/func_80848B44.s
index 061cec61b..523e868e4 100644
--- a/asm/non_matchings/overlays/actors/ovl_player_actor/func_80848B44.s
+++ b/asm/non_matchings/overlays/actors/ovl_player_actor/func_80848B44.s
@@ -75,7 +75,7 @@ glabel func_80848B44
/* 16A30 80848C40 27A6003C */ addiu $a2, $sp, 0x003C ## $a2 = FFFFFFF4
/* 16A34 80848C44 87A70036 */ lh $a3, 0x0036($sp)
/* 16A38 80848C48 46128101 */ sub.s $f4, $f16, $f18
-/* 16A3C 80848C4C 0C00A757 */ jal func_80029D5C
+/* 16A3C 80848C4C 0C00A757 */ jal EffectSsFhgFlash_Spawn2
/* 16A40 80848C50 E7A40044 */ swc1 $f4, 0x0044($sp)
/* 16A44 80848C54 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 16A48 80848C58 0C00BE3C */ jal func_8002F8F0
diff --git a/data/overlays/actors/z_en_fhg_fire.data.s b/data/overlays/actors/z_en_fhg_fire.data.s
index d76946587..22030a778 100644
--- a/data/overlays/actors/z_en_fhg_fire.data.s
+++ b/data/overlays/actors/z_en_fhg_fire.data.s
@@ -9,12 +9,6 @@
.balign 16
-glabel En_Fhg_Fire_InitVars
- .word 0x00000900, 0x00000030, 0x005A0000, 0x00000204
-.word EnFhgFire_Init
-.word EnFhgFire_Destroy
-.word EnFhgFire_Update
-.word EnFhgFire_Draw
glabel D_80A11790
.word 0x0A110939, 0x10010000, 0x06000000, 0x00100700, 0x03200000, 0x0D900700, 0x00000000, 0x01010100, 0x0014001E, 0x000A0000, 0x00000000
glabel D_80A117BC
diff --git a/include/functions.h b/include/functions.h
index e816102bd..c639eecbd 100644
--- a/include/functions.h
+++ b/include/functions.h
@@ -258,8 +258,8 @@ void func_800299AC(GlobalContext* globalCtx, Vec3f* v);
// ? func_80029C50(?);
void func_80029CA4(GlobalContext* globalCtx, s32 a, Vec3f* pos);
// ? func_80029CC8(?);
-// ? func_80029CF0(?);
-// ? func_80029D5C(?);
+void EffectSsFhgFlash_Spawn(GlobalContext*, Vec3f*, Vec3f*, Vec3f*, s16, u8);
+void EffectSsFhgFlash_Spawn2(GlobalContext *, Actor *, Vec3f *, s16, u8);
// ? func_80029DBC(?);
void func_80029E8C(GlobalContext* globalCtx, Vec3f* burstDepthY, Vec3f* burstDepthX, Vec3f* burstOrigin,
s16 gravityInfluence, s16 u0, s16 rotSpeed, s16 burstVel, u8 u1, s16 scale, u8 u2, s16 jitter,
@@ -691,6 +691,7 @@ void func_80059EC8(Camera* camera);
s32 func_8005A77C(Camera* camera, s16 button);
// ? func_8005A7A8(?);
// ? func_8005A8C4(?);
+s16 func_8005A948(Camera* camera);
Vec3s* func_8005A970(Vec3s*, Camera*);
s16 func_8005A9F4(Camera* camera);
s32 func_8005AA1C(Camera* camera, s32, s16, s32);
diff --git a/include/z64.h b/include/z64.h
index 967666413..190e462db 100644
--- a/include/z64.h
+++ b/include/z64.h
@@ -895,7 +895,8 @@ typedef struct {
/* 0xB8 */ UNK_PTR lightSettingsList;
/* 0xBC */ char unk_BC[0x03];
/* 0xBF */ u8 unk_BF;
- /* 0xC0 */ char unk_C0[0x18];
+ /* 0xC0 */ char unk_C0[0x16];
+ /* 0xD6 */ s16 unk_D6;
/* 0xD8 */ f32 unk_D8;
/* 0xDC */ u8 unk_DC;
/* 0xDD */ u8 gloomySkyEvent;
diff --git a/include/z64effect.h b/include/z64effect.h
index 9af3b8d26..6c6aa0d74 100644
--- a/include/z64effect.h
+++ b/include/z64effect.h
@@ -175,7 +175,7 @@ typedef struct {
typedef struct {
/* 0x00 */ u32 size;
- /* 0x04 */ void (*init)(void* effect, void* initParms);
+ /* 0x04 */ void (*init)(void* effect, void* initParams);
/* 0x08 */ void (*destroy)(void* effect);
/* 0x0C */ s32 (*update)(void* effect);
/* 0x10 */ void (*draw)(void* effect, struct GraphicsContext* gfxCtx);
diff --git a/src/code/z_effect_soft_sprite_old_init.c b/src/code/z_effect_soft_sprite_old_init.c
index 831ab107f..610684134 100644
--- a/src/code/z_effect_soft_sprite_old_init.c
+++ b/src/code/z_effect_soft_sprite_old_init.c
@@ -1,6 +1,7 @@
#include <ultra64.h>
#include <global.h>
#include "overlays/effects/ovl_Effect_Ss_Solder_Srch_Ball/z_eff_ss_solder_srch_ball.h"
+#include "overlays/effects/ovl_Effect_Ss_Fhg_Flash/z_eff_ss_fhg_flash.h"
// Draw utility for some G effects
#pragma GLOBAL_ASM("asm/non_matchings/code/z_effect_soft_sprite_old_init/func_80027F80.s")
@@ -161,9 +162,30 @@
// EffectSsFhgFlash Spawn Functions
-#pragma GLOBAL_ASM("asm/non_matchings/code/z_effect_soft_sprite_old_init/func_80029CF0.s")
+void EffectSsFhgFlash_Spawn(GlobalContext *globalCtx, Vec3f *pos, Vec3f *velocity, Vec3f *accel, s16 arg4, u8 arg5) {
+ EffectSsFhgFlashInitParams initParams;
-#pragma GLOBAL_ASM("asm/non_matchings/code/z_effect_soft_sprite_old_init/func_80029D5C.s")
+ Math_Vec3f_Copy(&initParams.pos, pos);
+ Math_Vec3f_Copy(&initParams.velocity, velocity);
+ Math_Vec3f_Copy(&initParams.accel, accel);
+ initParams.unk_24 = arg4;
+ initParams.unk_26 = arg5;
+ initParams.unk_2C = 0;
+
+ EffectSs_Spawn(globalCtx, EFFECT_SS_FHG_FLASH, 128, &initParams);
+}
+
+
+void EffectSsFhgFlash_Spawn2(GlobalContext *globalCtx, Actor *arg1, Vec3f *pos, s16 arg3, u8 arg4) {
+ EffectSsFhgFlashInitParams initParams;
+
+ initParams.unk_28 = arg1;
+ Math_Vec3f_Copy(&initParams.pos, pos);
+ initParams.unk_24 = arg3;
+ initParams.unk_26 = arg4;
+ initParams.unk_2C = 1;
+ EffectSs_Spawn(globalCtx, EFFECT_SS_FHG_FLASH, 128, &initParams);
+}
// EffectSsKFire Spawn Functions
diff --git a/src/overlays/actors/ovl_En_Fhg_Fire/z_en_fhg_fire.c b/src/overlays/actors/ovl_En_Fhg_Fire/z_en_fhg_fire.c
index 8fbbd4fbe..0f44e49ea 100644
--- a/src/overlays/actors/ovl_En_Fhg_Fire/z_en_fhg_fire.c
+++ b/src/overlays/actors/ovl_En_Fhg_Fire/z_en_fhg_fire.c
@@ -1,4 +1,11 @@
+/*
+ * File: z_en_fhg_fire.c
+ * Overlay: ovl_En_Fhg_Fire
+ * Description: Phantom Ganon's Lighting Attack
+ */
+
#include "z_en_fhg_fire.h"
+#include "../ovl_En_fHG/z_en_fhg.h"
#define FLAGS 0x00000030
@@ -9,7 +16,24 @@ void EnFhgFire_Destroy(Actor* thisx, GlobalContext* globalCtx);
void EnFhgFire_Update(Actor* thisx, GlobalContext* globalCtx);
void EnFhgFire_Draw(Actor* thisx, GlobalContext* globalCtx);
-/*
+void func_80A0F6F8(EnFhgFire* this, GlobalContext* globalCtx);
+void func_80A0FA90(EnFhgFire* this, GlobalContext* globalCtx);
+void func_80A0FC48(EnFhgFire* this, GlobalContext* globalCtx);
+void func_80A0FD8C(EnFhgFire* this, GlobalContext* globalCtx);
+void func_80A10008(EnFhgFire* this, GlobalContext* globalCtx);
+void func_80A10220(EnFhgFire* this, GlobalContext* globalCtx);
+void func_80A10F18(EnFhgFire* this, GlobalContext* globalCtx);
+
+extern ColliderCylinderInit D_80A11790;
+extern Vec3f D_80A117BC;
+extern Vec3f D_80A117C8;
+extern Vec3f D_80A117D4;
+
+extern Gfx D_0600FAA0[];
+extern Gfx D_0600FCF8[];
+extern Gfx D_060105E0[];
+extern Gfx D_06012160[];
+
const ActorInit En_Fhg_Fire_InitVars = {
0,
ACTORTYPE_BOSS,
@@ -21,27 +45,489 @@ const ActorInit En_Fhg_Fire_InitVars = {
(ActorFunc)EnFhgFire_Update,
(ActorFunc)EnFhgFire_Draw,
};
-*/
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Fhg_Fire/func_80A0F260.s")
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Fhg_Fire/EnFhgFire_Init.s")
+void EnFhgFire_SetupAction(EnFhgFire* this, EnFhgFireActionFunc actionFunc) {
+ this->actionFunc = actionFunc;
+}
+
+void EnFhgFire_Init(Actor* thisx, GlobalContext* globalCtx) {
+ f32 tempf0;
+ EnFhgFire* this = THIS;
+ Player* player = PLAYER;
+ f32 tempf1;
+ f32 tempf2;
+ f32 tempf3;
+
+ ActorShape_Init(&thisx->shape, 0.0f, NULL, 0.0f);
+ if ((thisx->params == 0x23) || (thisx->params == 0x24) || (thisx->params == 0x32)) {
+ Collider_InitCylinder(globalCtx, &this->collider);
+ Collider_SetCylinder(globalCtx, &this->collider, thisx, &D_80A11790);
+ }
+ this->unk_160 = 200.0f;
+ Actor_SetScale(thisx, 0.0f);
+
+ if (thisx->params == 0x01) {
+ EnFhgFire_SetupAction(this, func_80A0F6F8);
+ Audio_PlayActorSound2(thisx, NA_SE_EN_FANTOM_THUNDER);
+ } else if (thisx->params >= 0x64) {
+ EnFhgFire_SetupAction(this, func_80A0FA90);
+ thisx->shape.rot = thisx->posRot.rot;
+ }
+
+ if (thisx->params == 0x23) {
+ thisx->draw = NULL;
+ EnFhgFire_SetupAction(this, func_80A0FC48);
+ thisx->speedXZ = 30.0f;
+ Audio_PlayActorSound2(thisx, NA_SE_EN_FANTOM_SPARK);
+ return;
+ }
+
+ if (thisx->params == 0x24) {
+ EnFhgFire_SetupAction(this, func_80A0FD8C);
+ this->unk_160 = 255.0f;
+ this->unk_150.x = 0x20;
+ this->unk_150.y = 0x32;
+ this->unk_1FE = 0x0A;
+
+ tempf2 = thisx->posRot.rot.x;
+ this->unk_18C = tempf2 / 100.0f;
+ tempf1 = tempf2 * 0.13f;
+
+ this->collider.dim.radius = tempf1;
+ this->collider.dim.height = tempf1;
+ this->collider.dim.yShift = 0;
+ return;
+ }
+
+ if (thisx->params == 0x26) {
+ // "light spear"
+ osSyncPrintf("yari hikari ct 1\n");
+ EnFhgFire_SetupAction(this, func_80A10008);
+ osSyncPrintf("yari hikari ct 2\n");
+ this->unk_150.x = thisx->posRot.rot.x;
+ this->fireMode = thisx->posRot.rot.y;
+ return;
+ }
+
+ switch (thisx->params) {
+ case 0x27:
+ case 0x28:
+ case 0x29:
+ Actor_SetScale(thisx, 7.0f);
+ EnFhgFire_SetupAction(this, func_80A10F18);
+ if (thisx->params == 0x29) {
+ this->unk_150.x = 0x01B8;
+ thisx->scale.z = 1.0f;
+ } else {
+ this->unk_150.x = 0x4C;
+ Audio_PlayActorSound2(thisx, NA_SE_EV_FANTOM_WARP_S);
+ Audio_PlayActorSound2(thisx, NA_SE_EV_FANTOM_WARP_S2);
+ }
+ return;
+ }
+
+ if (thisx->params == 0x32) {
+ thisx->speedXZ = (thisx->posRot.rot.x == 0) ? 8.0f : 3.0f;
+ EnFhgFire_SetupAction(this, func_80A10220);
+
+ this->unk_150.x = 0x46;
+ this->unk_150.y = 0x02;
+
+ tempf1 = player->actor.posRot.pos.x - thisx->posRot.pos.x;
+ tempf2 = player->actor.posRot.pos.y + 30.0f - thisx->posRot.pos.y;
+ tempf3 = player->actor.posRot.pos.z - thisx->posRot.pos.z;
+ thisx->posRot.rot.y = Math_atan2f(tempf1, tempf3) * 10430.378f; // 65536/(2*M_PI)
+ tempf0 = sqrtf(SQ(tempf1) + SQ(tempf3));
+ thisx->posRot.rot.x = Math_atan2f(tempf2, tempf0) * 10430.378f; // 65536/(2*M_PI)
+ this->collider.dim.radius = 40;
+ this->collider.dim.height = 50;
+ this->collider.dim.yShift = -25;
+ this->light = Lights_Insert(globalCtx, &globalCtx->lightCtx, (void*)(&this->unk_1A0));
+ Lights_InitType0PositionalLight(&this->unk_1A0, thisx->posRot.pos.x, thisx->posRot.pos.y, thisx->posRot.pos.z,
+ 0xFF, 0xFF, 0xFF, 0xFF);
+ }
+}
+
+void EnFhgFire_Destroy(Actor* thisx, GlobalContext* globalCtx) {
+ EnFhgFire* this = THIS;
+
+ if ((thisx->params == 0x23) || (thisx->params == 0x24) || (thisx->params == 0x32)) {
+ Collider_DestroyCylinder(globalCtx, &this->collider);
+ }
+
+ if (thisx->params == 0x32) {
+ Lights_Remove(globalCtx, &globalCtx->lightCtx, this->light);
+ }
+}
+
+void func_80A0F6F8(EnFhgFire* this, GlobalContext* globalCtx) {
+ Camera* camera;
+ s32 pad;
+ Vec3f randVec;
+ Vec3f tmpVec;
+ s16 i;
+ s16 randY;
+ s16* tmp;
+
+ tmp = &this->unk_156;
+ camera = Gameplay_GetCamera(globalCtx, 0);
+
+ switch (this->fireMode) {
+ case 0x00:
+ this->fireMode = 0x0A;
+ this->unk_150.x = 0x07;
+ break;
+
+ case 0x0A:
+ this->actor.shape.rot.y = func_8005A948(camera) + ((*tmp & 0xFF) << 0x0F);
+ Math_SmoothScaleMaxF(&this->scale, 1.0f, 1.0f, 0.2f);
+
+ if (this->unk_150.x == 0) {
+ this->fireMode = 0x0B;
+ this->actor.shape.rot.z += 0x8000;
+ this->unk_150.x = 0x25;
+ this->actor.posRot.pos.y -= 200.0f;
+
+ Actor_SpawnAttached(&globalCtx->actorCtx, &this->actor, globalCtx, ACTOR_EN_FHG_FIRE,
+ this->actor.posRot.pos.x, this->actor.posRot.pos.y, this->actor.posRot.pos.z, 500,
+ 0, 0, 0x24);
+
+ tmpVec = D_80A117BC;
+
+ for (i = 0; i < 35; i++) {
+ randVec.x = Math_Rand_CenteredFloat(30.f);
+ randVec.y = Math_Rand_ZeroFloat(5.0f) + 3.0f;
+ randVec.z = Math_Rand_CenteredFloat(30.f);
+ tmpVec.y = -0.2f;
+ EffectSsFhgFlash_Spawn(globalCtx, &this->actor.posRot.pos, &randVec, &tmpVec,
+ (s16)(Math_Rand_ZeroOne() * 100.0f) + 240, 0);
+ }
+
+ func_80033E88(&this->actor, globalCtx, 4, 10);
+ }
+
+ break;
+
+ case 0x0B:
+ this->actor.shape.rot.y = func_8005A948(camera) + ((*tmp & 0xFF) << 0x0F);
+
+ Math_SmoothScaleMaxF(&this->scale, 0.0f, 1.0f, 0.2f);
+ if (this->unk_150.x == 0x1E) {
+ randY = (Math_Rand_ZeroOne() < 0.5f) ? 0x1000 : 0;
+
+ for (i = 0; i < 8; i++) {
+ Actor_SpawnAttached(&globalCtx->actorCtx, &this->actor, globalCtx, ACTOR_EN_FHG_FIRE,
+ this->actor.posRot.pos.x, this->actor.posRot.pos.y,
+ this->actor.posRot.pos.z, 0, (i * 8192) + randY, 0x4000, i + 0x64);
+ }
+
+ for (i = 0; i < 8; i++) {
+ Actor_SpawnAttached(&globalCtx->actorCtx, &this->actor, globalCtx, ACTOR_EN_FHG_FIRE,
+ this->actor.posRot.pos.x, this->actor.posRot.pos.y, this->actor.posRot.pos.z, 0,
+ (i * 8192) + randY, 0, 0x23);
+ }
+ }
+
+ if (this->unk_150.x == 0) {
+ Actor_Kill(&this->actor);
+ }
+ }
+
+ Actor_SetScale(&this->actor, this->scale);
+}
+
+void func_80A0FA90(EnFhgFire* this, GlobalContext* globalCtx) {
+ osSyncPrintf("FF MOVE 1\n");
+ this->actor.shape.rot.x += (s16)(Math_Rand_ZeroOne() * 4000.0f) + 0x4000;
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Fhg_Fire/EnFhgFire_Destroy.s")
+ switch (this->fireMode) {
+ case 0:
+ this->fireMode = 1;
+ this->unk_150.x = (s16)(Math_Rand_ZeroOne() * 7.0f) + 0x07;
+ case 1:
+ Math_SmoothScaleMaxF(&this->scale, 1.7f, 1.0f, 0.34f);
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Fhg_Fire/func_80A0F6F8.s")
+ if (this->unk_150.x == 0) {
+ this->fireMode = 0x02;
+ this->unk_150.x = 0x0A;
+ this->actor.posRot.pos.z += Math_Sins(this->actor.shape.rot.y) * -200.0f * this->scale;
+ this->actor.posRot.pos.x += Math_Coss(this->actor.shape.rot.y) * 200.0f * this->scale;
+ this->actor.shape.rot.y += 0x8000;
+ }
+ break;
+ case 2:
+ Math_SmoothDownscaleMaxF(&this->scale, 1.0f, 0.34f);
+ if (this->unk_150.x == 0) {
+ Actor_Kill(&this->actor);
+ }
+ break;
+ }
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Fhg_Fire/func_80A0FA90.s")
+ Actor_SetScale(&this->actor, this->scale);
+ if (this->actor.scale.x > 1.0f) {
+ this->actor.scale.x = 1.0f;
+ }
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Fhg_Fire/func_80A0FC48.s")
+ osSyncPrintf("FF MOVE 2\n");
+}
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Fhg_Fire/func_80A0FD8C.s")
+void func_80A0FC48(EnFhgFire* this, GlobalContext* globalCtx) {
+ Player* player = PLAYER;
+ Vec3f pos;
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Fhg_Fire/func_80A10008.s")
+ if (this->collider.base.atFlags & 2) {
+ this->collider.base.atFlags = this->collider.base.atFlags & ~2;
+ Audio_PlayActorSound2(&this->actor, NA_SE_EN_FANTOM_HIT_THUNDER);
+ }
+
+ if (Math_Rand_ZeroOne() < 0.5f) {
+ pos = this->actor.posRot.pos;
+ pos.y -= 20.0f;
+ EffectSsFhgFlash_Spawn2(globalCtx, &this->actor, &pos, 0xC8, 0);
+ }
+
+ Actor_MoveForward(&this->actor);
+ Collider_CylinderUpdate(&this->actor, &this->collider);
+ if (player->invincibilityTimer == 0) {
+ CollisionCheck_SetAT(globalCtx, &globalCtx->colChkCtx, &this->collider.base);
+ }
+
+ func_8002E4B4(globalCtx, &this->actor, 50.0f, 50.0f, 100.0f, 1);
+ if (this->actor.bgCheckFlags & 8) {
+ Actor_Kill(&this->actor);
+ }
+}
+
+void func_80A0FD8C(EnFhgFire* this, GlobalContext* globalCtx) {
+ Player* player = PLAYER;
+ s32 pad;
+
+ globalCtx->envCtx.unk_E1 = 0x01;
+ this->actor.shape.rot.y += 0x1000;
+
+ if (this->unk_150.y == 0x31) {
+ globalCtx->envCtx.unk_BF = 1;
+ globalCtx->envCtx.unk_D6 = 0xFF;
+ }
+ if (this->unk_150.y == 0x1F) {
+ globalCtx->envCtx.unk_BF = 0x00;
+ globalCtx->envCtx.unk_D6 = 0x14;
+ }
+ if (this->unk_150.y >= 0x30) {
+ globalCtx->envCtx.unk_E2[2] = 0xFF;
+ globalCtx->envCtx.unk_E2[1] = 0xFF;
+ globalCtx->envCtx.unk_E2[0] = 0xFF;
+
+ if (((this->unk_150.x & 0xFF) % 2) != 0) {
+ globalCtx->envCtx.unk_E2[3] = 0x46;
+ } else {
+ globalCtx->envCtx.unk_E2[3] = 0x00;
+ }
+ } else {
+ globalCtx->envCtx.unk_E2[3] = 0x00;
+ }
+
+ if (this->unk_150.x < 0x15) {
+ Math_SmoothDownscaleMaxF(&this->unk_160, 1.0f, 45.0f);
+ Math_SmoothDownscaleMaxF(&this->scale, 1.0f, 0.5f);
+ } else {
+ Math_SmoothScaleMaxF(&this->scale, this->unk_18C, 0.5f, 3.0f);
+ }
+
+ Actor_SetScale(&this->actor, this->scale);
+ if (3.0f < this->unk_18C) {
+ Collider_CylinderUpdate(&this->actor, &this->collider);
+ if (player->invincibilityTimer == 0) {
+ CollisionCheck_SetAT(globalCtx, &globalCtx->colChkCtx, (Collider*)&this->collider);
+ }
+ }
+
+ if (this->unk_150.x == 0) {
+ Actor_Kill(&this->actor);
+ globalCtx->envCtx.unk_E1 = 0;
+ }
+ if (this->unk_1FE != 0) {
+ this->unk_1FE--;
+ this->unk_1FC = 1;
+ Math_SmoothScaleMaxF(&this->unk_200, 40.0f, 0.3f, 10.0f);
+ } else {
+ Math_SmoothDownscaleMaxF(&this->unk_200, 1.0f, 5.0f);
+ if (this->unk_200 == 0.0f) {
+ this->unk_1FC = 0;
+ }
+ }
+
+ // Related to scene draw config 30, only used in BossGanon_Update and
+ // loaded in z_kankyo
+ D_8015FCF0 = this->unk_1FC;
+ D_8015FCF8 = this->actor.posRot.pos;
+ D_8015FD06 = this->unk_200;
+ D_8015FD08 = 10.0f;
+ D_8015FD0C = 0;
+}
+
+void func_80A10008(EnFhgFire* this, GlobalContext* globalCtx) {
+ EnfHG* horse;
+ s16 i;
+ Vec3f sp6C;
+ Vec3f tmp;
+ Vec3f sp54;
+
+ osSyncPrintf("yari hikari 1\n");
+ horse = (EnfHG*)this->actor.attachedA;
+ if ((this->unk_156 % 2) != 0) {
+ Actor_SetScale(&this->actor, 6.0f);
+ } else {
+ Actor_SetScale(&this->actor, 5.25f);
+ }
+
+ this->actor.posRot.pos = horse->unk_200;
+ this->actor.shape.rot.z += (s16)(Math_Rand_ZeroOne() * 20000.0f) + 0x4000;
+
+ osSyncPrintf("yari hikari 2\n");
+ if (this->fireMode == 0) {
+ tmp = D_80A117C8;
+ sp54 = D_80A117D4;
+ osSyncPrintf("FLASH !!\n");
+
+ for (i = 0; i < 2; i++) {
+ sp6C.x = Math_Rand_CenteredFloat(20.0f) + this->actor.posRot.pos.x;
+ sp6C.y = Math_Rand_CenteredFloat(20.0f) + this->actor.posRot.pos.y;
+ sp6C.z = Math_Rand_CenteredFloat(20.0f) + this->actor.posRot.pos.z;
+ sp54.y = -0.08f;
+
+ EffectSsFhgFlash_Spawn(globalCtx, &sp6C, &tmp, &sp54, (s16)(Math_Rand_ZeroOne() * 80.0f) + 150, 0);
+ }
+ }
+
+ if (this->unk_150.x == 0) {
+ Actor_Kill(&this->actor);
+ }
+}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Fhg_Fire/func_80A10220.s")
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Fhg_Fire/func_80A10F18.s")
+void func_80A10F18(EnFhgFire* this, GlobalContext* globalCtx) {
+ EnfHG* horse = (EnfHG*)this->actor.attachedA;
+ f32 phi_f0;
+ s32 tmp;
+
+ this->unk_174 = (this->unk_174 + (25.0f * this->unk_184));
+ this->unk_178 = (this->unk_178 - (40.0f * this->unk_184));
+ this->unk_17C = (this->unk_17C + (5.0f * this->unk_184));
+ this->unk_180 = (this->unk_180 - (30.0f * this->unk_184));
+
+ if (this->actor.params == 0x29) {
+ if (this->unk_150.x >= 0x47) {
+ Audio_PlayActorSound2(&this->actor, NA_SE_EV_FANTOM_WARP_L - SFX_FLAG);
+ Audio_PlayActorSound2(&this->actor, NA_SE_EV_FANTOM_WARP_L2 - SFX_FLAG);
+ }
+
+ if (this->unk_150.x == 0x46) {
+ Audio_PlayActorSound2(&this->actor, NA_SE_EV_FANTOM_WARP_S);
+ Audio_PlayActorSound2(&this->actor, NA_SE_EV_FANTOM_WARP_S2);
+ }
+ }
+
+ if (this->unk_150.x >= 0x33) {
+ phi_f0 = 1.0f;
+ if (this->actor.params >= 0x28) {
+ phi_f0 = -1.0f;
+ }
+
+ Math_SmoothScaleMaxF(&this->unk_184, phi_f0, 1.0f, 0.04f);
+ Math_SmoothScaleMaxF(&this->unk_188, 255.0f, 1.0f, 10.2f);
+ } else {
+ if (this->unk_150.x < 0x1A) {
+ Math_SmoothDownscaleMaxF(&this->unk_184, 1.0f, 0.04f);
+ Math_SmoothDownscaleMaxF(&this->unk_188, 1.0f, 10.2f);
+ }
+ }
+
+ osSyncPrintf("EFC 1\n");
+ if ((this->unk_150.x == 0) || ((this->actor.params == 0x27) && (horse->unk_14F != 0))) {
+ Actor_Kill(&this->actor);
+ }
+ osSyncPrintf("EFC 2\n");
+}
+
+void EnFhgFire_Update(Actor* thisx, GlobalContext* globalCtx) {
+ EnFhgFire* this = THIS;
+
+ this->unk_156++;
+
+ DECR(this->unk_150.x);
+ DECR(this->unk_150.y);
+
+ this->actionFunc(this, globalCtx);
+}
+
+// Unsolved regalloc
+#ifdef NON_EQUIVALENT
+void EnFhgFire_Draw(Actor* thisx, GlobalContext* globalCtx) {
+ EnFhgFire* this = THIS;
+ GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
+ Gfx* dispRefs[4];
+
+ Graph_OpenDisps(dispRefs, gfxCtx, "../z_en_fhg_fire.c", 1723);
+ if (thisx->params == 0x24) {
+ func_80093D84(globalCtx->state.gfxCtx);
+ gDPSetPrimColor(gfxCtx->polyXlu.p++, 0, 0, 0xFF, 0xFF, 0xFF, (s32)this->unk_160 & 0xFF);
+ gDPSetEnvColor(gfxCtx->polyXlu.p++, 0xA5, 0xFF, 0x4B, 0x00);
+ gDPPipeSync(gfxCtx->polyXlu.p++);
+ gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_fhg_fire.c", 1745),
+ G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
+ gSPDisplayList(gfxCtx->polyXlu.p++, SEGMENTED_TO_VIRTUAL(D_0600FCF8));
+ } else if ((thisx->params == 0x26) || (thisx->params == 0x32)) {
+ osSyncPrintf("yari hikari draw 1\n");
+ func_800D1FD4(&globalCtx->mf_11DA0);
+ func_80093D84(globalCtx->state.gfxCtx);
+
+ gDPSetPrimColor(gfxCtx->polyXlu.p++, 0, 0, 0xFF, 0xFF, 0xFF, (s32)this->unk_160 & 0xFF);
+
+ if (this->fireMode > 0) {
+ gDPSetEnvColor(gfxCtx->polyXlu.p++, 0x00, 0xFF, 0xFF, 0x00);
+ } else {
+ gDPSetEnvColor(gfxCtx->polyXlu.p++, 0xA5, 0xFF, 0x4B, 0x00);
+ }
+
+ gDPPipeSync(gfxCtx->polyXlu.p++);
+
+ Matrix_RotateZ(((f32)thisx->shape.rot.z / 32768.0f) * M_PI, 1);
+ gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_fhg_fire.c", 1801),
+ G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
+
+ gSPDisplayList(gfxCtx->polyXlu.p++, D_06012160);
+ } else if ((thisx->params == 0x27) || (thisx->params == 0x28) || (thisx->params == 0x29)) {
+ func_80093D84(globalCtx->state.gfxCtx);
+ gDPSetPrimColor(gfxCtx->polyXlu.p++, 0, 0, 0, 0, 0,
+ ((u32)this->unk_188 & 0xFF)); // sic u32
+ gDPSetEnvColor(gfxCtx->polyXlu.p++, 0x5A, 0x32, 0x5F, (s32)(this->unk_188 * 0.5f));
+ gDPPipeSync(gfxCtx->polyXlu.p++);
+ gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_fhg_fire.c", 1833),
+ G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
+
+ gSPSegment(gfxCtx->polyXlu.p++, 0x08,
+ Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, (s16)this->unk_174, (s16)this->unk_178, 0x40, 0x40, 1,
+ (s16)this->unk_17C, (s16)this->unk_180, 0x40, 0x40));
+
+ gSPDisplayList(gfxCtx->polyXlu.p++, D_0600FAA0);
+ } else {
+ osSyncPrintf("FF DRAW 1\n");
+ Matrix_Translate(0.0f, -100.0f, 0.0f, 1);
+ func_80093D84(globalCtx->state.gfxCtx);
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Fhg_Fire/EnFhgFire_Update.s")
+ gDPSetPrimColor(gfxCtx->polyXlu.p++, 0, 0, 0xFF, 0xFF, 0xFF, (s32)this->unk_160 & 0xFF);
+ gDPSetEnvColor(gfxCtx->polyXlu.p++, 0xFF, 0x1E, 0x00, 0xFF);
+ gDPPipeSync(gfxCtx->polyXlu.p++);
+ gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_fhg_fire.c", 1892),
+ G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
+ gSPDisplayList(gfxCtx->polyXlu.p++, D_060105E0);
+ osSyncPrintf("FF DRAW 2\n");
+ }
+ Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_fhg_fire.c", 1900);
+}
+#else
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Fhg_Fire/EnFhgFire_Draw.s")
+#endif
diff --git a/src/overlays/actors/ovl_En_Fhg_Fire/z_en_fhg_fire.h b/src/overlays/actors/ovl_En_Fhg_Fire/z_en_fhg_fire.h
index f14652d7f..df4568bbb 100644
--- a/src/overlays/actors/ovl_En_Fhg_Fire/z_en_fhg_fire.h
+++ b/src/overlays/actors/ovl_En_Fhg_Fire/z_en_fhg_fire.h
@@ -6,9 +6,37 @@
struct EnFhgFire;
+typedef void (*EnFhgFireActionFunc)(struct EnFhgFire*, GlobalContext *globalCtx);
+
typedef struct EnFhgFire {
/* 0x0000 */ Actor actor;
- /* 0x014C */ char unk_14C[0xB8];
+ /* 0x014C */ EnFhgFireActionFunc actionFunc;
+ /* 0x0150 */ Vec3s unk_150; // rotation
+ /* 0x0156 */ s16 unk_156;
+ /* 0x0158 */ s16 fireMode;
+ /* 0x015a */ s16 unk_15A;
+ /* 0x015C */ s16 unk_15C;
+ /* 0x015E */ char unk_15E[0x02];
+ /* 0x0160 */ f32 unk_160;
+ /* 0x0164 */ char unk_164[0x08];
+ /* 0x016C */ f32 scale;
+ /* 0x0170 */ char unk_170[0x04];
+ /* 0x0174 */ f32 unk_174;
+ /* 0x0178 */ f32 unk_178;
+ /* 0x017C */ f32 unk_17C;
+ /* 0x0180 */ f32 unk_180;
+ /* 0x0184 */ f32 unk_184;
+ /* 0x0188 */ f32 unk_188;
+ /* 0x018C */ f32 unk_18C;
+ /* 0x0190 */ char unk_190[0x0C];
+ /* 0x019C */ z_Light* light;
+ /* 0x01A0 */ LightInfoPositional unk_1A0;
+ /* 0x01AE */ char padding_1AE[2];
+ /* 0x01B0 */ ColliderCylinder collider;
+ /* 0x01FC */ u8 unk_1FC;
+ /* 0x01FD */ char unk_1FD;
+ /* 0x01FE */ s16 unk_1FE;
+ /* 0x0200 */ f32 unk_200;
} EnFhgFire; // size = 0x0204
extern const ActorInit En_Fhg_Fire_InitVars;
diff --git a/src/overlays/actors/ovl_En_fHG/z_en_fhg.c b/src/overlays/actors/ovl_En_fHG/z_en_fhg.c
index 364725d0e..5ade725b7 100644
--- a/src/overlays/actors/ovl_En_fHG/z_en_fhg.c
+++ b/src/overlays/actors/ovl_En_fHG/z_en_fhg.c
@@ -1,3 +1,9 @@
+/*
+ * File: z_en_fhg.c
+ * Overlay: ovl_En_fHG
+ * Description: Phantom Ganon's Horse
+ */
+
#include "z_en_fhg.h"
#define FLAGS 0x00000010
diff --git a/src/overlays/actors/ovl_En_fHG/z_en_fhg.h b/src/overlays/actors/ovl_En_fHG/z_en_fhg.h
index fd9b3b3f2..81f331193 100644
--- a/src/overlays/actors/ovl_En_fHG/z_en_fhg.h
+++ b/src/overlays/actors/ovl_En_fHG/z_en_fhg.h
@@ -8,7 +8,17 @@ struct EnfHG;
typedef struct EnfHG {
/* 0x0000 */ Actor actor;
- /* 0x014C */ char unk_14C[0x148];
+ /* 0x014C */ char unk_14C[0x3];
+ /* 0x014F */ u8 unk_14F;
+ /* 0x0150 */ char unk_150[0x77];
+ /* 0x01C7 */ u8 unk_1C7;
+ /* 0x01C8 */ char unk_1C8;
+ /* 0x01C9 */ u8 flyMode;
+ /* 0x01CA */ u8 unk_1CA;
+ /* 0x01CB */ char unk_1CB[0x35];
+ /* 0x0200 */ Vec3f unk_200;
+ /* 0x020C */ Vec3f unk_20C;
+ /* 0x0218 */ char unk_218[0x7C];
} EnfHG; // size = 0x0294
extern const ActorInit En_Fhg_InitVars;
diff --git a/src/overlays/effects/ovl_Effect_Ss_Fhg_Flash/z_eff_ss_fhg_flash.h b/src/overlays/effects/ovl_Effect_Ss_Fhg_Flash/z_eff_ss_fhg_flash.h
new file mode 100644
index 000000000..f3f355a35
--- /dev/null
+++ b/src/overlays/effects/ovl_Effect_Ss_Fhg_Flash/z_eff_ss_fhg_flash.h
@@ -0,0 +1,17 @@
+#ifndef _Z_EFF_SS_FHGFLASH_h_
+#define _Z_EFF_SS_FHGFLASH_h_
+
+#include <ultra64.h>
+#include <global.h>
+
+typedef struct {
+ /* 0x00 */ Vec3f pos;
+ /* 0x0C */ Vec3f velocity;
+ /* 0x18 */ Vec3f accel;
+ /* 0x24 */ s16 unk_24;
+ /* 0x26 */ u8 unk_26;
+ /* 0x28 */ Actor* unk_28;
+ /* 0x2C */ u8 unk_2C;
+} EffectSsFhgFlashInitParams;
+
+#endif
diff --git a/undefined_syms.txt b/undefined_syms.txt
index 2a14b49b5..4b4435ed0 100644
--- a/undefined_syms.txt
+++ b/undefined_syms.txt
@@ -702,3 +702,9 @@ D_0600BAC8 = 0x0600BAC8;
// z_Bg_Spot16_Doughnut
D_06000660 = 0x06000660;
D_06000FC0 = 0x06000FC0;
+
+// z_en_fhg_fire display lists
+D_0600FAA0 = 0x0600FAA0;
+D_0600FCF8 = 0x0600FCF8;
+D_060105E0 = 0x060105E0;
+D_06012160 = 0x06012160;