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

En_Dodongo (#498)

* Darkmeiro decompilation

Bg_Gnd_Darkmeiro decompiled, matched, and documented.

* give this a shot

* fix conflict

* one more try

* could be useful

* whoops

* ZAP2 stuff

* ZAP why

* ZAP again

* I can't wait to bomb some do dodongos

* a whole heap of bombchus

* matched

* more names

* Dodongo dislikes smoke

* i am error

* merge

* fixes

* Update src/overlays/actors/ovl_En_Dodongo/z_en_dodongo.c

Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com>

* Update src/overlays/actors/ovl_En_Dodongo/z_en_dodongo.c

Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com>

* Update src/overlays/actors/ovl_En_Dodongo/z_en_dodongo.h

Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com>

Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com>
This commit is contained in:
petrie911 2020-12-06 12:06:17 -06:00 committed by GitHub
parent 756f6dc393
commit b097c58caf
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
35 changed files with 856 additions and 2868 deletions

View File

@ -1,25 +0,0 @@
glabel EnDodongo_Destroy
/* 0071C 809F896C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00720 809F8970 AFA40018 */ sw $a0, 0x0018($sp)
/* 00724 809F8974 8FAE0018 */ lw $t6, 0x0018($sp)
/* 00728 809F8978 AFBF0014 */ sw $ra, 0x0014($sp)
/* 0072C 809F897C AFA5001C */ sw $a1, 0x001C($sp)
/* 00730 809F8980 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 00734 809F8984 0C009C27 */ jal Effect_Delete
/* 00738 809F8988 8DC503D0 */ lw $a1, 0x03D0($t6) ## 000003D0
/* 0073C 809F898C 8FA50018 */ lw $a1, 0x0018($sp)
/* 00740 809F8990 8FA4001C */ lw $a0, 0x001C($sp)
/* 00744 809F8994 0C017232 */ jal Collider_DestroyTris
/* 00748 809F8998 24A50454 */ addiu $a1, $a1, 0x0454 ## $a1 = 00000454
/* 0074C 809F899C 8FA50018 */ lw $a1, 0x0018($sp)
/* 00750 809F89A0 8FA4001C */ lw $a0, 0x001C($sp)
/* 00754 809F89A4 0C016F32 */ jal Collider_DestroyJntSph
/* 00758 809F89A8 24A50588 */ addiu $a1, $a1, 0x0588 ## $a1 = 00000588
/* 0075C 809F89AC 8FA50018 */ lw $a1, 0x0018($sp)
/* 00760 809F89B0 8FA4001C */ lw $a0, 0x001C($sp)
/* 00764 809F89B4 0C017418 */ jal Collider_DestroyQuad
/* 00768 809F89B8 24A503D4 */ addiu $a1, $a1, 0x03D4 ## $a1 = 000003D4
/* 0076C 809F89BC 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00770 809F89C0 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00774 809F89C4 03E00008 */ jr $ra
/* 00778 809F89C8 00000000 */ nop

View File

@ -1,68 +0,0 @@
.late_rodata
glabel D_809FAC74
.word 0x3FE66666, 0x00000000, 0x00000000
.text
glabel EnDodongo_Draw
/* 02338 809FA588 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0
/* 0233C 809FA58C AFB00038 */ sw $s0, 0x0038($sp)
/* 02340 809FA590 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 02344 809FA594 AFBF003C */ sw $ra, 0x003C($sp)
/* 02348 809FA598 AFA50044 */ sw $a1, 0x0044($sp)
/* 0234C 809FA59C 0C024F46 */ jal func_80093D18
/* 02350 809FA5A0 8CA40000 */ lw $a0, 0x0000($a1) ## 00000000
/* 02354 809FA5A4 3C0F80A0 */ lui $t7, %hi(func_809FA14C) ## $t7 = 80A00000
/* 02358 809FA5A8 25EFA14C */ addiu $t7, $t7, %lo(func_809FA14C) ## $t7 = 809FA14C
/* 0235C 809FA5AC 8E050150 */ lw $a1, 0x0150($s0) ## 00000150
/* 02360 809FA5B0 8E06016C */ lw $a2, 0x016C($s0) ## 0000016C
/* 02364 809FA5B4 3C0780A0 */ lui $a3, %hi(func_809FA0F8) ## $a3 = 80A00000
/* 02368 809FA5B8 24E7A0F8 */ addiu $a3, $a3, %lo(func_809FA0F8) ## $a3 = 809FA0F8
/* 0236C 809FA5BC AFB00014 */ sw $s0, 0x0014($sp)
/* 02370 809FA5C0 AFAF0010 */ sw $t7, 0x0010($sp)
/* 02374 809FA5C4 0C028572 */ jal SkelAnime_DrawOpa
/* 02378 809FA5C8 8FA40044 */ lw $a0, 0x0044($sp)
/* 0237C 809FA5CC 86180312 */ lh $t8, 0x0312($s0) ## 00000312
/* 02380 809FA5D0 53000024 */ beql $t8, $zero, .L809FA664
/* 02384 809FA5D4 8FBF003C */ lw $ra, 0x003C($sp)
/* 02388 809FA5D8 86090312 */ lh $t1, 0x0312($s0) ## 00000312
/* 0238C 809FA5DC 92190114 */ lbu $t9, 0x0114($s0) ## 00000114
/* 02390 809FA5E0 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 02394 809FA5E4 252AFFFF */ addiu $t2, $t1, 0xFFFF ## $t2 = FFFFFFFF
/* 02398 809FA5E8 A60A0312 */ sh $t2, 0x0312($s0) ## 00000312
/* 0239C 809FA5EC 86030312 */ lh $v1, 0x0312($s0) ## 00000312
/* 023A0 809FA5F0 27280001 */ addiu $t0, $t9, 0x0001 ## $t0 = 00000001
/* 023A4 809FA5F4 A2080114 */ sb $t0, 0x0114($s0) ## 00000114
/* 023A8 809FA5F8 306B0003 */ andi $t3, $v1, 0x0003 ## $t3 = 00000000
/* 023AC 809FA5FC 15600018 */ bne $t3, $zero, .L809FA660
/* 023B0 809FA600 00031083 */ sra $v0, $v1, 2
/* 023B4 809FA604 00026080 */ sll $t4, $v0, 2
/* 023B8 809FA608 01826023 */ subu $t4, $t4, $v0
/* 023BC 809FA60C 3C0180A0 */ lui $at, %hi(D_809FAC74) ## $at = 80A00000
/* 023C0 809FA610 C424AC74 */ lwc1 $f4, %lo(D_809FAC74)($at)
/* 023C4 809FA614 000C6080 */ sll $t4, $t4, 2
/* 023C8 809FA618 020C3021 */ addu $a2, $s0, $t4
/* 023CC 809FA61C 240D0096 */ addiu $t5, $zero, 0x0096 ## $t5 = 00000096
/* 023D0 809FA620 240E0096 */ addiu $t6, $zero, 0x0096 ## $t6 = 00000096
/* 023D4 809FA624 240F00FA */ addiu $t7, $zero, 0x00FA ## $t7 = 000000FA
/* 023D8 809FA628 241800EB */ addiu $t8, $zero, 0x00EB ## $t8 = 000000EB
/* 023DC 809FA62C 241900F5 */ addiu $t9, $zero, 0x00F5 ## $t9 = 000000F5
/* 023E0 809FA630 240800FF */ addiu $t0, $zero, 0x00FF ## $t0 = 000000FF
/* 023E4 809FA634 AFA80024 */ sw $t0, 0x0024($sp)
/* 023E8 809FA638 AFB90020 */ sw $t9, 0x0020($sp)
/* 023EC 809FA63C AFB8001C */ sw $t8, 0x001C($sp)
/* 023F0 809FA640 AFAF0018 */ sw $t7, 0x0018($sp)
/* 023F4 809FA644 AFAE0014 */ sw $t6, 0x0014($sp)
/* 023F8 809FA648 AFAD0010 */ sw $t5, 0x0010($sp)
/* 023FC 809FA64C 24C60358 */ addiu $a2, $a2, 0x0358 ## $a2 = 00000358
/* 02400 809FA650 8FA40044 */ lw $a0, 0x0044($sp)
/* 02404 809FA654 24070096 */ addiu $a3, $zero, 0x0096 ## $a3 = 00000096
/* 02408 809FA658 0C00A850 */ jal EffectSsEnIce_SpawnFlyingVec3f
/* 0240C 809FA65C E7A40028 */ swc1 $f4, 0x0028($sp)
.L809FA660:
/* 02410 809FA660 8FBF003C */ lw $ra, 0x003C($sp)
.L809FA664:
/* 02414 809FA664 8FB00038 */ lw $s0, 0x0038($sp)
/* 02418 809FA668 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000
/* 0241C 809FA66C 03E00008 */ jr $ra
/* 02420 809FA670 00000000 */ nop

View File

@ -1,143 +0,0 @@
glabel EnDodongo_Init
/* 004F8 809F8748 27BDFE08 */ addiu $sp, $sp, 0xFE08 ## $sp = FFFFFE08
/* 004FC 809F874C AFB10028 */ sw $s1, 0x0028($sp)
/* 00500 809F8750 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
/* 00504 809F8754 AFBF002C */ sw $ra, 0x002C($sp)
/* 00508 809F8758 AFB00024 */ sw $s0, 0x0024($sp)
/* 0050C 809F875C 240E0003 */ addiu $t6, $zero, 0x0003 ## $t6 = 00000003
/* 00510 809F8760 3C0580A0 */ lui $a1, %hi(D_809FAA14) ## $a1 = 80A00000
/* 00514 809F8764 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00518 809F8768 A08E001F */ sb $t6, 0x001F($a0) ## 0000001F
/* 0051C 809F876C 0C01E037 */ jal Actor_ProcessInitChain
/* 00520 809F8770 24A5AA14 */ addiu $a1, $a1, %lo(D_809FAA14) ## $a1 = 809FAA14
/* 00524 809F8774 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 00528 809F8778 44810000 */ mtc1 $at, $f0 ## $f0 = 1.00
/* 0052C 809F877C 240200FF */ addiu $v0, $zero, 0x00FF ## $v0 = 000000FF
/* 00530 809F8780 241900C8 */ addiu $t9, $zero, 0x00C8 ## $t9 = 000000C8
/* 00534 809F8784 2409000A */ addiu $t1, $zero, 0x000A ## $t1 = 0000000A
/* 00538 809F8788 3C068003 */ lui $a2, %hi(ActorShadow_DrawFunc_Circle)
/* 0053C 809F878C A20203C8 */ sb $v0, 0x03C8($s0) ## 000003C8
/* 00540 809F8790 A20203C5 */ sb $v0, 0x03C5($s0) ## 000003C5
/* 00544 809F8794 A20203C4 */ sb $v0, 0x03C4($s0) ## 000003C4
/* 00548 809F8798 A21903CB */ sb $t9, 0x03CB($s0) ## 000003CB
/* 0054C 809F879C A21903C7 */ sb $t9, 0x03C7($s0) ## 000003C7
/* 00550 809F87A0 A20903C9 */ sb $t1, 0x03C9($s0) ## 000003C9
/* 00554 809F87A4 24C6B5EC */ addiu $a2, %lo(ActorShadow_DrawFunc_Circle)
/* 00558 809F87A8 260400B4 */ addiu $a0, $s0, 0x00B4 ## $a0 = 000000B4
/* 0055C 809F87AC 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
/* 00560 809F87B0 3C074240 */ lui $a3, 0x4240 ## $a3 = 42400000
/* 00564 809F87B4 E6000354 */ swc1 $f0, 0x0354($s0) ## 00000354
/* 00568 809F87B8 E6000350 */ swc1 $f0, 0x0350($s0) ## 00000350
/* 0056C 809F87BC 0C00AC78 */ jal ActorShape_Init
/* 00570 809F87C0 E600034C */ swc1 $f0, 0x034C($s0) ## 0000034C
/* 00574 809F87C4 3C053C99 */ lui $a1, 0x3C99 ## $a1 = 3C990000
/* 00578 809F87C8 34A5999A */ ori $a1, $a1, 0x999A ## $a1 = 3C99999A
/* 0057C 809F87CC 0C00B58B */ jal Actor_SetScale
/* 00580 809F87D0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00584 809F87D4 3C060601 */ lui $a2, 0x0601 ## $a2 = 06010000
/* 00588 809F87D8 3C070600 */ lui $a3, 0x0600 ## $a3 = 06000000
/* 0058C 809F87DC 260A0190 */ addiu $t2, $s0, 0x0190 ## $t2 = 00000190
/* 00590 809F87E0 260B024A */ addiu $t3, $s0, 0x024A ## $t3 = 0000024A
/* 00594 809F87E4 240C001F */ addiu $t4, $zero, 0x001F ## $t4 = 0000001F
/* 00598 809F87E8 AFAC0018 */ sw $t4, 0x0018($sp)
/* 0059C 809F87EC AFAB0014 */ sw $t3, 0x0014($sp)
/* 005A0 809F87F0 AFAA0010 */ sw $t2, 0x0010($sp)
/* 005A4 809F87F4 24E74C20 */ addiu $a3, $a3, 0x4C20 ## $a3 = 06004C20
/* 005A8 809F87F8 24C68318 */ addiu $a2, $a2, 0x8318 ## $a2 = 06008318
/* 005AC 809F87FC 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 005B0 809F8800 0C02915F */ jal SkelAnime_Init
/* 005B4 809F8804 2605014C */ addiu $a1, $s0, 0x014C ## $a1 = 0000014C
/* 005B8 809F8808 3C0F80A0 */ lui $t7, %hi(D_809FA9DC) ## $t7 = 80A00000
/* 005BC 809F880C 240D0004 */ addiu $t5, $zero, 0x0004 ## $t5 = 00000004
/* 005C0 809F8810 240E00FE */ addiu $t6, $zero, 0x00FE ## $t6 = 000000FE
/* 005C4 809F8814 25EFA9DC */ addiu $t7, $t7, %lo(D_809FA9DC) ## $t7 = 809FA9DC
/* 005C8 809F8818 A20D00AF */ sb $t5, 0x00AF($s0) ## 000000AF
/* 005CC 809F881C A20E00AE */ sb $t6, 0x00AE($s0) ## 000000AE
/* 005D0 809F8820 AE0F0098 */ sw $t7, 0x0098($s0) ## 00000098
/* 005D4 809F8824 260503D4 */ addiu $a1, $s0, 0x03D4 ## $a1 = 000003D4
/* 005D8 809F8828 AFA50034 */ sw $a1, 0x0034($sp)
/* 005DC 809F882C 0C017406 */ jal Collider_InitQuad
/* 005E0 809F8830 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 005E4 809F8834 26050454 */ addiu $a1, $s0, 0x0454 ## $a1 = 00000454
/* 005E8 809F8838 AFA50038 */ sw $a1, 0x0038($sp)
/* 005EC 809F883C 0C0171F8 */ jal Collider_InitTris
/* 005F0 809F8840 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 005F4 809F8844 26050588 */ addiu $a1, $s0, 0x0588 ## $a1 = 00000588
/* 005F8 809F8848 AFA5003C */ sw $a1, 0x003C($sp)
/* 005FC 809F884C 0C016EFE */ jal Collider_InitJntSph
/* 00600 809F8850 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 00604 809F8854 3C0780A0 */ lui $a3, %hi(D_809FA98C) ## $a3 = 80A00000
/* 00608 809F8858 24E7A98C */ addiu $a3, $a3, %lo(D_809FA98C) ## $a3 = 809FA98C
/* 0060C 809F885C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 00610 809F8860 8FA50034 */ lw $a1, 0x0034($sp)
/* 00614 809F8864 0C017441 */ jal Collider_SetQuad
/* 00618 809F8868 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
/* 0061C 809F886C 3C0780A0 */ lui $a3, %hi(D_809FA97C) ## $a3 = 80A00000
/* 00620 809F8870 26180474 */ addiu $t8, $s0, 0x0474 ## $t8 = 00000474
/* 00624 809F8874 AFB80010 */ sw $t8, 0x0010($sp)
/* 00628 809F8878 24E7A97C */ addiu $a3, $a3, %lo(D_809FA97C) ## $a3 = 809FA97C
/* 0062C 809F887C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 00630 809F8880 8FA50038 */ lw $a1, 0x0038($sp)
/* 00634 809F8884 0C0172EB */ jal Collider_SetTris
/* 00638 809F8888 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
/* 0063C 809F888C 3C0780A0 */ lui $a3, %hi(D_809FA8B8) ## $a3 = 80A00000
/* 00640 809F8890 261905A8 */ addiu $t9, $s0, 0x05A8 ## $t9 = 000005A8
/* 00644 809F8894 AFB90010 */ sw $t9, 0x0010($sp)
/* 00648 809F8898 24E7A8B8 */ addiu $a3, $a3, %lo(D_809FA8B8) ## $a3 = 809FA8B8
/* 0064C 809F889C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 00650 809F88A0 8FA5003C */ lw $a1, 0x003C($sp)
/* 00654 809F88A4 0C017014 */ jal Collider_SetJntSph
/* 00658 809F88A8 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
/* 0065C 809F88AC 240200FF */ addiu $v0, $zero, 0x00FF ## $v0 = 000000FF
/* 00660 809F88B0 24090040 */ addiu $t1, $zero, 0x0040 ## $t1 = 00000040
/* 00664 809F88B4 240A0008 */ addiu $t2, $zero, 0x0008 ## $t2 = 00000008
/* 00668 809F88B8 240B0002 */ addiu $t3, $zero, 0x0002 ## $t3 = 00000002
/* 0066C 809F88BC 27AC0054 */ addiu $t4, $sp, 0x0054 ## $t4 = FFFFFE5C
/* 00670 809F88C0 A3A201E5 */ sb $v0, 0x01E5($sp)
/* 00674 809F88C4 A3A201E4 */ sb $v0, 0x01E4($sp)
/* 00678 809F88C8 A3A201E2 */ sb $v0, 0x01E2($sp)
/* 0067C 809F88CC A3A201E1 */ sb $v0, 0x01E1($sp)
/* 00680 809F88D0 A3A201E0 */ sb $v0, 0x01E0($sp)
/* 00684 809F88D4 A3A201DE */ sb $v0, 0x01DE($sp)
/* 00688 809F88D8 A3A201DD */ sb $v0, 0x01DD($sp)
/* 0068C 809F88DC A3A201DC */ sb $v0, 0x01DC($sp)
/* 00690 809F88E0 A3A201DB */ sb $v0, 0x01DB($sp)
/* 00694 809F88E4 A3A201DA */ sb $v0, 0x01DA($sp)
/* 00698 809F88E8 A3A201D9 */ sb $v0, 0x01D9($sp)
/* 0069C 809F88EC A3A201D8 */ sb $v0, 0x01D8($sp)
/* 006A0 809F88F0 A3A001E3 */ sb $zero, 0x01E3($sp)
/* 006A4 809F88F4 A3A901DF */ sb $t1, 0x01DF($sp)
/* 006A8 809F88F8 AFAA01E8 */ sw $t2, 0x01E8($sp)
/* 006AC 809F88FC AFA001EC */ sw $zero, 0x01EC($sp)
/* 006B0 809F8900 AFAB01F0 */ sw $t3, 0x01F0($sp)
/* 006B4 809F8904 AFAC0014 */ sw $t4, 0x0014($sp)
/* 006B8 809F8908 A3A201E6 */ sb $v0, 0x01E6($sp)
/* 006BC 809F890C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 006C0 809F8910 260503D0 */ addiu $a1, $s0, 0x03D0 ## $a1 = 000003D0
/* 006C4 809F8914 24060001 */ addiu $a2, $zero, 0x0001 ## $a2 = 00000001
/* 006C8 809F8918 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
/* 006CC 809F891C AFA00010 */ sw $zero, 0x0010($sp)
/* 006D0 809F8920 0C009B35 */ jal Effect_Add
## Effect_Add
/* 006D4 809F8924 A3A001E7 */ sb $zero, 0x01E7($sp)
/* 006D8 809F8928 3C01428C */ lui $at, 0x428C ## $at = 428C0000
/* 006DC 809F892C 44812000 */ mtc1 $at, $f4 ## $f4 = 70.00
/* 006E0 809F8930 240D001D */ addiu $t5, $zero, 0x001D ## $t5 = 0000001D
/* 006E4 809F8934 AFAD0014 */ sw $t5, 0x0014($sp)
/* 006E8 809F8938 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 006EC 809F893C 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 006F0 809F8940 3C064296 */ lui $a2, 0x4296 ## $a2 = 42960000
/* 006F4 809F8944 3C074270 */ lui $a3, 0x4270 ## $a3 = 42700000
/* 006F8 809F8948 0C00B92D */ jal func_8002E4B4
/* 006FC 809F894C E7A40010 */ swc1 $f4, 0x0010($sp)
/* 00700 809F8950 0C27E273 */ jal func_809F89CC
/* 00704 809F8954 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00708 809F8958 8FBF002C */ lw $ra, 0x002C($sp)
/* 0070C 809F895C 8FB00024 */ lw $s0, 0x0024($sp)
/* 00710 809F8960 8FB10028 */ lw $s1, 0x0028($sp)
/* 00714 809F8964 03E00008 */ jr $ra
/* 00718 809F8968 27BD01F8 */ addiu $sp, $sp, 0x01F8 ## $sp = 00000000

View File

@ -1,128 +0,0 @@
glabel EnDodongo_Update
/* 01CE4 809F9F34 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0
/* 01CE8 809F9F38 AFBF0024 */ sw $ra, 0x0024($sp)
/* 01CEC 809F9F3C AFB10020 */ sw $s1, 0x0020($sp)
/* 01CF0 809F9F40 AFB0001C */ sw $s0, 0x001C($sp)
/* 01CF4 809F9F44 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 01CF8 809F9F48 0C27E728 */ jal func_809F9CA0
/* 01CFC 809F9F4C 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
/* 01D00 809F9F50 920E00B1 */ lbu $t6, 0x00B1($s0) ## 000000B1
/* 01D04 809F9F54 2401000E */ addiu $at, $zero, 0x000E ## $at = 0000000E
/* 01D08 809F9F58 51C1001A */ beql $t6, $at, .L809F9FC4
/* 01D0C 809F9F5C 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 01D10 809F9F60 8E190308 */ lw $t9, 0x0308($s0) ## 00000308
/* 01D14 809F9F64 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01D18 809F9F68 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
/* 01D1C 809F9F6C 0320F809 */ jalr $ra, $t9
/* 01D20 809F9F70 00000000 */ nop
/* 01D24 809F9F74 0C00B638 */ jal Actor_MoveForward
/* 01D28 809F9F78 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01D2C 809F9F7C 3C01428C */ lui $at, 0x428C ## $at = 428C0000
/* 01D30 809F9F80 44812000 */ mtc1 $at, $f4 ## $f4 = 70.00
/* 01D34 809F9F84 240F001D */ addiu $t7, $zero, 0x001D ## $t7 = 0000001D
/* 01D38 809F9F88 AFAF0014 */ sw $t7, 0x0014($sp)
/* 01D3C 809F9F8C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 01D40 809F9F90 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 01D44 809F9F94 3C064296 */ lui $a2, 0x4296 ## $a2 = 42960000
/* 01D48 809F9F98 3C074270 */ lui $a3, 0x4270 ## $a3 = 42700000
/* 01D4C 809F9F9C 0C00B92D */ jal func_8002E4B4
/* 01D50 809F9FA0 E7A40010 */ swc1 $f4, 0x0010($sp)
/* 01D54 809F9FA4 96180088 */ lhu $t8, 0x0088($s0) ## 00000088
/* 01D58 809F9FA8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01D5C 809F9FAC 33080002 */ andi $t0, $t8, 0x0002 ## $t0 = 00000000
/* 01D60 809F9FB0 51000004 */ beql $t0, $zero, .L809F9FC4
/* 01D64 809F9FB4 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 01D68 809F9FB8 0C00BE0A */ jal Audio_PlayActorSound2
/* 01D6C 809F9FBC 2405387A */ addiu $a1, $zero, 0x387A ## $a1 = 0000387A
/* 01D70 809F9FC0 3C010001 */ lui $at, 0x0001 ## $at = 00010000
.L809F9FC4:
/* 01D74 809F9FC4 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
/* 01D78 809F9FC8 02212821 */ addu $a1, $s1, $at
/* 01D7C 809F9FCC 26060588 */ addiu $a2, $s0, 0x0588 ## $a2 = 00000588
/* 01D80 809F9FD0 AFA6002C */ sw $a2, 0x002C($sp)
/* 01D84 809F9FD4 AFA50034 */ sw $a1, 0x0034($sp)
/* 01D88 809F9FD8 0C017713 */ jal CollisionCheck_SetOC
## CollisionCheck_setOT
/* 01D8C 809F9FDC 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 01D90 809F9FE0 8E030304 */ lw $v1, 0x0304($s0) ## 00000304
/* 01D94 809F9FE4 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
/* 01D98 809F9FE8 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 01D9C 809F9FEC 10610004 */ beq $v1, $at, .L809FA000
/* 01DA0 809F9FF0 8FA50034 */ lw $a1, 0x0034($sp)
/* 01DA4 809F9FF4 0C01767D */ jal CollisionCheck_SetAC
## CollisionCheck_setAC
/* 01DA8 809F9FF8 26060454 */ addiu $a2, $s0, 0x0454 ## $a2 = 00000454
/* 01DAC 809F9FFC 8E030304 */ lw $v1, 0x0304($s0) ## 00000304
.L809FA000:
/* 01DB0 809FA000 28610003 */ slti $at, $v1, 0x0003
/* 01DB4 809FA004 14200005 */ bne $at, $zero, .L809FA01C
/* 01DB8 809FA008 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 01DBC 809FA00C 8FA50034 */ lw $a1, 0x0034($sp)
/* 01DC0 809FA010 0C01767D */ jal CollisionCheck_SetAC
## CollisionCheck_setAC
/* 01DC4 809FA014 8FA6002C */ lw $a2, 0x002C($sp)
/* 01DC8 809FA018 8E030304 */ lw $v1, 0x0304($s0) ## 00000304
.L809FA01C:
/* 01DCC 809FA01C 28610004 */ slti $at, $v1, 0x0004
/* 01DD0 809FA020 14200007 */ bne $at, $zero, .L809FA040
/* 01DD4 809FA024 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01DD8 809FA028 0C27E9B6 */ jal func_809FA6D8
/* 01DDC 809FA02C 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
/* 01DE0 809FA030 50400004 */ beql $v0, $zero, .L809FA044
/* 01DE4 809FA034 8E090304 */ lw $t1, 0x0304($s0) ## 00000304
/* 01DE8 809FA038 0C27E2DF */ jal func_809F8B7C
/* 01DEC 809FA03C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
.L809FA040:
/* 01DF0 809FA040 8E090304 */ lw $t1, 0x0304($s0) ## 00000304
.L809FA044:
/* 01DF4 809FA044 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
/* 01DF8 809FA048 15210011 */ bne $t1, $at, .L809FA090
/* 01DFC 809FA04C 3C0141E8 */ lui $at, 0x41E8 ## $at = 41E80000
/* 01E00 809FA050 44813000 */ mtc1 $at, $f6 ## $f6 = 29.00
/* 01E04 809FA054 C6000164 */ lwc1 $f0, 0x0164($s0) ## 00000164
/* 01E08 809FA058 3C01422C */ lui $at, 0x422C ## $at = 422C0000
/* 01E0C 809FA05C 4600303C */ c.lt.s $f6, $f0
/* 01E10 809FA060 00000000 */ nop
/* 01E14 809FA064 4500000A */ bc1f .L809FA090
/* 01E18 809FA068 00000000 */ nop
/* 01E1C 809FA06C 44814000 */ mtc1 $at, $f8 ## $f8 = 43.00
/* 01E20 809FA070 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 01E24 809FA074 8FA50034 */ lw $a1, 0x0034($sp)
/* 01E28 809FA078 4608003C */ c.lt.s $f0, $f8
/* 01E2C 809FA07C 00000000 */ nop
/* 01E30 809FA080 45000003 */ bc1f .L809FA090
/* 01E34 809FA084 00000000 */ nop
/* 01E38 809FA088 0C0175E7 */ jal CollisionCheck_SetAT
## CollisionCheck_setAT
/* 01E3C 809FA08C 260603D4 */ addiu $a2, $s0, 0x03D4 ## $a2 = 000003D4
.L809FA090:
/* 01E40 809FA090 0C01DE1C */ jal Math_Sins
## sins?
/* 01E44 809FA094 860400B6 */ lh $a0, 0x00B6($s0) ## 000000B6
/* 01E48 809FA098 3C01C1F0 */ lui $at, 0xC1F0 ## $at = C1F00000
/* 01E4C 809FA09C 44815000 */ mtc1 $at, $f10 ## $f10 = -30.00
/* 01E50 809FA0A0 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
/* 01E54 809FA0A4 C6120024 */ lwc1 $f18, 0x0024($s0) ## 00000024
/* 01E58 809FA0A8 460A0402 */ mul.s $f16, $f0, $f10
/* 01E5C 809FA0AC 44814000 */ mtc1 $at, $f8 ## $f8 = 20.00
/* 01E60 809FA0B0 C6060028 */ lwc1 $f6, 0x0028($s0) ## 00000028
/* 01E64 809FA0B4 860400B6 */ lh $a0, 0x00B6($s0) ## 000000B6
/* 01E68 809FA0B8 46083280 */ add.s $f10, $f6, $f8
/* 01E6C 809FA0BC 46128100 */ add.s $f4, $f16, $f18
/* 01E70 809FA0C0 E60A003C */ swc1 $f10, 0x003C($s0) ## 0000003C
/* 01E74 809FA0C4 0C01DE0D */ jal Math_Coss
## coss?
/* 01E78 809FA0C8 E6040038 */ swc1 $f4, 0x0038($s0) ## 00000038
/* 01E7C 809FA0CC 3C01C1F0 */ lui $at, 0xC1F0 ## $at = C1F00000
/* 01E80 809FA0D0 44818000 */ mtc1 $at, $f16 ## $f16 = -30.00
/* 01E84 809FA0D4 C604002C */ lwc1 $f4, 0x002C($s0) ## 0000002C
/* 01E88 809FA0D8 46100482 */ mul.s $f18, $f0, $f16
/* 01E8C 809FA0DC 46049180 */ add.s $f6, $f18, $f4
/* 01E90 809FA0E0 E6060040 */ swc1 $f6, 0x0040($s0) ## 00000040
/* 01E94 809FA0E4 8FBF0024 */ lw $ra, 0x0024($sp)
/* 01E98 809FA0E8 8FB10020 */ lw $s1, 0x0020($sp)
/* 01E9C 809FA0EC 8FB0001C */ lw $s0, 0x001C($sp)
/* 01EA0 809FA0F0 03E00008 */ jr $ra
/* 01EA4 809FA0F4 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000

View File

@ -1,3 +0,0 @@
glabel func_809F8250
/* 00000 809F8250 03E00008 */ jr $ra
/* 00004 809F8254 AC850308 */ sw $a1, 0x0308($a0) ## 00000308

View File

@ -1,386 +0,0 @@
.late_rodata
glabel D_809FAB60
.float 0.02
glabel D_809FAB64
.float 0.1
glabel D_809FAB68
.float 0.15
glabel D_809FAB6C
.float 0.1
glabel D_809FAB70
.float 0.15
glabel D_809FAB74
.float 0.02
glabel D_809FAB78
.float 0.1
glabel D_809FAB7C
.float 0.15
glabel D_809FAB80
.float 0.1
glabel D_809FAB84
.float 0.15
glabel D_809FAB88
.float 0.02
glabel D_809FAB8C
.float 0.1
glabel D_809FAB90
.float 0.15
glabel D_809FAB94
.float 0.1
glabel D_809FAB98
.float 0.15
.text
glabel func_809F8258
/* 00008 809F8258 27BDFF78 */ addiu $sp, $sp, 0xFF78 ## $sp = FFFFFF78
/* 0000C 809F825C 3C0F80A0 */ lui $t7, %hi(D_809FA9FC) ## $t7 = 80A00000
/* 00010 809F8260 AFBF0044 */ sw $ra, 0x0044($sp)
/* 00014 809F8264 AFB00040 */ sw $s0, 0x0040($sp)
/* 00018 809F8268 F7B60038 */ sdc1 $f22, 0x0038($sp)
/* 0001C 809F826C F7B40030 */ sdc1 $f20, 0x0030($sp)
/* 00020 809F8270 AFA5008C */ sw $a1, 0x008C($sp)
/* 00024 809F8274 25EFA9FC */ addiu $t7, $t7, %lo(D_809FA9FC) ## $t7 = 809FA9FC
/* 00028 809F8278 8DF90000 */ lw $t9, 0x0000($t7) ## 809FA9FC
/* 0002C 809F827C 27AE0078 */ addiu $t6, $sp, 0x0078 ## $t6 = FFFFFFF0
/* 00030 809F8280 8DF80004 */ lw $t8, 0x0004($t7) ## 809FAA00
/* 00034 809F8284 ADD90000 */ sw $t9, 0x0000($t6) ## FFFFFFF0
/* 00038 809F8288 8DF90008 */ lw $t9, 0x0008($t7) ## 809FAA04
/* 0003C 809F828C 3C0980A0 */ lui $t1, %hi(D_809FAA08) ## $t1 = 80A00000
/* 00040 809F8290 2529AA08 */ addiu $t1, $t1, %lo(D_809FAA08) ## $t1 = 809FAA08
/* 00044 809F8294 ADD80004 */ sw $t8, 0x0004($t6) ## FFFFFFF4
/* 00048 809F8298 ADD90008 */ sw $t9, 0x0008($t6) ## FFFFFFF8
/* 0004C 809F829C 8D2B0000 */ lw $t3, 0x0000($t1) ## 809FAA08
/* 00050 809F82A0 27A8006C */ addiu $t0, $sp, 0x006C ## $t0 = FFFFFFE4
/* 00054 809F82A4 8D2A0004 */ lw $t2, 0x0004($t1) ## 809FAA0C
/* 00058 809F82A8 AD0B0000 */ sw $t3, 0x0000($t0) ## FFFFFFE4
/* 0005C 809F82AC 8D2B0008 */ lw $t3, 0x0008($t1) ## 809FAA10
/* 00060 809F82B0 AD0A0004 */ sw $t2, 0x0004($t0) ## FFFFFFE8
/* 00064 809F82B4 27AC0060 */ addiu $t4, $sp, 0x0060 ## $t4 = FFFFFFD8
/* 00068 809F82B8 AD0B0008 */ sw $t3, 0x0008($t0) ## FFFFFFEC
/* 0006C 809F82BC 8C8E0340 */ lw $t6, 0x0340($a0) ## 00000340
/* 00070 809F82C0 3C014680 */ lui $at, 0x4680 ## $at = 46800000
/* 00074 809F82C4 44816000 */ mtc1 $at, $f12 ## $f12 = 16384.00
/* 00078 809F82C8 AD8E0000 */ sw $t6, 0x0000($t4) ## FFFFFFD8
/* 0007C 809F82CC 8C8D0344 */ lw $t5, 0x0344($a0) ## 00000344
/* 00080 809F82D0 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00084 809F82D4 AD8D0004 */ sw $t5, 0x0004($t4) ## FFFFFFDC
/* 00088 809F82D8 8C8E0348 */ lw $t6, 0x0348($a0) ## 00000348
/* 0008C 809F82DC 0C00CFC8 */ jal Math_Rand_CenteredFloat
/* 00090 809F82E0 AD8E0008 */ sw $t6, 0x0008($t4) ## FFFFFFE0
/* 00094 809F82E4 4600010D */ trunc.w.s $f4, $f0
/* 00098 809F82E8 44082000 */ mfc1 $t0, $f4
/* 0009C 809F82EC 00000000 */ nop
/* 000A0 809F82F0 A7A8005E */ sh $t0, 0x005E($sp)
/* 000A4 809F82F4 861800B6 */ lh $t8, 0x00B6($s0) ## 000000B6
/* 000A8 809F82F8 03082021 */ addu $a0, $t8, $t0
/* 000AC 809F82FC 00042400 */ sll $a0, $a0, 16
/* 000B0 809F8300 0C01DE0D */ jal Math_Coss
## coss?
/* 000B4 809F8304 00042403 */ sra $a0, $a0, 16
/* 000B8 809F8308 860900B6 */ lh $t1, 0x00B6($s0) ## 000000B6
/* 000BC 809F830C 87AA005E */ lh $t2, 0x005E($sp)
/* 000C0 809F8310 46000506 */ mov.s $f20, $f0
/* 000C4 809F8314 012A2021 */ addu $a0, $t1, $t2
/* 000C8 809F8318 00042400 */ sll $a0, $a0, 16
/* 000CC 809F831C 0C01DE1C */ jal Math_Sins
## sins?
/* 000D0 809F8320 00042403 */ sra $a0, $a0, 16
/* 000D4 809F8324 920203C4 */ lbu $v0, 0x03C4($s0) ## 000003C4
/* 000D8 809F8328 46000586 */ mov.s $f22, $f0
/* 000DC 809F832C 2841001F */ slti $at, $v0, 0x001F
/* 000E0 809F8330 54200007 */ bnel $at, $zero, .L809F8350
/* 000E4 809F8334 920203C6 */ lbu $v0, 0x03C6($s0) ## 000003C6
/* 000E8 809F8338 920C03C5 */ lbu $t4, 0x03C5($s0) ## 000003C5
/* 000EC 809F833C 244BFFF0 */ addiu $t3, $v0, 0xFFF0 ## $t3 = FFFFFFF0
/* 000F0 809F8340 A20B03C4 */ sb $t3, 0x03C4($s0) ## 000003C4
/* 000F4 809F8344 258DFFF0 */ addiu $t5, $t4, 0xFFF0 ## $t5 = FFFFFFF0
/* 000F8 809F8348 A20D03C5 */ sb $t5, 0x03C5($s0) ## 000003C5
/* 000FC 809F834C 920203C6 */ lbu $v0, 0x03C6($s0) ## 000003C6
.L809F8350:
/* 00100 809F8350 2841001E */ slti $at, $v0, 0x001E
/* 00104 809F8354 5020000A */ beql $at, $zero, .L809F8380
/* 00108 809F8358 3C014060 */ lui $at, 0x4060 ## $at = 40600000
/* 0010C 809F835C 920F03C7 */ lbu $t7, 0x03C7($s0) ## 000003C7
/* 00110 809F8360 921803CB */ lbu $t8, 0x03CB($s0) ## 000003CB
/* 00114 809F8364 244E0005 */ addiu $t6, $v0, 0x0005 ## $t6 = 00000005
/* 00118 809F8368 25F90008 */ addiu $t9, $t7, 0x0008 ## $t9 = 00000008
/* 0011C 809F836C 27080008 */ addiu $t0, $t8, 0x0008 ## $t0 = 00000008
/* 00120 809F8370 A20E03C6 */ sb $t6, 0x03C6($s0) ## 000003C6
/* 00124 809F8374 A21903C7 */ sb $t9, 0x03C7($s0) ## 000003C7
/* 00128 809F8378 A20803CB */ sb $t0, 0x03CB($s0) ## 000003CB
/* 0012C 809F837C 3C014060 */ lui $at, 0x4060 ## $at = 40600000
.L809F8380:
/* 00130 809F8380 44810000 */ mtc1 $at, $f0 ## $f0 = 3.50
/* 00134 809F8384 920203C8 */ lbu $v0, 0x03C8($s0) ## 000003C8
/* 00138 809F8388 4600B182 */ mul.s $f6, $f22, $f0
/* 0013C 809F838C 10400002 */ beq $v0, $zero, .L809F8398
/* 00140 809F8390 2449FFF1 */ addiu $t1, $v0, 0xFFF1 ## $t1 = FFFFFFF1
/* 00144 809F8394 A20903C8 */ sb $t1, 0x03C8($s0) ## 000003C8
.L809F8398:
/* 00148 809F8398 920203C9 */ lbu $v0, 0x03C9($s0) ## 000003C9
/* 0014C 809F839C 10400002 */ beq $v0, $zero, .L809F83A8
/* 00150 809F83A0 244AFFFF */ addiu $t2, $v0, 0xFFFF ## $t2 = FFFFFFFF
/* 00154 809F83A4 A20A03C9 */ sb $t2, 0x03C9($s0) ## 000003C9
.L809F83A8:
/* 00158 809F83A8 E7A60078 */ swc1 $f6, 0x0078($sp)
/* 0015C 809F83AC 920B03C8 */ lbu $t3, 0x03C8($s0) ## 000003C8
/* 00160 809F83B0 4600A182 */ mul.s $f6, $f20, $f0
/* 00164 809F83B4 448B4000 */ mtc1 $t3, $f8 ## $f8 = NaN
/* 00168 809F83B8 05610005 */ bgez $t3, .L809F83D0
/* 0016C 809F83BC 468042A0 */ cvt.s.w $f10, $f8
/* 00170 809F83C0 3C014F80 */ lui $at, 0x4F80 ## $at = 4F800000
/* 00174 809F83C4 44818000 */ mtc1 $at, $f16 ## $f16 = 4294967296.00
/* 00178 809F83C8 00000000 */ nop
/* 0017C 809F83CC 46105280 */ add.s $f10, $f10, $f16
.L809F83D0:
/* 00180 809F83D0 3C0180A0 */ lui $at, %hi(D_809FAB60) ## $at = 80A00000
/* 00184 809F83D4 C432AB60 */ lwc1 $f18, %lo(D_809FAB60)($at)
/* 00188 809F83D8 E7A60080 */ swc1 $f6, 0x0080($sp)
/* 0018C 809F83DC 46125102 */ mul.s $f4, $f10, $f18
/* 00190 809F83E0 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 00194 809F83E4 E7A4007C */ swc1 $f4, 0x007C($sp)
/* 00198 809F83E8 3C0180A0 */ lui $at, %hi(D_809FAB64) ## $at = 80A00000
/* 0019C 809F83EC C428AB64 */ lwc1 $f8, %lo(D_809FAB64)($at)
/* 001A0 809F83F0 3C0180A0 */ lui $at, %hi(D_809FAB68) ## $at = 80A00000
/* 001A4 809F83F4 C42AAB68 */ lwc1 $f10, %lo(D_809FAB68)($at)
/* 001A8 809F83F8 46080402 */ mul.s $f16, $f0, $f8
/* 001AC 809F83FC 4600B107 */ neg.s $f4, $f22
/* 001B0 809F8400 460A8480 */ add.s $f18, $f16, $f10
/* 001B4 809F8404 46049182 */ mul.s $f6, $f18, $f4
/* 001B8 809F8408 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 001BC 809F840C E7A6006C */ swc1 $f6, 0x006C($sp)
/* 001C0 809F8410 3C0180A0 */ lui $at, %hi(D_809FAB6C) ## $at = 80A00000
/* 001C4 809F8414 C428AB6C */ lwc1 $f8, %lo(D_809FAB6C)($at)
/* 001C8 809F8418 3C0180A0 */ lui $at, %hi(D_809FAB70) ## $at = 80A00000
/* 001CC 809F841C C42AAB70 */ lwc1 $f10, %lo(D_809FAB70)($at)
/* 001D0 809F8420 46080402 */ mul.s $f16, $f0, $f8
/* 001D4 809F8424 4600A107 */ neg.s $f4, $f20
/* 001D8 809F8428 260203C4 */ addiu $v0, $s0, 0x03C4 ## $v0 = 000003C4
/* 001DC 809F842C 260303C8 */ addiu $v1, $s0, 0x03C8 ## $v1 = 000003C8
/* 001E0 809F8430 240C0064 */ addiu $t4, $zero, 0x0064 ## $t4 = 00000064
/* 001E4 809F8434 240D0019 */ addiu $t5, $zero, 0x0019 ## $t5 = 00000019
/* 001E8 809F8438 240E0014 */ addiu $t6, $zero, 0x0014 ## $t6 = 00000014
/* 001EC 809F843C 460A8480 */ add.s $f18, $f16, $f10
/* 001F0 809F8440 AFAE0020 */ sw $t6, 0x0020($sp)
/* 001F4 809F8444 AFAD001C */ sw $t5, 0x001C($sp)
/* 001F8 809F8448 AFAC0018 */ sw $t4, 0x0018($sp)
/* 001FC 809F844C 46049182 */ mul.s $f6, $f18, $f4
/* 00200 809F8450 AFA30014 */ sw $v1, 0x0014($sp)
/* 00204 809F8454 AFA3004C */ sw $v1, 0x004C($sp)
/* 00208 809F8458 AFA20010 */ sw $v0, 0x0010($sp)
/* 0020C 809F845C AFA20050 */ sw $v0, 0x0050($sp)
/* 00210 809F8460 8FA4008C */ lw $a0, 0x008C($sp)
/* 00214 809F8464 27A50060 */ addiu $a1, $sp, 0x0060 ## $a1 = FFFFFFD8
/* 00218 809F8468 E7A60074 */ swc1 $f6, 0x0074($sp)
/* 0021C 809F846C 27A60078 */ addiu $a2, $sp, 0x0078 ## $a2 = FFFFFFF0
/* 00220 809F8470 0C00A0DB */ jal func_8002836C
/* 00224 809F8474 27A7006C */ addiu $a3, $sp, 0x006C ## $a3 = FFFFFFE4
/* 00228 809F8478 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 0022C 809F847C 00000000 */ nop
/* 00230 809F8480 3C014600 */ lui $at, 0x4600 ## $at = 46000000
/* 00234 809F8484 44814000 */ mtc1 $at, $f8 ## $f8 = 8192.00
/* 00238 809F8488 00000000 */ nop
/* 0023C 809F848C 46080402 */ mul.s $f16, $f0, $f8
/* 00240 809F8490 4600828D */ trunc.w.s $f10, $f16
/* 00244 809F8494 44085000 */ mfc1 $t0, $f10
/* 00248 809F8498 00000000 */ nop
/* 0024C 809F849C A7A8005E */ sh $t0, 0x005E($sp)
/* 00250 809F84A0 861900B6 */ lh $t9, 0x00B6($s0) ## 000000B6
/* 00254 809F84A4 03282021 */ addu $a0, $t9, $t0
/* 00258 809F84A8 00042400 */ sll $a0, $a0, 16
/* 0025C 809F84AC 0C01DE0D */ jal Math_Coss
## coss?
/* 00260 809F84B0 00042403 */ sra $a0, $a0, 16
/* 00264 809F84B4 860900B6 */ lh $t1, 0x00B6($s0) ## 000000B6
/* 00268 809F84B8 87AA005E */ lh $t2, 0x005E($sp)
/* 0026C 809F84BC 46000506 */ mov.s $f20, $f0
/* 00270 809F84C0 012A2021 */ addu $a0, $t1, $t2
/* 00274 809F84C4 00042400 */ sll $a0, $a0, 16
/* 00278 809F84C8 0C01DE1C */ jal Math_Sins
## sins?
/* 0027C 809F84CC 00042403 */ sra $a0, $a0, 16
/* 00280 809F84D0 3C0140C0 */ lui $at, 0x40C0 ## $at = 40C00000
/* 00284 809F84D4 44811000 */ mtc1 $at, $f2 ## $f2 = 6.00
/* 00288 809F84D8 C7B20060 */ lwc1 $f18, 0x0060($sp)
/* 0028C 809F84DC 3C014060 */ lui $at, 0x4060 ## $at = 40600000
/* 00290 809F84E0 4602A102 */ mul.s $f4, $f20, $f2
/* 00294 809F84E4 44816000 */ mtc1 $at, $f12 ## $f12 = 3.50
/* 00298 809F84E8 C7A80068 */ lwc1 $f8, 0x0068($sp)
/* 0029C 809F84EC 46020402 */ mul.s $f16, $f0, $f2
/* 002A0 809F84F0 46000586 */ mov.s $f22, $f0
/* 002A4 809F84F4 46049181 */ sub.s $f6, $f18, $f4
/* 002A8 809F84F8 4600A487 */ neg.s $f18, $f20
/* 002AC 809F84FC 46104280 */ add.s $f10, $f8, $f16
/* 002B0 809F8500 460C9102 */ mul.s $f4, $f18, $f12
/* 002B4 809F8504 E7A60060 */ swc1 $f6, 0x0060($sp)
/* 002B8 809F8508 E7AA0068 */ swc1 $f10, 0x0068($sp)
/* 002BC 809F850C E7A40078 */ swc1 $f4, 0x0078($sp)
/* 002C0 809F8510 920B03C8 */ lbu $t3, 0x03C8($s0) ## 000003C8
/* 002C4 809F8514 460C0102 */ mul.s $f4, $f0, $f12
/* 002C8 809F8518 448B3000 */ mtc1 $t3, $f6 ## $f6 = 0.00
/* 002CC 809F851C 05610005 */ bgez $t3, .L809F8534
/* 002D0 809F8520 46803220 */ cvt.s.w $f8, $f6
/* 002D4 809F8524 3C014F80 */ lui $at, 0x4F80 ## $at = 4F800000
/* 002D8 809F8528 44818000 */ mtc1 $at, $f16 ## $f16 = 4294967296.00
/* 002DC 809F852C 00000000 */ nop
/* 002E0 809F8530 46104200 */ add.s $f8, $f8, $f16
.L809F8534:
/* 002E4 809F8534 3C0180A0 */ lui $at, %hi(D_809FAB74) ## $at = 80A00000
/* 002E8 809F8538 C42AAB74 */ lwc1 $f10, %lo(D_809FAB74)($at)
/* 002EC 809F853C E7A40080 */ swc1 $f4, 0x0080($sp)
/* 002F0 809F8540 460A4482 */ mul.s $f18, $f8, $f10
/* 002F4 809F8544 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 002F8 809F8548 E7B2007C */ swc1 $f18, 0x007C($sp)
/* 002FC 809F854C 3C0180A0 */ lui $at, %hi(D_809FAB78) ## $at = 80A00000
/* 00300 809F8550 C426AB78 */ lwc1 $f6, %lo(D_809FAB78)($at)
/* 00304 809F8554 3C0180A0 */ lui $at, %hi(D_809FAB7C) ## $at = 80A00000
/* 00308 809F8558 C428AB7C */ lwc1 $f8, %lo(D_809FAB7C)($at)
/* 0030C 809F855C 46060402 */ mul.s $f16, $f0, $f6
/* 00310 809F8560 46088280 */ add.s $f10, $f16, $f8
/* 00314 809F8564 46145482 */ mul.s $f18, $f10, $f20
/* 00318 809F8568 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 0031C 809F856C E7B2006C */ swc1 $f18, 0x006C($sp)
/* 00320 809F8570 3C0180A0 */ lui $at, %hi(D_809FAB80) ## $at = 80A00000
/* 00324 809F8574 C424AB80 */ lwc1 $f4, %lo(D_809FAB80)($at)
/* 00328 809F8578 3C0180A0 */ lui $at, %hi(D_809FAB84) ## $at = 80A00000
/* 0032C 809F857C C430AB84 */ lwc1 $f16, %lo(D_809FAB84)($at)
/* 00330 809F8580 46040182 */ mul.s $f6, $f0, $f4
/* 00334 809F8584 4600B287 */ neg.s $f10, $f22
/* 00338 809F8588 8FAC0050 */ lw $t4, 0x0050($sp)
/* 0033C 809F858C 8FAD004C */ lw $t5, 0x004C($sp)
/* 00340 809F8590 240E0064 */ addiu $t6, $zero, 0x0064 ## $t6 = 00000064
/* 00344 809F8594 240F0019 */ addiu $t7, $zero, 0x0019 ## $t7 = 00000019
/* 00348 809F8598 24180014 */ addiu $t8, $zero, 0x0014 ## $t8 = 00000014
/* 0034C 809F859C 46103200 */ add.s $f8, $f6, $f16
/* 00350 809F85A0 AFB80020 */ sw $t8, 0x0020($sp)
/* 00354 809F85A4 AFAF001C */ sw $t7, 0x001C($sp)
/* 00358 809F85A8 AFAE0018 */ sw $t6, 0x0018($sp)
/* 0035C 809F85AC 460A4482 */ mul.s $f18, $f8, $f10
/* 00360 809F85B0 8FA4008C */ lw $a0, 0x008C($sp)
/* 00364 809F85B4 27A50060 */ addiu $a1, $sp, 0x0060 ## $a1 = FFFFFFD8
/* 00368 809F85B8 27A60078 */ addiu $a2, $sp, 0x0078 ## $a2 = FFFFFFF0
/* 0036C 809F85BC 27A7006C */ addiu $a3, $sp, 0x006C ## $a3 = FFFFFFE4
/* 00370 809F85C0 AFAC0010 */ sw $t4, 0x0010($sp)
/* 00374 809F85C4 AFAD0014 */ sw $t5, 0x0014($sp)
/* 00378 809F85C8 0C00A0DB */ jal func_8002836C
/* 0037C 809F85CC E7B20074 */ swc1 $f18, 0x0074($sp)
/* 00380 809F85D0 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 00384 809F85D4 00000000 */ nop
/* 00388 809F85D8 3C014600 */ lui $at, 0x4600 ## $at = 46000000
/* 0038C 809F85DC 44812000 */ mtc1 $at, $f4 ## $f4 = 8192.00
/* 00390 809F85E0 00000000 */ nop
/* 00394 809F85E4 46040182 */ mul.s $f6, $f0, $f4
/* 00398 809F85E8 4600340D */ trunc.w.s $f16, $f6
/* 0039C 809F85EC 440A8000 */ mfc1 $t2, $f16
/* 003A0 809F85F0 00000000 */ nop
/* 003A4 809F85F4 A7AA005E */ sh $t2, 0x005E($sp)
/* 003A8 809F85F8 860800B6 */ lh $t0, 0x00B6($s0) ## 000000B6
/* 003AC 809F85FC 010A2021 */ addu $a0, $t0, $t2
/* 003B0 809F8600 00042400 */ sll $a0, $a0, 16
/* 003B4 809F8604 0C01DE0D */ jal Math_Coss
## coss?
/* 003B8 809F8608 00042403 */ sra $a0, $a0, 16
/* 003BC 809F860C 860B00B6 */ lh $t3, 0x00B6($s0) ## 000000B6
/* 003C0 809F8610 87AC005E */ lh $t4, 0x005E($sp)
/* 003C4 809F8614 46000506 */ mov.s $f20, $f0
/* 003C8 809F8618 016C2021 */ addu $a0, $t3, $t4
/* 003CC 809F861C 00042400 */ sll $a0, $a0, 16
/* 003D0 809F8620 0C01DE1C */ jal Math_Sins
## sins?
/* 003D4 809F8624 00042403 */ sra $a0, $a0, 16
/* 003D8 809F8628 3C0140C0 */ lui $at, 0x40C0 ## $at = 40C00000
/* 003DC 809F862C 44811000 */ mtc1 $at, $f2 ## $f2 = 6.00
/* 003E0 809F8630 C6080340 */ lwc1 $f8, 0x0340($s0) ## 00000340
/* 003E4 809F8634 3C014060 */ lui $at, 0x4060 ## $at = 40600000
/* 003E8 809F8638 4602A282 */ mul.s $f10, $f20, $f2
/* 003EC 809F863C 46000586 */ mov.s $f22, $f0
/* 003F0 809F8640 46020182 */ mul.s $f6, $f0, $f2
/* 003F4 809F8644 460A4480 */ add.s $f18, $f8, $f10
/* 003F8 809F8648 44814000 */ mtc1 $at, $f8 ## $f8 = 3.50
/* 003FC 809F864C 3C014F80 */ lui $at, 0x4F80 ## $at = 4F800000
/* 00400 809F8650 E7B20060 */ swc1 $f18, 0x0060($sp)
/* 00404 809F8654 4608A282 */ mul.s $f10, $f20, $f8
/* 00408 809F8658 C6040348 */ lwc1 $f4, 0x0348($s0) ## 00000348
/* 0040C 809F865C 46062401 */ sub.s $f16, $f4, $f6
/* 00410 809F8660 E7AA0078 */ swc1 $f10, 0x0078($sp)
/* 00414 809F8664 E7B00068 */ swc1 $f16, 0x0068($sp)
/* 00418 809F8668 920D03C8 */ lbu $t5, 0x03C8($s0) ## 000003C8
/* 0041C 809F866C 448D9000 */ mtc1 $t5, $f18 ## $f18 = 0.00
/* 00420 809F8670 05A10004 */ bgez $t5, .L809F8684
/* 00424 809F8674 46809120 */ cvt.s.w $f4, $f18
/* 00428 809F8678 44813000 */ mtc1 $at, $f6 ## $f6 = 4294967296.00
/* 0042C 809F867C 00000000 */ nop
/* 00430 809F8680 46062100 */ add.s $f4, $f4, $f6
.L809F8684:
/* 00434 809F8684 3C0180A0 */ lui $at, %hi(D_809FAB88) ## $at = 80A00000
/* 00438 809F8688 C430AB88 */ lwc1 $f16, %lo(D_809FAB88)($at)
/* 0043C 809F868C 3C014060 */ lui $at, 0x4060 ## $at = 40600000
/* 00440 809F8690 44819000 */ mtc1 $at, $f18 ## $f18 = 3.50
/* 00444 809F8694 46102202 */ mul.s $f8, $f4, $f16
/* 00448 809F8698 46000287 */ neg.s $f10, $f0
/* 0044C 809F869C 46125182 */ mul.s $f6, $f10, $f18
/* 00450 809F86A0 E7A8007C */ swc1 $f8, 0x007C($sp)
/* 00454 809F86A4 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 00458 809F86A8 E7A60080 */ swc1 $f6, 0x0080($sp)
/* 0045C 809F86AC 3C0180A0 */ lui $at, %hi(D_809FAB8C) ## $at = 80A00000
/* 00460 809F86B0 C424AB8C */ lwc1 $f4, %lo(D_809FAB8C)($at)
/* 00464 809F86B4 3C0180A0 */ lui $at, %hi(D_809FAB90) ## $at = 80A00000
/* 00468 809F86B8 C428AB90 */ lwc1 $f8, %lo(D_809FAB90)($at)
/* 0046C 809F86BC 46040402 */ mul.s $f16, $f0, $f4
/* 00470 809F86C0 4600A487 */ neg.s $f18, $f20
/* 00474 809F86C4 46088280 */ add.s $f10, $f16, $f8
/* 00478 809F86C8 46125182 */ mul.s $f6, $f10, $f18
/* 0047C 809F86CC 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 00480 809F86D0 E7A6006C */ swc1 $f6, 0x006C($sp)
/* 00484 809F86D4 3C0180A0 */ lui $at, %hi(D_809FAB94) ## $at = 80A00000
/* 00488 809F86D8 C424AB94 */ lwc1 $f4, %lo(D_809FAB94)($at)
/* 0048C 809F86DC 3C0180A0 */ lui $at, %hi(D_809FAB98) ## $at = 80A00000
/* 00490 809F86E0 C428AB98 */ lwc1 $f8, %lo(D_809FAB98)($at)
/* 00494 809F86E4 46040402 */ mul.s $f16, $f0, $f4
/* 00498 809F86E8 8FAE0050 */ lw $t6, 0x0050($sp)
/* 0049C 809F86EC 8FAF004C */ lw $t7, 0x004C($sp)
/* 004A0 809F86F0 24180064 */ addiu $t8, $zero, 0x0064 ## $t8 = 00000064
/* 004A4 809F86F4 24190019 */ addiu $t9, $zero, 0x0019 ## $t9 = 00000019
/* 004A8 809F86F8 24090014 */ addiu $t1, $zero, 0x0014 ## $t1 = 00000014
/* 004AC 809F86FC AFA90020 */ sw $t1, 0x0020($sp)
/* 004B0 809F8700 46088280 */ add.s $f10, $f16, $f8
/* 004B4 809F8704 AFB9001C */ sw $t9, 0x001C($sp)
/* 004B8 809F8708 AFB80018 */ sw $t8, 0x0018($sp)
/* 004BC 809F870C 8FA4008C */ lw $a0, 0x008C($sp)
/* 004C0 809F8710 46165482 */ mul.s $f18, $f10, $f22
/* 004C4 809F8714 27A50060 */ addiu $a1, $sp, 0x0060 ## $a1 = FFFFFFD8
/* 004C8 809F8718 27A60078 */ addiu $a2, $sp, 0x0078 ## $a2 = FFFFFFF0
/* 004CC 809F871C 27A7006C */ addiu $a3, $sp, 0x006C ## $a3 = FFFFFFE4
/* 004D0 809F8720 AFAE0010 */ sw $t6, 0x0010($sp)
/* 004D4 809F8724 AFAF0014 */ sw $t7, 0x0014($sp)
/* 004D8 809F8728 0C00A0DB */ jal func_8002836C
/* 004DC 809F872C E7B20074 */ swc1 $f18, 0x0074($sp)
/* 004E0 809F8730 8FBF0044 */ lw $ra, 0x0044($sp)
/* 004E4 809F8734 D7B40030 */ ldc1 $f20, 0x0030($sp)
/* 004E8 809F8738 D7B60038 */ ldc1 $f22, 0x0038($sp)
/* 004EC 809F873C 8FB00040 */ lw $s0, 0x0040($sp)
/* 004F0 809F8740 03E00008 */ jr $ra
/* 004F4 809F8744 27BD0088 */ addiu $sp, $sp, 0x0088 ## $sp = 00000000

View File

@ -1,28 +0,0 @@
glabel func_809F89CC
/* 0077C 809F89CC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00780 809F89D0 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00784 809F89D4 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000
/* 00788 809F89D8 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
/* 0078C 809F89DC 24A54C20 */ addiu $a1, $a1, 0x4C20 ## $a1 = 06004C20
/* 00790 809F89E0 AFA70018 */ sw $a3, 0x0018($sp)
/* 00794 809F89E4 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00798 809F89E8 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
/* 0079C 809F89EC 3C06C080 */ lui $a2, 0xC080 ## $a2 = C0800000
/* 007A0 809F89F0 8FA70018 */ lw $a3, 0x0018($sp)
/* 007A4 809F89F4 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
/* 007A8 809F89F8 2404001E */ addiu $a0, $zero, 0x001E ## $a0 = 0000001E
/* 007AC 809F89FC 24050032 */ addiu $a1, $zero, 0x0032 ## $a1 = 00000032
/* 007B0 809F8A00 0C01DF64 */ jal Math_Rand_S16Offset
/* 007B4 809F8A04 E4E40068 */ swc1 $f4, 0x0068($a3) ## 00000068
/* 007B8 809F8A08 8FA40018 */ lw $a0, 0x0018($sp)
/* 007BC 809F8A0C 240E0004 */ addiu $t6, $zero, 0x0004 ## $t6 = 00000004
/* 007C0 809F8A10 3C0580A0 */ lui $a1, %hi(func_809F8C94) ## $a1 = 80A00000
/* 007C4 809F8A14 24A58C94 */ addiu $a1, $a1, %lo(func_809F8C94) ## $a1 = 809F8C94
/* 007C8 809F8A18 A482030C */ sh $v0, 0x030C($a0) ## 0000030C
/* 007CC 809F8A1C 0C27E094 */ jal func_809F8250
/* 007D0 809F8A20 AC8E0304 */ sw $t6, 0x0304($a0) ## 00000304
/* 007D4 809F8A24 8FBF0014 */ lw $ra, 0x0014($sp)
/* 007D8 809F8A28 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 007DC 809F8A2C 03E00008 */ jr $ra
/* 007E0 809F8A30 00000000 */ nop

View File

@ -1,45 +0,0 @@
glabel func_809F8A34
/* 007E4 809F8A34 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
/* 007E8 809F8A38 AFB00028 */ sw $s0, 0x0028($sp)
/* 007EC 809F8A3C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 007F0 809F8A40 AFBF002C */ sw $ra, 0x002C($sp)
/* 007F4 809F8A44 3C040601 */ lui $a0, 0x0601 ## $a0 = 06010000
/* 007F8 809F8A48 0C028800 */ jal SkelAnime_GetFrameCount
/* 007FC 809F8A4C 24848B1C */ addiu $a0, $a0, 0x8B1C ## $a0 = 06008B1C
/* 00800 809F8A50 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
/* 00804 809F8A54 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 00808 809F8A58 3C01C080 */ lui $at, 0xC080 ## $at = C0800000
/* 0080C 809F8A5C 468021A0 */ cvt.s.w $f6, $f4
/* 00810 809F8A60 44814000 */ mtc1 $at, $f8 ## $f8 = -4.00
/* 00814 809F8A64 3C050601 */ lui $a1, 0x0601 ## $a1 = 06010000
/* 00818 809F8A68 44060000 */ mfc1 $a2, $f0
/* 0081C 809F8A6C 44070000 */ mfc1 $a3, $f0
/* 00820 809F8A70 24A58B1C */ addiu $a1, $a1, 0x8B1C ## $a1 = 06008B1C
/* 00824 809F8A74 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 00828 809F8A78 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 0082C 809F8A7C AFA00014 */ sw $zero, 0x0014($sp)
/* 00830 809F8A80 0C029468 */ jal SkelAnime_ChangeAnim
/* 00834 809F8A84 E7A80018 */ swc1 $f8, 0x0018($sp)
/* 00838 809F8A88 3C013FC0 */ lui $at, 0x3FC0 ## $at = 3FC00000
/* 0083C 809F8A8C 44815000 */ mtc1 $at, $f10 ## $f10 = 1.50
/* 00840 809F8A90 24040032 */ addiu $a0, $zero, 0x0032 ## $a0 = 00000032
/* 00844 809F8A94 24050046 */ addiu $a1, $zero, 0x0046 ## $a1 = 00000046
/* 00848 809F8A98 0C01DF64 */ jal Math_Rand_S16Offset
/* 0084C 809F8A9C E60A0068 */ swc1 $f10, 0x0068($s0) ## 00000068
/* 00850 809F8AA0 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001
/* 00854 809F8AA4 240F0008 */ addiu $t7, $zero, 0x0008 ## $t7 = 00000008
/* 00858 809F8AA8 3C0580A0 */ lui $a1, %hi(func_809F9424) ## $a1 = 80A00000
/* 0085C 809F8AAC A602030C */ sh $v0, 0x030C($s0) ## 0000030C
/* 00860 809F8AB0 A60E0316 */ sh $t6, 0x0316($s0) ## 00000316
/* 00864 809F8AB4 AE0F0304 */ sw $t7, 0x0304($s0) ## 00000304
/* 00868 809F8AB8 24A59424 */ addiu $a1, $a1, %lo(func_809F9424) ## $a1 = 809F9424
/* 0086C 809F8ABC 0C27E094 */ jal func_809F8250
/* 00870 809F8AC0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00874 809F8AC4 8FBF002C */ lw $ra, 0x002C($sp)
/* 00878 809F8AC8 8FB00028 */ lw $s0, 0x0028($sp)
/* 0087C 809F8ACC 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
/* 00880 809F8AD0 03E00008 */ jr $ra
/* 00884 809F8AD4 00000000 */ nop

View File

@ -1,22 +0,0 @@
glabel func_809F8AD8
/* 00888 809F8AD8 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 0088C 809F8ADC AFBF0014 */ sw $ra, 0x0014($sp)
/* 00890 809F8AE0 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000
/* 00894 809F8AE4 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
/* 00898 809F8AE8 24A528F0 */ addiu $a1, $a1, 0x28F0 ## $a1 = 060028F0
/* 0089C 809F8AEC AFA70018 */ sw $a3, 0x0018($sp)
/* 008A0 809F8AF0 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 008A4 809F8AF4 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
/* 008A8 809F8AF8 3C06C080 */ lui $a2, 0xC080 ## $a2 = C0800000
/* 008AC 809F8AFC 8FA40018 */ lw $a0, 0x0018($sp)
/* 008B0 809F8B00 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
/* 008B4 809F8B04 240E0003 */ addiu $t6, $zero, 0x0003 ## $t6 = 00000003
/* 008B8 809F8B08 3C0580A0 */ lui $a1, %hi(func_809F8D58) ## $a1 = 80A00000
/* 008BC 809F8B0C 24A58D58 */ addiu $a1, $a1, %lo(func_809F8D58) ## $a1 = 809F8D58
/* 008C0 809F8B10 AC8E0304 */ sw $t6, 0x0304($a0) ## 00000304
/* 008C4 809F8B14 0C27E094 */ jal func_809F8250
/* 008C8 809F8B18 E4840068 */ swc1 $f4, 0x0068($a0) ## 00000068
/* 008CC 809F8B1C 8FBF0014 */ lw $ra, 0x0014($sp)
/* 008D0 809F8B20 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 008D4 809F8B24 03E00008 */ jr $ra
/* 008D8 809F8B28 00000000 */ nop

View File

@ -1,21 +0,0 @@
glabel func_809F8B2C
/* 008DC 809F8B2C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 008E0 809F8B30 AFBF0014 */ sw $ra, 0x0014($sp)
/* 008E4 809F8B34 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
/* 008E8 809F8B38 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
/* 008EC 809F8B3C 24A53088 */ addiu $a1, $a1, 0x3088 ## $a1 = 06003088
/* 008F0 809F8B40 AFA60018 */ sw $a2, 0x0018($sp)
/* 008F4 809F8B44 0C02947A */ jal SkelAnime_ChangeAnimDefaultStop
/* 008F8 809F8B48 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 008FC 809F8B4C 8FA40018 */ lw $a0, 0x0018($sp)
/* 00900 809F8B50 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
/* 00904 809F8B54 240E0005 */ addiu $t6, $zero, 0x0005 ## $t6 = 00000005
/* 00908 809F8B58 3C0580A0 */ lui $a1, %hi(func_809F8D0C) ## $a1 = 80A00000
/* 0090C 809F8B5C 24A58D0C */ addiu $a1, $a1, %lo(func_809F8D0C) ## $a1 = 809F8D0C
/* 00910 809F8B60 AC8E0304 */ sw $t6, 0x0304($a0) ## 00000304
/* 00914 809F8B64 0C27E094 */ jal func_809F8250
/* 00918 809F8B68 E4840068 */ swc1 $f4, 0x0068($a0) ## 00000068
/* 0091C 809F8B6C 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00920 809F8B70 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00924 809F8B74 03E00008 */ jr $ra
/* 00928 809F8B78 00000000 */ nop

View File

@ -1,34 +0,0 @@
glabel func_809F8B7C
/* 0092C 809F8B7C 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
/* 00930 809F8B80 3C01C080 */ lui $at, 0xC080 ## $at = C0800000
/* 00934 809F8B84 44813000 */ mtc1 $at, $f6 ## $f6 = -4.00
/* 00938 809F8B88 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
/* 0093C 809F8B8C AFB00028 */ sw $s0, 0x0028($sp)
/* 00940 809F8B90 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00944 809F8B94 AFBF002C */ sw $ra, 0x002C($sp)
/* 00948 809F8B98 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
/* 0094C 809F8B9C 240E0002 */ addiu $t6, $zero, 0x0002 ## $t6 = 00000002
/* 00950 809F8BA0 AFAE0014 */ sw $t6, 0x0014($sp)
/* 00954 809F8BA4 24A528F0 */ addiu $a1, $a1, 0x28F0 ## $a1 = 060028F0
/* 00958 809F8BA8 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 0095C 809F8BAC 3C06BF80 */ lui $a2, 0xBF80 ## $a2 = BF800000
/* 00960 809F8BB0 3C07420C */ lui $a3, 0x420C ## $a3 = 420C0000
/* 00964 809F8BB4 E7A60018 */ swc1 $f6, 0x0018($sp)
/* 00968 809F8BB8 0C029468 */ jal SkelAnime_ChangeAnim
/* 0096C 809F8BBC E7A40010 */ swc1 $f4, 0x0010($sp)
/* 00970 809F8BC0 44804000 */ mtc1 $zero, $f8 ## $f8 = 0.00
/* 00974 809F8BC4 240F0001 */ addiu $t7, $zero, 0x0001 ## $t7 = 00000001
/* 00978 809F8BC8 24180019 */ addiu $t8, $zero, 0x0019 ## $t8 = 00000019
/* 0097C 809F8BCC 3C0580A0 */ lui $a1, %hi(func_809F8F2C) ## $a1 = 80A00000
/* 00980 809F8BD0 AE0F0304 */ sw $t7, 0x0304($s0) ## 00000304
/* 00984 809F8BD4 A618030C */ sh $t8, 0x030C($s0) ## 0000030C
/* 00988 809F8BD8 24A58F2C */ addiu $a1, $a1, %lo(func_809F8F2C) ## $a1 = 809F8F2C
/* 0098C 809F8BDC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00990 809F8BE0 0C27E094 */ jal func_809F8250
/* 00994 809F8BE4 E6080068 */ swc1 $f8, 0x0068($s0) ## 00000068
/* 00998 809F8BE8 8FBF002C */ lw $ra, 0x002C($sp)
/* 0099C 809F8BEC 8FB00028 */ lw $s0, 0x0028($sp)
/* 009A0 809F8BF0 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
/* 009A4 809F8BF4 03E00008 */ jr $ra
/* 009A8 809F8BF8 00000000 */ nop

View File

@ -1,42 +0,0 @@
glabel func_809F8BFC
/* 009AC 809F8BFC 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 009B0 809F8C00 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
/* 009B4 809F8C04 3C01C080 */ lui $at, 0xC080 ## $at = C0800000
/* 009B8 809F8C08 44812000 */ mtc1 $at, $f4 ## $f4 = -4.00
/* 009BC 809F8C0C AFB00028 */ sw $s0, 0x0028($sp)
/* 009C0 809F8C10 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 009C4 809F8C14 AFBF002C */ sw $ra, 0x002C($sp)
/* 009C8 809F8C18 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
/* 009CC 809F8C1C 240E0002 */ addiu $t6, $zero, 0x0002 ## $t6 = 00000002
/* 009D0 809F8C20 44060000 */ mfc1 $a2, $f0
/* 009D4 809F8C24 AFAE0014 */ sw $t6, 0x0014($sp)
/* 009D8 809F8C28 24A528F0 */ addiu $a1, $a1, 0x28F0 ## $a1 = 060028F0
/* 009DC 809F8C2C 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 009E0 809F8C30 3C0741C8 */ lui $a3, 0x41C8 ## $a3 = 41C80000
/* 009E4 809F8C34 E7A00010 */ swc1 $f0, 0x0010($sp)
/* 009E8 809F8C38 0C029468 */ jal SkelAnime_ChangeAnim
/* 009EC 809F8C3C E7A40018 */ swc1 $f4, 0x0018($sp)
/* 009F0 809F8C40 921803CC */ lbu $t8, 0x03CC($s0) ## 000003CC
/* 009F4 809F8C44 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00
/* 009F8 809F8C48 240F0007 */ addiu $t7, $zero, 0x0007 ## $t7 = 00000007
/* 009FC 809F8C4C 2401000F */ addiu $at, $zero, 0x000F ## $at = 0000000F
/* 00A00 809F8C50 AE0F0304 */ sw $t7, 0x0304($s0) ## 00000304
/* 00A04 809F8C54 17010003 */ bne $t8, $at, .L809F8C64
/* 00A08 809F8C58 E6060068 */ swc1 $f6, 0x0068($s0) ## 00000068
/* 00A0C 809F8C5C 24190024 */ addiu $t9, $zero, 0x0024 ## $t9 = 00000024
/* 00A10 809F8C60 A6190312 */ sh $t9, 0x0312($s0) ## 00000312
.L809F8C64:
/* 00A14 809F8C64 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00A18 809F8C68 0C00BE0A */ jal Audio_PlayActorSound2
/* 00A1C 809F8C6C 2405389E */ addiu $a1, $zero, 0x389E ## $a1 = 0000389E
/* 00A20 809F8C70 3C0580A0 */ lui $a1, %hi(func_809F9C3C) ## $a1 = 80A00000
/* 00A24 809F8C74 24A59C3C */ addiu $a1, $a1, %lo(func_809F9C3C) ## $a1 = 809F9C3C
/* 00A28 809F8C78 0C27E094 */ jal func_809F8250
/* 00A2C 809F8C7C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00A30 809F8C80 8FBF002C */ lw $ra, 0x002C($sp)
/* 00A34 809F8C84 8FB00028 */ lw $s0, 0x0028($sp)
/* 00A38 809F8C88 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
/* 00A3C 809F8C8C 03E00008 */ jr $ra
/* 00A40 809F8C90 00000000 */ nop

View File

@ -1,36 +0,0 @@
glabel func_809F8C94
/* 00A44 809F8C94 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 00A48 809F8C98 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
/* 00A4C 809F8C9C AFBF0014 */ sw $ra, 0x0014($sp)
/* 00A50 809F8CA0 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00A54 809F8CA4 AFA50024 */ sw $a1, 0x0024($sp)
/* 00A58 809F8CA8 AFA40018 */ sw $a0, 0x0018($sp)
/* 00A5C 809F8CAC 0C02927F */ jal SkelAnime_FrameUpdateMatrix
/* 00A60 809F8CB0 AFA60020 */ sw $a2, 0x0020($sp)
/* 00A64 809F8CB4 8FA60020 */ lw $a2, 0x0020($sp)
/* 00A68 809F8CB8 8FA40018 */ lw $a0, 0x0018($sp)
/* 00A6C 809F8CBC 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
/* 00A70 809F8CC0 84C3030C */ lh $v1, 0x030C($a2) ## 0000030C
/* 00A74 809F8CC4 14600003 */ bne $v1, $zero, .L809F8CD4
/* 00A78 809F8CC8 246EFFFF */ addiu $t6, $v1, 0xFFFF ## $t6 = FFFFFFFF
/* 00A7C 809F8CCC 10000003 */ beq $zero, $zero, .L809F8CDC
/* 00A80 809F8CD0 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
.L809F8CD4:
/* 00A84 809F8CD4 A4CE030C */ sh $t6, 0x030C($a2) ## 0000030C
/* 00A88 809F8CD8 84C2030C */ lh $v0, 0x030C($a2) ## 0000030C
.L809F8CDC:
/* 00A8C 809F8CDC 54400008 */ bnel $v0, $zero, .L809F8D00
/* 00A90 809F8CE0 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00A94 809F8CE4 0C0295B2 */ jal func_800A56C8
/* 00A98 809F8CE8 AFA60020 */ sw $a2, 0x0020($sp)
/* 00A9C 809F8CEC 10400003 */ beq $v0, $zero, .L809F8CFC
/* 00AA0 809F8CF0 8FA60020 */ lw $a2, 0x0020($sp)
/* 00AA4 809F8CF4 0C27E28D */ jal func_809F8A34
/* 00AA8 809F8CF8 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
.L809F8CFC:
/* 00AAC 809F8CFC 8FBF0014 */ lw $ra, 0x0014($sp)
.L809F8D00:
/* 00AB0 809F8D00 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 00AB4 809F8D04 03E00008 */ jr $ra
/* 00AB8 809F8D08 00000000 */ nop

View File

@ -1,23 +0,0 @@
glabel func_809F8D0C
/* 00ABC 809F8D0C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00AC0 809F8D10 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00AC4 809F8D14 AFA40018 */ sw $a0, 0x0018($sp)
/* 00AC8 809F8D18 AFA5001C */ sw $a1, 0x001C($sp)
/* 00ACC 809F8D1C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
/* 00AD0 809F8D20 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00AD4 809F8D24 50400009 */ beql $v0, $zero, .L809F8D4C
/* 00AD8 809F8D28 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00ADC 809F8D2C 0C27E273 */ jal func_809F89CC
/* 00AE0 809F8D30 8FA40018 */ lw $a0, 0x0018($sp)
/* 00AE4 809F8D34 2404000A */ addiu $a0, $zero, 0x000A ## $a0 = 0000000A
/* 00AE8 809F8D38 0C01DF64 */ jal Math_Rand_S16Offset
/* 00AEC 809F8D3C 24050014 */ addiu $a1, $zero, 0x0014 ## $a1 = 00000014
/* 00AF0 809F8D40 8FAE0018 */ lw $t6, 0x0018($sp)
/* 00AF4 809F8D44 A5C2030C */ sh $v0, 0x030C($t6) ## 0000030C
/* 00AF8 809F8D48 8FBF0014 */ lw $ra, 0x0014($sp)
.L809F8D4C:
/* 00AFC 809F8D4C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00B00 809F8D50 03E00008 */ jr $ra
/* 00B04 809F8D54 00000000 */ nop

View File

@ -1,126 +0,0 @@
glabel func_809F8D58
/* 00B08 809F8D58 27BDFFA8 */ addiu $sp, $sp, 0xFFA8 ## $sp = FFFFFFA8
/* 00B0C 809F8D5C 3C0F80A0 */ lui $t7, %hi(D_809FAA20) ## $t7 = 80A00000
/* 00B10 809F8D60 AFBF0024 */ sw $ra, 0x0024($sp)
/* 00B14 809F8D64 AFB00020 */ sw $s0, 0x0020($sp)
/* 00B18 809F8D68 AFA5005C */ sw $a1, 0x005C($sp)
/* 00B1C 809F8D6C 25EFAA20 */ addiu $t7, $t7, %lo(D_809FAA20) ## $t7 = 809FAA20
/* 00B20 809F8D70 8DF90000 */ lw $t9, 0x0000($t7) ## 809FAA20
/* 00B24 809F8D74 27AE0048 */ addiu $t6, $sp, 0x0048 ## $t6 = FFFFFFF0
/* 00B28 809F8D78 8DF80004 */ lw $t8, 0x0004($t7) ## 809FAA24
/* 00B2C 809F8D7C ADD90000 */ sw $t9, 0x0000($t6) ## FFFFFFF0
/* 00B30 809F8D80 8DF90008 */ lw $t9, 0x0008($t7) ## 809FAA28
/* 00B34 809F8D84 3C0980A0 */ lui $t1, %hi(D_809FAA2C) ## $t1 = 80A00000
/* 00B38 809F8D88 2529AA2C */ addiu $t1, $t1, %lo(D_809FAA2C) ## $t1 = 809FAA2C
/* 00B3C 809F8D8C ADD80004 */ sw $t8, 0x0004($t6) ## FFFFFFF4
/* 00B40 809F8D90 ADD90008 */ sw $t9, 0x0008($t6) ## FFFFFFF8
/* 00B44 809F8D94 8D2B0000 */ lw $t3, 0x0000($t1) ## 809FAA2C
/* 00B48 809F8D98 27A8003C */ addiu $t0, $sp, 0x003C ## $t0 = FFFFFFE4
/* 00B4C 809F8D9C 8D2A0004 */ lw $t2, 0x0004($t1) ## 809FAA30
/* 00B50 809F8DA0 AD0B0000 */ sw $t3, 0x0000($t0) ## FFFFFFE4
/* 00B54 809F8DA4 8D2B0008 */ lw $t3, 0x0008($t1) ## 809FAA34
/* 00B58 809F8DA8 AD0A0004 */ sw $t2, 0x0004($t0) ## FFFFFFE8
/* 00B5C 809F8DAC 24010018 */ addiu $at, $zero, 0x0018 ## $at = 00000018
/* 00B60 809F8DB0 AD0B0008 */ sw $t3, 0x0008($t0) ## FFFFFFEC
/* 00B64 809F8DB4 C4800164 */ lwc1 $f0, 0x0164($a0) ## 00000164
/* 00B68 809F8DB8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00B6C 809F8DBC 4600010D */ trunc.w.s $f4, $f0
/* 00B70 809F8DC0 440D2000 */ mfc1 $t5, $f4
/* 00B74 809F8DC4 00000000 */ nop
/* 00B78 809F8DC8 55A10005 */ bnel $t5, $at, .L809F8DE0
/* 00B7C 809F8DCC 3C0141E8 */ lui $at, 0x41E8 ## $at = 41E80000
/* 00B80 809F8DD0 0C00BE0A */ jal Audio_PlayActorSound2
/* 00B84 809F8DD4 24053801 */ addiu $a1, $zero, 0x3801 ## $a1 = 00003801
/* 00B88 809F8DD8 C6000164 */ lwc1 $f0, 0x0164($s0) ## 00000164
/* 00B8C 809F8DDC 3C0141E8 */ lui $at, 0x41E8 ## $at = 41E80000
.L809F8DE0:
/* 00B90 809F8DE0 44813000 */ mtc1 $at, $f6 ## $f6 = 29.00
/* 00B94 809F8DE4 3C01422C */ lui $at, 0x422C ## $at = 422C0000
/* 00B98 809F8DE8 4600303E */ c.le.s $f6, $f0
/* 00B9C 809F8DEC 00000000 */ nop
/* 00BA0 809F8DF0 45020035 */ bc1fl .L809F8EC8
/* 00BA4 809F8DF4 3C014000 */ lui $at, 0x4000 ## $at = 40000000
/* 00BA8 809F8DF8 44814000 */ mtc1 $at, $f8 ## $f8 = 2.00
/* 00BAC 809F8DFC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00BB0 809F8E00 4608003E */ c.le.s $f0, $f8
/* 00BB4 809F8E04 00000000 */ nop
/* 00BB8 809F8E08 4502002F */ bc1fl .L809F8EC8
/* 00BBC 809F8E0C 3C014000 */ lui $at, 0x4000 ## $at = 40000000
/* 00BC0 809F8E10 0C00BE0A */ jal Audio_PlayActorSound2
/* 00BC4 809F8E14 24053002 */ addiu $a1, $zero, 0x3002 ## $a1 = 00003002
/* 00BC8 809F8E18 3C0141E8 */ lui $at, 0x41E8 ## $at = 41E80000
/* 00BCC 809F8E1C 44818000 */ mtc1 $at, $f16 ## $f16 = 29.00
/* 00BD0 809F8E20 C60A0164 */ lwc1 $f10, 0x0164($s0) ## 00000164
/* 00BD4 809F8E24 27A60030 */ addiu $a2, $sp, 0x0030 ## $a2 = FFFFFFD8
/* 00BD8 809F8E28 3C01420C */ lui $at, 0x420C ## $at = 420C0000
/* 00BDC 809F8E2C 46105481 */ sub.s $f18, $f10, $f16
/* 00BE0 809F8E30 44814000 */ mtc1 $at, $f8 ## $f8 = 35.00
/* 00BE4 809F8E34 3C0541F0 */ lui $a1, 0x41F0 ## $a1 = 41F00000
/* 00BE8 809F8E38 4600910D */ trunc.w.s $f4, $f18
/* 00BEC 809F8E3C 440F2000 */ mfc1 $t7, $f4
/* 00BF0 809F8E40 00000000 */ nop
/* 00BF4 809F8E44 A7AF002C */ sh $t7, 0x002C($sp)
/* 00BF8 809F8E48 8E190024 */ lw $t9, 0x0024($s0) ## 00000024
/* 00BFC 809F8E4C ACD90000 */ sw $t9, 0x0000($a2) ## FFFFFFD8
/* 00C00 809F8E50 8E180028 */ lw $t8, 0x0028($s0) ## 00000028
/* 00C04 809F8E54 ACD80004 */ sw $t8, 0x0004($a2) ## FFFFFFDC
/* 00C08 809F8E58 8E19002C */ lw $t9, 0x002C($s0) ## 0000002C
/* 00C0C 809F8E5C ACD90008 */ sw $t9, 0x0008($a2) ## FFFFFFE0
/* 00C10 809F8E60 C7A60034 */ lwc1 $f6, 0x0034($sp)
/* 00C14 809F8E64 46083280 */ add.s $f10, $f6, $f8
/* 00C18 809F8E68 E7AA0034 */ swc1 $f10, 0x0034($sp)
/* 00C1C 809F8E6C 0C27E99D */ jal func_809FA674
/* 00C20 809F8E70 86040032 */ lh $a0, 0x0032($s0) ## 00000032
/* 00C24 809F8E74 86040032 */ lh $a0, 0x0032($s0) ## 00000032
/* 00C28 809F8E78 3C054020 */ lui $a1, 0x4020 ## $a1 = 40200000
/* 00C2C 809F8E7C 0C27E99D */ jal func_809FA674
/* 00C30 809F8E80 27A6003C */ addiu $a2, $sp, 0x003C ## $a2 = FFFFFFE4
/* 00C34 809F8E84 87A2002C */ lh $v0, 0x002C($sp)
/* 00C38 809F8E88 240900FF */ addiu $t1, $zero, 0x00FF ## $t1 = 000000FF
/* 00C3C 809F8E8C 8FA4005C */ lw $a0, 0x005C($sp)
/* 00C40 809F8E90 00024080 */ sll $t0, $v0, 2
/* 00C44 809F8E94 01024021 */ addu $t0, $t0, $v0
/* 00C48 809F8E98 00084040 */ sll $t0, $t0, 1
/* 00C4C 809F8E9C 01285023 */ subu $t2, $t1, $t0
/* 00C50 809F8EA0 244B0003 */ addiu $t3, $v0, 0x0003 ## $t3 = 00000003
/* 00C54 809F8EA4 AFAB0014 */ sw $t3, 0x0014($sp)
/* 00C58 809F8EA8 AFAA0010 */ sw $t2, 0x0010($sp)
/* 00C5C 809F8EAC 27A50030 */ addiu $a1, $sp, 0x0030 ## $a1 = FFFFFFD8
/* 00C60 809F8EB0 27A60048 */ addiu $a2, $sp, 0x0048 ## $a2 = FFFFFFF0
/* 00C64 809F8EB4 0C00A4E8 */ jal EffectSsDFire_SpawnFixedScale
/* 00C68 809F8EB8 27A7003C */ addiu $a3, $sp, 0x003C ## $a3 = FFFFFFE4
/* 00C6C 809F8EBC 10000010 */ beq $zero, $zero, .L809F8F00
/* 00C70 809F8EC0 00000000 */ nop
/* 00C74 809F8EC4 3C014000 */ lui $at, 0x4000 ## $at = 40000000
.L809F8EC8:
/* 00C78 809F8EC8 44818000 */ mtc1 $at, $f16 ## $f16 = 2.00
/* 00C7C 809F8ECC 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
/* 00C80 809F8ED0 4600803E */ c.le.s $f16, $f0
/* 00C84 809F8ED4 00000000 */ nop
/* 00C88 809F8ED8 45000009 */ bc1f .L809F8F00
/* 00C8C 809F8EDC 00000000 */ nop
/* 00C90 809F8EE0 44819000 */ mtc1 $at, $f18 ## $f18 = 20.00
/* 00C94 809F8EE4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00C98 809F8EE8 4612003E */ c.le.s $f0, $f18
/* 00C9C 809F8EEC 00000000 */ nop
/* 00CA0 809F8EF0 45000003 */ bc1f .L809F8F00
/* 00CA4 809F8EF4 00000000 */ nop
/* 00CA8 809F8EF8 0C00BE0A */ jal Audio_PlayActorSound2
/* 00CAC 809F8EFC 24053058 */ addiu $a1, $zero, 0x3058 ## $a1 = 00003058
.L809F8F00:
/* 00CB0 809F8F00 0C02927F */ jal SkelAnime_FrameUpdateMatrix
/* 00CB4 809F8F04 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 00CB8 809F8F08 50400004 */ beql $v0, $zero, .L809F8F1C
/* 00CBC 809F8F0C 8FBF0024 */ lw $ra, 0x0024($sp)
/* 00CC0 809F8F10 0C27E2CB */ jal func_809F8B2C
/* 00CC4 809F8F14 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00CC8 809F8F18 8FBF0024 */ lw $ra, 0x0024($sp)
.L809F8F1C:
/* 00CCC 809F8F1C 8FB00020 */ lw $s0, 0x0020($sp)
/* 00CD0 809F8F20 27BD0058 */ addiu $sp, $sp, 0x0058 ## $sp = 00000000
/* 00CD4 809F8F24 03E00008 */ jr $ra
/* 00CD8 809F8F28 00000000 */ nop

View File

@ -1,351 +0,0 @@
.late_rodata
glabel D_809FAB9C
.word 0xBDCCCCCD
.text
glabel func_809F8F2C
/* 00CDC 809F8F2C 27BDFF58 */ addiu $sp, $sp, 0xFF58 ## $sp = FFFFFF58
/* 00CE0 809F8F30 3C0F80A0 */ lui $t7, %hi(D_809FAA38) ## $t7 = 80A00000
/* 00CE4 809F8F34 AFBF004C */ sw $ra, 0x004C($sp)
/* 00CE8 809F8F38 AFB30048 */ sw $s3, 0x0048($sp)
/* 00CEC 809F8F3C AFB20044 */ sw $s2, 0x0044($sp)
/* 00CF0 809F8F40 AFB10040 */ sw $s1, 0x0040($sp)
/* 00CF4 809F8F44 AFB0003C */ sw $s0, 0x003C($sp)
/* 00CF8 809F8F48 F7B60030 */ sdc1 $f22, 0x0030($sp)
/* 00CFC 809F8F4C F7B40028 */ sdc1 $f20, 0x0028($sp)
/* 00D00 809F8F50 25EFAA38 */ addiu $t7, $t7, %lo(D_809FAA38) ## $t7 = 809FAA38
/* 00D04 809F8F54 8DF90000 */ lw $t9, 0x0000($t7) ## 809FAA38
/* 00D08 809F8F58 27AE009C */ addiu $t6, $sp, 0x009C ## $t6 = FFFFFFF4
/* 00D0C 809F8F5C 8DF80004 */ lw $t8, 0x0004($t7) ## 809FAA3C
/* 00D10 809F8F60 ADD90000 */ sw $t9, 0x0000($t6) ## FFFFFFF4
/* 00D14 809F8F64 8DF90008 */ lw $t9, 0x0008($t7) ## 809FAA40
/* 00D18 809F8F68 3C0980A0 */ lui $t1, %hi(D_809FAA44) ## $t1 = 80A00000
/* 00D1C 809F8F6C 2529AA44 */ addiu $t1, $t1, %lo(D_809FAA44) ## $t1 = 809FAA44
/* 00D20 809F8F70 ADD80004 */ sw $t8, 0x0004($t6) ## FFFFFFF8
/* 00D24 809F8F74 ADD90008 */ sw $t9, 0x0008($t6) ## FFFFFFFC
/* 00D28 809F8F78 8D2B0000 */ lw $t3, 0x0000($t1) ## 809FAA44
/* 00D2C 809F8F7C 27A80090 */ addiu $t0, $sp, 0x0090 ## $t0 = FFFFFFE8
/* 00D30 809F8F80 8D2A0004 */ lw $t2, 0x0004($t1) ## 809FAA48
/* 00D34 809F8F84 AD0B0000 */ sw $t3, 0x0000($t0) ## FFFFFFE8
/* 00D38 809F8F88 8D2B0008 */ lw $t3, 0x0008($t1) ## 809FAA4C
/* 00D3C 809F8F8C 3C0C80A0 */ lui $t4, %hi(D_809FAA50) ## $t4 = 80A00000
/* 00D40 809F8F90 258CAA50 */ addiu $t4, $t4, %lo(D_809FAA50) ## $t4 = 809FAA50
/* 00D44 809F8F94 AD0A0004 */ sw $t2, 0x0004($t0) ## FFFFFFEC
/* 00D48 809F8F98 AD0B0008 */ sw $t3, 0x0008($t0) ## FFFFFFF0
/* 00D4C 809F8F9C 8D8E0000 */ lw $t6, 0x0000($t4) ## 809FAA50
/* 00D50 809F8FA0 27A3008C */ addiu $v1, $sp, 0x008C ## $v1 = FFFFFFE4
/* 00D54 809F8FA4 3C1880A0 */ lui $t8, %hi(D_809FAA54) ## $t8 = 80A00000
/* 00D58 809F8FA8 2718AA54 */ addiu $t8, $t8, %lo(D_809FAA54) ## $t8 = 809FAA54
/* 00D5C 809F8FAC AC6E0000 */ sw $t6, 0x0000($v1) ## FFFFFFE4
/* 00D60 809F8FB0 8F080000 */ lw $t0, 0x0000($t8) ## 809FAA54
/* 00D64 809F8FB4 27AF0080 */ addiu $t7, $sp, 0x0080 ## $t7 = FFFFFFD8
/* 00D68 809F8FB8 8F190004 */ lw $t9, 0x0004($t8) ## 809FAA58
/* 00D6C 809F8FBC ADE80000 */ sw $t0, 0x0000($t7) ## FFFFFFD8
/* 00D70 809F8FC0 8F080008 */ lw $t0, 0x0008($t8) ## 809FAA5C
/* 00D74 809F8FC4 3C0A80A0 */ lui $t2, %hi(D_809FAA60) ## $t2 = 80A00000
/* 00D78 809F8FC8 254AAA60 */ addiu $t2, $t2, %lo(D_809FAA60) ## $t2 = 809FAA60
/* 00D7C 809F8FCC ADF90004 */ sw $t9, 0x0004($t7) ## FFFFFFDC
/* 00D80 809F8FD0 ADE80008 */ sw $t0, 0x0008($t7) ## FFFFFFE0
/* 00D84 809F8FD4 8D4C0000 */ lw $t4, 0x0000($t2) ## 809FAA60
/* 00D88 809F8FD8 27A90074 */ addiu $t1, $sp, 0x0074 ## $t1 = FFFFFFCC
/* 00D8C 809F8FDC 8D4B0004 */ lw $t3, 0x0004($t2) ## 809FAA64
/* 00D90 809F8FE0 AD2C0000 */ sw $t4, 0x0000($t1) ## FFFFFFCC
/* 00D94 809F8FE4 8D4C0008 */ lw $t4, 0x0008($t2) ## 809FAA68
/* 00D98 809F8FE8 AD2B0004 */ sw $t3, 0x0004($t1) ## FFFFFFD0
/* 00D9C 809F8FEC 00A09825 */ or $s3, $a1, $zero ## $s3 = 00000000
/* 00DA0 809F8FF0 AD2C0008 */ sw $t4, 0x0008($t1) ## FFFFFFD4
/* 00DA4 809F8FF4 8C86011C */ lw $a2, 0x011C($a0) ## 0000011C
/* 00DA8 809F8FF8 00808825 */ or $s1, $a0, $zero ## $s1 = 00000000
/* 00DAC 809F8FFC 2405385B */ addiu $a1, $zero, 0x385B ## $a1 = 0000385B
/* 00DB0 809F9000 50C0000D */ beql $a2, $zero, .L809F9038
/* 00DB4 809F9004 8E240118 */ lw $a0, 0x0118($s1) ## 00000118
/* 00DB8 809F9008 8C8E0334 */ lw $t6, 0x0334($a0) ## 00000334
/* 00DBC 809F900C ACCE0024 */ sw $t6, 0x0024($a2) ## 00000024
/* 00DC0 809F9010 8C8D0338 */ lw $t5, 0x0338($a0) ## 00000338
/* 00DC4 809F9014 ACCD0028 */ sw $t5, 0x0028($a2) ## 00000028
/* 00DC8 809F9018 8C8E033C */ lw $t6, 0x033C($a0) ## 0000033C
/* 00DCC 809F901C ACCE002C */ sw $t6, 0x002C($a2) ## 0000002C
/* 00DD0 809F9020 8C86011C */ lw $a2, 0x011C($a0) ## 0000011C
/* 00DD4 809F9024 84CF01F8 */ lh $t7, 0x01F8($a2) ## 000001F8
/* 00DD8 809F9028 25F80001 */ addiu $t8, $t7, 0x0001 ## $t8 = FFFFFFD9
/* 00DDC 809F902C 1000000E */ beq $zero, $zero, .L809F9068
/* 00DE0 809F9030 A4D801F8 */ sh $t8, 0x01F8($a2) ## 000001F8
/* 00DE4 809F9034 8E240118 */ lw $a0, 0x0118($s1) ## 00000118
.L809F9038:
/* 00DE8 809F9038 5080000C */ beql $a0, $zero, .L809F906C
/* 00DEC 809F903C C6240164 */ lwc1 $f4, 0x0164($s1) ## 00000164
/* 00DF0 809F9040 8E280334 */ lw $t0, 0x0334($s1) ## 00000334
/* 00DF4 809F9044 AC880024 */ sw $t0, 0x0024($a0) ## 00000024
/* 00DF8 809F9048 8E390338 */ lw $t9, 0x0338($s1) ## 00000338
/* 00DFC 809F904C AC990028 */ sw $t9, 0x0028($a0) ## 00000028
/* 00E00 809F9050 8E28033C */ lw $t0, 0x033C($s1) ## 0000033C
/* 00E04 809F9054 AC88002C */ sw $t0, 0x002C($a0) ## 0000002C
/* 00E08 809F9058 8E240118 */ lw $a0, 0x0118($s1) ## 00000118
/* 00E0C 809F905C 848901F8 */ lh $t1, 0x01F8($a0) ## 000001F8
/* 00E10 809F9060 252A0001 */ addiu $t2, $t1, 0x0001 ## $t2 = FFFFFFCD
/* 00E14 809F9064 A48A01F8 */ sh $t2, 0x01F8($a0) ## 000001F8
.L809F9068:
/* 00E18 809F9068 C6240164 */ lwc1 $f4, 0x0164($s1) ## 00000164
.L809F906C:
/* 00E1C 809F906C 2401001C */ addiu $at, $zero, 0x001C ## $at = 0000001C
/* 00E20 809F9070 4600218D */ trunc.w.s $f6, $f4
/* 00E24 809F9074 44023000 */ mfc1 $v0, $f6
/* 00E28 809F9078 00000000 */ nop
/* 00E2C 809F907C 54410014 */ bnel $v0, $at, .L809F90D0
/* 00E30 809F9080 24010018 */ addiu $at, $zero, 0x0018 ## $at = 00000018
/* 00E34 809F9084 0C00BE0A */ jal Audio_PlayActorSound2
/* 00E38 809F9088 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 00E3C 809F908C 8E26011C */ lw $a2, 0x011C($s1) ## 0000011C
/* 00E40 809F9090 50C00007 */ beql $a2, $zero, .L809F90B0
/* 00E44 809F9094 8E240118 */ lw $a0, 0x0118($s1) ## 00000118
/* 00E48 809F9098 0C00B55C */ jal Actor_Kill
/* 00E4C 809F909C 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
/* 00E50 809F90A0 AE20011C */ sw $zero, 0x011C($s1) ## 0000011C
/* 00E54 809F90A4 10000064 */ beq $zero, $zero, .L809F9238
/* 00E58 809F90A8 27A3008C */ addiu $v1, $sp, 0x008C ## $v1 = FFFFFFE4
/* 00E5C 809F90AC 8E240118 */ lw $a0, 0x0118($s1) ## 00000118
.L809F90B0:
/* 00E60 809F90B0 10800004 */ beq $a0, $zero, .L809F90C4
/* 00E64 809F90B4 00000000 */ nop
/* 00E68 809F90B8 0C00B55C */ jal Actor_Kill
/* 00E6C 809F90BC 00000000 */ nop
/* 00E70 809F90C0 AE200118 */ sw $zero, 0x0118($s1) ## 00000118
.L809F90C4:
/* 00E74 809F90C4 1000005C */ beq $zero, $zero, .L809F9238
/* 00E78 809F90C8 27A3008C */ addiu $v1, $sp, 0x008C ## $v1 = FFFFFFE4
/* 00E7C 809F90CC 24010018 */ addiu $at, $zero, 0x0018 ## $at = 00000018
.L809F90D0:
/* 00E80 809F90D0 5441005A */ bnel $v0, $at, .L809F923C
/* 00E84 809F90D4 C6300164 */ lwc1 $f16, 0x0164($s1) ## 00000164
/* 00E88 809F90D8 862C030C */ lh $t4, 0x030C($s1) ## 0000030C
/* 00E8C 809F90DC 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 00E90 809F90E0 258DFFFF */ addiu $t5, $t4, 0xFFFF ## $t5 = FFFFFFFF
/* 00E94 809F90E4 A62D030C */ sh $t5, 0x030C($s1) ## 0000030C
/* 00E98 809F90E8 8622030C */ lh $v0, 0x030C($s1) ## 0000030C
/* 00E9C 809F90EC 50400053 */ beql $v0, $zero, .L809F923C
/* 00EA0 809F90F0 C6300164 */ lwc1 $f16, 0x0164($s1) ## 00000164
/* 00EA4 809F90F4 C6280164 */ lwc1 $f8, 0x0164($s1) ## 00000164
/* 00EA8 809F90F8 44815000 */ mtc1 $at, $f10 ## $f10 = 1.00
/* 00EAC 809F90FC 2401000A */ addiu $at, $zero, 0x000A ## $at = 0000000A
/* 00EB0 809F9100 2410000A */ addiu $s0, $zero, 0x000A ## $s0 = 0000000A
/* 00EB4 809F9104 460A4400 */ add.s $f16, $f8, $f10
/* 00EB8 809F9108 262E03C4 */ addiu $t6, $s1, 0x03C4 ## $t6 = 000003C4
/* 00EBC 809F910C 262F03C8 */ addiu $t7, $s1, 0x03C8 ## $t7 = 000003C8
/* 00EC0 809F9110 14410049 */ bne $v0, $at, .L809F9238
/* 00EC4 809F9114 E6300164 */ swc1 $f16, 0x0164($s1) ## 00000164
/* 00EC8 809F9118 3C0180A0 */ lui $at, %hi(D_809FAB9C) ## $at = 80A00000
/* 00ECC 809F911C C436AB9C */ lwc1 $f22, %lo(D_809FAB9C)($at)
/* 00ED0 809F9120 3C014120 */ lui $at, 0x4120 ## $at = 41200000
/* 00ED4 809F9124 4481A000 */ mtc1 $at, $f20 ## $f20 = 10.00
/* 00ED8 809F9128 AFAE0058 */ sw $t6, 0x0058($sp)
/* 00EDC 809F912C AFAF0054 */ sw $t7, 0x0054($sp)
/* 00EE0 809F9130 27B20064 */ addiu $s2, $sp, 0x0064 ## $s2 = FFFFFFBC
.L809F9134:
/* 00EE4 809F9134 0C00CFC8 */ jal Math_Rand_CenteredFloat
/* 00EE8 809F9138 4600A306 */ mov.s $f12, $f20
/* 00EEC 809F913C E7A00080 */ swc1 $f0, 0x0080($sp)
/* 00EF0 809F9140 0C00CFC8 */ jal Math_Rand_CenteredFloat
/* 00EF4 809F9144 4600A306 */ mov.s $f12, $f20
/* 00EF8 809F9148 E7A00084 */ swc1 $f0, 0x0084($sp)
/* 00EFC 809F914C 0C00CFC8 */ jal Math_Rand_CenteredFloat
/* 00F00 809F9150 4600A306 */ mov.s $f12, $f20
/* 00F04 809F9154 C7B20080 */ lwc1 $f18, 0x0080($sp)
/* 00F08 809F9158 C7A60084 */ lwc1 $f6, 0x0084($sp)
/* 00F0C 809F915C E7A00088 */ swc1 $f0, 0x0088($sp)
/* 00F10 809F9160 46169102 */ mul.s $f4, $f18, $f22
/* 00F14 809F9164 8FA90058 */ lw $t1, 0x0058($sp)
/* 00F18 809F9168 8FAA0054 */ lw $t2, 0x0054($sp)
/* 00F1C 809F916C 46163202 */ mul.s $f8, $f6, $f22
/* 00F20 809F9170 240B0190 */ addiu $t3, $zero, 0x0190 ## $t3 = 00000190
/* 00F24 809F9174 240C000A */ addiu $t4, $zero, 0x000A ## $t4 = 0000000A
/* 00F28 809F9178 46160282 */ mul.s $f10, $f0, $f22
/* 00F2C 809F917C E7A40074 */ swc1 $f4, 0x0074($sp)
/* 00F30 809F9180 240D000A */ addiu $t5, $zero, 0x000A ## $t5 = 0000000A
/* 00F34 809F9184 02602025 */ or $a0, $s3, $zero ## $a0 = 00000000
/* 00F38 809F9188 E7A80078 */ swc1 $f8, 0x0078($sp)
/* 00F3C 809F918C 02402825 */ or $a1, $s2, $zero ## $a1 = FFFFFFBC
/* 00F40 809F9190 27A60080 */ addiu $a2, $sp, 0x0080 ## $a2 = FFFFFFD8
/* 00F44 809F9194 E7AA007C */ swc1 $f10, 0x007C($sp)
/* 00F48 809F9198 863805D8 */ lh $t8, 0x05D8($s1) ## 000005D8
/* 00F4C 809F919C 27A70074 */ addiu $a3, $sp, 0x0074 ## $a3 = FFFFFFCC
/* 00F50 809F91A0 44988000 */ mtc1 $t8, $f16 ## $f16 = 0.00
/* 00F54 809F91A4 00000000 */ nop
/* 00F58 809F91A8 46808120 */ cvt.s.w $f4, $f16
/* 00F5C 809F91AC 46122200 */ add.s $f8, $f4, $f18
/* 00F60 809F91B0 E7A80064 */ swc1 $f8, 0x0064($sp)
/* 00F64 809F91B4 863905DA */ lh $t9, 0x05DA($s1) ## 000005DA
/* 00F68 809F91B8 44995000 */ mtc1 $t9, $f10 ## $f10 = 0.00
/* 00F6C 809F91BC 00000000 */ nop
/* 00F70 809F91C0 46805420 */ cvt.s.w $f16, $f10
/* 00F74 809F91C4 46068100 */ add.s $f4, $f16, $f6
/* 00F78 809F91C8 E7A40068 */ swc1 $f4, 0x0068($sp)
/* 00F7C 809F91CC 862805DC */ lh $t0, 0x05DC($s1) ## 000005DC
/* 00F80 809F91D0 AFAD0020 */ sw $t5, 0x0020($sp)
/* 00F84 809F91D4 AFAC001C */ sw $t4, 0x001C($sp)
/* 00F88 809F91D8 44889000 */ mtc1 $t0, $f18 ## $f18 = 0.00
/* 00F8C 809F91DC AFAB0018 */ sw $t3, 0x0018($sp)
/* 00F90 809F91E0 AFA90010 */ sw $t1, 0x0010($sp)
/* 00F94 809F91E4 46809220 */ cvt.s.w $f8, $f18
/* 00F98 809F91E8 AFAA0014 */ sw $t2, 0x0014($sp)
/* 00F9C 809F91EC 46004280 */ add.s $f10, $f8, $f0
/* 00FA0 809F91F0 0C00A0DB */ jal func_8002836C
/* 00FA4 809F91F4 E7AA006C */ swc1 $f10, 0x006C($sp)
/* 00FA8 809F91F8 2610FFFF */ addiu $s0, $s0, 0xFFFF ## $s0 = 00000009
/* 00FAC 809F91FC 00108400 */ sll $s0, $s0, 16
/* 00FB0 809F9200 00108403 */ sra $s0, $s0, 16
/* 00FB4 809F9204 0601FFCB */ bgez $s0, .L809F9134
/* 00FB8 809F9208 00000000 */ nop
/* 00FBC 809F920C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 00FC0 809F9210 0C00BE0A */ jal Audio_PlayActorSound2
/* 00FC4 809F9214 2405180E */ addiu $a1, $zero, 0x180E ## $a1 = 0000180E
/* 00FC8 809F9218 240E0008 */ addiu $t6, $zero, 0x0008 ## $t6 = 00000008
/* 00FCC 809F921C AFAE0010 */ sw $t6, 0x0010($sp)
/* 00FD0 809F9220 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 00FD4 809F9224 24054000 */ addiu $a1, $zero, 0x4000 ## $a1 = 00004000
/* 00FD8 809F9228 24060078 */ addiu $a2, $zero, 0x0078 ## $a2 = 00000078
/* 00FDC 809F922C 0C00D09B */ jal func_8003426C
/* 00FE0 809F9230 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
/* 00FE4 809F9234 27A3008C */ addiu $v1, $sp, 0x008C ## $v1 = FFFFFFE4
.L809F9238:
/* 00FE8 809F9238 C6300164 */ lwc1 $f16, 0x0164($s1) ## 00000164
.L809F923C:
/* 00FEC 809F923C 27B20064 */ addiu $s2, $sp, 0x0064 ## $s2 = FFFFFFBC
/* 00FF0 809F9240 4600818D */ trunc.w.s $f6, $f16
/* 00FF4 809F9244 44023000 */ mfc1 $v0, $f6
/* 00FF8 809F9248 00000000 */ nop
/* 00FFC 809F924C 2841001C */ slti $at, $v0, 0x001C
/* 01000 809F9250 1020004F */ beq $at, $zero, .L809F9390
/* 01004 809F9254 2841001A */ slti $at, $v0, 0x001A
/* 01008 809F9258 5020000B */ beql $at, $zero, .L809F9288
/* 0100C 809F925C 8E280340 */ lw $t0, 0x0340($s1) ## 00000340
/* 01010 809F9260 8638030C */ lh $t8, 0x030C($s1) ## 0000030C
/* 01014 809F9264 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 01018 809F9268 2B01000B */ slti $at, $t8, 0x000B
/* 0101C 809F926C 50200006 */ beql $at, $zero, .L809F9288
/* 01020 809F9270 8E280340 */ lw $t0, 0x0340($s1) ## 00000340
/* 01024 809F9274 0C27E096 */ jal func_809F8258
/* 01028 809F9278 02602825 */ or $a1, $s3, $zero ## $a1 = 00000000
/* 0102C 809F927C 10000045 */ beq $zero, $zero, .L809F9394
/* 01030 809F9280 92240114 */ lbu $a0, 0x0114($s1) ## 00000114
/* 01034 809F9284 8E280340 */ lw $t0, 0x0340($s1) ## 00000340
.L809F9288:
/* 01038 809F9288 24090032 */ addiu $t1, $zero, 0x0032 ## $t1 = 00000032
/* 0103C 809F928C 240A0005 */ addiu $t2, $zero, 0x0005 ## $t2 = 00000005
/* 01040 809F9290 AE480000 */ sw $t0, 0x0000($s2) ## FFFFFFBC
/* 01044 809F9294 8E390344 */ lw $t9, 0x0344($s1) ## 00000344
/* 01048 809F9298 02602025 */ or $a0, $s3, $zero ## $a0 = 00000000
/* 0104C 809F929C 02402825 */ or $a1, $s2, $zero ## $a1 = FFFFFFBC
/* 01050 809F92A0 AE590004 */ sw $t9, 0x0004($s2) ## FFFFFFC0
/* 01054 809F92A4 8E280348 */ lw $t0, 0x0348($s1) ## 00000348
/* 01058 809F92A8 27A6009C */ addiu $a2, $sp, 0x009C ## $a2 = FFFFFFF4
/* 0105C 809F92AC 27A70090 */ addiu $a3, $sp, 0x0090 ## $a3 = FFFFFFE8
/* 01060 809F92B0 AE480008 */ sw $t0, 0x0008($s2) ## FFFFFFC4
/* 01064 809F92B4 AFAA001C */ sw $t2, 0x001C($sp)
/* 01068 809F92B8 AFA90018 */ sw $t1, 0x0018($sp)
/* 0106C 809F92BC AFA30014 */ sw $v1, 0x0014($sp)
/* 01070 809F92C0 0C00A0A7 */ jal func_8002829C
/* 01074 809F92C4 AFA30010 */ sw $v1, 0x0010($sp)
/* 01078 809F92C8 0C01DE0D */ jal Math_Coss
## coss?
/* 0107C 809F92CC 862400B6 */ lh $a0, 0x00B6($s1) ## 000000B6
/* 01080 809F92D0 3C0140C0 */ lui $at, 0x40C0 ## $at = 40C00000
/* 01084 809F92D4 4481A000 */ mtc1 $at, $f20 ## $f20 = 6.00
/* 01088 809F92D8 C7A40064 */ lwc1 $f4, 0x0064($sp)
/* 0108C 809F92DC 46140482 */ mul.s $f18, $f0, $f20
/* 01090 809F92E0 46122201 */ sub.s $f8, $f4, $f18
/* 01094 809F92E4 E7A80064 */ swc1 $f8, 0x0064($sp)
/* 01098 809F92E8 0C01DE1C */ jal Math_Sins
## sins?
/* 0109C 809F92EC 862400B6 */ lh $a0, 0x00B6($s1) ## 000000B6
/* 010A0 809F92F0 46140402 */ mul.s $f16, $f0, $f20
/* 010A4 809F92F4 C7AA006C */ lwc1 $f10, 0x006C($sp)
/* 010A8 809F92F8 27AB008C */ addiu $t3, $sp, 0x008C ## $t3 = FFFFFFE4
/* 010AC 809F92FC 240C0032 */ addiu $t4, $zero, 0x0032 ## $t4 = 00000032
/* 010B0 809F9300 240D0005 */ addiu $t5, $zero, 0x0005 ## $t5 = 00000005
/* 010B4 809F9304 AFAD001C */ sw $t5, 0x001C($sp)
/* 010B8 809F9308 AFAC0018 */ sw $t4, 0x0018($sp)
/* 010BC 809F930C 46105180 */ add.s $f6, $f10, $f16
/* 010C0 809F9310 AFAB0010 */ sw $t3, 0x0010($sp)
/* 010C4 809F9314 AFAB0014 */ sw $t3, 0x0014($sp)
/* 010C8 809F9318 02602025 */ or $a0, $s3, $zero ## $a0 = 00000000
/* 010CC 809F931C E7A6006C */ swc1 $f6, 0x006C($sp)
/* 010D0 809F9320 02402825 */ or $a1, $s2, $zero ## $a1 = FFFFFFBC
/* 010D4 809F9324 27A6009C */ addiu $a2, $sp, 0x009C ## $a2 = FFFFFFF4
/* 010D8 809F9328 0C00A0A7 */ jal func_8002829C
/* 010DC 809F932C 27A70090 */ addiu $a3, $sp, 0x0090 ## $a3 = FFFFFFE8
/* 010E0 809F9330 0C01DE0D */ jal Math_Coss
## coss?
/* 010E4 809F9334 862400B6 */ lh $a0, 0x00B6($s1) ## 000000B6
/* 010E8 809F9338 46140102 */ mul.s $f4, $f0, $f20
/* 010EC 809F933C C6320340 */ lwc1 $f18, 0x0340($s1) ## 00000340
/* 010F0 809F9340 46122200 */ add.s $f8, $f4, $f18
/* 010F4 809F9344 E7A80064 */ swc1 $f8, 0x0064($sp)
/* 010F8 809F9348 0C01DE1C */ jal Math_Sins
## sins?
/* 010FC 809F934C 862400B6 */ lh $a0, 0x00B6($s1) ## 000000B6
/* 01100 809F9350 46140402 */ mul.s $f16, $f0, $f20
/* 01104 809F9354 C62A0348 */ lwc1 $f10, 0x0348($s1) ## 00000348
/* 01108 809F9358 27AE008C */ addiu $t6, $sp, 0x008C ## $t6 = FFFFFFE4
/* 0110C 809F935C 240F0032 */ addiu $t7, $zero, 0x0032 ## $t7 = 00000032
/* 01110 809F9360 24180005 */ addiu $t8, $zero, 0x0005 ## $t8 = 00000005
/* 01114 809F9364 AFB8001C */ sw $t8, 0x001C($sp)
/* 01118 809F9368 AFAF0018 */ sw $t7, 0x0018($sp)
/* 0111C 809F936C 46105181 */ sub.s $f6, $f10, $f16
/* 01120 809F9370 AFAE0010 */ sw $t6, 0x0010($sp)
/* 01124 809F9374 AFAE0014 */ sw $t6, 0x0014($sp)
/* 01128 809F9378 02602025 */ or $a0, $s3, $zero ## $a0 = 00000000
/* 0112C 809F937C E7A6006C */ swc1 $f6, 0x006C($sp)
/* 01130 809F9380 02402825 */ or $a1, $s2, $zero ## $a1 = FFFFFFBC
/* 01134 809F9384 27A6009C */ addiu $a2, $sp, 0x009C ## $a2 = FFFFFFF4
/* 01138 809F9388 0C00A0A7 */ jal func_8002829C
/* 0113C 809F938C 27A70090 */ addiu $a3, $sp, 0x0090 ## $a3 = FFFFFFE8
.L809F9390:
/* 01140 809F9390 92240114 */ lbu $a0, 0x0114($s1) ## 00000114
.L809F9394:
/* 01144 809F9394 00042300 */ sll $a0, $a0, 12
/* 01148 809F9398 00042400 */ sll $a0, $a0, 16
/* 0114C 809F939C 0C01DE1C */ jal Math_Sins
## sins?
/* 01150 809F93A0 00042403 */ sra $a0, $a0, 16
/* 01154 809F93A4 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 01158 809F93A8 4481A000 */ mtc1 $at, $f20 ## $f20 = 1.00
/* 0115C 809F93AC 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
/* 01160 809F93B0 44812000 */ mtc1 $at, $f4 ## $f4 = 0.50
/* 01164 809F93B4 92240114 */ lbu $a0, 0x0114($s1) ## 00000114
/* 01168 809F93B8 46040482 */ mul.s $f18, $f0, $f4
/* 0116C 809F93BC 00042300 */ sll $a0, $a0, 12
/* 01170 809F93C0 00042400 */ sll $a0, $a0, 16
/* 01174 809F93C4 00042403 */ sra $a0, $a0, 16
/* 01178 809F93C8 46149080 */ add.s $f2, $f18, $f20
/* 0117C 809F93CC E6220354 */ swc1 $f2, 0x0354($s1) ## 00000354
/* 01180 809F93D0 0C01DE1C */ jal Math_Sins
## sins?
/* 01184 809F93D4 E6220350 */ swc1 $f2, 0x0350($s1) ## 00000350
/* 01188 809F93D8 46140200 */ add.s $f8, $f0, $f20
/* 0118C 809F93DC 2624014C */ addiu $a0, $s1, 0x014C ## $a0 = 0000014C
/* 01190 809F93E0 0C02927F */ jal SkelAnime_FrameUpdateMatrix
/* 01194 809F93E4 E628034C */ swc1 $f8, 0x034C($s1) ## 0000034C
/* 01198 809F93E8 8639030C */ lh $t9, 0x030C($s1) ## 0000030C
/* 0119C 809F93EC 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 011A0 809F93F0 57200004 */ bnel $t9, $zero, .L809F9404
/* 011A4 809F93F4 8FBF004C */ lw $ra, 0x004C($sp)
/* 011A8 809F93F8 0C27E6A0 */ jal func_809F9A80
/* 011AC 809F93FC 02602825 */ or $a1, $s3, $zero ## $a1 = 00000000
/* 011B0 809F9400 8FBF004C */ lw $ra, 0x004C($sp)
.L809F9404:
/* 011B4 809F9404 D7B40028 */ ldc1 $f20, 0x0028($sp)
/* 011B8 809F9408 D7B60030 */ ldc1 $f22, 0x0030($sp)
/* 011BC 809F940C 8FB0003C */ lw $s0, 0x003C($sp)
/* 011C0 809F9410 8FB10040 */ lw $s1, 0x0040($sp)
/* 011C4 809F9414 8FB20044 */ lw $s2, 0x0044($sp)
/* 011C8 809F9418 8FB30048 */ lw $s3, 0x0048($sp)
/* 011CC 809F941C 03E00008 */ jr $ra
/* 011D0 809F9420 27BD00A8 */ addiu $sp, $sp, 0x00A8 ## $sp = 00000000

View File

@ -1,238 +0,0 @@
.late_rodata
glabel D_809FABA0
.float 0.7
.text
glabel func_809F9424
/* 011D4 809F9424 27BDFFB0 */ addiu $sp, $sp, 0xFFB0 ## $sp = FFFFFFB0
/* 011D8 809F9428 AFBF0034 */ sw $ra, 0x0034($sp)
/* 011DC 809F942C AFB00030 */ sw $s0, 0x0030($sp)
/* 011E0 809F9430 AFA50054 */ sw $a1, 0x0054($sp)
/* 011E4 809F9434 8CAF1C44 */ lw $t7, 0x1C44($a1) ## 00001C44
/* 011E8 809F9438 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 011EC 809F943C 3C063DCC */ lui $a2, 0x3DCC ## $a2 = 3DCC0000
/* 011F0 809F9440 AFAF0044 */ sw $t7, 0x0044($sp)
/* 011F4 809F9444 849900B6 */ lh $t9, 0x00B6($a0) ## 000000B6
/* 011F8 809F9448 8498008A */ lh $t8, 0x008A($a0) ## 0000008A
/* 011FC 809F944C 26040068 */ addiu $a0, $s0, 0x0068 ## $a0 = 00000068
/* 01200 809F9450 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3DCCCCCD
/* 01204 809F9454 03191023 */ subu $v0, $t8, $t9
/* 01208 809F9458 00021400 */ sll $v0, $v0, 16
/* 0120C 809F945C 00021403 */ sra $v0, $v0, 16
/* 01210 809F9460 04410004 */ bgez $v0, .L809F9474
/* 01214 809F9464 3C053FC0 */ lui $a1, 0x3FC0 ## $a1 = 3FC00000
/* 01218 809F9468 00021023 */ subu $v0, $zero, $v0
/* 0121C 809F946C 00021400 */ sll $v0, $v0, 16
/* 01220 809F9470 00021403 */ sra $v0, $v0, 16
.L809F9474:
/* 01224 809F9474 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
/* 01228 809F9478 3C073F80 */ lui $a3, 0x3F80 ## $a3 = 3F800000
/* 0122C 809F947C A7A20042 */ sh $v0, 0x0042($sp)
/* 01230 809F9480 0C01E0C4 */ jal Math_SmoothScaleMaxMinF
/* 01234 809F9484 E7A40010 */ swc1 $f4, 0x0010($sp)
/* 01238 809F9488 C6020068 */ lwc1 $f2, 0x0068($s0) ## 00000068
/* 0123C 809F948C 44804000 */ mtc1 $zero, $f8 ## $f8 = 0.00
/* 01240 809F9490 3C013F40 */ lui $at, 0x3F40 ## $at = 3F400000
/* 01244 809F9494 44813000 */ mtc1 $at, $f6 ## $f6 = 0.75
/* 01248 809F9498 4602403E */ c.le.s $f8, $f2
/* 0124C 809F949C 3C01BFC0 */ lui $at, 0xBFC0 ## $at = BFC00000
/* 01250 809F94A0 46061302 */ mul.s $f12, $f2, $f6
/* 01254 809F94A4 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 01258 809F94A8 4502000B */ bc1fl .L809F94D8
/* 0125C 809F94AC 44810000 */ mtc1 $at, $f0 ## $f0 = -1.50
/* 01260 809F94B0 3C013FC0 */ lui $at, 0x3FC0 ## $at = 3FC00000
/* 01264 809F94B4 44810000 */ mtc1 $at, $f0 ## $f0 = 1.50
/* 01268 809F94B8 00000000 */ nop
/* 0126C 809F94BC 460C003C */ c.lt.s $f0, $f12
/* 01270 809F94C0 00000000 */ nop
/* 01274 809F94C4 4500000A */ bc1f .L809F94F0
/* 01278 809F94C8 00000000 */ nop
/* 0127C 809F94CC 10000008 */ beq $zero, $zero, .L809F94F0
/* 01280 809F94D0 46000306 */ mov.s $f12, $f0
/* 01284 809F94D4 44810000 */ mtc1 $at, $f0 ## $f0 = 1.50
.L809F94D8:
/* 01288 809F94D8 00000000 */ nop
/* 0128C 809F94DC 4600603C */ c.lt.s $f12, $f0
/* 01290 809F94E0 00000000 */ nop
/* 01294 809F94E4 45000002 */ bc1f .L809F94F0
/* 01298 809F94E8 00000000 */ nop
/* 0129C 809F94EC 46000306 */ mov.s $f12, $f0
.L809F94F0:
/* 012A0 809F94F0 0C02927F */ jal SkelAnime_FrameUpdateMatrix
/* 012A4 809F94F4 E60C0168 */ swc1 $f12, 0x0168($s0) ## 00000168
/* 012A8 809F94F8 C60A0164 */ lwc1 $f10, 0x0164($s0) ## 00000164
/* 012AC 809F94FC 4600540D */ trunc.w.s $f16, $f10
/* 012B0 809F9500 44098000 */ mfc1 $t1, $f16
/* 012B4 809F9504 00000000 */ nop
/* 012B8 809F9508 29210015 */ slti $at, $t1, 0x0015
/* 012BC 809F950C 5020001A */ beql $at, $zero, .L809F9578
/* 012C0 809F9510 860F0316 */ lh $t7, 0x0316($s0) ## 00000316
/* 012C4 809F9514 860A0316 */ lh $t2, 0x0316($s0) ## 00000316
/* 012C8 809F9518 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 012CC 809F951C 5540002C */ bnel $t2, $zero, .L809F95D0
/* 012D0 809F9520 8FA50044 */ lw $a1, 0x0044($sp)
/* 012D4 809F9524 0C00BE0A */ jal Audio_PlayActorSound2
/* 012D8 809F9528 24053800 */ addiu $a1, $zero, 0x3800 ## $a1 = 00003800
/* 012DC 809F952C 3C014000 */ lui $at, 0x4000 ## $at = 40000000
/* 012E0 809F9530 44819000 */ mtc1 $at, $f18 ## $f18 = 2.00
/* 012E4 809F9534 240B0003 */ addiu $t3, $zero, 0x0003 ## $t3 = 00000003
/* 012E8 809F9538 240C00C8 */ addiu $t4, $zero, 0x00C8 ## $t4 = 000000C8
/* 012EC 809F953C 240D000F */ addiu $t5, $zero, 0x000F ## $t5 = 0000000F
/* 012F0 809F9540 AFAD001C */ sw $t5, 0x001C($sp)
/* 012F4 809F9544 AFAC0018 */ sw $t4, 0x0018($sp)
/* 012F8 809F9548 AFAB0010 */ sw $t3, 0x0010($sp)
/* 012FC 809F954C 8FA40054 */ lw $a0, 0x0054($sp)
/* 01300 809F9550 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 01304 809F9554 2606031C */ addiu $a2, $s0, 0x031C ## $a2 = 0000031C
/* 01308 809F9558 3C074120 */ lui $a3, 0x4120 ## $a3 = 41200000
/* 0130C 809F955C AFA00020 */ sw $zero, 0x0020($sp)
/* 01310 809F9560 0C00CC98 */ jal func_80033260
/* 01314 809F9564 E7B20014 */ swc1 $f18, 0x0014($sp)
/* 01318 809F9568 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001
/* 0131C 809F956C 10000017 */ beq $zero, $zero, .L809F95CC
/* 01320 809F9570 A60E0316 */ sh $t6, 0x0316($s0) ## 00000316
/* 01324 809F9574 860F0316 */ lh $t7, 0x0316($s0) ## 00000316
.L809F9578:
/* 01328 809F9578 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0132C 809F957C 51E00014 */ beql $t7, $zero, .L809F95D0
/* 01330 809F9580 8FA50044 */ lw $a1, 0x0044($sp)
/* 01334 809F9584 0C00BE0A */ jal Audio_PlayActorSound2
/* 01338 809F9588 24053800 */ addiu $a1, $zero, 0x3800 ## $a1 = 00003800
/* 0133C 809F958C 3C014000 */ lui $at, 0x4000 ## $at = 40000000
/* 01340 809F9590 44812000 */ mtc1 $at, $f4 ## $f4 = 2.00
/* 01344 809F9594 24180003 */ addiu $t8, $zero, 0x0003 ## $t8 = 00000003
/* 01348 809F9598 241900C8 */ addiu $t9, $zero, 0x00C8 ## $t9 = 000000C8
/* 0134C 809F959C 2408000F */ addiu $t0, $zero, 0x000F ## $t0 = 0000000F
/* 01350 809F95A0 AFA8001C */ sw $t0, 0x001C($sp)
/* 01354 809F95A4 AFB90018 */ sw $t9, 0x0018($sp)
/* 01358 809F95A8 AFB80010 */ sw $t8, 0x0010($sp)
/* 0135C 809F95AC 8FA40054 */ lw $a0, 0x0054($sp)
/* 01360 809F95B0 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 01364 809F95B4 26060328 */ addiu $a2, $s0, 0x0328 ## $a2 = 00000328
/* 01368 809F95B8 3C074120 */ lui $a3, 0x4120 ## $a3 = 41200000
/* 0136C 809F95BC AFA00020 */ sw $zero, 0x0020($sp)
/* 01370 809F95C0 0C00CC98 */ jal func_80033260
/* 01374 809F95C4 E7A40014 */ swc1 $f4, 0x0014($sp)
/* 01378 809F95C8 A6000316 */ sh $zero, 0x0316($s0) ## 00000316
.L809F95CC:
/* 0137C 809F95CC 8FA50044 */ lw $a1, 0x0044($sp)
.L809F95D0:
/* 01380 809F95D0 26040008 */ addiu $a0, $s0, 0x0008 ## $a0 = 00000008
/* 01384 809F95D4 AFA4003C */ sw $a0, 0x003C($sp)
/* 01388 809F95D8 0C01E00A */ jal Math_Vec3f_DistXZ
/* 0138C 809F95DC 24A50024 */ addiu $a1, $a1, 0x0024 ## $a1 = 00000024
/* 01390 809F95E0 3C0143C8 */ lui $at, 0x43C8 ## $at = 43C80000
/* 01394 809F95E4 44813000 */ mtc1 $at, $f6 ## $f6 = 400.00
/* 01398 809F95E8 26040032 */ addiu $a0, $s0, 0x0032 ## $a0 = 00000032
/* 0139C 809F95EC 24060001 */ addiu $a2, $zero, 0x0001 ## $a2 = 00000001
/* 013A0 809F95F0 4606003C */ c.lt.s $f0, $f6
/* 013A4 809F95F4 240701F4 */ addiu $a3, $zero, 0x01F4 ## $a3 = 000001F4
/* 013A8 809F95F8 4502001B */ bc1fl .L809F9668
/* 013AC 809F95FC 8E0C0004 */ lw $t4, 0x0004($s0) ## 00000004
/* 013B0 809F9600 8605008A */ lh $a1, 0x008A($s0) ## 0000008A
/* 013B4 809F9604 0C01E1A7 */ jal Math_SmoothScaleMaxMinS
/* 013B8 809F9608 AFA00010 */ sw $zero, 0x0010($sp)
/* 013BC 809F960C 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
/* 013C0 809F9610 44815000 */ mtc1 $at, $f10 ## $f10 = 100.00
/* 013C4 809F9614 C6080090 */ lwc1 $f8, 0x0090($s0) ## 00000090
/* 013C8 809F9618 8E090004 */ lw $t1, 0x0004($s0) ## 00000004
/* 013CC 809F961C 460A403C */ c.lt.s $f8, $f10
/* 013D0 809F9620 352A0001 */ ori $t2, $t1, 0x0001 ## $t2 = 00000001
/* 013D4 809F9624 AE0A0004 */ sw $t2, 0x0004($s0) ## 00000004
/* 013D8 809F9628 87AB0042 */ lh $t3, 0x0042($sp)
/* 013DC 809F962C 45000045 */ bc1f .L809F9744
/* 013E0 809F9630 29611388 */ slti $at, $t3, 0x1388
/* 013E4 809F9634 10200043 */ beq $at, $zero, .L809F9744
/* 013E8 809F9638 3C014270 */ lui $at, 0x4270 ## $at = 42700000
/* 013EC 809F963C 44819000 */ mtc1 $at, $f18 ## $f18 = 60.00
/* 013F0 809F9640 C6100094 */ lwc1 $f16, 0x0094($s0) ## 00000094
/* 013F4 809F9644 4612803C */ c.lt.s $f16, $f18
/* 013F8 809F9648 00000000 */ nop
/* 013FC 809F964C 4502003E */ bc1fl .L809F9748
/* 01400 809F9650 86080032 */ lh $t0, 0x0032($s0) ## 00000032
/* 01404 809F9654 0C27E2B6 */ jal func_809F8AD8
/* 01408 809F9658 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0140C 809F965C 1000003A */ beq $zero, $zero, .L809F9748
/* 01410 809F9660 86080032 */ lh $t0, 0x0032($s0) ## 00000032
/* 01414 809F9664 8E0C0004 */ lw $t4, 0x0004($s0) ## 00000004
.L809F9668:
/* 01418 809F9668 2401FFFE */ addiu $at, $zero, 0xFFFE ## $at = FFFFFFFE
/* 0141C 809F966C 26040024 */ addiu $a0, $s0, 0x0024 ## $a0 = 00000024
/* 01420 809F9670 01816824 */ and $t5, $t4, $at
/* 01424 809F9674 AE0D0004 */ sw $t5, 0x0004($s0) ## 00000004
/* 01428 809F9678 AFA40038 */ sw $a0, 0x0038($sp)
/* 0142C 809F967C 0C01E00A */ jal Math_Vec3f_DistXZ
/* 01430 809F9680 8FA5003C */ lw $a1, 0x003C($sp)
/* 01434 809F9684 3C014316 */ lui $at, 0x4316 ## $at = 43160000
/* 01438 809F9688 44812000 */ mtc1 $at, $f4 ## $f4 = 150.00
/* 0143C 809F968C 8FA40038 */ lw $a0, 0x0038($sp)
/* 01440 809F9690 4600203C */ c.lt.s $f4, $f0
/* 01444 809F9694 00000000 */ nop
/* 01448 809F9698 45010004 */ bc1t .L809F96AC
/* 0144C 809F969C 00000000 */ nop
/* 01450 809F96A0 8603030E */ lh $v1, 0x030E($s0) ## 0000030E
/* 01454 809F96A4 1060000B */ beq $v1, $zero, .L809F96D4
/* 01458 809F96A8 00000000 */ nop
.L809F96AC:
/* 0145C 809F96AC 0C01E01A */ jal Math_Vec3f_Yaw
/* 01460 809F96B0 8FA5003C */ lw $a1, 0x003C($sp)
/* 01464 809F96B4 00022C00 */ sll $a1, $v0, 16
/* 01468 809F96B8 00052C03 */ sra $a1, $a1, 16
/* 0146C 809F96BC 26040032 */ addiu $a0, $s0, 0x0032 ## $a0 = 00000032
/* 01470 809F96C0 24060001 */ addiu $a2, $zero, 0x0001 ## $a2 = 00000001
/* 01474 809F96C4 240701F4 */ addiu $a3, $zero, 0x01F4 ## $a3 = 000001F4
/* 01478 809F96C8 0C01E1A7 */ jal Math_SmoothScaleMaxMinS
/* 0147C 809F96CC AFA00010 */ sw $zero, 0x0010($sp)
/* 01480 809F96D0 8603030E */ lh $v1, 0x030E($s0) ## 0000030E
.L809F96D4:
/* 01484 809F96D4 10600002 */ beq $v1, $zero, .L809F96E0
/* 01488 809F96D8 246EFFFF */ addiu $t6, $v1, 0xFFFF ## $t6 = FFFFFFFF
/* 0148C 809F96DC A60E030E */ sh $t6, 0x030E($s0) ## 0000030E
.L809F96E0:
/* 01490 809F96E0 860F030C */ lh $t7, 0x030C($s0) ## 0000030C
/* 01494 809F96E4 25F8FFFF */ addiu $t8, $t7, 0xFFFF ## $t8 = FFFFFFFF
/* 01498 809F96E8 A618030C */ sh $t8, 0x030C($s0) ## 0000030C
/* 0149C 809F96EC 8619030C */ lh $t9, 0x030C($s0) ## 0000030C
/* 014A0 809F96F0 57200015 */ bnel $t9, $zero, .L809F9748
/* 014A4 809F96F4 86080032 */ lh $t0, 0x0032($s0) ## 00000032
/* 014A8 809F96F8 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 014AC 809F96FC 00000000 */ nop
/* 014B0 809F9700 3C0180A0 */ lui $at, %hi(D_809FABA0) ## $at = 80A00000
/* 014B4 809F9704 C426ABA0 */ lwc1 $f6, %lo(D_809FABA0)($at)
/* 014B8 809F9708 24040032 */ addiu $a0, $zero, 0x0032 ## $a0 = 00000032
/* 014BC 809F970C 4600303C */ c.lt.s $f6, $f0
/* 014C0 809F9710 00000000 */ nop
/* 014C4 809F9714 45000009 */ bc1f .L809F973C
/* 014C8 809F9718 00000000 */ nop
/* 014CC 809F971C 0C01DF64 */ jal Math_Rand_S16Offset
/* 014D0 809F9720 24050046 */ addiu $a1, $zero, 0x0046 ## $a1 = 00000046
/* 014D4 809F9724 A602030C */ sh $v0, 0x030C($s0) ## 0000030C
/* 014D8 809F9728 2404000F */ addiu $a0, $zero, 0x000F ## $a0 = 0000000F
/* 014DC 809F972C 0C01DF64 */ jal Math_Rand_S16Offset
/* 014E0 809F9730 24050028 */ addiu $a1, $zero, 0x0028 ## $a1 = 00000028
/* 014E4 809F9734 10000003 */ beq $zero, $zero, .L809F9744
/* 014E8 809F9738 A602030E */ sh $v0, 0x030E($s0) ## 0000030E
.L809F973C:
/* 014EC 809F973C 0C27E273 */ jal func_809F89CC
/* 014F0 809F9740 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
.L809F9744:
/* 014F4 809F9744 86080032 */ lh $t0, 0x0032($s0) ## 00000032
.L809F9748:
/* 014F8 809F9748 A60800B6 */ sh $t0, 0x00B6($s0) ## 000000B6
/* 014FC 809F974C 8FBF0034 */ lw $ra, 0x0034($sp)
/* 01500 809F9750 8FB00030 */ lw $s0, 0x0030($sp)
/* 01504 809F9754 27BD0050 */ addiu $sp, $sp, 0x0050 ## $sp = 00000000
/* 01508 809F9758 03E00008 */ jr $ra
/* 0150C 809F975C 00000000 */ nop

View File

@ -1,26 +0,0 @@
glabel func_809F9760
/* 01510 809F9760 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 01514 809F9764 AFBF0014 */ sw $ra, 0x0014($sp)
/* 01518 809F9768 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000
/* 0151C 809F976C 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
/* 01520 809F9770 24A51A44 */ addiu $a1, $a1, 0x1A44 ## $a1 = 06001A44
/* 01524 809F9774 AFA70018 */ sw $a3, 0x0018($sp)
/* 01528 809F9778 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 0152C 809F977C 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
/* 01530 809F9780 3C06C080 */ lui $a2, 0xC080 ## $a2 = C0800000
/* 01534 809F9784 8FA40018 */ lw $a0, 0x0018($sp)
/* 01538 809F9788 0C00BE0A */ jal Audio_PlayActorSound2
/* 0153C 809F978C 24053803 */ addiu $a1, $zero, 0x3803 ## $a1 = 00003803
/* 01540 809F9790 8FA40018 */ lw $a0, 0x0018($sp)
/* 01544 809F9794 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
/* 01548 809F9798 3C0580A0 */ lui $a1, %hi(func_809F97C0) ## $a1 = 80A00000
/* 0154C 809F979C 24A597C0 */ addiu $a1, $a1, %lo(func_809F97C0) ## $a1 = 809F97C0
/* 01550 809F97A0 AC800304 */ sw $zero, 0x0304($a0) ## 00000304
/* 01554 809F97A4 A480030C */ sh $zero, 0x030C($a0) ## 0000030C
/* 01558 809F97A8 0C27E094 */ jal func_809F8250
/* 0155C 809F97AC E4840068 */ swc1 $f4, 0x0068($a0) ## 00000068
/* 01560 809F97B0 8FBF0014 */ lw $ra, 0x0014($sp)
/* 01564 809F97B4 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 01568 809F97B8 03E00008 */ jr $ra
/* 0156C 809F97BC 00000000 */ nop

View File

@ -1,193 +0,0 @@
glabel func_809F97C0
/* 01570 809F97C0 27BDFFA0 */ addiu $sp, $sp, 0xFFA0 ## $sp = FFFFFFA0
/* 01574 809F97C4 AFBF0034 */ sw $ra, 0x0034($sp)
/* 01578 809F97C8 AFB00030 */ sw $s0, 0x0030($sp)
/* 0157C 809F97CC AFA50064 */ sw $a1, 0x0064($sp)
/* 01580 809F97D0 848F00B6 */ lh $t7, 0x00B6($a0) ## 000000B6
/* 01584 809F97D4 848E008A */ lh $t6, 0x008A($a0) ## 0000008A
/* 01588 809F97D8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 0158C 809F97DC 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 01590 809F97E0 01CF1823 */ subu $v1, $t6, $t7
/* 01594 809F97E4 00031C00 */ sll $v1, $v1, 16
/* 01598 809F97E8 00031C03 */ sra $v1, $v1, 16
/* 0159C 809F97EC A7A3005E */ sh $v1, 0x005E($sp)
/* 015A0 809F97F0 0C02927F */ jal SkelAnime_FrameUpdateMatrix
/* 015A4 809F97F4 AFA40038 */ sw $a0, 0x0038($sp)
/* 015A8 809F97F8 10400048 */ beq $v0, $zero, .L809F991C
/* 015AC 809F97FC 87A3005E */ lh $v1, 0x005E($sp)
/* 015B0 809F9800 8618030C */ lh $t8, 0x030C($s0) ## 0000030C
/* 015B4 809F9804 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 015B8 809F9808 57000009 */ bnel $t8, $zero, .L809F9830
/* 015BC 809F980C A200063D */ sb $zero, 0x063D($s0) ## 0000063D
/* 015C0 809F9810 04600003 */ bltz $v1, .L809F9820
/* 015C4 809F9814 00031023 */ subu $v0, $zero, $v1
/* 015C8 809F9818 10000001 */ beq $zero, $zero, .L809F9820
/* 015CC 809F981C 00601025 */ or $v0, $v1, $zero ## $v0 = 00000000
.L809F9820:
/* 015D0 809F9820 28414000 */ slti $at, $v0, 0x4000
/* 015D4 809F9824 1020000E */ beq $at, $zero, .L809F9860
/* 015D8 809F9828 3409FFFF */ ori $t1, $zero, 0xFFFF ## $t1 = 0000FFFF
/* 015DC 809F982C A200063D */ sb $zero, 0x063D($s0) ## 0000063D
.L809F9830:
/* 015E0 809F9830 A20005FD */ sb $zero, 0x05FD($s0) ## 000005FD
/* 015E4 809F9834 A2000598 */ sb $zero, 0x0598($s0) ## 00000598
/* 015E8 809F9838 AE000628 */ sw $zero, 0x0628($s0) ## 00000628
/* 015EC 809F983C AE0005E8 */ sw $zero, 0x05E8($s0) ## 000005E8
/* 015F0 809F9840 A200062D */ sb $zero, 0x062D($s0) ## 0000062D
/* 015F4 809F9844 0C27E2B6 */ jal func_809F8AD8
/* 015F8 809F9848 A20005ED */ sb $zero, 0x05ED($s0) ## 000005ED
/* 015FC 809F984C 24040005 */ addiu $a0, $zero, 0x0005 ## $a0 = 00000005
/* 01600 809F9850 0C01DF64 */ jal Math_Rand_S16Offset
/* 01604 809F9854 2405000A */ addiu $a1, $zero, 0x000A ## $a1 = 0000000A
/* 01608 809F9858 10000084 */ beq $zero, $zero, .L809F9A6C
/* 0160C 809F985C A602030C */ sh $v0, 0x030C($s0) ## 0000030C
.L809F9860:
/* 01610 809F9860 8619008A */ lh $t9, 0x008A($s0) ## 0000008A
/* 01614 809F9864 860800B6 */ lh $t0, 0x00B6($s0) ## 000000B6
/* 01618 809F9868 2401000F */ addiu $at, $zero, 0x000F ## $at = 0000000F
/* 0161C 809F986C 24053859 */ addiu $a1, $zero, 0x3859 ## $a1 = 00003859
/* 01620 809F9870 03282023 */ subu $a0, $t9, $t0
/* 01624 809F9874 00041C00 */ sll $v1, $a0, 16
/* 01628 809F9878 00031C03 */ sra $v1, $v1, 16
/* 0162C 809F987C 04600003 */ bltz $v1, .L809F988C
/* 01630 809F9880 00046400 */ sll $t4, $a0, 16
/* 01634 809F9884 10000002 */ beq $zero, $zero, .L809F9890
/* 01638 809F9888 00601025 */ or $v0, $v1, $zero ## $v0 = 00000000
.L809F988C:
/* 0163C 809F988C 00031023 */ subu $v0, $zero, $v1
.L809F9890:
/* 01640 809F9890 01225023 */ subu $t2, $t1, $v0
/* 01644 809F9894 0141001A */ div $zero, $t2, $at
/* 01648 809F9898 00005812 */ mflo $t3
/* 0164C 809F989C 000C6C03 */ sra $t5, $t4, 16
/* 01650 809F98A0 05A00007 */ bltz $t5, .L809F98C0
/* 01654 809F98A4 A60B0310 */ sh $t3, 0x0310($s0) ## 00000310
/* 01658 809F98A8 860E0310 */ lh $t6, 0x0310($s0) ## 00000310
/* 0165C 809F98AC 3C070600 */ lui $a3, 0x0600 ## $a3 = 06000000
/* 01660 809F98B0 24E742C4 */ addiu $a3, $a3, 0x42C4 ## $a3 = 060042C4
/* 01664 809F98B4 000E7823 */ subu $t7, $zero, $t6
/* 01668 809F98B8 10000003 */ beq $zero, $zero, .L809F98C8
/* 0166C 809F98BC A60F0310 */ sh $t7, 0x0310($s0) ## 00000310
.L809F98C0:
/* 01670 809F98C0 3C070600 */ lui $a3, 0x0600 ## $a3 = 06000000
/* 01674 809F98C4 24E73B14 */ addiu $a3, $a3, 0x3B14 ## $a3 = 06003B14
.L809F98C8:
/* 01678 809F98C8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0167C 809F98CC 0C00BE0A */ jal Audio_PlayActorSound2
/* 01680 809F98D0 AFA70058 */ sw $a3, 0x0058($sp)
/* 01684 809F98D4 8FA50058 */ lw $a1, 0x0058($sp)
/* 01688 809F98D8 8FA40038 */ lw $a0, 0x0038($sp)
/* 0168C 809F98DC 0C0294A7 */ jal SkelAnime_ChangeAnimPlaybackStop
/* 01690 809F98E0 3C064000 */ lui $a2, 0x4000 ## $a2 = 40000000
/* 01694 809F98E4 3C03FFCF */ lui $v1, 0xFFCF ## $v1 = FFCF0000
/* 01698 809F98E8 24020011 */ addiu $v0, $zero, 0x0011 ## $v0 = 00000011
/* 0169C 809F98EC 3463FFFF */ ori $v1, $v1, 0xFFFF ## $v1 = FFCFFFFF
/* 016A0 809F98F0 24180012 */ addiu $t8, $zero, 0x0012 ## $t8 = 00000012
/* 016A4 809F98F4 24090008 */ addiu $t1, $zero, 0x0008 ## $t1 = 00000008
/* 016A8 809F98F8 A618030C */ sh $t8, 0x030C($s0) ## 0000030C
/* 016AC 809F98FC A202063D */ sb $v0, 0x063D($s0) ## 0000063D
/* 016B0 809F9900 A20205FD */ sb $v0, 0x05FD($s0) ## 000005FD
/* 016B4 809F9904 A2020598 */ sb $v0, 0x0598($s0) ## 00000598
/* 016B8 809F9908 AE030628 */ sw $v1, 0x0628($s0) ## 00000628
/* 016BC 809F990C AE0305E8 */ sw $v1, 0x05E8($s0) ## 000005E8
/* 016C0 809F9910 A209062D */ sb $t1, 0x062D($s0) ## 0000062D
/* 016C4 809F9914 10000055 */ beq $zero, $zero, .L809F9A6C
/* 016C8 809F9918 A20905ED */ sb $t1, 0x05ED($s0) ## 000005ED
.L809F991C:
/* 016CC 809F991C 8602030C */ lh $v0, 0x030C($s0) ## 0000030C
/* 016D0 809F9920 28410002 */ slti $at, $v0, 0x0002
/* 016D4 809F9924 54200052 */ bnel $at, $zero, .L809F9A70
/* 016D8 809F9928 8FBF0034 */ lw $ra, 0x0034($sp)
/* 016DC 809F992C 860F0618 */ lh $t7, 0x0618($s0) ## 00000618
/* 016E0 809F9930 860B0032 */ lh $t3, 0x0032($s0) ## 00000032
/* 016E4 809F9934 860C0310 */ lh $t4, 0x0310($s0) ## 00000310
/* 016E8 809F9938 448F2000 */ mtc1 $t7, $f4 ## $f4 = 0.00
/* 016EC 809F993C 244AFFFF */ addiu $t2, $v0, 0xFFFF ## $t2 = 00000010
/* 016F0 809F9940 016C6821 */ addu $t5, $t3, $t4
/* 016F4 809F9944 468021A0 */ cvt.s.w $f6, $f4
/* 016F8 809F9948 A60D0032 */ sh $t5, 0x0032($s0) ## 00000032
/* 016FC 809F994C 860E0032 */ lh $t6, 0x0032($s0) ## 00000032
/* 01700 809F9950 A60A030C */ sh $t2, 0x030C($s0) ## 0000030C
/* 01704 809F9954 3C014000 */ lui $at, 0x4000 ## $at = 40000000
/* 01708 809F9958 A60E00B6 */ sh $t6, 0x00B6($s0) ## 000000B6
/* 0170C 809F995C E7A6004C */ swc1 $f6, 0x004C($sp)
/* 01710 809F9960 8618061A */ lh $t8, 0x061A($s0) ## 0000061A
/* 01714 809F9964 44812000 */ mtc1 $at, $f4 ## $f4 = 2.00
/* 01718 809F9968 240A000F */ addiu $t2, $zero, 0x000F ## $t2 = 0000000F
/* 0171C 809F996C 44984000 */ mtc1 $t8, $f8 ## $f8 = 0.00
/* 01720 809F9970 24080002 */ addiu $t0, $zero, 0x0002 ## $t0 = 00000002
/* 01724 809F9974 24090064 */ addiu $t1, $zero, 0x0064 ## $t1 = 00000064
/* 01728 809F9978 468042A0 */ cvt.s.w $f10, $f8
/* 0172C 809F997C 8FA40064 */ lw $a0, 0x0064($sp)
/* 01730 809F9980 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 01734 809F9984 27A6004C */ addiu $a2, $sp, 0x004C ## $a2 = FFFFFFEC
/* 01738 809F9988 3C0740A0 */ lui $a3, 0x40A0 ## $a3 = 40A00000
/* 0173C 809F998C E7AA0050 */ swc1 $f10, 0x0050($sp)
/* 01740 809F9990 8619061C */ lh $t9, 0x061C($s0) ## 0000061C
/* 01744 809F9994 AFA00020 */ sw $zero, 0x0020($sp)
/* 01748 809F9998 AFAA001C */ sw $t2, 0x001C($sp)
/* 0174C 809F999C 44998000 */ mtc1 $t9, $f16 ## $f16 = 0.00
/* 01750 809F99A0 AFA90018 */ sw $t1, 0x0018($sp)
/* 01754 809F99A4 AFA80010 */ sw $t0, 0x0010($sp)
/* 01758 809F99A8 468084A0 */ cvt.s.w $f18, $f16
/* 0175C 809F99AC E7A40014 */ swc1 $f4, 0x0014($sp)
/* 01760 809F99B0 0C00CC98 */ jal func_80033260
/* 01764 809F99B4 E7B20054 */ swc1 $f18, 0x0054($sp)
/* 01768 809F99B8 860B0658 */ lh $t3, 0x0658($s0) ## 00000658
/* 0176C 809F99BC 3C014000 */ lui $at, 0x4000 ## $at = 40000000
/* 01770 809F99C0 240E0002 */ addiu $t6, $zero, 0x0002 ## $t6 = 00000002
/* 01774 809F99C4 448B3000 */ mtc1 $t3, $f6 ## $f6 = 0.00
/* 01778 809F99C8 240F0064 */ addiu $t7, $zero, 0x0064 ## $t7 = 00000064
/* 0177C 809F99CC 2418000F */ addiu $t8, $zero, 0x000F ## $t8 = 0000000F
/* 01780 809F99D0 46803220 */ cvt.s.w $f8, $f6
/* 01784 809F99D4 44813000 */ mtc1 $at, $f6 ## $f6 = 2.00
/* 01788 809F99D8 8FA40064 */ lw $a0, 0x0064($sp)
/* 0178C 809F99DC 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 01790 809F99E0 27A6004C */ addiu $a2, $sp, 0x004C ## $a2 = FFFFFFEC
/* 01794 809F99E4 3C0740A0 */ lui $a3, 0x40A0 ## $a3 = 40A00000
/* 01798 809F99E8 E7A8004C */ swc1 $f8, 0x004C($sp)
/* 0179C 809F99EC 860C065A */ lh $t4, 0x065A($s0) ## 0000065A
/* 017A0 809F99F0 448C5000 */ mtc1 $t4, $f10 ## $f10 = 0.00
/* 017A4 809F99F4 00000000 */ nop
/* 017A8 809F99F8 46805420 */ cvt.s.w $f16, $f10
/* 017AC 809F99FC E7B00050 */ swc1 $f16, 0x0050($sp)
/* 017B0 809F9A00 860D065C */ lh $t5, 0x065C($s0) ## 0000065C
/* 017B4 809F9A04 AFA00020 */ sw $zero, 0x0020($sp)
/* 017B8 809F9A08 AFB8001C */ sw $t8, 0x001C($sp)
/* 017BC 809F9A0C 448D9000 */ mtc1 $t5, $f18 ## $f18 = 0.00
/* 017C0 809F9A10 AFAF0018 */ sw $t7, 0x0018($sp)
/* 017C4 809F9A14 AFAE0010 */ sw $t6, 0x0010($sp)
/* 017C8 809F9A18 46809120 */ cvt.s.w $f4, $f18
/* 017CC 809F9A1C E7A60014 */ swc1 $f6, 0x0014($sp)
/* 017D0 809F9A20 0C00CC98 */ jal func_80033260
/* 017D4 809F9A24 E7A40054 */ swc1 $f4, 0x0054($sp)
/* 017D8 809F9A28 92190598 */ lbu $t9, 0x0598($s0) ## 00000598
/* 017DC 809F9A2C 8FA70064 */ lw $a3, 0x0064($sp)
/* 017E0 809F9A30 33280002 */ andi $t0, $t9, 0x0002 ## $t0 = 00000000
/* 017E4 809F9A34 51000008 */ beql $t0, $zero, .L809F9A58
/* 017E8 809F9A38 8FA40064 */ lw $a0, 0x0064($sp)
/* 017EC 809F9A3C 8CE41C44 */ lw $a0, 0x1C44($a3) ## 00001C44
/* 017F0 809F9A40 8E09058C */ lw $t1, 0x058C($s0) ## 0000058C
/* 017F4 809F9A44 54890004 */ bnel $a0, $t1, .L809F9A58
/* 017F8 809F9A48 8FA40064 */ lw $a0, 0x0064($sp)
/* 017FC 809F9A4C 0C00BE0A */ jal Audio_PlayActorSound2
/* 01800 809F9A50 2405083E */ addiu $a1, $zero, 0x083E ## $a1 = 0000083E
/* 01804 809F9A54 8FA40064 */ lw $a0, 0x0064($sp)
.L809F9A58:
/* 01808 809F9A58 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 0180C 809F9A5C 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
/* 01810 809F9A60 26060588 */ addiu $a2, $s0, 0x0588 ## $a2 = 00000588
/* 01814 809F9A64 0C0175E7 */ jal CollisionCheck_SetAT
## CollisionCheck_setAT
/* 01818 809F9A68 00812821 */ addu $a1, $a0, $at
.L809F9A6C:
/* 0181C 809F9A6C 8FBF0034 */ lw $ra, 0x0034($sp)
.L809F9A70:
/* 01820 809F9A70 8FB00030 */ lw $s0, 0x0030($sp)
/* 01824 809F9A74 27BD0060 */ addiu $sp, $sp, 0x0060 ## $sp = 00000000
/* 01828 809F9A78 03E00008 */ jr $ra
/* 0182C 809F9A7C 00000000 */ nop

View File

@ -1,32 +0,0 @@
glabel func_809F9A80
/* 01830 809F9A80 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 01834 809F9A84 AFA5001C */ sw $a1, 0x001C($sp)
/* 01838 809F9A88 AFBF0014 */ sw $ra, 0x0014($sp)
/* 0183C 809F9A8C 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000
/* 01840 809F9A90 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
/* 01844 809F9A94 24A513C4 */ addiu $a1, $a1, 0x13C4 ## $a1 = 060013C4
/* 01848 809F9A98 AFA70018 */ sw $a3, 0x0018($sp)
/* 0184C 809F9A9C 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 01850 809F9AA0 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
/* 01854 809F9AA4 3C06C100 */ lui $a2, 0xC100 ## $a2 = C1000000
/* 01858 809F9AA8 8FA40018 */ lw $a0, 0x0018($sp)
/* 0185C 809F9AAC 24053804 */ addiu $a1, $zero, 0x3804 ## $a1 = 00003804
/* 01860 809F9AB0 0C00BE0A */ jal Audio_PlayActorSound2
/* 01864 809F9AB4 A480030C */ sh $zero, 0x030C($a0) ## 0000030C
/* 01868 809F9AB8 8FA40018 */ lw $a0, 0x0018($sp)
/* 0186C 809F9ABC 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
/* 01870 809F9AC0 2401FFFE */ addiu $at, $zero, 0xFFFE ## $at = FFFFFFFE
/* 01874 809F9AC4 8C8F0004 */ lw $t7, 0x0004($a0) ## 00000004
/* 01878 809F9AC8 240E0002 */ addiu $t6, $zero, 0x0002 ## $t6 = 00000002
/* 0187C 809F9ACC 3C0580A0 */ lui $a1, %hi(func_809F9AF8) ## $a1 = 80A00000
/* 01880 809F9AD0 01E1C024 */ and $t8, $t7, $at
/* 01884 809F9AD4 24A59AF8 */ addiu $a1, $a1, %lo(func_809F9AF8) ## $a1 = 809F9AF8
/* 01888 809F9AD8 AC8E0304 */ sw $t6, 0x0304($a0) ## 00000304
/* 0188C 809F9ADC AC980004 */ sw $t8, 0x0004($a0) ## 00000004
/* 01890 809F9AE0 0C27E094 */ jal func_809F8250
/* 01894 809F9AE4 E4840068 */ swc1 $f4, 0x0068($a0) ## 00000068
/* 01898 809F9AE8 8FBF0014 */ lw $ra, 0x0014($sp)
/* 0189C 809F9AEC 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 018A0 809F9AF0 03E00008 */ jr $ra
/* 018A4 809F9AF4 00000000 */ nop

View File

@ -1,93 +0,0 @@
glabel func_809F9AF8
/* 018A8 809F9AF8 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
/* 018AC 809F9AFC AFBF0034 */ sw $ra, 0x0034($sp)
/* 018B0 809F9B00 AFB00030 */ sw $s0, 0x0030($sp)
/* 018B4 809F9B04 AFA5003C */ sw $a1, 0x003C($sp)
/* 018B8 809F9B08 3C01420C */ lui $at, 0x420C ## $at = 420C0000
/* 018BC 809F9B0C 44813000 */ mtc1 $at, $f6 ## $f6 = 35.00
/* 018C0 809F9B10 C4840164 */ lwc1 $f4, 0x0164($a0) ## 00000164
/* 018C4 809F9B14 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 018C8 809F9B18 4606203C */ c.lt.s $f4, $f6
/* 018CC 809F9B1C 00000000 */ nop
/* 018D0 809F9B20 45020009 */ bc1fl .L809F9B48
/* 018D4 809F9B24 920F0114 */ lbu $t7, 0x0114($s0) ## 00000114
/* 018D8 809F9B28 848E001C */ lh $t6, 0x001C($a0) ## 0000001C
/* 018DC 809F9B2C 15C0000E */ bne $t6, $zero, .L809F9B68
/* 018E0 809F9B30 00000000 */ nop
/* 018E4 809F9B34 0C27E096 */ jal func_809F8258
/* 018E8 809F9B38 00000000 */ nop
/* 018EC 809F9B3C 1000000A */ beq $zero, $zero, .L809F9B68
/* 018F0 809F9B40 00000000 */ nop
/* 018F4 809F9B44 920F0114 */ lbu $t7, 0x0114($s0) ## 00000114
.L809F9B48:
/* 018F8 809F9B48 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 018FC 809F9B4C 24054000 */ addiu $a1, $zero, 0x4000 ## $a1 = 00004000
/* 01900 809F9B50 15E00005 */ bne $t7, $zero, .L809F9B68
/* 01904 809F9B54 24060078 */ addiu $a2, $zero, 0x0078 ## $a2 = 00000078
/* 01908 809F9B58 24180004 */ addiu $t8, $zero, 0x0004 ## $t8 = 00000004
/* 0190C 809F9B5C AFB80010 */ sw $t8, 0x0010($sp)
/* 01910 809F9B60 0C00D09B */ jal func_8003426C
/* 01914 809F9B64 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
.L809F9B68:
/* 01918 809F9B68 0C02927F */ jal SkelAnime_FrameUpdateMatrix
/* 0191C 809F9B6C 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 01920 809F9B70 50400017 */ beql $v0, $zero, .L809F9BD0
/* 01924 809F9B74 C6100164 */ lwc1 $f16, 0x0164($s0) ## 00000164
/* 01928 809F9B78 8619030C */ lh $t9, 0x030C($s0) ## 0000030C
/* 0192C 809F9B7C 8FA5003C */ lw $a1, 0x003C($sp)
/* 01930 809F9B80 24060010 */ addiu $a2, $zero, 0x0010 ## $a2 = 00000010
/* 01934 809F9B84 1720001B */ bne $t9, $zero, .L809F9BF4
/* 01938 809F9B88 24A41C24 */ addiu $a0, $a1, 0x1C24 ## $a0 = 00001C24
/* 0193C 809F9B8C C6080028 */ lwc1 $f8, 0x0028($s0) ## 00000028
/* 01940 809F9B90 8E070024 */ lw $a3, 0x0024($s0) ## 00000024
/* 01944 809F9B94 24090006 */ addiu $t1, $zero, 0x0006 ## $t1 = 00000006
/* 01948 809F9B98 E7A80010 */ swc1 $f8, 0x0010($sp)
/* 0194C 809F9B9C C60A002C */ lwc1 $f10, 0x002C($s0) ## 0000002C
/* 01950 809F9BA0 AFA00024 */ sw $zero, 0x0024($sp)
/* 01954 809F9BA4 AFA90020 */ sw $t1, 0x0020($sp)
/* 01958 809F9BA8 AFA0001C */ sw $zero, 0x001C($sp)
/* 0195C 809F9BAC AFA00018 */ sw $zero, 0x0018($sp)
/* 01960 809F9BB0 0C00C7D4 */ jal Actor_Spawn
## ActorSpawn
/* 01964 809F9BB4 E7AA0014 */ swc1 $f10, 0x0014($sp)
/* 01968 809F9BB8 1040000E */ beq $v0, $zero, .L809F9BF4
/* 0196C 809F9BBC 240A0008 */ addiu $t2, $zero, 0x0008 ## $t2 = 00000008
/* 01970 809F9BC0 A44001F8 */ sh $zero, 0x01F8($v0) ## 000001F8
/* 01974 809F9BC4 1000000B */ beq $zero, $zero, .L809F9BF4
/* 01978 809F9BC8 A60A030C */ sh $t2, 0x030C($s0) ## 0000030C
/* 0197C 809F9BCC C6100164 */ lwc1 $f16, 0x0164($s0) ## 00000164
.L809F9BD0:
/* 01980 809F9BD0 24010034 */ addiu $at, $zero, 0x0034 ## $at = 00000034
/* 01984 809F9BD4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01988 809F9BD8 4600848D */ trunc.w.s $f18, $f16
/* 0198C 809F9BDC 440C9000 */ mfc1 $t4, $f18
/* 01990 809F9BE0 00000000 */ nop
/* 01994 809F9BE4 55810004 */ bnel $t4, $at, .L809F9BF8
/* 01998 809F9BE8 8602030C */ lh $v0, 0x030C($s0) ## 0000030C
/* 0199C 809F9BEC 0C00BE0A */ jal Audio_PlayActorSound2
/* 019A0 809F9BF0 2405387A */ addiu $a1, $zero, 0x387A ## $a1 = 0000387A
.L809F9BF4:
/* 019A4 809F9BF4 8602030C */ lh $v0, 0x030C($s0) ## 0000030C
.L809F9BF8:
/* 019A8 809F9BF8 1040000B */ beq $v0, $zero, .L809F9C28
/* 019AC 809F9BFC 244DFFFF */ addiu $t5, $v0, 0xFFFF ## $t5 = FFFFFFFF
/* 019B0 809F9C00 A60D030C */ sh $t5, 0x030C($s0) ## 0000030C
/* 019B4 809F9C04 860E030C */ lh $t6, 0x030C($s0) ## 0000030C
/* 019B8 809F9C08 8FA4003C */ lw $a0, 0x003C($sp)
/* 019BC 809F9C0C 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 019C0 809F9C10 15C00005 */ bne $t6, $zero, .L809F9C28
/* 019C4 809F9C14 26060024 */ addiu $a2, $s0, 0x0024 ## $a2 = 00000024
/* 019C8 809F9C18 0C007E50 */ jal Item_DropCollectibleRandom
/* 019CC 809F9C1C 24070040 */ addiu $a3, $zero, 0x0040 ## $a3 = 00000040
/* 019D0 809F9C20 0C00B55C */ jal Actor_Kill
/* 019D4 809F9C24 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
.L809F9C28:
/* 019D8 809F9C28 8FBF0034 */ lw $ra, 0x0034($sp)
/* 019DC 809F9C2C 8FB00030 */ lw $s0, 0x0030($sp)
/* 019E0 809F9C30 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000
/* 019E4 809F9C34 03E00008 */ jr $ra
/* 019E8 809F9C38 00000000 */ nop

View File

@ -1,29 +0,0 @@
glabel func_809F9C3C
/* 019EC 809F9C3C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 019F0 809F9C40 AFBF0014 */ sw $ra, 0x0014($sp)
/* 019F4 809F9C44 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
/* 019F8 809F9C48 AFA5001C */ sw $a1, 0x001C($sp)
/* 019FC 809F9C4C AFA60018 */ sw $a2, 0x0018($sp)
/* 01A00 809F9C50 0C02927F */ jal SkelAnime_FrameUpdateMatrix
/* 01A04 809F9C54 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 01A08 809F9C58 8FA60018 */ lw $a2, 0x0018($sp)
/* 01A0C 809F9C5C 90CE0114 */ lbu $t6, 0x0114($a2) ## 00000114
/* 01A10 809F9C60 55C0000C */ bnel $t6, $zero, .L809F9C94
/* 01A14 809F9C64 8FBF0014 */ lw $ra, 0x0014($sp)
/* 01A18 809F9C68 90CF00AF */ lbu $t7, 0x00AF($a2) ## 000000AF
/* 01A1C 809F9C6C 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
/* 01A20 809F9C70 15E00005 */ bne $t7, $zero, .L809F9C88
/* 01A24 809F9C74 00000000 */ nop
/* 01A28 809F9C78 0C27E6A0 */ jal func_809F9A80
/* 01A2C 809F9C7C 8FA5001C */ lw $a1, 0x001C($sp)
/* 01A30 809F9C80 10000004 */ beq $zero, $zero, .L809F9C94
/* 01A34 809F9C84 8FBF0014 */ lw $ra, 0x0014($sp)
.L809F9C88:
/* 01A38 809F9C88 0C27E273 */ jal func_809F89CC
/* 01A3C 809F9C8C 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
/* 01A40 809F9C90 8FBF0014 */ lw $ra, 0x0014($sp)
.L809F9C94:
/* 01A44 809F9C94 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 01A48 809F9C98 03E00008 */ jr $ra
/* 01A4C 809F9C9C 00000000 */ nop

View File

@ -1,83 +0,0 @@
glabel func_809F9CA0
/* 01A50 809F9CA0 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 01A54 809F9CA4 AFBF0024 */ sw $ra, 0x0024($sp)
/* 01A58 809F9CA8 AFB00020 */ sw $s0, 0x0020($sp)
/* 01A5C 809F9CAC AFA5002C */ sw $a1, 0x002C($sp)
/* 01A60 809F9CB0 90820465 */ lbu $v0, 0x0465($a0) ## 00000465
/* 01A64 809F9CB4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 01A68 809F9CB8 304E0080 */ andi $t6, $v0, 0x0080 ## $t6 = 00000000
/* 01A6C 809F9CBC 51C00008 */ beql $t6, $zero, .L809F9CE0
/* 01A70 809F9CC0 92020599 */ lbu $v0, 0x0599($s0) ## 00000599
/* 01A74 809F9CC4 90980599 */ lbu $t8, 0x0599($a0) ## 00000599
/* 01A78 809F9CC8 304FFF7F */ andi $t7, $v0, 0xFF7F ## $t7 = 00000000
/* 01A7C 809F9CCC A08F0465 */ sb $t7, 0x0465($a0) ## 00000465
/* 01A80 809F9CD0 3319FFFD */ andi $t9, $t8, 0xFFFD ## $t9 = 00000000
/* 01A84 809F9CD4 10000037 */ beq $zero, $zero, .L809F9DB4
/* 01A88 809F9CD8 A0990599 */ sb $t9, 0x0599($a0) ## 00000599
/* 01A8C 809F9CDC 92020599 */ lbu $v0, 0x0599($s0) ## 00000599
.L809F9CE0:
/* 01A90 809F9CE0 30480002 */ andi $t0, $v0, 0x0002 ## $t0 = 00000000
/* 01A94 809F9CE4 51000034 */ beql $t0, $zero, .L809F9DB8
/* 01A98 809F9CE8 8FBF0024 */ lw $ra, 0x0024($sp)
/* 01A9C 809F9CEC 8E090304 */ lw $t1, 0x0304($s0) ## 00000304
/* 01AA0 809F9CF0 304AFFFD */ andi $t2, $v0, 0xFFFD ## $t2 = 00000000
/* 01AA4 809F9CF4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01AA8 809F9CF8 29210003 */ slti $at, $t1, 0x0003
/* 01AAC 809F9CFC 1420002D */ bne $at, $zero, .L809F9DB4
/* 01AB0 809F9D00 26050588 */ addiu $a1, $s0, 0x0588 ## $a1 = 00000588
/* 01AB4 809F9D04 A20A0599 */ sb $t2, 0x0599($s0) ## 00000599
/* 01AB8 809F9D08 0C00D5CF */ jal func_8003573C
/* 01ABC 809F9D0C 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
/* 01AC0 809F9D10 920300B1 */ lbu $v1, 0x00B1($s0) ## 000000B1
/* 01AC4 809F9D14 2401000E */ addiu $at, $zero, 0x000E ## $at = 0000000E
/* 01AC8 809F9D18 10610026 */ beq $v1, $at, .L809F9DB4
/* 01ACC 809F9D1C 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 01AD0 809F9D20 10610004 */ beq $v1, $at, .L809F9D34
/* 01AD4 809F9D24 A20303CC */ sb $v1, 0x03CC($s0) ## 000003CC
/* 01AD8 809F9D28 2401000F */ addiu $at, $zero, 0x000F ## $at = 0000000F
/* 01ADC 809F9D2C 14610011 */ bne $v1, $at, .L809F9D74
/* 01AE0 809F9D30 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
.L809F9D34:
/* 01AE4 809F9D34 8E0B0304 */ lw $t3, 0x0304($s0) ## 00000304
/* 01AE8 809F9D38 24010007 */ addiu $at, $zero, 0x0007 ## $at = 00000007
/* 01AEC 809F9D3C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01AF0 809F9D40 1161001C */ beq $t3, $at, .L809F9DB4
/* 01AF4 809F9D44 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 01AF8 809F9D48 240C0050 */ addiu $t4, $zero, 0x0050 ## $t4 = 00000050
/* 01AFC 809F9D4C AFAC0010 */ sw $t4, 0x0010($sp)
/* 01B00 809F9D50 24060078 */ addiu $a2, $zero, 0x0078 ## $a2 = 00000078
/* 01B04 809F9D54 0C00D09B */ jal func_8003426C
/* 01B08 809F9D58 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
/* 01B0C 809F9D5C 0C00D58A */ jal Actor_ApplyDamage
/* 01B10 809F9D60 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01B14 809F9D64 0C27E2FF */ jal func_809F8BFC
/* 01B18 809F9D68 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01B1C 809F9D6C 10000012 */ beq $zero, $zero, .L809F9DB8
/* 01B20 809F9D70 8FBF0024 */ lw $ra, 0x0024($sp)
.L809F9D74:
/* 01B24 809F9D74 240D0008 */ addiu $t5, $zero, 0x0008 ## $t5 = 00000008
/* 01B28 809F9D78 AFAD0010 */ sw $t5, 0x0010($sp)
/* 01B2C 809F9D7C 24054000 */ addiu $a1, $zero, 0x4000 ## $a1 = 00004000
/* 01B30 809F9D80 24060078 */ addiu $a2, $zero, 0x0078 ## $a2 = 00000078
/* 01B34 809F9D84 0C00D09B */ jal func_8003426C
/* 01B38 809F9D88 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
/* 01B3C 809F9D8C 0C00D58A */ jal Actor_ApplyDamage
/* 01B40 809F9D90 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01B44 809F9D94 14400005 */ bne $v0, $zero, .L809F9DAC
/* 01B48 809F9D98 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01B4C 809F9D9C 0C27E6A0 */ jal func_809F9A80
/* 01B50 809F9DA0 8FA5002C */ lw $a1, 0x002C($sp)
/* 01B54 809F9DA4 10000004 */ beq $zero, $zero, .L809F9DB8
/* 01B58 809F9DA8 8FBF0024 */ lw $ra, 0x0024($sp)
.L809F9DAC:
/* 01B5C 809F9DAC 0C27E5D8 */ jal func_809F9760
/* 01B60 809F9DB0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
.L809F9DB4:
/* 01B64 809F9DB4 8FBF0024 */ lw $ra, 0x0024($sp)
.L809F9DB8:
/* 01B68 809F9DB8 8FB00020 */ lw $s0, 0x0020($sp)
/* 01B6C 809F9DBC 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 01B70 809F9DC0 03E00008 */ jr $ra
/* 01B74 809F9DC4 00000000 */ nop

View File

@ -1,100 +0,0 @@
.late_rodata
glabel D_809FABA4
.float 0.08
glabel D_809FABA8
.word 0x45ABE000
.text
glabel func_809F9DC8
/* 01B78 809F9DC8 27BDFF60 */ addiu $sp, $sp, 0xFF60 ## $sp = FFFFFF60
/* 01B7C 809F9DCC 3C0F80A0 */ lui $t7, %hi(D_809FAA6C) ## $t7 = 80A00000
/* 01B80 809F9DD0 AFBF0024 */ sw $ra, 0x0024($sp)
/* 01B84 809F9DD4 AFB00020 */ sw $s0, 0x0020($sp)
/* 01B88 809F9DD8 AFA500A4 */ sw $a1, 0x00A4($sp)
/* 01B8C 809F9DDC 25EFAA6C */ addiu $t7, $t7, %lo(D_809FAA6C) ## $t7 = 809FAA6C
/* 01B90 809F9DE0 8DF90000 */ lw $t9, 0x0000($t7) ## 809FAA6C
/* 01B94 809F9DE4 27AE0094 */ addiu $t6, $sp, 0x0094 ## $t6 = FFFFFFF4
/* 01B98 809F9DE8 8DF80004 */ lw $t8, 0x0004($t7) ## 809FAA70
/* 01B9C 809F9DEC ADD90000 */ sw $t9, 0x0000($t6) ## FFFFFFF4
/* 01BA0 809F9DF0 8DF90008 */ lw $t9, 0x0008($t7) ## 809FAA74
/* 01BA4 809F9DF4 3C0980A0 */ lui $t1, %hi(D_809FAA78) ## $t1 = 80A00000
/* 01BA8 809F9DF8 2529AA78 */ addiu $t1, $t1, %lo(D_809FAA78) ## $t1 = 809FAA78
/* 01BAC 809F9DFC ADD80004 */ sw $t8, 0x0004($t6) ## FFFFFFF8
/* 01BB0 809F9E00 ADD90008 */ sw $t9, 0x0008($t6) ## FFFFFFFC
/* 01BB4 809F9E04 8D2B0000 */ lw $t3, 0x0000($t1) ## 809FAA78
/* 01BB8 809F9E08 27A80088 */ addiu $t0, $sp, 0x0088 ## $t0 = FFFFFFE8
/* 01BBC 809F9E0C 8D2A0004 */ lw $t2, 0x0004($t1) ## 809FAA7C
/* 01BC0 809F9E10 AD0B0000 */ sw $t3, 0x0000($t0) ## FFFFFFE8
/* 01BC4 809F9E14 8D2B0008 */ lw $t3, 0x0008($t1) ## 809FAA80
/* 01BC8 809F9E18 3C0D80A0 */ lui $t5, %hi(D_809FAA84) ## $t5 = 80A00000
/* 01BCC 809F9E1C 25ADAA84 */ addiu $t5, $t5, %lo(D_809FAA84) ## $t5 = 809FAA84
/* 01BD0 809F9E20 AD0A0004 */ sw $t2, 0x0004($t0) ## FFFFFFEC
/* 01BD4 809F9E24 AD0B0008 */ sw $t3, 0x0008($t0) ## FFFFFFF0
/* 01BD8 809F9E28 8DAF0000 */ lw $t7, 0x0000($t5) ## 809FAA84
/* 01BDC 809F9E2C 27AC007C */ addiu $t4, $sp, 0x007C ## $t4 = FFFFFFDC
/* 01BE0 809F9E30 8DAE0004 */ lw $t6, 0x0004($t5) ## 809FAA88
/* 01BE4 809F9E34 AD8F0000 */ sw $t7, 0x0000($t4) ## FFFFFFDC
/* 01BE8 809F9E38 8DAF0008 */ lw $t7, 0x0008($t5) ## 809FAA8C
/* 01BEC 809F9E3C 3C1980A0 */ lui $t9, %hi(D_809FAA90) ## $t9 = 80A00000
/* 01BF0 809F9E40 2739AA90 */ addiu $t9, $t9, %lo(D_809FAA90) ## $t9 = 809FAA90
/* 01BF4 809F9E44 AD8E0004 */ sw $t6, 0x0004($t4) ## FFFFFFE0
/* 01BF8 809F9E48 AD8F0008 */ sw $t7, 0x0008($t4) ## FFFFFFE4
/* 01BFC 809F9E4C 8F290000 */ lw $t1, 0x0000($t9) ## 809FAA90
/* 01C00 809F9E50 27B80070 */ addiu $t8, $sp, 0x0070 ## $t8 = FFFFFFD0
/* 01C04 809F9E54 8F280004 */ lw $t0, 0x0004($t9) ## 809FAA94
/* 01C08 809F9E58 AF090000 */ sw $t1, 0x0000($t8) ## FFFFFFD0
/* 01C0C 809F9E5C 8F290008 */ lw $t1, 0x0008($t9) ## 809FAA98
/* 01C10 809F9E60 3C0141E0 */ lui $at, 0x41E0 ## $at = 41E00000
/* 01C14 809F9E64 AF080004 */ sw $t0, 0x0004($t8) ## FFFFFFD4
/* 01C18 809F9E68 AF090008 */ sw $t1, 0x0008($t8) ## FFFFFFD8
/* 01C1C 809F9E6C C4840164 */ lwc1 $f4, 0x0164($a0) ## 00000164
/* 01C20 809F9E70 44813000 */ mtc1 $at, $f6 ## $f6 = 28.00
/* 01C24 809F9E74 3C0180A0 */ lui $at, %hi(D_809FABA4) ## $at = 80A00000
/* 01C28 809F9E78 C42AABA4 */ lwc1 $f10, %lo(D_809FABA4)($at)
/* 01C2C 809F9E7C 46062201 */ sub.s $f8, $f4, $f6
/* 01C30 809F9E80 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 01C34 809F9E84 460A4302 */ mul.s $f12, $f8, $f10
/* 01C38 809F9E88 0C0329C8 */ jal func_800CA720
/* 01C3C 809F9E8C 00000000 */ nop
/* 01C40 809F9E90 3C0180A0 */ lui $at, %hi(D_809FABA8) ## $at = 80A00000
/* 01C44 809F9E94 C430ABA8 */ lwc1 $f16, %lo(D_809FABA8)($at)
/* 01C48 809F9E98 C7B2007C */ lwc1 $f18, 0x007C($sp)
/* 01C4C 809F9E9C C7A60094 */ lwc1 $f6, 0x0094($sp)
/* 01C50 809F9EA0 46100082 */ mul.s $f2, $f0, $f16
/* 01C54 809F9EA4 C7AA0088 */ lwc1 $f10, 0x0088($sp)
/* 01C58 809F9EA8 26050420 */ addiu $a1, $s0, 0x0420 ## $a1 = 00000420
/* 01C5C 809F9EAC AFA50030 */ sw $a1, 0x0030($sp)
/* 01C60 809F9EB0 27A40094 */ addiu $a0, $sp, 0x0094 ## $a0 = FFFFFFF4
/* 01C64 809F9EB4 46029101 */ sub.s $f4, $f18, $f2
/* 01C68 809F9EB8 46023201 */ sub.s $f8, $f6, $f2
/* 01C6C 809F9EBC E7A4007C */ swc1 $f4, 0x007C($sp)
/* 01C70 809F9EC0 46025401 */ sub.s $f16, $f10, $f2
/* 01C74 809F9EC4 E7A80094 */ swc1 $f8, 0x0094($sp)
/* 01C78 809F9EC8 0C0346BD */ jal Matrix_MultVec3f
/* 01C7C 809F9ECC E7B00088 */ swc1 $f16, 0x0088($sp)
/* 01C80 809F9ED0 26050414 */ addiu $a1, $s0, 0x0414 ## $a1 = 00000414
/* 01C84 809F9ED4 AFA50034 */ sw $a1, 0x0034($sp)
/* 01C88 809F9ED8 0C0346BD */ jal Matrix_MultVec3f
/* 01C8C 809F9EDC 27A40088 */ addiu $a0, $sp, 0x0088 ## $a0 = FFFFFFE8
/* 01C90 809F9EE0 26050438 */ addiu $a1, $s0, 0x0438 ## $a1 = 00000438
/* 01C94 809F9EE4 AFA50028 */ sw $a1, 0x0028($sp)
/* 01C98 809F9EE8 0C0346BD */ jal Matrix_MultVec3f
/* 01C9C 809F9EEC 27A4007C */ addiu $a0, $sp, 0x007C ## $a0 = FFFFFFDC
/* 01CA0 809F9EF0 2607042C */ addiu $a3, $s0, 0x042C ## $a3 = 0000042C
/* 01CA4 809F9EF4 00E02825 */ or $a1, $a3, $zero ## $a1 = 0000042C
/* 01CA8 809F9EF8 AFA7002C */ sw $a3, 0x002C($sp)
/* 01CAC 809F9EFC 0C0346BD */ jal Matrix_MultVec3f
/* 01CB0 809F9F00 27A40070 */ addiu $a0, $sp, 0x0070 ## $a0 = FFFFFFD0
/* 01CB4 809F9F04 8FAA0028 */ lw $t2, 0x0028($sp)
/* 01CB8 809F9F08 8FA7002C */ lw $a3, 0x002C($sp)
/* 01CBC 809F9F0C 260403D4 */ addiu $a0, $s0, 0x03D4 ## $a0 = 000003D4
/* 01CC0 809F9F10 8FA50034 */ lw $a1, 0x0034($sp)
/* 01CC4 809F9F14 8FA60030 */ lw $a2, 0x0030($sp)
/* 01CC8 809F9F18 0C0189CD */ jal func_80062734
/* 01CCC 809F9F1C AFAA0010 */ sw $t2, 0x0010($sp)
/* 01CD0 809F9F20 8FBF0024 */ lw $ra, 0x0024($sp)
/* 01CD4 809F9F24 8FB00020 */ lw $s0, 0x0020($sp)
/* 01CD8 809F9F28 27BD00A0 */ addiu $sp, $sp, 0x00A0 ## $sp = 00000000
/* 01CDC 809F9F2C 03E00008 */ jr $ra
/* 01CE0 809F9F30 00000000 */ nop

View File

@ -1,24 +0,0 @@
glabel func_809FA0F8
/* 01EA8 809FA0F8 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 01EAC 809FA0FC 2401000F */ addiu $at, $zero, 0x000F ## $at = 0000000F
/* 01EB0 809FA100 AFBF0014 */ sw $ra, 0x0014($sp)
/* 01EB4 809FA104 AFA40018 */ sw $a0, 0x0018($sp)
/* 01EB8 809FA108 AFA60020 */ sw $a2, 0x0020($sp)
/* 01EBC 809FA10C 10A10004 */ beq $a1, $at, .L809FA120
/* 01EC0 809FA110 AFA70024 */ sw $a3, 0x0024($sp)
/* 01EC4 809FA114 24010010 */ addiu $at, $zero, 0x0010 ## $at = 00000010
/* 01EC8 809FA118 54A10008 */ bnel $a1, $at, .L809FA13C
/* 01ECC 809FA11C 8FBF0014 */ lw $ra, 0x0014($sp)
.L809FA120:
/* 01ED0 809FA120 8FA2002C */ lw $v0, 0x002C($sp)
/* 01ED4 809FA124 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
/* 01ED8 809FA128 C44C034C */ lwc1 $f12, 0x034C($v0) ## 0000034C
/* 01EDC 809FA12C C44E0350 */ lwc1 $f14, 0x0350($v0) ## 00000350
/* 01EE0 809FA130 0C0342A3 */ jal Matrix_Scale
/* 01EE4 809FA134 8C460354 */ lw $a2, 0x0354($v0) ## 00000354
/* 01EE8 809FA138 8FBF0014 */ lw $ra, 0x0014($sp)
.L809FA13C:
/* 01EEC 809FA13C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 01EF0 809FA140 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
/* 01EF4 809FA144 03E00008 */ jr $ra
/* 01EF8 809FA148 00000000 */ nop

View File

@ -1,352 +0,0 @@
.late_rodata
glabel jtbl_809FABAC
.word L809FA2E4
.word L809FA4BC
.word L809FA4BC
.word L809FA4BC
.word L809FA4BC
.word L809FA338
.word L809FA4BC
.word L809FA4BC
.word L809FA4BC
.word L809FA4BC
.word L809FA4BC
.word L809FA4BC
.word L809FA4BC
.word L809FA40C
.word L809FA4BC
.word L809FA4BC
.word L809FA4BC
.word L809FA4BC
.word L809FA4BC
.word L809FA494
.word L809FA4BC
.word L809FA4BC
.word L809FA4BC
.word L809FA4BC
.word L809FA4BC
.word L809FA4BC
.word L809FA4AC
glabel jtbl_809FAC18
.word L809FA4F0
.word L809FA540
.word L809FA540
.word L809FA540
.word L809FA540
.word L809FA540
.word L809FA504
.word L809FA50C
.word L809FA514
.word L809FA51C
.word L809FA540
.word L809FA540
.word L809FA540
.word L809FA540
.word L809FA534
.word L809FA524
.word L809FA540
.word L809FA540
.word L809FA540
.word L809FA540
.word L809FA540
.word L809FA53C
.word L809FA52C
.text
glabel func_809FA14C
/* 01EFC 809FA14C 27BDFE78 */ addiu $sp, $sp, 0xFE78 ## $sp = FFFFFE78
/* 01F00 809FA150 3C0E80A0 */ lui $t6, %hi(D_809FAA9C) ## $t6 = 80A00000
/* 01F04 809FA154 AFBF003C */ sw $ra, 0x003C($sp)
/* 01F08 809FA158 AFB60038 */ sw $s6, 0x0038($sp)
/* 01F0C 809FA15C AFB50034 */ sw $s5, 0x0034($sp)
/* 01F10 809FA160 AFB40030 */ sw $s4, 0x0030($sp)
/* 01F14 809FA164 AFB3002C */ sw $s3, 0x002C($sp)
/* 01F18 809FA168 AFB20028 */ sw $s2, 0x0028($sp)
/* 01F1C 809FA16C AFB10024 */ sw $s1, 0x0024($sp)
/* 01F20 809FA170 AFB00020 */ sw $s0, 0x0020($sp)
/* 01F24 809FA174 AFA60190 */ sw $a2, 0x0190($sp)
/* 01F28 809FA178 AFA70194 */ sw $a3, 0x0194($sp)
/* 01F2C 809FA17C 25CEAA9C */ addiu $t6, $t6, %lo(D_809FAA9C) ## $t6 = 809FAA9C
/* 01F30 809FA180 8DD80000 */ lw $t8, 0x0000($t6) ## 809FAA9C
/* 01F34 809FA184 27B1017C */ addiu $s1, $sp, 0x017C ## $s1 = FFFFFFF4
/* 01F38 809FA188 8FB60198 */ lw $s6, 0x0198($sp)
/* 01F3C 809FA18C AE380000 */ sw $t8, 0x0000($s1) ## FFFFFFF4
/* 01F40 809FA190 8DCF0004 */ lw $t7, 0x0004($t6) ## 809FAAA0
/* 01F44 809FA194 3C0880A0 */ lui $t0, %hi(D_809FAAA8) ## $t0 = 80A00000
/* 01F48 809FA198 2508AAA8 */ addiu $t0, $t0, %lo(D_809FAAA8) ## $t0 = 809FAAA8
/* 01F4C 809FA19C AE2F0004 */ sw $t7, 0x0004($s1) ## FFFFFFF8
/* 01F50 809FA1A0 8DD80008 */ lw $t8, 0x0008($t6) ## 809FAAA4
/* 01F54 809FA1A4 27B90170 */ addiu $t9, $sp, 0x0170 ## $t9 = FFFFFFE8
/* 01F58 809FA1A8 3C0C80A0 */ lui $t4, %hi(D_809FAAB4) ## $t4 = 80A00000
/* 01F5C 809FA1AC AE380008 */ sw $t8, 0x0008($s1) ## FFFFFFFC
/* 01F60 809FA1B0 8D0A0000 */ lw $t2, 0x0000($t0) ## 809FAAA8
/* 01F64 809FA1B4 8D090004 */ lw $t1, 0x0004($t0) ## 809FAAAC
/* 01F68 809FA1B8 258CAAB4 */ addiu $t4, $t4, %lo(D_809FAAB4) ## $t4 = 809FAAB4
/* 01F6C 809FA1BC AF2A0000 */ sw $t2, 0x0000($t9) ## FFFFFFE8
/* 01F70 809FA1C0 8D0A0008 */ lw $t2, 0x0008($t0) ## 809FAAB0
/* 01F74 809FA1C4 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000
/* 01F78 809FA1C8 00809025 */ or $s2, $a0, $zero ## $s2 = 00000000
/* 01F7C 809FA1CC 258F0024 */ addiu $t7, $t4, 0x0024 ## $t7 = 809FAAD8
/* 01F80 809FA1D0 27AB00C0 */ addiu $t3, $sp, 0x00C0 ## $t3 = FFFFFF38
/* 01F84 809FA1D4 AF290004 */ sw $t1, 0x0004($t9) ## FFFFFFEC
/* 01F88 809FA1D8 AF2A0008 */ sw $t2, 0x0008($t9) ## FFFFFFF0
.L809FA1DC:
/* 01F8C 809FA1DC 8D8E0000 */ lw $t6, 0x0000($t4) ## 809FAAB4
/* 01F90 809FA1E0 258C000C */ addiu $t4, $t4, 0x000C ## $t4 = 809FAAC0
/* 01F94 809FA1E4 256B000C */ addiu $t3, $t3, 0x000C ## $t3 = FFFFFF44
/* 01F98 809FA1E8 AD6EFFF4 */ sw $t6, -0x000C($t3) ## FFFFFF38
/* 01F9C 809FA1EC 8D8DFFF8 */ lw $t5, -0x0008($t4) ## 809FAAB8
/* 01FA0 809FA1F0 AD6DFFF8 */ sw $t5, -0x0008($t3) ## FFFFFF3C
/* 01FA4 809FA1F4 8D8EFFFC */ lw $t6, -0x0004($t4) ## 809FAABC
/* 01FA8 809FA1F8 158FFFF8 */ bne $t4, $t7, .L809FA1DC
/* 01FAC 809FA1FC AD6EFFFC */ sw $t6, -0x0004($t3) ## FFFFFF40
/* 01FB0 809FA200 3C1980A0 */ lui $t9, %hi(D_809FAAD8) ## $t9 = 80A00000
/* 01FB4 809FA204 2739AAD8 */ addiu $t9, $t9, %lo(D_809FAAD8) ## $t9 = 809FAAD8
/* 01FB8 809FA208 272A0024 */ addiu $t2, $t9, 0x0024 ## $t2 = 809FAAFC
/* 01FBC 809FA20C 27B8009C */ addiu $t8, $sp, 0x009C ## $t8 = FFFFFF14
.L809FA210:
/* 01FC0 809FA210 8F290000 */ lw $t1, 0x0000($t9) ## 809FAAD8
/* 01FC4 809FA214 2739000C */ addiu $t9, $t9, 0x000C ## $t9 = 809FAAE4
/* 01FC8 809FA218 2718000C */ addiu $t8, $t8, 0x000C ## $t8 = FFFFFF20
/* 01FCC 809FA21C AF09FFF4 */ sw $t1, -0x000C($t8) ## FFFFFF14
/* 01FD0 809FA220 8F28FFF8 */ lw $t0, -0x0008($t9) ## 809FAADC
/* 01FD4 809FA224 AF08FFF8 */ sw $t0, -0x0008($t8) ## FFFFFF18
/* 01FD8 809FA228 8F29FFFC */ lw $t1, -0x0004($t9) ## 809FAAE0
/* 01FDC 809FA22C 172AFFF8 */ bne $t9, $t2, .L809FA210
/* 01FE0 809FA230 AF09FFFC */ sw $t1, -0x0004($t8) ## FFFFFF1C
/* 01FE4 809FA234 3C0C80A0 */ lui $t4, %hi(D_809FAAFC) ## $t4 = 80A00000
/* 01FE8 809FA238 258CAAFC */ addiu $t4, $t4, %lo(D_809FAAFC) ## $t4 = 809FAAFC
/* 01FEC 809FA23C 258E0024 */ addiu $t6, $t4, 0x0024 ## $t6 = 809FAB20
/* 01FF0 809FA240 27AF0078 */ addiu $t7, $sp, 0x0078 ## $t7 = FFFFFEF0
.L809FA244:
/* 01FF4 809FA244 8D8D0000 */ lw $t5, 0x0000($t4) ## 809FAAFC
/* 01FF8 809FA248 258C000C */ addiu $t4, $t4, 0x000C ## $t4 = 809FAB08
/* 01FFC 809FA24C 25EF000C */ addiu $t7, $t7, 0x000C ## $t7 = FFFFFEFC
/* 02000 809FA250 ADEDFFF4 */ sw $t5, -0x000C($t7) ## FFFFFEF0
/* 02004 809FA254 8D8BFFF8 */ lw $t3, -0x0008($t4) ## 809FAB00
/* 02008 809FA258 ADEBFFF8 */ sw $t3, -0x0008($t7) ## FFFFFEF4
/* 0200C 809FA25C 8D8DFFFC */ lw $t5, -0x0004($t4) ## 809FAB04
/* 02010 809FA260 158EFFF8 */ bne $t4, $t6, .L809FA244
/* 02014 809FA264 ADEDFFFC */ sw $t5, -0x0004($t7) ## FFFFFEF8
/* 02018 809FA268 3C1980A0 */ lui $t9, %hi(D_809FAB20) ## $t9 = 80A00000
/* 0201C 809FA26C 2739AB20 */ addiu $t9, $t9, %lo(D_809FAB20) ## $t9 = 809FAB20
/* 02020 809FA270 8F280000 */ lw $t0, 0x0000($t9) ## 809FAB20
/* 02024 809FA274 27AA006C */ addiu $t2, $sp, 0x006C ## $t2 = FFFFFEE4
/* 02028 809FA278 8F380004 */ lw $t8, 0x0004($t9) ## 809FAB24
/* 0202C 809FA27C AD480000 */ sw $t0, 0x0000($t2) ## FFFFFEE4
/* 02030 809FA280 8F280008 */ lw $t0, 0x0008($t9) ## 809FAB28
/* 02034 809FA284 3C0E80A0 */ lui $t6, %hi(D_809FAB2C) ## $t6 = 80A00000
/* 02038 809FA288 25CEAB2C */ addiu $t6, $t6, %lo(D_809FAB2C) ## $t6 = 809FAB2C
/* 0203C 809FA28C AD580004 */ sw $t8, 0x0004($t2) ## FFFFFEE8
/* 02040 809FA290 AD480008 */ sw $t0, 0x0008($t2) ## FFFFFEEC
/* 02044 809FA294 8DCF0000 */ lw $t7, 0x0000($t6) ## 809FAB2C
/* 02048 809FA298 27A90060 */ addiu $t1, $sp, 0x0060 ## $t1 = FFFFFED8
/* 0204C 809FA29C 8DCC0004 */ lw $t4, 0x0004($t6) ## 809FAB30
/* 02050 809FA2A0 AD2F0000 */ sw $t7, 0x0000($t1) ## FFFFFED8
/* 02054 809FA2A4 8DCF0008 */ lw $t7, 0x0008($t6) ## 809FAB34
/* 02058 809FA2A8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0205C 809FA2AC 26C50588 */ addiu $a1, $s6, 0x0588 ## $a1 = 00000588
/* 02060 809FA2B0 AD2C0004 */ sw $t4, 0x0004($t1) ## FFFFFEDC
/* 02064 809FA2B4 0C018A29 */ jal func_800628A4
/* 02068 809FA2B8 AD2F0008 */ sw $t7, 0x0008($t1) ## FFFFFEE0
/* 0206C 809FA2BC 260DFFFE */ addiu $t5, $s0, 0xFFFE ## $t5 = FFFFFFFE
/* 02070 809FA2C0 2DA1001B */ sltiu $at, $t5, 0x001B
/* 02074 809FA2C4 1020007D */ beq $at, $zero, .L809FA4BC
/* 02078 809FA2C8 AFB00058 */ sw $s0, 0x0058($sp)
/* 0207C 809FA2CC 000D6880 */ sll $t5, $t5, 2
/* 02080 809FA2D0 3C0180A0 */ lui $at, %hi(jtbl_809FABAC) ## $at = 80A00000
/* 02084 809FA2D4 002D0821 */ addu $at, $at, $t5
/* 02088 809FA2D8 8C2DABAC */ lw $t5, %lo(jtbl_809FABAC)($at)
/* 0208C 809FA2DC 01A00008 */ jr $t5
/* 02090 809FA2E0 00000000 */ nop
glabel L809FA2E4
/* 02094 809FA2E4 8ECA0304 */ lw $t2, 0x0304($s6) ## 00000304
/* 02098 809FA2E8 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
/* 0209C 809FA2EC 15410073 */ bne $t2, $at, .L809FA4BC
/* 020A0 809FA2F0 3C0141E8 */ lui $at, 0x41E8 ## $at = 41E80000
/* 020A4 809FA2F4 44812000 */ mtc1 $at, $f4 ## $f4 = 29.00
/* 020A8 809FA2F8 C6C00164 */ lwc1 $f0, 0x0164($s6) ## 00000164
/* 020AC 809FA2FC 3C01422C */ lui $at, 0x422C ## $at = 422C0000
/* 020B0 809FA300 4600203C */ c.lt.s $f4, $f0
/* 020B4 809FA304 00000000 */ nop
/* 020B8 809FA308 4502006D */ bc1fl .L809FA4C0
/* 020BC 809FA30C 86CF0312 */ lh $t7, 0x0312($s6) ## 00000312
/* 020C0 809FA310 44813000 */ mtc1 $at, $f6 ## $f6 = 43.00
/* 020C4 809FA314 02C02025 */ or $a0, $s6, $zero ## $a0 = 00000000
/* 020C8 809FA318 4606003C */ c.lt.s $f0, $f6
/* 020CC 809FA31C 00000000 */ nop
/* 020D0 809FA320 45020067 */ bc1fl .L809FA4C0
/* 020D4 809FA324 86CF0312 */ lh $t7, 0x0312($s6) ## 00000312
/* 020D8 809FA328 0C27E772 */ jal func_809F9DC8
/* 020DC 809FA32C 02402825 */ or $a1, $s2, $zero ## $a1 = 00000000
/* 020E0 809FA330 10000063 */ beq $zero, $zero, .L809FA4C0
/* 020E4 809FA334 86CF0312 */ lh $t7, 0x0312($s6) ## 00000312
glabel L809FA338
/* 020E8 809FA338 27B100C0 */ addiu $s1, $sp, 0x00C0 ## $s1 = FFFFFF38
/* 020EC 809FA33C 27B20148 */ addiu $s2, $sp, 0x0148 ## $s2 = FFFFFFC0
/* 020F0 809FA340 27B3009C */ addiu $s3, $sp, 0x009C ## $s3 = FFFFFF14
/* 020F4 809FA344 27B40124 */ addiu $s4, $sp, 0x0124 ## $s4 = FFFFFF9C
/* 020F8 809FA348 27B50078 */ addiu $s5, $sp, 0x0078 ## $s5 = FFFFFEF0
/* 020FC 809FA34C 27B00100 */ addiu $s0, $sp, 0x0100 ## $s0 = FFFFFF78
.L809FA350:
/* 02100 809FA350 02202025 */ or $a0, $s1, $zero ## $a0 = FFFFFF38
/* 02104 809FA354 0C0346BD */ jal Matrix_MultVec3f
/* 02108 809FA358 02402825 */ or $a1, $s2, $zero ## $a1 = FFFFFFC0
/* 0210C 809FA35C 02602025 */ or $a0, $s3, $zero ## $a0 = FFFFFF14
/* 02110 809FA360 0C0346BD */ jal Matrix_MultVec3f
/* 02114 809FA364 02802825 */ or $a1, $s4, $zero ## $a1 = FFFFFF9C
/* 02118 809FA368 02A02025 */ or $a0, $s5, $zero ## $a0 = FFFFFEF0
/* 0211C 809FA36C 0C0346BD */ jal Matrix_MultVec3f
/* 02120 809FA370 02002825 */ or $a1, $s0, $zero ## $a1 = FFFFFF78
/* 02124 809FA374 2610000C */ addiu $s0, $s0, 0x000C ## $s0 = FFFFFF84
/* 02128 809FA378 27B90124 */ addiu $t9, $sp, 0x0124 ## $t9 = FFFFFF9C
/* 0212C 809FA37C 2631000C */ addiu $s1, $s1, 0x000C ## $s1 = FFFFFF44
/* 02130 809FA380 2652000C */ addiu $s2, $s2, 0x000C ## $s2 = FFFFFFCC
/* 02134 809FA384 2673000C */ addiu $s3, $s3, 0x000C ## $s3 = FFFFFF20
/* 02138 809FA388 2694000C */ addiu $s4, $s4, 0x000C ## $s4 = FFFFFFA8
/* 0213C 809FA38C 1619FFF0 */ bne $s0, $t9, .L809FA350
/* 02140 809FA390 26B5000C */ addiu $s5, $s5, 0x000C ## $s5 = FFFFFEFC
/* 02144 809FA394 26D00454 */ addiu $s0, $s6, 0x0454 ## $s0 = 00000454
/* 02148 809FA398 27B80160 */ addiu $t8, $sp, 0x0160 ## $t8 = FFFFFFD8
/* 0214C 809FA39C AFB80010 */ sw $t8, 0x0010($sp)
/* 02150 809FA3A0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000454
/* 02154 809FA3A4 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 02158 809FA3A8 27A60148 */ addiu $a2, $sp, 0x0148 ## $a2 = FFFFFFC0
/* 0215C 809FA3AC 0C0189E8 */ jal func_800627A0
/* 02160 809FA3B0 27A70154 */ addiu $a3, $sp, 0x0154 ## $a3 = FFFFFFCC
/* 02164 809FA3B4 27A8013C */ addiu $t0, $sp, 0x013C ## $t0 = FFFFFFB4
/* 02168 809FA3B8 AFA80010 */ sw $t0, 0x0010($sp)
/* 0216C 809FA3BC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000454
/* 02170 809FA3C0 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
/* 02174 809FA3C4 27A60124 */ addiu $a2, $sp, 0x0124 ## $a2 = FFFFFF9C
/* 02178 809FA3C8 0C0189E8 */ jal func_800627A0
/* 0217C 809FA3CC 27A70130 */ addiu $a3, $sp, 0x0130 ## $a3 = FFFFFFA8
/* 02180 809FA3D0 27A90118 */ addiu $t1, $sp, 0x0118 ## $t1 = FFFFFF90
/* 02184 809FA3D4 AFA90010 */ sw $t1, 0x0010($sp)
/* 02188 809FA3D8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000454
/* 0218C 809FA3DC 24050002 */ addiu $a1, $zero, 0x0002 ## $a1 = 00000002
/* 02190 809FA3E0 27A60100 */ addiu $a2, $sp, 0x0100 ## $a2 = FFFFFF78
/* 02194 809FA3E4 0C0189E8 */ jal func_800627A0
/* 02198 809FA3E8 27A7010C */ addiu $a3, $sp, 0x010C ## $a3 = FFFFFF84
/* 0219C 809FA3EC 27A4006C */ addiu $a0, $sp, 0x006C ## $a0 = FFFFFEE4
/* 021A0 809FA3F0 0C0346BD */ jal Matrix_MultVec3f
/* 021A4 809FA3F4 26C50334 */ addiu $a1, $s6, 0x0334 ## $a1 = 00000334
/* 021A8 809FA3F8 27A40060 */ addiu $a0, $sp, 0x0060 ## $a0 = FFFFFED8
/* 021AC 809FA3FC 0C0346BD */ jal Matrix_MultVec3f
/* 021B0 809FA400 26C50340 */ addiu $a1, $s6, 0x0340 ## $a1 = 00000340
/* 021B4 809FA404 1000002E */ beq $zero, $zero, .L809FA4C0
/* 021B8 809FA408 86CF0312 */ lh $t7, 0x0312($s6) ## 00000312
glabel L809FA40C
/* 021BC 809FA40C 8EC20304 */ lw $v0, 0x0304($s6) ## 00000304
/* 021C0 809FA410 14400015 */ bne $v0, $zero, .L809FA468
/* 021C4 809FA414 00000000 */ nop
/* 021C8 809FA418 86CE030C */ lh $t6, 0x030C($s6) ## 0000030C
/* 021CC 809FA41C 27B000F4 */ addiu $s0, $sp, 0x00F4 ## $s0 = FFFFFF6C
/* 021D0 809FA420 02202025 */ or $a0, $s1, $zero ## $a0 = FFFFFF44
/* 021D4 809FA424 29C10002 */ slti $at, $t6, 0x0002
/* 021D8 809FA428 1420000F */ bne $at, $zero, .L809FA468
/* 021DC 809FA42C 00000000 */ nop
/* 021E0 809FA430 0C0346BD */ jal Matrix_MultVec3f
/* 021E4 809FA434 02002825 */ or $a1, $s0, $zero ## $a1 = FFFFFF6C
/* 021E8 809FA438 27B100E8 */ addiu $s1, $sp, 0x00E8 ## $s1 = FFFFFF60
/* 021EC 809FA43C 02202825 */ or $a1, $s1, $zero ## $a1 = FFFFFF60
/* 021F0 809FA440 0C0346BD */ jal Matrix_MultVec3f
/* 021F4 809FA444 27A40170 */ addiu $a0, $sp, 0x0170 ## $a0 = FFFFFFE8
/* 021F8 809FA448 0C009AC3 */ jal Effect_GetByIndex
/* 021FC 809FA44C 8EC403D0 */ lw $a0, 0x03D0($s6) ## 000003D0
/* 02200 809FA450 00402025 */ or $a0, $v0, $zero ## $a0 = 00000000
/* 02204 809FA454 02002825 */ or $a1, $s0, $zero ## $a1 = FFFFFF6C
/* 02208 809FA458 0C007F7C */ jal EffectBlure_AddVertex
/* 0220C 809FA45C 02203025 */ or $a2, $s1, $zero ## $a2 = FFFFFF60
/* 02210 809FA460 10000017 */ beq $zero, $zero, .L809FA4C0
/* 02214 809FA464 86CF0312 */ lh $t7, 0x0312($s6) ## 00000312
.L809FA468:
/* 02218 809FA468 54400015 */ bnel $v0, $zero, .L809FA4C0
/* 0221C 809FA46C 86CF0312 */ lh $t7, 0x0312($s6) ## 00000312
/* 02220 809FA470 86CC030C */ lh $t4, 0x030C($s6) ## 0000030C
/* 02224 809FA474 51800012 */ beql $t4, $zero, .L809FA4C0
/* 02228 809FA478 86CF0312 */ lh $t7, 0x0312($s6) ## 00000312
/* 0222C 809FA47C 0C009AC3 */ jal Effect_GetByIndex
/* 02230 809FA480 8EC403D0 */ lw $a0, 0x03D0($s6) ## 000003D0
/* 02234 809FA484 0C008048 */ jal EffectBlure_AddSpace
/* 02238 809FA488 00402025 */ or $a0, $v0, $zero ## $a0 = 00000000
/* 0223C 809FA48C 1000000C */ beq $zero, $zero, .L809FA4C0
/* 02240 809FA490 86CF0312 */ lh $t7, 0x0312($s6) ## 00000312
glabel L809FA494
/* 02244 809FA494 3C0480A0 */ lui $a0, %hi(D_809FAB44) ## $a0 = 80A00000
/* 02248 809FA498 2484AB44 */ addiu $a0, $a0, %lo(D_809FAB44) ## $a0 = 809FAB44
/* 0224C 809FA49C 0C0346BD */ jal Matrix_MultVec3f
/* 02250 809FA4A0 26C5031C */ addiu $a1, $s6, 0x031C ## $a1 = 0000031C
/* 02254 809FA4A4 10000006 */ beq $zero, $zero, .L809FA4C0
/* 02258 809FA4A8 86CF0312 */ lh $t7, 0x0312($s6) ## 00000312
glabel L809FA4AC
/* 0225C 809FA4AC 3C0480A0 */ lui $a0, %hi(D_809FAB44) ## $a0 = 80A00000
/* 02260 809FA4B0 2484AB44 */ addiu $a0, $a0, %lo(D_809FAB44) ## $a0 = 809FAB44
/* 02264 809FA4B4 0C0346BD */ jal Matrix_MultVec3f
/* 02268 809FA4B8 26C50328 */ addiu $a1, $s6, 0x0328 ## $a1 = 00000328
glabel L809FA4BC
.L809FA4BC:
/* 0226C 809FA4BC 86CF0312 */ lh $t7, 0x0312($s6) ## 00000312
.L809FA4C0:
/* 02270 809FA4C0 8FAB0058 */ lw $t3, 0x0058($sp)
/* 02274 809FA4C4 11E00026 */ beq $t7, $zero, .L809FA560
/* 02278 809FA4C8 256DFFF9 */ addiu $t5, $t3, 0xFFF9 ## $t5 = FFFFFFF9
/* 0227C 809FA4CC 2DA10017 */ sltiu $at, $t5, 0x0017
/* 02280 809FA4D0 1020001B */ beq $at, $zero, .L809FA540
/* 02284 809FA4D4 2402FFFF */ addiu $v0, $zero, 0xFFFF ## $v0 = FFFFFFFF
/* 02288 809FA4D8 000D6880 */ sll $t5, $t5, 2
/* 0228C 809FA4DC 3C0180A0 */ lui $at, %hi(jtbl_809FAC18) ## $at = 80A00000
/* 02290 809FA4E0 002D0821 */ addu $at, $at, $t5
/* 02294 809FA4E4 8C2DAC18 */ lw $t5, %lo(jtbl_809FAC18)($at)
/* 02298 809FA4E8 01A00008 */ jr $t5
/* 0229C 809FA4EC 00000000 */ nop
glabel L809FA4F0
/* 022A0 809FA4F0 3C014496 */ lui $at, 0x4496 ## $at = 44960000
/* 022A4 809FA4F4 44814000 */ mtc1 $at, $f8 ## $f8 = 1200.00
/* 022A8 809FA4F8 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
/* 022AC 809FA4FC 10000010 */ beq $zero, $zero, .L809FA540
/* 022B0 809FA500 E7A80170 */ swc1 $f8, 0x0170($sp)
glabel L809FA504
/* 022B4 809FA504 1000000E */ beq $zero, $zero, .L809FA540
/* 022B8 809FA508 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
glabel L809FA50C
/* 022BC 809FA50C 1000000C */ beq $zero, $zero, .L809FA540
/* 022C0 809FA510 24020002 */ addiu $v0, $zero, 0x0002 ## $v0 = 00000002
glabel L809FA514
/* 022C4 809FA514 1000000A */ beq $zero, $zero, .L809FA540
/* 022C8 809FA518 24020003 */ addiu $v0, $zero, 0x0003 ## $v0 = 00000003
glabel L809FA51C
/* 022CC 809FA51C 10000008 */ beq $zero, $zero, .L809FA540
/* 022D0 809FA520 24020004 */ addiu $v0, $zero, 0x0004 ## $v0 = 00000004
glabel L809FA524
/* 022D4 809FA524 10000006 */ beq $zero, $zero, .L809FA540
/* 022D8 809FA528 24020005 */ addiu $v0, $zero, 0x0005 ## $v0 = 00000005
glabel L809FA52C
/* 022DC 809FA52C 10000004 */ beq $zero, $zero, .L809FA540
/* 022E0 809FA530 24020006 */ addiu $v0, $zero, 0x0006 ## $v0 = 00000006
glabel L809FA534
/* 022E4 809FA534 10000002 */ beq $zero, $zero, .L809FA540
/* 022E8 809FA538 24020007 */ addiu $v0, $zero, 0x0007 ## $v0 = 00000007
glabel L809FA53C
/* 022EC 809FA53C 24020008 */ addiu $v0, $zero, 0x0008 ## $v0 = 00000008
glabel L809FA540
.L809FA540:
/* 022F0 809FA540 04400007 */ bltz $v0, .L809FA560
/* 022F4 809FA544 27A40170 */ addiu $a0, $sp, 0x0170 ## $a0 = FFFFFFE8
/* 022F8 809FA548 00025080 */ sll $t2, $v0, 2
/* 022FC 809FA54C 01425023 */ subu $t2, $t2, $v0
/* 02300 809FA550 000A5080 */ sll $t2, $t2, 2
/* 02304 809FA554 02CA2821 */ addu $a1, $s6, $t2
/* 02308 809FA558 0C0346BD */ jal Matrix_MultVec3f
/* 0230C 809FA55C 24A50358 */ addiu $a1, $a1, 0x0358 ## $a1 = 00000358
.L809FA560:
/* 02310 809FA560 8FBF003C */ lw $ra, 0x003C($sp)
/* 02314 809FA564 8FB00020 */ lw $s0, 0x0020($sp)
/* 02318 809FA568 8FB10024 */ lw $s1, 0x0024($sp)
/* 0231C 809FA56C 8FB20028 */ lw $s2, 0x0028($sp)
/* 02320 809FA570 8FB3002C */ lw $s3, 0x002C($sp)
/* 02324 809FA574 8FB40030 */ lw $s4, 0x0030($sp)
/* 02328 809FA578 8FB50034 */ lw $s5, 0x0034($sp)
/* 0232C 809FA57C 8FB60038 */ lw $s6, 0x0038($sp)
/* 02330 809FA580 03E00008 */ jr $ra
/* 02334 809FA584 27BD0188 */ addiu $sp, $sp, 0x0188 ## $sp = 00000000

View File

@ -1,28 +0,0 @@
glabel func_809FA674
/* 02424 809FA674 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 02428 809FA678 AFBF0014 */ sw $ra, 0x0014($sp)
/* 0242C 809FA67C AFA40018 */ sw $a0, 0x0018($sp)
/* 02430 809FA680 AFA5001C */ sw $a1, 0x001C($sp)
/* 02434 809FA684 AFA60020 */ sw $a2, 0x0020($sp)
/* 02438 809FA688 0C01DE1C */ jal Math_Sins
## sins?
/* 0243C 809FA68C 87A4001A */ lh $a0, 0x001A($sp)
/* 02440 809FA690 C7A6001C */ lwc1 $f6, 0x001C($sp)
/* 02444 809FA694 8FA20020 */ lw $v0, 0x0020($sp)
/* 02448 809FA698 46060202 */ mul.s $f8, $f0, $f6
/* 0244C 809FA69C C4440000 */ lwc1 $f4, 0x0000($v0) ## 00000000
/* 02450 809FA6A0 46082280 */ add.s $f10, $f4, $f8
/* 02454 809FA6A4 E44A0000 */ swc1 $f10, 0x0000($v0) ## 00000000
/* 02458 809FA6A8 0C01DE0D */ jal Math_Coss
## coss?
/* 0245C 809FA6AC 87A4001A */ lh $a0, 0x001A($sp)
/* 02460 809FA6B0 C7B2001C */ lwc1 $f18, 0x001C($sp)
/* 02464 809FA6B4 8FA20020 */ lw $v0, 0x0020($sp)
/* 02468 809FA6B8 46120182 */ mul.s $f6, $f0, $f18
/* 0246C 809FA6BC C4500008 */ lwc1 $f16, 0x0008($v0) ## 00000008
/* 02470 809FA6C0 46068100 */ add.s $f4, $f16, $f6
/* 02474 809FA6C4 E4440008 */ swc1 $f4, 0x0008($v0) ## 00000008
/* 02478 809FA6C8 8FBF0014 */ lw $ra, 0x0014($sp)
/* 0247C 809FA6CC 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 02480 809FA6D0 03E00008 */ jr $ra
/* 02484 809FA6D4 00000000 */ nop

View File

@ -1,66 +0,0 @@
glabel func_809FA6D8
/* 02488 809FA6D8 8CA31C4C */ lw $v1, 0x1C4C($a1) ## 00001C4C
/* 0248C 809FA6DC 3C014120 */ lui $at, 0x4120 ## $at = 41200000
/* 02490 809FA6E0 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
/* 02494 809FA6E4 10600032 */ beq $v1, $zero, .L809FA7B0
/* 02498 809FA6E8 00000000 */ nop
/* 0249C 809FA6EC 44819000 */ mtc1 $at, $f18 ## $f18 = 10.00
/* 024A0 809FA6F0 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
/* 024A4 809FA6F4 44818000 */ mtc1 $at, $f16 ## $f16 = 20.00
/* 024A8 809FA6F8 00000000 */ nop
/* 024AC 809FA6FC 846E001C */ lh $t6, 0x001C($v1) ## 0000001C
.L809FA700:
/* 024B0 809FA700 15C00004 */ bne $t6, $zero, .L809FA714
/* 024B4 809FA704 00000000 */ nop
/* 024B8 809FA708 8C6F0118 */ lw $t7, 0x0118($v1) ## 00000118
/* 024BC 809FA70C 51E00004 */ beql $t7, $zero, .L809FA720
/* 024C0 809FA710 C4640024 */ lwc1 $f4, 0x0024($v1) ## 00000024
.L809FA714:
/* 024C4 809FA714 10000024 */ beq $zero, $zero, .L809FA7A8
/* 024C8 809FA718 8C630124 */ lw $v1, 0x0124($v1) ## 00000124
/* 024CC 809FA71C C4640024 */ lwc1 $f4, 0x0024($v1) ## 00000024
.L809FA720:
/* 024D0 809FA720 C4860334 */ lwc1 $f6, 0x0334($a0) ## 00000334
/* 024D4 809FA724 C4680028 */ lwc1 $f8, 0x0028($v1) ## 00000028
/* 024D8 809FA728 C48A0338 */ lwc1 $f10, 0x0338($a0) ## 00000338
/* 024DC 809FA72C 46062081 */ sub.s $f2, $f4, $f6
/* 024E0 809FA730 C486033C */ lwc1 $f6, 0x033C($a0) ## 0000033C
/* 024E4 809FA734 C464002C */ lwc1 $f4, 0x002C($v1) ## 0000002C
/* 024E8 809FA738 460A4301 */ sub.s $f12, $f8, $f10
/* 024EC 809FA73C 46001005 */ abs.s $f0, $f2
/* 024F0 809FA740 46062381 */ sub.s $f14, $f4, $f6
/* 024F4 809FA744 4610003C */ c.lt.s $f0, $f16
/* 024F8 809FA748 00000000 */ nop
/* 024FC 809FA74C 45020016 */ bc1fl .L809FA7A8
/* 02500 809FA750 8C630124 */ lw $v1, 0x0124($v1) ## 00000124
/* 02504 809FA754 46006005 */ abs.s $f0, $f12
/* 02508 809FA758 4612003C */ c.lt.s $f0, $f18
/* 0250C 809FA75C 00000000 */ nop
/* 02510 809FA760 45020011 */ bc1fl .L809FA7A8
/* 02514 809FA764 8C630124 */ lw $v1, 0x0124($v1) ## 00000124
/* 02518 809FA768 46007005 */ abs.s $f0, $f14
/* 0251C 809FA76C 4610003C */ c.lt.s $f0, $f16
/* 02520 809FA770 00000000 */ nop
/* 02524 809FA774 4502000C */ bc1fl .L809FA7A8
/* 02528 809FA778 8C630124 */ lw $v1, 0x0124($v1) ## 00000124
/* 0252C 809FA77C 84780000 */ lh $t8, 0x0000($v1) ## 00000000
/* 02530 809FA780 24010010 */ addiu $at, $zero, 0x0010 ## $at = 00000010
/* 02534 809FA784 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
/* 02538 809FA788 57010004 */ bnel $t8, $at, .L809FA79C
/* 0253C 809FA78C AC830118 */ sw $v1, 0x0118($a0) ## 00000118
/* 02540 809FA790 10000002 */ beq $zero, $zero, .L809FA79C
/* 02544 809FA794 AC83011C */ sw $v1, 0x011C($a0) ## 0000011C
/* 02548 809FA798 AC830118 */ sw $v1, 0x0118($a0) ## 00000118
.L809FA79C:
/* 0254C 809FA79C 03E00008 */ jr $ra
/* 02550 809FA7A0 AC640118 */ sw $a0, 0x0118($v1) ## 00000118
.L809FA7A4:
/* 02554 809FA7A4 8C630124 */ lw $v1, 0x0124($v1) ## 00000124
.L809FA7A8:
/* 02558 809FA7A8 5460FFD5 */ bnel $v1, $zero, .L809FA700
/* 0255C 809FA7AC 846E001C */ lh $t6, 0x001C($v1) ## 0000001C
.L809FA7B0:
/* 02560 809FA7B0 03E00008 */ jr $ra
/* 02564 809FA7B4 00000000 */ nop
/* 02568 809FA7B8 00000000 */ nop
/* 0256C 809FA7BC 00000000 */ nop

View File

@ -1,76 +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_Dodongo_InitVars
.word 0x00120500, 0x00000015, 0x000C0000, 0x00000728
.word EnDodongo_Init
.word EnDodongo_Destroy
.word EnDodongo_Update
.word EnDodongo_Draw
glabel D_809FA7E0
.word 0x00000000, 0x00000000, 0x00000000, 0xFFCFFFFF, 0x00000000, 0x00010100, 0x0F000000, 0x00000000, 0x00110064, 0x00000000, 0x00000000, 0x00000000, 0xFFCFFFFF, 0x00000000, 0x00010100, 0x0E000000, 0x00000000, 0x000F0064, 0x00000000, 0x00000000, 0x00000000, 0xFFCFFFFF, 0x00000000, 0x00010100, 0x0D000000, 0x00000000, 0x000A0064, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000100, 0x15000000, 0x00000000, 0x00140064, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000100, 0x1C000000, 0x00000000, 0x00140064, 0x00000000, 0x00000000, 0x00000000, 0x0D800691, 0x00000000, 0x00010900, 0x06000000, 0x00000000, 0x00230064
glabel D_809FA8B8
.word 0x00110939, 0x10000000, 0x00000006
.word D_809FA7E0
glabel D_809FA8C8
.word 0x02000000, 0x00000000, 0x00000000, 0xF24BF96E, 0x00000000, 0x000D0000, 0xC1200000, 0x41600000, 0x40000000, 0xC1200000, 0xC0C00000, 0x40000000, 0x41100000, 0x41600000, 0x40000000, 0x02000000, 0x00000000, 0x00000000, 0xFFCBF96E, 0x00000000, 0x000D0000, 0xC1200000, 0xC0C00000, 0x40000000, 0x41100000, 0xC0C00000, 0x40000000, 0x41100000, 0x41600000, 0x40000000, 0x02000000, 0x00000000, 0x00000000, 0xFFCBF96E, 0x00000000, 0x000D0000, 0xC1200000, 0xC0C00000, 0x40000000, 0x41100000, 0xC0C00000, 0x40000000, 0x41100000, 0x41600000, 0x40000000
glabel D_809FA97C
.word 0x09000D00, 0x00020000, 0x00000003
.word D_809FA8C8
glabel D_809FA98C
.word 0x0A110000, 0x00030000, 0x00000000, 0x20000000, 0x01100000, 0x00000000, 0x00000000, 0x81000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000
glabel D_809FA9DC
.word 0x10020102, 0x10010210, 0x01020402, 0xF4020202, 0x0260F360, 0x00000104, 0x02020804, 0x00000400
glabel D_809FA9FC
.word 0x00000000, 0x00000000, 0x00000000
glabel D_809FAA08
.word 0x00000000, 0x3E99999A, 0x00000000
glabel D_809FAA14
.word 0x8917000D, 0xB86CFC18, 0x304C0AF0
glabel D_809FAA20
.word 0x00000000, 0x00000000, 0x00000000
glabel D_809FAA2C
.word 0x00000000, 0x00000000, 0x00000000
glabel D_809FAA38
.word 0x00000000, 0x00000000, 0x00000000
glabel D_809FAA44
.word 0x00000000, 0x3F19999A, 0x00000000
glabel D_809FAA50
.word 0xFFFFFFFF
glabel D_809FAA54
.word 0x00000000, 0x00000000, 0x00000000
glabel D_809FAA60
.word 0x00000000, 0x3F800000, 0x00000000
glabel D_809FAA6C
.word 0xC47A0000, 0xC4BB8000, 0x00000000
glabel D_809FAA78
.word 0xC47A0000, 0xC3480000, 0x44BB8000
glabel D_809FAA84
.word 0xC47A0000, 0xC3480000, 0xC4BB8000
glabel D_809FAA90
.word 0x00000000, 0x00000000, 0x00000000
glabel D_809FAA9C
.word 0x453B8000, 0x00000000, 0x00000000
glabel D_809FAAA8
.word 0x00000000, 0x00000000, 0x00000000
glabel D_809FAAB4
.word 0xC3960000, 0xC51C4000, 0x00000000, 0xC3960000, 0x44960000, 0xC528C000, 0x453B8000, 0x44960000, 0x00000000
glabel D_809FAAD8
.word 0xC3960000, 0xC51C4000, 0x00000000, 0xC3960000, 0x44960000, 0x4528C000, 0x453B8000, 0x44960000, 0x00000000
glabel D_809FAAFC
.word 0xC4160000, 0x44960000, 0xC52F0000, 0xC4160000, 0x44960000, 0x452F0000, 0x453B8000, 0x44960000, 0x00000000
glabel D_809FAB20
.word 0x44E10000, 0x44960000, 0x00000000
glabel D_809FAB2C
.word 0x44BB8000, 0x43960000, 0x00000000, 0x44898000, 0xC42F0000, 0x00000000
glabel D_809FAB44
.word 0x00000000, 0x00000000, 0x00000000, 0x4508E000, 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_809FAC80
.incbin "baserom/ovl_En_Dodongo", 0x2A30, 0x00000350

3
spec
View File

@ -2170,8 +2170,7 @@ endseg
beginseg
name "ovl_En_Dodongo"
include "build/src/overlays/actors/ovl_En_Dodongo/z_en_dodongo.o"
include "build/data/overlays/actors/z_en_dodongo.data.o"
include "build/data/overlays/actors/z_en_dodongo.reloc.o"
include "build/src/overlays/actors/ovl_En_Dodongo/ovl_En_Dodongo_reloc.o"
endseg
beginseg

View File

@ -25,7 +25,7 @@ typedef struct EnBombf {
typedef enum {
/* 0xFFFF */ BOMBFLOWER_FLOWER = -1,
/* 0x0000 */ BOMBFLOWER_BODY,
/* 0x0001 */ BOMBFLOWER_EXPLOSION,
/* 0x0001 */ BOMBFLOWER_EXPLOSION
} EnBombfType;
extern const ActorInit En_Bombf_InitVars;

View File

@ -1,15 +1,52 @@
#include "z_en_dodongo.h"
#include "overlays/actors/ovl_En_Bom/z_en_bom.h"
#include "overlays/actors/ovl_En_Bombf/z_en_bombf.h"
#define FLAGS 0x00000015
#define THIS ((EnDodongo*)thisx)
typedef enum {
DODONGO_SWEEP_TAIL,
DODONGO_SWALLOW_BOMB,
DODONGO_DEATH,
DODONGO_BREATHE_FIRE,
DODONGO_IDLE,
DODONGO_END_BREATHE_FIRE,
DODONGO_UNUSED,
DODONGO_STUNNED,
DODONGO_WALK
} EnDodongoActionState;
void EnDodongo_Init(Actor* thisx, GlobalContext* globalCtx);
void EnDodongo_Destroy(Actor* thisx, GlobalContext* globalCtx);
void EnDodongo_Update(Actor* thisx, GlobalContext* globalCtx);
void EnDodongo_Draw(Actor* thisx, GlobalContext* globalCtx);
/*
void EnDodongo_SetupDeath(EnDodongo* this, GlobalContext* globalCtx);
void EnDodongo_ShiftVecRadial(s16 yaw, f32 radius, Vec3f* vec);
s32 EnDodongo_AteBomb(EnDodongo* this, GlobalContext* globalCtx);
void EnDodongo_SetupIdle(EnDodongo* this);
void EnDodongo_Idle(EnDodongo* this, GlobalContext* globalCtx);
void EnDodongo_EndBreatheFire(EnDodongo* this, GlobalContext* globalCtx);
void EnDodongo_BreatheFire(EnDodongo* this, GlobalContext* globalCtx);
void EnDodongo_SwallowBomb(EnDodongo* this, GlobalContext* globalCtx);
void EnDodongo_Walk(EnDodongo* this, GlobalContext* globalCtx);
void EnDodongo_Stunned(EnDodongo* this, GlobalContext* globalCtx);
void EnDodongo_Death(EnDodongo* this, GlobalContext* globalCtx);
void EnDodongo_SweepTail(EnDodongo* this, GlobalContext* globalCtx);
extern SkeletonHeader D_06008318;
extern AnimationHeader D_06003B14;
extern AnimationHeader D_060042C4;
extern AnimationHeader D_06004C20;
extern AnimationHeader D_06008B1C;
extern AnimationHeader D_060028F0;
extern AnimationHeader D_06003088;
extern AnimationHeader D_060013C4;
extern AnimationHeader D_06001A44;
const ActorInit En_Dodongo_InitVars = {
ACTOR_EN_DODONGO,
ACTORTYPE_ENEMY,
@ -21,59 +58,801 @@ const ActorInit En_Dodongo_InitVars = {
(ActorFunc)EnDodongo_Update,
(ActorFunc)EnDodongo_Draw,
};
*/
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dodongo/func_809F8250.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dodongo/func_809F8258.s")
static ColliderJntSphItemInit sBodyElementsInit[6] = {
{
{ 0x00, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, 0x00, 0x01, 0x01 },
{ 15, { { 0, 0, 0 }, 17 }, 100 },
},
{
{ 0x00, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, 0x00, 0x01, 0x01 },
{ 14, { { 0, 0, 0 }, 15 }, 100 },
},
{
{ 0x00, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, 0x00, 0x01, 0x01 },
{ 13, { { 0, 0, 0 }, 10 }, 100 },
},
{
{ 0x00, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, 0x00, 0x00, 0x01 },
{ 21, { { 0, 0, 0 }, 20 }, 100 },
},
{
{ 0x00, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, 0x00, 0x00, 0x01 },
{ 28, { { 0, 0, 0 }, 20 }, 100 },
},
{
{ 0x00, { 0x00000000, 0x00, 0x00 }, { 0x0D800691, 0x00, 0x00 }, 0x00, 0x01, 0x09 },
{ 6, { { 0, 0, 0 }, 35 }, 100 },
},
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dodongo/EnDodongo_Init.s")
static ColliderJntSphInit sBodyJntSphInit = {
{ COLTYPE_UNK0, 0x11, 0x09, 0x39, 0x10, COLSHAPE_JNTSPH },
6,
sBodyElementsInit,
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dodongo/EnDodongo_Destroy.s")
static ColliderTrisItemInit sHardElementsInit[3] = {
{
{ 0x02, { 0x00000000, 0x00, 0x00 }, { 0xF24BF96E, 0x00, 0x00 }, 0x00, 0x0D, 0x00 },
{ { { -10.0f, 14.0f, 2.0f }, { -10.0f, -6.0f, 2.0f }, { 9.0f, 14.0f, 2.0f } } },
},
{
{ 0x02, { 0x00000000, 0x00, 0x00 }, { 0xFFCBF96E, 0x00, 0x00 }, 0x00, 0x0D, 0x00 },
{ { { -10.0f, -6.0f, 2.0f }, { 9.0f, -6.0f, 2.0f }, { 9.0f, 14.0f, 2.0f } } },
},
{
{ 0x02, { 0x00000000, 0x00, 0x00 }, { 0xFFCBF96E, 0x00, 0x00 }, 0x00, 0x0D, 0x00 },
{ { { -10.0f, -6.0f, 2.0f }, { 9.0f, -6.0f, 2.0f }, { 9.0f, 14.0f, 2.0f } } },
},
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dodongo/func_809F89CC.s")
static ColliderTrisInit sHardTrisInit = {
{ COLTYPE_METAL_SHIELD, 0x00, 0x0D, 0x00, 0x00, COLSHAPE_TRIS },
3,
sHardElementsInit,
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dodongo/func_809F8A34.s")
static ColliderQuadInit sAttackQuadInit = {
{ COLTYPE_UNK10, 0x11, 0x00, 0x00, 0x00, COLSHAPE_QUAD },
{ 0x00, { 0x20000000, 0x01, 0x10 }, { 0x00000000, 0x00, 0x00 }, 0x81, 0x00, 0x00 },
{ { { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f } } },
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dodongo/func_809F8AD8.s")
static DamageTable sDamageTable = {
0x10, 0x02, 0x01, 0x02, 0x10, 0x01, 0x02, 0x10, 0x01, 0x02, 0x04, 0x02, 0xF4, 0x02, 0x02, 0x02,
0x02, 0x60, 0xF3, 0x60, 0x00, 0x00, 0x01, 0x04, 0x02, 0x02, 0x08, 0x04, 0x00, 0x00, 0x04, 0x00,
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dodongo/func_809F8B2C.s")
void EnDodongo_SetupAction(EnDodongo* this, EnDodongoActionFunc actionFunc) {
this->actionFunc = actionFunc;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dodongo/func_809F8B7C.s")
void EnDodongo_SpawnBombSmoke(EnDodongo* this, GlobalContext* globalCtx) {
s32 pad;
Vec3f velocity = { 0.0f, 0.0f, 0.0f };
Vec3f accel = { 0.0f, 0.3f, 0.0f };
Vec3f pos = this->headPos;
s16 randAngle = Math_Rand_CenteredFloat(0x4000);
f32 randCos;
f32 randSin;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dodongo/func_809F8BFC.s")
randCos = Math_Coss(this->actor.shape.rot.y + randAngle);
randSin = Math_Sins(this->actor.shape.rot.y + randAngle);
if (this->bombSmokePrimColor.r > 30) {
this->bombSmokePrimColor.r -= 16;
this->bombSmokePrimColor.g -= 16;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dodongo/func_809F8C94.s")
if (this->bombSmokePrimColor.b < 30) {
this->bombSmokePrimColor.b += 5;
this->bombSmokePrimColor.a += 8;
this->bombSmokeEnvColor.a += 8;
}
if (this->bombSmokeEnvColor.r != 0) {
this->bombSmokeEnvColor.r -= 15;
}
if (this->bombSmokeEnvColor.g != 0) {
this->bombSmokeEnvColor.g--;
}
velocity.x = randSin * 3.5f;
velocity.y = this->bombSmokeEnvColor.r * 0.02f;
velocity.z = randCos * 3.5f;
accel.x = ((Math_Rand_ZeroOne() * 0.1f) + 0.15f) * -randSin;
accel.z = ((Math_Rand_ZeroOne() * 0.1f) + 0.15f) * -randCos;
func_8002836C(globalCtx, &pos, &velocity, &accel, &this->bombSmokePrimColor, &this->bombSmokeEnvColor, 100, 25, 20);
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dodongo/func_809F8D0C.s")
randAngle = Math_Rand_ZeroOne() * 0x2000;
randCos = Math_Coss(this->actor.shape.rot.y + randAngle);
randSin = Math_Sins(this->actor.shape.rot.y + randAngle);
pos.x -= randCos * 6.0f;
pos.z += randSin * 6.0f;
velocity.x = -randCos * 3.5f;
velocity.y = this->bombSmokeEnvColor.r * 0.02f;
velocity.z = randSin * 3.5f;
accel.x = ((Math_Rand_ZeroOne() * 0.1f) + 0.15f) * randCos;
accel.z = ((Math_Rand_ZeroOne() * 0.1f) + 0.15f) * -randSin;
func_8002836C(globalCtx, &pos, &velocity, &accel, &this->bombSmokePrimColor, &this->bombSmokeEnvColor, 100, 25, 20);
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dodongo/func_809F8D58.s")
randAngle = Math_Rand_ZeroOne() * 0x2000;
randCos = Math_Coss(this->actor.shape.rot.y + randAngle);
randSin = Math_Sins(this->actor.shape.rot.y + randAngle);
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dodongo/func_809F8F2C.s")
pos.x = this->headPos.x + (randCos * 6.0f);
pos.z = this->headPos.z - (randSin * 6.0f);
velocity.x = randCos * 3.5f;
velocity.y = this->bombSmokeEnvColor.r * 0.02f;
velocity.z = -randSin * 3.5f;
accel.x = ((Math_Rand_ZeroOne() * 0.1f) + 0.15f) * -randCos;
accel.z = ((Math_Rand_ZeroOne() * 0.1f) + 0.15f) * randSin;
func_8002836C(globalCtx, &pos, &velocity, &accel, &this->bombSmokePrimColor, &this->bombSmokeEnvColor, 100, 25, 20);
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dodongo/func_809F9424.s")
static InitChainEntry sInitChain[] = {
ICHAIN_S8(naviEnemyId, 13, ICHAIN_CONTINUE),
ICHAIN_F32_DIV1000(gravity, -1000, ICHAIN_CONTINUE),
ICHAIN_F32(unk_4C, 2800, ICHAIN_STOP),
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dodongo/func_809F9760.s")
void EnDodongo_Init(Actor* thisx, GlobalContext* globalCtx) {
EnDodongo* this = THIS;
EffectBlureInit1 blureInit;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dodongo/func_809F97C0.s")
this->actor.unk_1F = 3;
Actor_ProcessInitChain(&this->actor, sInitChain);
this->bombSmokePrimColor.r = this->bombSmokePrimColor.g = this->bombSmokeEnvColor.r = 255;
this->bombSmokePrimColor.a = this->bombSmokeEnvColor.a = 200;
this->bombSmokeEnvColor.g = 10;
this->bodyScale.x = this->bodyScale.y = this->bodyScale.z = 1.0f;
ActorShape_Init(&this->actor.shape, 0.0f, &ActorShadow_DrawFunc_Circle, 48.0f);
Actor_SetScale(&this->actor, 0.01875f);
SkelAnime_Init(globalCtx, &this->skelAnime, &D_06008318, &D_06004C20, this->limbDrawTable,
this->transitionDrawTable, 31);
this->actor.colChkInfo.health = 4;
this->actor.colChkInfo.mass = 0xFE;
this->actor.colChkInfo.damageTable = &sDamageTable;
Collider_InitQuad(globalCtx, &this->colliderAT);
Collider_InitTris(globalCtx, &this->colliderHard);
Collider_InitJntSph(globalCtx, &this->colliderBody);
Collider_SetQuad(globalCtx, &this->colliderAT, &this->actor, &sAttackQuadInit);
Collider_SetTris(globalCtx, &this->colliderHard, &this->actor, &sHardTrisInit, this->trisElements);
Collider_SetJntSph(globalCtx, &this->colliderBody, &this->actor, &sBodyJntSphInit, this->sphElements);
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dodongo/func_809F9A80.s")
blureInit.p1StartColor[0] = blureInit.p1StartColor[1] = blureInit.p1StartColor[2] = blureInit.p1StartColor[3] =
blureInit.p2StartColor[0] = blureInit.p2StartColor[1] = blureInit.p2StartColor[2] = blureInit.p1EndColor[0] =
blureInit.p1EndColor[1] = blureInit.p1EndColor[2] = blureInit.p2EndColor[0] = blureInit.p2EndColor[1] =
blureInit.p2EndColor[2] = 255;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dodongo/func_809F9AF8.s")
blureInit.p1EndColor[3] = blureInit.p2EndColor[3] = 0;
blureInit.p2StartColor[3] = 64;
blureInit.elemDuration = 8;
blureInit.unkFlag = false;
blureInit.calcMode = 2;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dodongo/func_809F9C3C.s")
Effect_Add(globalCtx, &this->blureIdx, EFFECT_BLURE1, 0, 0, &blureInit);
func_8002E4B4(globalCtx, &this->actor, 75.0f, 60.0f, 70.0f, 0x1D);
EnDodongo_SetupIdle(this);
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dodongo/func_809F9CA0.s")
void EnDodongo_Destroy(Actor* thisx, GlobalContext* globalCtx) {
s32 pad;
EnDodongo* this = THIS;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dodongo/func_809F9DC8.s")
Effect_Delete(globalCtx, this->blureIdx);
Collider_DestroyTris(globalCtx, &this->colliderHard);
Collider_DestroyJntSph(globalCtx, &this->colliderBody);
Collider_DestroyQuad(globalCtx, &this->colliderAT);
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dodongo/EnDodongo_Update.s")
void EnDodongo_SetupIdle(EnDodongo* this) {
SkelAnime_ChangeAnimTransitionRepeat(&this->skelAnime, &D_06004C20, -4.0f);
this->actor.speedXZ = 0.0f;
this->timer = Math_Rand_S16Offset(30, 50);
this->actionState = DODONGO_IDLE;
EnDodongo_SetupAction(this, EnDodongo_Idle);
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dodongo/func_809FA0F8.s")
void EnDodongo_SetupWalk(EnDodongo* this) {
f32 frames = SkelAnime_GetFrameCount(&D_06008B1C);
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dodongo/func_809FA14C.s")
SkelAnime_ChangeAnim(&this->skelAnime, &D_06008B1C, 0.0f, 0.0f, frames, 0, -4.0f);
this->actor.speedXZ = 1.5f;
this->timer = Math_Rand_S16Offset(50, 70);
this->rightFootStep = true;
this->actionState = DODONGO_WALK;
EnDodongo_SetupAction(this, EnDodongo_Walk);
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dodongo/EnDodongo_Draw.s")
void EnDodongo_SetupBreatheFire(EnDodongo* this) {
SkelAnime_ChangeAnimTransitionStop(&this->skelAnime, &D_060028F0, -4.0f);
this->actionState = DODONGO_BREATHE_FIRE;
this->actor.speedXZ = 0.0f;
EnDodongo_SetupAction(this, EnDodongo_BreatheFire);
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dodongo/func_809FA674.s")
void EnDodongo_SetupEndBreatheFire(EnDodongo* this) {
SkelAnime_ChangeAnimDefaultStop(&this->skelAnime, &D_06003088);
this->actionState = DODONGO_END_BREATHE_FIRE;
this->actor.speedXZ = 0.0f;
EnDodongo_SetupAction(this, EnDodongo_EndBreatheFire);
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dodongo/func_809FA6D8.s")
void EnDodongo_SetupSwallowBomb(EnDodongo* this) {
SkelAnime_ChangeAnim(&this->skelAnime, &D_060028F0, -1.0f, 35.0f, 0.0f, 2, -4.0f);
this->actionState = DODONGO_SWALLOW_BOMB;
this->timer = 25;
this->actor.speedXZ = 0.0f;
EnDodongo_SetupAction(this, EnDodongo_SwallowBomb);
}
void EnDodongo_SetupStunned(EnDodongo* this) {
SkelAnime_ChangeAnim(&this->skelAnime, &D_060028F0, 0.0f, 25.0f, 0.0f, 2, -4.0f);
this->actionState = DODONGO_STUNNED;
this->actor.speedXZ = 0.0f;
if (this->damageEffect == 0xF) {
this->iceTimer = 36;
}
Audio_PlayActorSound2(&this->actor, NA_SE_EN_GOMA_JR_FREEZE);
EnDodongo_SetupAction(this, EnDodongo_Stunned);
}
void EnDodongo_Idle(EnDodongo* this, GlobalContext* globalCtx) {
SkelAnime_FrameUpdateMatrix(&this->skelAnime);
if ((DECR(this->timer) == 0) && func_800A56C8(&this->skelAnime, 0.0f)) {
EnDodongo_SetupWalk(this);
}
}
void EnDodongo_EndBreatheFire(EnDodongo* this, GlobalContext* globalCtx) {
if (SkelAnime_FrameUpdateMatrix(&this->skelAnime)) {
EnDodongo_SetupIdle(this);
this->timer = Math_Rand_S16Offset(10, 20);
}
}
void EnDodongo_BreatheFire(EnDodongo* this, GlobalContext* globalCtx) {
s32 pad;
Vec3f velocity = { 0.0f, 0.0f, 0.0f };
Vec3f accel = { 0.0f, 0.0f, 0.0f };
Vec3f pos;
s16 pad2;
s16 fireFrame;
if ((s32)this->skelAnime.animCurrentFrame == 24) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_DODO_J_CRY);
}
if ((29.0f <= this->skelAnime.animCurrentFrame) && (this->skelAnime.animCurrentFrame <= 43.0f)) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_DODO_J_FIRE - SFX_FLAG);
fireFrame = this->skelAnime.animCurrentFrame - 29.0f;
pos = this->actor.posRot.pos;
pos.y += 35.0f;
EnDodongo_ShiftVecRadial(this->actor.posRot.rot.y, 30.0f, &pos);
EnDodongo_ShiftVecRadial(this->actor.posRot.rot.y, 2.5f, &accel);
EffectSsDFire_SpawnFixedScale(globalCtx, &pos, &velocity, &accel, 255 - (fireFrame * 10), fireFrame + 3);
} else if ((2.0f <= this->skelAnime.animCurrentFrame) && (this->skelAnime.animCurrentFrame <= 20.0f)) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_DODO_J_BREATH - SFX_FLAG);
}
if (SkelAnime_FrameUpdateMatrix(&this->skelAnime)) {
EnDodongo_SetupEndBreatheFire(this);
}
}
void EnDodongo_SwallowBomb(EnDodongo* this, GlobalContext* globalCtx) {
Vec3f smokeVel = { 0.0f, 0.0f, 0.0f };
Vec3f smokeAccel = { 0.0f, 0.6f, 0.0f };
Color_RGBA8 white = { 255, 255, 255, 255 };
Vec3f deathFireVel = { 0.0f, 0.0f, 0.0f };
Vec3f deathFireAccel = { 0.0f, 1.0f, 0.0f };
s16 i;
Vec3f pos;
s32 pad;
if (this->actor.child != NULL) {
this->actor.child->posRot.pos = this->mouthPos;
((EnBom*)this->actor.child)->timer++;
} else if (this->actor.parent != NULL) {
this->actor.parent->posRot.pos = this->mouthPos;
((EnBombf*)this->actor.parent)->timer++;
//! @bug The devs forgot an explosive could also be a bombchu, which leads to a serious bug. ->timer (0x1F8) is
//! outside the bounds of the bombchu actor, and the memory it writes to happens to be one of the pointers in
//! the next arena node. When this value is written to, massive memory corruption occurs.
}
if ((s32)this->skelAnime.animCurrentFrame == 28) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_DODO_J_EAT);
if (this->actor.child != NULL) {
Actor_Kill(this->actor.child);
this->actor.child = NULL;
} else if (this->actor.parent != NULL) {
Actor_Kill(this->actor.parent);
this->actor.parent = NULL;
}
} else if ((s32)this->skelAnime.animCurrentFrame == 24) {
this->timer--;
if (this->timer != 0) {
this->skelAnime.animCurrentFrame++;
if (this->timer == 10) {
for (i = 10; i >= 0; i--) {
deathFireVel.x = Math_Rand_CenteredFloat(10.0f);
deathFireVel.y = Math_Rand_CenteredFloat(10.0f);
deathFireVel.z = Math_Rand_CenteredFloat(10.0f);
deathFireAccel.x = deathFireVel.x * -0.1f;
deathFireAccel.y = deathFireVel.y * -0.1f;
deathFireAccel.z = deathFireVel.z * -0.1f;
pos.x = this->sphElements[0].dim.worldSphere.center.x + deathFireVel.x;
pos.y = this->sphElements[0].dim.worldSphere.center.y + deathFireVel.y;
pos.z = this->sphElements[0].dim.worldSphere.center.z + deathFireVel.z;
func_8002836C(globalCtx, &pos, &deathFireVel, &deathFireAccel, &this->bombSmokePrimColor,
&this->bombSmokeEnvColor, 400, 10, 10);
}
Audio_PlayActorSound2(&this->actor, NA_SE_IT_BOMB_EXPLOSION);
func_8003426C(&this->actor, 0x4000, 0x78, 0, 8);
}
}
}
if ((s32)this->skelAnime.animCurrentFrame < 28) {
if (((s32)this->skelAnime.animCurrentFrame < 26) && (this->timer <= 10)) {
EnDodongo_SpawnBombSmoke(this, globalCtx);
} else {
pos = this->headPos;
func_8002829C(globalCtx, &pos, &smokeVel, &smokeAccel, &white, &white, 50, 5);
pos.x -= (Math_Coss(this->actor.shape.rot.y) * 6.0f);
pos.z += (Math_Sins(this->actor.shape.rot.y) * 6.0f);
func_8002829C(globalCtx, &pos, &smokeVel, &smokeAccel, &white, &white, 50, 5);
pos.x = this->headPos.x + (Math_Coss(this->actor.shape.rot.y) * 6.0f);
pos.z = this->headPos.z - (Math_Sins(this->actor.shape.rot.y) * 6.0f);
func_8002829C(globalCtx, &pos, &smokeVel, &smokeAccel, &white, &white, 50, 5);
}
}
this->bodyScale.y = this->bodyScale.z = (Math_Sins(this->actor.dmgEffectTimer * 0x1000) * 0.5f) + 1.0f;
this->bodyScale.x = Math_Sins(this->actor.dmgEffectTimer * 0x1000) + 1.0f;
SkelAnime_FrameUpdateMatrix(&this->skelAnime);
if (this->timer == 0) {
EnDodongo_SetupDeath(this, globalCtx);
}
}
void EnDodongo_Walk(EnDodongo* this, GlobalContext* globalCtx) {
s32 pad;
f32 playbackSpeed;
Player* player = PLAYER;
s16 yawDiff = (s16)(this->actor.yawTowardsLink - this->actor.shape.rot.y);
yawDiff = ABS(yawDiff);
Math_SmoothScaleMaxMinF(&this->actor.speedXZ, 1.5f, 0.1f, 1.0f, 0.0f);
playbackSpeed = this->actor.speedXZ * 0.75f;
if (this->actor.speedXZ >= 0.0f) {
if (playbackSpeed > 3.0f / 2) {
playbackSpeed = 3.0f / 2;
}
} else {
if (playbackSpeed < -3.0f / 2) {
playbackSpeed = -3.0f / 2;
}
}
this->skelAnime.animPlaybackSpeed = playbackSpeed;
SkelAnime_FrameUpdateMatrix(&this->skelAnime);
if ((s32)this->skelAnime.animCurrentFrame < 21) {
if (!this->rightFootStep) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_DODO_J_WALK);
func_80033260(globalCtx, &this->actor, &this->leftFootPos, 10.0f, 3, 2.0f, 0xC8, 0xF, 0);
this->rightFootStep = true;
}
} else {
if (this->rightFootStep) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_DODO_J_WALK);
func_80033260(globalCtx, &this->actor, &this->rightFootPos, 10.0f, 3, 2.0f, 0xC8, 0xF, 0);
this->rightFootStep = false;
}
}
if (Math_Vec3f_DistXZ(&this->actor.initPosRot.pos, &player->actor.posRot.pos) < 400.0f) {
Math_SmoothScaleMaxMinS(&this->actor.posRot.rot.y, this->actor.yawTowardsLink, 1, 0x1F4, 0);
this->actor.flags |= 1;
if ((this->actor.xzDistFromLink < 100.0f) && (yawDiff < 0x1388) && (this->actor.yDistFromLink < 60.0f)) {
EnDodongo_SetupBreatheFire(this);
}
} else {
this->actor.flags &= ~1;
if ((Math_Vec3f_DistXZ(&this->actor.posRot.pos, &this->actor.initPosRot.pos) > 150.0f) ||
(this->retreatTimer != 0)) {
s16 yawToHome = Math_Vec3f_Yaw(&this->actor.posRot.pos, &this->actor.initPosRot.pos);
Math_SmoothScaleMaxMinS(&this->actor.posRot.rot.y, yawToHome, 1, 0x1F4, 0);
}
if (this->retreatTimer != 0) {
this->retreatTimer--;
}
this->timer--;
if (this->timer == 0) {
if (Math_Rand_ZeroOne() > 0.7f) {
this->timer = Math_Rand_S16Offset(50, 70);
this->retreatTimer = Math_Rand_S16Offset(15, 40);
} else {
EnDodongo_SetupIdle(this);
}
}
}
this->actor.shape.rot.y = this->actor.posRot.rot.y;
}
void EnDodongo_SetupSweepTail(EnDodongo* this) {
SkelAnime_ChangeAnimTransitionStop(&this->skelAnime, &D_06001A44, -4.0f);
Audio_PlayActorSound2(&this->actor, NA_SE_EN_DODO_J_DAMAGE);
this->actionState = DODONGO_SWEEP_TAIL;
this->timer = 0;
this->actor.speedXZ = 0.0f;
EnDodongo_SetupAction(this, EnDodongo_SweepTail);
}
void EnDodongo_SweepTail(EnDodongo* this, GlobalContext* globalCtx) {
s16 yawDiff1 = this->actor.yawTowardsLink - this->actor.shape.rot.y;
if (SkelAnime_FrameUpdateMatrix(&this->skelAnime)) {
if ((this->timer != 0) || (ABS(yawDiff1) < 0x4000)) {
this->sphElements[2].body.toucherFlags = 0;
this->sphElements[1].body.toucherFlags = 0;
this->colliderBody.base.atFlags = 0;
this->sphElements[2].body.toucher.flags = 0;
this->sphElements[1].body.toucher.flags = 0;
this->sphElements[2].body.toucher.damage = 0;
this->sphElements[1].body.toucher.damage = 0;
EnDodongo_SetupBreatheFire(this);
this->timer = Math_Rand_S16Offset(5, 10);
} else {
s16 yawDiff2 = this->actor.yawTowardsLink - this->actor.shape.rot.y;
AnimationHeader* animation;
this->tailSwipeSpeed = (0xFFFF - ABS(yawDiff2)) / 0xF;
if ((s16)(this->actor.yawTowardsLink - this->actor.shape.rot.y) >= 0) {
this->tailSwipeSpeed = -this->tailSwipeSpeed;
animation = &D_060042C4;
} else {
animation = &D_06003B14;
}
Audio_PlayActorSound2(&this->actor, NA_SE_EN_DODO_J_TAIL);
SkelAnime_ChangeAnimPlaybackStop(&this->skelAnime, animation, 2.0f);
this->timer = 18;
this->colliderBody.base.atFlags = this->sphElements[1].body.toucherFlags =
this->sphElements[2].body.toucherFlags = 0x11;
this->sphElements[1].body.toucher.flags = this->sphElements[2].body.toucher.flags = 0xFFCFFFFF;
this->sphElements[1].body.toucher.damage = this->sphElements[2].body.toucher.damage = 8;
}
} else if (this->timer > 1) {
Vec3f tailPos;
this->timer--;
this->actor.shape.rot.y = this->actor.posRot.rot.y += this->tailSwipeSpeed;
tailPos.x = this->sphElements[1].dim.worldSphere.center.x;
tailPos.y = this->sphElements[1].dim.worldSphere.center.y;
tailPos.z = this->sphElements[1].dim.worldSphere.center.z;
func_80033260(globalCtx, &this->actor, &tailPos, 5.0f, 2, 2.0f, 100, 15, 0);
tailPos.x = this->sphElements[2].dim.worldSphere.center.x;
tailPos.y = this->sphElements[2].dim.worldSphere.center.y;
tailPos.z = this->sphElements[2].dim.worldSphere.center.z;
func_80033260(globalCtx, &this->actor, &tailPos, 5.0f, 2, 2.0f, 100, 15, 0);
if (this->colliderBody.base.atFlags & 2) {
Player* player = PLAYER;
if (this->colliderBody.base.at == &player->actor) {
Audio_PlayActorSound2(&player->actor, NA_SE_PL_BODY_HIT);
}
}
CollisionCheck_SetAT(globalCtx, &globalCtx->colChkCtx, &this->colliderBody.base);
}
}
void EnDodongo_SetupDeath(EnDodongo* this, GlobalContext* globalCtx) {
SkelAnime_ChangeAnimTransitionStop(&this->skelAnime, &D_060013C4, -8.0f);
this->timer = 0;
Audio_PlayActorSound2(&this->actor, NA_SE_EN_DODO_J_DEAD);
this->actionState = DODONGO_DEATH;
this->actor.flags &= ~1;
this->actor.speedXZ = 0.0f;
EnDodongo_SetupAction(this, EnDodongo_Death);
}
void EnDodongo_Death(EnDodongo* this, GlobalContext* globalCtx) {
EnBom* bomb;
if (this->skelAnime.animCurrentFrame < 35.0f) {
if (this->actor.params == EN_DODONGO_SMOKE_DEATH) {
EnDodongo_SpawnBombSmoke(this, globalCtx);
}
} else if (this->actor.dmgEffectTimer == 0) {
func_8003426C(&this->actor, 0x4000, 0x78, 0, 4);
}
if (SkelAnime_FrameUpdateMatrix(&this->skelAnime) != 0) {
if (this->timer == 0) {
bomb = (EnBom*)Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_EN_BOM, this->actor.posRot.pos.x,
this->actor.posRot.pos.y, this->actor.posRot.pos.z, 0, 0, 6, BOMB_BODY);
if (bomb != NULL) {
bomb->timer = 0;
this->timer = 8;
}
}
} else if ((s32)this->skelAnime.animCurrentFrame == 52) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_RIZA_DOWN);
}
if (this->timer != 0) {
this->timer--;
if (this->timer == 0) {
Item_DropCollectibleRandom(globalCtx, &this->actor, &this->actor.posRot.pos, 0x40);
Actor_Kill(&this->actor);
}
}
}
void EnDodongo_Stunned(EnDodongo* this, GlobalContext* globalCtx) {
SkelAnime_FrameUpdateMatrix(&this->skelAnime);
if (this->actor.dmgEffectTimer == 0) {
if (this->actor.colChkInfo.health == 0) {
EnDodongo_SetupDeath(this, globalCtx);
} else {
EnDodongo_SetupIdle(this);
}
}
}
void EnDodongo_CollisionCheck(EnDodongo* this, GlobalContext* globalCtx) {
if (this->colliderHard.base.acFlags & 0x80) {
this->colliderHard.base.acFlags &= ~0x80;
this->colliderBody.base.acFlags &= ~2;
} else if ((this->colliderBody.base.acFlags & 2) && (this->actionState > DODONGO_DEATH)) {
this->colliderBody.base.acFlags &= ~2;
func_8003573C(&this->actor, &this->colliderBody, 0);
if (this->actor.colChkInfo.damageEffect != 0xE) {
this->damageEffect = this->actor.colChkInfo.damageEffect;
if ((this->actor.colChkInfo.damageEffect == 1) || (this->actor.colChkInfo.damageEffect == 0xF)) {
if (this->actionState != DODONGO_STUNNED) {
func_8003426C(&this->actor, 0, 0x78, 0, 0x50);
Actor_ApplyDamage(&this->actor);
EnDodongo_SetupStunned(this);
}
} else {
func_8003426C(&this->actor, 0x4000, 0x78, 0, 8);
if (Actor_ApplyDamage(&this->actor) == 0) {
EnDodongo_SetupDeath(this, globalCtx);
} else {
EnDodongo_SetupSweepTail(this);
}
}
}
}
}
void EnDodongo_UpdateQuad(EnDodongo* this, GlobalContext* globalCtx) {
Vec3f sp94 = { -1000.0f, -1500.0f, 0.0f };
Vec3f sp88 = { -1000.0f, -200.0f, 1500.0f };
Vec3f sp7C = { -1000.0f, -200.0f, -1500.0f };
Vec3f sp70 = { 0.0f, 0.0f, 0.0f };
s32 pad4C[9]; // Possibly 3 more Vec3fs?
s32 a = 0;
s32 b = 1; // These indices are needed to match.
s32 c = 2; // Might be a way to quickly test vertex arrangements
s32 d = 3;
f32 xMod = func_800CA720((this->skelAnime.animCurrentFrame - 28.0f) * 0.08f) * 5500.0f;
sp7C.x -= xMod;
sp94.x -= xMod;
sp88.x -= xMod;
Matrix_MultVec3f(&sp94, &this->colliderAT.dim.quad[b]);
Matrix_MultVec3f(&sp88, &this->colliderAT.dim.quad[a]);
Matrix_MultVec3f(&sp7C, &this->colliderAT.dim.quad[d]);
Matrix_MultVec3f(&sp70, &this->colliderAT.dim.quad[c]);
func_80062734(&this->colliderAT, &this->colliderAT.dim.quad[a], &this->colliderAT.dim.quad[b],
&this->colliderAT.dim.quad[c], &this->colliderAT.dim.quad[d]);
}
void EnDodongo_Update(Actor* thisx, GlobalContext* globalCtx) {
s32 pad;
EnDodongo* this = THIS;
EnDodongo_CollisionCheck(this, globalCtx);
if (this->actor.colChkInfo.damageEffect != 0xE) {
this->actionFunc(this, globalCtx);
Actor_MoveForward(&this->actor);
func_8002E4B4(globalCtx, &this->actor, 75.0f, 60.0f, 70.0f, 0x1D);
if (this->actor.bgCheckFlags & 2) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_RIZA_DOWN);
}
}
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->colliderBody.base);
if (this->actionState != DODONGO_DEATH) {
CollisionCheck_SetAC(globalCtx, &globalCtx->colChkCtx, &this->colliderHard.base);
}
if (this->actionState > DODONGO_DEATH) {
CollisionCheck_SetAC(globalCtx, &globalCtx->colChkCtx, &this->colliderBody.base);
}
if ((this->actionState >= DODONGO_IDLE) && EnDodongo_AteBomb(this, globalCtx)) {
EnDodongo_SetupSwallowBomb(this);
}
if (this->actionState == DODONGO_BREATHE_FIRE) {
if ((29.0f < this->skelAnime.animCurrentFrame) && (this->skelAnime.animCurrentFrame < 43.0f)) {
CollisionCheck_SetAT(globalCtx, &globalCtx->colChkCtx, &this->colliderAT.base);
}
}
this->actor.posRot2.pos.x = this->actor.posRot.pos.x + Math_Sins(this->actor.shape.rot.y) * -30.0f;
this->actor.posRot2.pos.y = this->actor.posRot.pos.y + 20.0f;
this->actor.posRot2.pos.z = this->actor.posRot.pos.z + Math_Coss(this->actor.shape.rot.y) * -30.0f;
}
s32 EnDodongo_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot,
void* thisx) {
EnDodongo* this = THIS;
if ((limbIndex == 15) || (limbIndex == 16)) {
Matrix_Scale(this->bodyScale.x, this->bodyScale.y, this->bodyScale.z, MTXMODE_APPLY);
}
return 0;
}
void EnDodongo_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) {
static Vec3f legOffsets[3] = {
{ 1100.0f, -700.0f, 0.0f },
{ 0.0f, 0.0f, 0.0f },
{ 2190.0f, 0.0f, 0.0f },
};
Vec3f tailTipOffset = { 3000.0f, 0.0f, 0.0f };
Vec3f baseOffset = { 0.0f, 0.0f, 0.0f };
s32 i;
Vec3f hardTris0Vtx[3];
Vec3f hardTris1Vtx[3];
Vec3f hardTris2Vtx[3];
Vec3f tailTip;
Vec3f tailBase;
EnDodongo* this = THIS;
Vec3f hardTris0VtxOffset[] = {
{ -300.0f, -2500.0f, 0.0f },
{ -300.0f, 1200.0f, -2700.0f },
{ 3000.0f, 1200.0f, 0.0f },
};
Vec3f hardTris1VtxOffset[] = {
{ -300.0f, -2500.0f, 0.0f },
{ -300.0f, 1200.0f, 2700.0f },
{ 3000.0f, 1200.0f, 0.0f },
};
Vec3f hardTris2VtxOffset[] = {
{ -600.0f, 1200.0f, -2800.0f },
{ -600.0f, 1200.0f, 2800.0f },
{ 3000.0f, 1200.0f, 0.0f },
};
Vec3f mouthOffset = { 1800.0f, 1200.0f, 0.0f };
Vec3f headOffset = { 1500.0f, 300.0f, 0.0f };
func_800628A4(limbIndex, &this->colliderBody);
switch (limbIndex) {
case 2:
if ((this->actionState == DODONGO_BREATHE_FIRE) && (29.0f < this->skelAnime.animCurrentFrame) &&
(this->skelAnime.animCurrentFrame < 43.0f)) {
EnDodongo_UpdateQuad(this, globalCtx);
}
break;
case 7:
for (i = 0; i < 3; i++) {
Matrix_MultVec3f(&hardTris0VtxOffset[i], &hardTris0Vtx[i]);
Matrix_MultVec3f(&hardTris1VtxOffset[i], &hardTris1Vtx[i]);
Matrix_MultVec3f(&hardTris2VtxOffset[i], &hardTris2Vtx[i]);
}
func_800627A0(&this->colliderHard, 0, &hardTris0Vtx[0], &hardTris0Vtx[1], &hardTris0Vtx[2]);
func_800627A0(&this->colliderHard, 1, &hardTris1Vtx[0], &hardTris1Vtx[1], &hardTris1Vtx[2]);
func_800627A0(&this->colliderHard, 2, &hardTris2Vtx[0], &hardTris2Vtx[1], &hardTris2Vtx[2]);
Matrix_MultVec3f(&mouthOffset, &this->mouthPos);
Matrix_MultVec3f(&headOffset, &this->headPos);
break;
case 15:
if ((this->actionState == DODONGO_SWEEP_TAIL) && (this->timer >= 2)) {
Matrix_MultVec3f(&tailTipOffset, &tailTip);
Matrix_MultVec3f(&baseOffset, &tailBase);
EffectBlure_AddVertex(Effect_GetByIndex(this->blureIdx), &tailTip, &tailBase);
} else if ((this->actionState == DODONGO_SWEEP_TAIL) && (this->timer != 0)) {
EffectBlure_AddSpace(Effect_GetByIndex(this->blureIdx));
}
break;
case 21:
Matrix_MultVec3f(&legOffsets[1], &this->leftFootPos);
break;
case 28:
Matrix_MultVec3f(&legOffsets[1], &this->rightFootPos);
break;
}
if (this->iceTimer != 0) {
i = -1;
switch (limbIndex) {
case 7:
baseOffset.x = 1200.0f;
i = 0;
break;
case 13:
i = 1;
break;
case 14:
i = 2;
break;
case 15:
i = 3;
break;
case 16:
i = 4;
break;
case 22:
i = 5;
break;
case 29:
i = 6;
break;
case 21:
i = 7;
break;
case 28:
i = 8;
break;
}
if (i >= 0) {
Matrix_MultVec3f(&baseOffset, &this->icePos[i]);
}
}
}
void EnDodongo_Draw(Actor* thisx, GlobalContext* globalCtx2) {
GlobalContext* globalCtx = globalCtx2;
EnDodongo* this = THIS;
s32 index;
func_80093D18(globalCtx->state.gfxCtx);
SkelAnime_DrawOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, EnDodongo_OverrideLimbDraw,
EnDodongo_PostLimbDraw, this);
if (this->iceTimer != 0) {
this->actor.dmgEffectTimer++;
if (1) {}
this->iceTimer--;
if ((this->iceTimer % 4) == 0) {
index = this->iceTimer >> 2;
EffectSsEnIce_SpawnFlyingVec3f(globalCtx, &this->actor, &this->icePos[index], 150, 150, 150, 250, 235, 245,
255, 1.8f);
}
}
}
void EnDodongo_ShiftVecRadial(s16 yaw, f32 radius, Vec3f* vec) {
vec->x += Math_Sins(yaw) * radius;
vec->z += Math_Coss(yaw) * radius;
}
s32 EnDodongo_AteBomb(EnDodongo* this, GlobalContext* globalCtx) {
Actor* actor = globalCtx->actorCtx.actorList[ACTORTYPE_EXPLOSIVES].first;
f32 dx;
f32 dy;
f32 dz;
while (actor != NULL) {
if ((actor->params != 0) || (actor->parent != NULL)) {
actor = actor->next;
continue;
}
dx = actor->posRot.pos.x - this->mouthPos.x;
dy = actor->posRot.pos.y - this->mouthPos.y;
dz = actor->posRot.pos.z - this->mouthPos.z;
if ((fabsf(dx) < 20.0f) && (fabsf(dy) < 10.0f) && (fabsf(dz) < 20.0f)) {
if (actor->id == ACTOR_EN_BOM) {
this->actor.child = actor;
} else {
this->actor.parent = actor;
}
actor->parent = &this->actor;
return true;
}
actor = actor->next;
}
return false;
}

