summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEmill <emil.lenngren@gmail.com>2021-02-28 16:43:25 +0100
committerGitHub <noreply@github.com>2021-02-28 10:43:25 -0500
commit80d0b2785d9dc4f989cb861f4c1960524bcddcb6 (patch)
tree8920d7bcf8deef08d2d7690b174a898bb285c97e
parent2b70c843079afd63f2f583e3c11bd98b96e78af7 (diff)
ovl_En_Brob OK (#708)
* ovl_En_Brob OK * Review changes
-rw-r--r--asm/non_matchings/overlays/actors/ovl_En_Brob/EnBrob_Destroy.s26
-rw-r--r--asm/non_matchings/overlays/actors/ovl_En_Brob/EnBrob_Draw.s33
-rw-r--r--asm/non_matchings/overlays/actors/ovl_En_Brob/EnBrob_Init.s178
-rw-r--r--asm/non_matchings/overlays/actors/ovl_En_Brob/EnBrob_Update.s188
-rw-r--r--asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CADDC.s29
-rw-r--r--asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CAE44.s24
-rw-r--r--asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CAEA0.s22
-rw-r--r--asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CAEF4.s39
-rw-r--r--asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CAF88.s35
-rw-r--r--asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CB008.s20
-rw-r--r--asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CB054.s54
-rw-r--r--asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CB114.s72
-rw-r--r--asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CB218.s47
-rw-r--r--asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CB2B8.s49
-rw-r--r--asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CB354.s72
-rw-r--r--asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CB458.s155
-rw-r--r--asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CB90C.s56
-rw-r--r--data/overlays/actors/z_en_brob.data.s26
-rw-r--r--data/overlays/actors/z_en_brob.reloc.s13
-rw-r--r--spec3
-rw-r--r--src/overlays/actors/ovl_En_Brob/z_en_brob.c295
-rw-r--r--src/overlays/actors/ovl_En_Brob/z_en_brob.h12
22 files changed, 280 insertions, 1168 deletions
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Brob/EnBrob_Destroy.s b/asm/non_matchings/overlays/actors/ovl_En_Brob/EnBrob_Destroy.s
deleted file mode 100644
index 944ba2381..000000000
--- a/asm/non_matchings/overlays/actors/ovl_En_Brob/EnBrob_Destroy.s
+++ /dev/null
@@ -1,26 +0,0 @@
-glabel EnBrob_Destroy
-/* 00274 809CAD84 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
-/* 00278 809CAD88 AFA40018 */ sw $a0, 0x0018($sp)
-/* 0027C 809CAD8C 8FAE0018 */ lw $t6, 0x0018($sp)
-/* 00280 809CAD90 AFBF0014 */ sw $ra, 0x0014($sp)
-/* 00284 809CAD94 00A03825 */ or $a3, $a1, $zero ## $a3 = 00000000
-/* 00288 809CAD98 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
-/* 0028C 809CAD9C 8DC6014C */ lw $a2, 0x014C($t6) ## 0000014C
-/* 00290 809CADA0 AFA7001C */ sw $a3, 0x001C($sp)
-/* 00294 809CADA4 0C00FB56 */ jal DynaPoly_DeleteBgActor
- ## DynaPoly_DeleteBgActor
-/* 00298 809CADA8 24A50810 */ addiu $a1, $a1, 0x0810 ## $a1 = 00000810
-/* 0029C 809CADAC 8FA50018 */ lw $a1, 0x0018($sp)
-/* 002A0 809CADB0 8FA4001C */ lw $a0, 0x001C($sp)
-/* 002A4 809CADB4 0C0170EB */ jal Collider_DestroyCylinder
-
-/* 002A8 809CADB8 24A50228 */ addiu $a1, $a1, 0x0228 ## $a1 = 00000228
-/* 002AC 809CADBC 8FA50018 */ lw $a1, 0x0018($sp)
-/* 002B0 809CADC0 8FA4001C */ lw $a0, 0x001C($sp)
-/* 002B4 809CADC4 0C0170EB */ jal Collider_DestroyCylinder
-
-/* 002B8 809CADC8 24A50274 */ addiu $a1, $a1, 0x0274 ## $a1 = 00000274
-/* 002BC 809CADCC 8FBF0014 */ lw $ra, 0x0014($sp)
-/* 002C0 809CADD0 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
-/* 002C4 809CADD4 03E00008 */ jr $ra
-/* 002C8 809CADD8 00000000 */ nop
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Brob/EnBrob_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Brob/EnBrob_Draw.s
deleted file mode 100644
index 57529c20b..000000000
--- a/asm/non_matchings/overlays/actors/ovl_En_Brob/EnBrob_Draw.s
+++ /dev/null
@@ -1,33 +0,0 @@
-glabel EnBrob_Draw
-/* 00ED0 809CB9E0 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
-/* 00ED4 809CB9E4 AFB00028 */ sw $s0, 0x0028($sp)
-/* 00ED8 809CB9E8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
-/* 00EDC 809CB9EC AFBF002C */ sw $ra, 0x002C($sp)
-/* 00EE0 809CB9F0 AFA50034 */ sw $a1, 0x0034($sp)
-/* 00EE4 809CB9F4 0C024F46 */ jal func_80093D18
-/* 00EE8 809CB9F8 8CA40000 */ lw $a0, 0x0000($a1) ## 00000000
-/* 00EEC 809CB9FC 860F01AE */ lh $t7, 0x01AE($s0) ## 000001AE
-/* 00EF0 809CBA00 44806000 */ mtc1 $zero, $f12 ## $f12 = 0.00
-/* 00EF4 809CBA04 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
-/* 00EF8 809CBA08 448F2000 */ mtc1 $t7, $f4 ## $f4 = 0.00
-/* 00EFC 809CBA0C 44066000 */ mfc1 $a2, $f12
-/* 00F00 809CBA10 0C034261 */ jal Matrix_Translate
-/* 00F04 809CBA14 468023A0 */ cvt.s.w $f14, $f4
-/* 00F08 809CBA18 8E050168 */ lw $a1, 0x0168($s0) ## 00000168
-/* 00F0C 809CBA1C 8E060184 */ lw $a2, 0x0184($s0) ## 00000184
-/* 00F10 809CBA20 92070166 */ lbu $a3, 0x0166($s0) ## 00000166
-/* 00F14 809CBA24 3C18809D */ lui $t8, %hi(func_809CB90C) ## $t8 = 809D0000
-/* 00F18 809CBA28 2718B90C */ addiu $t8, $t8, %lo(func_809CB90C) ## $t8 = 809CB90C
-/* 00F1C 809CBA2C AFB80014 */ sw $t8, 0x0014($sp)
-/* 00F20 809CBA30 AFB00018 */ sw $s0, 0x0018($sp)
-/* 00F24 809CBA34 AFA00010 */ sw $zero, 0x0010($sp)
-/* 00F28 809CBA38 0C0286B2 */ jal SkelAnime_DrawFlexOpa
-/* 00F2C 809CBA3C 8FA40034 */ lw $a0, 0x0034($sp)
-/* 00F30 809CBA40 8FBF002C */ lw $ra, 0x002C($sp)
-/* 00F34 809CBA44 8FB00028 */ lw $s0, 0x0028($sp)
-/* 00F38 809CBA48 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
-/* 00F3C 809CBA4C 03E00008 */ jr $ra
-/* 00F40 809CBA50 00000000 */ nop
-/* 00F44 809CBA54 00000000 */ nop
-/* 00F48 809CBA58 00000000 */ nop
-/* 00F4C 809CBA5C 00000000 */ nop
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Brob/EnBrob_Init.s b/asm/non_matchings/overlays/actors/ovl_En_Brob/EnBrob_Init.s
deleted file mode 100644
index 5ba28599a..000000000
--- a/asm/non_matchings/overlays/actors/ovl_En_Brob/EnBrob_Init.s
+++ /dev/null
@@ -1,178 +0,0 @@
-.late_rodata
-glabel D_809CBAC0
- .float 0.033333335
-glabel D_809CBAC4
- .float 0.06666667
-glabel D_809CBAC8
- .float 12000.0
-
-.text
-glabel EnBrob_Init
-/* 00000 809CAB10 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0
-/* 00004 809CAB14 AFB00024 */ sw $s0, 0x0024($sp)
-/* 00008 809CAB18 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
-/* 0000C 809CAB1C AFB10028 */ sw $s1, 0x0028($sp)
-/* 00010 809CAB20 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
-/* 00014 809CAB24 AFBF002C */ sw $ra, 0x002C($sp)
-/* 00018 809CAB28 260E01B0 */ addiu $t6, $s0, 0x01B0 ## $t6 = 000001B0
-/* 0001C 809CAB2C 260F01EC */ addiu $t7, $s0, 0x01EC ## $t7 = 000001EC
-/* 00020 809CAB30 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
-/* 00024 809CAB34 3C060600 */ lui $a2, %hi(D_060015D8) ## $a2 = 06000000
-/* 00028 809CAB38 3C070600 */ lui $a3, %hi(D_06001750) ## $a3 = 06000000
-/* 0002C 809CAB3C 2418000A */ addiu $t8, $zero, 0x000A ## $t8 = 0000000A
-/* 00030 809CAB40 AFA00034 */ sw $zero, 0x0034($sp)
-/* 00034 809CAB44 AFB80018 */ sw $t8, 0x0018($sp)
-/* 00038 809CAB48 24E71750 */ addiu $a3, $a3, %lo(D_06001750) ## $a3 = 06001750
-/* 0003C 809CAB4C 24C615D8 */ addiu $a2, $a2, %lo(D_060015D8) ## $a2 = 060015D8
-/* 00040 809CAB50 26050164 */ addiu $a1, $s0, 0x0164 ## $a1 = 00000164
-/* 00044 809CAB54 AFAF0014 */ sw $t7, 0x0014($sp)
-/* 00048 809CAB58 0C0291BE */ jal SkelAnime_InitFlex
-/* 0004C 809CAB5C AFAE0010 */ sw $t6, 0x0010($sp)
-/* 00050 809CAB60 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
-/* 00054 809CAB64 0C010D20 */ jal DynaPolyActor_Init
-
-/* 00058 809CAB68 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
-/* 0005C 809CAB6C 3C040600 */ lui $a0, %hi(D_06001A70) ## $a0 = 06000000
-/* 00060 809CAB70 24841A70 */ addiu $a0, $a0, %lo(D_06001A70) ## $a0 = 06001A70
-/* 00064 809CAB74 0C010620 */ jal CollisionHeader_GetVirtual
-
-/* 00068 809CAB78 27A50034 */ addiu $a1, $sp, 0x0034 ## $a1 = FFFFFFF4
-/* 0006C 809CAB7C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
-/* 00070 809CAB80 26250810 */ addiu $a1, $s1, 0x0810 ## $a1 = 00000810
-/* 00074 809CAB84 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
-/* 00078 809CAB88 0C00FA9D */ jal DynaPoly_SetBgActor
- ## DynaPoly_SetBgActor
-/* 0007C 809CAB8C 8FA70034 */ lw $a3, 0x0034($sp)
-/* 00080 809CAB90 AE02014C */ sw $v0, 0x014C($s0) ## 0000014C
-/* 00084 809CAB94 26050228 */ addiu $a1, $s0, 0x0228 ## $a1 = 00000228
-/* 00088 809CAB98 AFA50030 */ sw $a1, 0x0030($sp)
-/* 0008C 809CAB9C 0C0170D9 */ jal Collider_InitCylinder
-
-/* 00090 809CABA0 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
-/* 00094 809CABA4 3C07809D */ lui $a3, %hi(D_809CBA80) ## $a3 = 809D0000
-/* 00098 809CABA8 8FA50030 */ lw $a1, 0x0030($sp)
-/* 0009C 809CABAC 24E7BA80 */ addiu $a3, $a3, %lo(D_809CBA80) ## $a3 = 809CBA80
-/* 000A0 809CABB0 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
-/* 000A4 809CABB4 0C01712B */ jal Collider_SetCylinder
-
-/* 000A8 809CABB8 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
-/* 000AC 809CABBC 26050274 */ addiu $a1, $s0, 0x0274 ## $a1 = 00000274
-/* 000B0 809CABC0 AFA50030 */ sw $a1, 0x0030($sp)
-/* 000B4 809CABC4 0C0170D9 */ jal Collider_InitCylinder
-
-/* 000B8 809CABC8 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
-/* 000BC 809CABCC 3C07809D */ lui $a3, %hi(D_809CBA80) ## $a3 = 809D0000
-/* 000C0 809CABD0 8FA50030 */ lw $a1, 0x0030($sp)
-/* 000C4 809CABD4 24E7BA80 */ addiu $a3, $a3, %lo(D_809CBA80) ## $a3 = 809CBA80
-/* 000C8 809CABD8 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
-/* 000CC 809CABDC 0C01712B */ jal Collider_SetCylinder
-
-/* 000D0 809CABE0 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
-/* 000D4 809CABE4 3C06809D */ lui $a2, %hi(D_809CBAAC) ## $a2 = 809D0000
-/* 000D8 809CABE8 24C6BAAC */ addiu $a2, $a2, %lo(D_809CBAAC) ## $a2 = 809CBAAC
-/* 000DC 809CABEC 26040098 */ addiu $a0, $s0, 0x0098 ## $a0 = 00000098
-/* 000E0 809CABF0 0C0187B5 */ jal CollisionCheck_SetInfo
-/* 000E4 809CABF4 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
-/* 000E8 809CABF8 8619001C */ lh $t9, 0x001C($s0) ## 0000001C
-/* 000EC 809CABFC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
-/* 000F0 809CAC00 3C053BA3 */ lui $a1, 0x3BA3 ## $a1 = 3BA30000
-/* 000F4 809CAC04 00194203 */ sra $t0, $t9, 8
-/* 000F8 809CAC08 310900FF */ andi $t1, $t0, 0x00FF ## $t1 = 00000000
-/* 000FC 809CAC0C 15200016 */ bne $t1, $zero, .L809CAC68
-/* 00100 809CAC10 00000000 */ nop
-/* 00104 809CAC14 3C053C23 */ lui $a1, 0x3C23 ## $a1 = 3C230000
-/* 00108 809CAC18 34A5D70A */ ori $a1, $a1, 0xD70A ## $a1 = 3C23D70A
-/* 0010C 809CAC1C 0C00B58B */ jal Actor_SetScale
-
-/* 00110 809CAC20 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
-/* 00114 809CAC24 860A001C */ lh $t2, 0x001C($s0) ## 0000001C
-/* 00118 809CAC28 240100FF */ addiu $at, $zero, 0x00FF ## $at = 000000FF
-/* 0011C 809CAC2C 314B00FF */ andi $t3, $t2, 0x00FF ## $t3 = 00000000
-/* 00120 809CAC30 A60B001C */ sh $t3, 0x001C($s0) ## 0000001C
-/* 00124 809CAC34 8602001C */ lh $v0, 0x001C($s0) ## 0000001C
-/* 00128 809CAC38 1041001D */ beq $v0, $at, .L809CACB0
-/* 0012C 809CAC3C 304C00FF */ andi $t4, $v0, 0x00FF ## $t4 = 00000000
-/* 00130 809CAC40 448C2000 */ mtc1 $t4, $f4 ## $f4 = 0.00
-/* 00134 809CAC44 3C01809D */ lui $at, %hi(D_809CBAC0) ## $at = 809D0000
-/* 00138 809CAC48 C428BAC0 */ lwc1 $f8, %lo(D_809CBAC0)($at)
-/* 0013C 809CAC4C 468021A0 */ cvt.s.w $f6, $f4
-/* 00140 809CAC50 C6100054 */ lwc1 $f16, 0x0054($s0) ## 00000054
-/* 00144 809CAC54 46083282 */ mul.s $f10, $f6, $f8
-/* 00148 809CAC58 00000000 */ nop
-/* 0014C 809CAC5C 460A8482 */ mul.s $f18, $f16, $f10
-/* 00150 809CAC60 10000013 */ beq $zero, $zero, .L809CACB0
-/* 00154 809CAC64 E6120054 */ swc1 $f18, 0x0054($s0) ## 00000054
-.L809CAC68:
-/* 00158 809CAC68 0C00B58B */ jal Actor_SetScale
-
-/* 0015C 809CAC6C 34A5D70A */ ori $a1, $a1, 0xD70A ## $a1 = 0000D70A
-/* 00160 809CAC70 860D001C */ lh $t5, 0x001C($s0) ## 0000001C
-/* 00164 809CAC74 240100FF */ addiu $at, $zero, 0x00FF ## $at = 000000FF
-/* 00168 809CAC78 31AE00FF */ andi $t6, $t5, 0x00FF ## $t6 = 00000000
-/* 0016C 809CAC7C A60E001C */ sh $t6, 0x001C($s0) ## 0000001C
-/* 00170 809CAC80 8602001C */ lh $v0, 0x001C($s0) ## 0000001C
-/* 00174 809CAC84 1041000A */ beq $v0, $at, .L809CACB0
-/* 00178 809CAC88 304F00FF */ andi $t7, $v0, 0x00FF ## $t7 = 00000000
-/* 0017C 809CAC8C 448F2000 */ mtc1 $t7, $f4 ## $f4 = 0.00
-/* 00180 809CAC90 3C01809D */ lui $at, %hi(D_809CBAC4) ## $at = 809D0000
-/* 00184 809CAC94 C428BAC4 */ lwc1 $f8, %lo(D_809CBAC4)($at)
-/* 00188 809CAC98 468021A0 */ cvt.s.w $f6, $f4
-/* 0018C 809CAC9C C60A0054 */ lwc1 $f10, 0x0054($s0) ## 00000054
-/* 00190 809CACA0 46083402 */ mul.s $f16, $f6, $f8
-/* 00194 809CACA4 00000000 */ nop
-/* 00198 809CACA8 46105482 */ mul.s $f18, $f10, $f16
-/* 0019C 809CACAC E6120054 */ swc1 $f18, 0x0054($s0) ## 00000054
-.L809CACB0:
-/* 001A0 809CACB0 86180268 */ lh $t8, 0x0268($s0) ## 00000268
-/* 001A4 809CACB4 C6080050 */ lwc1 $f8, 0x0050($s0) ## 00000050
-/* 001A8 809CACB8 860B02B4 */ lh $t3, 0x02B4($s0) ## 000002B4
-/* 001AC 809CACBC 44982000 */ mtc1 $t8, $f4 ## $f4 = 0.00
-/* 001B0 809CACC0 3C01809D */ lui $at, %hi(D_809CBAC8) ## $at = 809D0000
-/* 001B4 809CACC4 C6120054 */ lwc1 $f18, 0x0054($s0) ## 00000054
-/* 001B8 809CACC8 468021A0 */ cvt.s.w $f6, $f4
-/* 001BC 809CACCC 860E02B6 */ lh $t6, 0x02B6($s0) ## 000002B6
-/* 001C0 809CACD0 861902B8 */ lh $t9, 0x02B8($s0) ## 000002B8
-/* 001C4 809CACD4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
-/* 001C8 809CACD8 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
-/* 001CC 809CACDC 46083282 */ mul.s $f10, $f6, $f8
-/* 001D0 809CACE0 4600540D */ trunc.w.s $f16, $f10
-/* 001D4 809CACE4 448B5000 */ mtc1 $t3, $f10 ## $f10 = 0.00
-/* 001D8 809CACE8 44088000 */ mfc1 $t0, $f16
-/* 001DC 809CACEC 46805420 */ cvt.s.w $f16, $f10
-/* 001E0 809CACF0 A6080268 */ sh $t0, 0x0268($s0) ## 00000268
-/* 001E4 809CACF4 C424BAC8 */ lwc1 $f4, %lo(D_809CBAC8)($at)
-/* 001E8 809CACF8 2401FFFE */ addiu $at, $zero, 0xFFFE ## $at = FFFFFFFE
-/* 001EC 809CACFC A600026C */ sh $zero, 0x026C($s0) ## 0000026C
-/* 001F0 809CAD00 46049182 */ mul.s $f6, $f18, $f4
-/* 001F4 809CAD04 C6120050 */ lwc1 $f18, 0x0050($s0) ## 00000050
-/* 001F8 809CAD08 AE0001A8 */ sw $zero, 0x01A8($s0) ## 000001A8
-/* 001FC 809CAD0C 46128102 */ mul.s $f4, $f16, $f18
-/* 00200 809CAD10 C6100054 */ lwc1 $f16, 0x0054($s0) ## 00000054
-/* 00204 809CAD14 4600320D */ trunc.w.s $f8, $f6
-/* 00208 809CAD18 4600218D */ trunc.w.s $f6, $f4
-/* 0020C 809CAD1C 440A4000 */ mfc1 $t2, $f8
-/* 00210 809CAD20 448E4000 */ mtc1 $t6, $f8 ## $f8 = 0.00
-/* 00214 809CAD24 440D3000 */ mfc1 $t5, $f6
-/* 00218 809CAD28 468042A0 */ cvt.s.w $f10, $f8
-/* 0021C 809CAD2C 44993000 */ mtc1 $t9, $f6 ## $f6 = 0.00
-/* 00220 809CAD30 A60A026A */ sh $t2, 0x026A($s0) ## 0000026A
-/* 00224 809CAD34 8E0A0004 */ lw $t2, 0x0004($s0) ## 00000004
-/* 00228 809CAD38 A60D02B4 */ sh $t5, 0x02B4($s0) ## 000002B4
-/* 0022C 809CAD3C 46803220 */ cvt.s.w $f8, $f6
-/* 00230 809CAD40 46105482 */ mul.s $f18, $f10, $f16
-/* 00234 809CAD44 C60A0054 */ lwc1 $f10, 0x0054($s0) ## 00000054
-/* 00238 809CAD48 01415824 */ and $t3, $t2, $at
-/* 0023C 809CAD4C AE0B0004 */ sw $t3, 0x0004($s0) ## 00000004
-/* 00240 809CAD50 460A4402 */ mul.s $f16, $f8, $f10
-/* 00244 809CAD54 4600910D */ trunc.w.s $f4, $f18
-/* 00248 809CAD58 4600848D */ trunc.w.s $f18, $f16
-/* 0024C 809CAD5C 44182000 */ mfc1 $t8, $f4
-/* 00250 809CAD60 44099000 */ mfc1 $t1, $f18
-/* 00254 809CAD64 A61802B6 */ sh $t8, 0x02B6($s0) ## 000002B6
-/* 00258 809CAD68 0C272B77 */ jal func_809CADDC
-/* 0025C 809CAD6C A60902B8 */ sh $t1, 0x02B8($s0) ## 000002B8
-/* 00260 809CAD70 8FBF002C */ lw $ra, 0x002C($sp)
-/* 00264 809CAD74 8FB00024 */ lw $s0, 0x0024($sp)
-/* 00268 809CAD78 8FB10028 */ lw $s1, 0x0028($sp)
-/* 0026C 809CAD7C 03E00008 */ jr $ra
-/* 00270 809CAD80 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Brob/EnBrob_Update.s b/asm/non_matchings/overlays/actors/ovl_En_Brob/EnBrob_Update.s
deleted file mode 100644
index 8fd43d8a1..000000000
--- a/asm/non_matchings/overlays/actors/ovl_En_Brob/EnBrob_Update.s
+++ /dev/null
@@ -1,188 +0,0 @@
-glabel EnBrob_Update
-/* 00B60 809CB670 27BDFFB0 */ addiu $sp, $sp, 0xFFB0 ## $sp = FFFFFFB0
-/* 00B64 809CB674 AFBF0024 */ sw $ra, 0x0024($sp)
-/* 00B68 809CB678 AFB10020 */ sw $s1, 0x0020($sp)
-/* 00B6C 809CB67C AFB0001C */ sw $s0, 0x001C($sp)
-/* 00B70 809CB680 908E0239 */ lbu $t6, 0x0239($a0) ## 00000239
-/* 00B74 809CB684 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
-/* 00B78 809CB688 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
-/* 00B7C 809CB68C 31CF0002 */ andi $t7, $t6, 0x0002 ## $t7 = 00000000
-/* 00B80 809CB690 000FC02B */ sltu $t8, $zero, $t7
-/* 00B84 809CB694 AFB8003C */ sw $t8, 0x003C($sp)
-/* 00B88 809CB698 90990285 */ lbu $t9, 0x0285($a0) ## 00000285
-/* 00B8C 809CB69C 33280002 */ andi $t0, $t9, 0x0002 ## $t0 = 00000000
-/* 00B90 809CB6A0 0008482B */ sltu $t1, $zero, $t0
-/* 00B94 809CB6A4 13000006 */ beq $t8, $zero, .L809CB6C0
-/* 00B98 809CB6A8 AFA90040 */ sw $t1, 0x0040($sp)
-/* 00B9C 809CB6AC 8C8A0264 */ lw $t2, 0x0264($a0) ## 00000264
-/* 00BA0 809CB6B0 8D4B0000 */ lw $t3, 0x0000($t2) ## 00000000
-/* 00BA4 809CB6B4 316C0010 */ andi $t4, $t3, 0x0010 ## $t4 = 00000000
-/* 00BA8 809CB6B8 55800009 */ bnel $t4, $zero, .L809CB6E0
-/* 00BAC 809CB6BC 00001825 */ or $v1, $zero, $zero ## $v1 = 00000000
-.L809CB6C0:
-/* 00BB0 809CB6C0 8FAD0040 */ lw $t5, 0x0040($sp)
-/* 00BB4 809CB6C4 51A00018 */ beql $t5, $zero, .L809CB728
-/* 00BB8 809CB6C8 92040238 */ lbu $a0, 0x0238($s0) ## 00000238
-/* 00BBC 809CB6CC 8E0E02B0 */ lw $t6, 0x02B0($s0) ## 000002B0
-/* 00BC0 809CB6D0 8DCF0000 */ lw $t7, 0x0000($t6) ## 00000000
-/* 00BC4 809CB6D4 31F90010 */ andi $t9, $t7, 0x0010 ## $t9 = 00000000
-/* 00BC8 809CB6D8 13200012 */ beq $t9, $zero, .L809CB724
-/* 00BCC 809CB6DC 00001825 */ or $v1, $zero, $zero ## $v1 = 00000000
-.L809CB6E0:
-/* 00BD0 809CB6E0 02001025 */ or $v0, $s0, $zero ## $v0 = 00000000
-/* 00BD4 809CB6E4 24060002 */ addiu $a2, $zero, 0x0002 ## $a2 = 00000002
-/* 00BD8 809CB6E8 2405FFFD */ addiu $a1, $zero, 0xFFFD ## $a1 = FFFFFFFD
-/* 00BDC 809CB6EC 2404FFF9 */ addiu $a0, $zero, 0xFFF9 ## $a0 = FFFFFFF9
-.L809CB6F0:
-/* 00BE0 809CB6F0 90480238 */ lbu $t0, 0x0238($v0) ## 00000238
-/* 00BE4 809CB6F4 90580239 */ lbu $t8, 0x0239($v0) ## 00000239
-/* 00BE8 809CB6F8 24630001 */ addiu $v1, $v1, 0x0001 ## $v1 = 00000001
-/* 00BEC 809CB6FC 01044824 */ and $t1, $t0, $a0
-/* 00BF0 809CB700 03055024 */ and $t2, $t8, $a1
-/* 00BF4 809CB704 2442004C */ addiu $v0, $v0, 0x004C ## $v0 = 0000004C
-/* 00BF8 809CB708 A04901EC */ sb $t1, 0x01EC($v0) ## 00000238
-/* 00BFC 809CB70C 1466FFF8 */ bne $v1, $a2, .L809CB6F0
-/* 00C00 809CB710 A04A01ED */ sb $t2, 0x01ED($v0) ## 00000239
-/* 00C04 809CB714 0C272BBD */ jal func_809CAEF4
-/* 00C08 809CB718 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
-/* 00C0C 809CB71C 1000003F */ beq $zero, $zero, .L809CB81C
-/* 00C10 809CB720 8E1901A8 */ lw $t9, 0x01A8($s0) ## 000001A8
-.L809CB724:
-/* 00C14 809CB724 92040238 */ lbu $a0, 0x0238($s0) ## 00000238
-.L809CB728:
-/* 00C18 809CB728 308B0002 */ andi $t3, $a0, 0x0002 ## $t3 = 00000000
-/* 00C1C 809CB72C 55600015 */ bnel $t3, $zero, .L809CB784
-/* 00C20 809CB730 8E0201A8 */ lw $v0, 0x01A8($s0) ## 000001A8
-/* 00C24 809CB734 920C0284 */ lbu $t4, 0x0284($s0) ## 00000284
-/* 00C28 809CB738 8FAE003C */ lw $t6, 0x003C($sp)
-/* 00C2C 809CB73C 318D0002 */ andi $t5, $t4, 0x0002 ## $t5 = 00000000
-/* 00C30 809CB740 55A00010 */ bnel $t5, $zero, .L809CB784
-/* 00C34 809CB744 8E0201A8 */ lw $v0, 0x01A8($s0) ## 000001A8
-/* 00C38 809CB748 11C00006 */ beq $t6, $zero, .L809CB764
-/* 00C3C 809CB74C 8FA90040 */ lw $t1, 0x0040($sp)
-/* 00C40 809CB750 8E0F0264 */ lw $t7, 0x0264($s0) ## 00000264
-/* 00C44 809CB754 8DF90000 */ lw $t9, 0x0000($t7) ## 00000000
-/* 00C48 809CB758 33280100 */ andi $t0, $t9, 0x0100 ## $t0 = 00000000
-/* 00C4C 809CB75C 55000009 */ bnel $t0, $zero, .L809CB784
-/* 00C50 809CB760 8E0201A8 */ lw $v0, 0x01A8($s0) ## 000001A8
-.L809CB764:
-/* 00C54 809CB764 5120002D */ beql $t1, $zero, .L809CB81C
-/* 00C58 809CB768 8E1901A8 */ lw $t9, 0x01A8($s0) ## 000001A8
-/* 00C5C 809CB76C 8E1802B0 */ lw $t8, 0x02B0($s0) ## 000002B0
-/* 00C60 809CB770 8F0A0000 */ lw $t2, 0x0000($t8) ## 00000000
-/* 00C64 809CB774 314B0100 */ andi $t3, $t2, 0x0100 ## $t3 = 00000000
-/* 00C68 809CB778 51600028 */ beql $t3, $zero, .L809CB81C
-/* 00C6C 809CB77C 8E1901A8 */ lw $t9, 0x01A8($s0) ## 000001A8
-/* 00C70 809CB780 8E0201A8 */ lw $v0, 0x01A8($s0) ## 000001A8
-.L809CB784:
-/* 00C74 809CB784 3C03809D */ lui $v1, %hi(func_809CB114) ## $v1 = 809D0000
-/* 00C78 809CB788 2463B114 */ addiu $v1, $v1, %lo(func_809CB114) ## $v1 = 809CB114
-/* 00C7C 809CB78C 14620010 */ bne $v1, $v0, .L809CB7D0
-/* 00C80 809CB790 308C0004 */ andi $t4, $a0, 0x0004 ## $t4 = 00000000
-/* 00C84 809CB794 1580000E */ bne $t4, $zero, .L809CB7D0
-/* 00C88 809CB798 00000000 */ nop
-/* 00C8C 809CB79C 920D0284 */ lbu $t5, 0x0284($s0) ## 00000284
-/* 00C90 809CB7A0 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
-/* 00C94 809CB7A4 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
-/* 00C98 809CB7A8 31AE0004 */ andi $t6, $t5, 0x0004 ## $t6 = 00000000
-/* 00C9C 809CB7AC 15C00008 */ bne $t6, $zero, .L809CB7D0
-/* 00CA0 809CB7B0 3C0640A0 */ lui $a2, 0x40A0 ## $a2 = 40A00000
-/* 00CA4 809CB7B4 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
-/* 00CA8 809CB7B8 44812000 */ mtc1 $at, $f4 ## $f4 = 1.00
-/* 00CAC 809CB7BC 8607008A */ lh $a3, 0x008A($s0) ## 0000008A
-/* 00CB0 809CB7C0 0C00BDC7 */ jal func_8002F71C
-/* 00CB4 809CB7C4 E7A40010 */ swc1 $f4, 0x0010($sp)
-/* 00CB8 809CB7C8 10000006 */ beq $zero, $zero, .L809CB7E4
-/* 00CBC 809CB7CC 00001825 */ or $v1, $zero, $zero ## $v1 = 00000000
-.L809CB7D0:
-/* 00CC0 809CB7D0 50620004 */ beql $v1, $v0, .L809CB7E4
-/* 00CC4 809CB7D4 00001825 */ or $v1, $zero, $zero ## $v1 = 00000000
-/* 00CC8 809CB7D8 0C272C02 */ jal func_809CB008
-/* 00CCC 809CB7DC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
-/* 00CD0 809CB7E0 00001825 */ or $v1, $zero, $zero ## $v1 = 00000000
-.L809CB7E4:
-/* 00CD4 809CB7E4 02001025 */ or $v0, $s0, $zero ## $v0 = 00000000
-/* 00CD8 809CB7E8 24060002 */ addiu $a2, $zero, 0x0002 ## $a2 = 00000002
-/* 00CDC 809CB7EC 2405FFFD */ addiu $a1, $zero, 0xFFFD ## $a1 = FFFFFFFD
-/* 00CE0 809CB7F0 2404FFF9 */ addiu $a0, $zero, 0xFFF9 ## $a0 = FFFFFFF9
-.L809CB7F4:
-/* 00CE4 809CB7F4 904F0238 */ lbu $t7, 0x0238($v0) ## 00000238
-/* 00CE8 809CB7F8 90480239 */ lbu $t0, 0x0239($v0) ## 00000239
-/* 00CEC 809CB7FC 24630001 */ addiu $v1, $v1, 0x0001 ## $v1 = 00000001
-/* 00CF0 809CB800 01E4C824 */ and $t9, $t7, $a0
-/* 00CF4 809CB804 01054824 */ and $t1, $t0, $a1
-/* 00CF8 809CB808 2442004C */ addiu $v0, $v0, 0x004C ## $v0 = 0000004C
-/* 00CFC 809CB80C A05901EC */ sb $t9, 0x01EC($v0) ## 00000238
-/* 00D00 809CB810 1466FFF8 */ bne $v1, $a2, .L809CB7F4
-/* 00D04 809CB814 A04901ED */ sb $t1, 0x01ED($v0) ## 00000239
-/* 00D08 809CB818 8E1901A8 */ lw $t9, 0x01A8($s0) ## 000001A8
-.L809CB81C:
-/* 00D0C 809CB81C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
-/* 00D10 809CB820 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
-/* 00D14 809CB824 0320F809 */ jalr $ra, $t9
-/* 00D18 809CB828 00000000 */ nop
-/* 00D1C 809CB82C 8E0201A8 */ lw $v0, 0x01A8($s0) ## 000001A8
-/* 00D20 809CB830 3C18809D */ lui $t8, %hi(func_809CB054) ## $t8 = 809D0000
-/* 00D24 809CB834 2718B054 */ addiu $t8, $t8, %lo(func_809CB054) ## $t8 = 809CB054
-/* 00D28 809CB838 1302002F */ beq $t8, $v0, .L809CB8F8
-/* 00D2C 809CB83C 3C0A809D */ lui $t2, %hi(func_809CB354) ## $t2 = 809D0000
-/* 00D30 809CB840 254AB354 */ addiu $t2, $t2, %lo(func_809CB354) ## $t2 = 809CB354
-/* 00D34 809CB844 1142002C */ beq $t2, $v0, .L809CB8F8
-/* 00D38 809CB848 3C0B809D */ lui $t3, %hi(func_809CB2B8) ## $t3 = 809D0000
-/* 00D3C 809CB84C 256BB2B8 */ addiu $t3, $t3, %lo(func_809CB2B8) ## $t3 = 809CB2B8
-/* 00D40 809CB850 1162001C */ beq $t3, $v0, .L809CB8C4
-/* 00D44 809CB854 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
-/* 00D48 809CB858 3C010001 */ lui $at, 0x0001 ## $at = 00010000
-/* 00D4C 809CB85C 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
-/* 00D50 809CB860 3C03809D */ lui $v1, %hi(func_809CB114) ## $v1 = 809D0000
-/* 00D54 809CB864 2463B114 */ addiu $v1, $v1, %lo(func_809CB114) ## $v1 = 809CB114
-/* 00D58 809CB868 02212821 */ addu $a1, $s1, $at
-/* 00D5C 809CB86C 26060228 */ addiu $a2, $s0, 0x0228 ## $a2 = 00000228
-/* 00D60 809CB870 AFA6002C */ sw $a2, 0x002C($sp)
-/* 00D64 809CB874 AFA50034 */ sw $a1, 0x0034($sp)
-/* 00D68 809CB878 0C0175E7 */ jal CollisionCheck_SetAT
- ## CollisionCheck_setAT
-/* 00D6C 809CB87C AFA30038 */ sw $v1, 0x0038($sp)
-/* 00D70 809CB880 26060274 */ addiu $a2, $s0, 0x0274 ## $a2 = 00000274
-/* 00D74 809CB884 AFA60030 */ sw $a2, 0x0030($sp)
-/* 00D78 809CB888 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
-/* 00D7C 809CB88C 0C0175E7 */ jal CollisionCheck_SetAT
- ## CollisionCheck_setAT
-/* 00D80 809CB890 8FA50034 */ lw $a1, 0x0034($sp)
-/* 00D84 809CB894 8FA30038 */ lw $v1, 0x0038($sp)
-/* 00D88 809CB898 8E0C01A8 */ lw $t4, 0x01A8($s0) ## 000001A8
-/* 00D8C 809CB89C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
-/* 00D90 809CB8A0 8FA50034 */ lw $a1, 0x0034($sp)
-/* 00D94 809CB8A4 506C0008 */ beql $v1, $t4, .L809CB8C8
-/* 00D98 809CB8A8 3C010001 */ lui $at, 0x0001 ## $at = 00010000
-/* 00D9C 809CB8AC 0C01767D */ jal CollisionCheck_SetAC
- ## CollisionCheck_setAC
-/* 00DA0 809CB8B0 8FA6002C */ lw $a2, 0x002C($sp)
-/* 00DA4 809CB8B4 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
-/* 00DA8 809CB8B8 8FA50034 */ lw $a1, 0x0034($sp)
-/* 00DAC 809CB8BC 0C01767D */ jal CollisionCheck_SetAC
- ## CollisionCheck_setAC
-/* 00DB0 809CB8C0 8FA60030 */ lw $a2, 0x0030($sp)
-.L809CB8C4:
-/* 00DB4 809CB8C4 3C010001 */ lui $at, 0x0001 ## $at = 00010000
-.L809CB8C8:
-/* 00DB8 809CB8C8 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
-/* 00DBC 809CB8CC 02212821 */ addu $a1, $s1, $at
-/* 00DC0 809CB8D0 260D0274 */ addiu $t5, $s0, 0x0274 ## $t5 = 00000274
-/* 00DC4 809CB8D4 AFAD0030 */ sw $t5, 0x0030($sp)
-/* 00DC8 809CB8D8 AFA50034 */ sw $a1, 0x0034($sp)
-/* 00DCC 809CB8DC 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
-/* 00DD0 809CB8E0 0C017713 */ jal CollisionCheck_SetOC
- ## CollisionCheck_setOC
-/* 00DD4 809CB8E4 26060228 */ addiu $a2, $s0, 0x0228 ## $a2 = 00000228
-/* 00DD8 809CB8E8 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
-/* 00DDC 809CB8EC 8FA50034 */ lw $a1, 0x0034($sp)
-/* 00DE0 809CB8F0 0C017713 */ jal CollisionCheck_SetOC
- ## CollisionCheck_setOC
-/* 00DE4 809CB8F4 8FA60030 */ lw $a2, 0x0030($sp)
-.L809CB8F8:
-/* 00DE8 809CB8F8 8FBF0024 */ lw $ra, 0x0024($sp)
-/* 00DEC 809CB8FC 8FB0001C */ lw $s0, 0x001C($sp)
-/* 00DF0 809CB900 8FB10020 */ lw $s1, 0x0020($sp)
-/* 00DF4 809CB904 03E00008 */ jr $ra
-/* 00DF8 809CB908 27BD0050 */ addiu $sp, $sp, 0x0050 ## $sp = 00000000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CADDC.s b/asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CADDC.s
deleted file mode 100644
index 64b534741..000000000
--- a/asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CADDC.s
+++ /dev/null
@@ -1,29 +0,0 @@
-glabel func_809CADDC
-/* 002CC 809CADDC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
-/* 002D0 809CADE0 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000
-/* 002D4 809CADE4 AFBF0014 */ sw $ra, 0x0014($sp)
-/* 002D8 809CADE8 AFA5001C */ sw $a1, 0x001C($sp)
-/* 002DC 809CADEC 8CE6014C */ lw $a2, 0x014C($a3) ## 0000014C
-/* 002E0 809CADF0 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
-/* 002E4 809CADF4 24A50810 */ addiu $a1, $a1, 0x0810 ## $a1 = 00000810
-/* 002E8 809CADF8 0C00FB14 */ jal func_8003EC50
-/* 002EC 809CADFC AFA70018 */ sw $a3, 0x0018($sp)
-/* 002F0 809CAE00 8FA70018 */ lw $a3, 0x0018($sp)
-/* 002F4 809CAE04 3C0F809D */ lui $t7, %hi(func_809CB2B8) ## $t7 = 809D0000
-/* 002F8 809CAE08 25EFB2B8 */ addiu $t7, $t7, %lo(func_809CB2B8) ## $t7 = 809CB2B8
-/* 002FC 809CAE0C 8CF801A8 */ lw $t8, 0x01A8($a3) ## 000001A8
-/* 00300 809CAE10 3C08809D */ lui $t0, %hi(func_809CB054) ## $t0 = 809D0000
-/* 00304 809CAE14 241900C8 */ addiu $t9, $zero, 0x00C8 ## $t9 = 000000C8
-/* 00308 809CAE18 15F80003 */ bne $t7, $t8, .L809CAE28
-/* 0030C 809CAE1C 2508B054 */ addiu $t0, $t0, %lo(func_809CB054) ## $t0 = 809CB054
-/* 00310 809CAE20 10000002 */ beq $zero, $zero, .L809CAE2C
-/* 00314 809CAE24 A4F901AC */ sh $t9, 0x01AC($a3) ## 000001AC
-.L809CAE28:
-/* 00318 809CAE28 A4E001AC */ sh $zero, 0x01AC($a3) ## 000001AC
-.L809CAE2C:
-/* 0031C 809CAE2C A4E001AE */ sh $zero, 0x01AE($a3) ## 000001AE
-/* 00320 809CAE30 ACE801A8 */ sw $t0, 0x01A8($a3) ## 000001A8
-/* 00324 809CAE34 8FBF0014 */ lw $ra, 0x0014($sp)
-/* 00328 809CAE38 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
-/* 0032C 809CAE3C 03E00008 */ jr $ra
-/* 00330 809CAE40 00000000 */ nop
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CAE44.s b/asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CAE44.s
deleted file mode 100644
index f32a635f5..000000000
--- a/asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CAE44.s
+++ /dev/null
@@ -1,24 +0,0 @@
-glabel func_809CAE44
-/* 00334 809CAE44 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
-/* 00338 809CAE48 AFA5001C */ sw $a1, 0x001C($sp)
-/* 0033C 809CAE4C AFBF0014 */ sw $ra, 0x0014($sp)
-/* 00340 809CAE50 AFA40018 */ sw $a0, 0x0018($sp)
-/* 00344 809CAE54 3C050600 */ lui $a1, %hi(D_06001750) ## $a1 = 06000000
-/* 00348 809CAE58 24A51750 */ addiu $a1, $a1, %lo(D_06001750) ## $a1 = 06001750
-/* 0034C 809CAE5C 0C02947A */ jal Animation_PlayOnce
-/* 00350 809CAE60 24840164 */ addiu $a0, $a0, 0x0164 ## $a0 = 00000164
-/* 00354 809CAE64 8FA4001C */ lw $a0, 0x001C($sp)
-/* 00358 809CAE68 8FAE0018 */ lw $t6, 0x0018($sp)
-/* 0035C 809CAE6C 24850810 */ addiu $a1, $a0, 0x0810 ## $a1 = 00000810
-/* 00360 809CAE70 0C00FAFE */ jal func_8003EBF8
-/* 00364 809CAE74 8DC6014C */ lw $a2, 0x014C($t6) ## 0000014C
-/* 00368 809CAE78 8FA20018 */ lw $v0, 0x0018($sp)
-/* 0036C 809CAE7C 3C18809D */ lui $t8, %hi(func_809CB114) ## $t8 = 809D0000
-/* 00370 809CAE80 240F03E8 */ addiu $t7, $zero, 0x03E8 ## $t7 = 000003E8
-/* 00374 809CAE84 2718B114 */ addiu $t8, $t8, %lo(func_809CB114) ## $t8 = 809CB114
-/* 00378 809CAE88 A44F01AE */ sh $t7, 0x01AE($v0) ## 000001AE
-/* 0037C 809CAE8C AC5801A8 */ sw $t8, 0x01A8($v0) ## 000001A8
-/* 00380 809CAE90 8FBF0014 */ lw $ra, 0x0014($sp)
-/* 00384 809CAE94 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
-/* 00388 809CAE98 03E00008 */ jr $ra
-/* 0038C 809CAE9C 00000000 */ nop
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CAEA0.s b/asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CAEA0.s
deleted file mode 100644
index f9188f6e4..000000000
--- a/asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CAEA0.s
+++ /dev/null
@@ -1,22 +0,0 @@
-glabel func_809CAEA0
-/* 00390 809CAEA0 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
-/* 00394 809CAEA4 AFBF0014 */ sw $ra, 0x0014($sp)
-/* 00398 809CAEA8 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000
-/* 0039C 809CAEAC 3C050600 */ lui $a1, %hi(D_06001958) ## $a1 = 06000000
-/* 003A0 809CAEB0 24A51958 */ addiu $a1, $a1, %lo(D_06001958) ## $a1 = 06001958
-/* 003A4 809CAEB4 AFA70018 */ sw $a3, 0x0018($sp)
-/* 003A8 809CAEB8 24840164 */ addiu $a0, $a0, 0x0164 ## $a0 = 00000164
-/* 003AC 809CAEBC 0C0294D3 */ jal Animation_MorphToLoop
-/* 003B0 809CAEC0 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000
-/* 003B4 809CAEC4 8FA70018 */ lw $a3, 0x0018($sp)
-/* 003B8 809CAEC8 3C18809D */ lui $t8, %hi(func_809CB218) ## $t8 = 809D0000
-/* 003BC 809CAECC 240E1F40 */ addiu $t6, $zero, 0x1F40 ## $t6 = 00001F40
-/* 003C0 809CAED0 240F04B0 */ addiu $t7, $zero, 0x04B0 ## $t7 = 000004B0
-/* 003C4 809CAED4 2718B218 */ addiu $t8, $t8, %lo(func_809CB218) ## $t8 = 809CB218
-/* 003C8 809CAED8 A4EE01AE */ sh $t6, 0x01AE($a3) ## 000001AE
-/* 003CC 809CAEDC A4EF01AC */ sh $t7, 0x01AC($a3) ## 000001AC
-/* 003D0 809CAEE0 ACF801A8 */ sw $t8, 0x01A8($a3) ## 000001A8
-/* 003D4 809CAEE4 8FBF0014 */ lw $ra, 0x0014($sp)
-/* 003D8 809CAEE8 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
-/* 003DC 809CAEEC 03E00008 */ jr $ra
-/* 003E0 809CAEF0 00000000 */ nop
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CAEF4.s b/asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CAEF4.s
deleted file mode 100644
index 2b1eb5ed1..000000000
--- a/asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CAEF4.s
+++ /dev/null
@@ -1,39 +0,0 @@
-glabel func_809CAEF4
-/* 003E4 809CAEF4 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
-/* 003E8 809CAEF8 AFB00020 */ sw $s0, 0x0020($sp)
-/* 003EC 809CAEFC 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
-/* 003F0 809CAF00 AFBF0024 */ sw $ra, 0x0024($sp)
-/* 003F4 809CAF04 3C050600 */ lui $a1, %hi(D_06000290) ## $a1 = 06000000
-/* 003F8 809CAF08 24A50290 */ addiu $a1, $a1, %lo(D_06000290) ## $a1 = 06000290
-/* 003FC 809CAF0C 24840164 */ addiu $a0, $a0, 0x0164 ## $a0 = 00000164
-/* 00400 809CAF10 0C029490 */ jal Animation_MorphToPlayOnce
-/* 00404 809CAF14 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000
-/* 00408 809CAF18 860E01AE */ lh $t6, 0x01AE($s0) ## 000001AE
-/* 0040C 809CAF1C 3C0142FA */ lui $at, 0x42FA ## $at = 42FA0000
-/* 00410 809CAF20 44814000 */ mtc1 $at, $f8 ## $f8 = 125.00
-/* 00414 809CAF24 448E2000 */ mtc1 $t6, $f4 ## $f4 = 0.00
-/* 00418 809CAF28 24190050 */ addiu $t9, $zero, 0x0050 ## $t9 = 00000050
-/* 0041C 809CAF2C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
-/* 00420 809CAF30 468021A0 */ cvt.s.w $f6, $f4
-/* 00424 809CAF34 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
-/* 00428 809CAF38 240600FF */ addiu $a2, $zero, 0x00FF ## $a2 = 000000FF
-/* 0042C 809CAF3C 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
-/* 00430 809CAF40 46083281 */ sub.s $f10, $f6, $f8
-/* 00434 809CAF44 4600540D */ trunc.w.s $f16, $f10
-/* 00438 809CAF48 44188000 */ mfc1 $t8, $f16
-/* 0043C 809CAF4C 00000000 */ nop
-/* 00440 809CAF50 A61801AE */ sh $t8, 0x01AE($s0) ## 000001AE
-/* 00444 809CAF54 0C00D09B */ jal Actor_SetColorFilter
-/* 00448 809CAF58 AFB90010 */ sw $t9, 0x0010($sp)
-/* 0044C 809CAF5C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
-/* 00450 809CAF60 0C00BE0A */ jal Audio_PlayActorSound2
-
-/* 00454 809CAF64 2405389E */ addiu $a1, $zero, 0x389E ## $a1 = 0000389E
-/* 00458 809CAF68 3C08809D */ lui $t0, %hi(func_809CB2B8) ## $t0 = 809D0000
-/* 0045C 809CAF6C 2508B2B8 */ addiu $t0, $t0, %lo(func_809CB2B8) ## $t0 = 809CB2B8
-/* 00460 809CAF70 AE0801A8 */ sw $t0, 0x01A8($s0) ## 000001A8
-/* 00464 809CAF74 8FBF0024 */ lw $ra, 0x0024($sp)
-/* 00468 809CAF78 8FB00020 */ lw $s0, 0x0020($sp)
-/* 0046C 809CAF7C 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
-/* 00470 809CAF80 03E00008 */ jr $ra
-/* 00474 809CAF84 00000000 */ nop
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CAF88.s b/asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CAF88.s
deleted file mode 100644
index 161ec6966..000000000
--- a/asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CAF88.s
+++ /dev/null
@@ -1,35 +0,0 @@
-glabel func_809CAF88
-/* 00478 809CAF88 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
-/* 0047C 809CAF8C AFA40028 */ sw $a0, 0x0028($sp)
-/* 00480 809CAF90 AFBF0024 */ sw $ra, 0x0024($sp)
-/* 00484 809CAF94 3C040600 */ lui $a0, %hi(D_06001750) ## $a0 = 06000000
-/* 00488 809CAF98 0C028800 */ jal Animation_GetLastFrame
-
-/* 0048C 809CAF9C 24841750 */ addiu $a0, $a0, %lo(D_06001750) ## $a0 = 06001750
-/* 00490 809CAFA0 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
-/* 00494 809CAFA4 3C01C0A0 */ lui $at, 0xC0A0 ## $at = C0A00000
-/* 00498 809CAFA8 44814000 */ mtc1 $at, $f8 ## $f8 = -5.00
-/* 0049C 809CAFAC 46802120 */ cvt.s.w $f4, $f4
-/* 004A0 809CAFB0 8FA40028 */ lw $a0, 0x0028($sp)
-/* 004A4 809CAFB4 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00
-/* 004A8 809CAFB8 3C050600 */ lui $a1, %hi(D_06001750) ## $a1 = 06000000
-/* 004AC 809CAFBC 240E0002 */ addiu $t6, $zero, 0x0002 ## $t6 = 00000002
-/* 004B0 809CAFC0 AFAE0014 */ sw $t6, 0x0014($sp)
-/* 004B4 809CAFC4 44072000 */ mfc1 $a3, $f4
-/* 004B8 809CAFC8 24A51750 */ addiu $a1, $a1, %lo(D_06001750) ## $a1 = 06001750
-/* 004BC 809CAFCC 3C06BF80 */ lui $a2, 0xBF80 ## $a2 = BF800000
-/* 004C0 809CAFD0 E7A80018 */ swc1 $f8, 0x0018($sp)
-/* 004C4 809CAFD4 24840164 */ addiu $a0, $a0, 0x0164 ## $a0 = 00000164
-/* 004C8 809CAFD8 0C029468 */ jal Animation_Change
-
-/* 004CC 809CAFDC E7A60010 */ swc1 $f6, 0x0010($sp)
-/* 004D0 809CAFE0 8FA20028 */ lw $v0, 0x0028($sp)
-/* 004D4 809CAFE4 3C18809D */ lui $t8, %hi(func_809CB354) ## $t8 = 809D0000
-/* 004D8 809CAFE8 240F203A */ addiu $t7, $zero, 0x203A ## $t7 = 0000203A
-/* 004DC 809CAFEC 2718B354 */ addiu $t8, $t8, %lo(func_809CB354) ## $t8 = 809CB354
-/* 004E0 809CAFF0 A44F01AE */ sh $t7, 0x01AE($v0) ## 000001AE
-/* 004E4 809CAFF4 AC5801A8 */ sw $t8, 0x01A8($v0) ## 000001A8
-/* 004E8 809CAFF8 8FBF0024 */ lw $ra, 0x0024($sp)
-/* 004EC 809CAFFC 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
-/* 004F0 809CB000 03E00008 */ jr $ra
-/* 004F4 809CB004 00000000 */ nop
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CB008.s b/asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CB008.s
deleted file mode 100644
index 1970efd2f..000000000
--- a/asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CB008.s
+++ /dev/null
@@ -1,20 +0,0 @@
-glabel func_809CB008
-/* 004F8 809CB008 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
-/* 004FC 809CB00C AFBF0014 */ sw $ra, 0x0014($sp)
-/* 00500 809CB010 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000
-/* 00504 809CB014 3C050600 */ lui $a1, %hi(D_06001678) ## $a1 = 06000000
-/* 00508 809CB018 24A51678 */ addiu $a1, $a1, %lo(D_06001678) ## $a1 = 06001678
-/* 0050C 809CB01C AFA70018 */ sw $a3, 0x0018($sp)
-/* 00510 809CB020 24840164 */ addiu $a0, $a0, 0x0164 ## $a0 = 00000164
-/* 00514 809CB024 0C0294D3 */ jal Animation_MorphToLoop
-/* 00518 809CB028 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000
-/* 0051C 809CB02C 8FA70018 */ lw $a3, 0x0018($sp)
-/* 00520 809CB030 3C0F809D */ lui $t7, %hi(func_809CB458) ## $t7 = 809D0000
-/* 00524 809CB034 240E000A */ addiu $t6, $zero, 0x000A ## $t6 = 0000000A
-/* 00528 809CB038 25EFB458 */ addiu $t7, $t7, %lo(func_809CB458) ## $t7 = 809CB458
-/* 0052C 809CB03C A4EE01AC */ sh $t6, 0x01AC($a3) ## 000001AC
-/* 00530 809CB040 ACEF01A8 */ sw $t7, 0x01A8($a3) ## 000001A8
-/* 00534 809CB044 8FBF0014 */ lw $ra, 0x0014($sp)
-/* 00538 809CB048 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
-/* 0053C 809CB04C 03E00008 */ jr $ra
-/* 00540 809CB050 00000000 */ nop
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CB054.s b/asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CB054.s
deleted file mode 100644
index 9e86eefcf..000000000
--- a/asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CB054.s
+++ /dev/null
@@ -1,54 +0,0 @@
-glabel func_809CB054
-/* 00544 809CB054 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
-/* 00548 809CB058 AFBF0024 */ sw $ra, 0x0024($sp)
-/* 0054C 809CB05C AFB00020 */ sw $s0, 0x0020($sp)
-/* 00550 809CB060 AFA5002C */ sw $a1, 0x002C($sp)
-/* 00554 809CB064 848201AC */ lh $v0, 0x01AC($a0) ## 000001AC
-/* 00558 809CB068 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
-/* 0055C 809CB06C 10400003 */ beq $v0, $zero, .L809CB07C
-/* 00560 809CB070 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
-/* 00564 809CB074 A48E01AC */ sh $t6, 0x01AC($a0) ## 000001AC
-/* 00568 809CB078 848201AC */ lh $v0, 0x01AC($a0) ## 000001AC
-.L809CB07C:
-/* 0056C 809CB07C 1440001D */ bne $v0, $zero, .L809CB0F4
-/* 00570 809CB080 28410051 */ slti $at, $v0, 0x0051
-/* 00574 809CB084 0C010D5B */ jal func_8004356C
-/* 00578 809CB088 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
-/* 0057C 809CB08C 1040000E */ beq $v0, $zero, .L809CB0C8
-/* 00580 809CB090 3C014396 */ lui $at, 0x4396 ## $at = 43960000
-/* 00584 809CB094 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
-/* 00588 809CB098 44812000 */ mtc1 $at, $f4 ## $f4 = 1.00
-/* 0058C 809CB09C 8607008A */ lh $a3, 0x008A($s0) ## 0000008A
-/* 00590 809CB0A0 8FA4002C */ lw $a0, 0x002C($sp)
-/* 00594 809CB0A4 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
-/* 00598 809CB0A8 3C0640A0 */ lui $a2, 0x40A0 ## $a2 = 40A00000
-/* 0059C 809CB0AC 0C00BDC7 */ jal func_8002F71C
-/* 005A0 809CB0B0 E7A40010 */ swc1 $f4, 0x0010($sp)
-/* 005A4 809CB0B4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
-/* 005A8 809CB0B8 0C272B91 */ jal func_809CAE44
-/* 005AC 809CB0BC 8FA5002C */ lw $a1, 0x002C($sp)
-/* 005B0 809CB0C0 10000010 */ beq $zero, $zero, .L809CB104
-/* 005B4 809CB0C4 8FBF0024 */ lw $ra, 0x0024($sp)
-.L809CB0C8:
-/* 005B8 809CB0C8 C6060090 */ lwc1 $f6, 0x0090($s0) ## 00000090
-/* 005BC 809CB0CC 44814000 */ mtc1 $at, $f8 ## $f8 = 0.00
-/* 005C0 809CB0D0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
-/* 005C4 809CB0D4 4608303C */ c.lt.s $f6, $f8
-/* 005C8 809CB0D8 00000000 */ nop
-/* 005CC 809CB0DC 45020009 */ bc1fl .L809CB104
-/* 005D0 809CB0E0 8FBF0024 */ lw $ra, 0x0024($sp)
-/* 005D4 809CB0E4 0C272B91 */ jal func_809CAE44
-/* 005D8 809CB0E8 8FA5002C */ lw $a1, 0x002C($sp)
-/* 005DC 809CB0EC 10000005 */ beq $zero, $zero, .L809CB104
-/* 005E0 809CB0F0 8FBF0024 */ lw $ra, 0x0024($sp)
-.L809CB0F4:
-/* 005E4 809CB0F4 14200002 */ bne $at, $zero, .L809CB100
-/* 005E8 809CB0F8 240F0050 */ addiu $t7, $zero, 0x0050 ## $t7 = 00000050
-/* 005EC 809CB0FC A20F0114 */ sb $t7, 0x0114($s0) ## 00000114
-.L809CB100:
-/* 005F0 809CB100 8FBF0024 */ lw $ra, 0x0024($sp)
-.L809CB104:
-/* 005F4 809CB104 8FB00020 */ lw $s0, 0x0020($sp)
-/* 005F8 809CB108 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
-/* 005FC 809CB10C 03E00008 */ jr $ra
-/* 00600 809CB110 00000000 */ nop
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CB114.s b/asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CB114.s
deleted file mode 100644
index 9471eda9c..000000000
--- a/asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CB114.s
+++ /dev/null
@@ -1,72 +0,0 @@
-glabel func_809CB114
-/* 00604 809CB114 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
-/* 00608 809CB118 AFA5001C */ sw $a1, 0x001C($sp)
-/* 0060C 809CB11C 00802825 */ or $a1, $a0, $zero ## $a1 = 00000000
-/* 00610 809CB120 AFBF0014 */ sw $ra, 0x0014($sp)
-/* 00614 809CB124 AFA40018 */ sw $a0, 0x0018($sp)
-/* 00618 809CB128 AFA50018 */ sw $a1, 0x0018($sp)
-/* 0061C 809CB12C 0C02927F */ jal SkelAnime_Update
-
-/* 00620 809CB130 24840164 */ addiu $a0, $a0, 0x0164 ## $a0 = 00000164
-/* 00624 809CB134 10400005 */ beq $v0, $zero, .L809CB14C
-/* 00628 809CB138 8FA50018 */ lw $a1, 0x0018($sp)
-/* 0062C 809CB13C 0C272BA8 */ jal func_809CAEA0
-/* 00630 809CB140 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
-/* 00634 809CB144 10000031 */ beq $zero, $zero, .L809CB20C
-/* 00638 809CB148 8FBF0014 */ lw $ra, 0x0014($sp)
-.L809CB14C:
-/* 0063C 809CB14C 3C014100 */ lui $at, 0x4100 ## $at = 41000000
-/* 00640 809CB150 C4A0017C */ lwc1 $f0, 0x017C($a1) ## 0000017C
-/* 00644 809CB154 44812000 */ mtc1 $at, $f4 ## $f4 = 8.00
-/* 00648 809CB158 3C014140 */ lui $at, 0x4140 ## $at = 41400000
-/* 0064C 809CB15C 4604003C */ c.lt.s $f0, $f4
-/* 00650 809CB160 00000000 */ nop
-/* 00654 809CB164 4502000D */ bc1fl .L809CB19C
-/* 00658 809CB168 44812000 */ mtc1 $at, $f4 ## $f4 = 12.00
-/* 0065C 809CB16C 84AE01AE */ lh $t6, 0x01AE($a1) ## 000001AE
-/* 00660 809CB170 3C01447A */ lui $at, 0x447A ## $at = 447A0000
-/* 00664 809CB174 44815000 */ mtc1 $at, $f10 ## $f10 = 1000.00
-/* 00668 809CB178 448E3000 */ mtc1 $t6, $f6 ## $f6 = 0.00
-/* 0066C 809CB17C 00000000 */ nop
-/* 00670 809CB180 46803220 */ cvt.s.w $f8, $f6
-/* 00674 809CB184 460A4400 */ add.s $f16, $f8, $f10
-/* 00678 809CB188 4600848D */ trunc.w.s $f18, $f16
-/* 0067C 809CB18C 44189000 */ mfc1 $t8, $f18
-/* 00680 809CB190 1000001D */ beq $zero, $zero, .L809CB208
-/* 00684 809CB194 A4B801AE */ sh $t8, 0x01AE($a1) ## 000001AE
-/* 00688 809CB198 44812000 */ mtc1 $at, $f4 ## $f4 = 1000.00
-.L809CB19C:
-/* 0068C 809CB19C 00000000 */ nop
-/* 00690 809CB1A0 4604003C */ c.lt.s $f0, $f4
-/* 00694 809CB1A4 00000000 */ nop
-/* 00698 809CB1A8 4502000D */ bc1fl .L809CB1E0
-/* 0069C 809CB1AC 84AA01AE */ lh $t2, 0x01AE($a1) ## 000001AE
-/* 006A0 809CB1B0 84B901AE */ lh $t9, 0x01AE($a1) ## 000001AE
-/* 006A4 809CB1B4 3C01437A */ lui $at, 0x437A ## $at = 437A0000
-/* 006A8 809CB1B8 44815000 */ mtc1 $at, $f10 ## $f10 = 250.00
-/* 006AC 809CB1BC 44993000 */ mtc1 $t9, $f6 ## $f6 = 0.00
-/* 006B0 809CB1C0 00000000 */ nop
-/* 006B4 809CB1C4 46803220 */ cvt.s.w $f8, $f6
-/* 006B8 809CB1C8 460A4400 */ add.s $f16, $f8, $f10
-/* 006BC 809CB1CC 4600848D */ trunc.w.s $f18, $f16
-/* 006C0 809CB1D0 44099000 */ mfc1 $t1, $f18
-/* 006C4 809CB1D4 1000000C */ beq $zero, $zero, .L809CB208
-/* 006C8 809CB1D8 A4A901AE */ sh $t1, 0x01AE($a1) ## 000001AE
-/* 006CC 809CB1DC 84AA01AE */ lh $t2, 0x01AE($a1) ## 000001AE
-.L809CB1E0:
-/* 006D0 809CB1E0 3C01437A */ lui $at, 0x437A ## $at = 437A0000
-/* 006D4 809CB1E4 44814000 */ mtc1 $at, $f8 ## $f8 = 250.00
-/* 006D8 809CB1E8 448A2000 */ mtc1 $t2, $f4 ## $f4 = 0.00
-/* 006DC 809CB1EC 00000000 */ nop
-/* 006E0 809CB1F0 468021A0 */ cvt.s.w $f6, $f4
-/* 006E4 809CB1F4 46083281 */ sub.s $f10, $f6, $f8
-/* 006E8 809CB1F8 4600540D */ trunc.w.s $f16, $f10
-/* 006EC 809CB1FC 440C8000 */ mfc1 $t4, $f16
-/* 006F0 809CB200 00000000 */ nop
-/* 006F4 809CB204 A4AC01AE */ sh $t4, 0x01AE($a1) ## 000001AE
-.L809CB208:
-/* 006F8 809CB208 8FBF0014 */ lw $ra, 0x0014($sp)
-.L809CB20C:
-/* 006FC 809CB20C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
-/* 00700 809CB210 03E00008 */ jr $ra
-/* 00704 809CB214 00000000 */ nop
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CB218.s b/asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CB218.s
deleted file mode 100644
index 7f79a7098..000000000
--- a/asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CB218.s
+++ /dev/null
@@ -1,47 +0,0 @@
-glabel func_809CB218
-/* 00708 809CB218 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
-/* 0070C 809CB21C AFB00018 */ sw $s0, 0x0018($sp)
-/* 00710 809CB220 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
-/* 00714 809CB224 AFBF001C */ sw $ra, 0x001C($sp)
-/* 00718 809CB228 24840164 */ addiu $a0, $a0, 0x0164 ## $a0 = 00000164
-/* 0071C 809CB22C AFA5002C */ sw $a1, 0x002C($sp)
-/* 00720 809CB230 0C02927F */ jal SkelAnime_Update
-
-/* 00724 809CB234 AFA40024 */ sw $a0, 0x0024($sp)
-/* 00728 809CB238 8FA40024 */ lw $a0, 0x0024($sp)
-/* 0072C 809CB23C 0C0295B2 */ jal Animation_OnFrame
-/* 00730 809CB240 3C0540C0 */ lui $a1, 0x40C0 ## $a1 = 40C00000
-/* 00734 809CB244 14400004 */ bne $v0, $zero, .L809CB258
-/* 00738 809CB248 8FA40024 */ lw $a0, 0x0024($sp)
-/* 0073C 809CB24C 0C0295B2 */ jal Animation_OnFrame
-/* 00740 809CB250 3C054170 */ lui $a1, 0x4170 ## $a1 = 41700000
-/* 00744 809CB254 10400003 */ beq $v0, $zero, .L809CB264
-.L809CB258:
-/* 00748 809CB258 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
-/* 0074C 809CB25C 0C00BE0A */ jal Audio_PlayActorSound2
-
-/* 00750 809CB260 2405394A */ addiu $a1, $zero, 0x394A ## $a1 = 0000394A
-.L809CB264:
-/* 00754 809CB264 860201AC */ lh $v0, 0x01AC($s0) ## 000001AC
-/* 00758 809CB268 3C0143FA */ lui $at, 0x43FA ## $at = 43FA0000
-/* 0075C 809CB26C 10400003 */ beq $v0, $zero, .L809CB27C
-/* 00760 809CB270 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
-/* 00764 809CB274 A60E01AC */ sh $t6, 0x01AC($s0) ## 000001AC
-/* 00768 809CB278 860201AC */ lh $v0, 0x01AC($s0) ## 000001AC
-.L809CB27C:
-/* 0076C 809CB27C 5440000A */ bnel $v0, $zero, .L809CB2A8
-/* 00770 809CB280 8FBF001C */ lw $ra, 0x001C($sp)
-/* 00774 809CB284 44812000 */ mtc1 $at, $f4 ## $f4 = 500.00
-/* 00778 809CB288 C6060090 */ lwc1 $f6, 0x0090($s0) ## 00000090
-/* 0077C 809CB28C 4606203C */ c.lt.s $f4, $f6
-/* 00780 809CB290 00000000 */ nop
-/* 00784 809CB294 45020004 */ bc1fl .L809CB2A8
-/* 00788 809CB298 8FBF001C */ lw $ra, 0x001C($sp)
-/* 0078C 809CB29C 0C272BE2 */ jal func_809CAF88
-/* 00790 809CB2A0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
-/* 00794 809CB2A4 8FBF001C */ lw $ra, 0x001C($sp)
-.L809CB2A8:
-/* 00798 809CB2A8 8FB00018 */ lw $s0, 0x0018($sp)
-/* 0079C 809CB2AC 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
-/* 007A0 809CB2B0 03E00008 */ jr $ra
-/* 007A4 809CB2B4 00000000 */ nop
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CB2B8.s b/asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CB2B8.s
deleted file mode 100644
index 0a5e3125f..000000000
--- a/asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CB2B8.s
+++ /dev/null
@@ -1,49 +0,0 @@
-.late_rodata
-glabel D_809CBACC
- .float 1250.0
-
-.text
-glabel func_809CB2B8
-/* 007A8 809CB2B8 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
-/* 007AC 809CB2BC AFBF0014 */ sw $ra, 0x0014($sp)
-/* 007B0 809CB2C0 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
-/* 007B4 809CB2C4 AFA5001C */ sw $a1, 0x001C($sp)
-/* 007B8 809CB2C8 AFA60018 */ sw $a2, 0x0018($sp)
-/* 007BC 809CB2CC 0C02927F */ jal SkelAnime_Update
-
-/* 007C0 809CB2D0 24840164 */ addiu $a0, $a0, 0x0164 ## $a0 = 00000164
-/* 007C4 809CB2D4 10400007 */ beq $v0, $zero, .L809CB2F4
-/* 007C8 809CB2D8 8FA60018 */ lw $a2, 0x0018($sp)
-/* 007CC 809CB2DC 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
-/* 007D0 809CB2E0 8FA5001C */ lw $a1, 0x001C($sp)
-/* 007D4 809CB2E4 0C272B77 */ jal func_809CADDC
-/* 007D8 809CB2E8 AFA60018 */ sw $a2, 0x0018($sp)
-/* 007DC 809CB2EC 10000013 */ beq $zero, $zero, .L809CB33C
-/* 007E0 809CB2F0 8FA60018 */ lw $a2, 0x0018($sp)
-.L809CB2F4:
-/* 007E4 809CB2F4 3C014100 */ lui $at, 0x4100 ## $at = 41000000
-/* 007E8 809CB2F8 44813000 */ mtc1 $at, $f6 ## $f6 = 8.00
-/* 007EC 809CB2FC C4C4017C */ lwc1 $f4, 0x017C($a2) ## 0000017C
-/* 007F0 809CB300 4606203C */ c.lt.s $f4, $f6
-/* 007F4 809CB304 00000000 */ nop
-/* 007F8 809CB308 4502000D */ bc1fl .L809CB340
-/* 007FC 809CB30C 24190050 */ addiu $t9, $zero, 0x0050 ## $t9 = 00000050
-/* 00800 809CB310 84CE01AE */ lh $t6, 0x01AE($a2) ## 000001AE
-/* 00804 809CB314 3C01809D */ lui $at, %hi(D_809CBACC) ## $at = 809D0000
-/* 00808 809CB318 C430BACC */ lwc1 $f16, %lo(D_809CBACC)($at)
-/* 0080C 809CB31C 448E4000 */ mtc1 $t6, $f8 ## $f8 = 0.00
-/* 00810 809CB320 00000000 */ nop
-/* 00814 809CB324 468042A0 */ cvt.s.w $f10, $f8
-/* 00818 809CB328 46105481 */ sub.s $f18, $f10, $f16
-/* 0081C 809CB32C 4600910D */ trunc.w.s $f4, $f18
-/* 00820 809CB330 44182000 */ mfc1 $t8, $f4
-/* 00824 809CB334 00000000 */ nop
-/* 00828 809CB338 A4D801AE */ sh $t8, 0x01AE($a2) ## 000001AE
-.L809CB33C:
-/* 0082C 809CB33C 24190050 */ addiu $t9, $zero, 0x0050 ## $t9 = 00000050
-.L809CB340:
-/* 00830 809CB340 A0D90114 */ sb $t9, 0x0114($a2) ## 00000114
-/* 00834 809CB344 8FBF0014 */ lw $ra, 0x0014($sp)
-/* 00838 809CB348 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
-/* 0083C 809CB34C 03E00008 */ jr $ra
-/* 00840 809CB350 00000000 */ nop
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CB354.s b/asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CB354.s
deleted file mode 100644
index ad1bcd398..000000000
--- a/asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CB354.s
+++ /dev/null
@@ -1,72 +0,0 @@
-glabel func_809CB354
-/* 00844 809CB354 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
-/* 00848 809CB358 AFBF0014 */ sw $ra, 0x0014($sp)
-/* 0084C 809CB35C 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
-/* 00850 809CB360 AFA5001C */ sw $a1, 0x001C($sp)
-/* 00854 809CB364 AFA60018 */ sw $a2, 0x0018($sp)
-/* 00858 809CB368 0C02927F */ jal SkelAnime_Update
-
-/* 0085C 809CB36C 24840164 */ addiu $a0, $a0, 0x0164 ## $a0 = 00000164
-/* 00860 809CB370 10400006 */ beq $v0, $zero, .L809CB38C
-/* 00864 809CB374 8FA60018 */ lw $a2, 0x0018($sp)
-/* 00868 809CB378 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
-/* 0086C 809CB37C 0C272B77 */ jal func_809CADDC
-/* 00870 809CB380 8FA5001C */ lw $a1, 0x001C($sp)
-/* 00874 809CB384 10000031 */ beq $zero, $zero, .L809CB44C
-/* 00878 809CB388 8FBF0014 */ lw $ra, 0x0014($sp)
-.L809CB38C:
-/* 0087C 809CB38C 3C014100 */ lui $at, 0x4100 ## $at = 41000000
-/* 00880 809CB390 C4C0017C */ lwc1 $f0, 0x017C($a2) ## 0000017C
-/* 00884 809CB394 44812000 */ mtc1 $at, $f4 ## $f4 = 8.00
-/* 00888 809CB398 3C014140 */ lui $at, 0x4140 ## $at = 41400000
-/* 0088C 809CB39C 4604003C */ c.lt.s $f0, $f4
-/* 00890 809CB3A0 00000000 */ nop
-/* 00894 809CB3A4 4502000D */ bc1fl .L809CB3DC
-/* 00898 809CB3A8 44812000 */ mtc1 $at, $f4 ## $f4 = 12.00
-/* 0089C 809CB3AC 84CE01AE */ lh $t6, 0x01AE($a2) ## 000001AE
-/* 008A0 809CB3B0 3C01447A */ lui $at, 0x447A ## $at = 447A0000
-/* 008A4 809CB3B4 44815000 */ mtc1 $at, $f10 ## $f10 = 1000.00
-/* 008A8 809CB3B8 448E3000 */ mtc1 $t6, $f6 ## $f6 = 0.00
-/* 008AC 809CB3BC 00000000 */ nop
-/* 008B0 809CB3C0 46803220 */ cvt.s.w $f8, $f6
-/* 008B4 809CB3C4 460A4401 */ sub.s $f16, $f8, $f10
-/* 008B8 809CB3C8 4600848D */ trunc.w.s $f18, $f16
-/* 008BC 809CB3CC 44189000 */ mfc1 $t8, $f18
-/* 008C0 809CB3D0 1000001D */ beq $zero, $zero, .L809CB448
-/* 008C4 809CB3D4 A4D801AE */ sh $t8, 0x01AE($a2) ## 000001AE
-/* 008C8 809CB3D8 44812000 */ mtc1 $at, $f4 ## $f4 = 1000.00
-.L809CB3DC:
-/* 008CC 809CB3DC 00000000 */ nop
-/* 008D0 809CB3E0 4604003C */ c.lt.s $f0, $f4
-/* 008D4 809CB3E4 00000000 */ nop
-/* 008D8 809CB3E8 4502000D */ bc1fl .L809CB420
-/* 008DC 809CB3EC 84CA01AE */ lh $t2, 0x01AE($a2) ## 000001AE
-/* 008E0 809CB3F0 84D901AE */ lh $t9, 0x01AE($a2) ## 000001AE
-/* 008E4 809CB3F4 3C01437A */ lui $at, 0x437A ## $at = 437A0000
-/* 008E8 809CB3F8 44815000 */ mtc1 $at, $f10 ## $f10 = 250.00
-/* 008EC 809CB3FC 44993000 */ mtc1 $t9, $f6 ## $f6 = 0.00
-/* 008F0 809CB400 00000000 */ nop
-/* 008F4 809CB404 46803220 */ cvt.s.w $f8, $f6
-/* 008F8 809CB408 460A4401 */ sub.s $f16, $f8, $f10
-/* 008FC 809CB40C 4600848D */ trunc.w.s $f18, $f16
-/* 00900 809CB410 44099000 */ mfc1 $t1, $f18
-/* 00904 809CB414 1000000C */ beq $zero, $zero, .L809CB448
-/* 00908 809CB418 A4C901AE */ sh $t1, 0x01AE($a2) ## 000001AE
-/* 0090C 809CB41C 84CA01AE */ lh $t2, 0x01AE($a2) ## 000001AE
-.L809CB420:
-/* 00910 809CB420 3C01437A */ lui $at, 0x437A ## $at = 437A0000
-/* 00914 809CB424 44814000 */ mtc1 $at, $f8 ## $f8 = 250.00
-/* 00918 809CB428 448A2000 */ mtc1 $t2, $f4 ## $f4 = 0.00
-/* 0091C 809CB42C 00000000 */ nop
-/* 00920 809CB430 468021A0 */ cvt.s.w $f6, $f4
-/* 00924 809CB434 46083280 */ add.s $f10, $f6, $f8
-/* 00928 809CB438 4600540D */ trunc.w.s $f16, $f10
-/* 0092C 809CB43C 440C8000 */ mfc1 $t4, $f16
-/* 00930 809CB440 00000000 */ nop
-/* 00934 809CB444 A4CC01AE */ sh $t4, 0x01AE($a2) ## 000001AE
-.L809CB448:
-/* 00938 809CB448 8FBF0014 */ lw $ra, 0x0014($sp)
-.L809CB44C:
-/* 0093C 809CB44C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
-/* 00940 809CB450 03E00008 */ jr $ra
-/* 00944 809CB454 00000000 */ nop
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CB458.s b/asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CB458.s
deleted file mode 100644
index 6750a55d9..000000000
--- a/asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CB458.s
+++ /dev/null
@@ -1,155 +0,0 @@
-.late_rodata
-glabel D_809CBAD0
- .float 5500.0
-glabel D_809CBAD4
- .float 5500.0
-glabel D_809CBAD8
- .float 15000.0
-
-.text
-glabel func_809CB458
-/* 00948 809CB458 27BDFF68 */ addiu $sp, $sp, 0xFF68 ## $sp = FFFFFF68
-/* 0094C 809CB45C AFB1005C */ sw $s1, 0x005C($sp)
-/* 00950 809CB460 AFB00058 */ sw $s0, 0x0058($sp)
-/* 00954 809CB464 00808825 */ or $s1, $a0, $zero ## $s1 = 00000000
-/* 00958 809CB468 AFBF0074 */ sw $ra, 0x0074($sp)
-/* 0095C 809CB46C AFB60070 */ sw $s6, 0x0070($sp)
-/* 00960 809CB470 24900164 */ addiu $s0, $a0, 0x0164 ## $s0 = 00000164
-/* 00964 809CB474 00A0B025 */ or $s6, $a1, $zero ## $s6 = 00000000
-/* 00968 809CB478 AFB5006C */ sw $s5, 0x006C($sp)
-/* 0096C 809CB47C AFB40068 */ sw $s4, 0x0068($sp)
-/* 00970 809CB480 AFB30064 */ sw $s3, 0x0064($sp)
-/* 00974 809CB484 AFB20060 */ sw $s2, 0x0060($sp)
-/* 00978 809CB488 F7BE0050 */ sdc1 $f30, 0x0050($sp)
-/* 0097C 809CB48C F7BC0048 */ sdc1 $f28, 0x0048($sp)
-/* 00980 809CB490 F7BA0040 */ sdc1 $f26, 0x0040($sp)
-/* 00984 809CB494 F7B80038 */ sdc1 $f24, 0x0038($sp)
-/* 00988 809CB498 F7B60030 */ sdc1 $f22, 0x0030($sp)
-/* 0098C 809CB49C F7B40028 */ sdc1 $f20, 0x0028($sp)
-/* 00990 809CB4A0 0C02927F */ jal SkelAnime_Update
-
-/* 00994 809CB4A4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000164
-/* 00998 809CB4A8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000164
-/* 0099C 809CB4AC 0C0295B2 */ jal Animation_OnFrame
-/* 009A0 809CB4B0 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
-/* 009A4 809CB4B4 10400005 */ beq $v0, $zero, .L809CB4CC
-/* 009A8 809CB4B8 3C0F0001 */ lui $t7, 0x0001 ## $t7 = 00010000
-/* 009AC 809CB4BC 862201AC */ lh $v0, 0x01AC($s1) ## 000001AC
-/* 009B0 809CB4C0 10400002 */ beq $v0, $zero, .L809CB4CC
-/* 009B4 809CB4C4 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
-/* 009B8 809CB4C8 A62E01AC */ sh $t6, 0x01AC($s1) ## 000001AC
-.L809CB4CC:
-/* 009BC 809CB4CC 01F67821 */ addu $t7, $t7, $s6
-/* 009C0 809CB4D0 8DEF1DE4 */ lw $t7, 0x1DE4($t7) ## 00011DE4
-/* 009C4 809CB4D4 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000
-/* 009C8 809CB4D8 24150004 */ addiu $s5, $zero, 0x0004 ## $s5 = 00000004
-/* 009CC 809CB4DC 31F80001 */ andi $t8, $t7, 0x0001 ## $t8 = 00000000
-/* 009D0 809CB4E0 13000008 */ beq $t8, $zero, .L809CB504
-/* 009D4 809CB4E4 3C14809D */ lui $s4, %hi(D_809CBAB8) ## $s4 = 809D0000
-/* 009D8 809CB4E8 3C01809D */ lui $at, %hi(D_809CBAD0) ## $at = 809D0000
-/* 009DC 809CB4EC C426BAD0 */ lwc1 $f6, %lo(D_809CBAD0)($at)
-/* 009E0 809CB4F0 C6240050 */ lwc1 $f4, 0x0050($s1) ## 00000050
-/* 009E4 809CB4F4 4480B000 */ mtc1 $zero, $f22 ## $f22 = 0.00
-/* 009E8 809CB4F8 46062002 */ mul.s $f0, $f4, $f6
-/* 009EC 809CB4FC 10000007 */ beq $zero, $zero, .L809CB51C
-/* 009F0 809CB500 3C014780 */ lui $at, 0x4780 ## $at = 47800000
-.L809CB504:
-/* 009F4 809CB504 3C01809D */ lui $at, %hi(D_809CBAD4) ## $at = 809D0000
-/* 009F8 809CB508 C42ABAD4 */ lwc1 $f10, %lo(D_809CBAD4)($at)
-/* 009FC 809CB50C C6280050 */ lwc1 $f8, 0x0050($s1) ## 00000050
-/* 00A00 809CB510 460A4002 */ mul.s $f0, $f8, $f10
-/* 00A04 809CB514 46000586 */ mov.s $f22, $f0
-/* 00A08 809CB518 3C014780 */ lui $at, 0x4780 ## $at = 47800000
-.L809CB51C:
-/* 00A0C 809CB51C 4481F000 */ mtc1 $at, $f30 ## $f30 = 65536.00
-/* 00A10 809CB520 3C0145FA */ lui $at, 0x45FA ## $at = 45FA0000
-/* 00A14 809CB524 4481E000 */ mtc1 $at, $f28 ## $f28 = 8000.00
-/* 00A18 809CB528 3C01447A */ lui $at, 0x447A ## $at = 447A0000
-/* 00A1C 809CB52C 4481D000 */ mtc1 $at, $f26 ## $f26 = 1000.00
-/* 00A20 809CB530 3C01809D */ lui $at, %hi(D_809CBAD8) ## $at = 809D0000
-/* 00A24 809CB534 3C13809D */ lui $s3, %hi(D_809CBAB4) ## $s3 = 809D0000
-/* 00A28 809CB538 46000506 */ mov.s $f20, $f0
-/* 00A2C 809CB53C 2673BAB4 */ addiu $s3, $s3, %lo(D_809CBAB4) ## $s3 = 809CBAB4
-/* 00A30 809CB540 C438BAD8 */ lwc1 $f24, %lo(D_809CBAD8)($at)
-/* 00A34 809CB544 2694BAB8 */ addiu $s4, $s4, %lo(D_809CBAB8) ## $s4 = 809CBAB8
-/* 00A38 809CB548 27B2008C */ addiu $s2, $sp, 0x008C ## $s2 = FFFFFFF4
-.L809CB54C:
-/* 00A3C 809CB54C 06010004 */ bgez $s0, .L809CB560
-/* 00A40 809CB550 32190001 */ andi $t9, $s0, 0x0001 ## $t9 = 00000000
-/* 00A44 809CB554 13200002 */ beq $t9, $zero, .L809CB560
-/* 00A48 809CB558 00000000 */ nop
-/* 00A4C 809CB55C 2739FFFE */ addiu $t9, $t9, 0xFFFE ## $t9 = FFFFFFFE
-.L809CB560:
-/* 00A50 809CB560 53200009 */ beql $t9, $zero, .L809CB588
-/* 00A54 809CB564 C6280024 */ lwc1 $f8, 0x0024($s1) ## 00000024
-/* 00A58 809CB568 C6300024 */ lwc1 $f16, 0x0024($s1) ## 00000024
-/* 00A5C 809CB56C 46168480 */ add.s $f18, $f16, $f22
-/* 00A60 809CB570 E7B2008C */ swc1 $f18, 0x008C($sp)
-/* 00A64 809CB574 C624002C */ lwc1 $f4, 0x002C($s1) ## 0000002C
-/* 00A68 809CB578 46142180 */ add.s $f6, $f4, $f20
-/* 00A6C 809CB57C 10000009 */ beq $zero, $zero, .L809CB5A4
-/* 00A70 809CB580 E7A60094 */ swc1 $f6, 0x0094($sp)
-/* 00A74 809CB584 C6280024 */ lwc1 $f8, 0x0024($s1) ## 00000024
-.L809CB588:
-/* 00A78 809CB588 46144280 */ add.s $f10, $f8, $f20
-/* 00A7C 809CB58C 4600A507 */ neg.s $f20, $f20
-/* 00A80 809CB590 E7AA008C */ swc1 $f10, 0x008C($sp)
-/* 00A84 809CB594 C630002C */ lwc1 $f16, 0x002C($s1) ## 0000002C
-/* 00A88 809CB598 46168480 */ add.s $f18, $f16, $f22
-/* 00A8C 809CB59C 4600B587 */ neg.s $f22, $f22
-/* 00A90 809CB5A0 E7B20094 */ swc1 $f18, 0x0094($sp)
-.L809CB5A4:
-/* 00A94 809CB5A4 0C03F66B */ jal Rand_ZeroOne
- ## Rand.Next() float
-/* 00A98 809CB5A8 00000000 */ nop
-/* 00A9C 809CB5AC 46180102 */ mul.s $f4, $f0, $f24
-/* 00AA0 809CB5B0 C6280054 */ lwc1 $f8, 0x0054($s1) ## 00000054
-/* 00AA4 809CB5B4 C6300028 */ lwc1 $f16, 0x0028($s1) ## 00000028
-/* 00AA8 809CB5B8 461A2180 */ add.s $f6, $f4, $f26
-/* 00AAC 809CB5BC 46083282 */ mul.s $f10, $f6, $f8
-/* 00AB0 809CB5C0 46105480 */ add.s $f18, $f10, $f16
-/* 00AB4 809CB5C4 0C03F66B */ jal Rand_ZeroOne
- ## Rand.Next() float
-/* 00AB8 809CB5C8 E7B20090 */ swc1 $f18, 0x0090($sp)
-/* 00ABC 809CB5CC C6240054 */ lwc1 $f4, 0x0054($s1) ## 00000054
-/* 00AC0 809CB5D0 240C0001 */ addiu $t4, $zero, 0x0001 ## $t4 = 00000001
-/* 00AC4 809CB5D4 AFAC001C */ sw $t4, 0x001C($sp)
-/* 00AC8 809CB5D8 461C2182 */ mul.s $f6, $f4, $f28
-/* 00ACC 809CB5DC AFB50018 */ sw $s5, 0x0018($sp)
-/* 00AD0 809CB5E0 02C02025 */ or $a0, $s6, $zero ## $a0 = 00000000
-/* 00AD4 809CB5E4 461E0282 */ mul.s $f10, $f0, $f30
-/* 00AD8 809CB5E8 02402825 */ or $a1, $s2, $zero ## $a1 = FFFFFFF4
-/* 00ADC 809CB5EC 02603025 */ or $a2, $s3, $zero ## $a2 = 809CBAB4
-/* 00AE0 809CB5F0 02803825 */ or $a3, $s4, $zero ## $a3 = 809CBAB8
-/* 00AE4 809CB5F4 4600320D */ trunc.w.s $f8, $f6
-/* 00AE8 809CB5F8 4600540D */ trunc.w.s $f16, $f10
-/* 00AEC 809CB5FC 44094000 */ mfc1 $t1, $f8
-/* 00AF0 809CB600 440B8000 */ mfc1 $t3, $f16
-/* 00AF4 809CB604 AFA90010 */ sw $t1, 0x0010($sp)
-/* 00AF8 809CB608 0C00A568 */ jal EffectSsLightning_Spawn
-/* 00AFC 809CB60C AFAB0014 */ sw $t3, 0x0014($sp)
-/* 00B00 809CB610 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001
-/* 00B04 809CB614 1615FFCD */ bne $s0, $s5, .L809CB54C
-/* 00B08 809CB618 00000000 */ nop
-/* 00B0C 809CB61C 862D01AC */ lh $t5, 0x01AC($s1) ## 000001AC
-/* 00B10 809CB620 55A00004 */ bnel $t5, $zero, .L809CB634
-/* 00B14 809CB624 8FBF0074 */ lw $ra, 0x0074($sp)
-/* 00B18 809CB628 0C272BA8 */ jal func_809CAEA0
-/* 00B1C 809CB62C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
-/* 00B20 809CB630 8FBF0074 */ lw $ra, 0x0074($sp)
-.L809CB634:
-/* 00B24 809CB634 D7B40028 */ ldc1 $f20, 0x0028($sp)
-/* 00B28 809CB638 D7B60030 */ ldc1 $f22, 0x0030($sp)
-/* 00B2C 809CB63C D7B80038 */ ldc1 $f24, 0x0038($sp)
-/* 00B30 809CB640 D7BA0040 */ ldc1 $f26, 0x0040($sp)
-/* 00B34 809CB644 D7BC0048 */ ldc1 $f28, 0x0048($sp)
-/* 00B38 809CB648 D7BE0050 */ ldc1 $f30, 0x0050($sp)
-/* 00B3C 809CB64C 8FB00058 */ lw $s0, 0x0058($sp)
-/* 00B40 809CB650 8FB1005C */ lw $s1, 0x005C($sp)
-/* 00B44 809CB654 8FB20060 */ lw $s2, 0x0060($sp)
-/* 00B48 809CB658 8FB30064 */ lw $s3, 0x0064($sp)
-/* 00B4C 809CB65C 8FB40068 */ lw $s4, 0x0068($sp)
-/* 00B50 809CB660 8FB5006C */ lw $s5, 0x006C($sp)
-/* 00B54 809CB664 8FB60070 */ lw $s6, 0x0070($sp)
-/* 00B58 809CB668 03E00008 */ jr $ra
-/* 00B5C 809CB66C 27BD0098 */ addiu $sp, $sp, 0x0098 ## $sp = 00000000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CB90C.s b/asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CB90C.s
deleted file mode 100644
index 9b1d1eb14..000000000
--- a/asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CB90C.s
+++ /dev/null
@@ -1,56 +0,0 @@
-glabel func_809CB90C
-/* 00DFC 809CB90C 27BDFFA0 */ addiu $sp, $sp, 0xFFA0 ## $sp = FFFFFFA0
-/* 00E00 809CB910 AFBF0014 */ sw $ra, 0x0014($sp)
-/* 00E04 809CB914 AFA40060 */ sw $a0, 0x0060($sp)
-/* 00E08 809CB918 AFA50064 */ sw $a1, 0x0064($sp)
-/* 00E0C 809CB91C AFA60068 */ sw $a2, 0x0068($sp)
-/* 00E10 809CB920 AFA7006C */ sw $a3, 0x006C($sp)
-/* 00E14 809CB924 0C034236 */ jal Matrix_Get
-/* 00E18 809CB928 27A4001C */ addiu $a0, $sp, 0x001C ## $a0 = FFFFFFBC
-/* 00E1C 809CB92C 8FA20064 */ lw $v0, 0x0064($sp)
-/* 00E20 809CB930 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
-/* 00E24 809CB934 C7A4004C */ lwc1 $f4, 0x004C($sp)
-/* 00E28 809CB938 54410011 */ bnel $v0, $at, .L809CB980
-/* 00E2C 809CB93C 24010008 */ addiu $at, $zero, 0x0008 ## $at = 00000008
-/* 00E30 809CB940 4600218D */ trunc.w.s $f6, $f4
-/* 00E34 809CB944 8FA20070 */ lw $v0, 0x0070($sp)
-/* 00E38 809CB948 440F3000 */ mfc1 $t7, $f6
-/* 00E3C 809CB94C 00000000 */ nop
-/* 00E40 809CB950 A44F026E */ sh $t7, 0x026E($v0) ## 0000026E
-/* 00E44 809CB954 C7A80050 */ lwc1 $f8, 0x0050($sp)
-/* 00E48 809CB958 4600428D */ trunc.w.s $f10, $f8
-/* 00E4C 809CB95C 44195000 */ mfc1 $t9, $f10
-/* 00E50 809CB960 00000000 */ nop
-/* 00E54 809CB964 A4590270 */ sh $t9, 0x0270($v0) ## 00000270
-/* 00E58 809CB968 C7B00054 */ lwc1 $f16, 0x0054($sp)
-/* 00E5C 809CB96C 4600848D */ trunc.w.s $f18, $f16
-/* 00E60 809CB970 44099000 */ mfc1 $t1, $f18
-/* 00E64 809CB974 10000016 */ beq $zero, $zero, .L809CB9D0
-/* 00E68 809CB978 A4490272 */ sh $t1, 0x0272($v0) ## 00000272
-/* 00E6C 809CB97C 24010008 */ addiu $at, $zero, 0x0008 ## $at = 00000008
-.L809CB980:
-/* 00E70 809CB980 14410013 */ bne $v0, $at, .L809CB9D0
-/* 00E74 809CB984 C7A4004C */ lwc1 $f4, 0x004C($sp)
-/* 00E78 809CB988 4600218D */ trunc.w.s $f6, $f4
-/* 00E7C 809CB98C 8FA20070 */ lw $v0, 0x0070($sp)
-/* 00E80 809CB990 3C0140E0 */ lui $at, 0x40E0 ## $at = 40E00000
-/* 00E84 809CB994 44815000 */ mtc1 $at, $f10 ## $f10 = 7.00
-/* 00E88 809CB998 440B3000 */ mfc1 $t3, $f6
-/* 00E8C 809CB99C 00000000 */ nop
-/* 00E90 809CB9A0 A44B02BA */ sh $t3, 0x02BA($v0) ## 000002BA
-/* 00E94 809CB9A4 C7A80050 */ lwc1 $f8, 0x0050($sp)
-/* 00E98 809CB9A8 460A4400 */ add.s $f16, $f8, $f10
-/* 00E9C 809CB9AC 4600848D */ trunc.w.s $f18, $f16
-/* 00EA0 809CB9B0 440D9000 */ mfc1 $t5, $f18
-/* 00EA4 809CB9B4 00000000 */ nop
-/* 00EA8 809CB9B8 A44D02BC */ sh $t5, 0x02BC($v0) ## 000002BC
-/* 00EAC 809CB9BC C7A40054 */ lwc1 $f4, 0x0054($sp)
-/* 00EB0 809CB9C0 4600218D */ trunc.w.s $f6, $f4
-/* 00EB4 809CB9C4 440F3000 */ mfc1 $t7, $f6
-/* 00EB8 809CB9C8 00000000 */ nop
-/* 00EBC 809CB9CC A44F02BE */ sh $t7, 0x02BE($v0) ## 000002BE
-.L809CB9D0:
-/* 00EC0 809CB9D0 8FBF0014 */ lw $ra, 0x0014($sp)
-/* 00EC4 809CB9D4 27BD0060 */ addiu $sp, $sp, 0x0060 ## $sp = 00000000
-/* 00EC8 809CB9D8 03E00008 */ jr $ra
-/* 00ECC 809CB9DC 00000000 */ nop
diff --git a/data/overlays/actors/z_en_brob.data.s b/data/overlays/actors/z_en_brob.data.s
deleted file mode 100644
index d847e8cea..000000000
--- a/data/overlays/actors/z_en_brob.data.s
+++ /dev/null
@@ -1,26 +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_Brob_InitVars
- .word 0x00B60500, 0x00000005, 0x00AC0000, 0x000002C0
-.word EnBrob_Init
-.word EnBrob_Destroy
-.word EnBrob_Update
-.word EnBrob_Draw
-glabel D_809CBA80
- .word 0x00110939, 0x10010000, 0x01000000, 0xFFCFFFFF, 0x03080000, 0xFFCFFFFF, 0x01000000, 0x19010100, 0x1F402AF8, 0xEC780000, 0x00000000
-glabel D_809CBAAC
- .word 0x0000003C, 0x0078FF00
-glabel D_809CBAB4
- .word 0xFFFFFFFF
-glabel D_809CBAB8
- .word 0xC8FFFFFF, 0x00000000
-
diff --git a/data/overlays/actors/z_en_brob.reloc.s b/data/overlays/actors/z_en_brob.reloc.s
deleted file mode 100644
index e57a51c3b..000000000
--- a/data/overlays/actors/z_en_brob.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_809CBAE0
- .incbin "baserom/ovl_En_Brob", 0xFD0, 0x00000120
diff --git a/spec b/spec
index 591c5bebd..36d175416 100644
--- a/spec
+++ b/spec
@@ -1978,8 +1978,7 @@ endseg
beginseg
name "ovl_En_Brob"
include "build/src/overlays/actors/ovl_En_Brob/z_en_brob.o"
- include "build/data/overlays/actors/z_en_brob.data.o"
- include "build/data/overlays/actors/z_en_brob.reloc.o"
+ include "build/src/overlays/actors/ovl_En_Brob/ovl_En_Brob_reloc.o"
endseg
beginseg
diff --git a/src/overlays/actors/ovl_En_Brob/z_en_brob.c b/src/overlays/actors/ovl_En_Brob/z_en_brob.c
index 7797c3221..b3c1c9c14 100644
--- a/src/overlays/actors/ovl_En_Brob/z_en_brob.c
+++ b/src/overlays/actors/ovl_En_Brob/z_en_brob.c
@@ -15,14 +15,21 @@ void EnBrob_Destroy(Actor* thisx, GlobalContext* globalCtx);
void EnBrob_Update(Actor* thisx, GlobalContext* globalCtx);
void EnBrob_Draw(Actor* thisx, GlobalContext* globalCtx);
-extern UNK_TYPE D_06000290;
-extern UNK_TYPE D_060015D8;
-extern UNK_TYPE D_06001678;
-extern UNK_TYPE D_06001750;
-extern UNK_TYPE D_06001958;
-extern UNK_TYPE D_06001A70;
+void func_809CADDC(EnBrob* this, GlobalContext* globalCtx);
+void func_809CB054(EnBrob* this, GlobalContext* globalCtx);
+void func_809CB114(EnBrob* this, GlobalContext* globalCtx);
+void func_809CB218(EnBrob* this, GlobalContext* globalCtx);
+void func_809CB2B8(EnBrob* this, GlobalContext* globalCtx);
+void func_809CB354(EnBrob* this, GlobalContext* globalCtx);
+void func_809CB458(EnBrob* this, GlobalContext* globalCtx);
+
+extern AnimationHeader D_06000290;
+extern FlexSkeletonHeader D_060015D8;
+extern AnimationHeader D_06001678;
+extern AnimationHeader D_06001750;
+extern AnimationHeader D_06001958;
+extern CollisionHeader D_06001A70;
-/*
const ActorInit En_Brob_InitVars = {
ACTOR_EN_BROB,
ACTORCAT_ENEMY,
@@ -35,7 +42,7 @@ const ActorInit En_Brob_InitVars = {
(ActorFunc)EnBrob_Draw,
};
-static ColliderCylinderInit D_809CBA80 = {
+static ColliderCylinderInit sCylinderInit = {
{
COLTYPE_HIT0,
AT_ON | AT_TYPE_ENEMY,
@@ -54,37 +61,273 @@ static ColliderCylinderInit D_809CBA80 = {
},
{ 8000, 11000, -5000, { 0, 0, 0 } },
};
-*/
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Brob/EnBrob_Init.s")
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Brob/EnBrob_Destroy.s")
+static CollisionCheckInfoInit sColChkInfoInit = { 0, 60, 120, MASS_IMMOVABLE };
+
+void EnBrob_Init(Actor* thisx, GlobalContext* globalCtx) {
+ s32 pad;
+ EnBrob* this = THIS;
+ CollisionHeader* colHeader = NULL;
+
+ SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_060015D8, &D_06001750, this->jointTable, this->morphTable, 10);
+ DynaPolyActor_Init(&this->dyna, DPM_UNK);
+ CollisionHeader_GetVirtual(&D_06001A70, &colHeader);
+ this->dyna.bgId = DynaPoly_SetBgActor(globalCtx, &globalCtx->colCtx.dyna, thisx, colHeader);
+ Collider_InitCylinder(globalCtx, &this->colliders[0]);
+ Collider_SetCylinder(globalCtx, &this->colliders[0], &this->dyna.actor, &sCylinderInit);
+ Collider_InitCylinder(globalCtx, &this->colliders[1]);
+ Collider_SetCylinder(globalCtx, &this->colliders[1], &this->dyna.actor, &sCylinderInit);
+ CollisionCheck_SetInfo(&thisx->colChkInfo, NULL, &sColChkInfoInit);
+ if (((thisx->params >> 8) & 0xFF) == 0) {
+ Actor_SetScale(&this->dyna.actor, 0.01f);
+ thisx->params &= 0xFF;
+ if (thisx->params != 0xFF) {
+ thisx->scale.y *= (thisx->params & 0xFF) * (1.0f / 30.0f);
+ }
+ } else {
+ Actor_SetScale(&this->dyna.actor, 0.005f);
+ thisx->params &= 0xFF;
+ if (thisx->params != 0xFF) {
+ thisx->scale.y *= (thisx->params & 0xFF) * (2.0f / 30.0f);
+ }
+ }
+ this->colliders[0].dim.radius *= thisx->scale.x;
+ this->colliders[0].dim.height = thisx->scale.y * 12000.0f;
+ this->colliders[0].dim.yShift = 0;
+ this->colliders[1].dim.radius *= thisx->scale.x;
+ this->colliders[1].dim.height *= thisx->scale.y;
+ this->colliders[1].dim.yShift *= thisx->scale.y;
+ this->actionFunc = NULL;
+ thisx->flags &= ~1;
+ func_809CADDC(this, globalCtx);
+}
+
+void EnBrob_Destroy(Actor* thisx, GlobalContext* globalCtx) {
+ EnBrob* this = THIS;
+
+ DynaPoly_DeleteBgActor(globalCtx, &globalCtx->colCtx.dyna, this->dyna.bgId);
+ Collider_DestroyCylinder(globalCtx, &this->colliders[0]);
+ Collider_DestroyCylinder(globalCtx, &this->colliders[1]);
+}
+
+void func_809CADDC(EnBrob* this, GlobalContext* globalCtx) {
+ func_8003EC50(globalCtx, &globalCtx->colCtx.dyna, this->dyna.bgId);
+ this->timer = this->actionFunc == func_809CB2B8 ? 200 : 0;
+ this->unk_1AE = 0;
+ this->actionFunc = func_809CB054;
+}
+
+void func_809CAE44(EnBrob* this, GlobalContext* globalCtx) {
+ Animation_PlayOnce(&this->skelAnime, &D_06001750);
+ func_8003EBF8(globalCtx, &globalCtx->colCtx.dyna, this->dyna.bgId);
+ this->unk_1AE = 1000;
+ this->actionFunc = func_809CB114;
+}
+
+void func_809CAEA0(EnBrob* this) {
+ Animation_MorphToLoop(&this->skelAnime, &D_06001958, -5.0f);
+ this->unk_1AE = 8000;
+ this->timer = 1200;
+ this->actionFunc = func_809CB218;
+}
+
+void func_809CAEF4(EnBrob* this) {
+ Animation_MorphToPlayOnce(&this->skelAnime, &D_06000290, -5.0f);
+ this->unk_1AE -= 125.0f;
+ Actor_SetColorFilter(&this->dyna.actor, 0, 0xFF, 0, 0x50);
+ Audio_PlayActorSound2(&this->dyna.actor, NA_SE_EN_GOMA_JR_FREEZE);
+ this->actionFunc = func_809CB2B8;
+}
+
+void func_809CAF88(EnBrob* this) {
+ Animation_Change(&this->skelAnime, &D_06001750, -1.0f, Animation_GetLastFrame(&D_06001750), 0.0f, ANIMMODE_ONCE, -5.0f);
+ this->unk_1AE = 8250;
+ this->actionFunc = func_809CB354;
+}
+
+void func_809CB008(EnBrob* this) {
+ Animation_MorphToLoop(&this->skelAnime, &D_06001678, -5.0f);
+ this->timer = 10;
+ this->actionFunc = func_809CB458;
+}
+
+void func_809CB054(EnBrob* this, GlobalContext* globalCtx) {
+ if (this->timer != 0) {
+ this->timer--;
+ }
+ if (this->timer == 0) {
+ if (func_8004356C(&this->dyna) != 0) {
+ func_8002F71C(globalCtx, &this->dyna.actor, 5.0f, this->dyna.actor.yawTowardsPlayer, 1.0f);
+ func_809CAE44(this, globalCtx);
+ } else if (this->dyna.actor.xzDistToPlayer < 300.0f) {
+ func_809CAE44(this, globalCtx);
+ }
+ } else if (this->timer >= 81) {
+ this->dyna.actor.colorFilterTimer = 80;
+ }
+}
+
+void func_809CB114(EnBrob* this, GlobalContext* globalCtx) {
+ f32 curFrame;
+
+ if (SkelAnime_Update(&this->skelAnime)) {
+ func_809CAEA0(this);
+ } else {
+ curFrame = this->skelAnime.curFrame;
+ if (curFrame < 8.0f) {
+ this->unk_1AE += 1000.0f;
+ } else if (curFrame < 12.0f) {
+ this->unk_1AE += 250.0f;
+ } else {
+ this->unk_1AE -= 250.0f;
+ }
+ }
+}
+
+void func_809CB218(EnBrob* this, GlobalContext* globalCtx) {
+ SkelAnime_Update(&this->skelAnime);
+ if (Animation_OnFrame(&this->skelAnime, 6.0f) || Animation_OnFrame(&this->skelAnime, 15.0f)) {
+ Audio_PlayActorSound2(&this->dyna.actor, NA_SE_EN_BROB_WAVE);
+ }
+ if (this->timer != 0) {
+ this->timer--;
+ }
+ if ((this->timer == 0) && (this->dyna.actor.xzDistToPlayer > 500.0f)) {
+ func_809CAF88(this);
+ }
+}
+
+void func_809CB2B8(EnBrob* this, GlobalContext* globalCtx) {
+ if (SkelAnime_Update(&this->skelAnime)) {
+ func_809CADDC(this, globalCtx);
+ } else if (this->skelAnime.curFrame < 8.0f) {
+ this->unk_1AE -= 1250.0f;
+ }
+ this->dyna.actor.colorFilterTimer = 0x50;
+}
+
+void func_809CB354(EnBrob* this, GlobalContext* globalCtx) {
+ f32 curFrame;
+
+ if (SkelAnime_Update(&this->skelAnime)) {
+ func_809CADDC(this, globalCtx);
+ } else {
+ curFrame = this->skelAnime.curFrame;
+ if (curFrame < 8.0f) {
+ this->unk_1AE -= 1000.0f;
+ } else if (curFrame < 12.0f) {
+ this->unk_1AE -= 250.0f;
+ } else {
+ this->unk_1AE += 250.0f;
+ }
+ }
+}
+
+void func_809CB458(EnBrob* this, GlobalContext* globalCtx) {
+ Vec3f pos;
+ f32 dist1;
+ f32 dist2;
+ s32 i;
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CADDC.s")
+ SkelAnime_Update(&this->skelAnime);
+ if (Animation_OnFrame(&this->skelAnime, 0) && (this->timer != 0)) {
+ this->timer--;
+ }
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CAE44.s")
+ dist1 = globalCtx->gameplayFrames % 2 ? 0.0f : this->dyna.actor.scale.x * 5500.0f;
+ dist2 = this->dyna.actor.scale.x * 5500.0f;
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CAEA0.s")
+ for (i = 0; i < 4; i++) {
+ static Color_RGBA8 primColor = { 255, 255, 255, 255 };
+ static Color_RGBA8 envColor = { 200, 255, 255, 255 };
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CAEF4.s")
+ if (i % 2) {
+ pos.x = this->dyna.actor.world.pos.x + dist1;
+ pos.z = this->dyna.actor.world.pos.z + dist2;
+ } else {
+ pos.x = this->dyna.actor.world.pos.x + dist2;
+ pos.z = this->dyna.actor.world.pos.z + dist1;
+ dist1 = -dist1;
+ dist2 = -dist2;
+ }
+ pos.y = (((Rand_ZeroOne() * 15000.0f) + 1000.0f) * this->dyna.actor.scale.y) + this->dyna.actor.world.pos.y;
+ EffectSsLightning_Spawn(globalCtx, &pos, &primColor, &envColor,
+ this->dyna.actor.scale.y * 8000.0f, Rand_ZeroOne() * 65536.0f, 4, 1);
+ }
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CAF88.s")
+ if (this->timer == 0) {
+ func_809CAEA0(this);
+ }
+}
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CB008.s")
+void EnBrob_Update(Actor* thisx, GlobalContext* globalCtx2) {
+ GlobalContext* globalCtx = globalCtx2;
+ EnBrob* this = THIS;
+ s32 i;
+ s32 acHits[2];
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CB054.s")
+ acHits[0] = (this->colliders[0].base.acFlags & AC_HIT) != 0;
+ acHits[1] = (this->colliders[1].base.acFlags & AC_HIT) != 0;
+ if ((acHits[0] && (this->colliders[0].info.acHitInfo->toucher.dmgFlags & 0x10)) ||
+ (acHits[1] && (this->colliders[1].info.acHitInfo->toucher.dmgFlags & 0x10))) {
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CB114.s")
+ for (i = 0; i < 2; i++) {
+ this->colliders[i].base.atFlags &= ~(AT_HIT | AT_BOUNCED);
+ this->colliders[i].base.acFlags &= ~AC_HIT;
+ }
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CB218.s")
+ func_809CAEF4(this);
+ } else if ((this->colliders[0].base.atFlags & AT_HIT) || (this->colliders[1].base.atFlags & AT_HIT) ||
+ (acHits[0] && (this->colliders[0].info.acHitInfo->toucher.dmgFlags & 0x100)) ||
+ (acHits[1] && (this->colliders[1].info.acHitInfo->toucher.dmgFlags & 0x100))) {
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CB2B8.s")
+ if (this->actionFunc == func_809CB114 && !(this->colliders[0].base.atFlags & AT_BOUNCED) && !(this->colliders[1].base.atFlags & AT_BOUNCED)) {
+ func_8002F71C(globalCtx, &this->dyna.actor, 5.0f, this->dyna.actor.yawTowardsPlayer, 1.0f);
+ } else if (this->actionFunc != func_809CB114) {
+ func_809CB008(this);
+ }
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CB354.s")
+ for (i = 0; i < 2; i++) {
+ this->colliders[i].base.atFlags &= ~(AT_HIT | AT_BOUNCED);
+ this->colliders[i].base.acFlags &= ~AC_HIT;
+ }
+ }
+ this->actionFunc(this, globalCtx);
+ if (this->actionFunc != func_809CB054 && this->actionFunc != func_809CB354) {
+ if (this->actionFunc != func_809CB2B8) {
+ CollisionCheck_SetAT(globalCtx, &globalCtx->colChkCtx, &this->colliders[0].base);
+ CollisionCheck_SetAT(globalCtx, &globalCtx->colChkCtx, &this->colliders[1].base);
+ if (this->actionFunc != func_809CB114) {
+ CollisionCheck_SetAC(globalCtx, &globalCtx->colChkCtx, &this->colliders[0].base);
+ CollisionCheck_SetAC(globalCtx, &globalCtx->colChkCtx, &this->colliders[1].base);
+ }
+ }
+ CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->colliders[0].base);
+ CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->colliders[1].base);
+ }
+}
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CB458.s")
+void EnBrob_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) {
+ EnBrob* this = THIS;
+ MtxF mtx;
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Brob/EnBrob_Update.s")
+ Matrix_Get(&mtx);
+ if (limbIndex == 3) {
+ this->colliders[0].dim.pos.x = mtx.wx;
+ this->colliders[0].dim.pos.y = mtx.wy;
+ this->colliders[0].dim.pos.z = mtx.wz;
+ } else if (limbIndex == 8) {
+ this->colliders[1].dim.pos.x = mtx.wx;
+ this->colliders[1].dim.pos.y = (mtx.wy + 7.0f);
+ this->colliders[1].dim.pos.z = mtx.wz;
+ }
+}
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CB90C.s")
+void EnBrob_Draw(Actor* thisx, GlobalContext* globalCtx) {
+ EnBrob* this = THIS;
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Brob/EnBrob_Draw.s")
+ func_80093D18(globalCtx->state.gfxCtx);
+ Matrix_Translate(0.0f, this->unk_1AE, 0.0f, MTXMODE_APPLY);
+ SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
+ NULL, EnBrob_PostLimbDraw, this);
+}
diff --git a/src/overlays/actors/ovl_En_Brob/z_en_brob.h b/src/overlays/actors/ovl_En_Brob/z_en_brob.h
index 678911d1c..7555443e0 100644
--- a/src/overlays/actors/ovl_En_Brob/z_en_brob.h
+++ b/src/overlays/actors/ovl_En_Brob/z_en_brob.h
@@ -6,9 +6,17 @@
struct EnBrob;
+typedef void (*EnBrobActionFunc)(struct EnBrob* this, GlobalContext* globalCtx);
+
typedef struct EnBrob {
- /* 0x0000 */ Actor actor;
- /* 0x014C */ char unk_14C[0x174];
+ /* 0x0000 */ DynaPolyActor dyna;
+ /* 0x0164 */ SkelAnime skelAnime;
+ /* 0x01A8 */ EnBrobActionFunc actionFunc;
+ /* 0x01AC */ s16 timer;
+ /* 0x01AE */ s16 unk_1AE;
+ /* 0x01B0 */ Vec3s jointTable[10];
+ /* 0x01EC */ Vec3s morphTable[10];
+ /* 0x0228 */ ColliderCylinder colliders[2];
} EnBrob; // size = 0x02C0
extern const ActorInit En_Brob_InitVars;