1
0
mirror of https://github.com/zeldaret/oot.git synced 2024-09-21 04:24:43 +00:00

En_Toryo OK (#569)

* En_Toryo OK

* en_Toryo fixes

Co-authored-by: fig <fig02srl@gmail.com>
This commit is contained in:
notyourav 2021-01-07 11:10:15 -08:00 committed by GitHub
parent 2a13d71848
commit 209f0d21b8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
17 changed files with 351 additions and 840 deletions

View File

@ -1,12 +0,0 @@
glabel EnToryo_Destroy
/* 00240 80B203B0 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00244 80B203B4 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
/* 00248 80B203B8 AFBF0014 */ sw $ra, 0x0014($sp)
/* 0024C 80B203BC 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 00250 80B203C0 0C0170EB */ jal Collider_DestroyCylinder
/* 00254 80B203C4 24C50194 */ addiu $a1, $a2, 0x0194 ## $a1 = 00000194
/* 00258 80B203C8 8FBF0014 */ lw $ra, 0x0014($sp)
/* 0025C 80B203CC 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00260 80B203D0 03E00008 */ jr $ra
/* 00264 80B203D4 00000000 */ nop

View File

@ -1,24 +0,0 @@
glabel EnToryo_Draw
/* 00938 80B20AA8 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 0093C 80B20AAC AFBF0024 */ sw $ra, 0x0024($sp)
/* 00940 80B20AB0 AFA40028 */ sw $a0, 0x0028($sp)
/* 00944 80B20AB4 AFA5002C */ sw $a1, 0x002C($sp)
/* 00948 80B20AB8 0C024F46 */ jal func_80093D18
/* 0094C 80B20ABC 8CA40000 */ lw $a0, 0x0000($a1) ## 00000000
/* 00950 80B20AC0 8FA20028 */ lw $v0, 0x0028($sp)
/* 00954 80B20AC4 3C0F80B2 */ lui $t7, %hi(func_80B20B04) ## $t7 = 80B20000
/* 00958 80B20AC8 3C1880B2 */ lui $t8, %hi(func_80B20B94) ## $t8 = 80B20000
/* 0095C 80B20ACC 8C450150 */ lw $a1, 0x0150($v0) ## 00000150
/* 00960 80B20AD0 8C46016C */ lw $a2, 0x016C($v0) ## 0000016C
/* 00964 80B20AD4 9047014E */ lbu $a3, 0x014E($v0) ## 0000014E
/* 00968 80B20AD8 27180B94 */ addiu $t8, $t8, %lo(func_80B20B94) ## $t8 = 80B20B94
/* 0096C 80B20ADC 25EF0B04 */ addiu $t7, $t7, %lo(func_80B20B04) ## $t7 = 80B20B04
/* 00970 80B20AE0 AFAF0010 */ sw $t7, 0x0010($sp)
/* 00974 80B20AE4 AFB80014 */ sw $t8, 0x0014($sp)
/* 00978 80B20AE8 8FA4002C */ lw $a0, 0x002C($sp)
/* 0097C 80B20AEC 0C0286B2 */ jal SkelAnime_DrawFlexOpa
/* 00980 80B20AF0 AFA20018 */ sw $v0, 0x0018($sp)
/* 00984 80B20AF4 8FBF0024 */ lw $ra, 0x0024($sp)
/* 00988 80B20AF8 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 0098C 80B20AFC 03E00008 */ jr $ra
/* 00990 80B20B00 00000000 */ nop

View File

@ -1,159 +0,0 @@
glabel EnToryo_Init
/* 00000 80B20170 27BDFFB0 */ addiu $sp, $sp, 0xFFB0 ## $sp = FFFFFFB0
/* 00004 80B20174 AFBF002C */ sw $ra, 0x002C($sp)
/* 00008 80B20178 AFB00028 */ sw $s0, 0x0028($sp)
/* 0000C 80B2017C AFA50054 */ sw $a1, 0x0054($sp)
/* 00010 80B20180 84A200A4 */ lh $v0, 0x00A4($a1) ## 000000A4
/* 00014 80B20184 2401002A */ addiu $at, $zero, 0x002A ## $at = 0000002A
/* 00018 80B20188 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 0001C 80B2018C 10410026 */ beq $v0, $at, .L80B20228
/* 00020 80B20190 3C038016 */ lui $v1, %hi(gSaveContext)
/* 00024 80B20194 24010052 */ addiu $at, $zero, 0x0052 ## $at = 00000052
/* 00028 80B20198 10410012 */ beq $v0, $at, .L80B201E4
/* 0002C 80B2019C 3C038016 */ lui $v1, %hi(gSaveContext)
/* 00030 80B201A0 2401005A */ addiu $at, $zero, 0x005A ## $at = 0000005A
/* 00034 80B201A4 14410031 */ bne $v0, $at, .L80B2026C
/* 00038 80B201A8 3C038016 */ lui $v1, %hi(gSaveContext)
/* 0003C 80B201AC 2463E660 */ addiu $v1, %lo(gSaveContext)
/* 00040 80B201B0 8C6F0004 */ lw $t7, 0x0004($v1) ## 8015E664
/* 00044 80B201B4 24010011 */ addiu $at, $zero, 0x0011 ## $at = 00000011
/* 00048 80B201B8 24020011 */ addiu $v0, $zero, 0x0011 ## $v0 = 00000011
/* 0004C 80B201BC 11E00003 */ beq $t7, $zero, .L80B201CC
/* 00050 80B201C0 00000000 */ nop
/* 00054 80B201C4 10000001 */ beq $zero, $zero, .L80B201CC
/* 00058 80B201C8 24020005 */ addiu $v0, $zero, 0x0005 ## $v0 = 00000005
.L80B201CC:
/* 0005C 80B201CC 54410028 */ bnel $v0, $at, .L80B20270
/* 00060 80B201D0 961801E8 */ lhu $t8, 0x01E8($s0) ## 000001E8
/* 00064 80B201D4 961801E8 */ lhu $t8, 0x01E8($s0) ## 000001E8
/* 00068 80B201D8 37190001 */ ori $t9, $t8, 0x0001 ## $t9 = 00000001
/* 0006C 80B201DC 10000023 */ beq $zero, $zero, .L80B2026C
/* 00070 80B201E0 A61901E8 */ sh $t9, 0x01E8($s0) ## 000001E8
.L80B201E4:
/* 00074 80B201E4 2463E660 */ addiu $v1, %lo(gSaveContext)
/* 00078 80B201E8 8C680004 */ lw $t0, 0x0004($v1) ## 8015CCC4
/* 0007C 80B201EC 24010005 */ addiu $at, $zero, 0x0005 ## $at = 00000005
/* 00080 80B201F0 24020011 */ addiu $v0, $zero, 0x0011 ## $v0 = 00000011
/* 00084 80B201F4 11000003 */ beq $t0, $zero, .L80B20204
/* 00088 80B201F8 00000000 */ nop
/* 0008C 80B201FC 10000001 */ beq $zero, $zero, .L80B20204
/* 00090 80B20200 24020005 */ addiu $v0, $zero, 0x0005 ## $v0 = 00000005
.L80B20204:
/* 00094 80B20204 5441001A */ bnel $v0, $at, .L80B20270
/* 00098 80B20208 961801E8 */ lhu $t8, 0x01E8($s0) ## 000001E8
/* 0009C 80B2020C 8C690010 */ lw $t1, 0x0010($v1) ## 8015CCD0
/* 000A0 80B20210 55200017 */ bnel $t1, $zero, .L80B20270
/* 000A4 80B20214 961801E8 */ lhu $t8, 0x01E8($s0) ## 000001E8
/* 000A8 80B20218 960A01E8 */ lhu $t2, 0x01E8($s0) ## 000001E8
/* 000AC 80B2021C 354B0002 */ ori $t3, $t2, 0x0002 ## $t3 = 00000002
/* 000B0 80B20220 10000012 */ beq $zero, $zero, .L80B2026C
/* 000B4 80B20224 A60B01E8 */ sh $t3, 0x01E8($s0) ## 000001E8
.L80B20228:
/* 000B8 80B20228 2463E660 */ addiu $v1, %lo(gSaveContext)
/* 000BC 80B2022C 8C6C0004 */ lw $t4, 0x0004($v1) ## 8015B324
/* 000C0 80B20230 24010005 */ addiu $at, $zero, 0x0005 ## $at = 00000005
/* 000C4 80B20234 24020011 */ addiu $v0, $zero, 0x0011 ## $v0 = 00000011
/* 000C8 80B20238 11800003 */ beq $t4, $zero, .L80B20248
/* 000CC 80B2023C 00000000 */ nop
/* 000D0 80B20240 10000001 */ beq $zero, $zero, .L80B20248
/* 000D4 80B20244 24020005 */ addiu $v0, $zero, 0x0005 ## $v0 = 00000005
.L80B20248:
/* 000D8 80B20248 54410009 */ bnel $v0, $at, .L80B20270
/* 000DC 80B2024C 961801E8 */ lhu $t8, 0x01E8($s0) ## 000001E8
/* 000E0 80B20250 8C6D0010 */ lw $t5, 0x0010($v1) ## 8015B330
/* 000E4 80B20254 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 000E8 80B20258 55A10005 */ bnel $t5, $at, .L80B20270
/* 000EC 80B2025C 961801E8 */ lhu $t8, 0x01E8($s0) ## 000001E8
/* 000F0 80B20260 960E01E8 */ lhu $t6, 0x01E8($s0) ## 000001E8
/* 000F4 80B20264 35CF0004 */ ori $t7, $t6, 0x0004 ## $t7 = 00000004
/* 000F8 80B20268 A60F01E8 */ sh $t7, 0x01E8($s0) ## 000001E8
.L80B2026C:
/* 000FC 80B2026C 961801E8 */ lhu $t8, 0x01E8($s0) ## 000001E8
.L80B20270:
/* 00100 80B20270 33190007 */ andi $t9, $t8, 0x0007 ## $t9 = 00000000
/* 00104 80B20274 17200003 */ bne $t9, $zero, .L80B20284
/* 00108 80B20278 00000000 */ nop
/* 0010C 80B2027C 0C00B55C */ jal Actor_Kill
/* 00110 80B20280 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
.L80B20284:
/* 00114 80B20284 3C068003 */ lui $a2, %hi(ActorShadow_DrawFunc_Circle)
/* 00118 80B20288 24C6B5EC */ addiu $a2, %lo(ActorShadow_DrawFunc_Circle)
/* 0011C 80B2028C 260400B4 */ addiu $a0, $s0, 0x00B4 ## $a0 = 000000B4
/* 00120 80B20290 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
/* 00124 80B20294 0C00AC78 */ jal ActorShape_Init
/* 00128 80B20298 3C074228 */ lui $a3, 0x4228 ## $a3 = 42280000
/* 0012C 80B2029C 2605014C */ addiu $a1, $s0, 0x014C ## $a1 = 0000014C
/* 00130 80B202A0 3C060600 */ lui $a2, %hi(D_06007150) ## $a2 = 06000000
/* 00134 80B202A4 26080214 */ addiu $t0, $s0, 0x0214 ## $t0 = 00000214
/* 00138 80B202A8 2609027A */ addiu $t1, $s0, 0x027A ## $t1 = 0000027A
/* 0013C 80B202AC 240A0011 */ addiu $t2, $zero, 0x0011 ## $t2 = 00000011
/* 00140 80B202B0 AFAA0018 */ sw $t2, 0x0018($sp)
/* 00144 80B202B4 AFA90014 */ sw $t1, 0x0014($sp)
/* 00148 80B202B8 AFA80010 */ sw $t0, 0x0010($sp)
/* 0014C 80B202BC 24C67150 */ addiu $a2, $a2, %lo(D_06007150) ## $a2 = 06007150
/* 00150 80B202C0 AFA50038 */ sw $a1, 0x0038($sp)
/* 00154 80B202C4 8FA40054 */ lw $a0, 0x0054($sp)
/* 00158 80B202C8 0C0291BE */ jal SkelAnime_InitFlex
/* 0015C 80B202CC 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
/* 00160 80B202D0 26050194 */ addiu $a1, $s0, 0x0194 ## $a1 = 00000194
/* 00164 80B202D4 AFA50034 */ sw $a1, 0x0034($sp)
/* 00168 80B202D8 0C0170D9 */ jal Collider_InitCylinder
/* 0016C 80B202DC 8FA40054 */ lw $a0, 0x0054($sp)
/* 00170 80B202E0 3C0780B2 */ lui $a3, %hi(D_80B20C00) ## $a3 = 80B20000
/* 00174 80B202E4 8FA50034 */ lw $a1, 0x0034($sp)
/* 00178 80B202E8 24E70C00 */ addiu $a3, $a3, %lo(D_80B20C00) ## $a3 = 80B20C00
/* 0017C 80B202EC 8FA40054 */ lw $a0, 0x0054($sp)
/* 00180 80B202F0 0C01712B */ jal Collider_SetCylinder
/* 00184 80B202F4 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
/* 00188 80B202F8 3C0580B2 */ lui $a1, %hi(D_80B20C38) ## $a1 = 80B20000
/* 0018C 80B202FC 3C0680B2 */ lui $a2, %hi(D_80B20C2C) ## $a2 = 80B20000
/* 00190 80B20300 24C60C2C */ addiu $a2, $a2, %lo(D_80B20C2C) ## $a2 = 80B20C2C
/* 00194 80B20304 24A50C38 */ addiu $a1, $a1, %lo(D_80B20C38) ## $a1 = 80B20C38
/* 00198 80B20308 0C0187BF */ jal func_80061EFC
/* 0019C 80B2030C 26040098 */ addiu $a0, $s0, 0x0098 ## $a0 = 00000098
/* 001A0 80B20310 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 001A4 80B20314 240B0004 */ addiu $t3, $zero, 0x0004 ## $t3 = 00000004
/* 001A8 80B20318 AFAB0014 */ sw $t3, 0x0014($sp)
/* 001AC 80B2031C 44060000 */ mfc1 $a2, $f0
/* 001B0 80B20320 44070000 */ mfc1 $a3, $f0
/* 001B4 80B20324 8FA40054 */ lw $a0, 0x0054($sp)
/* 001B8 80B20328 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 001BC 80B2032C 0C00B92D */ jal func_8002E4B4
/* 001C0 80B20330 E7A00010 */ swc1 $f0, 0x0010($sp)
/* 001C4 80B20334 3C0380B2 */ lui $v1, %hi(D_80B20C58) ## $v1 = 80B20000
/* 001C8 80B20338 24630C58 */ addiu $v1, $v1, %lo(D_80B20C58) ## $v1 = 80B20C58
/* 001CC 80B2033C 0C028800 */ jal Animation_GetLastFrame
/* 001D0 80B20340 8C640000 */ lw $a0, 0x0000($v1) ## 80B20C58
/* 001D4 80B20344 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
/* 001D8 80B20348 3C0380B2 */ lui $v1, %hi(D_80B20C58) ## $v1 = 80B20000
/* 001DC 80B2034C 24630C58 */ addiu $v1, $v1, %lo(D_80B20C58) ## $v1 = 80B20C58
/* 001E0 80B20350 468021A0 */ cvt.s.w $f6, $f4
/* 001E4 80B20354 906C0008 */ lbu $t4, 0x0008($v1) ## 80B20C60
/* 001E8 80B20358 C468000C */ lwc1 $f8, 0x000C($v1) ## 80B20C64
/* 001EC 80B2035C 8C650000 */ lw $a1, 0x0000($v1) ## 80B20C58
/* 001F0 80B20360 8FA40038 */ lw $a0, 0x0038($sp)
/* 001F4 80B20364 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 001F8 80B20368 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 001FC 80B2036C 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
/* 00200 80B20370 AFAC0014 */ sw $t4, 0x0014($sp)
/* 00204 80B20374 0C029468 */ jal Animation_Change
/* 00208 80B20378 E7A80018 */ swc1 $f8, 0x0018($sp)
/* 0020C 80B2037C 960D01E8 */ lhu $t5, 0x01E8($s0) ## 000001E8
/* 00210 80B20380 3C1880B2 */ lui $t8, %hi(func_80B20914) ## $t8 = 80B20000
/* 00214 80B20384 240F0006 */ addiu $t7, $zero, 0x0006 ## $t7 = 00000006
/* 00218 80B20388 27180914 */ addiu $t8, $t8, %lo(func_80B20914) ## $t8 = 80B20914
/* 0021C 80B2038C 35AE0008 */ ori $t6, $t5, 0x0008 ## $t6 = 00000008
/* 00220 80B20390 A60E01E8 */ sh $t6, 0x01E8($s0) ## 000001E8
/* 00224 80B20394 A20F001F */ sb $t7, 0x001F($s0) ## 0000001F
/* 00228 80B20398 AE180190 */ sw $t8, 0x0190($s0) ## 00000190
/* 0022C 80B2039C 8FBF002C */ lw $ra, 0x002C($sp)
/* 00230 80B203A0 8FB00028 */ lw $s0, 0x0028($sp)
/* 00234 80B203A4 27BD0050 */ addiu $sp, $sp, 0x0050 ## $sp = 00000000
/* 00238 80B203A8 03E00008 */ jr $ra
/* 0023C 80B203AC 00000000 */ nop

View File

@ -1,89 +0,0 @@
.late_rodata
glabel D_80B20CD0
.word 0x46638C00
glabel D_80B20CD4
.word 0xC6638C00, 0x00000000, 0x00000000
.text
glabel EnToryo_Update
/* 00808 80B20978 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
/* 0080C 80B2097C AFB00018 */ sw $s0, 0x0018($sp)
/* 00810 80B20980 AFBF001C */ sw $ra, 0x001C($sp)
/* 00814 80B20984 AFA5003C */ sw $a1, 0x003C($sp)
/* 00818 80B20988 8CAF1C44 */ lw $t7, 0x1C44($a1) ## 00001C44
/* 0081C 80B2098C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00820 80B20990 26060194 */ addiu $a2, $s0, 0x0194 ## $a2 = 00000194
/* 00824 80B20994 00C02825 */ or $a1, $a2, $zero ## $a1 = 00000194
/* 00828 80B20998 AFA60024 */ sw $a2, 0x0024($sp)
/* 0082C 80B2099C 0C0189B7 */ jal Collider_CylinderUpdate
/* 00830 80B209A0 AFAF002C */ sw $t7, 0x002C($sp)
/* 00834 80B209A4 8FA4003C */ lw $a0, 0x003C($sp)
/* 00838 80B209A8 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 0083C 80B209AC 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
/* 00840 80B209B0 8FA60024 */ lw $a2, 0x0024($sp)
/* 00844 80B209B4 0C017713 */ jal CollisionCheck_SetOC
## CollisionCheck_setOT
/* 00848 80B209B8 00812821 */ addu $a1, $a0, $at
/* 0084C 80B209BC 8E190190 */ lw $t9, 0x0190($s0) ## 00000190
/* 00850 80B209C0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00854 80B209C4 8FA5003C */ lw $a1, 0x003C($sp)
/* 00858 80B209C8 0320F809 */ jalr $ra, $t9
/* 0085C 80B209CC 00000000 */ nop
/* 00860 80B209D0 960201E8 */ lhu $v0, 0x01E8($s0) ## 000001E8
/* 00864 80B209D4 8FA3002C */ lw $v1, 0x002C($sp)
/* 00868 80B209D8 30580008 */ andi $t8, $v0, 0x0008 ## $t8 = 00000000
/* 0086C 80B209DC 5300002E */ beql $t8, $zero, .L80B20A98
/* 00870 80B209E0 8FBF001C */ lw $ra, 0x001C($sp)
/* 00874 80B209E4 C4640038 */ lwc1 $f4, 0x0038($v1) ## 00000038
/* 00878 80B209E8 30480010 */ andi $t0, $v0, 0x0010 ## $t0 = 00000000
/* 0087C 80B209EC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00880 80B209F0 E6040204 */ swc1 $f4, 0x0204($s0) ## 00000204
/* 00884 80B209F4 C466003C */ lwc1 $f6, 0x003C($v1) ## 0000003C
/* 00888 80B209F8 260501EC */ addiu $a1, $s0, 0x01EC ## $a1 = 000001EC
/* 0088C 80B209FC 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
/* 00890 80B20A00 E6060208 */ swc1 $f6, 0x0208($s0) ## 00000208
/* 00894 80B20A04 C4680040 */ lwc1 $f8, 0x0040($v1) ## 00000040
/* 00898 80B20A08 11000005 */ beq $t0, $zero, .L80B20A20
/* 0089C 80B20A0C E608020C */ swc1 $f8, 0x020C($s0) ## 0000020C
/* 008A0 80B20A10 0C00D285 */ jal func_80034A14
/* 008A4 80B20A14 24070004 */ addiu $a3, $zero, 0x0004 ## $a3 = 00000004
/* 008A8 80B20A18 1000001F */ beq $zero, $zero, .L80B20A98
/* 008AC 80B20A1C 8FBF001C */ lw $ra, 0x001C($sp)
.L80B20A20:
/* 008B0 80B20A20 8609008A */ lh $t1, 0x008A($s0) ## 0000008A
/* 008B4 80B20A24 860A00B6 */ lh $t2, 0x00B6($s0) ## 000000B6
/* 008B8 80B20A28 3C0180B2 */ lui $at, %hi(D_80B20CD0) ## $at = 80B20000
/* 008BC 80B20A2C C4300CD0 */ lwc1 $f16, %lo(D_80B20CD0)($at)
/* 008C0 80B20A30 012A5823 */ subu $t3, $t1, $t2
/* 008C4 80B20A34 448B5000 */ mtc1 $t3, $f10 ## $f10 = 0.00
/* 008C8 80B20A38 3C0180B2 */ lui $at, %hi(D_80B20CD4) ## $at = 80B20000
/* 008CC 80B20A3C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 008D0 80B20A40 46805020 */ cvt.s.w $f0, $f10
/* 008D4 80B20A44 260501EC */ addiu $a1, $s0, 0x01EC ## $a1 = 000001EC
/* 008D8 80B20A48 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
/* 008DC 80B20A4C 4610003C */ c.lt.s $f0, $f16
/* 008E0 80B20A50 00000000 */ nop
/* 008E4 80B20A54 4500000D */ bc1f .L80B20A8C
/* 008E8 80B20A58 00000000 */ nop
/* 008EC 80B20A5C C4320CD4 */ lwc1 $f18, %lo(D_80B20CD4)($at)
/* 008F0 80B20A60 24070002 */ addiu $a3, $zero, 0x0002 ## $a3 = 00000002
/* 008F4 80B20A64 4600903C */ c.lt.s $f18, $f0
/* 008F8 80B20A68 00000000 */ nop
/* 008FC 80B20A6C 45000007 */ bc1f .L80B20A8C
/* 00900 80B20A70 00000000 */ nop
/* 00904 80B20A74 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00908 80B20A78 260501EC */ addiu $a1, $s0, 0x01EC ## $a1 = 000001EC
/* 0090C 80B20A7C 0C00D285 */ jal func_80034A14
/* 00910 80B20A80 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
/* 00914 80B20A84 10000004 */ beq $zero, $zero, .L80B20A98
/* 00918 80B20A88 8FBF001C */ lw $ra, 0x001C($sp)
.L80B20A8C:
/* 0091C 80B20A8C 0C00D285 */ jal func_80034A14
/* 00920 80B20A90 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
/* 00924 80B20A94 8FBF001C */ lw $ra, 0x001C($sp)
.L80B20A98:
/* 00928 80B20A98 8FB00018 */ lw $s0, 0x0018($sp)
/* 0092C 80B20A9C 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000
/* 00930 80B20AA0 03E00008 */ jr $ra
/* 00934 80B20AA4 00000000 */ nop

View File

@ -1,157 +0,0 @@
.late_rodata
glabel jtbl_80B20C80
.word L80B205B8
.word L80B205B8
.word L80B205B8
.word L80B205B8
.word L80B2042C
.word L80B205B8
.word L80B204AC
glabel jtbl_80B20C9C
.word L80B20570
.word L80B205A0
.word L80B205A0
.word L80B205A0
.word L80B205A0
.word L80B20540
.text
glabel func_80B203D8
/* 00268 80B203D8 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 0026C 80B203DC AFBF0014 */ sw $ra, 0x0014($sp)
/* 00270 80B203E0 AFA40028 */ sw $a0, 0x0028($sp)
/* 00274 80B203E4 8CAE1C44 */ lw $t6, 0x1C44($a1) ## 00001C44
/* 00278 80B203E8 24060001 */ addiu $a2, $zero, 0x0001 ## $a2 = 00000001
/* 0027C 80B203EC AFA6001C */ sw $a2, 0x001C($sp)
/* 00280 80B203F0 AFA5002C */ sw $a1, 0x002C($sp)
/* 00284 80B203F4 24A420D8 */ addiu $a0, $a1, 0x20D8 ## $a0 = 000020D8
/* 00288 80B203F8 0C042F6F */ jal func_8010BDBC
/* 0028C 80B203FC AFAE0020 */ sw $t6, 0x0020($sp)
/* 00290 80B20400 2C410007 */ sltiu $at, $v0, 0x0007
/* 00294 80B20404 8FA30028 */ lw $v1, 0x0028($sp)
/* 00298 80B20408 8FA5002C */ lw $a1, 0x002C($sp)
/* 0029C 80B2040C 1020006A */ beq $at, $zero, .L80B205B8
/* 002A0 80B20410 8FA6001C */ lw $a2, 0x001C($sp)
/* 002A4 80B20414 00027880 */ sll $t7, $v0, 2
/* 002A8 80B20418 3C0180B2 */ lui $at, %hi(jtbl_80B20C80) ## $at = 80B20000
/* 002AC 80B2041C 002F0821 */ addu $at, $at, $t7
/* 002B0 80B20420 8C2F0C80 */ lw $t7, %lo(jtbl_80B20C80)($at)
/* 002B4 80B20424 01E00008 */ jr $t7
/* 002B8 80B20428 00000000 */ nop
glabel L80B2042C
/* 002BC 80B2042C 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 002C0 80B20430 AFA5002C */ sw $a1, 0x002C($sp)
/* 002C4 80B20434 0C041AF2 */ jal func_80106BC8
/* 002C8 80B20438 AFA6001C */ sw $a2, 0x001C($sp)
/* 002CC 80B2043C 8FA30028 */ lw $v1, 0x0028($sp)
/* 002D0 80B20440 8FA5002C */ lw $a1, 0x002C($sp)
/* 002D4 80B20444 1040005C */ beq $v0, $zero, .L80B205B8
/* 002D8 80B20448 8FA6001C */ lw $a2, 0x001C($sp)
/* 002DC 80B2044C 3C180001 */ lui $t8, 0x0001 ## $t8 = 00010000
/* 002E0 80B20450 0305C021 */ addu $t8, $t8, $a1
/* 002E4 80B20454 931804BD */ lbu $t8, 0x04BD($t8) ## 000104BD
/* 002E8 80B20458 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 002EC 80B2045C 240A606F */ addiu $t2, $zero, 0x606F ## $t2 = 0000606F
/* 002F0 80B20460 17000010 */ bne $t8, $zero, .L80B204A4
/* 002F4 80B20464 24060002 */ addiu $a2, $zero, 0x0002 ## $a2 = 00000002
/* 002F8 80B20468 0C041B33 */ jal func_80106CCC
/* 002FC 80B2046C AFA5002C */ sw $a1, 0x002C($sp)
/* 00300 80B20470 8FA30028 */ lw $v1, 0x0028($sp)
/* 00304 80B20474 8FA5002C */ lw $a1, 0x002C($sp)
/* 00308 80B20478 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 0030C 80B2047C AC600118 */ sw $zero, 0x0118($v1) ## 00000118
/* 00310 80B20480 8FB90020 */ lw $t9, 0x0020($sp)
/* 00314 80B20484 24080037 */ addiu $t0, $zero, 0x0037 ## $t0 = 00000037
/* 00318 80B20488 00250821 */ addu $at, $at, $a1
/* 0031C 80B2048C A3200693 */ sb $zero, 0x0693($t9) ## 00000693
/* 00320 80B20490 A02803DC */ sb $t0, 0x03DC($at) ## 000103DC
/* 00324 80B20494 2409601B */ addiu $t1, $zero, 0x601B ## $t1 = 0000601B
/* 00328 80B20498 24060003 */ addiu $a2, $zero, 0x0003 ## $a2 = 00000003
/* 0032C 80B2049C 10000046 */ beq $zero, $zero, .L80B205B8
/* 00330 80B204A0 A469010E */ sh $t1, 0x010E($v1) ## 0000010E
.L80B204A4:
/* 00334 80B204A4 10000044 */ beq $zero, $zero, .L80B205B8
/* 00338 80B204A8 A46A010E */ sh $t2, 0x010E($v1) ## 0000010E
glabel L80B204AC
/* 0033C 80B204AC 9462010E */ lhu $v0, 0x010E($v1) ## 0000010E
/* 00340 80B204B0 2841601C */ slti $at, $v0, 0x601C
/* 00344 80B204B4 14200009 */ bne $at, $zero, .L80B204DC
/* 00348 80B204B8 244B9F96 */ addiu $t3, $v0, 0x9F96 ## $t3 = FFFF9F96
/* 0034C 80B204BC 2D610006 */ sltiu $at, $t3, 0x0006
/* 00350 80B204C0 10200037 */ beq $at, $zero, .L80B205A0
/* 00354 80B204C4 000B5880 */ sll $t3, $t3, 2
/* 00358 80B204C8 3C0180B2 */ lui $at, %hi(jtbl_80B20C9C) ## $at = 80B20000
/* 0035C 80B204CC 002B0821 */ addu $at, $at, $t3
/* 00360 80B204D0 8C2B0C9C */ lw $t3, %lo(jtbl_80B20C9C)($at)
/* 00364 80B204D4 01600008 */ jr $t3
/* 00368 80B204D8 00000000 */ nop
.L80B204DC:
/* 0036C 80B204DC 24015028 */ addiu $at, $zero, 0x5028 ## $at = 00005028
/* 00370 80B204E0 10410006 */ beq $v0, $at, .L80B204FC
/* 00374 80B204E4 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 00378 80B204E8 2401601B */ addiu $at, $zero, 0x601B ## $at = 0000601B
/* 0037C 80B204EC 1041000E */ beq $v0, $at, .L80B20528
/* 00380 80B204F0 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 00384 80B204F4 1000002B */ beq $zero, $zero, .L80B205A4
/* 00388 80B204F8 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
.L80B204FC:
/* 0038C 80B204FC 0C041AF2 */ jal func_80106BC8
/* 00390 80B20500 AFA6001C */ sw $a2, 0x001C($sp)
/* 00394 80B20504 1040002C */ beq $v0, $zero, .L80B205B8
/* 00398 80B20508 8FA6001C */ lw $a2, 0x001C($sp)
/* 0039C 80B2050C 3C028016 */ lui $v0, %hi(gSaveContext)
/* 003A0 80B20510 2442E660 */ addiu $v0, %lo(gSaveContext)
/* 003A4 80B20514 944C0F26 */ lhu $t4, 0x0F26($v0) ## 8015F586
/* 003A8 80B20518 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
/* 003AC 80B2051C 358D0004 */ ori $t5, $t4, 0x0004 ## $t5 = 00000004
/* 003B0 80B20520 10000025 */ beq $zero, $zero, .L80B205B8
/* 003B4 80B20524 A44D0F26 */ sh $t5, 0x0F26($v0) ## 8015F586
.L80B20528:
/* 003B8 80B20528 0C041AF2 */ jal func_80106BC8
/* 003BC 80B2052C AFA6001C */ sw $a2, 0x001C($sp)
/* 003C0 80B20530 10400021 */ beq $v0, $zero, .L80B205B8
/* 003C4 80B20534 8FA6001C */ lw $a2, 0x001C($sp)
/* 003C8 80B20538 1000001F */ beq $zero, $zero, .L80B205B8
/* 003CC 80B2053C 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004
glabel L80B20540
/* 003D0 80B20540 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 003D4 80B20544 0C041AF2 */ jal func_80106BC8
/* 003D8 80B20548 AFA6001C */ sw $a2, 0x001C($sp)
/* 003DC 80B2054C 1040001A */ beq $v0, $zero, .L80B205B8
/* 003E0 80B20550 8FA6001C */ lw $a2, 0x001C($sp)
/* 003E4 80B20554 3C028016 */ lui $v0, %hi(gSaveContext)
/* 003E8 80B20558 2442E660 */ addiu $v0, %lo(gSaveContext)
/* 003EC 80B2055C 944E0F26 */ lhu $t6, 0x0F26($v0) ## 8015F586
/* 003F0 80B20560 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
/* 003F4 80B20564 35CF0002 */ ori $t7, $t6, 0x0002 ## $t7 = 00000002
/* 003F8 80B20568 10000013 */ beq $zero, $zero, .L80B205B8
/* 003FC 80B2056C A44F0F26 */ sh $t7, 0x0F26($v0) ## 8015F586
glabel L80B20570
/* 00400 80B20570 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 00404 80B20574 0C041AF2 */ jal func_80106BC8
/* 00408 80B20578 AFA6001C */ sw $a2, 0x001C($sp)
/* 0040C 80B2057C 1040000E */ beq $v0, $zero, .L80B205B8
/* 00410 80B20580 8FA6001C */ lw $a2, 0x001C($sp)
/* 00414 80B20584 3C028016 */ lui $v0, %hi(gSaveContext)
/* 00418 80B20588 2442E660 */ addiu $v0, %lo(gSaveContext)
/* 0041C 80B2058C 94580F26 */ lhu $t8, 0x0F26($v0) ## 8015F586
/* 00420 80B20590 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
/* 00424 80B20594 37190001 */ ori $t9, $t8, 0x0001 ## $t9 = 00000001
/* 00428 80B20598 10000007 */ beq $zero, $zero, .L80B205B8
/* 0042C 80B2059C A4590F26 */ sh $t9, 0x0F26($v0) ## 8015F586
glabel L80B205A0
.L80B205A0:
/* 00430 80B205A0 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
.L80B205A4:
/* 00434 80B205A4 0C041AF2 */ jal func_80106BC8
/* 00438 80B205A8 AFA6001C */ sw $a2, 0x001C($sp)
/* 0043C 80B205AC 10400002 */ beq $v0, $zero, .L80B205B8
/* 00440 80B205B0 8FA6001C */ lw $a2, 0x001C($sp)
/* 00444 80B205B4 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
glabel L80B205B8
.L80B205B8:
/* 00448 80B205B8 8FBF0014 */ lw $ra, 0x0014($sp)
/* 0044C 80B205BC 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 00450 80B205C0 00C01025 */ or $v0, $a2, $zero ## $v0 = 00000000
/* 00454 80B205C4 03E00008 */ jr $ra
/* 00458 80B205C8 00000000 */ nop

View File

@ -1,42 +0,0 @@
.late_rodata
glabel jtbl_80B20CB4
.word L80B20620
.word L80B20620
.word L80B20620
.word L80B20620
.word L80B20620
.word L80B20620
.word L80B2060C
.text
glabel func_80B205CC
/* 0045C 80B205CC 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 00460 80B205D0 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00464 80B205D4 AFA40028 */ sw $a0, 0x0028($sp)
/* 00468 80B205D8 240E0005 */ addiu $t6, $zero, 0x0005 ## $t6 = 00000005
/* 0046C 80B205DC AFA5002C */ sw $a1, 0x002C($sp)
/* 00470 80B205E0 AFAE001C */ sw $t6, 0x001C($sp)
/* 00474 80B205E4 0C042F6F */ jal func_8010BDBC
/* 00478 80B205E8 24A420D8 */ addiu $a0, $a1, 0x20D8 ## $a0 = 000020D8
/* 0047C 80B205EC 2C410007 */ sltiu $at, $v0, 0x0007
/* 00480 80B205F0 1020000B */ beq $at, $zero, .L80B20620
/* 00484 80B205F4 00027880 */ sll $t7, $v0, 2
/* 00488 80B205F8 3C0180B2 */ lui $at, %hi(jtbl_80B20CB4) ## $at = 80B20000
/* 0048C 80B205FC 002F0821 */ addu $at, $at, $t7
/* 00490 80B20600 8C2F0CB4 */ lw $t7, %lo(jtbl_80B20CB4)($at)
/* 00494 80B20604 01E00008 */ jr $t7
/* 00498 80B20608 00000000 */ nop
glabel L80B2060C
/* 0049C 80B2060C 0C041AF2 */ jal func_80106BC8
/* 004A0 80B20610 8FA4002C */ lw $a0, 0x002C($sp)
/* 004A4 80B20614 50400003 */ beql $v0, $zero, .L80B20624
/* 004A8 80B20618 8FBF0014 */ lw $ra, 0x0014($sp)
/* 004AC 80B2061C AFA0001C */ sw $zero, 0x001C($sp)
glabel L80B20620
.L80B20620:
/* 004B0 80B20620 8FBF0014 */ lw $ra, 0x0014($sp)
.L80B20624:
/* 004B4 80B20624 8FA2001C */ lw $v0, 0x001C($sp)
/* 004B8 80B20628 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 004BC 80B2062C 03E00008 */ jr $ra
/* 004C0 80B20630 00000000 */ nop

View File

@ -1,32 +0,0 @@
glabel func_80B20634
/* 004C4 80B20634 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 004C8 80B20638 AFBF0014 */ sw $ra, 0x0014($sp)
/* 004CC 80B2063C AFA50024 */ sw $a1, 0x0024($sp)
/* 004D0 80B20640 8C8201E0 */ lw $v0, 0x01E0($a0) ## 000001E0
/* 004D4 80B20644 2401000A */ addiu $at, $zero, 0x000A ## $at = 0000000A
/* 004D8 80B20648 50400011 */ beql $v0, $zero, .L80B20690
/* 004DC 80B2064C 8FBF0014 */ lw $ra, 0x0014($sp)
/* 004E0 80B20650 1441000D */ bne $v0, $at, .L80B20688
/* 004E4 80B20654 2403200F */ addiu $v1, $zero, 0x200F ## $v1 = 0000200F
/* 004E8 80B20658 0C01E221 */ jal func_80078884
/* 004EC 80B2065C 24044807 */ addiu $a0, $zero, 0x4807 ## $a0 = 00004807
/* 004F0 80B20660 3C0E8016 */ lui $t6, %hi(gSaveContext+0xf26)
/* 004F4 80B20664 95CEF586 */ lhu $t6, %lo(gSaveContext+0xf26)($t6)
/* 004F8 80B20668 2403606D */ addiu $v1, $zero, 0x606D ## $v1 = 0000606D
/* 004FC 80B2066C 31CF0002 */ andi $t7, $t6, 0x0002 ## $t7 = 00000000
/* 00500 80B20670 11E00003 */ beq $t7, $zero, .L80B20680
/* 00504 80B20674 00000000 */ nop
/* 00508 80B20678 10000001 */ beq $zero, $zero, .L80B20680
/* 0050C 80B2067C 2403606E */ addiu $v1, $zero, 0x606E ## $v1 = 0000606E
.L80B20680:
/* 00510 80B20680 10000002 */ beq $zero, $zero, .L80B2068C
/* 00514 80B20684 AFA3001C */ sw $v1, 0x001C($sp)
.L80B20688:
/* 00518 80B20688 AFA3001C */ sw $v1, 0x001C($sp)
.L80B2068C:
/* 0051C 80B2068C 8FBF0014 */ lw $ra, 0x0014($sp)
.L80B20690:
/* 00520 80B20690 8FA2001C */ lw $v0, 0x001C($sp)
/* 00524 80B20694 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 00528 80B20698 03E00008 */ jr $ra
/* 0052C 80B2069C 00000000 */ nop

View File

@ -1,58 +0,0 @@
glabel func_80B206A0
/* 00530 80B206A0 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00534 80B206A4 AFA40018 */ sw $a0, 0x0018($sp)
/* 00538 80B206A8 AFBF0014 */ sw $ra, 0x0014($sp)
/* 0053C 80B206AC 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 00540 80B206B0 0C01B0D8 */ jal Text_GetFaceReaction
/* 00544 80B206B4 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 00548 80B206B8 14400026 */ bne $v0, $zero, .L80B20754
/* 0054C 80B206BC 00402025 */ or $a0, $v0, $zero ## $a0 = 00000000
/* 00550 80B206C0 8FAE0018 */ lw $t6, 0x0018($sp)
/* 00554 80B206C4 95C201E8 */ lhu $v0, 0x01E8($t6) ## 000001E8
/* 00558 80B206C8 304F0001 */ andi $t7, $v0, 0x0001 ## $t7 = 00000000
/* 0055C 80B206CC 11E00012 */ beq $t7, $zero, .L80B20718
/* 00560 80B206D0 304A0002 */ andi $t2, $v0, 0x0002 ## $t2 = 00000000
/* 00564 80B206D4 3C028016 */ lui $v0, %hi(gSaveContext)
/* 00568 80B206D8 2442E660 */ addiu $v0, %lo(gSaveContext)
/* 0056C 80B206DC 94580EE6 */ lhu $t8, 0x0EE6($v0) ## 8015F546
/* 00570 80B206E0 2401000F */ addiu $at, $zero, 0x000F ## $at = 0000000F
/* 00574 80B206E4 3319000F */ andi $t9, $t8, 0x000F ## $t9 = 00000000
/* 00578 80B206E8 57210004 */ bnel $t9, $at, .L80B206FC
/* 0057C 80B206EC 94480F26 */ lhu $t0, 0x0F26($v0) ## 8015F586
/* 00580 80B206F0 10000018 */ beq $zero, $zero, .L80B20754
/* 00584 80B206F4 2404606C */ addiu $a0, $zero, 0x606C ## $a0 = 0000606C
/* 00588 80B206F8 94480F26 */ lhu $t0, 0x0F26($v0) ## 8015F586
.L80B206FC:
/* 0058C 80B206FC 31090001 */ andi $t1, $t0, 0x0001 ## $t1 = 00000000
/* 00590 80B20700 11200003 */ beq $t1, $zero, .L80B20710
/* 00594 80B20704 00000000 */ nop
/* 00598 80B20708 10000012 */ beq $zero, $zero, .L80B20754
/* 0059C 80B2070C 2404606B */ addiu $a0, $zero, 0x606B ## $a0 = 0000606B
.L80B20710:
/* 005A0 80B20710 10000010 */ beq $zero, $zero, .L80B20754
/* 005A4 80B20714 2404606A */ addiu $a0, $zero, 0x606A ## $a0 = 0000606A
.L80B20718:
/* 005A8 80B20718 1140000B */ beq $t2, $zero, .L80B20748
/* 005AC 80B2071C 304D0004 */ andi $t5, $v0, 0x0004 ## $t5 = 00000000
/* 005B0 80B20720 3C028016 */ lui $v0, %hi(gSaveContext)
/* 005B4 80B20724 2442E660 */ addiu $v0, %lo(gSaveContext)
/* 005B8 80B20728 944B0F26 */ lhu $t3, 0x0F26($v0) ## 8015F586
/* 005BC 80B2072C 316C0004 */ andi $t4, $t3, 0x0004 ## $t4 = 00000000
/* 005C0 80B20730 11800003 */ beq $t4, $zero, .L80B20740
/* 005C4 80B20734 00000000 */ nop
/* 005C8 80B20738 10000006 */ beq $zero, $zero, .L80B20754
/* 005CC 80B2073C 24045029 */ addiu $a0, $zero, 0x5029 ## $a0 = 00005029
.L80B20740:
/* 005D0 80B20740 10000004 */ beq $zero, $zero, .L80B20754
/* 005D4 80B20744 24045028 */ addiu $a0, $zero, 0x5028 ## $a0 = 00005028
.L80B20748:
/* 005D8 80B20748 51A00003 */ beql $t5, $zero, .L80B20758
/* 005DC 80B2074C 8FBF0014 */ lw $ra, 0x0014($sp)
/* 005E0 80B20750 2404506C */ addiu $a0, $zero, 0x506C ## $a0 = 0000506C
.L80B20754:
/* 005E4 80B20754 8FBF0014 */ lw $ra, 0x0014($sp)
.L80B20758:
/* 005E8 80B20758 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 005EC 80B2075C 00801025 */ or $v0, $a0, $zero ## $v0 = 0000506C
/* 005F0 80B20760 03E00008 */ jr $ra
/* 005F4 80B20764 00000000 */ nop

View File

@ -1,118 +0,0 @@
glabel func_80B20768
/* 005F8 80B20768 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
/* 005FC 80B2076C AFBF0024 */ sw $ra, 0x0024($sp)
/* 00600 80B20770 AFB10020 */ sw $s1, 0x0020($sp)
/* 00604 80B20774 AFB0001C */ sw $s0, 0x001C($sp)
/* 00608 80B20778 8CAE1C44 */ lw $t6, 0x1C44($a1) ## 00001C44
/* 0060C 80B2077C 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
/* 00610 80B20780 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00614 80B20784 AFAE0034 */ sw $t6, 0x0034($sp)
/* 00618 80B20788 8C8301E4 */ lw $v1, 0x01E4($a0) ## 000001E4
/* 0061C 80B2078C 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
/* 00620 80B20790 54610009 */ bnel $v1, $at, .L80B207B8
/* 00624 80B20794 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 00628 80B20798 0C00BC65 */ jal func_8002F194
/* 0062C 80B2079C 00000000 */ nop
/* 00630 80B207A0 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 00634 80B207A4 0C042DC8 */ jal func_8010B720
/* 00638 80B207A8 9605010E */ lhu $a1, 0x010E($s0) ## 0000010E
/* 0063C 80B207AC 24030001 */ addiu $v1, $zero, 0x0001 ## $v1 = 00000001
/* 00640 80B207B0 AE0301E4 */ sw $v1, 0x01E4($s0) ## 000001E4
/* 00644 80B207B4 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
.L80B207B8:
/* 00648 80B207B8 14610005 */ bne $v1, $at, .L80B207D0
/* 0064C 80B207BC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00650 80B207C0 0C2C80F6 */ jal func_80B203D8
/* 00654 80B207C4 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
/* 00658 80B207C8 AE0201E4 */ sw $v0, 0x01E4($s0) ## 000001E4
/* 0065C 80B207CC 00401825 */ or $v1, $v0, $zero ## $v1 = 00000000
.L80B207D0:
/* 00660 80B207D0 24010005 */ addiu $at, $zero, 0x0005 ## $at = 00000005
/* 00664 80B207D4 14610005 */ bne $v1, $at, .L80B207EC
/* 00668 80B207D8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0066C 80B207DC 0C2C8173 */ jal func_80B205CC
/* 00670 80B207E0 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
/* 00674 80B207E4 10000046 */ beq $zero, $zero, .L80B20900
/* 00678 80B207E8 AE0201E4 */ sw $v0, 0x01E4($s0) ## 000001E4
.L80B207EC:
/* 0067C 80B207EC 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
/* 00680 80B207F0 14610005 */ bne $v1, $at, .L80B20808
/* 00684 80B207F4 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 00688 80B207F8 0C042DC8 */ jal func_8010B720
/* 0068C 80B207FC 9605010E */ lhu $a1, 0x010E($s0) ## 0000010E
/* 00690 80B20800 24030001 */ addiu $v1, $zero, 0x0001 ## $v1 = 00000001
/* 00694 80B20804 AE0301E4 */ sw $v1, 0x01E4($s0) ## 000001E4
.L80B20808:
/* 00698 80B20808 24010004 */ addiu $at, $zero, 0x0004 ## $at = 00000004
/* 0069C 80B2080C 14610012 */ bne $v1, $at, .L80B20858
/* 006A0 80B20810 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 006A4 80B20814 0C00BD04 */ jal Actor_HasParent
/* 006A8 80B20818 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
/* 006AC 80B2081C 10400005 */ beq $v0, $zero, .L80B20834
/* 006B0 80B20820 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 006B4 80B20824 24190005 */ addiu $t9, $zero, 0x0005 ## $t9 = 00000005
/* 006B8 80B20828 AE000118 */ sw $zero, 0x0118($s0) ## 00000118
/* 006BC 80B2082C 10000034 */ beq $zero, $zero, .L80B20900
/* 006C0 80B20830 AE1901E4 */ sw $t9, 0x01E4($s0) ## 000001E4
.L80B20834:
/* 006C4 80B20834 3C014120 */ lui $at, 0x4120 ## $at = 41200000
/* 006C8 80B20838 44812000 */ mtc1 $at, $f4 ## $f4 = 10.00
/* 006CC 80B2083C 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
/* 006D0 80B20840 24060022 */ addiu $a2, $zero, 0x0022 ## $a2 = 00000022
/* 006D4 80B20844 3C0742C8 */ lui $a3, 0x42C8 ## $a3 = 42C80000
/* 006D8 80B20848 0C00BD0D */ jal func_8002F434
/* 006DC 80B2084C E7A40010 */ swc1 $f4, 0x0010($sp)
/* 006E0 80B20850 1000002C */ beq $zero, $zero, .L80B20904
/* 006E4 80B20854 8FBF0024 */ lw $ra, 0x0024($sp)
.L80B20858:
/* 006E8 80B20858 14600029 */ bne $v1, $zero, .L80B20900
/* 006EC 80B2085C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 006F0 80B20860 0C00BC65 */ jal func_8002F194
/* 006F4 80B20864 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
/* 006F8 80B20868 10400010 */ beq $v0, $zero, .L80B208AC
/* 006FC 80B2086C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 00700 80B20870 0C00BCDA */ jal func_8002F368
/* 00704 80B20874 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 00708 80B20878 10400009 */ beq $v0, $zero, .L80B208A0
/* 0070C 80B2087C AE0201E0 */ sw $v0, 0x01E0($s0) ## 000001E0
/* 00710 80B20880 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00714 80B20884 0C2C818D */ jal func_80B20634
/* 00718 80B20888 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
/* 0071C 80B2088C 8FA80034 */ lw $t0, 0x0034($sp)
/* 00720 80B20890 A502010E */ sh $v0, 0x010E($t0) ## 0000010E
/* 00724 80B20894 8FA90034 */ lw $t1, 0x0034($sp)
/* 00728 80B20898 952A010E */ lhu $t2, 0x010E($t1) ## 0000010E
/* 0072C 80B2089C A60A010E */ sh $t2, 0x010E($s0) ## 0000010E
.L80B208A0:
/* 00730 80B208A0 240B0001 */ addiu $t3, $zero, 0x0001 ## $t3 = 00000001
/* 00734 80B208A4 10000016 */ beq $zero, $zero, .L80B20900
/* 00738 80B208A8 AE0B01E4 */ sw $t3, 0x01E4($s0) ## 000001E4
.L80B208AC:
/* 0073C 80B208AC 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 00740 80B208B0 27A60032 */ addiu $a2, $sp, 0x0032 ## $a2 = FFFFFFFA
/* 00744 80B208B4 0C00BCDD */ jal func_8002F374
/* 00748 80B208B8 27A70030 */ addiu $a3, $sp, 0x0030 ## $a3 = FFFFFFF8
/* 0074C 80B208BC 87A20032 */ lh $v0, 0x0032($sp)
/* 00750 80B208C0 0440000F */ bltz $v0, .L80B20900
/* 00754 80B208C4 28410141 */ slti $at, $v0, 0x0141
/* 00758 80B208C8 1020000D */ beq $at, $zero, .L80B20900
/* 0075C 80B208CC 87A20030 */ lh $v0, 0x0030($sp)
/* 00760 80B208D0 0440000B */ bltz $v0, .L80B20900
/* 00764 80B208D4 284100F1 */ slti $at, $v0, 0x00F1
/* 00768 80B208D8 10200009 */ beq $at, $zero, .L80B20900
/* 0076C 80B208DC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00770 80B208E0 0C2C81A8 */ jal func_80B206A0
/* 00774 80B208E4 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
/* 00778 80B208E8 A602010E */ sh $v0, 0x010E($s0) ## 0000010E
/* 0077C 80B208EC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00780 80B208F0 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
/* 00784 80B208F4 3C0642C8 */ lui $a2, 0x42C8 ## $a2 = 42C80000
/* 00788 80B208F8 0C00BCA6 */ jal func_8002F298
/* 0078C 80B208FC 2407000A */ addiu $a3, $zero, 0x000A ## $a3 = 0000000A
.L80B20900:
/* 00790 80B20900 8FBF0024 */ lw $ra, 0x0024($sp)
.L80B20904:
/* 00794 80B20904 8FB0001C */ lw $s0, 0x001C($sp)
/* 00798 80B20908 8FB10020 */ lw $s1, 0x0020($sp)
/* 0079C 80B2090C 03E00008 */ jr $ra
/* 007A0 80B20910 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000

View File

@ -1,29 +0,0 @@
glabel func_80B20914
/* 007A4 80B20914 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 007A8 80B20918 AFBF0014 */ sw $ra, 0x0014($sp)
/* 007AC 80B2091C 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
/* 007B0 80B20920 AFA5001C */ sw $a1, 0x001C($sp)
/* 007B4 80B20924 AFA60018 */ sw $a2, 0x0018($sp)
/* 007B8 80B20928 0C02927F */ jal SkelAnime_Update
/* 007BC 80B2092C 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 007C0 80B20930 8FA40018 */ lw $a0, 0x0018($sp)
/* 007C4 80B20934 0C2C81DA */ jal func_80B20768
/* 007C8 80B20938 8FA5001C */ lw $a1, 0x001C($sp)
/* 007CC 80B2093C 8FA60018 */ lw $a2, 0x0018($sp)
/* 007D0 80B20940 8CCE01E4 */ lw $t6, 0x01E4($a2) ## 000001E4
/* 007D4 80B20944 51C00006 */ beql $t6, $zero, .L80B20960
/* 007D8 80B20948 94D901E8 */ lhu $t9, 0x01E8($a2) ## 000001E8
/* 007DC 80B2094C 94CF01E8 */ lhu $t7, 0x01E8($a2) ## 000001E8
/* 007E0 80B20950 35F80010 */ ori $t8, $t7, 0x0010 ## $t8 = 00000010
/* 007E4 80B20954 10000004 */ beq $zero, $zero, .L80B20968
/* 007E8 80B20958 A4D801E8 */ sh $t8, 0x01E8($a2) ## 000001E8
/* 007EC 80B2095C 94D901E8 */ lhu $t9, 0x01E8($a2) ## 000001E8
.L80B20960:
/* 007F0 80B20960 3328FFEF */ andi $t0, $t9, 0xFFEF ## $t0 = 00000000
/* 007F4 80B20964 A4C801E8 */ sh $t0, 0x01E8($a2) ## 000001E8
.L80B20968:
/* 007F8 80B20968 8FBF0014 */ lw $ra, 0x0014($sp)
/* 007FC 80B2096C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00800 80B20970 03E00008 */ jr $ra
/* 00804 80B20974 00000000 */ nop

View File

@ -1,40 +0,0 @@
glabel func_80B20B04
/* 00994 80B20B04 AFA40000 */ sw $a0, 0x0000($sp)
/* 00998 80B20B08 8FA40014 */ lw $a0, 0x0014($sp)
/* 0099C 80B20B0C AFA60008 */ sw $a2, 0x0008($sp)
/* 009A0 80B20B10 AFA7000C */ sw $a3, 0x000C($sp)
/* 009A4 80B20B14 948E01E8 */ lhu $t6, 0x01E8($a0) ## 000001E8
/* 009A8 80B20B18 24010008 */ addiu $at, $zero, 0x0008 ## $at = 00000008
/* 009AC 80B20B1C 31CF0008 */ andi $t7, $t6, 0x0008 ## $t7 = 00000000
/* 009B0 80B20B20 11E0001A */ beq $t7, $zero, .L80B20B8C
/* 009B4 80B20B24 00000000 */ nop
/* 009B8 80B20B28 10A10006 */ beq $a1, $at, .L80B20B44
/* 009BC 80B20B2C 8FA20010 */ lw $v0, 0x0010($sp)
/* 009C0 80B20B30 2401000F */ addiu $at, $zero, 0x000F ## $at = 0000000F
/* 009C4 80B20B34 10A1000D */ beq $a1, $at, .L80B20B6C
/* 009C8 80B20B38 8FA20010 */ lw $v0, 0x0010($sp)
/* 009CC 80B20B3C 03E00008 */ jr $ra
/* 009D0 80B20B40 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
.L80B20B44:
/* 009D4 80B20B44 84580000 */ lh $t8, 0x0000($v0) ## 00000000
/* 009D8 80B20B48 849901FC */ lh $t9, 0x01FC($a0) ## 000001FC
/* 009DC 80B20B4C 84490002 */ lh $t1, 0x0002($v0) ## 00000002
/* 009E0 80B20B50 03194021 */ addu $t0, $t8, $t9
/* 009E4 80B20B54 A4480000 */ sh $t0, 0x0000($v0) ## 00000000
/* 009E8 80B20B58 848A01FA */ lh $t2, 0x01FA($a0) ## 000001FA
/* 009EC 80B20B5C 012A5823 */ subu $t3, $t1, $t2
/* 009F0 80B20B60 A44B0002 */ sh $t3, 0x0002($v0) ## 00000002
/* 009F4 80B20B64 03E00008 */ jr $ra
/* 009F8 80B20B68 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
.L80B20B6C:
/* 009FC 80B20B6C 844C0000 */ lh $t4, 0x0000($v0) ## 00000000
/* 00A00 80B20B70 848D01F6 */ lh $t5, 0x01F6($a0) ## 000001F6
/* 00A04 80B20B74 844F0004 */ lh $t7, 0x0004($v0) ## 00000004
/* 00A08 80B20B78 018D7021 */ addu $t6, $t4, $t5
/* 00A0C 80B20B7C A44E0000 */ sh $t6, 0x0000($v0) ## 00000000
/* 00A10 80B20B80 849801F4 */ lh $t8, 0x01F4($a0) ## 000001F4
/* 00A14 80B20B84 01F8C821 */ addu $t9, $t7, $t8
/* 00A18 80B20B88 A4590004 */ sh $t9, 0x0004($v0) ## 00000004
.L80B20B8C:
/* 00A1C 80B20B8C 03E00008 */ jr $ra
/* 00A20 80B20B90 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000

View File

@ -1,21 +0,0 @@
glabel func_80B20B94
/* 00A24 80B20B94 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00A28 80B20B98 2401000F */ addiu $at, $zero, 0x000F ## $at = 0000000F
/* 00A2C 80B20B9C AFBF0014 */ sw $ra, 0x0014($sp)
/* 00A30 80B20BA0 AFA40018 */ sw $a0, 0x0018($sp)
/* 00A34 80B20BA4 AFA60020 */ sw $a2, 0x0020($sp)
/* 00A38 80B20BA8 14A10006 */ bne $a1, $at, .L80B20BC4
/* 00A3C 80B20BAC AFA70024 */ sw $a3, 0x0024($sp)
/* 00A40 80B20BB0 8FA50028 */ lw $a1, 0x0028($sp)
/* 00A44 80B20BB4 3C0480B2 */ lui $a0, %hi(D_80B20C68) ## $a0 = 80B20000
/* 00A48 80B20BB8 24840C68 */ addiu $a0, $a0, %lo(D_80B20C68) ## $a0 = 80B20C68
/* 00A4C 80B20BBC 0C0346BD */ jal Matrix_MultVec3f
/* 00A50 80B20BC0 24A50038 */ addiu $a1, $a1, 0x0038 ## $a1 = 00000038
.L80B20BC4:
/* 00A54 80B20BC4 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00A58 80B20BC8 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00A5C 80B20BCC 03E00008 */ jr $ra
/* 00A60 80B20BD0 00000000 */ nop
/* 00A64 80B20BD4 00000000 */ nop
/* 00A68 80B20BD8 00000000 */ nop
/* 00A6C 80B20BDC 00000000 */ nop

View File

@ -1,28 +0,0 @@
.include "macro.inc"
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64 # allow use of 64-bit general purpose registers
.section .data
.balign 16
glabel En_Toryo_InitVars
.word 0x01320400, 0x00000009, 0x01210000, 0x000002E0
.word EnToryo_Init
.word EnToryo_Destroy
.word EnToryo_Update
.word EnToryo_Draw
glabel D_80B20C00
.word 0x0A000039, 0x20010000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000100, 0x0012003F, 0x00000000, 0x00000000
glabel D_80B20C2C
.word 0x00000000, 0x00000000, 0xFF000000
glabel D_80B20C38
.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000
glabel D_80B20C58
.word 0x06000E50, 0x3F800000, 0x00000000, 0x00000000
glabel D_80B20C68
.word 0x44480000, 0x447A0000, 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_80B20CE0
.incbin "baserom/ovl_En_Toryo", 0xB70, 0x00000100

3
spec
View File

@ -3060,8 +3060,7 @@ endseg
beginseg
name "ovl_En_Toryo"
include "build/src/overlays/actors/ovl_En_Toryo/z_en_toryo.o"
include "build/data/overlays/actors/z_en_toryo.data.o"
include "build/data/overlays/actors/z_en_toryo.reloc.o"
include "build/src/overlays/actors/ovl_En_Toryo/ovl_En_Toryo_reloc.o"
endseg
beginseg

View File

@ -15,9 +15,10 @@ void EnToryo_Destroy(Actor* thisx, GlobalContext* globalCtx);
void EnToryo_Update(Actor* thisx, GlobalContext* globalCtx);
void EnToryo_Draw(Actor* thisx, GlobalContext* globalCtx);
extern UNK_TYPE D_06007150;
void func_80B20914(EnToryo* this, GlobalContext* globalCtx);
s32 EnToryo_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* thisx);
void EnToryo_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx);
/*
const ActorInit En_Toryo_InitVars = {
ACTOR_EN_TORYO,
ACTORTYPE_NPC,
@ -29,27 +30,349 @@ const ActorInit En_Toryo_InitVars = {
(ActorFunc)EnToryo_Update,
(ActorFunc)EnToryo_Draw,
};
*/
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Toryo/EnToryo_Init.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Toryo/EnToryo_Destroy.s")
static ColliderCylinderInit sColliderCylinderInit = {
{ COLTYPE_UNK10, 0x00, 0x00, 0x39, 0x20, COLSHAPE_CYLINDER },
{ 0x00, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, 0x00, 0x00, 0x01 },
{ 18, 63, 0, { 0, 0, 0 } },
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Toryo/func_80B203D8.s")
static CollisionCheckInfoInit2 sCollisionCheckInfoInit2 = { 0x00, 0x00, 0x00, 0x00, 0xFF };
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Toryo/func_80B205CC.s")
static DamageTable sDamageTable = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Toryo/func_80B20634.s")
typedef struct {
AnimationHeader* anim;
f32 unk_4;
u8 mode;
f32 transitionRate;
} EnToryoAnimation;
static EnToryoAnimation sEnToryoAnimation = { 0x06000E50, 1.0f, 0, 0 };
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Toryo/func_80B206A0.s")
static Vec3f sMultVec = { 800.0f, 1000.0f, 0.0f };
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Toryo/func_80B20768.s")
extern FlexSkeletonHeader D_06007150;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Toryo/func_80B20914.s")
void EnToryo_Init(Actor* thisx, GlobalContext* globalCtx) {
EnToryo* this = THIS;
s32 pad;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Toryo/EnToryo_Update.s")
switch (globalCtx->sceneNum) {
case SCENE_SPOT09:
if (LINK_AGE_IN_YEARS == YEARS_ADULT) {
this->stateFlags |= 1;
}
break;
case SCENE_SPOT01:
if ((LINK_AGE_IN_YEARS == YEARS_CHILD) && (gSaveContext.nightFlag == 0)) {
this->stateFlags |= 2;
}
break;
case SCENE_KAKARIKO:
if ((LINK_AGE_IN_YEARS == YEARS_CHILD) && (gSaveContext.nightFlag == 1)) {
this->stateFlags |= 4;
}
break;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Toryo/EnToryo_Draw.s")
if ((this->stateFlags & 7) == 0) {
Actor_Kill(&this->actor);
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Toryo/func_80B20B04.s")
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawFunc_Circle, 42.0f);
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06007150, NULL, this->jointTable, this->morphTable, 17);
Collider_InitCylinder(globalCtx, &this->collider);
Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sColliderCylinderInit);
func_80061EFC(&this->actor.colChkInfo, &sDamageTable, &sCollisionCheckInfoInit2);
func_8002E4B4(globalCtx, &this->actor, 0.0f, 0.0f, 0.0f, 4);
Animation_Change(&this->skelAnime, sEnToryoAnimation.anim, 1.0f, 0.0f,
Animation_GetLastFrame(sEnToryoAnimation.anim), sEnToryoAnimation.mode,
sEnToryoAnimation.transitionRate);
this->stateFlags |= 8;
this->actor.unk_1F = 6;
this->actionFunc = func_80B20914;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Toryo/func_80B20B94.s")
void EnToryo_Destroy(Actor* thisx, GlobalContext* globalCtx) {
EnToryo* this = THIS;
Collider_DestroyCylinder(globalCtx, &this->collider);
}
s32 func_80B203D8(EnToryo* this, GlobalContext* globalCtx) {
s32 pad;
Player* player = PLAYER;
s32 ret = 1;
switch (func_8010BDBC(&globalCtx->msgCtx)) {
case 0:
case 1:
case 2:
case 3:
case 5:
ret = 1;
break;
case 4:
if (func_80106BC8(globalCtx)) {
if (globalCtx->msgCtx.choiceIndex == 0) {
func_80106CCC(globalCtx);
this->actor.parent = NULL;
player->exchangeItemId = EXCH_ITEM_NONE;
globalCtx->msgCtx.msgMode = 0x37;
this->actor.textId = 0x601B;
ret = 3;
} else {
this->actor.textId = 0x606F;
ret = 2;
}
}
break;
case 6:
switch (this->actor.textId) {
case 0x5028:
ret = 1;
if (func_80106BC8(globalCtx) != 0) {
gSaveContext.infTable[23] |= 4;
ret = 0;
}
break;
case 0x601B:
ret = 1;
if (func_80106BC8(globalCtx) != 0) {
ret = 4;
}
break;
case 0x606F:
ret = 1;
if (func_80106BC8(globalCtx) != 0) {
gSaveContext.infTable[23] |= 2;
ret = 0;
}
break;
case 0x606A:
ret = 1;
if (func_80106BC8(globalCtx) != 0) {
gSaveContext.infTable[23] |= 1;
ret = 0;
}
break;
case 0x606B:
case 0x606C:
case 0x606D:
case 0x606E:
default:
ret = 1;
if (func_80106BC8(globalCtx) != 0) {
ret = 0;
}
break;
}
break;
}
return ret;
}
s32 func_80B205CC(EnToryo* this, GlobalContext* globalCtx) {
s32 pad;
Player* player = PLAYER;
s32 ret = 5;
switch (func_8010BDBC(&globalCtx->msgCtx)) {
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
ret = 5;
break;
case 6:
if (func_80106BC8(globalCtx) != 0) {
ret = 0;
}
break;
}
return ret;
}
u32 func_80B20634(EnToryo* this, GlobalContext* globalCtx) {
u32 ret;
if (this->unk_1E0 != 0) {
if (this->unk_1E0 == 10) {
func_80078884(NA_SE_SY_TRE_BOX_APPEAR);
if (gSaveContext.infTable[23] & 2) {
ret = 0x606E;
} else {
ret = 0x606D;
}
} else {
ret = 0x200F;
}
}
//! @bug return value may be unitialized
return ret;
}
s32 func_80B206A0(EnToryo* this, GlobalContext* globalCtx) {
s32 textId = Text_GetFaceReaction(globalCtx, 0);
s32 ret = textId;
if (textId == 0) {
if ((this->stateFlags & 1)) {
if ((gSaveContext.eventChkInf[9] & 0xF) == 0xF) {
ret = 0x606C;
} else if ((gSaveContext.infTable[23] & 1)) {
ret = 0x606B;
} else {
ret = 0x606A;
}
} else if ((this->stateFlags & 2)) {
if ((gSaveContext.infTable[23] & 4)) {
ret = 0x5029;
} else {
ret = 0x5028;
}
} else {
ret = textId;
if ((this->stateFlags & 4)) {
ret = 0x506C;
}
}
}
return ret;
}
void func_80B20768(EnToryo* this, GlobalContext* globalCtx) {
Player* player = PLAYER;
s16 sp32;
s16 sp30;
if (this->unk_1E4 == 3) {
func_8002F194(&this->actor, globalCtx);
func_8010B720(globalCtx, this->actor.textId);
this->unk_1E4 = 1;
}
if (this->unk_1E4 == 1) {
this->unk_1E4 = func_80B203D8(this, globalCtx);
}
if (this->unk_1E4 == 5) {
this->unk_1E4 = func_80B205CC(this, globalCtx);
return;
}
if (this->unk_1E4 == 2) {
func_8010B720(globalCtx, this->actor.textId);
this->unk_1E4 = 1;
}
if (this->unk_1E4 == 4) {
if (Actor_HasParent(&this->actor, globalCtx)) {
this->actor.parent = NULL;
this->unk_1E4 = 5;
} else {
func_8002F434(&this->actor, globalCtx, 0x22, 100.0f, 10.0f);
}
return;
}
if (this->unk_1E4 == 0) {
if (func_8002F194(&this->actor, globalCtx) != 0) {
this->unk_1E0 = func_8002F368(globalCtx);
if (this->unk_1E0 != 0) {
player->actor.textId = func_80B20634(this, globalCtx);
this->actor.textId = player->actor.textId;
}
this->unk_1E4 = 1;
return;
}
func_8002F374(globalCtx, &this->actor, &sp32, &sp30);
if ((sp32 >= 0) && (sp32 < 0x141) && (sp30 >= 0) && (sp30 < 0xF1)) {
this->actor.textId = func_80B206A0(this, globalCtx);
func_8002F298(&this->actor, globalCtx, 100.0f, 10);
}
}
}
void func_80B20914(EnToryo* this, GlobalContext* globalCtx) {
SkelAnime_Update(&this->skelAnime);
func_80B20768(this, globalCtx);
if (this->unk_1E4 != 0) {
this->stateFlags |= 0x10;
} else {
this->stateFlags &= ~0x10;
}
}
void EnToryo_Update(Actor* thisx, GlobalContext* globalCtx) {
EnToryo* this = THIS;
ColliderCylinder* collider = &this->collider;
Player* player = PLAYER;
f32 rot;
Collider_CylinderUpdate(thisx, collider);
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, (Collider*)collider);
this->actionFunc(this, globalCtx);
if ((this->stateFlags & 8)) {
this->unk_1EC.unk_18.x = player->actor.posRot2.pos.x;
this->unk_1EC.unk_18.y = player->actor.posRot2.pos.y;
this->unk_1EC.unk_18.z = player->actor.posRot2.pos.z;
if ((this->stateFlags & 0x10)) {
func_80034A14(thisx, &this->unk_1EC, 0, 4);
return;
}
rot = thisx->yawTowardsLink - thisx->shape.rot.y;
if ((rot < 14563.0f) && (rot > -14563.0f)) {
func_80034A14(thisx, &this->unk_1EC, 0, 2);
} else {
func_80034A14(thisx, &this->unk_1EC, 0, 1);
}
}
}
void EnToryo_Draw(Actor* thisx, GlobalContext* globalCtx) {
EnToryo* this = THIS;
func_80093D18(globalCtx->state.gfxCtx);
SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
EnToryo_OverrideLimbDraw, EnToryo_PostLimbDraw, this);
}
s32 EnToryo_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot,
void* thisx) {
EnToryo* this = THIS;
if ((this->stateFlags & 8)) {
switch (limbIndex) {
case 8:
rot->x += this->unk_1EC.unk_0E.y;
rot->y -= this->unk_1EC.unk_0E.x;
break;
case 15:
rot->x += this->unk_1EC.unk_08.y;
rot->z += this->unk_1EC.unk_08.x;
break;
}
}
return 0;
}
void EnToryo_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) {
EnToryo* this = THIS;
switch (limbIndex) {
case 15:
Matrix_MultVec3f(&sMultVec, &this->actor.posRot2.pos);
break;
}
}

View File

@ -6,9 +6,20 @@
struct EnToryo;
typedef void (*EnToryoActionFunc)(struct EnToryo* this, GlobalContext* globalCtx);
typedef struct EnToryo {
/* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x194];
/* 0x014C */ SkelAnime skelAnime;
/* 0x0190 */ EnToryoActionFunc actionFunc;
/* 0x0194 */ ColliderCylinder collider;
/* 0x01E0 */ s32 unk_1E0;
/* 0x01E4 */ s32 unk_1E4;
/* 0x01E8 */ u16 stateFlags;
/* 0x01EA */ s16 unk_1EA;
/* 0x01EC */ struct_80034A14_arg1 unk_1EC;
/* 0x0214 */ Vec3s jointTable[17];
/* 0x027A */ Vec3s morphTable[17];
} EnToryo; // size = 0x02E0
extern const ActorInit En_Toryo_InitVars;