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;