1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2024-11-28 19:25:27 +00:00

Dancing Couple (ovl_En_Tg) (#866)

* Match EnTg_Destroy

* Match EnTg_Init

* Matching EnTg_Update

* Match func_80B18360

Moving both 'return phi;'s into a single return at the end of the function causes the assembly to not match.

* Probably equivalent, non-matching func_80B183F8

* Matching EnTg_Draw

* Matching update function

* Matching func_80B18778

* All functions decompiled

* Move data to C code

* All functions matched excepted weird switch/case

* Last matching function

* Remove unused ASM

* Name obvious symbols

* Clang format

* Name text-related functions and variables

* Describe actor as Dancing Couple

See https://github.com/zeldaret/oot/pull/866#discussion_r664726581

* Use named constants

* Name drawing constants

* Use THIS macro for void*

* Name the function that sets environment color

* Add comments to parts of code that aren't clear

* Rename timesSpokenTo to nextDialogue, treat isTalking as boolean
This commit is contained in:
Aly Cerruti 2021-07-28 09:51:12 -07:00 committed by GitHub
parent 5c147e5e03
commit 6f7312a348
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
17 changed files with 164 additions and 495 deletions

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -41,7 +41,7 @@
<Limb Name="object_mu_Limb_004F1C" LimbType="Standard" Offset="0x4F1C"/>
<Limb Name="object_mu_Limb_004F28" LimbType="Standard" Offset="0x4F28"/>
<Skeleton Name="object_mu_Skel_004F70" Type="Flex" LimbType="Standard" Offset="0x4F70"/>
<Animation Name="object_mu_Anim_005040" Offset="0x5040"/>
<Animation Name="gDancingCoupleAnim" Offset="0x5040"/>
<Texture Name="object_mu_TLUT_005050" OutName="tlut_00005050" Format="rgba16" Width="16" Height="16" Offset="0x5050"/>
<Texture Name="object_mu_Tex_005250" OutName="tex_00005250" Format="i8" Width="16" Height="16" Offset="0x5250"/>
<Texture Name="object_mu_Tex_005350" OutName="tex_00005350" Format="ci8" Width="16" Height="16" Offset="0x5350"/>
@ -91,6 +91,6 @@
<Limb Name="object_mu_Limb_00ADCC" LimbType="Standard" Offset="0xADCC"/>
<Limb Name="object_mu_Limb_00ADD8" LimbType="Standard" Offset="0xADD8"/>
<Limb Name="object_mu_Limb_00ADE4" LimbType="Standard" Offset="0xADE4"/>
<Skeleton Name="object_mu_Skel_00AE40" Type="Flex" LimbType="Standard" Offset="0xAE40"/>
<Skeleton Name="gDancingCoupleSkel" Type="Flex" LimbType="Standard" Offset="0xAE40"/>
</File>
</Root>

View file

@ -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

View file

@ -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

3
spec
View file

@ -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

View file

@ -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);
}

View file

@ -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;

View file

@ -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;