diff --git a/asm/non_matchings/overlays/actors/ovl_En_Tg/EnTg_Destroy.s b/asm/non_matchings/overlays/actors/ovl_En_Tg/EnTg_Destroy.s
deleted file mode 100644
index 7a037bdea5..0000000000
--- a/asm/non_matchings/overlays/actors/ovl_En_Tg/EnTg_Destroy.s
+++ /dev/null
@@ -1,16 +0,0 @@
-glabel EnTg_Destroy
-/* 00228 80B18588 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
-/* 0022C 80B1858C AFBF0014 */ sw $ra, 0x0014($sp)
-/* 00230 80B18590 AFA40018 */ sw $a0, 0x0018($sp)
-/* 00234 80B18594 AFA5001C */ sw $a1, 0x001C($sp)
-/* 00238 80B18598 0C0295BC */ jal SkelAnime_Free
-/* 0023C 80B1859C 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 00240 80B185A0 8FA50018 */ lw $a1, 0x0018($sp)
-/* 00244 80B185A4 8FA4001C */ lw $a0, 0x001C($sp)
-/* 00248 80B185A8 0C0170EB */ jal Collider_DestroyCylinder
-
-/* 0024C 80B185AC 24A50194 */ addiu $a1, $a1, 0x0194 ## $a1 = 00000194
-/* 00250 80B185B0 8FBF0014 */ lw $ra, 0x0014($sp)
-/* 00254 80B185B4 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
-/* 00258 80B185B8 03E00008 */ jr $ra
-/* 0025C 80B185BC 00000000 */ nop
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Tg/EnTg_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Tg/EnTg_Draw.s
deleted file mode 100644
index f629f07971..0000000000
--- a/asm/non_matchings/overlays/actors/ovl_En_Tg/EnTg_Draw.s
+++ /dev/null
@@ -1,86 +0,0 @@
-.rdata
-glabel D_80B18980
- .asciz "../z_en_tg.c"
- .balign 4
-
-glabel D_80B18990
- .asciz "../z_en_tg.c"
- .balign 4
-
-.text
-glabel EnTg_Draw
-/* 00484 80B187E4 27BDFFA8 */ addiu $sp, $sp, 0xFFA8 ## $sp = FFFFFFA8
-/* 00488 80B187E8 AFB10028 */ sw $s1, 0x0028($sp)
-/* 0048C 80B187EC 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
-/* 00490 80B187F0 AFBF002C */ sw $ra, 0x002C($sp)
-/* 00494 80B187F4 AFB00024 */ sw $s0, 0x0024($sp)
-/* 00498 80B187F8 AFA40058 */ sw $a0, 0x0058($sp)
-/* 0049C 80B187FC 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000
-/* 004A0 80B18800 3C0680B2 */ lui $a2, %hi(D_80B18980) ## $a2 = 80B20000
-/* 004A4 80B18804 24C68980 */ addiu $a2, $a2, %lo(D_80B18980) ## $a2 = 80B18980
-/* 004A8 80B18808 27A40040 */ addiu $a0, $sp, 0x0040 ## $a0 = FFFFFFE8
-/* 004AC 80B1880C 240701CE */ addiu $a3, $zero, 0x01CE ## $a3 = 000001CE
-/* 004B0 80B18810 0C031AB1 */ jal Graph_OpenDisps
-/* 004B4 80B18814 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000
-/* 004B8 80B18818 44806000 */ mtc1 $zero, $f12 ## $f12 = 0.00
-/* 004BC 80B1881C 3C06C40C */ lui $a2, 0xC40C ## $a2 = C40C0000
-/* 004C0 80B18820 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
-/* 004C4 80B18824 0C034261 */ jal Matrix_Translate
-/* 004C8 80B18828 46006386 */ mov.s $f14, $f12
-/* 004CC 80B1882C 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
-/* 004D0 80B18830 3C0FDB06 */ lui $t7, 0xDB06 ## $t7 = DB060000
-/* 004D4 80B18834 35EF0020 */ ori $t7, $t7, 0x0020 ## $t7 = DB060020
-/* 004D8 80B18838 244E0008 */ addiu $t6, $v0, 0x0008 ## $t6 = 00000008
-/* 004DC 80B1883C AE0E02C0 */ sw $t6, 0x02C0($s0) ## 000002C0
-/* 004E0 80B18840 AC4F0000 */ sw $t7, 0x0000($v0) ## 00000000
-/* 004E4 80B18844 8E240000 */ lw $a0, 0x0000($s1) ## 00000000
-/* 004E8 80B18848 AFA00010 */ sw $zero, 0x0010($sp)
-/* 004EC 80B1884C 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
-/* 004F0 80B18850 24060032 */ addiu $a2, $zero, 0x0032 ## $a2 = 00000032
-/* 004F4 80B18854 240700A0 */ addiu $a3, $zero, 0x00A0 ## $a3 = 000000A0
-/* 004F8 80B18858 0C2C61DE */ jal func_80B18778
-/* 004FC 80B1885C AFA2003C */ sw $v0, 0x003C($sp)
-/* 00500 80B18860 8FA3003C */ lw $v1, 0x003C($sp)
-/* 00504 80B18864 3C19DB06 */ lui $t9, 0xDB06 ## $t9 = DB060000
-/* 00508 80B18868 37390024 */ ori $t9, $t9, 0x0024 ## $t9 = DB060024
-/* 0050C 80B1886C AC620004 */ sw $v0, 0x0004($v1) ## 00000004
-/* 00510 80B18870 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
-/* 00514 80B18874 240500FF */ addiu $a1, $zero, 0x00FF ## $a1 = 000000FF
-/* 00518 80B18878 240600FF */ addiu $a2, $zero, 0x00FF ## $a2 = 000000FF
-/* 0051C 80B1887C 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008
-/* 00520 80B18880 AE1802C0 */ sw $t8, 0x02C0($s0) ## 000002C0
-/* 00524 80B18884 AC590000 */ sw $t9, 0x0000($v0) ## 00000000
-/* 00528 80B18888 8E240000 */ lw $a0, 0x0000($s1) ## 00000000
-/* 0052C 80B1888C AFA00010 */ sw $zero, 0x0010($sp)
-/* 00530 80B18890 240700FF */ addiu $a3, $zero, 0x00FF ## $a3 = 000000FF
-/* 00534 80B18894 0C2C61DE */ jal func_80B18778
-/* 00538 80B18898 AFA20038 */ sw $v0, 0x0038($sp)
-/* 0053C 80B1889C 8FA30038 */ lw $v1, 0x0038($sp)
-/* 00540 80B188A0 3C0880B2 */ lui $t0, %hi(func_80B18704) ## $t0 = 80B20000
-/* 00544 80B188A4 3C0980B2 */ lui $t1, %hi(func_80B1871C) ## $t1 = 80B20000
-/* 00548 80B188A8 AC620004 */ sw $v0, 0x0004($v1) ## 00000004
-/* 0054C 80B188AC 8FA20058 */ lw $v0, 0x0058($sp)
-/* 00550 80B188B0 2529871C */ addiu $t1, $t1, %lo(func_80B1871C) ## $t1 = 80B1871C
-/* 00554 80B188B4 25088704 */ addiu $t0, $t0, %lo(func_80B18704) ## $t0 = 80B18704
-/* 00558 80B188B8 8C450150 */ lw $a1, 0x0150($v0) ## 00000150
-/* 0055C 80B188BC 8C46016C */ lw $a2, 0x016C($v0) ## 0000016C
-/* 00560 80B188C0 9047014E */ lbu $a3, 0x014E($v0) ## 0000014E
-/* 00564 80B188C4 AFA90014 */ sw $t1, 0x0014($sp)
-/* 00568 80B188C8 AFA80010 */ sw $t0, 0x0010($sp)
-/* 0056C 80B188CC 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
-/* 00570 80B188D0 0C0286B2 */ jal SkelAnime_DrawFlexOpa
-/* 00574 80B188D4 AFA20018 */ sw $v0, 0x0018($sp)
-/* 00578 80B188D8 3C0680B2 */ lui $a2, %hi(D_80B18990) ## $a2 = 80B20000
-/* 0057C 80B188DC 24C68990 */ addiu $a2, $a2, %lo(D_80B18990) ## $a2 = 80B18990
-/* 00580 80B188E0 27A40040 */ addiu $a0, $sp, 0x0040 ## $a0 = FFFFFFE8
-/* 00584 80B188E4 8E250000 */ lw $a1, 0x0000($s1) ## 00000000
-/* 00588 80B188E8 0C031AD5 */ jal Graph_CloseDisps
-/* 0058C 80B188EC 240701E0 */ addiu $a3, $zero, 0x01E0 ## $a3 = 000001E0
-/* 00590 80B188F0 8FBF002C */ lw $ra, 0x002C($sp)
-/* 00594 80B188F4 8FB00024 */ lw $s0, 0x0024($sp)
-/* 00598 80B188F8 8FB10028 */ lw $s1, 0x0028($sp)
-/* 0059C 80B188FC 03E00008 */ jr $ra
-/* 005A0 80B18900 27BD0058 */ addiu $sp, $sp, 0x0058 ## $sp = 00000000
-/* 005A4 80B18904 00000000 */ nop
-/* 005A8 80B18908 00000000 */ nop
-/* 005AC 80B1890C 00000000 */ nop
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Tg/EnTg_Init.s b/asm/non_matchings/overlays/actors/ovl_En_Tg/EnTg_Init.s
deleted file mode 100644
index fe7508ae3a..0000000000
--- a/asm/non_matchings/overlays/actors/ovl_En_Tg/EnTg_Init.s
+++ /dev/null
@@ -1,59 +0,0 @@
-glabel EnTg_Init
-/* 00150 80B184B0 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
-/* 00154 80B184B4 AFB00028 */ sw $s0, 0x0028($sp)
-/* 00158 80B184B8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
-/* 0015C 80B184BC AFBF002C */ sw $ra, 0x002C($sp)
-/* 00160 80B184C0 AFA5003C */ sw $a1, 0x003C($sp)
-/* 00164 80B184C4 3C068003 */ lui $a2, %hi(ActorShadow_DrawCircle)
-/* 00168 80B184C8 24C6B5EC */ addiu $a2, %lo(ActorShadow_DrawCircle)
-/* 0016C 80B184CC 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
-/* 00170 80B184D0 248400B4 */ addiu $a0, $a0, 0x00B4 ## $a0 = 000000B4
-/* 00174 80B184D4 0C00AC78 */ jal ActorShape_Init
-
-/* 00178 80B184D8 3C0741E0 */ lui $a3, 0x41E0 ## $a3 = 41E00000
-/* 0017C 80B184DC 3C060601 */ lui $a2, %hi(D_0600AE40) ## $a2 = 06010000
-/* 00180 80B184E0 3C070600 */ lui $a3, %hi(D_06005040) ## $a3 = 06000000
-/* 00184 80B184E4 24E75040 */ addiu $a3, $a3, %lo(D_06005040) ## $a3 = 06005040
-/* 00188 80B184E8 24C6AE40 */ addiu $a2, $a2, %lo(D_0600AE40) ## $a2 = 0600AE40
-/* 0018C 80B184EC 8FA4003C */ lw $a0, 0x003C($sp)
-/* 00190 80B184F0 2605014C */ addiu $a1, $s0, 0x014C ## $a1 = 0000014C
-/* 00194 80B184F4 AFA00010 */ sw $zero, 0x0010($sp)
-/* 00198 80B184F8 AFA00014 */ sw $zero, 0x0014($sp)
-/* 0019C 80B184FC 0C0291BE */ jal SkelAnime_InitFlex
-/* 001A0 80B18500 AFA00018 */ sw $zero, 0x0018($sp)
-/* 001A4 80B18504 26050194 */ addiu $a1, $s0, 0x0194 ## $a1 = 00000194
-/* 001A8 80B18508 AFA50030 */ sw $a1, 0x0030($sp)
-/* 001AC 80B1850C 0C0170D9 */ jal Collider_InitCylinder
-
-/* 001B0 80B18510 8FA4003C */ lw $a0, 0x003C($sp)
-/* 001B4 80B18514 3C0780B2 */ lui $a3, %hi(D_80B18910) ## $a3 = 80B20000
-/* 001B8 80B18518 8FA50030 */ lw $a1, 0x0030($sp)
-/* 001BC 80B1851C 24E78910 */ addiu $a3, $a3, %lo(D_80B18910) ## $a3 = 80B18910
-/* 001C0 80B18520 8FA4003C */ lw $a0, 0x003C($sp)
-/* 001C4 80B18524 0C01712B */ jal Collider_SetCylinder
-
-/* 001C8 80B18528 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
-/* 001CC 80B1852C 3C0680B2 */ lui $a2, %hi(D_80B1893C) ## $a2 = 80B20000
-/* 001D0 80B18530 24C6893C */ addiu $a2, $a2, %lo(D_80B1893C) ## $a2 = 80B1893C
-/* 001D4 80B18534 26040098 */ addiu $a0, $s0, 0x0098 ## $a0 = 00000098
-/* 001D8 80B18538 0C0187BF */ jal CollisionCheck_SetInfo2
-/* 001DC 80B1853C 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
-/* 001E0 80B18540 240E0006 */ addiu $t6, $zero, 0x0006 ## $t6 = 00000006
-/* 001E4 80B18544 3C053C23 */ lui $a1, 0x3C23 ## $a1 = 3C230000
-/* 001E8 80B18548 A20E001F */ sb $t6, 0x001F($s0) ## 0000001F
-/* 001EC 80B1854C 34A5D70A */ ori $a1, $a1, 0xD70A ## $a1 = 3C23D70A
-/* 001F0 80B18550 0C00B58B */ jal Actor_SetScale
-
-/* 001F4 80B18554 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
-/* 001F8 80B18558 8FAF003C */ lw $t7, 0x003C($sp)
-/* 001FC 80B1855C 3C0880B2 */ lui $t0, %hi(func_80B185C0) ## $t0 = 80B20000
-/* 00200 80B18560 250885C0 */ addiu $t0, $t0, %lo(func_80B185C0) ## $t0 = 80B185C0
-/* 00204 80B18564 8DF8009C */ lw $t8, 0x009C($t7) ## 0000009C
-/* 00208 80B18568 AE080190 */ sw $t0, 0x0190($s0) ## 00000190
-/* 0020C 80B1856C 33190001 */ andi $t9, $t8, 0x0001 ## $t9 = 00000000
-/* 00210 80B18570 A2190208 */ sb $t9, 0x0208($s0) ## 00000208
-/* 00214 80B18574 8FBF002C */ lw $ra, 0x002C($sp)
-/* 00218 80B18578 8FB00028 */ lw $s0, 0x0028($sp)
-/* 0021C 80B1857C 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000
-/* 00220 80B18580 03E00008 */ jr $ra
-/* 00224 80B18584 00000000 */ nop
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Tg/EnTg_Update.s b/asm/non_matchings/overlays/actors/ovl_En_Tg/EnTg_Update.s
deleted file mode 100644
index 4ce13b6b61..0000000000
--- a/asm/non_matchings/overlays/actors/ovl_En_Tg/EnTg_Update.s
+++ /dev/null
@@ -1,75 +0,0 @@
-glabel EnTg_Update
-/* 00284 80B185E4 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0
-/* 00288 80B185E8 AFBF0024 */ sw $ra, 0x0024($sp)
-/* 0028C 80B185EC AFB10020 */ sw $s1, 0x0020($sp)
-/* 00290 80B185F0 AFB0001C */ sw $s0, 0x001C($sp)
-/* 00294 80B185F4 C4840024 */ lwc1 $f4, 0x0024($a0) ## 00000024
-/* 00298 80B185F8 27AD002C */ addiu $t5, $sp, 0x002C ## $t5 = FFFFFFEC
-/* 0029C 80B185FC 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
-/* 002A0 80B18600 4600218D */ trunc.w.s $f6, $f4
-/* 002A4 80B18604 3C010001 */ lui $at, 0x0001 ## $at = 00010000
-/* 002A8 80B18608 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
-/* 002AC 80B1860C 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
-/* 002B0 80B18610 440F3000 */ mfc1 $t7, $f6
-/* 002B4 80B18614 26060194 */ addiu $a2, $s0, 0x0194 ## $a2 = 00000194
-/* 002B8 80B18618 A7AF002C */ sh $t7, 0x002C($sp)
-/* 002BC 80B1861C C4880028 */ lwc1 $f8, 0x0028($a0) ## 00000028
-/* 002C0 80B18620 4600428D */ trunc.w.s $f10, $f8
-/* 002C4 80B18624 44195000 */ mfc1 $t9, $f10
-/* 002C8 80B18628 00000000 */ nop
-/* 002CC 80B1862C A7B9002E */ sh $t9, 0x002E($sp)
-/* 002D0 80B18630 C490002C */ lwc1 $f16, 0x002C($a0) ## 0000002C
-/* 002D4 80B18634 4600848D */ trunc.w.s $f18, $f16
-/* 002D8 80B18638 440B9000 */ mfc1 $t3, $f18
-/* 002DC 80B1863C 00000000 */ nop
-/* 002E0 80B18640 256C0003 */ addiu $t4, $t3, 0x0003 ## $t4 = 00000003
-/* 002E4 80B18644 A7AC0030 */ sh $t4, 0x0030($sp)
-/* 002E8 80B18648 8DAF0000 */ lw $t7, 0x0000($t5) ## FFFFFFEC
-/* 002EC 80B1864C A88F01DA */ swl $t7, 0x01DA($a0) ## 000001DA
-/* 002F0 80B18650 B88F01DD */ swr $t7, 0x01DD($a0) ## 000001DD
-/* 002F4 80B18654 95AF0004 */ lhu $t7, 0x0004($t5) ## FFFFFFF0
-/* 002F8 80B18658 A48F01DE */ sh $t7, 0x01DE($a0) ## 000001DE
-/* 002FC 80B1865C 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
-/* 00300 80B18660 0C017713 */ jal CollisionCheck_SetOC
- ## CollisionCheck_setOC
-/* 00304 80B18664 00A12821 */ addu $a1, $a1, $at
-/* 00308 80B18668 0C02927F */ jal SkelAnime_Update
-
-/* 0030C 80B1866C 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
-/* 00310 80B18670 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
-/* 00314 80B18674 24180004 */ addiu $t8, $zero, 0x0004 ## $t8 = 00000004
-/* 00318 80B18678 AFB80014 */ sw $t8, 0x0014($sp)
-/* 0031C 80B1867C 44060000 */ mfc1 $a2, $f0
-/* 00320 80B18680 44070000 */ mfc1 $a3, $f0
-/* 00324 80B18684 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
-/* 00328 80B18688 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
-/* 0032C 80B1868C 0C00B92D */ jal Actor_UpdateBgCheckInfo
-/* 00330 80B18690 E7A00010 */ swc1 $f0, 0x0010($sp)
-/* 00334 80B18694 8E190190 */ lw $t9, 0x0190($s0) ## 00000190
-/* 00338 80B18698 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
-/* 0033C 80B1869C 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
-/* 00340 80B186A0 0320F809 */ jalr $ra, $t9
-/* 00344 80B186A4 00000000 */ nop
-/* 00348 80B186A8 860801D4 */ lh $t0, 0x01D4($s0) ## 000001D4
-/* 0034C 80B186AC 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000
-/* 00350 80B186B0 44814000 */ mtc1 $at, $f8 ## $f8 = 30.00
-/* 00354 80B186B4 44882000 */ mtc1 $t0, $f4 ## $f4 = 0.00
-/* 00358 80B186B8 3C0980B2 */ lui $t1, %hi(func_80B18360) ## $t1 = 80B20000
-/* 0035C 80B186BC 3C0A80B2 */ lui $t2, %hi(func_80B183F8) ## $t2 = 80B20000
-/* 00360 80B186C0 468021A0 */ cvt.s.w $f6, $f4
-/* 00364 80B186C4 254A83F8 */ addiu $t2, $t2, %lo(func_80B183F8) ## $t2 = 80B183F8
-/* 00368 80B186C8 25298360 */ addiu $t1, $t1, %lo(func_80B18360) ## $t1 = 80B18360
-/* 0036C 80B186CC AFA90010 */ sw $t1, 0x0010($sp)
-/* 00370 80B186D0 AFAA0014 */ sw $t2, 0x0014($sp)
-/* 00374 80B186D4 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
-/* 00378 80B186D8 46083000 */ add.s $f0, $f6, $f8
-/* 0037C 80B186DC 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
-/* 00380 80B186E0 260601E0 */ addiu $a2, $s0, 0x01E0 ## $a2 = 000001E0
-/* 00384 80B186E4 44070000 */ mfc1 $a3, $f0
-/* 00388 80B186E8 0C00D0F3 */ jal func_800343CC
-/* 0038C 80B186EC 00000000 */ nop
-/* 00390 80B186F0 8FBF0024 */ lw $ra, 0x0024($sp)
-/* 00394 80B186F4 8FB0001C */ lw $s0, 0x001C($sp)
-/* 00398 80B186F8 8FB10020 */ lw $s1, 0x0020($sp)
-/* 0039C 80B186FC 03E00008 */ jr $ra
-/* 003A0 80B18700 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Tg/func_80B18360.s b/asm/non_matchings/overlays/actors/ovl_En_Tg/func_80B18360.s
deleted file mode 100644
index 9160564a96..0000000000
--- a/asm/non_matchings/overlays/actors/ovl_En_Tg/func_80B18360.s
+++ /dev/null
@@ -1,44 +0,0 @@
-glabel func_80B18360
-/* 00000 80B18360 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
-/* 00004 80B18364 AFBF0014 */ sw $ra, 0x0014($sp)
-/* 00008 80B18368 AFA5001C */ sw $a1, 0x001C($sp)
-/* 0000C 80B1836C AFA40018 */ sw $a0, 0x0018($sp)
-/* 00010 80B18370 0C01B0D8 */ jal Text_GetFaceReaction
-/* 00014 80B18374 24050024 */ addiu $a1, $zero, 0x0024 ## $a1 = 00000024
-/* 00018 80B18378 8FA4001C */ lw $a0, 0x001C($sp)
-/* 0001C 80B1837C 10400003 */ beq $v0, $zero, .L80B1838C
-/* 00020 80B18380 3043FFFF */ andi $v1, $v0, 0xFFFF ## $v1 = 00000000
-/* 00024 80B18384 10000018 */ beq $zero, $zero, .L80B183E8
-/* 00028 80B18388 00601025 */ or $v0, $v1, $zero ## $v0 = 00000000
-.L80B1838C:
-/* 0002C 80B1838C 8FAE0018 */ lw $t6, 0x0018($sp)
-/* 00030 80B18390 24010052 */ addiu $at, $zero, 0x0052 ## $at = 00000052
-/* 00034 80B18394 85CF00A4 */ lh $t7, 0x00A4($t6) ## 000000A4
-/* 00038 80B18398 55E1000C */ bnel $t7, $at, .L80B183CC
-/* 0003C 80B1839C 90880208 */ lbu $t0, 0x0208($a0) ## 00000208
-/* 00040 80B183A0 90980208 */ lbu $t8, 0x0208($a0) ## 00000208
-/* 00044 80B183A4 2403508A */ addiu $v1, $zero, 0x508A ## $v1 = 0000508A
-/* 00048 80B183A8 33190001 */ andi $t9, $t8, 0x0001 ## $t9 = 00000000
-/* 0004C 80B183AC 13200004 */ beq $t9, $zero, .L80B183C0
-/* 00050 80B183B0 00000000 */ nop
-/* 00054 80B183B4 24035089 */ addiu $v1, $zero, 0x5089 ## $v1 = 00005089
-/* 00058 80B183B8 1000000B */ beq $zero, $zero, .L80B183E8
-/* 0005C 80B183BC 3062FFFF */ andi $v0, $v1, 0xFFFF ## $v0 = 00005089
-.L80B183C0:
-/* 00060 80B183C0 10000009 */ beq $zero, $zero, .L80B183E8
-/* 00064 80B183C4 3062FFFF */ andi $v0, $v1, 0xFFFF ## $v0 = 00005089
-/* 00068 80B183C8 90880208 */ lbu $t0, 0x0208($a0) ## 00000208
-.L80B183CC:
-/* 0006C 80B183CC 24037026 */ addiu $v1, $zero, 0x7026 ## $v1 = 00007026
-/* 00070 80B183D0 31090001 */ andi $t1, $t0, 0x0001 ## $t1 = 00000000
-/* 00074 80B183D4 11200003 */ beq $t1, $zero, .L80B183E4
-/* 00078 80B183D8 00000000 */ nop
-/* 0007C 80B183DC 10000001 */ beq $zero, $zero, .L80B183E4
-/* 00080 80B183E0 24037025 */ addiu $v1, $zero, 0x7025 ## $v1 = 00007025
-.L80B183E4:
-/* 00084 80B183E4 3062FFFF */ andi $v0, $v1, 0xFFFF ## $v0 = 00007025
-.L80B183E8:
-/* 00088 80B183E8 8FBF0014 */ lw $ra, 0x0014($sp)
-/* 0008C 80B183EC 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
-/* 00090 80B183F0 03E00008 */ jr $ra
-/* 00094 80B183F4 00000000 */ nop
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Tg/func_80B183F8.s b/asm/non_matchings/overlays/actors/ovl_En_Tg/func_80B183F8.s
deleted file mode 100644
index b8ba0c4252..0000000000
--- a/asm/non_matchings/overlays/actors/ovl_En_Tg/func_80B183F8.s
+++ /dev/null
@@ -1,69 +0,0 @@
-.late_rodata
-glabel jtbl_80B189A0
-.word L80B18430
-.word L80B18430
-.word L80B18438
-.word L80B18430
-.word L80B18430
-.word L80B18430
-.word L80B18430
-.word L80B18430
-.word L80B18430
-.word L80B18430
-.word 0x00000000, 0x00000000
-
-.text
-glabel func_80B183F8
-/* 00098 80B183F8 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
-/* 0009C 80B183FC AFBF0014 */ sw $ra, 0x0014($sp)
-/* 000A0 80B18400 AFA5001C */ sw $a1, 0x001C($sp)
-/* 000A4 80B18404 0C042F6F */ jal func_8010BDBC
-/* 000A8 80B18408 248420D8 */ addiu $a0, $a0, 0x20D8 ## $a0 = 000020D8
-/* 000AC 80B1840C 2C41000A */ sltiu $at, $v0, 0x000A
-/* 000B0 80B18410 10200022 */ beq $at, $zero, .L80B1849C
-/* 000B4 80B18414 8FA5001C */ lw $a1, 0x001C($sp)
-/* 000B8 80B18418 00027080 */ sll $t6, $v0, 2
-/* 000BC 80B1841C 3C0180B2 */ lui $at, %hi(jtbl_80B189A0) ## $at = 80B20000
-/* 000C0 80B18420 002E0821 */ addu $at, $at, $t6
-/* 000C4 80B18424 8C2E89A0 */ lw $t6, %lo(jtbl_80B189A0)($at)
-/* 000C8 80B18428 01C00008 */ jr $t6
-/* 000CC 80B1842C 00000000 */ nop
-glabel L80B18430
-/* 000D0 80B18430 1000001B */ beq $zero, $zero, .L80B184A0
-/* 000D4 80B18434 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
-glabel L80B18438
-/* 000D8 80B18438 94A2010E */ lhu $v0, 0x010E($a1) ## 0000010E
-/* 000DC 80B1843C 24015089 */ addiu $at, $zero, 0x5089 ## $at = 00005089
-/* 000E0 80B18440 10410009 */ beq $v0, $at, .L80B18468
-/* 000E4 80B18444 2401508A */ addiu $at, $zero, 0x508A ## $at = 0000508A
-/* 000E8 80B18448 10410007 */ beq $v0, $at, .L80B18468
-/* 000EC 80B1844C 24017025 */ addiu $at, $zero, 0x7025 ## $at = 00007025
-/* 000F0 80B18450 1041000A */ beq $v0, $at, .L80B1847C
-/* 000F4 80B18454 24017026 */ addiu $at, $zero, 0x7026 ## $at = 00007026
-/* 000F8 80B18458 50410009 */ beql $v0, $at, .L80B18480
-/* 000FC 80B1845C 84B9001C */ lh $t9, 0x001C($a1) ## 0000001C
-/* 00100 80B18460 1000000F */ beq $zero, $zero, .L80B184A0
-/* 00104 80B18464 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
-.L80B18468:
-/* 00108 80B18468 90AF0208 */ lbu $t7, 0x0208($a1) ## 00000208
-/* 0010C 80B1846C 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
-/* 00110 80B18470 25F80001 */ addiu $t8, $t7, 0x0001 ## $t8 = 00000001
-/* 00114 80B18474 1000000A */ beq $zero, $zero, .L80B184A0
-/* 00118 80B18478 A0B80208 */ sb $t8, 0x0208($a1) ## 00000208
-.L80B1847C:
-/* 0011C 80B1847C 84B9001C */ lh $t9, 0x001C($a1) ## 0000001C
-.L80B18480:
-/* 00120 80B18480 90A90208 */ lbu $t1, 0x0208($a1) ## 00000208
-/* 00124 80B18484 3B280001 */ xori $t0, $t9, 0x0001 ## $t0 = 00000001
-/* 00128 80B18488 252A0001 */ addiu $t2, $t1, 0x0001 ## $t2 = 00000001
-/* 0012C 80B1848C A4A8001C */ sh $t0, 0x001C($a1) ## 0000001C
-/* 00130 80B18490 A0AA0208 */ sb $t2, 0x0208($a1) ## 00000208
-/* 00134 80B18494 10000002 */ beq $zero, $zero, .L80B184A0
-/* 00138 80B18498 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
-.L80B1849C:
-/* 0013C 80B1849C 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
-.L80B184A0:
-/* 00140 80B184A0 8FBF0014 */ lw $ra, 0x0014($sp)
-/* 00144 80B184A4 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
-/* 00148 80B184A8 03E00008 */ jr $ra
-/* 0014C 80B184AC 00000000 */ nop
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Tg/func_80B185C0.s b/asm/non_matchings/overlays/actors/ovl_En_Tg/func_80B185C0.s
deleted file mode 100644
index b2180ce0b9..0000000000
--- a/asm/non_matchings/overlays/actors/ovl_En_Tg/func_80B185C0.s
+++ /dev/null
@@ -1,11 +0,0 @@
-glabel func_80B185C0
-/* 00260 80B185C0 AFA50004 */ sw $a1, 0x0004($sp)
-/* 00264 80B185C4 848E01E0 */ lh $t6, 0x01E0($a0) ## 000001E0
-/* 00268 80B185C8 15C00004 */ bne $t6, $zero, .L80B185DC
-/* 0026C 80B185CC 00000000 */ nop
-/* 00270 80B185D0 848F00B6 */ lh $t7, 0x00B6($a0) ## 000000B6
-/* 00274 80B185D4 25F80800 */ addiu $t8, $t7, 0x0800 ## $t8 = 00000800
-/* 00278 80B185D8 A49800B6 */ sh $t8, 0x00B6($a0) ## 000000B6
-.L80B185DC:
-/* 0027C 80B185DC 03E00008 */ jr $ra
-/* 00280 80B185E0 00000000 */ nop
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Tg/func_80B18704.s b/asm/non_matchings/overlays/actors/ovl_En_Tg/func_80B18704.s
deleted file mode 100644
index 9f4915c60d..0000000000
--- a/asm/non_matchings/overlays/actors/ovl_En_Tg/func_80B18704.s
+++ /dev/null
@@ -1,7 +0,0 @@
-glabel func_80B18704
-/* 003A4 80B18704 AFA40000 */ sw $a0, 0x0000($sp)
-/* 003A8 80B18708 AFA50004 */ sw $a1, 0x0004($sp)
-/* 003AC 80B1870C AFA60008 */ sw $a2, 0x0008($sp)
-/* 003B0 80B18710 AFA7000C */ sw $a3, 0x000C($sp)
-/* 003B4 80B18714 03E00008 */ jr $ra
-/* 003B8 80B18718 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Tg/func_80B1871C.s b/asm/non_matchings/overlays/actors/ovl_En_Tg/func_80B1871C.s
deleted file mode 100644
index d64bbb2819..0000000000
--- a/asm/non_matchings/overlays/actors/ovl_En_Tg/func_80B1871C.s
+++ /dev/null
@@ -1,25 +0,0 @@
-glabel func_80B1871C
-/* 003BC 80B1871C 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
-/* 003C0 80B18720 3C0E80B2 */ lui $t6, %hi(D_80B18968) ## $t6 = 80B20000
-/* 003C4 80B18724 AFBF0014 */ sw $ra, 0x0014($sp)
-/* 003C8 80B18728 AFA40028 */ sw $a0, 0x0028($sp)
-/* 003CC 80B1872C AFA60030 */ sw $a2, 0x0030($sp)
-/* 003D0 80B18730 AFA70034 */ sw $a3, 0x0034($sp)
-/* 003D4 80B18734 25CE8968 */ addiu $t6, $t6, %lo(D_80B18968) ## $t6 = 80B18968
-/* 003D8 80B18738 8DD80000 */ lw $t8, 0x0000($t6) ## 80B18968
-/* 003DC 80B1873C 27A40018 */ addiu $a0, $sp, 0x0018 ## $a0 = FFFFFFF0
-/* 003E0 80B18740 24010009 */ addiu $at, $zero, 0x0009 ## $at = 00000009
-/* 003E4 80B18744 AC980000 */ sw $t8, 0x0000($a0) ## FFFFFFF0
-/* 003E8 80B18748 8DCF0004 */ lw $t7, 0x0004($t6) ## 80B1896C
-/* 003EC 80B1874C AC8F0004 */ sw $t7, 0x0004($a0) ## FFFFFFF4
-/* 003F0 80B18750 8DD80008 */ lw $t8, 0x0008($t6) ## 80B18970
-/* 003F4 80B18754 14A10004 */ bne $a1, $at, .L80B18768
-/* 003F8 80B18758 AC980008 */ sw $t8, 0x0008($a0) ## FFFFFFF8
-/* 003FC 80B1875C 8FA50038 */ lw $a1, 0x0038($sp)
-/* 00400 80B18760 0C0346BD */ jal Matrix_MultVec3f
-/* 00404 80B18764 24A50038 */ addiu $a1, $a1, 0x0038 ## $a1 = 00000038
-.L80B18768:
-/* 00408 80B18768 8FBF0014 */ lw $ra, 0x0014($sp)
-/* 0040C 80B1876C 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
-/* 00410 80B18770 03E00008 */ jr $ra
-/* 00414 80B18774 00000000 */ nop
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Tg/func_80B18778.s b/asm/non_matchings/overlays/actors/ovl_En_Tg/func_80B18778.s
deleted file mode 100644
index e84f18d969..0000000000
--- a/asm/non_matchings/overlays/actors/ovl_En_Tg/func_80B18778.s
+++ /dev/null
@@ -1,29 +0,0 @@
-glabel func_80B18778
-/* 00418 80B18778 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
-/* 0041C 80B1877C AFBF0014 */ sw $ra, 0x0014($sp)
-/* 00420 80B18780 AFA5001C */ sw $a1, 0x001C($sp)
-/* 00424 80B18784 AFA60020 */ sw $a2, 0x0020($sp)
-/* 00428 80B18788 AFA70024 */ sw $a3, 0x0024($sp)
-/* 0042C 80B1878C 0C031A73 */ jal Graph_Alloc
-
-/* 00430 80B18790 24050010 */ addiu $a1, $zero, 0x0010 ## $a1 = 00000010
-/* 00434 80B18794 3C0EFB00 */ lui $t6, 0xFB00 ## $t6 = FB000000
-/* 00438 80B18798 AC4E0000 */ sw $t6, 0x0000($v0) ## 00000000
-/* 0043C 80B1879C 93A90023 */ lbu $t1, 0x0023($sp)
-/* 00440 80B187A0 93B8001F */ lbu $t8, 0x001F($sp)
-/* 00444 80B187A4 93AD0027 */ lbu $t5, 0x0027($sp)
-/* 00448 80B187A8 93A8002B */ lbu $t0, 0x002B($sp)
-/* 0044C 80B187AC 00095400 */ sll $t2, $t1, 16
-/* 00450 80B187B0 0018CE00 */ sll $t9, $t8, 24
-/* 00454 80B187B4 032A5825 */ or $t3, $t9, $t2 ## $t3 = 00000000
-/* 00458 80B187B8 000D7200 */ sll $t6, $t5, 8
-/* 0045C 80B187BC 016E7825 */ or $t7, $t3, $t6 ## $t7 = FB000000
-/* 00460 80B187C0 3C19DF00 */ lui $t9, 0xDF00 ## $t9 = DF000000
-/* 00464 80B187C4 01E84825 */ or $t1, $t7, $t0 ## $t1 = FB000000
-/* 00468 80B187C8 AC490004 */ sw $t1, 0x0004($v0) ## 00000004
-/* 0046C 80B187CC AC590008 */ sw $t9, 0x0008($v0) ## 00000008
-/* 00470 80B187D0 AC40000C */ sw $zero, 0x000C($v0) ## 0000000C
-/* 00474 80B187D4 8FBF0014 */ lw $ra, 0x0014($sp)
-/* 00478 80B187D8 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
-/* 0047C 80B187DC 03E00008 */ jr $ra
-/* 00480 80B187E0 00000000 */ nop
diff --git a/assets/xml/objects/object_mu.xml b/assets/xml/objects/object_mu.xml
index b18046d6ae..49c0cae1f1 100644
--- a/assets/xml/objects/object_mu.xml
+++ b/assets/xml/objects/object_mu.xml
@@ -41,7 +41,7 @@
-
+
@@ -91,6 +91,6 @@
-
+
diff --git a/data/overlays/actors/z_en_tg.data.s b/data/overlays/actors/z_en_tg.data.s
deleted file mode 100644
index cfcbfb034f..0000000000
--- a/data/overlays/actors/z_en_tg.data.s
+++ /dev/null
@@ -1,24 +0,0 @@
-.include "macro.inc"
-
- # assembler directives
- .set noat # allow manual use of $at
- .set noreorder # don't insert nops after branches
- .set gp=64 # allow use of 64-bit general purpose registers
-
-.section .data
-
-.balign 16
-
-glabel D_80B18910
- .word 0x0A000039, 0x20010000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000100, 0x00140040, 0x00000000, 0x00000000
-glabel D_80B1893C
- .word 0x00000000, 0x00000000, 0xFF000000
-glabel En_Tg_InitVars
- .word 0x01AC0400, 0x00000009, 0x01820000, 0x0000020C
-.word EnTg_Init
-.word EnTg_Destroy
-.word EnTg_Update
-.word EnTg_Draw
-glabel D_80B18968
- .word 0x00000000, 0x44480000, 0x00000000, 0x00000000, 0x00000000, 0x00000000
-
diff --git a/data/overlays/actors/z_en_tg.reloc.s b/data/overlays/actors/z_en_tg.reloc.s
deleted file mode 100644
index 4c03e48d26..0000000000
--- a/data/overlays/actors/z_en_tg.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_80B189D0
- .incbin "baserom/ovl_En_Tg", 0x670, 0x000000B0
diff --git a/spec b/spec
index 0a35f92a9b..4de808ad0c 100644
--- a/spec
+++ b/spec
@@ -2932,8 +2932,7 @@ endseg
beginseg
name "ovl_En_Tg"
include "build/src/overlays/actors/ovl_En_Tg/z_en_tg.o"
- include "build/data/overlays/actors/z_en_tg.data.o"
- include "build/data/overlays/actors/z_en_tg.reloc.o"
+ include "build/src/overlays/actors/ovl_En_Tg/ovl_En_Tg_reloc.o"
endseg
beginseg
diff --git a/src/overlays/actors/ovl_En_Tg/z_en_tg.c b/src/overlays/actors/ovl_En_Tg/z_en_tg.c
index 7188b70fea..b4f6578a9b 100644
--- a/src/overlays/actors/ovl_En_Tg/z_en_tg.c
+++ b/src/overlays/actors/ovl_En_Tg/z_en_tg.c
@@ -1,10 +1,11 @@
/*
* File: z_en_tg.c
* Overlay: ovl_En_Tg
- * Description: Honey & Darling
+ * Description: Dancing Couple
*/
#include "z_en_tg.h"
+#include "objects/object_mu/object_mu.h"
#define FLAGS 0x00000009
@@ -15,23 +16,9 @@ void EnTg_Destroy(Actor* thisx, GlobalContext* globalCtx);
void EnTg_Update(Actor* thisx, GlobalContext* globalCtx);
void EnTg_Draw(Actor* thisx, GlobalContext* globalCtx);
-extern UNK_TYPE D_06005040;
-extern UNK_TYPE D_0600AE40;
+void EnTg_SpinIfNotTalking(EnTg* this, GlobalContext* globalCtx);
-/*
-const ActorInit En_Tg_InitVars = {
- ACTOR_EN_TG,
- ACTORCAT_NPC,
- FLAGS,
- OBJECT_MU,
- sizeof(EnTg),
- (ActorFunc)EnTg_Init,
- (ActorFunc)EnTg_Destroy,
- (ActorFunc)EnTg_Update,
- (ActorFunc)EnTg_Draw,
-};
-
-static ColliderCylinderInit D_80B18910 = {
+static ColliderCylinderInit sCylinderInit = {
{
COLTYPE_NONE,
AT_NONE,
@@ -50,23 +37,161 @@ static ColliderCylinderInit D_80B18910 = {
},
{ 20, 64, 0, { 0, 0, 0 } },
};
-*/
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Tg/func_80B18360.s")
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Tg/func_80B183F8.s")
+static CollisionCheckInfoInit2 sColChkInfoInit = { 0, 0, 0, 0, MASS_IMMOVABLE };
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Tg/EnTg_Init.s")
+const ActorInit En_Tg_InitVars = {
+ ACTOR_EN_TG,
+ ACTORCAT_NPC,
+ FLAGS,
+ OBJECT_MU,
+ sizeof(EnTg),
+ (ActorFunc)EnTg_Init,
+ (ActorFunc)EnTg_Destroy,
+ (ActorFunc)EnTg_Update,
+ (ActorFunc)EnTg_Draw,
+};
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Tg/EnTg_Destroy.s")
+u16 EnTg_GetTextId(GlobalContext* globalCtx, Actor* thisx) {
+ EnTg* this = THIS;
+ u16 temp;
+ u32 phi;
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Tg/func_80B185C0.s")
+ // If the player is wearing a mask, return a special reaction text
+ temp = Text_GetFaceReaction(globalCtx, 0x24);
+ if (temp != 0) {
+ return temp;
+ }
+ // Use a different set of dialogue in Kakariko Village (Adult)
+ if (globalCtx->sceneNum == SCENE_SPOT01) {
+ if (this->nextDialogue % 2 != 0) {
+ phi = 0x5089;
+ } else {
+ phi = 0x508A;
+ }
+ return phi;
+ } else {
+ if (this->nextDialogue % 2 != 0) {
+ phi = 0x7025;
+ } else {
+ phi = 0x7026;
+ }
+ return phi;
+ }
+}
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Tg/EnTg_Update.s")
+s16 EnTg_OnTextComplete(GlobalContext* globalCtx, Actor* thisx) {
+ EnTg* this = THIS;
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Tg/func_80B18704.s")
+ switch (func_8010BDBC(&globalCtx->msgCtx)) {
+ case 0:
+ case 1:
+ case 3:
+ case 4:
+ case 5:
+ case 6:
+ case 7:
+ case 8:
+ case 9:
+ return 1;
+ case 2:
+ switch (this->actor.textId) {
+ case 0x5089:
+ case 0x508A:
+ this->nextDialogue++;
+ break;
+ case 0x7025:
+ case 0x7026:
+ this->actor.params ^= 1;
+ this->nextDialogue++;
+ break;
+ }
+ return 0;
+ default:
+ return 1;
+ }
+}
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Tg/func_80B1871C.s")
+void EnTg_Init(Actor* thisx, GlobalContext* globalCtx) {
+ EnTg* this = THIS;
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Tg/func_80B18778.s")
+ ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 28.0f);
+ SkelAnime_InitFlex(globalCtx, &this->skelAnime, &gDancingCoupleSkel, &gDancingCoupleAnim, NULL, NULL, 0);
+ Collider_InitCylinder(globalCtx, &this->collider);
+ Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit);
+ CollisionCheck_SetInfo2(&this->actor.colChkInfo, NULL, &sColChkInfoInit);
+ this->actor.targetMode = 6;
+ Actor_SetScale(&this->actor, 0.01f);
+ this->nextDialogue = globalCtx->state.frames % 2;
+ this->actionFunc = EnTg_SpinIfNotTalking;
+}
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Tg/EnTg_Draw.s")
+void EnTg_Destroy(Actor* thisx, GlobalContext* globalCtx) {
+ EnTg* this = THIS;
+
+ SkelAnime_Free(&this->skelAnime, globalCtx);
+ Collider_DestroyCylinder(globalCtx, &this->collider);
+}
+
+void EnTg_SpinIfNotTalking(EnTg* this, GlobalContext* globalCtx) {
+ if (!this->isTalking) {
+ this->actor.shape.rot.y += 0x800;
+ }
+}
+
+void EnTg_Update(Actor* thisx, GlobalContext* globalCtx) {
+ EnTg* this = THIS;
+ s32 pad;
+ f32 temp;
+ Vec3s sp2C;
+
+ sp2C.x = this->actor.world.pos.x;
+ sp2C.y = this->actor.world.pos.y;
+ sp2C.z = (s16)this->actor.world.pos.z + 3;
+ this->collider.dim.pos = sp2C;
+ CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->collider.base);
+ SkelAnime_Update(&this->skelAnime);
+ Actor_UpdateBgCheckInfo(globalCtx, &this->actor, 0.0f, 0.0f, 0.0f, 4);
+ this->actionFunc(this, globalCtx);
+ temp = this->collider.dim.radius + 30.0f;
+ func_800343CC(globalCtx, &this->actor, &this->isTalking, temp, EnTg_GetTextId, EnTg_OnTextComplete);
+}
+
+s32 EnTg_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* thisx) {
+ return false;
+}
+
+void EnTg_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) {
+ EnTg* this = THIS;
+ Vec3f targetOffset = { 0.0f, 800.0f, 0.0f };
+
+ if (limbIndex == 9) {
+ // Place the target point at the guy's head instead of the center of the actor
+ Matrix_MultVec3f(&targetOffset, &this->actor.focus.pos);
+ }
+}
+
+Gfx* EnTg_SetColor(GraphicsContext* gfxCtx, u8 r, u8 g, u8 b, u8 a) {
+ Gfx* displayList = Graph_Alloc(gfxCtx, 2 * sizeof(Gfx));
+
+ gDPSetEnvColor(displayList, r, g, b, a);
+ gSPEndDisplayList(displayList + 1);
+ return displayList;
+}
+
+void EnTg_Draw(Actor* thisx, GlobalContext* globalCtx) {
+ EnTg* this = THIS;
+
+ OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_tg.c", 462);
+ Matrix_Translate(0.0f, 0.0f, -560.0f, MTXMODE_APPLY);
+
+ // Set the guy's shoes and shirt to royal blue
+ gSPSegment(POLY_OPA_DISP++, 0x08, EnTg_SetColor(globalCtx->state.gfxCtx, 0, 50, 160, 0));
+
+ // Set the girl's shirt to white
+ gSPSegment(POLY_OPA_DISP++, 0x09, EnTg_SetColor(globalCtx->state.gfxCtx, 255, 255, 255, 0));
+
+ SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
+ EnTg_OverrideLimbDraw, EnTg_PostLimbDraw, this);
+ CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_tg.c", 480);
+}
diff --git a/src/overlays/actors/ovl_En_Tg/z_en_tg.h b/src/overlays/actors/ovl_En_Tg/z_en_tg.h
index 55e8b54423..b22708504d 100644
--- a/src/overlays/actors/ovl_En_Tg/z_en_tg.h
+++ b/src/overlays/actors/ovl_En_Tg/z_en_tg.h
@@ -6,9 +6,16 @@
struct EnTg;
+typedef void (*EnTgActionFunc)(struct EnTg*, GlobalContext*);
+
typedef struct EnTg {
/* 0x0000 */ Actor actor;
- /* 0x014C */ char unk_14C[0xC0];
+ /* 0x014C */ SkelAnime skelAnime;
+ /* 0x0190 */ EnTgActionFunc actionFunc;
+ /* 0x0194 */ ColliderCylinder collider;
+ /* 0x01E0 */ s16 isTalking;
+ /* 0x01E2 */ char unk_1E2[0x26];
+ /* 0x0208 */ u8 nextDialogue;
} EnTg; // size = 0x020C
extern const ActorInit En_Tg_InitVars;
diff --git a/undefined_syms.txt b/undefined_syms.txt
index 013f56daed..b48eed3349 100644
--- a/undefined_syms.txt
+++ b/undefined_syms.txt
@@ -1861,10 +1861,6 @@ D_0600CD50 = 0x0600CD50;
D_0600CF28 = 0x0600CF28;
D_0600E3D8 = 0x0600E3D8;
-// z_en_tg
-D_06005040 = 0x06005040;
-D_0600AE40 = 0x0600AE40;
-
// z_en_tite
D_0600083C = 0x0600083C;
D_06000A14 = 0x06000A14;