View File

@ -6,11 +6,44 @@
struct EnDodongo;
typedef void (*EnDodongoActionFunc)(struct EnDodongo*, GlobalContext*);
typedef struct EnDodongo {
/* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x5DC];
/* 0x014C */ SkelAnime skelAnime;
/* 0x0190 */ Vec3s limbDrawTable[31];
/* 0x024A */ Vec3s transitionDrawTable[31];
/* 0x0304 */ s32 actionState;
/* 0x0308 */ EnDodongoActionFunc actionFunc;
/* 0x030C */ s16 timer;
/* 0x030E */ s16 retreatTimer;
/* 0x0310 */ s16 tailSwipeSpeed;
/* 0x0312 */ s16 iceTimer;
/* 0x0314 */ char unk_314[2];
/* 0x0316 */ s16 rightFootStep;
/* 0x0318 */ char unk_318[4];
/* 0x031C */ Vec3f leftFootPos;
/* 0x0328 */ Vec3f rightFootPos;
/* 0x0334 */ Vec3f mouthPos;
/* 0x0334 */ Vec3f headPos;
/* 0x034C */ Vec3f bodyScale;
/* 0x0358 */ Vec3f icePos[9];
/* 0x03C4 */ Color_RGBA8 bombSmokePrimColor;
/* 0x03C8 */ Color_RGBA8 bombSmokeEnvColor;
/* 0x03CC */ u8 damageEffect;
/* 0x03D0 */ s32 blureIdx;
/* 0x03D4 */ ColliderQuad colliderAT;
/* 0x0454 */ ColliderTris colliderHard;
/* 0x0474 */ ColliderTrisItem trisElements[3];
/* 0x0588 */ ColliderJntSph colliderBody;
/* 0x05A8 */ ColliderJntSphItem sphElements[6];
} EnDodongo; // size = 0x0728
typedef enum {
EN_DODONGO_NORMAL = -1,
EN_DODONGO_SMOKE_DEATH
} EnDodongoParam;
extern const ActorInit En_Dodongo_InitVars;
#endif

View File

@ -443,6 +443,17 @@ D_06024800 = 0x06024800;
D_06024C00 = 0x06024C00;
D_06024E40 = 0x06024E40;
// z_en_dodongo
D_06008318 = 0x06008318;
D_06004C20 = 0x06004C20;
D_06008B1C = 0x06008B1C;
D_060028F0 = 0x060028F0;
D_06003088 = 0x06003088;
D_060013C4 = 0x060013C4;
D_06001A44 = 0x06001A44;
D_060042C4 = 0x060042C4;
D_06003B14 = 0x06003B14;
// z_en_ma1
D_06000820 = 0x06000820;
D_06008460 = 0x06008460;