dekunuts OK (#664)

* dekunuts OK

* named unk_19A

* improved the match, got rid of volatile

* one unaccounted blob

* finished object_dekunuts

* capitalization consistency

* suggested changes

* suggested changes again
This commit is contained in:
gamestabled 2021-02-12 17:22:48 -05:00 committed by GitHub
parent da55eaa2d8
commit ef272322eb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
35 changed files with 509 additions and 1685 deletions

View File

@ -1,16 +0,0 @@
glabel EnDekunuts_Destroy
/* 00168 809E96C8 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 0016C 809E96CC AFBF0014 */ sw $ra, 0x0014($sp)
/* 00170 809E96D0 848E001C */ lh $t6, 0x001C($a0) ## 0000001C
/* 00174 809E96D4 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
/* 00178 809E96D8 2401000A */ addiu $at, $zero, 0x000A ## $at = 0000000A
/* 0017C 809E96DC 11C10003 */ beq $t6, $at, .L809E96EC
/* 00180 809E96E0 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 00184 809E96E4 0C0170EB */ jal Collider_DestroyCylinder
/* 00188 809E96E8 24C502C8 */ addiu $a1, $a2, 0x02C8 ## $a1 = 000002C8
.L809E96EC:
/* 0018C 809E96EC 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00190 809E96F0 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00194 809E96F4 03E00008 */ jr $ra
/* 00198 809E96F8 00000000 */ nop

View File

@ -1,32 +0,0 @@
glabel EnDekunuts_Draw
/* 01564 809EAAC4 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 01568 809EAAC8 AFBF001C */ sw $ra, 0x001C($sp)
/* 0156C 809EAACC AFA40020 */ sw $a0, 0x0020($sp)
/* 01570 809EAAD0 AFA50024 */ sw $a1, 0x0024($sp)
/* 01574 809EAAD4 848F001C */ lh $t7, 0x001C($a0) ## 0000001C
/* 01578 809EAAD8 2401000A */ addiu $at, $zero, 0x000A ## $at = 0000000A
/* 0157C 809EAADC 8FA40024 */ lw $a0, 0x0024($sp)
/* 01580 809EAAE0 15E10007 */ bne $t7, $at, .L809EAB00
/* 01584 809EAAE4 8FB80020 */ lw $t8, 0x0020($sp)
/* 01588 809EAAE8 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 0158C 809EAAEC 3C050600 */ lui $a1, %hi(D_06002298) ## $a1 = 06000000
/* 01590 809EAAF0 0C00D498 */ jal Gfx_DrawDListOpa
/* 01594 809EAAF4 24A52298 */ addiu $a1, $a1, %lo(D_06002298) ## $a1 = 06002298
/* 01598 809EAAF8 10000009 */ beq $zero, $zero, .L809EAB20
/* 0159C 809EAAFC 8FBF001C */ lw $ra, 0x001C($sp)
.L809EAB00:
/* 015A0 809EAB00 8F050150 */ lw $a1, 0x0150($t8) ## 00000150
/* 015A4 809EAB04 8F06016C */ lw $a2, 0x016C($t8) ## 0000016C
/* 015A8 809EAB08 3C07809F */ lui $a3, %hi(func_809EA98C) ## $a3 = 809F0000
/* 015AC 809EAB0C 24E7A98C */ addiu $a3, $a3, %lo(func_809EA98C) ## $a3 = 809EA98C
/* 015B0 809EAB10 AFB80014 */ sw $t8, 0x0014($sp)
/* 015B4 809EAB14 0C028572 */ jal SkelAnime_DrawOpa
/* 015B8 809EAB18 AFA00010 */ sw $zero, 0x0010($sp)
/* 015BC 809EAB1C 8FBF001C */ lw $ra, 0x001C($sp)
.L809EAB20:
/* 015C0 809EAB20 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 015C4 809EAB24 03E00008 */ jr $ra
/* 015C8 809EAB28 00000000 */ nop
/* 015CC 809EAB2C 00000000 */ nop

View File

@ -1,101 +0,0 @@
glabel EnDekunuts_Init
/* 00000 809E9560 27BDFFB0 */ addiu $sp, $sp, 0xFFB0 ## $sp = FFFFFFB0
/* 00004 809E9564 AFB10038 */ sw $s1, 0x0038($sp)
/* 00008 809E9568 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
/* 0000C 809E956C AFBF003C */ sw $ra, 0x003C($sp)
/* 00010 809E9570 AFB00034 */ sw $s0, 0x0034($sp)
/* 00014 809E9574 3C05809F */ lui $a1, %hi(D_809EABA4) ## $a1 = 809F0000
/* 00018 809E9578 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 0001C 809E957C 0C01E037 */ jal Actor_ProcessInitChain
/* 00020 809E9580 24A5ABA4 */ addiu $a1, $a1, %lo(D_809EABA4) ## $a1 = 809EABA4
/* 00024 809E9584 860E001C */ lh $t6, 0x001C($s0) ## 0000001C
/* 00028 809E9588 2401000A */ addiu $at, $zero, 0x000A ## $at = 0000000A
/* 0002C 809E958C 260400B4 */ addiu $a0, $s0, 0x00B4 ## $a0 = 000000B4
/* 00030 809E9590 15C10006 */ bne $t6, $at, .L809E95AC
/* 00034 809E9594 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
/* 00038 809E9598 8E0F0004 */ lw $t7, 0x0004($s0) ## 00000004
/* 0003C 809E959C 2401FFFA */ addiu $at, $zero, 0xFFFA ## $at = FFFFFFFA
/* 00040 809E95A0 01E1C024 */ and $t8, $t7, $at
/* 00044 809E95A4 10000043 */ beq $zero, $zero, .L809E96B4
/* 00048 809E95A8 AE180004 */ sw $t8, 0x0004($s0) ## 00000004
.L809E95AC:
/* 0004C 809E95AC 3C068003 */ lui $a2, %hi(ActorShadow_DrawCircle)
/* 00050 809E95B0 24C6B5EC */ addiu $a2, %lo(ActorShadow_DrawCircle)
/* 00054 809E95B4 0C00AC78 */ jal ActorShape_Init
/* 00058 809E95B8 3C07420C */ lui $a3, 0x420C ## $a3 = 420C0000
/* 0005C 809E95BC 3C060600 */ lui $a2, %hi(D_06003268) ## $a2 = 06000000
/* 00060 809E95C0 3C070600 */ lui $a3, %hi(D_06000E6C) ## $a3 = 06000000
/* 00064 809E95C4 2619019C */ addiu $t9, $s0, 0x019C ## $t9 = 0000019C
/* 00068 809E95C8 26080232 */ addiu $t0, $s0, 0x0232 ## $t0 = 00000232
/* 0006C 809E95CC 24090019 */ addiu $t1, $zero, 0x0019 ## $t1 = 00000019
/* 00070 809E95D0 AFA90018 */ sw $t1, 0x0018($sp)
/* 00074 809E95D4 AFA80014 */ sw $t0, 0x0014($sp)
/* 00078 809E95D8 AFB90010 */ sw $t9, 0x0010($sp)
/* 0007C 809E95DC 24E70E6C */ addiu $a3, $a3, %lo(D_06000E6C) ## $a3 = 06000E6C
/* 00080 809E95E0 24C63268 */ addiu $a2, $a2, %lo(D_06003268) ## $a2 = 06003268
/* 00084 809E95E4 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 00088 809E95E8 0C02915F */ jal SkelAnime_Init
/* 0008C 809E95EC 2605014C */ addiu $a1, $s0, 0x014C ## $a1 = 0000014C
/* 00090 809E95F0 260502C8 */ addiu $a1, $s0, 0x02C8 ## $a1 = 000002C8
/* 00094 809E95F4 AFA50044 */ sw $a1, 0x0044($sp)
/* 00098 809E95F8 0C0170D9 */ jal Collider_InitCylinder
/* 0009C 809E95FC 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 000A0 809E9600 3C07809F */ lui $a3, %hi(D_809EAB50) ## $a3 = 809F0000
/* 000A4 809E9604 8FA50044 */ lw $a1, 0x0044($sp)
/* 000A8 809E9608 24E7AB50 */ addiu $a3, $a3, %lo(D_809EAB50) ## $a3 = 809EAB50
/* 000AC 809E960C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 000B0 809E9610 0C01712B */ jal Collider_SetCylinder
/* 000B4 809E9614 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
/* 000B8 809E9618 3C05809F */ lui $a1, %hi(D_809EAB84) ## $a1 = 809F0000
/* 000BC 809E961C 3C06809F */ lui $a2, %hi(D_809EAB7C) ## $a2 = 809F0000
/* 000C0 809E9620 24C6AB7C */ addiu $a2, $a2, %lo(D_809EAB7C) ## $a2 = 809EAB7C
/* 000C4 809E9624 24A5AB84 */ addiu $a1, $a1, %lo(D_809EAB84) ## $a1 = 809EAB84
/* 000C8 809E9628 0C0187B5 */ jal CollisionCheck_SetInfo
/* 000CC 809E962C 26040098 */ addiu $a0, $s0, 0x0098 ## $a0 = 00000098
/* 000D0 809E9630 860A001C */ lh $t2, 0x001C($s0) ## 0000001C
/* 000D4 809E9634 860D001C */ lh $t5, 0x001C($s0) ## 0000001C
/* 000D8 809E9638 240100FF */ addiu $at, $zero, 0x00FF ## $at = 000000FF
/* 000DC 809E963C 000A5A03 */ sra $t3, $t2, 8
/* 000E0 809E9640 316C00FF */ andi $t4, $t3, 0x00FF ## $t4 = 00000000
/* 000E4 809E9644 A60C019A */ sh $t4, 0x019A($s0) ## 0000019A
/* 000E8 809E9648 8602019A */ lh $v0, 0x019A($s0) ## 0000019A
/* 000EC 809E964C 31AE00FF */ andi $t6, $t5, 0x00FF ## $t6 = 00000000
/* 000F0 809E9650 A60E001C */ sh $t6, 0x001C($s0) ## 0000001C
/* 000F4 809E9654 10410003 */ beq $v0, $at, .L809E9664
/* 000F8 809E9658 240F0001 */ addiu $t7, $zero, 0x0001 ## $t7 = 00000001
/* 000FC 809E965C 14400002 */ bne $v0, $zero, .L809E9668
/* 00100 809E9660 00000000 */ nop
.L809E9664:
/* 00104 809E9664 A60F019A */ sh $t7, 0x019A($s0) ## 0000019A
.L809E9668:
/* 00108 809E9668 0C27A5BF */ jal func_809E96FC
/* 0010C 809E966C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00110 809E9670 C6040024 */ lwc1 $f4, 0x0024($s0) ## 00000024
/* 00114 809E9674 2419000A */ addiu $t9, $zero, 0x000A ## $t9 = 0000000A
/* 00118 809E9678 26241C24 */ addiu $a0, $s1, 0x1C24 ## $a0 = 00001C24
/* 0011C 809E967C E7A40010 */ swc1 $f4, 0x0010($sp)
/* 00120 809E9680 C6060028 */ lwc1 $f6, 0x0028($s0) ## 00000028
/* 00124 809E9684 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 00128 809E9688 02203025 */ or $a2, $s1, $zero ## $a2 = 00000000
/* 0012C 809E968C E7A60014 */ swc1 $f6, 0x0014($sp)
/* 00130 809E9690 C608002C */ lwc1 $f8, 0x002C($s0) ## 0000002C
/* 00134 809E9694 AFA0001C */ sw $zero, 0x001C($sp)
/* 00138 809E9698 24070060 */ addiu $a3, $zero, 0x0060 ## $a3 = 00000060
/* 0013C 809E969C E7A80018 */ swc1 $f8, 0x0018($sp)
/* 00140 809E96A0 86180032 */ lh $t8, 0x0032($s0) ## 00000032
/* 00144 809E96A4 AFB90028 */ sw $t9, 0x0028($sp)
/* 00148 809E96A8 AFA00024 */ sw $zero, 0x0024($sp)
/* 0014C 809E96AC 0C00C916 */ jal Actor_SpawnAsChild
/* 00150 809E96B0 AFB80020 */ sw $t8, 0x0020($sp)
.L809E96B4:
/* 00154 809E96B4 8FBF003C */ lw $ra, 0x003C($sp)
/* 00158 809E96B8 8FB00034 */ lw $s0, 0x0034($sp)
/* 0015C 809E96BC 8FB10038 */ lw $s1, 0x0038($sp)
/* 00160 809E96C0 03E00008 */ jr $ra
/* 00164 809E96C4 27BD0050 */ addiu $sp, $sp, 0x0050 ## $sp = 00000000

View File

@ -1,102 +0,0 @@
glabel EnDekunuts_Update
/* 012CC 809EA82C 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
/* 012D0 809EA830 AFBF0024 */ sw $ra, 0x0024($sp)
/* 012D4 809EA834 AFB10020 */ sw $s1, 0x0020($sp)
/* 012D8 809EA838 AFB0001C */ sw $s0, 0x001C($sp)
/* 012DC 809EA83C 848E001C */ lh $t6, 0x001C($a0) ## 0000001C
/* 012E0 809EA840 2401000A */ addiu $at, $zero, 0x000A ## $at = 0000000A
/* 012E4 809EA844 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 012E8 809EA848 11C1004B */ beq $t6, $at, .L809EA978
/* 012EC 809EA84C 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
/* 012F0 809EA850 0C27A9C3 */ jal func_809EA70C
/* 012F4 809EA854 00000000 */ nop
/* 012F8 809EA858 8E190190 */ lw $t9, 0x0190($s0) ## 00000190
/* 012FC 809EA85C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01300 809EA860 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
/* 01304 809EA864 0320F809 */ jalr $ra, $t9
/* 01308 809EA868 00000000 */ nop
/* 0130C 809EA86C 0C00B638 */ jal Actor_MoveForward
/* 01310 809EA870 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01314 809EA874 860F0308 */ lh $t7, 0x0308($s0) ## 00000308
/* 01318 809EA878 8618030A */ lh $t8, 0x030A($s0) ## 0000030A
/* 0131C 809EA87C 2408001D */ addiu $t0, $zero, 0x001D ## $t0 = 0000001D
/* 01320 809EA880 448F2000 */ mtc1 $t7, $f4 ## $f4 = 0.00
/* 01324 809EA884 44983000 */ mtc1 $t8, $f6 ## $f6 = 0.00
/* 01328 809EA888 AFA80014 */ sw $t0, 0x0014($sp)
/* 0132C 809EA88C 46802120 */ cvt.s.w $f4, $f4
/* 01330 809EA890 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 01334 809EA894 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 01338 809EA898 3C0641A0 */ lui $a2, 0x41A0 ## $a2 = 41A00000
/* 0133C 809EA89C 46803220 */ cvt.s.w $f8, $f6
/* 01340 809EA8A0 44072000 */ mfc1 $a3, $f4
/* 01344 809EA8A4 0C00B92D */ jal Actor_UpdateBgCheckInfo
/* 01348 809EA8A8 E7A80010 */ swc1 $f8, 0x0010($sp)
/* 0134C 809EA8AC 260502C8 */ addiu $a1, $s0, 0x02C8 ## $a1 = 000002C8
/* 01350 809EA8B0 AFA50028 */ sw $a1, 0x0028($sp)
/* 01354 809EA8B4 0C0189B7 */ jal Collider_UpdateCylinder
/* 01358 809EA8B8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0135C 809EA8BC 920902D9 */ lbu $t1, 0x02D9($s0) ## 000002D9
/* 01360 809EA8C0 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 01364 809EA8C4 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
/* 01368 809EA8C8 312A0001 */ andi $t2, $t1, 0x0001 ## $t2 = 00000000
/* 0136C 809EA8CC 11400004 */ beq $t2, $zero, .L809EA8E0
/* 01370 809EA8D0 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 01374 809EA8D4 02212821 */ addu $a1, $s1, $at
/* 01378 809EA8D8 0C01767D */ jal CollisionCheck_SetAC
## CollisionCheck_setAC
/* 0137C 809EA8DC 8FA60028 */ lw $a2, 0x0028($sp)
.L809EA8E0:
/* 01380 809EA8E0 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 01384 809EA8E4 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
/* 01388 809EA8E8 02212821 */ addu $a1, $s1, $at
/* 0138C 809EA8EC 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 01390 809EA8F0 0C017713 */ jal CollisionCheck_SetOC
## CollisionCheck_setOC
/* 01394 809EA8F4 8FA60028 */ lw $a2, 0x0028($sp)
/* 01398 809EA8F8 8E030190 */ lw $v1, 0x0190($s0) ## 00000190
/* 0139C 809EA8FC 3C0B809F */ lui $t3, %hi(func_809E9B98) ## $t3 = 809F0000
/* 013A0 809EA900 256B9B98 */ addiu $t3, $t3, %lo(func_809E9B98) ## $t3 = 809E9B98
/* 013A4 809EA904 15630006 */ bne $t3, $v1, .L809EA920
/* 013A8 809EA908 3C0C809F */ lui $t4, %hi(func_809EA0C4) ## $t4 = 809F0000
/* 013AC 809EA90C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 013B0 809EA910 0C00B56E */ jal Actor_SetFocus
/* 013B4 809EA914 8E050164 */ lw $a1, 0x0164($s0) ## 00000164
/* 013B8 809EA918 10000018 */ beq $zero, $zero, .L809EA97C
/* 013BC 809EA91C 8FBF0024 */ lw $ra, 0x0024($sp)
.L809EA920:
/* 013C0 809EA920 258CA0C4 */ addiu $t4, $t4, %lo(func_809EA0C4) ## $t4 = FFFFA0C4
/* 013C4 809EA924 15830012 */ bne $t4, $v1, .L809EA970
/* 013C8 809EA928 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 013CC 809EA92C 3C040600 */ lui $a0, %hi(D_060004D8) ## $a0 = 06000000
/* 013D0 809EA930 0C028800 */ jal Animation_GetLastFrame
/* 013D4 809EA934 248404D8 */ addiu $a0, $a0, %lo(D_060004D8) ## $a0 = 060004D8
/* 013D8 809EA938 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
/* 013DC 809EA93C 44810000 */ mtc1 $at, $f0 ## $f0 = 20.00
/* 013E0 809EA940 C60A0164 */ lwc1 $f10, 0x0164($s0) ## 00000164
/* 013E4 809EA944 44829000 */ mtc1 $v0, $f18 ## $f18 = 0.00
/* 013E8 809EA948 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 013EC 809EA94C 46005402 */ mul.s $f16, $f10, $f0
/* 013F0 809EA950 46809120 */ cvt.s.w $f4, $f18
/* 013F4 809EA954 46048183 */ div.s $f6, $f16, $f4
/* 013F8 809EA958 46060201 */ sub.s $f8, $f0, $f6
/* 013FC 809EA95C 44054000 */ mfc1 $a1, $f8
/* 01400 809EA960 0C00B56E */ jal Actor_SetFocus
/* 01404 809EA964 00000000 */ nop
/* 01408 809EA968 10000004 */ beq $zero, $zero, .L809EA97C
/* 0140C 809EA96C 8FBF0024 */ lw $ra, 0x0024($sp)
.L809EA970:
/* 01410 809EA970 0C00B56E */ jal Actor_SetFocus
/* 01414 809EA974 3C0541A0 */ lui $a1, 0x41A0 ## $a1 = 41A00000
.L809EA978:
/* 01418 809EA978 8FBF0024 */ lw $ra, 0x0024($sp)
.L809EA97C:
/* 0141C 809EA97C 8FB0001C */ lw $s0, 0x001C($sp)
/* 01420 809EA980 8FB10020 */ lw $s1, 0x0020($sp)
/* 01424 809EA984 03E00008 */ jr $ra
/* 01428 809EA988 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000

View File

@ -1,32 +0,0 @@
glabel func_809E96FC
/* 0019C 809E96FC 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 001A0 809E9700 AFB00018 */ sw $s0, 0x0018($sp)
/* 001A4 809E9704 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 001A8 809E9708 AFBF001C */ sw $ra, 0x001C($sp)
/* 001AC 809E970C 3C050600 */ lui $a1, %hi(D_06000D1C) ## $a1 = 06000000
/* 001B0 809E9710 24A50D1C */ addiu $a1, $a1, %lo(D_06000D1C) ## $a1 = 06000D1C
/* 001B4 809E9714 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 001B8 809E9718 0C0294A7 */ jal Animation_PlayOnceSetSpeed
/* 001BC 809E971C 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
/* 001C0 809E9720 24040064 */ addiu $a0, $zero, 0x0064 ## $a0 = 00000064
/* 001C4 809E9724 0C01DF64 */ jal Rand_S16Offset
/* 001C8 809E9728 24050032 */ addiu $a1, $zero, 0x0032 ## $a1 = 00000032
/* 001CC 809E972C 240E0005 */ addiu $t6, $zero, 0x0005 ## $t6 = 00000005
/* 001D0 809E9730 A6020196 */ sh $v0, 0x0196($s0) ## 00000196
/* 001D4 809E9734 A60E030A */ sh $t6, 0x030A($s0) ## 0000030A
/* 001D8 809E9738 26040024 */ addiu $a0, $s0, 0x0024 ## $a0 = 00000024
/* 001DC 809E973C 0C01DF90 */ jal Math_Vec3f_Copy
## Vec3f_Copy
/* 001E0 809E9740 26050008 */ addiu $a1, $s0, 0x0008 ## $a1 = 00000008
/* 001E4 809E9744 920F02D9 */ lbu $t7, 0x02D9($s0) ## 000002D9
/* 001E8 809E9748 3C19809F */ lui $t9, %hi(func_809E9B98) ## $t9 = 809F0000
/* 001EC 809E974C 27399B98 */ addiu $t9, $t9, %lo(func_809E9B98) ## $t9 = 809E9B98
/* 001F0 809E9750 31F8FFFE */ andi $t8, $t7, 0xFFFE ## $t8 = 00000000
/* 001F4 809E9754 A21802D9 */ sb $t8, 0x02D9($s0) ## 000002D9
/* 001F8 809E9758 AE190190 */ sw $t9, 0x0190($s0) ## 00000190
/* 001FC 809E975C 8FBF001C */ lw $ra, 0x001C($sp)
/* 00200 809E9760 8FB00018 */ lw $s0, 0x0018($sp)
/* 00204 809E9764 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 00208 809E9768 03E00008 */ jr $ra
/* 0020C 809E976C 00000000 */ nop

View File

@ -1,19 +0,0 @@
glabel func_809E9770
/* 00210 809E9770 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00214 809E9774 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00218 809E9778 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
/* 0021C 809E977C 3C050600 */ lui $a1, %hi(D_06000AF0) ## $a1 = 06000000
/* 00220 809E9780 24A50AF0 */ addiu $a1, $a1, %lo(D_06000AF0) ## $a1 = 06000AF0
/* 00224 809E9784 AFA60018 */ sw $a2, 0x0018($sp)
/* 00228 809E9788 0C0294BE */ jal Animation_PlayLoop
/* 0022C 809E978C 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00230 809E9790 8FA60018 */ lw $a2, 0x0018($sp)
/* 00234 809E9794 3C0F809F */ lui $t7, %hi(func_809E9DFC) ## $t7 = 809F0000
/* 00238 809E9798 240E0002 */ addiu $t6, $zero, 0x0002 ## $t6 = 00000002
/* 0023C 809E979C 25EF9DFC */ addiu $t7, $t7, %lo(func_809E9DFC) ## $t7 = 809E9DFC
/* 00240 809E97A0 A4CE0196 */ sh $t6, 0x0196($a2) ## 00000196
/* 00244 809E97A4 ACCF0190 */ sw $t7, 0x0190($a2) ## 00000190
/* 00248 809E97A8 8FBF0014 */ lw $ra, 0x0014($sp)
/* 0024C 809E97AC 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00250 809E97B0 03E00008 */ jr $ra
/* 00254 809E97B4 00000000 */ nop

View File

@ -1,19 +0,0 @@
glabel func_809E97B8
/* 00258 809E97B8 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 0025C 809E97BC AFBF0014 */ sw $ra, 0x0014($sp)
/* 00260 809E97C0 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
/* 00264 809E97C4 3C050600 */ lui $a1, %hi(D_060001C4) ## $a1 = 06000000
/* 00268 809E97C8 24A501C4 */ addiu $a1, $a1, %lo(D_060001C4) ## $a1 = 060001C4
/* 0026C 809E97CC AFA60018 */ sw $a2, 0x0018($sp)
/* 00270 809E97D0 0C02947A */ jal Animation_PlayOnce
/* 00274 809E97D4 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00278 809E97D8 8FA60018 */ lw $a2, 0x0018($sp)
/* 0027C 809E97DC 3C0F809F */ lui $t7, %hi(func_809E9F6C) ## $t7 = 809F0000
/* 00280 809E97E0 25EF9F6C */ addiu $t7, $t7, %lo(func_809E9F6C) ## $t7 = 809E9F6C
/* 00284 809E97E4 84CE019A */ lh $t6, 0x019A($a2) ## 0000019A
/* 00288 809E97E8 ACCF0190 */ sw $t7, 0x0190($a2) ## 00000190
/* 0028C 809E97EC A4CE0196 */ sh $t6, 0x0196($a2) ## 00000196
/* 00290 809E97F0 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00294 809E97F4 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00298 809E97F8 03E00008 */ jr $ra
/* 0029C 809E97FC 00000000 */ nop

View File

@ -1,29 +0,0 @@
glabel func_809E9800
/* 002A0 809E9800 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 002A4 809E9804 AFBF0014 */ sw $ra, 0x0014($sp)
/* 002A8 809E9808 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000
/* 002AC 809E980C 3C050600 */ lui $a1, %hi(D_06000E6C) ## $a1 = 06000000
/* 002B0 809E9810 24A50E6C */ addiu $a1, $a1, %lo(D_06000E6C) ## $a1 = 06000E6C
/* 002B4 809E9814 AFA70018 */ sw $a3, 0x0018($sp)
/* 002B8 809E9818 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 002BC 809E981C 0C0294D3 */ jal Animation_MorphToLoop
/* 002C0 809E9820 3C06C040 */ lui $a2, 0xC040 ## $a2 = C0400000
/* 002C4 809E9824 8FA70018 */ lw $a3, 0x0018($sp)
/* 002C8 809E9828 3C0E809F */ lui $t6, %hi(func_809E9F6C) ## $t6 = 809F0000
/* 002CC 809E982C 25CE9F6C */ addiu $t6, $t6, %lo(func_809E9F6C) ## $t6 = 809E9F6C
/* 002D0 809E9830 8CEF0190 */ lw $t7, 0x0190($a3) ## 00000190
/* 002D4 809E9834 3C08809F */ lui $t0, %hi(func_809E9E80) ## $t0 = 809F0000
/* 002D8 809E9838 24190001 */ addiu $t9, $zero, 0x0001 ## $t9 = 00000001
/* 002DC 809E983C 15CF0004 */ bne $t6, $t7, .L809E9850
/* 002E0 809E9840 25089E80 */ addiu $t0, $t0, %lo(func_809E9E80) ## $t0 = 809E9E80
/* 002E4 809E9844 24181002 */ addiu $t8, $zero, 0x1002 ## $t8 = 00001002
/* 002E8 809E9848 10000002 */ beq $zero, $zero, .L809E9854
/* 002EC 809E984C A4F80196 */ sh $t8, 0x0196($a3) ## 00000196
.L809E9850:
/* 002F0 809E9850 A4F90196 */ sh $t9, 0x0196($a3) ## 00000196
.L809E9854:
/* 002F4 809E9854 ACE80190 */ sw $t0, 0x0190($a3) ## 00000190
/* 002F8 809E9858 8FBF0014 */ lw $ra, 0x0014($sp)
/* 002FC 809E985C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00300 809E9860 03E00008 */ jr $ra
/* 00304 809E9864 00000000 */ nop

View File

@ -1,21 +0,0 @@
glabel func_809E9868
/* 00308 809E9868 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 0030C 809E986C AFBF0014 */ sw $ra, 0x0014($sp)
/* 00310 809E9870 AFA40018 */ sw $a0, 0x0018($sp)
/* 00314 809E9874 3C050600 */ lui $a1, %hi(D_060004D8) ## $a1 = 06000000
/* 00318 809E9878 24A504D8 */ addiu $a1, $a1, %lo(D_060004D8) ## $a1 = 060004D8
/* 0031C 809E987C 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00320 809E9880 0C029490 */ jal Animation_MorphToPlayOnce
/* 00324 809E9884 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000
/* 00328 809E9888 8FA40018 */ lw $a0, 0x0018($sp)
/* 0032C 809E988C 0C00BE0A */ jal Audio_PlayActorSound2
/* 00330 809E9890 2405387D */ addiu $a1, $zero, 0x387D ## $a1 = 0000387D
/* 00334 809E9894 8FAF0018 */ lw $t7, 0x0018($sp)
/* 00338 809E9898 3C0E809F */ lui $t6, %hi(func_809EA0C4) ## $t6 = 809F0000
/* 0033C 809E989C 25CEA0C4 */ addiu $t6, $t6, %lo(func_809EA0C4) ## $t6 = 809EA0C4
/* 00340 809E98A0 ADEE0190 */ sw $t6, 0x0190($t7) ## 00000190
/* 00344 809E98A4 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00348 809E98A8 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 0034C 809E98AC 03E00008 */ jr $ra
/* 00350 809E98B0 00000000 */ nop

View File

@ -1,29 +0,0 @@
glabel func_809E98B4
/* 00354 809E98B4 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00358 809E98B8 AFBF0014 */ sw $ra, 0x0014($sp)
/* 0035C 809E98BC 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000
/* 00360 809E98C0 3C050600 */ lui $a1, %hi(D_060008C4) ## $a1 = 06000000
/* 00364 809E98C4 24A508C4 */ addiu $a1, $a1, %lo(D_060008C4) ## $a1 = 060008C4
/* 00368 809E98C8 AFA70018 */ sw $a3, 0x0018($sp)
/* 0036C 809E98CC 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00370 809E98D0 0C029490 */ jal Animation_MorphToPlayOnce
/* 00374 809E98D4 3C06C040 */ lui $a2, 0xC040 ## $a2 = C0400000
/* 00378 809E98D8 8FA40018 */ lw $a0, 0x0018($sp)
/* 0037C 809E98DC 240E0025 */ addiu $t6, $zero, 0x0025 ## $t6 = 00000025
/* 00380 809E98E0 240F0032 */ addiu $t7, $zero, 0x0032 ## $t7 = 00000032
/* 00384 809E98E4 24053880 */ addiu $a1, $zero, 0x3880 ## $a1 = 00003880
/* 00388 809E98E8 A48E030A */ sh $t6, 0x030A($a0) ## 0000030A
/* 0038C 809E98EC 0C00BE0A */ jal Audio_PlayActorSound2
/* 00390 809E98F0 A08F00AE */ sb $t7, 0x00AE($a0) ## 000000AE
/* 00394 809E98F4 8FA70018 */ lw $a3, 0x0018($sp)
/* 00398 809E98F8 3C08809F */ lui $t0, %hi(func_809EA1D8) ## $t0 = 809F0000
/* 0039C 809E98FC 2508A1D8 */ addiu $t0, $t0, %lo(func_809EA1D8) ## $t0 = 809EA1D8
/* 003A0 809E9900 90F802D9 */ lbu $t8, 0x02D9($a3) ## 000002D9
/* 003A4 809E9904 ACE80190 */ sw $t0, 0x0190($a3) ## 00000190
/* 003A8 809E9908 3319FFFE */ andi $t9, $t8, 0xFFFE ## $t9 = 00000000
/* 003AC 809E990C A0F902D9 */ sb $t9, 0x02D9($a3) ## 000002D9
/* 003B0 809E9910 8FBF0014 */ lw $ra, 0x0014($sp)
/* 003B4 809E9914 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 003B8 809E9918 03E00008 */ jr $ra
/* 003BC 809E991C 00000000 */ nop

View File

@ -1,23 +0,0 @@
glabel func_809E9920
/* 003C0 809E9920 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 003C4 809E9924 AFBF0014 */ sw $ra, 0x0014($sp)
/* 003C8 809E9928 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
/* 003CC 809E992C 3C050600 */ lui $a1, %hi(D_06003650) ## $a1 = 06000000
/* 003D0 809E9930 24A53650 */ addiu $a1, $a1, %lo(D_06003650) ## $a1 = 06003650
/* 003D4 809E9934 AFA60018 */ sw $a2, 0x0018($sp)
/* 003D8 809E9938 0C0294BE */ jal Animation_PlayLoop
/* 003DC 809E993C 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 003E0 809E9940 8FA60018 */ lw $a2, 0x0018($sp)
/* 003E4 809E9944 3C19809F */ lui $t9, %hi(func_809EA240) ## $t9 = 809F0000
/* 003E8 809E9948 240E0002 */ addiu $t6, $zero, 0x0002 ## $t6 = 00000002
/* 003EC 809E994C 90CF02D9 */ lbu $t7, 0x02D9($a2) ## 000002D9
/* 003F0 809E9950 2739A240 */ addiu $t9, $t9, %lo(func_809EA240) ## $t9 = 809EA240
/* 003F4 809E9954 A4CE0196 */ sh $t6, 0x0196($a2) ## 00000196
/* 003F8 809E9958 35F80001 */ ori $t8, $t7, 0x0001 ## $t8 = 00000001
/* 003FC 809E995C A0C00194 */ sb $zero, 0x0194($a2) ## 00000194
/* 00400 809E9960 A0D802D9 */ sb $t8, 0x02D9($a2) ## 000002D9
/* 00404 809E9964 ACD90190 */ sw $t9, 0x0190($a2) ## 00000190
/* 00408 809E9968 8FBF0014 */ lw $ra, 0x0014($sp)
/* 0040C 809E996C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00410 809E9970 03E00008 */ jr $ra
/* 00414 809E9974 00000000 */ nop

View File

@ -1,26 +0,0 @@
glabel func_809E9978
/* 00418 809E9978 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 0041C 809E997C AFBF0014 */ sw $ra, 0x0014($sp)
/* 00420 809E9980 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
/* 00424 809E9984 3C050600 */ lui $a1, %hi(D_06001024) ## $a1 = 06000000
/* 00428 809E9988 24A51024 */ addiu $a1, $a1, %lo(D_06001024) ## $a1 = 06001024
/* 0042C 809E998C AFA60018 */ sw $a2, 0x0018($sp)
/* 00430 809E9990 0C0294BE */ jal Animation_PlayLoop
/* 00434 809E9994 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00438 809E9998 8FA60018 */ lw $a2, 0x0018($sp)
/* 0043C 809E999C 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
/* 00440 809E99A0 240E0003 */ addiu $t6, $zero, 0x0003 ## $t6 = 00000003
/* 00444 809E99A4 90C20195 */ lbu $v0, 0x0195($a2) ## 00000195
/* 00448 809E99A8 3C18809F */ lui $t8, %hi(func_809EA480) ## $t8 = 809F0000
/* 0044C 809E99AC A4CE0196 */ sh $t6, 0x0196($a2) ## 00000196
/* 00450 809E99B0 10400003 */ beq $v0, $zero, .L809E99C0
/* 00454 809E99B4 E4C40068 */ swc1 $f4, 0x0068($a2) ## 00000068
/* 00458 809E99B8 244FFFFF */ addiu $t7, $v0, 0xFFFF ## $t7 = FFFFFFFF
/* 0045C 809E99BC A0CF0195 */ sb $t7, 0x0195($a2) ## 00000195
.L809E99C0:
/* 00460 809E99C0 2718A480 */ addiu $t8, $t8, %lo(func_809EA480) ## $t8 = 809EA480
/* 00464 809E99C4 ACD80190 */ sw $t8, 0x0190($a2) ## 00000190
/* 00468 809E99C8 8FBF0014 */ lw $ra, 0x0014($sp)
/* 0046C 809E99CC 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00470 809E99D0 03E00008 */ jr $ra
/* 00474 809E99D4 00000000 */ nop

View File

@ -1,61 +0,0 @@
glabel func_809E99D8
/* 00478 809E99D8 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 0047C 809E99DC AFB00020 */ sw $s0, 0x0020($sp)
/* 00480 809E99E0 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00484 809E99E4 AFBF0024 */ sw $ra, 0x0024($sp)
/* 00488 809E99E8 3C050600 */ lui $a1, %hi(D_06000368) ## $a1 = 06000000
/* 0048C 809E99EC 24A50368 */ addiu $a1, $a1, %lo(D_06000368) ## $a1 = 06000368
/* 00490 809E99F0 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00494 809E99F4 0C029490 */ jal Animation_MorphToPlayOnce
/* 00498 809E99F8 3C06C040 */ lui $a2, 0xC040 ## $a2 = C0400000
/* 0049C 809E99FC 8E0E0304 */ lw $t6, 0x0304($s0) ## 00000304
/* 004A0 809E9A00 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 004A4 809E9A04 3421F824 */ ori $at, $at, 0xF824 ## $at = 0001F824
/* 004A8 809E9A08 8DCF0000 */ lw $t7, 0x0000($t6) ## 00000000
/* 004AC 809E9A0C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 004B0 809E9A10 01E1C024 */ and $t8, $t7, $at
/* 004B4 809E9A14 13000005 */ beq $t8, $zero, .L809E9A2C
/* 004B8 809E9A18 00000000 */ nop
/* 004BC 809E9A1C 8E1902D0 */ lw $t9, 0x02D0($s0) ## 000002D0
/* 004C0 809E9A20 87280032 */ lh $t0, 0x0032($t9) ## 00000032
/* 004C4 809E9A24 10000006 */ beq $zero, $zero, .L809E9A40
/* 004C8 809E9A28 A6080032 */ sh $t0, 0x0032($s0) ## 00000032
.L809E9A2C:
/* 004CC 809E9A2C 0C00B69E */ jal Actor_WorldYawTowardActor
/* 004D0 809E9A30 8E0502D0 */ lw $a1, 0x02D0($s0) ## 000002D0
/* 004D4 809E9A34 34018000 */ ori $at, $zero, 0x8000 ## $at = 00008000
/* 004D8 809E9A38 00414821 */ addu $t1, $v0, $at
/* 004DC 809E9A3C A6090032 */ sh $t1, 0x0032($s0) ## 00000032
.L809E9A40:
/* 004E0 809E9A40 920A02D9 */ lbu $t2, 0x02D9($s0) ## 000002D9
/* 004E4 809E9A44 3C014120 */ lui $at, 0x4120 ## $at = 41200000
/* 004E8 809E9A48 44812000 */ mtc1 $at, $f4 ## $f4 = 10.00
/* 004EC 809E9A4C 3C0C809F */ lui $t4, %hi(func_809EA4E8) ## $t4 = 809F0000
/* 004F0 809E9A50 258CA4E8 */ addiu $t4, $t4, %lo(func_809EA4E8) ## $t4 = 809EA4E8
/* 004F4 809E9A54 314BFFFE */ andi $t3, $t2, 0xFFFE ## $t3 = 00000000
/* 004F8 809E9A58 A20B02D9 */ sb $t3, 0x02D9($s0) ## 000002D9
/* 004FC 809E9A5C AE0C0190 */ sw $t4, 0x0190($s0) ## 00000190
/* 00500 809E9A60 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00504 809E9A64 24053880 */ addiu $a1, $zero, 0x3880 ## $a1 = 00003880
/* 00508 809E9A68 0C00BE0A */ jal Audio_PlayActorSound2
/* 0050C 809E9A6C E6040068 */ swc1 $f4, 0x0068($s0) ## 00000068
/* 00510 809E9A70 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00514 809E9A74 0C00BE0A */ jal Audio_PlayActorSound2
/* 00518 809E9A78 2405393B */ addiu $a1, $zero, 0x393B ## $a1 = 0000393B
/* 0051C 809E9A7C 3C040600 */ lui $a0, %hi(D_06000368) ## $a0 = 06000000
/* 00520 809E9A80 0C028800 */ jal Animation_GetLastFrame
/* 00524 809E9A84 24840368 */ addiu $a0, $a0, %lo(D_06000368) ## $a0 = 06000368
/* 00528 809E9A88 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0052C 809E9A8C 24054000 */ addiu $a1, $zero, 0x4000 ## $a1 = 00004000
/* 00530 809E9A90 240600FF */ addiu $a2, $zero, 0x00FF ## $a2 = 000000FF
/* 00534 809E9A94 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
/* 00538 809E9A98 0C00D09B */ jal func_8003426C
/* 0053C 809E9A9C AFA20010 */ sw $v0, 0x0010($sp)
/* 00540 809E9AA0 8FBF0024 */ lw $ra, 0x0024($sp)
/* 00544 809E9AA4 8FB00020 */ lw $s0, 0x0020($sp)
/* 00548 809E9AA8 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 0054C 809E9AAC 03E00008 */ jr $ra
/* 00550 809E9AB0 00000000 */ nop

View File

@ -1,40 +0,0 @@
glabel func_809E9AB4
/* 00554 809E9AB4 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 00558 809E9AB8 AFB00020 */ sw $s0, 0x0020($sp)
/* 0055C 809E9ABC 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00560 809E9AC0 AFBF0024 */ sw $ra, 0x0024($sp)
/* 00564 809E9AC4 3C050600 */ lui $a1, %hi(D_06000368) ## $a1 = 06000000
/* 00568 809E9AC8 24A50368 */ addiu $a1, $a1, %lo(D_06000368) ## $a1 = 06000368
/* 0056C 809E9ACC 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00570 809E9AD0 0C0294D3 */ jal Animation_MorphToLoop
/* 00574 809E9AD4 3C06C040 */ lui $a2, 0xC040 ## $a2 = C0400000
/* 00578 809E9AD8 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
/* 0057C 809E9ADC 3C0F809F */ lui $t7, %hi(func_809EA534) ## $t7 = 809F0000
/* 00580 809E9AE0 240E0005 */ addiu $t6, $zero, 0x0005 ## $t6 = 00000005
/* 00584 809E9AE4 25EFA534 */ addiu $t7, $t7, %lo(func_809EA534) ## $t7 = 809EA534
/* 00588 809E9AE8 A60E0196 */ sh $t6, 0x0196($s0) ## 00000196
/* 0058C 809E9AEC AE0F0190 */ sw $t7, 0x0190($s0) ## 00000190
/* 00590 809E9AF0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00594 809E9AF4 2405389E */ addiu $a1, $zero, 0x389E ## $a1 = 0000389E
/* 00598 809E9AF8 0C00BE0A */ jal Audio_PlayActorSound2
/* 0059C 809E9AFC E6040068 */ swc1 $f4, 0x0068($s0) ## 00000068
/* 005A0 809E9B00 3C040600 */ lui $a0, %hi(D_06000368) ## $a0 = 06000000
/* 005A4 809E9B04 0C028800 */ jal Animation_GetLastFrame
/* 005A8 809E9B08 24840368 */ addiu $a0, $a0, %lo(D_06000368) ## $a0 = 06000368
/* 005AC 809E9B0C 86180196 */ lh $t8, 0x0196($s0) ## 00000196
/* 005B0 809E9B10 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 005B4 809E9B14 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 005B8 809E9B18 00580019 */ multu $v0, $t8
/* 005BC 809E9B1C 240600FF */ addiu $a2, $zero, 0x00FF ## $a2 = 000000FF
/* 005C0 809E9B20 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
/* 005C4 809E9B24 0000C812 */ mflo $t9
/* 005C8 809E9B28 AFB90010 */ sw $t9, 0x0010($sp)
/* 005CC 809E9B2C 0C00D09B */ jal func_8003426C
/* 005D0 809E9B30 00000000 */ nop
/* 005D4 809E9B34 8FBF0024 */ lw $ra, 0x0024($sp)
/* 005D8 809E9B38 8FB00020 */ lw $s0, 0x0020($sp)
/* 005DC 809E9B3C 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 005E0 809E9B40 03E00008 */ jr $ra
/* 005E4 809E9B44 00000000 */ nop

View File

@ -1,22 +0,0 @@
glabel func_809E9B48
/* 005E8 809E9B48 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 005EC 809E9B4C AFBF0014 */ sw $ra, 0x0014($sp)
/* 005F0 809E9B50 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
/* 005F4 809E9B54 3C050600 */ lui $a1, %hi(D_060006B0) ## $a1 = 06000000
/* 005F8 809E9B58 24A506B0 */ addiu $a1, $a1, %lo(D_060006B0) ## $a1 = 060006B0
/* 005FC 809E9B5C AFA60018 */ sw $a2, 0x0018($sp)
/* 00600 809E9B60 0C02947A */ jal Animation_PlayOnce
/* 00604 809E9B64 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00608 809E9B68 8FA40018 */ lw $a0, 0x0018($sp)
/* 0060C 809E9B6C 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
/* 00610 809E9B70 3C0E809F */ lui $t6, %hi(func_809EA5B0) ## $t6 = 809F0000
/* 00614 809E9B74 25CEA5B0 */ addiu $t6, $t6, %lo(func_809EA5B0) ## $t6 = 809EA5B0
/* 00618 809E9B78 24053881 */ addiu $a1, $zero, 0x3881 ## $a1 = 00003881
/* 0061C 809E9B7C AC8E0190 */ sw $t6, 0x0190($a0) ## 00000190
/* 00620 809E9B80 0C00BE0A */ jal Audio_PlayActorSound2
/* 00624 809E9B84 E4840068 */ swc1 $f4, 0x0068($a0) ## 00000068
/* 00628 809E9B88 8FBF0014 */ lw $ra, 0x0014($sp)
/* 0062C 809E9B8C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00630 809E9B90 03E00008 */ jr $ra
/* 00634 809E9B94 00000000 */ nop

View File

@ -1,172 +0,0 @@
glabel func_809E9B98
/* 00638 809E9B98 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
/* 0063C 809E9B9C AFBF001C */ sw $ra, 0x001C($sp)
/* 00640 809E9BA0 AFB00018 */ sw $s0, 0x0018($sp)
/* 00644 809E9BA4 AFA50034 */ sw $a1, 0x0034($sp)
/* 00648 809E9BA8 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
/* 0064C 809E9BAC 44813000 */ mtc1 $at, $f6 ## $f6 = 0.50
/* 00650 809E9BB0 C4840168 */ lwc1 $f4, 0x0168($a0) ## 00000168
/* 00654 809E9BB4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00658 809E9BB8 00001825 */ or $v1, $zero, $zero ## $v1 = 00000000
/* 0065C 809E9BBC 4606203C */ c.lt.s $f4, $f6
/* 00660 809E9BC0 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 00664 809E9BC4 3C054110 */ lui $a1, 0x4110 ## $a1 = 41100000
/* 00668 809E9BC8 45000002 */ bc1f .L809E9BD4
/* 0066C 809E9BCC 00000000 */ nop
/* 00670 809E9BD0 24030001 */ addiu $v1, $zero, 0x0001 ## $v1 = 00000001
.L809E9BD4:
/* 00674 809E9BD4 50600006 */ beql $v1, $zero, .L809E9BF0
/* 00678 809E9BD8 AFA3002C */ sw $v1, 0x002C($sp)
/* 0067C 809E9BDC 86020196 */ lh $v0, 0x0196($s0) ## 00000196
/* 00680 809E9BE0 10400002 */ beq $v0, $zero, .L809E9BEC
/* 00684 809E9BE4 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
/* 00688 809E9BE8 A60E0196 */ sh $t6, 0x0196($s0) ## 00000196
.L809E9BEC:
/* 0068C 809E9BEC AFA3002C */ sw $v1, 0x002C($sp)
.L809E9BF0:
/* 00690 809E9BF0 0C0295B2 */ jal Animation_OnFrame
/* 00694 809E9BF4 AFA40020 */ sw $a0, 0x0020($sp)
/* 00698 809E9BF8 3C014110 */ lui $at, 0x4110 ## $at = 41100000
/* 0069C 809E9BFC 44816000 */ mtc1 $at, $f12 ## $f12 = 9.00
/* 006A0 809E9C00 10400005 */ beq $v0, $zero, .L809E9C18
/* 006A4 809E9C04 8FA40020 */ lw $a0, 0x0020($sp)
/* 006A8 809E9C08 920F02D9 */ lbu $t7, 0x02D9($s0) ## 000002D9
/* 006AC 809E9C0C 35F80001 */ ori $t8, $t7, 0x0001 ## $t8 = 00000001
/* 006B0 809E9C10 1000000C */ beq $zero, $zero, .L809E9C44
/* 006B4 809E9C14 A21802D9 */ sb $t8, 0x02D9($s0) ## 000002D9
.L809E9C18:
/* 006B8 809E9C18 0C0295B2 */ jal Animation_OnFrame
/* 006BC 809E9C1C 3C054100 */ lui $a1, 0x4100 ## $a1 = 41000000
/* 006C0 809E9C20 3C014110 */ lui $at, 0x4110 ## $at = 41100000
/* 006C4 809E9C24 44816000 */ mtc1 $at, $f12 ## $f12 = 9.00
/* 006C8 809E9C28 10400006 */ beq $v0, $zero, .L809E9C44
/* 006CC 809E9C2C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 006D0 809E9C30 0C00BE0A */ jal Audio_PlayActorSound2
/* 006D4 809E9C34 2405387C */ addiu $a1, $zero, 0x387C ## $a1 = 0000387C
/* 006D8 809E9C38 3C014110 */ lui $at, 0x4110 ## $at = 41100000
/* 006DC 809E9C3C 44816000 */ mtc1 $at, $f12 ## $f12 = 9.00
/* 006E0 809E9C40 00000000 */ nop
.L809E9C44:
/* 006E4 809E9C44 C6000164 */ lwc1 $f0, 0x0164($s0) ## 00000164
/* 006E8 809E9C48 3C014140 */ lui $at, 0x4140 ## $at = 41400000
/* 006EC 809E9C4C 460C003C */ c.lt.s $f0, $f12
/* 006F0 809E9C50 00000000 */ nop
/* 006F4 809E9C54 45020004 */ bc1fl .L809E9C68
/* 006F8 809E9C58 44817000 */ mtc1 $at, $f14 ## $f14 = 12.00
/* 006FC 809E9C5C 1000000B */ beq $zero, $zero, .L809E9C8C
/* 00700 809E9C60 46006006 */ mov.s $f0, $f12
/* 00704 809E9C64 44817000 */ mtc1 $at, $f14 ## $f14 = 12.00
.L809E9C68:
/* 00708 809E9C68 00000000 */ nop
/* 0070C 809E9C6C 4600703C */ c.lt.s $f14, $f0
/* 00710 809E9C70 00000000 */ nop
/* 00714 809E9C74 45020004 */ bc1fl .L809E9C88
/* 00718 809E9C78 46000086 */ mov.s $f2, $f0
/* 0071C 809E9C7C 10000002 */ beq $zero, $zero, .L809E9C88
/* 00720 809E9C80 46007086 */ mov.s $f2, $f14
/* 00724 809E9C84 46000086 */ mov.s $f2, $f0
.L809E9C88:
/* 00728 809E9C88 46001006 */ mov.s $f0, $f2
.L809E9C8C:
/* 0072C 809E9C8C 460C0201 */ sub.s $f8, $f0, $f12
/* 00730 809E9C90 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000
/* 00734 809E9C94 44818000 */ mtc1 $at, $f16 ## $f16 = 5.00
/* 00738 809E9C98 3C0142F0 */ lui $at, 0x42F0 ## $at = 42F00000
/* 0073C 809E9C9C 460C4282 */ mul.s $f10, $f8, $f12
/* 00740 809E9CA0 46105480 */ add.s $f18, $f10, $f16
/* 00744 809E9CA4 4600910D */ trunc.w.s $f4, $f18
/* 00748 809E9CA8 44082000 */ mfc1 $t0, $f4
/* 0074C 809E9CAC 00000000 */ nop
/* 00750 809E9CB0 A608030A */ sh $t0, 0x030A($s0) ## 0000030A
/* 00754 809E9CB4 8FA9002C */ lw $t1, 0x002C($sp)
/* 00758 809E9CB8 1520000C */ bne $t1, $zero, .L809E9CEC
/* 0075C 809E9CBC 00000000 */ nop
/* 00760 809E9CC0 C6060090 */ lwc1 $f6, 0x0090($s0) ## 00000090
/* 00764 809E9CC4 44814000 */ mtc1 $at, $f8 ## $f8 = 120.00
/* 00768 809E9CC8 00000000 */ nop
/* 0076C 809E9CCC 4608303C */ c.lt.s $f6, $f8
/* 00770 809E9CD0 00000000 */ nop
/* 00774 809E9CD4 45000005 */ bc1f .L809E9CEC
/* 00778 809E9CD8 00000000 */ nop
/* 0077C 809E9CDC 0C27A61A */ jal func_809E9868
/* 00780 809E9CE0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00784 809E9CE4 10000021 */ beq $zero, $zero, .L809E9D6C
/* 00788 809E9CE8 8FAB002C */ lw $t3, 0x002C($sp)
.L809E9CEC:
/* 0078C 809E9CEC 0C02927F */ jal SkelAnime_Update
/* 00790 809E9CF0 8FA40020 */ lw $a0, 0x0020($sp)
/* 00794 809E9CF4 1040001C */ beq $v0, $zero, .L809E9D68
/* 00798 809E9CF8 3C0142F0 */ lui $at, 0x42F0 ## $at = 42F00000
/* 0079C 809E9CFC C6020090 */ lwc1 $f2, 0x0090($s0) ## 00000090
/* 007A0 809E9D00 44815000 */ mtc1 $at, $f10 ## $f10 = 120.00
/* 007A4 809E9D04 00000000 */ nop
/* 007A8 809E9D08 460A103C */ c.lt.s $f2, $f10
/* 007AC 809E9D0C 00000000 */ nop
/* 007B0 809E9D10 45020006 */ bc1fl .L809E9D2C
/* 007B4 809E9D14 860A0196 */ lh $t2, 0x0196($s0) ## 00000196
/* 007B8 809E9D18 0C27A61A */ jal func_809E9868
/* 007BC 809E9D1C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 007C0 809E9D20 10000012 */ beq $zero, $zero, .L809E9D6C
/* 007C4 809E9D24 8FAB002C */ lw $t3, 0x002C($sp)
/* 007C8 809E9D28 860A0196 */ lh $t2, 0x0196($s0) ## 00000196
.L809E9D2C:
/* 007CC 809E9D2C 3C0143A0 */ lui $at, 0x43A0 ## $at = 43A00000
/* 007D0 809E9D30 1540000B */ bne $t2, $zero, .L809E9D60
/* 007D4 809E9D34 00000000 */ nop
/* 007D8 809E9D38 44818000 */ mtc1 $at, $f16 ## $f16 = 320.00
/* 007DC 809E9D3C 00000000 */ nop
/* 007E0 809E9D40 4602803C */ c.lt.s $f16, $f2
/* 007E4 809E9D44 00000000 */ nop
/* 007E8 809E9D48 45000005 */ bc1f .L809E9D60
/* 007EC 809E9D4C 00000000 */ nop
/* 007F0 809E9D50 0C27A5DC */ jal func_809E9770
/* 007F4 809E9D54 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 007F8 809E9D58 10000004 */ beq $zero, $zero, .L809E9D6C
/* 007FC 809E9D5C 8FAB002C */ lw $t3, 0x002C($sp)
.L809E9D60:
/* 00800 809E9D60 0C27A600 */ jal func_809E9800
/* 00804 809E9D64 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
.L809E9D68:
/* 00808 809E9D68 8FAB002C */ lw $t3, 0x002C($sp)
.L809E9D6C:
/* 0080C 809E9D6C 3C014320 */ lui $at, 0x4320 ## $at = 43200000
/* 00810 809E9D70 5160001E */ beql $t3, $zero, .L809E9DEC
/* 00814 809E9D74 8FBF001C */ lw $ra, 0x001C($sp)
/* 00818 809E9D78 C6020090 */ lwc1 $f2, 0x0090($s0) ## 00000090
/* 0081C 809E9D7C 44819000 */ mtc1 $at, $f18 ## $f18 = 160.00
/* 00820 809E9D80 00000000 */ nop
/* 00824 809E9D84 4602903C */ c.lt.s $f18, $f2
/* 00828 809E9D88 00000000 */ nop
/* 0082C 809E9D8C 45020017 */ bc1fl .L809E9DEC
/* 00830 809E9D90 8FBF001C */ lw $ra, 0x001C($sp)
/* 00834 809E9D94 C6000094 */ lwc1 $f0, 0x0094($s0) ## 00000094
/* 00838 809E9D98 3C0142F0 */ lui $at, 0x42F0 ## $at = 42F00000
/* 0083C 809E9D9C 44812000 */ mtc1 $at, $f4 ## $f4 = 120.00
/* 00840 809E9DA0 46000005 */ abs.s $f0, $f0
/* 00844 809E9DA4 4604003C */ c.lt.s $f0, $f4
/* 00848 809E9DA8 00000000 */ nop
/* 0084C 809E9DAC 4502000F */ bc1fl .L809E9DEC
/* 00850 809E9DB0 8FBF001C */ lw $ra, 0x001C($sp)
/* 00854 809E9DB4 860C0196 */ lh $t4, 0x0196($s0) ## 00000196
/* 00858 809E9DB8 3C0143F0 */ lui $at, 0x43F0 ## $at = 43F00000
/* 0085C 809E9DBC 51800007 */ beql $t4, $zero, .L809E9DDC
/* 00860 809E9DC0 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 00864 809E9DC4 44813000 */ mtc1 $at, $f6 ## $f6 = 1.00
/* 00868 809E9DC8 00000000 */ nop
/* 0086C 809E9DCC 4606103C */ c.lt.s $f2, $f6
/* 00870 809E9DD0 00000000 */ nop
/* 00874 809E9DD4 45000004 */ bc1f .L809E9DE8
/* 00878 809E9DD8 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
.L809E9DDC:
/* 0087C 809E9DDC 44814000 */ mtc1 $at, $f8 ## $f8 = 1.00
/* 00880 809E9DE0 00000000 */ nop
/* 00884 809E9DE4 E6080168 */ swc1 $f8, 0x0168($s0) ## 00000168
.L809E9DE8:
/* 00888 809E9DE8 8FBF001C */ lw $ra, 0x001C($sp)
.L809E9DEC:
/* 0088C 809E9DEC 8FB00018 */ lw $s0, 0x0018($sp)
/* 00890 809E9DF0 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
/* 00894 809E9DF4 03E00008 */ jr $ra
/* 00898 809E9DF8 00000000 */ nop

View File

@ -1,38 +0,0 @@
glabel func_809E9DFC
/* 0089C 809E9DFC 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 008A0 809E9E00 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
/* 008A4 809E9E04 AFBF0014 */ sw $ra, 0x0014($sp)
/* 008A8 809E9E08 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 008AC 809E9E0C AFA50024 */ sw $a1, 0x0024($sp)
/* 008B0 809E9E10 AFA4001C */ sw $a0, 0x001C($sp)
/* 008B4 809E9E14 0C02927F */ jal SkelAnime_Update
/* 008B8 809E9E18 AFA60020 */ sw $a2, 0x0020($sp)
/* 008BC 809E9E1C 8FA4001C */ lw $a0, 0x001C($sp)
/* 008C0 809E9E20 0C0295B2 */ jal Animation_OnFrame
/* 008C4 809E9E24 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
/* 008C8 809E9E28 10400005 */ beq $v0, $zero, .L809E9E40
/* 008CC 809E9E2C 8FA60020 */ lw $a2, 0x0020($sp)
/* 008D0 809E9E30 84C20196 */ lh $v0, 0x0196($a2) ## 00000196
/* 008D4 809E9E34 10400002 */ beq $v0, $zero, .L809E9E40
/* 008D8 809E9E38 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
/* 008DC 809E9E3C A4CE0196 */ sh $t6, 0x0196($a2) ## 00000196
.L809E9E40:
/* 008E0 809E9E40 3C0142F0 */ lui $at, 0x42F0 ## $at = 42F00000
/* 008E4 809E9E44 44813000 */ mtc1 $at, $f6 ## $f6 = 120.00
/* 008E8 809E9E48 C4C40090 */ lwc1 $f4, 0x0090($a2) ## 00000090
/* 008EC 809E9E4C 4606203C */ c.lt.s $f4, $f6
/* 008F0 809E9E50 00000000 */ nop
/* 008F4 809E9E54 45010004 */ bc1t .L809E9E68
/* 008F8 809E9E58 00000000 */ nop
/* 008FC 809E9E5C 84CF0196 */ lh $t7, 0x0196($a2) ## 00000196
/* 00900 809E9E60 55E00004 */ bnel $t7, $zero, .L809E9E74
/* 00904 809E9E64 8FBF0014 */ lw $ra, 0x0014($sp)
.L809E9E68:
/* 00908 809E9E68 0C27A61A */ jal func_809E9868
/* 0090C 809E9E6C 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
/* 00910 809E9E70 8FBF0014 */ lw $ra, 0x0014($sp)
.L809E9E74:
/* 00914 809E9E74 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 00918 809E9E78 03E00008 */ jr $ra
/* 0091C 809E9E7C 00000000 */ nop

View File

@ -1,68 +0,0 @@
glabel func_809E9E80
/* 00920 809E9E80 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 00924 809E9E84 AFB00018 */ sw $s0, 0x0018($sp)
/* 00928 809E9E88 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 0092C 809E9E8C AFBF001C */ sw $ra, 0x001C($sp)
/* 00930 809E9E90 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00934 809E9E94 AFA5002C */ sw $a1, 0x002C($sp)
/* 00938 809E9E98 0C02927F */ jal SkelAnime_Update
/* 0093C 809E9E9C AFA40024 */ sw $a0, 0x0024($sp)
/* 00940 809E9EA0 8FA40024 */ lw $a0, 0x0024($sp)
/* 00944 809E9EA4 0C0295B2 */ jal Animation_OnFrame
/* 00948 809E9EA8 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
/* 0094C 809E9EAC 10400005 */ beq $v0, $zero, .L809E9EC4
/* 00950 809E9EB0 260400B6 */ addiu $a0, $s0, 0x00B6 ## $a0 = 000000B6
/* 00954 809E9EB4 86020196 */ lh $v0, 0x0196($s0) ## 00000196
/* 00958 809E9EB8 10400002 */ beq $v0, $zero, .L809E9EC4
/* 0095C 809E9EBC 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
/* 00960 809E9EC0 A60E0196 */ sh $t6, 0x0196($s0) ## 00000196
.L809E9EC4:
/* 00964 809E9EC4 86020196 */ lh $v0, 0x0196($s0) ## 00000196
/* 00968 809E9EC8 24060002 */ addiu $a2, $zero, 0x0002 ## $a2 = 00000002
/* 0096C 809E9ECC 24070E38 */ addiu $a3, $zero, 0x0E38 ## $a3 = 00000E38
/* 00970 809E9ED0 304F1000 */ andi $t7, $v0, 0x1000 ## $t7 = 00000000
/* 00974 809E9ED4 55E00005 */ bnel $t7, $zero, .L809E9EEC
/* 00978 809E9ED8 24011000 */ addiu $at, $zero, 0x1000 ## $at = 00001000
/* 0097C 809E9EDC 0C01E1EF */ jal Math_ApproachS
/* 00980 809E9EE0 8605008A */ lh $a1, 0x008A($s0) ## 0000008A
/* 00984 809E9EE4 86020196 */ lh $v0, 0x0196($s0) ## 00000196
/* 00988 809E9EE8 24011000 */ addiu $at, $zero, 0x1000 ## $at = 00001000
.L809E9EEC:
/* 0098C 809E9EEC 14410016 */ bne $v0, $at, .L809E9F48
/* 00990 809E9EF0 3C0143F0 */ lui $at, 0x43F0 ## $at = 43F00000
/* 00994 809E9EF4 44812000 */ mtc1 $at, $f4 ## $f4 = 480.00
/* 00998 809E9EF8 C6000090 */ lwc1 $f0, 0x0090($s0) ## 00000090
/* 0099C 809E9EFC 3C0142F0 */ lui $at, 0x42F0 ## $at = 42F00000
/* 009A0 809E9F00 4600203C */ c.lt.s $f4, $f0
/* 009A4 809E9F04 00000000 */ nop
/* 009A8 809E9F08 45010007 */ bc1t .L809E9F28
/* 009AC 809E9F0C 00000000 */ nop
/* 009B0 809E9F10 44813000 */ mtc1 $at, $f6 ## $f6 = 120.00
/* 009B4 809E9F14 00000000 */ nop
/* 009B8 809E9F18 4606003C */ c.lt.s $f0, $f6
/* 009BC 809E9F1C 00000000 */ nop
/* 009C0 809E9F20 45000005 */ bc1f .L809E9F38
/* 009C4 809E9F24 00000000 */ nop
.L809E9F28:
/* 009C8 809E9F28 0C27A61A */ jal func_809E9868
/* 009CC 809E9F2C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 009D0 809E9F30 1000000A */ beq $zero, $zero, .L809E9F5C
/* 009D4 809E9F34 8FBF001C */ lw $ra, 0x001C($sp)
.L809E9F38:
/* 009D8 809E9F38 0C27A5EE */ jal func_809E97B8
/* 009DC 809E9F3C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 009E0 809E9F40 10000006 */ beq $zero, $zero, .L809E9F5C
/* 009E4 809E9F44 8FBF001C */ lw $ra, 0x001C($sp)
.L809E9F48:
/* 009E8 809E9F48 54400004 */ bnel $v0, $zero, .L809E9F5C
/* 009EC 809E9F4C 8FBF001C */ lw $ra, 0x001C($sp)
/* 009F0 809E9F50 0C27A5EE */ jal func_809E97B8
/* 009F4 809E9F54 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 009F8 809E9F58 8FBF001C */ lw $ra, 0x001C($sp)
.L809E9F5C:
/* 009FC 809E9F5C 8FB00018 */ lw $s0, 0x0018($sp)
/* 00A00 809E9F60 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 00A04 809E9F64 03E00008 */ jr $ra
/* 00A08 809E9F68 00000000 */ nop

View File

@ -1,97 +0,0 @@
glabel func_809E9F6C
/* 00A0C 809E9F6C 27BDFFB8 */ addiu $sp, $sp, 0xFFB8 ## $sp = FFFFFFB8
/* 00A10 809E9F70 AFB00030 */ sw $s0, 0x0030($sp)
/* 00A14 809E9F74 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00A18 809E9F78 AFBF0034 */ sw $ra, 0x0034($sp)
/* 00A1C 809E9F7C AFA5004C */ sw $a1, 0x004C($sp)
/* 00A20 809E9F80 8605008A */ lh $a1, 0x008A($s0) ## 0000008A
/* 00A24 809E9F84 248400B6 */ addiu $a0, $a0, 0x00B6 ## $a0 = 000000B6
/* 00A28 809E9F88 24060002 */ addiu $a2, $zero, 0x0002 ## $a2 = 00000002
/* 00A2C 809E9F8C 0C01E1EF */ jal Math_ApproachS
/* 00A30 809E9F90 24070E38 */ addiu $a3, $zero, 0x0E38 ## $a3 = 00000E38
/* 00A34 809E9F94 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 00A38 809E9F98 0C02927F */ jal SkelAnime_Update
/* 00A3C 809E9F9C AFA40038 */ sw $a0, 0x0038($sp)
/* 00A40 809E9FA0 10400005 */ beq $v0, $zero, .L809E9FB8
/* 00A44 809E9FA4 8FA40038 */ lw $a0, 0x0038($sp)
/* 00A48 809E9FA8 0C27A600 */ jal func_809E9800
/* 00A4C 809E9FAC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00A50 809E9FB0 10000040 */ beq $zero, $zero, .L809EA0B4
/* 00A54 809E9FB4 8FBF0034 */ lw $ra, 0x0034($sp)
.L809E9FB8:
/* 00A58 809E9FB8 0C0295B2 */ jal Animation_OnFrame
/* 00A5C 809E9FBC 3C0540C0 */ lui $a1, 0x40C0 ## $a1 = 40C00000
/* 00A60 809E9FC0 5040002B */ beql $v0, $zero, .L809EA070
/* 00A64 809E9FC4 86190196 */ lh $t9, 0x0196($s0) ## 00000196
/* 00A68 809E9FC8 0C01DE1C */ jal Math_SinS
## sins?
/* 00A6C 809E9FCC 860400B6 */ lh $a0, 0x00B6($s0) ## 000000B6
/* 00A70 809E9FD0 3C0141B8 */ lui $at, 0x41B8 ## $at = 41B80000
/* 00A74 809E9FD4 44812000 */ mtc1 $at, $f4 ## $f4 = 23.00
/* 00A78 809E9FD8 C6080024 */ lwc1 $f8, 0x0024($s0) ## 00000024
/* 00A7C 809E9FDC 3C014140 */ lui $at, 0x4140 ## $at = 41400000
/* 00A80 809E9FE0 46040182 */ mul.s $f6, $f0, $f4
/* 00A84 809E9FE4 44819000 */ mtc1 $at, $f18 ## $f18 = 12.00
/* 00A88 809E9FE8 46083280 */ add.s $f10, $f6, $f8
/* 00A8C 809E9FEC E7AA003C */ swc1 $f10, 0x003C($sp)
/* 00A90 809E9FF0 C6100028 */ lwc1 $f16, 0x0028($s0) ## 00000028
/* 00A94 809E9FF4 46128100 */ add.s $f4, $f16, $f18
/* 00A98 809E9FF8 E7A40040 */ swc1 $f4, 0x0040($sp)
/* 00A9C 809E9FFC 0C01DE0D */ jal Math_CosS
## coss?
/* 00AA0 809EA000 860400B6 */ lh $a0, 0x00B6($s0) ## 000000B6
/* 00AA4 809EA004 3C0141B8 */ lui $at, 0x41B8 ## $at = 41B80000
/* 00AA8 809EA008 44813000 */ mtc1 $at, $f6 ## $f6 = 23.00
/* 00AAC 809EA00C C60A002C */ lwc1 $f10, 0x002C($s0) ## 0000002C
/* 00AB0 809EA010 C7B00040 */ lwc1 $f16, 0x0040($sp)
/* 00AB4 809EA014 46060202 */ mul.s $f8, $f0, $f6
/* 00AB8 809EA018 8FA5004C */ lw $a1, 0x004C($sp)
/* 00ABC 809EA01C E7B00010 */ swc1 $f16, 0x0010($sp)
/* 00AC0 809EA020 24060193 */ addiu $a2, $zero, 0x0193 ## $a2 = 00000193
/* 00AC4 809EA024 8FA7003C */ lw $a3, 0x003C($sp)
/* 00AC8 809EA028 24A41C24 */ addiu $a0, $a1, 0x1C24 ## $a0 = 00001C24
/* 00ACC 809EA02C 460A4080 */ add.s $f2, $f8, $f10
/* 00AD0 809EA030 E7A20014 */ swc1 $f2, 0x0014($sp)
/* 00AD4 809EA034 860E00B4 */ lh $t6, 0x00B4($s0) ## 000000B4
/* 00AD8 809EA038 AFAE0018 */ sw $t6, 0x0018($sp)
/* 00ADC 809EA03C 860F00B6 */ lh $t7, 0x00B6($s0) ## 000000B6
/* 00AE0 809EA040 AFAF001C */ sw $t7, 0x001C($sp)
/* 00AE4 809EA044 861800B8 */ lh $t8, 0x00B8($s0) ## 000000B8
/* 00AE8 809EA048 AFA00024 */ sw $zero, 0x0024($sp)
/* 00AEC 809EA04C 0C00C7D4 */ jal Actor_Spawn
## ActorSpawn
/* 00AF0 809EA050 AFB80020 */ sw $t8, 0x0020($sp)
/* 00AF4 809EA054 10400016 */ beq $v0, $zero, .L809EA0B0
/* 00AF8 809EA058 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00AFC 809EA05C 0C00BE0A */ jal Audio_PlayActorSound2
/* 00B00 809EA060 2405387E */ addiu $a1, $zero, 0x387E ## $a1 = 0000387E
/* 00B04 809EA064 10000013 */ beq $zero, $zero, .L809EA0B4
/* 00B08 809EA068 8FBF0034 */ lw $ra, 0x0034($sp)
/* 00B0C 809EA06C 86190196 */ lh $t9, 0x0196($s0) ## 00000196
.L809EA070:
/* 00B10 809EA070 8FA40038 */ lw $a0, 0x0038($sp)
/* 00B14 809EA074 2B210002 */ slti $at, $t9, 0x0002
/* 00B18 809EA078 5420000E */ bnel $at, $zero, .L809EA0B4
/* 00B1C 809EA07C 8FBF0034 */ lw $ra, 0x0034($sp)
/* 00B20 809EA080 0C0295B2 */ jal Animation_OnFrame
/* 00B24 809EA084 3C054140 */ lui $a1, 0x4140 ## $a1 = 41400000
/* 00B28 809EA088 10400009 */ beq $v0, $zero, .L809EA0B0
/* 00B2C 809EA08C 8FA40038 */ lw $a0, 0x0038($sp)
/* 00B30 809EA090 3C050600 */ lui $a1, %hi(D_060001C4) ## $a1 = 06000000
/* 00B34 809EA094 24A501C4 */ addiu $a1, $a1, %lo(D_060001C4) ## $a1 = 060001C4
/* 00B38 809EA098 0C029490 */ jal Animation_MorphToPlayOnce
/* 00B3C 809EA09C 3C06C040 */ lui $a2, 0xC040 ## $a2 = C0400000
/* 00B40 809EA0A0 86020196 */ lh $v0, 0x0196($s0) ## 00000196
/* 00B44 809EA0A4 10400002 */ beq $v0, $zero, .L809EA0B0
/* 00B48 809EA0A8 2448FFFF */ addiu $t0, $v0, 0xFFFF ## $t0 = FFFFFFFF
/* 00B4C 809EA0AC A6080196 */ sh $t0, 0x0196($s0) ## 00000196
.L809EA0B0:
/* 00B50 809EA0B0 8FBF0034 */ lw $ra, 0x0034($sp)
.L809EA0B4:
/* 00B54 809EA0B4 8FB00030 */ lw $s0, 0x0030($sp)
/* 00B58 809EA0B8 27BD0048 */ addiu $sp, $sp, 0x0048 ## $sp = 00000000
/* 00B5C 809EA0BC 03E00008 */ jr $ra
/* 00B60 809EA0C0 00000000 */ nop

View File

@ -1,79 +0,0 @@
glabel func_809EA0C4
/* 00B64 809EA0C4 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
/* 00B68 809EA0C8 AFB00018 */ sw $s0, 0x0018($sp)
/* 00B6C 809EA0CC 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00B70 809EA0D0 AFBF001C */ sw $ra, 0x001C($sp)
/* 00B74 809EA0D4 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00B78 809EA0D8 AFA50034 */ sw $a1, 0x0034($sp)
/* 00B7C 809EA0DC 0C02927F */ jal SkelAnime_Update
/* 00B80 809EA0E0 AFA40024 */ sw $a0, 0x0024($sp)
/* 00B84 809EA0E4 10400005 */ beq $v0, $zero, .L809EA0FC
/* 00B88 809EA0E8 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 00B8C 809EA0EC 0C27A5BF */ jal func_809E96FC
/* 00B90 809EA0F0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00B94 809EA0F4 10000023 */ beq $zero, $zero, .L809EA184
/* 00B98 809EA0F8 8FA40024 */ lw $a0, 0x0024($sp)
.L809EA0FC:
/* 00B9C 809EA0FC 44811000 */ mtc1 $at, $f2 ## $f2 = 0.00
/* 00BA0 809EA100 C6000164 */ lwc1 $f0, 0x0164($s0) ## 00000164
/* 00BA4 809EA104 3C014040 */ lui $at, 0x4040 ## $at = 40400000
/* 00BA8 809EA108 4602003C */ c.lt.s $f0, $f2
/* 00BAC 809EA10C 00000000 */ nop
/* 00BB0 809EA110 45020004 */ bc1fl .L809EA124
/* 00BB4 809EA114 44812000 */ mtc1 $at, $f4 ## $f4 = 3.00
/* 00BB8 809EA118 1000000C */ beq $zero, $zero, .L809EA14C
/* 00BBC 809EA11C 46001006 */ mov.s $f0, $f2
/* 00BC0 809EA120 44812000 */ mtc1 $at, $f4 ## $f4 = 3.00
.L809EA124:
/* 00BC4 809EA124 3C014040 */ lui $at, 0x4040 ## $at = 40400000
/* 00BC8 809EA128 4600203C */ c.lt.s $f4, $f0
/* 00BCC 809EA12C 00000000 */ nop
/* 00BD0 809EA130 45020005 */ bc1fl .L809EA148
/* 00BD4 809EA134 46000086 */ mov.s $f2, $f0
/* 00BD8 809EA138 44811000 */ mtc1 $at, $f2 ## $f2 = 3.00
/* 00BDC 809EA13C 10000003 */ beq $zero, $zero, .L809EA14C
/* 00BE0 809EA140 46001006 */ mov.s $f0, $f2
/* 00BE4 809EA144 46000086 */ mov.s $f2, $f0
.L809EA148:
/* 00BE8 809EA148 46001006 */ mov.s $f0, $f2
.L809EA14C:
/* 00BEC 809EA14C 3C014040 */ lui $at, 0x4040 ## $at = 40400000
/* 00BF0 809EA150 44813000 */ mtc1 $at, $f6 ## $f6 = 3.00
/* 00BF4 809EA154 3C014140 */ lui $at, 0x4140 ## $at = 41400000
/* 00BF8 809EA158 44815000 */ mtc1 $at, $f10 ## $f10 = 12.00
/* 00BFC 809EA15C 46003201 */ sub.s $f8, $f6, $f0
/* 00C00 809EA160 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000
/* 00C04 809EA164 44819000 */ mtc1 $at, $f18 ## $f18 = 5.00
/* 00C08 809EA168 460A4402 */ mul.s $f16, $f8, $f10
/* 00C0C 809EA16C 46128100 */ add.s $f4, $f16, $f18
/* 00C10 809EA170 4600218D */ trunc.w.s $f6, $f4
/* 00C14 809EA174 440F3000 */ mfc1 $t7, $f6
/* 00C18 809EA178 00000000 */ nop
/* 00C1C 809EA17C A60F030A */ sh $t7, 0x030A($s0) ## 0000030A
/* 00C20 809EA180 8FA40024 */ lw $a0, 0x0024($sp)
.L809EA184:
/* 00C24 809EA184 0C0295B2 */ jal Animation_OnFrame
/* 00C28 809EA188 3C054080 */ lui $a1, 0x4080 ## $a1 = 40800000
/* 00C2C 809EA18C 10400004 */ beq $v0, $zero, .L809EA1A0
/* 00C30 809EA190 26040024 */ addiu $a0, $s0, 0x0024 ## $a0 = 00000024
/* 00C34 809EA194 921802D9 */ lbu $t8, 0x02D9($s0) ## 000002D9
/* 00C38 809EA198 3319FFFE */ andi $t9, $t8, 0xFFFE ## $t9 = 00000000
/* 00C3C 809EA19C A21902D9 */ sb $t9, 0x02D9($s0) ## 000002D9
.L809EA1A0:
/* 00C40 809EA1A0 8E050008 */ lw $a1, 0x0008($s0) ## 00000008
/* 00C44 809EA1A4 3C063F00 */ lui $a2, 0x3F00 ## $a2 = 3F000000
/* 00C48 809EA1A8 0C01E107 */ jal Math_ApproachF
/* 00C4C 809EA1AC 3C074040 */ lui $a3, 0x4040 ## $a3 = 40400000
/* 00C50 809EA1B0 2604002C */ addiu $a0, $s0, 0x002C ## $a0 = 0000002C
/* 00C54 809EA1B4 8E050010 */ lw $a1, 0x0010($s0) ## 00000010
/* 00C58 809EA1B8 3C063F00 */ lui $a2, 0x3F00 ## $a2 = 3F000000
/* 00C5C 809EA1BC 0C01E107 */ jal Math_ApproachF
/* 00C60 809EA1C0 3C074040 */ lui $a3, 0x4040 ## $a3 = 40400000
/* 00C64 809EA1C4 8FBF001C */ lw $ra, 0x001C($sp)
/* 00C68 809EA1C8 8FB00018 */ lw $s0, 0x0018($sp)
/* 00C6C 809EA1CC 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
/* 00C70 809EA1D0 03E00008 */ jr $ra
/* 00C74 809EA1D4 00000000 */ nop

View File

@ -1,30 +0,0 @@
glabel func_809EA1D8
/* 00C78 809EA1D8 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 00C7C 809EA1DC AFB00018 */ sw $s0, 0x0018($sp)
/* 00C80 809EA1E0 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00C84 809EA1E4 AFBF001C */ sw $ra, 0x001C($sp)
/* 00C88 809EA1E8 AFA50024 */ sw $a1, 0x0024($sp)
/* 00C8C 809EA1EC 0C02927F */ jal SkelAnime_Update
/* 00C90 809EA1F0 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00C94 809EA1F4 10400008 */ beq $v0, $zero, .L809EA218
/* 00C98 809EA1F8 34018000 */ ori $at, $zero, 0x8000 ## $at = 00008000
/* 00C9C 809EA1FC 860E008A */ lh $t6, 0x008A($s0) ## 0000008A
/* 00CA0 809EA200 24180003 */ addiu $t8, $zero, 0x0003 ## $t8 = 00000003
/* 00CA4 809EA204 A2180195 */ sb $t8, 0x0195($s0) ## 00000195
/* 00CA8 809EA208 01C17821 */ addu $t7, $t6, $at
/* 00CAC 809EA20C A60F0198 */ sh $t7, 0x0198($s0) ## 00000198
/* 00CB0 809EA210 0C27A648 */ jal func_809E9920
/* 00CB4 809EA214 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
.L809EA218:
/* 00CB8 809EA218 260400B6 */ addiu $a0, $s0, 0x00B6 ## $a0 = 000000B6
/* 00CBC 809EA21C 8605008A */ lh $a1, 0x008A($s0) ## 0000008A
/* 00CC0 809EA220 24060002 */ addiu $a2, $zero, 0x0002 ## $a2 = 00000002
/* 00CC4 809EA224 0C01E1EF */ jal Math_ApproachS
/* 00CC8 809EA228 24070E38 */ addiu $a3, $zero, 0x0E38 ## $a3 = 00000E38
/* 00CCC 809EA22C 8FBF001C */ lw $ra, 0x001C($sp)
/* 00CD0 809EA230 8FB00018 */ lw $s0, 0x0018($sp)
/* 00CD4 809EA234 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 00CD8 809EA238 03E00008 */ jr $ra
/* 00CDC 809EA23C 00000000 */ nop

View File

@ -1,163 +0,0 @@
glabel func_809EA240
/* 00CE0 809EA240 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
/* 00CE4 809EA244 AFB00020 */ sw $s0, 0x0020($sp)
/* 00CE8 809EA248 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00CEC 809EA24C AFBF0024 */ sw $ra, 0x0024($sp)
/* 00CF0 809EA250 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00CF4 809EA254 AFA5003C */ sw $a1, 0x003C($sp)
/* 00CF8 809EA258 0C02927F */ jal SkelAnime_Update
/* 00CFC 809EA25C AFA40028 */ sw $a0, 0x0028($sp)
/* 00D00 809EA260 8FA40028 */ lw $a0, 0x0028($sp)
/* 00D04 809EA264 0C0295B2 */ jal Animation_OnFrame
/* 00D08 809EA268 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
/* 00D0C 809EA26C 10400005 */ beq $v0, $zero, .L809EA284
/* 00D10 809EA270 24180001 */ addiu $t8, $zero, 0x0001 ## $t8 = 00000001
/* 00D14 809EA274 86020196 */ lh $v0, 0x0196($s0) ## 00000196
/* 00D18 809EA278 10400002 */ beq $v0, $zero, .L809EA284
/* 00D1C 809EA27C 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
/* 00D20 809EA280 A60E0196 */ sh $t6, 0x0196($s0) ## 00000196
.L809EA284:
/* 00D24 809EA284 920F0194 */ lbu $t7, 0x0194($s0) ## 00000194
/* 00D28 809EA288 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00D2C 809EA28C 51E00006 */ beql $t7, $zero, .L809EA2A8
/* 00D30 809EA290 A2180194 */ sb $t8, 0x0194($s0) ## 00000194
/* 00D34 809EA294 0C00BE0A */ jal Audio_PlayActorSound2
/* 00D38 809EA298 2405387F */ addiu $a1, $zero, 0x387F ## $a1 = 0000387F
/* 00D3C 809EA29C 10000002 */ beq $zero, $zero, .L809EA2A8
/* 00D40 809EA2A0 A2000194 */ sb $zero, 0x0194($s0) ## 00000194
/* 00D44 809EA2A4 A2180194 */ sb $t8, 0x0194($s0) ## 00000194
.L809EA2A8:
/* 00D48 809EA2A8 26040068 */ addiu $a0, $s0, 0x0068 ## $a0 = 00000068
/* 00D4C 809EA2AC 3C0540F0 */ lui $a1, 0x40F0 ## $a1 = 40F00000
/* 00D50 809EA2B0 0C01DE80 */ jal Math_StepToF
/* 00D54 809EA2B4 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 00D58 809EA2B8 86050198 */ lh $a1, 0x0198($s0) ## 00000198
/* 00D5C 809EA2BC 241900B6 */ addiu $t9, $zero, 0x00B6 ## $t9 = 000000B6
/* 00D60 809EA2C0 AFB90010 */ sw $t9, 0x0010($sp)
/* 00D64 809EA2C4 26040032 */ addiu $a0, $s0, 0x0032 ## $a0 = 00000032
/* 00D68 809EA2C8 24060001 */ addiu $a2, $zero, 0x0001 ## $a2 = 00000001
/* 00D6C 809EA2CC 0C01E1A7 */ jal Math_SmoothStepToS
/* 00D70 809EA2D0 24070E38 */ addiu $a3, $zero, 0x0E38 ## $a3 = 00000E38
/* 00D74 809EA2D4 5440003F */ bnel $v0, $zero, .L809EA3D4
/* 00D78 809EA2D8 86180032 */ lh $t8, 0x0032($s0) ## 00000032
/* 00D7C 809EA2DC 96020088 */ lhu $v0, 0x0088($s0) ## 00000088
/* 00D80 809EA2E0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00D84 809EA2E4 30480020 */ andi $t0, $v0, 0x0020 ## $t0 = 00000000
/* 00D88 809EA2E8 11000005 */ beq $t0, $zero, .L809EA300
/* 00D8C 809EA2EC 30490008 */ andi $t1, $v0, 0x0008 ## $t1 = 00000000
/* 00D90 809EA2F0 0C00B6B0 */ jal Actor_WorldYawTowardPoint
/* 00D94 809EA2F4 26050008 */ addiu $a1, $s0, 0x0008 ## $a1 = 00000008
/* 00D98 809EA2F8 10000035 */ beq $zero, $zero, .L809EA3D0
/* 00D9C 809EA2FC A6020198 */ sh $v0, 0x0198($s0) ## 00000198
.L809EA300:
/* 00DA0 809EA300 51200005 */ beql $t1, $zero, .L809EA318
/* 00DA4 809EA304 920B0195 */ lbu $t3, 0x0195($s0) ## 00000195
/* 00DA8 809EA308 860A007E */ lh $t2, 0x007E($s0) ## 0000007E
/* 00DAC 809EA30C 10000030 */ beq $zero, $zero, .L809EA3D0
/* 00DB0 809EA310 A60A0198 */ sh $t2, 0x0198($s0) ## 00000198
/* 00DB4 809EA314 920B0195 */ lbu $t3, 0x0195($s0) ## 00000195
.L809EA318:
/* 00DB8 809EA318 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00DBC 809EA31C 55600029 */ bnel $t3, $zero, .L809EA3C4
/* 00DC0 809EA320 860E008A */ lh $t6, 0x008A($s0) ## 0000008A
/* 00DC4 809EA324 0C00B6B0 */ jal Actor_WorldYawTowardPoint
/* 00DC8 809EA328 26050008 */ addiu $a1, $s0, 0x0008 ## $a1 = 00000008
/* 00DCC 809EA32C 8605008A */ lh $a1, 0x008A($s0) ## 0000008A
/* 00DD0 809EA330 00451823 */ subu $v1, $v0, $a1
/* 00DD4 809EA334 00031C00 */ sll $v1, $v1, 16
/* 00DD8 809EA338 00031C03 */ sra $v1, $v1, 16
/* 00DDC 809EA33C 04600003 */ bltz $v1, .L809EA34C
/* 00DE0 809EA340 00032023 */ subu $a0, $zero, $v1
/* 00DE4 809EA344 10000001 */ beq $zero, $zero, .L809EA34C
/* 00DE8 809EA348 00602025 */ or $a0, $v1, $zero ## $a0 = 00000000
.L809EA34C:
/* 00DEC 809EA34C 28812001 */ slti $at, $a0, 0x2001
/* 00DF0 809EA350 54200004 */ bnel $at, $zero, .L809EA364
/* 00DF4 809EA354 44832000 */ mtc1 $v1, $f4 ## $f4 = 0.00
/* 00DF8 809EA358 1000001D */ beq $zero, $zero, .L809EA3D0
/* 00DFC 809EA35C A6020198 */ sh $v0, 0x0198($s0) ## 00000198
/* 00E00 809EA360 44832000 */ mtc1 $v1, $f4 ## $f4 = 0.00
.L809EA364:
/* 00E04 809EA364 44804000 */ mtc1 $zero, $f8 ## $f8 = 0.00
/* 00E08 809EA368 44859000 */ mtc1 $a1, $f18 ## $f18 = 0.00
/* 00E0C 809EA36C 468021A0 */ cvt.s.w $f6, $f4
/* 00E10 809EA370 3C01BF80 */ lui $at, 0xBF80 ## $at = BF800000
/* 00E14 809EA374 4606403E */ c.le.s $f8, $f6
/* 00E18 809EA378 00000000 */ nop
/* 00E1C 809EA37C 45020006 */ bc1fl .L809EA398
/* 00E20 809EA380 44810000 */ mtc1 $at, $f0 ## $f0 = -1.00
/* 00E24 809EA384 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 00E28 809EA388 44810000 */ mtc1 $at, $f0 ## $f0 = 1.00
/* 00E2C 809EA38C 10000004 */ beq $zero, $zero, .L809EA3A0
/* 00E30 809EA390 3C01C600 */ lui $at, 0xC600 ## $at = C6000000
/* 00E34 809EA394 44810000 */ mtc1 $at, $f0 ## $f0 = -8192.00
.L809EA398:
/* 00E38 809EA398 00000000 */ nop
/* 00E3C 809EA39C 3C01C600 */ lui $at, 0xC600 ## $at = C6000000
.L809EA3A0:
/* 00E40 809EA3A0 44815000 */ mtc1 $at, $f10 ## $f10 = -8192.00
/* 00E44 809EA3A4 46809120 */ cvt.s.w $f4, $f18
/* 00E48 809EA3A8 460A0402 */ mul.s $f16, $f0, $f10
/* 00E4C 809EA3AC 46048180 */ add.s $f6, $f16, $f4
/* 00E50 809EA3B0 4600320D */ trunc.w.s $f8, $f6
/* 00E54 809EA3B4 440D4000 */ mfc1 $t5, $f8
/* 00E58 809EA3B8 10000005 */ beq $zero, $zero, .L809EA3D0
/* 00E5C 809EA3BC A60D0198 */ sh $t5, 0x0198($s0) ## 00000198
/* 00E60 809EA3C0 860E008A */ lh $t6, 0x008A($s0) ## 0000008A
.L809EA3C4:
/* 00E64 809EA3C4 34018000 */ ori $at, $zero, 0x8000 ## $at = 00008000
/* 00E68 809EA3C8 01C17821 */ addu $t7, $t6, $at
/* 00E6C 809EA3CC A60F0198 */ sh $t7, 0x0198($s0) ## 00000198
.L809EA3D0:
/* 00E70 809EA3D0 86180032 */ lh $t8, 0x0032($s0) ## 00000032
.L809EA3D4:
/* 00E74 809EA3D4 92080195 */ lbu $t0, 0x0195($s0) ## 00000195
/* 00E78 809EA3D8 34018000 */ ori $at, $zero, 0x8000 ## $at = 00008000
/* 00E7C 809EA3DC 0301C821 */ addu $t9, $t8, $at
/* 00E80 809EA3E0 1500001D */ bne $t0, $zero, .L809EA458
/* 00E84 809EA3E4 A61900B6 */ sh $t9, 0x00B6($s0) ## 000000B6
/* 00E88 809EA3E8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00E8C 809EA3EC 0C00B6EC */ jal Actor_WorldDistXZToPoint
/* 00E90 809EA3F0 26050008 */ addiu $a1, $s0, 0x0008 ## $a1 = 00000008
/* 00E94 809EA3F4 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
/* 00E98 809EA3F8 44815000 */ mtc1 $at, $f10 ## $f10 = 20.00
/* 00E9C 809EA3FC 00000000 */ nop
/* 00EA0 809EA400 460A003C */ c.lt.s $f0, $f10
/* 00EA4 809EA404 00000000 */ nop
/* 00EA8 809EA408 45020014 */ bc1fl .L809EA45C
/* 00EAC 809EA40C 860A0196 */ lh $t2, 0x0196($s0) ## 00000196
/* 00EB0 809EA410 C6120028 */ lwc1 $f18, 0x0028($s0) ## 00000028
/* 00EB4 809EA414 C610000C */ lwc1 $f16, 0x000C($s0) ## 0000000C
/* 00EB8 809EA418 3C014000 */ lui $at, 0x4000 ## $at = 40000000
/* 00EBC 809EA41C 44812000 */ mtc1 $at, $f4 ## $f4 = 2.00
/* 00EC0 809EA420 46109001 */ sub.s $f0, $f18, $f16
/* 00EC4 809EA424 240900FF */ addiu $t1, $zero, 0x00FF ## $t1 = 000000FF
/* 00EC8 809EA428 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00ECC 809EA42C 46000005 */ abs.s $f0, $f0
/* 00ED0 809EA430 4604003C */ c.lt.s $f0, $f4
/* 00ED4 809EA434 00000000 */ nop
/* 00ED8 809EA438 45020008 */ bc1fl .L809EA45C
/* 00EDC 809EA43C 860A0196 */ lh $t2, 0x0196($s0) ## 00000196
/* 00EE0 809EA440 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00
/* 00EE4 809EA444 A20900AE */ sb $t1, 0x00AE($s0) ## 000000AE
/* 00EE8 809EA448 0C27A61A */ jal func_809E9868
/* 00EEC 809EA44C E6060068 */ swc1 $f6, 0x0068($s0) ## 00000068
/* 00EF0 809EA450 10000007 */ beq $zero, $zero, .L809EA470
/* 00EF4 809EA454 8FBF0024 */ lw $ra, 0x0024($sp)
.L809EA458:
/* 00EF8 809EA458 860A0196 */ lh $t2, 0x0196($s0) ## 00000196
.L809EA45C:
/* 00EFC 809EA45C 55400004 */ bnel $t2, $zero, .L809EA470
/* 00F00 809EA460 8FBF0024 */ lw $ra, 0x0024($sp)
/* 00F04 809EA464 0C27A65E */ jal func_809E9978
/* 00F08 809EA468 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00F0C 809EA46C 8FBF0024 */ lw $ra, 0x0024($sp)
.L809EA470:
/* 00F10 809EA470 8FB00020 */ lw $s0, 0x0020($sp)
/* 00F14 809EA474 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000
/* 00F18 809EA478 03E00008 */ jr $ra
/* 00F1C 809EA47C 00000000 */ nop

View File

@ -1,30 +0,0 @@
glabel func_809EA480
/* 00F20 809EA480 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 00F24 809EA484 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
/* 00F28 809EA488 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00F2C 809EA48C 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00F30 809EA490 AFA50024 */ sw $a1, 0x0024($sp)
/* 00F34 809EA494 AFA4001C */ sw $a0, 0x001C($sp)
/* 00F38 809EA498 0C02927F */ jal SkelAnime_Update
/* 00F3C 809EA49C AFA60020 */ sw $a2, 0x0020($sp)
/* 00F40 809EA4A0 8FA4001C */ lw $a0, 0x001C($sp)
/* 00F44 809EA4A4 0C0295B2 */ jal Animation_OnFrame
/* 00F48 809EA4A8 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
/* 00F4C 809EA4AC 10400005 */ beq $v0, $zero, .L809EA4C4
/* 00F50 809EA4B0 8FA60020 */ lw $a2, 0x0020($sp)
/* 00F54 809EA4B4 84C20196 */ lh $v0, 0x0196($a2) ## 00000196
/* 00F58 809EA4B8 10400002 */ beq $v0, $zero, .L809EA4C4
/* 00F5C 809EA4BC 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
/* 00F60 809EA4C0 A4CE0196 */ sh $t6, 0x0196($a2) ## 00000196
.L809EA4C4:
/* 00F64 809EA4C4 84CF0196 */ lh $t7, 0x0196($a2) ## 00000196
/* 00F68 809EA4C8 55E00004 */ bnel $t7, $zero, .L809EA4DC
/* 00F6C 809EA4CC 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00F70 809EA4D0 0C27A648 */ jal func_809E9920
/* 00F74 809EA4D4 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
/* 00F78 809EA4D8 8FBF0014 */ lw $ra, 0x0014($sp)
.L809EA4DC:
/* 00F7C 809EA4DC 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 00F80 809EA4E0 03E00008 */ jr $ra
/* 00F84 809EA4E4 00000000 */ nop

View File

@ -1,23 +0,0 @@
glabel func_809EA4E8
/* 00F88 809EA4E8 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00F8C 809EA4EC AFBF0014 */ sw $ra, 0x0014($sp)
/* 00F90 809EA4F0 AFA40018 */ sw $a0, 0x0018($sp)
/* 00F94 809EA4F4 AFA5001C */ sw $a1, 0x001C($sp)
/* 00F98 809EA4F8 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
/* 00F9C 809EA4FC 24840068 */ addiu $a0, $a0, 0x0068 ## $a0 = 00000068
/* 00FA0 809EA500 0C01DE80 */ jal Math_StepToF
/* 00FA4 809EA504 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 00FA8 809EA508 8FA40018 */ lw $a0, 0x0018($sp)
/* 00FAC 809EA50C 0C02927F */ jal SkelAnime_Update
/* 00FB0 809EA510 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00FB4 809EA514 50400004 */ beql $v0, $zero, .L809EA528
/* 00FB8 809EA518 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00FBC 809EA51C 0C27A6D2 */ jal func_809E9B48
/* 00FC0 809EA520 8FA40018 */ lw $a0, 0x0018($sp)
/* 00FC4 809EA524 8FBF0014 */ lw $ra, 0x0014($sp)
.L809EA528:
/* 00FC8 809EA528 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00FCC 809EA52C 03E00008 */ jr $ra
/* 00FD0 809EA530 00000000 */ nop

View File

@ -1,38 +0,0 @@
glabel func_809EA534
/* 00FD4 809EA534 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 00FD8 809EA538 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
/* 00FDC 809EA53C AFBF0014 */ sw $ra, 0x0014($sp)
/* 00FE0 809EA540 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00FE4 809EA544 AFA50024 */ sw $a1, 0x0024($sp)
/* 00FE8 809EA548 AFA4001C */ sw $a0, 0x001C($sp)
/* 00FEC 809EA54C 0C02927F */ jal SkelAnime_Update
/* 00FF0 809EA550 AFA60020 */ sw $a2, 0x0020($sp)
/* 00FF4 809EA554 8FA4001C */ lw $a0, 0x001C($sp)
/* 00FF8 809EA558 0C0295B2 */ jal Animation_OnFrame
/* 00FFC 809EA55C 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
/* 01000 809EA560 1040000F */ beq $v0, $zero, .L809EA5A0
/* 01004 809EA564 8FA60020 */ lw $a2, 0x0020($sp)
/* 01008 809EA568 84C20196 */ lh $v0, 0x0196($a2) ## 00000196
/* 0100C 809EA56C 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
/* 01010 809EA570 10400003 */ beq $v0, $zero, .L809EA580
/* 01014 809EA574 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
/* 01018 809EA578 A4CE0196 */ sh $t6, 0x0196($a2) ## 00000196
/* 0101C 809EA57C 84C20196 */ lh $v0, 0x0196($a2) ## 00000196
.L809EA580:
/* 01020 809EA580 14400005 */ bne $v0, $zero, .L809EA598
/* 01024 809EA584 00000000 */ nop
/* 01028 809EA588 0C27A648 */ jal func_809E9920
/* 0102C 809EA58C 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
/* 01030 809EA590 10000004 */ beq $zero, $zero, .L809EA5A4
/* 01034 809EA594 8FBF0014 */ lw $ra, 0x0014($sp)
.L809EA598:
/* 01038 809EA598 0C00BE0A */ jal Audio_PlayActorSound2
/* 0103C 809EA59C 24053882 */ addiu $a1, $zero, 0x3882 ## $a1 = 00003882
.L809EA5A0:
/* 01040 809EA5A0 8FBF0014 */ lw $ra, 0x0014($sp)
.L809EA5A4:
/* 01044 809EA5A4 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 01048 809EA5A8 03E00008 */ jr $ra
/* 0104C 809EA5AC 00000000 */ nop

View File

@ -1,94 +0,0 @@
glabel func_809EA5B0
/* 01050 809EA5B0 27BDFF98 */ addiu $sp, $sp, 0xFF98 ## $sp = FFFFFF98
/* 01054 809EA5B4 AFB00044 */ sw $s0, 0x0044($sp)
/* 01058 809EA5B8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 0105C 809EA5BC AFBF004C */ sw $ra, 0x004C($sp)
/* 01060 809EA5C0 AFB10048 */ sw $s1, 0x0048($sp)
/* 01064 809EA5C4 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
/* 01068 809EA5C8 0C02927F */ jal SkelAnime_Update
/* 0106C 809EA5CC 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 01070 809EA5D0 10400049 */ beq $v0, $zero, .L809EA6F8
/* 01074 809EA5D4 3C06809F */ lui $a2, %hi(D_809EABB0) ## $a2 = 809F0000
/* 01078 809EA5D8 C6040024 */ lwc1 $f4, 0x0024($s0) ## 00000024
/* 0107C 809EA5DC 3C014190 */ lui $at, 0x4190 ## $at = 41900000
/* 01080 809EA5E0 44814000 */ mtc1 $at, $f8 ## $f8 = 18.00
/* 01084 809EA5E4 E7A40058 */ swc1 $f4, 0x0058($sp)
/* 01088 809EA5E8 C6060028 */ lwc1 $f6, 0x0028($s0) ## 00000028
/* 0108C 809EA5EC 240E00C8 */ addiu $t6, $zero, 0x00C8 ## $t6 = 000000C8
/* 01090 809EA5F0 24C6ABB0 */ addiu $a2, $a2, %lo(D_809EABB0) ## $a2 = 809EABB0
/* 01094 809EA5F4 46083280 */ add.s $f10, $f6, $f8
/* 01098 809EA5F8 240F00FF */ addiu $t7, $zero, 0x00FF ## $t7 = 000000FF
/* 0109C 809EA5FC 241800FF */ addiu $t8, $zero, 0x00FF ## $t8 = 000000FF
/* 010A0 809EA600 241900FF */ addiu $t9, $zero, 0x00FF ## $t9 = 000000FF
/* 010A4 809EA604 E7AA005C */ swc1 $f10, 0x005C($sp)
/* 010A8 809EA608 C610002C */ lwc1 $f16, 0x002C($s0) ## 0000002C
/* 010AC 809EA60C AFAE0010 */ sw $t6, 0x0010($sp)
/* 010B0 809EA610 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001
/* 010B4 809EA614 240800FF */ addiu $t0, $zero, 0x00FF ## $t0 = 000000FF
/* 010B8 809EA618 24090096 */ addiu $t1, $zero, 0x0096 ## $t1 = 00000096
/* 010BC 809EA61C 240A0096 */ addiu $t2, $zero, 0x0096 ## $t2 = 00000096
/* 010C0 809EA620 240B0096 */ addiu $t3, $zero, 0x0096 ## $t3 = 00000096
/* 010C4 809EA624 240C0001 */ addiu $t4, $zero, 0x0001 ## $t4 = 00000001
/* 010C8 809EA628 240D000D */ addiu $t5, $zero, 0x000D ## $t5 = 0000000D
/* 010CC 809EA62C AFAD0038 */ sw $t5, 0x0038($sp)
/* 010D0 809EA630 AFAC0034 */ sw $t4, 0x0034($sp)
/* 010D4 809EA634 AFAB0030 */ sw $t3, 0x0030($sp)
/* 010D8 809EA638 AFAA002C */ sw $t2, 0x002C($sp)
/* 010DC 809EA63C AFA90028 */ sw $t1, 0x0028($sp)
/* 010E0 809EA640 AFA80024 */ sw $t0, 0x0024($sp)
/* 010E4 809EA644 AFAE003C */ sw $t6, 0x003C($sp)
/* 010E8 809EA648 AFB90020 */ sw $t9, 0x0020($sp)
/* 010EC 809EA64C AFB8001C */ sw $t8, 0x001C($sp)
/* 010F0 809EA650 AFAF0018 */ sw $t7, 0x0018($sp)
/* 010F4 809EA654 AFA00014 */ sw $zero, 0x0014($sp)
/* 010F8 809EA658 00C03825 */ or $a3, $a2, $zero ## $a3 = 809EABB0
/* 010FC 809EA65C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 01100 809EA660 27A50058 */ addiu $a1, $sp, 0x0058 ## $a1 = FFFFFFF0
/* 01104 809EA664 0C00A9AE */ jal EffectSsDeadDb_Spawn
/* 01108 809EA668 E7B00060 */ swc1 $f16, 0x0060($sp)
/* 0110C 809EA66C C6120028 */ lwc1 $f18, 0x0028($s0) ## 00000028
/* 01110 809EA670 3C014120 */ lui $at, 0x4120 ## $at = 41200000
/* 01114 809EA674 44812000 */ mtc1 $at, $f4 ## $f4 = 10.00
/* 01118 809EA678 240F000C */ addiu $t7, $zero, 0x000C ## $t7 = 0000000C
/* 0111C 809EA67C 24180003 */ addiu $t8, $zero, 0x0003 ## $t8 = 00000003
/* 01120 809EA680 46049180 */ add.s $f6, $f18, $f4
/* 01124 809EA684 2419000F */ addiu $t9, $zero, 0x000F ## $t9 = 0000000F
/* 01128 809EA688 2408FFFF */ addiu $t0, $zero, 0xFFFF ## $t0 = FFFFFFFF
/* 0112C 809EA68C 2409000A */ addiu $t1, $zero, 0x000A ## $t1 = 0000000A
/* 01130 809EA690 E7A6005C */ swc1 $f6, 0x005C($sp)
/* 01134 809EA694 AFA90020 */ sw $t1, 0x0020($sp)
/* 01138 809EA698 AFA8001C */ sw $t0, 0x001C($sp)
/* 0113C 809EA69C AFB90018 */ sw $t9, 0x0018($sp)
/* 01140 809EA6A0 AFB80014 */ sw $t8, 0x0014($sp)
/* 01144 809EA6A4 AFAF0010 */ sw $t7, 0x0010($sp)
/* 01148 809EA6A8 AFA00024 */ sw $zero, 0x0024($sp)
/* 0114C 809EA6AC 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 01150 809EA6B0 27A50058 */ addiu $a1, $sp, 0x0058 ## $a1 = FFFFFFF0
/* 01154 809EA6B4 3C064040 */ lui $a2, 0x4040 ## $a2 = 40400000
/* 01158 809EA6B8 0C00A5E9 */ jal EffectSsHahen_SpawnBurst
/* 0115C 809EA6BC 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
/* 01160 809EA6C0 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 01164 809EA6C4 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 01168 809EA6C8 26060024 */ addiu $a2, $s0, 0x0024 ## $a2 = 00000024
/* 0116C 809EA6CC 0C007E50 */ jal Item_DropCollectibleRandom
/* 01170 809EA6D0 24070030 */ addiu $a3, $zero, 0x0030 ## $a3 = 00000030
/* 01174 809EA6D4 8E06011C */ lw $a2, 0x011C($s0) ## 0000011C
/* 01178 809EA6D8 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 0117C 809EA6DC 26251C24 */ addiu $a1, $s1, 0x1C24 ## $a1 = 00001C24
/* 01180 809EA6E0 10C00003 */ beq $a2, $zero, .L809EA6F0
/* 01184 809EA6E4 00000000 */ nop
/* 01188 809EA6E8 0C00CDD2 */ jal Actor_ChangeCategory
/* 0118C 809EA6EC 24070006 */ addiu $a3, $zero, 0x0006 ## $a3 = 00000006
.L809EA6F0:
/* 01190 809EA6F0 0C00B55C */ jal Actor_Kill
/* 01194 809EA6F4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
.L809EA6F8:
/* 01198 809EA6F8 8FBF004C */ lw $ra, 0x004C($sp)
/* 0119C 809EA6FC 8FB00044 */ lw $s0, 0x0044($sp)
/* 011A0 809EA700 8FB10048 */ lw $s1, 0x0048($sp)
/* 011A4 809EA704 03E00008 */ jr $ra
/* 011A8 809EA708 27BD0068 */ addiu $sp, $sp, 0x0068 ## $sp = 00000000

View File

@ -1,81 +0,0 @@
glabel func_809EA70C
/* 011AC 809EA70C 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 011B0 809EA710 AFBF0024 */ sw $ra, 0x0024($sp)
/* 011B4 809EA714 AFB00020 */ sw $s0, 0x0020($sp)
/* 011B8 809EA718 AFA5002C */ sw $a1, 0x002C($sp)
/* 011BC 809EA71C 908202D9 */ lbu $v0, 0x02D9($a0) ## 000002D9
/* 011C0 809EA720 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 011C4 809EA724 260502E0 */ addiu $a1, $s0, 0x02E0 ## $a1 = 000002E0
/* 011C8 809EA728 304E0002 */ andi $t6, $v0, 0x0002 ## $t6 = 00000000
/* 011CC 809EA72C 11C00030 */ beq $t6, $zero, .L809EA7F0
/* 011D0 809EA730 304FFFFD */ andi $t7, $v0, 0xFFFD ## $t7 = 00000000
/* 011D4 809EA734 A08F02D9 */ sb $t7, 0x02D9($a0) ## 000002D9
/* 011D8 809EA738 0C00D594 */ jal func_80035650
/* 011DC 809EA73C 24060001 */ addiu $a2, $zero, 0x0001 ## $a2 = 00000001
/* 011E0 809EA740 921800AE */ lbu $t8, 0x00AE($s0) ## 000000AE
/* 011E4 809EA744 24010032 */ addiu $at, $zero, 0x0032 ## $at = 00000032
/* 011E8 809EA748 17010025 */ bne $t8, $at, .L809EA7E0
/* 011EC 809EA74C 00000000 */ nop
/* 011F0 809EA750 920200B1 */ lbu $v0, 0x00B1($s0) ## 000000B1
/* 011F4 809EA754 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 011F8 809EA758 14400004 */ bne $v0, $zero, .L809EA76C
/* 011FC 809EA75C 00000000 */ nop
/* 01200 809EA760 921900B0 */ lbu $t9, 0x00B0($s0) ## 000000B0
/* 01204 809EA764 5320002D */ beql $t9, $zero, .L809EA81C
/* 01208 809EA768 8FBF0024 */ lw $ra, 0x0024($sp)
.L809EA76C:
/* 0120C 809EA76C 10410013 */ beq $v0, $at, .L809EA7BC
/* 01210 809EA770 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
/* 01214 809EA774 14410007 */ bne $v0, $at, .L809EA794
/* 01218 809EA778 8FA4002C */ lw $a0, 0x002C($sp)
/* 0121C 809EA77C 24080032 */ addiu $t0, $zero, 0x0032 ## $t0 = 00000032
/* 01220 809EA780 AFA80010 */ sw $t0, 0x0010($sp)
/* 01224 809EA784 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 01228 809EA788 26060024 */ addiu $a2, $s0, 0x0024 ## $a2 = 00000024
/* 0122C 809EA78C 0C00A997 */ jal EffectSsFCircle_Spawn
/* 01230 809EA790 24070028 */ addiu $a3, $zero, 0x0028 ## $a3 = 00000028
.L809EA794:
/* 01234 809EA794 0C27A676 */ jal func_809E99D8
/* 01238 809EA798 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0123C 809EA79C 0C00D58A */ jal Actor_ApplyDamage
/* 01240 809EA7A0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01244 809EA7A4 1440001C */ bne $v0, $zero, .L809EA818
/* 01248 809EA7A8 8FA4002C */ lw $a0, 0x002C($sp)
/* 0124C 809EA7AC 0C00CB1F */ jal func_80032C7C
/* 01250 809EA7B0 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 01254 809EA7B4 10000019 */ beq $zero, $zero, .L809EA81C
/* 01258 809EA7B8 8FBF0024 */ lw $ra, 0x0024($sp)
.L809EA7BC:
/* 0125C 809EA7BC 8E0A0190 */ lw $t2, 0x0190($s0) ## 00000190
/* 01260 809EA7C0 3C09809F */ lui $t1, %hi(func_809EA534) ## $t1 = 809F0000
/* 01264 809EA7C4 2529A534 */ addiu $t1, $t1, %lo(func_809EA534) ## $t1 = 809EA534
/* 01268 809EA7C8 512A0014 */ beql $t1, $t2, .L809EA81C
/* 0126C 809EA7CC 8FBF0024 */ lw $ra, 0x0024($sp)
/* 01270 809EA7D0 0C27A6AD */ jal func_809E9AB4
/* 01274 809EA7D4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01278 809EA7D8 10000010 */ beq $zero, $zero, .L809EA81C
/* 0127C 809EA7DC 8FBF0024 */ lw $ra, 0x0024($sp)
.L809EA7E0:
/* 01280 809EA7E0 0C27A62D */ jal func_809E98B4
/* 01284 809EA7E4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01288 809EA7E8 1000000C */ beq $zero, $zero, .L809EA81C
/* 0128C 809EA7EC 8FBF0024 */ lw $ra, 0x0024($sp)
.L809EA7F0:
/* 01290 809EA7F0 920B00AE */ lbu $t3, 0x00AE($s0) ## 000000AE
/* 01294 809EA7F4 240100FF */ addiu $at, $zero, 0x00FF ## $at = 000000FF
/* 01298 809EA7F8 8FAC002C */ lw $t4, 0x002C($sp)
/* 0129C 809EA7FC 55610007 */ bnel $t3, $at, .L809EA81C
/* 012A0 809EA800 8FBF0024 */ lw $ra, 0x0024($sp)
/* 012A4 809EA804 918D1C26 */ lbu $t5, 0x1C26($t4) ## 00001C26
/* 012A8 809EA808 51A00004 */ beql $t5, $zero, .L809EA81C
/* 012AC 809EA80C 8FBF0024 */ lw $ra, 0x0024($sp)
/* 012B0 809EA810 0C27A62D */ jal func_809E98B4
/* 012B4 809EA814 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
.L809EA818:
/* 012B8 809EA818 8FBF0024 */ lw $ra, 0x0024($sp)
.L809EA81C:
/* 012BC 809EA81C 8FB00020 */ lw $s0, 0x0020($sp)
/* 012C0 809EA820 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 012C4 809EA824 03E00008 */ jr $ra
/* 012C8 809EA828 00000000 */ nop

View File

@ -1,98 +0,0 @@
.late_rodata
glabel D_809EABC0
.float 0.0833
glabel D_809EABC4
.float 0.1167
glabel D_809EABC8
.float 1.7
glabel D_809EABCC
.float 0.7
glabel D_809EABD0
.float 0.1667
.text
glabel func_809EA98C
/* 0142C 809EA98C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 01430 809EA990 24010007 */ addiu $at, $zero, 0x0007 ## $at = 00000007
/* 01434 809EA994 AFBF0014 */ sw $ra, 0x0014($sp)
/* 01438 809EA998 AFA40018 */ sw $a0, 0x0018($sp)
/* 0143C 809EA99C AFA60020 */ sw $a2, 0x0020($sp)
/* 01440 809EA9A0 14A10043 */ bne $a1, $at, .L809EAAB0
/* 01444 809EA9A4 AFA70024 */ sw $a3, 0x0024($sp)
/* 01448 809EA9A8 8FA2002C */ lw $v0, 0x002C($sp)
/* 0144C 809EA9AC 3C0E809F */ lui $t6, %hi(func_809E9F6C) ## $t6 = 809F0000
/* 01450 809EA9B0 25CE9F6C */ addiu $t6, $t6, %lo(func_809E9F6C) ## $t6 = 809E9F6C
/* 01454 809EA9B4 8C4F0190 */ lw $t7, 0x0190($v0) ## 00000190
/* 01458 809EA9B8 3C0140C0 */ lui $at, 0x40C0 ## $at = 40C00000
/* 0145C 809EA9BC 55CF003D */ bnel $t6, $t7, .L809EAAB4
/* 01460 809EA9C0 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
/* 01464 809EA9C4 44819000 */ mtc1 $at, $f18 ## $f18 = 6.00
/* 01468 809EA9C8 C4400164 */ lwc1 $f0, 0x0164($v0) ## 00000164
/* 0146C 809EA9CC 3C0140E0 */ lui $at, 0x40E0 ## $at = 40E00000
/* 01470 809EA9D0 4612003E */ c.le.s $f0, $f18
/* 01474 809EA9D4 00000000 */ nop
/* 01478 809EA9D8 4502000F */ bc1fl .L809EAA18
/* 0147C 809EA9DC 44811000 */ mtc1 $at, $f2 ## $f2 = 7.00
/* 01480 809EA9E0 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 01484 809EA9E4 44819000 */ mtc1 $at, $f18 ## $f18 = 1.00
/* 01488 809EA9E8 3C01809F */ lui $at, %hi(D_809EABC0) ## $at = 809F0000
/* 0148C 809EA9EC C424ABC0 */ lwc1 $f4, %lo(D_809EABC0)($at)
/* 01490 809EA9F0 3C01809F */ lui $at, %hi(D_809EABC4) ## $at = 809F0000
/* 01494 809EA9F4 C428ABC4 */ lwc1 $f8, %lo(D_809EABC4)($at)
/* 01498 809EA9F8 46040182 */ mul.s $f6, $f0, $f4
/* 0149C 809EA9FC 00000000 */ nop
/* 014A0 809EAA00 46080282 */ mul.s $f10, $f0, $f8
/* 014A4 809EAA04 46069301 */ sub.s $f12, $f18, $f6
/* 014A8 809EAA08 46125380 */ add.s $f14, $f10, $f18
/* 014AC 809EAA0C 10000025 */ beq $zero, $zero, .L809EAAA4
/* 014B0 809EAA10 46007406 */ mov.s $f16, $f14
/* 014B4 809EAA14 44811000 */ mtc1 $at, $f2 ## $f2 = -0.00
.L809EAA18:
/* 014B8 809EAA18 3C014120 */ lui $at, 0x4120 ## $at = 41200000
/* 014BC 809EAA1C 4602003E */ c.le.s $f0, $f2
/* 014C0 809EAA20 00000000 */ nop
/* 014C4 809EAA24 4502000E */ bc1fl .L809EAA60
/* 014C8 809EAA28 44812000 */ mtc1 $at, $f4 ## $f4 = 10.00
/* 014CC 809EAA2C 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
/* 014D0 809EAA30 44812000 */ mtc1 $at, $f4 ## $f4 = 0.50
/* 014D4 809EAA34 3C01809F */ lui $at, %hi(D_809EABC8) ## $at = 809F0000
/* 014D8 809EAA38 C426ABC8 */ lwc1 $f6, %lo(D_809EABC8)($at)
/* 014DC 809EAA3C 46120001 */ sub.s $f0, $f0, $f18
/* 014E0 809EAA40 3C01809F */ lui $at, %hi(D_809EABCC) ## $at = 809F0000
/* 014E4 809EAA44 C428ABCC */ lwc1 $f8, %lo(D_809EABCC)($at)
/* 014E8 809EAA48 46002300 */ add.s $f12, $f4, $f0
/* 014EC 809EAA4C 46080282 */ mul.s $f10, $f0, $f8
/* 014F0 809EAA50 460A3381 */ sub.s $f14, $f6, $f10
/* 014F4 809EAA54 10000013 */ beq $zero, $zero, .L809EAAA4
/* 014F8 809EAA58 46007406 */ mov.s $f16, $f14
/* 014FC 809EAA5C 44812000 */ mtc1 $at, $f4 ## $f4 = -0.00
.L809EAA60:
/* 01500 809EAA60 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 01504 809EAA64 4604003E */ c.le.s $f0, $f4
/* 01508 809EAA68 00000000 */ nop
/* 0150C 809EAA6C 4500000B */ bc1f .L809EAA9C
/* 01510 809EAA70 00000000 */ nop
/* 01514 809EAA74 44817000 */ mtc1 $at, $f14 ## $f14 = 1.00
/* 01518 809EAA78 46020201 */ sub.s $f8, $f0, $f2
/* 0151C 809EAA7C 3C01809F */ lui $at, %hi(D_809EABD0) ## $at = 809F0000
/* 01520 809EAA80 C426ABD0 */ lwc1 $f6, %lo(D_809EABD0)($at)
/* 01524 809EAA84 3C013FC0 */ lui $at, 0x3FC0 ## $at = 3FC00000
/* 01528 809EAA88 44812000 */ mtc1 $at, $f4 ## $f4 = 1.50
/* 0152C 809EAA8C 46064282 */ mul.s $f10, $f8, $f6
/* 01530 809EAA90 46007406 */ mov.s $f16, $f14
/* 01534 809EAA94 10000003 */ beq $zero, $zero, .L809EAAA4
/* 01538 809EAA98 460A2301 */ sub.s $f12, $f4, $f10
.L809EAA9C:
/* 0153C 809EAA9C 10000005 */ beq $zero, $zero, .L809EAAB4
/* 01540 809EAAA0 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
.L809EAAA4:
/* 01544 809EAAA4 44068000 */ mfc1 $a2, $f16
/* 01548 809EAAA8 0C0342A3 */ jal Matrix_Scale
/* 0154C 809EAAAC 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
.L809EAAB0:
/* 01550 809EAAB0 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
.L809EAAB4:
/* 01554 809EAAB4 8FBF0014 */ lw $ra, 0x0014($sp)
/* 01558 809EAAB8 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 0155C 809EAABC 03E00008 */ jr $ra
/* 01560 809EAAC0 00000000 */ nop

View File

@ -0,0 +1,32 @@
<Root>
<File Name="object_dekunuts" Segment="6">
<!-- Deku Scrub skeleton -->
<Skeleton Name="gDekuNutsSkel" Type="Standard" LimbType="Standard" Offset="0x3268"/>
<!-- Deku Scrub animations -->
<Animation Name="gDekuNutsSpitAnim" Offset="0x1C4"/>
<Animation Name="gDekuNutsDamageAnim" Offset="0x368"/>
<Animation Name="gDekuNutsBurrowAnim" Offset="0x4D8"/>
<Animation Name="gDekuNutsDieAnim" Offset="0x6B0"/>
<Animation Name="gDekuNutsUnburrowAnim" Offset="0x8C4"/>
<Animation Name="gDekuNutsLookAroundAnim" Offset="0xAF0"/>
<Animation Name="gDekuNutsUpAnim" Offset="0xD1C"/>
<Animation Name="gDekuNutsStandAnim" Offset="0xE6C"/>
<Animation Name="gDekuNutsGaspAnim" Offset="0x1024"/>
<Animation Name="gDekuNutsRunAnim" Offset="0x3650"/>
<!-- Deku Scrub textures -->
<Texture Name="gDekuNutsLeafTex" OutName="leaf" Format="rgb5a1" Width="32" Height="32" Offset="0x2368"/>
<Texture Name="gDekuNutsBodyTex" OutName="body" Format="rgb5a1" Width="16" Height="16" Offset="0x2B68"/>
<Texture Name="gDekuNutsEyeTex" OutName="eye" Format="rgb5a1" Width="8" Height="8" Offset="0x2D68"/>
<Texture Name="gDekuNutsSnoutTex" OutName="snout" Format="rgb5a1" Width="8" Height="8" Offset="0x2DE8"/>
<Texture Name="gDekuNutsMouthTex" OutName="mouth" Format="rgb5a1" Width="8" Height="8" Offset="0x2E68"/>
<!-- Deku Scrub flower -->
<DList Name="gDekuNutsFlowerDL" Offset="0x2298"/>
<!-- Deku Nut -->
<DList Name="gDekuNutsDekuNutDL" Offset="0x2028"/>
<Texture Name="gDekuNutsDekuNutTex" OutName="deku_nut" Format="rgb5a1" Width="16" Height="16" Offset="0x2EE8"/>
</File>
</Root>

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_Dekunuts_InitVars
.word 0x00600500, 0x00000005, 0x004A0000, 0x00000314
.word EnDekunuts_Init
.word EnDekunuts_Destroy
.word EnDekunuts_Update
.word EnDekunuts_Draw
glabel D_809EAB50
.word 0x06000939, 0x10010000, 0x00000000, 0x00000000, 0x00000000, 0xFFCFFFFF, 0x00000000, 0x00010100, 0x00120020, 0x00000000, 0x00000000
glabel D_809EAB7C
.word 0x01000012, 0x0020FF00
glabel D_809EAB84
.word 0x10020102, 0x01020202, 0x01020424, 0x02020202, 0x02240000, 0x00000104, 0x02020804, 0x00000400
glabel D_809EABA4
.word 0x8917004D, 0xB06CFFFF, 0x304C0A28
glabel D_809EABB0
.word 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_809EABE0
.incbin "baserom/ovl_En_Dekunuts", 0x1680, 0x00000160

6
spec
View File

@ -2069,8 +2069,7 @@ endseg
beginseg
name "ovl_En_Dekunuts"
include "build/src/overlays/actors/ovl_En_Dekunuts/z_en_dekunuts.o"
include "build/data/overlays/actors/z_en_dekunuts.data.o"
include "build/data/overlays/actors/z_en_dekunuts.reloc.o"
include "build/src/overlays/actors/ovl_En_Dekunuts/ovl_En_Dekunuts_reloc.o"
endseg
beginseg
@ -3918,7 +3917,8 @@ endseg
beginseg
name "object_dekunuts"
romalign 0x1000
include "build/baserom/object_dekunuts.o"
include "build/assets/objects/object_dekunuts/object_dekunuts.o"
number 6
endseg
beginseg

View File

@ -5,30 +5,33 @@
*/
#include "z_en_dekunuts.h"
#include "overlays/effects/ovl_Effect_Ss_Hahen/z_eff_ss_hahen.h"
#include "objects/object_dekunuts/object_dekunuts.h"
#define FLAGS 0x00000005
#define THIS ((EnDekunuts*)thisx)
#define DEKUNUTS_FLOWER 10
void EnDekunuts_Init(Actor* thisx, GlobalContext* globalCtx);
void EnDekunuts_Destroy(Actor* thisx, GlobalContext* globalCtx);
void EnDekunuts_Update(Actor* thisx, GlobalContext* globalCtx);
void EnDekunuts_Draw(Actor* thisx, GlobalContext* globalCtx);
extern UNK_TYPE D_060001C4;
extern UNK_TYPE D_06000368;
extern UNK_TYPE D_060004D8;
extern UNK_TYPE D_060006B0;
extern UNK_TYPE D_060008C4;
extern UNK_TYPE D_06000AF0;
extern UNK_TYPE D_06000D1C;
extern UNK_TYPE D_06000E6C;
extern UNK_TYPE D_06001024;
extern UNK_TYPE D_06002298;
extern UNK_TYPE D_06003268;
extern UNK_TYPE D_06003650;
void EnDekunuts_SetupWait(EnDekunuts* this);
void EnDekunuts_Wait(EnDekunuts* this, GlobalContext* globalCtx);
void EnDekunuts_LookAround(EnDekunuts* this, GlobalContext* globalCtx);
void EnDekunuts_Stand(EnDekunuts* this, GlobalContext* globalCtx);
void EnDekunuts_ThrowNut(EnDekunuts* this, GlobalContext* globalCtx);
void EnDekunuts_Burrow(EnDekunuts* this, GlobalContext* globalCtx);
void EnDekunuts_BeginRun(EnDekunuts* this, GlobalContext* globalCtx);
void EnDekunuts_Run(EnDekunuts* this, GlobalContext* globalCtx);
void EnDekunuts_Gasp(EnDekunuts* this, GlobalContext* globalCtx);
void EnDekunuts_BeDamaged(EnDekunuts* this, GlobalContext* globalCtx);
void EnDekunuts_BeStunned(EnDekunuts* this, GlobalContext* globalCtx);
void EnDekunuts_Die(EnDekunuts* this, GlobalContext* globalCtx);
/*
const ActorInit En_Dekunuts_InitVars = {
ACTOR_EN_DEKUNUTS,
ACTORCAT_ENEMY,
@ -41,7 +44,7 @@ const ActorInit En_Dekunuts_InitVars = {
(ActorFunc)EnDekunuts_Draw,
};
static ColliderCylinderInit D_809EAB50 = {
static ColliderCylinderInit sCylinderInit = {
{
COLTYPE_HIT6,
AT_NONE,
@ -60,59 +63,475 @@ static ColliderCylinderInit D_809EAB50 = {
},
{ 18, 32, 0, { 0, 0, 0 } },
};
*/
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dekunuts/EnDekunuts_Init.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dekunuts/EnDekunuts_Destroy.s")
static CollisionCheckInfoInit sColChkInfoInit = { 0x01, 0x0012, 0x0020, MASS_IMMOVABLE };
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809E96FC.s")
static DamageTable sDamageTable = {
/* Deku nut */ DMG_ENTRY(0, 0x1),
/* Deku stick */ DMG_ENTRY(2, 0x0),
/* Slingshot */ DMG_ENTRY(1, 0x0),
/* Explosive */ DMG_ENTRY(2, 0x0),
/* Boomerang */ DMG_ENTRY(1, 0x0),
/* Normal arrow */ DMG_ENTRY(2, 0x0),
/* Hammer swing */ DMG_ENTRY(2, 0x0),
/* Hookshot */ DMG_ENTRY(2, 0x0),
/* Kokiri sword */ DMG_ENTRY(1, 0x0),
/* Master sword */ DMG_ENTRY(2, 0x0),
/* Giant's Knife */ DMG_ENTRY(4, 0x0),
/* Fire arrow */ DMG_ENTRY(4, 0x2),
/* Ice arrow */ DMG_ENTRY(2, 0x0),
/* Light arrow */ DMG_ENTRY(2, 0x0),
/* Unk arrow 1 */ DMG_ENTRY(2, 0x0),
/* Unk arrow 2 */ DMG_ENTRY(2, 0x0),
/* Unk arrow 3 */ DMG_ENTRY(2, 0x0),
/* Fire magic */ DMG_ENTRY(4, 0x2),
/* Ice magic */ DMG_ENTRY(0, 0x0),
/* Light magic */ DMG_ENTRY(0, 0x0),
/* Shield */ DMG_ENTRY(0, 0x0),
/* Mirror Ray */ DMG_ENTRY(0, 0x0),
/* Kokiri spin */ DMG_ENTRY(1, 0x0),
/* Giant spin */ DMG_ENTRY(4, 0x0),
/* Master spin */ DMG_ENTRY(2, 0x0),
/* Kokiri jump */ DMG_ENTRY(2, 0x0),
/* Giant jump */ DMG_ENTRY(8, 0x0),
/* Master jump */ DMG_ENTRY(4, 0x0),
/* Unknown 1 */ DMG_ENTRY(0, 0x0),
/* Unblockable */ DMG_ENTRY(0, 0x0),
/* Hammer jump */ DMG_ENTRY(4, 0x0),
/* Unknown 2 */ DMG_ENTRY(0, 0x0),
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809E9770.s")
static InitChainEntry sInitChain[] = {
ICHAIN_S8(naviEnemyId, 0x4D, ICHAIN_CONTINUE),
ICHAIN_F32(gravity, -1, ICHAIN_CONTINUE),
ICHAIN_F32(targetArrowOffset, 2600, ICHAIN_STOP),
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809E97B8.s")
void EnDekunuts_Init(Actor* thisx, GlobalContext* globalCtx) {
EnDekunuts* this = THIS;
s32 pad;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809E9800.s")
Actor_ProcessInitChain(&this->actor, sInitChain);
if (thisx->params == DEKUNUTS_FLOWER) {
thisx->flags &= ~0x5;
} else {
ActorShape_Init(&thisx->shape, 0.0f, ActorShadow_DrawCircle, 35.0f);
SkelAnime_Init(globalCtx, &this->skelAnime, &gDekuNutsSkel, &gDekuNutsStandAnim, this->jointTable,
this->morphTable, 25);
Collider_InitCylinder(globalCtx, &this->collider);
Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit);
CollisionCheck_SetInfo(&thisx->colChkInfo, &sDamageTable, &sColChkInfoInit);
this->shotsPerRound = ((thisx->params >> 8) & 0xFF);
thisx->params &= 0xFF;
if ((this->shotsPerRound == 0xFF) || (this->shotsPerRound == 0)) {
this->shotsPerRound = 1;
}
EnDekunuts_SetupWait(this);
Actor_SpawnAsChild(&globalCtx->actorCtx, thisx, globalCtx, ACTOR_EN_DEKUNUTS, thisx->world.pos.x,
thisx->world.pos.y, thisx->world.pos.z, 0, thisx->world.rot.y, 0, DEKUNUTS_FLOWER);
}
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809E9868.s")
void EnDekunuts_Destroy(Actor* thisx, GlobalContext* globalCtx) {
EnDekunuts* this = THIS;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809E98B4.s")
if (this->actor.params != DEKUNUTS_FLOWER) {
Collider_DestroyCylinder(globalCtx, &this->collider);
}
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809E9920.s")
void EnDekunuts_SetupWait(EnDekunuts* this) {
Animation_PlayOnceSetSpeed(&this->skelAnime, &gDekuNutsUpAnim, 0.0f);
this->animFlagAndTimer = Rand_S16Offset(100, 50);
this->collider.dim.height = 5;
Math_Vec3f_Copy(&this->actor.world.pos, &this->actor.home.pos);
this->collider.base.acFlags &= ~AC_ON;
this->actionFunc = EnDekunuts_Wait;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809E9978.s")
void EnDekunuts_SetupLookAround(EnDekunuts* this) {
Animation_PlayLoop(&this->skelAnime, &gDekuNutsLookAroundAnim);
this->animFlagAndTimer = 2;
this->actionFunc = EnDekunuts_LookAround;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809E99D8.s")
void EnDekunuts_SetupThrowNut(EnDekunuts* this) {
Animation_PlayOnce(&this->skelAnime, &gDekuNutsSpitAnim);
this->animFlagAndTimer = this->shotsPerRound;
this->actionFunc = EnDekunuts_ThrowNut;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809E9AB4.s")
void EnDekunuts_SetupStand(EnDekunuts* this) {
Animation_MorphToLoop(&this->skelAnime, &gDekuNutsStandAnim, -3.0f);
if (this->actionFunc == EnDekunuts_ThrowNut) {
this->animFlagAndTimer = 2 | 0x1000; // sets timer and flag
} else {
this->animFlagAndTimer = 1;
}
this->actionFunc = EnDekunuts_Stand;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809E9B48.s")
void EnDekunuts_SetupBurrow(EnDekunuts* this) {
Animation_MorphToPlayOnce(&this->skelAnime, &gDekuNutsBurrowAnim, -5.0f);
Audio_PlayActorSound2(&this->actor, NA_SE_EN_NUTS_DOWN);
this->actionFunc = EnDekunuts_Burrow;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809E9B98.s")
void EnDekunuts_SetupBeginRun(EnDekunuts* this) {
Animation_MorphToPlayOnce(&this->skelAnime, &gDekuNutsUnburrowAnim, -3.0f);
this->collider.dim.height = 0x25;
this->actor.colChkInfo.mass = 0x32;
Audio_PlayActorSound2(&this->actor, NA_SE_EN_NUTS_DAMAGE);
this->collider.base.acFlags &= ~AC_ON;
this->actionFunc = EnDekunuts_BeginRun;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809E9DFC.s")
void EnDekunuts_SetupRun(EnDekunuts* this) {
Animation_PlayLoop(&this->skelAnime, &gDekuNutsRunAnim);
this->animFlagAndTimer = 2;
this->playWalkSound = false;
this->collider.base.acFlags |= AC_ON;
this->actionFunc = EnDekunuts_Run;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809E9E80.s")
void EnDekunuts_SetupGasp(EnDekunuts* this) {
Animation_PlayLoop(&this->skelAnime, &gDekuNutsGaspAnim);
this->animFlagAndTimer = 3;
this->actor.speedXZ = 0.0f;
if (this->runAwayCount != 0) {
this->runAwayCount--;
}
this->actionFunc = EnDekunuts_Gasp;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809E9F6C.s")
void EnDekunuts_SetupBeDamaged(EnDekunuts* this) {
Animation_MorphToPlayOnce(&this->skelAnime, &gDekuNutsDamageAnim, -3.0f);
if ((this->collider.info.acHitInfo->toucher.dmgFlags & 0x1F824) != 0) {
this->actor.world.rot.y = this->collider.base.ac->world.rot.y;
} else {
this->actor.world.rot.y = Actor_WorldYawTowardActor(&this->actor, this->collider.base.ac) + 0x8000;
}
this->collider.base.acFlags &= ~AC_ON;
this->actionFunc = EnDekunuts_BeDamaged;
this->actor.speedXZ = 10.0f;
Audio_PlayActorSound2(&this->actor, NA_SE_EN_NUTS_DAMAGE);
Audio_PlayActorSound2(&this->actor, NA_SE_EN_NUTS_CUTBODY);
func_8003426C(&this->actor, 0x4000, 0xFF, 0, Animation_GetLastFrame(&gDekuNutsDamageAnim));
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809EA0C4.s")
void EnDekunuts_SetupBeStunned(EnDekunuts* this) {
Animation_MorphToLoop(&this->skelAnime, &gDekuNutsDamageAnim, -3.0f);
this->animFlagAndTimer = 5;
this->actionFunc = EnDekunuts_BeStunned;
this->actor.speedXZ = 0.0f;
Audio_PlayActorSound2(&this->actor, NA_SE_EN_GOMA_JR_FREEZE);
func_8003426C(&this->actor, 0, 0xFF, 0, Animation_GetLastFrame(&gDekuNutsDamageAnim) * this->animFlagAndTimer);
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809EA1D8.s")
void EnDekunuts_SetupDie(EnDekunuts* this) {
Animation_PlayOnce(&this->skelAnime, &gDekuNutsDieAnim);
this->actionFunc = EnDekunuts_Die;
this->actor.speedXZ = 0.0f;
Audio_PlayActorSound2(&this->actor, NA_SE_EN_NUTS_DEAD);
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809EA240.s")
void EnDekunuts_Wait(EnDekunuts* this, GlobalContext* globalCtx) {
s32 hasSlowPlaybackSpeed = false;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809EA480.s")
if (this->skelAnime.playSpeed < 0.5f) {
hasSlowPlaybackSpeed = true;
}
if (hasSlowPlaybackSpeed && (this->animFlagAndTimer != 0)) {
this->animFlagAndTimer--;
}
if (Animation_OnFrame(&this->skelAnime, 9.0f)) {
this->collider.base.acFlags |= AC_ON;
} else if (Animation_OnFrame(&this->skelAnime, 8.0f)) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_NUTS_UP);
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809EA4E8.s")
this->collider.dim.height = ((CLAMP(this->skelAnime.curFrame, 9.0f, 12.0f) - 9.0f) * 9.0f) + 5.0f;
if (!hasSlowPlaybackSpeed && (this->actor.xzDistToPlayer < 120.0f)) {
EnDekunuts_SetupBurrow(this);
} else if (SkelAnime_Update(&this->skelAnime)) {
if (this->actor.xzDistToPlayer < 120.0f) {
EnDekunuts_SetupBurrow(this);
} else if ((this->animFlagAndTimer == 0) && (this->actor.xzDistToPlayer > 320.0f)) {
EnDekunuts_SetupLookAround(this);
} else {
EnDekunuts_SetupStand(this);
}
}
if (hasSlowPlaybackSpeed &&
((this->actor.xzDistToPlayer > 160.0f) && (fabsf(this->actor.yDistToPlayer) < 120.0f)) &&
((this->animFlagAndTimer == 0) || (this->actor.xzDistToPlayer < 480.0f))) {
this->skelAnime.playSpeed = 1.0f;
}
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809EA534.s")
void EnDekunuts_LookAround(EnDekunuts* this, GlobalContext* globalCtx) {
SkelAnime_Update(&this->skelAnime);
if (Animation_OnFrame(&this->skelAnime, 0.0f) && (this->animFlagAndTimer != 0)) {
this->animFlagAndTimer--;
}
if ((this->actor.xzDistToPlayer < 120.0f) || (this->animFlagAndTimer == 0)) {
EnDekunuts_SetupBurrow(this);
}
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809EA5B0.s")
void EnDekunuts_Stand(EnDekunuts* this, GlobalContext* globalCtx) {
SkelAnime_Update(&this->skelAnime);
if (Animation_OnFrame(&this->skelAnime, 0.0f) && (this->animFlagAndTimer != 0)) {
this->animFlagAndTimer--;
}
if (!(this->animFlagAndTimer & 0x1000)) {
Math_ApproachS(&this->actor.shape.rot.y, this->actor.yawTowardsPlayer, 2, 0xE38);
}
if (this->animFlagAndTimer == 0x1000) {
if ((this->actor.xzDistToPlayer > 480.0f) || (this->actor.xzDistToPlayer < 120.0f)) {
EnDekunuts_SetupBurrow(this);
} else {
EnDekunuts_SetupThrowNut(this);
}
} else if (this->animFlagAndTimer == 0) {
EnDekunuts_SetupThrowNut(this);
}
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809EA70C.s")
void EnDekunuts_ThrowNut(EnDekunuts* this, GlobalContext* globalCtx) {
Vec3f spawnPos;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dekunuts/EnDekunuts_Update.s")
Math_ApproachS(&this->actor.shape.rot.y, this->actor.yawTowardsPlayer, 2, 0xE38);
if (SkelAnime_Update(&this->skelAnime)) {
EnDekunuts_SetupStand(this);
} else if (Animation_OnFrame(&this->skelAnime, 6.0f)) {
spawnPos.x = this->actor.world.pos.x + (Math_SinS(this->actor.shape.rot.y) * 23.0f);
spawnPos.y = this->actor.world.pos.y + 12.0f;
spawnPos.z = this->actor.world.pos.z + (Math_CosS(this->actor.shape.rot.y) * 23.0f);
if (Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_EN_NUTSBALL, spawnPos.x, spawnPos.y, spawnPos.z,
this->actor.shape.rot.x, this->actor.shape.rot.y, this->actor.shape.rot.z, 0) != NULL) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_NUTS_THROW);
}
} else if ((this->animFlagAndTimer > 1) && Animation_OnFrame(&this->skelAnime, 12.0f)) {
Animation_MorphToPlayOnce(&this->skelAnime, &gDekuNutsSpitAnim, -3.0f);
if (this->animFlagAndTimer != 0) {
this->animFlagAndTimer--;
}
}
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809EA98C.s")
void EnDekunuts_Burrow(EnDekunuts* this, GlobalContext* globalCtx) {
if (SkelAnime_Update(&this->skelAnime)) {
EnDekunuts_SetupWait(this);
} else {
this->collider.dim.height = ((3.0f - CLAMP(this->skelAnime.curFrame, 1.0f, 3.0f)) * 12.0f) + 5.0f;
}
if (Animation_OnFrame(&this->skelAnime, 4.0f)) {
this->collider.base.acFlags &= ~AC_ON;
}
Math_ApproachF(&this->actor.world.pos.x, this->actor.home.pos.x, 0.5f, 3.0f);
Math_ApproachF(&this->actor.world.pos.z, this->actor.home.pos.z, 0.5f, 3.0f);
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dekunuts/EnDekunuts_Draw.s")
void EnDekunuts_BeginRun(EnDekunuts* this, GlobalContext* globalCtx) {
if (SkelAnime_Update(&this->skelAnime)) {
this->runDirection = this->actor.yawTowardsPlayer + 0x8000;
this->runAwayCount = 3;
EnDekunuts_SetupRun(this);
}
Math_ApproachS(&this->actor.shape.rot.y, this->actor.yawTowardsPlayer, 2, 0xE38);
}
void EnDekunuts_Run(EnDekunuts* this, GlobalContext* globalCtx) {
s16 diffRotInit;
s16 diffRot;
f32 phi_f0;
SkelAnime_Update(&this->skelAnime);
if (Animation_OnFrame(&this->skelAnime, 0.0f) && (this->animFlagAndTimer != 0)) {
this->animFlagAndTimer--;
}
if (this->playWalkSound) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_NUTS_WALK);
this->playWalkSound = false;
} else {
this->playWalkSound = true;
}
Math_StepToF(&this->actor.speedXZ, 7.5f, 1.0f);
if (Math_SmoothStepToS(&this->actor.world.rot.y, this->runDirection, 1, 0xE38, 0xB6) == 0) {
if (this->actor.bgCheckFlags & 0x20) {
this->runDirection = Actor_WorldYawTowardPoint(&this->actor, &this->actor.home.pos);
} else if (this->actor.bgCheckFlags & 8) {
this->runDirection = this->actor.wallYaw;
} else if (this->runAwayCount == 0) {
diffRotInit = Actor_WorldYawTowardPoint(&this->actor, &this->actor.home.pos);
diffRot = diffRotInit - this->actor.yawTowardsPlayer;
if (ABS(diffRot) > 0x2000) {
this->runDirection = diffRotInit;
} else {
phi_f0 = (diffRot >= 0.0f) ? 1.0f : -1.0f;
this->runDirection = (phi_f0 * -0x2000) + this->actor.yawTowardsPlayer;
}
} else {
this->runDirection = this->actor.yawTowardsPlayer + 0x8000;
}
}
this->actor.shape.rot.y = this->actor.world.rot.y + 0x8000;
if ((this->runAwayCount == 0) && Actor_WorldDistXZToPoint(&this->actor, &this->actor.home.pos) < 20.0f &&
fabsf(this->actor.world.pos.y - this->actor.home.pos.y) < 2.0f) {
this->actor.colChkInfo.mass = MASS_IMMOVABLE;
this->actor.speedXZ = 0.0f;
EnDekunuts_SetupBurrow(this);
} else if (this->animFlagAndTimer == 0) {
EnDekunuts_SetupGasp(this);
}
}
void EnDekunuts_Gasp(EnDekunuts* this, GlobalContext* globalCtx) {
SkelAnime_Update(&this->skelAnime);
if (Animation_OnFrame(&this->skelAnime, 0.0f) && (this->animFlagAndTimer != 0)) {
this->animFlagAndTimer--;
}
if (this->animFlagAndTimer == 0) {
EnDekunuts_SetupRun(this);
}
}
void EnDekunuts_BeDamaged(EnDekunuts* this, GlobalContext* globalCtx) {
Math_StepToF(&this->actor.speedXZ, 0.0f, 1.0f);
if (SkelAnime_Update(&this->skelAnime)) {
EnDekunuts_SetupDie(this);
}
}
void EnDekunuts_BeStunned(EnDekunuts* this, GlobalContext* globalCtx) {
SkelAnime_Update(&this->skelAnime);
if (Animation_OnFrame(&this->skelAnime, 0.0f)) {
if (this->animFlagAndTimer != 0) {
this->animFlagAndTimer--;
}
if (this->animFlagAndTimer == 0) {
EnDekunuts_SetupRun(this);
} else {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_NUTS_FAINT);
}
}
}
void EnDekunuts_Die(EnDekunuts* this, GlobalContext* globalCtx) {
static Vec3f effectVelAndAccel = { 0.0f, 0.0f, 0.0f };
s32 pad;
Vec3f effectPos;
if (SkelAnime_Update(&this->skelAnime)) {
effectPos.x = this->actor.world.pos.x;
effectPos.y = this->actor.world.pos.y + 18.0f;
effectPos.z = this->actor.world.pos.z;
EffectSsDeadDb_Spawn(globalCtx, &effectPos, &effectVelAndAccel, &effectVelAndAccel, 200, 0, 255, 255, 255, 255,
150, 150, 150, 1, 13, 1);
effectPos.y = this->actor.world.pos.y + 10.0f;
EffectSsHahen_SpawnBurst(globalCtx, &effectPos, 3.0f, 0, 12, 3, 15, HAHEN_OBJECT_DEFAULT, 10, NULL);
Item_DropCollectibleRandom(globalCtx, &this->actor, &this->actor.world.pos, 0x30);
if (this->actor.child != NULL) {
Actor_ChangeCategory(globalCtx, &globalCtx->actorCtx, this->actor.child, ACTORCAT_PROP);
}
Actor_Kill(&this->actor);
}
}
void EnDekunuts_ColliderCheck(EnDekunuts* this, GlobalContext* globalCtx) {
if (this->collider.base.acFlags & AC_HIT) {
this->collider.base.acFlags &= ~AC_HIT;
func_80035650(&this->actor, &this->collider.info, 1);
if (this->actor.colChkInfo.mass == 0x32) {
if ((this->actor.colChkInfo.damageEffect != 0) || (this->actor.colChkInfo.damage != 0)) {
if (this->actor.colChkInfo.damageEffect != 1) {
if (this->actor.colChkInfo.damageEffect == 2) {
EffectSsFCircle_Spawn(globalCtx, &this->actor, &this->actor.world.pos, 40, 50);
}
EnDekunuts_SetupBeDamaged(this);
if (Actor_ApplyDamage(&this->actor) == 0) {
func_80032C7C(globalCtx, &this->actor);
}
} else if (this->actionFunc != EnDekunuts_BeStunned) {
EnDekunuts_SetupBeStunned(this);
}
}
} else {
EnDekunuts_SetupBeginRun(this);
}
} else if ((this->actor.colChkInfo.mass == MASS_IMMOVABLE) && (globalCtx->actorCtx.unk_02 != 0)) {
EnDekunuts_SetupBeginRun(this);
}
}
void EnDekunuts_Update(Actor* thisx, GlobalContext* globalCtx) {
EnDekunuts* this = THIS;
s32 pad;
if (this->actor.params != DEKUNUTS_FLOWER) {
EnDekunuts_ColliderCheck(this, globalCtx);
this->actionFunc(this, globalCtx);
Actor_MoveForward(&this->actor);
Actor_UpdateBgCheckInfo(globalCtx, &this->actor, 20.0f, this->collider.dim.radius, this->collider.dim.height,
0x1D);
Collider_UpdateCylinder(&this->actor, &this->collider);
if (this->collider.base.acFlags & AC_ON) {
CollisionCheck_SetAC(globalCtx, &globalCtx->colChkCtx, &this->collider.base);
}
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->collider.base);
if (this->actionFunc == EnDekunuts_Wait) {
Actor_SetFocus(&this->actor, this->skelAnime.curFrame);
} else if (this->actionFunc == EnDekunuts_Burrow) {
Actor_SetFocus(&this->actor,
20.0f - ((this->skelAnime.curFrame * 20.0f) / Animation_GetLastFrame(&gDekuNutsBurrowAnim)));
} else {
Actor_SetFocus(&this->actor, 20.0f);
}
}
}
s32 EnDekunuts_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot,
void* thisx) {
EnDekunuts* this = THIS;
f32 x;
f32 y;
f32 z;
f32 curFrame;
if ((limbIndex == 7) && (this->actionFunc == EnDekunuts_ThrowNut)) {
curFrame = this->skelAnime.curFrame;
if (curFrame <= 6.0f) {
x = 1.0f - (curFrame * 0.0833f);
z = 1.0f + (curFrame * 0.1167f);
y = 1.0f + (curFrame * 0.1167f);
} else if (curFrame <= 7.0f) {
curFrame -= 6.0f;
x = 0.5f + curFrame;
z = 1.7f - (curFrame * 0.7f);
y = 1.7f - (curFrame * 0.7f);
} else if (curFrame <= 10.0f) {
x = 1.5f - ((curFrame - 7.0f) * 0.1667f);
z = 1.0f;
y = 1.0f;
} else {
return false;
}
Matrix_Scale(x, y, z, MTXMODE_APPLY);
}
return false;
}
void EnDekunuts_Draw(Actor* thisx, GlobalContext* globalCtx) {
EnDekunuts* this = THIS;
if (this->actor.params == DEKUNUTS_FLOWER) {
Gfx_DrawDListOpa(globalCtx, gDekuNutsFlowerDL);
} else {
SkelAnime_DrawOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, EnDekunuts_OverrideLimbDraw,
NULL, this);
}
}

View File

@ -6,9 +6,20 @@
struct EnDekunuts;
typedef void (*EnDekunutsActionFunc)(struct EnDekunuts*, GlobalContext*);
typedef struct EnDekunuts {
/* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x1C8];
/* 0x014C */ SkelAnime skelAnime;
/* 0x0190 */ EnDekunutsActionFunc actionFunc;
/* 0x0194 */ u8 playWalkSound;
/* 0x0195 */ u8 runAwayCount;
/* 0x0196 */ s16 animFlagAndTimer;
/* 0x0198 */ s16 runDirection;
/* 0x019A */ s16 shotsPerRound;
/* 0x019C */ Vec3s jointTable[25];
/* 0x0232 */ Vec3s morphTable[25];
/* 0x02C8 */ ColliderCylinder collider;
} EnDekunuts; // size = 0x0314
extern const ActorInit En_Dekunuts_InitVars;

View File

@ -2103,20 +2103,6 @@ D_06001828 = 0x06001828;
D_06002A40 = 0x06002A40;
D_06003070 = 0x06003070;
// z_en_dekunuts
D_060001C4 = 0x060001C4;
D_06000368 = 0x06000368;
D_060004D8 = 0x060004D8;
D_060006B0 = 0x060006B0;
D_060008C4 = 0x060008C4;
D_06000AF0 = 0x06000AF0;
D_06000D1C = 0x06000D1C;
D_06000E6C = 0x06000E6C;
D_06001024 = 0x06001024;
D_06002298 = 0x06002298;
D_06003268 = 0x06003268;
D_06003650 = 0x06003650;
// z_en_diving_game
D_0600219C = 0x0600219C;
D_06002FE8 = 0x06002FE8;