summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfig02 <fig02srl@gmail.com>2020-05-29 17:20:00 -0400
committerGitHub <noreply@github.com>2020-05-29 17:20:00 -0400
commitac978077620beea250156c2bc15f57550e041494 (patch)
tree78c162f5592c4007e6cefa67a0c9f86343a3cf56
parent038ab888f6a741805a2b133fad6e11680d55c18a (diff)
En_Kz OK (#176)
* start kz * remove irrelevant file * kz progress * en_kz progress * match kz switch * progress * kz OK * kz OK * sync * kz done * delete asm files * pr suggestions 1
-rw-r--r--asm/non_matchings/overlays/actors/ovl_En_Kz/EnKz_Destroy.s12
-rw-r--r--asm/non_matchings/overlays/actors/ovl_En_Kz/EnKz_Draw.s75
-rw-r--r--asm/non_matchings/overlays/actors/ovl_En_Kz/EnKz_Init.s108
-rw-r--r--asm/non_matchings/overlays/actors/ovl_En_Kz/EnKz_Update.s54
-rw-r--r--asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9C550.s28
-rw-r--r--asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9C5AC.s48
-rw-r--r--asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9C658.s31
-rw-r--r--asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9C6C0.s167
-rw-r--r--asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9C8E4.s35
-rw-r--r--asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9C95C.s129
-rw-r--r--asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9CB18.s124
-rw-r--r--asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9CCD8.s101
-rw-r--r--asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9CE44.s52
-rw-r--r--asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9D0C0.s31
-rw-r--r--asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9D130.s81
-rw-r--r--asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9D25C.s96
-rw-r--r--asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9D3C8.s26
-rw-r--r--asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9D42C.s28
-rw-r--r--asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9D490.s40
-rw-r--r--asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9D520.s41
-rw-r--r--asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9D670.s58
-rw-r--r--asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9D744.s25
-rw-r--r--data/overlays/actors/z_en_kz.data.s32
-rw-r--r--data/overlays/actors/z_en_kz.reloc.s13
-rw-r--r--include/functions.h1
-rw-r--r--include/macros.h1
-rw-r--r--include/z64actor.h2
-rw-r--r--include/z64item.h2
-rw-r--r--spec3
-rw-r--r--src/code/z_actor.c4
-rw-r--r--src/code/z_en_item00.c5
-rw-r--r--src/code/z_parameter.c2
-rw-r--r--src/overlays/actors/ovl_En_Kz/z_en_kz.c470
-rw-r--r--src/overlays/actors/ovl_En_Kz/z_en_kz.h19
-rw-r--r--undefined_syms.txt3
35 files changed, 479 insertions, 1468 deletions
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Kz/EnKz_Destroy.s b/asm/non_matchings/overlays/actors/ovl_En_Kz/EnKz_Destroy.s
deleted file mode 100644
index 8772a1f93..000000000
--- a/asm/non_matchings/overlays/actors/ovl_En_Kz/EnKz_Destroy.s
+++ /dev/null
@@ -1,12 +0,0 @@
-glabel EnKz_Destroy
-/* 00B48 80A9D098 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
-/* 00B4C 80A9D09C 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
-/* 00B50 80A9D0A0 AFBF0014 */ sw $ra, 0x0014($sp)
-/* 00B54 80A9D0A4 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
-/* 00B58 80A9D0A8 0C0170EB */ jal Collider_DestroyCylinder
-
-/* 00B5C 80A9D0AC 24C50194 */ addiu $a1, $a2, 0x0194 ## $a1 = 00000194
-/* 00B60 80A9D0B0 8FBF0014 */ lw $ra, 0x0014($sp)
-/* 00B64 80A9D0B4 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
-/* 00B68 80A9D0B8 03E00008 */ jr $ra
-/* 00B6C 80A9D0BC 00000000 */ nop
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Kz/EnKz_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Kz/EnKz_Draw.s
deleted file mode 100644
index 6d7c1a08b..000000000
--- a/asm/non_matchings/overlays/actors/ovl_En_Kz/EnKz_Draw.s
+++ /dev/null
@@ -1,75 +0,0 @@
-.rdata
-glabel D_80A9D970
- .asciz "../z_en_kz.c"
- .balign 4
-
-glabel D_80A9D980
- .asciz "../z_en_kz.c"
- .balign 4
-
-.text
-glabel EnKz_Draw
-/* 01250 80A9D7A0 27BDFFB0 */ addiu $sp, $sp, 0xFFB0 ## $sp = FFFFFFB0
-/* 01254 80A9D7A4 AFBF002C */ sw $ra, 0x002C($sp)
-/* 01258 80A9D7A8 AFB00028 */ sw $s0, 0x0028($sp)
-/* 0125C 80A9D7AC AFA50054 */ sw $a1, 0x0054($sp)
-/* 01260 80A9D7B0 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000
-/* 01264 80A9D7B4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
-/* 01268 80A9D7B8 3C0680AA */ lui $a2, %hi(D_80A9D970) ## $a2 = 80AA0000
-/* 0126C 80A9D7BC 24C6D970 */ addiu $a2, $a2, %lo(D_80A9D970) ## $a2 = 80A9D970
-/* 01270 80A9D7C0 27A40038 */ addiu $a0, $sp, 0x0038 ## $a0 = FFFFFFE8
-/* 01274 80A9D7C4 240704EB */ addiu $a3, $zero, 0x04EB ## $a3 = 000004EB
-/* 01278 80A9D7C8 0C031AB1 */ jal Graph_OpenDisps
-/* 0127C 80A9D7CC AFA50048 */ sw $a1, 0x0048($sp)
-/* 01280 80A9D7D0 8FA80048 */ lw $t0, 0x0048($sp)
-/* 01284 80A9D7D4 3C18DB06 */ lui $t8, 0xDB06 ## $t8 = DB060000
-/* 01288 80A9D7D8 37180020 */ ori $t8, $t8, 0x0020 ## $t8 = DB060020
-/* 0128C 80A9D7DC 8D0302C0 */ lw $v1, 0x02C0($t0) ## 000002C0
-/* 01290 80A9D7E0 3C0480AA */ lui $a0, %hi(D_80A9D964) ## $a0 = 80AA0000
-/* 01294 80A9D7E4 3C0E8016 */ lui $t6, %hi(gSegments)
-/* 01298 80A9D7E8 246F0008 */ addiu $t7, $v1, 0x0008 ## $t7 = 00000008
-/* 0129C 80A9D7EC AD0F02C0 */ sw $t7, 0x02C0($t0) ## 000002C0
-/* 012A0 80A9D7F0 AC780000 */ sw $t8, 0x0000($v1) ## 00000000
-/* 012A4 80A9D7F4 86190210 */ lh $t9, 0x0210($s0) ## 00000210
-/* 012A8 80A9D7F8 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000
-/* 012AC 80A9D7FC 3421FFFF */ ori $at, $at, 0xFFFF ## $at = 00FFFFFF
-/* 012B0 80A9D800 00194880 */ sll $t1, $t9, 2
-/* 012B4 80A9D804 00892021 */ addu $a0, $a0, $t1
-/* 012B8 80A9D808 8C84D964 */ lw $a0, %lo(D_80A9D964)($a0)
-/* 012BC 80A9D80C 00045900 */ sll $t3, $a0, 4
-/* 012C0 80A9D810 000B6702 */ srl $t4, $t3, 28
-/* 012C4 80A9D814 000C6880 */ sll $t5, $t4, 2
-/* 012C8 80A9D818 01CD7021 */ addu $t6, $t6, $t5
-/* 012CC 80A9D81C 8DCE6FA8 */ lw $t6, %lo(gSegments)($t6)
-/* 012D0 80A9D820 00815024 */ and $t2, $a0, $at
-/* 012D4 80A9D824 3C018000 */ lui $at, 0x8000 ## $at = 80000000
-/* 012D8 80A9D828 014E7821 */ addu $t7, $t2, $t6
-/* 012DC 80A9D82C 01E1C021 */ addu $t8, $t7, $at
-/* 012E0 80A9D830 AC780004 */ sw $t8, 0x0004($v1) ## 00000004
-/* 012E4 80A9D834 8FB90054 */ lw $t9, 0x0054($sp)
-/* 012E8 80A9D838 0C0250F2 */ jal func_800943C8
-/* 012EC 80A9D83C 8F240000 */ lw $a0, 0x0000($t9) ## 00000000
-/* 012F0 80A9D840 8E050150 */ lw $a1, 0x0150($s0) ## 00000150
-/* 012F4 80A9D844 8E06016C */ lw $a2, 0x016C($s0) ## 0000016C
-/* 012F8 80A9D848 9207014E */ lbu $a3, 0x014E($s0) ## 0000014E
-/* 012FC 80A9D84C 3C0980AA */ lui $t1, %hi(func_80A9D670) ## $t1 = 80AA0000
-/* 01300 80A9D850 3C0B80AA */ lui $t3, %hi(func_80A9D744) ## $t3 = 80AA0000
-/* 01304 80A9D854 256BD744 */ addiu $t3, $t3, %lo(func_80A9D744) ## $t3 = 80A9D744
-/* 01308 80A9D858 2529D670 */ addiu $t1, $t1, %lo(func_80A9D670) ## $t1 = 80A9D670
-/* 0130C 80A9D85C AFA90010 */ sw $t1, 0x0010($sp)
-/* 01310 80A9D860 AFAB0014 */ sw $t3, 0x0014($sp)
-/* 01314 80A9D864 AFB00018 */ sw $s0, 0x0018($sp)
-/* 01318 80A9D868 0C0286B2 */ jal SkelAnime_DrawSV
-/* 0131C 80A9D86C 8FA40054 */ lw $a0, 0x0054($sp)
-/* 01320 80A9D870 8FAC0054 */ lw $t4, 0x0054($sp)
-/* 01324 80A9D874 3C0680AA */ lui $a2, %hi(D_80A9D980) ## $a2 = 80AA0000
-/* 01328 80A9D878 24C6D980 */ addiu $a2, $a2, %lo(D_80A9D980) ## $a2 = 80A9D980
-/* 0132C 80A9D87C 27A40038 */ addiu $a0, $sp, 0x0038 ## $a0 = FFFFFFE8
-/* 01330 80A9D880 24070501 */ addiu $a3, $zero, 0x0501 ## $a3 = 00000501
-/* 01334 80A9D884 0C031AD5 */ jal Graph_CloseDisps
-/* 01338 80A9D888 8D850000 */ lw $a1, 0x0000($t4) ## 00000000
-/* 0133C 80A9D88C 8FBF002C */ lw $ra, 0x002C($sp)
-/* 01340 80A9D890 8FB00028 */ lw $s0, 0x0028($sp)
-/* 01344 80A9D894 27BD0050 */ addiu $sp, $sp, 0x0050 ## $sp = 00000000
-/* 01348 80A9D898 03E00008 */ jr $ra
-/* 0134C 80A9D89C 00000000 */ nop
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Kz/EnKz_Init.s b/asm/non_matchings/overlays/actors/ovl_En_Kz/EnKz_Init.s
deleted file mode 100644
index 3fb8ca350..000000000
--- a/asm/non_matchings/overlays/actors/ovl_En_Kz/EnKz_Init.s
+++ /dev/null
@@ -1,108 +0,0 @@
-glabel EnKz_Init
-/* 009BC 80A9CF0C 27BDFFB0 */ addiu $sp, $sp, 0xFFB0 ## $sp = FFFFFFB0
-/* 009C0 80A9CF10 AFB00034 */ sw $s0, 0x0034($sp)
-/* 009C4 80A9CF14 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
-/* 009C8 80A9CF18 AFB10038 */ sw $s1, 0x0038($sp)
-/* 009CC 80A9CF1C 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
-/* 009D0 80A9CF20 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
-/* 009D4 80A9CF24 AFBF003C */ sw $ra, 0x003C($sp)
-/* 009D8 80A9CF28 2605014C */ addiu $a1, $s0, 0x014C ## $a1 = 0000014C
-/* 009DC 80A9CF2C 260E0216 */ addiu $t6, $s0, 0x0216 ## $t6 = 00000216
-/* 009E0 80A9CF30 260F025E */ addiu $t7, $s0, 0x025E ## $t7 = 0000025E
-/* 009E4 80A9CF34 3C060601 */ lui $a2, 0x0601 ## $a2 = 06010000
-/* 009E8 80A9CF38 2418000C */ addiu $t8, $zero, 0x000C ## $t8 = 0000000C
-/* 009EC 80A9CF3C AFB80018 */ sw $t8, 0x0018($sp)
-/* 009F0 80A9CF40 24C686D0 */ addiu $a2, $a2, 0x86D0 ## $a2 = 060086D0
-/* 009F4 80A9CF44 AFAF0014 */ sw $t7, 0x0014($sp)
-/* 009F8 80A9CF48 AFAE0010 */ sw $t6, 0x0010($sp)
-/* 009FC 80A9CF4C AFA50044 */ sw $a1, 0x0044($sp)
-/* 00A00 80A9CF50 0C0291BE */ jal SkelAnime_InitSV
-/* 00A04 80A9CF54 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
-/* 00A08 80A9CF58 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
-/* 00A0C 80A9CF5C 260400B4 */ addiu $a0, $s0, 0x00B4 ## $a0 = 000000B4
-/* 00A10 80A9CF60 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
-/* 00A14 80A9CF64 44050000 */ mfc1 $a1, $f0
-/* 00A18 80A9CF68 44070000 */ mfc1 $a3, $f0
-/* 00A1C 80A9CF6C 0C00AC78 */ jal ActorShape_Init
-
-/* 00A20 80A9CF70 00000000 */ nop
-/* 00A24 80A9CF74 26050194 */ addiu $a1, $s0, 0x0194 ## $a1 = 00000194
-/* 00A28 80A9CF78 AFA50040 */ sw $a1, 0x0040($sp)
-/* 00A2C 80A9CF7C 0C0170D9 */ jal Collider_InitCylinder
-
-/* 00A30 80A9CF80 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
-/* 00A34 80A9CF84 3C0780AA */ lui $a3, %hi(D_80A9D8C0) ## $a3 = 80AA0000
-/* 00A38 80A9CF88 8FA50040 */ lw $a1, 0x0040($sp)
-/* 00A3C 80A9CF8C 24E7D8C0 */ addiu $a3, $a3, %lo(D_80A9D8C0) ## $a3 = 80A9D8C0
-/* 00A40 80A9CF90 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
-/* 00A44 80A9CF94 0C01712B */ jal Collider_SetCylinder
-
-/* 00A48 80A9CF98 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
-/* 00A4C 80A9CF9C 3C0680AA */ lui $a2, %hi(D_80A9D8EC) ## $a2 = 80AA0000
-/* 00A50 80A9CFA0 24C6D8EC */ addiu $a2, $a2, %lo(D_80A9D8EC) ## $a2 = 80A9D8EC
-/* 00A54 80A9CFA4 26040098 */ addiu $a0, $s0, 0x0098 ## $a0 = 00000098
-/* 00A58 80A9CFA8 0C0187BF */ jal func_80061EFC
-/* 00A5C 80A9CFAC 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
-/* 00A60 80A9CFB0 3C053C23 */ lui $a1, 0x3C23 ## $a1 = 3C230000
-/* 00A64 80A9CFB4 34A5D70A */ ori $a1, $a1, 0xD70A ## $a1 = 3C23D70A
-/* 00A68 80A9CFB8 0C00B58B */ jal Actor_SetScale
-
-/* 00A6C 80A9CFBC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
-/* 00A70 80A9CFC0 24190003 */ addiu $t9, $zero, 0x0003 ## $t9 = 00000003
-/* 00A74 80A9CFC4 A219001F */ sb $t9, 0x001F($s0) ## 0000001F
-/* 00A78 80A9CFC8 A60001E0 */ sh $zero, 0x01E0($s0) ## 000001E0
-/* 00A7C 80A9CFCC 3C0580AA */ lui $a1, %hi(D_80A9D8F8) ## $a1 = 80AA0000
-/* 00A80 80A9CFD0 24A5D8F8 */ addiu $a1, $a1, %lo(D_80A9D8F8) ## $a1 = 80A9D8F8
-/* 00A84 80A9CFD4 8FA40044 */ lw $a0, 0x0044($sp)
-/* 00A88 80A9CFD8 0C00D3B0 */ jal func_80034EC0
-/* 00A8C 80A9CFDC 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
-/* 00A90 80A9CFE0 3C028016 */ lui $v0, %hi(gSaveContext)
-/* 00A94 80A9CFE4 2442E660 */ addiu $v0, %lo(gSaveContext)
-/* 00A98 80A9CFE8 94480EDA */ lhu $t0, 0x0EDA($v0) ## 8015F53A
-/* 00A9C 80A9CFEC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
-/* 00AA0 80A9CFF0 31090008 */ andi $t1, $t0, 0x0008 ## $t1 = 00000000
-/* 00AA4 80A9CFF4 51200006 */ beql $t1, $zero, .L80A9D010
-/* 00AA8 80A9CFF8 8C4A0004 */ lw $t2, 0x0004($v0) ## 8015E664
-/* 00AAC 80A9CFFC 0C2A7391 */ jal func_80A9CE44
-/* 00AB0 80A9D000 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
-/* 00AB4 80A9D004 3C028016 */ lui $v0, %hi(gSaveContext)
-/* 00AB8 80A9D008 2442E660 */ addiu $v0, %lo(gSaveContext)
-/* 00ABC 80A9D00C 8C4A0004 */ lw $t2, 0x0004($v0) ## 8015E664
-.L80A9D010:
-/* 00AC0 80A9D010 3C0F80AA */ lui $t7, %hi(func_80A9D0C0) ## $t7 = 80AA0000
-/* 00AC4 80A9D014 25EFD0C0 */ addiu $t7, $t7, %lo(func_80A9D0C0) ## $t7 = 80A9D0C0
-/* 00AC8 80A9D018 5540001A */ bnel $t2, $zero, .L80A9D084
-/* 00ACC 80A9D01C AE0F0190 */ sw $t7, 0x0190($s0) ## 00000190
-/* 00AD0 80A9D020 944B0F1E */ lhu $t3, 0x0F1E($v0) ## 8015F57E
-/* 00AD4 80A9D024 26241C24 */ addiu $a0, $s1, 0x1C24 ## $a0 = 00001C24
-/* 00AD8 80A9D028 316C0100 */ andi $t4, $t3, 0x0100 ## $t4 = 00000000
-/* 00ADC 80A9D02C 15800010 */ bne $t4, $zero, .L80A9D070
-/* 00AE0 80A9D030 00000000 */ nop
-/* 00AE4 80A9D034 C6040024 */ lwc1 $f4, 0x0024($s0) ## 00000024
-/* 00AE8 80A9D038 240D04FF */ addiu $t5, $zero, 0x04FF ## $t5 = 000004FF
-/* 00AEC 80A9D03C 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
-/* 00AF0 80A9D040 E7A40010 */ swc1 $f4, 0x0010($sp)
-/* 00AF4 80A9D044 C6060028 */ lwc1 $f6, 0x0028($s0) ## 00000028
-/* 00AF8 80A9D048 02203025 */ or $a2, $s1, $zero ## $a2 = 00000000
-/* 00AFC 80A9D04C 240700EF */ addiu $a3, $zero, 0x00EF ## $a3 = 000000EF
-/* 00B00 80A9D050 E7A60014 */ swc1 $f6, 0x0014($sp)
-/* 00B04 80A9D054 C608002C */ lwc1 $f8, 0x002C($s0) ## 0000002C
-/* 00B08 80A9D058 AFAD0028 */ sw $t5, 0x0028($sp)
-/* 00B0C 80A9D05C AFA00024 */ sw $zero, 0x0024($sp)
-/* 00B10 80A9D060 AFA00020 */ sw $zero, 0x0020($sp)
-/* 00B14 80A9D064 AFA0001C */ sw $zero, 0x001C($sp)
-/* 00B18 80A9D068 0C00C916 */ jal Actor_SpawnAttached
-
-/* 00B1C 80A9D06C E7A80018 */ swc1 $f8, 0x0018($sp)
-.L80A9D070:
-/* 00B20 80A9D070 3C0E80AA */ lui $t6, %hi(func_80A9D42C) ## $t6 = 80AA0000
-/* 00B24 80A9D074 25CED42C */ addiu $t6, $t6, %lo(func_80A9D42C) ## $t6 = 80A9D42C
-/* 00B28 80A9D078 10000002 */ beq $zero, $zero, .L80A9D084
-/* 00B2C 80A9D07C AE0E0190 */ sw $t6, 0x0190($s0) ## 00000190
-/* 00B30 80A9D080 AE0F0190 */ sw $t7, 0x0190($s0) ## 00000190
-.L80A9D084:
-/* 00B34 80A9D084 8FBF003C */ lw $ra, 0x003C($sp)
-/* 00B38 80A9D088 8FB00034 */ lw $s0, 0x0034($sp)
-/* 00B3C 80A9D08C 8FB10038 */ lw $s1, 0x0038($sp)
-/* 00B40 80A9D090 03E00008 */ jr $ra
-/* 00B44 80A9D094 27BD0050 */ addiu $sp, $sp, 0x0050 ## $sp = 00000000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Kz/EnKz_Update.s b/asm/non_matchings/overlays/actors/ovl_En_Kz/EnKz_Update.s
deleted file mode 100644
index d7093f075..000000000
--- a/asm/non_matchings/overlays/actors/ovl_En_Kz/EnKz_Update.s
+++ /dev/null
@@ -1,54 +0,0 @@
-glabel EnKz_Update
-/* 01064 80A9D5B4 3C038016 */ lui $v1, %hi(gSaveContext)
-/* 01068 80A9D5B8 2463E660 */ addiu $v1, %lo(gSaveContext)
-/* 0106C 80A9D5BC 8C6E0004 */ lw $t6, 0x0004($v1) ## 8015E664
-/* 01070 80A9D5C0 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
-/* 01074 80A9D5C4 AFB00018 */ sw $s0, 0x0018($sp)
-/* 01078 80A9D5C8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
-/* 0107C 80A9D5CC AFBF001C */ sw $ra, 0x001C($sp)
-/* 01080 80A9D5D0 15C00006 */ bne $t6, $zero, .L80A9D5EC
-/* 01084 80A9D5D4 AFA50034 */ sw $a1, 0x0034($sp)
-/* 01088 80A9D5D8 94620F1E */ lhu $v0, 0x0F1E($v1) ## 8015F57E
-/* 0108C 80A9D5DC 304F0100 */ andi $t7, $v0, 0x0100 ## $t7 = 00000000
-/* 01090 80A9D5E0 15E00002 */ bne $t7, $zero, .L80A9D5EC
-/* 01094 80A9D5E4 34580100 */ ori $t8, $v0, 0x0100 ## $t8 = 00000100
-/* 01098 80A9D5E8 A4780F1E */ sh $t8, 0x0F1E($v1) ## 8015F57E
-.L80A9D5EC:
-/* 0109C 80A9D5EC 26060194 */ addiu $a2, $s0, 0x0194 ## $a2 = 00000194
-/* 010A0 80A9D5F0 00C02825 */ or $a1, $a2, $zero ## $a1 = 00000194
-/* 010A4 80A9D5F4 AFA60024 */ sw $a2, 0x0024($sp)
-/* 010A8 80A9D5F8 0C0189B7 */ jal Collider_CylinderUpdate
-
-/* 010AC 80A9D5FC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
-/* 010B0 80A9D600 8FA40034 */ lw $a0, 0x0034($sp)
-/* 010B4 80A9D604 3C010001 */ lui $at, 0x0001 ## $at = 00010000
-/* 010B8 80A9D608 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
-/* 010BC 80A9D60C 8FA60024 */ lw $a2, 0x0024($sp)
-/* 010C0 80A9D610 0C017713 */ jal CollisionCheck_SetOC
- ## CollisionCheck_setOT
-/* 010C4 80A9D614 00812821 */ addu $a1, $a0, $at
-/* 010C8 80A9D618 0C02927F */ jal SkelAnime_FrameUpdateMatrix
-
-/* 010CC 80A9D61C 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
-/* 010D0 80A9D620 0C2A7239 */ jal func_80A9C8E4
-/* 010D4 80A9D624 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
-/* 010D8 80A9D628 0C00B638 */ jal Actor_MoveForward
-
-/* 010DC 80A9D62C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
-/* 010E0 80A9D630 8E020190 */ lw $v0, 0x0190($s0) ## 00000190
-/* 010E4 80A9D634 3C1980AA */ lui $t9, %hi(func_80A9D520) ## $t9 = 80AA0000
-/* 010E8 80A9D638 2739D520 */ addiu $t9, $t9, %lo(func_80A9D520) ## $t9 = 80A9D520
-/* 010EC 80A9D63C 13220004 */ beq $t9, $v0, .L80A9D650
-/* 010F0 80A9D640 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
-/* 010F4 80A9D644 0C2A72C6 */ jal func_80A9CB18
-/* 010F8 80A9D648 8FA50034 */ lw $a1, 0x0034($sp)
-/* 010FC 80A9D64C 8E020190 */ lw $v0, 0x0190($s0) ## 00000190
-.L80A9D650:
-/* 01100 80A9D650 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
-/* 01104 80A9D654 0040F809 */ jalr $ra, $v0
-/* 01108 80A9D658 8FA50034 */ lw $a1, 0x0034($sp)
-/* 0110C 80A9D65C 8FBF001C */ lw $ra, 0x001C($sp)
-/* 01110 80A9D660 8FB00018 */ lw $s0, 0x0018($sp)
-/* 01114 80A9D664 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
-/* 01118 80A9D668 03E00008 */ jr $ra
-/* 0111C 80A9D66C 00000000 */ nop
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9C550.s b/asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9C550.s
deleted file mode 100644
index 8b030e98e..000000000
--- a/asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9C550.s
+++ /dev/null
@@ -1,28 +0,0 @@
-glabel func_80A9C550
-/* 00000 80A9C550 3C028016 */ lui $v0, %hi(gSaveContext)
-/* 00004 80A9C554 2442E660 */ addiu $v0, %lo(gSaveContext)
-/* 00008 80A9C558 3C0E8012 */ lui $t6, %hi(gBitFlags+0x50)
-/* 0000C 80A9C55C 8DCE7170 */ lw $t6, %lo(gBitFlags+0x50)($t6)
-/* 00010 80A9C560 8C4F00A4 */ lw $t7, 0x00A4($v0) ## 8015E704
-/* 00014 80A9C564 AFA50004 */ sw $a1, 0x0004($sp)
-/* 00018 80A9C568 8C831C44 */ lw $v1, 0x1C44($a0) ## 00001C44
-/* 0001C 80A9C56C 01CFC024 */ and $t8, $t6, $t7
-/* 00020 80A9C570 53000004 */ beql $t8, $zero, .L80A9C584
-/* 00024 80A9C574 94590EDA */ lhu $t9, 0x0EDA($v0) ## 8015F53A
-/* 00028 80A9C578 03E00008 */ jr $ra
-/* 0002C 80A9C57C 2402402B */ addiu $v0, $zero, 0x402B ## $v0 = 0000402B
-.L80A9C580:
-/* 00030 80A9C580 94590EDA */ lhu $t9, 0x0EDA($v0) ## 00004F05
-.L80A9C584:
-/* 00034 80A9C584 2409001D */ addiu $t1, $zero, 0x001D ## $t1 = 0000001D
-/* 00038 80A9C588 2402401A */ addiu $v0, $zero, 0x401A ## $v0 = 0000401A
-/* 0003C 80A9C58C 33280008 */ andi $t0, $t9, 0x0008 ## $t0 = 00000000
-/* 00040 80A9C590 51000004 */ beql $t0, $zero, .L80A9C5A4
-/* 00044 80A9C594 A0690693 */ sb $t1, 0x0693($v1) ## 00000693
-/* 00048 80A9C598 03E00008 */ jr $ra
-/* 0004C 80A9C59C 2402401C */ addiu $v0, $zero, 0x401C ## $v0 = 0000401C
-.L80A9C5A0:
-/* 00050 80A9C5A0 A0690693 */ sb $t1, 0x0693($v1) ## 00000693
-.L80A9C5A4:
-/* 00054 80A9C5A4 03E00008 */ jr $ra
-/* 00058 80A9C5A8 00000000 */ nop
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9C5AC.s b/asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9C5AC.s
deleted file mode 100644
index 0527636c0..000000000
--- a/asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9C5AC.s
+++ /dev/null
@@ -1,48 +0,0 @@
-glabel func_80A9C5AC
-/* 0005C 80A9C5AC 3C0E8012 */ lui $t6, %hi(gItemSlots+0x2d)
-/* 00060 80A9C5B0 91CE7491 */ lbu $t6, %lo(gItemSlots+0x2d)($t6)
-/* 00064 80A9C5B4 3C028016 */ lui $v0, %hi(gSaveContext)
-/* 00068 80A9C5B8 2442E660 */ addiu $v0, %lo(gSaveContext)
-/* 0006C 80A9C5BC 004E7821 */ addu $t7, $v0, $t6
-/* 00070 80A9C5C0 91F80074 */ lbu $t8, 0x0074($t7) ## 00000074
-/* 00074 80A9C5C4 AFA50004 */ sw $a1, 0x0004($sp)
-/* 00078 80A9C5C8 8C831C44 */ lw $v1, 0x1C44($a0) ## 00001C44
-/* 0007C 80A9C5CC 2B010035 */ slti $at, $t8, 0x0035
-/* 00080 80A9C5D0 1420001D */ bne $at, $zero, .L80A9C648
-/* 00084 80A9C5D4 2419000C */ addiu $t9, $zero, 0x000C ## $t9 = 0000000C
-/* 00088 80A9C5D8 94590F1E */ lhu $t9, 0x0F1E($v0) ## 8015F57E
-/* 0008C 80A9C5DC 3C098012 */ lui $t1, %hi(gBitFlags+8)
-/* 00090 80A9C5E0 3C0A8012 */ lui $t2, %hi(gEquipShifts+2)
-/* 00094 80A9C5E4 33280200 */ andi $t0, $t9, 0x0200 ## $t0 = 00000000
-/* 00098 80A9C5E8 1500000C */ bne $t0, $zero, .L80A9C61C
-/* 0009C 80A9C5EC 3C0E8012 */ lui $t6, %hi(gBitFlags+0x20)
-/* 000A0 80A9C5F0 8D297128 */ lw $t1, %lo(gBitFlags+8)($t1)
-/* 000A4 80A9C5F4 914A71F2 */ lbu $t2, %lo(gEquipShifts+2)($t2)
-/* 000A8 80A9C5F8 944C009C */ lhu $t4, 0x009C($v0) ## 8015E6FC
-/* 000AC 80A9C5FC 01495804 */ sllv $t3, $t1, $t2
-/* 000B0 80A9C600 016C6824 */ and $t5, $t3, $t4
-/* 000B4 80A9C604 11A00003 */ beq $t5, $zero, .L80A9C614
-/* 000B8 80A9C608 00000000 */ nop
-/* 000BC 80A9C60C 03E00008 */ jr $ra
-/* 000C0 80A9C610 2402401F */ addiu $v0, $zero, 0x401F ## $v0 = 0000401F
-.L80A9C614:
-/* 000C4 80A9C614 03E00008 */ jr $ra
-/* 000C8 80A9C618 24024012 */ addiu $v0, $zero, 0x4012 ## $v0 = 00004012
-.L80A9C61C:
-/* 000CC 80A9C61C 8DCE7140 */ lw $t6, %lo(gBitFlags+0x20)($t6)
-/* 000D0 80A9C620 8C4F00A4 */ lw $t7, 0x00A4($v0) ## 000040B6
-/* 000D4 80A9C624 2403401A */ addiu $v1, $zero, 0x401A ## $v1 = 0000401A
-/* 000D8 80A9C628 01CFC024 */ and $t8, $t6, $t7
-/* 000DC 80A9C62C 13000004 */ beq $t8, $zero, .L80A9C640
-/* 000E0 80A9C630 00000000 */ nop
-/* 000E4 80A9C634 24034045 */ addiu $v1, $zero, 0x4045 ## $v1 = 00004045
-/* 000E8 80A9C638 03E00008 */ jr $ra
-/* 000EC 80A9C63C 3062FFFF */ andi $v0, $v1, 0xFFFF ## $v0 = 00004045
-.L80A9C640:
-/* 000F0 80A9C640 03E00008 */ jr $ra
-/* 000F4 80A9C644 3062FFFF */ andi $v0, $v1, 0xFFFF ## $v0 = 00004045
-.L80A9C648:
-/* 000F8 80A9C648 A0790693 */ sb $t9, 0x0693($v1) ## 000046D8
-/* 000FC 80A9C64C 24024012 */ addiu $v0, $zero, 0x4012 ## $v0 = 00004012
-/* 00100 80A9C650 03E00008 */ jr $ra
-/* 00104 80A9C654 00000000 */ nop
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9C658.s b/asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9C658.s
deleted file mode 100644
index 02ac0b6ce..000000000
--- a/asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9C658.s
+++ /dev/null
@@ -1,31 +0,0 @@
-glabel func_80A9C658
-/* 00108 80A9C658 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
-/* 0010C 80A9C65C AFBF0014 */ sw $ra, 0x0014($sp)
-/* 00110 80A9C660 AFA5001C */ sw $a1, 0x001C($sp)
-/* 00114 80A9C664 2405001E */ addiu $a1, $zero, 0x001E ## $a1 = 0000001E
-/* 00118 80A9C668 0C01B0D8 */ jal Text_GetFaceReaction
-/* 0011C 80A9C66C AFA40018 */ sw $a0, 0x0018($sp)
-/* 00120 80A9C670 8FA40018 */ lw $a0, 0x0018($sp)
-/* 00124 80A9C674 8FA5001C */ lw $a1, 0x001C($sp)
-/* 00128 80A9C678 10400003 */ beq $v0, $zero, .L80A9C688
-/* 0012C 80A9C67C 3043FFFF */ andi $v1, $v0, 0xFFFF ## $v1 = 00000000
-/* 00130 80A9C680 1000000B */ beq $zero, $zero, .L80A9C6B0
-/* 00134 80A9C684 00601025 */ or $v0, $v1, $zero ## $v0 = 00000000
-.L80A9C688:
-/* 00138 80A9C688 3C0E8016 */ lui $t6, %hi(gSaveContext+4)
-/* 0013C 80A9C68C 8DCEE664 */ lw $t6, %lo(gSaveContext+4)($t6)
-/* 00140 80A9C690 15C00005 */ bne $t6, $zero, .L80A9C6A8
-/* 00144 80A9C694 00000000 */ nop
-/* 00148 80A9C698 0C2A716B */ jal func_80A9C5AC
-/* 0014C 80A9C69C 00000000 */ nop
-/* 00150 80A9C6A0 10000004 */ beq $zero, $zero, .L80A9C6B4
-/* 00154 80A9C6A4 8FBF0014 */ lw $ra, 0x0014($sp)
-.L80A9C6A8:
-/* 00158 80A9C6A8 0C2A7154 */ jal func_80A9C550
-/* 0015C 80A9C6AC 00000000 */ nop
-.L80A9C6B0:
-/* 00160 80A9C6B0 8FBF0014 */ lw $ra, 0x0014($sp)
-.L80A9C6B4:
-/* 00164 80A9C6B4 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
-/* 00168 80A9C6B8 03E00008 */ jr $ra
-/* 0016C 80A9C6BC 00000000 */ nop
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9C6C0.s b/asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9C6C0.s
deleted file mode 100644
index 8df6cb798..000000000
--- a/asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9C6C0.s
+++ /dev/null
@@ -1,167 +0,0 @@
-.late_rodata
-glabel jtbl_80A9D990
-.word L80A9C8D0
-.word L80A9C8D0
-.word L80A9C8D0
-.word L80A9C794
-.word L80A9C844
-.word L80A9C8B8
-.word L80A9C710
-.word L80A9C8D0
-.word L80A9C8D0
-.word L80A9C8D0
-
-.text
-glabel func_80A9C6C0
-/* 00170 80A9C6C0 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
-/* 00174 80A9C6C4 AFBF001C */ sw $ra, 0x001C($sp)
-/* 00178 80A9C6C8 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
-/* 0017C 80A9C6CC 24080001 */ addiu $t0, $zero, 0x0001 ## $t0 = 00000001
-/* 00180 80A9C6D0 AFA5002C */ sw $a1, 0x002C($sp)
-/* 00184 80A9C6D4 A7A80022 */ sh $t0, 0x0022($sp)
-/* 00188 80A9C6D8 AFA60028 */ sw $a2, 0x0028($sp)
-/* 0018C 80A9C6DC 0C042F6F */ jal func_8010BDBC
-/* 00190 80A9C6E0 248420D8 */ addiu $a0, $a0, 0x20D8 ## $a0 = 000020D8
-/* 00194 80A9C6E4 2C41000A */ sltiu $at, $v0, 0x000A
-/* 00198 80A9C6E8 8FA3002C */ lw $v1, 0x002C($sp)
-/* 0019C 80A9C6EC 8FA60028 */ lw $a2, 0x0028($sp)
-/* 001A0 80A9C6F0 10200077 */ beq $at, $zero, .L80A9C8D0
-/* 001A4 80A9C6F4 87A80022 */ lh $t0, 0x0022($sp)
-/* 001A8 80A9C6F8 00027080 */ sll $t6, $v0, 2
-/* 001AC 80A9C6FC 3C0180AA */ lui $at, %hi(jtbl_80A9D990) ## $at = 80AA0000
-/* 001B0 80A9C700 002E0821 */ addu $at, $at, $t6
-/* 001B4 80A9C704 8C2ED990 */ lw $t6, %lo(jtbl_80A9D990)($at)
-/* 001B8 80A9C708 01C00008 */ jr $t6
-/* 001BC 80A9C70C 00000000 */ nop
-glabel L80A9C710
-/* 001C0 80A9C710 8FAF002C */ lw $t7, 0x002C($sp)
-/* 001C4 80A9C714 24014012 */ addiu $at, $zero, 0x4012 ## $at = 00004012
-/* 001C8 80A9C718 00004025 */ or $t0, $zero, $zero ## $t0 = 00000000
-/* 001CC 80A9C71C 95E2010E */ lhu $v0, 0x010E($t7) ## 0000010E
-/* 001D0 80A9C720 10410007 */ beq $v0, $at, .L80A9C740
-/* 001D4 80A9C724 2401401B */ addiu $at, $zero, 0x401B ## $at = 0000401B
-/* 001D8 80A9C728 1041000C */ beq $v0, $at, .L80A9C75C
-/* 001DC 80A9C72C 2401401F */ addiu $at, $zero, 0x401F ## $at = 0000401F
-/* 001E0 80A9C730 10410012 */ beq $v0, $at, .L80A9C77C
-/* 001E4 80A9C734 00000000 */ nop
-/* 001E8 80A9C738 10000066 */ beq $zero, $zero, .L80A9C8D4
-/* 001EC 80A9C73C 8FBF001C */ lw $ra, 0x001C($sp)
-.L80A9C740:
-/* 001F0 80A9C740 3C028016 */ lui $v0, %hi(gSaveContext)
-/* 001F4 80A9C744 2442E660 */ addiu $v0, %lo(gSaveContext)
-/* 001F8 80A9C748 94580F1E */ lhu $t8, 0x0F1E($v0) ## 8015F57E
-/* 001FC 80A9C74C 24080002 */ addiu $t0, $zero, 0x0002 ## $t0 = 00000002
-/* 00200 80A9C750 37190200 */ ori $t9, $t8, 0x0200 ## $t9 = 00000200
-/* 00204 80A9C754 1000005E */ beq $zero, $zero, .L80A9C8D0
-/* 00208 80A9C758 A4590F1E */ sh $t9, 0x0F1E($v0) ## 8015F57E
-.L80A9C75C:
-/* 0020C 80A9C75C 0C041AF2 */ jal func_80106BC8
-/* 00210 80A9C760 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
-/* 00214 80A9C764 14400003 */ bne $v0, $zero, .L80A9C774
-/* 00218 80A9C768 00000000 */ nop
-/* 0021C 80A9C76C 10000058 */ beq $zero, $zero, .L80A9C8D0
-/* 00220 80A9C770 24080001 */ addiu $t0, $zero, 0x0001 ## $t0 = 00000001
-.L80A9C774:
-/* 00224 80A9C774 10000056 */ beq $zero, $zero, .L80A9C8D0
-/* 00228 80A9C778 24080002 */ addiu $t0, $zero, 0x0002 ## $t0 = 00000002
-.L80A9C77C:
-/* 0022C 80A9C77C 3C028016 */ lui $v0, %hi(gSaveContext)
-/* 00230 80A9C780 2442E660 */ addiu $v0, %lo(gSaveContext)
-/* 00234 80A9C784 94490F1E */ lhu $t1, 0x0F1E($v0) ## 8015F57E
-/* 00238 80A9C788 352A0200 */ ori $t2, $t1, 0x0200 ## $t2 = 00000200
-/* 0023C 80A9C78C 10000050 */ beq $zero, $zero, .L80A9C8D0
-/* 00240 80A9C790 A44A0F1E */ sh $t2, 0x0F1E($v0) ## 8015F57E
-glabel L80A9C794
-/* 00244 80A9C794 9462010E */ lhu $v0, 0x010E($v1) ## 0000010E
-/* 00248 80A9C798 24014014 */ addiu $at, $zero, 0x4014 ## $at = 00004014
-/* 0024C 80A9C79C 10410016 */ beq $v0, $at, .L80A9C7F8
-/* 00250 80A9C7A0 2401401B */ addiu $at, $zero, 0x401B ## $at = 0000401B
-/* 00254 80A9C7A4 5441004B */ bnel $v0, $at, .L80A9C8D4
-/* 00258 80A9C7A8 8FBF001C */ lw $ra, 0x001C($sp)
-/* 0025C 80A9C7AC 906B0208 */ lbu $t3, 0x0208($v1) ## 00000208
-/* 00260 80A9C7B0 3C078013 */ lui $a3, %hi(D_801333E0)
-/* 00264 80A9C7B4 24E733E0 */ addiu $a3, %lo(D_801333E0)
-/* 00268 80A9C7B8 15600045 */ bne $t3, $zero, .L80A9C8D0
-/* 0026C 80A9C7BC 24044802 */ addiu $a0, $zero, 0x4802 ## $a0 = 00004802
-/* 00270 80A9C7C0 3C0C8013 */ lui $t4, %hi(D_801333E8)
-/* 00274 80A9C7C4 258C33E8 */ addiu $t4, %lo(D_801333E8)
-/* 00278 80A9C7C8 3C058013 */ lui $a1, %hi(D_801333D4)
-/* 0027C 80A9C7CC 24A533D4 */ addiu $a1, %lo(D_801333D4)
-/* 00280 80A9C7D0 AFAC0014 */ sw $t4, 0x0014($sp)
-/* 00284 80A9C7D4 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004
-/* 00288 80A9C7D8 AFA70010 */ sw $a3, 0x0010($sp)
-/* 0028C 80A9C7DC 0C03DCE3 */ jal Audio_PlaySoundGeneral
-
-/* 00290 80A9C7E0 A7A80022 */ sh $t0, 0x0022($sp)
-/* 00294 80A9C7E4 8FA3002C */ lw $v1, 0x002C($sp)
-/* 00298 80A9C7E8 87A80022 */ lh $t0, 0x0022($sp)
-/* 0029C 80A9C7EC 240D0001 */ addiu $t5, $zero, 0x0001 ## $t5 = 00000001
-/* 002A0 80A9C7F0 10000037 */ beq $zero, $zero, .L80A9C8D0
-/* 002A4 80A9C7F4 A06D0208 */ sb $t5, 0x0208($v1) ## 00000208
-.L80A9C7F8:
-/* 002A8 80A9C7F8 906E0208 */ lbu $t6, 0x0208($v1) ## 00000208
-/* 002AC 80A9C7FC 3C078013 */ lui $a3, %hi(D_801333E0)
-/* 002B0 80A9C800 24E733E0 */ addiu $a3, %lo(D_801333E0)
-/* 002B4 80A9C804 15C00032 */ bne $t6, $zero, .L80A9C8D0
-/* 002B8 80A9C808 24044807 */ addiu $a0, $zero, 0x4807 ## $a0 = 00004807
-/* 002BC 80A9C80C 3C0F8013 */ lui $t7, %hi(D_801333E8)
-/* 002C0 80A9C810 25EF33E8 */ addiu $t7, %lo(D_801333E8)
-/* 002C4 80A9C814 3C058013 */ lui $a1, %hi(D_801333D4)
-/* 002C8 80A9C818 24A533D4 */ addiu $a1, %lo(D_801333D4)
-/* 002CC 80A9C81C AFAF0014 */ sw $t7, 0x0014($sp)
-/* 002D0 80A9C820 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004
-/* 002D4 80A9C824 AFA70010 */ sw $a3, 0x0010($sp)
-/* 002D8 80A9C828 0C03DCE3 */ jal Audio_PlaySoundGeneral
-
-/* 002DC 80A9C82C A7A80022 */ sh $t0, 0x0022($sp)
-/* 002E0 80A9C830 8FA3002C */ lw $v1, 0x002C($sp)
-/* 002E4 80A9C834 87A80022 */ lh $t0, 0x0022($sp)
-/* 002E8 80A9C838 24180001 */ addiu $t8, $zero, 0x0001 ## $t8 = 00000001
-/* 002EC 80A9C83C 10000024 */ beq $zero, $zero, .L80A9C8D0
-/* 002F0 80A9C840 A0780208 */ sb $t8, 0x0208($v1) ## 00000208
-glabel L80A9C844
-/* 002F4 80A9C844 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
-/* 002F8 80A9C848 AFA60028 */ sw $a2, 0x0028($sp)
-/* 002FC 80A9C84C 0C041AF2 */ jal func_80106BC8
-/* 00300 80A9C850 A7A80022 */ sh $t0, 0x0022($sp)
-/* 00304 80A9C854 8FA60028 */ lw $a2, 0x0028($sp)
-/* 00308 80A9C858 1040001D */ beq $v0, $zero, .L80A9C8D0
-/* 0030C 80A9C85C 87A80022 */ lh $t0, 0x0022($sp)
-/* 00310 80A9C860 8FA7002C */ lw $a3, 0x002C($sp)
-/* 00314 80A9C864 24014014 */ addiu $at, $zero, 0x4014 ## $at = 00004014
-/* 00318 80A9C868 3C090001 */ lui $t1, 0x0001 ## $t1 = 00010000
-/* 0031C 80A9C86C 94F9010E */ lhu $t9, 0x010E($a3) ## 0000010E
-/* 00320 80A9C870 01264821 */ addu $t1, $t1, $a2
-/* 00324 80A9C874 57210017 */ bnel $t9, $at, .L80A9C8D4
-/* 00328 80A9C878 8FBF001C */ lw $ra, 0x001C($sp)
-/* 0032C 80A9C87C 912904BD */ lbu $t1, 0x04BD($t1) ## 000104BD
-/* 00330 80A9C880 240A4016 */ addiu $t2, $zero, 0x4016 ## $t2 = 00004016
-/* 00334 80A9C884 3145FFFF */ andi $a1, $t2, 0xFFFF ## $a1 = 00004016
-/* 00338 80A9C888 15200006 */ bne $t1, $zero, .L80A9C8A4
-/* 0033C 80A9C88C 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
-/* 00340 80A9C890 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000
-/* 00344 80A9C894 0C2A7524 */ jal func_80A9D490
-/* 00348 80A9C898 00C02825 */ or $a1, $a2, $zero ## $a1 = 00000000
-/* 0034C 80A9C89C 1000000C */ beq $zero, $zero, .L80A9C8D0
-/* 00350 80A9C8A0 24080002 */ addiu $t0, $zero, 0x0002 ## $t0 = 00000002
-.L80A9C8A4:
-/* 00354 80A9C8A4 A4EA010E */ sh $t2, 0x010E($a3) ## 0000010E
-/* 00358 80A9C8A8 0C042DC8 */ jal func_8010B720
-/* 0035C 80A9C8AC A7A80022 */ sh $t0, 0x0022($sp)
-/* 00360 80A9C8B0 10000007 */ beq $zero, $zero, .L80A9C8D0
-/* 00364 80A9C8B4 87A80022 */ lh $t0, 0x0022($sp)
-glabel L80A9C8B8
-/* 00368 80A9C8B8 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
-/* 0036C 80A9C8BC 0C041AF2 */ jal func_80106BC8
-/* 00370 80A9C8C0 A7A80022 */ sh $t0, 0x0022($sp)
-/* 00374 80A9C8C4 10400002 */ beq $v0, $zero, .L80A9C8D0
-/* 00378 80A9C8C8 87A80022 */ lh $t0, 0x0022($sp)
-/* 0037C 80A9C8CC 24080002 */ addiu $t0, $zero, 0x0002 ## $t0 = 00000002
-glabel L80A9C8D0
-.L80A9C8D0:
-/* 00380 80A9C8D0 8FBF001C */ lw $ra, 0x001C($sp)
-.L80A9C8D4:
-/* 00384 80A9C8D4 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
-/* 00388 80A9C8D8 01001025 */ or $v0, $t0, $zero ## $v0 = 00000002
-/* 0038C 80A9C8DC 03E00008 */ jr $ra
-/* 00390 80A9C8E0 00000000 */ nop
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9C8E4.s b/asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9C8E4.s
deleted file mode 100644
index de5d968ca..000000000
--- a/asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9C8E4.s
+++ /dev/null
@@ -1,35 +0,0 @@
-glabel func_80A9C8E4
-/* 00394 80A9C8E4 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
-/* 00398 80A9C8E8 AFBF0014 */ sw $ra, 0x0014($sp)
-/* 0039C 80A9C8EC 8482020C */ lh $v0, 0x020C($a0) ## 0000020C
-/* 003A0 80A9C8F0 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
-/* 003A4 80A9C8F4 14400003 */ bne $v0, $zero, .L80A9C904
-/* 003A8 80A9C8F8 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
-/* 003AC 80A9C8FC 10000003 */ beq $zero, $zero, .L80A9C90C
-/* 003B0 80A9C900 00001825 */ or $v1, $zero, $zero ## $v1 = 00000000
-.L80A9C904:
-/* 003B4 80A9C904 A4CE020C */ sh $t6, 0x020C($a2) ## 0000020C
-/* 003B8 80A9C908 84C3020C */ lh $v1, 0x020C($a2) ## 0000020C
-.L80A9C90C:
-/* 003BC 80A9C90C 54600010 */ bnel $v1, $zero, .L80A9C950
-/* 003C0 80A9C910 8FBF0014 */ lw $ra, 0x0014($sp)
-/* 003C4 80A9C914 84CF0210 */ lh $t7, 0x0210($a2) ## 00000210
-/* 003C8 80A9C918 2404001E */ addiu $a0, $zero, 0x001E ## $a0 = 0000001E
-/* 003CC 80A9C91C 2405001E */ addiu $a1, $zero, 0x001E ## $a1 = 0000001E
-/* 003D0 80A9C920 25F80001 */ addiu $t8, $t7, 0x0001 ## $t8 = 00000001
-/* 003D4 80A9C924 A4D80210 */ sh $t8, 0x0210($a2) ## 00000210
-/* 003D8 80A9C928 84D90210 */ lh $t9, 0x0210($a2) ## 00000210
-/* 003DC 80A9C92C 2B210003 */ slti $at, $t9, 0x0003
-/* 003E0 80A9C930 54200007 */ bnel $at, $zero, .L80A9C950
-/* 003E4 80A9C934 8FBF0014 */ lw $ra, 0x0014($sp)
-/* 003E8 80A9C938 0C01DF64 */ jal Math_Rand_S16Offset
-
-/* 003EC 80A9C93C AFA60018 */ sw $a2, 0x0018($sp)
-/* 003F0 80A9C940 8FA60018 */ lw $a2, 0x0018($sp)
-/* 003F4 80A9C944 A4C2020C */ sh $v0, 0x020C($a2) ## 0000020C
-/* 003F8 80A9C948 A4C00210 */ sh $zero, 0x0210($a2) ## 00000210
-/* 003FC 80A9C94C 8FBF0014 */ lw $ra, 0x0014($sp)
-.L80A9C950:
-/* 00400 80A9C950 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
-/* 00404 80A9C954 03E00008 */ jr $ra
-/* 00408 80A9C958 00000000 */ nop
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9C95C.s b/asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9C95C.s
deleted file mode 100644
index 286d93bdc..000000000
--- a/asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9C95C.s
+++ /dev/null
@@ -1,129 +0,0 @@
-.late_rodata
-glabel D_80A9D9B8
- .word 0x44CCC000
-glabel D_80A9D9BC
- .word 0x43848000
-
-.text
-glabel func_80A9C95C
-/* 0040C 80A9C95C 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
-/* 00410 80A9C960 AFB00018 */ sw $s0, 0x0018($sp)
-/* 00414 80A9C964 AFBF001C */ sw $ra, 0x001C($sp)
-/* 00418 80A9C968 AFA40038 */ sw $a0, 0x0038($sp)
-/* 0041C 80A9C96C AFA60040 */ sw $a2, 0x0040($sp)
-/* 00420 80A9C970 AFA70044 */ sw $a3, 0x0044($sp)
-/* 00424 80A9C974 8C8E1C44 */ lw $t6, 0x1C44($a0) ## 00001C44
-/* 00428 80A9C978 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000
-/* 0042C 80A9C97C 00802825 */ or $a1, $a0, $zero ## $a1 = 00000000
-/* 00430 80A9C980 AFA50038 */ sw $a1, 0x0038($sp)
-/* 00434 80A9C984 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
-/* 00438 80A9C988 0C00BC65 */ jal func_8002F194
-/* 0043C 80A9C98C AFAE0034 */ sw $t6, 0x0034($sp)
-/* 00440 80A9C990 10400005 */ beq $v0, $zero, .L80A9C9A8
-/* 00444 80A9C994 8FA30040 */ lw $v1, 0x0040($sp)
-/* 00448 80A9C998 240F0001 */ addiu $t7, $zero, 0x0001 ## $t7 = 00000001
-/* 0044C 80A9C99C A46F0000 */ sh $t7, 0x0000($v1) ## 00000000
-/* 00450 80A9C9A0 10000058 */ beq $zero, $zero, .L80A9CB04
-/* 00454 80A9C9A4 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
-.L80A9C9A8:
-/* 00458 80A9C9A8 84780000 */ lh $t8, 0x0000($v1) ## 00000000
-/* 0045C 80A9C9AC 8FA50034 */ lw $a1, 0x0034($sp)
-/* 00460 80A9C9B0 8FB9004C */ lw $t9, 0x004C($sp)
-/* 00464 80A9C9B4 13000008 */ beq $t8, $zero, .L80A9C9D8
-/* 00468 80A9C9B8 24A50024 */ addiu $a1, $a1, 0x0024 ## $a1 = 00000024
-/* 0046C 80A9C9BC 8FA40038 */ lw $a0, 0x0038($sp)
-/* 00470 80A9C9C0 0320F809 */ jalr $ra, $t9
-/* 00474 80A9C9C4 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
-/* 00478 80A9C9C8 8FA30040 */ lw $v1, 0x0040($sp)
-/* 0047C 80A9C9CC A4620000 */ sh $v0, 0x0000($v1) ## 00000000
-/* 00480 80A9C9D0 1000004C */ beq $zero, $zero, .L80A9CB04
-/* 00484 80A9C9D4 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
-.L80A9C9D8:
-/* 00488 80A9C9D8 26040008 */ addiu $a0, $s0, 0x0008 ## $a0 = 00000008
-/* 0048C 80A9C9DC AFA40024 */ sw $a0, 0x0024($sp)
-/* 00490 80A9C9E0 0C01E01A */ jal Math_Vec3f_Yaw
-
-/* 00494 80A9C9E4 AFA50020 */ sw $a1, 0x0020($sp)
-/* 00498 80A9C9E8 860800B6 */ lh $t0, 0x00B6($s0) ## 000000B6
-/* 0049C 80A9C9EC 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
-/* 004A0 80A9C9F0 3C0180AA */ lui $at, %hi(D_80A9D9B8) ## $at = 80AA0000
-/* 004A4 80A9C9F4 44884000 */ mtc1 $t0, $f8 ## $f8 = 0.00
-/* 004A8 80A9C9F8 468021A0 */ cvt.s.w $f6, $f4
-/* 004AC 80A9C9FC C430D9B8 */ lwc1 $f16, %lo(D_80A9D9B8)($at)
-/* 004B0 80A9CA00 3C0180AA */ lui $at, %hi(D_80A9D9BC) ## $at = 80AA0000
-/* 004B4 80A9CA04 468042A0 */ cvt.s.w $f10, $f8
-/* 004B8 80A9CA08 460A3081 */ sub.s $f2, $f6, $f10
-/* 004BC 80A9CA0C 46001005 */ abs.s $f0, $f2
-/* 004C0 80A9CA10 4600803C */ c.lt.s $f16, $f0
-/* 004C4 80A9CA14 00000000 */ nop
-/* 004C8 80A9CA18 45030009 */ bc1tl .L80A9CA40
-/* 004CC 80A9CA1C 8E090004 */ lw $t1, 0x0004($s0) ## 00000004
-/* 004D0 80A9CA20 C6120090 */ lwc1 $f18, 0x0090($s0) ## 00000090
-/* 004D4 80A9CA24 C424D9BC */ lwc1 $f4, %lo(D_80A9D9BC)($at)
-/* 004D8 80A9CA28 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
-/* 004DC 80A9CA2C 4604903C */ c.lt.s $f18, $f4
-/* 004E0 80A9CA30 00000000 */ nop
-/* 004E4 80A9CA34 45020008 */ bc1fl .L80A9CA58
-/* 004E8 80A9CA38 8E0B0004 */ lw $t3, 0x0004($s0) ## 00000004
-/* 004EC 80A9CA3C 8E090004 */ lw $t1, 0x0004($s0) ## 00000004
-.L80A9CA40:
-/* 004F0 80A9CA40 2401FFFE */ addiu $at, $zero, 0xFFFE ## $at = FFFFFFFE
-/* 004F4 80A9CA44 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
-/* 004F8 80A9CA48 01215024 */ and $t2, $t1, $at
-/* 004FC 80A9CA4C 1000002D */ beq $zero, $zero, .L80A9CB04
-/* 00500 80A9CA50 AE0A0004 */ sw $t2, 0x0004($s0) ## 00000004
-/* 00504 80A9CA54 8E0B0004 */ lw $t3, 0x0004($s0) ## 00000004
-.L80A9CA58:
-/* 00508 80A9CA58 27A60032 */ addiu $a2, $sp, 0x0032 ## $a2 = FFFFFFFA
-/* 0050C 80A9CA5C 27A70030 */ addiu $a3, $sp, 0x0030 ## $a3 = FFFFFFF8
-/* 00510 80A9CA60 356C0001 */ ori $t4, $t3, 0x0001 ## $t4 = 00000001
-/* 00514 80A9CA64 AE0C0004 */ sw $t4, 0x0004($s0) ## 00000004
-/* 00518 80A9CA68 0C00BCDD */ jal func_8002F374
-/* 0051C 80A9CA6C 8FA40038 */ lw $a0, 0x0038($sp)
-/* 00520 80A9CA70 87A20032 */ lh $v0, 0x0032($sp)
-/* 00524 80A9CA74 2841FFE2 */ slti $at, $v0, 0xFFE2
-/* 00528 80A9CA78 14200008 */ bne $at, $zero, .L80A9CA9C
-/* 0052C 80A9CA7C 28410169 */ slti $at, $v0, 0x0169
-/* 00530 80A9CA80 10200006 */ beq $at, $zero, .L80A9CA9C
-/* 00534 80A9CA84 87A20030 */ lh $v0, 0x0030($sp)
-/* 00538 80A9CA88 2841FFF6 */ slti $at, $v0, 0xFFF6
-/* 0053C 80A9CA8C 14200003 */ bne $at, $zero, .L80A9CA9C
-/* 00540 80A9CA90 284100F1 */ slti $at, $v0, 0x00F1
-/* 00544 80A9CA94 54200004 */ bnel $at, $zero, .L80A9CAA8
-/* 00548 80A9CA98 C6080090 */ lwc1 $f8, 0x0090($s0) ## 00000090
-.L80A9CA9C:
-/* 0054C 80A9CA9C 10000019 */ beq $zero, $zero, .L80A9CB04
-/* 00550 80A9CAA0 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
-/* 00554 80A9CAA4 C6080090 */ lwc1 $f8, 0x0090($s0) ## 00000090
-.L80A9CAA8:
-/* 00558 80A9CAA8 8FA40024 */ lw $a0, 0x0024($sp)
-/* 0055C 80A9CAAC 8FA50020 */ lw $a1, 0x0020($sp)
-/* 00560 80A9CAB0 0C01E00A */ jal Math_Vec3f_DistXZ
-
-/* 00564 80A9CAB4 E7A8002C */ swc1 $f8, 0x002C($sp)
-/* 00568 80A9CAB8 E6000090 */ swc1 $f0, 0x0090($s0) ## 00000090
-/* 0056C 80A9CABC 8FA60044 */ lw $a2, 0x0044($sp)
-/* 00570 80A9CAC0 8FA50038 */ lw $a1, 0x0038($sp)
-/* 00574 80A9CAC4 0C00BCB3 */ jal func_8002F2CC
-/* 00578 80A9CAC8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
-/* 0057C 80A9CACC 14400005 */ bne $v0, $zero, .L80A9CAE4
-/* 00580 80A9CAD0 C7AA002C */ lwc1 $f10, 0x002C($sp)
-/* 00584 80A9CAD4 C7A6002C */ lwc1 $f6, 0x002C($sp)
-/* 00588 80A9CAD8 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
-/* 0058C 80A9CADC 10000009 */ beq $zero, $zero, .L80A9CB04
-/* 00590 80A9CAE0 E6060090 */ swc1 $f6, 0x0090($s0) ## 00000090
-.L80A9CAE4:
-/* 00594 80A9CAE4 E60A0090 */ swc1 $f10, 0x0090($s0) ## 00000090
-/* 00598 80A9CAE8 8FB90048 */ lw $t9, 0x0048($sp)
-/* 0059C 80A9CAEC 8FA40038 */ lw $a0, 0x0038($sp)
-/* 005A0 80A9CAF0 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
-/* 005A4 80A9CAF4 0320F809 */ jalr $ra, $t9
-/* 005A8 80A9CAF8 00000000 */ nop
-/* 005AC 80A9CAFC A602010E */ sh $v0, 0x010E($s0) ## 0000010E
-/* 005B0 80A9CB00 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
-.L80A9CB04:
-/* 005B4 80A9CB04 8FBF001C */ lw $ra, 0x001C($sp)
-/* 005B8 80A9CB08 8FB00018 */ lw $s0, 0x0018($sp)
-/* 005BC 80A9CB0C 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000
-/* 005C0 80A9CB10 03E00008 */ jr $ra
-/* 005C4 80A9CB14 00000000 */ nop
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9CB18.s b/asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9CB18.s
deleted file mode 100644
index 49f5ef098..000000000
--- a/asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9CB18.s
+++ /dev/null
@@ -1,124 +0,0 @@
-glabel func_80A9CB18
-/* 005C8 80A9CB18 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
-/* 005CC 80A9CB1C AFA5002C */ sw $a1, 0x002C($sp)
-/* 005D0 80A9CB20 00802825 */ or $a1, $a0, $zero ## $a1 = 00000000
-/* 005D4 80A9CB24 AFA40028 */ sw $a0, 0x0028($sp)
-/* 005D8 80A9CB28 8FA4002C */ lw $a0, 0x002C($sp)
-/* 005DC 80A9CB2C AFBF001C */ sw $ra, 0x001C($sp)
-/* 005E0 80A9CB30 3C0F80AA */ lui $t7, %hi(func_80A9C658) ## $t7 = 80AA0000
-/* 005E4 80A9CB34 8C881C44 */ lw $t0, 0x1C44($a0) ## 00001C44
-/* 005E8 80A9CB38 3C1880AA */ lui $t8, %hi(func_80A9C6C0) ## $t8 = 80AA0000
-/* 005EC 80A9CB3C 2718C6C0 */ addiu $t8, $t8, %lo(func_80A9C6C0) ## $t8 = 80A9C6C0
-/* 005F0 80A9CB40 25EFC658 */ addiu $t7, $t7, %lo(func_80A9C658) ## $t7 = 80A9C658
-/* 005F4 80A9CB44 AFAF0010 */ sw $t7, 0x0010($sp)
-/* 005F8 80A9CB48 AFB80014 */ sw $t8, 0x0014($sp)
-/* 005FC 80A9CB4C AFA50028 */ sw $a1, 0x0028($sp)
-/* 00600 80A9CB50 24A601E0 */ addiu $a2, $a1, 0x01E0 ## $a2 = 000001E0
-/* 00604 80A9CB54 3C0743AA */ lui $a3, 0x43AA ## $a3 = 43AA0000
-/* 00608 80A9CB58 0C2A7257 */ jal func_80A9C95C
-/* 0060C 80A9CB5C AFA80024 */ sw $t0, 0x0024($sp)
-/* 00610 80A9CB60 8FA4002C */ lw $a0, 0x002C($sp)
-/* 00614 80A9CB64 8FA50028 */ lw $a1, 0x0028($sp)
-/* 00618 80A9CB68 10400057 */ beq $v0, $zero, .L80A9CCC8
-/* 0061C 80A9CB6C 8FA80024 */ lw $t0, 0x0024($sp)
-/* 00620 80A9CB70 94B9010E */ lhu $t9, 0x010E($a1) ## 0000010E
-/* 00624 80A9CB74 2401401A */ addiu $at, $zero, 0x401A ## $at = 0000401A
-/* 00628 80A9CB78 3C038016 */ lui $v1, %hi(gSaveContext)
-/* 0062C 80A9CB7C 17210015 */ bne $t9, $at, .L80A9CBD4
-/* 00630 80A9CB80 2463E660 */ addiu $v1, %lo(gSaveContext)
-/* 00634 80A9CB84 94690EDA */ lhu $t1, 0x0EDA($v1) ## 8015F53A
-/* 00638 80A9CB88 312A0008 */ andi $t2, $t1, 0x0008 ## $t2 = 00000000
-/* 0063C 80A9CB8C 15400011 */ bne $t2, $zero, .L80A9CBD4
-/* 00640 80A9CB90 00000000 */ nop
-/* 00644 80A9CB94 AFA50028 */ sw $a1, 0x0028($sp)
-/* 00648 80A9CB98 0C00BCDA */ jal func_8002F368
-/* 0064C 80A9CB9C AFA80024 */ sw $t0, 0x0024($sp)
-/* 00650 80A9CBA0 2401001D */ addiu $at, $zero, 0x001D ## $at = 0000001D
-/* 00654 80A9CBA4 8FA50028 */ lw $a1, 0x0028($sp)
-/* 00658 80A9CBA8 14410005 */ bne $v0, $at, .L80A9CBC0
-/* 0065C 80A9CBAC 8FA80024 */ lw $t0, 0x0024($sp)
-/* 00660 80A9CBB0 240B401B */ addiu $t3, $zero, 0x401B ## $t3 = 0000401B
-/* 00664 80A9CBB4 A4AB010E */ sh $t3, 0x010E($a1) ## 0000010E
-/* 00668 80A9CBB8 10000003 */ beq $zero, $zero, .L80A9CBC8
-/* 0066C 80A9CBBC A0A00208 */ sb $zero, 0x0208($a1) ## 00000208
-.L80A9CBC0:
-/* 00670 80A9CBC0 240C401A */ addiu $t4, $zero, 0x401A ## $t4 = 0000401A
-/* 00674 80A9CBC4 A4AC010E */ sh $t4, 0x010E($a1) ## 0000010E
-.L80A9CBC8:
-/* 00678 80A9CBC8 94AD010E */ lhu $t5, 0x010E($a1) ## 0000010E
-/* 0067C 80A9CBCC 1000003E */ beq $zero, $zero, .L80A9CCC8
-/* 00680 80A9CBD0 A50D010E */ sh $t5, 0x010E($t0) ## 0000010E
-.L80A9CBD4:
-/* 00684 80A9CBD4 3C038016 */ lui $v1, %hi(gSaveContext)
-/* 00688 80A9CBD8 2463E660 */ addiu $v1, %lo(gSaveContext)
-/* 0068C 80A9CBDC 8C6E0004 */ lw $t6, 0x0004($v1) ## 8015E664
-/* 00690 80A9CBE0 3C0F8012 */ lui $t7, %hi(gItemSlots+0x2d)
-/* 00694 80A9CBE4 55C00039 */ bnel $t6, $zero, .L80A9CCCC
-/* 00698 80A9CBE8 8FBF001C */ lw $ra, 0x001C($sp)
-/* 0069C 80A9CBEC 91EF7491 */ lbu $t7, %lo(gItemSlots+0x2d)($t7)
-/* 006A0 80A9CBF0 24010034 */ addiu $at, $zero, 0x0034 ## $at = 00000034
-/* 006A4 80A9CBF4 006FC021 */ addu $t8, $v1, $t7
-/* 006A8 80A9CBF8 93190074 */ lbu $t9, 0x0074($t8) ## 00000074
-/* 006AC 80A9CBFC 57210012 */ bnel $t9, $at, .L80A9CC48
-/* 006B0 80A9CC00 A0A00209 */ sb $zero, 0x0209($a1) ## 00000209
-/* 006B4 80A9CC04 AFA50028 */ sw $a1, 0x0028($sp)
-/* 006B8 80A9CC08 0C00BCDA */ jal func_8002F368
-/* 006BC 80A9CC0C AFA80024 */ sw $t0, 0x0024($sp)
-/* 006C0 80A9CC10 3C038016 */ lui $v1, %hi(gSaveContext)
-/* 006C4 80A9CC14 2401000C */ addiu $at, $zero, 0x000C ## $at = 0000000C
-/* 006C8 80A9CC18 2463E660 */ addiu $v1, %lo(gSaveContext)
-/* 006CC 80A9CC1C 8FA50028 */ lw $a1, 0x0028($sp)
-/* 006D0 80A9CC20 14410008 */ bne $v0, $at, .L80A9CC44
-/* 006D4 80A9CC24 8FA80024 */ lw $t0, 0x0024($sp)
-/* 006D8 80A9CC28 240A4014 */ addiu $t2, $zero, 0x4014 ## $t2 = 00004014
-/* 006DC 80A9CC2C A4AA010E */ sh $t2, 0x010E($a1) ## 0000010E
-/* 006E0 80A9CC30 A0A00208 */ sb $zero, 0x0208($a1) ## 00000208
-/* 006E4 80A9CC34 A50A010E */ sh $t2, 0x010E($t0) ## 0000010E
-/* 006E8 80A9CC38 240B0001 */ addiu $t3, $zero, 0x0001 ## $t3 = 00000001
-/* 006EC 80A9CC3C 10000022 */ beq $zero, $zero, .L80A9CCC8
-/* 006F0 80A9CC40 A0AB0209 */ sb $t3, 0x0209($a1) ## 00000209
-.L80A9CC44:
-/* 006F4 80A9CC44 A0A00209 */ sb $zero, 0x0209($a1) ## 00000209
-.L80A9CC48:
-/* 006F8 80A9CC48 946C0F1E */ lhu $t4, 0x0F1E($v1) ## 8015F57E
-/* 006FC 80A9CC4C 3C0E8012 */ lui $t6, %hi(gBitFlags+0x20)
-/* 00700 80A9CC50 3C0B8012 */ lui $t3, %hi(gBitFlags+8)
-/* 00704 80A9CC54 318D0200 */ andi $t5, $t4, 0x0200 ## $t5 = 00000000
-/* 00708 80A9CC58 11A0000E */ beq $t5, $zero, .L80A9CC94
-/* 0070C 80A9CC5C 3C0C8012 */ lui $t4, %hi(gEquipShifts+2)
-/* 00710 80A9CC60 8DCE7140 */ lw $t6, %lo(gBitFlags+0x20)($t6)
-/* 00714 80A9CC64 8C6F00A4 */ lw $t7, 0x00A4($v1) ## 8015E704
-/* 00718 80A9CC68 2409401A */ addiu $t1, $zero, 0x401A ## $t1 = 0000401A
-/* 0071C 80A9CC6C 24194045 */ addiu $t9, $zero, 0x4045 ## $t9 = 00004045
-/* 00720 80A9CC70 01CFC024 */ and $t8, $t6, $t7
-/* 00724 80A9CC74 53000004 */ beql $t8, $zero, .L80A9CC88
-/* 00728 80A9CC78 A4A9010E */ sh $t1, 0x010E($a1) ## 0000010E
-/* 0072C 80A9CC7C 10000002 */ beq $zero, $zero, .L80A9CC88
-/* 00730 80A9CC80 A4B9010E */ sh $t9, 0x010E($a1) ## 0000010E
-/* 00734 80A9CC84 A4A9010E */ sh $t1, 0x010E($a1) ## 0000010E
-.L80A9CC88:
-/* 00738 80A9CC88 94AA010E */ lhu $t2, 0x010E($a1) ## 0000010E
-/* 0073C 80A9CC8C 1000000E */ beq $zero, $zero, .L80A9CCC8
-/* 00740 80A9CC90 A50A010E */ sh $t2, 0x010E($t0) ## 0000010E
-.L80A9CC94:
-/* 00744 80A9CC94 8D6B7128 */ lw $t3, %lo(gBitFlags+8)($t3)
-/* 00748 80A9CC98 918C71F2 */ lbu $t4, %lo(gEquipShifts+2)($t4)
-/* 0074C 80A9CC9C 946E009C */ lhu $t6, 0x009C($v1) ## 8015E6FC
-/* 00750 80A9CCA0 24194012 */ addiu $t9, $zero, 0x4012 ## $t9 = 00004012
-/* 00754 80A9CCA4 018B6804 */ sllv $t5, $t3, $t4
-/* 00758 80A9CCA8 01AE7824 */ and $t7, $t5, $t6
-/* 0075C 80A9CCAC 11E00003 */ beq $t7, $zero, .L80A9CCBC
-/* 00760 80A9CCB0 2418401F */ addiu $t8, $zero, 0x401F ## $t8 = 0000401F
-/* 00764 80A9CCB4 10000002 */ beq $zero, $zero, .L80A9CCC0
-/* 00768 80A9CCB8 A4B8010E */ sh $t8, 0x010E($a1) ## 0000010E
-.L80A9CCBC:
-/* 0076C 80A9CCBC A4B9010E */ sh $t9, 0x010E($a1) ## 0000010E
-.L80A9CCC0:
-/* 00770 80A9CCC0 94A9010E */ lhu $t1, 0x010E($a1) ## 0000010E
-/* 00774 80A9CCC4 A509010E */ sh $t1, 0x010E($t0) ## 0000010E
-.L80A9CCC8:
-/* 00778 80A9CCC8 8FBF001C */ lw $ra, 0x001C($sp)
-.L80A9CCCC:
-/* 0077C 80A9CCCC 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
-/* 00780 80A9CCD0 03E00008 */ jr $ra
-/* 00784 80A9CCD4 00000000 */ nop
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9CCD8.s b/asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9CCD8.s
deleted file mode 100644
index 515ba9d20..000000000
--- a/asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9CCD8.s
+++ /dev/null
@@ -1,101 +0,0 @@
-.late_rodata
-glabel D_80A9D9C0
- .word 0x4622F983
-
-.text
-glabel func_80A9CCD8
-/* 00788 80A9CCD8 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
-/* 0078C 80A9CCDC AFBF0024 */ sw $ra, 0x0024($sp)
-/* 00790 80A9CCE0 AFB00020 */ sw $s0, 0x0020($sp)
-/* 00794 80A9CCE4 8486001C */ lh $a2, 0x001C($a0) ## 0000001C
-/* 00798 80A9CCE8 3401FF00 */ ori $at, $zero, 0xFF00 ## $at = 0000FF00
-/* 0079C 80A9CCEC 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
-/* 007A0 80A9CCF0 30C6FF00 */ andi $a2, $a2, 0xFF00 ## $a2 = 00000000
-/* 007A4 80A9CCF4 14C10003 */ bne $a2, $at, .L80A9CD04
-/* 007A8 80A9CCF8 3C0E0001 */ lui $t6, 0x0001 ## $t6 = 00010000
-/* 007AC 80A9CCFC 1000004C */ beq $zero, $zero, .L80A9CE30
-/* 007B0 80A9CD00 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
-.L80A9CD04:
-/* 007B4 80A9CD04 01C57021 */ addu $t6, $t6, $a1
-/* 007B8 80A9CD08 8DCE1E08 */ lw $t6, 0x1E08($t6) ## 00011E08
-/* 007BC 80A9CD0C 00067A03 */ sra $t7, $a2, 8
-/* 007C0 80A9CD10 000FC0C0 */ sll $t8, $t7, 3
-/* 007C4 80A9CD14 01D82021 */ addu $a0, $t6, $t8
-/* 007C8 80A9CD18 8C830004 */ lw $v1, 0x0004($a0) ## 00000004
-/* 007CC 80A9CD1C 3C0A8016 */ lui $t2, %hi(gSegments)
-/* 007D0 80A9CD20 860C020A */ lh $t4, 0x020A($s0) ## 0000020A
-/* 007D4 80A9CD24 0003C900 */ sll $t9, $v1, 4
-/* 007D8 80A9CD28 00194702 */ srl $t0, $t9, 28
-/* 007DC 80A9CD2C 00084880 */ sll $t1, $t0, 2
-/* 007E0 80A9CD30 01495021 */ addu $t2, $t2, $t1
-/* 007E4 80A9CD34 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000
-/* 007E8 80A9CD38 8D4A6FA8 */ lw $t2, %lo(gSegments)($t2)
-/* 007EC 80A9CD3C 3421FFFF */ ori $at, $at, 0xFFFF ## $at = 00FFFFFF
-/* 007F0 80A9CD40 00615824 */ and $t3, $v1, $at
-/* 007F4 80A9CD44 000C6880 */ sll $t5, $t4, 2
-/* 007F8 80A9CD48 3C018000 */ lui $at, 0x8000 ## $at = 80000000
-/* 007FC 80A9CD4C 01AC6823 */ subu $t5, $t5, $t4
-/* 00800 80A9CD50 014B1021 */ addu $v0, $t2, $t3
-/* 00804 80A9CD54 00411021 */ addu $v0, $v0, $at
-/* 00808 80A9CD58 000D6840 */ sll $t5, $t5, 1
-/* 0080C 80A9CD5C 004D1021 */ addu $v0, $v0, $t5
-/* 00810 80A9CD60 844F0000 */ lh $t7, 0x0000($v0) ## 00000000
-/* 00814 80A9CD64 844E0004 */ lh $t6, 0x0004($v0) ## 00000004
-/* 00818 80A9CD68 C6080024 */ lwc1 $f8, 0x0024($s0) ## 00000024
-/* 0081C 80A9CD6C 448F2000 */ mtc1 $t7, $f4 ## $f4 = 0.00
-/* 00820 80A9CD70 448E5000 */ mtc1 $t6, $f10 ## $f10 = 0.00
-/* 00824 80A9CD74 C612002C */ lwc1 $f18, 0x002C($s0) ## 0000002C
-/* 00828 80A9CD78 468021A0 */ cvt.s.w $f6, $f4
-/* 0082C 80A9CD7C AFA40034 */ sw $a0, 0x0034($sp)
-/* 00830 80A9CD80 46805420 */ cvt.s.w $f16, $f10
-/* 00834 80A9CD84 46083301 */ sub.s $f12, $f6, $f8
-/* 00838 80A9CD88 46128381 */ sub.s $f14, $f16, $f18
-/* 0083C 80A9CD8C E7AC002C */ swc1 $f12, 0x002C($sp)
-/* 00840 80A9CD90 0C03F494 */ jal Math_atan2f
-/* 00844 80A9CD94 E7AE0028 */ swc1 $f14, 0x0028($sp)
-/* 00848 80A9CD98 3C0180AA */ lui $at, %hi(D_80A9D9C0) ## $at = 80AA0000
-/* 0084C 80A9CD9C C424D9C0 */ lwc1 $f4, %lo(D_80A9D9C0)($at)
-/* 00850 80A9CDA0 24190001 */ addiu $t9, $zero, 0x0001 ## $t9 = 00000001
-/* 00854 80A9CDA4 AFB90010 */ sw $t9, 0x0010($sp)
-/* 00858 80A9CDA8 46040182 */ mul.s $f6, $f0, $f4
-/* 0085C 80A9CDAC 26040032 */ addiu $a0, $s0, 0x0032 ## $a0 = 00000032
-/* 00860 80A9CDB0 2406000A */ addiu $a2, $zero, 0x000A ## $a2 = 0000000A
-/* 00864 80A9CDB4 240703E8 */ addiu $a3, $zero, 0x03E8 ## $a3 = 000003E8
-/* 00868 80A9CDB8 4600320D */ trunc.w.s $f8, $f6
-/* 0086C 80A9CDBC 44054000 */ mfc1 $a1, $f8
-/* 00870 80A9CDC0 00000000 */ nop
-/* 00874 80A9CDC4 00052C00 */ sll $a1, $a1, 16
-/* 00878 80A9CDC8 0C01E1A7 */ jal Math_SmoothScaleMaxMinS
-
-/* 0087C 80A9CDCC 00052C03 */ sra $a1, $a1, 16
-/* 00880 80A9CDD0 C7AC002C */ lwc1 $f12, 0x002C($sp)
-/* 00884 80A9CDD4 C7AE0028 */ lwc1 $f14, 0x0028($sp)
-/* 00888 80A9CDD8 3C014120 */ lui $at, 0x4120 ## $at = 41200000
-/* 0088C 80A9CDDC 460C6282 */ mul.s $f10, $f12, $f12
-/* 00890 80A9CDE0 44812000 */ mtc1 $at, $f4 ## $f4 = 10.00
-/* 00894 80A9CDE4 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
-/* 00898 80A9CDE8 460E7402 */ mul.s $f16, $f14, $f14
-/* 0089C 80A9CDEC 46105480 */ add.s $f18, $f10, $f16
-/* 008A0 80A9CDF0 4604903C */ c.lt.s $f18, $f4
-/* 008A4 80A9CDF4 00000000 */ nop
-/* 008A8 80A9CDF8 4500000D */ bc1f .L80A9CE30
-/* 008AC 80A9CDFC 00000000 */ nop
-/* 008B0 80A9CE00 8608020A */ lh $t0, 0x020A($s0) ## 0000020A
-/* 008B4 80A9CE04 25090001 */ addiu $t1, $t0, 0x0001 ## $t1 = 00000001
-/* 008B8 80A9CE08 A609020A */ sh $t1, 0x020A($s0) ## 0000020A
-/* 008BC 80A9CE0C 8FAB0034 */ lw $t3, 0x0034($sp)
-/* 008C0 80A9CE10 860A020A */ lh $t2, 0x020A($s0) ## 0000020A
-/* 008C4 80A9CE14 916C0000 */ lbu $t4, 0x0000($t3) ## 00000000
-/* 008C8 80A9CE18 014C082A */ slt $at, $t2, $t4
-/* 008CC 80A9CE1C 14200002 */ bne $at, $zero, .L80A9CE28
-/* 008D0 80A9CE20 00000000 */ nop
-/* 008D4 80A9CE24 A600020A */ sh $zero, 0x020A($s0) ## 0000020A
-.L80A9CE28:
-/* 008D8 80A9CE28 10000001 */ beq $zero, $zero, .L80A9CE30
-/* 008DC 80A9CE2C 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
-.L80A9CE30:
-/* 008E0 80A9CE30 8FBF0024 */ lw $ra, 0x0024($sp)
-/* 008E4 80A9CE34 8FB00020 */ lw $s0, 0x0020($sp)
-/* 008E8 80A9CE38 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000
-/* 008EC 80A9CE3C 03E00008 */ jr $ra
-/* 008F0 80A9CE40 00000000 */ nop
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9CE44.s b/asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9CE44.s
deleted file mode 100644
index ed93ec514..000000000
--- a/asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9CE44.s
+++ /dev/null
@@ -1,52 +0,0 @@
-glabel func_80A9CE44
-/* 008F4 80A9CE44 8483001C */ lh $v1, 0x001C($a0) ## 0000001C
-/* 008F8 80A9CE48 3401FF00 */ ori $at, $zero, 0xFF00 ## $at = 0000FF00
-/* 008FC 80A9CE4C 00A03025 */ or $a2, $a1, $zero ## $a2 = 00000000
-/* 00900 80A9CE50 3063FF00 */ andi $v1, $v1, 0xFF00 ## $v1 = 00000000
-/* 00904 80A9CE54 14610003 */ bne $v1, $at, .L80A9CE64
-/* 00908 80A9CE58 3C0E0001 */ lui $t6, 0x0001 ## $t6 = 00010000
-/* 0090C 80A9CE5C 03E00008 */ jr $ra
-/* 00910 80A9CE60 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
-.L80A9CE64:
-/* 00914 80A9CE64 01C67021 */ addu $t6, $t6, $a2
-/* 00918 80A9CE68 8DCE1E08 */ lw $t6, 0x1E08($t6) ## 00011E08
-/* 0091C 80A9CE6C 00037A03 */ sra $t7, $v1, 8
-/* 00920 80A9CE70 000FC0C0 */ sll $t8, $t7, 3
-/* 00924 80A9CE74 01D82821 */ addu $a1, $t6, $t8
-/* 00928 80A9CE78 8CA80004 */ lw $t0, 0x0004($a1) ## 00000004
-/* 0092C 80A9CE7C 3C0B8016 */ lui $t3, %hi(gSegments)
-/* 00930 80A9CE80 90AD0000 */ lbu $t5, 0x0000($a1) ## 00000000
-/* 00934 80A9CE84 0008C900 */ sll $t9, $t0, 4
-/* 00938 80A9CE88 00194F02 */ srl $t1, $t9, 28
-/* 0093C 80A9CE8C 00095080 */ sll $t2, $t1, 2
-/* 00940 80A9CE90 016A5821 */ addu $t3, $t3, $t2
-/* 00944 80A9CE94 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000
-/* 00948 80A9CE98 8D6B6FA8 */ lw $t3, %lo(gSegments)($t3)
-/* 0094C 80A9CE9C 3421FFFF */ ori $at, $at, 0xFFFF ## $at = 00FFFFFF
-/* 00950 80A9CEA0 01016024 */ and $t4, $t0, $at
-/* 00954 80A9CEA4 000D7880 */ sll $t7, $t5, 2
-/* 00958 80A9CEA8 3C018000 */ lui $at, 0x8000 ## $at = 80000000
-/* 0095C 80A9CEAC 01ED7823 */ subu $t7, $t7, $t5
-/* 00960 80A9CEB0 016C3821 */ addu $a3, $t3, $t4
-/* 00964 80A9CEB4 00E13821 */ addu $a3, $a3, $at
-/* 00968 80A9CEB8 000F7840 */ sll $t7, $t7, 1
-/* 0096C 80A9CEBC 00EF3821 */ addu $a3, $a3, $t7
-/* 00970 80A9CEC0 84EEFFFA */ lh $t6, -0x0006($a3) ## FFFFFFFA
-/* 00974 80A9CEC4 24E7FFFA */ addiu $a3, $a3, 0xFFFA ## $a3 = FFFFFFFA
-/* 00978 80A9CEC8 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
-/* 0097C 80A9CECC 448E2000 */ mtc1 $t6, $f4 ## $f4 = 0.00
-/* 00980 80A9CED0 00000000 */ nop
-/* 00984 80A9CED4 468021A0 */ cvt.s.w $f6, $f4
-/* 00988 80A9CED8 E4860024 */ swc1 $f6, 0x0024($a0) ## 00000024
-/* 0098C 80A9CEDC 84F80002 */ lh $t8, 0x0002($a3) ## FFFFFFFC
-/* 00990 80A9CEE0 44984000 */ mtc1 $t8, $f8 ## $f8 = 0.00
-/* 00994 80A9CEE4 00000000 */ nop
-/* 00998 80A9CEE8 468042A0 */ cvt.s.w $f10, $f8
-/* 0099C 80A9CEEC E48A0028 */ swc1 $f10, 0x0028($a0) ## 00000028
-/* 009A0 80A9CEF0 84F90004 */ lh $t9, 0x0004($a3) ## FFFFFFFE
-/* 009A4 80A9CEF4 44998000 */ mtc1 $t9, $f16 ## $f16 = 0.00
-/* 009A8 80A9CEF8 00000000 */ nop
-/* 009AC 80A9CEFC 468084A0 */ cvt.s.w $f18, $f16
-/* 009B0 80A9CF00 E492002C */ swc1 $f18, 0x002C($a0) ## 0000002C
-/* 009B4 80A9CF04 03E00008 */ jr $ra
-/* 009B8 80A9CF08 00000000 */ nop
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9D0C0.s b/asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9D0C0.s
deleted file mode 100644
index 932498488..000000000
--- a/asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9D0C0.s
+++ /dev/null
@@ -1,31 +0,0 @@
-glabel func_80A9D0C0
-/* 00B70 80A9D0C0 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
-/* 00B74 80A9D0C4 AFBF001C */ sw $ra, 0x001C($sp)
-/* 00B78 80A9D0C8 AFB00018 */ sw $s0, 0x0018($sp)
-/* 00B7C 80A9D0CC AFA50024 */ sw $a1, 0x0024($sp)
-/* 00B80 80A9D0D0 848E01E0 */ lh $t6, 0x01E0($a0) ## 000001E0
-/* 00B84 80A9D0D4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
-/* 00B88 80A9D0D8 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
-/* 00B8C 80A9D0DC 15C1000B */ bne $t6, $at, .L80A9D10C
-/* 00B90 80A9D0E0 260502A6 */ addiu $a1, $s0, 0x02A6 ## $a1 = 000002A6
-/* 00B94 80A9D0E4 3C0580AA */ lui $a1, %hi(D_80A9D8F8) ## $a1 = 80AA0000
-/* 00B98 80A9D0E8 24A5D8F8 */ addiu $a1, $a1, %lo(D_80A9D8F8) ## $a1 = 80A9D8F8
-/* 00B9C 80A9D0EC 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 00BA0 80A9D0F0 0C00D3B0 */ jal func_80034EC0
-/* 00BA4 80A9D0F4 24060002 */ addiu $a2, $zero, 0x0002 ## $a2 = 00000002
-/* 00BA8 80A9D0F8 3C0F80AA */ lui $t7, %hi(func_80A9D130) ## $t7 = 80AA0000
-/* 00BAC 80A9D0FC 25EFD130 */ addiu $t7, $t7, %lo(func_80A9D130) ## $t7 = 80A9D130
-/* 00BB0 80A9D100 A60001E0 */ sh $zero, 0x01E0($s0) ## 000001E0
-/* 00BB4 80A9D104 10000005 */ beq $zero, $zero, .L80A9D11C
-/* 00BB8 80A9D108 AE0F0190 */ sw $t7, 0x0190($s0) ## 00000190
-.L80A9D10C:
-/* 00BBC 80A9D10C 8FA40024 */ lw $a0, 0x0024($sp)
-/* 00BC0 80A9D110 260602BE */ addiu $a2, $s0, 0x02BE ## $a2 = 000002BE
-/* 00BC4 80A9D114 0C00D3D5 */ jal func_80034F54
-/* 00BC8 80A9D118 2407000C */ addiu $a3, $zero, 0x000C ## $a3 = 0000000C
-.L80A9D11C:
-/* 00BCC 80A9D11C 8FBF001C */ lw $ra, 0x001C($sp)
-/* 00BD0 80A9D120 8FB00018 */ lw $s0, 0x0018($sp)
-/* 00BD4 80A9D124 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
-/* 00BD8 80A9D128 03E00008 */ jr $ra
-/* 00BDC 80A9D12C 00000000 */ nop
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9D130.s b/asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9D130.s
deleted file mode 100644
index fd1dbdda8..000000000
--- a/asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9D130.s
+++ /dev/null
@@ -1,81 +0,0 @@
-.late_rodata
-glabel D_80A9D9C4
- .float 0.1
-
-.text
-glabel func_80A9D130
-/* 00BE0 80A9D130 27BDFFB8 */ addiu $sp, $sp, 0xFFB8 ## $sp = FFFFFFB8
-/* 00BE4 80A9D134 3C0F80AA */ lui $t7, %hi(D_80A9D940) ## $t7 = 80AA0000
-/* 00BE8 80A9D138 AFBF001C */ sw $ra, 0x001C($sp)
-/* 00BEC 80A9D13C AFB10018 */ sw $s1, 0x0018($sp)
-/* 00BF0 80A9D140 AFB00014 */ sw $s0, 0x0014($sp)
-/* 00BF4 80A9D144 25EFD940 */ addiu $t7, $t7, %lo(D_80A9D940) ## $t7 = 80A9D940
-/* 00BF8 80A9D148 8DF90000 */ lw $t9, 0x0000($t7) ## 80A9D940
-/* 00BFC 80A9D14C 27AE003C */ addiu $t6, $sp, 0x003C ## $t6 = FFFFFFF4
-/* 00C00 80A9D150 8DF80004 */ lw $t8, 0x0004($t7) ## 80A9D944
-/* 00C04 80A9D154 ADD90000 */ sw $t9, 0x0000($t6) ## FFFFFFF4
-/* 00C08 80A9D158 8DF90008 */ lw $t9, 0x0008($t7) ## 80A9D948
-/* 00C0C 80A9D15C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
-/* 00C10 80A9D160 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
-/* 00C14 80A9D164 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
-/* 00C18 80A9D168 ADD80004 */ sw $t8, 0x0004($t6) ## FFFFFFF8
-/* 00C1C 80A9D16C 0C03008C */ jal Gameplay_CreateSubCamera
-/* 00C20 80A9D170 ADD90008 */ sw $t9, 0x0008($t6) ## FFFFFFFC
-/* 00C24 80A9D174 A6020212 */ sh $v0, 0x0212($s0) ## 00000212
-/* 00C28 80A9D178 862807A0 */ lh $t0, 0x07A0($s1) ## 000007A0
-/* 00C2C 80A9D17C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
-/* 00C30 80A9D180 24060001 */ addiu $a2, $zero, 0x0001 ## $a2 = 00000001
-/* 00C34 80A9D184 A6080214 */ sh $t0, 0x0214($s0) ## 00000214
-/* 00C38 80A9D188 0C0300C5 */ jal Gameplay_ChangeCameraStatus
-/* 00C3C 80A9D18C 86050214 */ lh $a1, 0x0214($s0) ## 00000214
-/* 00C40 80A9D190 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
-/* 00C44 80A9D194 86050212 */ lh $a1, 0x0212($s0) ## 00000212
-/* 00C48 80A9D198 0C0300C5 */ jal Gameplay_ChangeCameraStatus
-/* 00C4C 80A9D19C 24060007 */ addiu $a2, $zero, 0x0007 ## $a2 = 00000007
-/* 00C50 80A9D1A0 8E0A0024 */ lw $t2, 0x0024($s0) ## 00000024
-/* 00C54 80A9D1A4 27A60030 */ addiu $a2, $sp, 0x0030 ## $a2 = FFFFFFE8
-/* 00C58 80A9D1A8 27A70024 */ addiu $a3, $sp, 0x0024 ## $a3 = FFFFFFDC
-/* 00C5C 80A9D1AC ACCA0000 */ sw $t2, 0x0000($a2) ## FFFFFFE8
-/* 00C60 80A9D1B0 8E090028 */ lw $t1, 0x0028($s0) ## 00000028
-/* 00C64 80A9D1B4 3C014270 */ lui $at, 0x4270 ## $at = 42700000
-/* 00C68 80A9D1B8 44813000 */ mtc1 $at, $f6 ## $f6 = 60.00
-/* 00C6C 80A9D1BC ACC90004 */ sw $t1, 0x0004($a2) ## FFFFFFEC
-/* 00C70 80A9D1C0 8E0A002C */ lw $t2, 0x002C($s0) ## 0000002C
-/* 00C74 80A9D1C4 3C01C2C8 */ lui $at, 0xC2C8 ## $at = C2C80000
-/* 00C78 80A9D1C8 44818000 */ mtc1 $at, $f16 ## $f16 = -100.00
-/* 00C7C 80A9D1CC ACCA0008 */ sw $t2, 0x0008($a2) ## FFFFFFF0
-/* 00C80 80A9D1D0 8E0C0008 */ lw $t4, 0x0008($s0) ## 00000008
-/* 00C84 80A9D1D4 3C014382 */ lui $at, 0x4382 ## $at = 43820000
-/* 00C88 80A9D1D8 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
-/* 00C8C 80A9D1DC ACEC0000 */ sw $t4, 0x0000($a3) ## FFFFFFDC
-/* 00C90 80A9D1E0 8E0B000C */ lw $t3, 0x000C($s0) ## 0000000C
-/* 00C94 80A9D1E4 ACEB0004 */ sw $t3, 0x0004($a3) ## FFFFFFE0
-/* 00C98 80A9D1E8 8E0C0010 */ lw $t4, 0x0010($s0) ## 00000010
-/* 00C9C 80A9D1EC ACEC0008 */ sw $t4, 0x0008($a3) ## FFFFFFE4
-/* 00CA0 80A9D1F0 C7A40034 */ lwc1 $f4, 0x0034($sp)
-/* 00CA4 80A9D1F4 C7AA0028 */ lwc1 $f10, 0x0028($sp)
-/* 00CA8 80A9D1F8 46062200 */ add.s $f8, $f4, $f6
-/* 00CAC 80A9D1FC 44813000 */ mtc1 $at, $f6 ## $f6 = 260.00
-/* 00CB0 80A9D200 C7A4002C */ lwc1 $f4, 0x002C($sp)
-/* 00CB4 80A9D204 46105480 */ add.s $f18, $f10, $f16
-/* 00CB8 80A9D208 E7A80034 */ swc1 $f8, 0x0034($sp)
-/* 00CBC 80A9D20C 46062200 */ add.s $f8, $f4, $f6
-/* 00CC0 80A9D210 E7B20028 */ swc1 $f18, 0x0028($sp)
-/* 00CC4 80A9D214 E7A8002C */ swc1 $f8, 0x002C($sp)
-/* 00CC8 80A9D218 0C030136 */ jal func_800C04D8
-/* 00CCC 80A9D21C 86050212 */ lh $a1, 0x0212($s0) ## 00000212
-/* 00CD0 80A9D220 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
-/* 00CD4 80A9D224 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
-/* 00CD8 80A9D228 0C00B7D5 */ jal func_8002DF54
-/* 00CDC 80A9D22C 24060008 */ addiu $a2, $zero, 0x0008 ## $a2 = 00000008
-/* 00CE0 80A9D230 3C0180AA */ lui $at, %hi(D_80A9D9C4) ## $at = 80AA0000
-/* 00CE4 80A9D234 C42AD9C4 */ lwc1 $f10, %lo(D_80A9D9C4)($at)
-/* 00CE8 80A9D238 3C0D80AA */ lui $t5, %hi(func_80A9D25C) ## $t5 = 80AA0000
-/* 00CEC 80A9D23C 25ADD25C */ addiu $t5, $t5, %lo(func_80A9D25C) ## $t5 = 80A9D25C
-/* 00CF0 80A9D240 AE0D0190 */ sw $t5, 0x0190($s0) ## 00000190
-/* 00CF4 80A9D244 E60A0068 */ swc1 $f10, 0x0068($s0) ## 00000068
-/* 00CF8 80A9D248 8FBF001C */ lw $ra, 0x001C($sp)
-/* 00CFC 80A9D24C 8FB10018 */ lw $s1, 0x0018($sp)
-/* 00D00 80A9D250 8FB00014 */ lw $s0, 0x0014($sp)
-/* 00D04 80A9D254 03E00008 */ jr $ra
-/* 00D08 80A9D258 27BD0048 */ addiu $sp, $sp, 0x0048 ## $sp = 00000000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9D25C.s b/asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9D25C.s
deleted file mode 100644
index 1fcb00487..000000000
--- a/asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9D25C.s
+++ /dev/null
@@ -1,96 +0,0 @@
-glabel func_80A9D25C
-/* 00D0C 80A9D25C 27BDFFB8 */ addiu $sp, $sp, 0xFFB8 ## $sp = FFFFFFB8
-/* 00D10 80A9D260 3C0F80AA */ lui $t7, %hi(D_80A9D94C) ## $t7 = 80AA0000
-/* 00D14 80A9D264 AFBF001C */ sw $ra, 0x001C($sp)
-/* 00D18 80A9D268 AFB00018 */ sw $s0, 0x0018($sp)
-/* 00D1C 80A9D26C AFA5004C */ sw $a1, 0x004C($sp)
-/* 00D20 80A9D270 25EFD94C */ addiu $t7, $t7, %lo(D_80A9D94C) ## $t7 = 80A9D94C
-/* 00D24 80A9D274 8DF90000 */ lw $t9, 0x0000($t7) ## 80A9D94C
-/* 00D28 80A9D278 27AE003C */ addiu $t6, $sp, 0x003C ## $t6 = FFFFFFF4
-/* 00D2C 80A9D27C 8DF80004 */ lw $t8, 0x0004($t7) ## 80A9D950
-/* 00D30 80A9D280 ADD90000 */ sw $t9, 0x0000($t6) ## FFFFFFF4
-/* 00D34 80A9D284 8DF90008 */ lw $t9, 0x0008($t7) ## 80A9D954
-/* 00D38 80A9D288 ADD80004 */ sw $t8, 0x0004($t6) ## FFFFFFF8
-/* 00D3C 80A9D28C 27A60030 */ addiu $a2, $sp, 0x0030 ## $a2 = FFFFFFE8
-/* 00D40 80A9D290 ADD90008 */ sw $t9, 0x0008($t6) ## FFFFFFFC
-/* 00D44 80A9D294 8C890024 */ lw $t1, 0x0024($a0) ## 00000024
-/* 00D48 80A9D298 27A70024 */ addiu $a3, $sp, 0x0024 ## $a3 = FFFFFFDC
-/* 00D4C 80A9D29C 3C014270 */ lui $at, 0x4270 ## $at = 42700000
-/* 00D50 80A9D2A0 ACC90000 */ sw $t1, 0x0000($a2) ## FFFFFFE8
-/* 00D54 80A9D2A4 8C880028 */ lw $t0, 0x0028($a0) ## 00000028
-/* 00D58 80A9D2A8 44813000 */ mtc1 $at, $f6 ## $f6 = 60.00
-/* 00D5C 80A9D2AC 3C01C2C8 */ lui $at, 0xC2C8 ## $at = C2C80000
-/* 00D60 80A9D2B0 ACC80004 */ sw $t0, 0x0004($a2) ## FFFFFFEC
-/* 00D64 80A9D2B4 8C89002C */ lw $t1, 0x002C($a0) ## 0000002C
-/* 00D68 80A9D2B8 44818000 */ mtc1 $at, $f16 ## $f16 = -100.00
-/* 00D6C 80A9D2BC 3C014382 */ lui $at, 0x4382 ## $at = 43820000
-/* 00D70 80A9D2C0 ACC90008 */ sw $t1, 0x0008($a2) ## FFFFFFF0
-/* 00D74 80A9D2C4 8C8B0008 */ lw $t3, 0x0008($a0) ## 00000008
-/* 00D78 80A9D2C8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
-/* 00D7C 80A9D2CC ACEB0000 */ sw $t3, 0x0000($a3) ## FFFFFFDC
-/* 00D80 80A9D2D0 8C8A000C */ lw $t2, 0x000C($a0) ## 0000000C
-/* 00D84 80A9D2D4 ACEA0004 */ sw $t2, 0x0004($a3) ## FFFFFFE0
-/* 00D88 80A9D2D8 8C8B0010 */ lw $t3, 0x0010($a0) ## 00000010
-/* 00D8C 80A9D2DC ACEB0008 */ sw $t3, 0x0008($a3) ## FFFFFFE4
-/* 00D90 80A9D2E0 C7A40034 */ lwc1 $f4, 0x0034($sp)
-/* 00D94 80A9D2E4 C7AA0028 */ lwc1 $f10, 0x0028($sp)
-/* 00D98 80A9D2E8 8FA4004C */ lw $a0, 0x004C($sp)
-/* 00D9C 80A9D2EC 46062200 */ add.s $f8, $f4, $f6
-/* 00DA0 80A9D2F0 44813000 */ mtc1 $at, $f6 ## $f6 = 260.00
-/* 00DA4 80A9D2F4 C7A4002C */ lwc1 $f4, 0x002C($sp)
-/* 00DA8 80A9D2F8 46105480 */ add.s $f18, $f10, $f16
-/* 00DAC 80A9D2FC E7A80034 */ swc1 $f8, 0x0034($sp)
-/* 00DB0 80A9D300 46062200 */ add.s $f8, $f4, $f6
-/* 00DB4 80A9D304 E7B20028 */ swc1 $f18, 0x0028($sp)
-/* 00DB8 80A9D308 E7A8002C */ swc1 $f8, 0x002C($sp)
-/* 00DBC 80A9D30C 0C030136 */ jal func_800C04D8
-/* 00DC0 80A9D310 86050212 */ lh $a1, 0x0212($s0) ## 00000212
-/* 00DC4 80A9D314 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
-/* 00DC8 80A9D318 0C2A7336 */ jal func_80A9CCD8
-/* 00DCC 80A9D31C 8FA5004C */ lw $a1, 0x004C($sp)
-/* 00DD0 80A9D320 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
-/* 00DD4 80A9D324 5441001A */ bnel $v0, $at, .L80A9D390
-/* 00DD8 80A9D328 3C014150 */ lui $at, 0x4150 ## $at = 41500000
-/* 00DDC 80A9D32C 860C020A */ lh $t4, 0x020A($s0) ## 0000020A
-/* 00DE0 80A9D330 3C0580AA */ lui $a1, %hi(D_80A9D8F8) ## $a1 = 80AA0000
-/* 00DE4 80A9D334 24A5D8F8 */ addiu $a1, $a1, %lo(D_80A9D8F8) ## $a1 = 80A9D8F8
-/* 00DE8 80A9D338 15800014 */ bne $t4, $zero, .L80A9D38C
-/* 00DEC 80A9D33C 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
-/* 00DF0 80A9D340 0C00D3B0 */ jal func_80034EC0
-/* 00DF4 80A9D344 24060001 */ addiu $a2, $zero, 0x0001 ## $a2 = 00000001
-/* 00DF8 80A9D348 8FA4004C */ lw $a0, 0x004C($sp)
-/* 00DFC 80A9D34C 2405001B */ addiu $a1, $zero, 0x001B ## $a1 = 0000001B
-/* 00E00 80A9D350 0C021A79 */ jal Inventory_ReplaceItem
-/* 00E04 80A9D354 24060014 */ addiu $a2, $zero, 0x0014 ## $a2 = 00000014
-/* 00E08 80A9D358 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
-/* 00E0C 80A9D35C 0C2A7391 */ jal func_80A9CE44
-/* 00E10 80A9D360 8FA5004C */ lw $a1, 0x004C($sp)
-/* 00E14 80A9D364 3C038016 */ lui $v1, %hi(gSaveContext)
-/* 00E18 80A9D368 2463E660 */ addiu $v1, %lo(gSaveContext)
-/* 00E1C 80A9D36C 946D0EDA */ lhu $t5, 0x0EDA($v1) ## 8015F53A
-/* 00E20 80A9D370 44805000 */ mtc1 $zero, $f10 ## $f10 = 0.00
-/* 00E24 80A9D374 3C0F80AA */ lui $t7, %hi(func_80A9D3C8) ## $t7 = 80AA0000
-/* 00E28 80A9D378 35AE0008 */ ori $t6, $t5, 0x0008 ## $t6 = 00000008
-/* 00E2C 80A9D37C A46E0EDA */ sh $t6, 0x0EDA($v1) ## 8015F53A
-/* 00E30 80A9D380 25EFD3C8 */ addiu $t7, $t7, %lo(func_80A9D3C8) ## $t7 = 80A9D3C8
-/* 00E34 80A9D384 AE0F0190 */ sw $t7, 0x0190($s0) ## 00000190
-/* 00E38 80A9D388 E60A0068 */ swc1 $f10, 0x0068($s0) ## 00000068
-.L80A9D38C:
-/* 00E3C 80A9D38C 3C014150 */ lui $at, 0x4150 ## $at = 41500000
-.L80A9D390:
-/* 00E40 80A9D390 44818000 */ mtc1 $at, $f16 ## $f16 = 13.00
-/* 00E44 80A9D394 C6120164 */ lwc1 $f18, 0x0164($s0) ## 00000164
-/* 00E48 80A9D398 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
-/* 00E4C 80A9D39C 46128032 */ c.eq.s $f16, $f18
-/* 00E50 80A9D3A0 00000000 */ nop
-/* 00E54 80A9D3A4 45020004 */ bc1fl .L80A9D3B8
-/* 00E58 80A9D3A8 8FBF001C */ lw $ra, 0x001C($sp)
-/* 00E5C 80A9D3AC 0C00BE0A */ jal Audio_PlayActorSound2
-
-/* 00E60 80A9D3B0 2405687A */ addiu $a1, $zero, 0x687A ## $a1 = 0000687A
-/* 00E64 80A9D3B4 8FBF001C */ lw $ra, 0x001C($sp)
-.L80A9D3B8:
-/* 00E68 80A9D3B8 8FB00018 */ lw $s0, 0x0018($sp)
-/* 00E6C 80A9D3BC 27BD0048 */ addiu $sp, $sp, 0x0048 ## $sp = 00000000
-/* 00E70 80A9D3C0 03E00008 */ jr $ra
-/* 00E74 80A9D3C4 00000000 */ nop
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9D3C8.s b/asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9D3C8.s
deleted file mode 100644
index 798ac79db..000000000
--- a/asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9D3C8.s
+++ /dev/null
@@ -1,26 +0,0 @@
-glabel func_80A9D3C8
-/* 00E78 80A9D3C8 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
-/* 00E7C 80A9D3CC AFA40018 */ sw $a0, 0x0018($sp)
-/* 00E80 80A9D3D0 8FAE0018 */ lw $t6, 0x0018($sp)
-/* 00E84 80A9D3D4 AFBF0014 */ sw $ra, 0x0014($sp)
-/* 00E88 80A9D3D8 AFA5001C */ sw $a1, 0x001C($sp)
-/* 00E8C 80A9D3DC 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
-/* 00E90 80A9D3E0 24060007 */ addiu $a2, $zero, 0x0007 ## $a2 = 00000007
-/* 00E94 80A9D3E4 0C0300C5 */ jal Gameplay_ChangeCameraStatus
-/* 00E98 80A9D3E8 85C50214 */ lh $a1, 0x0214($t6) ## 00000214
-/* 00E9C 80A9D3EC 8FAF0018 */ lw $t7, 0x0018($sp)
-/* 00EA0 80A9D3F0 8FA4001C */ lw $a0, 0x001C($sp)
-/* 00EA4 80A9D3F4 0C0300E1 */ jal Gameplay_ClearCamera
-/* 00EA8 80A9D3F8 85E50212 */ lh $a1, 0x0212($t7) ## 00000212
-/* 00EAC 80A9D3FC 8FA4001C */ lw $a0, 0x001C($sp)
-/* 00EB0 80A9D400 8FA50018 */ lw $a1, 0x0018($sp)
-/* 00EB4 80A9D404 0C00B7D5 */ jal func_8002DF54
-/* 00EB8 80A9D408 24060007 */ addiu $a2, $zero, 0x0007 ## $a2 = 00000007
-/* 00EBC 80A9D40C 8FB90018 */ lw $t9, 0x0018($sp)
-/* 00EC0 80A9D410 3C1880AA */ lui $t8, %hi(func_80A9D42C) ## $t8 = 80AA0000
-/* 00EC4 80A9D414 2718D42C */ addiu $t8, $t8, %lo(func_80A9D42C) ## $t8 = 80A9D42C
-/* 00EC8 80A9D418 AF380190 */ sw $t8, 0x0190($t9) ## 00000190
-/* 00ECC 80A9D41C 8FBF0014 */ lw $ra, 0x0014($sp)
-/* 00ED0 80A9D420 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
-/* 00ED4 80A9D424 03E00008 */ jr $ra
-/* 00ED8 80A9D428 00000000 */ nop
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9D42C.s b/asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9D42C.s
deleted file mode 100644
index c5a3a2e92..000000000
--- a/asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9D42C.s
+++ /dev/null
@@ -1,28 +0,0 @@
-glabel func_80A9D42C
-/* 00EDC 80A9D42C 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
-/* 00EE0 80A9D430 AFBF001C */ sw $ra, 0x001C($sp)
-/* 00EE4 80A9D434 AFB00018 */ sw $s0, 0x0018($sp)
-/* 00EE8 80A9D438 AFA50024 */ sw $a1, 0x0024($sp)
-/* 00EEC 80A9D43C 848E01E0 */ lh $t6, 0x01E0($a0) ## 000001E0
-/* 00EF0 80A9D440 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
-/* 00EF4 80A9D444 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
-/* 00EF8 80A9D448 15C10008 */ bne $t6, $at, .L80A9D46C
-/* 00EFC 80A9D44C 260502A6 */ addiu $a1, $s0, 0x02A6 ## $a1 = 000002A6
-/* 00F00 80A9D450 3C0F80AA */ lui $t7, %hi(func_80A9D490) ## $t7 = 80AA0000
-/* 00F04 80A9D454 25EFD490 */ addiu $t7, $t7, %lo(func_80A9D490) ## $t7 = 80A9D490
-/* 00F08 80A9D458 AC8F0190 */ sw $t7, 0x0190($a0) ## 00000190
-/* 00F0C 80A9D45C 0C2A7524 */ jal func_80A9D490
-/* 00F10 80A9D460 8FA50024 */ lw $a1, 0x0024($sp)
-/* 00F14 80A9D464 10000006 */ beq $zero, $zero, .L80A9D480
-/* 00F18 80A9D468 8FBF001C */ lw $ra, 0x001C($sp)
-.L80A9D46C:
-/* 00F1C 80A9D46C 8FA40024 */ lw $a0, 0x0024($sp)
-/* 00F20 80A9D470 260602BE */ addiu $a2, $s0, 0x02BE ## $a2 = 000002BE
-/* 00F24 80A9D474 0C00D3D5 */ jal func_80034F54
-/* 00F28 80A9D478 2407000C */ addiu $a3, $zero, 0x000C ## $a3 = 0000000C
-/* 00F2C 80A9D47C 8FBF001C */ lw $ra, 0x001C($sp)
-.L80A9D480:
-/* 00F30 80A9D480 8FB00018 */ lw $s0, 0x0018($sp)
-/* 00F34 80A9D484 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
-/* 00F38 80A9D488 03E00008 */ jr $ra
-/* 00F3C 80A9D48C 00000000 */ nop
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9D490.s b/asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9D490.s
deleted file mode 100644
index 81a609d9c..000000000
--- a/asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9D490.s
+++ /dev/null
@@ -1,40 +0,0 @@
-glabel func_80A9D490
-/* 00F40 80A9D490 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
-/* 00F44 80A9D494 AFBF001C */ sw $ra, 0x001C($sp)
-/* 00F48 80A9D498 AFA50024 */ sw $a1, 0x0024($sp)
-/* 00F4C 80A9D49C 0C00BD04 */ jal func_8002F410
-/* 00F50 80A9D4A0 AFA40020 */ sw $a0, 0x0020($sp)
-/* 00F54 80A9D4A4 10400008 */ beq $v0, $zero, .L80A9D4C8
-/* 00F58 80A9D4A8 8FA40020 */ lw $a0, 0x0020($sp)
-/* 00F5C 80A9D4AC 3C0F80AA */ lui $t7, %hi(func_80A9D520) ## $t7 = 80AA0000
-/* 00F60 80A9D4B0 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001
-/* 00F64 80A9D4B4 25EFD520 */ addiu $t7, $t7, %lo(func_80A9D520) ## $t7 = 80A9D520
-/* 00F68 80A9D4B8 AC800118 */ sw $zero, 0x0118($a0) ## 00000118
-/* 00F6C 80A9D4BC A48E01E0 */ sh $t6, 0x01E0($a0) ## 000001E0
-/* 00F70 80A9D4C0 10000013 */ beq $zero, $zero, .L80A9D510
-/* 00F74 80A9D4C4 AC8F0190 */ sw $t7, 0x0190($a0) ## 00000190
-.L80A9D4C8:
-/* 00F78 80A9D4C8 90980209 */ lbu $t8, 0x0209($a0) ## 00000209
-/* 00F7C 80A9D4CC 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
-/* 00F80 80A9D4D0 2406002D */ addiu $a2, $zero, 0x002D ## $a2 = 0000002D
-/* 00F84 80A9D4D4 17010003 */ bne $t8, $at, .L80A9D4E4
-/* 00F88 80A9D4D8 00000000 */ nop
-/* 00F8C 80A9D4DC 10000001 */ beq $zero, $zero, .L80A9D4E4
-/* 00F90 80A9D4E0 24060024 */ addiu $a2, $zero, 0x0024 ## $a2 = 00000024
-.L80A9D4E4:
-/* 00F94 80A9D4E4 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
-/* 00F98 80A9D4E8 44816000 */ mtc1 $at, $f12 ## $f12 = 1.00
-/* 00F9C 80A9D4EC C4800094 */ lwc1 $f0, 0x0094($a0) ## 00000094
-/* 00FA0 80A9D4F0 C4840090 */ lwc1 $f4, 0x0090($a0) ## 00000090
-/* 00FA4 80A9D4F4 8FA50024 */ lw $a1, 0x0024($sp)
-/* 00FA8 80A9D4F8 46000005 */ abs.s $f0, $f0
-/* 00FAC 80A9D4FC 460C2080 */ add.s $f2, $f4, $f12
-/* 00FB0 80A9D500 460C0180 */ add.s $f6, $f0, $f12
-/* 00FB4 80A9D504 44071000 */ mfc1 $a3, $f2
-/* 00FB8 80A9D508 0C00BD0D */ jal func_8002F434
-/* 00FBC 80A9D50C E7A60010 */ swc1 $f6, 0x0010($sp)
-.L80A9D510:
-/* 00FC0 80A9D510 8FBF001C */ lw $ra, 0x001C($sp)
-/* 00FC4 80A9D514 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
-/* 00FC8 80A9D518 03E00008 */ jr $ra
-/* 00FCC 80A9D51C 00000000 */ nop
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9D520.s b/asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9D520.s
deleted file mode 100644
index f898c250f..000000000
--- a/asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9D520.s
+++ /dev/null
@@ -1,41 +0,0 @@
-glabel func_80A9D520
-/* 00FD0 80A9D520 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
-/* 00FD4 80A9D524 AFBF0014 */ sw $ra, 0x0014($sp)
-/* 00FD8 80A9D528 AFA40018 */ sw $a0, 0x0018($sp)
-/* 00FDC 80A9D52C AFA5001C */ sw $a1, 0x001C($sp)
-/* 00FE0 80A9D530 0C042F6F */ jal func_8010BDBC
-/* 00FE4 80A9D534 24A420D8 */ addiu $a0, $a1, 0x20D8 ## $a0 = 000020D8
-/* 00FE8 80A9D538 24010006 */ addiu $at, $zero, 0x0006 ## $at = 00000006
-/* 00FEC 80A9D53C 5441001A */ bnel $v0, $at, .L80A9D5A8
-/* 00FF0 80A9D540 8FBF0014 */ lw $ra, 0x0014($sp)
-/* 00FF4 80A9D544 0C041AF2 */ jal func_80106BC8
-/* 00FF8 80A9D548 8FA4001C */ lw $a0, 0x001C($sp)
-/* 00FFC 80A9D54C 10400015 */ beq $v0, $zero, .L80A9D5A4
-/* 01000 80A9D550 3C0E8012 */ lui $t6, %hi(gItemSlots+0x2d)
-/* 01004 80A9D554 91CE7491 */ lbu $t6, %lo(gItemSlots+0x2d)($t6)
-/* 01008 80A9D558 3C028016 */ lui $v0, %hi(gSaveContext)
-/* 0100C 80A9D55C 2442E660 */ addiu $v0, %lo(gSaveContext)
-/* 01010 80A9D560 004E7821 */ addu $t7, $v0, $t6
-/* 01014 80A9D564 91F80074 */ lbu $t8, 0x0074($t7) ## 00000074
-/* 01018 80A9D568 24010035 */ addiu $at, $zero, 0x0035 ## $at = 00000035
-/* 0101C 80A9D56C 57010009 */ bnel $t8, $at, .L80A9D594
-/* 01020 80A9D570 8FA20018 */ lw $v0, 0x0018($sp)
-/* 01024 80A9D574 0C0222A8 */ jal func_80088AA0
-/* 01028 80A9D578 240400B4 */ addiu $a0, $zero, 0x00B4 ## $a0 = 000000B4
-/* 0102C 80A9D57C 3C028016 */ lui $v0, %hi(gSaveContext)
-/* 01030 80A9D580 2442E660 */ addiu $v0, %lo(gSaveContext)
-/* 01034 80A9D584 945913FC */ lhu $t9, 0x13FC($v0) ## 8015FA5C
-/* 01038 80A9D588 3328FFFE */ andi $t0, $t9, 0xFFFE ## $t0 = 00000000
-/* 0103C 80A9D58C A44813FC */ sh $t0, 0x13FC($v0) ## 8015FA5C
-/* 01040 80A9D590 8FA20018 */ lw $v0, 0x0018($sp)
-.L80A9D594:
-/* 01044 80A9D594 3C0980AA */ lui $t1, %hi(func_80A9D42C) ## $t1 = 80AA0000
-/* 01048 80A9D598 2529D42C */ addiu $t1, $t1, %lo(func_80A9D42C) ## $t1 = 80A9D42C
-/* 0104C 80A9D59C A44001E0 */ sh $zero, 0x01E0($v0) ## 8015E840
-/* 01050 80A9D5A0 AC490190 */ sw $t1, 0x0190($v0) ## 8015E7F0
-.L80A9D5A4:
-/* 01054 80A9D5A4 8FBF0014 */ lw $ra, 0x0014($sp)
-.L80A9D5A8:
-/* 01058 80A9D5A8 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
-/* 0105C 80A9D5AC 03E00008 */ jr $ra
-/* 01060 80A9D5B0 00000000 */ nop
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9D670.s b/asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9D670.s
deleted file mode 100644
index e857dc6d6..000000000
--- a/asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9D670.s
+++ /dev/null
@@ -1,58 +0,0 @@
-glabel func_80A9D670
-/* 01120 80A9D670 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
-/* 01124 80A9D674 24010008 */ addiu $at, $zero, 0x0008 ## $at = 00000008
-/* 01128 80A9D678 AFBF0014 */ sw $ra, 0x0014($sp)
-/* 0112C 80A9D67C AFA40028 */ sw $a0, 0x0028($sp)
-/* 01130 80A9D680 AFA60030 */ sw $a2, 0x0030($sp)
-/* 01134 80A9D684 10A10006 */ beq $a1, $at, .L80A9D6A0
-/* 01138 80A9D688 AFA70034 */ sw $a3, 0x0034($sp)
-/* 0113C 80A9D68C 24010009 */ addiu $at, $zero, 0x0009 ## $at = 00000009
-/* 01140 80A9D690 10A10003 */ beq $a1, $at, .L80A9D6A0
-/* 01144 80A9D694 2401000A */ addiu $at, $zero, 0x000A ## $at = 0000000A
-/* 01148 80A9D698 54A10026 */ bnel $a1, $at, .L80A9D734
-/* 0114C 80A9D69C 8FBF0014 */ lw $ra, 0x0014($sp)
-.L80A9D6A0:
-/* 01150 80A9D6A0 8FAE003C */ lw $t6, 0x003C($sp)
-/* 01154 80A9D6A4 00057840 */ sll $t7, $a1, 1
-/* 01158 80A9D6A8 01CF1821 */ addu $v1, $t6, $t7
-/* 0115C 80A9D6AC 846402A6 */ lh $a0, 0x02A6($v1) ## 000002A6
-/* 01160 80A9D6B0 AFA5002C */ sw $a1, 0x002C($sp)
-/* 01164 80A9D6B4 0C01DE1C */ jal Math_Sins
- ## sins?
-/* 01168 80A9D6B8 AFA3001C */ sw $v1, 0x001C($sp)
-/* 0116C 80A9D6BC 8FA20038 */ lw $v0, 0x0038($sp)
-/* 01170 80A9D6C0 3C014348 */ lui $at, 0x4348 ## $at = 43480000
-/* 01174 80A9D6C4 44814000 */ mtc1 $at, $f8 ## $f8 = 200.00
-/* 01178 80A9D6C8 84580002 */ lh $t8, 0x0002($v0) ## 00000002
-/* 0117C 80A9D6CC 8FA3001C */ lw $v1, 0x001C($sp)
-/* 01180 80A9D6D0 46080282 */ mul.s $f10, $f0, $f8
-/* 01184 80A9D6D4 44982000 */ mtc1 $t8, $f4 ## $f4 = 0.00
-/* 01188 80A9D6D8 00000000 */ nop
-/* 0118C 80A9D6DC 468021A0 */ cvt.s.w $f6, $f4
-/* 01190 80A9D6E0 460A3400 */ add.s $f16, $f6, $f10
-/* 01194 80A9D6E4 4600848D */ trunc.w.s $f18, $f16
-/* 01198 80A9D6E8 44089000 */ mfc1 $t0, $f18
-/* 0119C 80A9D6EC 00000000 */ nop
-/* 011A0 80A9D6F0 A4480002 */ sh $t0, 0x0002($v0) ## 00000002
-/* 011A4 80A9D6F4 0C01DE0D */ jal Math_Coss
- ## coss?
-/* 011A8 80A9D6F8 846402BE */ lh $a0, 0x02BE($v1) ## 000002BE
-/* 011AC 80A9D6FC 8FA20038 */ lw $v0, 0x0038($sp)
-/* 011B0 80A9D700 3C014348 */ lui $at, 0x4348 ## $at = 43480000
-/* 011B4 80A9D704 44813000 */ mtc1 $at, $f6 ## $f6 = 200.00
-/* 011B8 80A9D708 84490004 */ lh $t1, 0x0004($v0) ## 00000004
-/* 011BC 80A9D70C 46060282 */ mul.s $f10, $f0, $f6
-/* 011C0 80A9D710 44892000 */ mtc1 $t1, $f4 ## $f4 = 0.00
-/* 011C4 80A9D714 00000000 */ nop
-/* 011C8 80A9D718 46802220 */ cvt.s.w $f8, $f4
-/* 011CC 80A9D71C 460A4400 */ add.s $f16, $f8, $f10
-/* 011D0 80A9D720 4600848D */ trunc.w.s $f18, $f16
-/* 011D4 80A9D724 440B9000 */ mfc1 $t3, $f18
-/* 011D8 80A9D728 00000000 */ nop
-/* 011DC 80A9D72C A44B0004 */ sh $t3, 0x0004($v0) ## 00000004
-/* 011E0 80A9D730 8FBF0014 */ lw $ra, 0x0014($sp)
-.L80A9D734:
-/* 011E4 80A9D734 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
-/* 011E8 80A9D738 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
-/* 011EC 80A9D73C 03E00008 */ jr $ra
-/* 011F0 80A9D740 00000000 */ nop
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9D744.s b/asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9D744.s
deleted file mode 100644
index d73d1293a..000000000
--- a/asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9D744.s
+++ /dev/null
@@ -1,25 +0,0 @@
-glabel func_80A9D744
-/* 011F4 80A9D744 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
-/* 011F8 80A9D748 3C0E80AA */ lui $t6, %hi(D_80A9D958) ## $t6 = 80AA0000
-/* 011FC 80A9D74C AFBF0014 */ sw $ra, 0x0014($sp)
-/* 01200 80A9D750 AFA40028 */ sw $a0, 0x0028($sp)
-/* 01204 80A9D754 AFA60030 */ sw $a2, 0x0030($sp)
-/* 01208 80A9D758 AFA70034 */ sw $a3, 0x0034($sp)
-/* 0120C 80A9D75C 25CED958 */ addiu $t6, $t6, %lo(D_80A9D958) ## $t6 = 80A9D958
-/* 01210 80A9D760 8DD80000 */ lw $t8, 0x0000($t6) ## 80A9D958
-/* 01214 80A9D764 27A40018 */ addiu $a0, $sp, 0x0018 ## $a0 = FFFFFFF0
-/* 01218 80A9D768 2401000B */ addiu $at, $zero, 0x000B ## $at = 0000000B
-/* 0121C 80A9D76C AC980000 */ sw $t8, 0x0000($a0) ## FFFFFFF0
-/* 01220 80A9D770 8DCF0004 */ lw $t7, 0x0004($t6) ## 80A9D95C
-/* 01224 80A9D774 AC8F0004 */ sw $t7, 0x0004($a0) ## FFFFFFF4
-/* 01228 80A9D778 8DD80008 */ lw $t8, 0x0008($t6) ## 80A9D960
-/* 0122C 80A9D77C 14A10004 */ bne $a1, $at, .L80A9D790
-/* 01230 80A9D780 AC980008 */ sw $t8, 0x0008($a0) ## FFFFFFF8
-/* 01234 80A9D784 8FA50038 */ lw $a1, 0x0038($sp)
-/* 01238 80A9D788 0C0346BD */ jal Matrix_MultVec3f
-/* 0123C 80A9D78C 24A50038 */ addiu $a1, $a1, 0x0038 ## $a1 = 00000038
-.L80A9D790:
-/* 01240 80A9D790 8FBF0014 */ lw $ra, 0x0014($sp)
-/* 01244 80A9D794 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
-/* 01248 80A9D798 03E00008 */ jr $ra
-/* 0124C 80A9D79C 00000000 */ nop
diff --git a/data/overlays/actors/z_en_kz.data.s b/data/overlays/actors/z_en_kz.data.s
deleted file mode 100644
index 22d1f76a0..000000000
--- a/data/overlays/actors/z_en_kz.data.s
+++ /dev/null
@@ -1,32 +0,0 @@
-.include "macro.inc"
-
- # assembler directives
- .set noat # allow manual use of $at
- .set noreorder # don't insert nops after branches
- .set gp=64 # allow use of 64-bit general purpose registers
-
-.section .data
-
-.balign 16
-
-glabel En_Kz_InitVars
- .word 0x01640400, 0x00000009, 0x00FF0000, 0x000002D8
-.word EnKz_Init
-.word EnKz_Destroy
-.word EnKz_Update
-.word EnKz_Draw
-glabel D_80A9D8C0
- .word 0x0A000039, 0x20010000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000100, 0x00500078, 0x00000000, 0x00000000
-glabel D_80A9D8EC
- .word 0x00000000, 0x00000000, 0xFF000000
-glabel D_80A9D8F8
- .word 0x0600075C, 0x3F800000, 0x00000000, 0xBF800000, 0x00000000, 0x00000000, 0x0600075C, 0x3F800000, 0x00000000, 0xBF800000, 0x00000000, 0xC1200000, 0x0600046C, 0x3F800000, 0x00000000, 0xBF800000, 0x00000000, 0xC1200000
-glabel D_80A9D940
- .word 0x00000000, 0x00000000, 0x00000000
-glabel D_80A9D94C
- .word 0x00000000, 0x00000000, 0x00000000
-glabel D_80A9D958
- .word 0x45228000, 0x00000000, 0x00000000
-glabel D_80A9D964
- .word 0x06001470, 0x06001870, 0x06001C70
-
diff --git a/data/overlays/actors/z_en_kz.reloc.s b/data/overlays/actors/z_en_kz.reloc.s
deleted file mode 100644
index fd7f72243..000000000
--- a/data/overlays/actors/z_en_kz.reloc.s
+++ /dev/null
@@ -1,13 +0,0 @@
-.include "macro.inc"
-
- # assembler directives
- .set noat # allow manual use of $at
- .set noreorder # don't insert nops after branches
- .set gp=64 # allow use of 64-bit general purpose registers
-
-.section .rodata
-
-.balign 16
-
-glabel D_80A9D9D0
- .incbin "baserom/ovl_En_Kz", 0x1480, 0x00000170
diff --git a/include/functions.h b/include/functions.h
index 7bd961afd..c7c0066d5 100644
--- a/include/functions.h
+++ b/include/functions.h
@@ -1073,6 +1073,7 @@ void Inventory_ChangeAmmo(s16 item, s16 ammoChange);
void func_80087680(GlobalContext* globalCtx);
void func_800876C8(GlobalContext* globalCtx);
s32 func_80087708(GlobalContext* globalCtx, s16 arg1, s16 arg2);
+void func_80088AA0(s16 seconds);
void func_80088B34(s16 arg0);
void Interface_Draw(GlobalContext* globalCtx);
void Interface_Update(GlobalContext* globalCtx);
diff --git a/include/macros.h b/include/macros.h
index 4eca922b6..b164c9a21 100644
--- a/include/macros.h
+++ b/include/macros.h
@@ -36,6 +36,7 @@
#define ALL_EQUIP_VALUE(equip) ((s32)(gSaveContext.equipment & gEquipMasks[equip]) >> gEquipShifts[equip])
#define CUR_EQUIP_VALUE(equip) ((s32)(gSaveContext.equips.equipment & gEquipMasks[equip]) >> gEquipShifts[equip])
+#define CHECK_OWNED_EQUIP(equip, value) ((gBitFlags[value] << gEquipShifts[equip]) & gSaveContext.equipment)
#define CUR_UPG_VALUE(upg) ((s32)(gSaveContext.upgrades & gUpgradeMasks[upg]) >> gUpgradeShifts[upg])
#define CAPACITY(upg, value) gUpgradeCapacities[upg][value]
diff --git a/include/z64actor.h b/include/z64actor.h
index ec00124f1..4ba2690ff 100644
--- a/include/z64actor.h
+++ b/include/z64actor.h
@@ -28,6 +28,8 @@ typedef struct {
} CollisionPoly; // size = 0x10
typedef void (*ActorFunc)(struct Actor*, struct GlobalContext*);
+typedef u16 (*callback1_800343CC)(struct GlobalContext*, struct Actor*);
+typedef s16 (*callback2_800343CC)(struct GlobalContext*, struct Actor*);
typedef struct {
/* 0x00 */ s16 id;
diff --git a/include/z64item.h b/include/z64item.h
index 7df521cf3..90d61de83 100644
--- a/include/z64item.h
+++ b/include/z64item.h
@@ -371,4 +371,6 @@ typedef enum {
/* 0x7D */ GI_TEXT_0 // no model appears over Link, shows text id 0 (pocket egg)
} GetItemID;
+#define ITEM_TRADE_ADULT ITEM_POCKET_EGG
+
#endif
diff --git a/spec b/spec
index 4b00bcf4d..6337e150a 100644
--- a/spec
+++ b/spec
@@ -2845,8 +2845,7 @@ endseg
beginseg
name "ovl_En_Kz"
include "build/src/overlays/actors/ovl_En_Kz/z_en_kz.o"
- include "build/data/overlays/actors/z_en_kz.data.o"
- include "build/data/overlays/actors/z_en_kz.reloc.o"
+ include "build/src/overlays/actors/ovl_En_Kz/z_en_kz_reloc.o"
endseg
beginseg
diff --git a/src/code/z_actor.c b/src/code/z_actor.c
index 411cc1857..d7af214e5 100644
--- a/src/code/z_actor.c
+++ b/src/code/z_actor.c
@@ -3637,8 +3637,8 @@ Hilite* func_8003435C(Vec3f* object, GlobalContext* globalCtx) {
return func_8002EB44(object, &globalCtx->view.eye, &lightDir, globalCtx->state.gfxCtx);
}
-s32 func_800343CC(GlobalContext* globalCtx, Actor* actor, s16* arg2, f32 arg3, u16 (*unkFunc1)(GlobalContext*, Actor*),
- s16 (*unkFunc2)(GlobalContext*, Actor*)) {
+s32 func_800343CC(GlobalContext* globalCtx, Actor* actor, s16* arg2, f32 arg3, callback1_800343CC unkFunc1,
+ callback2_800343CC unkFunc2) {
s16 sp26;
s16 sp24;
diff --git a/src/code/z_en_item00.c b/src/code/z_en_item00.c
index 9cc105dd1..bc3ff73d8 100644
--- a/src/code/z_en_item00.c
+++ b/src/code/z_en_item00.c
@@ -478,9 +478,8 @@ void func_8001E5C8(EnItem00* this, GlobalContext* globalCtx) {
this->actor.posRot.pos.y += 40.0f + Math_Sins(this->unk_15A * 15000) * (this->unk_15A * 0.3f);
- if
- LINK_IS_ADULT
- this->actor.posRot.pos.y += 20.0f;
+ if LINK_IS_ADULT
+ this->actor.posRot.pos.y += 20.0f;
}
extern s32 D_80157D90;
diff --git a/src/code/z_parameter.c b/src/code/z_parameter.c
index ab88d7f02..412303ffc 100644
--- a/src/code/z_parameter.c
+++ b/src/code/z_parameter.c
@@ -3554,7 +3554,7 @@ void Interface_Draw(GlobalContext* globalCtx) {
// Revert any spoiling trade quest items
for (phi_s3 = 0; phi_s3 < ARRAY_COUNT(gSpoilingItems); phi_s3++) {
- if (INV_CONTENT(ITEM_POCKET_EGG) == gSpoilingItems[phi_s3]) {
+ if (INV_CONTENT(ITEM_TRADE_ADULT) == gSpoilingItems[phi_s3]) {
gSaveContext.eventInf[0] &= 0x7F80;
osSyncPrintf("EVENT_INF=%x\n", gSaveContext.eventInf[0]);
globalCtx->nextEntranceIndex = sSpoilingItemEntrances[phi_s3];
diff --git a/src/overlays/actors/ovl_En_Kz/z_en_kz.c b/src/overlays/actors/ovl_En_Kz/z_en_kz.c
index 04d8978c8..fd405ce6b 100644
--- a/src/overlays/actors/ovl_En_Kz/z_en_kz.c
+++ b/src/overlays/actors/ovl_En_Kz/z_en_kz.c
@@ -1,3 +1,9 @@
+/*
+ * File: z_en_kz.c
+ * Overlay: ovl_En_Kz
+ * Description: King Zora
+ */
+
#include "z_en_kz.h"
#define FLAGS 0x00000009
@@ -9,7 +15,14 @@ void EnKz_Destroy(Actor* thisx, GlobalContext* globalCtx);
void EnKz_Update(Actor* thisx, GlobalContext* globalCtx);
void EnKz_Draw(Actor* thisx, GlobalContext* globalCtx);
-/*
+void EnKz_PreMweepWait(EnKz* this, GlobalContext* globalCtx);
+void EnKz_SetupMweep(EnKz* this, GlobalContext* globalCtx);
+void EnKz_Mweep(EnKz* this, GlobalContext* globalCtx);
+void EnKz_StopMweep(EnKz* this, GlobalContext* globalCtx);
+void EnKz_Wait(EnKz* this, GlobalContext* globalCtx);
+void EnKz_SetupGetItem(EnKz* this, GlobalContext* globalCtx);
+void EnKz_StartTimer(EnKz* this, GlobalContext* globalCtx);
+
const ActorInit En_Kz_InitVars = {
ACTOR_EN_KZ,
ACTORTYPE_NPC,
@@ -21,47 +34,456 @@ const ActorInit En_Kz_InitVars = {
(ActorFunc)EnKz_Update,
(ActorFunc)EnKz_Draw,
};
-*/
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9C550.s")
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9C5AC.s")
+static ColliderCylinderInit sCylinderInit = {
+ { COLTYPE_UNK10, 0x00, 0x00, 0x39, 0x20, COLSHAPE_CYLINDER },
+ { 0x00, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, 0x00, 0x00, 0x01 },
+ { 80, 120, 0, { 0, 0, 0 } },
+};
+
+static CollisionCheckInfoInit2 sColChkInfoInit = {
+ 0x00, 0x0000, 0x0000, 0x0000, 0xFF,
+};
+
+static struct_80034EC0_Entry sAnimations[] = {
+ { 0x0600075C, 1.0f, 0.0f, -1.0f, 0x00, 0.0f },
+ { 0x0600075C, 1.0f, 0.0f, -1.0f, 0x00, -10.0f },
+ { 0x0600046C, 1.0f, 0.0f, -1.0f, 0x00, -10.0f },
+};
+
+extern SkeletonHeader D_060086D0;
+
+u16 EnKz_GetTextNoMaskChild(GlobalContext* globalCtx, EnKz* this) {
+ Player* player = PLAYER;
+
+ if (CHECK_QUEST_ITEM(QUEST_ZORA_SAPPHIRE)) {
+ return 0x402B;
+ } else if (gSaveContext.eventChkInf[3] & 8) {
+ return 0x401C;
+ } else {
+ player->exchangeItemId = 0x1D;
+ return 0x401A;
+ }
+}
+
+u16 EnKz_GetTextNoMaskAdult(GlobalContext* globalCtx, EnKz* this) {
+ Player* player = PLAYER;
+
+ if (INV_CONTENT(ITEM_TRADE_ADULT) >= ITEM_FROG) {
+ if (!(gSaveContext.infTable[19] & 0x200)) {
+ if (CHECK_OWNED_EQUIP(EQUIP_TUNIC, 2)) {
+ return 0x401F;
+ } else {
+ return 0x4012;
+ }
+ } else {
+ return CHECK_QUEST_ITEM(QUEST_SONG_SERENADE) ? 0x4045 : 0x401A;
+ }
+ } else {
+ player->exchangeItemId = 0xC;
+ return 0x4012;
+ }
+}
+
+u16 EnKz_GetText(GlobalContext* globalCtx, EnKz* this) {
+ u16 reactionText = Text_GetFaceReaction(globalCtx, 0x1E);
+
+ if (reactionText != 0) {
+ return reactionText;
+ }
+
+ if (LINK_IS_ADULT) {
+ return EnKz_GetTextNoMaskAdult(globalCtx, this);
+ } else {
+ return EnKz_GetTextNoMaskChild(globalCtx, this);
+ }
+}
+
+s16 func_80A9C6C0(GlobalContext* globalCtx, EnKz* this) {
+ s32 pad;
+ s16 ret = 1;
+
+ switch (func_8010BDBC(&globalCtx->msgCtx)) {
+ case 6:
+ ret = 0;
+ switch (this->actor.textId) {
+ case 0x4012:
+ gSaveContext.infTable[19] |= 0x200;
+ ret = 2;
+ break;
+ case 0x401B:
+ ret = func_80106BC8(globalCtx) == 0 ? 1 : 2;
+ break;
+ case 0x401F:
+ gSaveContext.infTable[19] |= 0x200;
+ break;
+ }
+ break;
+ case 3:
+ if (this->actor.textId != 0x4014) {
+ if (this->actor.textId == 0x401B && !this->sfxPlayed) {
+ Audio_PlaySoundGeneral(NA_SE_SY_CORRECT_CHIME, &D_801333D4, 4, &D_801333E0, &D_801333E0,
+ &D_801333E8);
+ this->sfxPlayed = true;
+ }
+ } else if (!this->sfxPlayed) {
+ Audio_PlaySoundGeneral(NA_SE_SY_TRE_BOX_APPEAR, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8);
+ this->sfxPlayed = true;
+ }
+ break;
+ case 4:
+ if (func_80106BC8(globalCtx) == 0) {
+ break;
+ }
+ if (this->actor.textId == 0x4014) {
+ if (globalCtx->msgCtx.choiceIndex == 0) {
+ EnKz_SetupGetItem(this, globalCtx);
+ ret = 2;
+ } else {
+ this->actor.textId = 0x4016;
+ func_8010B720(globalCtx, this->actor.textId);
+ }
+ }
+ break;
+ case 5:
+ if (func_80106BC8(globalCtx) != 0) {
+ ret = 2;
+ }
+ break;
+ case 0:
+ case 1:
+ case 2:
+ case 7:
+ case 8:
+ case 9:
+ break;
+ }
+ return ret;
+}
+
+void EnKz_UpdateEyes(EnKz* this) {
+ if (DECR(this->blinkTimer) == 0) {
+ this->eyeIdx += 1;
+ if (this->eyeIdx >= 3) {
+ this->blinkTimer = Math_Rand_S16Offset(30, 30);
+ this->eyeIdx = 0;
+ }
+ }
+}
+
+s32 func_80A9C95C(GlobalContext* globalCtx, EnKz* this, s16* arg2, f32 unkf, callback1_800343CC callback1,
+ callback2_800343CC callback2) {
+ Player* player = PLAYER;
+ s16 sp32;
+ s16 sp30;
+ f32 xzDistanceFromLink;
+ f32 yaw;
+
+ if (func_8002F194(&this->actor, globalCtx) != 0) {
+ *arg2 = 1;
+ return 1;
+ }
+
+ if (*arg2 != 0) {
+ *arg2 = callback2(globalCtx, this);
+ return 0;
+ }
+
+ yaw = Math_Vec3f_Yaw(&this->actor.initPosRot.pos, &player->actor.posRot.pos);
+ yaw -= this->actor.shape.rot.y;
+ if ((fabsf(yaw) > 1638.0f) || (this->actor.xzDistanceFromLink < 265.0f)) {
+ this->actor.flags &= ~1;
+ return 0;
+ }
+
+ this->actor.flags |= 1;
+
+ func_8002F374(globalCtx, &this->actor, &sp32, &sp30);
+ if (!((sp32 >= -30) && (sp32 < 361) && (sp30 >= -10) && (sp30 < 241))) {
+ return 0;
+ }
+
+ xzDistanceFromLink = this->actor.xzDistanceFromLink;
+ this->actor.xzDistanceFromLink = Math_Vec3f_DistXZ(&this->actor.initPosRot.pos, &player->actor.posRot.pos);
+ if (func_8002F2CC(&this->actor, globalCtx, unkf) == 0) {
+ this->actor.xzDistanceFromLink = xzDistanceFromLink;
+ return 0;
+ }
+ this->actor.xzDistanceFromLink = xzDistanceFromLink;
+ this->actor.textId = callback1(globalCtx, this);
+
+ return 0;
+}
+
+void func_80A9CB18(EnKz* this, GlobalContext* globalCtx) {
+ Player* player = PLAYER;
+
+ if (func_80A9C95C(globalCtx, this, &this->unk_1E0.unk_00, 340.0f, EnKz_GetText, func_80A9C6C0) != 0) {
+ if ((this->actor.textId == 0x401A) && (!(gSaveContext.eventChkInf[3] & 8))) {
+ if (func_8002F368(globalCtx) == 0x1D) {
+ this->actor.textId = 0x401B;
+ this->sfxPlayed = false;
+ } else {
+ this->actor.textId = 0x401A;
+ }
+ player->actor.textId = this->actor.textId;
+ return;
+ }
+ if (LINK_IS_ADULT) {
+ if ((INV_CONTENT(ITEM_TRADE_ADULT) == ITEM_PRESCRIPTION) && (func_8002F368(globalCtx) == 0xC)) {
+ this->actor.textId = 0x4014;
+ this->sfxPlayed = false;
+ player->actor.textId = this->actor.textId;
+ this->isTrading = true;
+ return;
+ }
+ this->isTrading = false;
+ if (gSaveContext.infTable[19] & 0x200) {
+ this->actor.textId = CHECK_QUEST_ITEM(QUEST_SONG_SERENADE) ? 0x4045 : 0x401A;
+ player->actor.textId = this->actor.textId;
+ return;
+ }
+ this->actor.textId = CHECK_OWNED_EQUIP(EQUIP_TUNIC, 2) ? 0x401F : 0x4012;
+ player->actor.textId = this->actor.textId;
+ }
+ }
+}
+
+s32 EnKz_FollowPath(EnKz* this, GlobalContext* globalCtx) {
+ Path* path;
+ Vec3s* pointPos;
+ f32 pathDiffX;
+ f32 pathDiffZ;
+
+ if ((this->actor.params & 0xFF00) == 0xFF00) {
+ return 0;
+ }
+
+ path = &globalCtx->setupPathList[(this->actor.params & 0xFF00) >> 8];
+ pointPos = SEGMENTED_TO_VIRTUAL(path->points);
+ pointPos += this->waypoint;
+
+ pathDiffX = pointPos->x - this->actor.posRot.pos.x;
+ pathDiffZ = pointPos->z - this->actor.posRot.pos.z;
+ Math_SmoothScaleMaxMinS(&this->actor.posRot.rot.y, (Math_atan2f(pathDiffX, pathDiffZ) * 10430.3779296875f), 0xA,
+ 0x3E8, 1);
+
+ if ((SQ(pathDiffX) + SQ(pathDiffZ)) < 10.0f) {
+ this->waypoint++;
+ if (this->waypoint >= path->count) {
+ this->waypoint = 0;
+ }
+ return 1;
+ }
+ return 0;
+}
+
+s32 EnKz_SetMovedPos(EnKz* this, GlobalContext* globalCtx) {
+ Path* path;
+ Vec3s* lastPointPos;
+
+ if ((this->actor.params & 0xFF00) == 0xFF00) {
+ return 0;
+ }
+
+ path = &globalCtx->setupPathList[(this->actor.params & 0xFF00) >> 8];
+ lastPointPos = SEGMENTED_TO_VIRTUAL(path->points);
+ lastPointPos += path->count - 1;
+
+ this->actor.posRot.pos.x = lastPointPos->x;
+ this->actor.posRot.pos.y = lastPointPos->y;
+ this->actor.posRot.pos.z = lastPointPos->z;
+
+ return 1;
+}
+
+void EnKz_Init(Actor* thisx, GlobalContext* globalCtx) {
+ EnKz* this = THIS;
+ s32 pad;
+
+ SkelAnime_InitSV(globalCtx, &this->skelanime, &D_060086D0, NULL, &this->limbDrawTable, &this->transitionDrawTable,
+ 12);
+ ActorShape_Init(&this->actor.shape, 0.0, NULL, 0.0);
+ Collider_InitCylinder(globalCtx, &this->collider);
+ Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit);
+ func_80061EFC(&this->actor.colChkInfo, NULL, &sColChkInfoInit);
+ Actor_SetScale(&this->actor, 0.01);
+ this->actor.unk_1F = 3;
+ this->unk_1E0.unk_00 = 0;
+ func_80034EC0(&this->skelanime, sAnimations, 0);
+
+ if (gSaveContext.eventChkInf[3] & 8) {
+ EnKz_SetMovedPos(this, globalCtx);
+ }
+
+ if (LINK_IS_ADULT) {
+ if (!(gSaveContext.infTable[19] & 0x100)) {
+ Actor_SpawnAttached(&globalCtx->actorCtx, &this->actor, globalCtx, ACTOR_BG_ICE_SHELTER,
+ this->actor.posRot.pos.x, this->actor.posRot.pos.y, this->actor.posRot.pos.z, 0, 0, 0,
+ 0x04FF);
+ }
+ this->actionFunc = EnKz_Wait;
+ } else {
+ this->actionFunc = EnKz_PreMweepWait;
+ }
+}
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9C658.s")
+void EnKz_Destroy(Actor* thisx, GlobalContext* globalCtx) {
+ EnKz* this = THIS;
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9C6C0.s")
+ Collider_DestroyCylinder(globalCtx, &this->collider);
+}
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9C8E4.s")
+void EnKz_PreMweepWait(EnKz* this, GlobalContext* globalCtx) {
+ if (this->unk_1E0.unk_00 == 2) {
+ func_80034EC0(&this->skelanime, sAnimations, 2);
+ this->unk_1E0.unk_00 = 0;
+ this->actionFunc = EnKz_SetupMweep;
+ } else {
+ func_80034F54(globalCtx, &this->unk_2A6, &this->unk_2BE, 12);
+ }
+}
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9C95C.s")
+void EnKz_SetupMweep(EnKz* this, GlobalContext* globalCtx) {
+ Vec3f unused = { 0.0f, 0.0f, 0.0f };
+ Vec3f pos;
+ Vec3f initPos;
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9CB18.s")
+ this->cutsceneCamera = Gameplay_CreateSubCamera(globalCtx);
+ this->gameplayCamera = globalCtx->activeCamera;
+ Gameplay_ChangeCameraStatus(globalCtx, this->gameplayCamera, 1);
+ Gameplay_ChangeCameraStatus(globalCtx, this->cutsceneCamera, 7);
+ pos = this->actor.posRot.pos;
+ initPos = this->actor.initPosRot.pos;
+ pos.y += 60.0f;
+ initPos.y += -100.0f;
+ initPos.z += 260.0f;
+ func_800C04D8(globalCtx, this->cutsceneCamera, &pos, &initPos);
+ func_8002DF54(globalCtx, &this->actor, 8);
+ this->actor.speedXZ = 0.1f;
+ this->actionFunc = EnKz_Mweep;
+}
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9CCD8.s")
+void EnKz_Mweep(EnKz* this, GlobalContext* globalCtx) {
+ Vec3f unused = { 0.0f, 0.0f, 0.0f };
+ Vec3f pos;
+ Vec3f initPos;
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9CE44.s")
+ pos = this->actor.posRot.pos;
+ initPos = this->actor.initPosRot.pos;
+ pos.y += 60.0f;
+ initPos.y += -100.0f;
+ initPos.z += 260.0f;
+ func_800C04D8(globalCtx, this->cutsceneCamera, &pos, &initPos);
+ if ((EnKz_FollowPath(this, globalCtx) == 1) && (this->waypoint == 0)) {
+ func_80034EC0(&this->skelanime, sAnimations, 1);
+ Inventory_ReplaceItem(globalCtx, ITEM_LETTER_RUTO, ITEM_BOTTLE);
+ EnKz_SetMovedPos(this, globalCtx);
+ gSaveContext.eventChkInf[3] |= 8;
+ this->actor.speedXZ = 0.0;
+ this->actionFunc = EnKz_StopMweep;
+ }
+ if (this->skelanime.animCurrentFrame == 13.0f) {
+ Audio_PlayActorSound2(&this->actor, NA_SE_VO_KZ_MOVE);
+ }
+}
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Kz/EnKz_Init.s")
+void EnKz_StopMweep(EnKz* this, GlobalContext* globalCtx) {
+ Gameplay_ChangeCameraStatus(globalCtx, this->gameplayCamera, 7);
+ Gameplay_ClearCamera(globalCtx, this->cutsceneCamera);
+ func_8002DF54(globalCtx, &this->actor, 7);
+ this->actionFunc = EnKz_Wait;
+}
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Kz/EnKz_Destroy.s")
+void EnKz_Wait(EnKz* this, GlobalContext* globalCtx) {
+ if (this->unk_1E0.unk_00 == 2) {
+ this->actionFunc = EnKz_SetupGetItem;
+ EnKz_SetupGetItem(this, globalCtx);
+ } else {
+ func_80034F54(globalCtx, &this->unk_2A6, &this->unk_2BE, 12);
+ }
+}
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9D0C0.s")
+void EnKz_SetupGetItem(EnKz* this, GlobalContext* globalCtx) {
+ s32 getItemID;
+ f32 xzRange;
+ f32 yRange;
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9D130.s")
+ if (func_8002F410(this, globalCtx)) {
+ this->actor.attachedA = NULL;
+ this->unk_1E0.unk_00 = 1;
+ this->actionFunc = EnKz_StartTimer;
+ } else {
+ getItemID = this->isTrading == true ? GI_FROG : GI_TUNIC_ZORA;
+ yRange = fabsf(this->actor.yDistanceFromLink) + 1.0f;
+ xzRange = this->actor.xzDistanceFromLink + 1.0f;
+ func_8002F434(&this->actor, globalCtx, getItemID, xzRange, yRange);
+ }
+}
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9D25C.s")
+void EnKz_StartTimer(EnKz* this, GlobalContext* globalCtx) {
+ if ((func_8010BDBC(&globalCtx->msgCtx) == 6) && (func_80106BC8(globalCtx))) {
+ if (INV_CONTENT(ITEM_TRADE_ADULT) == ITEM_FROG) {
+ func_80088AA0(180); // start timer2 with 3 minutes
+ gSaveContext.eventInf[1] &= ~1;
+ }
+ this->unk_1E0.unk_00 = 0;
+ this->actionFunc = EnKz_Wait;
+ }
+}
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9D3C8.s")
+void EnKz_Update(Actor* thisx, GlobalContext* globalCtx) {
+ EnKz* this = THIS;
+ s32 pad;
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9D42C.s")
+ if (LINK_IS_ADULT && !(gSaveContext.infTable[19] & 0x100)) {
+ gSaveContext.infTable[19] |= 0x100;
+ }
+ Collider_CylinderUpdate(&this->actor, &this->collider);
+ CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->collider);
+ SkelAnime_FrameUpdateMatrix(&this->skelanime);
+ EnKz_UpdateEyes(this);
+ Actor_MoveForward(&this->actor);
+ if (this->actionFunc != EnKz_StartTimer) {
+ func_80A9CB18(this, globalCtx);
+ }
+ this->actionFunc(this, globalCtx);
+}
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9D490.s")
+s32 EnKz_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx) {
+ s32 limb = limbIndex;
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9D520.s")
+ if (limb == 8 || limb == 9 || limb == 10) {
+ rot->y += Math_Sins(THIS->unk_2A6[limb]) * 200.0f;
+ rot->z += Math_Coss(THIS->unk_2BE[limb]) * 200.0f;
+ }
+ return 0;
+}
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Kz/EnKz_Update.s")
+void EnKz_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx) {
+ s32 limb = limbIndex;
+ Vec3f mult = { 2600.0f, 0.0f, 0.0f };
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9D670.s")
+ if (limb == 11) {
+ Matrix_MultVec3f(&mult, &THIS->actor.posRot2.pos);
+ }
+}
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9D744.s")
+void EnKz_Draw(Actor* thisx, GlobalContext* globalCtx) {
+ static UNK_PTR sEyeSegments[] = {
+ 0x06001470,
+ 0x06001870,
+ 0x06001C70,
+ };
+ EnKz* this = THIS;
+ GraphicsContext* gfxCtx;
+ Gfx* dispRefs[4];
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Kz/EnKz_Draw.s")
+ gfxCtx = globalCtx->state.gfxCtx;
+ Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_kz.c", 1259);
+ gSPSegment(gfxCtx->polyOpa.p++, 0x08, SEGMENTED_TO_VIRTUAL(sEyeSegments[this->eyeIdx]));
+ func_800943C8(globalCtx->state.gfxCtx);
+ SkelAnime_DrawSV(globalCtx, this->skelanime.skeleton, this->skelanime.limbDrawTbl, this->skelanime.dListCount,
+ EnKz_OverrideLimbDraw, EnKz_PostLimbDraw, &this->actor);
+ Graph_CloseDisps(&dispRefs, globalCtx->state.gfxCtx, "../z_en_kz.c", 1281);
+}
diff --git a/src/overlays/actors/ovl_En_Kz/z_en_kz.h b/src/overlays/actors/ovl_En_Kz/z_en_kz.h
index 49933ea51..043b595e1 100644
--- a/src/overlays/actors/ovl_En_Kz/z_en_kz.h
+++ b/src/overlays/actors/ovl_En_Kz/z_en_kz.h
@@ -6,9 +6,26 @@
struct EnKz;
+typedef void (*EnKzActionFunc)(struct EnKz*, GlobalContext*);
+
typedef struct EnKz {
/* 0x0000 */ Actor actor;
- /* 0x014C */ char unk_14C[0x18C];
+ /* 0x014C */ SkelAnime skelanime;
+ /* 0x0190 */ EnKzActionFunc actionFunc;
+ /* 0x0194 */ ColliderCylinder collider;
+ /* 0x01E0 */ struct_80034A14_arg1 unk_1E0;
+ /* 0x0208 */ u8 sfxPlayed;
+ /* 0x0209 */ u8 isTrading;
+ /* 0x020A */ s16 waypoint;
+ /* 0x020C */ s16 blinkTimer;
+ /* 0x020E */ char unk_20E[0x2];
+ /* 0x0210 */ s16 eyeIdx;
+ /* 0x0212 */ s16 cutsceneCamera;
+ /* 0x0214 */ s16 gameplayCamera;
+ /* 0x0216 */ Vec3s limbDrawTable[12];
+ /* 0x025E */ Vec3s transitionDrawTable[12];
+ /* 0x02A6 */ s16 unk_2A6[12];
+ /* 0x02BE */ s16 unk_2BE[12];
} EnKz; // size = 0x02D8
extern const ActorInit En_Kz_InitVars;
diff --git a/undefined_syms.txt b/undefined_syms.txt
index 520a0e959..def8cdf77 100644
--- a/undefined_syms.txt
+++ b/undefined_syms.txt
@@ -512,6 +512,9 @@ D_06001080 = 0x06001080;
D_06004768 = 0x06004768;
D_0600039C = 0x0600039C;
+// z_en_kz
+D_060086D0 = 0x060086D0;
+
// z_bg_spot05_soko
D_06000918 = 0x06000918;
D_060012C0 = 0x060012C0;